@inkeep/agents-core 0.1.4 → 0.1.7

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 (278) hide show
  1. package/README.md +2 -2
  2. package/SUPPLEMENTAL_TERMS.md +40 -0
  3. package/dist/chunk-BMKWVKI2.js +126 -0
  4. package/dist/chunk-H2F72PDA.js +15 -0
  5. package/dist/chunk-MKBO26DX.js +9 -0
  6. package/dist/chunk-MXQKLGQK.js +925 -0
  7. package/dist/chunk-R3VVJXX7.js +575 -0
  8. package/dist/chunk-SVGQSPW4.js +24 -0
  9. package/dist/client-exports.cjs +1702 -0
  10. package/dist/client-exports.js +202 -246
  11. package/dist/db/schema.cjs +922 -0
  12. package/dist/db/schema.js +1 -696
  13. package/dist/index.cjs +10122 -0
  14. package/dist/index.js +7989 -13
  15. package/dist/types/index.cjs +45 -0
  16. package/dist/types/index.js +2 -6
  17. package/dist/validation/index.cjs +1772 -0
  18. package/dist/validation/index.js +2 -5
  19. package/package.json +11 -6
  20. package/dist/__tests__/integration/helpers.d.ts +0 -5
  21. package/dist/__tests__/integration/helpers.d.ts.map +0 -1
  22. package/dist/__tests__/integration/helpers.js +0 -37
  23. package/dist/__tests__/integration/helpers.js.map +0 -1
  24. package/dist/__tests__/setup.d.ts +0 -3
  25. package/dist/__tests__/setup.d.ts.map +0 -1
  26. package/dist/__tests__/setup.js +0 -29
  27. package/dist/__tests__/setup.js.map +0 -1
  28. package/dist/client-exports.d.ts +0 -300
  29. package/dist/client-exports.d.ts.map +0 -1
  30. package/dist/client-exports.js.map +0 -1
  31. package/dist/context/ContextConfig.d.ts +0 -54
  32. package/dist/context/ContextConfig.d.ts.map +0 -1
  33. package/dist/context/ContextConfig.js +0 -302
  34. package/dist/context/ContextConfig.js.map +0 -1
  35. package/dist/context/ContextFetcher.d.ts +0 -64
  36. package/dist/context/ContextFetcher.d.ts.map +0 -1
  37. package/dist/context/ContextFetcher.js +0 -325
  38. package/dist/context/ContextFetcher.js.map +0 -1
  39. package/dist/context/ContextResolver.d.ts +0 -52
  40. package/dist/context/ContextResolver.d.ts.map +0 -1
  41. package/dist/context/ContextResolver.js +0 -298
  42. package/dist/context/ContextResolver.js.map +0 -1
  43. package/dist/context/TemplateEngine.d.ts +0 -46
  44. package/dist/context/TemplateEngine.d.ts.map +0 -1
  45. package/dist/context/TemplateEngine.js +0 -175
  46. package/dist/context/TemplateEngine.js.map +0 -1
  47. package/dist/context/context.d.ts +0 -8
  48. package/dist/context/context.d.ts.map +0 -1
  49. package/dist/context/context.js +0 -157
  50. package/dist/context/context.js.map +0 -1
  51. package/dist/context/contextCache.d.ts +0 -50
  52. package/dist/context/contextCache.d.ts.map +0 -1
  53. package/dist/context/contextCache.js +0 -175
  54. package/dist/context/contextCache.js.map +0 -1
  55. package/dist/context/index.d.ts +0 -11
  56. package/dist/context/index.d.ts.map +0 -1
  57. package/dist/context/index.js +0 -8
  58. package/dist/context/index.js.map +0 -1
  59. package/dist/credential-stores/CredentialStoreRegistry.d.ts +0 -39
  60. package/dist/credential-stores/CredentialStoreRegistry.d.ts.map +0 -1
  61. package/dist/credential-stores/CredentialStoreRegistry.js +0 -65
  62. package/dist/credential-stores/CredentialStoreRegistry.js.map +0 -1
  63. package/dist/credential-stores/defaults.d.ts +0 -6
  64. package/dist/credential-stores/defaults.d.ts.map +0 -1
  65. package/dist/credential-stores/defaults.js +0 -22
  66. package/dist/credential-stores/defaults.js.map +0 -1
  67. package/dist/credential-stores/index.d.ts +0 -6
  68. package/dist/credential-stores/index.d.ts.map +0 -1
  69. package/dist/credential-stores/index.js +0 -6
  70. package/dist/credential-stores/index.js.map +0 -1
  71. package/dist/credential-stores/keychain-store.d.ts +0 -100
  72. package/dist/credential-stores/keychain-store.d.ts.map +0 -1
  73. package/dist/credential-stores/keychain-store.js +0 -225
  74. package/dist/credential-stores/keychain-store.js.map +0 -1
  75. package/dist/credential-stores/memory-store.d.ts +0 -39
  76. package/dist/credential-stores/memory-store.d.ts.map +0 -1
  77. package/dist/credential-stores/memory-store.js +0 -58
  78. package/dist/credential-stores/memory-store.js.map +0 -1
  79. package/dist/credential-stores/nango-store.d.ts +0 -59
  80. package/dist/credential-stores/nango-store.d.ts.map +0 -1
  81. package/dist/credential-stores/nango-store.js +0 -264
  82. package/dist/credential-stores/nango-store.js.map +0 -1
  83. package/dist/credential-stuffer/CredentialStuffer.d.ts +0 -80
  84. package/dist/credential-stuffer/CredentialStuffer.d.ts.map +0 -1
  85. package/dist/credential-stuffer/CredentialStuffer.js +0 -186
  86. package/dist/credential-stuffer/CredentialStuffer.js.map +0 -1
  87. package/dist/credential-stuffer/index.d.ts +0 -2
  88. package/dist/credential-stuffer/index.d.ts.map +0 -1
  89. package/dist/credential-stuffer/index.js +0 -2
  90. package/dist/credential-stuffer/index.js.map +0 -1
  91. package/dist/data-access/agentDataComponents.d.ts +0 -1
  92. package/dist/data-access/agentDataComponents.d.ts.map +0 -1
  93. package/dist/data-access/agentDataComponents.js +0 -2
  94. package/dist/data-access/agentDataComponents.js.map +0 -1
  95. package/dist/data-access/agentGraphs.d.ts +0 -406
  96. package/dist/data-access/agentGraphs.d.ts.map +0 -1
  97. package/dist/data-access/agentGraphs.js +0 -551
  98. package/dist/data-access/agentGraphs.js.map +0 -1
  99. package/dist/data-access/agentRelations.d.ts +0 -456
  100. package/dist/data-access/agentRelations.d.ts.map +0 -1
  101. package/dist/data-access/agentRelations.js +0 -471
  102. package/dist/data-access/agentRelations.js.map +0 -1
  103. package/dist/data-access/agents.d.ts +0 -218
  104. package/dist/data-access/agents.d.ts.map +0 -1
  105. package/dist/data-access/agents.js +0 -130
  106. package/dist/data-access/agents.js.map +0 -1
  107. package/dist/data-access/apiKeys.d.ts +0 -114
  108. package/dist/data-access/apiKeys.d.ts.map +0 -1
  109. package/dist/data-access/apiKeys.js +0 -185
  110. package/dist/data-access/apiKeys.js.map +0 -1
  111. package/dist/data-access/artifactComponents.d.ts +0 -152
  112. package/dist/data-access/artifactComponents.d.ts.map +0 -1
  113. package/dist/data-access/artifactComponents.js +0 -214
  114. package/dist/data-access/artifactComponents.js.map +0 -1
  115. package/dist/data-access/contextCache.d.ts +0 -68
  116. package/dist/data-access/contextCache.d.ts.map +0 -1
  117. package/dist/data-access/contextCache.js +0 -160
  118. package/dist/data-access/contextCache.js.map +0 -1
  119. package/dist/data-access/contextConfigs.d.ts +0 -110
  120. package/dist/data-access/contextConfigs.d.ts.map +0 -1
  121. package/dist/data-access/contextConfigs.js +0 -156
  122. package/dist/data-access/contextConfigs.js.map +0 -1
  123. package/dist/data-access/conversations.d.ts +0 -125
  124. package/dist/data-access/conversations.d.ts.map +0 -1
  125. package/dist/data-access/conversations.js +0 -244
  126. package/dist/data-access/conversations.js.map +0 -1
  127. package/dist/data-access/credentialReferences.d.ts +0 -86
  128. package/dist/data-access/credentialReferences.d.ts.map +0 -1
  129. package/dist/data-access/credentialReferences.js +0 -175
  130. package/dist/data-access/credentialReferences.js.map +0 -1
  131. package/dist/data-access/dataComponents.d.ts +0 -129
  132. package/dist/data-access/dataComponents.d.ts.map +0 -1
  133. package/dist/data-access/dataComponents.js +0 -213
  134. package/dist/data-access/dataComponents.js.map +0 -1
  135. package/dist/data-access/externalAgents.d.ts +0 -83
  136. package/dist/data-access/externalAgents.d.ts.map +0 -1
  137. package/dist/data-access/externalAgents.js +0 -163
  138. package/dist/data-access/externalAgents.js.map +0 -1
  139. package/dist/data-access/graphFull.d.ts +0 -32
  140. package/dist/data-access/graphFull.d.ts.map +0 -1
  141. package/dist/data-access/graphFull.js +0 -996
  142. package/dist/data-access/graphFull.js.map +0 -1
  143. package/dist/data-access/index.d.ts +0 -21
  144. package/dist/data-access/index.d.ts.map +0 -1
  145. package/dist/data-access/index.js +0 -22
  146. package/dist/data-access/index.js.map +0 -1
  147. package/dist/data-access/ledgerArtifacts.d.ts +0 -49
  148. package/dist/data-access/ledgerArtifacts.d.ts.map +0 -1
  149. package/dist/data-access/ledgerArtifacts.js +0 -112
  150. package/dist/data-access/ledgerArtifacts.js.map +0 -1
  151. package/dist/data-access/messages.d.ts +0 -209
  152. package/dist/data-access/messages.d.ts.map +0 -1
  153. package/dist/data-access/messages.js +0 -100
  154. package/dist/data-access/messages.js.map +0 -1
  155. package/dist/data-access/projects.d.ts +0 -67
  156. package/dist/data-access/projects.d.ts.map +0 -1
  157. package/dist/data-access/projects.js +0 -337
  158. package/dist/data-access/projects.js.map +0 -1
  159. package/dist/data-access/tasks.d.ts +0 -37
  160. package/dist/data-access/tasks.d.ts.map +0 -1
  161. package/dist/data-access/tasks.js +0 -40
  162. package/dist/data-access/tasks.js.map +0 -1
  163. package/dist/data-access/tools.d.ts +0 -277
  164. package/dist/data-access/tools.d.ts.map +0 -1
  165. package/dist/data-access/tools.js +0 -183
  166. package/dist/data-access/tools.js.map +0 -1
  167. package/dist/data-access/validation.d.ts +0 -17
  168. package/dist/data-access/validation.d.ts.map +0 -1
  169. package/dist/data-access/validation.js +0 -52
  170. package/dist/data-access/validation.js.map +0 -1
  171. package/dist/db/clean.d.ts +0 -6
  172. package/dist/db/clean.d.ts.map +0 -1
  173. package/dist/db/clean.js +0 -81
  174. package/dist/db/clean.js.map +0 -1
  175. package/dist/db/client.d.ts +0 -19
  176. package/dist/db/client.d.ts.map +0 -1
  177. package/dist/db/client.js +0 -24
  178. package/dist/db/client.js.map +0 -1
  179. package/dist/db/schema.d.ts +0 -4337
  180. package/dist/db/schema.d.ts.map +0 -1
  181. package/dist/db/schema.js.map +0 -1
  182. package/dist/db/test-client.d.ts +0 -25
  183. package/dist/db/test-client.d.ts.map +0 -1
  184. package/dist/db/test-client.js +0 -136
  185. package/dist/db/test-client.js.map +0 -1
  186. package/dist/env.d.ts +0 -19
  187. package/dist/env.d.ts.map +0 -1
  188. package/dist/env.js +0 -49
  189. package/dist/env.js.map +0 -1
  190. package/dist/index.d.ts +0 -12
  191. package/dist/index.d.ts.map +0 -1
  192. package/dist/index.js.map +0 -1
  193. package/dist/middleware/contextValidation.d.ts +0 -49
  194. package/dist/middleware/contextValidation.d.ts.map +0 -1
  195. package/dist/middleware/contextValidation.js +0 -473
  196. package/dist/middleware/contextValidation.js.map +0 -1
  197. package/dist/middleware/index.d.ts +0 -2
  198. package/dist/middleware/index.d.ts.map +0 -1
  199. package/dist/middleware/index.js +0 -2
  200. package/dist/middleware/index.js.map +0 -1
  201. package/dist/server/BaseServer.d.ts +0 -83
  202. package/dist/server/BaseServer.d.ts.map +0 -1
  203. package/dist/server/BaseServer.js +0 -218
  204. package/dist/server/BaseServer.js.map +0 -1
  205. package/dist/types/a2a.d.ts +0 -373
  206. package/dist/types/a2a.d.ts.map +0 -1
  207. package/dist/types/a2a.js +0 -14
  208. package/dist/types/a2a.js.map +0 -1
  209. package/dist/types/entities.d.ts +0 -147
  210. package/dist/types/entities.d.ts.map +0 -1
  211. package/dist/types/entities.js +0 -2
  212. package/dist/types/entities.js.map +0 -1
  213. package/dist/types/index.d.ts +0 -5
  214. package/dist/types/index.d.ts.map +0 -1
  215. package/dist/types/index.js.map +0 -1
  216. package/dist/types/server.d.ts +0 -116
  217. package/dist/types/server.d.ts.map +0 -1
  218. package/dist/types/server.js +0 -2
  219. package/dist/types/server.js.map +0 -1
  220. package/dist/types/utility.d.ts +0 -213
  221. package/dist/types/utility.d.ts.map +0 -1
  222. package/dist/types/utility.js +0 -9
  223. package/dist/types/utility.js.map +0 -1
  224. package/dist/utils/apiKeys.d.ts +0 -32
  225. package/dist/utils/apiKeys.d.ts.map +0 -1
  226. package/dist/utils/apiKeys.js +0 -117
  227. package/dist/utils/apiKeys.js.map +0 -1
  228. package/dist/utils/auth-detection.d.ts +0 -23
  229. package/dist/utils/auth-detection.d.ts.map +0 -1
  230. package/dist/utils/auth-detection.js +0 -148
  231. package/dist/utils/auth-detection.js.map +0 -1
  232. package/dist/utils/credential-store-utils.d.ts +0 -11
  233. package/dist/utils/credential-store-utils.d.ts.map +0 -1
  234. package/dist/utils/credential-store-utils.js +0 -19
  235. package/dist/utils/credential-store-utils.js.map +0 -1
  236. package/dist/utils/error.d.ts +0 -526
  237. package/dist/utils/error.d.ts.map +0 -1
  238. package/dist/utils/error.js +0 -282
  239. package/dist/utils/error.js.map +0 -1
  240. package/dist/utils/execution.d.ts +0 -18
  241. package/dist/utils/execution.d.ts.map +0 -1
  242. package/dist/utils/execution.js +0 -25
  243. package/dist/utils/execution.js.map +0 -1
  244. package/dist/utils/index.d.ts +0 -9
  245. package/dist/utils/index.d.ts.map +0 -1
  246. package/dist/utils/index.js +0 -9
  247. package/dist/utils/index.js.map +0 -1
  248. package/dist/utils/logger.d.ts +0 -79
  249. package/dist/utils/logger.d.ts.map +0 -1
  250. package/dist/utils/logger.js +0 -102
  251. package/dist/utils/logger.js.map +0 -1
  252. package/dist/utils/logging.d.ts +0 -11
  253. package/dist/utils/logging.d.ts.map +0 -1
  254. package/dist/utils/logging.js +0 -6
  255. package/dist/utils/logging.js.map +0 -1
  256. package/dist/utils/mcp-client.d.ts +0 -48
  257. package/dist/utils/mcp-client.d.ts.map +0 -1
  258. package/dist/utils/mcp-client.js +0 -174
  259. package/dist/utils/mcp-client.js.map +0 -1
  260. package/dist/utils/tracer.d.ts +0 -24
  261. package/dist/utils/tracer.d.ts.map +0 -1
  262. package/dist/utils/tracer.js +0 -110
  263. package/dist/utils/tracer.js.map +0 -1
  264. package/dist/validation/graphFull.d.ts +0 -36
  265. package/dist/validation/graphFull.d.ts.map +0 -1
  266. package/dist/validation/graphFull.js +0 -128
  267. package/dist/validation/graphFull.js.map +0 -1
  268. package/dist/validation/id-validation.d.ts +0 -38
  269. package/dist/validation/id-validation.d.ts.map +0 -1
  270. package/dist/validation/id-validation.js +0 -60
  271. package/dist/validation/id-validation.js.map +0 -1
  272. package/dist/validation/index.d.ts +0 -4
  273. package/dist/validation/index.d.ts.map +0 -1
  274. package/dist/validation/index.js.map +0 -1
  275. package/dist/validation/schemas.d.ts +0 -7238
  276. package/dist/validation/schemas.d.ts.map +0 -1
  277. package/dist/validation/schemas.js +0 -575
  278. 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":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,CAAC,MAAM,oBAAoB,GAC/B,CAAC,EAAkB,EAAE,EAAE,CAAC,KAAK,EAAE,MAA2C,EAAE,EAAE;IAC5E,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;QAC7C,KAAK,EAAE,GAAG,CACR,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EACrD,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CACjC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,EAAkB,EAAE,EAAE,CAAC,KAAK,EAAE,MAA+B,EAAE,EAAE;IAChE,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC5C,KAAK,EAAE,GAAG,CACR,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CACtD;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,2BAA2B,GACtC,CAAC,EAAkB,EAAE,EAAE,CACvB,KAAK,EAAE,MAGN,EAGE,EAAE;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAElC,MAAM,WAAW,GAAG,GAAG,CACrB,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CACtD,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,EAAE;aACC,MAAM,EAAE;aACR,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,CAAC,WAAW,CAAC;aAClB,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,MAAM,CAAC;aACd,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1C,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAA,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACV,IAAI;YACJ,KAAK;YACL,KAAK;YACL,KAAK;SACN;KACF,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAkB,EAAE,EAAE,CAAC,KAAK,EAAE,MAA2B,EAAE,EAAE;IAC/F,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,mFAAmF;IACnF,IAAI,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC/C,IACE,gBAAgB,KAAK,SAAS;QAC9B,gBAAgB,KAAK,IAAI;QACzB,OAAO,gBAAgB,KAAK,QAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EAC1C,CAAC;QACD,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,EAAE;SAC3B,MAAM,CAAC,cAAc,CAAC;SACtB,MAAM,CAAC;QACN,EAAE;QACF,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,gBAAgB,EAAE,gBAAgB,IAAI,IAAI;QAC1C,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;SACD,SAAS,EAAE,CAAC;IAEf,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,EAAkB,EAAE,EAAE,CACvB,KAAK,EAAE,MAA+E,EAAE,EAAE;IACxF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,+DAA+D;IAC/D,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAEzC,4FAA4F;IAC5F,IAAI,kBAAkB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACtC,IACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI;YACrC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBAC/C,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI;gBACrC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;YACD,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,IAAI,sBAAsB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACvF,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE;SACrB,MAAM,CAAC,cAAc,CAAC;SACtB,GAAG,CAAC;QACH,GAAG,aAAa;QAChB,SAAS,EAAE,GAAG;KACf,CAAC;SACD,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EACrD,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CACjC,CACF;SACA,SAAS,EAAE,CAAC;IAEf,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,EAAkB,EAAE,EAAE,CACvB,KAAK,EAAE,MAA2C,EAAoB,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,cAAc,CAAC;aACtB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EACrD,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CACjC,CACF;aACA,SAAS,EAAE,CAAC;QAEf,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,EAAkB,EAAE,EAAE,CACvB,KAAK,EAAE,MAA2C,EAAoB,EAAE;IACtE,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,aAAa,KAAK,IAAI,CAAC;AAChC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,EAAkB,EAAE,EAAE,CACvB,KAAK,EAAE,MAA+B,EAAmB,EAAE;IACzD,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;SAC1B,IAAI,CAAC,cAAc,CAAC;SACpB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CACtD,CACF,CAAC;IAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC;AACpF,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAClC,CAAC,EAAkB,EAAE,EAAE,CAAC,KAAK,EAAE,MAA6C,EAAE,EAAE;IAC9E,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC5C,KAAK,EAAE,GAAG,CACR,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EACrD,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CACrC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,EAAkB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAqC,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAEpF,2CAA2C;IAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM;YACN,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,iCAAiC;YACjC,OAAO,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;gBACN,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;oBACtB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;oBACpC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB;oBACtD,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB;iBAC/C;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,OAAO,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC,CAAC"}
@@ -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