@inkeep/agents-api 0.0.1
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 +46446 -0
- package/dist/.well-known/workflow/v1/flow.cjs.debug.json +8 -0
- package/dist/.well-known/workflow/v1/manifest.debug.json +93 -0
- package/dist/.well-known/workflow/v1/step.cjs +219923 -0
- package/dist/.well-known/workflow/v1/step.cjs.debug.json +8 -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 +28 -0
- package/dist/domains/evals/workflow/functions/evaluateConversation.js +134 -0
- package/dist/domains/evals/workflow/functions/runDatasetItem.d.ts +36 -0
- package/dist/domains/evals/workflow/functions/runDatasetItem.js +204 -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 +264 -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 +423 -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 +582 -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 +79 -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 +384 -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 +42 -0
- package/dist/domains/run/handlers/executionHandler.js +484 -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 +396 -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 +9 -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 +44 -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 +126 -0
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import { getLogger as getLogger$1 } from "../../../logger.js";
|
|
2
|
+
import manageDbPool_default from "../../../data/db/manageDbPool.js";
|
|
3
|
+
import runDbClient_default from "../../../data/db/runDbClient.js";
|
|
4
|
+
import { evaluateConversationWorkflow } from "../workflow/functions/evaluateConversation.js";
|
|
5
|
+
import "../workflow/index.js";
|
|
6
|
+
import { queueEvaluationJobConversations } from "../services/evaluationJob.js";
|
|
7
|
+
import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
|
|
8
|
+
import { TenantProjectParamsSchema, TriggerEvaluationJobSchema, commonGetErrorResponses, createApiError, createEvaluationRun, generateId, getConversation, getEvaluationSuiteConfigById, getEvaluationSuiteConfigEvaluatorRelations, getEvaluatorsByIds, listEvaluationRunConfigsWithSuiteConfigs, withRef } from "@inkeep/agents-core";
|
|
9
|
+
import { start } from "workflow/api";
|
|
10
|
+
|
|
11
|
+
//#region src/domains/evals/routes/evaluationTriggers.ts
|
|
12
|
+
const app = new OpenAPIHono();
|
|
13
|
+
const logger = getLogger$1("ConversationEvaluations");
|
|
14
|
+
const TriggerConversationSchema = z.object({ conversationId: z.string() });
|
|
15
|
+
app.openapi(createRoute({
|
|
16
|
+
method: "post",
|
|
17
|
+
path: "/evaluate-conversation",
|
|
18
|
+
summary: "Trigger evaluation on a single conversation",
|
|
19
|
+
operationId: "evaluate-conversation",
|
|
20
|
+
tags: ["Evaluations"],
|
|
21
|
+
request: {
|
|
22
|
+
params: TenantProjectParamsSchema,
|
|
23
|
+
body: { content: { "application/json": { schema: TriggerConversationSchema } } }
|
|
24
|
+
},
|
|
25
|
+
responses: {
|
|
26
|
+
200: {
|
|
27
|
+
description: "Evaluation triggered successfully",
|
|
28
|
+
content: { "application/json": { schema: z.object({
|
|
29
|
+
success: z.boolean(),
|
|
30
|
+
message: z.string(),
|
|
31
|
+
evaluationsTriggered: z.number()
|
|
32
|
+
}) } }
|
|
33
|
+
},
|
|
34
|
+
...commonGetErrorResponses
|
|
35
|
+
}
|
|
36
|
+
}), async (c) => {
|
|
37
|
+
const { tenantId, projectId } = c.req.valid("param");
|
|
38
|
+
const body = c.req.valid("json");
|
|
39
|
+
const resolvedRef = c.get("resolvedRef");
|
|
40
|
+
const { conversationId } = body;
|
|
41
|
+
try {
|
|
42
|
+
logger.info({
|
|
43
|
+
tenantId,
|
|
44
|
+
projectId,
|
|
45
|
+
conversationId
|
|
46
|
+
}, "Triggering conversation evaluation (eval-api handling all logic)");
|
|
47
|
+
if (!await getConversation(runDbClient_default)({
|
|
48
|
+
scopes: {
|
|
49
|
+
tenantId,
|
|
50
|
+
projectId
|
|
51
|
+
},
|
|
52
|
+
conversationId
|
|
53
|
+
})) {
|
|
54
|
+
logger.warn({ conversationId }, "Conversation not found");
|
|
55
|
+
return c.json(createApiError({
|
|
56
|
+
code: "not_found",
|
|
57
|
+
message: "Conversation not found"
|
|
58
|
+
}), 404);
|
|
59
|
+
}
|
|
60
|
+
const runConfigs = (await withRef(manageDbPool_default, resolvedRef, (db) => listEvaluationRunConfigsWithSuiteConfigs(db)({ scopes: {
|
|
61
|
+
tenantId,
|
|
62
|
+
projectId
|
|
63
|
+
} }))).filter((config) => config.isActive);
|
|
64
|
+
if (runConfigs.length === 0) {
|
|
65
|
+
logger.debug({
|
|
66
|
+
tenantId,
|
|
67
|
+
projectId
|
|
68
|
+
}, "No active evaluation run configs found");
|
|
69
|
+
return c.json({
|
|
70
|
+
success: true,
|
|
71
|
+
message: "No active evaluation run configs",
|
|
72
|
+
evaluationsTriggered: 0
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
let evaluationsTriggered = 0;
|
|
76
|
+
for (const runConfig of runConfigs) for (const suiteConfigId of runConfig.suiteConfigIds) {
|
|
77
|
+
const suiteConfig = await withRef(manageDbPool_default, resolvedRef, (db) => getEvaluationSuiteConfigById(db)({ scopes: {
|
|
78
|
+
tenantId,
|
|
79
|
+
projectId,
|
|
80
|
+
evaluationSuiteConfigId: suiteConfigId
|
|
81
|
+
} }));
|
|
82
|
+
if (!suiteConfig) {
|
|
83
|
+
logger.warn({ suiteConfigId }, "Suite config not found, skipping");
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (suiteConfig.sampleRate !== null && suiteConfig.sampleRate !== void 0) {
|
|
87
|
+
const random = Math.random();
|
|
88
|
+
if (random > suiteConfig.sampleRate) {
|
|
89
|
+
logger.info({
|
|
90
|
+
suiteConfigId: suiteConfig.id,
|
|
91
|
+
sampleRate: suiteConfig.sampleRate,
|
|
92
|
+
random,
|
|
93
|
+
conversationId
|
|
94
|
+
}, "Conversation filtered out by sample rate");
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const evaluatorIds = (await withRef(manageDbPool_default, resolvedRef, (db) => getEvaluationSuiteConfigEvaluatorRelations(db)({ scopes: {
|
|
99
|
+
tenantId,
|
|
100
|
+
projectId,
|
|
101
|
+
evaluationSuiteConfigId: suiteConfigId
|
|
102
|
+
} }))).map((r) => r.evaluatorId);
|
|
103
|
+
if (evaluatorIds.length === 0) continue;
|
|
104
|
+
const evaluationRunId = generateId();
|
|
105
|
+
await createEvaluationRun(runDbClient_default)({
|
|
106
|
+
id: evaluationRunId,
|
|
107
|
+
tenantId,
|
|
108
|
+
projectId,
|
|
109
|
+
evaluationRunConfigId: runConfig.id
|
|
110
|
+
});
|
|
111
|
+
logger.info({
|
|
112
|
+
conversationId,
|
|
113
|
+
runConfigId: runConfig.id,
|
|
114
|
+
evaluationRunId,
|
|
115
|
+
evaluatorCount: evaluatorIds.length,
|
|
116
|
+
sampleRate: suiteConfig.sampleRate
|
|
117
|
+
}, "Created evaluation run, starting workflow");
|
|
118
|
+
await start(evaluateConversationWorkflow, [{
|
|
119
|
+
tenantId,
|
|
120
|
+
projectId,
|
|
121
|
+
conversationId,
|
|
122
|
+
evaluatorIds,
|
|
123
|
+
evaluationRunId
|
|
124
|
+
}]);
|
|
125
|
+
evaluationsTriggered++;
|
|
126
|
+
}
|
|
127
|
+
return c.json({
|
|
128
|
+
success: true,
|
|
129
|
+
message: evaluationsTriggered > 0 ? `Triggered ${evaluationsTriggered} evaluation(s)` : "No evaluations matched (filtered by sample rate or no evaluators)",
|
|
130
|
+
evaluationsTriggered
|
|
131
|
+
});
|
|
132
|
+
} catch (error) {
|
|
133
|
+
logger.error({
|
|
134
|
+
error,
|
|
135
|
+
errorStack: error?.stack,
|
|
136
|
+
tenantId,
|
|
137
|
+
projectId,
|
|
138
|
+
conversationId
|
|
139
|
+
}, "Failed to trigger conversation evaluation");
|
|
140
|
+
return c.json(createApiError({
|
|
141
|
+
code: "internal_server_error",
|
|
142
|
+
message: error?.message || "Failed to trigger evaluation"
|
|
143
|
+
}), 500);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
app.openapi(createRoute({
|
|
147
|
+
method: "post",
|
|
148
|
+
path: "/evaluate-conversations",
|
|
149
|
+
summary: "Trigger evaluations on conversations with specified evaluators",
|
|
150
|
+
operationId: "start-conversations-evaluations",
|
|
151
|
+
tags: ["Evaluations"],
|
|
152
|
+
request: {
|
|
153
|
+
params: TenantProjectParamsSchema,
|
|
154
|
+
body: { content: { "application/json": { schema: z.object({
|
|
155
|
+
conversationIds: z.array(z.string()).min(1, "At least one conversation is required"),
|
|
156
|
+
evaluatorIds: z.array(z.string()).min(1, "At least one evaluator is required")
|
|
157
|
+
}) } } }
|
|
158
|
+
},
|
|
159
|
+
responses: {
|
|
160
|
+
202: {
|
|
161
|
+
description: "Evaluations triggered",
|
|
162
|
+
content: { "application/json": { schema: z.object({
|
|
163
|
+
message: z.string(),
|
|
164
|
+
evaluationRunId: z.string(),
|
|
165
|
+
conversationIds: z.array(z.string()),
|
|
166
|
+
evaluatorIds: z.array(z.string())
|
|
167
|
+
}) } }
|
|
168
|
+
},
|
|
169
|
+
...commonGetErrorResponses
|
|
170
|
+
}
|
|
171
|
+
}), async (c) => {
|
|
172
|
+
const { tenantId, projectId } = c.req.valid("param");
|
|
173
|
+
const { conversationIds, evaluatorIds } = c.req.valid("json");
|
|
174
|
+
const resolvedRef = c.get("resolvedRef");
|
|
175
|
+
try {
|
|
176
|
+
const conversations = await Promise.all(conversationIds.map((conversationId) => getConversation(runDbClient_default)({
|
|
177
|
+
scopes: {
|
|
178
|
+
tenantId,
|
|
179
|
+
projectId
|
|
180
|
+
},
|
|
181
|
+
conversationId
|
|
182
|
+
})));
|
|
183
|
+
const missingConversations = conversationIds.filter((_id, index) => !conversations[index]);
|
|
184
|
+
if (missingConversations.length > 0) return c.json(createApiError({
|
|
185
|
+
code: "not_found",
|
|
186
|
+
message: `Conversations not found: ${missingConversations.join(", ")}`
|
|
187
|
+
}), 404);
|
|
188
|
+
const evaluators = await withRef(manageDbPool_default, resolvedRef, (db) => getEvaluatorsByIds(db)({
|
|
189
|
+
scopes: {
|
|
190
|
+
tenantId,
|
|
191
|
+
projectId
|
|
192
|
+
},
|
|
193
|
+
evaluatorIds
|
|
194
|
+
}));
|
|
195
|
+
const missingEvaluators = evaluatorIds.filter((_id, index) => !evaluators[index]);
|
|
196
|
+
if (missingEvaluators.length > 0) return c.json(createApiError({
|
|
197
|
+
code: "not_found",
|
|
198
|
+
message: `Evaluators not found: ${missingEvaluators.join(", ")}`
|
|
199
|
+
}), 404);
|
|
200
|
+
const evaluationRunId = generateId();
|
|
201
|
+
await createEvaluationRun(runDbClient_default)({
|
|
202
|
+
id: evaluationRunId,
|
|
203
|
+
tenantId,
|
|
204
|
+
projectId
|
|
205
|
+
});
|
|
206
|
+
await Promise.all(conversationIds.map((conversationId) => start(evaluateConversationWorkflow, [{
|
|
207
|
+
tenantId,
|
|
208
|
+
projectId,
|
|
209
|
+
conversationId,
|
|
210
|
+
evaluatorIds,
|
|
211
|
+
evaluationRunId
|
|
212
|
+
}])));
|
|
213
|
+
logger.info({
|
|
214
|
+
tenantId,
|
|
215
|
+
projectId,
|
|
216
|
+
conversationIds,
|
|
217
|
+
evaluatorIds,
|
|
218
|
+
evaluationRunId
|
|
219
|
+
}, "Conversation evaluations triggered");
|
|
220
|
+
return c.json({
|
|
221
|
+
message: "Evaluations triggered successfully",
|
|
222
|
+
evaluationRunId,
|
|
223
|
+
conversationIds,
|
|
224
|
+
evaluatorIds
|
|
225
|
+
}, 202);
|
|
226
|
+
} catch (error) {
|
|
227
|
+
logger.error({
|
|
228
|
+
error,
|
|
229
|
+
tenantId,
|
|
230
|
+
projectId,
|
|
231
|
+
conversationIds
|
|
232
|
+
}, "Failed to trigger conversation evaluations");
|
|
233
|
+
return c.json(createApiError({
|
|
234
|
+
code: "internal_server_error",
|
|
235
|
+
message: "Failed to trigger evaluations"
|
|
236
|
+
}), 500);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
app.openapi(createRoute({
|
|
240
|
+
method: "post",
|
|
241
|
+
path: "/evaluate-conversations-by-job",
|
|
242
|
+
summary: "Trigger evaluations on conversations by evaluation job config",
|
|
243
|
+
description: "Filters conversations based on job filters, creates an evaluation run, and enqueues workflows",
|
|
244
|
+
operationId: "evaluate-conversations-by-job",
|
|
245
|
+
tags: ["Workflows"],
|
|
246
|
+
request: {
|
|
247
|
+
params: TenantProjectParamsSchema,
|
|
248
|
+
body: { content: { "application/json": { schema: TriggerEvaluationJobSchema } } }
|
|
249
|
+
},
|
|
250
|
+
responses: {
|
|
251
|
+
202: {
|
|
252
|
+
description: "Evaluation job triggered successfully",
|
|
253
|
+
content: { "application/json": { schema: z.object({
|
|
254
|
+
queued: z.number(),
|
|
255
|
+
failed: z.number(),
|
|
256
|
+
evaluationRunId: z.string(),
|
|
257
|
+
conversationCount: z.number()
|
|
258
|
+
}) } }
|
|
259
|
+
},
|
|
260
|
+
400: { description: "Invalid request" },
|
|
261
|
+
500: { description: "Internal server error" }
|
|
262
|
+
}
|
|
263
|
+
}), async (c) => {
|
|
264
|
+
const { tenantId, projectId } = c.req.valid("param");
|
|
265
|
+
const { evaluationJobConfigId, evaluatorIds, jobFilters } = c.req.valid("json");
|
|
266
|
+
logger.info({
|
|
267
|
+
tenantId,
|
|
268
|
+
projectId,
|
|
269
|
+
evaluationJobConfigId,
|
|
270
|
+
evaluatorCount: evaluatorIds.length
|
|
271
|
+
}, "Triggering evaluation job");
|
|
272
|
+
try {
|
|
273
|
+
const { conversationCount, queued, failed, evaluationRunId } = await queueEvaluationJobConversations({
|
|
274
|
+
tenantId,
|
|
275
|
+
projectId,
|
|
276
|
+
evaluationJobConfigId,
|
|
277
|
+
evaluatorIds,
|
|
278
|
+
jobFilters
|
|
279
|
+
});
|
|
280
|
+
logger.info({
|
|
281
|
+
tenantId,
|
|
282
|
+
projectId,
|
|
283
|
+
evaluationJobConfigId,
|
|
284
|
+
evaluationRunId,
|
|
285
|
+
conversationCount,
|
|
286
|
+
queued,
|
|
287
|
+
failed
|
|
288
|
+
}, "Evaluation job triggered successfully");
|
|
289
|
+
return c.json({
|
|
290
|
+
queued,
|
|
291
|
+
failed,
|
|
292
|
+
evaluationRunId,
|
|
293
|
+
conversationCount
|
|
294
|
+
}, 202);
|
|
295
|
+
} catch (err) {
|
|
296
|
+
logger.error({
|
|
297
|
+
err,
|
|
298
|
+
tenantId,
|
|
299
|
+
projectId,
|
|
300
|
+
evaluationJobConfigId
|
|
301
|
+
}, "Failed to trigger evaluation job");
|
|
302
|
+
return c.json({
|
|
303
|
+
error: "Failed to trigger evaluation job",
|
|
304
|
+
message: err.message
|
|
305
|
+
}, 500);
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
var evaluationTriggers_default = app;
|
|
309
|
+
|
|
310
|
+
//#endregion
|
|
311
|
+
export { evaluationTriggers_default as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import datasetTriggers_default from "./datasetTriggers.js";
|
|
2
|
+
import evaluationTriggers_default from "./evaluationTriggers.js";
|
|
3
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
4
|
+
|
|
5
|
+
//#region src/domains/evals/routes/index.ts
|
|
6
|
+
const app = new OpenAPIHono();
|
|
7
|
+
app.route("/", datasetTriggers_default);
|
|
8
|
+
app.route("/", evaluationTriggers_default);
|
|
9
|
+
var routes_default = app;
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { routes_default as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { StandaloneBuilder } from "@workflow/builders";
|
|
2
|
+
|
|
3
|
+
//#region src/domains/evals/scripts/build-workflow.ts
|
|
4
|
+
/**
|
|
5
|
+
* Custom workflow build script that supports externalizing native modules.
|
|
6
|
+
*
|
|
7
|
+
* The default `workflow build` CLI doesn't expose the externalPackages option,
|
|
8
|
+
* so we use the builder directly to exclude native modules like keytar.
|
|
9
|
+
*/
|
|
10
|
+
const config = {
|
|
11
|
+
dirs: ["./src/domains/evals/workflow"],
|
|
12
|
+
workingDir: process.cwd(),
|
|
13
|
+
buildTarget: "standalone",
|
|
14
|
+
stepsBundlePath: "./.well-known/workflow/v1/step.cjs",
|
|
15
|
+
workflowsBundlePath: "./.well-known/workflow/v1/flow.cjs",
|
|
16
|
+
webhookBundlePath: "./.well-known/workflow/v1/webhook.mjs",
|
|
17
|
+
externalPackages: ["keytar"]
|
|
18
|
+
};
|
|
19
|
+
async function build() {
|
|
20
|
+
console.log("Building workflow bundles...");
|
|
21
|
+
console.log("External packages:", config.externalPackages);
|
|
22
|
+
await new StandaloneBuilder(config).build();
|
|
23
|
+
console.log("Workflow build completed!");
|
|
24
|
+
}
|
|
25
|
+
build().catch((err) => {
|
|
26
|
+
console.error("Build failed:", err);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { ConversationSelect, DatasetItemSelect, EvaluationResultSelect, EvaluatorSelect } from "@inkeep/agents-core";
|
|
2
|
+
|
|
3
|
+
//#region src/domains/evals/services/EvaluationService.d.ts
|
|
4
|
+
interface RunDatasetItemOptions {
|
|
5
|
+
tenantId: string;
|
|
6
|
+
projectId: string;
|
|
7
|
+
agentId: string;
|
|
8
|
+
datasetItem: DatasetItemSelect;
|
|
9
|
+
datasetRunId: string;
|
|
10
|
+
conversationId?: string;
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
}
|
|
13
|
+
interface ChatApiResponse {
|
|
14
|
+
conversationId?: string;
|
|
15
|
+
response?: string;
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Service for running dataset items through the chat API endpoint
|
|
20
|
+
*/
|
|
21
|
+
declare class EvaluationService {
|
|
22
|
+
private readonly agentsApiUrl;
|
|
23
|
+
private readonly runApiBypassSecret;
|
|
24
|
+
constructor();
|
|
25
|
+
/**
|
|
26
|
+
* Run a dataset item through the chat API endpoint
|
|
27
|
+
* Supports multi-turn conversations with simulation agents
|
|
28
|
+
*/
|
|
29
|
+
runDatasetItem(options: RunDatasetItemOptions): Promise<ChatApiResponse>;
|
|
30
|
+
/**
|
|
31
|
+
* Run a single-turn conversation (original behavior)
|
|
32
|
+
*/
|
|
33
|
+
private runSingleTurn;
|
|
34
|
+
/**
|
|
35
|
+
* Run a multi-turn conversation with simulation agent
|
|
36
|
+
*/
|
|
37
|
+
private runDatasetItemWithSimulation;
|
|
38
|
+
/**
|
|
39
|
+
* Build prompt for simulation agent based on persona and conversation history
|
|
40
|
+
*/
|
|
41
|
+
private buildSimulationPrompt;
|
|
42
|
+
/**
|
|
43
|
+
* Extract messages from dataset item input
|
|
44
|
+
*/
|
|
45
|
+
private extractMessagesFromDatasetItem;
|
|
46
|
+
/**
|
|
47
|
+
* Parse SSE (Server-Sent Events) response from chat API
|
|
48
|
+
* Handles text deltas, error operations, and other data operations
|
|
49
|
+
*/
|
|
50
|
+
private parseSSEResponse;
|
|
51
|
+
/**
|
|
52
|
+
* Run an evaluation job based on an evaluation job config
|
|
53
|
+
* Filters conversations based on jobFilters and runs evaluations with configured evaluators
|
|
54
|
+
*/
|
|
55
|
+
runEvaluationJob(params: {
|
|
56
|
+
tenantId: string;
|
|
57
|
+
projectId: string;
|
|
58
|
+
evaluationJobConfigId: string;
|
|
59
|
+
sampleRate?: number | null;
|
|
60
|
+
}): Promise<Array<EvaluationResultSelect>>;
|
|
61
|
+
/**
|
|
62
|
+
* Apply sample rate to conversations
|
|
63
|
+
*/
|
|
64
|
+
applySampleRate<T>(items: T[], sampleRate: number | null | undefined): T[];
|
|
65
|
+
/**
|
|
66
|
+
* Execute an evaluation by calling the LLM with the evaluator prompt and conversation data
|
|
67
|
+
*/
|
|
68
|
+
executeEvaluation(params: {
|
|
69
|
+
conversation: ConversationSelect;
|
|
70
|
+
evaluator: EvaluatorSelect;
|
|
71
|
+
tenantId: string;
|
|
72
|
+
projectId: string;
|
|
73
|
+
expectedOutput?: unknown;
|
|
74
|
+
}): Promise<{
|
|
75
|
+
output: any;
|
|
76
|
+
metadata: Record<string, unknown>;
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Build evaluation prompt with agent definition, conversation history, trace, and expected output
|
|
80
|
+
*/
|
|
81
|
+
private buildEvalInputEvaluationPrompt;
|
|
82
|
+
/**
|
|
83
|
+
* Call LLM API using AI SDK's generateObject for structured output
|
|
84
|
+
*/
|
|
85
|
+
private callLLM;
|
|
86
|
+
/**
|
|
87
|
+
* Fetch trace from SigNoz (similar to the example)
|
|
88
|
+
*/
|
|
89
|
+
private fetchTraceFromSigNoz;
|
|
90
|
+
/**
|
|
91
|
+
* Format conversation detail as prettified trace
|
|
92
|
+
*/
|
|
93
|
+
private formatConversationAsPrettifiedTrace;
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
export { ChatApiResponse, EvaluationService, RunDatasetItemOptions };
|