@inkeep/agents-api 0.0.0-dev-20260219033751 → 0.0.0-dev-20260219045007
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.well-known/workflow/v1/manifest.json +34 -34
- package/dist/createApp.js +16 -90
- package/dist/data/db/manageDbClient.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.d.ts +2 -2
- package/dist/domains/evals/routes/datasetTriggers.js +5 -2
- package/dist/domains/evals/routes/evaluationTriggers.js +9 -4
- package/dist/domains/evals/routes/index.d.ts +2 -2
- package/dist/domains/evals/workflow/routes.d.ts +2 -2
- package/dist/domains/manage/index.js +4 -0
- package/dist/domains/manage/routes/agent.js +16 -20
- package/dist/domains/manage/routes/agentFull.js +10 -17
- package/dist/domains/manage/routes/apiKeys.js +12 -14
- package/dist/domains/manage/routes/artifactComponents.js +12 -15
- package/dist/domains/manage/routes/availableAgents.d.ts +2 -2
- package/dist/domains/manage/routes/availableAgents.js +4 -2
- package/dist/domains/manage/routes/branches.js +12 -14
- package/dist/domains/manage/routes/cliAuth.js +4 -3
- package/dist/domains/manage/routes/contextConfigs.js +12 -15
- package/dist/domains/manage/routes/conversations.d.ts +2 -2
- package/dist/domains/manage/routes/conversations.js +5 -2
- package/dist/domains/manage/routes/credentialStores.js +7 -8
- package/dist/domains/manage/routes/credentials.js +12 -14
- package/dist/domains/manage/routes/dataComponents.js +12 -14
- package/dist/domains/manage/routes/evals/datasetItems.js +14 -19
- package/dist/domains/manage/routes/evals/datasetRunConfigs.js +13 -6
- package/dist/domains/manage/routes/evals/datasetRuns.js +7 -3
- package/dist/domains/manage/routes/evals/datasets.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluationResults.js +10 -13
- package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +14 -15
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +8 -8
- package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +12 -14
- package/dist/domains/manage/routes/evals/evaluators.js +14 -15
- package/dist/domains/manage/routes/externalAgents.js +12 -14
- package/dist/domains/manage/routes/functionTools.js +12 -15
- package/dist/domains/manage/routes/functions.js +12 -15
- package/dist/domains/manage/routes/github.js +16 -8
- package/dist/domains/manage/routes/index.d.ts +2 -2
- package/dist/domains/manage/routes/index.js +0 -4
- package/dist/domains/manage/routes/invitations.d.ts +2 -2
- package/dist/domains/manage/routes/mcpCatalog.js +5 -2
- package/dist/domains/manage/routes/mcpToolGithubAccess.js +6 -4
- package/dist/domains/manage/routes/oauth.js +6 -66
- package/dist/domains/manage/routes/passwordResetLinks.d.ts +2 -2
- package/dist/domains/manage/routes/playgroundToken.js +4 -2
- package/dist/domains/manage/routes/projectFull.js +13 -26
- package/dist/domains/manage/routes/projectGithubAccess.js +7 -3
- package/dist/domains/manage/routes/projectMembers.js +14 -13
- package/dist/domains/manage/routes/projectPermissions.js +5 -2
- package/dist/domains/manage/routes/projects.js +12 -16
- package/dist/domains/manage/routes/ref.js +5 -2
- package/dist/domains/manage/routes/scheduledTriggers.js +24 -21
- package/dist/domains/manage/routes/signoz.d.ts +2 -2
- package/dist/domains/manage/routes/skills.js +12 -15
- package/dist/domains/manage/routes/subAgentArtifactComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentDataComponents.js +12 -14
- package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentFunctionTools.js +12 -14
- package/dist/domains/manage/routes/subAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentSkills.js +8 -12
- package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +12 -15
- package/dist/domains/manage/routes/subAgentToolRelations.js +14 -16
- package/dist/domains/manage/routes/subAgents.js +12 -15
- package/dist/domains/manage/routes/thirdPartyMCPServers.js +7 -3
- package/dist/domains/manage/routes/tools.js +79 -16
- package/dist/domains/manage/routes/triggers.js +18 -22
- package/dist/domains/manage/routes/userProjectMemberships.js +5 -3
- package/dist/domains/manage/routes/users.d.ts +2 -2
- package/dist/domains/mcp/routes/mcp.d.ts +2 -2
- package/dist/domains/run/agents/relationTools.d.ts +2 -2
- package/dist/domains/run/routes/agents.js +4 -2
- package/dist/domains/run/routes/chat.js +4 -2
- package/dist/domains/run/routes/chatDataStream.js +6 -3
- package/dist/domains/run/routes/mcp.js +4 -2
- package/dist/domains/run/routes/webhooks.js +5 -3
- package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +1 -1
- package/dist/domains/run/types/chat.d.ts +4 -4
- package/dist/domains/run/utils/token-estimator.d.ts +2 -2
- package/dist/domains/run/workflow/steps/scheduledTriggerSteps.d.ts +5 -5
- package/dist/factory.d.ts +21 -21
- package/dist/index.d.ts +18 -18
- package/dist/middleware/evalsAuth.d.ts +2 -2
- package/dist/middleware/evalsAuth.js +37 -32
- package/dist/middleware/index.d.ts +2 -3
- package/dist/middleware/index.js +3 -4
- package/dist/middleware/manageAuth.d.ts +9 -4
- package/dist/middleware/manageAuth.js +24 -2
- package/dist/middleware/projectAccess.d.ts +4 -3
- package/dist/middleware/projectAccess.js +78 -64
- package/dist/middleware/projectConfig.d.ts +3 -3
- package/dist/middleware/ref.d.ts +1 -5
- package/dist/middleware/ref.js +1 -21
- package/dist/middleware/requirePermission.d.ts +2 -2
- package/dist/middleware/requirePermission.js +64 -64
- package/dist/middleware/runAuth.d.ts +4 -4
- package/dist/middleware/sessionAuth.d.ts +3 -3
- package/dist/middleware/sessionAuth.js +23 -18
- package/dist/middleware/tenantAccess.d.ts +3 -2
- package/dist/middleware/tenantAccess.js +12 -1
- package/dist/middleware/tracing.d.ts +3 -3
- package/dist/middleware/tracing.js +1 -1
- package/dist/routes/capabilities.d.ts +10 -0
- package/dist/routes/capabilities.js +35 -0
- package/dist/routes/healthChecks.js +6 -3
- package/dist/routes/workflowProcess.d.ts +10 -0
- package/dist/routes/workflowProcess.js +23 -0
- package/dist/types/app.d.ts +3 -3
- package/package.json +4 -4
|
@@ -1,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, ErrorResponseSchema, ExistsResponseSchema, FunctionToolListResponse, RemovedResponseSchema, SubAgentFunctionToolRelationApiInsertSchema, SubAgentFunctionToolRelationResponse, TenantProjectAgentParamsSchema, TenantProjectAgentSubAgentParamsSchema, addFunctionToolToSubAgent, commonGetErrorResponses, createApiError, getFunctionToolById, getFunctionToolsForSubAgent, getSubAgentById, getSubAgentsUsingFunctionTool, isFunctionToolAssociatedWithSubAgent, removeFunctionToolFromSubAgent } from "@inkeep/agents-core";
|
|
4
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
4
5
|
|
|
5
6
|
//#region src/domains/manage/routes/subAgentFunctionTools.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("/sub-agent/:subAgentId/function-tool/:functionToolId", 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: "/sub-agent/{subAgentId}",
|
|
18
11
|
summary: "Get Function Tools for SubAgent",
|
|
19
12
|
operationId: "get-function-tools-for-sub-agent",
|
|
20
13
|
tags: ["SubAgents", "Function Tools"],
|
|
14
|
+
permission: requireProjectPermission("view"),
|
|
21
15
|
request: { params: TenantProjectAgentSubAgentParamsSchema },
|
|
22
16
|
responses: {
|
|
23
17
|
200: {
|
|
@@ -39,12 +33,13 @@ app.openapi(createRoute({
|
|
|
39
33
|
});
|
|
40
34
|
return c.json(result);
|
|
41
35
|
});
|
|
42
|
-
app.openapi(
|
|
36
|
+
app.openapi(createProtectedRoute({
|
|
43
37
|
method: "get",
|
|
44
38
|
path: "/function-tool/{functionToolId}/sub-agents",
|
|
45
39
|
summary: "Get SubAgents Using Function Tool",
|
|
46
40
|
operationId: "get-sub-agents-using-function-tool",
|
|
47
41
|
tags: ["SubAgents", "Function Tools"],
|
|
42
|
+
permission: requireProjectPermission("view"),
|
|
48
43
|
request: { params: TenantProjectAgentParamsSchema.extend({ functionToolId: z.string() }) },
|
|
49
44
|
responses: {
|
|
50
45
|
200: {
|
|
@@ -66,12 +61,13 @@ app.openapi(createRoute({
|
|
|
66
61
|
});
|
|
67
62
|
return c.json({ data: agents });
|
|
68
63
|
});
|
|
69
|
-
app.openapi(
|
|
64
|
+
app.openapi(createProtectedRoute({
|
|
70
65
|
method: "post",
|
|
71
66
|
path: "/",
|
|
72
67
|
summary: "Associate Function Tool with SubAgent",
|
|
73
68
|
operationId: "associate-function-tool-with-sub-agent",
|
|
74
69
|
tags: ["SubAgents", "Function Tools"],
|
|
70
|
+
permission: requireProjectPermission("edit"),
|
|
75
71
|
request: {
|
|
76
72
|
params: TenantProjectAgentParamsSchema,
|
|
77
73
|
body: { content: { "application/json": { schema: SubAgentFunctionToolRelationApiInsertSchema } } }
|
|
@@ -137,12 +133,13 @@ app.openapi(createRoute({
|
|
|
137
133
|
});
|
|
138
134
|
return c.json({ data: association }, 201);
|
|
139
135
|
});
|
|
140
|
-
app.openapi(
|
|
136
|
+
app.openapi(createProtectedRoute({
|
|
141
137
|
method: "delete",
|
|
142
138
|
path: "/sub-agent/{subAgentId}/function-tool/{functionToolId}",
|
|
143
139
|
summary: "Remove Function Tool from SubAgent",
|
|
144
140
|
operationId: "remove-function-tool-from-sub-agent",
|
|
145
141
|
tags: ["SubAgents", "Function Tools"],
|
|
142
|
+
permission: requireProjectPermission("edit"),
|
|
146
143
|
request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ functionToolId: z.string() }) },
|
|
147
144
|
responses: {
|
|
148
145
|
200: {
|
|
@@ -171,12 +168,13 @@ app.openapi(createRoute({
|
|
|
171
168
|
removed: true
|
|
172
169
|
});
|
|
173
170
|
});
|
|
174
|
-
app.openapi(
|
|
171
|
+
app.openapi(createProtectedRoute({
|
|
175
172
|
method: "get",
|
|
176
173
|
path: "/sub-agent/{subAgentId}/function-tool/{functionToolId}/exists",
|
|
177
174
|
summary: "Check if Function Tool is Associated with SubAgent",
|
|
178
175
|
operationId: "check-function-tool-sub-agent-association",
|
|
179
176
|
tags: ["SubAgents", "Function Tools"],
|
|
177
|
+
permission: requireProjectPermission("view"),
|
|
180
178
|
request: { params: TenantProjectAgentSubAgentParamsSchema.extend({ functionToolId: z.string() }) },
|
|
181
179
|
responses: {
|
|
182
180
|
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, SubAgentRelationApiInsertSchema, SubAgentRelationApiUpdateSchema, SubAgentRelationListResponse, SubAgentRelationQuerySchema, SubAgentRelationResponse, TenantProjectAgentIdParamsSchema, TenantProjectAgentParamsSchema, commonGetErrorResponses, createApiError, createSubAgentRelation, deleteSubAgentRelation, generateId, getAgentRelationById, getAgentRelationsBySource, getSubAgentRelationsByTarget, listAgentRelations, updateAgentRelation, validateSubAgent } from "@inkeep/agents-core";
|
|
5
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
5
6
|
|
|
6
7
|
//#region src/domains/manage/routes/subAgentRelations.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 Relations",
|
|
21
13
|
operationId: "list-sub-agent-relations",
|
|
22
14
|
tags: ["SubAgents"],
|
|
15
|
+
permission: requireProjectPermission("view"),
|
|
23
16
|
request: {
|
|
24
17
|
params: TenantProjectAgentParamsSchema,
|
|
25
18
|
query: PaginationQueryParamsSchema.merge(SubAgentRelationQuerySchema)
|
|
@@ -99,12 +92,13 @@ app.openapi(createRoute({
|
|
|
99
92
|
});
|
|
100
93
|
}
|
|
101
94
|
});
|
|
102
|
-
app.openapi(
|
|
95
|
+
app.openapi(createProtectedRoute({
|
|
103
96
|
method: "get",
|
|
104
97
|
path: "/{id}",
|
|
105
98
|
summary: "Get Sub Agent Relation",
|
|
106
99
|
operationId: "get-sub-agent-relation-by-id",
|
|
107
100
|
tags: ["SubAgents"],
|
|
101
|
+
permission: requireProjectPermission("view"),
|
|
108
102
|
request: { params: TenantProjectAgentIdParamsSchema },
|
|
109
103
|
responses: {
|
|
110
104
|
200: {
|
|
@@ -130,12 +124,13 @@ app.openapi(createRoute({
|
|
|
130
124
|
});
|
|
131
125
|
return c.json({ data: agentRelation });
|
|
132
126
|
});
|
|
133
|
-
app.openapi(
|
|
127
|
+
app.openapi(createProtectedRoute({
|
|
134
128
|
method: "post",
|
|
135
129
|
path: "/",
|
|
136
130
|
summary: "Create Sub Agent Relation",
|
|
137
131
|
operationId: "create-sub-agent-relation",
|
|
138
132
|
tags: ["SubAgents"],
|
|
133
|
+
permission: requireProjectPermission("edit"),
|
|
139
134
|
request: {
|
|
140
135
|
params: TenantProjectAgentParamsSchema,
|
|
141
136
|
body: { content: { "application/json": { schema: SubAgentRelationApiInsertSchema } } }
|
|
@@ -191,12 +186,13 @@ app.openapi(createRoute({
|
|
|
191
186
|
const agentRelation = await createSubAgentRelation(db)({ ...relationData });
|
|
192
187
|
return c.json({ data: agentRelation }, 201);
|
|
193
188
|
});
|
|
194
|
-
app.openapi(
|
|
189
|
+
app.openapi(createProtectedRoute({
|
|
195
190
|
method: "put",
|
|
196
191
|
path: "/{id}",
|
|
197
192
|
summary: "Update Sub Agent Relation",
|
|
198
193
|
operationId: "update-sub-agent-relation",
|
|
199
194
|
tags: ["SubAgents"],
|
|
195
|
+
permission: requireProjectPermission("edit"),
|
|
200
196
|
request: {
|
|
201
197
|
params: TenantProjectAgentIdParamsSchema,
|
|
202
198
|
body: { content: { "application/json": { schema: SubAgentRelationApiUpdateSchema } } }
|
|
@@ -227,12 +223,13 @@ app.openapi(createRoute({
|
|
|
227
223
|
});
|
|
228
224
|
return c.json({ data: updatedAgentRelation });
|
|
229
225
|
});
|
|
230
|
-
app.openapi(
|
|
226
|
+
app.openapi(createProtectedRoute({
|
|
231
227
|
method: "delete",
|
|
232
228
|
path: "/{id}",
|
|
233
229
|
summary: "Delete Sub Agent Relation",
|
|
234
230
|
operationId: "delete-sub-agent-relation",
|
|
235
231
|
tags: ["SubAgents"],
|
|
232
|
+
permission: requireProjectPermission("edit"),
|
|
236
233
|
request: { params: TenantProjectAgentIdParamsSchema },
|
|
237
234
|
responses: {
|
|
238
235
|
204: { description: "Sub Agent Relation 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 { SubAgentSkillApiInsertSchema, SubAgentSkillResponse, SubAgentSkillWithIndexArrayResponse, TenantProjectAgentParamsSchema, TenantProjectAgentSubAgentParamsSchema, commonGetErrorResponses, createApiError, deleteSubAgentSkill, getSkillById, getSkillsForSubAgents, getSubAgentById, upsertSubAgentSkill } from "@inkeep/agents-core";
|
|
4
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
4
5
|
|
|
5
6
|
//#region src/domains/manage/routes/subAgentSkills.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/skill/:skillId", 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: "List Skills for Sub-Agent",
|
|
19
12
|
operationId: "get-skills-for-subagent",
|
|
20
13
|
tags: ["Skills"],
|
|
14
|
+
permission: requireProjectPermission("view"),
|
|
21
15
|
request: { params: TenantProjectAgentSubAgentParamsSchema },
|
|
22
16
|
responses: {
|
|
23
17
|
200: {
|
|
@@ -38,12 +32,13 @@ app.openapi(createRoute({
|
|
|
38
32
|
});
|
|
39
33
|
return c.json({ data: skills });
|
|
40
34
|
});
|
|
41
|
-
app.openapi(
|
|
35
|
+
app.openapi(createProtectedRoute({
|
|
42
36
|
method: "post",
|
|
43
37
|
path: "/",
|
|
44
38
|
summary: "Attach Skill to Sub-Agent",
|
|
45
39
|
operationId: "create-subagent-skill",
|
|
46
40
|
tags: ["Skills"],
|
|
41
|
+
permission: requireProjectPermission("edit"),
|
|
47
42
|
request: {
|
|
48
43
|
params: TenantProjectAgentParamsSchema,
|
|
49
44
|
body: { content: { "application/json": { schema: SubAgentSkillApiInsertSchema } } }
|
|
@@ -94,12 +89,13 @@ app.openapi(createRoute({
|
|
|
94
89
|
});
|
|
95
90
|
return c.json({ data: relation }, 201);
|
|
96
91
|
});
|
|
97
|
-
app.openapi(
|
|
92
|
+
app.openapi(createProtectedRoute({
|
|
98
93
|
method: "delete",
|
|
99
94
|
path: "/agent/{subAgentId}/skill/{skillId}",
|
|
100
95
|
summary: "Detach Skill from Sub-Agent",
|
|
101
96
|
operationId: "delete-subagent-skill",
|
|
102
97
|
tags: ["Skills"],
|
|
98
|
+
permission: requireProjectPermission("edit"),
|
|
103
99
|
request: { params: TenantProjectAgentParamsSchema.extend({
|
|
104
100
|
subAgentId: z.string(),
|
|
105
101
|
skillId: z.string()
|
|
@@ -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, SubAgentTeamAgentRelationApiInsertSchema, SubAgentTeamAgentRelationApiUpdateSchema, SubAgentTeamAgentRelationListResponse, SubAgentTeamAgentRelationResponse, TenantProjectAgentSubAgentIdParamsSchema, TenantProjectAgentSubAgentParamsSchema, commonGetErrorResponses, createApiError, createSubAgentTeamAgentRelation, deleteSubAgentTeamAgentRelation, generateId, getSubAgentTeamAgentRelationById, listSubAgentTeamAgentRelations, updateSubAgentTeamAgentRelation } from "@inkeep/agents-core";
|
|
5
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
5
6
|
|
|
6
7
|
//#region src/domains/manage/routes/subAgentTeamAgentRelations.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 Team Agent Relations",
|
|
21
13
|
operationId: "list-sub-agent-team-agent-relations",
|
|
22
14
|
tags: ["SubAgents"],
|
|
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 Team Agent Relation",
|
|
66
59
|
operationId: "get-sub-agent-team-agent-relation-by-id",
|
|
67
60
|
tags: ["SubAgents"],
|
|
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 Team Agent Relation",
|
|
98
92
|
operationId: "create-sub-agent-team-agent-relation",
|
|
99
93
|
tags: ["SubAgents"],
|
|
94
|
+
permission: requireProjectPermission("edit"),
|
|
100
95
|
request: {
|
|
101
96
|
params: TenantProjectAgentSubAgentParamsSchema,
|
|
102
97
|
body: { content: { "application/json": { schema: SubAgentTeamAgentRelationApiInsertSchema } } }
|
|
@@ -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 Team Agent Relation",
|
|
149
144
|
operationId: "update-sub-agent-team-agent-relation",
|
|
150
145
|
tags: ["SubAgents"],
|
|
146
|
+
permission: requireProjectPermission("edit"),
|
|
151
147
|
request: {
|
|
152
148
|
params: TenantProjectAgentSubAgentIdParamsSchema,
|
|
153
149
|
body: { content: { "application/json": { schema: SubAgentTeamAgentRelationApiUpdateSchema } } }
|
|
@@ -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 Team Agent Relation",
|
|
186
182
|
operationId: "delete-sub-agent-team-agent-relation",
|
|
187
183
|
tags: ["SubAgents"],
|
|
184
|
+
permission: requireProjectPermission("edit"),
|
|
188
185
|
request: { params: TenantProjectAgentSubAgentIdParamsSchema },
|
|
189
186
|
responses: {
|
|
190
187
|
204: { description: "Sub Agent Team Agent Relation deleted successfully" },
|
|
@@ -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, z } from "@hono/zod-openapi";
|
|
4
4
|
import { ErrorResponseSchema, PaginationQueryParamsSchema, SubAgentToolRelationApiInsertSchema, SubAgentToolRelationApiUpdateSchema, SubAgentToolRelationListResponse, SubAgentToolRelationResponse, TenantProjectAgentIdParamsSchema, TenantProjectAgentParamsSchema, commonGetErrorResponses, createAgentToolRelation, createApiError, deleteAgentToolRelation, getAgentToolRelationByAgent, getAgentToolRelationById, getAgentToolRelationByTool, getAgentsForTool, listAgentToolRelations, updateAgentToolRelation } from "@inkeep/agents-core";
|
|
5
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
5
6
|
|
|
6
7
|
//#region src/domains/manage/routes/subAgentToolRelations.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 SubAgent Tool Relations",
|
|
21
13
|
operationId: "list-subagent-tool-relations",
|
|
22
14
|
tags: ["SubAgents", "Tools"],
|
|
15
|
+
permission: requireProjectPermission("view"),
|
|
23
16
|
request: {
|
|
24
17
|
params: TenantProjectAgentParamsSchema,
|
|
25
18
|
query: PaginationQueryParamsSchema.extend({
|
|
@@ -93,12 +86,13 @@ app.openapi(createRoute({
|
|
|
93
86
|
}
|
|
94
87
|
return c.json(result);
|
|
95
88
|
});
|
|
96
|
-
app.openapi(
|
|
89
|
+
app.openapi(createProtectedRoute({
|
|
97
90
|
method: "get",
|
|
98
91
|
path: "/{id}",
|
|
99
92
|
summary: "Get SubAgent Tool Relation",
|
|
100
93
|
operationId: "get-subagent-tool-relation",
|
|
101
94
|
tags: ["SubAgents", "Tools"],
|
|
95
|
+
permission: requireProjectPermission("view"),
|
|
102
96
|
request: { params: TenantProjectAgentIdParamsSchema },
|
|
103
97
|
responses: {
|
|
104
98
|
200: {
|
|
@@ -125,12 +119,13 @@ app.openapi(createRoute({
|
|
|
125
119
|
});
|
|
126
120
|
return c.json({ data: agentToolRelation });
|
|
127
121
|
});
|
|
128
|
-
app.openapi(
|
|
122
|
+
app.openapi(createProtectedRoute({
|
|
129
123
|
method: "get",
|
|
130
124
|
path: "/tool/{toolId}/sub-agents",
|
|
131
125
|
summary: "Get SubAgents for Tool",
|
|
132
126
|
operationId: "get-subagents-for-tool",
|
|
133
127
|
tags: ["SubAgents", "Tools"],
|
|
128
|
+
permission: requireProjectPermission("view"),
|
|
134
129
|
request: {
|
|
135
130
|
params: TenantProjectAgentParamsSchema.extend({ toolId: z.string() }),
|
|
136
131
|
query: PaginationQueryParamsSchema
|
|
@@ -160,12 +155,13 @@ app.openapi(createRoute({
|
|
|
160
155
|
});
|
|
161
156
|
return c.json(dbResult);
|
|
162
157
|
});
|
|
163
|
-
app.openapi(
|
|
158
|
+
app.openapi(createProtectedRoute({
|
|
164
159
|
method: "post",
|
|
165
160
|
path: "/",
|
|
166
161
|
summary: "Create SubAgent Tool Relation",
|
|
167
162
|
operationId: "create-subagent-tool-relation",
|
|
168
163
|
tags: ["SubAgents", "Tools"],
|
|
164
|
+
permission: requireProjectPermission("edit"),
|
|
169
165
|
request: {
|
|
170
166
|
params: TenantProjectAgentParamsSchema,
|
|
171
167
|
body: { content: { "application/json": { schema: SubAgentToolRelationApiInsertSchema } } }
|
|
@@ -213,12 +209,13 @@ app.openapi(createRoute({
|
|
|
213
209
|
throw error;
|
|
214
210
|
}
|
|
215
211
|
});
|
|
216
|
-
app.openapi(
|
|
212
|
+
app.openapi(createProtectedRoute({
|
|
217
213
|
method: "put",
|
|
218
214
|
path: "/{id}",
|
|
219
215
|
summary: "Update SubAgent Tool Relation",
|
|
220
216
|
operationId: "update-subagent-tool-relation",
|
|
221
217
|
tags: ["SubAgents", "Tools"],
|
|
218
|
+
permission: requireProjectPermission("edit"),
|
|
222
219
|
request: {
|
|
223
220
|
params: TenantProjectAgentIdParamsSchema,
|
|
224
221
|
body: { content: { "application/json": { schema: SubAgentToolRelationApiUpdateSchema } } }
|
|
@@ -253,12 +250,13 @@ app.openapi(createRoute({
|
|
|
253
250
|
});
|
|
254
251
|
return c.json({ data: updatedAgentToolRelation });
|
|
255
252
|
});
|
|
256
|
-
app.openapi(
|
|
253
|
+
app.openapi(createProtectedRoute({
|
|
257
254
|
method: "delete",
|
|
258
255
|
path: "/{id}",
|
|
259
256
|
summary: "Delete SubAgent Tool Relation",
|
|
260
257
|
operationId: "delete-subagent-tool-relation",
|
|
261
258
|
tags: ["SubAgents", "Tools"],
|
|
259
|
+
permission: requireProjectPermission("edit"),
|
|
262
260
|
request: { params: TenantProjectAgentIdParamsSchema },
|
|
263
261
|
responses: {
|
|
264
262
|
204: { description: "SubAgent tool relation deleted successfully" },
|
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
import runDbClient_default from "../../../data/db/runDbClient.js";
|
|
2
2
|
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
3
3
|
import { speakeasyOffsetLimitPagination } from "../../../utils/speakeasy.js";
|
|
4
|
-
import { OpenAPIHono
|
|
4
|
+
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
5
5
|
import { ErrorResponseSchema, PaginationQueryParamsSchema, SubAgentApiInsertSchema, SubAgentApiUpdateSchema, SubAgentIsDefaultError, SubAgentListResponse, SubAgentResponse, TenantProjectAgentIdParamsSchema, TenantProjectAgentParamsSchema, cascadeDeleteBySubAgent, commonGetErrorResponses, createApiError, createSubAgent, deleteSubAgent, generateId, getSubAgentById, listSubAgentsPaginated, updateSubAgent } from "@inkeep/agents-core";
|
|
6
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
6
7
|
|
|
7
8
|
//#region src/domains/manage/routes/subAgents.ts
|
|
8
9
|
const app = new OpenAPIHono();
|
|
9
|
-
app.
|
|
10
|
-
if (c.req.method === "POST") return requireProjectPermission("edit")(c, next);
|
|
11
|
-
return next();
|
|
12
|
-
});
|
|
13
|
-
app.use("/:id", async (c, next) => {
|
|
14
|
-
if (c.req.method === "PUT") return requireProjectPermission("edit")(c, next);
|
|
15
|
-
if (c.req.method === "DELETE") return requireProjectPermission("edit")(c, next);
|
|
16
|
-
return next();
|
|
17
|
-
});
|
|
18
|
-
app.openapi(createRoute({
|
|
10
|
+
app.openapi(createProtectedRoute({
|
|
19
11
|
method: "get",
|
|
20
12
|
path: "/",
|
|
21
13
|
summary: "List SubAgents",
|
|
22
14
|
operationId: "list-subagents",
|
|
23
15
|
tags: ["SubAgents"],
|
|
16
|
+
permission: requireProjectPermission("view"),
|
|
24
17
|
request: {
|
|
25
18
|
params: TenantProjectAgentParamsSchema,
|
|
26
19
|
query: PaginationQueryParamsSchema
|
|
@@ -57,12 +50,13 @@ app.openapi(createRoute({
|
|
|
57
50
|
};
|
|
58
51
|
return c.json(dataWithType);
|
|
59
52
|
});
|
|
60
|
-
app.openapi(
|
|
53
|
+
app.openapi(createProtectedRoute({
|
|
61
54
|
method: "get",
|
|
62
55
|
path: "/{id}",
|
|
63
56
|
summary: "Get SubAgent",
|
|
64
57
|
operationId: "get-subagent-by-id",
|
|
65
58
|
tags: ["SubAgents"],
|
|
59
|
+
permission: requireProjectPermission("view"),
|
|
66
60
|
request: { params: TenantProjectAgentIdParamsSchema },
|
|
67
61
|
responses: {
|
|
68
62
|
200: {
|
|
@@ -91,12 +85,13 @@ app.openapi(createRoute({
|
|
|
91
85
|
};
|
|
92
86
|
return c.json({ data: subAgentWithType });
|
|
93
87
|
});
|
|
94
|
-
app.openapi(
|
|
88
|
+
app.openapi(createProtectedRoute({
|
|
95
89
|
method: "post",
|
|
96
90
|
path: "/",
|
|
97
91
|
summary: "Create SubAgent",
|
|
98
92
|
operationId: "create-subagent",
|
|
99
93
|
tags: ["SubAgents"],
|
|
94
|
+
permission: requireProjectPermission("edit"),
|
|
100
95
|
request: {
|
|
101
96
|
params: TenantProjectAgentParamsSchema,
|
|
102
97
|
body: { content: { "application/json": { schema: SubAgentApiInsertSchema } } }
|
|
@@ -124,12 +119,13 @@ app.openapi(createRoute({
|
|
|
124
119
|
};
|
|
125
120
|
return c.json({ data: subAgentWithType }, 201);
|
|
126
121
|
});
|
|
127
|
-
app.openapi(
|
|
122
|
+
app.openapi(createProtectedRoute({
|
|
128
123
|
method: "put",
|
|
129
124
|
path: "/{id}",
|
|
130
125
|
summary: "Update SubAgent",
|
|
131
126
|
operationId: "update-subagent",
|
|
132
127
|
tags: ["SubAgents"],
|
|
128
|
+
permission: requireProjectPermission("edit"),
|
|
133
129
|
request: {
|
|
134
130
|
params: TenantProjectAgentIdParamsSchema,
|
|
135
131
|
body: { content: { "application/json": { schema: SubAgentApiUpdateSchema } } }
|
|
@@ -163,12 +159,13 @@ app.openapi(createRoute({
|
|
|
163
159
|
};
|
|
164
160
|
return c.json({ data: subAgentWithType });
|
|
165
161
|
});
|
|
166
|
-
app.openapi(
|
|
162
|
+
app.openapi(createProtectedRoute({
|
|
167
163
|
method: "delete",
|
|
168
164
|
path: "/{id}",
|
|
169
165
|
summary: "Delete SubAgent",
|
|
170
166
|
operationId: "delete-subagent",
|
|
171
167
|
tags: ["SubAgents"],
|
|
168
|
+
permission: requireProjectPermission("edit"),
|
|
172
169
|
request: { params: TenantProjectAgentIdParamsSchema },
|
|
173
170
|
responses: {
|
|
174
171
|
204: { description: "SubAgent deleted successfully" },
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { requireProjectPermission } from "../../../middleware/projectAccess.js";
|
|
2
|
+
import { OpenAPIHono, z } from "@hono/zod-openapi";
|
|
2
3
|
import { TenantProjectParamsSchema, ThirdPartyMCPServerResponse, commonGetErrorResponses, createApiError, fetchSingleComposioServer, getComposioOAuthRedirectUrl } from "@inkeep/agents-core";
|
|
4
|
+
import { createProtectedRoute } from "@inkeep/agents-core/middleware";
|
|
3
5
|
|
|
4
6
|
//#region src/domains/manage/routes/thirdPartyMCPServers.ts
|
|
5
7
|
const app = new OpenAPIHono();
|
|
@@ -12,13 +14,14 @@ const GetOAuthRedirectBodySchema = z.object({
|
|
|
12
14
|
credentialScope: z.enum(["project", "user"]).describe("The credential scope")
|
|
13
15
|
});
|
|
14
16
|
const OAuthRedirectResponse = z.object({ data: z.object({ redirectUrl: z.string().nullable() }) });
|
|
15
|
-
app.openapi(
|
|
17
|
+
app.openapi(createProtectedRoute({
|
|
16
18
|
method: "post",
|
|
17
19
|
path: "/",
|
|
18
20
|
summary: "Get Third-Party MCP Server Details",
|
|
19
21
|
operationId: "get-third-party-mcp-server",
|
|
20
22
|
tags: ["Third-Party MCP Servers"],
|
|
21
23
|
description: "Fetch details for a specific third-party MCP server (e.g., Composio) including authentication status and connect URL",
|
|
24
|
+
permission: requireProjectPermission("view"),
|
|
22
25
|
request: {
|
|
23
26
|
params: TenantProjectParamsSchema,
|
|
24
27
|
body: { content: { "application/json": { schema: ThirdPartyMCPServerBodySchema } } }
|
|
@@ -37,13 +40,14 @@ app.openapi(createRoute({
|
|
|
37
40
|
const server = await fetchSingleComposioServer(tenantId, projectId, url, credentialScope ?? "project", userId);
|
|
38
41
|
return c.json({ data: server });
|
|
39
42
|
});
|
|
40
|
-
app.openapi(
|
|
43
|
+
app.openapi(createProtectedRoute({
|
|
41
44
|
method: "post",
|
|
42
45
|
path: "/oauth-redirect",
|
|
43
46
|
summary: "Get OAuth Redirect URL",
|
|
44
47
|
operationId: "get-oauth-redirect-url",
|
|
45
48
|
tags: ["Third-Party MCP Servers"],
|
|
46
49
|
description: "Get the OAuth redirect URL for a third-party MCP server. Call this after scope selection to get the correct URL for the selected scope.",
|
|
50
|
+
permission: requireProjectPermission("edit"),
|
|
47
51
|
request: {
|
|
48
52
|
params: TenantProjectParamsSchema,
|
|
49
53
|
body: { content: { "application/json": { schema: GetOAuthRedirectBodySchema } } }
|