@inkeep/agents-api 0.0.0-dev-20260121145510
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/LICENSE.md +56 -0
- package/SUPPLEMENTAL_TERMS.md +40 -0
- package/dist/.well-known/workflow/v1/flow.cjs +46383 -0
- package/dist/.well-known/workflow/v1/flow.cjs.debug.json +6 -0
- package/dist/.well-known/workflow/v1/manifest.debug.json +55 -0
- package/dist/.well-known/workflow/v1/step.cjs +218683 -0
- package/dist/.well-known/workflow/v1/step.cjs.debug.json +6 -0
- package/dist/.well-known/workflow/v1/webhook.mjs +29 -0
- package/dist/createApp.d.ts +10 -0
- package/dist/createApp.js +170 -0
- package/dist/data/db/index.d.ts +4 -0
- package/dist/data/db/index.js +5 -0
- package/dist/data/db/manageDbClient.d.ts +6 -0
- package/dist/data/db/manageDbClient.js +9 -0
- package/dist/data/db/manageDbPool.d.ts +6 -0
- package/dist/data/db/manageDbPool.js +9 -0
- package/dist/data/db/runDbClient.d.ts +6 -0
- package/dist/data/db/runDbClient.js +9 -0
- package/dist/domains/evals/index.d.ts +13 -0
- package/dist/domains/evals/index.js +13 -0
- package/dist/domains/evals/routes/datasetTriggers.d.ts +7 -0
- package/dist/domains/evals/routes/datasetTriggers.js +65 -0
- package/dist/domains/evals/routes/evaluationTriggers.d.ts +11 -0
- package/dist/domains/evals/routes/evaluationTriggers.js +311 -0
- package/dist/domains/evals/routes/index.d.ts +7 -0
- package/dist/domains/evals/routes/index.js +12 -0
- package/dist/domains/evals/scripts/build-workflow.d.ts +1 -0
- package/dist/domains/evals/scripts/build-workflow.js +31 -0
- package/dist/domains/evals/services/EvaluationService.d.ts +96 -0
- package/dist/domains/evals/services/EvaluationService.js +863 -0
- package/dist/domains/evals/services/conversationEvaluation.d.ts +15 -0
- package/dist/domains/evals/services/conversationEvaluation.js +102 -0
- package/dist/domains/evals/services/datasetRun.d.ts +16 -0
- package/dist/domains/evals/services/datasetRun.js +43 -0
- package/dist/domains/evals/services/evaluationJob.d.ts +17 -0
- package/dist/domains/evals/services/evaluationJob.js +65 -0
- package/dist/domains/evals/services/startEvaluation.d.ts +19 -0
- package/dist/domains/evals/services/startEvaluation.js +18 -0
- package/dist/domains/evals/workflow/functions/evaluateConversation.d.ts +31 -0
- package/dist/domains/evals/workflow/functions/evaluateConversation.js +135 -0
- package/dist/domains/evals/workflow/functions/runDatasetItem.d.ts +39 -0
- package/dist/domains/evals/workflow/functions/runDatasetItem.js +205 -0
- package/dist/domains/evals/workflow/index.d.ts +4 -0
- package/dist/domains/evals/workflow/index.js +5 -0
- package/dist/domains/evals/workflow/routes.d.ts +7 -0
- package/dist/domains/evals/workflow/routes.js +106 -0
- package/dist/domains/evals/workflow/world.d.ts +4 -0
- package/dist/domains/evals/workflow/world.js +36 -0
- package/dist/domains/index.d.ts +4 -0
- package/dist/domains/index.js +5 -0
- package/dist/domains/manage/index.d.ts +12 -0
- package/dist/domains/manage/index.js +31 -0
- package/dist/domains/manage/routes/agent.d.ts +9 -0
- package/dist/domains/manage/routes/agent.js +266 -0
- package/dist/domains/manage/routes/agentFull.d.ts +9 -0
- package/dist/domains/manage/routes/agentFull.js +207 -0
- package/dist/domains/manage/routes/agentToolRelations.d.ts +9 -0
- package/dist/domains/manage/routes/agentToolRelations.js +289 -0
- package/dist/domains/manage/routes/apiKeys.d.ts +9 -0
- package/dist/domains/manage/routes/apiKeys.js +217 -0
- package/dist/domains/manage/routes/artifactComponents.d.ts +9 -0
- package/dist/domains/manage/routes/artifactComponents.js +210 -0
- package/dist/domains/manage/routes/branches.d.ts +9 -0
- package/dist/domains/manage/routes/branches.js +182 -0
- package/dist/domains/manage/routes/cliAuth.d.ts +9 -0
- package/dist/domains/manage/routes/cliAuth.js +60 -0
- package/dist/domains/manage/routes/contextConfigs.d.ts +9 -0
- package/dist/domains/manage/routes/contextConfigs.js +189 -0
- package/dist/domains/manage/routes/conversations.d.ts +7 -0
- package/dist/domains/manage/routes/conversations.js +59 -0
- package/dist/domains/manage/routes/credentialStores.d.ts +9 -0
- package/dist/domains/manage/routes/credentialStores.js +86 -0
- package/dist/domains/manage/routes/credentials.d.ts +9 -0
- package/dist/domains/manage/routes/credentials.js +207 -0
- package/dist/domains/manage/routes/dataComponents.d.ts +9 -0
- package/dist/domains/manage/routes/dataComponents.js +192 -0
- package/dist/domains/manage/routes/evals/datasetItems.d.ts +9 -0
- package/dist/domains/manage/routes/evals/datasetItems.js +310 -0
- package/dist/domains/manage/routes/evals/datasetRunConfigs.d.ts +9 -0
- package/dist/domains/manage/routes/evals/datasetRunConfigs.js +402 -0
- package/dist/domains/manage/routes/evals/datasetRuns.d.ts +9 -0
- package/dist/domains/manage/routes/evals/datasetRuns.js +256 -0
- package/dist/domains/manage/routes/evals/datasets.d.ts +9 -0
- package/dist/domains/manage/routes/evals/datasets.js +238 -0
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.d.ts +9 -0
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +146 -0
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.d.ts +9 -0
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +364 -0
- package/dist/domains/manage/routes/evals/evaluationResults.d.ts +7 -0
- package/dist/domains/manage/routes/evals/evaluationResults.js +192 -0
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.d.ts +9 -0
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +403 -0
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.d.ts +9 -0
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +146 -0
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.d.ts +9 -0
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +246 -0
- package/dist/domains/manage/routes/evals/evaluators.d.ts +9 -0
- package/dist/domains/manage/routes/evals/evaluators.js +281 -0
- package/dist/domains/manage/routes/evals/index.d.ts +9 -0
- package/dist/domains/manage/routes/evals/index.js +26 -0
- package/dist/domains/manage/routes/externalAgents.d.ts +9 -0
- package/dist/domains/manage/routes/externalAgents.js +199 -0
- package/dist/domains/manage/routes/functionTools.d.ts +9 -0
- package/dist/domains/manage/routes/functionTools.js +256 -0
- package/dist/domains/manage/routes/functions.d.ts +9 -0
- package/dist/domains/manage/routes/functions.js +285 -0
- package/dist/domains/manage/routes/index.d.ts +7 -0
- package/dist/domains/manage/routes/index.js +68 -0
- package/dist/domains/manage/routes/invitations.d.ts +9 -0
- package/dist/domains/manage/routes/invitations.js +41 -0
- package/dist/domains/manage/routes/mcp.d.ts +7 -0
- package/dist/domains/manage/routes/mcp.js +45 -0
- package/dist/domains/manage/routes/mcpCatalog.d.ts +9 -0
- package/dist/domains/manage/routes/mcpCatalog.js +454 -0
- package/dist/domains/manage/routes/oauth.d.ts +10 -0
- package/dist/domains/manage/routes/oauth.js +327 -0
- package/dist/domains/manage/routes/playgroundToken.d.ts +9 -0
- package/dist/domains/manage/routes/playgroundToken.js +127 -0
- package/dist/domains/manage/routes/projectFull.d.ts +9 -0
- package/dist/domains/manage/routes/projectFull.js +304 -0
- package/dist/domains/manage/routes/projectMembers.d.ts +9 -0
- package/dist/domains/manage/routes/projectMembers.js +201 -0
- package/dist/domains/manage/routes/projectPermissions.d.ts +9 -0
- package/dist/domains/manage/routes/projectPermissions.js +68 -0
- package/dist/domains/manage/routes/projects.d.ts +9 -0
- package/dist/domains/manage/routes/projects.js +279 -0
- package/dist/domains/manage/routes/ref.d.ts +9 -0
- package/dist/domains/manage/routes/ref.js +33 -0
- package/dist/domains/manage/routes/signoz.d.ts +10 -0
- package/dist/domains/manage/routes/signoz.js +159 -0
- package/dist/domains/manage/routes/subAgentArtifactComponents.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentArtifactComponents.js +202 -0
- package/dist/domains/manage/routes/subAgentDataComponents.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentDataComponents.js +201 -0
- package/dist/domains/manage/routes/subAgentExternalAgentRelations.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +216 -0
- package/dist/domains/manage/routes/subAgentFunctionTools.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentFunctionTools.js +205 -0
- package/dist/domains/manage/routes/subAgentRelations.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentRelations.js +263 -0
- package/dist/domains/manage/routes/subAgentTeamAgentRelations.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +216 -0
- package/dist/domains/manage/routes/subAgentToolRelations.d.ts +9 -0
- package/dist/domains/manage/routes/subAgentToolRelations.js +289 -0
- package/dist/domains/manage/routes/subAgents.d.ts +9 -0
- package/dist/domains/manage/routes/subAgents.js +220 -0
- package/dist/domains/manage/routes/thirdPartyMCPServers.d.ts +9 -0
- package/dist/domains/manage/routes/thirdPartyMCPServers.js +72 -0
- package/dist/domains/manage/routes/tools.d.ts +9 -0
- package/dist/domains/manage/routes/tools.js +261 -0
- package/dist/domains/manage/routes/triggers.d.ts +9 -0
- package/dist/domains/manage/routes/triggers.js +455 -0
- package/dist/domains/manage/routes/userOrganizations.d.ts +9 -0
- package/dist/domains/manage/routes/userOrganizations.js +58 -0
- package/dist/domains/run/a2a/client.d.ts +186 -0
- package/dist/domains/run/a2a/client.js +524 -0
- package/dist/domains/run/a2a/handlers.d.ts +7 -0
- package/dist/domains/run/a2a/handlers.js +574 -0
- package/dist/domains/run/a2a/transfer.d.ts +27 -0
- package/dist/domains/run/a2a/transfer.js +50 -0
- package/dist/domains/run/a2a/types.d.ts +75 -0
- package/dist/domains/run/a2a/types.js +22 -0
- package/dist/domains/run/agents/Agent.d.ts +273 -0
- package/dist/domains/run/agents/Agent.js +2104 -0
- package/dist/domains/run/agents/ModelFactory.d.ts +63 -0
- package/dist/domains/run/agents/ModelFactory.js +194 -0
- package/dist/domains/run/agents/SystemPromptBuilder.d.ts +21 -0
- package/dist/domains/run/agents/SystemPromptBuilder.js +48 -0
- package/dist/domains/run/agents/ToolSessionManager.d.ts +63 -0
- package/dist/domains/run/agents/ToolSessionManager.js +146 -0
- package/dist/domains/run/agents/generateTaskHandler.d.ts +44 -0
- package/dist/domains/run/agents/generateTaskHandler.js +396 -0
- package/dist/domains/run/agents/relationTools.d.ts +64 -0
- package/dist/domains/run/agents/relationTools.js +365 -0
- package/dist/domains/run/agents/types.d.ts +31 -0
- package/dist/domains/run/agents/types.js +1 -0
- package/dist/domains/run/agents/versions/v1/Phase1Config.d.ts +29 -0
- package/dist/domains/run/agents/versions/v1/Phase1Config.js +458 -0
- package/dist/domains/run/agents/versions/v1/Phase2Config.d.ts +33 -0
- package/dist/domains/run/agents/versions/v1/Phase2Config.js +341 -0
- package/dist/domains/run/constants/execution-limits/defaults.d.ts +51 -0
- package/dist/domains/run/constants/execution-limits/defaults.js +52 -0
- package/dist/domains/run/constants/execution-limits/index.d.ts +6 -0
- package/dist/domains/run/constants/execution-limits/index.js +21 -0
- package/dist/domains/run/context/ContextFetcher.d.ts +68 -0
- package/dist/domains/run/context/ContextFetcher.js +276 -0
- package/dist/domains/run/context/ContextResolver.d.ts +56 -0
- package/dist/domains/run/context/ContextResolver.js +273 -0
- package/dist/domains/run/context/context.d.ts +19 -0
- package/dist/domains/run/context/context.js +108 -0
- package/dist/domains/run/context/contextCache.d.ts +56 -0
- package/dist/domains/run/context/contextCache.js +174 -0
- package/dist/domains/run/context/index.d.ts +6 -0
- package/dist/domains/run/context/index.js +7 -0
- package/dist/domains/run/context/validation.d.ts +39 -0
- package/dist/domains/run/context/validation.js +255 -0
- package/dist/domains/run/data/agent.d.ts +7 -0
- package/dist/domains/run/data/agent.js +67 -0
- package/dist/domains/run/data/agents.d.ts +34 -0
- package/dist/domains/run/data/agents.js +131 -0
- package/dist/domains/run/data/conversations.d.ts +129 -0
- package/dist/domains/run/data/conversations.js +517 -0
- package/dist/domains/run/handlers/executionHandler.d.ts +44 -0
- package/dist/domains/run/handlers/executionHandler.js +485 -0
- package/dist/domains/run/index.d.ts +13 -0
- package/dist/domains/run/index.js +21 -0
- package/dist/domains/run/routes/agents.d.ts +13 -0
- package/dist/domains/run/routes/agents.js +141 -0
- package/dist/domains/run/routes/chat.d.ts +14 -0
- package/dist/domains/run/routes/chat.js +300 -0
- package/dist/domains/run/routes/chatDataStream.d.ts +14 -0
- package/dist/domains/run/routes/chatDataStream.js +381 -0
- package/dist/domains/run/routes/mcp.d.ts +14 -0
- package/dist/domains/run/routes/mcp.js +483 -0
- package/dist/domains/run/routes/webhooks.d.ts +15 -0
- package/dist/domains/run/routes/webhooks.js +416 -0
- package/dist/domains/run/services/AgentSession.d.ts +354 -0
- package/dist/domains/run/services/AgentSession.js +1203 -0
- package/dist/domains/run/services/ArtifactParser.d.ts +105 -0
- package/dist/domains/run/services/ArtifactParser.js +338 -0
- package/dist/domains/run/services/ArtifactService.d.ts +122 -0
- package/dist/domains/run/services/ArtifactService.js +629 -0
- package/dist/domains/run/services/BaseCompressor.d.ts +183 -0
- package/dist/domains/run/services/BaseCompressor.js +500 -0
- package/dist/domains/run/services/ConversationCompressor.d.ts +32 -0
- package/dist/domains/run/services/ConversationCompressor.js +91 -0
- package/dist/domains/run/services/IncrementalStreamParser.d.ts +98 -0
- package/dist/domains/run/services/IncrementalStreamParser.js +327 -0
- package/dist/domains/run/services/MidGenerationCompressor.d.ts +63 -0
- package/dist/domains/run/services/MidGenerationCompressor.js +104 -0
- package/dist/domains/run/services/PendingToolApprovalManager.d.ts +62 -0
- package/dist/domains/run/services/PendingToolApprovalManager.js +133 -0
- package/dist/domains/run/services/ResponseFormatter.d.ts +39 -0
- package/dist/domains/run/services/ResponseFormatter.js +152 -0
- package/dist/domains/run/services/evaluationRunConfigMatcher.d.ts +4 -0
- package/dist/domains/run/services/evaluationRunConfigMatcher.js +7 -0
- package/dist/domains/run/tools/NativeSandboxExecutor.d.ts +38 -0
- package/dist/domains/run/tools/NativeSandboxExecutor.js +432 -0
- package/dist/domains/run/tools/SandboxExecutorFactory.d.ts +36 -0
- package/dist/domains/run/tools/SandboxExecutorFactory.js +80 -0
- package/dist/domains/run/tools/VercelSandboxExecutor.d.ts +71 -0
- package/dist/domains/run/tools/VercelSandboxExecutor.js +340 -0
- package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +62 -0
- package/dist/domains/run/tools/distill-conversation-history-tool.js +206 -0
- package/dist/domains/run/tools/distill-conversation-tool.d.ts +41 -0
- package/dist/domains/run/tools/distill-conversation-tool.js +141 -0
- package/dist/domains/run/tools/sandbox-utils.d.ts +18 -0
- package/dist/domains/run/tools/sandbox-utils.js +53 -0
- package/dist/domains/run/types/chat.d.ts +27 -0
- package/dist/domains/run/types/chat.js +1 -0
- package/dist/domains/run/types/executionContext.d.ts +40 -0
- package/dist/domains/run/types/executionContext.js +28 -0
- package/dist/domains/run/types/xml.d.ts +5 -0
- package/dist/domains/run/utils/SchemaProcessor.d.ts +52 -0
- package/dist/domains/run/utils/SchemaProcessor.js +182 -0
- package/dist/domains/run/utils/agent-operations.d.ts +62 -0
- package/dist/domains/run/utils/agent-operations.js +53 -0
- package/dist/domains/run/utils/artifact-component-schema.d.ts +42 -0
- package/dist/domains/run/utils/artifact-component-schema.js +186 -0
- package/dist/domains/run/utils/cleanup.d.ts +21 -0
- package/dist/domains/run/utils/cleanup.js +59 -0
- package/dist/domains/run/utils/data-component-schema.d.ts +2 -0
- package/dist/domains/run/utils/data-component-schema.js +3 -0
- package/dist/domains/run/utils/default-status-schemas.d.ts +20 -0
- package/dist/domains/run/utils/default-status-schemas.js +24 -0
- package/dist/domains/run/utils/json-postprocessor.d.ts +13 -0
- package/dist/domains/run/utils/json-postprocessor.js +19 -0
- package/dist/domains/run/utils/model-context-utils.d.ts +39 -0
- package/dist/domains/run/utils/model-context-utils.js +181 -0
- package/dist/domains/run/utils/model-resolver.d.ts +6 -0
- package/dist/domains/run/utils/model-resolver.js +24 -0
- package/dist/domains/run/utils/project.d.ts +207 -0
- package/dist/domains/run/utils/project.js +315 -0
- package/dist/domains/run/utils/schema-validation.d.ts +44 -0
- package/dist/domains/run/utils/schema-validation.js +97 -0
- package/dist/domains/run/utils/stream-helpers.d.ts +193 -0
- package/dist/domains/run/utils/stream-helpers.js +510 -0
- package/dist/domains/run/utils/stream-registry.d.ts +22 -0
- package/dist/domains/run/utils/stream-registry.js +33 -0
- package/dist/domains/run/utils/token-estimator.d.ts +23 -0
- package/dist/domains/run/utils/token-estimator.js +17 -0
- package/dist/domains/run/utils/tracer.d.ts +7 -0
- package/dist/domains/run/utils/tracer.js +7 -0
- package/dist/env.d.ts +89 -0
- package/dist/env.js +69 -0
- package/dist/factory.d.ts +1535 -0
- package/dist/factory.js +42 -0
- package/dist/index.d.ts +1530 -0
- package/dist/index.js +59 -0
- package/dist/initialization.d.ts +6 -0
- package/dist/initialization.js +65 -0
- package/dist/instrumentation.d.ts +17 -0
- package/dist/instrumentation.js +68 -0
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +3 -0
- package/dist/middleware/branchScopedDb.d.ts +31 -0
- package/dist/middleware/branchScopedDb.js +137 -0
- package/dist/middleware/cors.d.ts +36 -0
- package/dist/middleware/cors.js +131 -0
- package/dist/middleware/errorHandler.d.ts +12 -0
- package/dist/middleware/errorHandler.js +88 -0
- package/dist/middleware/evalsAuth.d.ts +16 -0
- package/dist/middleware/evalsAuth.js +52 -0
- package/dist/middleware/index.d.ts +8 -0
- package/dist/middleware/index.js +9 -0
- package/dist/middleware/manageAuth.d.ts +25 -0
- package/dist/middleware/manageAuth.js +80 -0
- package/dist/middleware/projectAccess.d.ts +31 -0
- package/dist/middleware/projectAccess.js +118 -0
- package/dist/middleware/projectConfig.d.ts +25 -0
- package/dist/middleware/projectConfig.js +89 -0
- package/dist/middleware/ref.d.ts +61 -0
- package/dist/middleware/ref.js +239 -0
- package/dist/middleware/requirePermission.d.ts +14 -0
- package/dist/middleware/requirePermission.js +80 -0
- package/dist/middleware/runAuth.d.ts +29 -0
- package/dist/middleware/runAuth.js +253 -0
- package/dist/middleware/sessionAuth.d.ts +17 -0
- package/dist/middleware/sessionAuth.js +58 -0
- package/dist/middleware/tenantAccess.d.ts +22 -0
- package/dist/middleware/tenantAccess.js +63 -0
- package/dist/middleware/tracing.d.ts +7 -0
- package/dist/middleware/tracing.js +50 -0
- package/dist/openapi.d.ts +7 -0
- package/dist/openapi.js +156 -0
- package/dist/ssoHelpers.d.ts +20 -0
- package/dist/ssoHelpers.js +51 -0
- package/dist/templates/v1/phase1/system-prompt.js +5 -0
- package/dist/templates/v1/phase1/thinking-preparation.js +5 -0
- package/dist/templates/v1/phase1/tool.js +5 -0
- package/dist/templates/v1/phase2/data-component.js +5 -0
- package/dist/templates/v1/phase2/data-components.js +5 -0
- package/dist/templates/v1/phase2/system-prompt.js +5 -0
- package/dist/templates/v1/shared/artifact-retrieval-guidance.js +5 -0
- package/dist/templates/v1/shared/artifact.js +5 -0
- package/dist/types/app.d.ts +64 -0
- package/dist/types/app.js +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -0
- package/dist/types/runExecutionContext.d.ts +25 -0
- package/dist/types/runExecutionContext.js +28 -0
- package/dist/utils/oauthService.d.ts +71 -0
- package/dist/utils/oauthService.js +106 -0
- package/dist/utils/signozHelpers.d.ts +9 -0
- package/dist/utils/signozHelpers.js +33 -0
- package/dist/utils/speakeasy.d.ts +93 -0
- package/dist/utils/speakeasy.js +44 -0
- package/dist/utils/tempApiKeys.d.ts +17 -0
- package/dist/utils/tempApiKeys.js +26 -0
- package/dist/utils/workflowApiHelpers.d.ts +1 -0
- package/dist/utils/workflowApiHelpers.js +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
2
|
+
import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
|
|
3
|
+
import { ComponentAssociationListResponse, ErrorResponseSchema, ExistsResponseSchema, FunctionToolListResponse, RemovedResponseSchema, SubAgentFunctionToolRelationApiInsertSchema, SubAgentFunctionToolRelationResponse, TenantProjectAgentParamsSchema, TenantProjectAgentSubAgentParamsSchema, addFunctionToolToSubAgent, commonGetErrorResponses, createApiError, getFunctionToolById, getFunctionToolsForSubAgent, getSubAgentById, getSubAgentsUsingFunctionTool, isFunctionToolAssociatedWithSubAgent, removeFunctionToolFromSubAgent } from "@inkeep/agents-core";
|
|
4
|
+
|
|
5
|
+
//#region src/domains/manage/routes/subAgentFunctionTools.ts
|
|
6
|
+
const app = new OpenAPIHono();
|
|
7
|
+
app.use("/", async (c, next) => {
|
|
8
|
+
if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
|
|
9
|
+
return next();
|
|
10
|
+
});
|
|
11
|
+
app.use("/sub-agent/:subAgentId/function-tool/:functionToolId", async (c, next) => {
|
|
12
|
+
if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
|
|
13
|
+
return next();
|
|
14
|
+
});
|
|
15
|
+
app.openapi(createRoute({
|
|
16
|
+
method: "get",
|
|
17
|
+
path: "/sub-agent/{subAgentId}",
|
|
18
|
+
summary: "Get Function Tools for SubAgent",
|
|
19
|
+
operationId: "get-function-tools-for-sub-agent",
|
|
20
|
+
tags: ["SubAgent Function Tool Relations"],
|
|
21
|
+
request: { params: TenantProjectAgentSubAgentParamsSchema },
|
|
22
|
+
responses: {
|
|
23
|
+
200: {
|
|
24
|
+
description: "Function tools retrieved successfully",
|
|
25
|
+
content: { "application/json": { schema: FunctionToolListResponse } }
|
|
26
|
+
},
|
|
27
|
+
...commonGetErrorResponses
|
|
28
|
+
}
|
|
29
|
+
}), async (c) => {
|
|
30
|
+
const db = c.get("db");
|
|
31
|
+
const { tenantId, projectId, agentId, subAgentId } = c.req.valid("param");
|
|
32
|
+
const result = await getFunctionToolsForSubAgent(db)({
|
|
33
|
+
scopes: {
|
|
34
|
+
tenantId,
|
|
35
|
+
projectId,
|
|
36
|
+
agentId
|
|
37
|
+
},
|
|
38
|
+
subAgentId
|
|
39
|
+
});
|
|
40
|
+
return c.json(result);
|
|
41
|
+
});
|
|
42
|
+
app.openapi(createRoute({
|
|
43
|
+
method: "get",
|
|
44
|
+
path: "/function-tool/{functionToolId}/sub-agents",
|
|
45
|
+
summary: "Get SubAgents Using Function Tool",
|
|
46
|
+
operationId: "get-sub-agents-using-function-tool",
|
|
47
|
+
tags: ["SubAgent Function Tool Relations"],
|
|
48
|
+
request: { params: TenantProjectAgentParamsSchema.extend({ functionToolId: z.string() }) },
|
|
49
|
+
responses: {
|
|
50
|
+
200: {
|
|
51
|
+
description: "SubAgents retrieved successfully",
|
|
52
|
+
content: { "application/json": { schema: ComponentAssociationListResponse } }
|
|
53
|
+
},
|
|
54
|
+
...commonGetErrorResponses
|
|
55
|
+
}
|
|
56
|
+
}), async (c) => {
|
|
57
|
+
const db = c.get("db");
|
|
58
|
+
const { tenantId, projectId, agentId, functionToolId } = c.req.valid("param");
|
|
59
|
+
const agents = await getSubAgentsUsingFunctionTool(db)({
|
|
60
|
+
scopes: {
|
|
61
|
+
tenantId,
|
|
62
|
+
projectId,
|
|
63
|
+
agentId
|
|
64
|
+
},
|
|
65
|
+
functionToolId
|
|
66
|
+
});
|
|
67
|
+
return c.json({ data: agents });
|
|
68
|
+
});
|
|
69
|
+
app.openapi(createRoute({
|
|
70
|
+
method: "post",
|
|
71
|
+
path: "/",
|
|
72
|
+
summary: "Associate Function Tool with SubAgent",
|
|
73
|
+
operationId: "associate-function-tool-with-sub-agent",
|
|
74
|
+
tags: ["SubAgent Function Tool Relations"],
|
|
75
|
+
request: {
|
|
76
|
+
params: TenantProjectAgentParamsSchema,
|
|
77
|
+
body: { content: { "application/json": { schema: SubAgentFunctionToolRelationApiInsertSchema } } }
|
|
78
|
+
},
|
|
79
|
+
responses: {
|
|
80
|
+
201: {
|
|
81
|
+
description: "SubAgent function tool association created successfully",
|
|
82
|
+
content: { "application/json": { schema: SubAgentFunctionToolRelationResponse } }
|
|
83
|
+
},
|
|
84
|
+
409: {
|
|
85
|
+
description: "Association already exists",
|
|
86
|
+
content: { "application/json": { schema: ErrorResponseSchema } }
|
|
87
|
+
},
|
|
88
|
+
...commonGetErrorResponses
|
|
89
|
+
}
|
|
90
|
+
}), async (c) => {
|
|
91
|
+
const db = c.get("db");
|
|
92
|
+
const { tenantId, projectId, agentId } = c.req.valid("param");
|
|
93
|
+
const { subAgentId, functionToolId } = c.req.valid("json");
|
|
94
|
+
const [subAgent, functionTool] = await Promise.all([getSubAgentById(db)({
|
|
95
|
+
scopes: {
|
|
96
|
+
tenantId,
|
|
97
|
+
projectId,
|
|
98
|
+
agentId
|
|
99
|
+
},
|
|
100
|
+
subAgentId
|
|
101
|
+
}), getFunctionToolById(db)({
|
|
102
|
+
scopes: {
|
|
103
|
+
tenantId,
|
|
104
|
+
projectId,
|
|
105
|
+
agentId
|
|
106
|
+
},
|
|
107
|
+
functionToolId
|
|
108
|
+
})]);
|
|
109
|
+
if (!subAgent) throw createApiError({
|
|
110
|
+
code: "not_found",
|
|
111
|
+
message: `SubAgent with id '${subAgentId}' not found`
|
|
112
|
+
});
|
|
113
|
+
if (!functionTool) throw createApiError({
|
|
114
|
+
code: "not_found",
|
|
115
|
+
message: `Function tool with id '${functionToolId}' not found`
|
|
116
|
+
});
|
|
117
|
+
if (await isFunctionToolAssociatedWithSubAgent(db)({
|
|
118
|
+
scopes: {
|
|
119
|
+
tenantId,
|
|
120
|
+
projectId,
|
|
121
|
+
agentId
|
|
122
|
+
},
|
|
123
|
+
subAgentId,
|
|
124
|
+
functionToolId
|
|
125
|
+
})) throw createApiError({
|
|
126
|
+
code: "conflict",
|
|
127
|
+
message: "SubAgent function tool association already exists"
|
|
128
|
+
});
|
|
129
|
+
const association = await addFunctionToolToSubAgent(db)({
|
|
130
|
+
scopes: {
|
|
131
|
+
tenantId,
|
|
132
|
+
projectId,
|
|
133
|
+
agentId
|
|
134
|
+
},
|
|
135
|
+
subAgentId,
|
|
136
|
+
functionToolId
|
|
137
|
+
});
|
|
138
|
+
return c.json({ data: association }, 201);
|
|
139
|
+
});
|
|
140
|
+
app.openapi(createRoute({
|
|
141
|
+
method: "delete",
|
|
142
|
+
path: "/sub-agent/{subAgentId}/function-tool/{functionToolId}",
|
|
143
|
+
summary: "Remove Function Tool from SubAgent",
|
|
144
|
+
operationId: "remove-function-tool-from-sub-agent",
|
|
145
|
+
tags: ["SubAgent Function Tool Relations"],
|
|
146
|
+
request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ functionToolId: z.string() }) },
|
|
147
|
+
responses: {
|
|
148
|
+
200: {
|
|
149
|
+
description: "Association removed successfully",
|
|
150
|
+
content: { "application/json": { schema: RemovedResponseSchema } }
|
|
151
|
+
},
|
|
152
|
+
...commonGetErrorResponses
|
|
153
|
+
}
|
|
154
|
+
}), async (c) => {
|
|
155
|
+
const db = c.get("db");
|
|
156
|
+
const { tenantId, projectId, agentId, subAgentId, functionToolId } = c.req.valid("param");
|
|
157
|
+
if (!await removeFunctionToolFromSubAgent(db)({
|
|
158
|
+
scopes: {
|
|
159
|
+
tenantId,
|
|
160
|
+
projectId,
|
|
161
|
+
agentId
|
|
162
|
+
},
|
|
163
|
+
subAgentId,
|
|
164
|
+
functionToolId
|
|
165
|
+
})) throw createApiError({
|
|
166
|
+
code: "not_found",
|
|
167
|
+
message: "SubAgent function tool association not found"
|
|
168
|
+
});
|
|
169
|
+
return c.json({
|
|
170
|
+
message: "Association removed successfully",
|
|
171
|
+
removed: true
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
app.openapi(createRoute({
|
|
175
|
+
method: "get",
|
|
176
|
+
path: "/sub-agent/{subAgentId}/function-tool/{functionToolId}/exists",
|
|
177
|
+
summary: "Check if Function Tool is Associated with SubAgent",
|
|
178
|
+
operationId: "check-function-tool-sub-agent-association",
|
|
179
|
+
tags: ["SubAgent Function Tool Relations"],
|
|
180
|
+
request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ functionToolId: z.string() }) },
|
|
181
|
+
responses: {
|
|
182
|
+
200: {
|
|
183
|
+
description: "Association status retrieved successfully",
|
|
184
|
+
content: { "application/json": { schema: ExistsResponseSchema } }
|
|
185
|
+
},
|
|
186
|
+
...commonGetErrorResponses
|
|
187
|
+
}
|
|
188
|
+
}), async (c) => {
|
|
189
|
+
const db = c.get("db");
|
|
190
|
+
const { tenantId, projectId, agentId, subAgentId, functionToolId } = c.req.valid("param");
|
|
191
|
+
const exists = await isFunctionToolAssociatedWithSubAgent(db)({
|
|
192
|
+
scopes: {
|
|
193
|
+
tenantId,
|
|
194
|
+
projectId,
|
|
195
|
+
agentId
|
|
196
|
+
},
|
|
197
|
+
subAgentId,
|
|
198
|
+
functionToolId
|
|
199
|
+
});
|
|
200
|
+
return c.json({ exists });
|
|
201
|
+
});
|
|
202
|
+
var subAgentFunctionTools_default = app;
|
|
203
|
+
|
|
204
|
+
//#endregion
|
|
205
|
+
export { subAgentFunctionTools_default as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ManageAppVariables } from "../../../types/app.js";
|
|
2
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
3
|
+
|
|
4
|
+
//#region src/domains/manage/routes/subAgentRelations.d.ts
|
|
5
|
+
declare const app: OpenAPIHono<{
|
|
6
|
+
Variables: ManageAppVariables;
|
|
7
|
+
}, {}, "/">;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { app as default };
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
2
|
+
import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
|
|
3
|
+
import { OpenAPIHono, createRoute } from "@hono/zod-openapi";
|
|
4
|
+
import { ErrorResponseSchema, PaginationQueryParamsSchema, SubAgentRelationApiInsertSchema, SubAgentRelationApiUpdateSchema, SubAgentRelationListResponse, SubAgentRelationQuerySchema, SubAgentRelationResponse, TenantProjectAgentIdParamsSchema, TenantProjectAgentParamsSchema, commonGetErrorResponses, createApiError, createSubAgentRelation, deleteSubAgentRelation, generateId, getAgentRelationById, getAgentRelationsBySource, getSubAgentRelationsByTarget, listAgentRelations, updateAgentRelation, validateSubAgent } from "@inkeep/agents-core";
|
|
5
|
+
|
|
6
|
+
//#region src/domains/manage/routes/subAgentRelations.ts
|
|
7
|
+
const app = new OpenAPIHono();
|
|
8
|
+
app.use("/", async (c, next) => {
|
|
9
|
+
if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
|
|
10
|
+
return next();
|
|
11
|
+
});
|
|
12
|
+
app.use("/:id", async (c, next) => {
|
|
13
|
+
if (c.req.method === "PUT") return requireProjectPermission("edit")(c, next);
|
|
14
|
+
if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
|
|
15
|
+
return next();
|
|
16
|
+
});
|
|
17
|
+
app.openapi(createRoute({
|
|
18
|
+
method: "get",
|
|
19
|
+
path: "/",
|
|
20
|
+
summary: "List Sub Agent Relations",
|
|
21
|
+
operationId: "list-sub-agent-relations",
|
|
22
|
+
tags: ["Sub Agent Relations"],
|
|
23
|
+
request: {
|
|
24
|
+
params: TenantProjectAgentParamsSchema,
|
|
25
|
+
query: PaginationQueryParamsSchema.merge(SubAgentRelationQuerySchema)
|
|
26
|
+
},
|
|
27
|
+
responses: {
|
|
28
|
+
200: {
|
|
29
|
+
description: "List of sub agent relations retrieved successfully",
|
|
30
|
+
content: { "application/json": { schema: SubAgentRelationListResponse } }
|
|
31
|
+
},
|
|
32
|
+
...commonGetErrorResponses
|
|
33
|
+
},
|
|
34
|
+
...speakeasyOffsetLimitPagination
|
|
35
|
+
}), async (c) => {
|
|
36
|
+
const db = c.get("db");
|
|
37
|
+
const { tenantId, projectId, agentId } = c.req.valid("param");
|
|
38
|
+
const { page = 1, limit = 10, sourceSubAgentId, targetSubAgentId } = c.req.valid("query");
|
|
39
|
+
const pageNum = Number(page);
|
|
40
|
+
const limitNum = Math.min(Number(limit), 100);
|
|
41
|
+
try {
|
|
42
|
+
let result;
|
|
43
|
+
if (sourceSubAgentId) {
|
|
44
|
+
const rawResult = await getAgentRelationsBySource(db)({
|
|
45
|
+
scopes: {
|
|
46
|
+
tenantId,
|
|
47
|
+
projectId,
|
|
48
|
+
agentId
|
|
49
|
+
},
|
|
50
|
+
sourceSubAgentId,
|
|
51
|
+
pagination: {
|
|
52
|
+
page: pageNum,
|
|
53
|
+
limit: limitNum
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
result = {
|
|
57
|
+
...rawResult,
|
|
58
|
+
data: rawResult.data
|
|
59
|
+
};
|
|
60
|
+
} else if (targetSubAgentId) {
|
|
61
|
+
const rawResult = await getSubAgentRelationsByTarget(db)({
|
|
62
|
+
scopes: {
|
|
63
|
+
tenantId,
|
|
64
|
+
projectId,
|
|
65
|
+
agentId
|
|
66
|
+
},
|
|
67
|
+
targetSubAgentId,
|
|
68
|
+
pagination: {
|
|
69
|
+
page: pageNum,
|
|
70
|
+
limit: limitNum
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
result = {
|
|
74
|
+
...rawResult,
|
|
75
|
+
data: rawResult.data
|
|
76
|
+
};
|
|
77
|
+
} else {
|
|
78
|
+
const rawResult = await listAgentRelations(db)({
|
|
79
|
+
scopes: {
|
|
80
|
+
tenantId,
|
|
81
|
+
projectId,
|
|
82
|
+
agentId
|
|
83
|
+
},
|
|
84
|
+
pagination: {
|
|
85
|
+
page: pageNum,
|
|
86
|
+
limit: limitNum
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
result = {
|
|
90
|
+
...rawResult,
|
|
91
|
+
data: rawResult.data
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return c.json(result);
|
|
95
|
+
} catch (_error) {
|
|
96
|
+
throw createApiError({
|
|
97
|
+
code: "internal_server_error",
|
|
98
|
+
message: "Failed to retrieve sub agent relations"
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
app.openapi(createRoute({
|
|
103
|
+
method: "get",
|
|
104
|
+
path: "/{id}",
|
|
105
|
+
summary: "Get Sub Agent Relation",
|
|
106
|
+
operationId: "get-sub-agent-relation-by-id",
|
|
107
|
+
tags: ["Sub Agent Relations"],
|
|
108
|
+
request: { params: TenantProjectAgentIdParamsSchema },
|
|
109
|
+
responses: {
|
|
110
|
+
200: {
|
|
111
|
+
description: "Sub Agent relation found",
|
|
112
|
+
content: { "application/json": { schema: SubAgentRelationResponse } }
|
|
113
|
+
},
|
|
114
|
+
...commonGetErrorResponses
|
|
115
|
+
}
|
|
116
|
+
}), async (c) => {
|
|
117
|
+
const db = c.get("db");
|
|
118
|
+
const { tenantId, projectId, agentId, id } = c.req.valid("param");
|
|
119
|
+
const agentRelation = await getAgentRelationById(db)({
|
|
120
|
+
scopes: {
|
|
121
|
+
tenantId,
|
|
122
|
+
projectId,
|
|
123
|
+
agentId
|
|
124
|
+
},
|
|
125
|
+
relationId: id
|
|
126
|
+
});
|
|
127
|
+
if (!agentRelation) throw createApiError({
|
|
128
|
+
code: "not_found",
|
|
129
|
+
message: "Sub Agent Relation not found"
|
|
130
|
+
});
|
|
131
|
+
return c.json({ data: agentRelation });
|
|
132
|
+
});
|
|
133
|
+
app.openapi(createRoute({
|
|
134
|
+
method: "post",
|
|
135
|
+
path: "/",
|
|
136
|
+
summary: "Create Sub Agent Relation",
|
|
137
|
+
operationId: "create-sub-agent-relation",
|
|
138
|
+
tags: ["Sub Agent Relations"],
|
|
139
|
+
request: {
|
|
140
|
+
params: TenantProjectAgentParamsSchema,
|
|
141
|
+
body: { content: { "application/json": { schema: SubAgentRelationApiInsertSchema } } }
|
|
142
|
+
},
|
|
143
|
+
responses: {
|
|
144
|
+
201: {
|
|
145
|
+
description: "Sub Agent Relation created successfully",
|
|
146
|
+
content: { "application/json": { schema: SubAgentRelationResponse } }
|
|
147
|
+
},
|
|
148
|
+
...commonGetErrorResponses
|
|
149
|
+
}
|
|
150
|
+
}), async (c) => {
|
|
151
|
+
const db = c.get("db");
|
|
152
|
+
const { tenantId, projectId, agentId } = c.req.valid("param");
|
|
153
|
+
const body = await c.req.valid("json");
|
|
154
|
+
if (body.targetSubAgentId) {
|
|
155
|
+
if (!await validateSubAgent(db)({ scopes: {
|
|
156
|
+
tenantId,
|
|
157
|
+
projectId,
|
|
158
|
+
agentId,
|
|
159
|
+
subAgentId: body.targetSubAgentId
|
|
160
|
+
} })) throw createApiError({
|
|
161
|
+
code: "bad_request",
|
|
162
|
+
message: `Sub agent with ID ${body.targetSubAgentId} not found`
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if ((await listAgentRelations(db)({
|
|
166
|
+
scopes: {
|
|
167
|
+
tenantId,
|
|
168
|
+
projectId,
|
|
169
|
+
agentId
|
|
170
|
+
},
|
|
171
|
+
pagination: {
|
|
172
|
+
page: 1,
|
|
173
|
+
limit: 1e3
|
|
174
|
+
}
|
|
175
|
+
})).data.some((relation) => {
|
|
176
|
+
if (relation.agentId !== agentId || relation.sourceSubAgentId !== body.sourceSubAgentId) return false;
|
|
177
|
+
return relation.targetSubAgentId === body.targetSubAgentId;
|
|
178
|
+
})) throw createApiError({
|
|
179
|
+
code: "unprocessable_entity",
|
|
180
|
+
message: `A relation between these agents in this agent already exists`
|
|
181
|
+
});
|
|
182
|
+
const relationData = {
|
|
183
|
+
agentId,
|
|
184
|
+
tenantId,
|
|
185
|
+
id: generateId(),
|
|
186
|
+
projectId,
|
|
187
|
+
sourceSubAgentId: body.sourceSubAgentId,
|
|
188
|
+
targetSubAgentId: body.targetSubAgentId,
|
|
189
|
+
relationType: body.relationType
|
|
190
|
+
};
|
|
191
|
+
const agentRelation = await createSubAgentRelation(db)({ ...relationData });
|
|
192
|
+
return c.json({ data: agentRelation }, 201);
|
|
193
|
+
});
|
|
194
|
+
app.openapi(createRoute({
|
|
195
|
+
method: "put",
|
|
196
|
+
path: "/{id}",
|
|
197
|
+
summary: "Update Sub Agent Relation",
|
|
198
|
+
operationId: "update-sub-agent-relation",
|
|
199
|
+
tags: ["Sub Agent Relations"],
|
|
200
|
+
request: {
|
|
201
|
+
params: TenantProjectAgentIdParamsSchema,
|
|
202
|
+
body: { content: { "application/json": { schema: SubAgentRelationApiUpdateSchema } } }
|
|
203
|
+
},
|
|
204
|
+
responses: {
|
|
205
|
+
200: {
|
|
206
|
+
description: "Sub Agent relation updated successfully",
|
|
207
|
+
content: { "application/json": { schema: SubAgentRelationResponse } }
|
|
208
|
+
},
|
|
209
|
+
...commonGetErrorResponses
|
|
210
|
+
}
|
|
211
|
+
}), async (c) => {
|
|
212
|
+
const db = c.get("db");
|
|
213
|
+
const { tenantId, projectId, agentId, id } = c.req.valid("param");
|
|
214
|
+
const body = await c.req.valid("json");
|
|
215
|
+
const updatedAgentRelation = await updateAgentRelation(db)({
|
|
216
|
+
scopes: {
|
|
217
|
+
tenantId,
|
|
218
|
+
projectId,
|
|
219
|
+
agentId
|
|
220
|
+
},
|
|
221
|
+
relationId: id,
|
|
222
|
+
data: body
|
|
223
|
+
});
|
|
224
|
+
if (!updatedAgentRelation) throw createApiError({
|
|
225
|
+
code: "not_found",
|
|
226
|
+
message: "Sub Agent Relation not found"
|
|
227
|
+
});
|
|
228
|
+
return c.json({ data: updatedAgentRelation });
|
|
229
|
+
});
|
|
230
|
+
app.openapi(createRoute({
|
|
231
|
+
method: "delete",
|
|
232
|
+
path: "/{id}",
|
|
233
|
+
summary: "Delete Sub Agent Relation",
|
|
234
|
+
operationId: "delete-sub-agent-relation",
|
|
235
|
+
tags: ["Sub Agent Relations"],
|
|
236
|
+
request: { params: TenantProjectAgentIdParamsSchema },
|
|
237
|
+
responses: {
|
|
238
|
+
204: { description: "Sub Agent Relation deleted successfully" },
|
|
239
|
+
404: {
|
|
240
|
+
description: "Sub Agent Relation not found",
|
|
241
|
+
content: { "application/json": { schema: ErrorResponseSchema } }
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}), async (c) => {
|
|
245
|
+
const db = c.get("db");
|
|
246
|
+
const { tenantId, projectId, agentId, id } = c.req.valid("param");
|
|
247
|
+
if (!await deleteSubAgentRelation(db)({
|
|
248
|
+
scopes: {
|
|
249
|
+
tenantId,
|
|
250
|
+
projectId,
|
|
251
|
+
agentId
|
|
252
|
+
},
|
|
253
|
+
relationId: id
|
|
254
|
+
})) throw createApiError({
|
|
255
|
+
code: "not_found",
|
|
256
|
+
message: "Sub Agent Relation not found"
|
|
257
|
+
});
|
|
258
|
+
return c.body(null, 204);
|
|
259
|
+
});
|
|
260
|
+
var subAgentRelations_default = app;
|
|
261
|
+
|
|
262
|
+
//#endregion
|
|
263
|
+
export { subAgentRelations_default as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ManageAppVariables } from "../../../types/app.js";
|
|
2
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
3
|
+
|
|
4
|
+
//#region src/domains/manage/routes/subAgentTeamAgentRelations.d.ts
|
|
5
|
+
declare const app: OpenAPIHono<{
|
|
6
|
+
Variables: ManageAppVariables;
|
|
7
|
+
}, {}, "/">;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { app as default };
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
2
|
+
import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
|
|
3
|
+
import { OpenAPIHono, createRoute } from "@hono/zod-openapi";
|
|
4
|
+
import { ErrorResponseSchema, PaginationQueryParamsSchema, SubAgentTeamAgentRelationApiInsertSchema, SubAgentTeamAgentRelationApiUpdateSchema, SubAgentTeamAgentRelationListResponse, SubAgentTeamAgentRelationResponse, TenantProjectAgentSubAgentIdParamsSchema, TenantProjectAgentSubAgentParamsSchema, commonGetErrorResponses, createApiError, createSubAgentTeamAgentRelation, deleteSubAgentTeamAgentRelation, generateId, getSubAgentTeamAgentRelationById, listSubAgentTeamAgentRelations, updateSubAgentTeamAgentRelation } from "@inkeep/agents-core";
|
|
5
|
+
|
|
6
|
+
//#region src/domains/manage/routes/subAgentTeamAgentRelations.ts
|
|
7
|
+
const app = new OpenAPIHono();
|
|
8
|
+
app.use("/", async (c, next) => {
|
|
9
|
+
if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
|
|
10
|
+
return next();
|
|
11
|
+
});
|
|
12
|
+
app.use("/:id", async (c, next) => {
|
|
13
|
+
if (c.req.method === "PUT") return requireProjectPermission("edit")(c, next);
|
|
14
|
+
if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
|
|
15
|
+
return next();
|
|
16
|
+
});
|
|
17
|
+
app.openapi(createRoute({
|
|
18
|
+
method: "get",
|
|
19
|
+
path: "/",
|
|
20
|
+
summary: "List Sub Agent Team Agent Relations",
|
|
21
|
+
operationId: "list-sub-agent-team-agent-relations",
|
|
22
|
+
tags: ["Sub Agent Team Agent Relations"],
|
|
23
|
+
request: {
|
|
24
|
+
params: TenantProjectAgentSubAgentParamsSchema,
|
|
25
|
+
query: PaginationQueryParamsSchema
|
|
26
|
+
},
|
|
27
|
+
responses: {
|
|
28
|
+
200: {
|
|
29
|
+
description: "List of sub agent team agent relations retrieved successfully",
|
|
30
|
+
content: { "application/json": { schema: SubAgentTeamAgentRelationListResponse } }
|
|
31
|
+
},
|
|
32
|
+
...commonGetErrorResponses
|
|
33
|
+
},
|
|
34
|
+
...speakeasyOffsetLimitPagination
|
|
35
|
+
}), async (c) => {
|
|
36
|
+
const db = c.get("db");
|
|
37
|
+
const { tenantId, projectId, agentId, subAgentId } = c.req.valid("param");
|
|
38
|
+
const { page = 1, limit = 10 } = c.req.valid("query");
|
|
39
|
+
const pageNum = Number(page);
|
|
40
|
+
const limitNum = Math.min(Number(limit), 100);
|
|
41
|
+
try {
|
|
42
|
+
const result = await listSubAgentTeamAgentRelations(db)({
|
|
43
|
+
scopes: {
|
|
44
|
+
tenantId,
|
|
45
|
+
projectId,
|
|
46
|
+
agentId,
|
|
47
|
+
subAgentId
|
|
48
|
+
},
|
|
49
|
+
pagination: {
|
|
50
|
+
page: pageNum,
|
|
51
|
+
limit: limitNum
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return c.json(result);
|
|
55
|
+
} catch (_error) {
|
|
56
|
+
throw createApiError({
|
|
57
|
+
code: "internal_server_error",
|
|
58
|
+
message: "Failed to retrieve sub agent team agent relations"
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
app.openapi(createRoute({
|
|
63
|
+
method: "get",
|
|
64
|
+
path: "/{id}",
|
|
65
|
+
summary: "Get Sub Agent Team Agent Relation",
|
|
66
|
+
operationId: "get-sub-agent-team-agent-relation-by-id",
|
|
67
|
+
tags: ["Sub Agent Team Agent Relations"],
|
|
68
|
+
request: { params: TenantProjectAgentSubAgentIdParamsSchema },
|
|
69
|
+
responses: {
|
|
70
|
+
200: {
|
|
71
|
+
description: "Sub Agent team agent relation found",
|
|
72
|
+
content: { "application/json": { schema: SubAgentTeamAgentRelationResponse } }
|
|
73
|
+
},
|
|
74
|
+
...commonGetErrorResponses
|
|
75
|
+
}
|
|
76
|
+
}), async (c) => {
|
|
77
|
+
const db = c.get("db");
|
|
78
|
+
const { tenantId, projectId, agentId, subAgentId, id } = c.req.valid("param");
|
|
79
|
+
const relation = await getSubAgentTeamAgentRelationById(db)({
|
|
80
|
+
scopes: {
|
|
81
|
+
tenantId,
|
|
82
|
+
projectId,
|
|
83
|
+
agentId,
|
|
84
|
+
subAgentId
|
|
85
|
+
},
|
|
86
|
+
relationId: id
|
|
87
|
+
});
|
|
88
|
+
if (!relation) throw createApiError({
|
|
89
|
+
code: "not_found",
|
|
90
|
+
message: "Sub Agent Team Agent Relation not found"
|
|
91
|
+
});
|
|
92
|
+
return c.json({ data: relation });
|
|
93
|
+
});
|
|
94
|
+
app.openapi(createRoute({
|
|
95
|
+
method: "post",
|
|
96
|
+
path: "/",
|
|
97
|
+
summary: "Create Sub Agent Team Agent Relation",
|
|
98
|
+
operationId: "create-sub-agent-team-agent-relation",
|
|
99
|
+
tags: ["Sub Agent Team Agent Relations"],
|
|
100
|
+
request: {
|
|
101
|
+
params: TenantProjectAgentSubAgentParamsSchema,
|
|
102
|
+
body: { content: { "application/json": { schema: SubAgentTeamAgentRelationApiInsertSchema } } }
|
|
103
|
+
},
|
|
104
|
+
responses: {
|
|
105
|
+
201: {
|
|
106
|
+
description: "Sub Agent Team Agent Relation created successfully",
|
|
107
|
+
content: { "application/json": { schema: SubAgentTeamAgentRelationResponse } }
|
|
108
|
+
},
|
|
109
|
+
...commonGetErrorResponses
|
|
110
|
+
}
|
|
111
|
+
}), async (c) => {
|
|
112
|
+
const db = c.get("db");
|
|
113
|
+
const { tenantId, projectId, agentId, subAgentId } = c.req.valid("param");
|
|
114
|
+
const body = await c.req.valid("json");
|
|
115
|
+
if ((await listSubAgentTeamAgentRelations(db)({
|
|
116
|
+
scopes: {
|
|
117
|
+
tenantId,
|
|
118
|
+
projectId,
|
|
119
|
+
agentId,
|
|
120
|
+
subAgentId
|
|
121
|
+
},
|
|
122
|
+
pagination: {
|
|
123
|
+
page: 1,
|
|
124
|
+
limit: 1e3
|
|
125
|
+
}
|
|
126
|
+
})).data.some((relation$1) => relation$1.targetAgentId === body.targetAgentId && relation$1.subAgentId === subAgentId)) throw createApiError({
|
|
127
|
+
code: "unprocessable_entity",
|
|
128
|
+
message: `A relation between this sub-agent and team agent already exists`
|
|
129
|
+
});
|
|
130
|
+
const relation = await createSubAgentTeamAgentRelation(db)({
|
|
131
|
+
scopes: {
|
|
132
|
+
tenantId,
|
|
133
|
+
projectId,
|
|
134
|
+
agentId,
|
|
135
|
+
subAgentId
|
|
136
|
+
},
|
|
137
|
+
relationId: generateId(),
|
|
138
|
+
data: {
|
|
139
|
+
targetAgentId: body.targetAgentId,
|
|
140
|
+
headers: body.headers || null
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return c.json({ data: relation }, 201);
|
|
144
|
+
});
|
|
145
|
+
app.openapi(createRoute({
|
|
146
|
+
method: "put",
|
|
147
|
+
path: "/{id}",
|
|
148
|
+
summary: "Update Sub Agent Team Agent Relation",
|
|
149
|
+
operationId: "update-sub-agent-team-agent-relation",
|
|
150
|
+
tags: ["Sub Agent Team Agent Relations"],
|
|
151
|
+
request: {
|
|
152
|
+
params: TenantProjectAgentSubAgentIdParamsSchema,
|
|
153
|
+
body: { content: { "application/json": { schema: SubAgentTeamAgentRelationApiUpdateSchema } } }
|
|
154
|
+
},
|
|
155
|
+
responses: {
|
|
156
|
+
200: {
|
|
157
|
+
description: "Sub Agent team agent relation updated successfully",
|
|
158
|
+
content: { "application/json": { schema: SubAgentTeamAgentRelationResponse } }
|
|
159
|
+
},
|
|
160
|
+
...commonGetErrorResponses
|
|
161
|
+
}
|
|
162
|
+
}), async (c) => {
|
|
163
|
+
const db = c.get("db");
|
|
164
|
+
const { tenantId, projectId, agentId, subAgentId, id } = c.req.valid("param");
|
|
165
|
+
const body = await c.req.valid("json");
|
|
166
|
+
const updatedRelation = await updateSubAgentTeamAgentRelation(db)({
|
|
167
|
+
scopes: {
|
|
168
|
+
tenantId,
|
|
169
|
+
projectId,
|
|
170
|
+
agentId,
|
|
171
|
+
subAgentId
|
|
172
|
+
},
|
|
173
|
+
relationId: id,
|
|
174
|
+
data: body
|
|
175
|
+
});
|
|
176
|
+
if (!updatedRelation) throw createApiError({
|
|
177
|
+
code: "not_found",
|
|
178
|
+
message: "Sub Agent Team Agent Relation not found"
|
|
179
|
+
});
|
|
180
|
+
return c.json({ data: updatedRelation });
|
|
181
|
+
});
|
|
182
|
+
app.openapi(createRoute({
|
|
183
|
+
method: "delete",
|
|
184
|
+
path: "/{id}",
|
|
185
|
+
summary: "Delete Sub Agent Team Agent Relation",
|
|
186
|
+
operationId: "delete-sub-agent-team-agent-relation",
|
|
187
|
+
tags: ["Sub Agent Team Agent Relations"],
|
|
188
|
+
request: { params: TenantProjectAgentSubAgentIdParamsSchema },
|
|
189
|
+
responses: {
|
|
190
|
+
204: { description: "Sub Agent Team Agent Relation deleted successfully" },
|
|
191
|
+
404: {
|
|
192
|
+
description: "Sub Agent Team Agent Relation not found",
|
|
193
|
+
content: { "application/json": { schema: ErrorResponseSchema } }
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}), async (c) => {
|
|
197
|
+
const db = c.get("db");
|
|
198
|
+
const { tenantId, projectId, agentId, subAgentId, id } = c.req.valid("param");
|
|
199
|
+
if (!await deleteSubAgentTeamAgentRelation(db)({
|
|
200
|
+
scopes: {
|
|
201
|
+
tenantId,
|
|
202
|
+
projectId,
|
|
203
|
+
agentId,
|
|
204
|
+
subAgentId
|
|
205
|
+
},
|
|
206
|
+
relationId: id
|
|
207
|
+
})) throw createApiError({
|
|
208
|
+
code: "not_found",
|
|
209
|
+
message: "Sub Agent Team Agent Relation not found"
|
|
210
|
+
});
|
|
211
|
+
return c.body(null, 204);
|
|
212
|
+
});
|
|
213
|
+
var subAgentTeamAgentRelations_default = app;
|
|
214
|
+
|
|
215
|
+
//#endregion
|
|
216
|
+
export { subAgentTeamAgentRelations_default as default };
|