@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,120 @@
1
+ import { EvaluationJobFilterCriteria, Filter, ProjectScopeConfig } from "../../types/utility.js";
2
+ import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
3
+ import { ConversationSelect, DatasetRunConversationRelationInsert, DatasetRunConversationRelationSelect, DatasetRunInsert, DatasetRunSelect, EvaluationResultInsert, EvaluationResultSelect, EvaluationResultUpdate, EvaluationRunInsert, EvaluationRunSelect, EvaluationRunUpdate } from "../../types/entities.js";
4
+
5
+ //#region src/data-access/runtime/evalRuns.d.ts
6
+ declare const getDatasetRunById: (db: AgentsRunDatabaseClient) => (params: {
7
+ scopes: ProjectScopeConfig & {
8
+ datasetRunId: string;
9
+ };
10
+ }) => Promise<DatasetRunSelect | null>;
11
+ declare const listDatasetRuns: (db: AgentsRunDatabaseClient) => (params: {
12
+ scopes: ProjectScopeConfig;
13
+ }) => Promise<DatasetRunSelect[]>;
14
+ declare const listDatasetRunsByConfig: (db: AgentsRunDatabaseClient) => (params: {
15
+ scopes: ProjectScopeConfig & {
16
+ datasetRunConfigId: string;
17
+ };
18
+ }) => Promise<DatasetRunSelect[]>;
19
+ declare const createDatasetRun: (db: AgentsRunDatabaseClient) => (data: DatasetRunInsert) => Promise<DatasetRunSelect>;
20
+ declare const deleteDatasetRun: (db: AgentsRunDatabaseClient) => (params: {
21
+ scopes: ProjectScopeConfig & {
22
+ datasetRunId: string;
23
+ };
24
+ }) => Promise<boolean>;
25
+ declare const getDatasetRunConversationRelations: (db: AgentsRunDatabaseClient) => (params: {
26
+ scopes: ProjectScopeConfig & {
27
+ datasetRunId: string;
28
+ };
29
+ }) => Promise<DatasetRunConversationRelationSelect[]>;
30
+ declare const createDatasetRunConversationRelation: (db: AgentsRunDatabaseClient) => (data: DatasetRunConversationRelationInsert) => Promise<DatasetRunConversationRelationSelect>;
31
+ declare const createDatasetRunConversationRelations: (db: AgentsRunDatabaseClient) => (data: DatasetRunConversationRelationInsert[]) => Promise<DatasetRunConversationRelationSelect[]>;
32
+ declare const deleteDatasetRunConversationRelation: (db: AgentsRunDatabaseClient) => (params: {
33
+ scopes: ProjectScopeConfig & {
34
+ datasetRunId: string;
35
+ conversationId: string;
36
+ };
37
+ }) => Promise<boolean>;
38
+ declare const deleteDatasetRunConversationRelationsByRun: (db: AgentsRunDatabaseClient) => (params: {
39
+ scopes: ProjectScopeConfig & {
40
+ datasetRunId: string;
41
+ };
42
+ }) => Promise<number>;
43
+ declare const getDatasetRunConversationRelationByConversation: (db: AgentsRunDatabaseClient) => (params: {
44
+ scopes: ProjectScopeConfig & {
45
+ conversationId: string;
46
+ };
47
+ }) => Promise<DatasetRunConversationRelationSelect | null>;
48
+ declare const getEvaluationRunById: (db: AgentsRunDatabaseClient) => (params: {
49
+ scopes: ProjectScopeConfig & {
50
+ evaluationRunId: string;
51
+ };
52
+ }) => Promise<EvaluationRunSelect | null>;
53
+ declare const listEvaluationRuns: (db: AgentsRunDatabaseClient) => (params: {
54
+ scopes: ProjectScopeConfig;
55
+ }) => Promise<EvaluationRunSelect[]>;
56
+ declare const listEvaluationRunsByJobConfigId: (db: AgentsRunDatabaseClient) => (params: {
57
+ scopes: ProjectScopeConfig;
58
+ evaluationJobConfigId: string;
59
+ }) => Promise<EvaluationRunSelect[]>;
60
+ declare const getEvaluationRunByJobConfigId: (db: AgentsRunDatabaseClient) => (params: {
61
+ scopes: ProjectScopeConfig;
62
+ evaluationJobConfigId: string;
63
+ }) => Promise<EvaluationRunSelect | null>;
64
+ declare const createEvaluationRun: (db: AgentsRunDatabaseClient) => (data: EvaluationRunInsert) => Promise<EvaluationRunSelect>;
65
+ declare const updateEvaluationRun: (db: AgentsRunDatabaseClient) => (params: {
66
+ scopes: ProjectScopeConfig & {
67
+ evaluationRunId: string;
68
+ };
69
+ data: EvaluationRunUpdate;
70
+ }) => Promise<EvaluationRunSelect | null>;
71
+ declare const deleteEvaluationRun: (db: AgentsRunDatabaseClient) => (params: {
72
+ scopes: ProjectScopeConfig & {
73
+ evaluationRunId: string;
74
+ };
75
+ }) => Promise<boolean>;
76
+ declare const getEvaluationResultById: (db: AgentsRunDatabaseClient) => (params: {
77
+ scopes: ProjectScopeConfig & {
78
+ evaluationResultId: string;
79
+ };
80
+ }) => Promise<EvaluationResultSelect | null>;
81
+ declare const listEvaluationResults: (db: AgentsRunDatabaseClient) => (params: {
82
+ scopes: ProjectScopeConfig;
83
+ }) => Promise<EvaluationResultSelect[]>;
84
+ declare const listEvaluationResultsByRun: (db: AgentsRunDatabaseClient) => (params: {
85
+ scopes: ProjectScopeConfig & {
86
+ evaluationRunId: string;
87
+ };
88
+ }) => Promise<EvaluationResultSelect[]>;
89
+ declare const listEvaluationResultsByConversation: (db: AgentsRunDatabaseClient) => (params: {
90
+ scopes: ProjectScopeConfig & {
91
+ conversationId: string;
92
+ };
93
+ }) => Promise<EvaluationResultSelect[]>;
94
+ declare const createEvaluationResult: (db: AgentsRunDatabaseClient) => (data: EvaluationResultInsert) => Promise<EvaluationResultSelect>;
95
+ declare const createEvaluationResults: (db: AgentsRunDatabaseClient) => (data: EvaluationResultInsert[]) => Promise<EvaluationResultSelect[]>;
96
+ declare const updateEvaluationResult: (db: AgentsRunDatabaseClient) => (params: {
97
+ scopes: ProjectScopeConfig & {
98
+ evaluationResultId: string;
99
+ };
100
+ data: EvaluationResultUpdate;
101
+ }) => Promise<EvaluationResultSelect | null>;
102
+ declare const deleteEvaluationResult: (db: AgentsRunDatabaseClient) => (params: {
103
+ scopes: ProjectScopeConfig & {
104
+ evaluationResultId: string;
105
+ };
106
+ }) => Promise<boolean>;
107
+ declare const deleteEvaluationResultsByRun: (db: AgentsRunDatabaseClient) => (params: {
108
+ scopes: ProjectScopeConfig & {
109
+ evaluationRunId: string;
110
+ };
111
+ }) => Promise<number>;
112
+ /**
113
+ * Filter conversations based on evaluation job filter criteria
114
+ */
115
+ declare const filterConversationsForJob: (db: AgentsRunDatabaseClient) => (params: {
116
+ scopes: ProjectScopeConfig;
117
+ jobFilters: Filter<EvaluationJobFilterCriteria> | null | undefined;
118
+ }) => Promise<ConversationSelect[]>;
119
+ //#endregion
120
+ export { createDatasetRun, createDatasetRunConversationRelation, createDatasetRunConversationRelations, createEvaluationResult, createEvaluationResults, createEvaluationRun, deleteDatasetRun, deleteDatasetRunConversationRelation, deleteDatasetRunConversationRelationsByRun, deleteEvaluationResult, deleteEvaluationResultsByRun, deleteEvaluationRun, filterConversationsForJob, getDatasetRunById, getDatasetRunConversationRelationByConversation, getDatasetRunConversationRelations, getEvaluationResultById, getEvaluationRunById, getEvaluationRunByJobConfigId, listDatasetRuns, listDatasetRunsByConfig, listEvaluationResults, listEvaluationResultsByConversation, listEvaluationResultsByRun, listEvaluationRuns, listEvaluationRunsByJobConfigId, updateEvaluationResult, updateEvaluationRun };
@@ -0,0 +1,168 @@
1
+ import { conversations, datasetRun, datasetRunConversationRelations, evaluationResult, evaluationRun } from "../../db/runtime/runtime-schema.js";
2
+ import { and, desc, eq, gte, inArray, lte } from "drizzle-orm";
3
+
4
+ //#region src/data-access/runtime/evalRuns.ts
5
+ const getDatasetRunById = (db) => async (params) => {
6
+ return (await db.select().from(datasetRun).where(and(eq(datasetRun.tenantId, params.scopes.tenantId), eq(datasetRun.projectId, params.scopes.projectId), eq(datasetRun.id, params.scopes.datasetRunId))).limit(1))[0] ?? null;
7
+ };
8
+ const listDatasetRuns = (db) => async (params) => {
9
+ return await db.select().from(datasetRun).where(and(eq(datasetRun.tenantId, params.scopes.tenantId), eq(datasetRun.projectId, params.scopes.projectId))).orderBy(desc(datasetRun.createdAt));
10
+ };
11
+ const listDatasetRunsByConfig = (db) => async (params) => {
12
+ return await db.select().from(datasetRun).where(and(eq(datasetRun.tenantId, params.scopes.tenantId), eq(datasetRun.projectId, params.scopes.projectId), eq(datasetRun.datasetRunConfigId, params.scopes.datasetRunConfigId))).orderBy(desc(datasetRun.createdAt));
13
+ };
14
+ const createDatasetRun = (db) => async (data) => {
15
+ const now = (/* @__PURE__ */ new Date()).toISOString();
16
+ const [created] = await db.insert(datasetRun).values({
17
+ ...data,
18
+ createdAt: now,
19
+ updatedAt: now
20
+ }).returning();
21
+ return created;
22
+ };
23
+ const deleteDatasetRun = (db) => async (params) => {
24
+ return (await db.delete(datasetRun).where(and(eq(datasetRun.tenantId, params.scopes.tenantId), eq(datasetRun.projectId, params.scopes.projectId), eq(datasetRun.id, params.scopes.datasetRunId))).returning()).length > 0;
25
+ };
26
+ const getDatasetRunConversationRelations = (db) => async (params) => {
27
+ return await db.select().from(datasetRunConversationRelations).where(and(eq(datasetRunConversationRelations.tenantId, params.scopes.tenantId), eq(datasetRunConversationRelations.projectId, params.scopes.projectId), eq(datasetRunConversationRelations.datasetRunId, params.scopes.datasetRunId)));
28
+ };
29
+ const createDatasetRunConversationRelation = (db) => async (data) => {
30
+ const now = (/* @__PURE__ */ new Date()).toISOString();
31
+ const [created] = await db.insert(datasetRunConversationRelations).values({
32
+ ...data,
33
+ createdAt: now,
34
+ updatedAt: now
35
+ }).returning();
36
+ return created;
37
+ };
38
+ const createDatasetRunConversationRelations = (db) => async (data) => {
39
+ const now = (/* @__PURE__ */ new Date()).toISOString();
40
+ const values = data.map((item) => ({
41
+ ...item,
42
+ createdAt: now,
43
+ updatedAt: now
44
+ }));
45
+ return await db.insert(datasetRunConversationRelations).values(values).returning();
46
+ };
47
+ const deleteDatasetRunConversationRelation = (db) => async (params) => {
48
+ return (await db.delete(datasetRunConversationRelations).where(and(eq(datasetRunConversationRelations.tenantId, params.scopes.tenantId), eq(datasetRunConversationRelations.projectId, params.scopes.projectId), eq(datasetRunConversationRelations.datasetRunId, params.scopes.datasetRunId), eq(datasetRunConversationRelations.conversationId, params.scopes.conversationId))).returning()).length > 0;
49
+ };
50
+ const deleteDatasetRunConversationRelationsByRun = (db) => async (params) => {
51
+ return (await db.delete(datasetRunConversationRelations).where(and(eq(datasetRunConversationRelations.tenantId, params.scopes.tenantId), eq(datasetRunConversationRelations.projectId, params.scopes.projectId), eq(datasetRunConversationRelations.datasetRunId, params.scopes.datasetRunId))).returning()).length;
52
+ };
53
+ const getDatasetRunConversationRelationByConversation = (db) => async (params) => {
54
+ return (await db.select().from(datasetRunConversationRelations).where(and(eq(datasetRunConversationRelations.tenantId, params.scopes.tenantId), eq(datasetRunConversationRelations.projectId, params.scopes.projectId), eq(datasetRunConversationRelations.conversationId, params.scopes.conversationId))).limit(1))[0] || null;
55
+ };
56
+ const getEvaluationRunById = (db) => async (params) => {
57
+ return (await db.select().from(evaluationRun).where(and(eq(evaluationRun.tenantId, params.scopes.tenantId), eq(evaluationRun.projectId, params.scopes.projectId), eq(evaluationRun.id, params.scopes.evaluationRunId))).limit(1))[0] ?? null;
58
+ };
59
+ const listEvaluationRuns = (db) => async (params) => {
60
+ return await db.select().from(evaluationRun).where(and(eq(evaluationRun.tenantId, params.scopes.tenantId), eq(evaluationRun.projectId, params.scopes.projectId)));
61
+ };
62
+ const listEvaluationRunsByJobConfigId = (db) => async (params) => {
63
+ return await db.select().from(evaluationRun).where(and(eq(evaluationRun.tenantId, params.scopes.tenantId), eq(evaluationRun.projectId, params.scopes.projectId), eq(evaluationRun.evaluationJobConfigId, params.evaluationJobConfigId)));
64
+ };
65
+ const getEvaluationRunByJobConfigId = (db) => async (params) => {
66
+ return (await db.select().from(evaluationRun).where(and(eq(evaluationRun.tenantId, params.scopes.tenantId), eq(evaluationRun.projectId, params.scopes.projectId), eq(evaluationRun.evaluationJobConfigId, params.evaluationJobConfigId))).limit(1))[0] ?? null;
67
+ };
68
+ const createEvaluationRun = (db) => async (data) => {
69
+ const now = (/* @__PURE__ */ new Date()).toISOString();
70
+ const [created] = await db.insert(evaluationRun).values({
71
+ ...data,
72
+ createdAt: now,
73
+ updatedAt: now
74
+ }).returning();
75
+ return created;
76
+ };
77
+ const updateEvaluationRun = (db) => async (params) => {
78
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
79
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
80
+ const [updated] = await db.update(evaluationRun).set(updateData).where(and(eq(evaluationRun.tenantId, params.scopes.tenantId), eq(evaluationRun.projectId, params.scopes.projectId), eq(evaluationRun.id, params.scopes.evaluationRunId))).returning();
81
+ return updated ?? null;
82
+ };
83
+ const deleteEvaluationRun = (db) => async (params) => {
84
+ return (await db.delete(evaluationRun).where(and(eq(evaluationRun.tenantId, params.scopes.tenantId), eq(evaluationRun.projectId, params.scopes.projectId), eq(evaluationRun.id, params.scopes.evaluationRunId))).returning()).length > 0;
85
+ };
86
+ const getEvaluationResultById = (db) => async (params) => {
87
+ return await db.query.evaluationResult.findFirst({ where: and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId), eq(evaluationResult.id, params.scopes.evaluationResultId)) }) ?? null;
88
+ };
89
+ const listEvaluationResults = (db) => async (params) => {
90
+ return await db.query.evaluationResult.findMany({ where: and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId)) });
91
+ };
92
+ const listEvaluationResultsByRun = (db) => async (params) => {
93
+ return await db.query.evaluationResult.findMany({ where: and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId), eq(evaluationResult.evaluationRunId, params.scopes.evaluationRunId)) });
94
+ };
95
+ const listEvaluationResultsByConversation = (db) => async (params) => {
96
+ return await db.query.evaluationResult.findMany({ where: and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId), eq(evaluationResult.conversationId, params.scopes.conversationId)) });
97
+ };
98
+ const createEvaluationResult = (db) => async (data) => {
99
+ const now = (/* @__PURE__ */ new Date()).toISOString();
100
+ const [created] = await db.insert(evaluationResult).values({
101
+ ...data,
102
+ createdAt: now,
103
+ updatedAt: now
104
+ }).returning();
105
+ return created;
106
+ };
107
+ const createEvaluationResults = (db) => async (data) => {
108
+ const now = (/* @__PURE__ */ new Date()).toISOString();
109
+ const values = data.map((item) => ({
110
+ ...item,
111
+ createdAt: now,
112
+ updatedAt: now
113
+ }));
114
+ return await db.insert(evaluationResult).values(values).returning();
115
+ };
116
+ const updateEvaluationResult = (db) => async (params) => {
117
+ const updateData = { updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
118
+ for (const [key, value] of Object.entries(params.data)) if (value !== void 0) updateData[key] = value;
119
+ const [updated] = await db.update(evaluationResult).set(updateData).where(and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId), eq(evaluationResult.id, params.scopes.evaluationResultId))).returning();
120
+ return updated ?? null;
121
+ };
122
+ const deleteEvaluationResult = (db) => async (params) => {
123
+ return (await db.delete(evaluationResult).where(and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId), eq(evaluationResult.id, params.scopes.evaluationResultId))).returning()).length > 0;
124
+ };
125
+ const deleteEvaluationResultsByRun = (db) => async (params) => {
126
+ return (await db.delete(evaluationResult).where(and(eq(evaluationResult.tenantId, params.scopes.tenantId), eq(evaluationResult.projectId, params.scopes.projectId), eq(evaluationResult.evaluationRunId, params.scopes.evaluationRunId))).returning()).length;
127
+ };
128
+ /**
129
+ * Helper to extract plain filter criteria from a Filter wrapper.
130
+ * Currently only handles plain objects - and/or combinators are not yet supported.
131
+ */
132
+ function extractPlainFilterCriteria(filter) {
133
+ if (!filter) return null;
134
+ if ("and" in filter || "or" in filter) return null;
135
+ return filter;
136
+ }
137
+ /**
138
+ * Filter conversations based on evaluation job filter criteria
139
+ */
140
+ const filterConversationsForJob = (db) => async (params) => {
141
+ const { scopes, jobFilters: rawJobFilters } = params;
142
+ const jobFilters = extractPlainFilterCriteria(rawJobFilters);
143
+ const { tenantId, projectId } = scopes;
144
+ const whereConditions = [eq(conversations.tenantId, tenantId), eq(conversations.projectId, projectId)];
145
+ if (jobFilters?.conversationIds && Array.isArray(jobFilters.conversationIds) && jobFilters.conversationIds.length > 0) whereConditions.push(inArray(conversations.id, jobFilters.conversationIds));
146
+ if (jobFilters?.dateRange) {
147
+ const { startDate, endDate } = jobFilters.dateRange;
148
+ if (startDate) whereConditions.push(gte(conversations.createdAt, startDate));
149
+ if (endDate) whereConditions.push(lte(conversations.createdAt, endDate));
150
+ }
151
+ if (jobFilters?.datasetRunIds && Array.isArray(jobFilters.datasetRunIds) && jobFilters.datasetRunIds.length > 0) {
152
+ const allConversationIds = /* @__PURE__ */ new Set();
153
+ for (const datasetRunId of jobFilters.datasetRunIds) {
154
+ const relations$1 = await getDatasetRunConversationRelations(db)({ scopes: {
155
+ tenantId,
156
+ projectId,
157
+ datasetRunId
158
+ } });
159
+ for (const relation of relations$1) allConversationIds.add(relation.conversationId);
160
+ }
161
+ if (allConversationIds.size > 0) whereConditions.push(inArray(conversations.id, Array.from(allConversationIds)));
162
+ else return [];
163
+ }
164
+ return await db.select().from(conversations).where(and(...whereConditions));
165
+ };
166
+
167
+ //#endregion
168
+ export { createDatasetRun, createDatasetRunConversationRelation, createDatasetRunConversationRelations, createEvaluationResult, createEvaluationResults, createEvaluationRun, deleteDatasetRun, deleteDatasetRunConversationRelation, deleteDatasetRunConversationRelationsByRun, deleteEvaluationResult, deleteEvaluationResultsByRun, deleteEvaluationRun, filterConversationsForJob, getDatasetRunById, getDatasetRunConversationRelationByConversation, getDatasetRunConversationRelations, getEvaluationResultById, getEvaluationRunById, getEvaluationRunByJobConfigId, listDatasetRuns, listDatasetRunsByConfig, listEvaluationResults, listEvaluationResultsByConversation, listEvaluationResultsByRun, listEvaluationRuns, listEvaluationRunsByJobConfigId, updateEvaluationResult, updateEvaluationRun };
@@ -1,14 +1,14 @@
1
- import { Artifact } from "../types/a2a.js";
2
- import { LedgerArtifactSelect } from "../types/entities.js";
3
- import "../types/index.js";
4
- import { ProjectScopeConfig } from "../types/utility.js";
5
- import { DatabaseClient } from "../db/client.js";
1
+ import { Artifact } from "../../types/a2a.js";
2
+ import { ProjectScopeConfig } from "../../types/utility.js";
3
+ import "../../types/index.js";
4
+ import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
5
+ import { LedgerArtifactSelect } from "../../types/entities.js";
6
6
 
7
- //#region src/data-access/ledgerArtifacts.d.ts
7
+ //#region src/data-access/runtime/ledgerArtifacts.d.ts
8
8
  /**
9
9
  * Atomic upsert operation for a single artifact - prevents race conditions
10
10
  */
11
- declare const upsertLedgerArtifact: (db: DatabaseClient) => (params: {
11
+ declare const upsertLedgerArtifact: (db: AgentsRunDatabaseClient) => (params: {
12
12
  scopes: ProjectScopeConfig;
13
13
  contextId: string;
14
14
  taskId: string;
@@ -21,7 +21,7 @@ declare const upsertLedgerArtifact: (db: DatabaseClient) => (params: {
21
21
  /**
22
22
  * Save one or more artifacts to the ledger
23
23
  */
24
- declare const addLedgerArtifacts: (db: DatabaseClient) => (params: {
24
+ declare const addLedgerArtifacts: (db: AgentsRunDatabaseClient) => (params: {
25
25
  scopes: ProjectScopeConfig;
26
26
  contextId: string;
27
27
  taskId?: string | null;
@@ -33,7 +33,7 @@ declare const addLedgerArtifacts: (db: DatabaseClient) => (params: {
33
33
  * At least one of taskId, toolCallId, toolCallIds, or artifactId must be provided.
34
34
  * Use toolCallIds for batch queries to avoid N+1 query problems.
35
35
  */
36
- declare const getLedgerArtifacts: (db: DatabaseClient) => (params: {
36
+ declare const getLedgerArtifacts: (db: AgentsRunDatabaseClient) => (params: {
37
37
  scopes: ProjectScopeConfig;
38
38
  taskId?: string;
39
39
  toolCallId?: string;
@@ -43,28 +43,28 @@ declare const getLedgerArtifacts: (db: DatabaseClient) => (params: {
43
43
  /**
44
44
  * Get ledger artifacts by context ID
45
45
  */
46
- declare const getLedgerArtifactsByContext: (db: DatabaseClient) => (params: {
46
+ declare const getLedgerArtifactsByContext: (db: AgentsRunDatabaseClient) => (params: {
47
47
  scopes: ProjectScopeConfig;
48
48
  contextId: string;
49
49
  }) => Promise<LedgerArtifactSelect[]>;
50
50
  /**
51
51
  * Delete ledger artifacts by task ID
52
52
  */
53
- declare const deleteLedgerArtifactsByTask: (db: DatabaseClient) => (params: {
53
+ declare const deleteLedgerArtifactsByTask: (db: AgentsRunDatabaseClient) => (params: {
54
54
  scopes: ProjectScopeConfig;
55
55
  taskId: string;
56
56
  }) => Promise<boolean>;
57
57
  /**
58
58
  * Delete ledger artifacts by context ID
59
59
  */
60
- declare const deleteLedgerArtifactsByContext: (db: DatabaseClient) => (params: {
60
+ declare const deleteLedgerArtifactsByContext: (db: AgentsRunDatabaseClient) => (params: {
61
61
  scopes: ProjectScopeConfig;
62
62
  contextId: string;
63
63
  }) => Promise<boolean>;
64
64
  /**
65
65
  * Count ledger artifacts by task ID
66
66
  */
67
- declare const countLedgerArtifactsByTask: (db: DatabaseClient) => (params: {
67
+ declare const countLedgerArtifactsByTask: (db: AgentsRunDatabaseClient) => (params: {
68
68
  scopes: ProjectScopeConfig;
69
69
  taskId: string;
70
70
  }) => Promise<number>;
@@ -1,8 +1,8 @@
1
- import { ledgerArtifacts } from "../db/schema.js";
2
- import { generateId } from "../utils/conversations.js";
1
+ import { ledgerArtifacts } from "../../db/runtime/runtime-schema.js";
2
+ import { generateId } from "../../utils/conversations.js";
3
3
  import { and, count, eq, inArray } from "drizzle-orm";
4
4
 
5
- //#region src/data-access/ledgerArtifacts.ts
5
+ //#region src/data-access/runtime/ledgerArtifacts.ts
6
6
  /**
7
7
  * Validate artifact data before database insertion
8
8
  */
@@ -1,22 +1,21 @@
1
- import { MessageInsert, MessageUpdate } from "../types/entities.js";
2
- import "../types/index.js";
3
- import "../index.js";
4
- import { MessageContent, MessageMetadata, MessageVisibility, PaginationConfig, ProjectScopeConfig } from "../types/utility.js";
5
- import { DatabaseClient } from "../db/client.js";
1
+ import { MessageContent, MessageMetadata, MessageVisibility, PaginationConfig, ProjectScopeConfig } from "../../types/utility.js";
2
+ import "../../types/index.js";
3
+ import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
4
+ import "../../index.js";
5
+ import { MessageInsert, MessageUpdate } from "../../types/entities.js";
6
6
 
7
- //#region src/data-access/messages.d.ts
8
- declare const getMessageById: (db: DatabaseClient) => (params: {
7
+ //#region src/data-access/runtime/messages.d.ts
8
+ declare const getMessageById: (db: AgentsRunDatabaseClient) => (params: {
9
9
  scopes: ProjectScopeConfig;
10
10
  messageId: string;
11
11
  }) => Promise<{
12
- tenantId: string;
13
- projectId: string;
14
12
  id: string;
15
13
  createdAt: string;
16
14
  updatedAt: string;
17
15
  metadata: MessageMetadata | null;
18
- content: MessageContent;
19
16
  role: string;
17
+ tenantId: string;
18
+ projectId: string;
20
19
  conversationId: string;
21
20
  fromSubAgentId: string | null;
22
21
  toSubAgentId: string | null;
@@ -24,6 +23,7 @@ declare const getMessageById: (db: DatabaseClient) => (params: {
24
23
  toExternalAgentId: string | null;
25
24
  fromTeamAgentId: string | null;
26
25
  toTeamAgentId: string | null;
26
+ content: MessageContent;
27
27
  visibility: string;
28
28
  messageType: string;
29
29
  taskId: string | null;
@@ -31,7 +31,7 @@ declare const getMessageById: (db: DatabaseClient) => (params: {
31
31
  a2aTaskId: string | null;
32
32
  a2aSessionId: string | null;
33
33
  } | undefined>;
34
- declare const listMessages: (db: DatabaseClient) => (params: {
34
+ declare const listMessages: (db: AgentsRunDatabaseClient) => (params: {
35
35
  scopes: ProjectScopeConfig;
36
36
  pagination: PaginationConfig;
37
37
  }) => Promise<{
@@ -57,7 +57,7 @@ declare const listMessages: (db: DatabaseClient) => (params: {
57
57
  tenantId: string;
58
58
  id: string;
59
59
  }[]>;
60
- declare const getMessagesByConversation: (db: DatabaseClient) => (params: {
60
+ declare const getMessagesByConversation: (db: AgentsRunDatabaseClient) => (params: {
61
61
  scopes: ProjectScopeConfig;
62
62
  conversationId: string;
63
63
  pagination: PaginationConfig;
@@ -84,7 +84,7 @@ declare const getMessagesByConversation: (db: DatabaseClient) => (params: {
84
84
  tenantId: string;
85
85
  id: string;
86
86
  }[]>;
87
- declare const getMessagesByTask: (db: DatabaseClient) => (params: {
87
+ declare const getMessagesByTask: (db: AgentsRunDatabaseClient) => (params: {
88
88
  scopes: ProjectScopeConfig;
89
89
  taskId: string;
90
90
  pagination: PaginationConfig;
@@ -111,7 +111,7 @@ declare const getMessagesByTask: (db: DatabaseClient) => (params: {
111
111
  tenantId: string;
112
112
  id: string;
113
113
  }[]>;
114
- declare const getVisibleMessages: (db: DatabaseClient) => (params: {
114
+ declare const getVisibleMessages: (db: AgentsRunDatabaseClient) => (params: {
115
115
  scopes: ProjectScopeConfig;
116
116
  conversationId: string;
117
117
  visibility?: MessageVisibility[];
@@ -139,15 +139,14 @@ declare const getVisibleMessages: (db: DatabaseClient) => (params: {
139
139
  tenantId: string;
140
140
  id: string;
141
141
  }[]>;
142
- declare const createMessage: (db: DatabaseClient) => (params: MessageInsert) => Promise<{
143
- tenantId: string;
144
- projectId: string;
142
+ declare const createMessage: (db: AgentsRunDatabaseClient) => (params: MessageInsert) => Promise<{
145
143
  id: string;
146
144
  createdAt: string;
147
145
  updatedAt: string;
148
146
  metadata: MessageMetadata | null;
149
- content: MessageContent;
150
147
  role: string;
148
+ tenantId: string;
149
+ projectId: string;
151
150
  conversationId: string;
152
151
  fromSubAgentId: string | null;
153
152
  toSubAgentId: string | null;
@@ -155,6 +154,7 @@ declare const createMessage: (db: DatabaseClient) => (params: MessageInsert) =>
155
154
  toExternalAgentId: string | null;
156
155
  fromTeamAgentId: string | null;
157
156
  toTeamAgentId: string | null;
157
+ content: MessageContent;
158
158
  visibility: string;
159
159
  messageType: string;
160
160
  taskId: string | null;
@@ -162,7 +162,7 @@ declare const createMessage: (db: DatabaseClient) => (params: MessageInsert) =>
162
162
  a2aTaskId: string | null;
163
163
  a2aSessionId: string | null;
164
164
  }>;
165
- declare const updateMessage: (db: DatabaseClient) => (params: {
165
+ declare const updateMessage: (db: AgentsRunDatabaseClient) => (params: {
166
166
  scopes: ProjectScopeConfig;
167
167
  messageId: string;
168
168
  data: MessageUpdate;
@@ -189,18 +189,17 @@ declare const updateMessage: (db: DatabaseClient) => (params: {
189
189
  tenantId: string;
190
190
  id: string;
191
191
  }>;
192
- declare const deleteMessage: (db: DatabaseClient) => (params: {
192
+ declare const deleteMessage: (db: AgentsRunDatabaseClient) => (params: {
193
193
  scopes: ProjectScopeConfig;
194
194
  messageId: string;
195
195
  }) => Promise<{
196
- tenantId: string;
197
- projectId: string;
198
196
  id: string;
199
197
  createdAt: string;
200
198
  updatedAt: string;
201
199
  metadata: MessageMetadata | null;
202
- content: MessageContent;
203
200
  role: string;
201
+ tenantId: string;
202
+ projectId: string;
204
203
  conversationId: string;
205
204
  fromSubAgentId: string | null;
206
205
  toSubAgentId: string | null;
@@ -208,6 +207,7 @@ declare const deleteMessage: (db: DatabaseClient) => (params: {
208
207
  toExternalAgentId: string | null;
209
208
  fromTeamAgentId: string | null;
210
209
  toTeamAgentId: string | null;
210
+ content: MessageContent;
211
211
  visibility: string;
212
212
  messageType: string;
213
213
  taskId: string | null;
@@ -215,7 +215,7 @@ declare const deleteMessage: (db: DatabaseClient) => (params: {
215
215
  a2aTaskId: string | null;
216
216
  a2aSessionId: string | null;
217
217
  }>;
218
- declare const countMessagesByConversation: (db: DatabaseClient) => (params: {
218
+ declare const countMessagesByConversation: (db: AgentsRunDatabaseClient) => (params: {
219
219
  scopes: ProjectScopeConfig;
220
220
  conversationId: string;
221
221
  }) => Promise<number>;
@@ -1,7 +1,7 @@
1
- import { messages } from "../db/schema.js";
1
+ import { messages } from "../../db/runtime/runtime-schema.js";
2
2
  import { and, asc, count, desc, eq, inArray } from "drizzle-orm";
3
3
 
4
- //#region src/data-access/messages.ts
4
+ //#region src/data-access/runtime/messages.ts
5
5
  const getMessageById = (db) => async (params) => {
6
6
  return db.query.messages.findFirst({ where: and(eq(messages.tenantId, params.scopes.tenantId), eq(messages.projectId, params.scopes.projectId), eq(messages.id, params.messageId)) });
7
7
  };
@@ -1,7 +1,7 @@
1
- import { UserOrganization } from "../auth/auth-validation-schemas.js";
2
- import { DatabaseClient } from "../db/client.js";
1
+ import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
2
+ import { UserOrganization } from "../../auth/auth-validation-schemas.js";
3
3
 
4
- //#region src/data-access/organizations.d.ts
4
+ //#region src/data-access/runtime/organizations.d.ts
5
5
 
6
6
  /**
7
7
  * Organization and Member data access layer
@@ -12,14 +12,14 @@ import { DatabaseClient } from "../db/client.js";
12
12
  * Queries Better Auth's member and organization tables
13
13
  * Returns Date for createdAt (converted to string at API boundary)
14
14
  */
15
- declare const getUserOrganizations: (db: DatabaseClient) => (userId: string) => Promise<Array<Omit<UserOrganization, "createdAt"> & {
15
+ declare const getUserOrganizationsFromDb: (db: AgentsRunDatabaseClient) => (userId: string) => Promise<Array<Omit<UserOrganization, "createdAt"> & {
16
16
  createdAt: Date;
17
17
  }>>;
18
18
  /**
19
19
  * Get pending invitations for a user by email
20
20
  * Returns invitations with status 'pending' that haven't expired
21
21
  */
22
- declare const getPendingInvitationsByEmail: (db: DatabaseClient) => (email: string) => Promise<{
22
+ declare const getPendingInvitationsByEmail: (db: AgentsRunDatabaseClient) => (email: string) => Promise<{
23
23
  id: string;
24
24
  email: string;
25
25
  organizationId: string;
@@ -34,10 +34,19 @@ declare const getPendingInvitationsByEmail: (db: DatabaseClient) => (email: stri
34
34
  * Add user to organization
35
35
  * Directly inserts into Better Auth's member table
36
36
  */
37
- declare const addUserToOrganization: (db: DatabaseClient) => (data: {
37
+ declare const addUserToOrganization: (db: AgentsRunDatabaseClient) => (data: {
38
38
  userId: string;
39
39
  organizationId: string;
40
40
  role: string;
41
41
  }) => Promise<void>;
42
+ declare const upsertOrganization: (db: AgentsRunDatabaseClient) => (data: {
43
+ organizationId: string;
44
+ name: string;
45
+ slug: string;
46
+ logo?: string | null;
47
+ metadata?: string | null;
48
+ }) => Promise<{
49
+ created: boolean;
50
+ }>;
42
51
  //#endregion
43
- export { addUserToOrganization, getPendingInvitationsByEmail, getUserOrganizations };
52
+ export { addUserToOrganization, getPendingInvitationsByEmail, getUserOrganizationsFromDb, upsertOrganization };
@@ -1,7 +1,7 @@
1
- import { invitation, member, organization } from "../auth/auth-schema.js";
1
+ import { invitation, member, organization } from "../../auth/auth-schema.js";
2
2
  import { and, desc, eq } from "drizzle-orm";
3
3
 
4
- //#region src/data-access/organizations.ts
4
+ //#region src/data-access/runtime/organizations.ts
5
5
  /**
6
6
  * Organization and Member data access layer
7
7
  * All database queries for Better Auth's organization/member tables
@@ -11,7 +11,7 @@ import { and, desc, eq } from "drizzle-orm";
11
11
  * Queries Better Auth's member and organization tables
12
12
  * Returns Date for createdAt (converted to string at API boundary)
13
13
  */
14
- const getUserOrganizations = (db) => async (userId) => {
14
+ const getUserOrganizationsFromDb = (db) => async (userId) => {
15
15
  return (await db.select({
16
16
  id: member.id,
17
17
  userId: member.userId,
@@ -58,6 +58,18 @@ const addUserToOrganization = (db) => async (data) => {
58
58
  createdAt: /* @__PURE__ */ new Date()
59
59
  });
60
60
  };
61
+ const upsertOrganization = (db) => async (data) => {
62
+ if ((await db.select().from(organization).where(eq(organization.id, data.organizationId)).limit(1)).length > 0) return { created: false };
63
+ await db.insert(organization).values({
64
+ id: data.organizationId,
65
+ name: data.name,
66
+ slug: data.slug,
67
+ createdAt: /* @__PURE__ */ new Date(),
68
+ logo: data.logo ?? null,
69
+ metadata: data.metadata ?? null
70
+ });
71
+ return { created: true };
72
+ };
61
73
 
62
74
  //#endregion
63
- export { addUserToOrganization, getPendingInvitationsByEmail, getUserOrganizations };
75
+ export { addUserToOrganization, getPendingInvitationsByEmail, getUserOrganizationsFromDb, upsertOrganization };