@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,351 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* agents/application — agent registration and permission tools.
|
|
3
|
-
*
|
|
4
|
-
* Provides createAgentTools: the canonical factory for participant-agent
|
|
5
|
-
* registration, listing, update, delete, and permission grant/revoke MCP tools.
|
|
6
|
-
*
|
|
7
|
-
* Dependencies:
|
|
8
|
-
* - DefineTool / helpers from shared/agent (unclassified shared infrastructure)
|
|
9
|
-
* - AgentToolDeps from agents/ports (same capability)
|
|
10
|
-
*
|
|
11
|
-
* IND-548: migrated from src/agent/agent.tools.ts.
|
|
12
|
-
* Legacy path (src/agent/agent.tools.ts) is a thin compatibility shim.
|
|
13
|
-
*/
|
|
14
|
-
import { z } from 'zod';
|
|
15
|
-
import { error, success } from '../shared/agent/tool.helpers.js';
|
|
16
|
-
import { protocolLogger } from '../shared/observability/protocol.logger.js';
|
|
17
|
-
const logger = protocolLogger('ChatTools:Agent');
|
|
18
|
-
const AGENT_ACTIONS = [
|
|
19
|
-
'manage:identity',
|
|
20
|
-
'manage:premises',
|
|
21
|
-
'manage:intents',
|
|
22
|
-
'manage:networks',
|
|
23
|
-
'manage:opportunities',
|
|
24
|
-
'manage:negotiations',
|
|
25
|
-
];
|
|
26
|
-
/**
|
|
27
|
-
* Canonical permission-action enum for the public tool INPUT schemas. Retired
|
|
28
|
-
* `manage:profile` / `manage:contacts` strings are rejected at the schema seam
|
|
29
|
-
* (defense-in-depth: the handler still re-validates via {@link isValidAction}).
|
|
30
|
-
*/
|
|
31
|
-
const AgentPermissionActionSchema = z.enum(AGENT_ACTIONS);
|
|
32
|
-
function invalidActionMessage(action) {
|
|
33
|
-
return `Invalid action: ${action}. Valid actions: ${AGENT_ACTIONS.join(', ')}`;
|
|
34
|
-
}
|
|
35
|
-
function isValidAction(action) {
|
|
36
|
-
return AGENT_ACTIONS.includes(action);
|
|
37
|
-
}
|
|
38
|
-
function requireAgentDatabase(deps) {
|
|
39
|
-
if (!deps.agentDatabase) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
return deps.agentDatabase;
|
|
43
|
-
}
|
|
44
|
-
function ensureAgentScopedAccess(context, requestedAgentId) {
|
|
45
|
-
if (context.agentId && context.agentId !== requestedAgentId) {
|
|
46
|
-
return 'This agent can only manage its own registration.';
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
function sanitizeAgentForOutput(agent) {
|
|
51
|
-
return {
|
|
52
|
-
...agent,
|
|
53
|
-
// Transport config carries private connection material (endpoint secrets,
|
|
54
|
-
// auth headers/tokens). It is never projected to ANY MCP caller — including
|
|
55
|
-
// the agent reading its own record via read_own_agent (IND-599). Channel,
|
|
56
|
-
// priority, and health metadata remain visible; config is fully redacted.
|
|
57
|
-
transports: agent.transports?.map((transport) => ({ ...transport, config: {} })),
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
function sanitizeAgentName(name) {
|
|
61
|
-
const cleanName = name.trim();
|
|
62
|
-
return cleanName ? cleanName : null;
|
|
63
|
-
}
|
|
64
|
-
function normalizePermissions(permissions) {
|
|
65
|
-
return [...new Set((permissions ?? []).map((action) => action.trim()).filter(Boolean))];
|
|
66
|
-
}
|
|
67
|
-
export function createAgentTools(defineTool, deps) {
|
|
68
|
-
const agentDb = requireAgentDatabase(deps);
|
|
69
|
-
if (!agentDb) {
|
|
70
|
-
return [];
|
|
71
|
-
}
|
|
72
|
-
const registerAgent = defineTool({
|
|
73
|
-
name: 'register_agent',
|
|
74
|
-
description: 'Register a new personal agent for the current user. Optionally configure initial permissions. ' +
|
|
75
|
-
'Use this when connecting an external agent to Index.',
|
|
76
|
-
querySchema: z.object({
|
|
77
|
-
name: z.string().min(1).describe('Display name for the agent.'),
|
|
78
|
-
description: z.string().optional().describe('What the agent does.'),
|
|
79
|
-
permissions: z.array(AgentPermissionActionSchema).optional().describe('Optional initial permission actions to grant. Valid values: manage:identity, manage:premises, manage:intents, manage:networks, manage:opportunities, manage:negotiations.'),
|
|
80
|
-
}),
|
|
81
|
-
handler: async ({ context, query }) => {
|
|
82
|
-
if (context.agentId) {
|
|
83
|
-
return error('Agent registration must be done from a user session (web UI or personal API key), ' +
|
|
84
|
-
'not from within an existing agent context. To register a new agent, visit the Index web app.');
|
|
85
|
-
}
|
|
86
|
-
try {
|
|
87
|
-
const name = sanitizeAgentName(query.name);
|
|
88
|
-
if (!name) {
|
|
89
|
-
return error('Agent name is required.');
|
|
90
|
-
}
|
|
91
|
-
const permissions = normalizePermissions(query.permissions);
|
|
92
|
-
for (const permission of permissions) {
|
|
93
|
-
if (!isValidAction(permission)) {
|
|
94
|
-
return error(invalidActionMessage(permission));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
const agent = await agentDb.createAgent({
|
|
98
|
-
ownerId: context.userId,
|
|
99
|
-
name,
|
|
100
|
-
description: query.description?.trim() || undefined,
|
|
101
|
-
type: 'external',
|
|
102
|
-
});
|
|
103
|
-
try {
|
|
104
|
-
if (permissions.length > 0) {
|
|
105
|
-
await agentDb.grantPermission({
|
|
106
|
-
agentId: agent.id,
|
|
107
|
-
userId: context.userId,
|
|
108
|
-
scope: 'global',
|
|
109
|
-
actions: permissions,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
catch (setupError) {
|
|
114
|
-
try {
|
|
115
|
-
await agentDb.deleteAgent(agent.id);
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
// Best-effort cleanup to avoid leaving partially registered agents behind.
|
|
119
|
-
}
|
|
120
|
-
throw setupError;
|
|
121
|
-
}
|
|
122
|
-
const fullAgent = await agentDb.getAgentWithRelations(agent.id);
|
|
123
|
-
return success({
|
|
124
|
-
message: `Agent "${agent.name}" registered successfully.`,
|
|
125
|
-
agent: sanitizeAgentForOutput(fullAgent ?? ({ ...agent, transports: [], permissions: [] })),
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
logger.error('Failed to register agent', { err });
|
|
130
|
-
return error('Failed to register agent. Please try again.');
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
const readOwnAgent = defineTool({
|
|
135
|
-
name: 'read_own_agent',
|
|
136
|
-
description: "Read the calling agent's own registration record \u2014 its identity, " +
|
|
137
|
-
'transports, and granted permissions. Returns only the authenticated ' +
|
|
138
|
-
'agent\u2019s own record; no other agent can be named or targeted. Use this ' +
|
|
139
|
-
'when an agent needs to inspect its own configuration.',
|
|
140
|
-
querySchema: z.object({}),
|
|
141
|
-
handler: async ({ context }) => {
|
|
142
|
-
// Defense-in-depth: the capability policy only admits registered active
|
|
143
|
-
// agent principals here, but never trust the caller — require an agent
|
|
144
|
-
// context and resolve strictly the caller's OWN record (no target input).
|
|
145
|
-
if (!context.agentId) {
|
|
146
|
-
return error('read_own_agent is only available to a registered agent principal.');
|
|
147
|
-
}
|
|
148
|
-
try {
|
|
149
|
-
const agent = await agentDb.getAgentWithRelations(context.agentId);
|
|
150
|
-
if (!agent || agent.ownerId !== context.userId) {
|
|
151
|
-
return error('Agent not found');
|
|
152
|
-
}
|
|
153
|
-
return success({ agent: sanitizeAgentForOutput(agent) });
|
|
154
|
-
}
|
|
155
|
-
catch (err) {
|
|
156
|
-
logger.error('Failed to read own agent', { err });
|
|
157
|
-
return error('Failed to read agent. Please try again.');
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
});
|
|
161
|
-
const listAgents = defineTool({
|
|
162
|
-
name: 'list_agents',
|
|
163
|
-
description: 'List all agents the current user owns or has authorized.',
|
|
164
|
-
querySchema: z.object({}),
|
|
165
|
-
handler: async ({ context }) => {
|
|
166
|
-
try {
|
|
167
|
-
const agents = await agentDb.listAgentsForUser(context.userId);
|
|
168
|
-
const filteredAgents = context.agentId
|
|
169
|
-
? agents.filter((agent) => agent.id === context.agentId)
|
|
170
|
-
: agents;
|
|
171
|
-
return success({
|
|
172
|
-
agents: filteredAgents.map((agent) => sanitizeAgentForOutput(agent)),
|
|
173
|
-
count: filteredAgents.length,
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
catch (err) {
|
|
177
|
-
logger.error('Failed to list agents', { err });
|
|
178
|
-
return error('Failed to list agents. Please try again.');
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
});
|
|
182
|
-
const updateAgent = defineTool({
|
|
183
|
-
name: 'update_agent',
|
|
184
|
-
description: 'Update an agent name, description, or status.',
|
|
185
|
-
querySchema: z.object({
|
|
186
|
-
agent_id: z.string().min(1).describe('The agent ID to update.'),
|
|
187
|
-
name: z.string().optional().describe('Updated display name.'),
|
|
188
|
-
description: z.string().optional().describe('Updated description.'),
|
|
189
|
-
status: z.enum(['active', 'inactive']).optional().describe('Updated status.'),
|
|
190
|
-
}),
|
|
191
|
-
handler: async ({ context, query }) => {
|
|
192
|
-
const scopeError = ensureAgentScopedAccess(context, query.agent_id);
|
|
193
|
-
if (scopeError) {
|
|
194
|
-
return error(scopeError);
|
|
195
|
-
}
|
|
196
|
-
try {
|
|
197
|
-
const agent = await agentDb.getAgent(query.agent_id);
|
|
198
|
-
if (!agent || agent.ownerId !== context.userId) {
|
|
199
|
-
return error('Agent not found');
|
|
200
|
-
}
|
|
201
|
-
if (agent.type === 'system') {
|
|
202
|
-
return error('System agents cannot be modified');
|
|
203
|
-
}
|
|
204
|
-
const updates = {};
|
|
205
|
-
if (query.name !== undefined) {
|
|
206
|
-
const name = query.name.trim();
|
|
207
|
-
if (!name) {
|
|
208
|
-
return error('Agent name is required');
|
|
209
|
-
}
|
|
210
|
-
updates.name = name;
|
|
211
|
-
}
|
|
212
|
-
if (query.description !== undefined) {
|
|
213
|
-
updates.description = query.description.trim() || null;
|
|
214
|
-
}
|
|
215
|
-
if (query.status) {
|
|
216
|
-
updates.status = query.status;
|
|
217
|
-
}
|
|
218
|
-
if (Object.keys(updates).length === 0) {
|
|
219
|
-
return error('At least one field is required.');
|
|
220
|
-
}
|
|
221
|
-
const updated = await agentDb.updateAgent(query.agent_id, updates);
|
|
222
|
-
if (!updated) {
|
|
223
|
-
return error('Agent not found');
|
|
224
|
-
}
|
|
225
|
-
const fullAgent = await agentDb.getAgentWithRelations(query.agent_id);
|
|
226
|
-
return success({
|
|
227
|
-
message: 'Agent updated.',
|
|
228
|
-
agent: sanitizeAgentForOutput(fullAgent ?? ({ ...updated, transports: [], permissions: [] })),
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
catch (err) {
|
|
232
|
-
logger.error('Failed to update agent', { err });
|
|
233
|
-
return error('Failed to update agent. Please try again.');
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
});
|
|
237
|
-
const deleteAgent = defineTool({
|
|
238
|
-
name: 'delete_agent',
|
|
239
|
-
description: 'Soft-delete a personal agent and deactivate its transports.',
|
|
240
|
-
querySchema: z.object({
|
|
241
|
-
agent_id: z.string().min(1).describe('The agent ID to delete.'),
|
|
242
|
-
}),
|
|
243
|
-
handler: async ({ context, query }) => {
|
|
244
|
-
const scopeError = ensureAgentScopedAccess(context, query.agent_id);
|
|
245
|
-
if (scopeError) {
|
|
246
|
-
return error(scopeError);
|
|
247
|
-
}
|
|
248
|
-
try {
|
|
249
|
-
const agent = await agentDb.getAgent(query.agent_id);
|
|
250
|
-
if (!agent || agent.ownerId !== context.userId) {
|
|
251
|
-
return error('Agent not found');
|
|
252
|
-
}
|
|
253
|
-
if (agent.type === 'system') {
|
|
254
|
-
return error('System agents cannot be deleted');
|
|
255
|
-
}
|
|
256
|
-
await agentDb.deleteAgent(query.agent_id);
|
|
257
|
-
return success({ message: `Agent "${agent.name}" deleted.` });
|
|
258
|
-
}
|
|
259
|
-
catch (err) {
|
|
260
|
-
logger.error('Failed to delete agent', { err });
|
|
261
|
-
return error('Failed to delete agent. Please try again.');
|
|
262
|
-
}
|
|
263
|
-
},
|
|
264
|
-
});
|
|
265
|
-
const grantAgentPermission = defineTool({
|
|
266
|
-
name: 'grant_agent_permission',
|
|
267
|
-
description: 'Grant one or more permissions to an agent for the current user. ' +
|
|
268
|
-
'Valid actions: manage:identity, manage:premises, manage:intents, manage:networks, manage:opportunities, manage:negotiations.',
|
|
269
|
-
querySchema: z.object({
|
|
270
|
-
agent_id: z.string().min(1).describe('The agent ID to grant permissions to.'),
|
|
271
|
-
actions: z.array(AgentPermissionActionSchema).min(1).describe('Permission actions to grant. Valid values: manage:identity, manage:premises, manage:intents, manage:networks, manage:opportunities, manage:negotiations.'),
|
|
272
|
-
scope: z.enum(['global', 'node', 'network']).optional().describe('Optional permission scope.'),
|
|
273
|
-
scope_id: z.string().optional().describe('Scope target ID for node/network scopes.'),
|
|
274
|
-
}),
|
|
275
|
-
handler: async ({ context, query }) => {
|
|
276
|
-
const scopeError = ensureAgentScopedAccess(context, query.agent_id);
|
|
277
|
-
if (scopeError) {
|
|
278
|
-
return error(scopeError);
|
|
279
|
-
}
|
|
280
|
-
const actions = normalizePermissions(query.actions);
|
|
281
|
-
if (actions.length === 0) {
|
|
282
|
-
return error('At least one non-empty action is required.');
|
|
283
|
-
}
|
|
284
|
-
for (const action of actions) {
|
|
285
|
-
if (!isValidAction(action)) {
|
|
286
|
-
return error(invalidActionMessage(action));
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
if ((query.scope === 'network' || query.scope === 'node') && !query.scope_id?.trim()) {
|
|
290
|
-
return error(`scope_id is required for ${query.scope} permissions.`);
|
|
291
|
-
}
|
|
292
|
-
try {
|
|
293
|
-
const agent = await agentDb.getAgent(query.agent_id);
|
|
294
|
-
if (!agent || agent.ownerId !== context.userId) {
|
|
295
|
-
return error('Agent not found');
|
|
296
|
-
}
|
|
297
|
-
const permission = await agentDb.grantPermission({
|
|
298
|
-
agentId: query.agent_id,
|
|
299
|
-
userId: context.userId,
|
|
300
|
-
scope: query.scope,
|
|
301
|
-
scopeId: query.scope === 'global' || query.scope === undefined ? undefined : query.scope_id?.trim(),
|
|
302
|
-
actions,
|
|
303
|
-
});
|
|
304
|
-
return success({ message: 'Permission granted.', permission });
|
|
305
|
-
}
|
|
306
|
-
catch (err) {
|
|
307
|
-
logger.error('Failed to grant permission', { err });
|
|
308
|
-
return error('Failed to grant permission. Please try again.');
|
|
309
|
-
}
|
|
310
|
-
},
|
|
311
|
-
});
|
|
312
|
-
const revokeAgentPermission = defineTool({
|
|
313
|
-
name: 'revoke_agent_permission',
|
|
314
|
-
description: 'Revoke a specific permission from an agent.',
|
|
315
|
-
querySchema: z.object({
|
|
316
|
-
agent_id: z.string().min(1).describe('The agent ID that owns the permission.'),
|
|
317
|
-
permission_id: z.string().min(1).describe('The permission ID to revoke.'),
|
|
318
|
-
}),
|
|
319
|
-
handler: async ({ context, query }) => {
|
|
320
|
-
const scopeError = ensureAgentScopedAccess(context, query.agent_id);
|
|
321
|
-
if (scopeError) {
|
|
322
|
-
return error(scopeError);
|
|
323
|
-
}
|
|
324
|
-
try {
|
|
325
|
-
const agent = await agentDb.getAgentWithRelations(query.agent_id);
|
|
326
|
-
if (!agent || agent.ownerId !== context.userId) {
|
|
327
|
-
return error('Agent not found');
|
|
328
|
-
}
|
|
329
|
-
const permission = agent.permissions.find((item) => item.id === query.permission_id);
|
|
330
|
-
if (!permission) {
|
|
331
|
-
return error('Permission not found');
|
|
332
|
-
}
|
|
333
|
-
await agentDb.revokePermission(query.permission_id);
|
|
334
|
-
return success({ message: 'Permission revoked.' });
|
|
335
|
-
}
|
|
336
|
-
catch (err) {
|
|
337
|
-
logger.error('Failed to revoke permission', { err });
|
|
338
|
-
return error('Failed to revoke permission. Please try again.');
|
|
339
|
-
}
|
|
340
|
-
},
|
|
341
|
-
});
|
|
342
|
-
return [
|
|
343
|
-
readOwnAgent,
|
|
344
|
-
registerAgent,
|
|
345
|
-
listAgents,
|
|
346
|
-
updateAgent,
|
|
347
|
-
deleteAgent,
|
|
348
|
-
grantAgentPermission,
|
|
349
|
-
revokeAgentPermission,
|
|
350
|
-
];
|
|
351
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* agents/ports — AgentToolDeps tool host port.
|
|
3
|
-
*
|
|
4
|
-
* Narrow port type consumed by createAgentTools. The host provides an
|
|
5
|
-
* optional AgentDatabase so agent registration tools are compiled only
|
|
6
|
-
* when the database adapter is wired at the composition root.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: This type is intentionally defined inline rather than derived from
|
|
9
|
-
* ToolRegistryCompositionDeps, keeping the capability port independent from
|
|
10
|
-
* the all-capability composition contract.
|
|
11
|
-
*
|
|
12
|
-
* Structural equivalence with ToolRegistryCompositionDeps.agentDatabase is
|
|
13
|
-
* preserved: both have type `AgentDatabase | undefined`.
|
|
14
|
-
*
|
|
15
|
-
* IND-548: extracted from capabilities/participant-agents.tools.port.ts
|
|
16
|
-
* into the participant-agents capability's dedicated ports layer.
|
|
17
|
-
*/
|
|
18
|
-
import type { AgentDatabase } from './agent.repository.port.js';
|
|
19
|
-
/** Host capabilities consumed by participant-agent registry tools. */
|
|
20
|
-
export type AgentToolDeps = {
|
|
21
|
-
agentDatabase?: AgentDatabase;
|
|
22
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* agents/ports — AgentToolDeps tool host port.
|
|
3
|
-
*
|
|
4
|
-
* Narrow port type consumed by createAgentTools. The host provides an
|
|
5
|
-
* optional AgentDatabase so agent registration tools are compiled only
|
|
6
|
-
* when the database adapter is wired at the composition root.
|
|
7
|
-
*
|
|
8
|
-
* NOTE: This type is intentionally defined inline rather than derived from
|
|
9
|
-
* ToolRegistryCompositionDeps, keeping the capability port independent from
|
|
10
|
-
* the all-capability composition contract.
|
|
11
|
-
*
|
|
12
|
-
* Structural equivalence with ToolRegistryCompositionDeps.agentDatabase is
|
|
13
|
-
* preserved: both have type `AgentDatabase | undefined`.
|
|
14
|
-
*
|
|
15
|
-
* IND-548: extracted from capabilities/participant-agents.tools.port.ts
|
|
16
|
-
* into the participant-agents capability's dedicated ports layer.
|
|
17
|
-
*/
|
|
18
|
-
export {};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* agents/domain — pure agent entity types.
|
|
3
|
-
*
|
|
4
|
-
* These are the core value-objects for the participant-agents capability:
|
|
5
|
-
* agent records, transport channels, permission grants, and the well-known
|
|
6
|
-
* system agent ID constants.
|
|
7
|
-
*
|
|
8
|
-
* No application logic, no LLM calls, no cross-capability imports.
|
|
9
|
-
*
|
|
10
|
-
* IND-548: canonical home for agent entity types previously in
|
|
11
|
-
* shared/interfaces/agent.interface.ts.
|
|
12
|
-
*/
|
|
13
|
-
export interface AgentRecord {
|
|
14
|
-
id: string;
|
|
15
|
-
ownerId: string;
|
|
16
|
-
name: string;
|
|
17
|
-
description: string | null;
|
|
18
|
-
type: 'personal' | 'external' | 'system';
|
|
19
|
-
status: 'active' | 'inactive';
|
|
20
|
-
metadata: Record<string, unknown>;
|
|
21
|
-
createdAt: Date;
|
|
22
|
-
updatedAt: Date;
|
|
23
|
-
}
|
|
24
|
-
export interface AgentTransportRecord {
|
|
25
|
-
id: string;
|
|
26
|
-
agentId: string;
|
|
27
|
-
channel: 'mcp';
|
|
28
|
-
config: Record<string, unknown>;
|
|
29
|
-
priority: number;
|
|
30
|
-
active: boolean;
|
|
31
|
-
failureCount: number;
|
|
32
|
-
}
|
|
33
|
-
export interface AgentPermissionRecord {
|
|
34
|
-
id: string;
|
|
35
|
-
agentId: string;
|
|
36
|
-
userId: string;
|
|
37
|
-
scope: 'global' | 'node' | 'network';
|
|
38
|
-
scopeId: string | null;
|
|
39
|
-
actions: string[];
|
|
40
|
-
createdAt: Date;
|
|
41
|
-
}
|
|
42
|
-
export interface AgentWithRelations extends AgentRecord {
|
|
43
|
-
transports: AgentTransportRecord[];
|
|
44
|
-
permissions: AgentPermissionRecord[];
|
|
45
|
-
}
|
|
46
|
-
export interface CreateAgentInput {
|
|
47
|
-
ownerId: string;
|
|
48
|
-
name: string;
|
|
49
|
-
description?: string;
|
|
50
|
-
/** Required: personal rows are auto-provisioned negotiators; tool/registration paths create 'external'. */
|
|
51
|
-
type: 'personal' | 'external' | 'system';
|
|
52
|
-
metadata?: Record<string, unknown>;
|
|
53
|
-
}
|
|
54
|
-
export interface CreateTransportInput {
|
|
55
|
-
agentId: string;
|
|
56
|
-
channel: 'mcp';
|
|
57
|
-
config?: Record<string, unknown>;
|
|
58
|
-
priority?: number;
|
|
59
|
-
}
|
|
60
|
-
export interface GrantPermissionInput {
|
|
61
|
-
agentId: string;
|
|
62
|
-
userId: string;
|
|
63
|
-
scope?: 'global' | 'node' | 'network';
|
|
64
|
-
scopeId?: string;
|
|
65
|
-
actions: string[];
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Fixed UUIDs for built-in system agents.
|
|
69
|
-
*
|
|
70
|
-
* These are seeded into the database on first run and must never change,
|
|
71
|
-
* as they are referenced by foreign keys and hard-coded in protocol logic.
|
|
72
|
-
*/
|
|
73
|
-
export declare const SYSTEM_AGENT_IDS: {
|
|
74
|
-
readonly chatOrchestrator: "00000000-0000-0000-0000-000000000001";
|
|
75
|
-
readonly negotiator: "00000000-0000-0000-0000-000000000002";
|
|
76
|
-
};
|