@inkeep/agents-core 0.41.2 → 0.43.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 (258) hide show
  1. package/dist/api-client/base-client.d.ts +87 -8
  2. package/dist/api-client/base-client.js +174 -1
  3. package/dist/api-client/eval-api-client.d.ts +47 -0
  4. package/dist/api-client/eval-api-client.js +65 -0
  5. package/dist/api-client/index.d.ts +4 -0
  6. package/dist/api-client/index.js +5 -0
  7. package/dist/api-client/manage-api-client.d.ts +34 -0
  8. package/dist/api-client/manage-api-client.js +104 -0
  9. package/dist/auth/auth.d.ts +86 -20
  10. package/dist/auth/auth.js +60 -2
  11. package/dist/auth/authz/client.d.ts +87 -0
  12. package/dist/auth/authz/client.js +196 -0
  13. package/dist/auth/authz/config.d.ts +103 -0
  14. package/dist/auth/authz/config.js +93 -0
  15. package/dist/auth/authz/index.d.ts +5 -0
  16. package/dist/auth/authz/index.js +6 -0
  17. package/dist/auth/authz/permissions.d.ts +53 -0
  18. package/dist/auth/authz/permissions.js +83 -0
  19. package/dist/auth/authz/sync.d.ts +106 -0
  20. package/dist/auth/authz/sync.js +321 -0
  21. package/dist/auth/permissions.d.ts +13 -13
  22. package/dist/auth/permissions.js +2 -181
  23. package/dist/client-exports.d.ts +9 -3
  24. package/dist/client-exports.js +4 -2
  25. package/dist/constants/context-breakdown.d.ts +61 -0
  26. package/dist/constants/context-breakdown.js +124 -0
  27. package/dist/constants/execution-limits-shared/defaults.d.ts +1 -1
  28. package/dist/constants/execution-limits-shared/defaults.js +1 -1
  29. package/dist/constants/execution-limits-shared/index.d.ts +1 -1
  30. package/dist/constants/otel-attributes.d.ts +4 -0
  31. package/dist/constants/otel-attributes.js +4 -0
  32. package/dist/context/ContextConfig.d.ts +2 -2
  33. package/dist/context/ContextConfig.js +3 -3
  34. package/dist/context/TemplateEngine.d.ts +0 -6
  35. package/dist/context/TemplateEngine.js +4 -19
  36. package/dist/context/index.d.ts +1 -5
  37. package/dist/context/index.js +1 -5
  38. package/dist/credential-stores/keychain-store.d.ts +20 -8
  39. package/dist/credential-stores/keychain-store.js +107 -43
  40. package/dist/credential-stuffer/CredentialStuffer.d.ts +1 -1
  41. package/dist/data-access/index.d.ts +34 -26
  42. package/dist/data-access/index.js +34 -26
  43. package/dist/data-access/manage/agentFull.d.ts +36 -0
  44. package/dist/data-access/{agentFull.js → manage/agentFull.js} +209 -7
  45. package/dist/data-access/{agents.d.ts → manage/agents.d.ts} +64 -63
  46. package/dist/data-access/{agents.js → manage/agents.js} +80 -27
  47. package/dist/data-access/{artifactComponents.d.ts → manage/artifactComponents.d.ts} +33 -33
  48. package/dist/data-access/{artifactComponents.js → manage/artifactComponents.js} +5 -5
  49. package/dist/data-access/{contextConfigs.d.ts → manage/contextConfigs.d.ts} +26 -26
  50. package/dist/data-access/{contextConfigs.js → manage/contextConfigs.js} +3 -3
  51. package/dist/data-access/{credentialReferences.d.ts → manage/credentialReferences.d.ts} +17 -17
  52. package/dist/data-access/{credentialReferences.js → manage/credentialReferences.js} +2 -2
  53. package/dist/data-access/{dataComponents.d.ts → manage/dataComponents.d.ts} +26 -26
  54. package/dist/data-access/{dataComponents.js → manage/dataComponents.js} +7 -7
  55. package/dist/data-access/manage/evalConfig.d.ts +221 -0
  56. package/dist/data-access/manage/evalConfig.js +275 -0
  57. package/dist/data-access/{externalAgents.d.ts → manage/externalAgents.d.ts} +16 -16
  58. package/dist/data-access/{externalAgents.js → manage/externalAgents.js} +2 -2
  59. package/dist/data-access/manage/functionTools.d.ts +242 -0
  60. package/dist/data-access/{functionTools.js → manage/functionTools.js} +124 -30
  61. package/dist/data-access/{functions.d.ts → manage/functions.d.ts} +9 -9
  62. package/dist/data-access/{functions.js → manage/functions.js} +3 -3
  63. package/dist/data-access/manage/projectFull.d.ts +38 -0
  64. package/dist/data-access/{projectFull.js → manage/projectFull.js} +64 -65
  65. package/dist/data-access/manage/projectLifecycle.d.ts +119 -0
  66. package/dist/data-access/manage/projectLifecycle.js +234 -0
  67. package/dist/data-access/manage/projects.d.ts +75 -0
  68. package/dist/data-access/{projects.js → manage/projects.js} +15 -16
  69. package/dist/data-access/{subAgentExternalAgentRelations.d.ts → manage/subAgentExternalAgentRelations.d.ts} +43 -43
  70. package/dist/data-access/{subAgentExternalAgentRelations.js → manage/subAgentExternalAgentRelations.js} +2 -2
  71. package/dist/data-access/{subAgentRelations.d.ts → manage/subAgentRelations.d.ts} +65 -65
  72. package/dist/data-access/{subAgentRelations.js → manage/subAgentRelations.js} +3 -3
  73. package/dist/data-access/{subAgentTeamAgentRelations.d.ts → manage/subAgentTeamAgentRelations.d.ts} +43 -43
  74. package/dist/data-access/{subAgentTeamAgentRelations.js → manage/subAgentTeamAgentRelations.js} +2 -2
  75. package/dist/data-access/{subAgents.d.ts → manage/subAgents.d.ts} +28 -28
  76. package/dist/data-access/{subAgents.js → manage/subAgents.js} +4 -4
  77. package/dist/data-access/{tools.d.ts → manage/tools.d.ts} +65 -52
  78. package/dist/data-access/{tools.js → manage/tools.js} +109 -64
  79. package/dist/data-access/manage/triggers.d.ts +106 -0
  80. package/dist/data-access/manage/triggers.js +81 -0
  81. package/dist/data-access/{apiKeys.d.ts → runtime/apiKeys.d.ts} +37 -37
  82. package/dist/data-access/{apiKeys.js → runtime/apiKeys.js} +3 -3
  83. package/dist/data-access/runtime/cascade-delete.d.ts +77 -0
  84. package/dist/data-access/runtime/cascade-delete.js +111 -0
  85. package/dist/data-access/{contextCache.d.ts → runtime/contextCache.d.ts} +13 -13
  86. package/dist/data-access/{contextCache.js → runtime/contextCache.js} +5 -5
  87. package/dist/data-access/{conversations.d.ts → runtime/conversations.d.ts} +80 -31
  88. package/dist/data-access/{conversations.js → runtime/conversations.js} +13 -7
  89. package/dist/data-access/runtime/evalRuns.d.ts +120 -0
  90. package/dist/data-access/runtime/evalRuns.js +168 -0
  91. package/dist/data-access/{ledgerArtifacts.d.ts → runtime/ledgerArtifacts.d.ts} +13 -13
  92. package/dist/data-access/{ledgerArtifacts.js → runtime/ledgerArtifacts.js} +3 -3
  93. package/dist/data-access/{messages.d.ts → runtime/messages.d.ts} +24 -24
  94. package/dist/data-access/{messages.js → runtime/messages.js} +2 -2
  95. package/dist/data-access/{organizations.d.ts → runtime/organizations.d.ts} +16 -7
  96. package/dist/data-access/{organizations.js → runtime/organizations.js} +16 -4
  97. package/dist/data-access/runtime/projects.d.ts +62 -0
  98. package/dist/data-access/runtime/projects.js +90 -0
  99. package/dist/data-access/runtime/tasks.d.ts +55 -0
  100. package/dist/data-access/{tasks.js → runtime/tasks.js} +2 -2
  101. package/dist/data-access/runtime/triggerInvocations.d.ts +62 -0
  102. package/dist/data-access/runtime/triggerInvocations.js +54 -0
  103. package/dist/data-access/runtime/users.d.ts +19 -0
  104. package/dist/data-access/{users.js → runtime/users.js} +2 -2
  105. package/dist/data-access/validation.d.ts +4 -4
  106. package/dist/data-access/validation.js +1 -1
  107. package/dist/db/clean.d.ts +8 -4
  108. package/dist/db/clean.js +14 -105
  109. package/dist/db/delete.d.ts +1 -1
  110. package/dist/db/delete.js +7 -10
  111. package/dist/db/manage/dolt-cleanup.d.ts +51 -0
  112. package/dist/db/manage/dolt-cleanup.js +132 -0
  113. package/dist/db/manage/manage-client.d.ts +26 -0
  114. package/dist/db/manage/manage-client.js +68 -0
  115. package/dist/db/{schema.d.ts → manage/manage-schema.d.ts} +1257 -969
  116. package/dist/db/{schema.js → manage/manage-schema.js} +436 -334
  117. package/dist/db/manage/test-manage-client.d.ts +27 -0
  118. package/dist/db/manage/test-manage-client.js +68 -0
  119. package/dist/db/runtime/runtime-client.d.ts +20 -0
  120. package/dist/db/runtime/runtime-client.js +30 -0
  121. package/dist/db/runtime/runtime-schema.d.ts +2834 -0
  122. package/dist/db/runtime/runtime-schema.js +483 -0
  123. package/dist/db/runtime/test-runtime-client.d.ts +27 -0
  124. package/dist/db/{test-client.js → runtime/test-runtime-client.js} +11 -25
  125. package/dist/db/utils.d.ts +6 -0
  126. package/dist/db/utils.js +42 -0
  127. package/dist/dolt/branch.d.ts +62 -0
  128. package/dist/dolt/branch.js +82 -0
  129. package/dist/dolt/branches-api.d.ts +108 -0
  130. package/dist/dolt/branches-api.js +162 -0
  131. package/dist/dolt/commit.d.ts +94 -0
  132. package/dist/dolt/commit.js +103 -0
  133. package/dist/dolt/diff.d.ts +27 -0
  134. package/dist/dolt/diff.js +21 -0
  135. package/dist/dolt/index.d.ts +10 -0
  136. package/dist/dolt/index.js +11 -0
  137. package/dist/dolt/merge.d.ts +63 -0
  138. package/dist/dolt/merge.js +81 -0
  139. package/dist/dolt/migrate-all-branches.d.ts +4 -0
  140. package/dist/dolt/migrate-all-branches.js +83 -0
  141. package/dist/dolt/migrate-dolt.d.ts +1 -0
  142. package/dist/dolt/migrate-dolt.js +25 -0
  143. package/dist/dolt/ref-helpers.d.ts +19 -0
  144. package/dist/dolt/ref-helpers.js +65 -0
  145. package/dist/dolt/ref-middleware.d.ts +82 -0
  146. package/dist/dolt/ref-middleware.js +217 -0
  147. package/dist/dolt/ref-scope.d.ts +101 -0
  148. package/dist/dolt/ref-scope.js +231 -0
  149. package/dist/dolt/schema-sync.d.ts +135 -0
  150. package/dist/dolt/schema-sync.js +255 -0
  151. package/dist/env.d.ts +6 -4
  152. package/dist/env.js +3 -2
  153. package/dist/index.d.ts +73 -46
  154. package/dist/index.js +76 -49
  155. package/dist/types/@napi-rs__keyring/index.d.ts +14 -0
  156. package/dist/types/entities.d.ts +81 -2
  157. package/dist/types/index.d.ts +3 -3
  158. package/dist/types/utility.d.ts +46 -5
  159. package/dist/types/utility.js +2 -1
  160. package/dist/utils/JsonTransformer.d.ts +42 -0
  161. package/dist/utils/JsonTransformer.js +103 -0
  162. package/dist/utils/apiKeys.d.ts +5 -1
  163. package/dist/utils/apiKeys.js +11 -1
  164. package/dist/utils/colors.d.ts +34 -0
  165. package/dist/utils/colors.js +49 -0
  166. package/dist/utils/credential-store-utils.d.ts +1 -1
  167. package/dist/utils/format-messages.d.ts +1 -1
  168. package/dist/utils/index.d.ts +8 -4
  169. package/dist/utils/index.js +8 -4
  170. package/dist/utils/internal-service-auth.d.ts +79 -0
  171. package/dist/utils/internal-service-auth.js +140 -0
  172. package/dist/utils/jmespath-utils.d.ts +152 -0
  173. package/dist/utils/jmespath-utils.js +213 -0
  174. package/dist/utils/jwt-helpers.d.ts +56 -0
  175. package/dist/utils/jwt-helpers.js +90 -0
  176. package/dist/utils/mcp-client.d.ts +1 -1
  177. package/dist/utils/mcp-client.js +1 -1
  178. package/dist/utils/service-token-auth.d.ts +9 -27
  179. package/dist/utils/service-token-auth.js +48 -96
  180. package/dist/utils/signature-validation.d.ts +2 -0
  181. package/dist/utils/signature-validation.js +3 -0
  182. package/dist/utils/template-interpolation.d.ts +22 -0
  183. package/dist/utils/template-interpolation.js +62 -0
  184. package/dist/utils/third-party-mcp-servers/composio-client.d.ts +13 -1
  185. package/dist/utils/third-party-mcp-servers/composio-client.js +47 -29
  186. package/dist/utils/third-party-mcp-servers/index.d.ts +2 -2
  187. package/dist/utils/third-party-mcp-servers/index.js +2 -2
  188. package/dist/utils/trigger-auth.d.ts +85 -0
  189. package/dist/utils/trigger-auth.js +233 -0
  190. package/dist/validation/agentFull.js +2 -4
  191. package/dist/validation/dolt-schemas.d.ts +49 -0
  192. package/dist/validation/dolt-schemas.js +44 -0
  193. package/dist/validation/drizzle-schema-helpers.d.ts +4 -26
  194. package/dist/validation/drizzle-schema-helpers.js +5 -151
  195. package/dist/validation/index.d.ts +5 -4
  196. package/dist/validation/index.js +4 -3
  197. package/dist/validation/render-validation.js +19 -0
  198. package/dist/validation/schemas.d.ts +18223 -5148
  199. package/dist/validation/schemas.js +559 -12
  200. package/dist/validation/stream-event-schemas.d.ts +96 -1
  201. package/dist/validation/stream-event-schemas.js +67 -2
  202. package/drizzle/manage/0000_tearful_rhodey.sql +414 -0
  203. package/drizzle/manage/0001_broken_wendell_vaughn.sql +19 -0
  204. package/drizzle/manage/0002_bent_sunfire.sql +1 -0
  205. package/drizzle/manage/0003_tiny_captain_universe.sql +8 -0
  206. package/drizzle/manage/0004_curious_phil_sheldon.sql +2 -0
  207. package/drizzle/manage/0005_silent_shatterstar.sql +53 -0
  208. package/drizzle/manage/meta/0000_snapshot.json +2987 -0
  209. package/drizzle/manage/meta/0001_snapshot.json +3115 -0
  210. package/drizzle/manage/meta/0002_snapshot.json +3115 -0
  211. package/drizzle/manage/meta/0003_snapshot.json +3134 -0
  212. package/drizzle/manage/meta/0004_snapshot.json +3141 -0
  213. package/drizzle/manage/meta/0005_snapshot.json +3141 -0
  214. package/drizzle/manage/meta/_journal.json +48 -0
  215. package/drizzle/runtime/0008_silly_preak.sql +127 -0
  216. package/drizzle/runtime/0009_freezing_leo.sql +17 -0
  217. package/drizzle/runtime/meta/0008_snapshot.json +2263 -0
  218. package/drizzle/runtime/meta/0009_snapshot.json +2397 -0
  219. package/drizzle/{meta → runtime/meta}/_journal.json +14 -0
  220. package/package.json +56 -18
  221. package/spicedb/schema.zed +114 -0
  222. package/dist/context/ContextFetcher.d.ts +0 -73
  223. package/dist/context/ContextFetcher.js +0 -291
  224. package/dist/context/ContextResolver.d.ts +0 -60
  225. package/dist/context/ContextResolver.js +0 -278
  226. package/dist/context/context.d.ts +0 -27
  227. package/dist/context/context.js +0 -128
  228. package/dist/context/contextCache.d.ts +0 -58
  229. package/dist/context/contextCache.js +0 -177
  230. package/dist/data-access/agentFull.d.ts +0 -33
  231. package/dist/data-access/functionTools.d.ts +0 -169
  232. package/dist/data-access/projectFull.d.ts +0 -32
  233. package/dist/data-access/projects.d.ts +0 -71
  234. package/dist/data-access/tasks.d.ts +0 -45
  235. package/dist/data-access/users.d.ts +0 -19
  236. package/dist/db/client.d.ts +0 -20
  237. package/dist/db/client.js +0 -28
  238. package/dist/db/test-client.d.ts +0 -31
  239. package/dist/middleware/contextValidation.d.ts +0 -46
  240. package/dist/middleware/contextValidation.js +0 -280
  241. package/dist/middleware/index.d.ts +0 -2
  242. package/dist/middleware/index.js +0 -3
  243. package/dist/utils/execution.d.ts +0 -22
  244. package/dist/utils/execution.js +0 -25
  245. /package/drizzle/{0000_exotic_mysterio.sql → runtime/0000_exotic_mysterio.sql} +0 -0
  246. /package/drizzle/{0001_calm_sheva_callister.sql → runtime/0001_calm_sheva_callister.sql} +0 -0
  247. /package/drizzle/{0002_puzzling_goblin_queen.sql → runtime/0002_puzzling_goblin_queen.sql} +0 -0
  248. /package/drizzle/{0003_sweet_human_robot.sql → runtime/0003_sweet_human_robot.sql} +0 -0
  249. /package/drizzle/{0004_cuddly_shooting_star.sql → runtime/0004_cuddly_shooting_star.sql} +0 -0
  250. /package/drizzle/{0005_reflective_starfox.sql → runtime/0005_reflective_starfox.sql} +0 -0
  251. /package/drizzle/{0006_stale_thaddeus_ross.sql → runtime/0006_stale_thaddeus_ross.sql} +0 -0
  252. /package/drizzle/{0007_slim_karma.sql → runtime/0007_slim_karma.sql} +0 -0
  253. /package/drizzle/{meta → runtime/meta}/0000_snapshot.json +0 -0
  254. /package/drizzle/{meta → runtime/meta}/0001_snapshot.json +0 -0
  255. /package/drizzle/{meta → runtime/meta}/0003_snapshot.json +0 -0
  256. /package/drizzle/{meta → runtime/meta}/0005_snapshot.json +0 -0
  257. /package/drizzle/{meta → runtime/meta}/0006_snapshot.json +0 -0
  258. /package/drizzle/{meta → runtime/meta}/0007_snapshot.json +0 -0
@@ -0,0 +1,275 @@
1
+ import { dataset, datasetItem, datasetRunConfig, datasetRunConfigAgentRelations, evaluationJobConfig, evaluationJobConfigEvaluatorRelations, evaluationRunConfig, evaluationRunConfigEvaluationSuiteConfigRelations, evaluationSuiteConfig, evaluationSuiteConfigEvaluatorRelations, evaluator } from "../../db/manage/manage-schema.js";
2
+ import { datasetRun } from "../../db/runtime/runtime-schema.js";
3
+ import { and, eq, inArray } from "drizzle-orm";
4
+
5
+ //#region src/data-access/manage/evalConfig.ts
6
+ const getDatasetById = (db) => async (params) => {
7
+ return (await db.select().from(dataset).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId), eq(dataset.id, params.scopes.datasetId))).limit(1))[0] ?? null;
8
+ };
9
+ const listDatasets = (db) => async (params) => {
10
+ return await db.select().from(dataset).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId)));
11
+ };
12
+ const createDataset = (db) => async (data) => {
13
+ const now = (/* @__PURE__ */ new Date()).toISOString();
14
+ const [created] = await db.insert(dataset).values({
15
+ ...data,
16
+ createdAt: now,
17
+ updatedAt: now
18
+ }).returning();
19
+ return created;
20
+ };
21
+ const updateDataset = (db) => async (params) => {
22
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
23
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
24
+ const [updated] = await db.update(dataset).set(updateData).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId), eq(dataset.id, params.scopes.datasetId))).returning();
25
+ return updated ?? null;
26
+ };
27
+ const deleteDataset = (db) => async (params) => {
28
+ return (await db.delete(dataset).where(and(eq(dataset.tenantId, params.scopes.tenantId), eq(dataset.projectId, params.scopes.projectId), eq(dataset.id, params.scopes.datasetId))).returning()).length > 0;
29
+ };
30
+ const getDatasetItemById = (db) => async (params) => {
31
+ return (await db.select().from(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.id, params.scopes.datasetItemId))).limit(1))[0] ?? null;
32
+ };
33
+ const listDatasetItems = (db) => async (params) => {
34
+ return await db.select().from(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.datasetId, params.scopes.datasetId)));
35
+ };
36
+ const createDatasetItem = (db) => async (data) => {
37
+ const now = (/* @__PURE__ */ new Date()).toISOString();
38
+ const [created] = await db.insert(datasetItem).values({
39
+ ...data,
40
+ createdAt: now,
41
+ updatedAt: now
42
+ }).returning();
43
+ return created;
44
+ };
45
+ const createDatasetItems = (db) => async (data) => {
46
+ const now = (/* @__PURE__ */ new Date()).toISOString();
47
+ const values = data.map((item) => ({
48
+ ...item,
49
+ createdAt: now,
50
+ updatedAt: now
51
+ }));
52
+ return await db.insert(datasetItem).values(values).returning();
53
+ };
54
+ const updateDatasetItem = (db) => async (params) => {
55
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
56
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
57
+ const [updated] = await db.update(datasetItem).set(updateData).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.id, params.scopes.datasetItemId))).returning();
58
+ return updated ?? null;
59
+ };
60
+ const deleteDatasetItem = (db) => async (params) => {
61
+ return (await db.delete(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.id, params.scopes.datasetItemId))).returning()).length > 0;
62
+ };
63
+ const deleteDatasetItemsByDataset = (db) => async (params) => {
64
+ return (await db.delete(datasetItem).where(and(eq(datasetItem.tenantId, params.scopes.tenantId), eq(datasetItem.projectId, params.scopes.projectId), eq(datasetItem.datasetId, params.scopes.datasetId))).returning()).length;
65
+ };
66
+ const getDatasetRunConfigById = (db) => async (params) => {
67
+ return (await db.select().from(datasetRunConfig).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId), eq(datasetRunConfig.id, params.scopes.datasetRunConfigId))).limit(1))[0] ?? null;
68
+ };
69
+ const listDatasetRunConfigs = (db) => async (params) => {
70
+ return await db.select().from(datasetRunConfig).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId)));
71
+ };
72
+ const createDatasetRunConfig = (db) => async (data) => {
73
+ const now = (/* @__PURE__ */ new Date()).toISOString();
74
+ const [created] = await db.insert(datasetRunConfig).values({
75
+ ...data,
76
+ createdAt: now,
77
+ updatedAt: now
78
+ }).returning();
79
+ return created;
80
+ };
81
+ const updateDatasetRunConfig = (db) => async (params) => {
82
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
83
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
84
+ const [updated] = await db.update(datasetRunConfig).set(updateData).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId), eq(datasetRunConfig.id, params.scopes.datasetRunConfigId))).returning();
85
+ return updated ?? null;
86
+ };
87
+ const deleteDatasetRunConfig = (db) => async (params) => {
88
+ return (await db.delete(datasetRunConfig).where(and(eq(datasetRunConfig.tenantId, params.scopes.tenantId), eq(datasetRunConfig.projectId, params.scopes.projectId), eq(datasetRunConfig.id, params.scopes.datasetRunConfigId))).returning()).length > 0;
89
+ };
90
+ const getDatasetRunConfigAgentRelations = (db) => async (params) => {
91
+ return await db.select().from(datasetRunConfigAgentRelations).where(and(eq(datasetRunConfigAgentRelations.tenantId, params.scopes.tenantId), eq(datasetRunConfigAgentRelations.projectId, params.scopes.projectId), eq(datasetRunConfigAgentRelations.datasetRunConfigId, params.scopes.datasetRunConfigId)));
92
+ };
93
+ const createDatasetRunConfigAgentRelation = (db) => async (data) => {
94
+ const now = (/* @__PURE__ */ new Date()).toISOString();
95
+ const [created] = await db.insert(datasetRunConfigAgentRelations).values({
96
+ ...data,
97
+ createdAt: now,
98
+ updatedAt: now
99
+ }).returning();
100
+ return created;
101
+ };
102
+ const deleteDatasetRunConfigAgentRelation = (db) => async (params) => {
103
+ return (await db.delete(datasetRunConfigAgentRelations).where(and(eq(datasetRunConfigAgentRelations.tenantId, params.scopes.tenantId), eq(datasetRunConfigAgentRelations.projectId, params.scopes.projectId), eq(datasetRunConfigAgentRelations.datasetRunConfigId, params.scopes.datasetRunConfigId), eq(datasetRunConfigAgentRelations.agentId, params.scopes.agentId))).returning()).length > 0;
104
+ };
105
+ const getEvaluatorById = (db) => async (params) => {
106
+ return (await db.select().from(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), eq(evaluator.id, params.scopes.evaluatorId))).limit(1))[0] ?? null;
107
+ };
108
+ const listEvaluators = (db) => async (params) => {
109
+ return await db.select().from(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId)));
110
+ };
111
+ const getEvaluatorsByIds = (db) => async (params) => {
112
+ if (params.evaluatorIds.length === 0) return [];
113
+ return await db.select().from(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), inArray(evaluator.id, params.evaluatorIds)));
114
+ };
115
+ const createEvaluator = (db) => async (data) => {
116
+ const now = (/* @__PURE__ */ new Date()).toISOString();
117
+ const [created] = await db.insert(evaluator).values({
118
+ ...data,
119
+ createdAt: now,
120
+ updatedAt: now
121
+ }).returning();
122
+ return created;
123
+ };
124
+ const updateEvaluator = (db) => async (params) => {
125
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
126
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
127
+ const [updated] = await db.update(evaluator).set(updateData).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), eq(evaluator.id, params.scopes.evaluatorId))).returning();
128
+ return updated ?? null;
129
+ };
130
+ const deleteEvaluator = (db) => async (params) => {
131
+ return (await db.delete(evaluator).where(and(eq(evaluator.tenantId, params.scopes.tenantId), eq(evaluator.projectId, params.scopes.projectId), eq(evaluator.id, params.scopes.evaluatorId))).returning()).length > 0;
132
+ };
133
+ const getEvaluationSuiteConfigById = (db) => async (params) => {
134
+ return (await db.select().from(evaluationSuiteConfig).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId), eq(evaluationSuiteConfig.id, params.scopes.evaluationSuiteConfigId))).limit(1))[0] ?? null;
135
+ };
136
+ const listEvaluationSuiteConfigs = (db) => async (params) => {
137
+ return await db.select().from(evaluationSuiteConfig).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId)));
138
+ };
139
+ const createEvaluationSuiteConfig = (db) => async (data) => {
140
+ const now = (/* @__PURE__ */ new Date()).toISOString();
141
+ const [created] = await db.insert(evaluationSuiteConfig).values({
142
+ ...data,
143
+ createdAt: now,
144
+ updatedAt: now
145
+ }).returning();
146
+ return created;
147
+ };
148
+ const updateEvaluationSuiteConfig = (db) => async (params) => {
149
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
150
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
151
+ const [updated] = await db.update(evaluationSuiteConfig).set(updateData).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId), eq(evaluationSuiteConfig.id, params.scopes.evaluationSuiteConfigId))).returning();
152
+ return updated ?? null;
153
+ };
154
+ const deleteEvaluationSuiteConfig = (db) => async (params) => {
155
+ return (await db.delete(evaluationSuiteConfig).where(and(eq(evaluationSuiteConfig.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfig.projectId, params.scopes.projectId), eq(evaluationSuiteConfig.id, params.scopes.evaluationSuiteConfigId))).returning()).length > 0;
156
+ };
157
+ const getEvaluationSuiteConfigEvaluatorRelations = (db) => async (params) => {
158
+ return await db.select().from(evaluationSuiteConfigEvaluatorRelations).where(and(eq(evaluationSuiteConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationSuiteConfigEvaluatorRelations.evaluationSuiteConfigId, params.scopes.evaluationSuiteConfigId)));
159
+ };
160
+ const createEvaluationSuiteConfigEvaluatorRelation = (db) => async (data) => {
161
+ const now = (/* @__PURE__ */ new Date()).toISOString();
162
+ const [created] = await db.insert(evaluationSuiteConfigEvaluatorRelations).values({
163
+ ...data,
164
+ createdAt: now,
165
+ updatedAt: now
166
+ }).returning();
167
+ return created;
168
+ };
169
+ const deleteEvaluationSuiteConfigEvaluatorRelation = (db) => async (params) => {
170
+ return (await db.delete(evaluationSuiteConfigEvaluatorRelations).where(and(eq(evaluationSuiteConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationSuiteConfigEvaluatorRelations.evaluationSuiteConfigId, params.scopes.evaluationSuiteConfigId), eq(evaluationSuiteConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length > 0;
171
+ };
172
+ const deleteEvaluationSuiteConfigEvaluatorRelationsByEvaluator = (db) => async (params) => {
173
+ return (await db.delete(evaluationSuiteConfigEvaluatorRelations).where(and(eq(evaluationSuiteConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationSuiteConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationSuiteConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length;
174
+ };
175
+ const getEvaluationRunConfigById = (db) => async (params) => {
176
+ return (await db.select().from(evaluationRunConfig).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId), eq(evaluationRunConfig.id, params.scopes.evaluationRunConfigId))).limit(1))[0] ?? null;
177
+ };
178
+ const listEvaluationRunConfigs = (db) => async (params) => {
179
+ return await db.select().from(evaluationRunConfig).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId)));
180
+ };
181
+ const listEvaluationRunConfigsWithSuiteConfigs = (db) => async (params) => {
182
+ const rows = await db.select({
183
+ runConfig: evaluationRunConfig,
184
+ suiteConfigId: evaluationRunConfigEvaluationSuiteConfigRelations.evaluationSuiteConfigId
185
+ }).from(evaluationRunConfig).leftJoin(evaluationRunConfigEvaluationSuiteConfigRelations, and(eq(evaluationRunConfigEvaluationSuiteConfigRelations.tenantId, evaluationRunConfig.tenantId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.projectId, evaluationRunConfig.projectId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationRunConfigId, evaluationRunConfig.id))).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId)));
186
+ const runConfigsById = /* @__PURE__ */ new Map();
187
+ for (const row of rows) {
188
+ const runConfig = row.runConfig;
189
+ const runConfigId = runConfig.id;
190
+ if (!runConfigsById.has(runConfigId)) {
191
+ const { tenantId: _tenantId, projectId: _projectId, ...apiRunConfig } = runConfig;
192
+ runConfigsById.set(runConfigId, {
193
+ ...apiRunConfig,
194
+ suiteConfigIds: []
195
+ });
196
+ }
197
+ if (row.suiteConfigId) runConfigsById.get(runConfigId)?.suiteConfigIds.push(row.suiteConfigId);
198
+ }
199
+ return Array.from(runConfigsById.values());
200
+ };
201
+ const createEvaluationRunConfig = (db) => async (data) => {
202
+ const now = (/* @__PURE__ */ new Date()).toISOString();
203
+ const [created] = await db.insert(evaluationRunConfig).values({
204
+ ...data,
205
+ createdAt: now,
206
+ updatedAt: now
207
+ }).returning();
208
+ return created;
209
+ };
210
+ const updateEvaluationRunConfig = (db) => async (params) => {
211
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
212
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
213
+ const [updated] = await db.update(evaluationRunConfig).set(updateData).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId), eq(evaluationRunConfig.id, params.scopes.evaluationRunConfigId))).returning();
214
+ return updated ?? null;
215
+ };
216
+ const deleteEvaluationRunConfig = (db) => async (params) => {
217
+ return (await db.delete(evaluationRunConfig).where(and(eq(evaluationRunConfig.tenantId, params.scopes.tenantId), eq(evaluationRunConfig.projectId, params.scopes.projectId), eq(evaluationRunConfig.id, params.scopes.evaluationRunConfigId))).returning()).length > 0;
218
+ };
219
+ const getEvaluationRunConfigEvaluationSuiteConfigRelations = (db) => async (params) => {
220
+ return await db.select().from(evaluationRunConfigEvaluationSuiteConfigRelations).where(and(eq(evaluationRunConfigEvaluationSuiteConfigRelations.tenantId, params.scopes.tenantId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.projectId, params.scopes.projectId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationRunConfigId, params.scopes.evaluationRunConfigId)));
221
+ };
222
+ const createEvaluationRunConfigEvaluationSuiteConfigRelation = (db) => async (data) => {
223
+ const now = (/* @__PURE__ */ new Date()).toISOString();
224
+ const [created] = await db.insert(evaluationRunConfigEvaluationSuiteConfigRelations).values({
225
+ ...data,
226
+ createdAt: now,
227
+ updatedAt: now
228
+ }).returning();
229
+ return created;
230
+ };
231
+ const deleteEvaluationRunConfigEvaluationSuiteConfigRelation = (db) => async (params) => {
232
+ return (await db.delete(evaluationRunConfigEvaluationSuiteConfigRelations).where(and(eq(evaluationRunConfigEvaluationSuiteConfigRelations.tenantId, params.scopes.tenantId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.projectId, params.scopes.projectId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationRunConfigId, params.scopes.evaluationRunConfigId), eq(evaluationRunConfigEvaluationSuiteConfigRelations.evaluationSuiteConfigId, params.scopes.evaluationSuiteConfigId))).returning()).length > 0;
233
+ };
234
+ const getEvaluationJobConfigById = (db) => async (params) => {
235
+ return (await db.select().from(evaluationJobConfig).where(and(eq(evaluationJobConfig.tenantId, params.scopes.tenantId), eq(evaluationJobConfig.projectId, params.scopes.projectId), eq(evaluationJobConfig.id, params.scopes.evaluationJobConfigId))).limit(1))[0] ?? null;
236
+ };
237
+ const listEvaluationJobConfigs = (db) => async (params) => {
238
+ return await db.select().from(evaluationJobConfig).where(and(eq(evaluationJobConfig.tenantId, params.scopes.tenantId), eq(evaluationJobConfig.projectId, params.scopes.projectId)));
239
+ };
240
+ const createEvaluationJobConfig = (db) => async (data) => {
241
+ const now = (/* @__PURE__ */ new Date()).toISOString();
242
+ const [created] = await db.insert(evaluationJobConfig).values({
243
+ ...data,
244
+ createdAt: now,
245
+ updatedAt: now
246
+ }).returning();
247
+ return created;
248
+ };
249
+ const deleteEvaluationJobConfig = (db) => async (params) => {
250
+ return (await db.delete(evaluationJobConfig).where(and(eq(evaluationJobConfig.tenantId, params.scopes.tenantId), eq(evaluationJobConfig.projectId, params.scopes.projectId), eq(evaluationJobConfig.id, params.scopes.evaluationJobConfigId))).returning()).length > 0;
251
+ };
252
+ const getEvaluationJobConfigEvaluatorRelations = (db) => async (params) => {
253
+ return await db.select().from(evaluationJobConfigEvaluatorRelations).where(and(eq(evaluationJobConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationJobConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationJobConfigEvaluatorRelations.evaluationJobConfigId, params.scopes.evaluationJobConfigId)));
254
+ };
255
+ const createEvaluationJobConfigEvaluatorRelation = (db) => async (data) => {
256
+ const now = (/* @__PURE__ */ new Date()).toISOString();
257
+ const [created] = await db.insert(evaluationJobConfigEvaluatorRelations).values({
258
+ ...data,
259
+ createdAt: now,
260
+ updatedAt: now
261
+ }).returning();
262
+ return created;
263
+ };
264
+ const deleteEvaluationJobConfigEvaluatorRelation = (db) => async (params) => {
265
+ return (await db.delete(evaluationJobConfigEvaluatorRelations).where(and(eq(evaluationJobConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationJobConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationJobConfigEvaluatorRelations.evaluationJobConfigId, params.scopes.evaluationJobConfigId), eq(evaluationJobConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length > 0;
266
+ };
267
+ const deleteEvaluationJobConfigEvaluatorRelationsByEvaluator = (db) => async (params) => {
268
+ return (await db.delete(evaluationJobConfigEvaluatorRelations).where(and(eq(evaluationJobConfigEvaluatorRelations.tenantId, params.scopes.tenantId), eq(evaluationJobConfigEvaluatorRelations.projectId, params.scopes.projectId), eq(evaluationJobConfigEvaluatorRelations.evaluatorId, params.scopes.evaluatorId))).returning()).length;
269
+ };
270
+ const linkDatasetRunToEvaluationJobConfig = (db) => async (params) => {
271
+ await db.update(datasetRun).set({ evaluationJobConfigId: params.evaluationJobConfigId }).where(and(eq(datasetRun.tenantId, params.scopes.tenantId), eq(datasetRun.projectId, params.scopes.projectId), eq(datasetRun.id, params.scopes.datasetRunId)));
272
+ };
273
+
274
+ //#endregion
275
+ export { createDataset, createDatasetItem, createDatasetItems, createDatasetRunConfig, createDatasetRunConfigAgentRelation, createEvaluationJobConfig, createEvaluationJobConfigEvaluatorRelation, createEvaluationRunConfig, createEvaluationRunConfigEvaluationSuiteConfigRelation, createEvaluationSuiteConfig, createEvaluationSuiteConfigEvaluatorRelation, createEvaluator, deleteDataset, deleteDatasetItem, deleteDatasetItemsByDataset, deleteDatasetRunConfig, deleteDatasetRunConfigAgentRelation, deleteEvaluationJobConfig, deleteEvaluationJobConfigEvaluatorRelation, deleteEvaluationJobConfigEvaluatorRelationsByEvaluator, deleteEvaluationRunConfig, deleteEvaluationRunConfigEvaluationSuiteConfigRelation, deleteEvaluationSuiteConfig, deleteEvaluationSuiteConfigEvaluatorRelation, deleteEvaluationSuiteConfigEvaluatorRelationsByEvaluator, deleteEvaluator, getDatasetById, getDatasetItemById, getDatasetRunConfigAgentRelations, getDatasetRunConfigById, getEvaluationJobConfigById, getEvaluationJobConfigEvaluatorRelations, getEvaluationRunConfigById, getEvaluationRunConfigEvaluationSuiteConfigRelations, getEvaluationSuiteConfigById, getEvaluationSuiteConfigEvaluatorRelations, getEvaluatorById, getEvaluatorsByIds, linkDatasetRunToEvaluationJobConfig, listDatasetItems, listDatasetRunConfigs, listDatasets, listEvaluationJobConfigs, listEvaluationRunConfigs, listEvaluationRunConfigsWithSuiteConfigs, listEvaluationSuiteConfigs, listEvaluators, updateDataset, updateDatasetItem, updateDatasetRunConfig, updateEvaluationRunConfig, updateEvaluationSuiteConfig, updateEvaluator };
@@ -1,37 +1,37 @@
1
- import { ExternalAgentInsert, ExternalAgentSelect, ExternalAgentUpdate } from "../types/entities.js";
2
- import "../types/index.js";
3
- import { PaginationConfig, ProjectScopeConfig } from "../types/utility.js";
4
- import { DatabaseClient } from "../db/client.js";
1
+ import { PaginationConfig, ProjectScopeConfig } from "../../types/utility.js";
2
+ import "../../types/index.js";
3
+ import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
4
+ import { ExternalAgentInsert, ExternalAgentSelect, ExternalAgentUpdate } from "../../types/entities.js";
5
5
 
6
- //#region src/data-access/externalAgents.d.ts
6
+ //#region src/data-access/manage/externalAgents.d.ts
7
7
  /**
8
8
  * Create a new external agent
9
9
  */
10
- declare const createExternalAgent: (db: DatabaseClient) => (params: ExternalAgentInsert) => Promise<ExternalAgentSelect>;
10
+ declare const createExternalAgent: (db: AgentsManageDatabaseClient) => (params: ExternalAgentInsert) => Promise<ExternalAgentSelect>;
11
11
  /**
12
12
  * Get external agent by ID
13
13
  */
14
- declare const getExternalAgent: (db: DatabaseClient) => (params: {
14
+ declare const getExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
15
15
  scopes: ProjectScopeConfig;
16
16
  externalAgentId: string;
17
17
  }) => Promise<ExternalAgentSelect | null>;
18
18
  /**
19
19
  * Get external agent by base URL
20
20
  */
21
- declare const getExternalAgentByUrl: (db: DatabaseClient) => (params: {
21
+ declare const getExternalAgentByUrl: (db: AgentsManageDatabaseClient) => (params: {
22
22
  scopes: ProjectScopeConfig;
23
23
  baseUrl: string;
24
24
  }) => Promise<ExternalAgentSelect | null>;
25
25
  /**
26
26
  * List external agents for a project
27
27
  */
28
- declare const listExternalAgents: (db: DatabaseClient) => (params: {
28
+ declare const listExternalAgents: (db: AgentsManageDatabaseClient) => (params: {
29
29
  scopes: ProjectScopeConfig;
30
30
  }) => Promise<ExternalAgentSelect[]>;
31
31
  /**
32
32
  * List external agents with pagination
33
33
  */
34
- declare const listExternalAgentsPaginated: (db: DatabaseClient) => (params: {
34
+ declare const listExternalAgentsPaginated: (db: AgentsManageDatabaseClient) => (params: {
35
35
  scopes: ProjectScopeConfig;
36
36
  pagination?: PaginationConfig;
37
37
  }) => Promise<{
@@ -46,7 +46,7 @@ declare const listExternalAgentsPaginated: (db: DatabaseClient) => (params: {
46
46
  /**
47
47
  * Update an existing external agent
48
48
  */
49
- declare const updateExternalAgent: (db: DatabaseClient) => (params: {
49
+ declare const updateExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
50
50
  scopes: ProjectScopeConfig;
51
51
  externalAgentId: string;
52
52
  data: Partial<ExternalAgentUpdate>;
@@ -54,34 +54,34 @@ declare const updateExternalAgent: (db: DatabaseClient) => (params: {
54
54
  /**
55
55
  * Upsert external agent (create if it doesn't exist, update if it does)
56
56
  */
57
- declare const upsertExternalAgent: (db: DatabaseClient) => (params: {
57
+ declare const upsertExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
58
58
  data: ExternalAgentInsert;
59
59
  }) => Promise<ExternalAgentSelect>;
60
60
  /**
61
61
  * Delete an external agent
62
62
  */
63
- declare const deleteExternalAgent: (db: DatabaseClient) => (params: {
63
+ declare const deleteExternalAgent: (db: AgentsManageDatabaseClient) => (params: {
64
64
  scopes: ProjectScopeConfig;
65
65
  externalAgentId: string;
66
66
  }) => Promise<boolean>;
67
67
  /**
68
68
  * Check if an external agent exists
69
69
  */
70
- declare const externalAgentExists: (db: DatabaseClient) => (params: {
70
+ declare const externalAgentExists: (db: AgentsManageDatabaseClient) => (params: {
71
71
  scopes: ProjectScopeConfig;
72
72
  externalAgentId: string;
73
73
  }) => Promise<boolean>;
74
74
  /**
75
75
  * Check if an external agent exists by URL
76
76
  */
77
- declare const externalAgentUrlExists: (db: DatabaseClient) => (params: {
77
+ declare const externalAgentUrlExists: (db: AgentsManageDatabaseClient) => (params: {
78
78
  scopes: ProjectScopeConfig;
79
79
  baseUrl: string;
80
80
  }) => Promise<boolean>;
81
81
  /**
82
82
  * Count external agents for a project
83
83
  */
84
- declare const countExternalAgents: (db: DatabaseClient) => (params: {
84
+ declare const countExternalAgents: (db: AgentsManageDatabaseClient) => (params: {
85
85
  scopes: ProjectScopeConfig;
86
86
  }) => Promise<number>;
87
87
  //#endregion
@@ -1,7 +1,7 @@
1
- import { externalAgents } from "../db/schema.js";
1
+ import { externalAgents } from "../../db/manage/manage-schema.js";
2
2
  import { and, asc, count, desc, eq } from "drizzle-orm";
3
3
 
4
- //#region src/data-access/externalAgents.ts
4
+ //#region src/data-access/manage/externalAgents.ts
5
5
  /**
6
6
  * Create a new external agent
7
7
  */
@@ -0,0 +1,242 @@
1
+ import { AgentScopeConfig, PaginationConfig } from "../../types/utility.js";
2
+ import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
3
+ import { FunctionToolApiInsert, FunctionToolApiUpdate } from "../../types/entities.js";
4
+
5
+ //#region src/data-access/manage/functionTools.d.ts
6
+
7
+ /**
8
+ * Get a function tool by ID (agent-scoped)
9
+ */
10
+ declare const getFunctionToolById: (db: AgentsManageDatabaseClient) => (params: {
11
+ scopes: AgentScopeConfig;
12
+ functionToolId: string;
13
+ }) => Promise<{
14
+ createdAt: string;
15
+ updatedAt: string;
16
+ name: string;
17
+ description: string | null;
18
+ functionId: string;
19
+ agentId: string;
20
+ projectId: string;
21
+ tenantId: string;
22
+ id: string;
23
+ }>;
24
+ /**
25
+ * List function tools (agent-scoped)
26
+ */
27
+ declare const listFunctionTools: (db: AgentsManageDatabaseClient) => (params: {
28
+ scopes: AgentScopeConfig;
29
+ pagination?: PaginationConfig;
30
+ }) => Promise<{
31
+ data: {
32
+ createdAt: string;
33
+ updatedAt: string;
34
+ name: string;
35
+ description: string | null;
36
+ functionId: string;
37
+ agentId: string;
38
+ projectId: string;
39
+ tenantId: string;
40
+ id: string;
41
+ }[];
42
+ pagination: {
43
+ page: number;
44
+ limit: number;
45
+ total: number;
46
+ pages: number;
47
+ };
48
+ }>;
49
+ /**
50
+ * Create a function tool (agent-scoped)
51
+ */
52
+ declare const createFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
53
+ data: FunctionToolApiInsert;
54
+ scopes: AgentScopeConfig;
55
+ }) => Promise<{
56
+ id: string;
57
+ name: string;
58
+ createdAt: string;
59
+ updatedAt: string;
60
+ description: string | null;
61
+ tenantId: string;
62
+ agentId: string;
63
+ projectId: string;
64
+ functionId: string;
65
+ }>;
66
+ /**
67
+ * Update a function tool (agent-scoped)
68
+ */
69
+ declare const updateFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
70
+ scopes: AgentScopeConfig;
71
+ functionToolId: string;
72
+ data: FunctionToolApiUpdate;
73
+ }) => Promise<{
74
+ createdAt: string;
75
+ updatedAt: string;
76
+ name: string;
77
+ description: string | null;
78
+ functionId: string;
79
+ agentId: string;
80
+ projectId: string;
81
+ tenantId: string;
82
+ id: string;
83
+ }>;
84
+ /**
85
+ * Delete a function tool (agent-scoped)
86
+ */
87
+ declare const deleteFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
88
+ scopes: AgentScopeConfig;
89
+ functionToolId: string;
90
+ }) => Promise<boolean>;
91
+ /**
92
+ * Upsert a function tool (create if it doesn't exist, update if it does)
93
+ */
94
+ declare const upsertFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
95
+ data: FunctionToolApiInsert;
96
+ scopes: AgentScopeConfig;
97
+ }) => Promise<{
98
+ id: string;
99
+ name: string;
100
+ createdAt: string;
101
+ updatedAt: string;
102
+ description: string | null;
103
+ tenantId: string;
104
+ agentId: string;
105
+ projectId: string;
106
+ functionId: string;
107
+ }>;
108
+ declare const getFunctionToolsForSubAgent: (db: AgentsManageDatabaseClient) => (params: {
109
+ scopes: {
110
+ tenantId: string;
111
+ projectId: string;
112
+ agentId: string;
113
+ };
114
+ subAgentId: string;
115
+ pagination?: PaginationConfig;
116
+ }) => Promise<{
117
+ data: {
118
+ id: string;
119
+ name: string;
120
+ description: string | null;
121
+ functionId: string;
122
+ createdAt: string;
123
+ updatedAt: string;
124
+ tenantId: string;
125
+ projectId: string;
126
+ agentId: string;
127
+ relationshipId: string;
128
+ toolPolicies: Record<string, {
129
+ needsApproval?: boolean;
130
+ }> | null;
131
+ }[];
132
+ pagination: {
133
+ page: number;
134
+ limit: number;
135
+ total: number;
136
+ pages: number;
137
+ };
138
+ }>;
139
+ /**
140
+ * Upsert a sub_agent-function tool relation (create if it doesn't exist, update if it does)
141
+ */
142
+ declare const upsertSubAgentFunctionToolRelation: (db: AgentsManageDatabaseClient) => (params: {
143
+ scopes: AgentScopeConfig;
144
+ subAgentId: string;
145
+ functionToolId: string;
146
+ toolPolicies?: Record<string, {
147
+ needsApproval?: boolean;
148
+ }> | null;
149
+ relationId?: string;
150
+ }) => Promise<{
151
+ id: string;
152
+ }>;
153
+ /**
154
+ * Add a function tool to an agent
155
+ */
156
+ declare const addFunctionToolToSubAgent: (db: AgentsManageDatabaseClient) => (params: {
157
+ scopes: AgentScopeConfig;
158
+ subAgentId: string;
159
+ functionToolId: string;
160
+ toolPolicies?: Record<string, {
161
+ needsApproval?: boolean;
162
+ }> | null;
163
+ }) => Promise<{
164
+ id: string;
165
+ createdAt: string;
166
+ updatedAt: string;
167
+ tenantId: string;
168
+ agentId: string;
169
+ projectId: string;
170
+ subAgentId: string;
171
+ toolPolicies: Record<string, {
172
+ needsApproval?: boolean;
173
+ }> | null;
174
+ functionToolId: string;
175
+ }>;
176
+ /**
177
+ * Update an agent-function tool relation
178
+ */
179
+ declare const updateSubAgentFunctionToolRelation: (db: AgentsManageDatabaseClient) => (params: {
180
+ scopes: AgentScopeConfig;
181
+ relationId: string;
182
+ data: {
183
+ subAgentId: string;
184
+ functionToolId: string;
185
+ toolPolicies?: Record<string, {
186
+ needsApproval?: boolean;
187
+ }> | null;
188
+ };
189
+ }) => Promise<{
190
+ id: string;
191
+ }>;
192
+ /**
193
+ * Get all sub-agents that use a specific function tool
194
+ */
195
+ declare const getSubAgentsUsingFunctionTool: (db: AgentsManageDatabaseClient) => (params: {
196
+ scopes: AgentScopeConfig;
197
+ functionToolId: string;
198
+ }) => Promise<{
199
+ subAgentId: string;
200
+ createdAt: string;
201
+ }[]>;
202
+ /**
203
+ * Remove a function tool from a sub-agent
204
+ */
205
+ declare const removeFunctionToolFromSubAgent: (db: AgentsManageDatabaseClient) => (params: {
206
+ scopes: AgentScopeConfig;
207
+ subAgentId: string;
208
+ functionToolId: string;
209
+ }) => Promise<boolean>;
210
+ /**
211
+ * Check if a function tool is associated with a sub-agent
212
+ */
213
+ declare const isFunctionToolAssociatedWithSubAgent: (db: AgentsManageDatabaseClient) => (params: {
214
+ scopes: AgentScopeConfig;
215
+ subAgentId: string;
216
+ functionToolId: string;
217
+ }) => Promise<boolean>;
218
+ /**
219
+ * Associate a function tool with a sub-agent (alias for addFunctionToolToSubAgent)
220
+ */
221
+ declare const associateFunctionToolWithSubAgent: (db: AgentsManageDatabaseClient) => (params: {
222
+ scopes: AgentScopeConfig;
223
+ subAgentId: string;
224
+ functionToolId: string;
225
+ toolPolicies?: Record<string, {
226
+ needsApproval?: boolean;
227
+ }> | null;
228
+ }) => Promise<{
229
+ id: string;
230
+ createdAt: string;
231
+ updatedAt: string;
232
+ tenantId: string;
233
+ agentId: string;
234
+ projectId: string;
235
+ subAgentId: string;
236
+ toolPolicies: Record<string, {
237
+ needsApproval?: boolean;
238
+ }> | null;
239
+ functionToolId: string;
240
+ }>;
241
+ //#endregion
242
+ export { addFunctionToolToSubAgent, associateFunctionToolWithSubAgent, createFunctionTool, deleteFunctionTool, getFunctionToolById, getFunctionToolsForSubAgent, getSubAgentsUsingFunctionTool, isFunctionToolAssociatedWithSubAgent, listFunctionTools, removeFunctionToolFromSubAgent, updateFunctionTool, updateSubAgentFunctionToolRelation, upsertFunctionTool, upsertSubAgentFunctionToolRelation };