@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
|
@@ -16,9 +16,13 @@ export const IntentGraphState = Annotation.Root({
|
|
|
16
16
|
userProfile: (Annotation),
|
|
17
17
|
/**
|
|
18
18
|
* Explicit input content (e.g., user message).
|
|
19
|
-
*
|
|
19
|
+
* Omitted for read, archive, and status operations.
|
|
20
20
|
*/
|
|
21
21
|
inputContent: (Annotation),
|
|
22
|
+
/** Host-authorized preparation, reused without admission. Null metadata means the final text was edited. Never pass client-supplied objects here. */
|
|
23
|
+
preparation: (Annotation),
|
|
24
|
+
/** The full preparation outcome for an unprepared create, including repairable feedback. */
|
|
25
|
+
preparationResult: (Annotation),
|
|
22
26
|
/**
|
|
23
27
|
* Conversation history for context-aware intent inference.
|
|
24
28
|
* Used to resolve anaphoric references ("that intent", "this goal").
|
|
@@ -30,24 +34,25 @@ export const IntentGraphState = Annotation.Root({
|
|
|
30
34
|
default: () => undefined,
|
|
31
35
|
}),
|
|
32
36
|
/**
|
|
33
|
-
*
|
|
34
|
-
* -
|
|
35
|
-
* -
|
|
36
|
-
* -
|
|
37
|
-
* -
|
|
38
|
-
* -
|
|
39
|
-
*
|
|
40
|
-
* Defaults to 'create' for backward compatibility.
|
|
37
|
+
* The graph routes on the shape of its input, not a mode flag:
|
|
38
|
+
* - `inputContent` alone → create path (prepare → execute)
|
|
39
|
+
* - `inputContent` + `targetIntentIds` → explicit update, bound to that one id
|
|
40
|
+
* - `targetIntentIds` + `archive: true` → expire those ids, no LLM
|
|
41
|
+
* - `targetIntentIds` + `status` → pause/resume, no LLM
|
|
42
|
+
* - none of the above → read (query fast path)
|
|
43
|
+
* Exactly one of {content, archive, status} may be set per invoke.
|
|
41
44
|
*/
|
|
42
|
-
|
|
45
|
+
targetIntentIds: Annotation({
|
|
43
46
|
reducer: (curr, next) => next ?? curr,
|
|
44
|
-
default: () =>
|
|
47
|
+
default: () => undefined,
|
|
45
48
|
}),
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
/** Archive route: expire every id in `targetIntentIds`. Requires `targetIntentIds`. */
|
|
50
|
+
archive: Annotation({
|
|
51
|
+
reducer: (curr, next) => next ?? curr,
|
|
52
|
+
default: () => false,
|
|
53
|
+
}),
|
|
54
|
+
/** Transition route: pause/resume the single id in `targetIntentIds`. Requires `targetIntentIds`. */
|
|
55
|
+
status: Annotation({
|
|
51
56
|
reducer: (curr, next) => next ?? curr,
|
|
52
57
|
default: () => undefined,
|
|
53
58
|
}),
|
|
@@ -60,14 +65,23 @@ export const IntentGraphState = Annotation.Root({
|
|
|
60
65
|
default: () => undefined,
|
|
61
66
|
}),
|
|
62
67
|
/**
|
|
63
|
-
* Optional network scope (network ID)
|
|
64
|
-
*
|
|
65
|
-
*
|
|
68
|
+
* Optional network scope (network ID) for read operations. Prep always
|
|
69
|
+
* fetches ALL user intents via getActiveIntents(userId) regardless of network
|
|
70
|
+
* scope (for explicit update ownership).
|
|
66
71
|
*/
|
|
67
72
|
networkId: Annotation({
|
|
68
73
|
reducer: (curr, next) => next ?? curr,
|
|
69
74
|
default: () => undefined,
|
|
70
75
|
}),
|
|
76
|
+
/**
|
|
77
|
+
* Create route: the networks a newly created intent is linked to. Exactly
|
|
78
|
+
* this list is written to `intent_networks`, each one membership-checked;
|
|
79
|
+
* nothing is inferred or scored. An empty list creates an unlinked intent.
|
|
80
|
+
*/
|
|
81
|
+
networkIds: Annotation({
|
|
82
|
+
reducer: (curr, next) => next ?? curr,
|
|
83
|
+
default: () => undefined,
|
|
84
|
+
}),
|
|
71
85
|
/** Focused request scope type for write-side assignment and follow-up queues. */
|
|
72
86
|
scopeType: Annotation({
|
|
73
87
|
reducer: (curr, next) => next ?? curr,
|
|
@@ -79,14 +93,6 @@ export const IntentGraphState = Annotation.Root({
|
|
|
79
93
|
default: () => undefined,
|
|
80
94
|
}),
|
|
81
95
|
// --- Populated by Graph (Prep Node) ---
|
|
82
|
-
/**
|
|
83
|
-
* The formatted string of currently active intents.
|
|
84
|
-
* Always populated by prep via getActiveIntents(userId).
|
|
85
|
-
*/
|
|
86
|
-
activeIntents: Annotation({
|
|
87
|
-
reducer: (curr, next) => next,
|
|
88
|
-
default: () => "",
|
|
89
|
-
}),
|
|
90
96
|
/** IDs of active intents owned by the graph user, used to fail closed on explicit updates. */
|
|
91
97
|
activeIntentIds: Annotation({
|
|
92
98
|
reducer: (curr, next) => next,
|
|
@@ -115,7 +121,7 @@ export const IntentGraphState = Annotation.Root({
|
|
|
115
121
|
}),
|
|
116
122
|
// --- Output ---
|
|
117
123
|
/**
|
|
118
|
-
* Final actions to be performed on the DB (Create, Update, Expire).
|
|
124
|
+
* Final actions to be performed on the DB (Create, Update, Expire, Transition).
|
|
119
125
|
*/
|
|
120
126
|
actions: Annotation({
|
|
121
127
|
reducer: (curr, next) => next,
|
|
@@ -129,6 +135,11 @@ export const IntentGraphState = Annotation.Root({
|
|
|
129
135
|
reducer: (curr, next) => next,
|
|
130
136
|
default: () => [],
|
|
131
137
|
}),
|
|
138
|
+
/** Detailed outcome of a `transition` action, for host-side status mapping. */
|
|
139
|
+
transitionResult: Annotation({
|
|
140
|
+
reducer: (curr, next) => next ?? curr,
|
|
141
|
+
default: () => undefined,
|
|
142
|
+
}),
|
|
132
143
|
// --- Error State ---
|
|
133
144
|
/**
|
|
134
145
|
* If set, indicates a fatal error that should short-circuit the graph to END.
|
|
@@ -158,9 +169,9 @@ export const IntentGraphState = Annotation.Root({
|
|
|
158
169
|
* For read mode: the set of network IDs the caller's agent can reach.
|
|
159
170
|
* When set and neither networkId nor queryUserId is provided, the graph
|
|
160
171
|
* returns the caller's own intents across all networks in this set (scope-aware
|
|
161
|
-
* default path). Derived by the
|
|
172
|
+
* default path). Derived by the host from the scope envelope plus memberships.
|
|
162
173
|
*/
|
|
163
|
-
|
|
174
|
+
networkScope: Annotation({
|
|
164
175
|
reducer: (_curr, next) => next,
|
|
165
176
|
default: () => undefined,
|
|
166
177
|
}),
|
|
@@ -174,7 +185,7 @@ export const IntentGraphState = Annotation.Root({
|
|
|
174
185
|
}),
|
|
175
186
|
/**
|
|
176
187
|
* For read mode: when true, return all of the current user's intents
|
|
177
|
-
* ignoring network scope. Used
|
|
188
|
+
* ignoring network scope. Used when the caller requests a global list.
|
|
178
189
|
*/
|
|
179
190
|
allUserIntents: Annotation({
|
|
180
191
|
reducer: (curr, next) => next ?? curr,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SemanticVerifierOutput } from "./intent.verifier.js";
|
|
2
|
+
import type { IntentValidationFailure } from "./graph/intent.graph.state.js";
|
|
3
|
+
/** The admission policy shared by preparation and explicit updates. */
|
|
4
|
+
export declare function admissionFailure(description: string, verdict: SemanticVerifierOutput, isExplicitUpdate?: boolean): IntentValidationFailure | undefined;
|
|
5
|
+
/** Measurements of exactly one description, independent of admission. */
|
|
6
|
+
export interface IntentSemanticMetadata {
|
|
7
|
+
semanticEntropy: number;
|
|
8
|
+
referentialAnchor: string | null;
|
|
9
|
+
felicityAuthority: number;
|
|
10
|
+
felicitySincerity: number;
|
|
11
|
+
felicityClarity: number;
|
|
12
|
+
intentMode: "REFERENTIAL" | "ATTRIBUTIVE";
|
|
13
|
+
speechActType: "COMMISSIVE" | "DIRECTIVE" | null;
|
|
14
|
+
}
|
|
15
|
+
/** Map even a negative verdict to measurements without applying admission. */
|
|
16
|
+
export declare function semanticMetadata(verdict: SemanticVerifierOutput): IntentSemanticMetadata;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const MAX_PERMISSIBLE_ENTROPY = 0.75;
|
|
2
|
+
const MIN_CLEAR_INTENT_SCORE = 40;
|
|
3
|
+
// Match the whole request so qualified job searches use the verifier's verdict.
|
|
4
|
+
const GENERIC_JOB_PHRASE = /^(?:(?:i(?:['’]m|\s+am)?\s+)?(?:want|need|seek(?:ing)?|looking\s+for)\s+)?(?:a|any|some)\s+job[.!?]*$/i;
|
|
5
|
+
const DEFAULT_SPECIFICITY_WARNING = "This signal is broad and may produce many weak matches. Add a more concrete role, outcome, location, timeframe, domain, or specific need to get better recommendations.";
|
|
6
|
+
/** The admission policy shared by preparation and explicit updates. */
|
|
7
|
+
export function admissionFailure(description, verdict, isExplicitUpdate = false) {
|
|
8
|
+
const details = { classification: verdict.classification, referentialBreadth: verdict.referential_breadth };
|
|
9
|
+
if (!["COMMISSIVE", "DIRECTIVE", "DECLARATION"].includes(verdict.classification)) {
|
|
10
|
+
return { ...details, category: "non_actionable", message: "Describe who you want to reach and what you want to do together." };
|
|
11
|
+
}
|
|
12
|
+
if (GENERIC_JOB_PHRASE.test(description.trim()) || verdict.semantic_entropy > MAX_PERMISSIBLE_ENTROPY || verdict.felicity_scores.clarity < MIN_CLEAR_INTENT_SCORE) {
|
|
13
|
+
return { ...details, category: "vague_or_invalid", message: "Make the goal more concrete: specify the role, outcome, or particular help you need." };
|
|
14
|
+
}
|
|
15
|
+
if (!isExplicitUpdate && verdict.referential_breadth === "broad") {
|
|
16
|
+
return { ...details, category: "vague_or_invalid", message: verdict.specificity_warning?.trim() || DEFAULT_SPECIFICITY_WARNING };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Map even a negative verdict to measurements without applying admission. */
|
|
20
|
+
export function semanticMetadata(verdict) {
|
|
21
|
+
return {
|
|
22
|
+
semanticEntropy: verdict.semantic_entropy,
|
|
23
|
+
referentialAnchor: verdict.referential_anchor,
|
|
24
|
+
felicityAuthority: verdict.felicity_scores.authority,
|
|
25
|
+
felicitySincerity: verdict.felicity_scores.sincerity,
|
|
26
|
+
felicityClarity: verdict.felicity_scores.clarity,
|
|
27
|
+
intentMode: verdict.referential_anchor ? "REFERENTIAL" : "ATTRIBUTIVE",
|
|
28
|
+
speechActType: verdict.classification === "COMMISSIVE" || verdict.classification === "DIRECTIVE" ? verdict.classification : null,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -5,18 +5,6 @@ import { z } from "zod";
|
|
|
5
5
|
* Used to implement safety controls for read/write separation.
|
|
6
6
|
*/
|
|
7
7
|
export interface InferrerOptions {
|
|
8
|
-
/**
|
|
9
|
-
* Whether to fallback to profile inference when content is empty.
|
|
10
|
-
* Should be TRUE for create operations without explicit content.
|
|
11
|
-
* Should be FALSE for query operations.
|
|
12
|
-
* Default: true (for backward compatibility).
|
|
13
|
-
*/
|
|
14
|
-
allowProfileFallback?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* The operation mode for context.
|
|
17
|
-
* Helps inferrer understand the user's intent.
|
|
18
|
-
*/
|
|
19
|
-
operationMode?: 'create' | 'update' | 'delete';
|
|
20
8
|
/**
|
|
21
9
|
* Conversation history for anaphoric resolution.
|
|
22
10
|
* Used to resolve references like "that intent", "this goal", etc.
|
|
@@ -48,7 +36,7 @@ export declare class ExplicitIntentInferrer {
|
|
|
48
36
|
* Main entry point. Invokes the agent with input and returns structured output.
|
|
49
37
|
* @param content - The raw string content to analyze.
|
|
50
38
|
* @param profileContext - The formatted profile context string.
|
|
51
|
-
* @param options -
|
|
39
|
+
* @param options - Conversation context for the explicit update.
|
|
52
40
|
*/
|
|
53
41
|
invoke(content: string | null, profileContext: string, options?: InferrerOptions): Promise<{
|
|
54
42
|
intents: {
|
|
@@ -63,32 +51,5 @@ export declare class ExplicitIntentInferrer {
|
|
|
63
51
|
* Converts BaseMessage[] to readable string format.
|
|
64
52
|
*/
|
|
65
53
|
private formatConversationHistory;
|
|
66
|
-
/**
|
|
67
|
-
* Factory method to expose the agent as a LangChain tool.
|
|
68
|
-
* Useful for composing agents into larger graphs.
|
|
69
|
-
*/
|
|
70
|
-
static asTool(): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
71
|
-
content: z.ZodNullable<z.ZodString>;
|
|
72
|
-
profileContext: z.ZodString;
|
|
73
|
-
}, "strip", z.ZodTypeAny, {
|
|
74
|
-
profileContext: string;
|
|
75
|
-
content: string | null;
|
|
76
|
-
}, {
|
|
77
|
-
profileContext: string;
|
|
78
|
-
content: string | null;
|
|
79
|
-
}>, {
|
|
80
|
-
profileContext: string;
|
|
81
|
-
content: string | null;
|
|
82
|
-
}, {
|
|
83
|
-
profileContext: string;
|
|
84
|
-
content: string | null;
|
|
85
|
-
}, {
|
|
86
|
-
intents: {
|
|
87
|
-
reasoning: string;
|
|
88
|
-
type: "goal" | "tombstone";
|
|
89
|
-
confidence: "low" | "medium" | "high";
|
|
90
|
-
description: string;
|
|
91
|
-
}[];
|
|
92
|
-
}, unknown, "explicit_intent_inferrer">;
|
|
93
54
|
}
|
|
94
55
|
export {};
|
|
@@ -8,7 +8,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
|
|
11
|
-
import { tool } from "@langchain/core/tools";
|
|
12
11
|
import { z } from "zod";
|
|
13
12
|
import { protocolLogger } from "../shared/observability/protocol.logger.js";
|
|
14
13
|
import { Timed } from "../shared/observability/performance.js";
|
|
@@ -42,7 +41,6 @@ const systemPrompt = `
|
|
|
42
41
|
- Be precise and self-contained in descriptions (e.g., "Learn Rust programming" instead of "Learn it").
|
|
43
42
|
- Do NOT try to manage existing IDs or check for duplicates.
|
|
44
43
|
- IGNORE purely phatic communication (e.g., "Hello", "Hi", "Good morning") - return empty intents.
|
|
45
|
-
- For CREATE operations: Extract what the user wants to ADD.
|
|
46
44
|
- For UPDATE operations: Extract what the user wants to CHANGE.
|
|
47
45
|
- For queries/questions: You should not see these - return empty intents.
|
|
48
46
|
|
|
@@ -76,11 +74,6 @@ const systemPrompt = `
|
|
|
76
74
|
- Example: If history mentions "text-based RPG game" and user says "make that intent have LLM narration",
|
|
77
75
|
the output should be "Create a text-based RPG game with LLM-enhanced narration" (preserving "text-based").
|
|
78
76
|
|
|
79
|
-
WHEN TO FALLBACK TO PROFILE:
|
|
80
|
-
- Only when explicitly instructed: "(No content provided. Please infer intents from Profile Narrative and Aspirations)"
|
|
81
|
-
- This should ONLY happen for CREATE operations with no explicit user input
|
|
82
|
-
- Never infer from profile for query operations
|
|
83
|
-
- When content IS present: profile may inform HOW to describe the intent (e.g., adding domain context), but must NOT change WHAT the intent is about
|
|
84
77
|
`;
|
|
85
78
|
// ──────────────────────────────────────────────────────────────
|
|
86
79
|
// 2. RESPONSE SCHEMA (Zod)
|
|
@@ -107,22 +100,17 @@ export class ExplicitIntentInferrer {
|
|
|
107
100
|
* Main entry point. Invokes the agent with input and returns structured output.
|
|
108
101
|
* @param content - The raw string content to analyze.
|
|
109
102
|
* @param profileContext - The formatted profile context string.
|
|
110
|
-
* @param options -
|
|
103
|
+
* @param options - Conversation context for the explicit update.
|
|
111
104
|
*/
|
|
112
105
|
async invoke(content, profileContext, options = {}) {
|
|
113
|
-
const {
|
|
114
|
-
operationMode = 'create', conversationContext = undefined } = options;
|
|
106
|
+
const { conversationContext = undefined } = options;
|
|
115
107
|
logger.verbose("invoke: received input", {
|
|
116
108
|
contentPreview: content?.substring(0, 50),
|
|
117
|
-
allowProfileFallback,
|
|
118
|
-
operationMode,
|
|
119
109
|
hasConversationContext: !!conversationContext,
|
|
120
110
|
conversationMessageCount: conversationContext?.length || 0,
|
|
121
111
|
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (!content && !allowProfileFallback) {
|
|
125
|
-
logger.verbose("invoke: no content and fallback disabled, returning empty");
|
|
112
|
+
if (!content) {
|
|
113
|
+
logger.verbose("invoke: no content, returning empty");
|
|
126
114
|
return { intents: [] };
|
|
127
115
|
}
|
|
128
116
|
// Build conversation history section for anaphoric resolution
|
|
@@ -132,24 +120,20 @@ export class ExplicitIntentInferrer {
|
|
|
132
120
|
const conversationSection = formattedHistory
|
|
133
121
|
? `# Conversation History (for reference resolution)\n${formattedHistory}\n`
|
|
134
122
|
: '';
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
123
|
+
const contentSection = `## New Content\n\n${content}`;
|
|
124
|
+
// No profile means no profile section at all. Callers that deliberately run
|
|
125
|
+
// profile-blind must not see an empty heading the model could try to fill in.
|
|
126
|
+
const profileSection = profileContext?.trim()
|
|
127
|
+
? `# User Memory Profile\n ${profileContext}\n`
|
|
128
|
+
: '';
|
|
141
129
|
const prompt = `
|
|
142
130
|
Context:
|
|
143
|
-
|
|
144
|
-
${profileContext}
|
|
145
|
-
|
|
131
|
+
${profileSection}
|
|
146
132
|
${conversationSection}${contentSection}
|
|
147
133
|
|
|
148
134
|
# Operation Context
|
|
149
|
-
This analysis is for
|
|
150
|
-
|
|
151
|
-
${operationMode === 'update' ? 'Extract MODIFICATIONS to existing intents. Use conversation history to resolve references like "that intent".' : ''}
|
|
152
|
-
${operationMode === 'delete' ? 'This should not execute - delete operations skip inference.' : ''}
|
|
135
|
+
This analysis is for an update operation.
|
|
136
|
+
Extract MODIFICATIONS to existing intents. Use conversation history to resolve references like "that intent".
|
|
153
137
|
`;
|
|
154
138
|
logger.debug("invoke: prompt details", {
|
|
155
139
|
hasConversationHistory: !!conversationSection,
|
|
@@ -168,9 +152,6 @@ export class ExplicitIntentInferrer {
|
|
|
168
152
|
const output = responseFormat.parse(result);
|
|
169
153
|
logger.verbose('invoke: found intents', {
|
|
170
154
|
count: output.intents.length,
|
|
171
|
-
operationMode,
|
|
172
|
-
allowedFallback: allowProfileFallback,
|
|
173
|
-
usedFallback: !content && allowProfileFallback,
|
|
174
155
|
});
|
|
175
156
|
return output;
|
|
176
157
|
}
|
|
@@ -207,23 +188,6 @@ export class ExplicitIntentInferrer {
|
|
|
207
188
|
});
|
|
208
189
|
return formatted;
|
|
209
190
|
}
|
|
210
|
-
/**
|
|
211
|
-
* Factory method to expose the agent as a LangChain tool.
|
|
212
|
-
* Useful for composing agents into larger graphs.
|
|
213
|
-
*/
|
|
214
|
-
static asTool() {
|
|
215
|
-
return tool(async (args) => {
|
|
216
|
-
const agent = new ExplicitIntentInferrer();
|
|
217
|
-
return await agent.invoke(args.content, args.profileContext);
|
|
218
|
-
}, {
|
|
219
|
-
name: 'explicit_intent_inferrer',
|
|
220
|
-
description: 'Extracts explicit intents from user content and profile context.',
|
|
221
|
-
schema: z.object({
|
|
222
|
-
content: z.string().nullable().describe('The new content to analyze'),
|
|
223
|
-
profileContext: z.string().describe('The user profile context')
|
|
224
|
-
})
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
191
|
}
|
|
228
192
|
__decorate([
|
|
229
193
|
Timed(),
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type IntentSemanticMetadata } from "./intent.admission.js";
|
|
2
|
+
import { SemanticVerifier } from "./intent.verifier.js";
|
|
3
|
+
/** One answer paired with the recovery field it fills. */
|
|
4
|
+
export interface PrepareAnswer {
|
|
5
|
+
prompt: string;
|
|
6
|
+
answer: string;
|
|
7
|
+
}
|
|
8
|
+
/** The current draft and recovery answers not yet folded into it. */
|
|
9
|
+
export interface PrepareInput {
|
|
10
|
+
payload: string;
|
|
11
|
+
answers?: PrepareAnswer[];
|
|
12
|
+
}
|
|
13
|
+
export interface RecoveryFieldOption {
|
|
14
|
+
label: string;
|
|
15
|
+
description: string;
|
|
16
|
+
}
|
|
17
|
+
export type RecoveryFieldKind = "single" | "multi" | "text";
|
|
18
|
+
export interface RecoveryField {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
kind: RecoveryFieldKind;
|
|
22
|
+
options?: RecoveryFieldOption[];
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
}
|
|
25
|
+
/** Host-authorized preparation. Null metadata authorizes revisions needing fresh measurements. Never accept this object from an untrusted client. */
|
|
26
|
+
export interface PreparedIntent {
|
|
27
|
+
metadata: IntentSemanticMetadata | null;
|
|
28
|
+
}
|
|
29
|
+
/** Review is available only after admission of the complete prepared draft. */
|
|
30
|
+
export type PrepareResult = {
|
|
31
|
+
status: "ready";
|
|
32
|
+
payload: string;
|
|
33
|
+
metadata: IntentSemanticMetadata;
|
|
34
|
+
} | {
|
|
35
|
+
status: "needs_revision";
|
|
36
|
+
payload: string;
|
|
37
|
+
feedback: string;
|
|
38
|
+
recovery: RecoveryField[];
|
|
39
|
+
};
|
|
40
|
+
/** Folds recovery answers into a draft, admits its final form, and returns a dynamic recovery form on failure. Model failures propagate for retry. */
|
|
41
|
+
export declare class IntentPreparer {
|
|
42
|
+
private readonly verifier;
|
|
43
|
+
constructor(verifier?: Pick<SemanticVerifier, "invoke">);
|
|
44
|
+
/**
|
|
45
|
+
* Prepare one draft using the creation admission policy.
|
|
46
|
+
* @param input - Current payload and pending recovery answers.
|
|
47
|
+
* @param profileContext - The speaker's profile, if supplied by the host.
|
|
48
|
+
* @returns An admitted draft or admission feedback plus a recovery form.
|
|
49
|
+
* @throws When rewriting, verification, or recovery generation fails; callers must retain the input for retry.
|
|
50
|
+
*/
|
|
51
|
+
invoke(input: PrepareInput, profileContext?: string): Promise<PrepareResult>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { createStructuredModel } from "../shared/agent/model.config.js";
|
|
4
|
+
import { invokeWithAbortSignal } from "../shared/agent/model-signal.js";
|
|
5
|
+
import { admissionFailure, semanticMetadata } from "./intent.admission.js";
|
|
6
|
+
import { SemanticVerifier } from "./intent.verifier.js";
|
|
7
|
+
const payloadSchema = z.object({ payload: z.string().trim().min(1).max(65536) });
|
|
8
|
+
const recoveryOptionSchema = z.object({
|
|
9
|
+
label: z.string().trim().min(1).max(120),
|
|
10
|
+
description: z.string().max(280).nullable().optional().transform((value) => value ?? ""),
|
|
11
|
+
});
|
|
12
|
+
const recoveryFieldSchema = z.object({
|
|
13
|
+
id: z.string().trim().min(1).max(40),
|
|
14
|
+
label: z.string().trim().min(1).max(120),
|
|
15
|
+
kind: z.enum(["single", "multi", "text"]),
|
|
16
|
+
options: z.array(recoveryOptionSchema).min(2).max(5).nullable().optional(),
|
|
17
|
+
placeholder: z.string().max(200).nullable().optional(),
|
|
18
|
+
});
|
|
19
|
+
const recoverySchema = z.object({
|
|
20
|
+
recovery: z.array(recoveryFieldSchema).min(2).max(6),
|
|
21
|
+
});
|
|
22
|
+
function parseRecoveryFields(result) {
|
|
23
|
+
return result.recovery.map((field) => {
|
|
24
|
+
const placeholder = field.placeholder?.trim() || undefined;
|
|
25
|
+
const options = field.options?.length ? field.options : undefined;
|
|
26
|
+
if (field.kind === "text") {
|
|
27
|
+
if (!placeholder) {
|
|
28
|
+
throw new Error("Text recovery fields require a placeholder.");
|
|
29
|
+
}
|
|
30
|
+
return { id: field.id, label: field.label, kind: field.kind, placeholder };
|
|
31
|
+
}
|
|
32
|
+
if (!options?.length) {
|
|
33
|
+
throw new Error("Single and multi recovery fields require options.");
|
|
34
|
+
}
|
|
35
|
+
return { id: field.id, label: field.label, kind: field.kind, options };
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/** Folds recovery answers into a draft, admits its final form, and returns a dynamic recovery form on failure. Model failures propagate for retry. */
|
|
39
|
+
export class IntentPreparer {
|
|
40
|
+
constructor(verifier = new SemanticVerifier()) {
|
|
41
|
+
this.verifier = verifier;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Prepare one draft using the creation admission policy.
|
|
45
|
+
* @param input - Current payload and pending recovery answers.
|
|
46
|
+
* @param profileContext - The speaker's profile, if supplied by the host.
|
|
47
|
+
* @returns An admitted draft or admission feedback plus a recovery form.
|
|
48
|
+
* @throws When rewriting, verification, or recovery generation fails; callers must retain the input for retry.
|
|
49
|
+
*/
|
|
50
|
+
async invoke(input, profileContext = "") {
|
|
51
|
+
const answers = (input.answers ?? []).filter((answer) => answer.answer.trim());
|
|
52
|
+
let payload = input.payload;
|
|
53
|
+
if (answers.length > 0) {
|
|
54
|
+
const model = createStructuredModel("intentClarifier", payloadSchema, { name: "intent_draft" });
|
|
55
|
+
const result = await invokeWithAbortSignal(model, [
|
|
56
|
+
new SystemMessage("Fold every supplied answer into the signal in the person's own voice. Preserve all existing details unless an answer explicitly changes them. Every claim must trace to the draft or answers; never invent constraints or facts to make a signal pass validation. Return the complete draft, concise and concrete."),
|
|
57
|
+
new HumanMessage(JSON.stringify({ payload, answers })),
|
|
58
|
+
]);
|
|
59
|
+
payload = payloadSchema.parse(result).payload;
|
|
60
|
+
}
|
|
61
|
+
const verdict = await this.verifier.invoke(payload, profileContext);
|
|
62
|
+
const failure = admissionFailure(payload, verdict);
|
|
63
|
+
if (!failure)
|
|
64
|
+
return { status: "ready", payload, metadata: semanticMetadata(verdict) };
|
|
65
|
+
const model = createStructuredModel("intentClarifier", recoverySchema, { name: "intent_recovery" });
|
|
66
|
+
const result = await invokeWithAbortSignal(model, [
|
|
67
|
+
new SystemMessage("Build one recovery form that helps the person concretize their signal. Return 2-6 fields. Each field needs a draft-specific label, a kind (single, multi, or text), and for single/multi 2-5 concrete options anchored to the draft. Text fields need a placeholder. Never re-ask what the draft or answers already settle. Options must be matchable and specific. Do not expose scores, classifications, JSON, or internal vocabulary."),
|
|
68
|
+
new HumanMessage(JSON.stringify({
|
|
69
|
+
payload,
|
|
70
|
+
answers,
|
|
71
|
+
feedback: failure.message,
|
|
72
|
+
category: failure.category,
|
|
73
|
+
classification: verdict.classification,
|
|
74
|
+
clarity: verdict.felicity_scores.clarity,
|
|
75
|
+
entropy: verdict.semantic_entropy,
|
|
76
|
+
referentialBreadth: verdict.referential_breadth,
|
|
77
|
+
missingConstraints: verdict.missing_selectional_constraints,
|
|
78
|
+
})),
|
|
79
|
+
]);
|
|
80
|
+
return {
|
|
81
|
+
status: "needs_revision",
|
|
82
|
+
payload,
|
|
83
|
+
feedback: failure.message,
|
|
84
|
+
recovery: parseRecoveryFields(recoverySchema.parse(result)),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -34,7 +34,7 @@ declare const responseFormat: z.ZodObject<{
|
|
|
34
34
|
semantic_entropy: number;
|
|
35
35
|
referential_anchor: string | null;
|
|
36
36
|
referential_breadth: "narrow" | "moderate" | "broad";
|
|
37
|
-
missing_selectional_constraints: ("location" | "
|
|
37
|
+
missing_selectional_constraints: ("location" | "outcome" | "role" | "timeframe" | "domain" | "concrete_need")[];
|
|
38
38
|
specificity_warning: string | null;
|
|
39
39
|
flags: string[];
|
|
40
40
|
}, {
|
|
@@ -48,7 +48,7 @@ declare const responseFormat: z.ZodObject<{
|
|
|
48
48
|
semantic_entropy: number;
|
|
49
49
|
referential_anchor: string | null;
|
|
50
50
|
referential_breadth: "narrow" | "moderate" | "broad";
|
|
51
|
-
missing_selectional_constraints: ("location" | "
|
|
51
|
+
missing_selectional_constraints: ("location" | "outcome" | "role" | "timeframe" | "domain" | "concrete_need")[];
|
|
52
52
|
specificity_warning: string | null;
|
|
53
53
|
flags: string[];
|
|
54
54
|
}>;
|
|
@@ -74,42 +74,9 @@ export declare class SemanticVerifier {
|
|
|
74
74
|
semantic_entropy: number;
|
|
75
75
|
referential_anchor: string | null;
|
|
76
76
|
referential_breadth: "narrow" | "moderate" | "broad";
|
|
77
|
-
missing_selectional_constraints: ("location" | "
|
|
77
|
+
missing_selectional_constraints: ("location" | "outcome" | "role" | "timeframe" | "domain" | "concrete_need")[];
|
|
78
78
|
specificity_warning: string | null;
|
|
79
79
|
flags: string[];
|
|
80
80
|
}>;
|
|
81
|
-
/**
|
|
82
|
-
* Factory method to expose the agent as a LangChain tool.
|
|
83
|
-
*/
|
|
84
|
-
static asTool(): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
85
|
-
content: z.ZodString;
|
|
86
|
-
context: z.ZodString;
|
|
87
|
-
}, "strip", z.ZodTypeAny, {
|
|
88
|
-
context: string;
|
|
89
|
-
content: string;
|
|
90
|
-
}, {
|
|
91
|
-
context: string;
|
|
92
|
-
content: string;
|
|
93
|
-
}>, {
|
|
94
|
-
context: string;
|
|
95
|
-
content: string;
|
|
96
|
-
}, {
|
|
97
|
-
context: string;
|
|
98
|
-
content: string;
|
|
99
|
-
}, {
|
|
100
|
-
reasoning: string;
|
|
101
|
-
classification: "COMMISSIVE" | "DIRECTIVE" | "ASSERTIVE" | "EXPRESSIVE" | "DECLARATION" | "UNKNOWN";
|
|
102
|
-
felicity_scores: {
|
|
103
|
-
clarity: number;
|
|
104
|
-
authority: number;
|
|
105
|
-
sincerity: number;
|
|
106
|
-
};
|
|
107
|
-
semantic_entropy: number;
|
|
108
|
-
referential_anchor: string | null;
|
|
109
|
-
referential_breadth: "narrow" | "moderate" | "broad";
|
|
110
|
-
missing_selectional_constraints: ("location" | "role" | "outcome" | "timeframe" | "domain" | "concrete_need")[];
|
|
111
|
-
specificity_warning: string | null;
|
|
112
|
-
flags: string[];
|
|
113
|
-
}, unknown, "semantic_verifier">;
|
|
114
81
|
}
|
|
115
82
|
export {};
|
|
@@ -8,7 +8,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
|
|
11
|
-
import { tool } from "@langchain/core/tools";
|
|
12
11
|
import { z } from "zod";
|
|
13
12
|
import { protocolLogger } from "../shared/observability/protocol.logger.js";
|
|
14
13
|
import { Timed } from "../shared/observability/performance.js";
|
|
@@ -237,22 +236,6 @@ export class SemanticVerifier {
|
|
|
237
236
|
throw error;
|
|
238
237
|
}
|
|
239
238
|
}
|
|
240
|
-
/**
|
|
241
|
-
* Factory method to expose the agent as a LangChain tool.
|
|
242
|
-
*/
|
|
243
|
-
static asTool() {
|
|
244
|
-
return tool(async (args) => {
|
|
245
|
-
const agent = new SemanticVerifier();
|
|
246
|
-
return await agent.invoke(args.content, args.context);
|
|
247
|
-
}, {
|
|
248
|
-
name: 'semantic_verifier',
|
|
249
|
-
description: 'Verifies the semantic validity and felicity conditions of an intent.',
|
|
250
|
-
schema: z.object({
|
|
251
|
-
content: z.string().describe('The intent content to verify'),
|
|
252
|
-
context: z.string().describe('The user profile context')
|
|
253
|
-
})
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
239
|
}
|
|
257
240
|
__decorate([
|
|
258
241
|
Timed(),
|