@inkeep/agents-core 0.0.0-dev-20260227232555 → 0.0.0-dev-20260227235547

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 (53) hide show
  1. package/dist/auth/auth-schema.d.ts +107 -107
  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 +5 -5
  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 +47 -47
  10. package/dist/data-access/manage/agents.js +19 -1
  11. package/dist/data-access/manage/artifactComponents.d.ts +12 -12
  12. package/dist/data-access/manage/contextConfigs.d.ts +12 -12
  13. package/dist/data-access/manage/dataComponents.d.ts +6 -6
  14. package/dist/data-access/manage/functionTools.d.ts +18 -18
  15. package/dist/data-access/manage/skills.d.ts +14 -14
  16. package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +24 -24
  17. package/dist/data-access/manage/subAgentRelations.d.ts +28 -28
  18. package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +24 -24
  19. package/dist/data-access/manage/subAgents.d.ts +21 -21
  20. package/dist/data-access/manage/tools.d.ts +24 -24
  21. package/dist/data-access/manage/tools.js +24 -12
  22. package/dist/data-access/runtime/apiKeys.d.ts +20 -20
  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 +24 -24
  26. package/dist/data-access/runtime/messages.d.ts +18 -18
  27. package/dist/data-access/runtime/scheduledTriggerInvocations.d.ts +3 -3
  28. package/dist/data-access/runtime/tasks.d.ts +7 -7
  29. package/dist/data-access/runtime/workAppSlack.d.ts +8 -2
  30. package/dist/data-access/runtime/workAppSlack.js +63 -2
  31. package/dist/db/manage/manage-schema.d.ts +447 -447
  32. package/dist/db/runtime/runtime-schema.d.ts +346 -310
  33. package/dist/db/runtime/runtime-schema.js +12 -4
  34. package/dist/index.d.ts +3 -3
  35. package/dist/index.js +4 -4
  36. package/dist/middleware/no-auth.d.ts +2 -2
  37. package/dist/types/utility.d.ts +1 -0
  38. package/dist/utils/error.d.ts +51 -51
  39. package/dist/utils/mcp-client.d.ts +1 -0
  40. package/dist/utils/mcp-client.js +3 -0
  41. package/dist/validation/drizzle-schema-helpers.d.ts +3 -3
  42. package/dist/validation/index.d.ts +2 -2
  43. package/dist/validation/index.js +2 -2
  44. package/dist/validation/schemas.d.ts +2931 -1843
  45. package/dist/validation/schemas.js +12 -2
  46. package/drizzle/runtime/0016_white_eddie_brock.sql +1 -0
  47. package/drizzle/runtime/0017_remarkable_starfox.sql +3 -0
  48. package/drizzle/runtime/0018_orange_union_jack.sql +6 -0
  49. package/drizzle/runtime/meta/0016_snapshot.json +3766 -0
  50. package/drizzle/runtime/meta/0017_snapshot.json +3785 -0
  51. package/drizzle/runtime/meta/0018_snapshot.json +3929 -0
  52. package/drizzle/runtime/meta/_journal.json +21 -0
  53. package/package.json +1 -1
@@ -8,49 +8,49 @@ 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;
16
13
  createdAt: string;
17
14
  updatedAt: string;
15
+ expiresAt: string | null;
16
+ tenantId: string;
17
+ lastUsedAt: string | null;
18
+ projectId: string;
19
+ agentId: string;
18
20
  publicId: string;
19
21
  keyHash: string;
20
22
  keyPrefix: string;
21
- lastUsedAt: string | null;
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;
30
27
  createdAt: string;
31
28
  updatedAt: string;
29
+ expiresAt: string | null;
30
+ tenantId: string;
31
+ lastUsedAt: string | null;
32
+ projectId: string;
33
+ agentId: string;
32
34
  publicId: string;
33
35
  keyHash: string;
34
36
  keyPrefix: string;
35
- lastUsedAt: string | null;
36
- expiresAt: string | null;
37
37
  } | undefined>;
38
38
  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;
47
44
  createdAt: string;
48
45
  updatedAt: string;
46
+ expiresAt: string | null;
47
+ tenantId: string;
48
+ lastUsedAt: string | null;
49
+ projectId: string;
50
+ agentId: string;
49
51
  publicId: string;
50
52
  keyHash: string;
51
53
  keyPrefix: string;
52
- lastUsedAt: string | null;
53
- expiresAt: string | null;
54
54
  }[]>;
55
55
  declare const listApiKeysPaginated: (db: AgentsRunDatabaseClient) => (params: {
56
56
  scopes: ProjectScopeConfig;
@@ -66,18 +66,18 @@ 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;
74
71
  createdAt: string;
75
72
  updatedAt: string;
73
+ expiresAt: string | null;
74
+ tenantId: string;
75
+ lastUsedAt: string | null;
76
+ projectId: string;
77
+ agentId: string;
76
78
  publicId: string;
77
79
  keyHash: string;
78
80
  keyPrefix: string;
79
- lastUsedAt: string | null;
80
- expiresAt: string | null;
81
81
  }>;
82
82
  declare const updateApiKey: (db: AgentsRunDatabaseClient) => (params: {
83
83
  scopes: ProjectScopeConfig;
@@ -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
  /**
@@ -16,20 +16,20 @@ declare const listConversations: (db: AgentsRunDatabaseClient) => (params: {
16
16
  total: number;
17
17
  }>;
18
18
  declare const createConversation: (db: AgentsRunDatabaseClient) => (params: ConversationInsert) => Promise<{
19
- tenantId: string;
20
- userId: string | null;
21
- title: string | null;
22
- agentId: string | null;
23
- projectId: string;
24
19
  id: string;
25
20
  createdAt: string;
26
21
  updatedAt: string;
27
- metadata: ConversationMetadata | null;
28
22
  ref: {
29
23
  type: "commit" | "tag" | "branch";
30
24
  name: string;
31
25
  hash: string;
32
26
  } | null;
27
+ userId: string | null;
28
+ metadata: ConversationMetadata | null;
29
+ tenantId: string;
30
+ projectId: string;
31
+ agentId: string | null;
32
+ title: string | null;
33
33
  activeSubAgentId: string;
34
34
  lastContextResolution: string | null;
35
35
  }>;
@@ -85,20 +85,20 @@ declare const getConversation: (db: AgentsRunDatabaseClient) => (params: {
85
85
  scopes: ProjectScopeConfig;
86
86
  conversationId: string;
87
87
  }) => Promise<{
88
- tenantId: string;
89
- userId: string | null;
90
- title: string | null;
91
- agentId: string | null;
92
- projectId: string;
93
88
  id: string;
94
89
  createdAt: string;
95
90
  updatedAt: string;
96
- metadata: ConversationMetadata | null;
97
91
  ref: {
98
92
  type: "commit" | "tag" | "branch";
99
93
  name: string;
100
94
  hash: string;
101
95
  } | null;
96
+ userId: string | null;
97
+ metadata: ConversationMetadata | null;
98
+ tenantId: string;
99
+ projectId: string;
100
+ agentId: string | null;
101
+ title: string | null;
102
102
  activeSubAgentId: string;
103
103
  lastContextResolution: string | null;
104
104
  } | undefined>;
@@ -121,20 +121,20 @@ declare const createOrGetConversation: (db: AgentsRunDatabaseClient) => (input:
121
121
  metadata?: ConversationMetadata | null | undefined;
122
122
  contextConfigId?: string | undefined;
123
123
  } | {
124
- tenantId: string;
125
- userId: string | null;
126
- title: string | null;
127
- agentId: string | null;
128
- projectId: string;
129
124
  id: string;
130
125
  createdAt: string;
131
126
  updatedAt: string;
132
- metadata: ConversationMetadata | null;
133
127
  ref: {
134
128
  type: "commit" | "tag" | "branch";
135
129
  name: string;
136
130
  hash: string;
137
131
  } | null;
132
+ userId: string | null;
133
+ metadata: ConversationMetadata | null;
134
+ tenantId: string;
135
+ projectId: string;
136
+ agentId: string | null;
137
+ title: string | null;
138
138
  activeSubAgentId: string;
139
139
  lastContextResolution: string | null;
140
140
  }>;
@@ -153,20 +153,20 @@ declare const getActiveAgentForConversation: (db: AgentsRunDatabaseClient) => (p
153
153
  scopes: ProjectScopeConfig;
154
154
  conversationId: string;
155
155
  }) => Promise<{
156
- tenantId: string;
157
- userId: string | null;
158
- title: string | null;
159
- agentId: string | null;
160
- projectId: string;
161
156
  id: string;
162
157
  createdAt: string;
163
158
  updatedAt: string;
164
- metadata: ConversationMetadata | null;
165
159
  ref: {
166
160
  type: "commit" | "tag" | "branch";
167
161
  name: string;
168
162
  hash: string;
169
163
  } | null;
164
+ userId: string | null;
165
+ metadata: ConversationMetadata | null;
166
+ tenantId: string;
167
+ projectId: string;
168
+ agentId: string | null;
169
+ title: string | null;
170
170
  activeSubAgentId: string;
171
171
  lastContextResolution: string | null;
172
172
  } | undefined>;
@@ -10,26 +10,26 @@ declare const getMessageById: (db: AgentsRunDatabaseClient) => (params: {
10
10
  scopes: ProjectScopeConfig;
11
11
  messageId: string;
12
12
  }) => Promise<{
13
- tenantId: string;
14
- projectId: string;
15
13
  id: string;
16
14
  createdAt: string;
17
15
  updatedAt: string;
18
16
  metadata: MessageMetadata | null;
17
+ role: string;
18
+ tenantId: string;
19
+ projectId: string;
19
20
  content: MessageContent;
21
+ conversationId: string;
20
22
  fromSubAgentId: string | null;
21
23
  toSubAgentId: string | null;
22
24
  fromExternalAgentId: string | null;
23
25
  toExternalAgentId: string | null;
24
- taskId: string | null;
25
- a2aTaskId: string | null;
26
- conversationId: string;
27
- role: string;
28
26
  fromTeamAgentId: string | null;
29
27
  toTeamAgentId: string | null;
30
28
  visibility: string;
31
29
  messageType: string;
30
+ taskId: string | null;
32
31
  parentMessageId: string | null;
32
+ a2aTaskId: string | null;
33
33
  a2aSessionId: string | null;
34
34
  } | undefined>;
35
35
  declare const listMessages: (db: AgentsRunDatabaseClient) => (params: {
@@ -141,26 +141,26 @@ declare const getVisibleMessages: (db: AgentsRunDatabaseClient) => (params: {
141
141
  id: string;
142
142
  }[]>;
143
143
  declare const createMessage: (db: AgentsRunDatabaseClient) => (params: MessageInsert) => Promise<{
144
- tenantId: string;
145
- projectId: string;
146
144
  id: string;
147
145
  createdAt: string;
148
146
  updatedAt: string;
149
147
  metadata: MessageMetadata | null;
148
+ role: string;
149
+ tenantId: string;
150
+ projectId: string;
150
151
  content: MessageContent;
152
+ conversationId: string;
151
153
  fromSubAgentId: string | null;
152
154
  toSubAgentId: string | null;
153
155
  fromExternalAgentId: string | null;
154
156
  toExternalAgentId: string | null;
155
- taskId: string | null;
156
- a2aTaskId: string | null;
157
- conversationId: string;
158
- role: string;
159
157
  fromTeamAgentId: string | null;
160
158
  toTeamAgentId: string | null;
161
159
  visibility: string;
162
160
  messageType: string;
161
+ taskId: string | null;
163
162
  parentMessageId: string | null;
163
+ a2aTaskId: string | null;
164
164
  a2aSessionId: string | null;
165
165
  }>;
166
166
  declare const updateMessage: (db: AgentsRunDatabaseClient) => (params: {
@@ -194,26 +194,26 @@ declare const deleteMessage: (db: AgentsRunDatabaseClient) => (params: {
194
194
  scopes: ProjectScopeConfig;
195
195
  messageId: string;
196
196
  }) => Promise<{
197
- tenantId: string;
198
- projectId: string;
199
197
  id: string;
200
198
  createdAt: string;
201
199
  updatedAt: string;
202
200
  metadata: MessageMetadata | null;
201
+ role: string;
202
+ tenantId: string;
203
+ projectId: string;
203
204
  content: MessageContent;
205
+ conversationId: string;
204
206
  fromSubAgentId: string | null;
205
207
  toSubAgentId: string | null;
206
208
  fromExternalAgentId: string | null;
207
209
  toExternalAgentId: string | null;
208
- taskId: string | null;
209
- a2aTaskId: string | null;
210
- conversationId: string;
211
- role: string;
212
210
  fromTeamAgentId: string | null;
213
211
  toTeamAgentId: string | null;
214
212
  visibility: string;
215
213
  messageType: string;
214
+ taskId: string | null;
216
215
  parentMessageId: string | null;
216
+ a2aTaskId: string | null;
217
217
  a2aSessionId: string | null;
218
218
  }>;
219
219
  declare const countMessagesByConversation: (db: AgentsRunDatabaseClient) => (params: {
@@ -34,7 +34,7 @@ declare const listScheduledTriggerInvocationsPaginated: (db: AgentsRunDatabaseCl
34
34
  }) => Promise<{
35
35
  data: {
36
36
  scheduledTriggerId: string;
37
- status: "pending" | "failed" | "running" | "completed" | "cancelled";
37
+ status: "pending" | "running" | "completed" | "failed" | "cancelled";
38
38
  scheduledFor: string;
39
39
  startedAt: string | null;
40
40
  completedAt: string | null;
@@ -174,7 +174,7 @@ declare const listUpcomingInvocationsForAgentPaginated: (db: AgentsRunDatabaseCl
174
174
  }) => Promise<{
175
175
  data: {
176
176
  scheduledTriggerId: string;
177
- status: "pending" | "failed" | "running" | "completed" | "cancelled";
177
+ status: "pending" | "running" | "completed" | "failed" | "cancelled";
178
178
  scheduledFor: string;
179
179
  startedAt: string | null;
180
180
  completedAt: string | null;
@@ -208,7 +208,7 @@ declare const listProjectScheduledTriggerInvocationsPaginated: (db: AgentsRunDat
208
208
  }) => Promise<{
209
209
  data: {
210
210
  scheduledTriggerId: string;
211
- status: "pending" | "failed" | "running" | "completed" | "cancelled";
211
+ status: "pending" | "running" | "completed" | "failed" | "cancelled";
212
212
  scheduledFor: string;
213
213
  startedAt: string | null;
214
214
  completedAt: string | null;
@@ -6,21 +6,21 @@ import { TaskInsert, TaskSelect } from "../../types/entities.js";
6
6
 
7
7
  //#region src/data-access/runtime/tasks.d.ts
8
8
  declare const createTask: (db: AgentsRunDatabaseClient) => (params: TaskInsert) => Promise<{
9
- tenantId: string;
10
- status: string;
11
- agentId: string;
12
- projectId: string;
13
9
  id: string;
14
10
  createdAt: string;
15
11
  updatedAt: string;
16
- metadata: TaskMetadataConfig | null;
17
- subAgentId: string;
18
- contextId: string;
19
12
  ref: {
20
13
  type: "commit" | "tag" | "branch";
21
14
  name: string;
22
15
  hash: string;
23
16
  } | null;
17
+ metadata: TaskMetadataConfig | null;
18
+ status: string;
19
+ tenantId: string;
20
+ projectId: string;
21
+ agentId: string;
22
+ subAgentId: string;
23
+ contextId: string;
24
24
  }>;
25
25
  declare const getTask: (db: AgentsRunDatabaseClient) => (params: {
26
26
  id: string;
@@ -25,7 +25,7 @@ declare const findWorkAppSlackWorkspaceBySlackTeamId: (db: AgentsRunDatabaseClie
25
25
  */
26
26
  declare const findWorkAppSlackWorkspaceByNangoConnectionId: (db: AgentsRunDatabaseClient) => (nangoConnectionId: string) => Promise<WorkAppSlackWorkspaceSelect | null>;
27
27
  declare const listWorkAppSlackWorkspacesByTenant: (db: AgentsRunDatabaseClient) => (tenantId: string) => Promise<WorkAppSlackWorkspaceSelect[]>;
28
- declare const updateWorkAppSlackWorkspace: (db: AgentsRunDatabaseClient) => (id: string, data: Partial<Pick<WorkAppSlackWorkspaceInsert, "status" | "slackTeamName" | "shouldAllowJoinFromWorkspace">>) => Promise<WorkAppSlackWorkspaceSelect | null>;
28
+ declare const updateWorkAppSlackWorkspace: (db: AgentsRunDatabaseClient) => (id: string, data: Partial<Pick<WorkAppSlackWorkspaceInsert, "status" | "slackTeamName" | "shouldAllowJoinFromWorkspace" | "defaultAgentId" | "defaultProjectId" | "defaultGrantAccessToMembers">>) => Promise<WorkAppSlackWorkspaceSelect | null>;
29
29
  declare const deleteWorkAppSlackWorkspace: (db: AgentsRunDatabaseClient) => (id: string) => Promise<boolean>;
30
30
  declare const deleteWorkAppSlackWorkspaceByNangoConnectionId: (db: AgentsRunDatabaseClient) => (nangoConnectionId: string) => Promise<boolean>;
31
31
  declare const findWorkAppSlackUserMapping: (db: AgentsRunDatabaseClient) => (tenantId: string, slackUserId: string, slackTeamId: string, clientId?: string) => Promise<WorkAppSlackUserMappingSelect | null>;
@@ -51,5 +51,11 @@ declare const listWorkAppSlackChannelAgentConfigsByTeam: (db: AgentsRunDatabaseC
51
51
  declare const upsertWorkAppSlackChannelAgentConfig: (db: AgentsRunDatabaseClient) => (data: Omit<WorkAppSlackChannelAgentConfigInsert, "id" | "createdAt" | "updatedAt">) => Promise<WorkAppSlackChannelAgentConfigSelect>;
52
52
  declare const deleteWorkAppSlackChannelAgentConfig: (db: AgentsRunDatabaseClient) => (tenantId: string, slackTeamId: string, slackChannelId: string) => Promise<boolean>;
53
53
  declare const deleteAllWorkAppSlackChannelAgentConfigsByTeam: (db: AgentsRunDatabaseClient) => (tenantId: string, slackTeamId: string) => Promise<number>;
54
+ declare const deleteWorkAppSlackChannelAgentConfigsByAgent: (db: AgentsRunDatabaseClient) => (tenantId: string, projectId: string, agentId: string) => Promise<number>;
55
+ declare const deleteWorkAppSlackChannelAgentConfigsByProject: (db: AgentsRunDatabaseClient) => (tenantId: string, projectId: string) => Promise<number>;
56
+ declare const clearWorkspaceDefaultsByAgent: (db: AgentsRunDatabaseClient) => (tenantId: string, projectId: string, agentId: string) => Promise<number>;
57
+ declare const clearWorkspaceDefaultsByProject: (db: AgentsRunDatabaseClient) => (tenantId: string, projectId: string) => Promise<number>;
58
+ declare function clearDevConfigWorkspaceDefaultsByAgent(projectId: string, agentId: string): void;
59
+ declare function clearDevConfigWorkspaceDefaultsByProject(projectId: string): void;
54
60
  //#endregion
55
- export { WorkAppSlackChannelAgentConfigInsert, WorkAppSlackChannelAgentConfigSelect, WorkAppSlackUserMappingInsert, WorkAppSlackUserMappingSelect, WorkAppSlackWorkspaceInsert, WorkAppSlackWorkspaceSelect, createWorkAppSlackChannelAgentConfig, createWorkAppSlackUserMapping, createWorkAppSlackWorkspace, deleteAllWorkAppSlackChannelAgentConfigsByTeam, deleteAllWorkAppSlackUserMappingsByTeam, deleteWorkAppSlackChannelAgentConfig, deleteWorkAppSlackUserMapping, deleteWorkAppSlackWorkspace, deleteWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackChannelAgentConfig, findWorkAppSlackUserMapping, findWorkAppSlackUserMappingByInkeepUserId, findWorkAppSlackUserMappingBySlackUser, findWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackWorkspaceBySlackTeamId, findWorkAppSlackWorkspaceByTeamId, listWorkAppSlackChannelAgentConfigsByTeam, listWorkAppSlackUserMappingsByTeam, listWorkAppSlackWorkspacesByTenant, updateWorkAppSlackWorkspace, upsertWorkAppSlackChannelAgentConfig };
61
+ export { WorkAppSlackChannelAgentConfigInsert, WorkAppSlackChannelAgentConfigSelect, WorkAppSlackUserMappingInsert, WorkAppSlackUserMappingSelect, WorkAppSlackWorkspaceInsert, WorkAppSlackWorkspaceSelect, clearDevConfigWorkspaceDefaultsByAgent, clearDevConfigWorkspaceDefaultsByProject, clearWorkspaceDefaultsByAgent, clearWorkspaceDefaultsByProject, createWorkAppSlackChannelAgentConfig, createWorkAppSlackUserMapping, createWorkAppSlackWorkspace, deleteAllWorkAppSlackChannelAgentConfigsByTeam, deleteAllWorkAppSlackUserMappingsByTeam, deleteWorkAppSlackChannelAgentConfig, deleteWorkAppSlackChannelAgentConfigsByAgent, deleteWorkAppSlackChannelAgentConfigsByProject, deleteWorkAppSlackUserMapping, deleteWorkAppSlackWorkspace, deleteWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackChannelAgentConfig, findWorkAppSlackUserMapping, findWorkAppSlackUserMappingByInkeepUserId, findWorkAppSlackUserMappingBySlackUser, findWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackWorkspaceBySlackTeamId, findWorkAppSlackWorkspaceByTeamId, listWorkAppSlackChannelAgentConfigsByTeam, listWorkAppSlackUserMappingsByTeam, listWorkAppSlackWorkspacesByTenant, updateWorkAppSlackWorkspace, upsertWorkAppSlackChannelAgentConfig };
@@ -1,5 +1,7 @@
1
1
  import { workAppSlackChannelAgentConfigs, workAppSlackUserMappings, workAppSlackWorkspaces } from "../../db/runtime/runtime-schema.js";
2
2
  import { and, eq } from "drizzle-orm";
3
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
4
+ import { dirname, join } from "node:path";
3
5
  import { nanoid } from "nanoid";
4
6
 
5
7
  //#region src/data-access/runtime/workAppSlack.ts
@@ -125,7 +127,6 @@ const upsertWorkAppSlackChannelAgentConfig = (db) => async (data) => {
125
127
  set: {
126
128
  projectId: data.projectId,
127
129
  agentId: data.agentId,
128
- agentName: data.agentName,
129
130
  slackChannelName: data.slackChannelName,
130
131
  slackChannelType: data.slackChannelType,
131
132
  enabled: data.enabled,
@@ -142,6 +143,66 @@ const deleteWorkAppSlackChannelAgentConfig = (db) => async (tenantId, slackTeamI
142
143
  const deleteAllWorkAppSlackChannelAgentConfigsByTeam = (db) => async (tenantId, slackTeamId) => {
143
144
  return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.slackTeamId, slackTeamId))).returning()).length;
144
145
  };
146
+ const deleteWorkAppSlackChannelAgentConfigsByAgent = (db) => async (tenantId, projectId, agentId) => {
147
+ return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.projectId, projectId), eq(workAppSlackChannelAgentConfigs.agentId, agentId))).returning()).length;
148
+ };
149
+ const deleteWorkAppSlackChannelAgentConfigsByProject = (db) => async (tenantId, projectId) => {
150
+ return (await db.delete(workAppSlackChannelAgentConfigs).where(and(eq(workAppSlackChannelAgentConfigs.tenantId, tenantId), eq(workAppSlackChannelAgentConfigs.projectId, projectId))).returning()).length;
151
+ };
152
+ const clearWorkspaceDefaultsByAgent = (db) => async (tenantId, projectId, agentId) => {
153
+ return (await db.update(workAppSlackWorkspaces).set({
154
+ defaultAgentId: null,
155
+ defaultProjectId: null,
156
+ defaultGrantAccessToMembers: null,
157
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
158
+ }).where(and(eq(workAppSlackWorkspaces.tenantId, tenantId), eq(workAppSlackWorkspaces.defaultProjectId, projectId), eq(workAppSlackWorkspaces.defaultAgentId, agentId))).returning()).length;
159
+ };
160
+ const clearWorkspaceDefaultsByProject = (db) => async (tenantId, projectId) => {
161
+ return (await db.update(workAppSlackWorkspaces).set({
162
+ defaultAgentId: null,
163
+ defaultProjectId: null,
164
+ defaultGrantAccessToMembers: null,
165
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
166
+ }).where(and(eq(workAppSlackWorkspaces.tenantId, tenantId), eq(workAppSlackWorkspaces.defaultProjectId, projectId))).returning()).length;
167
+ };
168
+ const DEV_CONFIG_FILENAME = ".slack-dev.json";
169
+ function findSlackDevConfigPath() {
170
+ if (process.env.ENVIRONMENT !== "development") return null;
171
+ let dir = process.cwd();
172
+ while (true) {
173
+ const candidate = join(dir, DEV_CONFIG_FILENAME);
174
+ if (existsSync(candidate)) return candidate;
175
+ const parent = dirname(dir);
176
+ if (parent === dir) break;
177
+ dir = parent;
178
+ }
179
+ return null;
180
+ }
181
+ function clearDevConfigWorkspaceDefaultsByAgent(projectId, agentId) {
182
+ const configPath = findSlackDevConfigPath();
183
+ if (!configPath) return;
184
+ try {
185
+ const config = JSON.parse(readFileSync(configPath, "utf-8"));
186
+ if (!config?.metadata?.default_agent) return;
187
+ const defaultAgent = JSON.parse(config.metadata.default_agent);
188
+ if (defaultAgent.agentId === agentId && defaultAgent.projectId === projectId) {
189
+ config.metadata.default_agent = "";
190
+ writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
191
+ }
192
+ } catch {}
193
+ }
194
+ function clearDevConfigWorkspaceDefaultsByProject(projectId) {
195
+ const configPath = findSlackDevConfigPath();
196
+ if (!configPath) return;
197
+ try {
198
+ const config = JSON.parse(readFileSync(configPath, "utf-8"));
199
+ if (!config?.metadata?.default_agent) return;
200
+ if (JSON.parse(config.metadata.default_agent).projectId === projectId) {
201
+ config.metadata.default_agent = "";
202
+ writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
203
+ }
204
+ } catch {}
205
+ }
145
206
 
146
207
  //#endregion
147
- export { createWorkAppSlackChannelAgentConfig, createWorkAppSlackUserMapping, createWorkAppSlackWorkspace, deleteAllWorkAppSlackChannelAgentConfigsByTeam, deleteAllWorkAppSlackUserMappingsByTeam, deleteWorkAppSlackChannelAgentConfig, deleteWorkAppSlackUserMapping, deleteWorkAppSlackWorkspace, deleteWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackChannelAgentConfig, findWorkAppSlackUserMapping, findWorkAppSlackUserMappingByInkeepUserId, findWorkAppSlackUserMappingBySlackUser, findWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackWorkspaceBySlackTeamId, findWorkAppSlackWorkspaceByTeamId, listWorkAppSlackChannelAgentConfigsByTeam, listWorkAppSlackUserMappingsByTeam, listWorkAppSlackWorkspacesByTenant, updateWorkAppSlackWorkspace, upsertWorkAppSlackChannelAgentConfig };
208
+ export { clearDevConfigWorkspaceDefaultsByAgent, clearDevConfigWorkspaceDefaultsByProject, clearWorkspaceDefaultsByAgent, clearWorkspaceDefaultsByProject, createWorkAppSlackChannelAgentConfig, createWorkAppSlackUserMapping, createWorkAppSlackWorkspace, deleteAllWorkAppSlackChannelAgentConfigsByTeam, deleteAllWorkAppSlackUserMappingsByTeam, deleteWorkAppSlackChannelAgentConfig, deleteWorkAppSlackChannelAgentConfigsByAgent, deleteWorkAppSlackChannelAgentConfigsByProject, deleteWorkAppSlackUserMapping, deleteWorkAppSlackWorkspace, deleteWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackChannelAgentConfig, findWorkAppSlackUserMapping, findWorkAppSlackUserMappingByInkeepUserId, findWorkAppSlackUserMappingBySlackUser, findWorkAppSlackWorkspaceByNangoConnectionId, findWorkAppSlackWorkspaceBySlackTeamId, findWorkAppSlackWorkspaceByTeamId, listWorkAppSlackChannelAgentConfigsByTeam, listWorkAppSlackUserMappingsByTeam, listWorkAppSlackWorkspacesByTenant, updateWorkAppSlackWorkspace, upsertWorkAppSlackChannelAgentConfig };