@inkeep/agents-core 0.59.4 → 0.61.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 (88) hide show
  1. package/dist/auth/auth-validation-schemas.d.ts +154 -154
  2. package/dist/auth/init.js +42 -0
  3. package/dist/auth/wait-for-spicedb.d.ts +1 -0
  4. package/dist/auth/wait-for-spicedb.js +51 -0
  5. package/dist/client-exports.d.ts +4 -107
  6. package/dist/client-exports.js +3 -61
  7. package/dist/constants/context-breakdown.js +5 -0
  8. package/dist/constants/otel-attributes.d.ts +25 -1
  9. package/dist/constants/otel-attributes.js +25 -1
  10. package/dist/data-access/index.d.ts +4 -3
  11. package/dist/data-access/index.js +4 -3
  12. package/dist/data-access/manage/agentFull.js +15 -10
  13. package/dist/data-access/manage/agents.d.ts +69 -63
  14. package/dist/data-access/manage/agents.js +2 -0
  15. package/dist/data-access/manage/artifactComponents.d.ts +12 -12
  16. package/dist/data-access/manage/contextConfigs.d.ts +12 -12
  17. package/dist/data-access/manage/dataComponents.d.ts +6 -6
  18. package/dist/data-access/manage/functionTools.d.ts +18 -18
  19. package/dist/data-access/manage/functionTools.js +2 -2
  20. package/dist/data-access/manage/projectFull.js +24 -3
  21. package/dist/data-access/manage/skills.d.ts +14 -14
  22. package/dist/data-access/manage/skills.js +2 -3
  23. package/dist/data-access/manage/subAgentExternalAgentRelations.d.ts +27 -27
  24. package/dist/data-access/manage/subAgentExternalAgentRelations.js +2 -2
  25. package/dist/data-access/manage/subAgentRelations.d.ts +29 -29
  26. package/dist/data-access/manage/subAgentRelations.js +2 -2
  27. package/dist/data-access/manage/subAgentTeamAgentRelations.d.ts +30 -30
  28. package/dist/data-access/manage/subAgentTeamAgentRelations.js +2 -2
  29. package/dist/data-access/manage/subAgents.d.ts +36 -36
  30. package/dist/data-access/manage/tools.d.ts +21 -21
  31. package/dist/data-access/manage/tools.js +2 -2
  32. package/dist/data-access/manage/triggers.d.ts +2 -2
  33. package/dist/data-access/runtime/apiKeys.d.ts +16 -16
  34. package/dist/data-access/runtime/apps.d.ts +61 -13
  35. package/dist/data-access/runtime/apps.js +15 -1
  36. package/dist/data-access/runtime/conversations.d.ts +23 -23
  37. package/dist/data-access/runtime/conversations.js +18 -1
  38. package/dist/data-access/runtime/ledgerArtifacts.d.ts +11 -2
  39. package/dist/data-access/runtime/ledgerArtifacts.js +12 -1
  40. package/dist/data-access/runtime/messages.d.ts +18 -18
  41. package/dist/data-access/runtime/scheduledTriggerInvocations.d.ts +3 -3
  42. package/dist/data-access/runtime/tasks.d.ts +4 -4
  43. package/dist/data-access/runtime/workflowExecutions.d.ts +25 -0
  44. package/dist/data-access/runtime/workflowExecutions.js +32 -0
  45. package/dist/db/manage/manage-schema.d.ts +495 -475
  46. package/dist/db/manage/manage-schema.js +1 -0
  47. package/dist/db/runtime/runtime-schema.d.ts +568 -334
  48. package/dist/db/runtime/runtime-schema.js +19 -2
  49. package/dist/dolt/fk-map.d.ts +5 -0
  50. package/dist/dolt/fk-map.js +34 -0
  51. package/dist/dolt/index.d.ts +3 -2
  52. package/dist/dolt/index.js +3 -2
  53. package/dist/dolt/resolve-conflicts.d.ts +11 -1
  54. package/dist/dolt/resolve-conflicts.js +105 -47
  55. package/dist/index.d.ts +15 -10
  56. package/dist/index.js +13 -8
  57. package/dist/types/entities.d.ts +5 -2
  58. package/dist/types/index.d.ts +3 -3
  59. package/dist/types/utility.d.ts +11 -3
  60. package/dist/utils/apiKeys.js +1 -1
  61. package/dist/utils/conversations.d.ts +10 -1
  62. package/dist/utils/conversations.js +19 -1
  63. package/dist/utils/error.d.ts +51 -51
  64. package/dist/utils/index.d.ts +7 -2
  65. package/dist/utils/index.js +5 -2
  66. package/dist/utils/model-factory.js +35 -10
  67. package/dist/utils/token-estimator.d.ts +19 -0
  68. package/dist/utils/token-estimator.js +17 -0
  69. package/dist/utils/usage-cost-middleware.d.ts +13 -0
  70. package/dist/utils/usage-cost-middleware.js +60 -0
  71. package/dist/utils/usage-tracker.d.ts +2 -0
  72. package/dist/utils/usage-tracker.js +1 -0
  73. package/dist/utils/validate-public-key.d.ts +10 -0
  74. package/dist/utils/validate-public-key.js +89 -0
  75. package/dist/validation/agentFull.js +0 -1
  76. package/dist/validation/drizzle-schema-helpers.d.ts +3 -3
  77. package/dist/validation/index.d.ts +2 -2
  78. package/dist/validation/index.js +2 -2
  79. package/dist/validation/schemas.d.ts +3518 -2682
  80. package/dist/validation/schemas.js +104 -36
  81. package/drizzle/manage/0013_gorgeous_umar.sql +1 -0
  82. package/drizzle/manage/meta/0013_snapshot.json +3704 -0
  83. package/drizzle/manage/meta/_journal.json +7 -0
  84. package/drizzle/runtime/0025_faulty_kylun.sql +1 -0
  85. package/drizzle/runtime/0026_graceful_scorpion.sql +15 -0
  86. package/drizzle/runtime/meta/0026_snapshot.json +4389 -0
  87. package/drizzle/runtime/meta/_journal.json +14 -0
  88. package/package.json +1 -1
@@ -12,31 +12,28 @@ declare const getAgentById: (db: AgentsManageDatabaseClient) => (params: {
12
12
  }) => Promise<{
13
13
  id: string;
14
14
  name: string;
15
+ createdAt: string;
16
+ updatedAt: string;
15
17
  description: string | null;
16
- defaultSubAgentId: string | null;
17
- tenantId: string;
18
18
  projectId: string;
19
- prompt: string | null;
19
+ tenantId: string;
20
+ defaultSubAgentId: string | null;
21
+ contextConfigId: string | null;
20
22
  models: {
21
23
  base?: {
22
24
  model?: string | undefined;
23
- providerOptions?: Record<string, any> | undefined;
25
+ providerOptions?: Record<string, unknown> | undefined;
24
26
  } | undefined;
25
27
  structuredOutput?: {
26
28
  model?: string | undefined;
27
- providerOptions?: Record<string, any> | undefined;
29
+ providerOptions?: Record<string, unknown> | undefined;
28
30
  } | undefined;
29
31
  summarizer?: {
30
32
  model?: string | undefined;
31
- providerOptions?: Record<string, any> | undefined;
33
+ providerOptions?: Record<string, unknown> | undefined;
32
34
  } | undefined;
33
35
  } | null;
34
- stopWhen: {
35
- transferCountIs?: number | undefined;
36
- } | null;
37
- createdAt: string;
38
- updatedAt: string;
39
- contextConfigId: string | null;
36
+ prompt: string | null;
40
37
  statusUpdates: {
41
38
  enabled?: boolean | undefined;
42
39
  numEvents?: number | undefined;
@@ -52,37 +49,38 @@ declare const getAgentById: (db: AgentsManageDatabaseClient) => (params: {
52
49
  } | undefined;
53
50
  }[] | undefined;
54
51
  } | null;
52
+ stopWhen: {
53
+ transferCountIs?: number | undefined;
54
+ } | null;
55
+ executionMode: "classic" | "durable";
55
56
  } | null>;
56
57
  declare const getAgentWithDefaultSubAgent: (db: AgentsManageDatabaseClient) => (params: {
57
58
  scopes: AgentScopeConfig;
58
59
  }) => Promise<{
59
60
  id: string;
60
61
  name: string;
62
+ createdAt: string;
63
+ updatedAt: string;
61
64
  description: string | null;
62
- defaultSubAgentId: string | null;
63
- tenantId: string;
64
65
  projectId: string;
65
- prompt: string | null;
66
+ tenantId: string;
67
+ defaultSubAgentId: string | null;
68
+ contextConfigId: string | null;
66
69
  models: {
67
70
  base?: {
68
71
  model?: string | undefined;
69
- providerOptions?: Record<string, any> | undefined;
72
+ providerOptions?: Record<string, unknown> | undefined;
70
73
  } | undefined;
71
74
  structuredOutput?: {
72
75
  model?: string | undefined;
73
- providerOptions?: Record<string, any> | undefined;
76
+ providerOptions?: Record<string, unknown> | undefined;
74
77
  } | undefined;
75
78
  summarizer?: {
76
79
  model?: string | undefined;
77
- providerOptions?: Record<string, any> | undefined;
80
+ providerOptions?: Record<string, unknown> | undefined;
78
81
  } | undefined;
79
82
  } | null;
80
- stopWhen: {
81
- transferCountIs?: number | undefined;
82
- } | null;
83
- createdAt: string;
84
- updatedAt: string;
85
- contextConfigId: string | null;
83
+ prompt: string | null;
86
84
  statusUpdates: {
87
85
  enabled?: boolean | undefined;
88
86
  numEvents?: number | undefined;
@@ -98,34 +96,38 @@ declare const getAgentWithDefaultSubAgent: (db: AgentsManageDatabaseClient) => (
98
96
  } | undefined;
99
97
  }[] | undefined;
100
98
  } | null;
99
+ stopWhen: {
100
+ transferCountIs?: number | undefined;
101
+ } | null;
102
+ executionMode: "classic" | "durable";
101
103
  defaultSubAgent: {
102
104
  id: string;
103
105
  name: string;
106
+ createdAt: string;
107
+ updatedAt: string;
104
108
  description: string | null;
105
- tenantId: string;
106
- projectId: string;
107
109
  agentId: string;
108
- prompt: string | null;
109
- conversationHistoryConfig: ConversationHistoryConfig | null;
110
+ projectId: string;
111
+ tenantId: string;
110
112
  models: {
111
113
  base?: {
112
114
  model?: string | undefined;
113
- providerOptions?: Record<string, any> | undefined;
115
+ providerOptions?: Record<string, unknown> | undefined;
114
116
  } | undefined;
115
117
  structuredOutput?: {
116
118
  model?: string | undefined;
117
- providerOptions?: Record<string, any> | undefined;
119
+ providerOptions?: Record<string, unknown> | undefined;
118
120
  } | undefined;
119
121
  summarizer?: {
120
122
  model?: string | undefined;
121
- providerOptions?: Record<string, any> | undefined;
123
+ providerOptions?: Record<string, unknown> | undefined;
122
124
  } | undefined;
123
125
  } | null;
126
+ prompt: string | null;
124
127
  stopWhen: {
125
128
  stepCountIs?: number | undefined;
126
129
  } | null;
127
- createdAt: string;
128
- updatedAt: string;
130
+ conversationHistoryConfig: ConversationHistoryConfig | null;
129
131
  } | null;
130
132
  } | null>;
131
133
  declare const listAgents: (db: AgentsManageDatabaseClient) => (params: {
@@ -133,31 +135,28 @@ declare const listAgents: (db: AgentsManageDatabaseClient) => (params: {
133
135
  }) => Promise<{
134
136
  id: string;
135
137
  name: string;
138
+ createdAt: string;
139
+ updatedAt: string;
136
140
  description: string | null;
137
- defaultSubAgentId: string | null;
138
- tenantId: string;
139
141
  projectId: string;
140
- prompt: string | null;
142
+ tenantId: string;
143
+ defaultSubAgentId: string | null;
144
+ contextConfigId: string | null;
141
145
  models: {
142
146
  base?: {
143
147
  model?: string | undefined;
144
- providerOptions?: Record<string, any> | undefined;
148
+ providerOptions?: Record<string, unknown> | undefined;
145
149
  } | undefined;
146
150
  structuredOutput?: {
147
151
  model?: string | undefined;
148
- providerOptions?: Record<string, any> | undefined;
152
+ providerOptions?: Record<string, unknown> | undefined;
149
153
  } | undefined;
150
154
  summarizer?: {
151
155
  model?: string | undefined;
152
- providerOptions?: Record<string, any> | undefined;
156
+ providerOptions?: Record<string, unknown> | undefined;
153
157
  } | undefined;
154
158
  } | null;
155
- stopWhen: {
156
- transferCountIs?: number | undefined;
157
- } | null;
158
- createdAt: string;
159
- updatedAt: string;
160
- contextConfigId: string | null;
159
+ prompt: string | null;
161
160
  statusUpdates: {
162
161
  enabled?: boolean | undefined;
163
162
  numEvents?: number | undefined;
@@ -173,6 +172,10 @@ declare const listAgents: (db: AgentsManageDatabaseClient) => (params: {
173
172
  } | undefined;
174
173
  }[] | undefined;
175
174
  } | null;
175
+ stopWhen: {
176
+ transferCountIs?: number | undefined;
177
+ } | null;
178
+ executionMode: "classic" | "durable";
176
179
  }[]>;
177
180
  declare const listAgentsPaginated: (db: AgentsManageDatabaseClient) => (params: {
178
181
  scopes: ProjectScopeConfig;
@@ -186,15 +189,15 @@ declare const listAgentsPaginated: (db: AgentsManageDatabaseClient) => (params:
186
189
  models: {
187
190
  base?: {
188
191
  model?: string | undefined;
189
- providerOptions?: Record<string, any> | undefined;
192
+ providerOptions?: Record<string, unknown> | undefined;
190
193
  } | undefined;
191
194
  structuredOutput?: {
192
195
  model?: string | undefined;
193
- providerOptions?: Record<string, any> | undefined;
196
+ providerOptions?: Record<string, unknown> | undefined;
194
197
  } | undefined;
195
198
  summarizer?: {
196
199
  model?: string | undefined;
197
- providerOptions?: Record<string, any> | undefined;
200
+ providerOptions?: Record<string, unknown> | undefined;
198
201
  } | undefined;
199
202
  } | null;
200
203
  statusUpdates: {
@@ -216,6 +219,7 @@ declare const listAgentsPaginated: (db: AgentsManageDatabaseClient) => (params:
216
219
  stopWhen: {
217
220
  transferCountIs?: number | undefined;
218
221
  } | null;
222
+ executionMode: "classic" | "durable";
219
223
  name: string;
220
224
  description: string | null;
221
225
  projectId: string;
@@ -249,31 +253,28 @@ declare function listAgentsAcrossProjectMainBranches(db: AgentsManageDatabaseCli
249
253
  declare const createAgent: (db: AgentsManageDatabaseClient) => (data: AgentInsert) => Promise<{
250
254
  id: string;
251
255
  name: string;
256
+ createdAt: string;
257
+ updatedAt: string;
252
258
  description: string | null;
253
- defaultSubAgentId: string | null;
254
- tenantId: string;
255
259
  projectId: string;
256
- prompt: string | null;
260
+ tenantId: string;
261
+ defaultSubAgentId: string | null;
262
+ contextConfigId: string | null;
257
263
  models: {
258
264
  base?: {
259
265
  model?: string | undefined;
260
- providerOptions?: Record<string, any> | undefined;
266
+ providerOptions?: Record<string, unknown> | undefined;
261
267
  } | undefined;
262
268
  structuredOutput?: {
263
269
  model?: string | undefined;
264
- providerOptions?: Record<string, any> | undefined;
270
+ providerOptions?: Record<string, unknown> | undefined;
265
271
  } | undefined;
266
272
  summarizer?: {
267
273
  model?: string | undefined;
268
- providerOptions?: Record<string, any> | undefined;
274
+ providerOptions?: Record<string, unknown> | undefined;
269
275
  } | undefined;
270
276
  } | null;
271
- stopWhen: {
272
- transferCountIs?: number | undefined;
273
- } | null;
274
- createdAt: string;
275
- updatedAt: string;
276
- contextConfigId: string | null;
277
+ prompt: string | null;
277
278
  statusUpdates: {
278
279
  enabled?: boolean | undefined;
279
280
  numEvents?: number | undefined;
@@ -289,6 +290,10 @@ declare const createAgent: (db: AgentsManageDatabaseClient) => (data: AgentInser
289
290
  } | undefined;
290
291
  }[] | undefined;
291
292
  } | null;
293
+ stopWhen: {
294
+ transferCountIs?: number | undefined;
295
+ } | null;
296
+ executionMode: "classic" | "durable";
292
297
  }>;
293
298
  declare const updateAgent: (db: AgentsManageDatabaseClient) => (params: {
294
299
  scopes: AgentScopeConfig;
@@ -301,15 +306,15 @@ declare const updateAgent: (db: AgentsManageDatabaseClient) => (params: {
301
306
  models: {
302
307
  base?: {
303
308
  model?: string | undefined;
304
- providerOptions?: Record<string, any> | undefined;
309
+ providerOptions?: Record<string, unknown> | undefined;
305
310
  } | undefined;
306
311
  structuredOutput?: {
307
312
  model?: string | undefined;
308
- providerOptions?: Record<string, any> | undefined;
313
+ providerOptions?: Record<string, unknown> | undefined;
309
314
  } | undefined;
310
315
  summarizer?: {
311
316
  model?: string | undefined;
312
- providerOptions?: Record<string, any> | undefined;
317
+ providerOptions?: Record<string, unknown> | undefined;
313
318
  } | undefined;
314
319
  } | null;
315
320
  statusUpdates: {
@@ -331,6 +336,7 @@ declare const updateAgent: (db: AgentsManageDatabaseClient) => (params: {
331
336
  stopWhen: {
332
337
  transferCountIs?: number | undefined;
333
338
  } | null;
339
+ executionMode: "classic" | "durable";
334
340
  name: string;
335
341
  description: string | null;
336
342
  projectId: string;
@@ -86,6 +86,7 @@ const createAgent = (db) => async (data) => {
86
86
  ...data,
87
87
  createdAt: now,
88
88
  updatedAt: now,
89
+ executionMode: data.executionMode ?? "classic",
89
90
  ...data.description !== void 0 && { description: data.description },
90
91
  ...data.contextConfigId !== void 0 && { contextConfigId: data.contextConfigId },
91
92
  ...data.models !== void 0 && { models: data.models },
@@ -423,6 +424,7 @@ const getFullAgentDefinitionInternal = (db) => async ({ scopes: { tenantId, proj
423
424
  if (agent.statusUpdates) result.statusUpdates = agent.statusUpdates;
424
425
  if (agent.prompt) result.prompt = agent.prompt;
425
426
  if (agent.stopWhen) result.stopWhen = agent.stopWhen;
427
+ if (agent.executionMode) result.executionMode = agent.executionMode;
426
428
  if (contextConfig) {
427
429
  const { id, headersSchema, contextVariables } = contextConfig;
428
430
  result.contextConfig = {
@@ -11,11 +11,11 @@ declare const getArtifactComponentById: (db: AgentsManageDatabaseClient) => (par
11
11
  }) => Promise<{
12
12
  id: string;
13
13
  name: string;
14
- description: string | null;
15
- tenantId: string;
16
- projectId: string;
17
14
  createdAt: string;
18
15
  updatedAt: string;
16
+ description: string | null;
17
+ projectId: string;
18
+ tenantId: string;
19
19
  props: {
20
20
  [x: string]: unknown;
21
21
  type: "object";
@@ -67,11 +67,11 @@ declare const listArtifactComponentsPaginated: (db: AgentsManageDatabaseClient)
67
67
  declare const createArtifactComponent: (db: AgentsManageDatabaseClient) => (params: ArtifactComponentInsert) => Promise<{
68
68
  id: string;
69
69
  name: string;
70
- description: string | null;
71
- tenantId: string;
72
- projectId: string;
73
70
  createdAt: string;
74
71
  updatedAt: string;
72
+ description: string | null;
73
+ projectId: string;
74
+ tenantId: string;
75
75
  props: {
76
76
  [x: string]: unknown;
77
77
  type: "object";
@@ -142,10 +142,10 @@ declare const associateArtifactComponentWithAgent: (db: AgentsManageDatabaseClie
142
142
  artifactComponentId: string;
143
143
  }) => Promise<{
144
144
  id: string;
145
- tenantId: string;
146
- projectId: string;
147
- agentId: string;
148
145
  createdAt: string;
146
+ agentId: string;
147
+ projectId: string;
148
+ tenantId: string;
149
149
  subAgentId: string;
150
150
  artifactComponentId: string;
151
151
  }>;
@@ -185,10 +185,10 @@ declare const upsertAgentArtifactComponentRelation: (db: AgentsManageDatabaseCli
185
185
  artifactComponentId: string;
186
186
  }) => Promise<{
187
187
  id: string;
188
- tenantId: string;
189
- projectId: string;
190
- agentId: string;
191
188
  createdAt: string;
189
+ agentId: string;
190
+ projectId: string;
191
+ tenantId: string;
192
192
  subAgentId: string;
193
193
  artifactComponentId: string;
194
194
  } | null>;
@@ -10,25 +10,25 @@ declare const getContextConfigById: (db: AgentsManageDatabaseClient) => (params:
10
10
  id: string;
11
11
  }) => Promise<{
12
12
  id: string;
13
- tenantId: string;
14
- projectId: string;
15
- agentId: string;
16
13
  createdAt: string;
17
14
  updatedAt: string;
18
15
  headersSchema: unknown;
19
16
  contextVariables: Record<string, ContextFetchDefinition> | null;
17
+ agentId: string;
18
+ projectId: string;
19
+ tenantId: string;
20
20
  } | undefined>;
21
21
  declare const listContextConfigs: (db: AgentsManageDatabaseClient) => (params: {
22
22
  scopes: AgentScopeConfig;
23
23
  }) => Promise<{
24
24
  id: string;
25
- tenantId: string;
26
- projectId: string;
27
- agentId: string;
28
25
  createdAt: string;
29
26
  updatedAt: string;
30
27
  headersSchema: unknown;
31
28
  contextVariables: Record<string, ContextFetchDefinition> | null;
29
+ agentId: string;
30
+ projectId: string;
31
+ tenantId: string;
32
32
  }[]>;
33
33
  declare const listContextConfigsPaginated: (db: AgentsManageDatabaseClient) => (params: {
34
34
  scopes: AgentScopeConfig;
@@ -44,13 +44,13 @@ declare const listContextConfigsPaginated: (db: AgentsManageDatabaseClient) => (
44
44
  }>;
45
45
  declare const createContextConfig: (db: AgentsManageDatabaseClient) => (params: ContextConfigInsert) => Promise<{
46
46
  id: string;
47
- tenantId: string;
48
- projectId: string;
49
- agentId: string;
50
47
  createdAt: string;
51
48
  updatedAt: string;
52
49
  headersSchema: unknown;
53
50
  contextVariables: Record<string, ContextFetchDefinition> | null;
51
+ agentId: string;
52
+ projectId: string;
53
+ tenantId: string;
54
54
  }>;
55
55
  declare const updateContextConfig: (db: AgentsManageDatabaseClient) => (params: {
56
56
  scopes: AgentScopeConfig;
@@ -84,13 +84,13 @@ declare const upsertContextConfig: (db: AgentsManageDatabaseClient) => (params:
84
84
  data: ContextConfigInsert;
85
85
  }) => Promise<{
86
86
  id: string;
87
- tenantId: string;
88
- projectId: string;
89
- agentId: string;
90
87
  createdAt: string;
91
88
  updatedAt: string;
92
89
  headersSchema: unknown;
93
90
  contextVariables: Record<string, ContextFetchDefinition> | null;
91
+ agentId: string;
92
+ projectId: string;
93
+ tenantId: string;
94
94
  }>;
95
95
  //#endregion
96
96
  export { countContextConfigs, createContextConfig, deleteContextConfig, getContextConfigById, hasContextConfig, listContextConfigs, listContextConfigsPaginated, updateContextConfig, upsertContextConfig };
@@ -66,10 +66,10 @@ declare const associateDataComponentWithAgent: (db: AgentsManageDatabaseClient)
66
66
  dataComponentId: string;
67
67
  }) => Promise<{
68
68
  id: string;
69
- tenantId: string;
70
- projectId: string;
71
- agentId: string;
72
69
  createdAt: string;
70
+ agentId: string;
71
+ projectId: string;
72
+ tenantId: string;
73
73
  subAgentId: string;
74
74
  dataComponentId: string;
75
75
  }>;
@@ -108,10 +108,10 @@ declare const upsertAgentDataComponentRelation: (db: AgentsManageDatabaseClient)
108
108
  dataComponentId: string;
109
109
  }) => Promise<{
110
110
  id: string;
111
- tenantId: string;
112
- projectId: string;
113
- agentId: string;
114
111
  createdAt: string;
112
+ agentId: string;
113
+ projectId: string;
114
+ tenantId: string;
115
115
  subAgentId: string;
116
116
  dataComponentId: string;
117
117
  } | null>;
@@ -55,12 +55,12 @@ declare const createFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
55
55
  }) => Promise<{
56
56
  id: string;
57
57
  name: string;
58
- description: string | null;
59
- tenantId: string;
60
- projectId: string;
61
- agentId: string;
62
58
  createdAt: string;
63
59
  updatedAt: string;
60
+ description: string | null;
61
+ agentId: string;
62
+ projectId: string;
63
+ tenantId: string;
64
64
  functionId: string;
65
65
  }>;
66
66
  /**
@@ -97,12 +97,12 @@ declare const upsertFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
97
97
  }) => Promise<{
98
98
  id: string;
99
99
  name: string;
100
- description: string | null;
101
- tenantId: string;
102
- projectId: string;
103
- agentId: string;
104
100
  createdAt: string;
105
101
  updatedAt: string;
102
+ description: string | null;
103
+ agentId: string;
104
+ projectId: string;
105
+ tenantId: string;
106
106
  functionId: string;
107
107
  }>;
108
108
  declare const getFunctionToolsForSubAgent: (db: AgentsManageDatabaseClient) => (params: {
@@ -158,16 +158,16 @@ declare const addFunctionToolToSubAgent: (db: AgentsManageDatabaseClient) => (pa
158
158
  }> | null;
159
159
  }) => Promise<{
160
160
  id: string;
161
- tenantId: string;
162
- projectId: string;
163
- agentId: string;
164
161
  createdAt: string;
165
162
  updatedAt: string;
163
+ agentId: string;
164
+ projectId: string;
165
+ tenantId: string;
166
+ subAgentId: string;
167
+ functionToolId: string;
166
168
  toolPolicies: Record<string, {
167
169
  needsApproval?: boolean;
168
170
  }> | null;
169
- subAgentId: string;
170
- functionToolId: string;
171
171
  }>;
172
172
  /**
173
173
  * Update an agent-function tool relation
@@ -223,16 +223,16 @@ declare const associateFunctionToolWithSubAgent: (db: AgentsManageDatabaseClient
223
223
  }> | null;
224
224
  }) => Promise<{
225
225
  id: string;
226
- tenantId: string;
227
- projectId: string;
228
- agentId: string;
229
226
  createdAt: string;
230
227
  updatedAt: string;
228
+ agentId: string;
229
+ projectId: string;
230
+ tenantId: string;
231
+ subAgentId: string;
232
+ functionToolId: string;
231
233
  toolPolicies: Record<string, {
232
234
  needsApproval?: boolean;
233
235
  }> | null;
234
- subAgentId: string;
235
- functionToolId: string;
236
236
  }>;
237
237
  //#endregion
238
238
  export { addFunctionToolToSubAgent, associateFunctionToolWithSubAgent, createFunctionTool, deleteFunctionTool, getFunctionToolById, getFunctionToolsForSubAgent, getSubAgentsUsingFunctionTool, isFunctionToolAssociatedWithSubAgent, listFunctionTools, removeFunctionToolFromSubAgent, updateFunctionTool, updateSubAgentFunctionToolRelation, upsertFunctionTool, upsertSubAgentFunctionToolRelation };
@@ -1,6 +1,6 @@
1
1
  import { functionTools, subAgentFunctionToolRelations } from "../../db/manage/manage-schema.js";
2
2
  import { getLogger } from "../../utils/logger.js";
3
- import { generateId } from "../../utils/conversations.js";
3
+ import { deriveRelationId } from "../../utils/conversations.js";
4
4
  import { agentScopedWhere } from "./scope-helpers.js";
5
5
  import { and, count, desc, eq } from "drizzle-orm";
6
6
 
@@ -170,7 +170,7 @@ const addFunctionToolToSubAgent = (db) => {
170
170
  return async (params) => {
171
171
  const { scopes, subAgentId, functionToolId, toolPolicies } = params;
172
172
  try {
173
- const relationId = generateId();
173
+ const relationId = deriveRelationId(scopes.tenantId, scopes.projectId, scopes.agentId, subAgentId, functionToolId);
174
174
  const [result] = await db.insert(subAgentFunctionToolRelations).values({
175
175
  id: relationId,
176
176
  ...scopes,
@@ -326,7 +326,14 @@ const createFullProjectServerSide = (db, logger = defaultLogger) => async (param
326
326
  throw error;
327
327
  }
328
328
  });
329
- await Promise.all(agentPromises);
329
+ const phase1Errors = (await Promise.allSettled(agentPromises)).filter((r) => r.status === "rejected").map((r) => r.reason);
330
+ if (phase1Errors.length > 0) {
331
+ logger.error({
332
+ projectId: typed.id,
333
+ errorCount: phase1Errors.length
334
+ }, `Some agents failed to create in phase 1: ${phase1Errors.join(", ")}`);
335
+ throw phase1Errors[0];
336
+ }
330
337
  logger.info({
331
338
  projectId: typed.id,
332
339
  agentCount: Object.keys(typed.agents).length
@@ -362,7 +369,14 @@ const createFullProjectServerSide = (db, logger = defaultLogger) => async (param
362
369
  throw error;
363
370
  }
364
371
  });
365
- await Promise.all(updatePromises);
372
+ const phase2Errors = (await Promise.allSettled(updatePromises)).filter((r) => r.status === "rejected").map((r) => r.reason);
373
+ if (phase2Errors.length > 0) {
374
+ logger.error({
375
+ projectId: typed.id,
376
+ errorCount: phase2Errors.length
377
+ }, `Some agents failed to add sub-agents in phase 2: ${phase2Errors.join(", ")}`);
378
+ throw phase2Errors[0];
379
+ }
366
380
  logger.info({
367
381
  projectId: typed.id,
368
382
  agentCount: Object.keys(typed.agents).length
@@ -894,7 +908,14 @@ const updateFullProjectServerSide = (db, logger = defaultLogger) => async (param
894
908
  throw error;
895
909
  }
896
910
  });
897
- await Promise.all(agentPromises);
911
+ const agentErrors = (await Promise.allSettled(agentPromises)).filter((r) => r.status === "rejected").map((r) => r.reason);
912
+ if (agentErrors.length > 0) {
913
+ logger.error({
914
+ projectId: typed.id,
915
+ errorCount: agentErrors.length
916
+ }, `Some agents failed to update in project: ${agentErrors.join(", ")}`);
917
+ throw agentErrors[0];
918
+ }
898
919
  logger.info({
899
920
  projectId: typed.id,
900
921
  agentCount: Object.keys(typed.agents).length
@@ -10,12 +10,12 @@ declare const getSkillById: (db: AgentsManageDatabaseClient) => (params: {
10
10
  }) => Promise<{
11
11
  id: string;
12
12
  name: string;
13
- description: string;
14
- tenantId: string;
15
- projectId: string;
16
13
  createdAt: string;
17
14
  updatedAt: string;
18
15
  metadata: Record<string, string> | null;
16
+ description: string;
17
+ projectId: string;
18
+ tenantId: string;
19
19
  content: string;
20
20
  } | null>;
21
21
  declare const listSkills: (db: AgentsManageDatabaseClient) => (params: {
@@ -43,23 +43,23 @@ declare const listSkills: (db: AgentsManageDatabaseClient) => (params: {
43
43
  declare const createSkill: (db: AgentsManageDatabaseClient) => (data: SkillInsert) => Promise<{
44
44
  id: string;
45
45
  name: string;
46
- description: string;
47
- tenantId: string;
48
- projectId: string;
49
46
  createdAt: string;
50
47
  updatedAt: string;
51
48
  metadata: Record<string, string> | null;
49
+ description: string;
50
+ projectId: string;
51
+ tenantId: string;
52
52
  content: string;
53
53
  }>;
54
54
  declare const upsertSkill: (db: AgentsManageDatabaseClient) => (data: SkillInsert) => Promise<{
55
55
  id: string;
56
56
  name: string;
57
- description: string;
58
- tenantId: string;
59
- projectId: string;
60
57
  createdAt: string;
61
58
  updatedAt: string;
62
59
  metadata: Record<string, string> | null;
60
+ description: string;
61
+ projectId: string;
62
+ tenantId: string;
63
63
  content: string;
64
64
  }>;
65
65
  declare const updateSkill: (db: AgentsManageDatabaseClient) => (params: {
@@ -92,15 +92,15 @@ declare const upsertSubAgentSkill: (db: AgentsManageDatabaseClient) => (params:
92
92
  alwaysLoaded?: boolean;
93
93
  }) => Promise<{
94
94
  id: string;
95
- tenantId: string;
96
- projectId: string;
97
- agentId: string;
98
95
  createdAt: string;
99
96
  updatedAt: string;
97
+ agentId: string;
98
+ projectId: string;
99
+ tenantId: string;
100
+ subAgentId: string;
101
+ skillId: string;
100
102
  index: number;
101
103
  alwaysLoaded: boolean;
102
- skillId: string;
103
- subAgentId: string;
104
104
  }>;
105
105
  declare const deleteSubAgentSkill: (db: AgentsManageDatabaseClient) => (params: {
106
106
  scopes: AgentScopeConfig;
@@ -1,8 +1,7 @@
1
1
  import { skills, subAgentSkills } from "../../db/manage/manage-schema.js";
2
2
  import { getLogger } from "../../utils/logger.js";
3
- import { generateId } from "../../utils/conversations.js";
3
+ import { deriveRelationId } from "../../utils/conversations.js";
4
4
  import { agentScopedWhere, projectScopedWhere, subAgentScopedWhere } from "./scope-helpers.js";
5
- import "../../index.js";
6
5
  import { and, asc, count, desc, eq, inArray } from "drizzle-orm";
7
6
 
8
7
  //#region src/data-access/manage/skills.ts
@@ -109,7 +108,7 @@ const upsertSubAgentSkill = (db) => async (params) => {
109
108
  }
110
109
  const insertData = {
111
110
  ...params.scopes,
112
- id: generateId(),
111
+ id: deriveRelationId(params.scopes.tenantId, params.scopes.projectId, params.scopes.agentId, params.scopes.subAgentId, params.skillId),
113
112
  skillId: params.skillId,
114
113
  index: params.index,
115
114
  alwaysLoaded: params.alwaysLoaded ?? false,