@indexnetwork/protocol 22.0.0-rc.498.1 → 64.0.0-rc.604.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1841 -0
- package/IMPLEMENTATION.md +140 -181
- package/README.md +16 -20
- package/STABILITY.md +16 -11
- package/dist/{intents/intent.module.d.ts → capabilities/intents.d.ts} +182 -192
- package/dist/capabilities/intents.js +88 -0
- package/dist/capabilities/negotiations.d.ts +17 -0
- package/dist/capabilities/negotiations.js +16 -0
- package/dist/{networks/network.module.d.ts → capabilities/networks.d.ts} +33 -169
- package/dist/{networks/network.module.js → capabilities/networks.js} +6 -17
- package/dist/index.d.ts +57 -132
- package/dist/index.js +41 -100
- package/dist/internal/agents/agent.repository.port.d.ts +59 -0
- package/dist/internal/agents/agent.repository.port.js +7 -0
- package/dist/internal/agents/agent.types.d.ts +35 -0
- package/dist/{agents → internal/agents}/agent.types.js +1 -6
- package/dist/{intents → internal/intents}/graph/intent.graph.d.ts +142 -151
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.d.ts +5 -1
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.js +165 -46
- package/dist/internal/intents/graph/intent.graph.infer.d.ts +78 -0
- package/dist/internal/intents/graph/intent.graph.infer.js +122 -0
- package/dist/internal/intents/graph/intent.graph.js +108 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.reconcile.d.ts +18 -9
- package/dist/internal/intents/graph/intent.graph.reconcile.js +173 -0
- package/dist/internal/intents/graph/intent.graph.shared.d.ts +55 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.shared.js +25 -70
- package/dist/{intents → internal/intents}/graph/intent.graph.state.d.ts +96 -32
- package/dist/{intents → internal/intents}/graph/intent.graph.state.js +42 -31
- package/dist/internal/intents/intent.admission.d.ts +16 -0
- package/dist/internal/intents/intent.admission.js +30 -0
- package/dist/{intents → internal/intents}/intent.inferrer.d.ts +1 -40
- package/dist/{intents → internal/intents}/intent.inferrer.js +13 -49
- package/dist/internal/intents/intent.preparer.d.ts +52 -0
- package/dist/internal/intents/intent.preparer.js +87 -0
- package/dist/{intents → internal/intents}/intent.verifier.d.ts +3 -36
- package/dist/{intents → internal/intents}/intent.verifier.js +0 -17
- package/dist/{networks → internal/networks}/indexer.graph.d.ts +15 -200
- package/dist/{networks → internal/networks}/indexer.graph.js +19 -128
- package/dist/{networks → internal/networks}/indexer.state.d.ts +8 -63
- package/dist/internal/networks/indexer.state.js +70 -0
- package/dist/{networks → internal/networks}/membership.graph.d.ts +6 -6
- package/dist/{networks → internal/networks}/membership.graph.js +3 -3
- package/dist/{networks → internal/networks}/membership.state.d.ts +2 -2
- package/dist/{networks → internal/networks}/membership.state.js +2 -2
- package/dist/{networks → internal/networks}/network.graph.d.ts +9 -22
- package/dist/{networks → internal/networks}/network.graph.js +13 -27
- package/dist/{networks → internal/networks}/network.recommender.d.ts +2 -2
- package/dist/{networks → internal/networks}/network.recommender.js +2 -2
- package/dist/{networks → internal/networks}/network.state.d.ts +4 -7
- package/dist/{networks → internal/networks}/network.state.js +4 -4
- package/dist/internal/opportunities/negotiation-context.loader.d.ts +26 -0
- package/dist/internal/opportunities/negotiation-context.loader.js +36 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.d.ts +1 -1
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.js +7 -1
- package/dist/internal/opportunities/opportunity.counterparties.d.ts +17 -0
- package/dist/internal/opportunities/opportunity.counterparties.js +19 -0
- package/dist/internal/opportunities/opportunity.events.d.ts +38 -0
- package/dist/internal/opportunities/opportunity.events.js +94 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.feed-selection.d.ts +3 -9
- package/dist/internal/opportunities/opportunity.feed-selection.js +40 -0
- package/dist/internal/opportunities/opportunity.graph.modes.d.ts +39 -0
- package/dist/internal/opportunities/opportunity.graph.modes.js +138 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.labels.d.ts +2 -3
- package/dist/internal/opportunities/opportunity.labels.js +9 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.d.ts +17 -86
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.js +54 -447
- package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.d.ts +2 -2
- package/dist/internal/opportunities/opportunity.utils.d.ts +105 -0
- package/dist/internal/opportunities/opportunity.utils.js +165 -0
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.d.ts +17 -17
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.js +41 -161
- package/dist/{opportunities → internal/opportunities}/radar/radar.state.d.ts +4 -11
- package/dist/{shared → internal/shared}/agent/model-signal.d.ts +1 -1
- package/dist/{shared → internal/shared}/agent/model-signal.js +1 -1
- package/dist/{shared → internal/shared}/agent/model.config.d.ts +28 -86
- package/dist/{shared → internal/shared}/agent/model.config.js +58 -69
- package/dist/internal/shared/agent/model.resolver.d.ts +33 -0
- package/dist/{shared → internal/shared}/agent/model.resolver.js +18 -33
- package/dist/internal/shared/agent/scope.d.ts +20 -0
- package/dist/internal/shared/agent/scope.js +24 -0
- package/dist/internal/shared/assignment/network-assignment.policy.d.ts +23 -0
- package/dist/internal/shared/assignment/network-assignment.policy.js +28 -0
- package/dist/{shared → internal/shared}/observability/log.d.ts +3 -6
- package/dist/{shared → internal/shared}/observability/log.js +9 -18
- package/dist/{shared → internal/shared}/observability/protocol.logger.d.ts +1 -1
- package/dist/{shared → internal/shared}/observability/protocol.logger.js +1 -1
- package/dist/internal/shared/observability/request-context.d.ts +29 -0
- package/dist/internal/shared/observability/request-context.js +17 -0
- package/dist/{shared → internal/shared}/utils/social-label.d.ts +2 -2
- package/dist/{shared → internal/shared}/utils/social-label.js +1 -1
- package/dist/platform/database/capabilities.d.ts +59 -0
- package/dist/{shared/interfaces/database.entities.d.ts → platform/database/entities.d.ts} +81 -121
- package/dist/{shared/interfaces/database.identity-queries.d.ts → platform/database/identity-queries.d.ts} +55 -20
- package/dist/platform/database/member-queries.d.ts +55 -0
- package/dist/platform/database/member-queries.js +4 -0
- package/dist/platform/database/negotiation.d.ts +38 -0
- package/dist/{shared/interfaces/database.network-queries.d.ts → platform/database/network-queries.d.ts} +66 -67
- package/dist/platform/database/network-queries.js +4 -0
- package/dist/{shared/interfaces/database.opportunity-queries.d.ts → platform/database/opportunity-queries.d.ts} +25 -109
- package/dist/{shared/interfaces/database.port.d.ts → platform/database/port.d.ts} +52 -117
- package/dist/{shared/interfaces/database.port.js → platform/database/port.js} +3 -5
- package/dist/platform/database.d.ts +23 -0
- package/dist/{shared/interfaces/database.interface.js → platform/database.js} +1 -1
- package/dist/{shared/interfaces/cache.interface.d.ts → platform/discovery/cache.d.ts} +2 -4
- package/dist/{shared/interfaces/cache.interface.js → platform/discovery/cache.js} +1 -1
- package/dist/platform/discovery/embedder.d.ts +31 -0
- package/dist/platform/runtime/errors.d.ts +6 -0
- package/dist/platform/runtime/errors.js +9 -0
- package/dist/platform/runtime/follow-up.d.ts +36 -0
- package/dist/platform/runtime/follow-up.js +4 -0
- package/dist/platform/runtime/observability.d.ts +34 -0
- package/dist/protocol/core.d.ts +11 -0
- package/dist/protocol/discovery.rules.d.ts +21 -0
- package/dist/protocol/discovery.rules.js +29 -0
- package/dist/protocol/negotiation.constants.d.ts +3 -0
- package/dist/protocol/negotiation.constants.js +3 -0
- package/dist/protocol/negotiation.rules.d.ts +73 -0
- package/dist/protocol/negotiation.rules.js +68 -0
- package/dist/protocol/protocol.prompt.d.ts +13 -0
- package/dist/protocol/protocol.prompt.js +190 -0
- package/dist/{shared → protocol}/schemas/discovery-question.schema.d.ts +13 -13
- package/dist/{shared → protocol}/schemas/discovery-question.schema.js +2 -2
- package/dist/{shared → protocol}/schemas/identity.schema.d.ts +4 -4
- package/dist/{shared → protocol}/schemas/identity.schema.js +4 -4
- package/dist/{shared → protocol}/schemas/network-assignment.schema.d.ts +11 -20
- package/dist/{shared → protocol}/schemas/network-assignment.schema.js +2 -9
- package/dist/protocol/schemas/underspecification.schema.d.ts +9 -0
- package/dist/protocol/schemas/underspecification.schema.js +12 -0
- package/package.json +7 -15
- package/dist/agents/agent.dispatcher.port.d.ts +0 -25
- package/dist/agents/agent.module.d.ts +0 -19
- package/dist/agents/agent.module.js +0 -11
- package/dist/agents/agent.repository.port.d.ts +0 -118
- package/dist/agents/agent.repository.port.js +0 -10
- package/dist/agents/agent.tools.d.ts +0 -16
- package/dist/agents/agent.tools.js +0 -351
- package/dist/agents/agent.tools.port.d.ts +0 -22
- package/dist/agents/agent.tools.port.js +0 -18
- package/dist/agents/agent.types.d.ts +0 -76
- package/dist/chat/chat-streaming.types.d.ts +0 -618
- package/dist/chat/chat-streaming.types.js +0 -297
- package/dist/chat/chat.agent.d.ts +0 -292
- package/dist/chat/chat.agent.js +0 -1010
- package/dist/chat/chat.graph.d.ts +0 -424
- package/dist/chat/chat.graph.js +0 -257
- package/dist/chat/chat.interrupt.classifier.d.ts +0 -25
- package/dist/chat/chat.interrupt.classifier.js +0 -64
- package/dist/chat/chat.persona.d.ts +0 -39
- package/dist/chat/chat.prompt.d.ts +0 -4
- package/dist/chat/chat.prompt.js +0 -12
- package/dist/chat/chat.prompt.modules.d.ts +0 -30
- package/dist/chat/chat.prompt.modules.js +0 -40
- package/dist/chat/chat.question-dedup.d.ts +0 -14
- package/dist/chat/chat.question-dedup.js +0 -17
- package/dist/chat/chat.state.d.ts +0 -135
- package/dist/chat/chat.state.js +0 -120
- package/dist/chat/chat.streamer.d.ts +0 -64
- package/dist/chat/chat.streamer.js +0 -217
- package/dist/chat/chat.suggester.d.ts +0 -23
- package/dist/chat/chat.suggester.js +0 -95
- package/dist/chat/chat.summarizer.d.ts +0 -20
- package/dist/chat/chat.summarizer.js +0 -97
- package/dist/chat/chat.title.generator.d.ts +0 -19
- package/dist/chat/chat.title.generator.js +0 -66
- package/dist/chat/chat.tools.d.ts +0 -5
- package/dist/chat/chat.tools.js +0 -62
- package/dist/chat/chat.utils.d.ts +0 -41
- package/dist/chat/chat.utils.js +0 -88
- package/dist/chat/negotiator.persona.d.ts +0 -74
- package/dist/chat/negotiator.persona.js +0 -154
- package/dist/chat/negotiator.prompt.d.ts +0 -45
- package/dist/chat/negotiator.prompt.js +0 -160
- package/dist/chat/negotiator.tools.d.ts +0 -42
- package/dist/chat/negotiator.tools.js +0 -134
- package/dist/chat/onboarding.persona.d.ts +0 -28
- package/dist/chat/onboarding.persona.js +0 -86
- package/dist/chat/onboarding.prompt.d.ts +0 -6
- package/dist/chat/onboarding.prompt.js +0 -63
- package/dist/chat/signal.persona.d.ts +0 -47
- package/dist/chat/signal.persona.js +0 -319
- package/dist/chat/signal.prompt.d.ts +0 -39
- package/dist/chat/signal.prompt.js +0 -136
- package/dist/contacts/contact.module.d.ts +0 -8
- package/dist/contacts/contact.module.js +0 -6
- package/dist/contacts/contact.repository.port.d.ts +0 -21
- package/dist/contacts/contact.repository.port.js +0 -12
- package/dist/contacts/contact.tools.d.ts +0 -17
- package/dist/contacts/contact.tools.js +0 -108
- package/dist/contacts/contact.tools.port.d.ts +0 -20
- package/dist/contacts/contact.tools.port.js +0 -16
- package/dist/contacts/contact.types.d.ts +0 -24
- package/dist/contacts/contact.types.js +0 -8
- package/dist/contexts/context.generator.d.ts +0 -95
- package/dist/contexts/context.generator.js +0 -127
- package/dist/contexts/context.module.d.ts +0 -13
- package/dist/contexts/context.module.js +0 -12
- package/dist/contexts/context.tools.port.d.ts +0 -9
- package/dist/discovery/hyde.documents.d.ts +0 -9
- package/dist/discovery/hyde.documents.js +0 -49
- package/dist/discovery/hyde.env.d.ts +0 -8
- package/dist/discovery/hyde.env.js +0 -9
- package/dist/discovery/hyde.frame.d.ts +0 -150
- package/dist/discovery/hyde.frame.js +0 -107
- package/dist/discovery/hyde.generator.d.ts +0 -38
- package/dist/discovery/hyde.generator.js +0 -103
- package/dist/discovery/hyde.graph.d.ts +0 -209
- package/dist/discovery/hyde.graph.js +0 -482
- package/dist/discovery/hyde.state.d.ts +0 -70
- package/dist/discovery/hyde.state.js +0 -85
- package/dist/discovery/hyde.strategies.d.ts +0 -17
- package/dist/discovery/hyde.strategies.js +0 -34
- package/dist/discovery/hyde.validator.d.ts +0 -78
- package/dist/discovery/hyde.validator.js +0 -48
- package/dist/discovery/index.d.ts +0 -26
- package/dist/discovery/index.js +0 -19
- package/dist/discovery/lens.inferrer.d.ts +0 -214
- package/dist/discovery/lens.inferrer.js +0 -152
- package/dist/enrichment/enrichment.generator.d.ts +0 -68
- package/dist/enrichment/enrichment.generator.js +0 -95
- package/dist/enrichment/enrichment.graph.d.ts +0 -544
- package/dist/enrichment/enrichment.graph.js +0 -695
- package/dist/enrichment/enrichment.state.d.ts +0 -141
- package/dist/enrichment/enrichment.state.js +0 -115
- package/dist/enrichment/enrichment.tools.context-read.d.ts +0 -10
- package/dist/enrichment/enrichment.tools.context-read.js +0 -353
- package/dist/enrichment/enrichment.tools.context-write.d.ts +0 -9
- package/dist/enrichment/enrichment.tools.context-write.js +0 -417
- package/dist/enrichment/enrichment.tools.d.ts +0 -13
- package/dist/enrichment/enrichment.tools.helpers.d.ts +0 -139
- package/dist/enrichment/enrichment.tools.helpers.js +0 -234
- package/dist/enrichment/enrichment.tools.js +0 -153
- package/dist/intents/graph/intent.graph.infer.d.ts +0 -44
- package/dist/intents/graph/intent.graph.infer.js +0 -97
- package/dist/intents/graph/intent.graph.js +0 -134
- package/dist/intents/graph/intent.graph.reconcile.js +0 -274
- package/dist/intents/graph/intent.graph.shared.d.ts +0 -68
- package/dist/intents/intake/intake.orchestrator.d.ts +0 -203
- package/dist/intents/intake/intake.orchestrator.js +0 -255
- package/dist/intents/intake/intake.pack.generator.d.ts +0 -57
- package/dist/intents/intake/intake.pack.generator.js +0 -90
- package/dist/intents/intent.clarifier.d.ts +0 -51
- package/dist/intents/intent.clarifier.js +0 -201
- package/dist/intents/intent.indexer.d.ts +0 -82
- package/dist/intents/intent.indexer.js +0 -170
- package/dist/intents/intent.module.js +0 -103
- package/dist/intents/intent.proposal.d.ts +0 -37
- package/dist/intents/intent.proposal.js +0 -14
- package/dist/intents/intent.reconciler.d.ts +0 -105
- package/dist/intents/intent.reconciler.js +0 -186
- package/dist/intents/intent.tools.d.ts +0 -27
- package/dist/intents/intent.tools.js +0 -808
- package/dist/maintenance/maintenance.graph.d.ts +0 -239
- package/dist/maintenance/maintenance.graph.js +0 -199
- package/dist/maintenance/maintenance.state.d.ts +0 -35
- package/dist/maintenance/maintenance.state.js +0 -55
- package/dist/mcp/elicitation.builder.d.ts +0 -53
- package/dist/mcp/elicitation.builder.js +0 -74
- package/dist/mcp/elicitation.dispatcher.d.ts +0 -36
- package/dist/mcp/elicitation.dispatcher.js +0 -86
- package/dist/mcp/mcp.authorization-policy.d.ts +0 -252
- package/dist/mcp/mcp.authorization-policy.js +0 -535
- package/dist/mcp/mcp.server.d.ts +0 -90
- package/dist/mcp/mcp.server.js +0 -631
- package/dist/negotiations/insight.generator.d.ts +0 -31
- package/dist/negotiations/insight.generator.js +0 -105
- package/dist/negotiations/negotiation.agent.d.ts +0 -130
- package/dist/negotiations/negotiation.agent.js +0 -396
- package/dist/negotiations/negotiation.answer-consumption.d.ts +0 -223
- package/dist/negotiations/negotiation.answer-consumption.js +0 -275
- package/dist/negotiations/negotiation.attribution.d.ts +0 -91
- package/dist/negotiations/negotiation.attribution.js +0 -109
- package/dist/negotiations/negotiation.candidates.d.ts +0 -83
- package/dist/negotiations/negotiation.candidates.js +0 -162
- package/dist/negotiations/negotiation.client-dm.d.ts +0 -50
- package/dist/negotiations/negotiation.client-dm.js +0 -66
- package/dist/negotiations/negotiation.consultation-policy.d.ts +0 -95
- package/dist/negotiations/negotiation.consultation-policy.js +0 -159
- package/dist/negotiations/negotiation.deadlock.contracts.d.ts +0 -10
- package/dist/negotiations/negotiation.deadlock.d.ts +0 -87
- package/dist/negotiations/negotiation.deadlock.js +0 -150
- package/dist/negotiations/negotiation.detail-reader.d.ts +0 -94
- package/dist/negotiations/negotiation.detail-reader.js +0 -91
- package/dist/negotiations/negotiation.expected-speaker.d.ts +0 -33
- package/dist/negotiations/negotiation.expected-speaker.js +0 -59
- package/dist/negotiations/negotiation.graph.d.ts +0 -694
- package/dist/negotiations/negotiation.graph.finalize.d.ts +0 -5
- package/dist/negotiations/negotiation.graph.finalize.js +0 -403
- package/dist/negotiations/negotiation.graph.init.d.ts +0 -54
- package/dist/negotiations/negotiation.graph.init.js +0 -256
- package/dist/negotiations/negotiation.graph.js +0 -94
- package/dist/negotiations/negotiation.graph.screen.d.ts +0 -23
- package/dist/negotiations/negotiation.graph.screen.js +0 -108
- package/dist/negotiations/negotiation.graph.shared.d.ts +0 -111
- package/dist/negotiations/negotiation.graph.shared.js +0 -168
- package/dist/negotiations/negotiation.graph.turn.d.ts +0 -134
- package/dist/negotiations/negotiation.graph.turn.js +0 -662
- package/dist/negotiations/negotiation.hermes-contract.d.ts +0 -31
- package/dist/negotiations/negotiation.hermes-contract.js +0 -72
- package/dist/negotiations/negotiation.intent-snapshot-provenance.d.ts +0 -21
- package/dist/negotiations/negotiation.intent-snapshot-provenance.js +0 -28
- package/dist/negotiations/negotiation.lifecycle-narration.d.ts +0 -18
- package/dist/negotiations/negotiation.lifecycle-narration.js +0 -87
- package/dist/negotiations/negotiation.memory.d.ts +0 -65
- package/dist/negotiations/negotiation.memory.js +0 -83
- package/dist/negotiations/negotiation.module.d.ts +0 -36
- package/dist/negotiations/negotiation.module.js +0 -23
- package/dist/negotiations/negotiation.protocol.d.ts +0 -1018
- package/dist/negotiations/negotiation.protocol.js +0 -224
- package/dist/negotiations/negotiation.question-safety.d.ts +0 -52
- package/dist/negotiations/negotiation.question-safety.js +0 -119
- package/dist/negotiations/negotiation.reflect.d.ts +0 -194
- package/dist/negotiations/negotiation.reflect.js +0 -145
- package/dist/negotiations/negotiation.scope.d.ts +0 -41
- package/dist/negotiations/negotiation.scope.js +0 -39
- package/dist/negotiations/negotiation.screen.contracts.d.ts +0 -88
- package/dist/negotiations/negotiation.screen.contracts.js +0 -58
- package/dist/negotiations/negotiation.screen.d.ts +0 -78
- package/dist/negotiations/negotiation.screen.js +0 -112
- package/dist/negotiations/negotiation.stall-gap.d.ts +0 -83
- package/dist/negotiations/negotiation.stall-gap.js +0 -152
- package/dist/negotiations/negotiation.stance.contracts.d.ts +0 -123
- package/dist/negotiations/negotiation.stance.contracts.js +0 -317
- package/dist/negotiations/negotiation.state.d.ts +0 -597
- package/dist/negotiations/negotiation.state.js +0 -286
- package/dist/negotiations/negotiation.summarizer.d.ts +0 -25
- package/dist/negotiations/negotiation.summarizer.js +0 -101
- package/dist/negotiations/negotiation.task-lock-policy.d.ts +0 -10
- package/dist/negotiations/negotiation.task-lock-policy.js +0 -22
- package/dist/negotiations/negotiation.tools.d.ts +0 -18
- package/dist/negotiations/negotiation.tools.js +0 -842
- package/dist/negotiations/negotiation.tools.port.d.ts +0 -17
- package/dist/negotiations/negotiation.turn-cap.d.ts +0 -9
- package/dist/negotiations/negotiation.turn-cap.js +0 -12
- package/dist/networks/indexer.state.js +0 -112
- package/dist/networks/network.tools.d.ts +0 -36
- package/dist/networks/network.tools.js +0 -594
- package/dist/opportunities/delivery-card.cache.d.ts +0 -25
- package/dist/opportunities/delivery-card.cache.js +0 -43
- package/dist/opportunities/discovery.env.d.ts +0 -20
- package/dist/opportunities/discovery.env.js +0 -109
- package/dist/opportunities/discriminator/discriminator.adjustments.d.ts +0 -90
- package/dist/opportunities/discriminator/discriminator.adjustments.js +0 -141
- package/dist/opportunities/discriminator/discriminator.assigner.d.ts +0 -78
- package/dist/opportunities/discriminator/discriminator.assigner.js +0 -153
- package/dist/opportunities/discriminator/discriminator.env.d.ts +0 -103
- package/dist/opportunities/discriminator/discriminator.env.js +0 -103
- package/dist/opportunities/discriminator/discriminator.miner.d.ts +0 -114
- package/dist/opportunities/discriminator/discriminator.miner.js +0 -228
- package/dist/opportunities/discriminator/discriminator.push.d.ts +0 -13
- package/dist/opportunities/discriminator/discriminator.push.js +0 -19
- package/dist/opportunities/discriminator/discriminator.question.d.ts +0 -58
- package/dist/opportunities/discriminator/discriminator.question.js +0 -155
- package/dist/opportunities/discriminator/discriminator.scorer.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.scorer.js +0 -105
- package/dist/opportunities/discriminator/discriminator.shadow.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.shadow.js +0 -90
- package/dist/opportunities/discriminator/discriminator.types.d.ts +0 -93
- package/dist/opportunities/discriminator/discriminator.types.js +0 -18
- package/dist/opportunities/negotiation-context.loader.d.ts +0 -59
- package/dist/opportunities/negotiation-context.loader.js +0 -90
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.d.ts +0 -43
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.js +0 -44
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -24
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.js +0 -188
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -26
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.js +0 -112
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -19
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.js +0 -61
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.d.ts +0 -191
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.js +0 -18
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -34
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.js +0 -91
- package/dist/opportunities/negotiation-summary.builder.d.ts +0 -37
- package/dist/opportunities/negotiation-summary.builder.js +0 -66
- package/dist/opportunities/opportunity.discovery-negotiation-summary.d.ts +0 -14
- package/dist/opportunities/opportunity.discovery-negotiation-summary.js +0 -46
- package/dist/opportunities/opportunity.enricher.d.ts +0 -71
- package/dist/opportunities/opportunity.enricher.js +0 -280
- package/dist/opportunities/opportunity.evaluator.d.ts +0 -289
- package/dist/opportunities/opportunity.evaluator.js +0 -516
- package/dist/opportunities/opportunity.evidence.d.ts +0 -22
- package/dist/opportunities/opportunity.evidence.js +0 -87
- package/dist/opportunities/opportunity.existing-negotiation.d.ts +0 -79
- package/dist/opportunities/opportunity.existing-negotiation.js +0 -118
- package/dist/opportunities/opportunity.feed-selection.js +0 -96
- package/dist/opportunities/opportunity.graph.d.ts +0 -1611
- package/dist/opportunities/opportunity.graph.discovery-strategies.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.discovery-strategies.js +0 -451
- package/dist/opportunities/opportunity.graph.discovery.d.ts +0 -69
- package/dist/opportunities/opportunity.graph.discovery.js +0 -397
- package/dist/opportunities/opportunity.graph.evaluation.d.ts +0 -82
- package/dist/opportunities/opportunity.graph.evaluation.js +0 -608
- package/dist/opportunities/opportunity.graph.js +0 -193
- package/dist/opportunities/opportunity.graph.modes.d.ts +0 -538
- package/dist/opportunities/opportunity.graph.modes.js +0 -538
- package/dist/opportunities/opportunity.graph.negotiate.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.negotiate.js +0 -392
- package/dist/opportunities/opportunity.graph.persist-node.d.ts +0 -93
- package/dist/opportunities/opportunity.graph.persist-node.js +0 -765
- package/dist/opportunities/opportunity.graph.prep.d.ts +0 -150
- package/dist/opportunities/opportunity.graph.prep.js +0 -381
- package/dist/opportunities/opportunity.graph.shared.d.ts +0 -173
- package/dist/opportunities/opportunity.graph.shared.js +0 -199
- package/dist/opportunities/opportunity.introducer-feature.d.ts +0 -2
- package/dist/opportunities/opportunity.introducer-feature.js +0 -4
- package/dist/opportunities/opportunity.introducer.d.ts +0 -77
- package/dist/opportunities/opportunity.introducer.js +0 -99
- package/dist/opportunities/opportunity.labels.js +0 -10
- package/dist/opportunities/opportunity.lifecycle.d.ts +0 -63
- package/dist/opportunities/opportunity.lifecycle.js +0 -181
- package/dist/opportunities/opportunity.module.d.ts +0 -54
- package/dist/opportunities/opportunity.module.js +0 -39
- package/dist/opportunities/opportunity.newborn-stamping.d.ts +0 -41
- package/dist/opportunities/opportunity.newborn-stamping.js +0 -81
- package/dist/opportunities/opportunity.owner-approval.d.ts +0 -118
- package/dist/opportunities/opportunity.owner-approval.js +0 -34
- package/dist/opportunities/opportunity.owner-provenance.d.ts +0 -6
- package/dist/opportunities/opportunity.owner-provenance.js +0 -28
- package/dist/opportunities/opportunity.persist.d.ts +0 -58
- package/dist/opportunities/opportunity.persist.js +0 -145
- package/dist/opportunities/opportunity.persistence-admission.d.ts +0 -39
- package/dist/opportunities/opportunity.persistence-admission.js +0 -59
- package/dist/opportunities/opportunity.state.d.ts +0 -451
- package/dist/opportunities/opportunity.state.js +0 -256
- package/dist/opportunities/opportunity.tools.cards.d.ts +0 -138
- package/dist/opportunities/opportunity.tools.cards.js +0 -212
- package/dist/opportunities/opportunity.tools.d.ts +0 -12
- package/dist/opportunities/opportunity.tools.js +0 -236
- package/dist/opportunities/opportunity.tools.list.d.ts +0 -10
- package/dist/opportunities/opportunity.tools.list.js +0 -489
- package/dist/opportunities/opportunity.tools.port.d.ts +0 -16
- package/dist/opportunities/opportunity.utils.d.ts +0 -217
- package/dist/opportunities/opportunity.utils.js +0 -395
- package/dist/opportunities/outcome/outcome.env.d.ts +0 -60
- package/dist/opportunities/outcome/outcome.env.js +0 -63
- package/dist/opportunities/outcome/outcome.hypotheses.d.ts +0 -29
- package/dist/opportunities/outcome/outcome.hypotheses.js +0 -117
- package/dist/opportunities/outcome/outcome.shadow.d.ts +0 -56
- package/dist/opportunities/outcome/outcome.shadow.js +0 -87
- package/dist/opportunities/outcome/outcome.types.d.ts +0 -110
- package/dist/opportunities/outcome/outcome.types.js +0 -26
- package/dist/opportunities/radar/radar.health.d.ts +0 -31
- package/dist/opportunities/radar/radar.health.js +0 -75
- package/dist/premises/premise.analyzer.d.ts +0 -35
- package/dist/premises/premise.analyzer.js +0 -115
- package/dist/premises/premise.decomposer.d.ts +0 -69
- package/dist/premises/premise.decomposer.js +0 -213
- package/dist/premises/premise.graph.d.ts +0 -345
- package/dist/premises/premise.graph.js +0 -278
- package/dist/premises/premise.indexer.d.ts +0 -35
- package/dist/premises/premise.indexer.js +0 -86
- package/dist/premises/premise.state.d.ts +0 -67
- package/dist/premises/premise.state.js +0 -94
- package/dist/premises/premise.tools.d.ts +0 -3
- package/dist/premises/premise.tools.js +0 -248
- package/dist/questions/question.env.d.ts +0 -27
- package/dist/questions/question.env.js +0 -27
- package/dist/questions/question.input.d.ts +0 -107
- package/dist/questions/question.module.d.ts +0 -30
- package/dist/questions/question.module.js +0 -28
- package/dist/questions/question.schema.d.ts +0 -1529
- package/dist/questions/question.schema.js +0 -420
- package/dist/shared/agent/activity-projection.d.ts +0 -271
- package/dist/shared/agent/activity-projection.js +0 -254
- package/dist/shared/agent/canonical-guidance.d.ts +0 -30
- package/dist/shared/agent/canonical-guidance.js +0 -246
- package/dist/shared/agent/model.resolver.d.ts +0 -48
- package/dist/shared/agent/tool.factory.d.ts +0 -17
- package/dist/shared/agent/tool.factory.js +0 -221
- package/dist/shared/agent/tool.helpers.d.ts +0 -482
- package/dist/shared/agent/tool.helpers.js +0 -232
- package/dist/shared/agent/tool.registry.d.ts +0 -25
- package/dist/shared/agent/tool.registry.js +0 -76
- package/dist/shared/agent/tool.runtime.d.ts +0 -28
- package/dist/shared/agent/tool.runtime.js +0 -194
- package/dist/shared/agent/tool.scope.d.ts +0 -44
- package/dist/shared/agent/tool.scope.js +0 -50
- package/dist/shared/agent/utility.tools.d.ts +0 -15
- package/dist/shared/agent/utility.tools.js +0 -322
- package/dist/shared/assignment/network-assignment.policy.d.ts +0 -61
- package/dist/shared/assignment/network-assignment.policy.js +0 -105
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +0 -100
- package/dist/shared/interfaces/agent-dispatcher.interface.js +0 -12
- package/dist/shared/interfaces/auth.interface.d.ts +0 -37
- package/dist/shared/interfaces/auth.interface.js +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -18
- package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
- package/dist/shared/interfaces/chat-session.interface.d.ts +0 -23
- package/dist/shared/interfaces/chat-session.interface.js +0 -18
- package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -16
- package/dist/shared/interfaces/chat-summary.interface.js +0 -1
- package/dist/shared/interfaces/database.capabilities.d.ts +0 -100
- package/dist/shared/interfaces/database.interface.d.ts +0 -16
- package/dist/shared/interfaces/database.member-queries.d.ts +0 -219
- package/dist/shared/interfaces/database.member-queries.js +0 -4
- package/dist/shared/interfaces/database.negotiation.d.ts +0 -329
- package/dist/shared/interfaces/database.negotiation.js +0 -26
- package/dist/shared/interfaces/database.network-queries.js +0 -4
- package/dist/shared/interfaces/database.opportunity-queries.js +0 -4
- package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -40
- package/dist/shared/interfaces/delivery-ledger.interface.js +0 -5
- package/dist/shared/interfaces/embedder.interface.d.ts +0 -92
- package/dist/shared/interfaces/embedder.interface.js +0 -4
- package/dist/shared/interfaces/enrichment-run.interface.d.ts +0 -62
- package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
- package/dist/shared/interfaces/enrichment.interface.js +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -77
- package/dist/shared/interfaces/negotiation-events.interface.js +0 -6
- package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -25
- package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -58
- package/dist/shared/interfaces/negotiator-memory.interface.js +0 -11
- package/dist/shared/interfaces/queue.interface.d.ts +0 -23
- package/dist/shared/interfaces/queue.interface.js +0 -4
- package/dist/shared/interfaces/scraper.interface.js +0 -1
- package/dist/shared/interfaces/tool-request-context.interface.d.ts +0 -11
- package/dist/shared/interfaces/tool-request-context.interface.js +0 -1
- package/dist/shared/observability/request-context.d.ts +0 -27
- package/dist/shared/observability/request-context.js +0 -6
- package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -87
- package/dist/shared/schemas/mcp-auth.schema.js +0 -56
- package/dist/shared/schemas/negotiation-digest.schema.d.ts +0 -58
- package/dist/shared/schemas/negotiation-digest.schema.js +0 -38
- package/dist/shared/schemas/negotiation-state.schema.d.ts +0 -343
- package/dist/shared/schemas/negotiation-state.schema.js +0 -81
- package/dist/shared/schemas/question-block.fixture.d.ts +0 -12
- package/dist/shared/schemas/question-block.fixture.js +0 -39
- package/dist/shared/schemas/question-block.schema.d.ts +0 -111
- package/dist/shared/schemas/question-block.schema.js +0 -124
- package/dist/shared/schemas/structured-question.schema.d.ts +0 -66
- package/dist/shared/schemas/structured-question.schema.js +0 -31
- package/dist/shared/schemas/underspecification.schema.d.ts +0 -13
- package/dist/shared/schemas/underspecification.schema.js +0 -16
- /package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.js +0 -0
- /package/dist/{opportunities → internal/opportunities}/radar/radar.state.js +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.js +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.js +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.js +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.js +0 -0
- /package/dist/{shared/interfaces/database.capabilities.js → platform/database/capabilities.js} +0 -0
- /package/dist/{shared/interfaces/database.entities.js → platform/database/entities.js} +0 -0
- /package/dist/{shared/interfaces/database.identity-queries.js → platform/database/identity-queries.js} +0 -0
- /package/dist/{agents/agent.dispatcher.port.js → platform/database/negotiation.js} +0 -0
- /package/dist/{chat/chat.persona.js → platform/database/opportunity-queries.js} +0 -0
- /package/dist/{contexts/context.tools.port.js → platform/discovery/embedder.js} +0 -0
- /package/dist/{shared/interfaces/scraper.interface.d.ts → platform/discovery/scraper.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.deadlock.contracts.js → platform/discovery/scraper.js} +0 -0
- /package/dist/{shared/interfaces/enrichment.interface.d.ts → platform/enrichment/ports.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.tools.port.js → platform/enrichment/ports.js} +0 -0
- /package/dist/{opportunities/opportunity.tools.port.js → platform/runtime/observability.js} +0 -0
- /package/dist/{questions/question.input.js → protocol/core.js} +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.d.ts +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.js +0 -0
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contacts — createContactTools canonical implementation.
|
|
3
|
-
*
|
|
4
|
-
* Creates contact management tools for the chat agent. Enables listing,
|
|
5
|
-
* removing, and searching the user's personal network.
|
|
6
|
-
*
|
|
7
|
-
* Contacts are established by accepting an opportunity — opportunity accept
|
|
8
|
-
* and start-chat write the mutual `contact` memberships. There is no import or
|
|
9
|
-
* manual-add path, and no ghost users: every contact is a real account.
|
|
10
|
-
*/
|
|
11
|
-
import { z } from 'zod';
|
|
12
|
-
import { success, error } from '../shared/agent/tool.helpers.js';
|
|
13
|
-
import { protocolLogger } from '../shared/observability/protocol.logger.js';
|
|
14
|
-
const logger = protocolLogger('ChatTools:Contact');
|
|
15
|
-
/**
|
|
16
|
-
* Creates contact management tools for the chat agent.
|
|
17
|
-
* Enables listing, searching, and removing entries in the user's network.
|
|
18
|
-
*/
|
|
19
|
-
export function createContactTools(defineTool, deps) {
|
|
20
|
-
const { contactService } = deps;
|
|
21
|
-
const list_contacts = defineTool({
|
|
22
|
-
name: 'list_contacts',
|
|
23
|
-
description: "Lists all contacts in the authenticated user's personal network. Contacts are people the user has " +
|
|
24
|
-
"accepted an opportunity with, stored as members of their personal network.\n\n" +
|
|
25
|
-
"**When to use:** To see who's in the user's network, find a contact's userId for other operations, " +
|
|
26
|
-
"or check if a specific person is already a contact.\n\n" +
|
|
27
|
-
"**Returns:** Array of contacts, each with userId (use with read_user_contexts), name, email, and avatar URL. " +
|
|
28
|
-
"Use read_user_contexts(userId) to get the full profile. " +
|
|
29
|
-
"Approved signals are matched in the background; list_opportunities only reviews persisted results.",
|
|
30
|
-
querySchema: z.object({
|
|
31
|
-
limit: z.number().optional().describe('Maximum number of contacts to return. Omit to return all contacts. Use for large networks to paginate results.'),
|
|
32
|
-
}),
|
|
33
|
-
handler: async ({ context, query }) => {
|
|
34
|
-
try {
|
|
35
|
-
let contacts = await contactService.listContacts(context.userId);
|
|
36
|
-
if (query.limit && query.limit > 0) {
|
|
37
|
-
contacts = contacts.slice(0, query.limit);
|
|
38
|
-
}
|
|
39
|
-
return success({
|
|
40
|
-
count: contacts.length,
|
|
41
|
-
contacts: contacts.map(c => ({
|
|
42
|
-
userId: c.userId,
|
|
43
|
-
name: c.user.name,
|
|
44
|
-
email: c.user.email,
|
|
45
|
-
avatar: c.user.avatar,
|
|
46
|
-
})),
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
logger.error('Failed to list contacts', { err });
|
|
51
|
-
return error('Failed to list contacts. Please try again.');
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
const remove_contact = defineTool({
|
|
56
|
-
name: 'remove_contact',
|
|
57
|
-
description: "Removes a contact from the authenticated user's personal network. The contact relationship is deleted — " +
|
|
58
|
-
"the person is no longer a member of the user's personal network and their signals are no longer eligible for matching there.\n\n" +
|
|
59
|
-
"**When to use:** When the user wants to remove someone from their network (e.g. 'remove John from my contacts').\n\n" +
|
|
60
|
-
"**Note:** This only removes the contact relationship. If the contact is a real user (not a ghost), " +
|
|
61
|
-
"they still exist on the platform and their approved signals may remain eligible in shared networks.\n\n" +
|
|
62
|
-
"**Returns:** Confirmation that the contact was removed.",
|
|
63
|
-
querySchema: z.object({
|
|
64
|
-
contactUserId: z.string().describe('The userId of the contact to remove. Get this from list_contacts results.'),
|
|
65
|
-
}),
|
|
66
|
-
handler: async ({ context, query }) => {
|
|
67
|
-
try {
|
|
68
|
-
await contactService.removeContact(context.userId, query.contactUserId);
|
|
69
|
-
return success({ removed: true, message: 'Contact removed from your network.' });
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
logger.error('Failed to remove contact', { err });
|
|
73
|
-
return error('Failed to remove contact. Please try again.');
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
const search_contacts = defineTool({
|
|
78
|
-
name: 'search_contacts',
|
|
79
|
-
description: "Searches the authenticated user's personal network by name or email (case-insensitive substring). " +
|
|
80
|
-
"Use when the user refers to a contact by partial name or email and you need their userId for another tool " +
|
|
81
|
-
"(e.g. read_user_contexts).\n\n" +
|
|
82
|
-
"**When to use:** Before list_contacts when the network is large — returns only matching contacts, bounded by limit.\n\n" +
|
|
83
|
-
"**Returns:** Array of matching contacts: userId, name, email, avatar.",
|
|
84
|
-
querySchema: z.object({
|
|
85
|
-
query: z.string().trim().min(1).describe('Free-text query matched against contact name and email (case-insensitive, substring).'),
|
|
86
|
-
limit: z.number().int().positive().max(100).optional().describe('Maximum rows to return. Defaults to 25.'),
|
|
87
|
-
}),
|
|
88
|
-
handler: async ({ context, query }) => {
|
|
89
|
-
try {
|
|
90
|
-
const rows = await contactService.searchContacts(context.userId, query.query, query.limit ?? 25);
|
|
91
|
-
return success({
|
|
92
|
-
count: rows.length,
|
|
93
|
-
contacts: rows.map(r => ({
|
|
94
|
-
userId: r.contactId,
|
|
95
|
-
name: r.name,
|
|
96
|
-
email: r.email,
|
|
97
|
-
avatar: r.avatar,
|
|
98
|
-
})),
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
catch (err) {
|
|
102
|
-
logger.error('Failed to search contacts', { err });
|
|
103
|
-
return error('Failed to search contacts. Please try again.');
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
return [list_contacts, remove_contact, search_contacts];
|
|
108
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contacts — ContactToolDeps tool host port.
|
|
3
|
-
*
|
|
4
|
-
* Narrow port type consumed by createContactTools. The host provides a
|
|
5
|
-
* ContactServiceAdapter.
|
|
6
|
-
*
|
|
7
|
-
* NOTE: This type is intentionally defined inline rather than derived from
|
|
8
|
-
* ToolRegistryCompositionDeps, keeping the capability port independent from
|
|
9
|
-
* the all-capability composition contract.
|
|
10
|
-
*
|
|
11
|
-
* Its shape remains structurally equivalent to the matching
|
|
12
|
-
* ToolRegistryCompositionDeps fields.
|
|
13
|
-
*
|
|
14
|
-
* This root-level contract keeps the capability dependency surface compact.
|
|
15
|
-
*/
|
|
16
|
-
import type { ContactServiceAdapter } from "./contact.repository.port.js";
|
|
17
|
-
/** Host capabilities consumed by contact tools. */
|
|
18
|
-
export type ContactToolDeps = {
|
|
19
|
-
contactService: ContactServiceAdapter;
|
|
20
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contacts — ContactToolDeps tool host port.
|
|
3
|
-
*
|
|
4
|
-
* Narrow port type consumed by createContactTools. The host provides a
|
|
5
|
-
* ContactServiceAdapter.
|
|
6
|
-
*
|
|
7
|
-
* NOTE: This type is intentionally defined inline rather than derived from
|
|
8
|
-
* ToolRegistryCompositionDeps, keeping the capability port independent from
|
|
9
|
-
* the all-capability composition contract.
|
|
10
|
-
*
|
|
11
|
-
* Its shape remains structurally equivalent to the matching
|
|
12
|
-
* ToolRegistryCompositionDeps fields.
|
|
13
|
-
*
|
|
14
|
-
* This root-level contract keeps the capability dependency surface compact.
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contacts — pure contact entity value types.
|
|
3
|
-
*
|
|
4
|
-
* No application logic, no LLM calls, no cross-capability imports.
|
|
5
|
-
*
|
|
6
|
-
* Canonical contact types for the contacts capability.
|
|
7
|
-
*/
|
|
8
|
-
/** Contact with user details, as returned by listContacts. */
|
|
9
|
-
export interface ContactEntry {
|
|
10
|
-
userId: string;
|
|
11
|
-
user: {
|
|
12
|
-
id: string;
|
|
13
|
-
name: string;
|
|
14
|
-
email: string;
|
|
15
|
-
avatar: string | null;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/** Flat contact row returned by searchContacts. */
|
|
19
|
-
export interface ContactSearchResult {
|
|
20
|
-
contactId: string;
|
|
21
|
-
name: string;
|
|
22
|
-
email: string;
|
|
23
|
-
avatar: string | null;
|
|
24
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Context Generator
|
|
3
|
-
*
|
|
4
|
-
* Synthesizes context paragraphs from user premises for storage in the
|
|
5
|
-
* user_contexts table. Two scopes:
|
|
6
|
-
* - network-scoped: who the person is through the lens of a given network
|
|
7
|
-
* - global (networkId = null): a cohesive, network-agnostic identity paragraph
|
|
8
|
-
* that replaces the legacy synthesized user_profile projection.
|
|
9
|
-
* Each scope supports cold-start (all premises at once) and incremental
|
|
10
|
-
* (single premise change applied to an existing context).
|
|
11
|
-
* Returns { text, embedding } for storage.
|
|
12
|
-
*/
|
|
13
|
-
import type { EmbeddingGenerator } from "../shared/interfaces/embedder.interface.js";
|
|
14
|
-
/** Input for cold-start context generation from a full set of premises. */
|
|
15
|
-
export interface UserContextInput {
|
|
16
|
-
premises: Array<{
|
|
17
|
-
text: string;
|
|
18
|
-
}>;
|
|
19
|
-
networkPrompt: string | null;
|
|
20
|
-
networkTitle: string;
|
|
21
|
-
}
|
|
22
|
-
/** Input for incremental context update from a single premise change. */
|
|
23
|
-
export interface IncrementalContextInput {
|
|
24
|
-
currentContext: string;
|
|
25
|
-
changeType: 'added' | 'updated' | 'retracted' | 'expired';
|
|
26
|
-
premiseText: string;
|
|
27
|
-
previousPremiseText?: string;
|
|
28
|
-
networkPrompt: string | null;
|
|
29
|
-
networkTitle: string;
|
|
30
|
-
}
|
|
31
|
-
/** Input for cold-start global (network-agnostic) context generation. */
|
|
32
|
-
export interface GlobalContextInput {
|
|
33
|
-
premises: Array<{
|
|
34
|
-
text: string;
|
|
35
|
-
}>;
|
|
36
|
-
}
|
|
37
|
-
/** Input for incremental global context update from a single premise change. */
|
|
38
|
-
export interface GlobalIncrementalContextInput {
|
|
39
|
-
currentContext: string;
|
|
40
|
-
changeType: 'added' | 'updated' | 'retracted' | 'expired';
|
|
41
|
-
premiseText: string;
|
|
42
|
-
previousPremiseText?: string;
|
|
43
|
-
}
|
|
44
|
-
/** Generated context paragraph with its embedding vector. */
|
|
45
|
-
export interface UserContextResult {
|
|
46
|
-
text: string;
|
|
47
|
-
embedding: number[];
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Generates network-scoped context paragraphs from user premises.
|
|
51
|
-
* Uses LLM synthesis to produce focused context and an embedding vector.
|
|
52
|
-
*/
|
|
53
|
-
export declare class UserContextGenerator {
|
|
54
|
-
private embeddingGenerator;
|
|
55
|
-
private model;
|
|
56
|
-
constructor(embeddingGenerator: EmbeddingGenerator);
|
|
57
|
-
/**
|
|
58
|
-
* Generate a context paragraph from the full set of premises (cold-start).
|
|
59
|
-
*
|
|
60
|
-
* @param input - Premises, network prompt, and network title
|
|
61
|
-
* @returns Synthesized context text with embedding vector
|
|
62
|
-
*/
|
|
63
|
-
generateColdStart(input: UserContextInput): Promise<UserContextResult>;
|
|
64
|
-
/**
|
|
65
|
-
* Update an existing context paragraph after a single premise change.
|
|
66
|
-
*
|
|
67
|
-
* @param input - Current context, change details, network metadata
|
|
68
|
-
* @returns Updated context text with embedding vector
|
|
69
|
-
*/
|
|
70
|
-
generateIncremental(input: IncrementalContextInput): Promise<UserContextResult>;
|
|
71
|
-
/**
|
|
72
|
-
* Generate a global (network-agnostic) identity paragraph from the full set
|
|
73
|
-
* of premises (cold-start). This is the profile-replacing projection stored
|
|
74
|
-
* as the user's global user_context row (networkId = null).
|
|
75
|
-
*
|
|
76
|
-
* @param input - The user's active premises
|
|
77
|
-
* @returns Synthesized global identity text with embedding vector
|
|
78
|
-
*/
|
|
79
|
-
generateGlobalColdStart(input: GlobalContextInput): Promise<UserContextResult>;
|
|
80
|
-
/**
|
|
81
|
-
* Update the global identity paragraph after a single premise change.
|
|
82
|
-
*
|
|
83
|
-
* @param input - Current global context and change details
|
|
84
|
-
* @returns Updated global identity text with embedding vector
|
|
85
|
-
*/
|
|
86
|
-
generateGlobalIncremental(input: GlobalIncrementalContextInput): Promise<UserContextResult>;
|
|
87
|
-
/** Normalize an LLM message content into a plain string. */
|
|
88
|
-
private extractText;
|
|
89
|
-
/** Format the network context header for LLM prompts. */
|
|
90
|
-
private formatNetworkContext;
|
|
91
|
-
/** Describe the premise change for the incremental prompt. */
|
|
92
|
-
private describeChange;
|
|
93
|
-
/** Generate embedding from text, normalizing the return type. */
|
|
94
|
-
private embed;
|
|
95
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Context Generator
|
|
3
|
-
*
|
|
4
|
-
* Synthesizes context paragraphs from user premises for storage in the
|
|
5
|
-
* user_contexts table. Two scopes:
|
|
6
|
-
* - network-scoped: who the person is through the lens of a given network
|
|
7
|
-
* - global (networkId = null): a cohesive, network-agnostic identity paragraph
|
|
8
|
-
* that replaces the legacy synthesized user_profile projection.
|
|
9
|
-
* Each scope supports cold-start (all premises at once) and incremental
|
|
10
|
-
* (single premise change applied to an existing context).
|
|
11
|
-
* Returns { text, embedding } for storage.
|
|
12
|
-
*/
|
|
13
|
-
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
|
|
14
|
-
import { createResilientModel } from "../shared/agent/model.config.js";
|
|
15
|
-
import { getAbortSignalConfig, invokeWithAbortSignal } from "../shared/agent/model-signal.js";
|
|
16
|
-
const COLD_START_SYSTEM_PROMPT = `You synthesize user context paragraphs for community matching. Given a list of premises (atomic facts about a person) and a network description, write a focused paragraph (3-6 sentences) that captures who this person is through the lens of that network's purpose. Highlight what is most relevant to the network. Write in third person. Be specific and concrete, not generic.`;
|
|
17
|
-
const INCREMENTAL_SYSTEM_PROMPT = `You maintain user context paragraphs for community matching. You will receive the current context paragraph, a change that occurred, and the network description. Update the context paragraph to reflect the change while preserving all other information. Keep the same style: 3-6 sentences, third person, specific and concrete. For retractions/expirations, remove the relevant information. For additions/updates, integrate the new information naturally.`;
|
|
18
|
-
const GLOBAL_COLD_START_SYSTEM_PROMPT = `You synthesize a person's global identity profile from premises (atomic facts about them). Write a cohesive paragraph (4-8 sentences) capturing who this person is overall — their identity, work, expertise, and interests — independent of any single community or network. This is their canonical self-description, not lensed toward any particular purpose. Write in third person. Be specific and concrete, not generic. Do not invent facts beyond the premises.`;
|
|
19
|
-
const GLOBAL_INCREMENTAL_SYSTEM_PROMPT = `You maintain a person's global identity profile. You will receive the current profile paragraph and a change that occurred. Update the paragraph to reflect the change while preserving all other information. Keep the same style: 4-8 sentences, third person, specific and concrete, network-agnostic. For retractions/expirations, remove the relevant information. For additions/updates, integrate the new information naturally.`;
|
|
20
|
-
/**
|
|
21
|
-
* Generates network-scoped context paragraphs from user premises.
|
|
22
|
-
* Uses LLM synthesis to produce focused context and an embedding vector.
|
|
23
|
-
*/
|
|
24
|
-
export class UserContextGenerator {
|
|
25
|
-
constructor(embeddingGenerator) {
|
|
26
|
-
this.embeddingGenerator = embeddingGenerator;
|
|
27
|
-
this.model = createResilientModel('userContextGenerator');
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Generate a context paragraph from the full set of premises (cold-start).
|
|
31
|
-
*
|
|
32
|
-
* @param input - Premises, network prompt, and network title
|
|
33
|
-
* @returns Synthesized context text with embedding vector
|
|
34
|
-
*/
|
|
35
|
-
async generateColdStart(input) {
|
|
36
|
-
const premiseBlock = input.premises.map(p => `- ${p.text}`).join('\n');
|
|
37
|
-
const networkContext = this.formatNetworkContext(input.networkPrompt, input.networkTitle);
|
|
38
|
-
const response = await invokeWithAbortSignal(this.model, [
|
|
39
|
-
new SystemMessage(COLD_START_SYSTEM_PROMPT),
|
|
40
|
-
new HumanMessage(`${networkContext}\n\nPremises:\n${premiseBlock}\n\nWrite a focused context paragraph for this person in this network.`),
|
|
41
|
-
]);
|
|
42
|
-
const text = this.extractText(response.content);
|
|
43
|
-
const embedding = await this.embed(text);
|
|
44
|
-
return { text, embedding };
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Update an existing context paragraph after a single premise change.
|
|
48
|
-
*
|
|
49
|
-
* @param input - Current context, change details, network metadata
|
|
50
|
-
* @returns Updated context text with embedding vector
|
|
51
|
-
*/
|
|
52
|
-
async generateIncremental(input) {
|
|
53
|
-
const networkContext = this.formatNetworkContext(input.networkPrompt, input.networkTitle);
|
|
54
|
-
const changeDescription = this.describeChange(input);
|
|
55
|
-
const response = await invokeWithAbortSignal(this.model, [
|
|
56
|
-
new SystemMessage(INCREMENTAL_SYSTEM_PROMPT),
|
|
57
|
-
new HumanMessage(`${networkContext}\n\nCurrent context:\n${input.currentContext}\n\nChange:\n${changeDescription}\n\nWrite the updated context paragraph.`),
|
|
58
|
-
]);
|
|
59
|
-
const text = this.extractText(response.content);
|
|
60
|
-
const embedding = await this.embed(text);
|
|
61
|
-
return { text, embedding };
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Generate a global (network-agnostic) identity paragraph from the full set
|
|
65
|
-
* of premises (cold-start). This is the profile-replacing projection stored
|
|
66
|
-
* as the user's global user_context row (networkId = null).
|
|
67
|
-
*
|
|
68
|
-
* @param input - The user's active premises
|
|
69
|
-
* @returns Synthesized global identity text with embedding vector
|
|
70
|
-
*/
|
|
71
|
-
async generateGlobalColdStart(input) {
|
|
72
|
-
const premiseBlock = input.premises.map(p => `- ${p.text}`).join('\n');
|
|
73
|
-
const response = await invokeWithAbortSignal(this.model, [
|
|
74
|
-
new SystemMessage(GLOBAL_COLD_START_SYSTEM_PROMPT),
|
|
75
|
-
new HumanMessage(`Premises:\n${premiseBlock}\n\nWrite a cohesive global identity paragraph for this person.`),
|
|
76
|
-
]);
|
|
77
|
-
const text = this.extractText(response.content);
|
|
78
|
-
const embedding = await this.embed(text);
|
|
79
|
-
return { text, embedding };
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Update the global identity paragraph after a single premise change.
|
|
83
|
-
*
|
|
84
|
-
* @param input - Current global context and change details
|
|
85
|
-
* @returns Updated global identity text with embedding vector
|
|
86
|
-
*/
|
|
87
|
-
async generateGlobalIncremental(input) {
|
|
88
|
-
const changeDescription = this.describeChange(input);
|
|
89
|
-
const response = await invokeWithAbortSignal(this.model, [
|
|
90
|
-
new SystemMessage(GLOBAL_INCREMENTAL_SYSTEM_PROMPT),
|
|
91
|
-
new HumanMessage(`Current profile:\n${input.currentContext}\n\nChange:\n${changeDescription}\n\nWrite the updated global identity paragraph.`),
|
|
92
|
-
]);
|
|
93
|
-
const text = this.extractText(response.content);
|
|
94
|
-
const embedding = await this.embed(text);
|
|
95
|
-
return { text, embedding };
|
|
96
|
-
}
|
|
97
|
-
/** Normalize an LLM message content into a plain string. */
|
|
98
|
-
extractText(content) {
|
|
99
|
-
return typeof content === 'string'
|
|
100
|
-
? content
|
|
101
|
-
: String(content ?? '').trim();
|
|
102
|
-
}
|
|
103
|
-
/** Format the network context header for LLM prompts. */
|
|
104
|
-
formatNetworkContext(prompt, title) {
|
|
105
|
-
return prompt
|
|
106
|
-
? `Network "${title}": ${prompt}`
|
|
107
|
-
: `Network: ${title}`;
|
|
108
|
-
}
|
|
109
|
-
/** Describe the premise change for the incremental prompt. */
|
|
110
|
-
describeChange(input) {
|
|
111
|
-
switch (input.changeType) {
|
|
112
|
-
case 'added':
|
|
113
|
-
return `A new fact was learned about this person:\n"${input.premiseText}"`;
|
|
114
|
-
case 'updated':
|
|
115
|
-
return `A fact was updated.\nOld: "${input.previousPremiseText}"\nNew: "${input.premiseText}"`;
|
|
116
|
-
case 'retracted':
|
|
117
|
-
return `A fact was retracted (no longer true):\n"${input.premiseText}"`;
|
|
118
|
-
case 'expired':
|
|
119
|
-
return `A fact has expired (time-bound, no longer current):\n"${input.premiseText}"`;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/** Generate embedding from text, normalizing the return type. */
|
|
123
|
-
async embed(text) {
|
|
124
|
-
const result = await this.embeddingGenerator.generate(text, undefined, getAbortSignalConfig());
|
|
125
|
-
return Array.isArray(result[0]) ? result[0] : result;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contexts — the capability's sole cross-capability surface.
|
|
3
|
-
*
|
|
4
|
-
* Enrichment, premises, generated participant context, and HyDE representations
|
|
5
|
-
* are one capability; only orchestration entry points and the read-model
|
|
6
|
-
* generator cross its edge.
|
|
7
|
-
*/
|
|
8
|
-
export { createEnrichmentTools } from "../enrichment/enrichment.tools.js";
|
|
9
|
-
export { createPremiseTools } from "../premises/premise.tools.js";
|
|
10
|
-
export { EnrichmentGraphFactory } from "../enrichment/enrichment.graph.js";
|
|
11
|
-
export { PremiseGraphFactory } from "../premises/premise.graph.js";
|
|
12
|
-
export { UserContextGenerator } from "./context.generator.js";
|
|
13
|
-
export type { EnrichmentToolDeps, PremiseToolDeps } from "./context.tools.port.js";
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* contexts — the capability's sole cross-capability surface.
|
|
3
|
-
*
|
|
4
|
-
* Enrichment, premises, generated participant context, and HyDE representations
|
|
5
|
-
* are one capability; only orchestration entry points and the read-model
|
|
6
|
-
* generator cross its edge.
|
|
7
|
-
*/
|
|
8
|
-
export { createEnrichmentTools } from "../enrichment/enrichment.tools.js";
|
|
9
|
-
export { createPremiseTools } from "../premises/premise.tools.js";
|
|
10
|
-
export { EnrichmentGraphFactory } from "../enrichment/enrichment.graph.js";
|
|
11
|
-
export { PremiseGraphFactory } from "../premises/premise.graph.js";
|
|
12
|
-
export { UserContextGenerator } from "./context.generator.js";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToolRegistryCompositionDeps } from "../shared/agent/tool.helpers.js";
|
|
2
|
-
/** Host capabilities consumed by enrichment and premise-derived identity tools. */
|
|
3
|
-
export type EnrichmentToolDeps = Pick<ToolRegistryCompositionDeps, "userDb" | "systemDb" | "enricher" | "grantDefaultSystemPermissions" | "reportToolError" | "getUserContextText" | "enrichmentRuns" | "enrichmentRunQueue"> & {
|
|
4
|
-
graphs: Pick<ToolRegistryCompositionDeps["graphs"], "profile">;
|
|
5
|
-
};
|
|
6
|
-
/** Host capabilities consumed by premise mutation tools. */
|
|
7
|
-
export type PremiseToolDeps = Pick<ToolRegistryCompositionDeps, "database"> & {
|
|
8
|
-
graphs: Pick<ToolRegistryCompositionDeps["graphs"], "premise">;
|
|
9
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { HydeDocument } from '../shared/interfaces/database.interface.js';
|
|
2
|
-
import { type HydeGenerationMode } from './hyde.env.js';
|
|
3
|
-
/** Hash source text without persisting the source itself in frame metadata. */
|
|
4
|
-
export declare function computeHydeSourceTextHash(sourceText: string): string;
|
|
5
|
-
/**
|
|
6
|
-
* Select persisted documents that belong to the currently active generation
|
|
7
|
-
* mode and, for frame-v1, the newest generation marker group.
|
|
8
|
-
*/
|
|
9
|
-
export declare function selectHydeDocumentsForGeneration(documents: HydeDocument[], mode: HydeGenerationMode, sourceText: string): HydeDocument[];
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { createHash } from 'crypto';
|
|
2
|
-
import { HYDE_FRAME_GENERATION_VERSION } from './hyde.env.js';
|
|
3
|
-
/** Hash source text without persisting the source itself in frame metadata. */
|
|
4
|
-
export function computeHydeSourceTextHash(sourceText) {
|
|
5
|
-
return createHash('sha256').update(sourceText).digest('hex');
|
|
6
|
-
}
|
|
7
|
-
function isFrameStrategy(strategy) {
|
|
8
|
-
return strategy.startsWith(`${HYDE_FRAME_GENERATION_VERSION}:`);
|
|
9
|
-
}
|
|
10
|
-
function hasFrameMetadataForSource(document, sourceTextHash) {
|
|
11
|
-
const context = document.context;
|
|
12
|
-
return isFrameStrategy(document.strategy)
|
|
13
|
-
&& context?.hydeGenerationVersion === HYDE_FRAME_GENERATION_VERSION
|
|
14
|
-
&& context.validationStatus === 'valid'
|
|
15
|
-
&& typeof context.lensLabel === 'string'
|
|
16
|
-
&& context.lensLabel.length > 0
|
|
17
|
-
&& typeof context.frameFingerprint === 'string'
|
|
18
|
-
&& context.frameFingerprint.length > 0
|
|
19
|
-
&& context.sourceTextHash === sourceTextHash
|
|
20
|
-
&& typeof context.generatedAt === 'string'
|
|
21
|
-
&& Number.isFinite(Date.parse(context.generatedAt));
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Select persisted documents that belong to the currently active generation
|
|
25
|
-
* mode and, for frame-v1, the newest generation marker group.
|
|
26
|
-
*/
|
|
27
|
-
export function selectHydeDocumentsForGeneration(documents, mode, sourceText) {
|
|
28
|
-
if (mode === 'legacy') {
|
|
29
|
-
return documents.filter((document) => !isFrameStrategy(document.strategy)
|
|
30
|
-
&& document.context?.hydeGenerationVersion !== HYDE_FRAME_GENERATION_VERSION);
|
|
31
|
-
}
|
|
32
|
-
const sourceTextHash = computeHydeSourceTextHash(sourceText);
|
|
33
|
-
const eligible = documents.filter((document) => hasFrameMetadataForSource(document, sourceTextHash));
|
|
34
|
-
let newestGeneratedAt;
|
|
35
|
-
let newestTimestamp = Number.NEGATIVE_INFINITY;
|
|
36
|
-
for (const document of eligible) {
|
|
37
|
-
const generatedAt = document.context?.generatedAt;
|
|
38
|
-
if (typeof generatedAt !== 'string')
|
|
39
|
-
continue;
|
|
40
|
-
const timestamp = Date.parse(generatedAt);
|
|
41
|
-
if (timestamp > newestTimestamp) {
|
|
42
|
-
newestTimestamp = timestamp;
|
|
43
|
-
newestGeneratedAt = generatedAt;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return newestGeneratedAt
|
|
47
|
-
? eligible.filter((document) => document.context?.generatedAt === newestGeneratedAt)
|
|
48
|
-
: [];
|
|
49
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/** HyDE generation modes. */
|
|
2
|
-
export declare const HYDE_FRAME_GENERATION_VERSION: "frame-v1";
|
|
3
|
-
export type HydeGenerationMode = 'legacy' | typeof HYDE_FRAME_GENERATION_VERSION;
|
|
4
|
-
/**
|
|
5
|
-
* Resolve the HyDE generation mode from the feature flag.
|
|
6
|
-
* Only the exact literal `true` enables frame-constrained generation.
|
|
7
|
-
*/
|
|
8
|
-
export declare function getHydeGenerationMode(value?: string | undefined): HydeGenerationMode;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/** HyDE generation modes. */
|
|
2
|
-
export const HYDE_FRAME_GENERATION_VERSION = 'frame-v1';
|
|
3
|
-
/**
|
|
4
|
-
* Resolve the HyDE generation mode from the feature flag.
|
|
5
|
-
* Only the exact literal `true` enables frame-constrained generation.
|
|
6
|
-
*/
|
|
7
|
-
export function getHydeGenerationMode(value = process.env.HYDE_FRAME_CONSTRAINTS_ENABLED) {
|
|
8
|
-
return value === 'true' ? HYDE_FRAME_GENERATION_VERSION : 'legacy';
|
|
9
|
-
}
|