@inkeep/agents-api 0.0.0-dev-20260219033751 → 0.0.0-dev-20260219045007
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/dist/.well-known/workflow/v1/manifest.json +34 -34
- package/dist/createApp.js +16 -90
- package/dist/data/db/manageDbClient.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.js +5 -2
- package/dist/domains/evals/routes/evaluationTriggers.js +9 -4
- package/dist/domains/evals/routes/index.d.ts +2 -2
- package/dist/domains/evals/workflow/routes.d.ts +2 -2
- package/dist/domains/manage/index.js +4 -0
- package/dist/domains/manage/routes/agent.js +16 -20
- package/dist/domains/manage/routes/agentFull.js +10 -17
- package/dist/domains/manage/routes/apiKeys.js +12 -14
- package/dist/domains/manage/routes/artifactComponents.js +12 -15
- package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
- package/dist/domains/manage/routes/availableAgents.js +4 -2
- package/dist/domains/manage/routes/branches.js +12 -14
- package/dist/domains/manage/routes/cliAuth.js +4 -3
- package/dist/domains/manage/routes/contextConfigs.js +12 -15
- package/dist/domains/manage/routes/conversations.d.ts +2 -2
- package/dist/domains/manage/routes/conversations.js +5 -2
- package/dist/domains/manage/routes/credentialStores.js +7 -8
- package/dist/domains/manage/routes/credentials.js +12 -14
- package/dist/domains/manage/routes/dataComponents.js +12 -14
- package/dist/domains/manage/routes/evals/datasetItems.js +14 -19
- package/dist/domains/manage/routes/evals/datasetRunConfigs.js +13 -6
- package/dist/domains/manage/routes/evals/datasetRuns.js +7 -3
- package/dist/domains/manage/routes/evals/datasets.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationResults.js +10 -13
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +14 -15
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluators.js +14 -15
- package/dist/domains/manage/routes/externalAgents.js +12 -14
- package/dist/domains/manage/routes/functionTools.js +12 -15
- package/dist/domains/manage/routes/functions.js +12 -15
- package/dist/domains/manage/routes/github.js +16 -8
- package/dist/domains/manage/routes/index.d.ts +2 -2
- package/dist/domains/manage/routes/index.js +0 -4
- package/dist/domains/manage/routes/invitations.d.ts +2 -2
- package/dist/domains/manage/routes/mcpCatalog.js +5 -2
- package/dist/domains/manage/routes/mcpToolGithubAccess.js +6 -4
- package/dist/domains/manage/routes/oauth.js +6 -66
- package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
- package/dist/domains/manage/routes/playgroundToken.js +4 -2
- package/dist/domains/manage/routes/projectFull.js +13 -26
- package/dist/domains/manage/routes/projectGithubAccess.js +7 -3
- package/dist/domains/manage/routes/projectMembers.js +14 -13
- package/dist/domains/manage/routes/projectPermissions.js +5 -2
- package/dist/domains/manage/routes/projects.js +12 -16
- package/dist/domains/manage/routes/ref.js +5 -2
- package/dist/domains/manage/routes/scheduledTriggers.js +24 -21
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/skills.js +12 -15
- package/dist/domains/manage/routes/subAgentArtifactComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentDataComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentFunctionTools.js +12 -14
- package/dist/domains/manage/routes/subAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentSkills.js +8 -12
- package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentToolRelations.js +14 -16
- package/dist/domains/manage/routes/subAgents.js +12 -15
- package/dist/domains/manage/routes/thirdPartyMCPServers.js +7 -3
- package/dist/domains/manage/routes/tools.js +79 -16
- package/dist/domains/manage/routes/triggers.js +18 -22
- package/dist/domains/manage/routes/userProjectMemberships.js +5 -3
- package/dist/domains/manage/routes/users.d.ts +2 -2
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.d.ts +2 -2
- package/dist/domains/run/routes/agents.js +4 -2
- package/dist/domains/run/routes/chat.js +4 -2
- package/dist/domains/run/routes/chatDataStream.js +6 -3
- package/dist/domains/run/routes/mcp.js +4 -2
- package/dist/domains/run/routes/webhooks.js +5 -3
- package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +1 -1
- package/dist/domains/run/types/chat.d.ts +4 -4
- package/dist/domains/run/utils/token-estimator.d.ts +2 -2
- package/dist/domains/run/workflow/steps/scheduledTriggerSteps.d.ts +5 -5
- package/dist/factory.d.ts +21 -21
- package/dist/index.d.ts +18 -18
- package/dist/middleware/evalsAuth.d.ts +2 -2
- package/dist/middleware/evalsAuth.js +37 -32
- package/dist/middleware/index.d.ts +2 -3
- package/dist/middleware/index.js +3 -4
- package/dist/middleware/manageAuth.d.ts +9 -4
- package/dist/middleware/manageAuth.js +24 -2
- package/dist/middleware/projectAccess.d.ts +4 -3
- package/dist/middleware/projectAccess.js +78 -64
- package/dist/middleware/projectConfig.d.ts +3 -3
- package/dist/middleware/ref.d.ts +1 -5
- package/dist/middleware/ref.js +1 -21
- package/dist/middleware/requirePermission.d.ts +2 -2
- package/dist/middleware/requirePermission.js +64 -64
- package/dist/middleware/runAuth.d.ts +4 -4
- package/dist/middleware/sessionAuth.d.ts +3 -3
- package/dist/middleware/sessionAuth.js +23 -18
- package/dist/middleware/tenantAccess.d.ts +3 -2
- package/dist/middleware/tenantAccess.js +12 -1
- package/dist/middleware/tracing.d.ts +3 -3
- package/dist/middleware/tracing.js +1 -1
- package/dist/routes/capabilities.d.ts +10 -0
- package/dist/routes/capabilities.js +35 -0
- package/dist/routes/healthChecks.js +6 -3
- package/dist/routes/workflowProcess.d.ts +10 -0
- package/dist/routes/workflowProcess.js +23 -0
- package/dist/types/app.d.ts +3 -3
- package/package.json +4 -4
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"steps": {
|
|
4
|
+
"src/domains/evals/workflow/functions/evaluateConversation.ts": {
|
|
5
|
+
"executeEvaluatorStep": {
|
|
6
|
+
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//executeEvaluatorStep"
|
|
7
|
+
},
|
|
8
|
+
"getConversationStep": {
|
|
9
|
+
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//getConversationStep"
|
|
10
|
+
},
|
|
11
|
+
"getEvaluatorsStep": {
|
|
12
|
+
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//getEvaluatorsStep"
|
|
13
|
+
},
|
|
14
|
+
"logStep": {
|
|
15
|
+
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//logStep"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
4
18
|
"node_modules/.pnpm/workflow@4.1.0-beta.54_@aws-sdk+client-sts@3.970.0_@nestjs+common@11.1.13_reflect-metad_f85281f2580d7065fc514e637f5f5e1f/node_modules/workflow/dist/internal/builtins.js": {
|
|
5
19
|
"__builtin_response_array_buffer": {
|
|
6
20
|
"stepId": "__builtin_response_array_buffer"
|
|
@@ -12,39 +26,11 @@
|
|
|
12
26
|
"stepId": "__builtin_response_text"
|
|
13
27
|
}
|
|
14
28
|
},
|
|
15
|
-
"src/domains/evals/workflow/functions/runDatasetItem.ts": {
|
|
16
|
-
"callChatApiStep": {
|
|
17
|
-
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//callChatApiStep"
|
|
18
|
-
},
|
|
19
|
-
"createRelationStep": {
|
|
20
|
-
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//createRelationStep"
|
|
21
|
-
},
|
|
22
|
-
"executeEvaluatorStep": {
|
|
23
|
-
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//executeEvaluatorStep"
|
|
24
|
-
},
|
|
25
|
-
"logStep": {
|
|
26
|
-
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//logStep"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
29
|
"node_modules/.pnpm/workflow@4.1.0-beta.54_@aws-sdk+client-sts@3.970.0_@nestjs+common@11.1.13_reflect-metad_f85281f2580d7065fc514e637f5f5e1f/node_modules/workflow/dist/stdlib.js": {
|
|
30
30
|
"fetch": {
|
|
31
31
|
"stepId": "step//workflow@4.1.0-beta.54//fetch"
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
|
-
"src/domains/evals/workflow/functions/evaluateConversation.ts": {
|
|
35
|
-
"executeEvaluatorStep": {
|
|
36
|
-
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//executeEvaluatorStep"
|
|
37
|
-
},
|
|
38
|
-
"getConversationStep": {
|
|
39
|
-
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//getConversationStep"
|
|
40
|
-
},
|
|
41
|
-
"getEvaluatorsStep": {
|
|
42
|
-
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//getEvaluatorsStep"
|
|
43
|
-
},
|
|
44
|
-
"logStep": {
|
|
45
|
-
"stepId": "step//./src/domains/evals/workflow/functions/evaluateConversation//logStep"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
34
|
"src/domains/run/workflow/steps/scheduledTriggerSteps.ts": {
|
|
49
35
|
"addConversationIdStep": {
|
|
50
36
|
"stepId": "step//./src/domains/run/workflow/steps/scheduledTriggerSteps//addConversationIdStep"
|
|
@@ -88,21 +74,35 @@
|
|
|
88
74
|
"markRunningStep": {
|
|
89
75
|
"stepId": "step//./src/domains/run/workflow/steps/scheduledTriggerSteps//markRunningStep"
|
|
90
76
|
}
|
|
77
|
+
},
|
|
78
|
+
"src/domains/evals/workflow/functions/runDatasetItem.ts": {
|
|
79
|
+
"callChatApiStep": {
|
|
80
|
+
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//callChatApiStep"
|
|
81
|
+
},
|
|
82
|
+
"createRelationStep": {
|
|
83
|
+
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//createRelationStep"
|
|
84
|
+
},
|
|
85
|
+
"executeEvaluatorStep": {
|
|
86
|
+
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//executeEvaluatorStep"
|
|
87
|
+
},
|
|
88
|
+
"logStep": {
|
|
89
|
+
"stepId": "step//./src/domains/evals/workflow/functions/runDatasetItem//logStep"
|
|
90
|
+
}
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
"workflows": {
|
|
94
|
-
"src/domains/evals/workflow/functions/
|
|
95
|
-
"
|
|
96
|
-
"workflowId": "workflow//./src/domains/evals/workflow/functions/
|
|
94
|
+
"src/domains/evals/workflow/functions/evaluateConversation.ts": {
|
|
95
|
+
"_evaluateConversationWorkflow": {
|
|
96
|
+
"workflowId": "workflow//./src/domains/evals/workflow/functions/evaluateConversation//_evaluateConversationWorkflow",
|
|
97
97
|
"graph": {
|
|
98
98
|
"nodes": [],
|
|
99
99
|
"edges": []
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
|
-
"src/domains/evals/workflow/functions/
|
|
104
|
-
"
|
|
105
|
-
"workflowId": "workflow//./src/domains/evals/workflow/functions/
|
|
103
|
+
"src/domains/evals/workflow/functions/runDatasetItem.ts": {
|
|
104
|
+
"_runDatasetItemWorkflow": {
|
|
105
|
+
"workflowId": "workflow//./src/domains/evals/workflow/functions/runDatasetItem//_runDatasetItemWorkflow",
|
|
106
106
|
"graph": {
|
|
107
107
|
"nodes": [],
|
|
108
108
|
"edges": []
|
package/dist/createApp.js
CHANGED
|
@@ -3,28 +3,28 @@ import { env } from "./env.js";
|
|
|
3
3
|
import { getInProcessFetch, registerAppFetch } from "./utils/in-process-fetch.js";
|
|
4
4
|
import { evalRoutes } from "./domains/evals/index.js";
|
|
5
5
|
import { workflowRoutes } from "./domains/evals/workflow/routes.js";
|
|
6
|
-
import { sessionAuth, sessionContext } from "./middleware/sessionAuth.js";
|
|
7
|
-
import { flushBatchProcessor } from "./instrumentation.js";
|
|
8
|
-
import { manageRoutes } from "./domains/manage/index.js";
|
|
9
|
-
import mcp_default from "./domains/mcp/routes/mcp.js";
|
|
10
|
-
import { runRoutes } from "./domains/run/index.js";
|
|
11
|
-
import { workAppsRoutes } from "./domains/work-apps/index.js";
|
|
12
6
|
import { authCorsConfig, defaultCorsConfig, playgroundCorsConfig, runCorsConfig, signozCorsConfig, workAppsCorsConfig } from "./middleware/cors.js";
|
|
13
7
|
import { errorHandler } from "./middleware/errorHandler.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
8
|
+
import { sessionContext } from "./middleware/sessionAuth.js";
|
|
9
|
+
import { manageApiKeyOrSessionAuth } from "./middleware/manageAuth.js";
|
|
16
10
|
import { runApiKeyAuth, runApiKeyAuthExcept } from "./middleware/runAuth.js";
|
|
17
11
|
import { requireTenantAccess } from "./middleware/tenantAccess.js";
|
|
18
12
|
import { workAppsAuth } from "./middleware/workAppsAuth.js";
|
|
19
13
|
import "./middleware/index.js";
|
|
14
|
+
import { flushBatchProcessor } from "./instrumentation.js";
|
|
15
|
+
import { manageRoutes } from "./domains/manage/index.js";
|
|
16
|
+
import mcp_default from "./domains/mcp/routes/mcp.js";
|
|
17
|
+
import { runRoutes } from "./domains/run/index.js";
|
|
18
|
+
import { workAppsRoutes } from "./domains/work-apps/index.js";
|
|
20
19
|
import { branchScopedDbMiddleware } from "./middleware/branchScopedDb.js";
|
|
21
|
-
import { evalApiKeyAuth } from "./middleware/evalsAuth.js";
|
|
22
20
|
import { projectConfigMiddleware, projectConfigMiddlewareExcept } from "./middleware/projectConfig.js";
|
|
21
|
+
import { manageRefMiddleware, runRefMiddleware, writeProtectionMiddleware } from "./middleware/ref.js";
|
|
23
22
|
import { executionBaggageMiddleware } from "./middleware/tracing.js";
|
|
24
23
|
import { setupOpenAPIRoutes } from "./openapi.js";
|
|
25
24
|
import { healthChecksHandler } from "./routes/healthChecks.js";
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
25
|
+
import { workflowProcessHandler } from "./routes/workflowProcess.js";
|
|
26
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
27
|
+
import { getWaitUntil } from "@inkeep/agents-core";
|
|
28
28
|
import { githubRoutes } from "@inkeep/agents-work-apps/github";
|
|
29
29
|
import { Hono } from "hono";
|
|
30
30
|
import { cors } from "hono/cors";
|
|
@@ -33,21 +33,15 @@ import { pinoLogger } from "hono-pino";
|
|
|
33
33
|
|
|
34
34
|
//#region src/createApp.ts
|
|
35
35
|
const logger = getLogger$1("agents-api");
|
|
36
|
-
const isTestEnvironment = () => env.ENVIRONMENT === "test";
|
|
37
36
|
const isWebhookRoute = (path) => {
|
|
38
37
|
return path.includes("/triggers/") && !path.endsWith("/triggers") && !path.endsWith("/triggers/");
|
|
39
38
|
};
|
|
40
39
|
function createAgentsHono(config) {
|
|
41
40
|
const { serverConfig, credentialStores, auth, sandboxConfig } = config;
|
|
42
41
|
const app = new OpenAPIHono();
|
|
43
|
-
const CapabilitiesResponseSchema = z.object({ sandbox: z.object({
|
|
44
|
-
configured: z.boolean().describe("Whether a sandbox provider is configured. Required for Function Tools execution."),
|
|
45
|
-
provider: z.enum(["native", "vercel"]).optional().describe("The configured sandbox provider, if enabled."),
|
|
46
|
-
runtime: z.enum(["node22", "typescript"]).optional().describe("The configured sandbox runtime, if enabled.")
|
|
47
|
-
}).describe("Sandbox execution capabilities (used by Function Tools).") }).describe("Optional server capabilities and configuration.").openapi("CapabilitiesResponseSchema");
|
|
48
42
|
app.use("*", requestId());
|
|
43
|
+
app.use("/api/auth/*", cors(authCorsConfig));
|
|
49
44
|
if (auth) {
|
|
50
|
-
app.use("/api/auth/*", cors(authCorsConfig));
|
|
51
45
|
if (env.ENVIRONMENT === "development") app.post("/api/auth/dev-session", async (c) => {
|
|
52
46
|
const bypassSecret = env.INKEEP_AGENTS_MANAGE_API_BYPASS_SECRET;
|
|
53
47
|
const authHeader = c.req.header("Authorization");
|
|
@@ -82,7 +76,7 @@ function createAgentsHono(config) {
|
|
|
82
76
|
app.use("/manage/tenants/*/signoz/*", cors(signozCorsConfig));
|
|
83
77
|
app.use("/work-apps/*", cors(workAppsCorsConfig));
|
|
84
78
|
app.use("*", async (c, next) => {
|
|
85
|
-
if (
|
|
79
|
+
if (c.req.path.startsWith("/api/auth/")) return next();
|
|
86
80
|
if (c.req.path.startsWith("/run/")) return next();
|
|
87
81
|
if (c.req.path.startsWith("/work-apps/")) return next();
|
|
88
82
|
if (c.req.path.includes("/playground/token")) return next();
|
|
@@ -93,17 +87,7 @@ function createAgentsHono(config) {
|
|
|
93
87
|
app.use("*", async (c, next) => {
|
|
94
88
|
c.set("serverConfig", serverConfig);
|
|
95
89
|
c.set("credentialStores", credentialStores);
|
|
96
|
-
await next();
|
|
97
|
-
});
|
|
98
|
-
app.use("/manage/*", async (c, next) => {
|
|
99
|
-
c.set("auth", auth);
|
|
100
|
-
await next();
|
|
101
|
-
});
|
|
102
|
-
app.use("/work-apps/*", async (c, next) => {
|
|
103
90
|
c.set("auth", auth);
|
|
104
|
-
await next();
|
|
105
|
-
});
|
|
106
|
-
app.use("/run/*", async (c, next) => {
|
|
107
91
|
if (sandboxConfig) c.set("sandboxConfig", sandboxConfig);
|
|
108
92
|
await next();
|
|
109
93
|
});
|
|
@@ -128,64 +112,9 @@ function createAgentsHono(config) {
|
|
|
128
112
|
app.onError(errorHandler);
|
|
129
113
|
app.use("*", sessionContext());
|
|
130
114
|
app.route("/", healthChecksHandler);
|
|
131
|
-
app.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
tags: ["Workflows"],
|
|
135
|
-
summary: "Process workflow jobs",
|
|
136
|
-
description: "Keeps the workflow worker active to process queued jobs (called by cron)",
|
|
137
|
-
responses: { 200: { description: "Processing complete" } }
|
|
138
|
-
}), async (c) => {
|
|
139
|
-
await new Promise((resolve) => setTimeout(resolve, 5e4));
|
|
140
|
-
return c.json({
|
|
141
|
-
processed: true,
|
|
142
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
app.use("/manage/tenants/*", async (c, next) => {
|
|
146
|
-
if (isTestEnvironment()) {
|
|
147
|
-
await next();
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
if (c.req.header("Authorization")?.startsWith("Bearer ")) return manageApiKeyAuth()(c, next);
|
|
151
|
-
return sessionAuth()(c, next);
|
|
152
|
-
});
|
|
153
|
-
app.use("/manage/capabilities", async (c, next) => {
|
|
154
|
-
if (!auth || isTestEnvironment()) {
|
|
155
|
-
await next();
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (c.req.header("Authorization")?.startsWith("Bearer ")) return manageApiKeyAuth()(c, next);
|
|
159
|
-
return sessionAuth()(c, next);
|
|
160
|
-
});
|
|
161
|
-
app.openapi(createRoute({
|
|
162
|
-
method: "get",
|
|
163
|
-
path: "/manage/capabilities",
|
|
164
|
-
operationId: "capabilities",
|
|
165
|
-
summary: "Get server capabilities",
|
|
166
|
-
description: "Get information about optional server-side capabilities and configuration.",
|
|
167
|
-
responses: { 200: {
|
|
168
|
-
description: "Server capabilities",
|
|
169
|
-
content: { "application/json": { schema: CapabilitiesResponseSchema } }
|
|
170
|
-
} }
|
|
171
|
-
}), (c) => {
|
|
172
|
-
if (!sandboxConfig) return c.json({ sandbox: { configured: false } });
|
|
173
|
-
return c.json({ sandbox: {
|
|
174
|
-
configured: true,
|
|
175
|
-
provider: sandboxConfig.provider,
|
|
176
|
-
runtime: sandboxConfig.runtime
|
|
177
|
-
} });
|
|
178
|
-
});
|
|
179
|
-
if (isTestEnvironment()) app.use("/manage/tenants/:tenantId/*", async (c, next) => {
|
|
180
|
-
const tenantId = c.req.param("tenantId");
|
|
181
|
-
if (tenantId) {
|
|
182
|
-
c.set("tenantId", tenantId);
|
|
183
|
-
c.set("userId", "anonymous");
|
|
184
|
-
c.set("tenantRole", OrgRoles.OWNER);
|
|
185
|
-
}
|
|
186
|
-
await next();
|
|
187
|
-
});
|
|
188
|
-
else app.use("/manage/tenants/:tenantId/*", requireTenantAccess());
|
|
115
|
+
app.route("/", workflowProcessHandler);
|
|
116
|
+
app.use("/manage/tenants/*", manageApiKeyOrSessionAuth());
|
|
117
|
+
app.use("/manage/tenants/:tenantId/*", requireTenantAccess());
|
|
189
118
|
app.use("*", async (_c, next) => {
|
|
190
119
|
await next();
|
|
191
120
|
const waitUntil = await getWaitUntil();
|
|
@@ -196,12 +125,9 @@ function createAgentsHono(config) {
|
|
|
196
125
|
app.use("/run/agents/*", runApiKeyAuth());
|
|
197
126
|
app.use("/run/v1/*", runApiKeyAuth());
|
|
198
127
|
app.use("/run/api/*", runApiKeyAuth());
|
|
199
|
-
app.use("/evals/tenants/*", evalApiKeyAuth());
|
|
200
128
|
app.use("/manage/tenants/*", async (c, next) => manageRefMiddleware(c, next));
|
|
201
129
|
app.use("/manage/tenants/*", (c, next) => writeProtectionMiddleware(c, next));
|
|
202
130
|
app.use("/manage/tenants/*", async (c, next) => branchScopedDbMiddleware(c, next));
|
|
203
|
-
app.use("/manage/oauth/login", async (c, next) => oauthRefMiddleware(c, next));
|
|
204
|
-
app.use("/manage/oauth/login", async (c, next) => branchScopedDbMiddleware(c, next));
|
|
205
131
|
app.use("/run/*", async (c, next) => runRefMiddleware(c, next));
|
|
206
132
|
app.use("/run/tenants/*", projectConfigMiddlewareExcept(isWebhookRoute));
|
|
207
133
|
app.use("/run/agents/*", projectConfigMiddleware);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _inkeep_agents_core3 from "@inkeep/agents-core";
|
|
2
2
|
|
|
3
3
|
//#region src/data/db/manageDbClient.d.ts
|
|
4
|
-
declare const manageDbClient:
|
|
4
|
+
declare const manageDbClient: _inkeep_agents_core3.AgentsManageDatabaseClient;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { manageDbClient as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono14 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/evals/routes/datasetTriggers.d.ts
|
|
5
|
-
declare const app: OpenAPIHono<
|
|
5
|
+
declare const app: OpenAPIHono<hono14.Env, {}, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { getLogger as getLogger$1 } from "../../../logger.js";
|
|
2
|
+
import { evalApiKeyAuth } from "../../../middleware/evalsAuth.js";
|
|
2
3
|
import { queueDatasetRunItems } from "../services/datasetRun.js";
|
|
3
|
-
import { OpenAPIHono,
|
|
4
|
+
import { OpenAPIHono, z } from "@hono/zod-openapi";
|
|
4
5
|
import { TenantProjectParamsSchema, TriggerDatasetRunSchema } from "@inkeep/agents-core";
|
|
6
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
5
7
|
|
|
6
8
|
//#region src/domains/evals/routes/datasetTriggers.ts
|
|
7
9
|
const app = new OpenAPIHono();
|
|
8
10
|
const logger = getLogger$1("workflow-triggers");
|
|
9
|
-
app.openapi(
|
|
11
|
+
app.openapi(createProtectedRoute({
|
|
10
12
|
method: "post",
|
|
11
13
|
path: "/run-dataset-items",
|
|
12
14
|
summary: "Run dataset items",
|
|
13
15
|
description: "Runs dataset items for processing through the chat API",
|
|
14
16
|
operationId: "run-dataset-items",
|
|
15
17
|
tags: ["Workflows"],
|
|
18
|
+
permission: evalApiKeyAuth(),
|
|
16
19
|
request: {
|
|
17
20
|
params: TenantProjectParamsSchema,
|
|
18
21
|
body: { content: { "application/json": { schema: TriggerDatasetRunSchema } } }
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { getLogger as getLogger$1 } from "../../../logger.js";
|
|
2
|
+
import { evalApiKeyAuth } from "../../../middleware/evalsAuth.js";
|
|
2
3
|
import manageDbPool_default from "../../../data/db/manageDbPool.js";
|
|
3
4
|
import runDbClient_default from "../../../data/db/runDbClient.js";
|
|
4
5
|
import { evaluateConversationWorkflow } from "../workflow/functions/evaluateConversation.js";
|
|
5
6
|
import "../workflow/index.js";
|
|
6
7
|
import { queueEvaluationJobConversations } from "../services/evaluationJob.js";
|
|
7
|
-
import { OpenAPIHono,
|
|
8
|
+
import { OpenAPIHono, z } from "@hono/zod-openapi";
|
|
8
9
|
import { TenantProjectParamsSchema, TriggerEvaluationJobSchema, commonGetErrorResponses, createApiError, createEvaluationRun, generateId, getConversation, getEvaluationSuiteConfigById, getEvaluationSuiteConfigEvaluatorRelations, getEvaluatorsByIds, listEvaluationRunConfigsWithSuiteConfigs, withRef } from "@inkeep/agents-core";
|
|
10
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
9
11
|
import { start } from "workflow/api";
|
|
10
12
|
|
|
11
13
|
//#region src/domains/evals/routes/evaluationTriggers.ts
|
|
12
14
|
const app = new OpenAPIHono();
|
|
13
15
|
const logger = getLogger$1("ConversationEvaluations");
|
|
14
16
|
const TriggerConversationSchema = z.object({ conversationId: z.string() });
|
|
15
|
-
app.openapi(
|
|
17
|
+
app.openapi(createProtectedRoute({
|
|
16
18
|
method: "post",
|
|
17
19
|
path: "/evaluate-conversation",
|
|
18
20
|
summary: "Trigger evaluation on a single conversation",
|
|
19
21
|
operationId: "evaluate-conversation",
|
|
20
22
|
tags: ["Evaluations"],
|
|
23
|
+
permission: evalApiKeyAuth(),
|
|
21
24
|
request: {
|
|
22
25
|
params: TenantProjectParamsSchema,
|
|
23
26
|
body: { content: { "application/json": { schema: TriggerConversationSchema } } }
|
|
@@ -143,12 +146,13 @@ app.openapi(createRoute({
|
|
|
143
146
|
}), 500);
|
|
144
147
|
}
|
|
145
148
|
});
|
|
146
|
-
app.openapi(
|
|
149
|
+
app.openapi(createProtectedRoute({
|
|
147
150
|
method: "post",
|
|
148
151
|
path: "/evaluate-conversations",
|
|
149
152
|
summary: "Trigger evaluations on conversations with specified evaluators",
|
|
150
153
|
operationId: "start-conversations-evaluations",
|
|
151
154
|
tags: ["Evaluations"],
|
|
155
|
+
permission: evalApiKeyAuth(),
|
|
152
156
|
request: {
|
|
153
157
|
params: TenantProjectParamsSchema,
|
|
154
158
|
body: { content: { "application/json": { schema: z.object({
|
|
@@ -236,10 +240,11 @@ app.openapi(createRoute({
|
|
|
236
240
|
}), 500);
|
|
237
241
|
}
|
|
238
242
|
});
|
|
239
|
-
app.openapi(
|
|
243
|
+
app.openapi(createProtectedRoute({
|
|
240
244
|
method: "post",
|
|
241
245
|
path: "/evaluate-conversations-by-job",
|
|
242
246
|
summary: "Trigger evaluations on conversations by evaluation job config",
|
|
247
|
+
permission: evalApiKeyAuth(),
|
|
243
248
|
description: "Filters conversations based on job filters, creates an evaluation run, and enqueues workflows",
|
|
244
249
|
operationId: "evaluate-conversations-by-job",
|
|
245
250
|
tags: ["Workflows"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono15 from "hono";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/evals/routes/index.d.ts
|
|
5
|
-
declare const app: OpenAPIHono<
|
|
5
|
+
declare const app: OpenAPIHono<hono15.Env, {}, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { app as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import * as
|
|
2
|
+
import * as hono_types6 from "hono/types";
|
|
3
3
|
|
|
4
4
|
//#region src/domains/evals/workflow/routes.d.ts
|
|
5
|
-
declare const workflowRoutes: Hono<
|
|
5
|
+
declare const workflowRoutes: Hono<hono_types6.BlankEnv, hono_types6.BlankSchema, "/">;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { workflowRoutes };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { capabilitiesHandler } from "../../routes/capabilities.js";
|
|
1
2
|
import availableAgents_default from "./routes/availableAgents.js";
|
|
2
3
|
import cliAuth_default from "./routes/cliAuth.js";
|
|
3
4
|
import github_default from "./routes/github.js";
|
|
@@ -10,6 +11,7 @@ import playgroundToken_default from "./routes/playgroundToken.js";
|
|
|
10
11
|
import projectFull_default from "./routes/projectFull.js";
|
|
11
12
|
import projectGithubAccess_default from "./routes/projectGithubAccess.js";
|
|
12
13
|
import signoz_default from "./routes/signoz.js";
|
|
14
|
+
import userProjectMemberships_default from "./routes/userProjectMemberships.js";
|
|
13
15
|
import users_default from "./routes/users.js";
|
|
14
16
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
15
17
|
|
|
@@ -24,11 +26,13 @@ function createManageRoutes() {
|
|
|
24
26
|
app.route("/tenants/:tenantId/playground/token", playgroundToken_default);
|
|
25
27
|
app.route("/tenants/:tenantId/signoz", signoz_default);
|
|
26
28
|
app.route("/tenants/:tenantId/github", github_default);
|
|
29
|
+
app.route("/tenants/:tenantId/users/:userId/project-memberships", userProjectMemberships_default);
|
|
27
30
|
app.route("/tenants/:tenantId/projects/:projectId/github-access", projectGithubAccess_default);
|
|
28
31
|
app.route("/tenants/:tenantId/projects/:projectId/tools/:toolId/github-access", mcpToolGithubAccess_default);
|
|
29
32
|
app.route("/tenants/:tenantId", projectFull_default);
|
|
30
33
|
app.route("/oauth", oauth_default);
|
|
31
34
|
app.route("/available-agents", availableAgents_default);
|
|
35
|
+
app.route("/capabilities", capabilitiesHandler);
|
|
32
36
|
return app;
|
|
33
37
|
}
|
|
34
38
|
const manageRoutes = createManageRoutes();
|
|
@@ -1,29 +1,19 @@
|
|
|
1
1
|
import runDbClient_default from "../../../data/db/runDbClient.js";
|
|
2
2
|
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
3
3
|
import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
|
|
4
|
-
import { OpenAPIHono
|
|
4
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
5
5
|
import { AgentApiInsertSchema, AgentApiUpdateSchema, AgentListResponse, AgentResponse, AgentWithinContextOfProjectResponse, ErrorResponseSchema, PaginationQueryParamsSchema, RelatedAgentInfoListResponse, TenantProjectAgentParamsSchema, TenantProjectAgentSubAgentParamsSchema, TenantProjectIdParamsSchema, TenantProjectParamsSchema, cascadeDeleteByAgent, commonGetErrorResponses, createAgent, createApiError, deleteAgent, generateId, getAgentById, getAgentSubAgentInfos, getFullAgentDefinition, listAgentsPaginated, listSubAgents, updateAgent } from "@inkeep/agents-core";
|
|
6
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
6
7
|
|
|
7
8
|
//#region src/domains/manage/routes/agent.ts
|
|
8
9
|
const app = new OpenAPIHono();
|
|
9
|
-
app.
|
|
10
|
-
if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
|
|
11
|
-
return next();
|
|
12
|
-
});
|
|
13
|
-
app.use("/:id", async (c, next) => {
|
|
14
|
-
if ([
|
|
15
|
-
"PUT",
|
|
16
|
-
"PATCH",
|
|
17
|
-
"DELETE"
|
|
18
|
-
].includes(c.req.method)) return requireProjectPermission("edit")(c, next);
|
|
19
|
-
return next();
|
|
20
|
-
});
|
|
21
|
-
app.openapi(createRoute({
|
|
10
|
+
app.openapi(createProtectedRoute({
|
|
22
11
|
method: "get",
|
|
23
12
|
path: "/",
|
|
24
13
|
summary: "List Agents",
|
|
25
14
|
operationId: "list-agents",
|
|
26
15
|
tags: ["Agents"],
|
|
16
|
+
permission: requireProjectPermission("view"),
|
|
27
17
|
request: {
|
|
28
18
|
params: TenantProjectParamsSchema,
|
|
29
19
|
query: PaginationQueryParamsSchema
|
|
@@ -53,12 +43,13 @@ app.openapi(createRoute({
|
|
|
53
43
|
});
|
|
54
44
|
return c.json(result);
|
|
55
45
|
});
|
|
56
|
-
app.openapi(
|
|
46
|
+
app.openapi(createProtectedRoute({
|
|
57
47
|
method: "get",
|
|
58
48
|
path: "/{id}",
|
|
59
49
|
summary: "Get Agent",
|
|
60
50
|
operationId: "get-agent",
|
|
61
51
|
tags: ["Agents"],
|
|
52
|
+
permission: requireProjectPermission("view"),
|
|
62
53
|
request: { params: TenantProjectIdParamsSchema },
|
|
63
54
|
responses: {
|
|
64
55
|
200: {
|
|
@@ -80,12 +71,13 @@ app.openapi(createRoute({
|
|
|
80
71
|
});
|
|
81
72
|
return c.json({ data: agent });
|
|
82
73
|
});
|
|
83
|
-
app.openapi(
|
|
74
|
+
app.openapi(createProtectedRoute({
|
|
84
75
|
method: "get",
|
|
85
76
|
path: "/{agentId}/sub-agents/{subAgentId}/related",
|
|
86
77
|
summary: "Get Related Agent Infos",
|
|
87
78
|
operationId: "get-related-agent-infos",
|
|
88
79
|
tags: ["Agents"],
|
|
80
|
+
permission: requireProjectPermission("view"),
|
|
89
81
|
request: { params: TenantProjectAgentSubAgentParamsSchema },
|
|
90
82
|
responses: {
|
|
91
83
|
200: {
|
|
@@ -114,12 +106,13 @@ app.openapi(createRoute({
|
|
|
114
106
|
}
|
|
115
107
|
});
|
|
116
108
|
});
|
|
117
|
-
app.openapi(
|
|
109
|
+
app.openapi(createProtectedRoute({
|
|
118
110
|
method: "get",
|
|
119
111
|
path: "/{agentId}/full",
|
|
120
112
|
summary: "Get Full Agent Definition",
|
|
121
113
|
operationId: "get-full-agent-definition",
|
|
122
114
|
tags: ["Agents"],
|
|
115
|
+
permission: requireProjectPermission("view"),
|
|
123
116
|
request: { params: TenantProjectAgentParamsSchema },
|
|
124
117
|
responses: {
|
|
125
118
|
200: {
|
|
@@ -141,12 +134,13 @@ app.openapi(createRoute({
|
|
|
141
134
|
});
|
|
142
135
|
return c.json({ data: fullAgent });
|
|
143
136
|
});
|
|
144
|
-
app.openapi(
|
|
137
|
+
app.openapi(createProtectedRoute({
|
|
145
138
|
method: "post",
|
|
146
139
|
path: "/",
|
|
147
140
|
summary: "Create Agent",
|
|
148
141
|
operationId: "create-agent",
|
|
149
142
|
tags: ["Agents"],
|
|
143
|
+
permission: requireProjectPermission("edit"),
|
|
150
144
|
request: {
|
|
151
145
|
params: TenantProjectParamsSchema,
|
|
152
146
|
body: { content: { "application/json": { schema: AgentApiInsertSchema } } }
|
|
@@ -181,12 +175,13 @@ app.openapi(createRoute({
|
|
|
181
175
|
throw error;
|
|
182
176
|
}
|
|
183
177
|
});
|
|
184
|
-
app.openapi(
|
|
178
|
+
app.openapi(createProtectedRoute({
|
|
185
179
|
method: "put",
|
|
186
180
|
path: "/{id}",
|
|
187
181
|
summary: "Update Agent",
|
|
188
182
|
operationId: "update-agent",
|
|
189
183
|
tags: ["Agents"],
|
|
184
|
+
permission: requireProjectPermission("edit"),
|
|
190
185
|
request: {
|
|
191
186
|
params: TenantProjectIdParamsSchema,
|
|
192
187
|
body: { content: { "application/json": { schema: AgentApiUpdateSchema } } }
|
|
@@ -221,12 +216,13 @@ app.openapi(createRoute({
|
|
|
221
216
|
});
|
|
222
217
|
return c.json({ data: updatedAgent });
|
|
223
218
|
});
|
|
224
|
-
app.openapi(
|
|
219
|
+
app.openapi(createProtectedRoute({
|
|
225
220
|
method: "delete",
|
|
226
221
|
path: "/{id}",
|
|
227
222
|
summary: "Delete Agent",
|
|
228
223
|
operationId: "delete-agent",
|
|
229
224
|
tags: ["Agents"],
|
|
225
|
+
permission: requireProjectPermission("edit"),
|
|
230
226
|
request: { params: TenantProjectIdParamsSchema },
|
|
231
227
|
responses: {
|
|
232
228
|
204: { description: "Agent deleted successfully" },
|
|
@@ -2,27 +2,17 @@ import { getLogger as getLogger$1 } from "../../../logger.js";
|
|
|
2
2
|
import runDbClient_default from "../../../data/db/runDbClient.js";
|
|
3
3
|
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
4
4
|
import { onTriggerCreated, onTriggerDeleted, onTriggerUpdated } from "../../run/services/ScheduledTriggerService.js";
|
|
5
|
-
import { OpenAPIHono,
|
|
5
|
+
import { OpenAPIHono, z } from "@hono/zod-openapi";
|
|
6
6
|
import { AgentWithinContextOfProjectResponse, AgentWithinContextOfProjectSchema, ErrorResponseSchema, TenantProjectAgentParamsSchema, TenantProjectParamsSchema, cascadeDeleteByAgent, commonGetErrorResponses, createApiError, createFullAgentServerSide, deleteFullAgent, getFullAgent, listScheduledTriggers, listSubAgents, updateFullAgentServerSide } from "@inkeep/agents-core";
|
|
7
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
7
8
|
|
|
8
9
|
//#region src/domains/manage/routes/agentFull.ts
|
|
9
10
|
const logger = getLogger$1("agentFull");
|
|
10
11
|
const app = new OpenAPIHono();
|
|
11
|
-
app.
|
|
12
|
-
if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
|
|
13
|
-
return next();
|
|
14
|
-
});
|
|
15
|
-
app.use("/:agentId", async (c, next) => {
|
|
16
|
-
if ([
|
|
17
|
-
"PUT",
|
|
18
|
-
"PATCH",
|
|
19
|
-
"DELETE"
|
|
20
|
-
].includes(c.req.method)) return requireProjectPermission("edit")(c, next);
|
|
21
|
-
return next();
|
|
22
|
-
});
|
|
23
|
-
app.openapi(createRoute({
|
|
12
|
+
app.openapi(createProtectedRoute({
|
|
24
13
|
method: "post",
|
|
25
14
|
path: "/",
|
|
15
|
+
permission: requireProjectPermission("edit"),
|
|
26
16
|
summary: "Create Full Agent",
|
|
27
17
|
operationId: "create-full-agent",
|
|
28
18
|
tags: ["Agents"],
|
|
@@ -70,9 +60,10 @@ app.openapi(createRoute({
|
|
|
70
60
|
}
|
|
71
61
|
return c.json({ data: createdAgent }, 201);
|
|
72
62
|
});
|
|
73
|
-
app.openapi(
|
|
63
|
+
app.openapi(createProtectedRoute({
|
|
74
64
|
method: "get",
|
|
75
65
|
path: "/{agentId}",
|
|
66
|
+
permission: requireProjectPermission("view"),
|
|
76
67
|
summary: "Get Full Agent",
|
|
77
68
|
operationId: "get-full-agent",
|
|
78
69
|
tags: ["Agents"],
|
|
@@ -110,9 +101,10 @@ app.openapi(createRoute({
|
|
|
110
101
|
});
|
|
111
102
|
}
|
|
112
103
|
});
|
|
113
|
-
app.openapi(
|
|
104
|
+
app.openapi(createProtectedRoute({
|
|
114
105
|
method: "put",
|
|
115
106
|
path: "/{agentId}",
|
|
107
|
+
permission: requireProjectPermission("edit"),
|
|
116
108
|
summary: "Update Full Agent",
|
|
117
109
|
operationId: "update-full-agent",
|
|
118
110
|
tags: ["Agents"],
|
|
@@ -219,9 +211,10 @@ app.openapi(createRoute({
|
|
|
219
211
|
});
|
|
220
212
|
}
|
|
221
213
|
});
|
|
222
|
-
app.openapi(
|
|
214
|
+
app.openapi(createProtectedRoute({
|
|
223
215
|
method: "delete",
|
|
224
216
|
path: "/{agentId}",
|
|
217
|
+
permission: requireProjectPermission("edit"),
|
|
225
218
|
summary: "Delete Full Agent",
|
|
226
219
|
operationId: "delete-full-agent",
|
|
227
220
|
tags: ["Agents"],
|