@inkeep/agents-api 0.0.0-dev-20260219033751 → 0.0.0-dev-20260219045007
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.well-known/workflow/v1/manifest.json +34 -34
- package/dist/createApp.js +16 -90
- package/dist/data/db/manageDbClient.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.js +5 -2
- package/dist/domains/evals/routes/evaluationTriggers.js +9 -4
- package/dist/domains/evals/routes/index.d.ts +2 -2
- package/dist/domains/evals/workflow/routes.d.ts +2 -2
- package/dist/domains/manage/index.js +4 -0
- package/dist/domains/manage/routes/agent.js +16 -20
- package/dist/domains/manage/routes/agentFull.js +10 -17
- package/dist/domains/manage/routes/apiKeys.js +12 -14
- package/dist/domains/manage/routes/artifactComponents.js +12 -15
- package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
- package/dist/domains/manage/routes/availableAgents.js +4 -2
- package/dist/domains/manage/routes/branches.js +12 -14
- package/dist/domains/manage/routes/cliAuth.js +4 -3
- package/dist/domains/manage/routes/contextConfigs.js +12 -15
- package/dist/domains/manage/routes/conversations.d.ts +2 -2
- package/dist/domains/manage/routes/conversations.js +5 -2
- package/dist/domains/manage/routes/credentialStores.js +7 -8
- package/dist/domains/manage/routes/credentials.js +12 -14
- package/dist/domains/manage/routes/dataComponents.js +12 -14
- package/dist/domains/manage/routes/evals/datasetItems.js +14 -19
- package/dist/domains/manage/routes/evals/datasetRunConfigs.js +13 -6
- package/dist/domains/manage/routes/evals/datasetRuns.js +7 -3
- package/dist/domains/manage/routes/evals/datasets.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationResults.js +10 -13
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +14 -15
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluators.js +14 -15
- package/dist/domains/manage/routes/externalAgents.js +12 -14
- package/dist/domains/manage/routes/functionTools.js +12 -15
- package/dist/domains/manage/routes/functions.js +12 -15
- package/dist/domains/manage/routes/github.js +16 -8
- package/dist/domains/manage/routes/index.d.ts +2 -2
- package/dist/domains/manage/routes/index.js +0 -4
- package/dist/domains/manage/routes/invitations.d.ts +2 -2
- package/dist/domains/manage/routes/mcpCatalog.js +5 -2
- package/dist/domains/manage/routes/mcpToolGithubAccess.js +6 -4
- package/dist/domains/manage/routes/oauth.js +6 -66
- package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
- package/dist/domains/manage/routes/playgroundToken.js +4 -2
- package/dist/domains/manage/routes/projectFull.js +13 -26
- package/dist/domains/manage/routes/projectGithubAccess.js +7 -3
- package/dist/domains/manage/routes/projectMembers.js +14 -13
- package/dist/domains/manage/routes/projectPermissions.js +5 -2
- package/dist/domains/manage/routes/projects.js +12 -16
- package/dist/domains/manage/routes/ref.js +5 -2
- package/dist/domains/manage/routes/scheduledTriggers.js +24 -21
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/skills.js +12 -15
- package/dist/domains/manage/routes/subAgentArtifactComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentDataComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentFunctionTools.js +12 -14
- package/dist/domains/manage/routes/subAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentSkills.js +8 -12
- package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentToolRelations.js +14 -16
- package/dist/domains/manage/routes/subAgents.js +12 -15
- package/dist/domains/manage/routes/thirdPartyMCPServers.js +7 -3
- package/dist/domains/manage/routes/tools.js +79 -16
- package/dist/domains/manage/routes/triggers.js +18 -22
- package/dist/domains/manage/routes/userProjectMemberships.js +5 -3
- package/dist/domains/manage/routes/users.d.ts +2 -2
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.d.ts +2 -2
- package/dist/domains/run/routes/agents.js +4 -2
- package/dist/domains/run/routes/chat.js +4 -2
- package/dist/domains/run/routes/chatDataStream.js +6 -3
- package/dist/domains/run/routes/mcp.js +4 -2
- package/dist/domains/run/routes/webhooks.js +5 -3
- package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +1 -1
- package/dist/domains/run/types/chat.d.ts +4 -4
- package/dist/domains/run/utils/token-estimator.d.ts +2 -2
- package/dist/domains/run/workflow/steps/scheduledTriggerSteps.d.ts +5 -5
- package/dist/factory.d.ts +21 -21
- package/dist/index.d.ts +18 -18
- package/dist/middleware/evalsAuth.d.ts +2 -2
- package/dist/middleware/evalsAuth.js +37 -32
- package/dist/middleware/index.d.ts +2 -3
- package/dist/middleware/index.js +3 -4
- package/dist/middleware/manageAuth.d.ts +9 -4
- package/dist/middleware/manageAuth.js +24 -2
- package/dist/middleware/projectAccess.d.ts +4 -3
- package/dist/middleware/projectAccess.js +78 -64
- package/dist/middleware/projectConfig.d.ts +3 -3
- package/dist/middleware/ref.d.ts +1 -5
- package/dist/middleware/ref.js +1 -21
- package/dist/middleware/requirePermission.d.ts +2 -2
- package/dist/middleware/requirePermission.js +64 -64
- package/dist/middleware/runAuth.d.ts +4 -4
- package/dist/middleware/sessionAuth.d.ts +3 -3
- package/dist/middleware/sessionAuth.js +23 -18
- package/dist/middleware/tenantAccess.d.ts +3 -2
- package/dist/middleware/tenantAccess.js +12 -1
- package/dist/middleware/tracing.d.ts +3 -3
- package/dist/middleware/tracing.js +1 -1
- package/dist/routes/capabilities.d.ts +10 -0
- package/dist/routes/capabilities.js +35 -0
- package/dist/routes/healthChecks.js +6 -3
- package/dist/routes/workflowProcess.d.ts +10 -0
- package/dist/routes/workflowProcess.js +23 -0
- package/dist/types/app.d.ts +3 -3
- package/package.json +4 -4
|
@@ -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
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 {
|
|
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(
|
|
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,
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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
|
-
},
|
|
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
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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" },
|