@indexnetwork/protocol 22.0.0-rc.499.1 → 64.0.0-rc.604.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1841 -0
- package/IMPLEMENTATION.md +140 -181
- package/README.md +16 -20
- package/STABILITY.md +16 -11
- package/dist/{intents/intent.module.d.ts → capabilities/intents.d.ts} +182 -192
- package/dist/capabilities/intents.js +88 -0
- package/dist/capabilities/negotiations.d.ts +17 -0
- package/dist/capabilities/negotiations.js +16 -0
- package/dist/{networks/network.module.d.ts → capabilities/networks.d.ts} +33 -169
- package/dist/{networks/network.module.js → capabilities/networks.js} +6 -17
- package/dist/index.d.ts +57 -134
- package/dist/index.js +41 -105
- package/dist/internal/agents/agent.repository.port.d.ts +59 -0
- package/dist/internal/agents/agent.repository.port.js +7 -0
- package/dist/internal/agents/agent.types.d.ts +35 -0
- package/dist/{agents → internal/agents}/agent.types.js +1 -6
- package/dist/{intents → internal/intents}/graph/intent.graph.d.ts +142 -151
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.d.ts +5 -1
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.js +165 -46
- package/dist/internal/intents/graph/intent.graph.infer.d.ts +78 -0
- package/dist/internal/intents/graph/intent.graph.infer.js +122 -0
- package/dist/internal/intents/graph/intent.graph.js +108 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.reconcile.d.ts +18 -9
- package/dist/internal/intents/graph/intent.graph.reconcile.js +173 -0
- package/dist/internal/intents/graph/intent.graph.shared.d.ts +55 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.shared.js +25 -70
- package/dist/{intents → internal/intents}/graph/intent.graph.state.d.ts +96 -32
- package/dist/{intents → internal/intents}/graph/intent.graph.state.js +42 -31
- package/dist/internal/intents/intent.admission.d.ts +16 -0
- package/dist/internal/intents/intent.admission.js +30 -0
- package/dist/{intents → internal/intents}/intent.inferrer.d.ts +1 -40
- package/dist/{intents → internal/intents}/intent.inferrer.js +13 -49
- package/dist/internal/intents/intent.preparer.d.ts +52 -0
- package/dist/internal/intents/intent.preparer.js +87 -0
- package/dist/{intents → internal/intents}/intent.verifier.d.ts +3 -36
- package/dist/{intents → internal/intents}/intent.verifier.js +0 -17
- package/dist/{networks → internal/networks}/indexer.graph.d.ts +15 -200
- package/dist/{networks → internal/networks}/indexer.graph.js +19 -128
- package/dist/{networks → internal/networks}/indexer.state.d.ts +8 -63
- package/dist/internal/networks/indexer.state.js +70 -0
- package/dist/{networks → internal/networks}/membership.graph.d.ts +6 -6
- package/dist/{networks → internal/networks}/membership.graph.js +3 -3
- package/dist/{networks → internal/networks}/membership.state.d.ts +2 -2
- package/dist/{networks → internal/networks}/membership.state.js +2 -2
- package/dist/{networks → internal/networks}/network.graph.d.ts +9 -22
- package/dist/{networks → internal/networks}/network.graph.js +13 -27
- package/dist/{networks → internal/networks}/network.recommender.d.ts +2 -2
- package/dist/{networks → internal/networks}/network.recommender.js +2 -2
- package/dist/{networks → internal/networks}/network.state.d.ts +4 -7
- package/dist/{networks → internal/networks}/network.state.js +4 -4
- package/dist/internal/opportunities/negotiation-context.loader.d.ts +26 -0
- package/dist/internal/opportunities/negotiation-context.loader.js +36 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.d.ts +1 -1
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.js +7 -1
- package/dist/internal/opportunities/opportunity.counterparties.d.ts +17 -0
- package/dist/internal/opportunities/opportunity.counterparties.js +19 -0
- package/dist/internal/opportunities/opportunity.events.d.ts +38 -0
- package/dist/internal/opportunities/opportunity.events.js +94 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.feed-selection.d.ts +3 -9
- package/dist/internal/opportunities/opportunity.feed-selection.js +40 -0
- package/dist/internal/opportunities/opportunity.graph.modes.d.ts +39 -0
- package/dist/internal/opportunities/opportunity.graph.modes.js +138 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.labels.d.ts +2 -3
- package/dist/internal/opportunities/opportunity.labels.js +9 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.d.ts +17 -86
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.js +54 -447
- package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.d.ts +2 -2
- package/dist/internal/opportunities/opportunity.utils.d.ts +105 -0
- package/dist/internal/opportunities/opportunity.utils.js +165 -0
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.d.ts +17 -17
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.js +41 -161
- package/dist/{opportunities → internal/opportunities}/radar/radar.state.d.ts +4 -11
- package/dist/{shared → internal/shared}/agent/model-signal.d.ts +1 -1
- package/dist/{shared → internal/shared}/agent/model-signal.js +1 -1
- package/dist/{shared → internal/shared}/agent/model.config.d.ts +28 -86
- package/dist/{shared → internal/shared}/agent/model.config.js +58 -69
- package/dist/internal/shared/agent/model.resolver.d.ts +33 -0
- package/dist/{shared → internal/shared}/agent/model.resolver.js +18 -33
- package/dist/internal/shared/agent/scope.d.ts +20 -0
- package/dist/internal/shared/agent/scope.js +24 -0
- package/dist/internal/shared/assignment/network-assignment.policy.d.ts +23 -0
- package/dist/internal/shared/assignment/network-assignment.policy.js +28 -0
- package/dist/{shared → internal/shared}/observability/log.d.ts +3 -6
- package/dist/{shared → internal/shared}/observability/log.js +9 -18
- package/dist/{shared → internal/shared}/observability/protocol.logger.d.ts +1 -1
- package/dist/{shared → internal/shared}/observability/protocol.logger.js +1 -1
- package/dist/internal/shared/observability/request-context.d.ts +29 -0
- package/dist/internal/shared/observability/request-context.js +17 -0
- package/dist/{shared → internal/shared}/utils/social-label.d.ts +2 -2
- package/dist/{shared → internal/shared}/utils/social-label.js +1 -1
- package/dist/platform/database/capabilities.d.ts +59 -0
- package/dist/{shared/interfaces/database.entities.d.ts → platform/database/entities.d.ts} +81 -121
- package/dist/{shared/interfaces/database.identity-queries.d.ts → platform/database/identity-queries.d.ts} +55 -20
- package/dist/platform/database/member-queries.d.ts +55 -0
- package/dist/platform/database/member-queries.js +4 -0
- package/dist/platform/database/negotiation.d.ts +38 -0
- package/dist/{shared/interfaces/database.network-queries.d.ts → platform/database/network-queries.d.ts} +66 -67
- package/dist/platform/database/network-queries.js +4 -0
- package/dist/{shared/interfaces/database.opportunity-queries.d.ts → platform/database/opportunity-queries.d.ts} +25 -109
- package/dist/{shared/interfaces/database.port.d.ts → platform/database/port.d.ts} +52 -117
- package/dist/{shared/interfaces/database.port.js → platform/database/port.js} +3 -5
- package/dist/platform/database.d.ts +23 -0
- package/dist/{shared/interfaces/database.interface.js → platform/database.js} +1 -1
- package/dist/{shared/interfaces/cache.interface.d.ts → platform/discovery/cache.d.ts} +2 -4
- package/dist/{shared/interfaces/cache.interface.js → platform/discovery/cache.js} +1 -1
- package/dist/platform/discovery/embedder.d.ts +31 -0
- package/dist/platform/runtime/errors.d.ts +6 -0
- package/dist/platform/runtime/errors.js +9 -0
- package/dist/platform/runtime/follow-up.d.ts +36 -0
- package/dist/platform/runtime/follow-up.js +4 -0
- package/dist/platform/runtime/observability.d.ts +34 -0
- package/dist/protocol/core.d.ts +11 -0
- package/dist/protocol/discovery.rules.d.ts +21 -0
- package/dist/protocol/discovery.rules.js +29 -0
- package/dist/protocol/negotiation.constants.d.ts +3 -0
- package/dist/protocol/negotiation.constants.js +3 -0
- package/dist/protocol/negotiation.rules.d.ts +73 -0
- package/dist/protocol/negotiation.rules.js +68 -0
- package/dist/protocol/protocol.prompt.d.ts +13 -0
- package/dist/protocol/protocol.prompt.js +190 -0
- package/dist/{shared → protocol}/schemas/discovery-question.schema.d.ts +13 -13
- package/dist/{shared → protocol}/schemas/discovery-question.schema.js +2 -2
- package/dist/{shared → protocol}/schemas/identity.schema.d.ts +4 -4
- package/dist/{shared → protocol}/schemas/identity.schema.js +4 -4
- package/dist/{shared → protocol}/schemas/network-assignment.schema.d.ts +11 -20
- package/dist/{shared → protocol}/schemas/network-assignment.schema.js +2 -9
- package/dist/protocol/schemas/underspecification.schema.d.ts +9 -0
- package/dist/protocol/schemas/underspecification.schema.js +12 -0
- package/package.json +7 -15
- package/dist/agents/agent.dispatcher.port.d.ts +0 -25
- package/dist/agents/agent.module.d.ts +0 -19
- package/dist/agents/agent.module.js +0 -11
- package/dist/agents/agent.repository.port.d.ts +0 -118
- package/dist/agents/agent.repository.port.js +0 -10
- package/dist/agents/agent.tools.d.ts +0 -16
- package/dist/agents/agent.tools.js +0 -351
- package/dist/agents/agent.tools.port.d.ts +0 -22
- package/dist/agents/agent.tools.port.js +0 -18
- package/dist/agents/agent.types.d.ts +0 -76
- package/dist/chat/chat-streaming.types.d.ts +0 -618
- package/dist/chat/chat-streaming.types.js +0 -297
- package/dist/chat/chat.agent.d.ts +0 -292
- package/dist/chat/chat.agent.js +0 -1010
- package/dist/chat/chat.graph.d.ts +0 -424
- package/dist/chat/chat.graph.js +0 -257
- package/dist/chat/chat.interrupt.classifier.d.ts +0 -25
- package/dist/chat/chat.interrupt.classifier.js +0 -64
- package/dist/chat/chat.persona.d.ts +0 -39
- package/dist/chat/chat.prompt.d.ts +0 -4
- package/dist/chat/chat.prompt.js +0 -12
- package/dist/chat/chat.prompt.modules.d.ts +0 -30
- package/dist/chat/chat.prompt.modules.js +0 -40
- package/dist/chat/chat.question-dedup.d.ts +0 -14
- package/dist/chat/chat.question-dedup.js +0 -17
- package/dist/chat/chat.state.d.ts +0 -135
- package/dist/chat/chat.state.js +0 -120
- package/dist/chat/chat.streamer.d.ts +0 -64
- package/dist/chat/chat.streamer.js +0 -217
- package/dist/chat/chat.suggester.d.ts +0 -23
- package/dist/chat/chat.suggester.js +0 -95
- package/dist/chat/chat.summarizer.d.ts +0 -20
- package/dist/chat/chat.summarizer.js +0 -97
- package/dist/chat/chat.title.generator.d.ts +0 -19
- package/dist/chat/chat.title.generator.js +0 -66
- package/dist/chat/chat.tools.d.ts +0 -5
- package/dist/chat/chat.tools.js +0 -62
- package/dist/chat/chat.utils.d.ts +0 -41
- package/dist/chat/chat.utils.js +0 -88
- package/dist/chat/negotiator.persona.d.ts +0 -74
- package/dist/chat/negotiator.persona.js +0 -154
- package/dist/chat/negotiator.prompt.d.ts +0 -45
- package/dist/chat/negotiator.prompt.js +0 -160
- package/dist/chat/negotiator.tools.d.ts +0 -42
- package/dist/chat/negotiator.tools.js +0 -134
- package/dist/chat/onboarding.persona.d.ts +0 -28
- package/dist/chat/onboarding.persona.js +0 -86
- package/dist/chat/onboarding.prompt.d.ts +0 -6
- package/dist/chat/onboarding.prompt.js +0 -63
- package/dist/chat/signal.persona.d.ts +0 -47
- package/dist/chat/signal.persona.js +0 -319
- package/dist/chat/signal.prompt.d.ts +0 -39
- package/dist/chat/signal.prompt.js +0 -136
- package/dist/contacts/contact.module.d.ts +0 -8
- package/dist/contacts/contact.module.js +0 -6
- package/dist/contacts/contact.repository.port.d.ts +0 -21
- package/dist/contacts/contact.repository.port.js +0 -12
- package/dist/contacts/contact.tools.d.ts +0 -17
- package/dist/contacts/contact.tools.js +0 -108
- package/dist/contacts/contact.tools.port.d.ts +0 -20
- package/dist/contacts/contact.tools.port.js +0 -16
- package/dist/contacts/contact.types.d.ts +0 -24
- package/dist/contacts/contact.types.js +0 -8
- package/dist/contexts/context.generator.d.ts +0 -95
- package/dist/contexts/context.generator.js +0 -127
- package/dist/contexts/context.module.d.ts +0 -13
- package/dist/contexts/context.module.js +0 -12
- package/dist/contexts/context.tools.port.d.ts +0 -9
- package/dist/discovery/hyde.documents.d.ts +0 -9
- package/dist/discovery/hyde.documents.js +0 -49
- package/dist/discovery/hyde.env.d.ts +0 -8
- package/dist/discovery/hyde.env.js +0 -9
- package/dist/discovery/hyde.frame.d.ts +0 -150
- package/dist/discovery/hyde.frame.js +0 -107
- package/dist/discovery/hyde.generator.d.ts +0 -38
- package/dist/discovery/hyde.generator.js +0 -103
- package/dist/discovery/hyde.graph.d.ts +0 -209
- package/dist/discovery/hyde.graph.js +0 -482
- package/dist/discovery/hyde.state.d.ts +0 -70
- package/dist/discovery/hyde.state.js +0 -85
- package/dist/discovery/hyde.strategies.d.ts +0 -17
- package/dist/discovery/hyde.strategies.js +0 -34
- package/dist/discovery/hyde.validator.d.ts +0 -78
- package/dist/discovery/hyde.validator.js +0 -48
- package/dist/discovery/index.d.ts +0 -26
- package/dist/discovery/index.js +0 -19
- package/dist/discovery/lens.inferrer.d.ts +0 -214
- package/dist/discovery/lens.inferrer.js +0 -152
- package/dist/enrichment/enrichment.generator.d.ts +0 -68
- package/dist/enrichment/enrichment.generator.js +0 -95
- package/dist/enrichment/enrichment.graph.d.ts +0 -544
- package/dist/enrichment/enrichment.graph.js +0 -695
- package/dist/enrichment/enrichment.state.d.ts +0 -141
- package/dist/enrichment/enrichment.state.js +0 -115
- package/dist/enrichment/enrichment.tools.context-read.d.ts +0 -10
- package/dist/enrichment/enrichment.tools.context-read.js +0 -353
- package/dist/enrichment/enrichment.tools.context-write.d.ts +0 -9
- package/dist/enrichment/enrichment.tools.context-write.js +0 -417
- package/dist/enrichment/enrichment.tools.d.ts +0 -13
- package/dist/enrichment/enrichment.tools.helpers.d.ts +0 -139
- package/dist/enrichment/enrichment.tools.helpers.js +0 -234
- package/dist/enrichment/enrichment.tools.js +0 -153
- package/dist/intents/graph/intent.graph.infer.d.ts +0 -44
- package/dist/intents/graph/intent.graph.infer.js +0 -97
- package/dist/intents/graph/intent.graph.js +0 -134
- package/dist/intents/graph/intent.graph.reconcile.js +0 -274
- package/dist/intents/graph/intent.graph.shared.d.ts +0 -68
- package/dist/intents/intake/intake.orchestrator.d.ts +0 -203
- package/dist/intents/intake/intake.orchestrator.js +0 -255
- package/dist/intents/intake/intake.pack.generator.d.ts +0 -57
- package/dist/intents/intake/intake.pack.generator.js +0 -90
- package/dist/intents/intent.clarifier.d.ts +0 -51
- package/dist/intents/intent.clarifier.js +0 -201
- package/dist/intents/intent.indexer.d.ts +0 -82
- package/dist/intents/intent.indexer.js +0 -170
- package/dist/intents/intent.module.js +0 -103
- package/dist/intents/intent.proposal.d.ts +0 -37
- package/dist/intents/intent.proposal.js +0 -14
- package/dist/intents/intent.reconciler.d.ts +0 -105
- package/dist/intents/intent.reconciler.js +0 -186
- package/dist/intents/intent.tools.d.ts +0 -27
- package/dist/intents/intent.tools.js +0 -808
- package/dist/maintenance/maintenance.graph.d.ts +0 -239
- package/dist/maintenance/maintenance.graph.js +0 -199
- package/dist/maintenance/maintenance.state.d.ts +0 -35
- package/dist/maintenance/maintenance.state.js +0 -55
- package/dist/mcp/elicitation.builder.d.ts +0 -53
- package/dist/mcp/elicitation.builder.js +0 -74
- package/dist/mcp/elicitation.dispatcher.d.ts +0 -36
- package/dist/mcp/elicitation.dispatcher.js +0 -86
- package/dist/mcp/mcp.authorization-policy.d.ts +0 -252
- package/dist/mcp/mcp.authorization-policy.js +0 -535
- package/dist/mcp/mcp.server.d.ts +0 -90
- package/dist/mcp/mcp.server.js +0 -631
- package/dist/negotiations/insight.generator.d.ts +0 -31
- package/dist/negotiations/insight.generator.js +0 -105
- package/dist/negotiations/negotiation.agent.d.ts +0 -130
- package/dist/negotiations/negotiation.agent.js +0 -396
- package/dist/negotiations/negotiation.answer-consumption.d.ts +0 -223
- package/dist/negotiations/negotiation.answer-consumption.js +0 -275
- package/dist/negotiations/negotiation.attribution.d.ts +0 -91
- package/dist/negotiations/negotiation.attribution.js +0 -109
- package/dist/negotiations/negotiation.candidates.d.ts +0 -83
- package/dist/negotiations/negotiation.candidates.js +0 -162
- package/dist/negotiations/negotiation.client-dm.d.ts +0 -50
- package/dist/negotiations/negotiation.client-dm.js +0 -66
- package/dist/negotiations/negotiation.consultation-policy.d.ts +0 -95
- package/dist/negotiations/negotiation.consultation-policy.js +0 -159
- package/dist/negotiations/negotiation.deadlock.contracts.d.ts +0 -10
- package/dist/negotiations/negotiation.deadlock.d.ts +0 -87
- package/dist/negotiations/negotiation.deadlock.js +0 -150
- package/dist/negotiations/negotiation.detail-reader.d.ts +0 -94
- package/dist/negotiations/negotiation.detail-reader.js +0 -91
- package/dist/negotiations/negotiation.expected-speaker.d.ts +0 -33
- package/dist/negotiations/negotiation.expected-speaker.js +0 -59
- package/dist/negotiations/negotiation.graph.d.ts +0 -694
- package/dist/negotiations/negotiation.graph.finalize.d.ts +0 -5
- package/dist/negotiations/negotiation.graph.finalize.js +0 -403
- package/dist/negotiations/negotiation.graph.init.d.ts +0 -54
- package/dist/negotiations/negotiation.graph.init.js +0 -256
- package/dist/negotiations/negotiation.graph.js +0 -94
- package/dist/negotiations/negotiation.graph.screen.d.ts +0 -23
- package/dist/negotiations/negotiation.graph.screen.js +0 -108
- package/dist/negotiations/negotiation.graph.shared.d.ts +0 -111
- package/dist/negotiations/negotiation.graph.shared.js +0 -168
- package/dist/negotiations/negotiation.graph.turn.d.ts +0 -134
- package/dist/negotiations/negotiation.graph.turn.js +0 -662
- package/dist/negotiations/negotiation.hermes-contract.d.ts +0 -31
- package/dist/negotiations/negotiation.hermes-contract.js +0 -72
- package/dist/negotiations/negotiation.intent-snapshot-provenance.d.ts +0 -21
- package/dist/negotiations/negotiation.intent-snapshot-provenance.js +0 -28
- package/dist/negotiations/negotiation.lifecycle-narration.d.ts +0 -18
- package/dist/negotiations/negotiation.lifecycle-narration.js +0 -87
- package/dist/negotiations/negotiation.memory.d.ts +0 -65
- package/dist/negotiations/negotiation.memory.js +0 -83
- package/dist/negotiations/negotiation.module.d.ts +0 -36
- package/dist/negotiations/negotiation.module.js +0 -23
- package/dist/negotiations/negotiation.protocol.d.ts +0 -1018
- package/dist/negotiations/negotiation.protocol.js +0 -224
- package/dist/negotiations/negotiation.question-safety.d.ts +0 -52
- package/dist/negotiations/negotiation.question-safety.js +0 -119
- package/dist/negotiations/negotiation.reflect.d.ts +0 -194
- package/dist/negotiations/negotiation.reflect.js +0 -145
- package/dist/negotiations/negotiation.scope.d.ts +0 -41
- package/dist/negotiations/negotiation.scope.js +0 -39
- package/dist/negotiations/negotiation.screen.contracts.d.ts +0 -88
- package/dist/negotiations/negotiation.screen.contracts.js +0 -58
- package/dist/negotiations/negotiation.screen.d.ts +0 -78
- package/dist/negotiations/negotiation.screen.js +0 -112
- package/dist/negotiations/negotiation.stall-gap.d.ts +0 -83
- package/dist/negotiations/negotiation.stall-gap.js +0 -152
- package/dist/negotiations/negotiation.stance.contracts.d.ts +0 -123
- package/dist/negotiations/negotiation.stance.contracts.js +0 -317
- package/dist/negotiations/negotiation.state.d.ts +0 -597
- package/dist/negotiations/negotiation.state.js +0 -286
- package/dist/negotiations/negotiation.summarizer.d.ts +0 -25
- package/dist/negotiations/negotiation.summarizer.js +0 -101
- package/dist/negotiations/negotiation.task-lock-policy.d.ts +0 -10
- package/dist/negotiations/negotiation.task-lock-policy.js +0 -22
- package/dist/negotiations/negotiation.tools.d.ts +0 -18
- package/dist/negotiations/negotiation.tools.js +0 -842
- package/dist/negotiations/negotiation.tools.port.d.ts +0 -17
- package/dist/negotiations/negotiation.turn-cap.d.ts +0 -9
- package/dist/negotiations/negotiation.turn-cap.js +0 -12
- package/dist/networks/indexer.state.js +0 -112
- package/dist/networks/network.tools.d.ts +0 -36
- package/dist/networks/network.tools.js +0 -594
- package/dist/opportunities/delivery-card.cache.d.ts +0 -25
- package/dist/opportunities/delivery-card.cache.js +0 -43
- package/dist/opportunities/discovery.env.d.ts +0 -20
- package/dist/opportunities/discovery.env.js +0 -109
- package/dist/opportunities/discriminator/discriminator.adjustments.d.ts +0 -90
- package/dist/opportunities/discriminator/discriminator.adjustments.js +0 -141
- package/dist/opportunities/discriminator/discriminator.assigner.d.ts +0 -78
- package/dist/opportunities/discriminator/discriminator.assigner.js +0 -153
- package/dist/opportunities/discriminator/discriminator.env.d.ts +0 -103
- package/dist/opportunities/discriminator/discriminator.env.js +0 -103
- package/dist/opportunities/discriminator/discriminator.miner.d.ts +0 -114
- package/dist/opportunities/discriminator/discriminator.miner.js +0 -228
- package/dist/opportunities/discriminator/discriminator.push.d.ts +0 -13
- package/dist/opportunities/discriminator/discriminator.push.js +0 -19
- package/dist/opportunities/discriminator/discriminator.question.d.ts +0 -58
- package/dist/opportunities/discriminator/discriminator.question.js +0 -155
- package/dist/opportunities/discriminator/discriminator.scorer.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.scorer.js +0 -105
- package/dist/opportunities/discriminator/discriminator.shadow.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.shadow.js +0 -90
- package/dist/opportunities/discriminator/discriminator.types.d.ts +0 -93
- package/dist/opportunities/discriminator/discriminator.types.js +0 -18
- package/dist/opportunities/negotiation-context.loader.d.ts +0 -59
- package/dist/opportunities/negotiation-context.loader.js +0 -90
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.d.ts +0 -43
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.js +0 -44
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -24
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.js +0 -188
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -26
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.js +0 -112
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -19
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.js +0 -61
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.d.ts +0 -191
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.js +0 -18
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -34
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.js +0 -91
- package/dist/opportunities/negotiation-summary.builder.d.ts +0 -37
- package/dist/opportunities/negotiation-summary.builder.js +0 -66
- package/dist/opportunities/opportunity.discovery-negotiation-summary.d.ts +0 -14
- package/dist/opportunities/opportunity.discovery-negotiation-summary.js +0 -46
- package/dist/opportunities/opportunity.enricher.d.ts +0 -71
- package/dist/opportunities/opportunity.enricher.js +0 -280
- package/dist/opportunities/opportunity.evaluator.d.ts +0 -289
- package/dist/opportunities/opportunity.evaluator.js +0 -516
- package/dist/opportunities/opportunity.evidence.d.ts +0 -22
- package/dist/opportunities/opportunity.evidence.js +0 -87
- package/dist/opportunities/opportunity.existing-negotiation.d.ts +0 -79
- package/dist/opportunities/opportunity.existing-negotiation.js +0 -118
- package/dist/opportunities/opportunity.feed-selection.js +0 -96
- package/dist/opportunities/opportunity.graph.d.ts +0 -1611
- package/dist/opportunities/opportunity.graph.discovery-strategies.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.discovery-strategies.js +0 -451
- package/dist/opportunities/opportunity.graph.discovery.d.ts +0 -69
- package/dist/opportunities/opportunity.graph.discovery.js +0 -397
- package/dist/opportunities/opportunity.graph.evaluation.d.ts +0 -82
- package/dist/opportunities/opportunity.graph.evaluation.js +0 -608
- package/dist/opportunities/opportunity.graph.js +0 -193
- package/dist/opportunities/opportunity.graph.modes.d.ts +0 -538
- package/dist/opportunities/opportunity.graph.modes.js +0 -538
- package/dist/opportunities/opportunity.graph.negotiate.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.negotiate.js +0 -392
- package/dist/opportunities/opportunity.graph.persist-node.d.ts +0 -93
- package/dist/opportunities/opportunity.graph.persist-node.js +0 -765
- package/dist/opportunities/opportunity.graph.prep.d.ts +0 -150
- package/dist/opportunities/opportunity.graph.prep.js +0 -381
- package/dist/opportunities/opportunity.graph.shared.d.ts +0 -173
- package/dist/opportunities/opportunity.graph.shared.js +0 -199
- package/dist/opportunities/opportunity.introducer-feature.d.ts +0 -2
- package/dist/opportunities/opportunity.introducer-feature.js +0 -4
- package/dist/opportunities/opportunity.introducer.d.ts +0 -77
- package/dist/opportunities/opportunity.introducer.js +0 -99
- package/dist/opportunities/opportunity.labels.js +0 -10
- package/dist/opportunities/opportunity.lifecycle.d.ts +0 -63
- package/dist/opportunities/opportunity.lifecycle.js +0 -181
- package/dist/opportunities/opportunity.module.d.ts +0 -54
- package/dist/opportunities/opportunity.module.js +0 -39
- package/dist/opportunities/opportunity.newborn-stamping.d.ts +0 -41
- package/dist/opportunities/opportunity.newborn-stamping.js +0 -81
- package/dist/opportunities/opportunity.owner-approval.d.ts +0 -118
- package/dist/opportunities/opportunity.owner-approval.js +0 -34
- package/dist/opportunities/opportunity.owner-provenance.d.ts +0 -6
- package/dist/opportunities/opportunity.owner-provenance.js +0 -28
- package/dist/opportunities/opportunity.persist.d.ts +0 -58
- package/dist/opportunities/opportunity.persist.js +0 -145
- package/dist/opportunities/opportunity.persistence-admission.d.ts +0 -39
- package/dist/opportunities/opportunity.persistence-admission.js +0 -59
- package/dist/opportunities/opportunity.state.d.ts +0 -451
- package/dist/opportunities/opportunity.state.js +0 -256
- package/dist/opportunities/opportunity.tools.cards.d.ts +0 -138
- package/dist/opportunities/opportunity.tools.cards.js +0 -212
- package/dist/opportunities/opportunity.tools.d.ts +0 -12
- package/dist/opportunities/opportunity.tools.js +0 -236
- package/dist/opportunities/opportunity.tools.list.d.ts +0 -10
- package/dist/opportunities/opportunity.tools.list.js +0 -489
- package/dist/opportunities/opportunity.tools.port.d.ts +0 -16
- package/dist/opportunities/opportunity.utils.d.ts +0 -217
- package/dist/opportunities/opportunity.utils.js +0 -395
- package/dist/opportunities/outcome/outcome.env.d.ts +0 -60
- package/dist/opportunities/outcome/outcome.env.js +0 -63
- package/dist/opportunities/outcome/outcome.hypotheses.d.ts +0 -29
- package/dist/opportunities/outcome/outcome.hypotheses.js +0 -117
- package/dist/opportunities/outcome/outcome.shadow.d.ts +0 -56
- package/dist/opportunities/outcome/outcome.shadow.js +0 -87
- package/dist/opportunities/outcome/outcome.types.d.ts +0 -110
- package/dist/opportunities/outcome/outcome.types.js +0 -26
- package/dist/opportunities/radar/radar.health.d.ts +0 -31
- package/dist/opportunities/radar/radar.health.js +0 -75
- package/dist/premises/premise.analyzer.d.ts +0 -35
- package/dist/premises/premise.analyzer.js +0 -115
- package/dist/premises/premise.decomposer.d.ts +0 -69
- package/dist/premises/premise.decomposer.js +0 -213
- package/dist/premises/premise.graph.d.ts +0 -345
- package/dist/premises/premise.graph.js +0 -278
- package/dist/premises/premise.indexer.d.ts +0 -35
- package/dist/premises/premise.indexer.js +0 -86
- package/dist/premises/premise.state.d.ts +0 -67
- package/dist/premises/premise.state.js +0 -94
- package/dist/premises/premise.tools.d.ts +0 -3
- package/dist/premises/premise.tools.js +0 -248
- package/dist/questions/question.env.d.ts +0 -27
- package/dist/questions/question.env.js +0 -27
- package/dist/questions/question.input.d.ts +0 -107
- package/dist/questions/question.module.d.ts +0 -30
- package/dist/questions/question.module.js +0 -28
- package/dist/questions/question.schema.d.ts +0 -1529
- package/dist/questions/question.schema.js +0 -420
- package/dist/shared/agent/activity-projection.d.ts +0 -271
- package/dist/shared/agent/activity-projection.js +0 -254
- package/dist/shared/agent/canonical-guidance.d.ts +0 -30
- package/dist/shared/agent/canonical-guidance.js +0 -246
- package/dist/shared/agent/model.resolver.d.ts +0 -48
- package/dist/shared/agent/tool.factory.d.ts +0 -17
- package/dist/shared/agent/tool.factory.js +0 -221
- package/dist/shared/agent/tool.helpers.d.ts +0 -482
- package/dist/shared/agent/tool.helpers.js +0 -232
- package/dist/shared/agent/tool.registry.d.ts +0 -25
- package/dist/shared/agent/tool.registry.js +0 -76
- package/dist/shared/agent/tool.runtime.d.ts +0 -28
- package/dist/shared/agent/tool.runtime.js +0 -194
- package/dist/shared/agent/tool.scope.d.ts +0 -44
- package/dist/shared/agent/tool.scope.js +0 -50
- package/dist/shared/agent/utility.tools.d.ts +0 -15
- package/dist/shared/agent/utility.tools.js +0 -322
- package/dist/shared/assignment/network-assignment.policy.d.ts +0 -61
- package/dist/shared/assignment/network-assignment.policy.js +0 -105
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +0 -100
- package/dist/shared/interfaces/agent-dispatcher.interface.js +0 -12
- package/dist/shared/interfaces/auth.interface.d.ts +0 -37
- package/dist/shared/interfaces/auth.interface.js +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -18
- package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
- package/dist/shared/interfaces/chat-session.interface.d.ts +0 -23
- package/dist/shared/interfaces/chat-session.interface.js +0 -18
- package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -16
- package/dist/shared/interfaces/chat-summary.interface.js +0 -1
- package/dist/shared/interfaces/database.capabilities.d.ts +0 -100
- package/dist/shared/interfaces/database.interface.d.ts +0 -16
- package/dist/shared/interfaces/database.member-queries.d.ts +0 -219
- package/dist/shared/interfaces/database.member-queries.js +0 -4
- package/dist/shared/interfaces/database.negotiation.d.ts +0 -329
- package/dist/shared/interfaces/database.negotiation.js +0 -26
- package/dist/shared/interfaces/database.network-queries.js +0 -4
- package/dist/shared/interfaces/database.opportunity-queries.js +0 -4
- package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -40
- package/dist/shared/interfaces/delivery-ledger.interface.js +0 -5
- package/dist/shared/interfaces/embedder.interface.d.ts +0 -92
- package/dist/shared/interfaces/embedder.interface.js +0 -4
- package/dist/shared/interfaces/enrichment-run.interface.d.ts +0 -62
- package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
- package/dist/shared/interfaces/enrichment.interface.js +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -77
- package/dist/shared/interfaces/negotiation-events.interface.js +0 -6
- package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -25
- package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -58
- package/dist/shared/interfaces/negotiator-memory.interface.js +0 -11
- package/dist/shared/interfaces/queue.interface.d.ts +0 -23
- package/dist/shared/interfaces/queue.interface.js +0 -4
- package/dist/shared/interfaces/scraper.interface.js +0 -1
- package/dist/shared/interfaces/tool-request-context.interface.d.ts +0 -11
- package/dist/shared/interfaces/tool-request-context.interface.js +0 -1
- package/dist/shared/observability/request-context.d.ts +0 -27
- package/dist/shared/observability/request-context.js +0 -6
- package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -87
- package/dist/shared/schemas/mcp-auth.schema.js +0 -56
- package/dist/shared/schemas/negotiation-digest.schema.d.ts +0 -58
- package/dist/shared/schemas/negotiation-digest.schema.js +0 -38
- package/dist/shared/schemas/negotiation-state.schema.d.ts +0 -343
- package/dist/shared/schemas/negotiation-state.schema.js +0 -81
- package/dist/shared/schemas/question-block.fixture.d.ts +0 -12
- package/dist/shared/schemas/question-block.fixture.js +0 -39
- package/dist/shared/schemas/question-block.schema.d.ts +0 -111
- package/dist/shared/schemas/question-block.schema.js +0 -124
- package/dist/shared/schemas/structured-question.schema.d.ts +0 -66
- package/dist/shared/schemas/structured-question.schema.js +0 -31
- package/dist/shared/schemas/underspecification.schema.d.ts +0 -13
- package/dist/shared/schemas/underspecification.schema.js +0 -16
- /package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.js +0 -0
- /package/dist/{opportunities → internal/opportunities}/radar/radar.state.js +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.js +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.js +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.js +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.js +0 -0
- /package/dist/{shared/interfaces/database.capabilities.js → platform/database/capabilities.js} +0 -0
- /package/dist/{shared/interfaces/database.entities.js → platform/database/entities.js} +0 -0
- /package/dist/{shared/interfaces/database.identity-queries.js → platform/database/identity-queries.js} +0 -0
- /package/dist/{agents/agent.dispatcher.port.js → platform/database/negotiation.js} +0 -0
- /package/dist/{chat/chat.persona.js → platform/database/opportunity-queries.js} +0 -0
- /package/dist/{contexts/context.tools.port.js → platform/discovery/embedder.js} +0 -0
- /package/dist/{shared/interfaces/scraper.interface.d.ts → platform/discovery/scraper.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.deadlock.contracts.js → platform/discovery/scraper.js} +0 -0
- /package/dist/{shared/interfaces/enrichment.interface.d.ts → platform/enrichment/ports.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.tools.port.js → platform/enrichment/ports.js} +0 -0
- /package/dist/{opportunities/opportunity.tools.port.js → platform/runtime/observability.js} +0 -0
- /package/dist/{questions/question.input.js → protocol/core.js} +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.d.ts +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.js +0 -0
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical guidance for Index Network protocol operations.
|
|
3
|
-
*
|
|
4
|
-
* This is the single normative source for:
|
|
5
|
-
* - Entity model and identity/context definitions
|
|
6
|
-
* - Premise, signal, community, network, and opportunity concepts
|
|
7
|
-
* - Negotiation semantics (owner approval vs A2A acceptance)
|
|
8
|
-
* - H2A and A2A collaboration (H2H is never exposed)
|
|
9
|
-
* - Retired vocabulary (no contact/Gmail/scrape/profile/ghost-user guidance)
|
|
10
|
-
*
|
|
11
|
-
* Wired into:
|
|
12
|
-
* - MCP_INSTRUCTIONS (packages/protocol/src/mcp/mcp.server.ts)
|
|
13
|
-
* - read_docs tool (packages/protocol/src/shared/agent/utility.tools.ts)
|
|
14
|
-
*
|
|
15
|
-
* IND-602, IND-603
|
|
16
|
-
*/
|
|
17
|
-
export const CANONICAL_GUIDANCE_TOPICS = [
|
|
18
|
-
"identity-context",
|
|
19
|
-
"premises",
|
|
20
|
-
"signals",
|
|
21
|
-
"communities-networks",
|
|
22
|
-
"opportunities",
|
|
23
|
-
"negotiations",
|
|
24
|
-
"workflows",
|
|
25
|
-
];
|
|
26
|
-
/**
|
|
27
|
-
* Summary of canonical entity model and protocol semantics.
|
|
28
|
-
* Used in MCP_INSTRUCTIONS and as read_docs summary across all surfaces.
|
|
29
|
-
* Never mentions retired contact/Gmail/scrape/profile/ghost-user guidance.
|
|
30
|
-
* Optimized to ~1900 chars to leave room for MCP_INSTRUCTIONS context budget.
|
|
31
|
-
*/
|
|
32
|
-
export const CANONICAL_GUIDANCE_SUMMARY = `# Index Network Protocol
|
|
33
|
-
|
|
34
|
-
Index Network is a private, intent-driven discovery protocol. Users express signals (intents), agents find matches within shared networks, and decisions proceed through clear gates.
|
|
35
|
-
|
|
36
|
-
## Core Concepts
|
|
37
|
-
|
|
38
|
-
**Identity & Context** — Account and presentation metadata plus scoped runtime state (networks, signals, stage).
|
|
39
|
-
|
|
40
|
-
**Premises** — Foundational facts: background, experience, stage, timeline, constraints.
|
|
41
|
-
|
|
42
|
-
**Signals** — What users seek (intents, opportunities). Drive semantic matching.
|
|
43
|
-
|
|
44
|
-
**Communities & Networks** — Private groups where members share signals and discover connections via shared membership.
|
|
45
|
-
|
|
46
|
-
**Opportunities** — Discovered matches between users. Lifecycle: draft → pending → accepted/rejected/expired.
|
|
47
|
-
|
|
48
|
-
**Negotiations** — Agents coordinate, users approve. **A2A acceptance is not owner approval.** These are separate gates.
|
|
49
|
-
|
|
50
|
-
**Workflows** — H2A (users express signals → agents discover) and A2A (agents coordinate) over MCP. Further escalation via native surfaces (human-to-human threads do not cross MCP).
|
|
51
|
-
|
|
52
|
-
## Canonical Topics
|
|
53
|
-
|
|
54
|
-
Refer to these for detailed entity facts and lifecycle:
|
|
55
|
-
|
|
56
|
-
- **identity-context** — Presentation identity, context scoping, matching inputs
|
|
57
|
-
- **premises** — Background, stage, constraints
|
|
58
|
-
- **signals** — Intent inference, classification
|
|
59
|
-
- **communities-networks** — Membership, auto-assign
|
|
60
|
-
- **opportunities** — Discovery, roles, reasoning
|
|
61
|
-
- **negotiations** — Owner approval vs A2A, acceptance gates
|
|
62
|
-
- **workflows** — H2A and A2A tool sequences`;
|
|
63
|
-
/**
|
|
64
|
-
* Detailed canonical topic content for read_docs.
|
|
65
|
-
* Indexed by topic name; each contains current entity, capability, and lifecycle facts.
|
|
66
|
-
*/
|
|
67
|
-
export const CANONICAL_GUIDANCE_TOPICS_CONTENT = {
|
|
68
|
-
"identity-context": `## Identity & Context
|
|
69
|
-
|
|
70
|
-
**Identity** is account and presentation metadata: name, bio, location, skills, interests, and social links. It identifies and presents the user; it does not provide a profile-vector matching corpus.
|
|
71
|
-
|
|
72
|
-
**Context** is scoped runtime state: network memberships, approved signals, lifecycle stage, and current opportunity or negotiation state. It determines the user's active scope and available workflow state.
|
|
73
|
-
|
|
74
|
-
### Matching Inputs
|
|
75
|
-
Matching uses approved signals, premises, shared network membership, and current opportunity or negotiation state. Premises supply the asserted background, constraints, and capabilities that ground relevant matches.
|
|
76
|
-
|
|
77
|
-
### Context Scoping
|
|
78
|
-
- Users can belong to multiple networks
|
|
79
|
-
- Each network has a scope (open to all members or invite-only)
|
|
80
|
-
- Matching is scoped to shared networks
|
|
81
|
-
|
|
82
|
-
### Key Distinction
|
|
83
|
-
Identity is account/presentation metadata. Context is dynamic, scoped runtime state for what the user is doing now.`,
|
|
84
|
-
premises: `## Premises
|
|
85
|
-
|
|
86
|
-
**Premise** is the foundational context that shapes what matches will be relevant: a user's background, experience level, location, timeline, stage of life, constraints, and what they can actually commit to.
|
|
87
|
-
|
|
88
|
-
### Premise Examples
|
|
89
|
-
- "I'm a junior developer with 2 years of Python experience"
|
|
90
|
-
- "I'm based in Berlin and can't relocate"
|
|
91
|
-
- "I'm looking to start a company but can only contribute part-time until March"
|
|
92
|
-
- "I've exited twice and have capital to invest"
|
|
93
|
-
|
|
94
|
-
### Why Premises Matter
|
|
95
|
-
Premises filter and prioritize candidates. Two opportunities with identical signal overlap will rank differently based on whose premises align. A senior engineer may look for "growing engineers" (premise: mentor/investor) vs "equal partners" (premise: cofounder).
|
|
96
|
-
|
|
97
|
-
### Expressing Premises
|
|
98
|
-
- In profile: bio section and skills/interests summarize professional premise
|
|
99
|
-
- In intents: the description should include stage, timeline, and constraints
|
|
100
|
-
- In context: shared network membership indicates domain interest
|
|
101
|
-
|
|
102
|
-
### Premise Inference
|
|
103
|
-
The system learns premises from:
|
|
104
|
-
- Explicit user input (bio, intent descriptions)
|
|
105
|
-
- Social enrichment (LinkedIn career history, GitHub project scale)
|
|
106
|
-
- Behavioral signals (intents created, networks joined)`,
|
|
107
|
-
signals: `## Signals
|
|
108
|
-
|
|
109
|
-
**Signal** is what a user is actively looking for — an intent, a need, a role they want to fill. Signals are the atoms of discovery.
|
|
110
|
-
|
|
111
|
-
### Signal Properties
|
|
112
|
-
- Description (free text: "Looking for a React developer for a 3-month contract in Berlin")
|
|
113
|
-
- Summary (structured extract: role, domain, stage, geography, duration)
|
|
114
|
-
- Confidence (0-1, how well the inference captured the user's intent)
|
|
115
|
-
- Inference type (explicit = user stated directly; implicit = system inferred)
|
|
116
|
-
- Embedding (semantic vector for matching)
|
|
117
|
-
|
|
118
|
-
### Signal vs Premise
|
|
119
|
-
- **Premise** is the user's foundational context ("I'm a senior engineer in Berlin")
|
|
120
|
-
- **Signal** is what they're seeking right now ("I'm looking for co-founders to start an AI company")
|
|
121
|
-
|
|
122
|
-
### Signal Lifecycle
|
|
123
|
-
1. User creates intent (explicit signal) or system infers from behavior (implicit)
|
|
124
|
-
2. Signal is embedded (converted to semantic vector)
|
|
125
|
-
3. Signal is assigned to networks (via auto-assign rules)
|
|
126
|
-
4. Signal participates in discovery (matched against other signals)
|
|
127
|
-
|
|
128
|
-
### Signal Best Practices
|
|
129
|
-
- Be specific: "Senior React developer, 3-month contract, Berlin" > "Need a developer"
|
|
130
|
-
- One signal per need: don't combine multiple requests
|
|
131
|
-
- Update signals when context changes (location, timeline, role requirements)`,
|
|
132
|
-
"communities-networks": `## Communities & Networks
|
|
133
|
-
|
|
134
|
-
**Network** (also called "community") is a private group where members share signals and discover connections. Each network has:
|
|
135
|
-
- Title and optional purpose prompt (describing what the network is for)
|
|
136
|
-
- Membership list (with permissions and auto-assign settings)
|
|
137
|
-
- Join policy (open to anyone or invite-only)
|
|
138
|
-
- Scope for discovery (opportunities are found within shared networks)
|
|
139
|
-
|
|
140
|
-
### Network Properties
|
|
141
|
-
- Purpose prompt: Used to evaluate whether new signals belong in this network (signals with high relevance are auto-assigned)
|
|
142
|
-
- Join policy: "anyone" (self-join) or "invite_only" (owner invites)
|
|
143
|
-
- Owner: Can update settings, add/remove members, delete network
|
|
144
|
-
- Auto-assign: Members can opt in/out of automatic signal assignment
|
|
145
|
-
|
|
146
|
-
### Network Scope for Discovery
|
|
147
|
-
- Opportunities are discovered only between members of shared networks
|
|
148
|
-
- If two users share network A but not B, discovery in A will find them
|
|
149
|
-
- Scoping discovery to a specific network (networkId parameter) narrows results to that community
|
|
150
|
-
|
|
151
|
-
### Community Membership
|
|
152
|
-
- Members see all signals in the network
|
|
153
|
-
- Members can create signals (intents) that are auto-evaluated for relevance to the network
|
|
154
|
-
- Members can discover within the network
|
|
155
|
-
- Permissions track member type (owner, member, contact)
|
|
156
|
-
|
|
157
|
-
### Key Constraint
|
|
158
|
-
Discovery is networked — it only finds matches within shared networks. This privacy boundary is fundamental.`,
|
|
159
|
-
opportunities: `## Opportunities
|
|
160
|
-
|
|
161
|
-
**Opportunity** is a discovered connection between two or more users based on complementary signals and shared network membership. Each opportunity has:
|
|
162
|
-
- Parties (the people being connected)
|
|
163
|
-
- Roles (introducer, party)
|
|
164
|
-
- Status (draft → pending → accepted/rejected/expired)
|
|
165
|
-
- Match reasoning (why they're a good fit)
|
|
166
|
-
- Confidence score (0-1 from evaluation)
|
|
167
|
-
|
|
168
|
-
### Opportunity Lifecycle
|
|
169
|
-
1. **Draft**: Created locally, only visible to creator. Offer to send.
|
|
170
|
-
2. **Pending**: Sent to recipient. They're notified and waiting.
|
|
171
|
-
3. **Accepted**: Recipient accepted. Both parties see the match.
|
|
172
|
-
4. **Rejected**: Recipient declined.
|
|
173
|
-
5. **Expired**: Timed out without response.
|
|
174
|
-
|
|
175
|
-
### Background Matching
|
|
176
|
-
Approved signals are evaluated in the background. Use list_opportunities only to review persisted cards; it does not start matching.
|
|
177
|
-
|
|
178
|
-
### Opportunity Evaluation
|
|
179
|
-
- Candidate retrieval: Uses HyDE embeddings to find semantically related signals
|
|
180
|
-
- LLM evaluation: Scores relevance, complementarity, and actionability
|
|
181
|
-
- Reasoning: Each opportunity includes match reasoning for the user
|
|
182
|
-
|
|
183
|
-
### Opportunity Acceptance
|
|
184
|
-
Accepting an opportunity expresses interest in the connection. Owner acceptance (explicit user confirmation) is required for any escalation.`,
|
|
185
|
-
negotiations: `## Negotiations
|
|
186
|
-
|
|
187
|
-
**Negotiation** is how agents and users coordinate to reach decisions about matches. Two distinct gates govern acceptance:
|
|
188
|
-
|
|
189
|
-
### Agent-to-Agent (A2A) Acceptance
|
|
190
|
-
When two agent services coordinate on behalf of their users, they may reach agreement that a match is worth pursuing. Agents veto, accept, or defer based on their user's context. This is A2A acceptance.
|
|
191
|
-
|
|
192
|
-
### Owner Approval (Human Confirmation)
|
|
193
|
-
When a human user explicitly confirms in conversation "Yes, I want to pursue this connection", that is owner approval. Owner approval is a separate, human-driven gate.
|
|
194
|
-
|
|
195
|
-
### Critical Rule
|
|
196
|
-
**A2A acceptance is not owner approval.** Agents can accept while humans have not yet approved. The system tracks these separately:
|
|
197
|
-
- A2A acceptance: Agents vetted the match and recommend it
|
|
198
|
-
- Owner approval: The human explicitly confirmed
|
|
199
|
-
|
|
200
|
-
These gates are independent. Do not conflate them.
|
|
201
|
-
|
|
202
|
-
### Negotiation Workflow
|
|
203
|
-
1. Discovery creates draft opportunity
|
|
204
|
-
2. A2A coordination (agents evaluate viability)
|
|
205
|
-
3. A2A acceptance (agents agree to propose)
|
|
206
|
-
4. Opportunity sent to recipient (pending)
|
|
207
|
-
5. Owner review (human reads match reasoning)
|
|
208
|
-
6. Owner approval (human confirms)
|
|
209
|
-
7. Escalation (via native surfaces, not MCP)
|
|
210
|
-
|
|
211
|
-
### Rules
|
|
212
|
-
- Track A2A and owner approval separately
|
|
213
|
-
- Never accept without explicit user approval
|
|
214
|
-
- Always surface reasoning to owner
|
|
215
|
-
- Human-to-human messaging is not MCP`,
|
|
216
|
-
workflows: `## Common Tool Workflows
|
|
217
|
-
|
|
218
|
-
### H2A: Human→Agent Discovery
|
|
219
|
-
User expresses signals (intents). Agent discovers matches and presents reasoning.
|
|
220
|
-
|
|
221
|
-
1. User creates intents (signals)
|
|
222
|
-
2. Background matching evaluates approved signals
|
|
223
|
-
3. Agent uses list_opportunities to surface persisted matches
|
|
224
|
-
4. User reviews and approves (owner approval)
|
|
225
|
-
5. Escalation via native surfaces
|
|
226
|
-
|
|
227
|
-
### A2A: Agent→Agent Coordination
|
|
228
|
-
Two agents coordinate on behalf of users to identify, vet, and propose matches.
|
|
229
|
-
|
|
230
|
-
1. Approved signals for User A are evaluated in the background
|
|
231
|
-
2. Agent B vets match from User B side (A2A negotiation)
|
|
232
|
-
3. Agents reach agreement (A2A acceptance)
|
|
233
|
-
4. Both agents present to users with shared reasoning
|
|
234
|
-
5. Both users approve (owner approval required)
|
|
235
|
-
6. Escalation via native surfaces
|
|
236
|
-
|
|
237
|
-
### MCP Scope
|
|
238
|
-
The MCP protocol carries H2A and A2A workflows only. Escalation to direct messaging (web, Telegram, native surfaces) is outside MCP.
|
|
239
|
-
|
|
240
|
-
### Best Practices
|
|
241
|
-
- Call read_docs to understand the domain
|
|
242
|
-
- Create or refine approved signals in relevant shared networks; list_opportunities reviews persisted results
|
|
243
|
-
- Present matches and reasoning to users
|
|
244
|
-
- Get explicit owner approval before any commitment
|
|
245
|
-
- Escalation to direct messaging is not MCP`,
|
|
246
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
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-2.5-flash";
|
|
10
|
-
readonly intentIndexer: "google/gemini-2.5-flash";
|
|
11
|
-
readonly intentVerifier: "google/gemini-2.5-flash";
|
|
12
|
-
readonly intentReconciler: "google/gemini-2.5-flash";
|
|
13
|
-
readonly intentClarifier: "google/gemini-2.5-flash";
|
|
14
|
-
readonly profileGenerator: "google/gemini-2.5-flash";
|
|
15
|
-
readonly hydeGenerator: "google/gemini-2.5-flash";
|
|
16
|
-
readonly hydeValidator: "google/gemini-2.5-flash";
|
|
17
|
-
readonly lensInferrer: "google/gemini-2.5-flash";
|
|
18
|
-
readonly opportunityEvaluator: "google/gemini-2.5-flash";
|
|
19
|
-
readonly opportunityPresenter: "google/gemini-2.5-flash";
|
|
20
|
-
readonly negotiator: "google/gemini-2.5-flash";
|
|
21
|
-
readonly negotiationScreener: "google/gemini-2.5-flash";
|
|
22
|
-
readonly negotiationReflector: "google/gemini-2.5-flash";
|
|
23
|
-
readonly homeCategorizer: "google/gemini-2.5-flash";
|
|
24
|
-
readonly suggestionGenerator: "google/gemini-2.5-flash";
|
|
25
|
-
readonly chatTitleGenerator: "google/gemini-2.5-flash";
|
|
26
|
-
readonly negotiationInsights: "google/gemini-2.5-flash";
|
|
27
|
-
readonly chatContextSummarizer: "google/gemini-2.5-flash";
|
|
28
|
-
readonly questioner: "google/gemini-2.5-flash";
|
|
29
|
-
readonly signalIntakePack: "google/gemini-2.5-flash";
|
|
30
|
-
readonly negotiationSummarizer: "google/gemini-2.5-flash";
|
|
31
|
-
readonly poolDiscriminatorMiner: "google/gemini-2.5-flash";
|
|
32
|
-
readonly poolDiscriminatorAssigner: "google/gemini-2.5-flash";
|
|
33
|
-
readonly negotiationEvidenceMiner: "google/gemini-2.5-flash";
|
|
34
|
-
readonly inviteGenerator: "google/gemini-2.5-flash";
|
|
35
|
-
readonly premiseAnalyzer: "google/gemini-2.5-flash";
|
|
36
|
-
readonly premiseDecomposer: "google/gemini-2.5-flash";
|
|
37
|
-
readonly premiseIndexer: "google/gemini-2.5-flash";
|
|
38
|
-
readonly userContextGenerator: "google/gemini-2.5-flash";
|
|
39
|
-
readonly networkRecommender: "google/gemini-2.5-flash";
|
|
40
|
-
readonly interruptClassifier: "google/gemini-2.5-flash";
|
|
41
|
-
readonly chat: "google/gemini-3-pro-preview";
|
|
42
|
-
}>;
|
|
43
|
-
export type CanonicalModelAgent = keyof typeof CANONICAL_AGENT_MODEL_DEFAULTS;
|
|
44
|
-
export type CanonicalAllAgentModels = Readonly<Record<CanonicalModelAgent, string>>;
|
|
45
|
-
export declare const CANONICAL_MODEL_AGENTS: readonly ("intentInferrer" | "intentIndexer" | "intentVerifier" | "intentReconciler" | "intentClarifier" | "profileGenerator" | "hydeGenerator" | "hydeValidator" | "lensInferrer" | "opportunityEvaluator" | "opportunityPresenter" | "negotiator" | "negotiationScreener" | "negotiationReflector" | "homeCategorizer" | "suggestionGenerator" | "chatTitleGenerator" | "negotiationInsights" | "chatContextSummarizer" | "questioner" | "signalIntakePack" | "negotiationSummarizer" | "poolDiscriminatorMiner" | "poolDiscriminatorAssigner" | "negotiationEvidenceMiner" | "inviteGenerator" | "premiseAnalyzer" | "premiseDecomposer" | "premiseIndexer" | "userContextGenerator" | "networkRecommender" | "interruptClassifier" | "chat")[];
|
|
46
|
-
export declare function resolveCanonicalAllAgentModels(environment: Readonly<Record<string, string | undefined>>, options?: {
|
|
47
|
-
applyEvalOverrides?: boolean;
|
|
48
|
-
}): CanonicalAllAgentModels;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type ToolContext, type ResolvedToolContext } from "./tool.helpers.js";
|
|
2
|
-
import type { OpportunityOwnerApprovalDeps } from "../../opportunities/opportunity.tools.port.js";
|
|
3
|
-
export type { ToolContext, ResolvedToolContext, ProtocolDeps } from "./tool.helpers.js";
|
|
4
|
-
export type { ToolDeps } from "./tool.helpers.js";
|
|
5
|
-
/**
|
|
6
|
-
* Creates all chat tools bound to a specific user context.
|
|
7
|
-
* Resolves user/network identity from DB at init time.
|
|
8
|
-
* Tools are created fresh for each user session to ensure proper isolation.
|
|
9
|
-
*
|
|
10
|
-
* All external dependencies (cache, integration, queue, etc.) are provided
|
|
11
|
-
* via the `deps` parameter — the protocol lib never imports concrete adapters.
|
|
12
|
-
*/
|
|
13
|
-
export declare function createChatTools(deps: ToolContext & OpportunityOwnerApprovalDeps, preResolvedContext?: ResolvedToolContext): Promise<any[]>;
|
|
14
|
-
/**
|
|
15
|
-
* Type for the tools array returned by createChatTools.
|
|
16
|
-
*/
|
|
17
|
-
export type ChatTools = Awaited<ReturnType<typeof createChatTools>>;
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { tool } from "@langchain/core/tools";
|
|
2
|
-
import { Intents } from "../../intents/intent.module.js";
|
|
3
|
-
import { EnrichmentGraphFactory } from "../../enrichment/enrichment.graph.js";
|
|
4
|
-
import { OpportunityGraphFactory } from "../../opportunities/opportunity.module.js";
|
|
5
|
-
import { HydeGraphFactory } from "../../discovery/hyde.graph.js";
|
|
6
|
-
import { HydeGenerator } from "../../discovery/hyde.generator.js";
|
|
7
|
-
import { LensInferrer } from "../../discovery/lens.inferrer.js";
|
|
8
|
-
import { Networks } from "../../networks/network.module.js";
|
|
9
|
-
import { NegotiationGraphFactory } from "../../negotiations/negotiation.module.js";
|
|
10
|
-
import { PremiseGraphFactory } from "../../premises/premise.graph.js";
|
|
11
|
-
import { protocolLogger } from "../observability/protocol.logger.js";
|
|
12
|
-
import { resolveChatContext, error, redactSensitiveFields } from "./tool.helpers.js";
|
|
13
|
-
import { deriveAllowedNetworkIds, focusedIntentId, scopeFromNetworkId } from "./tool.scope.js";
|
|
14
|
-
import { invokeToolRuntime, toolRuntimeErrorToResult } from "./tool.runtime.js";
|
|
15
|
-
import { createEnrichmentTools } from "../../enrichment/enrichment.tools.js";
|
|
16
|
-
import { createOpportunityTools } from "../../opportunities/opportunity.module.js";
|
|
17
|
-
import { createUtilityTools } from "./utility.tools.js";
|
|
18
|
-
import { createContactTools } from "../../contacts/contact.module.js";
|
|
19
|
-
// The composition root reaches the leaf directly (it is exempt from the barrel
|
|
20
|
-
// rule by design): importing agents/agent.module.js here would pull in the
|
|
21
|
-
// chat personas, which import this module back -- a runtime cycle.
|
|
22
|
-
import { createAgentTools } from "../../agents/agent.tools.js";
|
|
23
|
-
import { createNegotiationTools } from "../../negotiations/negotiation.module.js";
|
|
24
|
-
import { createPremiseTools } from "../../premises/premise.tools.js";
|
|
25
|
-
import { bindOwnerApprovalProvenance } from "../../opportunities/opportunity.owner-provenance.js";
|
|
26
|
-
const logger = protocolLogger("ChatTools");
|
|
27
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
28
|
-
// TOOL FACTORY
|
|
29
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
30
|
-
/**
|
|
31
|
-
* Creates all chat tools bound to a specific user context.
|
|
32
|
-
* Resolves user/network identity from DB at init time.
|
|
33
|
-
* Tools are created fresh for each user session to ensure proper isolation.
|
|
34
|
-
*
|
|
35
|
-
* All external dependencies (cache, integration, queue, etc.) are provided
|
|
36
|
-
* via the `deps` parameter — the protocol lib never imports concrete adapters.
|
|
37
|
-
*/
|
|
38
|
-
export async function createChatTools(deps, preResolvedContext) {
|
|
39
|
-
const { database, embedder, scraper } = deps;
|
|
40
|
-
const explicitScope = deps.scopeType && deps.scopeId
|
|
41
|
-
? { scopeType: deps.scopeType, scopeId: deps.scopeId }
|
|
42
|
-
: scopeFromNetworkId(deps.networkId);
|
|
43
|
-
// ─── Resolve context from DB ───────────────────────────────────────────────
|
|
44
|
-
// resolveChatContext still accepts a networkId because it loads scoped index
|
|
45
|
-
// presentation metadata; the canonical request scope is explicitScope.
|
|
46
|
-
const resolvedContext = preResolvedContext ??
|
|
47
|
-
(await resolveChatContext({
|
|
48
|
-
database,
|
|
49
|
-
userId: deps.userId,
|
|
50
|
-
networkId: explicitScope.scopeType === 'network' ? explicitScope.scopeId : deps.networkId,
|
|
51
|
-
sessionId: deps.sessionId,
|
|
52
|
-
}));
|
|
53
|
-
if (!preResolvedContext && explicitScope.scopeType && explicitScope.scopeId) {
|
|
54
|
-
resolvedContext.scopeType = explicitScope.scopeType;
|
|
55
|
-
resolvedContext.scopeId = explicitScope.scopeId;
|
|
56
|
-
}
|
|
57
|
-
// This factory is an orchestrated chat surface, never a direct owner request.
|
|
58
|
-
// Bind that fact at composition time rather than inferring it from a session
|
|
59
|
-
// id or a caller-controlled tool argument inside the opportunity handler.
|
|
60
|
-
bindOwnerApprovalProvenance(resolvedContext, {
|
|
61
|
-
surface: 'chat',
|
|
62
|
-
sessionAuthenticated: false,
|
|
63
|
-
});
|
|
64
|
-
const allowedNetworkIds = deriveAllowedNetworkIds({
|
|
65
|
-
memberships: resolvedContext.userNetworks,
|
|
66
|
-
...(resolvedContext.scopeType && resolvedContext.scopeId
|
|
67
|
-
? { scopeType: resolvedContext.scopeType, scopeId: resolvedContext.scopeId }
|
|
68
|
-
: {}),
|
|
69
|
-
});
|
|
70
|
-
// ─── Tool wrapper ──────────────────────────────────────────────────────────
|
|
71
|
-
/**
|
|
72
|
-
* Standardized tool factory. Auto-injects resolved context and
|
|
73
|
-
* provides uniform logging / error handling for every tool.
|
|
74
|
-
*/
|
|
75
|
-
function defineTool(opts) {
|
|
76
|
-
return tool(async (query) => {
|
|
77
|
-
logger.info('Tool invoked', {
|
|
78
|
-
toolName: opts.name,
|
|
79
|
-
context: { userId: resolvedContext.userId, scopeType: resolvedContext.scopeType, scopeId: resolvedContext.scopeId },
|
|
80
|
-
query: redactSensitiveFields(query),
|
|
81
|
-
});
|
|
82
|
-
try {
|
|
83
|
-
return await invokeToolRuntime({
|
|
84
|
-
toolName: opts.name,
|
|
85
|
-
tool: { handler: async ({ context, query }) => opts.handler({ context, query: query }) },
|
|
86
|
-
context: resolvedContext,
|
|
87
|
-
query,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
logger.error('Tool failed', {
|
|
92
|
-
toolName: opts.name,
|
|
93
|
-
error: err instanceof Error ? err.message : String(err),
|
|
94
|
-
});
|
|
95
|
-
const runtimeResult = toolRuntimeErrorToResult(err);
|
|
96
|
-
if (runtimeResult)
|
|
97
|
-
return runtimeResult;
|
|
98
|
-
const reason = err instanceof Error ? err.message : String(err);
|
|
99
|
-
return error(`Failed to execute ${opts.name}: ${reason}`);
|
|
100
|
-
}
|
|
101
|
-
}, { name: opts.name, description: opts.description, schema: opts.querySchema });
|
|
102
|
-
}
|
|
103
|
-
// ─── Compile subgraphs ─────────────────────────────────────────────────────
|
|
104
|
-
// Wrap questionerEnqueue to include scoped context when available. (The
|
|
105
|
-
// chat-session conversationId defaulting went with the retired chat-mode
|
|
106
|
-
// generator; park payloads carry their own recipient routing.)
|
|
107
|
-
const sessionAwareEnqueue = deps.questionerEnqueue
|
|
108
|
-
? (input) => deps.questionerEnqueue({
|
|
109
|
-
...input,
|
|
110
|
-
...(resolvedContext.scopeType && resolvedContext.scopeId && !input.scopeId
|
|
111
|
-
? { scopeType: resolvedContext.scopeType, scopeId: resolvedContext.scopeId }
|
|
112
|
-
: {}),
|
|
113
|
-
})
|
|
114
|
-
: undefined;
|
|
115
|
-
const intents = new Intents({
|
|
116
|
-
database,
|
|
117
|
-
embedder,
|
|
118
|
-
queue: deps.intentQueue,
|
|
119
|
-
});
|
|
120
|
-
const intentGraph = intents.createGraph();
|
|
121
|
-
const premiseGraph = new PremiseGraphFactory(database, embedder).createGraph();
|
|
122
|
-
const profileGraph = new EnrichmentGraphFactory(database, scraper, deps.enricher, premiseGraph).createGraph();
|
|
123
|
-
const hydeCache = deps.hydeCache;
|
|
124
|
-
const lensInferrer = new LensInferrer();
|
|
125
|
-
const hydeGenerator = new HydeGenerator();
|
|
126
|
-
const compiledHydeGraph = new HydeGraphFactory(database, embedder, hydeCache, lensInferrer, hydeGenerator).createGraph();
|
|
127
|
-
const negotiationGraph = deps.agentDispatcher
|
|
128
|
-
? new NegotiationGraphFactory(deps.negotiationDatabase, deps.agentDispatcher, deps.negotiationTimeoutQueue, sessionAwareEnqueue).createGraph()
|
|
129
|
-
: undefined;
|
|
130
|
-
const opportunityGraph = new OpportunityGraphFactory(database, embedder, compiledHydeGraph, undefined, // evaluator (default)
|
|
131
|
-
undefined, // queueNotification
|
|
132
|
-
negotiationGraph, deps.agentDispatcher, deps.queueNegotiateExisting, deps.stampNewbornOpportunities).createGraph();
|
|
133
|
-
const networks = new Networks({ database, indexer: intents });
|
|
134
|
-
const networkGraph = networks.createGraph();
|
|
135
|
-
const networkMembershipGraph = networks.createMembershipGraph();
|
|
136
|
-
const intentNetworkGraph = networks.createAssignmentGraph();
|
|
137
|
-
// ─── Create context-bound databases ────────────────────────────────────────
|
|
138
|
-
// Use injected instances when provided (e.g. tests). Otherwise create from the same
|
|
139
|
-
// database used for graphs so that scope checks (e.g. ensureScopedMembership, opportunity
|
|
140
|
-
// update) use the same adapter as the rest of the tool pipeline.
|
|
141
|
-
//
|
|
142
|
-
// The systemDb's DB-level clamp derives concrete allowed network IDs from the
|
|
143
|
-
// focused scope envelope plus memberships, rather than consuming a transported
|
|
144
|
-
// legacy indexScope array.
|
|
145
|
-
const userDb = deps.userDb ?? deps.createUserDatabase(database, resolvedContext.userId);
|
|
146
|
-
const systemDb = deps.systemDb ?? deps.createSystemDatabase(database, resolvedContext.userId, allowedNetworkIds, embedder);
|
|
147
|
-
// ─── Assemble dependencies ─────────────────────────────────────────────────
|
|
148
|
-
const cache = deps.cache;
|
|
149
|
-
const toolDeps = {
|
|
150
|
-
database,
|
|
151
|
-
userDb,
|
|
152
|
-
systemDb,
|
|
153
|
-
scraper,
|
|
154
|
-
embedder,
|
|
155
|
-
cache,
|
|
156
|
-
contactService: deps.contactService,
|
|
157
|
-
enricher: deps.enricher,
|
|
158
|
-
negotiationDatabase: deps.negotiationDatabase,
|
|
159
|
-
negotiationTimeoutQueue: deps.negotiationTimeoutQueue,
|
|
160
|
-
agentDatabase: deps.agentDatabase,
|
|
161
|
-
grantDefaultSystemPermissions: deps.grantDefaultSystemPermissions,
|
|
162
|
-
agentDispatcher: deps.agentDispatcher,
|
|
163
|
-
stampNewbornOpportunities: deps.stampNewbornOpportunities,
|
|
164
|
-
deliveryLedger: deps.deliveryLedger,
|
|
165
|
-
...(deps.opportunityOwnerApproval && { opportunityOwnerApproval: deps.opportunityOwnerApproval }),
|
|
166
|
-
enrichmentRuns: deps.enrichmentRuns,
|
|
167
|
-
enrichmentRunQueue: deps.enrichmentRunQueue,
|
|
168
|
-
frontendUrl: deps.frontendUrl,
|
|
169
|
-
apiBaseUrl: deps.apiBaseUrl,
|
|
170
|
-
...(deps.chatSummary && { chatSummary: deps.chatSummary }),
|
|
171
|
-
...(sessionAwareEnqueue && { questionerEnqueue: sessionAwareEnqueue }),
|
|
172
|
-
...(deps.negotiationSummary && { negotiationSummary: deps.negotiationSummary }),
|
|
173
|
-
...(deps.chatSession && { chatSession: deps.chatSession }),
|
|
174
|
-
...(deps.getUserContextText && { getUserContextText: deps.getUserContextText }),
|
|
175
|
-
...(deps.intentProposalStore && { intentProposalStore: deps.intentProposalStore }),
|
|
176
|
-
graphs: {
|
|
177
|
-
profile: profileGraph,
|
|
178
|
-
intent: intentGraph,
|
|
179
|
-
index: networkGraph,
|
|
180
|
-
networkMembership: networkMembershipGraph,
|
|
181
|
-
intentIndex: intentNetworkGraph,
|
|
182
|
-
opportunity: opportunityGraph,
|
|
183
|
-
premise: premiseGraph,
|
|
184
|
-
},
|
|
185
|
-
};
|
|
186
|
-
// ─── Create domain tools ──────────────────────────────────────────────────
|
|
187
|
-
const profileTools = createEnrichmentTools(defineTool, toolDeps);
|
|
188
|
-
const intentTools = Intents.createTools(defineTool, toolDeps);
|
|
189
|
-
// An intent-scoped conversation exists to refine its selected signal. Keep
|
|
190
|
-
// creation out of the model-visible registry; the update handler separately
|
|
191
|
-
// clamps writes to the exact scoped intent as a runtime backstop.
|
|
192
|
-
const intentToolsForChat = focusedIntentId(resolvedContext)
|
|
193
|
-
? intentTools.filter((candidate) => candidate.name !== "create_intent")
|
|
194
|
-
: intentTools;
|
|
195
|
-
const networkTools = Networks.createTools(defineTool, toolDeps);
|
|
196
|
-
const opportunityTools = createOpportunityTools(defineTool, toolDeps);
|
|
197
|
-
const utilityTools = createUtilityTools(defineTool, toolDeps);
|
|
198
|
-
const contactTools = createContactTools(defineTool, toolDeps);
|
|
199
|
-
const agentTools = createAgentTools(defineTool, toolDeps);
|
|
200
|
-
const negotiationTools = deps.agentDispatcher
|
|
201
|
-
? createNegotiationTools(defineTool, toolDeps)
|
|
202
|
-
: [];
|
|
203
|
-
const premiseTools = createPremiseTools(defineTool, toolDeps);
|
|
204
|
-
// confirm_opportunity_delivery is an OpenClaw-delivery ledger write and must not be
|
|
205
|
-
// callable from regular chat sessions.
|
|
206
|
-
const chatOpportunityToolExclusions = new Set([
|
|
207
|
-
"confirm_opportunity_delivery",
|
|
208
|
-
]);
|
|
209
|
-
const opportunityToolsForChat = opportunityTools.filter((t) => !chatOpportunityToolExclusions.has(t.name));
|
|
210
|
-
return [
|
|
211
|
-
...profileTools,
|
|
212
|
-
...intentToolsForChat,
|
|
213
|
-
...networkTools,
|
|
214
|
-
...opportunityToolsForChat,
|
|
215
|
-
...utilityTools,
|
|
216
|
-
...contactTools,
|
|
217
|
-
...agentTools,
|
|
218
|
-
...negotiationTools,
|
|
219
|
-
...premiseTools,
|
|
220
|
-
];
|
|
221
|
-
}
|