@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
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
|
|
11
|
-
import { log } from "../shared/observability/log.js";
|
|
12
|
-
import { Timed } from "../shared/observability/performance.js";
|
|
13
|
-
import { createResilientModel } from "../shared/agent/model.config.js";
|
|
14
|
-
import { invokeWithAbortSignal } from "../shared/agent/model-signal.js";
|
|
15
|
-
const logger = log.lib.from("ChatTitleGenerator");
|
|
16
|
-
const SYSTEM_PROMPT = `You suggest a very short title for a chat conversation.
|
|
17
|
-
|
|
18
|
-
Rules:
|
|
19
|
-
- Reply with ONLY the title, no quotes or punctuation.
|
|
20
|
-
- Maximum 6 words.
|
|
21
|
-
- If the conversation is just greetings (hi, hello, hey, thanks) or has no clear topic yet, reply with exactly: New chat
|
|
22
|
-
- Otherwise summarize the main topic or intent in a few words.`;
|
|
23
|
-
/**
|
|
24
|
-
* Generates a short, descriptive title for a chat session using the first exchange.
|
|
25
|
-
* Only meaningful when there is at least one user message and one assistant message.
|
|
26
|
-
*/
|
|
27
|
-
export class ChatTitleGenerator {
|
|
28
|
-
constructor() {
|
|
29
|
-
this.model = createResilientModel("chatTitleGenerator");
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Suggests a title from the conversation excerpt.
|
|
33
|
-
* Call only when there is at least one user and one assistant message.
|
|
34
|
-
*/
|
|
35
|
-
async invoke(input) {
|
|
36
|
-
const { messages } = input;
|
|
37
|
-
if (messages.length === 0)
|
|
38
|
-
return "New chat";
|
|
39
|
-
const excerpt = messages
|
|
40
|
-
.slice(0, 6)
|
|
41
|
-
.map((m) => `${m.role === "user" ? "User" : "Assistant"}: ${m.content.slice(0, 200)}`)
|
|
42
|
-
.join("\n");
|
|
43
|
-
try {
|
|
44
|
-
const response = await invokeWithAbortSignal(this.model, [
|
|
45
|
-
new SystemMessage(SYSTEM_PROMPT),
|
|
46
|
-
new HumanMessage(`Conversation:\n${excerpt}\n\nSuggested title:`),
|
|
47
|
-
]);
|
|
48
|
-
const text = typeof response.content === "string" ? response.content : String(response.content ?? "").trim();
|
|
49
|
-
const title = text.slice(0, 80).trim() || "New chat";
|
|
50
|
-
logger.verbose("Title generated", { titleLength: title.length });
|
|
51
|
-
return title;
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
logger.warn("Failed to generate title", {
|
|
55
|
-
error: error instanceof Error ? error.message : String(error),
|
|
56
|
-
});
|
|
57
|
-
return "New chat";
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
__decorate([
|
|
62
|
-
Timed(),
|
|
63
|
-
__metadata("design:type", Function),
|
|
64
|
-
__metadata("design:paramtypes", [Object]),
|
|
65
|
-
__metadata("design:returntype", Promise)
|
|
66
|
-
], ChatTitleGenerator.prototype, "invoke", null);
|
package/dist/chat/chat.tools.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { success, error, UUID_REGEX } from "../shared/agent/tool.helpers.js";
|
|
3
|
-
export function createChatTools(defineTool, deps) {
|
|
4
|
-
const { chatSession } = deps;
|
|
5
|
-
if (!chatSession) {
|
|
6
|
-
throw new Error("createChatTools requires `chatSession` in deps");
|
|
7
|
-
}
|
|
8
|
-
const listConversations = defineTool({
|
|
9
|
-
name: "list_conversations",
|
|
10
|
-
description: "Lists the authenticated user's past H2A chat conversations (direct chats with the Index agent), " +
|
|
11
|
-
"most-recently-active first. Use when the user asks about their prior chats, wants to resume a " +
|
|
12
|
-
"conversation, or is orienting themselves in their own history. Only returns H2A sessions the caller " +
|
|
13
|
-
"participates in. Human-to-human (H2H) DMs are NEVER exposed through this tool, and A2A negotiation " +
|
|
14
|
-
"chats are only available via `list_negotiations` / `get_negotiation`.\n\n" +
|
|
15
|
-
"**Returns:** `conversations: [{ sessionId, title, messageCount, lastMessageAt, createdAt }]`. Use " +
|
|
16
|
-
"`sessionId` with `get_conversation` to read the full thread.",
|
|
17
|
-
querySchema: z.object({
|
|
18
|
-
limit: z
|
|
19
|
-
.number()
|
|
20
|
-
.int()
|
|
21
|
-
.positive()
|
|
22
|
-
.max(100)
|
|
23
|
-
.optional()
|
|
24
|
-
.describe("Maximum conversations to return (default 25, max 100)."),
|
|
25
|
-
}),
|
|
26
|
-
handler: async ({ context, query }) => {
|
|
27
|
-
const sessions = await chatSession.listSessions(context.userId, query.limit ?? 25);
|
|
28
|
-
return success({ conversations: sessions });
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
const getConversation = defineTool({
|
|
32
|
-
name: "get_conversation",
|
|
33
|
-
description: "Fetches a single H2A chat conversation (a direct chat with the Index agent) belonging to the " +
|
|
34
|
-
"authenticated user, including its messages. Use after `list_conversations` has yielded a specific " +
|
|
35
|
-
"`sessionId` — for example when the user asks you to pick up a prior thread by topic or title. Returns " +
|
|
36
|
-
"an error if the session does not exist, the caller is not a participant, or the session is not an H2A " +
|
|
37
|
-
"chat: human-to-human (H2H) DMs are NEVER exposed through this tool, and A2A negotiation transcripts " +
|
|
38
|
-
"are only available via `get_negotiation`.\n\n" +
|
|
39
|
-
"**Returns:** `{ sessionId, title, messageCount, lastMessageAt, createdAt, messages: [{ role, content, createdAt }] }`.",
|
|
40
|
-
querySchema: z.object({
|
|
41
|
-
sessionId: z.string().describe("Session UUID from list_conversations."),
|
|
42
|
-
messageLimit: z
|
|
43
|
-
.number()
|
|
44
|
-
.int()
|
|
45
|
-
.positive()
|
|
46
|
-
.max(500)
|
|
47
|
-
.optional()
|
|
48
|
-
.describe("Maximum messages to include (default 50, max 500)."),
|
|
49
|
-
}),
|
|
50
|
-
handler: async ({ context, query }) => {
|
|
51
|
-
if (!UUID_REGEX.test(query.sessionId)) {
|
|
52
|
-
return error("Invalid session ID format. Pass a sessionId returned by list_conversations.");
|
|
53
|
-
}
|
|
54
|
-
const session = await chatSession.getSession(context.userId, query.sessionId, query.messageLimit ?? 50);
|
|
55
|
-
if (!session) {
|
|
56
|
-
return error("Conversation not found or you are not a participant.");
|
|
57
|
-
}
|
|
58
|
-
return success(session);
|
|
59
|
-
},
|
|
60
|
-
});
|
|
61
|
-
return { listConversations, getConversation };
|
|
62
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token utilities for context window management.
|
|
3
|
-
* Estimates token counts and truncates message arrays to fit within model limits.
|
|
4
|
-
* Uses a simple heuristic (~4 chars per token for English).
|
|
5
|
-
*/
|
|
6
|
-
import { BaseMessage } from "@langchain/core/messages";
|
|
7
|
-
/**
|
|
8
|
-
* Default maximum tokens to allow for context.
|
|
9
|
-
* Reserves space for system prompt and response generation.
|
|
10
|
-
*/
|
|
11
|
-
export declare const MAX_CONTEXT_TOKENS = 8000;
|
|
12
|
-
/**
|
|
13
|
-
* Estimate token count for a string using a simple heuristic.
|
|
14
|
-
*
|
|
15
|
-
* This uses a rough estimate of ~4 characters per token, which works
|
|
16
|
-
* reasonably well for English text. For more accuracy with specific
|
|
17
|
-
* models, use tiktoken or the model's native tokenizer.
|
|
18
|
-
*
|
|
19
|
-
* @param text - The text to estimate tokens for
|
|
20
|
-
* @returns Estimated token count
|
|
21
|
-
*/
|
|
22
|
-
export declare function estimateTokenCount(text: string): number;
|
|
23
|
-
/**
|
|
24
|
-
* Estimate token count for a message, including role overhead.
|
|
25
|
-
*
|
|
26
|
-
* @param message - The LangChain message to estimate
|
|
27
|
-
* @returns Estimated token count including message overhead
|
|
28
|
-
*/
|
|
29
|
-
export declare function estimateMessageTokens(message: BaseMessage): number;
|
|
30
|
-
/**
|
|
31
|
-
* Truncate messages to fit within token limit, keeping most recent messages.
|
|
32
|
-
*
|
|
33
|
-
* Messages are processed from newest to oldest, accumulating until the
|
|
34
|
-
* token limit is reached. The first message (usually system) is always
|
|
35
|
-
* kept if present.
|
|
36
|
-
*
|
|
37
|
-
* @param messages - Array of messages to truncate
|
|
38
|
-
* @param maxTokens - Maximum total tokens allowed (default: MAX_CONTEXT_TOKENS)
|
|
39
|
-
* @returns Array of messages that fit within the token limit
|
|
40
|
-
*/
|
|
41
|
-
export declare function truncateToTokenLimit(messages: BaseMessage[], maxTokens?: number): BaseMessage[];
|
package/dist/chat/chat.utils.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token utilities for context window management.
|
|
3
|
-
* Estimates token counts and truncates message arrays to fit within model limits.
|
|
4
|
-
* Uses a simple heuristic (~4 chars per token for English).
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Default maximum tokens to allow for context.
|
|
8
|
-
* Reserves space for system prompt and response generation.
|
|
9
|
-
*/
|
|
10
|
-
export const MAX_CONTEXT_TOKENS = 8000;
|
|
11
|
-
/** Minimum tokens to reserve for the model's response (internal use in truncateToTokenLimit). */
|
|
12
|
-
const RESERVED_RESPONSE_TOKENS = 2000;
|
|
13
|
-
/**
|
|
14
|
-
* Estimate token count for a string using a simple heuristic.
|
|
15
|
-
*
|
|
16
|
-
* This uses a rough estimate of ~4 characters per token, which works
|
|
17
|
-
* reasonably well for English text. For more accuracy with specific
|
|
18
|
-
* models, use tiktoken or the model's native tokenizer.
|
|
19
|
-
*
|
|
20
|
-
* @param text - The text to estimate tokens for
|
|
21
|
-
* @returns Estimated token count
|
|
22
|
-
*/
|
|
23
|
-
export function estimateTokenCount(text) {
|
|
24
|
-
if (!text)
|
|
25
|
-
return 0;
|
|
26
|
-
// Rough estimate: ~4 characters per token for English
|
|
27
|
-
// This tends to slightly overestimate, which is safer for truncation
|
|
28
|
-
return Math.ceil(text.length / 4);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Estimate token count for a message, including role overhead.
|
|
32
|
-
*
|
|
33
|
-
* @param message - The LangChain message to estimate
|
|
34
|
-
* @returns Estimated token count including message overhead
|
|
35
|
-
*/
|
|
36
|
-
export function estimateMessageTokens(message) {
|
|
37
|
-
const content = typeof message.content === "string"
|
|
38
|
-
? message.content
|
|
39
|
-
: JSON.stringify(message.content);
|
|
40
|
-
// Add ~4 tokens overhead per message for role and formatting
|
|
41
|
-
return estimateTokenCount(content) + 4;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Truncate messages to fit within token limit, keeping most recent messages.
|
|
45
|
-
*
|
|
46
|
-
* Messages are processed from newest to oldest, accumulating until the
|
|
47
|
-
* token limit is reached. The first message (usually system) is always
|
|
48
|
-
* kept if present.
|
|
49
|
-
*
|
|
50
|
-
* @param messages - Array of messages to truncate
|
|
51
|
-
* @param maxTokens - Maximum total tokens allowed (default: MAX_CONTEXT_TOKENS)
|
|
52
|
-
* @returns Array of messages that fit within the token limit
|
|
53
|
-
*/
|
|
54
|
-
export function truncateToTokenLimit(messages, maxTokens = MAX_CONTEXT_TOKENS) {
|
|
55
|
-
if (messages.length === 0)
|
|
56
|
-
return [];
|
|
57
|
-
// Calculate available tokens (reserve space for response)
|
|
58
|
-
const availableTokens = maxTokens - RESERVED_RESPONSE_TOKENS;
|
|
59
|
-
// If only one message, return it (truncation within message not supported)
|
|
60
|
-
if (messages.length === 1) {
|
|
61
|
-
return messages;
|
|
62
|
-
}
|
|
63
|
-
let totalTokens = 0;
|
|
64
|
-
const result = [];
|
|
65
|
-
// Check if first message is a system message (should always be kept)
|
|
66
|
-
const firstMessage = messages[0];
|
|
67
|
-
const hasSystemMessage = firstMessage._getType() === "system";
|
|
68
|
-
if (hasSystemMessage) {
|
|
69
|
-
const systemTokens = estimateMessageTokens(firstMessage);
|
|
70
|
-
totalTokens += systemTokens;
|
|
71
|
-
result.push(firstMessage);
|
|
72
|
-
}
|
|
73
|
-
// Process remaining messages from newest to oldest
|
|
74
|
-
const remainingMessages = hasSystemMessage ? messages.slice(1) : messages;
|
|
75
|
-
const recentMessages = [];
|
|
76
|
-
for (let i = remainingMessages.length - 1; i >= 0; i--) {
|
|
77
|
-
const msg = remainingMessages[i];
|
|
78
|
-
const msgTokens = estimateMessageTokens(msg);
|
|
79
|
-
if (totalTokens + msgTokens > availableTokens) {
|
|
80
|
-
// Stop adding more messages
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
recentMessages.unshift(msg);
|
|
84
|
-
totalTokens += msgTokens;
|
|
85
|
-
}
|
|
86
|
-
// Combine system message (if any) with recent messages
|
|
87
|
-
return hasSystemMessage ? [firstMessage, ...recentMessages] : recentMessages;
|
|
88
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { type ChatTools, type ToolContext, type ResolvedToolContext } from "../shared/agent/tool.factory.js";
|
|
2
|
-
import { type ToolScopeEnvelope } from "../shared/agent/tool.scope.js";
|
|
3
|
-
import type { ChatPersonaConfig } from "./chat.persona.js";
|
|
4
|
-
import { type NegotiatorPromptOptions } from "./negotiator.prompt.js";
|
|
5
|
-
/**
|
|
6
|
-
* Persona id for the user's personal negotiator. Matches the
|
|
7
|
-
* `conversations.persona` column value for negotiator DM sessions.
|
|
8
|
-
*/
|
|
9
|
-
export declare const NEGOTIATOR_PERSONA_ID = "negotiator";
|
|
10
|
-
/**
|
|
11
|
-
* Client-scoped tool allowlist for the negotiator persona.
|
|
12
|
-
*
|
|
13
|
-
* P4.5 (IND-413) expanded this from the read-mostly P4.1 set: with direct
|
|
14
|
-
* opportunity discovery retiring alongside the orchestrator, discovery is
|
|
15
|
-
* purely signal-based — so the negotiator (the surviving personal-agent chat
|
|
16
|
-
* surface) manages the client's signals, profile knowledge, memberships, and
|
|
17
|
-
* contacts.
|
|
18
|
-
*
|
|
19
|
-
* Still deliberately excluded:
|
|
20
|
-
* - discovery runs (`discover_opportunities`, `get/cancel_discovery_run`) —
|
|
21
|
-
* retired capability; matching happens in the background from signals,
|
|
22
|
-
* - whole-network administration (`create/update/delete_network`) — a
|
|
23
|
-
* human/UI act for now (joins/leaves are allowed),
|
|
24
|
-
* - onboarding plumbing (`complete_onboarding`),
|
|
25
|
-
* - agent management (`register/update/delete_agent`, permission grants),
|
|
26
|
-
* - `confirm_opportunity_delivery` (OpenClaw ledger write, never chat).
|
|
27
|
-
*/
|
|
28
|
-
export declare const NEGOTIATOR_TOOL_NAMES: readonly ["list_negotiations", "get_negotiation", "respond_to_negotiation", "list_opportunities", "update_opportunity", "read_intents", "create_intent", "update_intent", "delete_intent", "search_intents", "read_intent_indexes", "create_intent_index", "delete_intent_index", "read_user_contexts", "create_user_context", "update_user_context", "confirm_user_context", "preview_user_context", "read_premises", "create_premise", "update_premise", "retract_premise", "read_networks", "read_network_memberships", "create_network_membership", "delete_network_membership", "list_contacts", "search_contacts", "remove_contact", "scrape_url"];
|
|
29
|
-
/**
|
|
30
|
-
* Filters a full chat-tool registry down to the negotiator allowlist.
|
|
31
|
-
* Exported separately so the scoping rule is unit-testable without
|
|
32
|
-
* constructing the full tool factory dependency graph.
|
|
33
|
-
*/
|
|
34
|
-
export declare function filterNegotiatorTools<T extends {
|
|
35
|
-
name: string;
|
|
36
|
-
}>(tools: T[]): T[];
|
|
37
|
-
/**
|
|
38
|
-
* Applies negotiator tool availability rules that depend on the focused scope.
|
|
39
|
-
* Intent-pinned chats use the adjacent Radar for opportunity listing, while all
|
|
40
|
-
* other negotiator-specific capabilities remain available. Shared intent tool
|
|
41
|
-
* filtering independently removes create_intent from every intent-scoped chat.
|
|
42
|
-
*/
|
|
43
|
-
export declare function filterNegotiatorToolsForContext<T extends {
|
|
44
|
-
name: string;
|
|
45
|
-
}>(tools: T[], context: ToolScopeEnvelope): T[];
|
|
46
|
-
/**
|
|
47
|
-
* Creates the negotiator persona's client-scoped toolset.
|
|
48
|
-
*
|
|
49
|
-
* Reuses the standard chat tool factory (so context resolution, scope
|
|
50
|
-
* derivation, logging, and error handling stay identical) and filters the
|
|
51
|
-
* registry to the allowlist. The negotiation tools are already context-bound
|
|
52
|
-
* to `context.userId`, so every tool in this set can only read or act on the
|
|
53
|
-
* calling client's own data.
|
|
54
|
-
*/
|
|
55
|
-
export declare function createNegotiatorTools(deps: ToolContext, preResolvedContext?: ResolvedToolContext): Promise<ChatTools>;
|
|
56
|
-
/**
|
|
57
|
-
* Creates a negotiator `ChatPersonaConfig` bound to the client's personal
|
|
58
|
-
* negotiator agent row identity.
|
|
59
|
-
*
|
|
60
|
-
* Loop behaviors (P4.5):
|
|
61
|
-
* - `hallucinationRecovery: true` — with `create_intent` in the toolset the
|
|
62
|
-
* model can legitimately produce ```intent_proposal blocks, so unbacked
|
|
63
|
-
* blocks must be detected/auto-invoked/stripped. The auto-invoke path is
|
|
64
|
-
* confirm-safe: `create_intent` returns a proposal card that persists
|
|
65
|
-
* nothing until the client approves it in the UI. A hallucinated
|
|
66
|
-
* ```opportunity block maps to `discover_opportunities`, which is absent
|
|
67
|
-
* from this toolset — the loop falls back to a correction message and the
|
|
68
|
-
* final-response strip still removes the unbacked block.
|
|
69
|
-
* - `createIntentCallback: false` — discovery-coupled (fires only off
|
|
70
|
-
* `discover_opportunities` results); retired along with direct discovery.
|
|
71
|
-
*
|
|
72
|
-
* @param opts - Identity from the user's `type='personal'` agent row
|
|
73
|
-
*/
|
|
74
|
-
export declare function createNegotiatorPersona(opts: NegotiatorPromptOptions): ChatPersonaConfig;
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { createChatTools } from "../shared/agent/tool.factory.js";
|
|
2
|
-
import { focusedIntentId } from "../shared/agent/tool.scope.js";
|
|
3
|
-
import { buildNegotiatorSystemContent } from "./negotiator.prompt.js";
|
|
4
|
-
import { createNegotiatorMemoryTools } from "./negotiator.tools.js";
|
|
5
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
6
|
-
// NEGOTIATOR PERSONA (P4.1)
|
|
7
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
8
|
-
//
|
|
9
|
-
// A pure persona addition on the P4.0 persona-neutral chat runtime: advocate
|
|
10
|
-
// prompt, client-scoped toolset, and all orchestrator loop behaviors OFF.
|
|
11
|
-
// Unlike the orchestrator (a static singleton), the negotiator persona is
|
|
12
|
-
// created per session because its identity comes from the user's
|
|
13
|
-
// `type='personal'` agent row (name/description).
|
|
14
|
-
/**
|
|
15
|
-
* Persona id for the user's personal negotiator. Matches the
|
|
16
|
-
* `conversations.persona` column value for negotiator DM sessions.
|
|
17
|
-
*/
|
|
18
|
-
export const NEGOTIATOR_PERSONA_ID = "negotiator";
|
|
19
|
-
/**
|
|
20
|
-
* Client-scoped tool allowlist for the negotiator persona.
|
|
21
|
-
*
|
|
22
|
-
* P4.5 (IND-413) expanded this from the read-mostly P4.1 set: with direct
|
|
23
|
-
* opportunity discovery retiring alongside the orchestrator, discovery is
|
|
24
|
-
* purely signal-based — so the negotiator (the surviving personal-agent chat
|
|
25
|
-
* surface) manages the client's signals, profile knowledge, memberships, and
|
|
26
|
-
* contacts.
|
|
27
|
-
*
|
|
28
|
-
* Still deliberately excluded:
|
|
29
|
-
* - discovery runs (`discover_opportunities`, `get/cancel_discovery_run`) —
|
|
30
|
-
* retired capability; matching happens in the background from signals,
|
|
31
|
-
* - whole-network administration (`create/update/delete_network`) — a
|
|
32
|
-
* human/UI act for now (joins/leaves are allowed),
|
|
33
|
-
* - onboarding plumbing (`complete_onboarding`),
|
|
34
|
-
* - agent management (`register/update/delete_agent`, permission grants),
|
|
35
|
-
* - `confirm_opportunity_delivery` (OpenClaw ledger write, never chat).
|
|
36
|
-
*/
|
|
37
|
-
export const NEGOTIATOR_TOOL_NAMES = [
|
|
38
|
-
// Negotiation record — the advocate core (P4.1)
|
|
39
|
-
"list_negotiations",
|
|
40
|
-
"get_negotiation",
|
|
41
|
-
"respond_to_negotiation",
|
|
42
|
-
"list_opportunities",
|
|
43
|
-
"update_opportunity",
|
|
44
|
-
// Signals — the input surface of signal-based discovery (P4.5)
|
|
45
|
-
"read_intents",
|
|
46
|
-
"create_intent",
|
|
47
|
-
"update_intent",
|
|
48
|
-
"delete_intent",
|
|
49
|
-
"search_intents",
|
|
50
|
-
"read_intent_indexes",
|
|
51
|
-
"create_intent_index",
|
|
52
|
-
"delete_intent_index",
|
|
53
|
-
// Profile knowledge (P4.5)
|
|
54
|
-
"read_user_contexts",
|
|
55
|
-
"create_user_context",
|
|
56
|
-
"update_user_context",
|
|
57
|
-
"confirm_user_context",
|
|
58
|
-
"preview_user_context",
|
|
59
|
-
// Premises (P4.5; read was already in P4.1)
|
|
60
|
-
"read_premises",
|
|
61
|
-
"create_premise",
|
|
62
|
-
"update_premise",
|
|
63
|
-
"retract_premise",
|
|
64
|
-
// Networks — joins/leaves only, no network administration (P4.5)
|
|
65
|
-
"read_networks",
|
|
66
|
-
"read_network_memberships",
|
|
67
|
-
"create_network_membership",
|
|
68
|
-
"delete_network_membership",
|
|
69
|
-
// Contacts — read/remove only; contacts arise from accepted opportunities
|
|
70
|
-
"list_contacts",
|
|
71
|
-
"search_contacts",
|
|
72
|
-
"remove_contact",
|
|
73
|
-
// Utility — create_intent's own contract instructs scraping pasted URLs
|
|
74
|
-
// before synthesizing a signal description (P4.5)
|
|
75
|
-
"scrape_url",
|
|
76
|
-
];
|
|
77
|
-
const NEGOTIATOR_TOOL_ALLOWLIST = new Set(NEGOTIATOR_TOOL_NAMES);
|
|
78
|
-
/**
|
|
79
|
-
* Filters a full chat-tool registry down to the negotiator allowlist.
|
|
80
|
-
* Exported separately so the scoping rule is unit-testable without
|
|
81
|
-
* constructing the full tool factory dependency graph.
|
|
82
|
-
*/
|
|
83
|
-
export function filterNegotiatorTools(tools) {
|
|
84
|
-
return tools.filter((t) => NEGOTIATOR_TOOL_ALLOWLIST.has(t.name));
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Applies negotiator tool availability rules that depend on the focused scope.
|
|
88
|
-
* Intent-pinned chats use the adjacent Radar for opportunity listing, while all
|
|
89
|
-
* other negotiator-specific capabilities remain available. Shared intent tool
|
|
90
|
-
* filtering independently removes create_intent from every intent-scoped chat.
|
|
91
|
-
*/
|
|
92
|
-
export function filterNegotiatorToolsForContext(tools, context) {
|
|
93
|
-
return focusedIntentId(context)
|
|
94
|
-
? tools.filter((tool) => tool.name !== "list_opportunities")
|
|
95
|
-
: tools;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Creates the negotiator persona's client-scoped toolset.
|
|
99
|
-
*
|
|
100
|
-
* Reuses the standard chat tool factory (so context resolution, scope
|
|
101
|
-
* derivation, logging, and error handling stay identical) and filters the
|
|
102
|
-
* registry to the allowlist. The negotiation tools are already context-bound
|
|
103
|
-
* to `context.userId`, so every tool in this set can only read or act on the
|
|
104
|
-
* calling client's own data.
|
|
105
|
-
*/
|
|
106
|
-
export async function createNegotiatorTools(deps, preResolvedContext) {
|
|
107
|
-
const tools = await createChatTools(deps, preResolvedContext);
|
|
108
|
-
const filtered = filterNegotiatorTools(tools);
|
|
109
|
-
// A supplied resolved context is authoritative. Direct callers without one
|
|
110
|
-
// still get the canonical explicit scope envelope from ToolContext.
|
|
111
|
-
const toolScope = preResolvedContext ?? { scopeType: deps.scopeType, scopeId: deps.scopeId };
|
|
112
|
-
const contextFiltered = filterNegotiatorToolsForContext(filtered, toolScope);
|
|
113
|
-
// P5.4 (IND-408): `remember`/`forget` are negotiator-exclusive — appended
|
|
114
|
-
// AFTER the allowlist filter, and only when the composition root injected
|
|
115
|
-
// the host bridge (i.e. negotiator memory writes are enabled). They never
|
|
116
|
-
// enter the shared registry, so the orchestrator cannot see them.
|
|
117
|
-
if (deps.negotiatorMemoryTools) {
|
|
118
|
-
const memoryTools = createNegotiatorMemoryTools({
|
|
119
|
-
host: deps.negotiatorMemoryTools,
|
|
120
|
-
userId: deps.userId,
|
|
121
|
-
...(deps.sessionId ? { sessionId: deps.sessionId } : {}),
|
|
122
|
-
});
|
|
123
|
-
return [...contextFiltered, ...memoryTools];
|
|
124
|
-
}
|
|
125
|
-
return contextFiltered;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Creates a negotiator `ChatPersonaConfig` bound to the client's personal
|
|
129
|
-
* negotiator agent row identity.
|
|
130
|
-
*
|
|
131
|
-
* Loop behaviors (P4.5):
|
|
132
|
-
* - `hallucinationRecovery: true` — with `create_intent` in the toolset the
|
|
133
|
-
* model can legitimately produce ```intent_proposal blocks, so unbacked
|
|
134
|
-
* blocks must be detected/auto-invoked/stripped. The auto-invoke path is
|
|
135
|
-
* confirm-safe: `create_intent` returns a proposal card that persists
|
|
136
|
-
* nothing until the client approves it in the UI. A hallucinated
|
|
137
|
-
* ```opportunity block maps to `discover_opportunities`, which is absent
|
|
138
|
-
* from this toolset — the loop falls back to a correction message and the
|
|
139
|
-
* final-response strip still removes the unbacked block.
|
|
140
|
-
* - `createIntentCallback: false` — discovery-coupled (fires only off
|
|
141
|
-
* `discover_opportunities` results); retired along with direct discovery.
|
|
142
|
-
*
|
|
143
|
-
* @param opts - Identity from the user's `type='personal'` agent row
|
|
144
|
-
*/
|
|
145
|
-
export function createNegotiatorPersona(opts) {
|
|
146
|
-
return {
|
|
147
|
-
id: NEGOTIATOR_PERSONA_ID,
|
|
148
|
-
buildSystemContent: (ctx, iterCtx) => buildNegotiatorSystemContent(ctx, opts, iterCtx),
|
|
149
|
-
createTools: (deps, preResolvedContext) => createNegotiatorTools(deps, preResolvedContext),
|
|
150
|
-
loopBehaviors: {
|
|
151
|
-
hallucinationRecovery: true,
|
|
152
|
-
},
|
|
153
|
-
};
|
|
154
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { ResolvedToolContext } from "../shared/agent/tool.factory.js";
|
|
2
|
-
import { type NegotiatorMemoryEntry } from "../negotiations/negotiation.module.js";
|
|
3
|
-
import type { IterationContext } from "./chat.prompt.modules.js";
|
|
4
|
-
/** Identity options resolved from the user's personal negotiator agent row. */
|
|
5
|
-
export interface NegotiatorPromptOptions {
|
|
6
|
-
/** The negotiator agent's display name (e.g. "Ada's Negotiator"). */
|
|
7
|
-
agentName: string;
|
|
8
|
-
/** The negotiator agent's description, when set on the agent row. */
|
|
9
|
-
agentDescription?: string;
|
|
10
|
-
/**
|
|
11
|
-
* Human-readable label for the pinned signal when the session is
|
|
12
|
-
* intent-scoped (P4.2/IND-403). The pin itself comes from the resolved
|
|
13
|
-
* context's scope envelope; this label just saves a tool round-trip for
|
|
14
|
-
* naming it. Ignored when the session has no intent scope.
|
|
15
|
-
*/
|
|
16
|
-
pinnedIntentLabel?: string;
|
|
17
|
-
/**
|
|
18
|
-
* The client's negotiator memories (P5.3 read path) — accumulated notes
|
|
19
|
-
* from negotiations and prior chats, rendered as a prompt section. The
|
|
20
|
-
* audience is the client themself, so entries are shared context, not
|
|
21
|
-
* secrets. Absent/empty → the prompt is byte-identical to before.
|
|
22
|
-
*/
|
|
23
|
-
memory?: NegotiatorMemoryEntry[];
|
|
24
|
-
/**
|
|
25
|
-
* True when the `remember`/`forget` memory tools are registered for this
|
|
26
|
-
* session (P5.4 — the composition root injects them only while negotiator
|
|
27
|
-
* memory writes are enabled). Adds the memory-tool guidance section and
|
|
28
|
-
* tool-reference rows; false/absent → prompt unchanged.
|
|
29
|
-
*/
|
|
30
|
-
memoryToolsEnabled?: boolean;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Builds the system prompt for the negotiator chat persona.
|
|
34
|
-
*
|
|
35
|
-
* Grounded in the client's preloaded user/profile context; everything else
|
|
36
|
-
* (negotiations, opportunities, signals, premises) must be fetched through
|
|
37
|
-
* the client-scoped toolset each turn.
|
|
38
|
-
*
|
|
39
|
-
* @param ctx - Resolved tool context for the current session
|
|
40
|
-
* @param opts - Identity from the client's personal negotiator agent row
|
|
41
|
-
* @param _iterCtx - Iteration context (unused — the negotiator prompt has no
|
|
42
|
-
* dynamic modules; the nudge is injected by the agent loop)
|
|
43
|
-
* @returns The complete system prompt string
|
|
44
|
-
*/
|
|
45
|
-
export declare function buildNegotiatorSystemContent(ctx: ResolvedToolContext, opts: NegotiatorPromptOptions, _iterCtx?: IterationContext): string;
|