@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.
Files changed (109) hide show
  1. package/dist/.well-known/workflow/v1/manifest.json +34 -34
  2. package/dist/createApp.js +16 -90
  3. package/dist/data/db/manageDbClient.d.ts +2 -2
  4. package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
  5. package/dist/domains/evals/routes/datasetTriggers.js +5 -2
  6. package/dist/domains/evals/routes/evaluationTriggers.js +9 -4
  7. package/dist/domains/evals/routes/index.d.ts +2 -2
  8. package/dist/domains/evals/workflow/routes.d.ts +2 -2
  9. package/dist/domains/manage/index.js +4 -0
  10. package/dist/domains/manage/routes/agent.js +16 -20
  11. package/dist/domains/manage/routes/agentFull.js +10 -17
  12. package/dist/domains/manage/routes/apiKeys.js +12 -14
  13. package/dist/domains/manage/routes/artifactComponents.js +12 -15
  14. package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
  15. package/dist/domains/manage/routes/availableAgents.js +4 -2
  16. package/dist/domains/manage/routes/branches.js +12 -14
  17. package/dist/domains/manage/routes/cliAuth.js +4 -3
  18. package/dist/domains/manage/routes/contextConfigs.js +12 -15
  19. package/dist/domains/manage/routes/conversations.d.ts +2 -2
  20. package/dist/domains/manage/routes/conversations.js +5 -2
  21. package/dist/domains/manage/routes/credentialStores.js +7 -8
  22. package/dist/domains/manage/routes/credentials.js +12 -14
  23. package/dist/domains/manage/routes/dataComponents.js +12 -14
  24. package/dist/domains/manage/routes/evals/datasetItems.js +14 -19
  25. package/dist/domains/manage/routes/evals/datasetRunConfigs.js +13 -6
  26. package/dist/domains/manage/routes/evals/datasetRuns.js +7 -3
  27. package/dist/domains/manage/routes/evals/datasets.js +12 -14
  28. package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +8 -8
  29. package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +12 -14
  30. package/dist/domains/manage/routes/evals/evaluationResults.js +10 -13
  31. package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +14 -15
  32. package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +8 -8
  33. package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +12 -14
  34. package/dist/domains/manage/routes/evals/evaluators.js +14 -15
  35. package/dist/domains/manage/routes/externalAgents.js +12 -14
  36. package/dist/domains/manage/routes/functionTools.js +12 -15
  37. package/dist/domains/manage/routes/functions.js +12 -15
  38. package/dist/domains/manage/routes/github.js +16 -8
  39. package/dist/domains/manage/routes/index.d.ts +2 -2
  40. package/dist/domains/manage/routes/index.js +0 -4
  41. package/dist/domains/manage/routes/invitations.d.ts +2 -2
  42. package/dist/domains/manage/routes/mcpCatalog.js +5 -2
  43. package/dist/domains/manage/routes/mcpToolGithubAccess.js +6 -4
  44. package/dist/domains/manage/routes/oauth.js +6 -66
  45. package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
  46. package/dist/domains/manage/routes/playgroundToken.js +4 -2
  47. package/dist/domains/manage/routes/projectFull.js +13 -26
  48. package/dist/domains/manage/routes/projectGithubAccess.js +7 -3
  49. package/dist/domains/manage/routes/projectMembers.js +14 -13
  50. package/dist/domains/manage/routes/projectPermissions.js +5 -2
  51. package/dist/domains/manage/routes/projects.js +12 -16
  52. package/dist/domains/manage/routes/ref.js +5 -2
  53. package/dist/domains/manage/routes/scheduledTriggers.js +24 -21
  54. package/dist/domains/manage/routes/signoz.d.ts +2 -2
  55. package/dist/domains/manage/routes/skills.js +12 -15
  56. package/dist/domains/manage/routes/subAgentArtifactComponents.js +12 -14
  57. package/dist/domains/manage/routes/subAgentDataComponents.js +12 -14
  58. package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +12 -15
  59. package/dist/domains/manage/routes/subAgentFunctionTools.js +12 -14
  60. package/dist/domains/manage/routes/subAgentRelations.js +12 -15
  61. package/dist/domains/manage/routes/subAgentSkills.js +8 -12
  62. package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +12 -15
  63. package/dist/domains/manage/routes/subAgentToolRelations.js +14 -16
  64. package/dist/domains/manage/routes/subAgents.js +12 -15
  65. package/dist/domains/manage/routes/thirdPartyMCPServers.js +7 -3
  66. package/dist/domains/manage/routes/tools.js +79 -16
  67. package/dist/domains/manage/routes/triggers.js +18 -22
  68. package/dist/domains/manage/routes/userProjectMemberships.js +5 -3
  69. package/dist/domains/manage/routes/users.d.ts +2 -2
  70. package/dist/domains/mcp/routes/mcp.d.ts +2 -2
  71. package/dist/domains/run/agents/relationTools.d.ts +2 -2
  72. package/dist/domains/run/routes/agents.js +4 -2
  73. package/dist/domains/run/routes/chat.js +4 -2
  74. package/dist/domains/run/routes/chatDataStream.js +6 -3
  75. package/dist/domains/run/routes/mcp.js +4 -2
  76. package/dist/domains/run/routes/webhooks.js +5 -3
  77. package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +1 -1
  78. package/dist/domains/run/types/chat.d.ts +4 -4
  79. package/dist/domains/run/utils/token-estimator.d.ts +2 -2
  80. package/dist/domains/run/workflow/steps/scheduledTriggerSteps.d.ts +5 -5
  81. package/dist/factory.d.ts +21 -21
  82. package/dist/index.d.ts +18 -18
  83. package/dist/middleware/evalsAuth.d.ts +2 -2
  84. package/dist/middleware/evalsAuth.js +37 -32
  85. package/dist/middleware/index.d.ts +2 -3
  86. package/dist/middleware/index.js +3 -4
  87. package/dist/middleware/manageAuth.d.ts +9 -4
  88. package/dist/middleware/manageAuth.js +24 -2
  89. package/dist/middleware/projectAccess.d.ts +4 -3
  90. package/dist/middleware/projectAccess.js +78 -64
  91. package/dist/middleware/projectConfig.d.ts +3 -3
  92. package/dist/middleware/ref.d.ts +1 -5
  93. package/dist/middleware/ref.js +1 -21
  94. package/dist/middleware/requirePermission.d.ts +2 -2
  95. package/dist/middleware/requirePermission.js +64 -64
  96. package/dist/middleware/runAuth.d.ts +4 -4
  97. package/dist/middleware/sessionAuth.d.ts +3 -3
  98. package/dist/middleware/sessionAuth.js +23 -18
  99. package/dist/middleware/tenantAccess.d.ts +3 -2
  100. package/dist/middleware/tenantAccess.js +12 -1
  101. package/dist/middleware/tracing.d.ts +3 -3
  102. package/dist/middleware/tracing.js +1 -1
  103. package/dist/routes/capabilities.d.ts +10 -0
  104. package/dist/routes/capabilities.js +35 -0
  105. package/dist/routes/healthChecks.js +6 -3
  106. package/dist/routes/workflowProcess.d.ts +10 -0
  107. package/dist/routes/workflowProcess.js +23 -0
  108. package/dist/types/app.d.ts +3 -3
  109. 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/runDatasetItem.ts": {
95
- "_runDatasetItemWorkflow": {
96
- "workflowId": "workflow//./src/domains/evals/workflow/functions/runDatasetItem//_runDatasetItemWorkflow",
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/evaluateConversation.ts": {
104
- "_evaluateConversationWorkflow": {
105
- "workflowId": "workflow//./src/domains/evals/workflow/functions/evaluateConversation//_evaluateConversationWorkflow",
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 { manageApiKeyAuth } from "./middleware/manageAuth.js";
15
- import { manageRefMiddleware, oauthRefMiddleware, runRefMiddleware, writeProtectionMiddleware } from "./middleware/ref.js";
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 { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
27
- import { OrgRoles, getWaitUntil } from "@inkeep/agents-core";
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 (auth && c.req.path.startsWith("/api/auth/")) return next();
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.openapi(createRoute({
132
- method: "get",
133
- path: "/api/workflow/process",
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 _inkeep_agents_core0 from "@inkeep/agents-core";
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: _inkeep_agents_core0.AgentsManageDatabaseClient;
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 hono18 from "hono";
2
+ import * as hono14 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/datasetTriggers.d.ts
5
- declare const app: OpenAPIHono<hono18.Env, {}, "/">;
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, createRoute, z } from "@hono/zod-openapi";
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(createRoute({
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, createRoute, z } from "@hono/zod-openapi";
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(createRoute({
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(createRoute({
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(createRoute({
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 hono5 from "hono";
2
+ import * as hono15 from "hono";
3
3
 
4
4
  //#region src/domains/evals/routes/index.d.ts
5
- declare const app: OpenAPIHono<hono5.Env, {}, "/">;
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 hono_types10 from "hono/types";
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<hono_types10.BlankEnv, hono_types10.BlankSchema, "/">;
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, createRoute } from "@hono/zod-openapi";
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.use("/", async (c, next) => {
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(createRoute({
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(createRoute({
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(createRoute({
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(createRoute({
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(createRoute({
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(createRoute({
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, createRoute, z } from "@hono/zod-openapi";
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.use("/", async (c, next) => {
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(createRoute({
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(createRoute({
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(createRoute({
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"],