@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,26 +1,20 @@
1
1
  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
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
4
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
5
5
  import { EvaluationResultApiSelectSchema, EvaluationRunConfigApiInsertSchema, EvaluationRunConfigApiUpdateSchema, EvaluationRunConfigWithSuiteConfigsApiSelectSchema, ListResponseSchema, SingleResponseSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError, createEvaluationRunConfig, createEvaluationRunConfigEvaluationSuiteConfigRelation, deleteEvaluationRunConfig, deleteEvaluationRunConfigEvaluationSuiteConfigRelation, generateId, getConversation, getEvaluationRunConfigById, getEvaluationRunConfigEvaluationSuiteConfigRelations, getMessagesByConversation, listEvaluationResultsByRun, listEvaluationRunConfigsWithSuiteConfigs, listEvaluationRuns, updateEvaluationRunConfig } from "@inkeep/agents-core";
6
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
6
7
 
7
8
  //#region src/domains/manage/routes/evals/evaluationRunConfigs.ts
8
9
  const app = new OpenAPIHono();
9
10
  const logger = getLogger$1("evaluationRunConfigs");
10
- app.use("/", async (c, next) => {
11
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
12
- return next();
13
- });
14
- app.use("/:configId", async (c, next) => {
15
- if (["PATCH", "DELETE"].includes(c.req.method)) return requireProjectPermission("edit")(c, next);
16
- return next();
17
- });
18
- app.openapi(createRoute({
11
+ app.openapi(createProtectedRoute({
19
12
  method: "get",
20
13
  path: "/",
21
14
  summary: "List Evaluation Run Configs",
22
15
  operationId: "list-evaluation-run-configs",
23
16
  tags: ["Evaluations"],
17
+ permission: requireProjectPermission("view"),
24
18
  request: { params: TenantProjectParamsSchema },
25
19
  responses: {
26
20
  200: {
@@ -58,12 +52,13 @@ app.openapi(createRoute({
58
52
  }), 500);
59
53
  }
60
54
  });
61
- app.openapi(createRoute({
55
+ app.openapi(createProtectedRoute({
62
56
  method: "get",
63
57
  path: "/{configId}",
64
58
  summary: "Get Evaluation Run Config by ID",
65
59
  operationId: "get-evaluation-run-config",
66
60
  tags: ["Evaluations"],
61
+ permission: requireProjectPermission("view"),
67
62
  request: { params: TenantProjectParamsSchema.extend({ configId: z.string() }) },
68
63
  responses: {
69
64
  200: {
@@ -107,12 +102,13 @@ app.openapi(createRoute({
107
102
  }), 500);
108
103
  }
109
104
  });
110
- app.openapi(createRoute({
105
+ app.openapi(createProtectedRoute({
111
106
  method: "get",
112
107
  path: "/{configId}/results",
113
108
  summary: "Get Evaluation Results by Run Config ID",
114
109
  operationId: "get-evaluation-run-config-results",
115
110
  tags: ["Evaluations"],
111
+ permission: requireProjectPermission("view"),
116
112
  request: { params: TenantProjectParamsSchema.extend({ configId: z.string() }) },
117
113
  responses: {
118
114
  200: {
@@ -209,12 +205,13 @@ app.openapi(createRoute({
209
205
  }), 500);
210
206
  }
211
207
  });
212
- app.openapi(createRoute({
208
+ app.openapi(createProtectedRoute({
213
209
  method: "post",
214
210
  path: "/",
215
211
  summary: "Create Evaluation Run Config",
216
212
  operationId: "create-evaluation-run-config",
217
213
  tags: ["Evaluations"],
214
+ permission: requireProjectPermission("edit"),
218
215
  request: {
219
216
  params: TenantProjectParamsSchema,
220
217
  body: { content: { "application/json": { schema: EvaluationRunConfigApiInsertSchema } } }
@@ -274,12 +271,13 @@ app.openapi(createRoute({
274
271
  }), 500);
275
272
  }
276
273
  });
277
- app.openapi(createRoute({
274
+ app.openapi(createProtectedRoute({
278
275
  method: "patch",
279
276
  path: "/{configId}",
280
277
  summary: "Update Evaluation Run Config",
281
278
  operationId: "update-evaluation-run-config",
282
279
  tags: ["Evaluations"],
280
+ permission: requireProjectPermission("edit"),
283
281
  request: {
284
282
  params: TenantProjectParamsSchema.extend({ configId: z.string() }),
285
283
  body: { content: { "application/json": { schema: EvaluationRunConfigApiUpdateSchema } } }
@@ -360,12 +358,13 @@ app.openapi(createRoute({
360
358
  }), 500);
361
359
  }
362
360
  });
363
- app.openapi(createRoute({
361
+ app.openapi(createProtectedRoute({
364
362
  method: "delete",
365
363
  path: "/{configId}",
366
364
  summary: "Delete Evaluation Run Config",
367
365
  operationId: "delete-evaluation-run-config",
368
366
  tags: ["Evaluations"],
367
+ permission: requireProjectPermission("edit"),
369
368
  request: { params: TenantProjectParamsSchema.extend({ configId: z.string() }) },
370
369
  responses: {
371
370
  204: { description: "Evaluation run config deleted" },
@@ -1,21 +1,19 @@
1
1
  import { getLogger as getLogger$1 } from "../../../../logger.js";
2
2
  import { requireProjectPermission } from "../../../../middleware/projectAccess.js";
3
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
3
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
4
4
  import { TenantProjectParamsSchema, commonGetErrorResponses, createApiError, createEvaluationSuiteConfigEvaluatorRelation, deleteEvaluationSuiteConfigEvaluatorRelation, generateId, getEvaluationSuiteConfigEvaluatorRelations } from "@inkeep/agents-core";
5
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
5
6
 
6
7
  //#region src/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.ts
7
8
  const app = new OpenAPIHono();
8
9
  const logger = getLogger$1("evaluationSuiteConfigEvaluatorRelations");
9
- app.use("/:configId/evaluators/:evaluatorId", async (c, next) => {
10
- if (["POST", "DELETE"].includes(c.req.method)) return requireProjectPermission("edit")(c, next);
11
- return next();
12
- });
13
- app.openapi(createRoute({
10
+ app.openapi(createProtectedRoute({
14
11
  method: "get",
15
12
  path: "/{configId}/evaluators",
16
13
  summary: "List Evaluators for Evaluation Suite Config",
17
14
  operationId: "list-evaluation-suite-config-evaluators",
18
15
  tags: ["Evaluations"],
16
+ permission: requireProjectPermission("view"),
19
17
  request: { params: TenantProjectParamsSchema.extend({ configId: z.string() }) },
20
18
  responses: {
21
19
  200: {
@@ -47,12 +45,13 @@ app.openapi(createRoute({
47
45
  }), 500);
48
46
  }
49
47
  });
50
- app.openapi(createRoute({
48
+ app.openapi(createProtectedRoute({
51
49
  method: "post",
52
50
  path: "/{configId}/evaluators/{evaluatorId}",
53
51
  summary: "Add Evaluator to Evaluation Suite Config",
54
52
  operationId: "add-evaluator-to-suite-config",
55
53
  tags: ["Evaluations"],
54
+ permission: requireProjectPermission("edit"),
56
55
  request: { params: TenantProjectParamsSchema.extend({
57
56
  configId: z.string(),
58
57
  evaluatorId: z.string()
@@ -97,12 +96,13 @@ app.openapi(createRoute({
97
96
  }), 500);
98
97
  }
99
98
  });
100
- app.openapi(createRoute({
99
+ app.openapi(createProtectedRoute({
101
100
  method: "delete",
102
101
  path: "/{configId}/evaluators/{evaluatorId}",
103
102
  summary: "Remove Evaluator from Evaluation Suite Config",
104
103
  operationId: "remove-evaluator-from-suite-config",
105
104
  tags: ["Evaluations"],
105
+ permission: requireProjectPermission("edit"),
106
106
  request: { params: TenantProjectParamsSchema.extend({
107
107
  configId: z.string(),
108
108
  evaluatorId: z.string()
@@ -1,25 +1,19 @@
1
1
  import { getLogger as getLogger$1 } from "../../../../logger.js";
2
2
  import { requireProjectPermission } from "../../../../middleware/projectAccess.js";
3
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
3
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
4
4
  import { EvaluationSuiteConfigApiInsertSchema, EvaluationSuiteConfigApiSelectSchema, EvaluationSuiteConfigApiUpdateSchema, ListResponseSchema, SingleResponseSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError, createEvaluationSuiteConfig, createEvaluationSuiteConfigEvaluatorRelation, deleteEvaluationSuiteConfig, generateId, getEvaluationSuiteConfigById, listEvaluationSuiteConfigs, updateEvaluationSuiteConfig } from "@inkeep/agents-core";
5
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
5
6
 
6
7
  //#region src/domains/manage/routes/evals/evaluationSuiteConfigs.ts
7
8
  const app = new OpenAPIHono();
8
9
  const logger = getLogger$1("evaluationSuiteConfigs");
9
- app.use("/", async (c, next) => {
10
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
11
- return next();
12
- });
13
- app.use("/:configId", async (c, next) => {
14
- if (["PATCH", "DELETE"].includes(c.req.method)) return requireProjectPermission("edit")(c, next);
15
- return next();
16
- });
17
- app.openapi(createRoute({
10
+ app.openapi(createProtectedRoute({
18
11
  method: "get",
19
12
  path: "/",
20
13
  summary: "List Evaluation Suite Configs",
21
14
  operationId: "list-evaluation-suite-configs",
22
15
  tags: ["Evaluations"],
16
+ permission: requireProjectPermission("view"),
23
17
  request: { params: TenantProjectParamsSchema },
24
18
  responses: {
25
19
  200: {
@@ -57,12 +51,13 @@ app.openapi(createRoute({
57
51
  }), 500);
58
52
  }
59
53
  });
60
- app.openapi(createRoute({
54
+ app.openapi(createProtectedRoute({
61
55
  method: "get",
62
56
  path: "/{configId}",
63
57
  summary: "Get Evaluation Suite Config by ID",
64
58
  operationId: "get-evaluation-suite-config",
65
59
  tags: ["Evaluations"],
60
+ permission: requireProjectPermission("view"),
66
61
  request: { params: TenantProjectParamsSchema.extend({ configId: z.string() }) },
67
62
  responses: {
68
63
  200: {
@@ -98,12 +93,13 @@ app.openapi(createRoute({
98
93
  }), 500);
99
94
  }
100
95
  });
101
- app.openapi(createRoute({
96
+ app.openapi(createProtectedRoute({
102
97
  method: "post",
103
98
  path: "/",
104
99
  summary: "Create Evaluation Suite Config",
105
100
  operationId: "create-evaluation-suite-config",
106
101
  tags: ["Evaluations"],
102
+ permission: requireProjectPermission("edit"),
107
103
  request: {
108
104
  params: TenantProjectParamsSchema,
109
105
  body: { content: { "application/json": { schema: EvaluationSuiteConfigApiInsertSchema } } }
@@ -154,12 +150,13 @@ app.openapi(createRoute({
154
150
  }), 500);
155
151
  }
156
152
  });
157
- app.openapi(createRoute({
153
+ app.openapi(createProtectedRoute({
158
154
  method: "patch",
159
155
  path: "/{configId}",
160
156
  summary: "Update Evaluation Suite Config",
161
157
  operationId: "update-evaluation-suite-config",
162
158
  tags: ["Evaluations"],
159
+ permission: requireProjectPermission("edit"),
163
160
  request: {
164
161
  params: TenantProjectParamsSchema.extend({ configId: z.string() }),
165
162
  body: { content: { "application/json": { schema: EvaluationSuiteConfigApiUpdateSchema } } }
@@ -207,12 +204,13 @@ app.openapi(createRoute({
207
204
  }), 500);
208
205
  }
209
206
  });
210
- app.openapi(createRoute({
207
+ app.openapi(createProtectedRoute({
211
208
  method: "delete",
212
209
  path: "/{configId}",
213
210
  summary: "Delete Evaluation Suite Config",
214
211
  operationId: "delete-evaluation-suite-config",
215
212
  tags: ["Evaluations"],
213
+ permission: requireProjectPermission("edit"),
216
214
  request: { params: TenantProjectParamsSchema.extend({ configId: z.string() }) },
217
215
  responses: {
218
216
  204: { description: "Evaluation suite config deleted" },
@@ -1,25 +1,19 @@
1
1
  import { getLogger as getLogger$1 } from "../../../../logger.js";
2
2
  import { requireProjectPermission } from "../../../../middleware/projectAccess.js";
3
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
3
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
4
4
  import { EvaluatorApiInsertSchema, EvaluatorApiSelectSchema, EvaluatorApiUpdateSchema, ListResponseSchema, SingleResponseSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError, createEvaluator, deleteEvaluator, generateId, getEvaluatorById, getEvaluatorsByIds, listEvaluators, updateEvaluator } from "@inkeep/agents-core";
5
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
5
6
 
6
7
  //#region src/domains/manage/routes/evals/evaluators.ts
7
8
  const app = new OpenAPIHono();
8
9
  const logger = getLogger$1("evaluators");
9
- app.use("/", async (c, next) => {
10
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
11
- return next();
12
- });
13
- app.use("/:evaluatorId", async (c, next) => {
14
- if (["PATCH", "DELETE"].includes(c.req.method)) return requireProjectPermission("edit")(c, next);
15
- return next();
16
- });
17
- app.openapi(createRoute({
10
+ app.openapi(createProtectedRoute({
18
11
  method: "get",
19
12
  path: "/",
20
13
  summary: "List Evaluators",
21
14
  operationId: "list-evaluators",
22
15
  tags: ["Evaluations"],
16
+ permission: requireProjectPermission("view"),
23
17
  request: { params: TenantProjectParamsSchema },
24
18
  responses: {
25
19
  200: {
@@ -57,12 +51,13 @@ app.openapi(createRoute({
57
51
  }), 500);
58
52
  }
59
53
  });
60
- app.openapi(createRoute({
54
+ app.openapi(createProtectedRoute({
61
55
  method: "get",
62
56
  path: "/{evaluatorId}",
63
57
  summary: "Get Evaluator by ID",
64
58
  operationId: "get-evaluator",
65
59
  tags: ["Evaluations"],
60
+ permission: requireProjectPermission("view"),
66
61
  request: { params: TenantProjectParamsSchema.extend({ evaluatorId: z.string() }) },
67
62
  responses: {
68
63
  200: {
@@ -98,12 +93,13 @@ app.openapi(createRoute({
98
93
  }), 500);
99
94
  }
100
95
  });
101
- app.openapi(createRoute({
96
+ app.openapi(createProtectedRoute({
102
97
  method: "post",
103
98
  path: "/batch",
104
99
  summary: "Get Evaluators by IDs",
105
100
  operationId: "get-evaluators-batch",
106
101
  tags: ["Evaluations"],
102
+ permission: requireProjectPermission("edit"),
107
103
  request: {
108
104
  params: TenantProjectParamsSchema,
109
105
  body: { content: { "application/json": { schema: z.object({ evaluatorIds: z.array(z.string()).min(1, "At least one evaluator ID is required") }) } } }
@@ -141,12 +137,13 @@ app.openapi(createRoute({
141
137
  }), 500);
142
138
  }
143
139
  });
144
- app.openapi(createRoute({
140
+ app.openapi(createProtectedRoute({
145
141
  method: "post",
146
142
  path: "/",
147
143
  summary: "Create Evaluator",
148
144
  operationId: "create-evaluator",
149
145
  tags: ["Evaluations"],
146
+ permission: requireProjectPermission("edit"),
150
147
  request: {
151
148
  params: TenantProjectParamsSchema,
152
149
  body: { content: { "application/json": { schema: EvaluatorApiInsertSchema } } }
@@ -189,12 +186,13 @@ app.openapi(createRoute({
189
186
  }), 500);
190
187
  }
191
188
  });
192
- app.openapi(createRoute({
189
+ app.openapi(createProtectedRoute({
193
190
  method: "patch",
194
191
  path: "/{evaluatorId}",
195
192
  summary: "Update Evaluator",
196
193
  operationId: "update-evaluator",
197
194
  tags: ["Evaluations"],
195
+ permission: requireProjectPermission("edit"),
198
196
  request: {
199
197
  params: TenantProjectParamsSchema.extend({ evaluatorId: z.string() }),
200
198
  body: { content: { "application/json": { schema: EvaluatorApiUpdateSchema } } }
@@ -242,12 +240,13 @@ app.openapi(createRoute({
242
240
  }), 500);
243
241
  }
244
242
  });
245
- app.openapi(createRoute({
243
+ app.openapi(createProtectedRoute({
246
244
  method: "delete",
247
245
  path: "/{evaluatorId}",
248
246
  summary: "Delete Evaluator",
249
247
  operationId: "delete-evaluator",
250
248
  tags: ["Evaluations"],
249
+ permission: requireProjectPermission("edit"),
251
250
  request: { params: TenantProjectParamsSchema.extend({ evaluatorId: z.string() }) },
252
251
  responses: {
253
252
  204: { description: "Evaluator deleted" },
@@ -1,24 +1,18 @@
1
1
  import { requireProjectPermission } from "../../../middleware/projectAccess.js";
2
2
  import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
3
- import { OpenAPIHono, createRoute } from "@hono/zod-openapi";
3
+ import { OpenAPIHono } from "@hono/zod-openapi";
4
4
  import { ErrorResponseSchema, ExternalAgentApiInsertSchema, ExternalAgentApiUpdateSchema, ExternalAgentListResponse, ExternalAgentResponse, PaginationQueryParamsSchema, TenantProjectIdParamsSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError, createExternalAgent, deleteExternalAgent, generateId, getExternalAgent, listExternalAgentsPaginated, updateExternalAgent } from "@inkeep/agents-core";
5
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
5
6
 
6
7
  //#region src/domains/manage/routes/externalAgents.ts
7
8
  const app = new OpenAPIHono();
8
- app.use("/", async (c, next) => {
9
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
10
- return next();
11
- });
12
- app.use("/:id", async (c, next) => {
13
- if (c.req.method === "PUT" || c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
14
- return next();
15
- });
16
- app.openapi(createRoute({
9
+ app.openapi(createProtectedRoute({
17
10
  method: "get",
18
11
  path: "/",
19
12
  summary: "List External Agents",
20
13
  operationId: "list-external-agents",
21
14
  tags: ["External Agents"],
15
+ permission: requireProjectPermission("view"),
22
16
  request: {
23
17
  params: TenantProjectParamsSchema,
24
18
  query: PaginationQueryParamsSchema
@@ -54,12 +48,13 @@ app.openapi(createRoute({
54
48
  };
55
49
  return c.json(dataWithType);
56
50
  });
57
- app.openapi(createRoute({
51
+ app.openapi(createProtectedRoute({
58
52
  method: "get",
59
53
  path: "/{id}",
60
54
  summary: "Get External Agent",
61
55
  operationId: "get-external-agent-by-id",
62
56
  tags: ["External Agents"],
57
+ permission: requireProjectPermission("view"),
63
58
  request: { params: TenantProjectIdParamsSchema },
64
59
  responses: {
65
60
  200: {
@@ -88,12 +83,13 @@ app.openapi(createRoute({
88
83
  };
89
84
  return c.json({ data: agentWithType });
90
85
  });
91
- app.openapi(createRoute({
86
+ app.openapi(createProtectedRoute({
92
87
  method: "post",
93
88
  path: "/",
94
89
  summary: "Create External Agent",
95
90
  operationId: "create-external-agent",
96
91
  tags: ["External Agents"],
92
+ permission: requireProjectPermission("edit"),
97
93
  request: {
98
94
  params: TenantProjectParamsSchema,
99
95
  body: { content: { "application/json": { schema: ExternalAgentApiInsertSchema } } }
@@ -124,12 +120,13 @@ app.openapi(createRoute({
124
120
  };
125
121
  return c.json({ data: agentWithType }, 201);
126
122
  });
127
- app.openapi(createRoute({
123
+ app.openapi(createProtectedRoute({
128
124
  method: "put",
129
125
  path: "/{id}",
130
126
  summary: "Update External Agent",
131
127
  operationId: "update-external-agent",
132
128
  tags: ["External Agents"],
129
+ permission: requireProjectPermission("edit"),
133
130
  request: {
134
131
  params: TenantProjectIdParamsSchema,
135
132
  body: { content: { "application/json": { schema: ExternalAgentApiUpdateSchema } } }
@@ -163,12 +160,13 @@ app.openapi(createRoute({
163
160
  };
164
161
  return c.json({ data: agentWithType });
165
162
  });
166
- app.openapi(createRoute({
163
+ app.openapi(createProtectedRoute({
167
164
  method: "delete",
168
165
  path: "/{id}",
169
166
  summary: "Delete External Agent",
170
167
  operationId: "delete-external-agent",
171
168
  tags: ["External Agents"],
169
+ permission: requireProjectPermission("edit"),
172
170
  request: { params: TenantProjectIdParamsSchema },
173
171
  responses: {
174
172
  204: { description: "External agent deleted successfully" },
@@ -1,27 +1,20 @@
1
1
  import { getLogger as getLogger$1 } from "../../../logger.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 { FunctionToolApiInsertSchema, FunctionToolApiUpdateSchema, FunctionToolListResponse, FunctionToolResponse, PaginationQueryParamsSchema, TenantProjectAgentIdParamsSchema, TenantProjectAgentParamsSchema, commonGetErrorResponses, createApiError, createFunctionTool, deleteFunctionTool, generateId, getFunctionToolById, listFunctionTools, updateFunctionTool } from "@inkeep/agents-core";
6
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
6
7
 
7
8
  //#region src/domains/manage/routes/functionTools.ts
8
9
  const logger = getLogger$1("functionTools");
9
10
  const app = new OpenAPIHono();
10
- app.use("/", async (c, next) => {
11
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
12
- return next();
13
- });
14
- app.use("/:id", async (c, next) => {
15
- if (c.req.method === "PUT") return requireProjectPermission("edit")(c, next);
16
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
17
- return next();
18
- });
19
- app.openapi(createRoute({
11
+ app.openapi(createProtectedRoute({
20
12
  method: "get",
21
13
  path: "/",
22
14
  summary: "List Function Tools",
23
15
  operationId: "list-function-tools",
24
16
  tags: ["Function Tools"],
17
+ permission: requireProjectPermission("view"),
25
18
  request: {
26
19
  params: TenantProjectAgentParamsSchema,
27
20
  query: PaginationQueryParamsSchema
@@ -64,12 +57,13 @@ app.openapi(createRoute({
64
57
  }), 500);
65
58
  }
66
59
  });
67
- app.openapi(createRoute({
60
+ app.openapi(createProtectedRoute({
68
61
  method: "get",
69
62
  path: "/{id}",
70
63
  summary: "Get Function Tool by ID",
71
64
  operationId: "get-function-tool",
72
65
  tags: ["Function Tools"],
66
+ permission: requireProjectPermission("view"),
73
67
  request: { params: TenantProjectAgentIdParamsSchema },
74
68
  responses: {
75
69
  200: {
@@ -109,12 +103,13 @@ app.openapi(createRoute({
109
103
  }), 500);
110
104
  }
111
105
  });
112
- app.openapi(createRoute({
106
+ app.openapi(createProtectedRoute({
113
107
  method: "post",
114
108
  path: "/",
115
109
  summary: "Create Function Tool",
116
110
  operationId: "create-function-tool",
117
111
  tags: ["Function Tools"],
112
+ permission: requireProjectPermission("edit"),
118
113
  request: {
119
114
  params: TenantProjectAgentParamsSchema,
120
115
  body: { content: { "application/json": { schema: FunctionToolApiInsertSchema } } }
@@ -158,12 +153,13 @@ app.openapi(createRoute({
158
153
  }), 500);
159
154
  }
160
155
  });
161
- app.openapi(createRoute({
156
+ app.openapi(createProtectedRoute({
162
157
  method: "put",
163
158
  path: "/{id}",
164
159
  summary: "Update Function Tool",
165
160
  operationId: "update-function-tool",
166
161
  tags: ["Function Tools"],
162
+ permission: requireProjectPermission("edit"),
167
163
  request: {
168
164
  params: TenantProjectAgentIdParamsSchema,
169
165
  body: { content: { "application/json": { schema: FunctionToolApiUpdateSchema } } }
@@ -209,12 +205,13 @@ app.openapi(createRoute({
209
205
  }), 500);
210
206
  }
211
207
  });
212
- app.openapi(createRoute({
208
+ app.openapi(createProtectedRoute({
213
209
  method: "delete",
214
210
  path: "/{id}",
215
211
  summary: "Delete Function Tool",
216
212
  operationId: "delete-function-tool",
217
213
  tags: ["Function Tools"],
214
+ permission: requireProjectPermission("edit"),
218
215
  request: { params: TenantProjectAgentIdParamsSchema },
219
216
  responses: {
220
217
  204: { description: "Function tool deleted successfully" },
@@ -1,27 +1,20 @@
1
1
  import { getLogger as getLogger$1 } from "../../../logger.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 { FunctionApiInsertSchema, FunctionApiUpdateSchema, FunctionListResponse, FunctionResponse, PaginationQueryParamsSchema, TenantProjectIdParamsSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError, deleteFunction, generateId, getFunction, listFunctionsPaginated, upsertFunction } from "@inkeep/agents-core";
6
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
6
7
 
7
8
  //#region src/domains/manage/routes/functions.ts
8
9
  const logger = getLogger$1("functions");
9
10
  const app = new OpenAPIHono();
10
- app.use("/", async (c, next) => {
11
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
12
- return next();
13
- });
14
- app.use("/:id", async (c, next) => {
15
- if (c.req.method === "PUT") return requireProjectPermission("edit")(c, next);
16
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
17
- return next();
18
- });
19
- app.openapi(createRoute({
11
+ app.openapi(createProtectedRoute({
20
12
  method: "get",
21
13
  path: "/",
22
14
  summary: "List Functions",
23
15
  operationId: "list-functions",
24
16
  tags: ["Functions"],
17
+ permission: requireProjectPermission("view"),
25
18
  request: {
26
19
  params: TenantProjectParamsSchema,
27
20
  query: PaginationQueryParamsSchema
@@ -62,9 +55,10 @@ app.openapi(createRoute({
62
55
  }), 500);
63
56
  }
64
57
  });
65
- app.openapi(createRoute({
58
+ app.openapi(createProtectedRoute({
66
59
  method: "get",
67
60
  path: "/{id}",
61
+ permission: requireProjectPermission("view"),
68
62
  summary: "Get Function by ID",
69
63
  operationId: "get-function",
70
64
  tags: ["Functions"],
@@ -104,9 +98,10 @@ app.openapi(createRoute({
104
98
  }), 500);
105
99
  }
106
100
  });
107
- app.openapi(createRoute({
101
+ app.openapi(createProtectedRoute({
108
102
  method: "post",
109
103
  path: "/",
104
+ permission: requireProjectPermission("edit"),
110
105
  summary: "Create Function",
111
106
  operationId: "create-function",
112
107
  tags: ["Functions"],
@@ -161,9 +156,10 @@ app.openapi(createRoute({
161
156
  }), 500);
162
157
  }
163
158
  });
164
- app.openapi(createRoute({
159
+ app.openapi(createProtectedRoute({
165
160
  method: "put",
166
161
  path: "/{id}",
162
+ permission: requireProjectPermission("edit"),
167
163
  summary: "Update Function",
168
164
  operationId: "update-function",
169
165
  tags: ["Functions"],
@@ -230,9 +226,10 @@ app.openapi(createRoute({
230
226
  }), 500);
231
227
  }
232
228
  });
233
- app.openapi(createRoute({
229
+ app.openapi(createProtectedRoute({
234
230
  method: "delete",
235
231
  path: "/{id}",
232
+ permission: requireProjectPermission("edit"),
236
233
  summary: "Delete Function",
237
234
  operationId: "delete-function",
238
235
  tags: ["Functions"],