@inkeep/agents-core 0.0.0-dev-20250910233133 → 0.0.0-dev-20250910233151

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 (279) hide show
  1. package/dist/chunk-BIIFENNH.js +11 -0
  2. package/dist/chunk-H2F72PDA.js +15 -0
  3. package/dist/chunk-MKBO26DX.js +9 -0
  4. package/dist/chunk-ODONDMHT.js +665 -0
  5. package/dist/chunk-TSPWAF64.js +821 -0
  6. package/dist/client-exports.cjs +232 -0
  7. package/dist/client-exports.d.cts +302 -0
  8. package/dist/client-exports.d.ts +46 -43
  9. package/dist/client-exports.js +200 -247
  10. package/dist/db/schema.cjs +818 -0
  11. package/dist/db/schema.d.cts +7 -0
  12. package/dist/db/schema.d.ts +7 -4335
  13. package/dist/db/schema.js +1 -696
  14. package/dist/index.cjs +9809 -0
  15. package/dist/index.d.cts +3992 -0
  16. package/dist/index.d.ts +3992 -12
  17. package/dist/index.js +7807 -13
  18. package/dist/schema-B5YbTpz8.d.ts +4382 -0
  19. package/dist/schema-E0ulMd3k.d.cts +4382 -0
  20. package/dist/types/index.cjs +29 -0
  21. package/dist/types/index.d.cts +123 -0
  22. package/dist/types/index.d.ts +123 -5
  23. package/dist/types/index.js +2 -6
  24. package/dist/{validation/schemas.d.ts → utility-D2Lb-YAS.d.cts} +1350 -617
  25. package/dist/utility-D2Lb-YAS.d.ts +7946 -0
  26. package/dist/validation/index.cjs +1617 -0
  27. package/dist/validation/index.d.cts +63 -0
  28. package/dist/validation/index.d.ts +63 -4
  29. package/dist/validation/index.js +1 -5
  30. package/package.json +2 -2
  31. package/dist/__tests__/integration/helpers.d.ts +0 -5
  32. package/dist/__tests__/integration/helpers.d.ts.map +0 -1
  33. package/dist/__tests__/integration/helpers.js +0 -37
  34. package/dist/__tests__/integration/helpers.js.map +0 -1
  35. package/dist/__tests__/setup.d.ts +0 -3
  36. package/dist/__tests__/setup.d.ts.map +0 -1
  37. package/dist/__tests__/setup.js +0 -29
  38. package/dist/__tests__/setup.js.map +0 -1
  39. package/dist/client-exports.d.ts.map +0 -1
  40. package/dist/client-exports.js.map +0 -1
  41. package/dist/context/ContextConfig.d.ts +0 -54
  42. package/dist/context/ContextConfig.d.ts.map +0 -1
  43. package/dist/context/ContextConfig.js +0 -302
  44. package/dist/context/ContextConfig.js.map +0 -1
  45. package/dist/context/ContextFetcher.d.ts +0 -64
  46. package/dist/context/ContextFetcher.d.ts.map +0 -1
  47. package/dist/context/ContextFetcher.js +0 -325
  48. package/dist/context/ContextFetcher.js.map +0 -1
  49. package/dist/context/ContextResolver.d.ts +0 -52
  50. package/dist/context/ContextResolver.d.ts.map +0 -1
  51. package/dist/context/ContextResolver.js +0 -298
  52. package/dist/context/ContextResolver.js.map +0 -1
  53. package/dist/context/TemplateEngine.d.ts +0 -46
  54. package/dist/context/TemplateEngine.d.ts.map +0 -1
  55. package/dist/context/TemplateEngine.js +0 -175
  56. package/dist/context/TemplateEngine.js.map +0 -1
  57. package/dist/context/context.d.ts +0 -8
  58. package/dist/context/context.d.ts.map +0 -1
  59. package/dist/context/context.js +0 -157
  60. package/dist/context/context.js.map +0 -1
  61. package/dist/context/contextCache.d.ts +0 -50
  62. package/dist/context/contextCache.d.ts.map +0 -1
  63. package/dist/context/contextCache.js +0 -175
  64. package/dist/context/contextCache.js.map +0 -1
  65. package/dist/context/index.d.ts +0 -11
  66. package/dist/context/index.d.ts.map +0 -1
  67. package/dist/context/index.js +0 -8
  68. package/dist/context/index.js.map +0 -1
  69. package/dist/credential-stores/CredentialStoreRegistry.d.ts +0 -39
  70. package/dist/credential-stores/CredentialStoreRegistry.d.ts.map +0 -1
  71. package/dist/credential-stores/CredentialStoreRegistry.js +0 -65
  72. package/dist/credential-stores/CredentialStoreRegistry.js.map +0 -1
  73. package/dist/credential-stores/defaults.d.ts +0 -6
  74. package/dist/credential-stores/defaults.d.ts.map +0 -1
  75. package/dist/credential-stores/defaults.js +0 -22
  76. package/dist/credential-stores/defaults.js.map +0 -1
  77. package/dist/credential-stores/index.d.ts +0 -6
  78. package/dist/credential-stores/index.d.ts.map +0 -1
  79. package/dist/credential-stores/index.js +0 -6
  80. package/dist/credential-stores/index.js.map +0 -1
  81. package/dist/credential-stores/keychain-store.d.ts +0 -100
  82. package/dist/credential-stores/keychain-store.d.ts.map +0 -1
  83. package/dist/credential-stores/keychain-store.js +0 -225
  84. package/dist/credential-stores/keychain-store.js.map +0 -1
  85. package/dist/credential-stores/memory-store.d.ts +0 -39
  86. package/dist/credential-stores/memory-store.d.ts.map +0 -1
  87. package/dist/credential-stores/memory-store.js +0 -58
  88. package/dist/credential-stores/memory-store.js.map +0 -1
  89. package/dist/credential-stores/nango-store.d.ts +0 -59
  90. package/dist/credential-stores/nango-store.d.ts.map +0 -1
  91. package/dist/credential-stores/nango-store.js +0 -264
  92. package/dist/credential-stores/nango-store.js.map +0 -1
  93. package/dist/credential-stuffer/CredentialStuffer.d.ts +0 -80
  94. package/dist/credential-stuffer/CredentialStuffer.d.ts.map +0 -1
  95. package/dist/credential-stuffer/CredentialStuffer.js +0 -186
  96. package/dist/credential-stuffer/CredentialStuffer.js.map +0 -1
  97. package/dist/credential-stuffer/index.d.ts +0 -2
  98. package/dist/credential-stuffer/index.d.ts.map +0 -1
  99. package/dist/credential-stuffer/index.js +0 -2
  100. package/dist/credential-stuffer/index.js.map +0 -1
  101. package/dist/data-access/agentDataComponents.d.ts +0 -1
  102. package/dist/data-access/agentDataComponents.d.ts.map +0 -1
  103. package/dist/data-access/agentDataComponents.js +0 -2
  104. package/dist/data-access/agentDataComponents.js.map +0 -1
  105. package/dist/data-access/agentGraphs.d.ts +0 -399
  106. package/dist/data-access/agentGraphs.d.ts.map +0 -1
  107. package/dist/data-access/agentGraphs.js +0 -551
  108. package/dist/data-access/agentGraphs.js.map +0 -1
  109. package/dist/data-access/agentRelations.d.ts +0 -456
  110. package/dist/data-access/agentRelations.d.ts.map +0 -1
  111. package/dist/data-access/agentRelations.js +0 -471
  112. package/dist/data-access/agentRelations.js.map +0 -1
  113. package/dist/data-access/agents.d.ts +0 -218
  114. package/dist/data-access/agents.d.ts.map +0 -1
  115. package/dist/data-access/agents.js +0 -130
  116. package/dist/data-access/agents.js.map +0 -1
  117. package/dist/data-access/apiKeys.d.ts +0 -114
  118. package/dist/data-access/apiKeys.d.ts.map +0 -1
  119. package/dist/data-access/apiKeys.js +0 -185
  120. package/dist/data-access/apiKeys.js.map +0 -1
  121. package/dist/data-access/artifactComponents.d.ts +0 -152
  122. package/dist/data-access/artifactComponents.d.ts.map +0 -1
  123. package/dist/data-access/artifactComponents.js +0 -214
  124. package/dist/data-access/artifactComponents.js.map +0 -1
  125. package/dist/data-access/contextCache.d.ts +0 -68
  126. package/dist/data-access/contextCache.d.ts.map +0 -1
  127. package/dist/data-access/contextCache.js +0 -135
  128. package/dist/data-access/contextCache.js.map +0 -1
  129. package/dist/data-access/contextConfigs.d.ts +0 -110
  130. package/dist/data-access/contextConfigs.d.ts.map +0 -1
  131. package/dist/data-access/contextConfigs.js +0 -156
  132. package/dist/data-access/contextConfigs.js.map +0 -1
  133. package/dist/data-access/conversations.d.ts +0 -125
  134. package/dist/data-access/conversations.d.ts.map +0 -1
  135. package/dist/data-access/conversations.js +0 -244
  136. package/dist/data-access/conversations.js.map +0 -1
  137. package/dist/data-access/credentialReferences.d.ts +0 -86
  138. package/dist/data-access/credentialReferences.d.ts.map +0 -1
  139. package/dist/data-access/credentialReferences.js +0 -175
  140. package/dist/data-access/credentialReferences.js.map +0 -1
  141. package/dist/data-access/dataComponents.d.ts +0 -129
  142. package/dist/data-access/dataComponents.d.ts.map +0 -1
  143. package/dist/data-access/dataComponents.js +0 -213
  144. package/dist/data-access/dataComponents.js.map +0 -1
  145. package/dist/data-access/externalAgents.d.ts +0 -83
  146. package/dist/data-access/externalAgents.d.ts.map +0 -1
  147. package/dist/data-access/externalAgents.js +0 -163
  148. package/dist/data-access/externalAgents.js.map +0 -1
  149. package/dist/data-access/graphFull.d.ts +0 -32
  150. package/dist/data-access/graphFull.d.ts.map +0 -1
  151. package/dist/data-access/graphFull.js +0 -996
  152. package/dist/data-access/graphFull.js.map +0 -1
  153. package/dist/data-access/index.d.ts +0 -21
  154. package/dist/data-access/index.d.ts.map +0 -1
  155. package/dist/data-access/index.js +0 -22
  156. package/dist/data-access/index.js.map +0 -1
  157. package/dist/data-access/ledgerArtifacts.d.ts +0 -49
  158. package/dist/data-access/ledgerArtifacts.d.ts.map +0 -1
  159. package/dist/data-access/ledgerArtifacts.js +0 -112
  160. package/dist/data-access/ledgerArtifacts.js.map +0 -1
  161. package/dist/data-access/messages.d.ts +0 -209
  162. package/dist/data-access/messages.d.ts.map +0 -1
  163. package/dist/data-access/messages.js +0 -100
  164. package/dist/data-access/messages.js.map +0 -1
  165. package/dist/data-access/projects.d.ts +0 -67
  166. package/dist/data-access/projects.d.ts.map +0 -1
  167. package/dist/data-access/projects.js +0 -337
  168. package/dist/data-access/projects.js.map +0 -1
  169. package/dist/data-access/tasks.d.ts +0 -37
  170. package/dist/data-access/tasks.d.ts.map +0 -1
  171. package/dist/data-access/tasks.js +0 -40
  172. package/dist/data-access/tasks.js.map +0 -1
  173. package/dist/data-access/tools.d.ts +0 -277
  174. package/dist/data-access/tools.d.ts.map +0 -1
  175. package/dist/data-access/tools.js +0 -183
  176. package/dist/data-access/tools.js.map +0 -1
  177. package/dist/data-access/validation.d.ts +0 -17
  178. package/dist/data-access/validation.d.ts.map +0 -1
  179. package/dist/data-access/validation.js +0 -52
  180. package/dist/data-access/validation.js.map +0 -1
  181. package/dist/db/clean.d.ts +0 -6
  182. package/dist/db/clean.d.ts.map +0 -1
  183. package/dist/db/clean.js +0 -81
  184. package/dist/db/clean.js.map +0 -1
  185. package/dist/db/client.d.ts +0 -19
  186. package/dist/db/client.d.ts.map +0 -1
  187. package/dist/db/client.js +0 -24
  188. package/dist/db/client.js.map +0 -1
  189. package/dist/db/schema.d.ts.map +0 -1
  190. package/dist/db/schema.js.map +0 -1
  191. package/dist/db/test-client.d.ts +0 -25
  192. package/dist/db/test-client.d.ts.map +0 -1
  193. package/dist/db/test-client.js +0 -136
  194. package/dist/db/test-client.js.map +0 -1
  195. package/dist/env.d.ts +0 -19
  196. package/dist/env.d.ts.map +0 -1
  197. package/dist/env.js +0 -49
  198. package/dist/env.js.map +0 -1
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/index.js.map +0 -1
  201. package/dist/middleware/contextValidation.d.ts +0 -49
  202. package/dist/middleware/contextValidation.d.ts.map +0 -1
  203. package/dist/middleware/contextValidation.js +0 -473
  204. package/dist/middleware/contextValidation.js.map +0 -1
  205. package/dist/middleware/index.d.ts +0 -2
  206. package/dist/middleware/index.d.ts.map +0 -1
  207. package/dist/middleware/index.js +0 -2
  208. package/dist/middleware/index.js.map +0 -1
  209. package/dist/types/a2a.d.ts +0 -373
  210. package/dist/types/a2a.d.ts.map +0 -1
  211. package/dist/types/a2a.js +0 -14
  212. package/dist/types/a2a.js.map +0 -1
  213. package/dist/types/entities.d.ts +0 -147
  214. package/dist/types/entities.d.ts.map +0 -1
  215. package/dist/types/entities.js +0 -2
  216. package/dist/types/entities.js.map +0 -1
  217. package/dist/types/index.d.ts.map +0 -1
  218. package/dist/types/index.js.map +0 -1
  219. package/dist/types/server.d.ts +0 -116
  220. package/dist/types/server.d.ts.map +0 -1
  221. package/dist/types/server.js +0 -2
  222. package/dist/types/server.js.map +0 -1
  223. package/dist/types/utility.d.ts +0 -213
  224. package/dist/types/utility.d.ts.map +0 -1
  225. package/dist/types/utility.js +0 -9
  226. package/dist/types/utility.js.map +0 -1
  227. package/dist/utils/apiKeys.d.ts +0 -32
  228. package/dist/utils/apiKeys.d.ts.map +0 -1
  229. package/dist/utils/apiKeys.js +0 -117
  230. package/dist/utils/apiKeys.js.map +0 -1
  231. package/dist/utils/auth-detection.d.ts +0 -23
  232. package/dist/utils/auth-detection.d.ts.map +0 -1
  233. package/dist/utils/auth-detection.js +0 -148
  234. package/dist/utils/auth-detection.js.map +0 -1
  235. package/dist/utils/credential-store-utils.d.ts +0 -11
  236. package/dist/utils/credential-store-utils.d.ts.map +0 -1
  237. package/dist/utils/credential-store-utils.js +0 -19
  238. package/dist/utils/credential-store-utils.js.map +0 -1
  239. package/dist/utils/error.d.ts +0 -526
  240. package/dist/utils/error.d.ts.map +0 -1
  241. package/dist/utils/error.js +0 -282
  242. package/dist/utils/error.js.map +0 -1
  243. package/dist/utils/execution.d.ts +0 -18
  244. package/dist/utils/execution.d.ts.map +0 -1
  245. package/dist/utils/execution.js +0 -25
  246. package/dist/utils/execution.js.map +0 -1
  247. package/dist/utils/index.d.ts +0 -9
  248. package/dist/utils/index.d.ts.map +0 -1
  249. package/dist/utils/index.js +0 -9
  250. package/dist/utils/index.js.map +0 -1
  251. package/dist/utils/logger.d.ts +0 -79
  252. package/dist/utils/logger.d.ts.map +0 -1
  253. package/dist/utils/logger.js +0 -102
  254. package/dist/utils/logger.js.map +0 -1
  255. package/dist/utils/logging.d.ts +0 -11
  256. package/dist/utils/logging.d.ts.map +0 -1
  257. package/dist/utils/logging.js +0 -6
  258. package/dist/utils/logging.js.map +0 -1
  259. package/dist/utils/mcp-client.d.ts +0 -48
  260. package/dist/utils/mcp-client.d.ts.map +0 -1
  261. package/dist/utils/mcp-client.js +0 -174
  262. package/dist/utils/mcp-client.js.map +0 -1
  263. package/dist/utils/tracer.d.ts +0 -24
  264. package/dist/utils/tracer.d.ts.map +0 -1
  265. package/dist/utils/tracer.js +0 -110
  266. package/dist/utils/tracer.js.map +0 -1
  267. package/dist/validation/graphFull.d.ts +0 -36
  268. package/dist/validation/graphFull.d.ts.map +0 -1
  269. package/dist/validation/graphFull.js +0 -128
  270. package/dist/validation/graphFull.js.map +0 -1
  271. package/dist/validation/id-validation.d.ts +0 -38
  272. package/dist/validation/id-validation.d.ts.map +0 -1
  273. package/dist/validation/id-validation.js +0 -60
  274. package/dist/validation/id-validation.js.map +0 -1
  275. package/dist/validation/index.d.ts.map +0 -1
  276. package/dist/validation/index.js.map +0 -1
  277. package/dist/validation/schemas.d.ts.map +0 -1
  278. package/dist/validation/schemas.js +0 -576
  279. package/dist/validation/schemas.js.map +0 -1
@@ -1,110 +0,0 @@
1
- import type { DatabaseClient } from '../db/client';
2
- import type { ContextConfigInsert, ContextConfigUpdate } from '../types/entities';
3
- import type { PaginationConfig, ScopeConfig } from '../types/utility';
4
- export declare const getContextConfigById: (db: DatabaseClient) => (params: {
5
- scopes: ScopeConfig;
6
- id: string;
7
- }) => Promise<{
8
- tenantId: string;
9
- projectId: string;
10
- id: string;
11
- name: string;
12
- description: string;
13
- createdAt: string;
14
- updatedAt: string;
15
- requestContextSchema: unknown;
16
- contextVariables: Record<string, import("..").ContextFetchDefinition> | null;
17
- } | undefined>;
18
- export declare const listContextConfigs: (db: DatabaseClient) => (params: {
19
- scopes: ScopeConfig;
20
- }) => Promise<{
21
- tenantId: string;
22
- projectId: string;
23
- id: string;
24
- name: string;
25
- description: string;
26
- createdAt: string;
27
- updatedAt: string;
28
- requestContextSchema: unknown;
29
- contextVariables: Record<string, import("..").ContextFetchDefinition> | null;
30
- }[]>;
31
- export declare const listContextConfigsPaginated: (db: DatabaseClient) => (params: {
32
- scopes: ScopeConfig;
33
- pagination?: PaginationConfig;
34
- }) => Promise<{
35
- data: any[];
36
- pagination: {
37
- page: number;
38
- limit: number;
39
- total: number;
40
- pages: number;
41
- };
42
- }>;
43
- export declare const createContextConfig: (db: DatabaseClient) => (params: ContextConfigInsert) => Promise<{
44
- tenantId: string;
45
- projectId: string;
46
- id: string;
47
- name: string;
48
- description: string;
49
- createdAt: string;
50
- updatedAt: string;
51
- requestContextSchema: unknown;
52
- contextVariables: Record<string, import("..").ContextFetchDefinition> | null;
53
- }>;
54
- export declare const updateContextConfig: (db: DatabaseClient) => (params: {
55
- scopes: ScopeConfig;
56
- id: string;
57
- data: Partial<ContextConfigUpdate>;
58
- }) => Promise<{
59
- tenantId: string;
60
- projectId: string;
61
- id: string;
62
- name: string;
63
- description: string;
64
- createdAt: string;
65
- updatedAt: string;
66
- requestContextSchema: unknown;
67
- contextVariables: Record<string, import("..").ContextFetchDefinition> | null;
68
- }>;
69
- export declare const deleteContextConfig: (db: DatabaseClient) => (params: {
70
- scopes: ScopeConfig;
71
- id: string;
72
- }) => Promise<boolean>;
73
- export declare const hasContextConfig: (db: DatabaseClient) => (params: {
74
- scopes: ScopeConfig;
75
- id: string;
76
- }) => Promise<boolean>;
77
- export declare const countContextConfigs: (db: DatabaseClient) => (params: {
78
- scopes: ScopeConfig;
79
- }) => Promise<number>;
80
- export declare const getContextConfigsByName: (db: DatabaseClient) => (params: {
81
- scopes: ScopeConfig;
82
- name: string;
83
- }) => Promise<{
84
- tenantId: string;
85
- projectId: string;
86
- id: string;
87
- name: string;
88
- description: string;
89
- createdAt: string;
90
- updatedAt: string;
91
- requestContextSchema: unknown;
92
- contextVariables: Record<string, import("..").ContextFetchDefinition> | null;
93
- }[]>;
94
- /**
95
- * Upsert a context config (create if it doesn't exist, update if it does)
96
- */
97
- export declare const upsertContextConfig: (db: DatabaseClient) => (params: {
98
- data: ContextConfigInsert;
99
- }) => Promise<{
100
- tenantId: string;
101
- projectId: string;
102
- id: string;
103
- name: string;
104
- description: string;
105
- createdAt: string;
106
- updatedAt: string;
107
- requestContextSchema: unknown;
108
- contextVariables: Record<string, import("..").ContextFetchDefinition> | null;
109
- }>;
110
- //# sourceMappingURL=contextConfigs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contextConfigs.d.ts","sourceRoot":"","sources":["../../src/data-access/contextConfigs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEtE,eAAO,MAAM,oBAAoB,GAC9B,IAAI,cAAc,MAAY,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;cAQzE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAC5B,IAAI,cAAc,MAAY,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE;;;;;;;;;;IAQ7D,CAAC;AAEJ,eAAO,MAAM,2BAA2B,GACrC,IAAI,cAAc,MACZ,QAAQ;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,KAAG,OAAO,CAAC;IACV,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E,CAkCA,CAAC;AAEJ,eAAO,MAAM,mBAAmB,GAAI,IAAI,cAAc,MAAY,QAAQ,mBAAmB;;;;;;;;;;EA+B5F,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC7B,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAAE;;;;;;;;;;EAuCrF,CAAC;AAEJ,eAAO,MAAM,mBAAmB,GAC7B,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,OAAO,CAkBnE,CAAC;AAEJ,eAAO,MAAM,gBAAgB,GAC1B,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,OAAO,CAGnE,CAAC;AAEJ,eAAO,MAAM,mBAAmB,GAC7B,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,KAAG,OAAO,CAAC,MAAM,CAatD,CAAC;AAEJ,eAAO,MAAM,uBAAuB,GACjC,IAAI,cAAc,MAAY,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;IAS3E,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC7B,IAAI,cAAc,MAAY,QAAQ;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE;;;;;;;;;;EA2BnE,CAAC"}
@@ -1,156 +0,0 @@
1
- import { and, count, desc, eq, sql } from 'drizzle-orm';
2
- import { nanoid } from 'nanoid';
3
- import { contextConfigs } from '../db/schema';
4
- export const getContextConfigById = (db) => async (params) => {
5
- return await db.query.contextConfigs.findFirst({
6
- where: and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId), eq(contextConfigs.id, params.id)),
7
- });
8
- };
9
- export const listContextConfigs = (db) => async (params) => {
10
- return await db.query.contextConfigs.findMany({
11
- where: and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId)),
12
- orderBy: [desc(contextConfigs.createdAt)],
13
- });
14
- };
15
- export const listContextConfigsPaginated = (db) => async (params) => {
16
- const page = params.pagination?.page || 1;
17
- const limit = Math.min(params.pagination?.limit || 10, 100);
18
- const offset = (page - 1) * limit;
19
- const whereClause = and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId));
20
- // Get paginated results
21
- const [contextConfigList, totalResult] = await Promise.all([
22
- db
23
- .select()
24
- .from(contextConfigs)
25
- .where(whereClause)
26
- .limit(limit)
27
- .offset(offset)
28
- .orderBy(desc(contextConfigs.createdAt)),
29
- db.select({ count: sql `COUNT(*)` }).from(contextConfigs).where(whereClause),
30
- ]);
31
- const total = Number(totalResult[0]?.count || 0);
32
- const pages = Math.ceil(total / limit);
33
- return {
34
- data: contextConfigList,
35
- pagination: {
36
- page,
37
- limit,
38
- total,
39
- pages,
40
- },
41
- };
42
- };
43
- export const createContextConfig = (db) => async (params) => {
44
- const id = params.id || nanoid();
45
- const now = new Date().toISOString();
46
- // Process contextVariables: empty object should be treated as null for consistency
47
- let contextVariables = params.contextVariables;
48
- if (contextVariables !== undefined &&
49
- contextVariables !== null &&
50
- typeof contextVariables === 'object' &&
51
- Object.keys(contextVariables).length === 0) {
52
- contextVariables = null;
53
- }
54
- const contextConfig = await db
55
- .insert(contextConfigs)
56
- .values({
57
- id,
58
- tenantId: params.tenantId,
59
- projectId: params.projectId,
60
- name: params.name,
61
- description: params.description,
62
- requestContextSchema: params.requestContextSchema ?? null,
63
- contextVariables: contextVariables ?? null,
64
- createdAt: now,
65
- updatedAt: now,
66
- })
67
- .returning();
68
- return contextConfig[0];
69
- };
70
- export const updateContextConfig = (db) => async (params) => {
71
- const now = new Date().toISOString();
72
- // Process the update data to handle null/empty object clearing
73
- const processedData = { ...params.data };
74
- // Handle contextVariables clearing: null or empty object should set to null for consistency
75
- if ('contextVariables' in params.data) {
76
- if (params.data.contextVariables === null ||
77
- (typeof params.data.contextVariables === 'object' &&
78
- params.data.contextVariables !== null &&
79
- Object.keys(params.data.contextVariables).length === 0)) {
80
- processedData.contextVariables = null;
81
- }
82
- }
83
- // Handle requestContextSchema clearing: null should remain null
84
- if ('requestContextSchema' in params.data && params.data.requestContextSchema === null) {
85
- processedData.requestContextSchema = null;
86
- }
87
- const updated = await db
88
- .update(contextConfigs)
89
- .set({
90
- ...processedData,
91
- updatedAt: now,
92
- })
93
- .where(and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId), eq(contextConfigs.id, params.id)))
94
- .returning();
95
- return updated[0];
96
- };
97
- export const deleteContextConfig = (db) => async (params) => {
98
- try {
99
- const result = await db
100
- .delete(contextConfigs)
101
- .where(and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId), eq(contextConfigs.id, params.id)))
102
- .returning();
103
- return result.length > 0;
104
- }
105
- catch (error) {
106
- console.error('Error deleting context config:', error);
107
- return false;
108
- }
109
- };
110
- export const hasContextConfig = (db) => async (params) => {
111
- const contextConfig = await getContextConfigById(db)(params);
112
- return contextConfig !== null;
113
- };
114
- export const countContextConfigs = (db) => async (params) => {
115
- const result = await db
116
- .select({ count: count() })
117
- .from(contextConfigs)
118
- .where(and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId)));
119
- const total = result[0]?.count || 0;
120
- return typeof total === 'string' ? Number.parseInt(total, 10) : total;
121
- };
122
- export const getContextConfigsByName = (db) => async (params) => {
123
- return await db.query.contextConfigs.findMany({
124
- where: and(eq(contextConfigs.tenantId, params.scopes.tenantId), eq(contextConfigs.projectId, params.scopes.projectId), eq(contextConfigs.name, params.name)),
125
- orderBy: [desc(contextConfigs.createdAt)],
126
- });
127
- };
128
- /**
129
- * Upsert a context config (create if it doesn't exist, update if it does)
130
- */
131
- export const upsertContextConfig = (db) => async (params) => {
132
- const scopes = { tenantId: params.data.tenantId, projectId: params.data.projectId };
133
- // If an ID is provided, check if it exists
134
- if (params.data.id) {
135
- const existing = await getContextConfigById(db)({
136
- scopes,
137
- id: params.data.id,
138
- });
139
- if (existing) {
140
- // Update existing context config
141
- return await updateContextConfig(db)({
142
- scopes,
143
- id: params.data.id,
144
- data: {
145
- name: params.data.name,
146
- description: params.data.description,
147
- requestContextSchema: params.data.requestContextSchema,
148
- contextVariables: params.data.contextVariables,
149
- },
150
- });
151
- }
152
- }
153
- // Create new context config (either no ID provided or ID doesn't exist)
154
- return await createContextConfig(db)(params.data);
155
- };
156
- //# sourceMappingURL=contextConfigs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contextConfigs.js","sourceRoot":"","sources":["../../src/data-access/contextConfigs.ts"],"names":[],"mappings":"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"}
@@ -1,125 +0,0 @@
1
- import type { DatabaseClient } from '../db/client';
2
- import type { ConversationHistoryConfig, ConversationInsert, ConversationSelect, ConversationUpdate, PaginationConfig, ScopeConfig } from '../types/index';
3
- export declare const listConversations: (db: DatabaseClient) => (params: {
4
- scopes: ScopeConfig;
5
- userId?: string;
6
- pagination?: PaginationConfig;
7
- }) => Promise<{
8
- conversations: ConversationSelect[];
9
- total: number;
10
- }>;
11
- export declare const createConversation: (db: DatabaseClient) => (params: ConversationInsert) => Promise<{
12
- tenantId: string;
13
- projectId: string;
14
- id: string;
15
- createdAt: string;
16
- updatedAt: string;
17
- metadata: import("..").ConversationMetadata | null;
18
- userId: string | null;
19
- activeAgentId: string;
20
- title: string | null;
21
- lastContextResolution: string | null;
22
- }>;
23
- export declare const updateConversation: (db: DatabaseClient) => (params: {
24
- scopes: ScopeConfig;
25
- conversationId: string;
26
- data: ConversationUpdate;
27
- }) => Promise<{
28
- tenantId: string;
29
- projectId: string;
30
- id: string;
31
- createdAt: string;
32
- updatedAt: string;
33
- metadata: import("..").ConversationMetadata | null;
34
- userId: string | null;
35
- activeAgentId: string;
36
- title: string | null;
37
- lastContextResolution: string | null;
38
- }>;
39
- export declare const deleteConversation: (db: DatabaseClient) => (params: {
40
- scopes: ScopeConfig;
41
- conversationId: string;
42
- }) => Promise<boolean>;
43
- export declare const updateConversationActiveAgent: (db: DatabaseClient) => (params: {
44
- scopes: ScopeConfig;
45
- conversationId: string;
46
- activeAgentId: string;
47
- }) => Promise<{
48
- tenantId: string;
49
- projectId: string;
50
- id: string;
51
- createdAt: string;
52
- updatedAt: string;
53
- metadata: import("..").ConversationMetadata | null;
54
- userId: string | null;
55
- activeAgentId: string;
56
- title: string | null;
57
- lastContextResolution: string | null;
58
- }>;
59
- export declare const getConversation: (db: DatabaseClient) => (params: {
60
- scopes: ScopeConfig;
61
- conversationId: string;
62
- }) => Promise<{
63
- tenantId: string;
64
- projectId: string;
65
- id: string;
66
- createdAt: string;
67
- updatedAt: string;
68
- metadata: import("..").ConversationMetadata | null;
69
- userId: string | null;
70
- activeAgentId: string;
71
- title: string | null;
72
- lastContextResolution: string | null;
73
- } | undefined>;
74
- export declare const createOrGetConversation: (db: DatabaseClient) => (input: ConversationInsert) => Promise<{
75
- id: string;
76
- tenantId: string;
77
- projectId: string;
78
- userId: string | null | undefined;
79
- activeAgentId: string;
80
- title: string | null | undefined;
81
- lastContextResolution: string | null | undefined;
82
- metadata: import("..").ConversationMetadata | null | undefined;
83
- createdAt: string;
84
- updatedAt: string;
85
- }>;
86
- /**
87
- * Get conversation history with filtering and context management
88
- */
89
- export declare const getConversationHistory: (db: DatabaseClient) => (params: {
90
- scopes: ScopeConfig;
91
- conversationId: string;
92
- options?: ConversationHistoryConfig;
93
- }) => Promise<any[]>;
94
- /**
95
- * Get active agent for a conversation
96
- */
97
- export declare const getActiveAgentForConversation: (db: DatabaseClient) => (params: {
98
- scopes: ScopeConfig;
99
- conversationId: string;
100
- }) => Promise<{
101
- tenantId: string;
102
- projectId: string;
103
- id: string;
104
- createdAt: string;
105
- updatedAt: string;
106
- metadata: import("..").ConversationMetadata | null;
107
- userId: string | null;
108
- activeAgentId: string;
109
- title: string | null;
110
- lastContextResolution: string | null;
111
- } | undefined>;
112
- /**
113
- * Set active agent for a conversation (upsert operation)
114
- */
115
- export declare const setActiveAgentForConversation: (db: DatabaseClient) => (params: {
116
- scopes: ScopeConfig;
117
- conversationId: string;
118
- agentId: string;
119
- }) => Promise<void>;
120
- export declare const setActiveAgentForThread: (db: DatabaseClient) => ({ scopes, threadId, agentId, }: {
121
- scopes: ScopeConfig;
122
- threadId: string;
123
- agentId: string;
124
- }) => Promise<void>;
125
- //# sourceMappingURL=conversations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/data-access/conversations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAElB,gBAAgB,EAChB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,iBAAiB,GAC3B,IAAI,cAAc,MACZ,QAAQ;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,KAAG,OAAO,CAAC;IAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAoCjE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,IAAI,cAAc,MAAY,QAAQ,kBAAkB;;;;;;;;;;;EAa1F,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC5B,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE;;;;;;;;;;;EAmBvF,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAC5B,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,OAAO,CA6B/E,CAAC;AAEJ,eAAO,MAAM,6BAA6B,GACvC,IAAI,cAAc,MACZ,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;EAQpF,CAAC;AAGJ,eAAO,MAAM,eAAe,GACzB,IAAI,cAAc,MAAY,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;cAQrF,CAAC;AAGJ,eAAO,MAAM,uBAAuB,GACjC,IAAI,cAAc,MAAY,OAAO,kBAAkB;;;;;;;;;;;EA0CvD,CAAC;AA6DJ;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAChC,IAAI,cAAc,MACZ,QAAQ;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,KAAG,OAAO,CAAC,GAAG,EAAE,CAsChB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,6BAA6B,GACvC,IAAI,cAAc,MAAY,QAAQ;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;cAQrF,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,6BAA6B,GACvC,IAAI,cAAc,MACZ,QAAQ;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,KAAG,OAAO,CAAC,IAAI,CAkBf,CAAC;AAEJ,eAAO,MAAM,uBAAuB,GACjC,IAAI,cAAc,MACZ,gCAIJ;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,kBAEA,CAAC"}
@@ -1,244 +0,0 @@
1
- import { and, count, desc, eq } from 'drizzle-orm';
2
- import { nanoid } from 'nanoid';
3
- import { conversations, messages } from '../db/schema';
4
- export const listConversations = (db) => async (params) => {
5
- const { userId, pagination } = params;
6
- const page = pagination?.page || 1;
7
- const limit = Math.min(pagination?.limit || 20, 200);
8
- const offset = (page - 1) * limit;
9
- const whereConditions = [
10
- eq(conversations.tenantId, params.scopes.tenantId),
11
- eq(conversations.projectId, params.scopes.projectId),
12
- ];
13
- if (userId) {
14
- whereConditions.push(eq(conversations.userId, userId));
15
- }
16
- const conversationList = await db
17
- .select()
18
- .from(conversations)
19
- .where(and(...whereConditions))
20
- .orderBy(desc(conversations.updatedAt))
21
- .limit(limit)
22
- .offset(offset);
23
- // Get total count for pagination
24
- const totalResult = await db
25
- .select({ count: count() })
26
- .from(conversations)
27
- .where(and(...whereConditions));
28
- const total = totalResult[0]?.count || 0;
29
- return {
30
- conversations: conversationList,
31
- total: typeof total === 'string' ? Number.parseInt(total, 10) : total,
32
- };
33
- };
34
- export const createConversation = (db) => async (params) => {
35
- const now = new Date().toISOString();
36
- const [created] = await db
37
- .insert(conversations)
38
- .values({
39
- ...params,
40
- createdAt: now,
41
- updatedAt: now,
42
- })
43
- .returning();
44
- return created;
45
- };
46
- export const updateConversation = (db) => async (params) => {
47
- const now = new Date().toISOString();
48
- const [updated] = await db
49
- .update(conversations)
50
- .set({
51
- ...params.data,
52
- updatedAt: now,
53
- })
54
- .where(and(eq(conversations.tenantId, params.scopes.tenantId), eq(conversations.projectId, params.scopes.projectId), eq(conversations.id, params.conversationId)))
55
- .returning();
56
- return updated;
57
- };
58
- export const deleteConversation = (db) => async (params) => {
59
- try {
60
- // Delete messages first (due to foreign key constraints)
61
- await db
62
- .delete(messages)
63
- .where(and(eq(messages.tenantId, params.scopes.tenantId), eq(messages.projectId, params.scopes.projectId), eq(messages.conversationId, params.conversationId)));
64
- // Delete conversation
65
- await db
66
- .delete(conversations)
67
- .where(and(eq(conversations.tenantId, params.scopes.tenantId), eq(conversations.projectId, params.scopes.projectId), eq(conversations.id, params.conversationId)));
68
- return true;
69
- }
70
- catch (error) {
71
- console.error('Error deleting conversation:', error);
72
- return false;
73
- }
74
- };
75
- export const updateConversationActiveAgent = (db) => async (params) => {
76
- return updateConversation(db)({
77
- scopes: params.scopes,
78
- conversationId: params.conversationId,
79
- data: {
80
- activeAgentId: params.activeAgentId,
81
- },
82
- });
83
- };
84
- //simpler getConversation
85
- export const getConversation = (db) => async (params) => {
86
- return await db.query.conversations.findFirst({
87
- where: and(eq(conversations.tenantId, params.scopes.tenantId), eq(conversations.projectId, params.scopes.projectId), eq(conversations.id, params.conversationId)),
88
- });
89
- };
90
- // Create or get existing conversation
91
- export const createOrGetConversation = (db) => async (input) => {
92
- const conversationId = input.id || nanoid();
93
- // Check if conversation already exists
94
- if (input.id) {
95
- const existing = await db.query.conversations.findFirst({
96
- where: and(eq(conversations.tenantId, input.tenantId), eq(conversations.id, input.id)),
97
- });
98
- if (existing) {
99
- // Update active agent if different
100
- if (existing.activeAgentId !== input.activeAgentId) {
101
- await db
102
- .update(conversations)
103
- .set({
104
- activeAgentId: input.activeAgentId,
105
- updatedAt: new Date().toISOString(),
106
- })
107
- .where(eq(conversations.id, input.id));
108
- return { ...existing, activeAgentId: input.activeAgentId };
109
- }
110
- return existing;
111
- }
112
- }
113
- // Create new conversation
114
- const newConversation = {
115
- id: conversationId,
116
- tenantId: input.tenantId,
117
- projectId: input.projectId,
118
- userId: input.userId,
119
- activeAgentId: input.activeAgentId,
120
- title: input.title,
121
- lastContextResolution: input.lastContextResolution,
122
- metadata: input.metadata,
123
- createdAt: new Date().toISOString(),
124
- updatedAt: new Date().toISOString(),
125
- };
126
- await db.insert(conversations).values(newConversation);
127
- return newConversation;
128
- };
129
- /**
130
- * Extract text content from message content object
131
- */
132
- function extractMessageText(content) {
133
- if (content.text) {
134
- return content.text;
135
- }
136
- if (content.parts) {
137
- return content.parts
138
- .filter((part) => part.kind === 'text' && part.text)
139
- .map((part) => part.text)
140
- .join(' ');
141
- }
142
- return '';
143
- }
144
- /**
145
- * Apply context window management by truncating or summarizing old messages
146
- */
147
- function applyContextWindowManagement(messageHistory, maxTokens) {
148
- // Simple token estimation: ~4 characters per token
149
- const estimateTokens = (text) => Math.ceil(text.length / 4);
150
- let totalTokens = 0;
151
- const managedHistory = [];
152
- // Process messages from most recent backwards
153
- for (let i = messageHistory.length - 1; i >= 0; i--) {
154
- const message = messageHistory[i];
155
- const messageText = extractMessageText(message.content);
156
- const messageTokens = estimateTokens(messageText);
157
- if (totalTokens + messageTokens <= maxTokens) {
158
- managedHistory.unshift(message);
159
- totalTokens += messageTokens;
160
- }
161
- else {
162
- // Add a summary message for truncated history if there are more messages
163
- if (i > 0) {
164
- const summaryMessage = {
165
- id: `summary-${nanoid()}`,
166
- role: 'system',
167
- content: {
168
- text: `[Previous conversation history truncated - ${i + 1} earlier messages]`,
169
- },
170
- visibility: 'system',
171
- messageType: 'chat',
172
- createdAt: messageHistory[0].createdAt,
173
- };
174
- managedHistory.unshift(summaryMessage);
175
- }
176
- break;
177
- }
178
- }
179
- return managedHistory;
180
- }
181
- /**
182
- * Get conversation history with filtering and context management
183
- */
184
- export const getConversationHistory = (db) => async (params) => {
185
- const { scopes, conversationId, options = {} } = params;
186
- const { tenantId, projectId } = scopes;
187
- const { limit = options.limit ?? 50, includeInternal = options.includeInternal ?? false, messageTypes = options.messageTypes ?? ['chat'], maxOutputTokens, } = options;
188
- const whereConditions = [
189
- eq(messages.tenantId, tenantId),
190
- eq(messages.projectId, projectId),
191
- eq(messages.conversationId, conversationId),
192
- ];
193
- // Filter by visibility unless explicitly including internal messages
194
- if (!includeInternal) {
195
- whereConditions.push(eq(messages.visibility, 'user-facing'));
196
- }
197
- const messageHistory = await db
198
- .select()
199
- .from(messages)
200
- .where(and(...whereConditions))
201
- .orderBy(desc(messages.createdAt))
202
- .limit(limit);
203
- // Reverse to get chronological order (oldest first)
204
- const chronologicalHistory = messageHistory.reverse();
205
- // Apply context window management if maxOutputTokens is specified
206
- if (maxOutputTokens) {
207
- return applyContextWindowManagement(chronologicalHistory, maxOutputTokens);
208
- }
209
- return chronologicalHistory;
210
- };
211
- /**
212
- * Get active agent for a conversation
213
- */
214
- export const getActiveAgentForConversation = (db) => async (params) => {
215
- return await db.query.conversations.findFirst({
216
- where: and(eq(conversations.tenantId, params.scopes.tenantId), eq(conversations.projectId, params.scopes.projectId), eq(conversations.id, params.conversationId)),
217
- });
218
- };
219
- /**
220
- * Set active agent for a conversation (upsert operation)
221
- */
222
- export const setActiveAgentForConversation = (db) => async (params) => {
223
- await db
224
- .insert(conversations)
225
- .values({
226
- id: params.conversationId,
227
- tenantId: params.scopes.tenantId,
228
- projectId: params.scopes.projectId,
229
- activeAgentId: params.agentId,
230
- createdAt: new Date().toISOString(),
231
- updatedAt: new Date().toISOString(),
232
- })
233
- .onConflictDoUpdate({
234
- target: [conversations.tenantId, conversations.projectId, conversations.id],
235
- set: {
236
- activeAgentId: params.agentId,
237
- updatedAt: new Date().toISOString(),
238
- },
239
- });
240
- };
241
- export const setActiveAgentForThread = (db) => async ({ scopes, threadId, agentId, }) => {
242
- return setActiveAgentForConversation(db)({ scopes, conversationId: threadId, agentId });
243
- };
244
- //# sourceMappingURL=conversations.js.map