@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
@@ -3,28 +3,20 @@ import runDbClient_default from "../../../data/db/runDbClient.js";
3
3
  import { requireProjectPermission } from "../../../middleware/projectAccess.js";
4
4
  import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
5
5
  import { requirePermission } from "../../../middleware/requirePermission.js";
6
- import { OpenAPIHono, createRoute } from "@hono/zod-openapi";
6
+ import { OpenAPIHono } from "@hono/zod-openapi";
7
7
  import { ErrorResponseSchema, PaginationQueryParamsSchema, ProjectApiInsertSchema, ProjectApiUpdateSchema, ProjectListResponse, ProjectResponse, TenantIdParamsSchema, TenantParamsSchema, cascadeDeleteByProject, commonGetErrorResponses, createApiError, createProject, createProjectMetadataAndBranch, deleteProject, deleteProjectWithBranch, doltCheckout, getProject, getProjectMainBranchName, listAccessibleProjectIds, listProjectsWithMetadataPaginated, removeProjectFromSpiceDb, syncProjectToSpiceDb, updateProject } from "@inkeep/agents-core";
8
+ import { createProtectedRoute, inheritedManageTenantAuth } from "@inkeep/agents-core/middleware";
8
9
 
9
10
  //#region src/domains/manage/routes/projects.ts
10
11
  const app = new OpenAPIHono();
11
- app.use("/", async (c, next) => {
12
- if (c.req.method === "POST") return requirePermission({ project: ["create"] })(c, next);
13
- return next();
14
- });
15
- app.use("/:id", async (c, next) => {
16
- if (c.req.method === "GET") return requireProjectPermission("view")(c, next);
17
- if (c.req.method === "PATCH") return requireProjectPermission("edit")(c, next);
18
- if (c.req.method === "DELETE") return requirePermission({ project: ["delete"] })(c, next);
19
- return next();
20
- });
21
- app.openapi(createRoute({
12
+ app.openapi(createProtectedRoute({
22
13
  method: "get",
23
14
  path: "/",
24
15
  summary: "List Projects",
25
16
  description: "List all projects within a tenant with pagination. When authorization is enabled, only returns projects the user has access to.",
26
17
  operationId: "list-projects",
27
18
  tags: ["Projects"],
19
+ permission: inheritedManageTenantAuth(),
28
20
  request: {
29
21
  params: TenantParamsSchema,
30
22
  query: PaginationQueryParamsSchema
@@ -76,13 +68,14 @@ app.openapi(createRoute({
76
68
  pagination: result.pagination
77
69
  });
78
70
  });
79
- app.openapi(createRoute({
71
+ app.openapi(createProtectedRoute({
80
72
  method: "get",
81
73
  path: "/{id}",
82
74
  summary: "Get Project",
83
75
  description: "Get a single project by ID",
84
76
  operationId: "get-project-by-id",
85
77
  tags: ["Projects"],
78
+ permission: requireProjectPermission("view"),
86
79
  request: { params: TenantIdParamsSchema },
87
80
  responses: {
88
81
  200: {
@@ -104,13 +97,14 @@ app.openapi(createRoute({
104
97
  });
105
98
  return c.json({ data: project });
106
99
  });
107
- app.openapi(createRoute({
100
+ app.openapi(createProtectedRoute({
108
101
  method: "post",
109
102
  path: "/",
110
103
  summary: "Create Project",
111
104
  description: "Create a new project. When authorization is enabled, the creator is automatically granted admin role.",
112
105
  operationId: "create-project",
113
106
  tags: ["Projects"],
107
+ permission: requirePermission({ project: ["create"] }),
114
108
  request: {
115
109
  params: TenantParamsSchema,
116
110
  body: { content: { "application/json": { schema: ProjectApiInsertSchema } } }
@@ -174,13 +168,14 @@ app.openapi(createRoute({
174
168
  throw error;
175
169
  }
176
170
  });
177
- app.openapi(createRoute({
171
+ app.openapi(createProtectedRoute({
178
172
  method: "patch",
179
173
  path: "/{id}",
180
174
  summary: "Update Project",
181
175
  description: "Update an existing project",
182
176
  operationId: "update-project",
183
177
  tags: ["Projects"],
178
+ permission: requireProjectPermission("edit"),
184
179
  request: {
185
180
  params: TenantIdParamsSchema,
186
181
  body: { content: { "application/json": { schema: ProjectApiUpdateSchema } } }
@@ -209,13 +204,14 @@ app.openapi(createRoute({
209
204
  });
210
205
  return c.json({ data: project });
211
206
  });
212
- app.openapi(createRoute({
207
+ app.openapi(createProtectedRoute({
213
208
  method: "delete",
214
209
  path: "/{id}",
215
210
  summary: "Delete Project",
216
211
  description: "Delete a project and its branch. Must be called from the main branch.",
217
212
  operationId: "delete-project",
218
213
  tags: ["Projects"],
214
+ permission: requirePermission({ project: ["delete"] }),
219
215
  request: { params: TenantIdParamsSchema },
220
216
  responses: {
221
217
  204: { description: "Project deleted successfully" },
@@ -1,16 +1,19 @@
1
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
1
+ import { requireProjectPermission } from "../../../middleware/projectAccess.js";
2
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
2
3
  import { ResolvedRefSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError } from "@inkeep/agents-core";
4
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
3
5
 
4
6
  //#region src/domains/manage/routes/ref.ts
5
7
  const app = new OpenAPIHono();
6
8
  const ResolvedRefResponseSchema = z.object({ data: ResolvedRefSchema }).openapi("ResolvedRefResponse");
7
- app.openapi(createRoute({
9
+ app.openapi(createProtectedRoute({
8
10
  method: "get",
9
11
  path: "/resolve",
10
12
  summary: "Resolve Ref",
11
13
  description: "Resolve a ref string (branch name, tag name, or commit hash) to its full resolved ref with type and commit hash. Pass the ref as a query parameter.",
12
14
  operationId: "resolve-ref",
13
15
  tags: ["Refs"],
16
+ permission: requireProjectPermission("view"),
14
17
  request: { params: TenantProjectParamsSchema },
15
18
  responses: {
16
19
  200: {
@@ -6,32 +6,25 @@ import { requireProjectPermission } from "../../../middleware/projectAccess.js";
6
6
  import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
7
7
  import { executeAgentAsync } from "../../run/services/TriggerService.js";
8
8
  import { onTriggerCreated, onTriggerDeleted, onTriggerUpdated } from "../../run/services/ScheduledTriggerService.js";
9
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
9
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
10
10
  import { DateTimeFilterQueryParamsSchema, PaginationQueryParamsSchema, ScheduledTriggerApiInsertSchema, ScheduledTriggerApiUpdateSchema, ScheduledTriggerInvocationListResponse, ScheduledTriggerInvocationResponse, ScheduledTriggerInvocationStatusEnum, ScheduledTriggerResponse, ScheduledTriggerWithRunInfoListResponse, TenantProjectAgentParamsSchema, addConversationIdToInvocation, cancelPendingInvocationsForTrigger, commonGetErrorResponses, createApiError, createScheduledTrigger, createScheduledTriggerInvocation, deleteScheduledTrigger, generateId, getProjectScopedRef, getScheduledTriggerById, getScheduledTriggerInvocationById, getScheduledTriggerRunInfoBatch, getWaitUntil, interpolateTemplate, listScheduledTriggerInvocationsPaginated, listScheduledTriggersPaginated, listUpcomingInvocationsForAgentPaginated, markScheduledTriggerInvocationCancelled, markScheduledTriggerInvocationCompleted, markScheduledTriggerInvocationFailed, markScheduledTriggerInvocationRunning, resolveRef, updateScheduledTrigger, updateScheduledTriggerInvocationStatus } from "@inkeep/agents-core";
11
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
11
12
  import { CronExpressionParser } from "cron-parser";
12
13
 
13
14
  //#region src/domains/manage/routes/scheduledTriggers.ts
14
15
  const logger = getLogger$1("scheduled-triggers");
15
16
  const app = new OpenAPIHono();
16
17
  const ScheduledTriggerIdParamsSchema = TenantProjectAgentParamsSchema.extend({ id: z.string().describe("Scheduled Trigger ID") });
17
- app.use("/", async (c, next) => {
18
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
19
- return next();
20
- });
21
- app.use("/:id", async (c, next) => {
22
- if (c.req.method === "PATCH") return requireProjectPermission("edit")(c, next);
23
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
24
- return next();
25
- });
26
18
  /**
27
19
  * List Scheduled Triggers for an Agent
28
20
  */
29
- app.openapi(createRoute({
21
+ app.openapi(createProtectedRoute({
30
22
  method: "get",
31
23
  path: "/",
32
24
  summary: "List Scheduled Triggers",
33
25
  operationId: "list-scheduled-triggers",
34
26
  tags: ["Scheduled Triggers"],
27
+ permission: requireProjectPermission("view"),
35
28
  request: {
36
29
  params: TenantProjectAgentParamsSchema,
37
30
  query: PaginationQueryParamsSchema
@@ -110,12 +103,13 @@ const UpcomingRunsQueryParamsSchema = PaginationQueryParamsSchema.extend({ inclu
110
103
  * List Upcoming Runs Across All Scheduled Triggers
111
104
  * Dashboard endpoint to view all pending/running invocations for an agent
112
105
  */
113
- app.openapi(createRoute({
106
+ app.openapi(createProtectedRoute({
114
107
  method: "get",
115
108
  path: "/upcoming-runs",
116
109
  summary: "List Upcoming Runs",
117
110
  operationId: "list-upcoming-scheduled-runs",
118
111
  tags: ["Scheduled Triggers"],
112
+ permission: requireProjectPermission("view"),
119
113
  request: {
120
114
  params: TenantProjectAgentParamsSchema,
121
115
  query: UpcomingRunsQueryParamsSchema
@@ -170,12 +164,13 @@ app.openapi(createRoute({
170
164
  /**
171
165
  * Get Scheduled Trigger by ID
172
166
  */
173
- app.openapi(createRoute({
167
+ app.openapi(createProtectedRoute({
174
168
  method: "get",
175
169
  path: "/{id}",
176
170
  summary: "Get Scheduled Trigger",
177
171
  operationId: "get-scheduled-trigger-by-id",
178
172
  tags: ["Scheduled Triggers"],
173
+ permission: requireProjectPermission("view"),
179
174
  request: { params: ScheduledTriggerIdParamsSchema },
180
175
  responses: {
181
176
  200: {
@@ -205,12 +200,13 @@ app.openapi(createRoute({
205
200
  /**
206
201
  * Create Scheduled Trigger
207
202
  */
208
- app.openapi(createRoute({
203
+ app.openapi(createProtectedRoute({
209
204
  method: "post",
210
205
  path: "/",
211
206
  summary: "Create Scheduled Trigger",
212
207
  operationId: "create-scheduled-trigger",
213
208
  tags: ["Scheduled Triggers"],
209
+ permission: requireProjectPermission("edit"),
214
210
  request: {
215
211
  params: TenantProjectAgentParamsSchema,
216
212
  body: { content: { "application/json": { schema: ScheduledTriggerApiInsertSchema } } }
@@ -267,12 +263,13 @@ app.openapi(createRoute({
267
263
  /**
268
264
  * Update Scheduled Trigger
269
265
  */
270
- app.openapi(createRoute({
266
+ app.openapi(createProtectedRoute({
271
267
  method: "patch",
272
268
  path: "/{id}",
273
269
  summary: "Update Scheduled Trigger",
274
270
  operationId: "update-scheduled-trigger",
275
271
  tags: ["Scheduled Triggers"],
272
+ permission: requireProjectPermission("edit"),
276
273
  request: {
277
274
  params: ScheduledTriggerIdParamsSchema,
278
275
  body: { content: { "application/json": { schema: ScheduledTriggerApiUpdateSchema } } }
@@ -371,12 +368,13 @@ app.openapi(createRoute({
371
368
  /**
372
369
  * Delete Scheduled Trigger
373
370
  */
374
- app.openapi(createRoute({
371
+ app.openapi(createProtectedRoute({
375
372
  method: "delete",
376
373
  path: "/{id}",
377
374
  summary: "Delete Scheduled Trigger",
378
375
  operationId: "delete-scheduled-trigger",
379
376
  tags: ["Scheduled Triggers"],
377
+ permission: requireProjectPermission("edit"),
380
378
  request: { params: ScheduledTriggerIdParamsSchema },
381
379
  responses: {
382
380
  204: { description: "Scheduled trigger deleted successfully" },
@@ -443,12 +441,13 @@ const ScheduledTriggerInvocationQueryParamsSchema = PaginationQueryParamsSchema.
443
441
  /**
444
442
  * List Scheduled Trigger Invocations
445
443
  */
446
- app.openapi(createRoute({
444
+ app.openapi(createProtectedRoute({
447
445
  method: "get",
448
446
  path: "/{id}/invocations",
449
447
  summary: "List Scheduled Trigger Invocations",
450
448
  operationId: "list-scheduled-trigger-invocations",
451
449
  tags: ["Scheduled Triggers"],
450
+ permission: requireProjectPermission("view"),
452
451
  request: {
453
452
  params: ScheduledTriggerIdParamsSchema,
454
453
  query: ScheduledTriggerInvocationQueryParamsSchema
@@ -502,12 +501,13 @@ app.openapi(createRoute({
502
501
  /**
503
502
  * Get Scheduled Trigger Invocation by ID
504
503
  */
505
- app.openapi(createRoute({
504
+ app.openapi(createProtectedRoute({
506
505
  method: "get",
507
506
  path: "/{id}/invocations/{invocationId}",
508
507
  summary: "Get Scheduled Trigger Invocation",
509
508
  operationId: "get-scheduled-trigger-invocation-by-id",
510
509
  tags: ["Scheduled Triggers"],
510
+ permission: requireProjectPermission("view"),
511
511
  request: { params: ScheduledTriggerIdParamsSchema.extend({ invocationId: z.string().describe("Scheduled Trigger Invocation ID") }) },
512
512
  responses: {
513
513
  200: {
@@ -544,12 +544,13 @@ app.openapi(createRoute({
544
544
  /**
545
545
  * Cancel Scheduled Trigger Invocation
546
546
  */
547
- app.openapi(createRoute({
547
+ app.openapi(createProtectedRoute({
548
548
  method: "post",
549
549
  path: "/{id}/invocations/{invocationId}/cancel",
550
550
  summary: "Cancel Scheduled Trigger Invocation",
551
551
  operationId: "cancel-scheduled-trigger-invocation",
552
552
  tags: ["Scheduled Triggers"],
553
+ permission: requireProjectPermission("edit"),
553
554
  request: { params: ScheduledTriggerIdParamsSchema.extend({ invocationId: z.string().describe("Scheduled Trigger Invocation ID") }) },
554
555
  responses: {
555
556
  200: {
@@ -621,12 +622,13 @@ app.openapi(createRoute({
621
622
  * Rerun Scheduled Trigger Invocation
622
623
  * Creates a new invocation and executes it immediately (manual rerun of a past run)
623
624
  */
624
- app.openapi(createRoute({
625
+ app.openapi(createProtectedRoute({
625
626
  method: "post",
626
627
  path: "/{id}/invocations/{invocationId}/rerun",
627
628
  summary: "Rerun Scheduled Trigger Invocation",
628
629
  operationId: "rerun-scheduled-trigger-invocation",
629
630
  tags: ["Scheduled Triggers"],
631
+ permission: requireProjectPermission("edit"),
630
632
  request: { params: ScheduledTriggerIdParamsSchema.extend({ invocationId: z.string().describe("Scheduled Trigger Invocation ID to rerun") }) },
631
633
  responses: {
632
634
  200: {
@@ -857,12 +859,13 @@ app.openapi(createRoute({
857
859
  * Run Scheduled Trigger Now
858
860
  * Creates a new invocation and executes it immediately (manual trigger)
859
861
  */
860
- app.openapi(createRoute({
862
+ app.openapi(createProtectedRoute({
861
863
  method: "post",
862
864
  path: "/{id}/run",
863
865
  summary: "Run Scheduled Trigger Now",
864
866
  operationId: "run-scheduled-trigger-now",
865
867
  tags: ["Scheduled Triggers"],
868
+ permission: requireProjectPermission("edit"),
866
869
  request: { params: ScheduledTriggerIdParamsSchema },
867
870
  responses: {
868
871
  200: {
@@ -1,10 +1,10 @@
1
1
  import { ManageAppVariables } from "../../../types/app.js";
2
2
  import { Hono } from "hono";
3
- import * as hono_types3 from "hono/types";
3
+ import * as hono_types9 from "hono/types";
4
4
 
5
5
  //#region src/domains/manage/routes/signoz.d.ts
6
6
  declare const app: Hono<{
7
7
  Variables: ManageAppVariables;
8
- }, hono_types3.BlankSchema, "/">;
8
+ }, hono_types9.BlankSchema, "/">;
9
9
  //#endregion
10
10
  export { app as default };
@@ -1,25 +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 { PaginationQueryParamsSchema, SkillApiInsertSchema, SkillApiUpdateSchema, SkillListResponse, SkillResponse, TenantProjectIdParamsSchema, TenantProjectParamsSchema, commonGetErrorResponses, createApiError, createSkill, deleteSkill, getSkillById, listSkills, updateSkill } from "@inkeep/agents-core";
5
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
5
6
 
6
7
  //#region src/domains/manage/routes/skills.ts
7
8
  const app = new OpenAPIHono();
8
- app.use("/", (c, next) => {
9
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
10
- return next();
11
- });
12
- app.use("/:id", (c, next) => {
13
- if (c.req.method === "PUT") return requireProjectPermission("edit")(c, next);
14
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
15
- return next();
16
- });
17
- app.openapi(createRoute({
9
+ app.openapi(createProtectedRoute({
18
10
  method: "get",
19
11
  path: "/",
20
12
  summary: "List Skills",
21
13
  operationId: "list-skills",
22
14
  tags: ["Skills"],
15
+ permission: requireProjectPermission("view"),
23
16
  request: {
24
17
  params: TenantProjectParamsSchema,
25
18
  query: PaginationQueryParamsSchema
@@ -48,12 +41,13 @@ app.openapi(createRoute({
48
41
  });
49
42
  return c.json(result);
50
43
  });
51
- app.openapi(createRoute({
44
+ app.openapi(createProtectedRoute({
52
45
  method: "get",
53
46
  path: "/{id}",
54
47
  summary: "Get Skill",
55
48
  operationId: "get-skill",
56
49
  tags: ["Skills"],
50
+ permission: requireProjectPermission("view"),
57
51
  request: { params: TenantProjectIdParamsSchema },
58
52
  responses: {
59
53
  200: {
@@ -78,12 +72,13 @@ app.openapi(createRoute({
78
72
  });
79
73
  return c.json({ data: skill });
80
74
  });
81
- app.openapi(createRoute({
75
+ app.openapi(createProtectedRoute({
82
76
  method: "post",
83
77
  path: "/",
84
78
  summary: "Create Skill",
85
79
  operationId: "create-skill",
86
80
  tags: ["Skills"],
81
+ permission: requireProjectPermission("edit"),
87
82
  request: {
88
83
  params: TenantProjectParamsSchema,
89
84
  body: { content: { "application/json": { schema: SkillApiInsertSchema } } }
@@ -106,12 +101,13 @@ app.openapi(createRoute({
106
101
  });
107
102
  return c.json({ data: skill }, 201);
108
103
  });
109
- app.openapi(createRoute({
104
+ app.openapi(createProtectedRoute({
110
105
  method: "put",
111
106
  path: "/{id}",
112
107
  summary: "Update Skill",
113
108
  operationId: "update-skill",
114
109
  tags: ["Skills"],
110
+ permission: requireProjectPermission("edit"),
115
111
  request: {
116
112
  params: TenantProjectIdParamsSchema,
117
113
  body: { content: { "application/json": { schema: SkillApiUpdateSchema } } }
@@ -141,12 +137,13 @@ app.openapi(createRoute({
141
137
  });
142
138
  return c.json({ data: skill });
143
139
  });
144
- app.openapi(createRoute({
140
+ app.openapi(createProtectedRoute({
145
141
  method: "delete",
146
142
  path: "/{id}",
147
143
  summary: "Delete Skill",
148
144
  operationId: "delete-skill",
149
145
  tags: ["Skills"],
146
+ permission: requireProjectPermission("edit"),
150
147
  request: { params: TenantProjectIdParamsSchema },
151
148
  responses: {
152
149
  204: { description: "Skill deleted successfully" },
@@ -1,23 +1,17 @@
1
1
  import { requireProjectPermission } from "../../../middleware/projectAccess.js";
2
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
2
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
3
3
  import { ArtifactComponentArrayResponse, ComponentAssociationListResponse, ErrorResponseSchema, ExistsResponseSchema, RemovedResponseSchema, SubAgentArtifactComponentApiInsertSchema, SubAgentArtifactComponentResponse, TenantProjectAgentParamsSchema, TenantProjectAgentSubAgentParamsSchema, associateArtifactComponentWithAgent, commonGetErrorResponses, createApiError, getAgentsUsingArtifactComponent, getArtifactComponentById, getArtifactComponentsForAgent, getSubAgentById, isArtifactComponentAssociatedWithAgent, removeArtifactComponentFromAgent } from "@inkeep/agents-core";
4
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
4
5
 
5
6
  //#region src/domains/manage/routes/subAgentArtifactComponents.ts
6
7
  const app = new OpenAPIHono();
7
- app.use("/", async (c, next) => {
8
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
9
- return next();
10
- });
11
- app.use("/agent/:subAgentId/component/:artifactComponentId", async (c, next) => {
12
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
13
- return next();
14
- });
15
- app.openapi(createRoute({
8
+ app.openapi(createProtectedRoute({
16
9
  method: "get",
17
10
  path: "/agent/{subAgentId}",
18
11
  summary: "Get Artifact Components for Agent",
19
12
  operationId: "get-artifact-components-for-agent",
20
13
  tags: ["Agents", "Artifact Components"],
14
+ permission: requireProjectPermission("view"),
21
15
  request: { params: TenantProjectAgentSubAgentParamsSchema },
22
16
  responses: {
23
17
  200: {
@@ -37,12 +31,13 @@ app.openapi(createRoute({
37
31
  } });
38
32
  return c.json({ data: artifactComponents });
39
33
  });
40
- app.openapi(createRoute({
34
+ app.openapi(createProtectedRoute({
41
35
  method: "get",
42
36
  path: "/component/{artifactComponentId}/agents",
43
37
  summary: "Get Agents Using Artifact Component",
44
38
  operationId: "get-agents-using-artifact-component",
45
39
  tags: ["Agents", "Artifact Components"],
40
+ permission: requireProjectPermission("view"),
46
41
  request: { params: TenantProjectAgentParamsSchema.extend({ artifactComponentId: z.string() }) },
47
42
  responses: {
48
43
  200: {
@@ -63,12 +58,13 @@ app.openapi(createRoute({
63
58
  });
64
59
  return c.json({ data: agents });
65
60
  });
66
- app.openapi(createRoute({
61
+ app.openapi(createProtectedRoute({
67
62
  method: "post",
68
63
  path: "/",
69
64
  summary: "Associate Artifact Component with Agent",
70
65
  operationId: "associate-artifact-component-with-agent",
71
66
  tags: ["Agents", "Artifact Components"],
67
+ permission: requireProjectPermission("edit"),
72
68
  request: {
73
69
  params: TenantProjectAgentParamsSchema,
74
70
  body: { content: { "application/json": { schema: SubAgentArtifactComponentApiInsertSchema } } }
@@ -134,12 +130,13 @@ app.openapi(createRoute({
134
130
  });
135
131
  return c.json({ data: association }, 201);
136
132
  });
137
- app.openapi(createRoute({
133
+ app.openapi(createProtectedRoute({
138
134
  method: "delete",
139
135
  path: "/agent/{subAgentId}/component/{artifactComponentId}",
140
136
  summary: "Remove Artifact Component from Agent",
141
137
  operationId: "remove-artifact-component-from-agent",
142
138
  tags: ["Agents", "Artifact Components"],
139
+ permission: requireProjectPermission("edit"),
143
140
  request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ artifactComponentId: z.string() }) },
144
141
  responses: {
145
142
  200: {
@@ -168,12 +165,13 @@ app.openapi(createRoute({
168
165
  removed: true
169
166
  });
170
167
  });
171
- app.openapi(createRoute({
168
+ app.openapi(createProtectedRoute({
172
169
  method: "get",
173
170
  path: "/agent/{subAgentId}/component/{artifactComponentId}/exists",
174
171
  summary: "Check if Artifact Component is Associated with Agent",
175
172
  operationId: "check-artifact-component-agent-association",
176
173
  tags: ["Agents", "Artifact Components"],
174
+ permission: requireProjectPermission("view"),
177
175
  request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ artifactComponentId: z.string() }) },
178
176
  responses: {
179
177
  200: {
@@ -1,23 +1,17 @@
1
1
  import { requireProjectPermission } from "../../../middleware/projectAccess.js";
2
- import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
2
+ import { OpenAPIHono, z } from "@hono/zod-openapi";
3
3
  import { ComponentAssociationListResponse, DataComponentArrayResponse, ErrorResponseSchema, ExistsResponseSchema, RemovedResponseSchema, SubAgentDataComponentApiInsertSchema, SubAgentDataComponentResponse, TenantProjectAgentParamsSchema, TenantProjectAgentSubAgentParamsSchema, associateDataComponentWithAgent, commonGetErrorResponses, createApiError, getAgentsUsingDataComponent, getDataComponent, getDataComponentsForAgent, getSubAgentById, isDataComponentAssociatedWithAgent, removeDataComponentFromAgent } from "@inkeep/agents-core";
4
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
4
5
 
5
6
  //#region src/domains/manage/routes/subAgentDataComponents.ts
6
7
  const app = new OpenAPIHono();
7
- app.use("/", async (c, next) => {
8
- if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
9
- return next();
10
- });
11
- app.use("/agent/:subAgentId/component/:dataComponentId", async (c, next) => {
12
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
13
- return next();
14
- });
15
- app.openapi(createRoute({
8
+ app.openapi(createProtectedRoute({
16
9
  method: "get",
17
10
  path: "/agent/{subAgentId}",
18
11
  summary: "Get Data Components for Agent",
19
12
  operationId: "get-data-components-for-agent",
20
13
  tags: ["Agents", "Data Components"],
14
+ permission: requireProjectPermission("view"),
21
15
  request: { params: TenantProjectAgentSubAgentParamsSchema },
22
16
  responses: {
23
17
  200: {
@@ -37,12 +31,13 @@ app.openapi(createRoute({
37
31
  } });
38
32
  return c.json({ data: dataComponents });
39
33
  });
40
- app.openapi(createRoute({
34
+ app.openapi(createProtectedRoute({
41
35
  method: "get",
42
36
  path: "/component/{dataComponentId}/agents",
43
37
  summary: "Get Agents Using Data Component",
44
38
  operationId: "get-agents-using-data-component",
45
39
  tags: ["Agents", "Data Components"],
40
+ permission: requireProjectPermission("view"),
46
41
  request: { params: TenantProjectAgentParamsSchema.extend({ dataComponentId: z.string() }) },
47
42
  responses: {
48
43
  200: {
@@ -63,12 +58,13 @@ app.openapi(createRoute({
63
58
  });
64
59
  return c.json({ data: agents });
65
60
  });
66
- app.openapi(createRoute({
61
+ app.openapi(createProtectedRoute({
67
62
  method: "post",
68
63
  path: "/",
69
64
  summary: "Associate Data Component with Agent",
70
65
  operationId: "associate-data-component-with-agent",
71
66
  tags: ["Agents", "Data Components"],
67
+ permission: requireProjectPermission("edit"),
72
68
  request: {
73
69
  params: TenantProjectAgentParamsSchema,
74
70
  body: { content: { "application/json": { schema: SubAgentDataComponentApiInsertSchema } } }
@@ -133,12 +129,13 @@ app.openapi(createRoute({
133
129
  });
134
130
  return c.json({ data: association }, 201);
135
131
  });
136
- app.openapi(createRoute({
132
+ app.openapi(createProtectedRoute({
137
133
  method: "delete",
138
134
  path: "/agent/{subAgentId}/component/{dataComponentId}",
139
135
  summary: "Remove Data Component from Agent",
140
136
  operationId: "remove-data-component-from-agent",
141
137
  tags: ["Agents", "Data Components"],
138
+ permission: requireProjectPermission("edit"),
142
139
  request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ dataComponentId: z.string() }) },
143
140
  responses: {
144
141
  200: {
@@ -167,12 +164,13 @@ app.openapi(createRoute({
167
164
  removed: true
168
165
  });
169
166
  });
170
- app.openapi(createRoute({
167
+ app.openapi(createProtectedRoute({
171
168
  method: "get",
172
169
  path: "/agent/{subAgentId}/component/{dataComponentId}/exists",
173
170
  summary: "Check if Data Component is Associated with Agent",
174
171
  operationId: "check-data-component-agent-association",
175
172
  tags: ["Agents", "Data Components"],
173
+ permission: requireProjectPermission("view"),
176
174
  request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ dataComponentId: z.string() }) },
177
175
  responses: {
178
176
  200: {
@@ -1,25 +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, PaginationQueryParamsSchema, SubAgentExternalAgentRelationApiInsertSchema, SubAgentExternalAgentRelationApiUpdateSchema, SubAgentExternalAgentRelationListResponse, SubAgentExternalAgentRelationResponse, TenantProjectAgentSubAgentIdParamsSchema, TenantProjectAgentSubAgentParamsSchema, commonGetErrorResponses, createApiError, createSubAgentExternalAgentRelation, deleteSubAgentExternalAgentRelation, generateId, getSubAgentExternalAgentRelationById, listSubAgentExternalAgentRelations, updateSubAgentExternalAgentRelation } from "@inkeep/agents-core";
5
+ import { createProtectedRoute } from "@inkeep/agents-core/middleware";
5
6
 
6
7
  //#region src/domains/manage/routes/subAgentExternalAgentRelations.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") return requireProjectPermission("edit")(c, next);
14
- if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
15
- return next();
16
- });
17
- app.openapi(createRoute({
9
+ app.openapi(createProtectedRoute({
18
10
  method: "get",
19
11
  path: "/",
20
12
  summary: "List Sub Agent External Agent Relations",
21
13
  operationId: "list-sub-agent-external-agent-relations",
22
14
  tags: ["SubAgents", "External Agents"],
15
+ permission: requireProjectPermission("view"),
23
16
  request: {
24
17
  params: TenantProjectAgentSubAgentParamsSchema,
25
18
  query: PaginationQueryParamsSchema
@@ -59,12 +52,13 @@ app.openapi(createRoute({
59
52
  });
60
53
  }
61
54
  });
62
- app.openapi(createRoute({
55
+ app.openapi(createProtectedRoute({
63
56
  method: "get",
64
57
  path: "/{id}",
65
58
  summary: "Get Sub Agent External Agent Relation",
66
59
  operationId: "get-sub-agent-external-agent-relation-by-id",
67
60
  tags: ["SubAgents", "External Agents"],
61
+ permission: requireProjectPermission("view"),
68
62
  request: { params: TenantProjectAgentSubAgentIdParamsSchema },
69
63
  responses: {
70
64
  200: {
@@ -91,12 +85,13 @@ app.openapi(createRoute({
91
85
  });
92
86
  return c.json({ data: relation });
93
87
  });
94
- app.openapi(createRoute({
88
+ app.openapi(createProtectedRoute({
95
89
  method: "post",
96
90
  path: "/",
97
91
  summary: "Create Sub Agent External Agent Relation",
98
92
  operationId: "create-sub-agent-external-agent-relation",
99
93
  tags: ["SubAgents", "External Agents"],
94
+ permission: requireProjectPermission("edit"),
100
95
  request: {
101
96
  params: TenantProjectAgentSubAgentParamsSchema,
102
97
  body: { content: { "application/json": { schema: SubAgentExternalAgentRelationApiInsertSchema } } }
@@ -142,12 +137,13 @@ app.openapi(createRoute({
142
137
  });
143
138
  return c.json({ data: relation }, 201);
144
139
  });
145
- app.openapi(createRoute({
140
+ app.openapi(createProtectedRoute({
146
141
  method: "put",
147
142
  path: "/{id}",
148
143
  summary: "Update Sub Agent External Agent Relation",
149
144
  operationId: "update-sub-agent-external-agent-relation",
150
145
  tags: ["SubAgents", "External Agents"],
146
+ permission: requireProjectPermission("edit"),
151
147
  request: {
152
148
  params: TenantProjectAgentSubAgentIdParamsSchema,
153
149
  body: { content: { "application/json": { schema: SubAgentExternalAgentRelationApiUpdateSchema } } }
@@ -179,12 +175,13 @@ app.openapi(createRoute({
179
175
  });
180
176
  return c.json({ data: updatedRelation });
181
177
  });
182
- app.openapi(createRoute({
178
+ app.openapi(createProtectedRoute({
183
179
  method: "delete",
184
180
  path: "/{id}",
185
181
  summary: "Delete Sub Agent External Agent Relation",
186
182
  operationId: "delete-sub-agent-external-agent-relation",
187
183
  tags: ["SubAgents", "External Agents"],
184
+ permission: requireProjectPermission("edit"),
188
185
  request: { params: TenantProjectAgentSubAgentIdParamsSchema },
189
186
  responses: {
190
187
  204: { description: "Sub Agent External Agent Relation deleted successfully" },