@indexnetwork/protocol 22.0.0-rc.499.1 → 64.0.0-rc.604.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1841 -0
- package/IMPLEMENTATION.md +140 -181
- package/README.md +16 -20
- package/STABILITY.md +16 -11
- package/dist/{intents/intent.module.d.ts → capabilities/intents.d.ts} +182 -192
- package/dist/capabilities/intents.js +88 -0
- package/dist/capabilities/negotiations.d.ts +17 -0
- package/dist/capabilities/negotiations.js +16 -0
- package/dist/{networks/network.module.d.ts → capabilities/networks.d.ts} +33 -169
- package/dist/{networks/network.module.js → capabilities/networks.js} +6 -17
- package/dist/index.d.ts +57 -134
- package/dist/index.js +41 -105
- package/dist/internal/agents/agent.repository.port.d.ts +59 -0
- package/dist/internal/agents/agent.repository.port.js +7 -0
- package/dist/internal/agents/agent.types.d.ts +35 -0
- package/dist/{agents → internal/agents}/agent.types.js +1 -6
- package/dist/{intents → internal/intents}/graph/intent.graph.d.ts +142 -151
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.d.ts +5 -1
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.js +165 -46
- package/dist/internal/intents/graph/intent.graph.infer.d.ts +78 -0
- package/dist/internal/intents/graph/intent.graph.infer.js +122 -0
- package/dist/internal/intents/graph/intent.graph.js +108 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.reconcile.d.ts +18 -9
- package/dist/internal/intents/graph/intent.graph.reconcile.js +173 -0
- package/dist/internal/intents/graph/intent.graph.shared.d.ts +55 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.shared.js +25 -70
- package/dist/{intents → internal/intents}/graph/intent.graph.state.d.ts +96 -32
- package/dist/{intents → internal/intents}/graph/intent.graph.state.js +42 -31
- package/dist/internal/intents/intent.admission.d.ts +16 -0
- package/dist/internal/intents/intent.admission.js +30 -0
- package/dist/{intents → internal/intents}/intent.inferrer.d.ts +1 -40
- package/dist/{intents → internal/intents}/intent.inferrer.js +13 -49
- package/dist/internal/intents/intent.preparer.d.ts +52 -0
- package/dist/internal/intents/intent.preparer.js +87 -0
- package/dist/{intents → internal/intents}/intent.verifier.d.ts +3 -36
- package/dist/{intents → internal/intents}/intent.verifier.js +0 -17
- package/dist/{networks → internal/networks}/indexer.graph.d.ts +15 -200
- package/dist/{networks → internal/networks}/indexer.graph.js +19 -128
- package/dist/{networks → internal/networks}/indexer.state.d.ts +8 -63
- package/dist/internal/networks/indexer.state.js +70 -0
- package/dist/{networks → internal/networks}/membership.graph.d.ts +6 -6
- package/dist/{networks → internal/networks}/membership.graph.js +3 -3
- package/dist/{networks → internal/networks}/membership.state.d.ts +2 -2
- package/dist/{networks → internal/networks}/membership.state.js +2 -2
- package/dist/{networks → internal/networks}/network.graph.d.ts +9 -22
- package/dist/{networks → internal/networks}/network.graph.js +13 -27
- package/dist/{networks → internal/networks}/network.recommender.d.ts +2 -2
- package/dist/{networks → internal/networks}/network.recommender.js +2 -2
- package/dist/{networks → internal/networks}/network.state.d.ts +4 -7
- package/dist/{networks → internal/networks}/network.state.js +4 -4
- package/dist/internal/opportunities/negotiation-context.loader.d.ts +26 -0
- package/dist/internal/opportunities/negotiation-context.loader.js +36 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.d.ts +1 -1
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.js +7 -1
- package/dist/internal/opportunities/opportunity.counterparties.d.ts +17 -0
- package/dist/internal/opportunities/opportunity.counterparties.js +19 -0
- package/dist/internal/opportunities/opportunity.events.d.ts +38 -0
- package/dist/internal/opportunities/opportunity.events.js +94 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.feed-selection.d.ts +3 -9
- package/dist/internal/opportunities/opportunity.feed-selection.js +40 -0
- package/dist/internal/opportunities/opportunity.graph.modes.d.ts +39 -0
- package/dist/internal/opportunities/opportunity.graph.modes.js +138 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.labels.d.ts +2 -3
- package/dist/internal/opportunities/opportunity.labels.js +9 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.d.ts +17 -86
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.js +54 -447
- package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.d.ts +2 -2
- package/dist/internal/opportunities/opportunity.utils.d.ts +105 -0
- package/dist/internal/opportunities/opportunity.utils.js +165 -0
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.d.ts +17 -17
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.js +41 -161
- package/dist/{opportunities → internal/opportunities}/radar/radar.state.d.ts +4 -11
- package/dist/{shared → internal/shared}/agent/model-signal.d.ts +1 -1
- package/dist/{shared → internal/shared}/agent/model-signal.js +1 -1
- package/dist/{shared → internal/shared}/agent/model.config.d.ts +28 -86
- package/dist/{shared → internal/shared}/agent/model.config.js +58 -69
- package/dist/internal/shared/agent/model.resolver.d.ts +33 -0
- package/dist/{shared → internal/shared}/agent/model.resolver.js +18 -33
- package/dist/internal/shared/agent/scope.d.ts +20 -0
- package/dist/internal/shared/agent/scope.js +24 -0
- package/dist/internal/shared/assignment/network-assignment.policy.d.ts +23 -0
- package/dist/internal/shared/assignment/network-assignment.policy.js +28 -0
- package/dist/{shared → internal/shared}/observability/log.d.ts +3 -6
- package/dist/{shared → internal/shared}/observability/log.js +9 -18
- package/dist/{shared → internal/shared}/observability/protocol.logger.d.ts +1 -1
- package/dist/{shared → internal/shared}/observability/protocol.logger.js +1 -1
- package/dist/internal/shared/observability/request-context.d.ts +29 -0
- package/dist/internal/shared/observability/request-context.js +17 -0
- package/dist/{shared → internal/shared}/utils/social-label.d.ts +2 -2
- package/dist/{shared → internal/shared}/utils/social-label.js +1 -1
- package/dist/platform/database/capabilities.d.ts +59 -0
- package/dist/{shared/interfaces/database.entities.d.ts → platform/database/entities.d.ts} +81 -121
- package/dist/{shared/interfaces/database.identity-queries.d.ts → platform/database/identity-queries.d.ts} +55 -20
- package/dist/platform/database/member-queries.d.ts +55 -0
- package/dist/platform/database/member-queries.js +4 -0
- package/dist/platform/database/negotiation.d.ts +38 -0
- package/dist/{shared/interfaces/database.network-queries.d.ts → platform/database/network-queries.d.ts} +66 -67
- package/dist/platform/database/network-queries.js +4 -0
- package/dist/{shared/interfaces/database.opportunity-queries.d.ts → platform/database/opportunity-queries.d.ts} +25 -109
- package/dist/{shared/interfaces/database.port.d.ts → platform/database/port.d.ts} +52 -117
- package/dist/{shared/interfaces/database.port.js → platform/database/port.js} +3 -5
- package/dist/platform/database.d.ts +23 -0
- package/dist/{shared/interfaces/database.interface.js → platform/database.js} +1 -1
- package/dist/{shared/interfaces/cache.interface.d.ts → platform/discovery/cache.d.ts} +2 -4
- package/dist/{shared/interfaces/cache.interface.js → platform/discovery/cache.js} +1 -1
- package/dist/platform/discovery/embedder.d.ts +31 -0
- package/dist/platform/runtime/errors.d.ts +6 -0
- package/dist/platform/runtime/errors.js +9 -0
- package/dist/platform/runtime/follow-up.d.ts +36 -0
- package/dist/platform/runtime/follow-up.js +4 -0
- package/dist/platform/runtime/observability.d.ts +34 -0
- package/dist/protocol/core.d.ts +11 -0
- package/dist/protocol/discovery.rules.d.ts +21 -0
- package/dist/protocol/discovery.rules.js +29 -0
- package/dist/protocol/negotiation.constants.d.ts +3 -0
- package/dist/protocol/negotiation.constants.js +3 -0
- package/dist/protocol/negotiation.rules.d.ts +73 -0
- package/dist/protocol/negotiation.rules.js +68 -0
- package/dist/protocol/protocol.prompt.d.ts +13 -0
- package/dist/protocol/protocol.prompt.js +190 -0
- package/dist/{shared → protocol}/schemas/discovery-question.schema.d.ts +13 -13
- package/dist/{shared → protocol}/schemas/discovery-question.schema.js +2 -2
- package/dist/{shared → protocol}/schemas/identity.schema.d.ts +4 -4
- package/dist/{shared → protocol}/schemas/identity.schema.js +4 -4
- package/dist/{shared → protocol}/schemas/network-assignment.schema.d.ts +11 -20
- package/dist/{shared → protocol}/schemas/network-assignment.schema.js +2 -9
- package/dist/protocol/schemas/underspecification.schema.d.ts +9 -0
- package/dist/protocol/schemas/underspecification.schema.js +12 -0
- package/package.json +7 -15
- package/dist/agents/agent.dispatcher.port.d.ts +0 -25
- package/dist/agents/agent.module.d.ts +0 -19
- package/dist/agents/agent.module.js +0 -11
- package/dist/agents/agent.repository.port.d.ts +0 -118
- package/dist/agents/agent.repository.port.js +0 -10
- package/dist/agents/agent.tools.d.ts +0 -16
- package/dist/agents/agent.tools.js +0 -351
- package/dist/agents/agent.tools.port.d.ts +0 -22
- package/dist/agents/agent.tools.port.js +0 -18
- package/dist/agents/agent.types.d.ts +0 -76
- package/dist/chat/chat-streaming.types.d.ts +0 -618
- package/dist/chat/chat-streaming.types.js +0 -297
- package/dist/chat/chat.agent.d.ts +0 -292
- package/dist/chat/chat.agent.js +0 -1010
- package/dist/chat/chat.graph.d.ts +0 -424
- package/dist/chat/chat.graph.js +0 -257
- package/dist/chat/chat.interrupt.classifier.d.ts +0 -25
- package/dist/chat/chat.interrupt.classifier.js +0 -64
- package/dist/chat/chat.persona.d.ts +0 -39
- package/dist/chat/chat.prompt.d.ts +0 -4
- package/dist/chat/chat.prompt.js +0 -12
- package/dist/chat/chat.prompt.modules.d.ts +0 -30
- package/dist/chat/chat.prompt.modules.js +0 -40
- package/dist/chat/chat.question-dedup.d.ts +0 -14
- package/dist/chat/chat.question-dedup.js +0 -17
- package/dist/chat/chat.state.d.ts +0 -135
- package/dist/chat/chat.state.js +0 -120
- package/dist/chat/chat.streamer.d.ts +0 -64
- package/dist/chat/chat.streamer.js +0 -217
- package/dist/chat/chat.suggester.d.ts +0 -23
- package/dist/chat/chat.suggester.js +0 -95
- package/dist/chat/chat.summarizer.d.ts +0 -20
- package/dist/chat/chat.summarizer.js +0 -97
- package/dist/chat/chat.title.generator.d.ts +0 -19
- package/dist/chat/chat.title.generator.js +0 -66
- package/dist/chat/chat.tools.d.ts +0 -5
- package/dist/chat/chat.tools.js +0 -62
- package/dist/chat/chat.utils.d.ts +0 -41
- package/dist/chat/chat.utils.js +0 -88
- package/dist/chat/negotiator.persona.d.ts +0 -74
- package/dist/chat/negotiator.persona.js +0 -154
- package/dist/chat/negotiator.prompt.d.ts +0 -45
- package/dist/chat/negotiator.prompt.js +0 -160
- package/dist/chat/negotiator.tools.d.ts +0 -42
- package/dist/chat/negotiator.tools.js +0 -134
- package/dist/chat/onboarding.persona.d.ts +0 -28
- package/dist/chat/onboarding.persona.js +0 -86
- package/dist/chat/onboarding.prompt.d.ts +0 -6
- package/dist/chat/onboarding.prompt.js +0 -63
- package/dist/chat/signal.persona.d.ts +0 -47
- package/dist/chat/signal.persona.js +0 -319
- package/dist/chat/signal.prompt.d.ts +0 -39
- package/dist/chat/signal.prompt.js +0 -136
- package/dist/contacts/contact.module.d.ts +0 -8
- package/dist/contacts/contact.module.js +0 -6
- package/dist/contacts/contact.repository.port.d.ts +0 -21
- package/dist/contacts/contact.repository.port.js +0 -12
- package/dist/contacts/contact.tools.d.ts +0 -17
- package/dist/contacts/contact.tools.js +0 -108
- package/dist/contacts/contact.tools.port.d.ts +0 -20
- package/dist/contacts/contact.tools.port.js +0 -16
- package/dist/contacts/contact.types.d.ts +0 -24
- package/dist/contacts/contact.types.js +0 -8
- package/dist/contexts/context.generator.d.ts +0 -95
- package/dist/contexts/context.generator.js +0 -127
- package/dist/contexts/context.module.d.ts +0 -13
- package/dist/contexts/context.module.js +0 -12
- package/dist/contexts/context.tools.port.d.ts +0 -9
- package/dist/discovery/hyde.documents.d.ts +0 -9
- package/dist/discovery/hyde.documents.js +0 -49
- package/dist/discovery/hyde.env.d.ts +0 -8
- package/dist/discovery/hyde.env.js +0 -9
- package/dist/discovery/hyde.frame.d.ts +0 -150
- package/dist/discovery/hyde.frame.js +0 -107
- package/dist/discovery/hyde.generator.d.ts +0 -38
- package/dist/discovery/hyde.generator.js +0 -103
- package/dist/discovery/hyde.graph.d.ts +0 -209
- package/dist/discovery/hyde.graph.js +0 -482
- package/dist/discovery/hyde.state.d.ts +0 -70
- package/dist/discovery/hyde.state.js +0 -85
- package/dist/discovery/hyde.strategies.d.ts +0 -17
- package/dist/discovery/hyde.strategies.js +0 -34
- package/dist/discovery/hyde.validator.d.ts +0 -78
- package/dist/discovery/hyde.validator.js +0 -48
- package/dist/discovery/index.d.ts +0 -26
- package/dist/discovery/index.js +0 -19
- package/dist/discovery/lens.inferrer.d.ts +0 -214
- package/dist/discovery/lens.inferrer.js +0 -152
- package/dist/enrichment/enrichment.generator.d.ts +0 -68
- package/dist/enrichment/enrichment.generator.js +0 -95
- package/dist/enrichment/enrichment.graph.d.ts +0 -544
- package/dist/enrichment/enrichment.graph.js +0 -695
- package/dist/enrichment/enrichment.state.d.ts +0 -141
- package/dist/enrichment/enrichment.state.js +0 -115
- package/dist/enrichment/enrichment.tools.context-read.d.ts +0 -10
- package/dist/enrichment/enrichment.tools.context-read.js +0 -353
- package/dist/enrichment/enrichment.tools.context-write.d.ts +0 -9
- package/dist/enrichment/enrichment.tools.context-write.js +0 -417
- package/dist/enrichment/enrichment.tools.d.ts +0 -13
- package/dist/enrichment/enrichment.tools.helpers.d.ts +0 -139
- package/dist/enrichment/enrichment.tools.helpers.js +0 -234
- package/dist/enrichment/enrichment.tools.js +0 -153
- package/dist/intents/graph/intent.graph.infer.d.ts +0 -44
- package/dist/intents/graph/intent.graph.infer.js +0 -97
- package/dist/intents/graph/intent.graph.js +0 -134
- package/dist/intents/graph/intent.graph.reconcile.js +0 -274
- package/dist/intents/graph/intent.graph.shared.d.ts +0 -68
- package/dist/intents/intake/intake.orchestrator.d.ts +0 -203
- package/dist/intents/intake/intake.orchestrator.js +0 -255
- package/dist/intents/intake/intake.pack.generator.d.ts +0 -57
- package/dist/intents/intake/intake.pack.generator.js +0 -90
- package/dist/intents/intent.clarifier.d.ts +0 -51
- package/dist/intents/intent.clarifier.js +0 -201
- package/dist/intents/intent.indexer.d.ts +0 -82
- package/dist/intents/intent.indexer.js +0 -170
- package/dist/intents/intent.module.js +0 -103
- package/dist/intents/intent.proposal.d.ts +0 -37
- package/dist/intents/intent.proposal.js +0 -14
- package/dist/intents/intent.reconciler.d.ts +0 -105
- package/dist/intents/intent.reconciler.js +0 -186
- package/dist/intents/intent.tools.d.ts +0 -27
- package/dist/intents/intent.tools.js +0 -808
- package/dist/maintenance/maintenance.graph.d.ts +0 -239
- package/dist/maintenance/maintenance.graph.js +0 -199
- package/dist/maintenance/maintenance.state.d.ts +0 -35
- package/dist/maintenance/maintenance.state.js +0 -55
- package/dist/mcp/elicitation.builder.d.ts +0 -53
- package/dist/mcp/elicitation.builder.js +0 -74
- package/dist/mcp/elicitation.dispatcher.d.ts +0 -36
- package/dist/mcp/elicitation.dispatcher.js +0 -86
- package/dist/mcp/mcp.authorization-policy.d.ts +0 -252
- package/dist/mcp/mcp.authorization-policy.js +0 -535
- package/dist/mcp/mcp.server.d.ts +0 -90
- package/dist/mcp/mcp.server.js +0 -631
- package/dist/negotiations/insight.generator.d.ts +0 -31
- package/dist/negotiations/insight.generator.js +0 -105
- package/dist/negotiations/negotiation.agent.d.ts +0 -130
- package/dist/negotiations/negotiation.agent.js +0 -396
- package/dist/negotiations/negotiation.answer-consumption.d.ts +0 -223
- package/dist/negotiations/negotiation.answer-consumption.js +0 -275
- package/dist/negotiations/negotiation.attribution.d.ts +0 -91
- package/dist/negotiations/negotiation.attribution.js +0 -109
- package/dist/negotiations/negotiation.candidates.d.ts +0 -83
- package/dist/negotiations/negotiation.candidates.js +0 -162
- package/dist/negotiations/negotiation.client-dm.d.ts +0 -50
- package/dist/negotiations/negotiation.client-dm.js +0 -66
- package/dist/negotiations/negotiation.consultation-policy.d.ts +0 -95
- package/dist/negotiations/negotiation.consultation-policy.js +0 -159
- package/dist/negotiations/negotiation.deadlock.contracts.d.ts +0 -10
- package/dist/negotiations/negotiation.deadlock.d.ts +0 -87
- package/dist/negotiations/negotiation.deadlock.js +0 -150
- package/dist/negotiations/negotiation.detail-reader.d.ts +0 -94
- package/dist/negotiations/negotiation.detail-reader.js +0 -91
- package/dist/negotiations/negotiation.expected-speaker.d.ts +0 -33
- package/dist/negotiations/negotiation.expected-speaker.js +0 -59
- package/dist/negotiations/negotiation.graph.d.ts +0 -694
- package/dist/negotiations/negotiation.graph.finalize.d.ts +0 -5
- package/dist/negotiations/negotiation.graph.finalize.js +0 -403
- package/dist/negotiations/negotiation.graph.init.d.ts +0 -54
- package/dist/negotiations/negotiation.graph.init.js +0 -256
- package/dist/negotiations/negotiation.graph.js +0 -94
- package/dist/negotiations/negotiation.graph.screen.d.ts +0 -23
- package/dist/negotiations/negotiation.graph.screen.js +0 -108
- package/dist/negotiations/negotiation.graph.shared.d.ts +0 -111
- package/dist/negotiations/negotiation.graph.shared.js +0 -168
- package/dist/negotiations/negotiation.graph.turn.d.ts +0 -134
- package/dist/negotiations/negotiation.graph.turn.js +0 -662
- package/dist/negotiations/negotiation.hermes-contract.d.ts +0 -31
- package/dist/negotiations/negotiation.hermes-contract.js +0 -72
- package/dist/negotiations/negotiation.intent-snapshot-provenance.d.ts +0 -21
- package/dist/negotiations/negotiation.intent-snapshot-provenance.js +0 -28
- package/dist/negotiations/negotiation.lifecycle-narration.d.ts +0 -18
- package/dist/negotiations/negotiation.lifecycle-narration.js +0 -87
- package/dist/negotiations/negotiation.memory.d.ts +0 -65
- package/dist/negotiations/negotiation.memory.js +0 -83
- package/dist/negotiations/negotiation.module.d.ts +0 -36
- package/dist/negotiations/negotiation.module.js +0 -23
- package/dist/negotiations/negotiation.protocol.d.ts +0 -1018
- package/dist/negotiations/negotiation.protocol.js +0 -224
- package/dist/negotiations/negotiation.question-safety.d.ts +0 -52
- package/dist/negotiations/negotiation.question-safety.js +0 -119
- package/dist/negotiations/negotiation.reflect.d.ts +0 -194
- package/dist/negotiations/negotiation.reflect.js +0 -145
- package/dist/negotiations/negotiation.scope.d.ts +0 -41
- package/dist/negotiations/negotiation.scope.js +0 -39
- package/dist/negotiations/negotiation.screen.contracts.d.ts +0 -88
- package/dist/negotiations/negotiation.screen.contracts.js +0 -58
- package/dist/negotiations/negotiation.screen.d.ts +0 -78
- package/dist/negotiations/negotiation.screen.js +0 -112
- package/dist/negotiations/negotiation.stall-gap.d.ts +0 -83
- package/dist/negotiations/negotiation.stall-gap.js +0 -152
- package/dist/negotiations/negotiation.stance.contracts.d.ts +0 -123
- package/dist/negotiations/negotiation.stance.contracts.js +0 -317
- package/dist/negotiations/negotiation.state.d.ts +0 -597
- package/dist/negotiations/negotiation.state.js +0 -286
- package/dist/negotiations/negotiation.summarizer.d.ts +0 -25
- package/dist/negotiations/negotiation.summarizer.js +0 -101
- package/dist/negotiations/negotiation.task-lock-policy.d.ts +0 -10
- package/dist/negotiations/negotiation.task-lock-policy.js +0 -22
- package/dist/negotiations/negotiation.tools.d.ts +0 -18
- package/dist/negotiations/negotiation.tools.js +0 -842
- package/dist/negotiations/negotiation.tools.port.d.ts +0 -17
- package/dist/negotiations/negotiation.turn-cap.d.ts +0 -9
- package/dist/negotiations/negotiation.turn-cap.js +0 -12
- package/dist/networks/indexer.state.js +0 -112
- package/dist/networks/network.tools.d.ts +0 -36
- package/dist/networks/network.tools.js +0 -594
- package/dist/opportunities/delivery-card.cache.d.ts +0 -25
- package/dist/opportunities/delivery-card.cache.js +0 -43
- package/dist/opportunities/discovery.env.d.ts +0 -20
- package/dist/opportunities/discovery.env.js +0 -109
- package/dist/opportunities/discriminator/discriminator.adjustments.d.ts +0 -90
- package/dist/opportunities/discriminator/discriminator.adjustments.js +0 -141
- package/dist/opportunities/discriminator/discriminator.assigner.d.ts +0 -78
- package/dist/opportunities/discriminator/discriminator.assigner.js +0 -153
- package/dist/opportunities/discriminator/discriminator.env.d.ts +0 -103
- package/dist/opportunities/discriminator/discriminator.env.js +0 -103
- package/dist/opportunities/discriminator/discriminator.miner.d.ts +0 -114
- package/dist/opportunities/discriminator/discriminator.miner.js +0 -228
- package/dist/opportunities/discriminator/discriminator.push.d.ts +0 -13
- package/dist/opportunities/discriminator/discriminator.push.js +0 -19
- package/dist/opportunities/discriminator/discriminator.question.d.ts +0 -58
- package/dist/opportunities/discriminator/discriminator.question.js +0 -155
- package/dist/opportunities/discriminator/discriminator.scorer.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.scorer.js +0 -105
- package/dist/opportunities/discriminator/discriminator.shadow.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.shadow.js +0 -90
- package/dist/opportunities/discriminator/discriminator.types.d.ts +0 -93
- package/dist/opportunities/discriminator/discriminator.types.js +0 -18
- package/dist/opportunities/negotiation-context.loader.d.ts +0 -59
- package/dist/opportunities/negotiation-context.loader.js +0 -90
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.d.ts +0 -43
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.js +0 -44
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -24
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.js +0 -188
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -26
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.js +0 -112
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -19
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.js +0 -61
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.d.ts +0 -191
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.js +0 -18
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -34
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.js +0 -91
- package/dist/opportunities/negotiation-summary.builder.d.ts +0 -37
- package/dist/opportunities/negotiation-summary.builder.js +0 -66
- package/dist/opportunities/opportunity.discovery-negotiation-summary.d.ts +0 -14
- package/dist/opportunities/opportunity.discovery-negotiation-summary.js +0 -46
- package/dist/opportunities/opportunity.enricher.d.ts +0 -71
- package/dist/opportunities/opportunity.enricher.js +0 -280
- package/dist/opportunities/opportunity.evaluator.d.ts +0 -289
- package/dist/opportunities/opportunity.evaluator.js +0 -516
- package/dist/opportunities/opportunity.evidence.d.ts +0 -22
- package/dist/opportunities/opportunity.evidence.js +0 -87
- package/dist/opportunities/opportunity.existing-negotiation.d.ts +0 -79
- package/dist/opportunities/opportunity.existing-negotiation.js +0 -118
- package/dist/opportunities/opportunity.feed-selection.js +0 -96
- package/dist/opportunities/opportunity.graph.d.ts +0 -1611
- package/dist/opportunities/opportunity.graph.discovery-strategies.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.discovery-strategies.js +0 -451
- package/dist/opportunities/opportunity.graph.discovery.d.ts +0 -69
- package/dist/opportunities/opportunity.graph.discovery.js +0 -397
- package/dist/opportunities/opportunity.graph.evaluation.d.ts +0 -82
- package/dist/opportunities/opportunity.graph.evaluation.js +0 -608
- package/dist/opportunities/opportunity.graph.js +0 -193
- package/dist/opportunities/opportunity.graph.modes.d.ts +0 -538
- package/dist/opportunities/opportunity.graph.modes.js +0 -538
- package/dist/opportunities/opportunity.graph.negotiate.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.negotiate.js +0 -392
- package/dist/opportunities/opportunity.graph.persist-node.d.ts +0 -93
- package/dist/opportunities/opportunity.graph.persist-node.js +0 -765
- package/dist/opportunities/opportunity.graph.prep.d.ts +0 -150
- package/dist/opportunities/opportunity.graph.prep.js +0 -381
- package/dist/opportunities/opportunity.graph.shared.d.ts +0 -173
- package/dist/opportunities/opportunity.graph.shared.js +0 -199
- package/dist/opportunities/opportunity.introducer-feature.d.ts +0 -2
- package/dist/opportunities/opportunity.introducer-feature.js +0 -4
- package/dist/opportunities/opportunity.introducer.d.ts +0 -77
- package/dist/opportunities/opportunity.introducer.js +0 -99
- package/dist/opportunities/opportunity.labels.js +0 -10
- package/dist/opportunities/opportunity.lifecycle.d.ts +0 -63
- package/dist/opportunities/opportunity.lifecycle.js +0 -181
- package/dist/opportunities/opportunity.module.d.ts +0 -54
- package/dist/opportunities/opportunity.module.js +0 -39
- package/dist/opportunities/opportunity.newborn-stamping.d.ts +0 -41
- package/dist/opportunities/opportunity.newborn-stamping.js +0 -81
- package/dist/opportunities/opportunity.owner-approval.d.ts +0 -118
- package/dist/opportunities/opportunity.owner-approval.js +0 -34
- package/dist/opportunities/opportunity.owner-provenance.d.ts +0 -6
- package/dist/opportunities/opportunity.owner-provenance.js +0 -28
- package/dist/opportunities/opportunity.persist.d.ts +0 -58
- package/dist/opportunities/opportunity.persist.js +0 -145
- package/dist/opportunities/opportunity.persistence-admission.d.ts +0 -39
- package/dist/opportunities/opportunity.persistence-admission.js +0 -59
- package/dist/opportunities/opportunity.state.d.ts +0 -451
- package/dist/opportunities/opportunity.state.js +0 -256
- package/dist/opportunities/opportunity.tools.cards.d.ts +0 -138
- package/dist/opportunities/opportunity.tools.cards.js +0 -212
- package/dist/opportunities/opportunity.tools.d.ts +0 -12
- package/dist/opportunities/opportunity.tools.js +0 -236
- package/dist/opportunities/opportunity.tools.list.d.ts +0 -10
- package/dist/opportunities/opportunity.tools.list.js +0 -489
- package/dist/opportunities/opportunity.tools.port.d.ts +0 -16
- package/dist/opportunities/opportunity.utils.d.ts +0 -217
- package/dist/opportunities/opportunity.utils.js +0 -395
- package/dist/opportunities/outcome/outcome.env.d.ts +0 -60
- package/dist/opportunities/outcome/outcome.env.js +0 -63
- package/dist/opportunities/outcome/outcome.hypotheses.d.ts +0 -29
- package/dist/opportunities/outcome/outcome.hypotheses.js +0 -117
- package/dist/opportunities/outcome/outcome.shadow.d.ts +0 -56
- package/dist/opportunities/outcome/outcome.shadow.js +0 -87
- package/dist/opportunities/outcome/outcome.types.d.ts +0 -110
- package/dist/opportunities/outcome/outcome.types.js +0 -26
- package/dist/opportunities/radar/radar.health.d.ts +0 -31
- package/dist/opportunities/radar/radar.health.js +0 -75
- package/dist/premises/premise.analyzer.d.ts +0 -35
- package/dist/premises/premise.analyzer.js +0 -115
- package/dist/premises/premise.decomposer.d.ts +0 -69
- package/dist/premises/premise.decomposer.js +0 -213
- package/dist/premises/premise.graph.d.ts +0 -345
- package/dist/premises/premise.graph.js +0 -278
- package/dist/premises/premise.indexer.d.ts +0 -35
- package/dist/premises/premise.indexer.js +0 -86
- package/dist/premises/premise.state.d.ts +0 -67
- package/dist/premises/premise.state.js +0 -94
- package/dist/premises/premise.tools.d.ts +0 -3
- package/dist/premises/premise.tools.js +0 -248
- package/dist/questions/question.env.d.ts +0 -27
- package/dist/questions/question.env.js +0 -27
- package/dist/questions/question.input.d.ts +0 -107
- package/dist/questions/question.module.d.ts +0 -30
- package/dist/questions/question.module.js +0 -28
- package/dist/questions/question.schema.d.ts +0 -1529
- package/dist/questions/question.schema.js +0 -420
- package/dist/shared/agent/activity-projection.d.ts +0 -271
- package/dist/shared/agent/activity-projection.js +0 -254
- package/dist/shared/agent/canonical-guidance.d.ts +0 -30
- package/dist/shared/agent/canonical-guidance.js +0 -246
- package/dist/shared/agent/model.resolver.d.ts +0 -48
- package/dist/shared/agent/tool.factory.d.ts +0 -17
- package/dist/shared/agent/tool.factory.js +0 -221
- package/dist/shared/agent/tool.helpers.d.ts +0 -482
- package/dist/shared/agent/tool.helpers.js +0 -232
- package/dist/shared/agent/tool.registry.d.ts +0 -25
- package/dist/shared/agent/tool.registry.js +0 -76
- package/dist/shared/agent/tool.runtime.d.ts +0 -28
- package/dist/shared/agent/tool.runtime.js +0 -194
- package/dist/shared/agent/tool.scope.d.ts +0 -44
- package/dist/shared/agent/tool.scope.js +0 -50
- package/dist/shared/agent/utility.tools.d.ts +0 -15
- package/dist/shared/agent/utility.tools.js +0 -322
- package/dist/shared/assignment/network-assignment.policy.d.ts +0 -61
- package/dist/shared/assignment/network-assignment.policy.js +0 -105
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +0 -100
- package/dist/shared/interfaces/agent-dispatcher.interface.js +0 -12
- package/dist/shared/interfaces/auth.interface.d.ts +0 -37
- package/dist/shared/interfaces/auth.interface.js +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -18
- package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
- package/dist/shared/interfaces/chat-session.interface.d.ts +0 -23
- package/dist/shared/interfaces/chat-session.interface.js +0 -18
- package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -16
- package/dist/shared/interfaces/chat-summary.interface.js +0 -1
- package/dist/shared/interfaces/database.capabilities.d.ts +0 -100
- package/dist/shared/interfaces/database.interface.d.ts +0 -16
- package/dist/shared/interfaces/database.member-queries.d.ts +0 -219
- package/dist/shared/interfaces/database.member-queries.js +0 -4
- package/dist/shared/interfaces/database.negotiation.d.ts +0 -329
- package/dist/shared/interfaces/database.negotiation.js +0 -26
- package/dist/shared/interfaces/database.network-queries.js +0 -4
- package/dist/shared/interfaces/database.opportunity-queries.js +0 -4
- package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -40
- package/dist/shared/interfaces/delivery-ledger.interface.js +0 -5
- package/dist/shared/interfaces/embedder.interface.d.ts +0 -92
- package/dist/shared/interfaces/embedder.interface.js +0 -4
- package/dist/shared/interfaces/enrichment-run.interface.d.ts +0 -62
- package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
- package/dist/shared/interfaces/enrichment.interface.js +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -77
- package/dist/shared/interfaces/negotiation-events.interface.js +0 -6
- package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -25
- package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -58
- package/dist/shared/interfaces/negotiator-memory.interface.js +0 -11
- package/dist/shared/interfaces/queue.interface.d.ts +0 -23
- package/dist/shared/interfaces/queue.interface.js +0 -4
- package/dist/shared/interfaces/scraper.interface.js +0 -1
- package/dist/shared/interfaces/tool-request-context.interface.d.ts +0 -11
- package/dist/shared/interfaces/tool-request-context.interface.js +0 -1
- package/dist/shared/observability/request-context.d.ts +0 -27
- package/dist/shared/observability/request-context.js +0 -6
- package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -87
- package/dist/shared/schemas/mcp-auth.schema.js +0 -56
- package/dist/shared/schemas/negotiation-digest.schema.d.ts +0 -58
- package/dist/shared/schemas/negotiation-digest.schema.js +0 -38
- package/dist/shared/schemas/negotiation-state.schema.d.ts +0 -343
- package/dist/shared/schemas/negotiation-state.schema.js +0 -81
- package/dist/shared/schemas/question-block.fixture.d.ts +0 -12
- package/dist/shared/schemas/question-block.fixture.js +0 -39
- package/dist/shared/schemas/question-block.schema.d.ts +0 -111
- package/dist/shared/schemas/question-block.schema.js +0 -124
- package/dist/shared/schemas/structured-question.schema.d.ts +0 -66
- package/dist/shared/schemas/structured-question.schema.js +0 -31
- package/dist/shared/schemas/underspecification.schema.d.ts +0 -13
- package/dist/shared/schemas/underspecification.schema.js +0 -16
- /package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.js +0 -0
- /package/dist/{opportunities → internal/opportunities}/radar/radar.state.js +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.js +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.js +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.js +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.js +0 -0
- /package/dist/{shared/interfaces/database.capabilities.js → platform/database/capabilities.js} +0 -0
- /package/dist/{shared/interfaces/database.entities.js → platform/database/entities.js} +0 -0
- /package/dist/{shared/interfaces/database.identity-queries.js → platform/database/identity-queries.js} +0 -0
- /package/dist/{agents/agent.dispatcher.port.js → platform/database/negotiation.js} +0 -0
- /package/dist/{chat/chat.persona.js → platform/database/opportunity-queries.js} +0 -0
- /package/dist/{contexts/context.tools.port.js → platform/discovery/embedder.js} +0 -0
- /package/dist/{shared/interfaces/scraper.interface.d.ts → platform/discovery/scraper.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.deadlock.contracts.js → platform/discovery/scraper.js} +0 -0
- /package/dist/{shared/interfaces/enrichment.interface.d.ts → platform/enrichment/ports.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.tools.port.js → platform/enrichment/ports.js} +0 -0
- /package/dist/{opportunities/opportunity.tools.port.js → platform/runtime/observability.js} +0 -0
- /package/dist/{questions/question.input.js → protocol/core.js} +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.d.ts +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.js +0 -0
|
@@ -9,162 +9,103 @@ export interface ModelSettings {
|
|
|
9
9
|
temperature?: number;
|
|
10
10
|
maxTokens?: number;
|
|
11
11
|
reasoning?: {
|
|
12
|
-
effort?: '
|
|
12
|
+
effort?: 'low' | 'medium' | 'high';
|
|
13
13
|
exclude?: boolean;
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Runtime configuration for the protocol package.
|
|
18
|
-
* When passed
|
|
18
|
+
* When passed explicitly, all fields (`apiKey`, `baseURL`, `chatModel`,
|
|
19
19
|
* `chatReasoningEffort`) are honored by `ChatAgent` when the chat graph runs.
|
|
20
|
-
* Other protocol agents
|
|
20
|
+
* Other protocol agents may accept an explicit `ModelConfig`
|
|
21
21
|
* as a direct parameter to `createModel()`.
|
|
22
22
|
* All fields fall back to environment variables if not provided.
|
|
23
23
|
*/
|
|
24
24
|
export interface ModelConfig {
|
|
25
25
|
/** OpenRouter API key. Falls back to OPENROUTER_API_KEY env var. */
|
|
26
26
|
apiKey?: string;
|
|
27
|
-
/** OpenRouter base URL.
|
|
27
|
+
/** OpenRouter base URL. Defaults to {@link OPENROUTER_BASE_URL}. */
|
|
28
28
|
baseURL?: string;
|
|
29
29
|
/** Override the chat agent model. Falls back to CHAT_MODEL env var. */
|
|
30
30
|
chatModel?: string;
|
|
31
31
|
/** Override the chat reasoning effort. Falls back to CHAT_REASONING_EFFORT env var. */
|
|
32
|
-
chatReasoningEffort?: '
|
|
32
|
+
chatReasoningEffort?: 'low' | 'medium' | 'high';
|
|
33
33
|
}
|
|
34
34
|
/** Per-agent model settings before canonical assignments are applied. */
|
|
35
|
-
declare function getBaseModelConfig(config?: ModelConfig): { [Agent in "intentInferrer" | "
|
|
35
|
+
declare function getBaseModelConfig(config?: ModelConfig): { [Agent in "intentInferrer" | "intentVerifier" | "intentClarifier" | "profileGenerator" | "opportunityPresenter" | "negotiator" | "negotiationReflector" | "homeCategorizer" | "suggestionGenerator" | "chatTitleGenerator" | "negotiationInsights" | "chatContextSummarizer" | "negotiationSummarizer" | "inviteGenerator" | "userContextGenerator" | "networkRecommender" | "interruptClassifier" | "chat"]: Omit<{
|
|
36
36
|
readonly intentInferrer: {
|
|
37
|
-
readonly model: "google/gemini-
|
|
38
|
-
};
|
|
39
|
-
readonly intentIndexer: {
|
|
40
|
-
readonly model: "google/gemini-2.5-flash";
|
|
37
|
+
readonly model: "google/gemini-3.7-flash";
|
|
41
38
|
};
|
|
42
39
|
readonly intentVerifier: {
|
|
43
|
-
readonly model: "google/gemini-
|
|
44
|
-
};
|
|
45
|
-
readonly intentReconciler: {
|
|
46
|
-
readonly model: "google/gemini-2.5-flash";
|
|
40
|
+
readonly model: "google/gemini-3.7-flash";
|
|
47
41
|
};
|
|
48
42
|
readonly intentClarifier: {
|
|
49
|
-
readonly model: "google/gemini-
|
|
43
|
+
readonly model: "google/gemini-3.7-flash";
|
|
50
44
|
};
|
|
51
45
|
readonly profileGenerator: {
|
|
52
|
-
readonly model: "google/gemini-
|
|
53
|
-
};
|
|
54
|
-
readonly hydeGenerator: {
|
|
55
|
-
readonly model: "google/gemini-2.5-flash";
|
|
56
|
-
};
|
|
57
|
-
readonly hydeValidator: {
|
|
58
|
-
readonly model: "google/gemini-2.5-flash";
|
|
59
|
-
readonly temperature: 0;
|
|
60
|
-
readonly maxTokens: 2048;
|
|
61
|
-
};
|
|
62
|
-
readonly lensInferrer: {
|
|
63
|
-
readonly model: "google/gemini-2.5-flash";
|
|
64
|
-
};
|
|
65
|
-
readonly opportunityEvaluator: {
|
|
66
|
-
readonly model: "google/gemini-2.5-flash";
|
|
46
|
+
readonly model: "google/gemini-3.7-flash";
|
|
67
47
|
};
|
|
68
48
|
readonly opportunityPresenter: {
|
|
69
|
-
readonly model: "google/gemini-
|
|
49
|
+
readonly model: "google/gemini-3.7-flash";
|
|
70
50
|
};
|
|
71
51
|
readonly negotiator: {
|
|
72
|
-
readonly model: "google/gemini-
|
|
73
|
-
};
|
|
74
|
-
readonly negotiationScreener: {
|
|
75
|
-
readonly model: "google/gemini-2.5-flash";
|
|
76
|
-
readonly temperature: 0.2;
|
|
77
|
-
readonly maxTokens: 1024;
|
|
52
|
+
readonly model: "google/gemini-3.7-flash";
|
|
78
53
|
};
|
|
79
54
|
readonly negotiationReflector: {
|
|
80
|
-
readonly model: "google/gemini-
|
|
55
|
+
readonly model: "google/gemini-3.7-flash";
|
|
81
56
|
readonly temperature: 0.3;
|
|
82
57
|
readonly maxTokens: 2048;
|
|
83
58
|
};
|
|
84
59
|
readonly homeCategorizer: {
|
|
85
|
-
readonly model: "google/gemini-
|
|
60
|
+
readonly model: "google/gemini-3.7-flash";
|
|
86
61
|
};
|
|
87
62
|
readonly suggestionGenerator: {
|
|
88
|
-
readonly model: "google/gemini-
|
|
63
|
+
readonly model: "google/gemini-3.7-flash";
|
|
89
64
|
readonly temperature: 0.4;
|
|
90
65
|
readonly maxTokens: 512;
|
|
91
66
|
};
|
|
92
67
|
readonly chatTitleGenerator: {
|
|
93
|
-
readonly model: "google/gemini-
|
|
68
|
+
readonly model: "google/gemini-3.7-flash";
|
|
94
69
|
readonly temperature: 0.3;
|
|
95
70
|
readonly maxTokens: 32;
|
|
96
71
|
};
|
|
97
72
|
readonly negotiationInsights: {
|
|
98
|
-
readonly model: "google/gemini-
|
|
73
|
+
readonly model: "google/gemini-3.7-flash";
|
|
99
74
|
readonly temperature: 0.4;
|
|
100
75
|
readonly maxTokens: 512;
|
|
101
76
|
};
|
|
102
77
|
readonly chatContextSummarizer: {
|
|
103
|
-
readonly model: "google/gemini-
|
|
78
|
+
readonly model: "google/gemini-3.7-flash";
|
|
104
79
|
readonly temperature: 0.2;
|
|
105
80
|
readonly maxTokens: 512;
|
|
106
81
|
};
|
|
107
|
-
readonly questioner: {
|
|
108
|
-
readonly model: "google/gemini-2.5-flash";
|
|
109
|
-
readonly temperature: 0.5;
|
|
110
|
-
readonly maxTokens: 1024;
|
|
111
|
-
};
|
|
112
|
-
readonly signalIntakePack: {
|
|
113
|
-
readonly model: "google/gemini-2.5-flash";
|
|
114
|
-
readonly temperature: 0.3;
|
|
115
|
-
readonly maxTokens: 1024;
|
|
116
|
-
};
|
|
117
82
|
readonly negotiationSummarizer: {
|
|
118
|
-
readonly model: "google/gemini-
|
|
83
|
+
readonly model: "google/gemini-3.7-flash";
|
|
119
84
|
readonly temperature: 0.2;
|
|
120
85
|
readonly maxTokens: 256;
|
|
121
86
|
};
|
|
122
|
-
readonly poolDiscriminatorMiner: {
|
|
123
|
-
readonly model: "google/gemini-2.5-flash";
|
|
124
|
-
readonly temperature: 0.2;
|
|
125
|
-
readonly maxTokens: 4096;
|
|
126
|
-
};
|
|
127
|
-
readonly poolDiscriminatorAssigner: {
|
|
128
|
-
readonly model: "google/gemini-2.5-flash";
|
|
129
|
-
readonly temperature: 0.1;
|
|
130
|
-
readonly maxTokens: 16384;
|
|
131
|
-
};
|
|
132
|
-
readonly negotiationEvidenceMiner: {
|
|
133
|
-
readonly model: "google/gemini-2.5-flash";
|
|
134
|
-
readonly temperature: 0.2;
|
|
135
|
-
readonly maxTokens: 4096;
|
|
136
|
-
};
|
|
137
87
|
readonly inviteGenerator: {
|
|
138
|
-
readonly model: "google/gemini-
|
|
88
|
+
readonly model: "google/gemini-3.7-flash";
|
|
139
89
|
readonly temperature: 0.3;
|
|
140
90
|
readonly maxTokens: 512;
|
|
141
91
|
};
|
|
142
|
-
readonly premiseAnalyzer: {
|
|
143
|
-
readonly model: "google/gemini-2.5-flash";
|
|
144
|
-
};
|
|
145
|
-
readonly premiseDecomposer: {
|
|
146
|
-
readonly model: "google/gemini-2.5-flash";
|
|
147
|
-
};
|
|
148
|
-
readonly premiseIndexer: {
|
|
149
|
-
readonly model: "google/gemini-2.5-flash";
|
|
150
|
-
};
|
|
151
92
|
readonly userContextGenerator: {
|
|
152
|
-
readonly model: "google/gemini-
|
|
93
|
+
readonly model: "google/gemini-3.7-flash";
|
|
153
94
|
readonly temperature: 0.3;
|
|
154
95
|
readonly maxTokens: 512;
|
|
155
96
|
};
|
|
156
97
|
readonly networkRecommender: {
|
|
157
|
-
readonly model: "google/gemini-
|
|
98
|
+
readonly model: "google/gemini-3.7-flash";
|
|
158
99
|
readonly temperature: 0.2;
|
|
159
100
|
readonly maxTokens: 512;
|
|
160
101
|
};
|
|
161
102
|
readonly interruptClassifier: {
|
|
162
|
-
readonly model: "google/gemini-
|
|
103
|
+
readonly model: "google/gemini-3.7-flash";
|
|
163
104
|
readonly temperature: 0;
|
|
164
105
|
readonly maxTokens: 16;
|
|
165
106
|
};
|
|
166
107
|
readonly chat: {
|
|
167
|
-
readonly model: "google/gemini-3-
|
|
108
|
+
readonly model: "google/gemini-3.7-flash";
|
|
168
109
|
readonly maxTokens: 8192;
|
|
169
110
|
readonly reasoning: {
|
|
170
111
|
readonly effort: NonNullable<ModelSettings["reasoning"]>["effort"];
|
|
@@ -201,9 +142,10 @@ export declare function createFallbackModel(agent: ModelAgent, config?: ModelCon
|
|
|
201
142
|
* plus `.withRetry(...)` and `.withFallbacks([...])`.
|
|
202
143
|
*
|
|
203
144
|
* Retry covers transient provider errors *and* schema parse/validation
|
|
204
|
-
* failures; the fallback model (see
|
|
205
|
-
* same schema so a provider outage
|
|
206
|
-
*
|
|
145
|
+
* failures; the fallback model (see FALLBACK_MODEL_BY_TIER) is bound to the
|
|
146
|
+
* same schema so a provider outage or rate limit degrades to the previous
|
|
147
|
+
* generation of the same tier instead of failing the call. Abort signals
|
|
148
|
+
* pass through: aborts are never retried and
|
|
207
149
|
* skip the fallback.
|
|
208
150
|
*
|
|
209
151
|
* @param agent - Key identifying which agent's model settings to use.
|
|
@@ -1,42 +1,28 @@
|
|
|
1
1
|
import { ChatOpenAI } from "@langchain/openai";
|
|
2
2
|
import { resolveCanonicalAllAgentModels } from "./model.resolver.js";
|
|
3
|
+
const GEMINI_3_7_FLASH_MODEL = "google/gemini-3.7-flash";
|
|
3
4
|
/** Per-agent model settings before canonical assignments are applied. */
|
|
4
5
|
function getBaseModelConfig(config) {
|
|
5
6
|
const settings = {
|
|
6
|
-
intentInferrer: { model: "google/gemini-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
negotiationInsights: { model: "google/gemini-2.5-flash", temperature: 0.4, maxTokens: 512 },
|
|
24
|
-
chatContextSummarizer: { model: "google/gemini-2.5-flash", temperature: 0.2, maxTokens: 512 },
|
|
25
|
-
questioner: { model: "google/gemini-2.5-flash", temperature: 0.5, maxTokens: 1024 },
|
|
26
|
-
signalIntakePack: { model: "google/gemini-2.5-flash", temperature: 0.3, maxTokens: 1024 },
|
|
27
|
-
negotiationSummarizer: { model: "google/gemini-2.5-flash", temperature: 0.2, maxTokens: 256 },
|
|
28
|
-
poolDiscriminatorMiner: { model: "google/gemini-2.5-flash", temperature: 0.2, maxTokens: 4096 },
|
|
29
|
-
poolDiscriminatorAssigner: { model: "google/gemini-2.5-flash", temperature: 0.1, maxTokens: 16384 },
|
|
30
|
-
negotiationEvidenceMiner: { model: "google/gemini-2.5-flash", temperature: 0.2, maxTokens: 4096 },
|
|
31
|
-
inviteGenerator: { model: "google/gemini-2.5-flash", temperature: 0.3, maxTokens: 512 },
|
|
32
|
-
premiseAnalyzer: { model: "google/gemini-2.5-flash" },
|
|
33
|
-
premiseDecomposer: { model: "google/gemini-2.5-flash" },
|
|
34
|
-
premiseIndexer: { model: "google/gemini-2.5-flash" },
|
|
35
|
-
userContextGenerator: { model: "google/gemini-2.5-flash", temperature: 0.3, maxTokens: 512 },
|
|
36
|
-
networkRecommender: { model: "google/gemini-2.5-flash", temperature: 0.2, maxTokens: 512 },
|
|
37
|
-
interruptClassifier: { model: "google/gemini-2.5-flash", temperature: 0.0, maxTokens: 16 },
|
|
7
|
+
intentInferrer: { model: "google/gemini-3.7-flash" },
|
|
8
|
+
intentVerifier: { model: "google/gemini-3.7-flash" },
|
|
9
|
+
intentClarifier: { model: "google/gemini-3.7-flash" },
|
|
10
|
+
profileGenerator: { model: "google/gemini-3.7-flash" },
|
|
11
|
+
opportunityPresenter: { model: "google/gemini-3.7-flash" },
|
|
12
|
+
negotiator: { model: "google/gemini-3.7-flash" },
|
|
13
|
+
negotiationReflector: { model: "google/gemini-3.7-flash", temperature: 0.3, maxTokens: 2048 },
|
|
14
|
+
homeCategorizer: { model: "google/gemini-3.7-flash" },
|
|
15
|
+
suggestionGenerator: { model: "google/gemini-3.7-flash", temperature: 0.4, maxTokens: 512 },
|
|
16
|
+
chatTitleGenerator: { model: "google/gemini-3.7-flash", temperature: 0.3, maxTokens: 32 },
|
|
17
|
+
negotiationInsights: { model: "google/gemini-3.7-flash", temperature: 0.4, maxTokens: 512 },
|
|
18
|
+
chatContextSummarizer: { model: "google/gemini-3.7-flash", temperature: 0.2, maxTokens: 512 },
|
|
19
|
+
negotiationSummarizer: { model: "google/gemini-3.7-flash", temperature: 0.2, maxTokens: 256 },
|
|
20
|
+
inviteGenerator: { model: "google/gemini-3.7-flash", temperature: 0.3, maxTokens: 512 },
|
|
21
|
+
userContextGenerator: { model: "google/gemini-3.7-flash", temperature: 0.3, maxTokens: 512 },
|
|
22
|
+
networkRecommender: { model: "google/gemini-3.7-flash", temperature: 0.2, maxTokens: 512 },
|
|
23
|
+
interruptClassifier: { model: "google/gemini-3.7-flash", temperature: 0.0, maxTokens: 16 },
|
|
38
24
|
chat: {
|
|
39
|
-
model: "google/gemini-3-
|
|
25
|
+
model: "google/gemini-3.7-flash",
|
|
40
26
|
maxTokens: 8192,
|
|
41
27
|
reasoning: {
|
|
42
28
|
effort: (config?.chatReasoningEffort ?? process.env.CHAT_REASONING_EFFORT ?? "low"),
|
|
@@ -48,7 +34,16 @@ function getBaseModelConfig(config) {
|
|
|
48
34
|
CHAT_MODEL: config?.chatModel ?? process.env.CHAT_MODEL,
|
|
49
35
|
EVAL_MODEL_OVERRIDES: process.env.EVAL_MODEL_OVERRIDES,
|
|
50
36
|
}, { applyEvalOverrides: process.env.NODE_ENV !== "production" });
|
|
51
|
-
return Object.fromEntries(Object.entries(settings).map(([agent, value]) =>
|
|
37
|
+
return Object.fromEntries(Object.entries(settings).map(([agent, value]) => {
|
|
38
|
+
const model = assignments[agent];
|
|
39
|
+
return [agent, {
|
|
40
|
+
...value,
|
|
41
|
+
model,
|
|
42
|
+
reasoning: model === GEMINI_3_7_FLASH_MODEL
|
|
43
|
+
? ("reasoning" in value ? value.reasoning : { effort: "low" })
|
|
44
|
+
: undefined,
|
|
45
|
+
}];
|
|
46
|
+
}));
|
|
52
47
|
}
|
|
53
48
|
/** Canonical assignments preserve sampling, token, and reasoning settings. */
|
|
54
49
|
function getModelConfig(config) {
|
|
@@ -72,28 +67,27 @@ export function createModel(agent, config) {
|
|
|
72
67
|
return instantiateModel(agent, cfg, config);
|
|
73
68
|
}
|
|
74
69
|
/** Instantiates a ChatOpenAI from explicit settings (shared by primary + fallback creation). */
|
|
70
|
+
/** OpenRouter API root. */
|
|
71
|
+
const OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1";
|
|
75
72
|
function instantiateModel(agent, cfg, config) {
|
|
76
73
|
const apiKey = config?.apiKey ?? process.env.OPENROUTER_API_KEY;
|
|
77
74
|
if (!apiKey?.trim()) {
|
|
78
|
-
throw new Error(`createModel(${agent}): OPENROUTER_API_KEY is required. Pass via the config argument
|
|
75
|
+
throw new Error(`createModel(${agent}): OPENROUTER_API_KEY is required. Pass via the config argument or set the OPENROUTER_API_KEY environment variable.`);
|
|
79
76
|
}
|
|
80
77
|
// Hard upper bound on a single LLM call. Without this, langchain's HTTP
|
|
81
78
|
// client waits until the upstream cuts the socket (~3 minutes via
|
|
82
79
|
// OpenRouter), blocking the entire chat response. 60 s is generous enough
|
|
83
80
|
// for slow providers but bounds the worst case.
|
|
84
|
-
const
|
|
85
|
-
const timeout = Number.isFinite(timeoutEnv) && timeoutEnv > 0 ? timeoutEnv : 60000;
|
|
81
|
+
const timeout = 60000;
|
|
86
82
|
// ChatOpenAI defaults to maxRetries=2. That means a single hung upstream
|
|
87
83
|
// provider gets retried up to 2 more times, each waiting `timeout` before
|
|
88
84
|
// failing — so worst-case latency becomes timeout * 3. Cap retries at 1
|
|
89
|
-
// so the worst case stays bounded at ~2 * timeout.
|
|
90
|
-
|
|
91
|
-
const retriesEnv = Number.parseInt(process.env.OPENROUTER_MAX_RETRIES ?? "", 10);
|
|
92
|
-
const maxRetries = Number.isFinite(retriesEnv) && retriesEnv >= 0 ? retriesEnv : 1;
|
|
85
|
+
// so the worst case stays bounded at ~2 * timeout.
|
|
86
|
+
const maxRetries = 1;
|
|
93
87
|
return new ChatOpenAI({
|
|
94
88
|
model: cfg.model,
|
|
95
89
|
configuration: {
|
|
96
|
-
baseURL: config?.baseURL ??
|
|
90
|
+
baseURL: config?.baseURL ?? OPENROUTER_BASE_URL,
|
|
97
91
|
apiKey,
|
|
98
92
|
},
|
|
99
93
|
temperature: cfg.temperature,
|
|
@@ -104,20 +98,19 @@ function instantiateModel(agent, cfg, config) {
|
|
|
104
98
|
});
|
|
105
99
|
}
|
|
106
100
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
101
|
+
* Same-tier, previous-generation fallback: a "pro" primary falls back to the
|
|
102
|
+
* previous pro model, a "flash" primary to the previous flash model — the
|
|
103
|
+
* fallback is meant to survive a provider-side outage or rate limit on the
|
|
104
|
+
* exact primary, not to trade away the tier's capability. Every current
|
|
105
|
+
* primary is a flash model, but this stays tier-aware for when a pro model
|
|
106
|
+
* is added.
|
|
111
107
|
*/
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
if (!value || value.toLowerCase() === "none" || value.toLowerCase() === "off")
|
|
119
|
-
return undefined;
|
|
120
|
-
return value;
|
|
108
|
+
const FALLBACK_MODEL_BY_TIER = {
|
|
109
|
+
pro: "google/gemini-2.5-pro",
|
|
110
|
+
flash: "google/gemini-2.5-flash",
|
|
111
|
+
};
|
|
112
|
+
function fallbackModelFor(primaryModel) {
|
|
113
|
+
return primaryModel.includes("pro") ? FALLBACK_MODEL_BY_TIER.pro : FALLBACK_MODEL_BY_TIER.flash;
|
|
121
114
|
}
|
|
122
115
|
/**
|
|
123
116
|
* Creates the fallback ChatOpenAI for an agent, or undefined when fallbacks
|
|
@@ -126,24 +119,19 @@ function getFallbackModelName() {
|
|
|
126
119
|
* primary-model specific.
|
|
127
120
|
*/
|
|
128
121
|
export function createFallbackModel(agent, config) {
|
|
129
|
-
const fallbackName = getFallbackModelName();
|
|
130
|
-
if (!fallbackName)
|
|
131
|
-
return undefined;
|
|
132
122
|
const cfg = getModelConfig(config)[agent];
|
|
133
|
-
|
|
123
|
+
const fallbackModel = fallbackModelFor(cfg.model);
|
|
124
|
+
if (cfg.model === fallbackModel)
|
|
134
125
|
return undefined;
|
|
135
|
-
return instantiateModel(agent, { ...cfg, model:
|
|
126
|
+
return instantiateModel(agent, { ...cfg, model: fallbackModel, reasoning: undefined }, config);
|
|
136
127
|
}
|
|
137
128
|
/**
|
|
138
129
|
* Number of attempts (1 = no retry) for runnable-level retries added by
|
|
139
130
|
* `createStructuredModel` / `createResilientModel`. These wrap ChatOpenAI's
|
|
140
131
|
* own HTTP-level `maxRetries` and additionally cover structured-output
|
|
141
|
-
* parse/validation failures.
|
|
132
|
+
* parse/validation failures.
|
|
142
133
|
*/
|
|
143
|
-
|
|
144
|
-
const env = Number.parseInt(process.env.OPENROUTER_RUNNABLE_MAX_ATTEMPTS ?? "", 10);
|
|
145
|
-
return Number.isFinite(env) && env >= 1 ? env : 2;
|
|
146
|
-
}
|
|
134
|
+
const RUNNABLE_MAX_ATTEMPTS = 2;
|
|
147
135
|
/**
|
|
148
136
|
* Stops runnable-level retries when the failure was a caller abort —
|
|
149
137
|
* retrying a cancelled request only delays cancellation. Thrown errors from
|
|
@@ -154,7 +142,7 @@ function abortAwareFailedAttemptHandler(error) {
|
|
|
154
142
|
throw error;
|
|
155
143
|
}
|
|
156
144
|
function withResilience(primary, fallback) {
|
|
157
|
-
const attempts =
|
|
145
|
+
const attempts = RUNNABLE_MAX_ATTEMPTS;
|
|
158
146
|
let runnable = attempts > 1
|
|
159
147
|
? primary.withRetry({ stopAfterAttempt: attempts, onFailedAttempt: abortAwareFailedAttemptHandler })
|
|
160
148
|
: primary;
|
|
@@ -168,9 +156,10 @@ function withResilience(primary, fallback) {
|
|
|
168
156
|
* plus `.withRetry(...)` and `.withFallbacks([...])`.
|
|
169
157
|
*
|
|
170
158
|
* Retry covers transient provider errors *and* schema parse/validation
|
|
171
|
-
* failures; the fallback model (see
|
|
172
|
-
* same schema so a provider outage
|
|
173
|
-
*
|
|
159
|
+
* failures; the fallback model (see FALLBACK_MODEL_BY_TIER) is bound to the
|
|
160
|
+
* same schema so a provider outage or rate limit degrades to the previous
|
|
161
|
+
* generation of the same tier instead of failing the call. Abort signals
|
|
162
|
+
* pass through: aborts are never retried and
|
|
174
163
|
* skip the fallback.
|
|
175
164
|
*
|
|
176
165
|
* @param agent - Key identifying which agent's model settings to use.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical model-assignment authority for every protocol agent.
|
|
3
|
+
*
|
|
4
|
+
* The resolver is pure: callers provide the complete environment projection it
|
|
5
|
+
* may read. Historical eval planning uses the returned all-agent map so an
|
|
6
|
+
* unmentioned agent cannot drift behind an implicit runtime default.
|
|
7
|
+
*/
|
|
8
|
+
export declare const CANONICAL_AGENT_MODEL_DEFAULTS: Readonly<{
|
|
9
|
+
readonly intentInferrer: "google/gemini-3.7-flash";
|
|
10
|
+
readonly intentVerifier: "google/gemini-3.7-flash";
|
|
11
|
+
readonly intentClarifier: "google/gemini-3.7-flash";
|
|
12
|
+
readonly profileGenerator: "google/gemini-3.7-flash";
|
|
13
|
+
readonly opportunityPresenter: "google/gemini-3.7-flash";
|
|
14
|
+
readonly negotiator: "google/gemini-3.7-flash";
|
|
15
|
+
readonly negotiationReflector: "google/gemini-3.7-flash";
|
|
16
|
+
readonly homeCategorizer: "google/gemini-3.7-flash";
|
|
17
|
+
readonly suggestionGenerator: "google/gemini-3.7-flash";
|
|
18
|
+
readonly chatTitleGenerator: "google/gemini-3.7-flash";
|
|
19
|
+
readonly negotiationInsights: "google/gemini-3.7-flash";
|
|
20
|
+
readonly chatContextSummarizer: "google/gemini-3.7-flash";
|
|
21
|
+
readonly negotiationSummarizer: "google/gemini-3.7-flash";
|
|
22
|
+
readonly inviteGenerator: "google/gemini-3.7-flash";
|
|
23
|
+
readonly userContextGenerator: "google/gemini-3.7-flash";
|
|
24
|
+
readonly networkRecommender: "google/gemini-3.7-flash";
|
|
25
|
+
readonly interruptClassifier: "google/gemini-3.7-flash";
|
|
26
|
+
readonly chat: "google/gemini-3.7-flash";
|
|
27
|
+
}>;
|
|
28
|
+
export type CanonicalModelAgent = keyof typeof CANONICAL_AGENT_MODEL_DEFAULTS;
|
|
29
|
+
export type CanonicalAllAgentModels = Readonly<Record<CanonicalModelAgent, string>>;
|
|
30
|
+
export declare const CANONICAL_MODEL_AGENTS: readonly ("intentInferrer" | "intentVerifier" | "intentClarifier" | "profileGenerator" | "opportunityPresenter" | "negotiator" | "negotiationReflector" | "homeCategorizer" | "suggestionGenerator" | "chatTitleGenerator" | "negotiationInsights" | "chatContextSummarizer" | "negotiationSummarizer" | "inviteGenerator" | "userContextGenerator" | "networkRecommender" | "interruptClassifier" | "chat")[];
|
|
31
|
+
export declare function resolveCanonicalAllAgentModels(environment: Readonly<Record<string, string | undefined>>, options?: {
|
|
32
|
+
applyEvalOverrides?: boolean;
|
|
33
|
+
}): CanonicalAllAgentModels;
|
|
@@ -6,39 +6,24 @@
|
|
|
6
6
|
* unmentioned agent cannot drift behind an implicit runtime default.
|
|
7
7
|
*/
|
|
8
8
|
export const CANONICAL_AGENT_MODEL_DEFAULTS = Object.freeze({
|
|
9
|
-
intentInferrer: "google/gemini-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
chatContextSummarizer: "google/gemini-2.5-flash",
|
|
28
|
-
questioner: "google/gemini-2.5-flash",
|
|
29
|
-
signalIntakePack: "google/gemini-2.5-flash",
|
|
30
|
-
negotiationSummarizer: "google/gemini-2.5-flash",
|
|
31
|
-
poolDiscriminatorMiner: "google/gemini-2.5-flash",
|
|
32
|
-
poolDiscriminatorAssigner: "google/gemini-2.5-flash",
|
|
33
|
-
negotiationEvidenceMiner: "google/gemini-2.5-flash",
|
|
34
|
-
inviteGenerator: "google/gemini-2.5-flash",
|
|
35
|
-
premiseAnalyzer: "google/gemini-2.5-flash",
|
|
36
|
-
premiseDecomposer: "google/gemini-2.5-flash",
|
|
37
|
-
premiseIndexer: "google/gemini-2.5-flash",
|
|
38
|
-
userContextGenerator: "google/gemini-2.5-flash",
|
|
39
|
-
networkRecommender: "google/gemini-2.5-flash",
|
|
40
|
-
interruptClassifier: "google/gemini-2.5-flash",
|
|
41
|
-
chat: "google/gemini-3-pro-preview",
|
|
9
|
+
intentInferrer: "google/gemini-3.7-flash",
|
|
10
|
+
intentVerifier: "google/gemini-3.7-flash",
|
|
11
|
+
intentClarifier: "google/gemini-3.7-flash",
|
|
12
|
+
profileGenerator: "google/gemini-3.7-flash",
|
|
13
|
+
opportunityPresenter: "google/gemini-3.7-flash",
|
|
14
|
+
negotiator: "google/gemini-3.7-flash",
|
|
15
|
+
negotiationReflector: "google/gemini-3.7-flash",
|
|
16
|
+
homeCategorizer: "google/gemini-3.7-flash",
|
|
17
|
+
suggestionGenerator: "google/gemini-3.7-flash",
|
|
18
|
+
chatTitleGenerator: "google/gemini-3.7-flash",
|
|
19
|
+
negotiationInsights: "google/gemini-3.7-flash",
|
|
20
|
+
chatContextSummarizer: "google/gemini-3.7-flash",
|
|
21
|
+
negotiationSummarizer: "google/gemini-3.7-flash",
|
|
22
|
+
inviteGenerator: "google/gemini-3.7-flash",
|
|
23
|
+
userContextGenerator: "google/gemini-3.7-flash",
|
|
24
|
+
networkRecommender: "google/gemini-3.7-flash",
|
|
25
|
+
interruptClassifier: "google/gemini-3.7-flash",
|
|
26
|
+
chat: "google/gemini-3.7-flash",
|
|
42
27
|
});
|
|
43
28
|
export const CANONICAL_MODEL_AGENTS = Object.freeze(Object.keys(CANONICAL_AGENT_MODEL_DEFAULTS));
|
|
44
29
|
function parseOverrides(raw) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request scope primitives.
|
|
3
|
+
*
|
|
4
|
+
* `scopeType`/`scopeId` describe the caller's focused scope, not the full set of
|
|
5
|
+
* networks they may read or write. The helpers here derive concrete network id
|
|
6
|
+
* sets from the focused scope and the caller's memberships.
|
|
7
|
+
*/
|
|
8
|
+
import type { ScopeMembership, ScopeType } from '../../../protocol/core.js';
|
|
9
|
+
export type { ScopeMembership, ScopeType } from '../../../protocol/core.js';
|
|
10
|
+
export interface ScopeEnvelope {
|
|
11
|
+
scopeType?: ScopeType;
|
|
12
|
+
scopeId?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface DeriveNetworkScopeInput extends ScopeEnvelope {
|
|
15
|
+
memberships: ScopeMembership[];
|
|
16
|
+
}
|
|
17
|
+
/** Every network the caller may read within their focused scope. */
|
|
18
|
+
export declare function deriveAllowedNetworkIds(input: DeriveNetworkScopeInput): string[];
|
|
19
|
+
/** The networks discovery may draw counterparties from. Empty when the focused network is not one of the caller's. */
|
|
20
|
+
export declare function deriveDiscoveryNetworkIds(input: DeriveNetworkScopeInput): string[];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function uniqueNetworkIds(ids) {
|
|
2
|
+
return [...new Set(ids.map((id) => id.trim()).filter(Boolean))];
|
|
3
|
+
}
|
|
4
|
+
function hasNetworkScope(scope) {
|
|
5
|
+
return scope.scopeType === 'network' && typeof scope.scopeId === 'string' && scope.scopeId.trim().length > 0;
|
|
6
|
+
}
|
|
7
|
+
/** Every network the caller may read within their focused scope. */
|
|
8
|
+
export function deriveAllowedNetworkIds(input) {
|
|
9
|
+
if (!hasNetworkScope(input)) {
|
|
10
|
+
return uniqueNetworkIds(input.memberships.map((membership) => membership.networkId));
|
|
11
|
+
}
|
|
12
|
+
return uniqueNetworkIds(input.memberships
|
|
13
|
+
.filter((membership) => membership.networkId === input.scopeId)
|
|
14
|
+
.map((membership) => membership.networkId));
|
|
15
|
+
}
|
|
16
|
+
/** The networks discovery may draw counterparties from. Empty when the focused network is not one of the caller's. */
|
|
17
|
+
export function deriveDiscoveryNetworkIds(input) {
|
|
18
|
+
if (!hasNetworkScope(input)) {
|
|
19
|
+
return uniqueNetworkIds(input.memberships.map((membership) => membership.networkId));
|
|
20
|
+
}
|
|
21
|
+
return input.memberships.some((membership) => membership.networkId === input.scopeId)
|
|
22
|
+
? [input.scopeId]
|
|
23
|
+
: [];
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { NetworkAssignmentMetadata, NetworkAssignmentResourceType } from "../../../protocol/schemas/network-assignment.schema.js";
|
|
2
|
+
export interface ManualAssignmentArgs {
|
|
3
|
+
resourceType: NetworkAssignmentResourceType;
|
|
4
|
+
/** Provenance tag recorded on the row, e.g. `intent-create`. */
|
|
5
|
+
source: string;
|
|
6
|
+
createdAt?: string;
|
|
7
|
+
reason?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface NetworkAssignmentDecision {
|
|
10
|
+
finalScore: number;
|
|
11
|
+
metadata: NetworkAssignmentMetadata;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Builds the row-level metadata for a network assignment.
|
|
15
|
+
*
|
|
16
|
+
* Every assignment is a deliberate act by the resource's owner — nothing is
|
|
17
|
+
* scored or thresholded — so the score is always 1 and the recorded mode is
|
|
18
|
+
* always `manual_override`.
|
|
19
|
+
*
|
|
20
|
+
* @param args - Resource type and provenance for the assignment.
|
|
21
|
+
* @returns The score and explainability metadata to persist.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildManualAssignmentMetadata(args: ManualAssignmentArgs): NetworkAssignmentDecision;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the row-level metadata for a network assignment.
|
|
3
|
+
*
|
|
4
|
+
* Every assignment is a deliberate act by the resource's owner — nothing is
|
|
5
|
+
* scored or thresholded — so the score is always 1 and the recorded mode is
|
|
6
|
+
* always `manual_override`.
|
|
7
|
+
*
|
|
8
|
+
* @param args - Resource type and provenance for the assignment.
|
|
9
|
+
* @returns The score and explainability metadata to persist.
|
|
10
|
+
*/
|
|
11
|
+
export function buildManualAssignmentMetadata(args) {
|
|
12
|
+
return {
|
|
13
|
+
finalScore: 1,
|
|
14
|
+
metadata: {
|
|
15
|
+
resourceType: args.resourceType,
|
|
16
|
+
mode: "manual_override",
|
|
17
|
+
scope: "network",
|
|
18
|
+
policy: "unified-threshold-v1",
|
|
19
|
+
threshold: 0,
|
|
20
|
+
promptPresence: "none",
|
|
21
|
+
finalScore: 1,
|
|
22
|
+
assigned: true,
|
|
23
|
+
reason: args.reason ?? "Assigned explicitly by the owner.",
|
|
24
|
+
...(args.source ? { source: args.source } : {}),
|
|
25
|
+
...(args.createdAt ? { createdAt: args.createdAt } : {}),
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Protocol-internal logging module.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* call `setLoggerFactory()` at startup to wire in a richer implementation
|
|
7
|
-
* (e.g. the project-wide `log` utility with ANSI colors, context filtering,
|
|
8
|
-
* and embedding redaction).
|
|
4
|
+
* The package emits through a host-provided logger factory. It intentionally
|
|
5
|
+
* has no console or vendor logger implementation; hosts wire their own logger.
|
|
9
6
|
*/
|
|
10
7
|
type LogMethod = (message: string, meta?: Record<string, unknown>) => void;
|
|
11
8
|
export type LoggerWithSource = {
|
|
@@ -34,7 +31,7 @@ type SanitizeFn = (value: unknown) => unknown;
|
|
|
34
31
|
* );
|
|
35
32
|
* ```
|
|
36
33
|
*/
|
|
37
|
-
export declare function setLoggerFactory(factory: LoggerFactory, sanitize?: SanitizeFn): void;
|
|
34
|
+
export declare function setLoggerFactory(factory: LoggerFactory | undefined, sanitize?: SanitizeFn): void;
|
|
38
35
|
/** Sanitize an object for logging (redacts embeddings when host logger is wired in). */
|
|
39
36
|
export declare function sanitizeForLog(value: unknown): unknown;
|
|
40
37
|
/**
|