@inkeep/agents-core 0.53.13 → 0.55.0

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 (49) hide show
  1. package/dist/auth/auth-schema.d.ts +85 -85
  2. package/dist/auth/auth-validation-schemas.d.ts +152 -152
  3. package/dist/auth/auth.d.ts +28 -28
  4. package/dist/auth/permissions.d.ts +13 -13
  5. package/dist/client-exports.d.ts +4 -4
  6. package/dist/client-exports.js +2 -2
  7. package/dist/data-access/index.d.ts +2 -2
  8. package/dist/data-access/index.js +3 -3
  9. package/dist/data-access/manage/agents.d.ts +26 -26
  10. package/dist/data-access/manage/agents.js +19 -1
  11. package/dist/data-access/manage/artifactComponents.d.ts +10 -10
  12. package/dist/data-access/manage/contextConfigs.d.ts +8 -8
  13. package/dist/data-access/manage/dataComponents.d.ts +4 -4
  14. package/dist/data-access/manage/functionTools.d.ts +16 -16
  15. package/dist/data-access/manage/skills.d.ts +13 -13
  16. package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +18 -18
  17. package/dist/data-access/manage/subAgentRelations.d.ts +20 -20
  18. package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +18 -18
  19. package/dist/data-access/manage/subAgents.d.ts +18 -18
  20. package/dist/data-access/manage/tools.d.ts +21 -21
  21. package/dist/data-access/manage/tools.js +24 -12
  22. package/dist/data-access/runtime/apiKeys.d.ts +12 -12
  23. package/dist/data-access/runtime/cascade-delete.d.ts +2 -0
  24. package/dist/data-access/runtime/cascade-delete.js +19 -4
  25. package/dist/data-access/runtime/conversations.d.ts +16 -16
  26. package/dist/data-access/runtime/messages.d.ts +3 -3
  27. package/dist/data-access/runtime/tasks.d.ts +3 -3
  28. package/dist/data-access/runtime/workAppSlack.d.ts +8 -2
  29. package/dist/data-access/runtime/workAppSlack.js +63 -2
  30. package/dist/db/manage/manage-schema.d.ts +355 -355
  31. package/dist/db/runtime/runtime-schema.d.ts +316 -280
  32. package/dist/db/runtime/runtime-schema.js +12 -4
  33. package/dist/index.d.ts +3 -3
  34. package/dist/index.js +4 -4
  35. package/dist/types/utility.d.ts +1 -0
  36. package/dist/utils/mcp-client.d.ts +1 -0
  37. package/dist/utils/mcp-client.js +3 -0
  38. package/dist/validation/index.d.ts +2 -2
  39. package/dist/validation/index.js +2 -2
  40. package/dist/validation/schemas.d.ts +1316 -228
  41. package/dist/validation/schemas.js +12 -2
  42. package/drizzle/runtime/0016_white_eddie_brock.sql +1 -0
  43. package/drizzle/runtime/0017_remarkable_starfox.sql +3 -0
  44. package/drizzle/runtime/0018_orange_union_jack.sql +6 -0
  45. package/drizzle/runtime/meta/0016_snapshot.json +3766 -0
  46. package/drizzle/runtime/meta/0017_snapshot.json +3785 -0
  47. package/drizzle/runtime/meta/0018_snapshot.json +3929 -0
  48. package/drizzle/runtime/meta/_journal.json +21 -0
  49. package/package.json +1 -1
@@ -9,10 +9,10 @@ declare const getAgentRelationById: (db: AgentsManageDatabaseClient) => (params:
9
9
  scopes: AgentScopeConfig;
10
10
  relationId: string;
11
11
  }) => Promise<{
12
+ id: string;
12
13
  tenantId: string;
13
- agentId: string;
14
14
  projectId: string;
15
- id: string;
15
+ agentId: string;
16
16
  createdAt: string;
17
17
  updatedAt: string;
18
18
  sourceSubAgentId: string;
@@ -44,10 +44,10 @@ declare const listAgentRelations: (db: AgentsManageDatabaseClient) => (params: {
44
44
  declare const getAgentRelations: (db: AgentsManageDatabaseClient) => (params: {
45
45
  scopes: SubAgentScopeConfig;
46
46
  }) => Promise<{
47
+ id: string;
47
48
  tenantId: string;
48
- agentId: string;
49
49
  projectId: string;
50
- id: string;
50
+ agentId: string;
51
51
  createdAt: string;
52
52
  updatedAt: string;
53
53
  sourceSubAgentId: string;
@@ -57,10 +57,10 @@ declare const getAgentRelations: (db: AgentsManageDatabaseClient) => (params: {
57
57
  declare const getAgentRelationsByAgent: (db: AgentsManageDatabaseClient) => (params: {
58
58
  scopes: AgentScopeConfig;
59
59
  }) => Promise<{
60
+ id: string;
60
61
  tenantId: string;
61
- agentId: string;
62
62
  projectId: string;
63
- id: string;
63
+ agentId: string;
64
64
  createdAt: string;
65
65
  updatedAt: string;
66
66
  sourceSubAgentId: string;
@@ -126,10 +126,10 @@ declare const getRelatedAgentsForAgent: (db: AgentsManageDatabaseClient) => (par
126
126
  }[];
127
127
  }>;
128
128
  declare const createSubAgentRelation: (db: AgentsManageDatabaseClient) => (params: SubAgentRelationInsert) => Promise<{
129
+ id: string;
129
130
  tenantId: string;
130
- agentId: string;
131
131
  projectId: string;
132
- id: string;
132
+ agentId: string;
133
133
  createdAt: string;
134
134
  updatedAt: string;
135
135
  sourceSubAgentId: string;
@@ -145,10 +145,10 @@ declare const getAgentRelationByParams: (db: AgentsManageDatabaseClient) => (par
145
145
  targetSubAgentId?: string;
146
146
  relationType: string;
147
147
  }) => Promise<{
148
+ id: string;
148
149
  tenantId: string;
149
- agentId: string;
150
150
  projectId: string;
151
- id: string;
151
+ agentId: string;
152
152
  createdAt: string;
153
153
  updatedAt: string;
154
154
  sourceSubAgentId: string;
@@ -159,10 +159,10 @@ declare const getAgentRelationByParams: (db: AgentsManageDatabaseClient) => (par
159
159
  * Upsert agent relation (create if it doesn't exist, no-op if it does)
160
160
  */
161
161
  declare const upsertSubAgentRelation: (db: AgentsManageDatabaseClient) => (params: SubAgentRelationInsert) => Promise<{
162
+ id: string;
162
163
  tenantId: string;
163
- agentId: string;
164
164
  projectId: string;
165
- id: string;
165
+ agentId: string;
166
166
  createdAt: string;
167
167
  updatedAt: string;
168
168
  sourceSubAgentId: string;
@@ -204,18 +204,18 @@ declare const createAgentToolRelation: (db: AgentsManageDatabaseClient) => (para
204
204
  }> | null;
205
205
  };
206
206
  }) => Promise<{
207
+ id: string;
207
208
  tenantId: string;
208
- agentId: string;
209
209
  projectId: string;
210
- id: string;
210
+ agentId: string;
211
211
  createdAt: string;
212
212
  updatedAt: string;
213
- subAgentId: string;
214
- headers: Record<string, string> | null;
215
213
  toolId: string;
214
+ headers: Record<string, string> | null;
216
215
  toolPolicies: Record<string, {
217
216
  needsApproval?: boolean;
218
217
  }> | null;
218
+ subAgentId: string;
219
219
  selectedTools: string[] | null;
220
220
  }>;
221
221
  declare const updateAgentToolRelation: (db: AgentsManageDatabaseClient) => (params: {
@@ -248,18 +248,18 @@ declare const getAgentToolRelationById: (db: AgentsManageDatabaseClient) => (par
248
248
  scopes: SubAgentScopeConfig;
249
249
  relationId: string;
250
250
  }) => Promise<{
251
+ id: string;
251
252
  tenantId: string;
252
- agentId: string;
253
253
  projectId: string;
254
- id: string;
254
+ agentId: string;
255
255
  createdAt: string;
256
256
  updatedAt: string;
257
- subAgentId: string;
258
- headers: Record<string, string> | null;
259
257
  toolId: string;
258
+ headers: Record<string, string> | null;
260
259
  toolPolicies: Record<string, {
261
260
  needsApproval?: boolean;
262
261
  }> | null;
262
+ subAgentId: string;
263
263
  selectedTools: string[] | null;
264
264
  } | undefined>;
265
265
  declare const getAgentToolRelationByAgent: (db: AgentsManageDatabaseClient) => (params: {
@@ -9,14 +9,14 @@ declare const getSubAgentTeamAgentRelationById: (db: AgentsManageDatabaseClient)
9
9
  scopes: SubAgentScopeConfig;
10
10
  relationId: string;
11
11
  }) => Promise<{
12
+ id: string;
12
13
  tenantId: string;
13
- agentId: string;
14
14
  projectId: string;
15
- id: string;
15
+ agentId: string;
16
16
  createdAt: string;
17
17
  updatedAt: string;
18
- subAgentId: string;
19
18
  headers: Record<string, string> | null;
19
+ subAgentId: string;
20
20
  targetAgentId: string;
21
21
  } | undefined>;
22
22
  declare const listSubAgentTeamAgentRelations: (db: AgentsManageDatabaseClient) => (params: {
@@ -44,27 +44,27 @@ declare const listSubAgentTeamAgentRelations: (db: AgentsManageDatabaseClient) =
44
44
  declare const getSubAgentTeamAgentRelations: (db: AgentsManageDatabaseClient) => (params: {
45
45
  scopes: SubAgentScopeConfig;
46
46
  }) => Promise<{
47
+ id: string;
47
48
  tenantId: string;
48
- agentId: string;
49
49
  projectId: string;
50
- id: string;
50
+ agentId: string;
51
51
  createdAt: string;
52
52
  updatedAt: string;
53
- subAgentId: string;
54
53
  headers: Record<string, string> | null;
54
+ subAgentId: string;
55
55
  targetAgentId: string;
56
56
  }[]>;
57
57
  declare const getSubAgentTeamAgentRelationsByAgent: (db: AgentsManageDatabaseClient) => (params: {
58
58
  scopes: AgentScopeConfig;
59
59
  }) => Promise<{
60
+ id: string;
60
61
  tenantId: string;
61
- agentId: string;
62
62
  projectId: string;
63
- id: string;
63
+ agentId: string;
64
64
  createdAt: string;
65
65
  updatedAt: string;
66
- subAgentId: string;
67
66
  headers: Record<string, string> | null;
67
+ subAgentId: string;
68
68
  targetAgentId: string;
69
69
  }[]>;
70
70
  declare const getSubAgentTeamAgentRelationsByTeamAgent: (db: AgentsManageDatabaseClient) => (params: {
@@ -210,14 +210,14 @@ declare const createSubAgentTeamAgentRelation: (db: AgentsManageDatabaseClient)
210
210
  headers?: Record<string, string> | null;
211
211
  };
212
212
  }) => Promise<{
213
+ id: string;
213
214
  tenantId: string;
214
- agentId: string;
215
215
  projectId: string;
216
- id: string;
216
+ agentId: string;
217
217
  createdAt: string;
218
218
  updatedAt: string;
219
- subAgentId: string;
220
219
  headers: Record<string, string> | null;
220
+ subAgentId: string;
221
221
  targetAgentId: string;
222
222
  }>;
223
223
  /**
@@ -227,14 +227,14 @@ declare const getSubAgentTeamAgentRelationByParams: (db: AgentsManageDatabaseCli
227
227
  scopes: SubAgentScopeConfig;
228
228
  targetAgentId: string;
229
229
  }) => Promise<{
230
+ id: string;
230
231
  tenantId: string;
231
- agentId: string;
232
232
  projectId: string;
233
- id: string;
233
+ agentId: string;
234
234
  createdAt: string;
235
235
  updatedAt: string;
236
- subAgentId: string;
237
236
  headers: Record<string, string> | null;
237
+ subAgentId: string;
238
238
  targetAgentId: string;
239
239
  } | undefined>;
240
240
  /**
@@ -248,14 +248,14 @@ declare const upsertSubAgentTeamAgentRelation: (db: AgentsManageDatabaseClient)
248
248
  headers?: Record<string, string> | null;
249
249
  };
250
250
  }) => Promise<{
251
+ id: string;
251
252
  tenantId: string;
252
- agentId: string;
253
253
  projectId: string;
254
- id: string;
254
+ agentId: string;
255
255
  createdAt: string;
256
256
  updatedAt: string;
257
- subAgentId: string;
258
257
  headers: Record<string, string> | null;
258
+ subAgentId: string;
259
259
  targetAgentId: string;
260
260
  }>;
261
261
  declare const updateSubAgentTeamAgentRelation: (db: AgentsManageDatabaseClient) => (params: {
@@ -9,12 +9,14 @@ declare const getSubAgentById: (db: AgentsManageDatabaseClient) => (params: {
9
9
  scopes: AgentScopeConfig;
10
10
  subAgentId: string;
11
11
  }) => Promise<{
12
- tenantId: string;
13
- description: string | null;
14
- agentId: string;
15
- projectId: string;
16
12
  id: string;
17
13
  name: string;
14
+ description: string | null;
15
+ tenantId: string;
16
+ projectId: string;
17
+ agentId: string;
18
+ prompt: string | null;
19
+ conversationHistoryConfig: ConversationHistoryConfig | null;
18
20
  models: {
19
21
  base?: {
20
22
  model?: string | undefined;
@@ -34,18 +36,18 @@ declare const getSubAgentById: (db: AgentsManageDatabaseClient) => (params: {
34
36
  } | null;
35
37
  createdAt: string;
36
38
  updatedAt: string;
37
- prompt: string | null;
38
- conversationHistoryConfig: ConversationHistoryConfig | null;
39
39
  } | undefined>;
40
40
  declare const listSubAgents: (db: AgentsManageDatabaseClient) => (params: {
41
41
  scopes: AgentScopeConfig;
42
42
  }) => Promise<{
43
- tenantId: string;
44
- description: string | null;
45
- agentId: string;
46
- projectId: string;
47
43
  id: string;
48
44
  name: string;
45
+ description: string | null;
46
+ tenantId: string;
47
+ projectId: string;
48
+ agentId: string;
49
+ prompt: string | null;
50
+ conversationHistoryConfig: ConversationHistoryConfig | null;
49
51
  models: {
50
52
  base?: {
51
53
  model?: string | undefined;
@@ -65,8 +67,6 @@ declare const listSubAgents: (db: AgentsManageDatabaseClient) => (params: {
65
67
  } | null;
66
68
  createdAt: string;
67
69
  updatedAt: string;
68
- prompt: string | null;
69
- conversationHistoryConfig: ConversationHistoryConfig | null;
70
70
  }[]>;
71
71
  declare const listSubAgentsPaginated: (db: AgentsManageDatabaseClient) => (params: {
72
72
  scopes: AgentScopeConfig;
@@ -109,12 +109,14 @@ declare const listSubAgentsPaginated: (db: AgentsManageDatabaseClient) => (param
109
109
  };
110
110
  }>;
111
111
  declare const createSubAgent: (db: AgentsManageDatabaseClient) => (params: SubAgentInsert) => Promise<{
112
- tenantId: string;
113
- description: string | null;
114
- agentId: string;
115
- projectId: string;
116
112
  id: string;
117
113
  name: string;
114
+ description: string | null;
115
+ tenantId: string;
116
+ projectId: string;
117
+ agentId: string;
118
+ prompt: string | null;
119
+ conversationHistoryConfig: ConversationHistoryConfig | null;
118
120
  models: {
119
121
  base?: {
120
122
  model?: string | undefined;
@@ -134,8 +136,6 @@ declare const createSubAgent: (db: AgentsManageDatabaseClient) => (params: SubAg
134
136
  } | null;
135
137
  createdAt: string;
136
138
  updatedAt: string;
137
- prompt: string | null;
138
- conversationHistoryConfig: ConversationHistoryConfig | null;
139
139
  }>;
140
140
  declare const updateSubAgent: (db: AgentsManageDatabaseClient) => (params: {
141
141
  scopes: AgentScopeConfig;
@@ -19,11 +19,11 @@ declare const getToolById: (db: AgentsManageDatabaseClient) => (params: {
19
19
  scopes: ProjectScopeConfig;
20
20
  toolId: string;
21
21
  }) => Promise<{
22
- tenantId: string;
23
- description: string | null;
24
- projectId: string;
25
22
  id: string;
26
23
  name: string;
24
+ description: string | null;
25
+ tenantId: string;
26
+ projectId: string;
27
27
  createdAt: string;
28
28
  updatedAt: string;
29
29
  headers: Record<string, string> | null;
@@ -77,11 +77,11 @@ declare const listTools: (db: AgentsManageDatabaseClient) => (params: {
77
77
  };
78
78
  }>;
79
79
  declare const createTool: (db: AgentsManageDatabaseClient) => (params: ToolInsert) => Promise<{
80
- tenantId: string;
81
- description: string | null;
82
- projectId: string;
83
80
  id: string;
84
81
  name: string;
82
+ description: string | null;
83
+ tenantId: string;
84
+ projectId: string;
85
85
  createdAt: string;
86
86
  updatedAt: string;
87
87
  headers: Record<string, string> | null;
@@ -134,18 +134,18 @@ declare const addToolToAgent: (db: AgentsManageDatabaseClient) => (params: {
134
134
  needsApproval?: boolean;
135
135
  }> | null;
136
136
  }) => Promise<{
137
+ id: string;
137
138
  tenantId: string;
138
- agentId: string;
139
139
  projectId: string;
140
- id: string;
140
+ agentId: string;
141
141
  createdAt: string;
142
142
  updatedAt: string;
143
- subAgentId: string;
144
- headers: Record<string, string> | null;
145
143
  toolId: string;
144
+ headers: Record<string, string> | null;
146
145
  toolPolicies: Record<string, {
147
146
  needsApproval?: boolean;
148
147
  }> | null;
148
+ subAgentId: string;
149
149
  selectedTools: string[] | null;
150
150
  }>;
151
151
  declare const removeToolFromAgent: (db: AgentsManageDatabaseClient) => (params: {
@@ -153,18 +153,18 @@ declare const removeToolFromAgent: (db: AgentsManageDatabaseClient) => (params:
153
153
  subAgentId: string;
154
154
  toolId: string;
155
155
  }) => Promise<{
156
+ id: string;
156
157
  tenantId: string;
157
- agentId: string;
158
158
  projectId: string;
159
- id: string;
159
+ agentId: string;
160
160
  createdAt: string;
161
161
  updatedAt: string;
162
- subAgentId: string;
163
- headers: Record<string, string> | null;
164
162
  toolId: string;
163
+ headers: Record<string, string> | null;
165
164
  toolPolicies: Record<string, {
166
165
  needsApproval?: boolean;
167
166
  }> | null;
167
+ subAgentId: string;
168
168
  selectedTools: string[] | null;
169
169
  }>;
170
170
  /**
@@ -181,18 +181,18 @@ declare const upsertSubAgentToolRelation: (db: AgentsManageDatabaseClient) => (p
181
181
  }> | null;
182
182
  relationId?: string;
183
183
  }) => Promise<{
184
+ id: string;
184
185
  tenantId: string;
185
- agentId: string;
186
186
  projectId: string;
187
- id: string;
187
+ agentId: string;
188
188
  createdAt: string;
189
189
  updatedAt: string;
190
- subAgentId: string;
191
- headers: Record<string, string> | null;
192
190
  toolId: string;
191
+ headers: Record<string, string> | null;
193
192
  toolPolicies: Record<string, {
194
193
  needsApproval?: boolean;
195
194
  }> | null;
195
+ subAgentId: string;
196
196
  selectedTools: string[] | null;
197
197
  }>;
198
198
  /**
@@ -201,11 +201,11 @@ declare const upsertSubAgentToolRelation: (db: AgentsManageDatabaseClient) => (p
201
201
  declare const upsertTool: (db: AgentsManageDatabaseClient) => (params: {
202
202
  data: ToolInsert;
203
203
  }) => Promise<{
204
- tenantId: string;
205
- description: string | null;
206
- projectId: string;
207
204
  id: string;
208
205
  name: string;
206
+ description: string | null;
207
+ tenantId: string;
208
+ projectId: string;
209
209
  createdAt: string;
210
210
  updatedAt: string;
211
211
  headers: Record<string, string> | null;
@@ -9,13 +9,13 @@ import "../../credential-stuffer/index.js";
9
9
  import { createAgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
10
10
  import { generateId } from "../../utils/conversations.js";
11
11
  import { getActiveBranch } from "../../dolt/schema-sync.js";
12
+ import { cascadeDeleteByTool } from "../runtime/cascade-delete.js";
12
13
  import { updateAgentToolRelation } from "./subAgentRelations.js";
13
14
  import { toISODateString } from "../../utils/date.js";
14
15
  import { McpClient } from "../../utils/mcp-client.js";
15
16
  import { configureComposioMCPServer } from "../../utils/third-party-mcp-servers/composio-client.js";
16
17
  import { isThirdPartyMCPServerAuthenticated } from "../../utils/third-party-mcp-servers/third-party-check.js";
17
18
  import "../../utils/index.js";
18
- import { cascadeDeleteByTool } from "../runtime/cascade-delete.js";
19
19
  import { isGithubWorkAppTool } from "../runtime/github-work-app-installations.js";
20
20
  import { getCredentialReference, getUserScopedCredentialReference } from "./credentialReferences.js";
21
21
  import { and, count, desc, eq } from "drizzle-orm";
@@ -130,16 +130,20 @@ const discoverToolsFromServer = async (tool, credentialReference, credentialStor
130
130
  });
131
131
  await client.connect();
132
132
  const serverTools = await client.tools();
133
+ const serverInstructions = client.getInstructions()?.replace(/\u0000/g, "");
133
134
  await client.disconnect();
134
135
  const toolOverrides = tool.config.mcp.toolOverrides;
135
- return Object.entries(serverTools).map(([name, toolDef]) => {
136
- const schema = extractInputSchema(toolDef, name, toolOverrides);
137
- return {
138
- name,
139
- description: toolDef.description || "",
140
- inputSchema: schema
141
- };
142
- });
136
+ return {
137
+ tools: Object.entries(serverTools).map(([name, toolDef]) => {
138
+ const schema = extractInputSchema(toolDef, name, toolOverrides);
139
+ return {
140
+ name,
141
+ description: toolDef.description || "",
142
+ inputSchema: schema
143
+ };
144
+ }),
145
+ serverInstructions
146
+ };
143
147
  } catch (error) {
144
148
  logger.error({
145
149
  toolId: tool.id,
@@ -189,6 +193,7 @@ const dbResultToMcpTool = async (dbResult, dbClient, credentialStoreRegistry, re
189
193
  let lastErrorComputed;
190
194
  let expiresAt;
191
195
  let createdBy;
196
+ let serverInstructions;
192
197
  const credentialReference = credentialReferenceId && dbResult.credentialScope !== "user" ? await getCredentialReference(dbClient)({
193
198
  scopes: {
194
199
  tenantId: dbResult.tenantId,
@@ -209,7 +214,9 @@ const dbResultToMcpTool = async (dbResult, dbClient, credentialStoreRegistry, re
209
214
  }
210
215
  const mcpServerUrl = dbResult.config.mcp.server.url;
211
216
  try {
212
- availableTools = await discoverToolsFromServer(dbResult, credentialReference, credentialStoreRegistry, userId);
217
+ const discoveryResult = await discoverToolsFromServer(dbResult, credentialReference, credentialStoreRegistry, userId);
218
+ availableTools = discoveryResult.tools;
219
+ serverInstructions = discoveryResult.serverInstructions;
213
220
  status = "healthy";
214
221
  lastErrorComputed = null;
215
222
  } catch (error) {
@@ -235,6 +242,10 @@ const dbResultToMcpTool = async (dbResult, dbClient, credentialStoreRegistry, re
235
242
  }
236
243
  }
237
244
  const now = (/* @__PURE__ */ new Date()).toISOString();
245
+ const updatedCapabilities = {
246
+ ...capabilities,
247
+ ...serverInstructions !== void 0 && { serverInstructions }
248
+ };
238
249
  try {
239
250
  await updateTool(dbClient)({
240
251
  scopes: {
@@ -244,7 +255,8 @@ const dbResultToMcpTool = async (dbResult, dbClient, credentialStoreRegistry, re
244
255
  toolId: dbResult.id,
245
256
  data: {
246
257
  updatedAt: now,
247
- lastError: lastErrorComputed
258
+ lastError: lastErrorComputed,
259
+ capabilities: updatedCapabilities
248
260
  }
249
261
  });
250
262
  } catch (updateError) {
@@ -258,7 +270,7 @@ const dbResultToMcpTool = async (dbResult, dbClient, credentialStoreRegistry, re
258
270
  ...rest,
259
271
  status,
260
272
  availableTools,
261
- capabilities: capabilities || void 0,
273
+ capabilities: Object.keys(updatedCapabilities).length > 0 ? updatedCapabilities : void 0,
262
274
  credentialReferenceId: credentialReferenceId || void 0,
263
275
  createdAt: toISODateString(createdAt),
264
276
  createdBy: createdBy || void 0,
@@ -8,11 +8,11 @@ declare const getApiKeyById: (db: AgentsRunDatabaseClient) => (params: {
8
8
  scopes: ProjectScopeConfig;
9
9
  id: string;
10
10
  }) => Promise<{
11
- tenantId: string;
12
- agentId: string;
13
- projectId: string;
14
11
  id: string;
15
12
  name: string | null;
13
+ tenantId: string;
14
+ projectId: string;
15
+ agentId: string;
16
16
  createdAt: string;
17
17
  updatedAt: string;
18
18
  publicId: string;
@@ -22,11 +22,11 @@ declare const getApiKeyById: (db: AgentsRunDatabaseClient) => (params: {
22
22
  expiresAt: string | null;
23
23
  } | undefined>;
24
24
  declare const getApiKeyByPublicId: (db: AgentsRunDatabaseClient) => (publicId: string) => Promise<{
25
- tenantId: string;
26
- agentId: string;
27
- projectId: string;
28
25
  id: string;
29
26
  name: string | null;
27
+ tenantId: string;
28
+ projectId: string;
29
+ agentId: string;
30
30
  createdAt: string;
31
31
  updatedAt: string;
32
32
  publicId: string;
@@ -39,11 +39,11 @@ declare const listApiKeys: (db: AgentsRunDatabaseClient) => (params: {
39
39
  scopes: ProjectScopeConfig;
40
40
  agentId?: string;
41
41
  }) => Promise<{
42
- tenantId: string;
43
- agentId: string;
44
- projectId: string;
45
42
  id: string;
46
43
  name: string | null;
44
+ tenantId: string;
45
+ projectId: string;
46
+ agentId: string;
47
47
  createdAt: string;
48
48
  updatedAt: string;
49
49
  publicId: string;
@@ -66,11 +66,11 @@ declare const listApiKeysPaginated: (db: AgentsRunDatabaseClient) => (params: {
66
66
  };
67
67
  }>;
68
68
  declare const createApiKey: (db: AgentsRunDatabaseClient) => (params: ApiKeyInsert) => Promise<{
69
- tenantId: string;
70
- agentId: string;
71
- projectId: string;
72
69
  id: string;
73
70
  name: string | null;
71
+ tenantId: string;
72
+ projectId: string;
73
+ agentId: string;
74
74
  createdAt: string;
75
75
  updatedAt: string;
76
76
  publicId: string;
@@ -11,6 +11,8 @@ type CascadeDeleteResult = {
11
11
  tasksDeleted: number;
12
12
  contextCacheDeleted: number;
13
13
  apiKeysDeleted: number;
14
+ slackChannelConfigsDeleted: number;
15
+ slackWorkspaceDefaultsCleared: number;
14
16
  };
15
17
  /**
16
18
  * Delete all runtime entities for a specific branch.
@@ -1,4 +1,5 @@
1
1
  import { apiKeys, contextCache, conversations, tasks, workAppGitHubMcpToolAccessMode, workAppGitHubMcpToolRepositoryAccess, workAppGitHubProjectAccessMode, workAppGitHubProjectRepositoryAccess } from "../../db/runtime/runtime-schema.js";
2
+ import { clearDevConfigWorkspaceDefaultsByAgent, clearDevConfigWorkspaceDefaultsByProject, clearWorkspaceDefaultsByAgent, clearWorkspaceDefaultsByProject, deleteWorkAppSlackChannelAgentConfigsByAgent, deleteWorkAppSlackChannelAgentConfigsByProject } from "./workAppSlack.js";
2
3
  import { and, eq, inArray, sql } from "drizzle-orm";
3
4
 
4
5
  //#region src/data-access/runtime/cascade-delete.ts
@@ -18,7 +19,9 @@ const cascadeDeleteByBranch = (db) => async (params) => {
18
19
  conversationsDeleted: conversationsResult.length,
19
20
  tasksDeleted: tasksResult.length,
20
21
  contextCacheDeleted: contextCacheResult.length,
21
- apiKeysDeleted: 0
22
+ apiKeysDeleted: 0,
23
+ slackChannelConfigsDeleted: 0,
24
+ slackWorkspaceDefaultsCleared: 0
22
25
  };
23
26
  };
24
27
  /**
@@ -39,11 +42,16 @@ const cascadeDeleteByProject = (db) => async (params) => {
39
42
  tenantId: scopes.tenantId,
40
43
  projectId: scopes.projectId
41
44
  });
45
+ const slackChannelConfigsDeleted = await deleteWorkAppSlackChannelAgentConfigsByProject(db)(scopes.tenantId, scopes.projectId);
46
+ const slackWorkspaceDefaultsCleared = await clearWorkspaceDefaultsByProject(db)(scopes.tenantId, scopes.projectId);
47
+ clearDevConfigWorkspaceDefaultsByProject(scopes.projectId);
42
48
  return {
43
49
  conversationsDeleted: conversationsResult.length,
44
50
  tasksDeleted: tasksResult.length,
45
51
  contextCacheDeleted: contextCacheResult.length,
46
- apiKeysDeleted: apiKeysResult.length
52
+ apiKeysDeleted: apiKeysResult.length,
53
+ slackChannelConfigsDeleted,
54
+ slackWorkspaceDefaultsCleared
47
55
  };
48
56
  };
49
57
  /**
@@ -69,11 +77,16 @@ const cascadeDeleteByAgent = (db) => async (params) => {
69
77
  }
70
78
  tasksDeleted = (await db.delete(tasks).where(and(eq(tasks.tenantId, scopes.tenantId), eq(tasks.projectId, scopes.projectId), eq(tasks.agentId, scopes.agentId), sql`${tasks.ref}->>'name' = ${fullBranchName}`)).returning()).length;
71
79
  apiKeysDeleted = (await db.delete(apiKeys).where(and(eq(apiKeys.tenantId, scopes.tenantId), eq(apiKeys.projectId, scopes.projectId), eq(apiKeys.agentId, scopes.agentId))).returning()).length;
80
+ const slackChannelConfigsDeleted = await deleteWorkAppSlackChannelAgentConfigsByAgent(db)(scopes.tenantId, scopes.projectId, scopes.agentId);
81
+ const slackWorkspaceDefaultsCleared = await clearWorkspaceDefaultsByAgent(db)(scopes.tenantId, scopes.projectId, scopes.agentId);
82
+ clearDevConfigWorkspaceDefaultsByAgent(scopes.projectId, scopes.agentId);
72
83
  return {
73
84
  conversationsDeleted,
74
85
  tasksDeleted,
75
86
  contextCacheDeleted,
76
- apiKeysDeleted
87
+ apiKeysDeleted,
88
+ slackChannelConfigsDeleted,
89
+ slackWorkspaceDefaultsCleared
77
90
  };
78
91
  };
79
92
  /**
@@ -96,7 +109,9 @@ const cascadeDeleteBySubAgent = (db) => async (params) => {
96
109
  conversationsDeleted,
97
110
  tasksDeleted: tasksResult.length,
98
111
  contextCacheDeleted,
99
- apiKeysDeleted: 0
112
+ apiKeysDeleted: 0,
113
+ slackChannelConfigsDeleted: 0,
114
+ slackWorkspaceDefaultsCleared: 0
100
115
  };
101
116
  };
102
117
  /**