@inkeep/agents-core 0.0.0-dev-20260409191739 → 0.0.0-dev-20260409202031
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/auth/auth-schema.d.ts +108 -108
- package/dist/auth/auth-validation-schemas.d.ts +154 -154
- package/dist/auth/permissions.d.ts +9 -9
- package/dist/client-exports.d.ts +2 -2
- package/dist/client-exports.js +2 -2
- package/dist/constants/otel-attributes.d.ts +2 -0
- package/dist/constants/otel-attributes.js +2 -0
- package/dist/data-access/index.d.ts +2 -2
- package/dist/data-access/index.js +2 -2
- package/dist/data-access/manage/agentFull.js +23 -3
- package/dist/data-access/manage/agents.d.ts +20 -20
- package/dist/data-access/manage/agents.js +12 -1
- package/dist/data-access/manage/artifactComponents.d.ts +6 -6
- package/dist/data-access/manage/contextConfigs.d.ts +8 -8
- package/dist/data-access/manage/dataComponents.d.ts +2 -2
- package/dist/data-access/manage/functionTools.d.ts +8 -8
- package/dist/data-access/manage/skills.d.ts +11 -11
- package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +6 -6
- package/dist/data-access/manage/subAgentRelations.d.ts +12 -12
- package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +6 -6
- package/dist/data-access/manage/subAgents.d.ts +12 -12
- package/dist/data-access/manage/tools.d.ts +21 -21
- package/dist/data-access/manage/triggerCleanup.js +6 -1
- package/dist/data-access/manage/triggers.d.ts +60 -1
- package/dist/data-access/manage/triggers.js +88 -3
- package/dist/data-access/runtime/apiKeys.d.ts +8 -8
- package/dist/data-access/runtime/apps.d.ts +6 -6
- package/dist/data-access/runtime/conversations.d.ts +24 -24
- package/dist/data-access/runtime/feedback.d.ts +4 -4
- package/dist/data-access/runtime/messages.d.ts +21 -21
- package/dist/data-access/runtime/scheduledTriggerInvocations.d.ts +4 -4
- package/dist/data-access/runtime/scheduledTriggerUsers.d.ts +1 -1
- package/dist/data-access/runtime/tasks.d.ts +5 -5
- package/dist/data-access/runtime/triggerInvocations.d.ts +2 -0
- package/dist/db/manage/dolt-safe-jsonb.d.ts +2 -2
- package/dist/db/manage/manage-schema.d.ts +583 -447
- package/dist/db/manage/manage-schema.js +43 -2
- package/dist/db/runtime/runtime-schema.d.ts +443 -405
- package/dist/db/runtime/runtime-schema.js +4 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/utils/error.d.ts +51 -51
- package/dist/validation/drizzle-schema-helpers.d.ts +3 -3
- package/dist/validation/index.d.ts +2 -2
- package/dist/validation/index.js +2 -2
- package/dist/validation/schemas/skills.d.ts +58 -58
- package/dist/validation/schemas.d.ts +2238 -2044
- package/dist/validation/schemas.js +35 -13
- package/drizzle/manage/0018_gorgeous_captain_america.sql +14 -0
- package/drizzle/manage/meta/0018_snapshot.json +3884 -0
- package/drizzle/manage/meta/_journal.json +7 -0
- package/drizzle/runtime/0035_many_steel_serpent.sql +3 -0
- package/drizzle/runtime/meta/0035_snapshot.json +5321 -0
- package/drizzle/runtime/meta/_journal.json +7 -0
- package/package.json +1 -1
|
@@ -12,8 +12,8 @@ declare const getSubAgentTeamAgentRelationById: (db: AgentsManageDatabaseClient)
|
|
|
12
12
|
id: string;
|
|
13
13
|
createdAt: string;
|
|
14
14
|
updatedAt: string;
|
|
15
|
-
tenantId: string;
|
|
16
15
|
projectId: string;
|
|
16
|
+
tenantId: string;
|
|
17
17
|
agentId: string;
|
|
18
18
|
subAgentId: string;
|
|
19
19
|
headers: Record<string, string> | null;
|
|
@@ -47,8 +47,8 @@ declare const getSubAgentTeamAgentRelations: (db: AgentsManageDatabaseClient) =>
|
|
|
47
47
|
id: string;
|
|
48
48
|
createdAt: string;
|
|
49
49
|
updatedAt: string;
|
|
50
|
-
tenantId: string;
|
|
51
50
|
projectId: string;
|
|
51
|
+
tenantId: string;
|
|
52
52
|
agentId: string;
|
|
53
53
|
subAgentId: string;
|
|
54
54
|
headers: Record<string, string> | null;
|
|
@@ -60,8 +60,8 @@ declare const getSubAgentTeamAgentRelationsByAgent: (db: AgentsManageDatabaseCli
|
|
|
60
60
|
id: string;
|
|
61
61
|
createdAt: string;
|
|
62
62
|
updatedAt: string;
|
|
63
|
-
tenantId: string;
|
|
64
63
|
projectId: string;
|
|
64
|
+
tenantId: string;
|
|
65
65
|
agentId: string;
|
|
66
66
|
subAgentId: string;
|
|
67
67
|
headers: Record<string, string> | null;
|
|
@@ -225,8 +225,8 @@ declare const createSubAgentTeamAgentRelation: (db: AgentsManageDatabaseClient)
|
|
|
225
225
|
id: string;
|
|
226
226
|
createdAt: string;
|
|
227
227
|
updatedAt: string;
|
|
228
|
-
tenantId: string;
|
|
229
228
|
projectId: string;
|
|
229
|
+
tenantId: string;
|
|
230
230
|
agentId: string;
|
|
231
231
|
subAgentId: string;
|
|
232
232
|
headers: Record<string, string> | null;
|
|
@@ -242,8 +242,8 @@ declare const getSubAgentTeamAgentRelationByParams: (db: AgentsManageDatabaseCli
|
|
|
242
242
|
id: string;
|
|
243
243
|
createdAt: string;
|
|
244
244
|
updatedAt: string;
|
|
245
|
-
tenantId: string;
|
|
246
245
|
projectId: string;
|
|
246
|
+
tenantId: string;
|
|
247
247
|
agentId: string;
|
|
248
248
|
subAgentId: string;
|
|
249
249
|
headers: Record<string, string> | null;
|
|
@@ -263,8 +263,8 @@ declare const upsertSubAgentTeamAgentRelation: (db: AgentsManageDatabaseClient)
|
|
|
263
263
|
id: string;
|
|
264
264
|
createdAt: string;
|
|
265
265
|
updatedAt: string;
|
|
266
|
-
tenantId: string;
|
|
267
266
|
projectId: string;
|
|
267
|
+
tenantId: string;
|
|
268
268
|
agentId: string;
|
|
269
269
|
subAgentId: string;
|
|
270
270
|
headers: Record<string, string> | null;
|
|
@@ -9,11 +9,13 @@ declare const getSubAgentById: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
9
9
|
scopes: AgentScopeConfig;
|
|
10
10
|
subAgentId: string;
|
|
11
11
|
}) => Promise<{
|
|
12
|
+
description: string | null;
|
|
12
13
|
id: string;
|
|
13
14
|
name: string;
|
|
14
15
|
createdAt: string;
|
|
15
16
|
updatedAt: string;
|
|
16
|
-
|
|
17
|
+
projectId: string;
|
|
18
|
+
tenantId: string;
|
|
17
19
|
models: {
|
|
18
20
|
base?: {
|
|
19
21
|
model?: string | undefined;
|
|
@@ -37,20 +39,20 @@ declare const getSubAgentById: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
37
39
|
stopWhen: {
|
|
38
40
|
stepCountIs?: number | undefined;
|
|
39
41
|
} | null;
|
|
40
|
-
tenantId: string;
|
|
41
|
-
prompt: string | null;
|
|
42
|
-
projectId: string;
|
|
43
42
|
agentId: string;
|
|
43
|
+
prompt: string | null;
|
|
44
44
|
conversationHistoryConfig: ConversationHistoryConfig | null;
|
|
45
45
|
} | undefined>;
|
|
46
46
|
declare const listSubAgents: (db: AgentsManageDatabaseClient) => (params: {
|
|
47
47
|
scopes: AgentScopeConfig;
|
|
48
48
|
}) => Promise<{
|
|
49
|
+
description: string | null;
|
|
49
50
|
id: string;
|
|
50
51
|
name: string;
|
|
51
52
|
createdAt: string;
|
|
52
53
|
updatedAt: string;
|
|
53
|
-
|
|
54
|
+
projectId: string;
|
|
55
|
+
tenantId: string;
|
|
54
56
|
models: {
|
|
55
57
|
base?: {
|
|
56
58
|
model?: string | undefined;
|
|
@@ -74,10 +76,8 @@ declare const listSubAgents: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
74
76
|
stopWhen: {
|
|
75
77
|
stepCountIs?: number | undefined;
|
|
76
78
|
} | null;
|
|
77
|
-
tenantId: string;
|
|
78
|
-
prompt: string | null;
|
|
79
|
-
projectId: string;
|
|
80
79
|
agentId: string;
|
|
80
|
+
prompt: string | null;
|
|
81
81
|
conversationHistoryConfig: ConversationHistoryConfig | null;
|
|
82
82
|
}[]>;
|
|
83
83
|
declare const listSubAgentsPaginated: (db: AgentsManageDatabaseClient) => (params: {
|
|
@@ -127,11 +127,13 @@ declare const listSubAgentsPaginated: (db: AgentsManageDatabaseClient) => (param
|
|
|
127
127
|
};
|
|
128
128
|
}>;
|
|
129
129
|
declare const createSubAgent: (db: AgentsManageDatabaseClient) => (params: SubAgentInsert) => Promise<{
|
|
130
|
+
description: string | null;
|
|
130
131
|
id: string;
|
|
131
132
|
name: string;
|
|
132
133
|
createdAt: string;
|
|
133
134
|
updatedAt: string;
|
|
134
|
-
|
|
135
|
+
projectId: string;
|
|
136
|
+
tenantId: string;
|
|
135
137
|
models: {
|
|
136
138
|
base?: {
|
|
137
139
|
model?: string | undefined;
|
|
@@ -155,10 +157,8 @@ declare const createSubAgent: (db: AgentsManageDatabaseClient) => (params: SubAg
|
|
|
155
157
|
stopWhen: {
|
|
156
158
|
stepCountIs?: number | undefined;
|
|
157
159
|
} | null;
|
|
158
|
-
tenantId: string;
|
|
159
|
-
prompt: string | null;
|
|
160
|
-
projectId: string;
|
|
161
160
|
agentId: string;
|
|
161
|
+
prompt: string | null;
|
|
162
162
|
conversationHistoryConfig: ConversationHistoryConfig | null;
|
|
163
163
|
}>;
|
|
164
164
|
declare const updateSubAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
@@ -20,20 +20,20 @@ declare const getToolById: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
20
20
|
scopes: ProjectScopeConfig;
|
|
21
21
|
toolId: string;
|
|
22
22
|
}) => Promise<{
|
|
23
|
+
description: string | null;
|
|
23
24
|
id: string;
|
|
24
25
|
name: string;
|
|
25
26
|
createdAt: string;
|
|
26
27
|
updatedAt: string;
|
|
27
|
-
description: string | null;
|
|
28
|
-
tenantId: string;
|
|
29
28
|
projectId: string;
|
|
30
|
-
|
|
29
|
+
tenantId: string;
|
|
30
|
+
headers: Record<string, string> | null;
|
|
31
31
|
config: {
|
|
32
32
|
type: "mcp";
|
|
33
33
|
mcp: ToolMcpConfig;
|
|
34
34
|
};
|
|
35
|
+
credentialReferenceId: string | null;
|
|
35
36
|
credentialScope: string;
|
|
36
|
-
headers: Record<string, string> | null;
|
|
37
37
|
imageUrl: string | null;
|
|
38
38
|
capabilities: ToolServerCapabilities | null;
|
|
39
39
|
lastError: string | null;
|
|
@@ -78,20 +78,20 @@ declare const listTools: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
78
78
|
};
|
|
79
79
|
}>;
|
|
80
80
|
declare const createTool: (db: AgentsManageDatabaseClient) => (params: ToolInsert) => Promise<{
|
|
81
|
+
description: string | null;
|
|
81
82
|
id: string;
|
|
82
83
|
name: string;
|
|
83
84
|
createdAt: string;
|
|
84
85
|
updatedAt: string;
|
|
85
|
-
description: string | null;
|
|
86
|
-
tenantId: string;
|
|
87
86
|
projectId: string;
|
|
88
|
-
|
|
87
|
+
tenantId: string;
|
|
88
|
+
headers: Record<string, string> | null;
|
|
89
89
|
config: {
|
|
90
90
|
type: "mcp";
|
|
91
91
|
mcp: ToolMcpConfig;
|
|
92
92
|
};
|
|
93
|
+
credentialReferenceId: string | null;
|
|
93
94
|
credentialScope: string;
|
|
94
|
-
headers: Record<string, string> | null;
|
|
95
95
|
imageUrl: string | null;
|
|
96
96
|
capabilities: ToolServerCapabilities | null;
|
|
97
97
|
lastError: string | null;
|
|
@@ -138,16 +138,16 @@ declare const addToolToAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
138
138
|
id: string;
|
|
139
139
|
createdAt: string;
|
|
140
140
|
updatedAt: string;
|
|
141
|
-
tenantId: string;
|
|
142
141
|
projectId: string;
|
|
142
|
+
tenantId: string;
|
|
143
143
|
agentId: string;
|
|
144
|
-
toolId: string;
|
|
145
144
|
subAgentId: string;
|
|
145
|
+
toolId: string;
|
|
146
146
|
headers: Record<string, string> | null;
|
|
147
|
-
selectedTools: string[] | null;
|
|
148
147
|
toolPolicies: Record<string, {
|
|
149
148
|
needsApproval?: boolean;
|
|
150
149
|
}> | null;
|
|
150
|
+
selectedTools: string[] | null;
|
|
151
151
|
}>;
|
|
152
152
|
declare const removeToolFromAgent: (db: AgentsManageDatabaseClient) => (params: {
|
|
153
153
|
scopes: AgentScopeConfig;
|
|
@@ -157,16 +157,16 @@ declare const removeToolFromAgent: (db: AgentsManageDatabaseClient) => (params:
|
|
|
157
157
|
id: string;
|
|
158
158
|
createdAt: string;
|
|
159
159
|
updatedAt: string;
|
|
160
|
-
tenantId: string;
|
|
161
160
|
projectId: string;
|
|
161
|
+
tenantId: string;
|
|
162
162
|
agentId: string;
|
|
163
|
-
toolId: string;
|
|
164
163
|
subAgentId: string;
|
|
164
|
+
toolId: string;
|
|
165
165
|
headers: Record<string, string> | null;
|
|
166
|
-
selectedTools: string[] | null;
|
|
167
166
|
toolPolicies: Record<string, {
|
|
168
167
|
needsApproval?: boolean;
|
|
169
168
|
}> | null;
|
|
169
|
+
selectedTools: string[] | null;
|
|
170
170
|
}>;
|
|
171
171
|
/**
|
|
172
172
|
* Upsert agent-tool relation (create if it doesn't exist, update if it does)
|
|
@@ -185,16 +185,16 @@ declare const upsertSubAgentToolRelation: (db: AgentsManageDatabaseClient) => (p
|
|
|
185
185
|
id: string;
|
|
186
186
|
createdAt: string;
|
|
187
187
|
updatedAt: string;
|
|
188
|
-
tenantId: string;
|
|
189
188
|
projectId: string;
|
|
189
|
+
tenantId: string;
|
|
190
190
|
agentId: string;
|
|
191
|
-
toolId: string;
|
|
192
191
|
subAgentId: string;
|
|
192
|
+
toolId: string;
|
|
193
193
|
headers: Record<string, string> | null;
|
|
194
|
-
selectedTools: string[] | null;
|
|
195
194
|
toolPolicies: Record<string, {
|
|
196
195
|
needsApproval?: boolean;
|
|
197
196
|
}> | null;
|
|
197
|
+
selectedTools: string[] | null;
|
|
198
198
|
}>;
|
|
199
199
|
/**
|
|
200
200
|
* Upsert a tool (create if it doesn't exist, update if it does)
|
|
@@ -202,20 +202,20 @@ declare const upsertSubAgentToolRelation: (db: AgentsManageDatabaseClient) => (p
|
|
|
202
202
|
declare const upsertTool: (db: AgentsManageDatabaseClient) => (params: {
|
|
203
203
|
data: ToolInsert;
|
|
204
204
|
}) => Promise<{
|
|
205
|
+
description: string | null;
|
|
205
206
|
id: string;
|
|
206
207
|
name: string;
|
|
207
208
|
createdAt: string;
|
|
208
209
|
updatedAt: string;
|
|
209
|
-
description: string | null;
|
|
210
|
-
tenantId: string;
|
|
211
210
|
projectId: string;
|
|
212
|
-
|
|
211
|
+
tenantId: string;
|
|
212
|
+
headers: Record<string, string> | null;
|
|
213
213
|
config: {
|
|
214
214
|
type: "mcp";
|
|
215
215
|
mcp: ToolMcpConfig;
|
|
216
216
|
};
|
|
217
|
+
credentialReferenceId: string | null;
|
|
217
218
|
credentialScope: string;
|
|
218
|
-
headers: Record<string, string> | null;
|
|
219
219
|
imageUrl: string | null;
|
|
220
220
|
capabilities: ToolServerCapabilities | null;
|
|
221
221
|
lastError: string | null;
|
|
@@ -2,7 +2,7 @@ import { manage_schema_exports } from "../../db/manage/manage-schema.js";
|
|
|
2
2
|
import { getLogger } from "../../utils/logger.js";
|
|
3
3
|
import { resolveProjectMainRefs } from "../../dolt/ref-helpers.js";
|
|
4
4
|
import { listProjectsMetadata } from "../runtime/projects.js";
|
|
5
|
-
import { deleteTriggersByRunAsUserId } from "./triggers.js";
|
|
5
|
+
import { deleteTriggersByRunAsUserId, removeUserFromProjectTriggerUsers } from "./triggers.js";
|
|
6
6
|
import { deleteScheduledTriggersByRunAsUserId } from "../runtime/scheduledTriggers.js";
|
|
7
7
|
import { withRef } from "../../dolt/ref-scope.js";
|
|
8
8
|
import { drizzle } from "drizzle-orm/node-postgres";
|
|
@@ -42,6 +42,11 @@ async function cleanupUserTriggers(params) {
|
|
|
42
42
|
projectId,
|
|
43
43
|
runAsUserId: userId
|
|
44
44
|
});
|
|
45
|
+
await removeUserFromProjectTriggerUsers(db)({
|
|
46
|
+
tenantId,
|
|
47
|
+
projectId,
|
|
48
|
+
userId
|
|
49
|
+
});
|
|
45
50
|
}, {
|
|
46
51
|
commit: true,
|
|
47
52
|
commitMessage: `Remove triggers for departing user ${userId}`
|
|
@@ -63,6 +63,7 @@ declare const listTriggersPaginated: (db: AgentsManageDatabaseClient) => (params
|
|
|
63
63
|
} | undefined;
|
|
64
64
|
} | null;
|
|
65
65
|
runAsUserId: string | null;
|
|
66
|
+
dispatchDelayMs: number | null;
|
|
66
67
|
createdBy: string | null;
|
|
67
68
|
name: string;
|
|
68
69
|
description: string | null;
|
|
@@ -82,6 +83,10 @@ declare const listTriggersPaginated: (db: AgentsManageDatabaseClient) => (params
|
|
|
82
83
|
* Create a new trigger (agent-scoped)
|
|
83
84
|
*/
|
|
84
85
|
declare const createTrigger: (db: AgentsManageDatabaseClient) => (params: TriggerInsert) => Promise<TriggerSelect>;
|
|
86
|
+
declare const createTriggerWithUsers: (db: AgentsManageDatabaseClient) => (params: {
|
|
87
|
+
trigger: TriggerInsert;
|
|
88
|
+
userIds: string[];
|
|
89
|
+
}) => Promise<TriggerSelect>;
|
|
85
90
|
/**
|
|
86
91
|
* Update a trigger (agent-scoped)
|
|
87
92
|
*/
|
|
@@ -106,6 +111,60 @@ declare const deleteTriggersByRunAsUserId: (db: AgentsManageDatabaseClient) => (
|
|
|
106
111
|
projectId: string;
|
|
107
112
|
runAsUserId: string;
|
|
108
113
|
}) => Promise<void>;
|
|
114
|
+
declare const getTriggerUsers: (db: AgentsManageDatabaseClient) => (params: {
|
|
115
|
+
scopes: AgentScopeConfig;
|
|
116
|
+
triggerId: string;
|
|
117
|
+
}) => Promise<{
|
|
118
|
+
tenantId: string;
|
|
119
|
+
projectId: string;
|
|
120
|
+
agentId: string;
|
|
121
|
+
triggerId: string;
|
|
122
|
+
userId: string;
|
|
123
|
+
createdAt: string;
|
|
124
|
+
}[]>;
|
|
125
|
+
declare const getTriggerUsersBatch: (db: AgentsManageDatabaseClient) => (params: {
|
|
126
|
+
scopes: AgentScopeConfig;
|
|
127
|
+
triggerIds: string[];
|
|
128
|
+
}) => Promise<Map<string, string[]>>;
|
|
129
|
+
declare const createTriggerUser: (db: AgentsManageDatabaseClient) => (params: {
|
|
130
|
+
scopes: AgentScopeConfig;
|
|
131
|
+
triggerId: string;
|
|
132
|
+
userId: string;
|
|
133
|
+
}) => Promise<{
|
|
134
|
+
createdAt: string;
|
|
135
|
+
projectId: string;
|
|
136
|
+
tenantId: string;
|
|
137
|
+
agentId: string;
|
|
138
|
+
userId: string;
|
|
139
|
+
triggerId: string;
|
|
140
|
+
}>;
|
|
141
|
+
declare const deleteTriggerUser: (db: AgentsManageDatabaseClient) => (params: {
|
|
142
|
+
scopes: AgentScopeConfig;
|
|
143
|
+
triggerId: string;
|
|
144
|
+
userId: string;
|
|
145
|
+
}) => Promise<void>;
|
|
146
|
+
declare const setTriggerUsers: (db: AgentsManageDatabaseClient) => (params: {
|
|
147
|
+
scopes: AgentScopeConfig;
|
|
148
|
+
triggerId: string;
|
|
149
|
+
userIds: string[];
|
|
150
|
+
}) => Promise<void>;
|
|
151
|
+
declare const getTriggerUserCount: (db: AgentsManageDatabaseClient) => (params: {
|
|
152
|
+
scopes: AgentScopeConfig;
|
|
153
|
+
triggerId: string;
|
|
154
|
+
}) => Promise<number>;
|
|
155
|
+
declare const getWebhookTriggerIdsWithUser: (db: AgentsManageDatabaseClient) => (params: {
|
|
156
|
+
tenantId: string;
|
|
157
|
+
projectId: string;
|
|
158
|
+
userId: string;
|
|
159
|
+
}) => Promise<{
|
|
160
|
+
agentId: string;
|
|
161
|
+
id: string;
|
|
162
|
+
}[]>;
|
|
163
|
+
declare const removeUserFromProjectTriggerUsers: (db: AgentsManageDatabaseClient) => (params: {
|
|
164
|
+
tenantId: string;
|
|
165
|
+
projectId: string;
|
|
166
|
+
userId: string;
|
|
167
|
+
}) => Promise<void>;
|
|
109
168
|
/**
|
|
110
169
|
* Upsert a trigger (create or update based on existence)
|
|
111
170
|
*/
|
|
@@ -114,4 +173,4 @@ declare const upsertTrigger: (db: AgentsManageDatabaseClient) => (params: {
|
|
|
114
173
|
data: TriggerInsert;
|
|
115
174
|
}) => Promise<TriggerSelect>;
|
|
116
175
|
//#endregion
|
|
117
|
-
export { createTrigger, deleteTrigger, deleteTriggersByRunAsUserId, getTriggerById, listTriggers, listTriggersPaginated, updateTrigger, upsertTrigger };
|
|
176
|
+
export { createTrigger, createTriggerUser, createTriggerWithUsers, deleteTrigger, deleteTriggerUser, deleteTriggersByRunAsUserId, getTriggerById, getTriggerUserCount, getTriggerUsers, getTriggerUsersBatch, getWebhookTriggerIdsWithUser, listTriggers, listTriggersPaginated, removeUserFromProjectTriggerUsers, setTriggerUsers, updateTrigger, upsertTrigger };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { triggers } from "../../db/manage/manage-schema.js";
|
|
1
|
+
import { triggerUsers, triggers } from "../../db/manage/manage-schema.js";
|
|
2
2
|
import { agentScopedWhere, projectScopedWhere } from "./scope-helpers.js";
|
|
3
|
-
import { and, count, desc, eq } from "drizzle-orm";
|
|
3
|
+
import { and, asc, count, desc, eq, inArray } from "drizzle-orm";
|
|
4
4
|
|
|
5
5
|
//#region src/data-access/manage/triggers.ts
|
|
6
6
|
/**
|
|
@@ -42,6 +42,19 @@ const listTriggersPaginated = (db) => async (params) => {
|
|
|
42
42
|
const createTrigger = (db) => async (params) => {
|
|
43
43
|
return (await db.insert(triggers).values(params).returning())[0];
|
|
44
44
|
};
|
|
45
|
+
const createTriggerWithUsers = (db) => async (params) => {
|
|
46
|
+
return db.transaction(async (tx) => {
|
|
47
|
+
const trigger = await createTrigger(tx)(params.trigger);
|
|
48
|
+
if (params.userIds.length > 0) await tx.insert(triggerUsers).values(params.userIds.map((userId) => ({
|
|
49
|
+
tenantId: trigger.tenantId,
|
|
50
|
+
projectId: trigger.projectId,
|
|
51
|
+
agentId: trigger.agentId,
|
|
52
|
+
triggerId: trigger.id,
|
|
53
|
+
userId
|
|
54
|
+
})));
|
|
55
|
+
return trigger;
|
|
56
|
+
});
|
|
57
|
+
};
|
|
45
58
|
/**
|
|
46
59
|
* Update a trigger (agent-scoped)
|
|
47
60
|
*/
|
|
@@ -68,6 +81,78 @@ const deleteTriggersByRunAsUserId = (db) => async (params) => {
|
|
|
68
81
|
projectId: params.projectId
|
|
69
82
|
}), eq(triggers.runAsUserId, params.runAsUserId)));
|
|
70
83
|
};
|
|
84
|
+
const getTriggerUsers = (db) => async (params) => {
|
|
85
|
+
return db.select().from(triggerUsers).where(and(agentScopedWhere(triggerUsers, params.scopes), eq(triggerUsers.triggerId, params.triggerId))).orderBy(asc(triggerUsers.createdAt));
|
|
86
|
+
};
|
|
87
|
+
const getTriggerUsersBatch = (db) => async (params) => {
|
|
88
|
+
if (params.triggerIds.length === 0) return /* @__PURE__ */ new Map();
|
|
89
|
+
const rows = await db.select().from(triggerUsers).where(and(agentScopedWhere(triggerUsers, params.scopes), inArray(triggerUsers.triggerId, params.triggerIds))).orderBy(asc(triggerUsers.createdAt));
|
|
90
|
+
const result = /* @__PURE__ */ new Map();
|
|
91
|
+
for (const triggerId of params.triggerIds) result.set(triggerId, []);
|
|
92
|
+
for (const row of rows) {
|
|
93
|
+
const userIds = result.get(row.triggerId);
|
|
94
|
+
if (userIds) userIds.push(row.userId);
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
};
|
|
98
|
+
const createTriggerUser = (db) => async (params) => {
|
|
99
|
+
return (await db.insert(triggerUsers).values({
|
|
100
|
+
tenantId: params.scopes.tenantId,
|
|
101
|
+
projectId: params.scopes.projectId,
|
|
102
|
+
agentId: params.scopes.agentId,
|
|
103
|
+
triggerId: params.triggerId,
|
|
104
|
+
userId: params.userId
|
|
105
|
+
}).onConflictDoNothing().returning())[0];
|
|
106
|
+
};
|
|
107
|
+
const deleteTriggerUser = (db) => async (params) => {
|
|
108
|
+
await db.delete(triggerUsers).where(and(agentScopedWhere(triggerUsers, params.scopes), eq(triggerUsers.triggerId, params.triggerId), eq(triggerUsers.userId, params.userId)));
|
|
109
|
+
};
|
|
110
|
+
const setTriggerUsers = (db) => async (params) => {
|
|
111
|
+
await db.delete(triggerUsers).where(and(agentScopedWhere(triggerUsers, params.scopes), eq(triggerUsers.triggerId, params.triggerId)));
|
|
112
|
+
if (params.userIds.length > 0) await db.insert(triggerUsers).values(params.userIds.map((userId) => ({
|
|
113
|
+
tenantId: params.scopes.tenantId,
|
|
114
|
+
projectId: params.scopes.projectId,
|
|
115
|
+
agentId: params.scopes.agentId,
|
|
116
|
+
triggerId: params.triggerId,
|
|
117
|
+
userId
|
|
118
|
+
})));
|
|
119
|
+
};
|
|
120
|
+
const getTriggerUserCount = (db) => async (params) => {
|
|
121
|
+
return (await db.select({ count: count() }).from(triggerUsers).where(and(agentScopedWhere(triggerUsers, params.scopes), eq(triggerUsers.triggerId, params.triggerId))))[0]?.count ?? 0;
|
|
122
|
+
};
|
|
123
|
+
const getWebhookTriggerIdsWithUser = (db) => async (params) => {
|
|
124
|
+
return db.select({
|
|
125
|
+
agentId: triggers.agentId,
|
|
126
|
+
id: triggers.id
|
|
127
|
+
}).from(triggers).innerJoin(triggerUsers, and(eq(triggerUsers.tenantId, triggers.tenantId), eq(triggerUsers.projectId, triggers.projectId), eq(triggerUsers.agentId, triggers.agentId), eq(triggerUsers.triggerId, triggers.id))).where(and(projectScopedWhere(triggers, {
|
|
128
|
+
tenantId: params.tenantId,
|
|
129
|
+
projectId: params.projectId
|
|
130
|
+
}), eq(triggerUsers.userId, params.userId)));
|
|
131
|
+
};
|
|
132
|
+
const removeUserFromProjectTriggerUsers = (db) => async (params) => {
|
|
133
|
+
await db.transaction(async (tx) => {
|
|
134
|
+
const triggerRows = await getWebhookTriggerIdsWithUser(tx)(params);
|
|
135
|
+
if (triggerRows.length === 0) return;
|
|
136
|
+
const triggerIds = triggerRows.map((row) => row.id);
|
|
137
|
+
await tx.delete(triggerUsers).where(and(projectScopedWhere(triggerUsers, {
|
|
138
|
+
tenantId: params.tenantId,
|
|
139
|
+
projectId: params.projectId
|
|
140
|
+
}), inArray(triggerUsers.triggerId, triggerIds), eq(triggerUsers.userId, params.userId)));
|
|
141
|
+
const triggersWithRemainingUsers = await tx.select({ triggerId: triggerUsers.triggerId }).from(triggerUsers).where(and(projectScopedWhere(triggerUsers, {
|
|
142
|
+
tenantId: params.tenantId,
|
|
143
|
+
projectId: params.projectId
|
|
144
|
+
}), inArray(triggerUsers.triggerId, triggerIds))).groupBy(triggerUsers.triggerId);
|
|
145
|
+
const triggerIdsWithRemainingUsers = new Set(triggersWithRemainingUsers.map((row) => row.triggerId));
|
|
146
|
+
const emptyTriggerIds = triggerIds.filter((id) => !triggerIdsWithRemainingUsers.has(id));
|
|
147
|
+
if (emptyTriggerIds.length > 0) await tx.update(triggers).set({
|
|
148
|
+
enabled: false,
|
|
149
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
150
|
+
}).where(and(projectScopedWhere(triggers, {
|
|
151
|
+
tenantId: params.tenantId,
|
|
152
|
+
projectId: params.projectId
|
|
153
|
+
}), inArray(triggers.id, emptyTriggerIds), eq(triggers.enabled, true)));
|
|
154
|
+
});
|
|
155
|
+
};
|
|
71
156
|
/**
|
|
72
157
|
* Upsert a trigger (create or update based on existence)
|
|
73
158
|
*/
|
|
@@ -89,4 +174,4 @@ const upsertTrigger = (db) => async (params) => {
|
|
|
89
174
|
};
|
|
90
175
|
|
|
91
176
|
//#endregion
|
|
92
|
-
export { createTrigger, deleteTrigger, deleteTriggersByRunAsUserId, getTriggerById, listTriggers, listTriggersPaginated, updateTrigger, upsertTrigger };
|
|
177
|
+
export { createTrigger, createTriggerUser, createTriggerWithUsers, deleteTrigger, deleteTriggerUser, deleteTriggersByRunAsUserId, getTriggerById, getTriggerUserCount, getTriggerUsers, getTriggerUsersBatch, getWebhookTriggerIdsWithUser, listTriggers, listTriggersPaginated, removeUserFromProjectTriggerUsers, setTriggerUsers, updateTrigger, upsertTrigger };
|
|
@@ -12,28 +12,28 @@ declare const getApiKeyById: (db: AgentsRunDatabaseClient) => (params: {
|
|
|
12
12
|
name: string | null;
|
|
13
13
|
createdAt: string;
|
|
14
14
|
updatedAt: string;
|
|
15
|
-
expiresAt: string | null;
|
|
16
|
-
tenantId: string;
|
|
17
15
|
projectId: string;
|
|
16
|
+
tenantId: string;
|
|
18
17
|
agentId: string;
|
|
19
18
|
publicId: string;
|
|
20
19
|
keyHash: string;
|
|
21
20
|
keyPrefix: string;
|
|
22
21
|
lastUsedAt: string | null;
|
|
22
|
+
expiresAt: string | null;
|
|
23
23
|
} | undefined>;
|
|
24
24
|
declare const getApiKeyByPublicId: (db: AgentsRunDatabaseClient) => (publicId: string) => Promise<{
|
|
25
25
|
id: string;
|
|
26
26
|
name: string | null;
|
|
27
27
|
createdAt: string;
|
|
28
28
|
updatedAt: string;
|
|
29
|
-
expiresAt: string | null;
|
|
30
|
-
tenantId: string;
|
|
31
29
|
projectId: string;
|
|
30
|
+
tenantId: string;
|
|
32
31
|
agentId: string;
|
|
33
32
|
publicId: string;
|
|
34
33
|
keyHash: string;
|
|
35
34
|
keyPrefix: string;
|
|
36
35
|
lastUsedAt: string | null;
|
|
36
|
+
expiresAt: string | null;
|
|
37
37
|
} | undefined>;
|
|
38
38
|
declare const listApiKeys: (db: AgentsRunDatabaseClient) => (params: {
|
|
39
39
|
scopes: ProjectScopeConfig;
|
|
@@ -43,14 +43,14 @@ declare const listApiKeys: (db: AgentsRunDatabaseClient) => (params: {
|
|
|
43
43
|
name: string | null;
|
|
44
44
|
createdAt: string;
|
|
45
45
|
updatedAt: string;
|
|
46
|
-
expiresAt: string | null;
|
|
47
|
-
tenantId: string;
|
|
48
46
|
projectId: string;
|
|
47
|
+
tenantId: string;
|
|
49
48
|
agentId: string;
|
|
50
49
|
publicId: string;
|
|
51
50
|
keyHash: string;
|
|
52
51
|
keyPrefix: string;
|
|
53
52
|
lastUsedAt: string | null;
|
|
53
|
+
expiresAt: string | null;
|
|
54
54
|
}[]>;
|
|
55
55
|
declare const listApiKeysPaginated: (db: AgentsRunDatabaseClient) => (params: {
|
|
56
56
|
scopes: ProjectScopeConfig;
|
|
@@ -70,14 +70,14 @@ declare const createApiKey: (db: AgentsRunDatabaseClient) => (params: ApiKeyInse
|
|
|
70
70
|
name: string | null;
|
|
71
71
|
createdAt: string;
|
|
72
72
|
updatedAt: string;
|
|
73
|
-
expiresAt: string | null;
|
|
74
|
-
tenantId: string;
|
|
75
73
|
projectId: string;
|
|
74
|
+
tenantId: string;
|
|
76
75
|
agentId: string;
|
|
77
76
|
publicId: string;
|
|
78
77
|
keyHash: string;
|
|
79
78
|
keyPrefix: string;
|
|
80
79
|
lastUsedAt: string | null;
|
|
80
|
+
expiresAt: string | null;
|
|
81
81
|
}>;
|
|
82
82
|
declare const updateApiKey: (db: AgentsRunDatabaseClient) => (params: {
|
|
83
83
|
scopes: ProjectScopeConfig;
|
|
@@ -6,15 +6,15 @@ import { AppInsert, AppSelect, AppUpdate } from "../../types/entities.js";
|
|
|
6
6
|
//#region src/data-access/runtime/apps.d.ts
|
|
7
7
|
declare const getAppById: (db: AgentsRunDatabaseClient) => (id: string) => Promise<{
|
|
8
8
|
type: AppType;
|
|
9
|
+
description: string | null;
|
|
9
10
|
id: string;
|
|
10
11
|
name: string;
|
|
11
12
|
createdAt: string;
|
|
12
13
|
updatedAt: string;
|
|
13
|
-
|
|
14
|
+
projectId: string | null;
|
|
14
15
|
tenantId: string | null;
|
|
15
|
-
enabled: boolean;
|
|
16
16
|
prompt: string | null;
|
|
17
|
-
|
|
17
|
+
enabled: boolean;
|
|
18
18
|
config: {
|
|
19
19
|
type: "web_client";
|
|
20
20
|
webClient: {
|
|
@@ -62,15 +62,15 @@ declare const listAppsPaginated: (db: AgentsRunDatabaseClient) => (params: {
|
|
|
62
62
|
}>;
|
|
63
63
|
declare const createApp: (db: AgentsRunDatabaseClient) => (params: AppInsert) => Promise<{
|
|
64
64
|
type: AppType;
|
|
65
|
+
description: string | null;
|
|
65
66
|
id: string;
|
|
66
67
|
name: string;
|
|
67
68
|
createdAt: string;
|
|
68
69
|
updatedAt: string;
|
|
69
|
-
|
|
70
|
+
projectId: string | null;
|
|
70
71
|
tenantId: string | null;
|
|
71
|
-
enabled: boolean;
|
|
72
72
|
prompt: string | null;
|
|
73
|
-
|
|
73
|
+
enabled: boolean;
|
|
74
74
|
config: {
|
|
75
75
|
type: "web_client";
|
|
76
76
|
webClient: {
|