@inkeep/agents-api 0.0.1

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 (352) hide show
  1. package/LICENSE.md +56 -0
  2. package/SUPPLEMENTAL_TERMS.md +40 -0
  3. package/dist/.well-known/workflow/v1/flow.cjs +46446 -0
  4. package/dist/.well-known/workflow/v1/flow.cjs.debug.json +8 -0
  5. package/dist/.well-known/workflow/v1/manifest.debug.json +93 -0
  6. package/dist/.well-known/workflow/v1/step.cjs +219923 -0
  7. package/dist/.well-known/workflow/v1/step.cjs.debug.json +8 -0
  8. package/dist/.well-known/workflow/v1/webhook.mjs +29 -0
  9. package/dist/createApp.d.ts +10 -0
  10. package/dist/createApp.js +170 -0
  11. package/dist/data/db/index.d.ts +4 -0
  12. package/dist/data/db/index.js +5 -0
  13. package/dist/data/db/manageDbClient.d.ts +6 -0
  14. package/dist/data/db/manageDbClient.js +9 -0
  15. package/dist/data/db/manageDbPool.d.ts +6 -0
  16. package/dist/data/db/manageDbPool.js +9 -0
  17. package/dist/data/db/runDbClient.d.ts +6 -0
  18. package/dist/data/db/runDbClient.js +9 -0
  19. package/dist/domains/evals/index.d.ts +13 -0
  20. package/dist/domains/evals/index.js +13 -0
  21. package/dist/domains/evals/routes/datasetTriggers.d.ts +7 -0
  22. package/dist/domains/evals/routes/datasetTriggers.js +65 -0
  23. package/dist/domains/evals/routes/evaluationTriggers.d.ts +11 -0
  24. package/dist/domains/evals/routes/evaluationTriggers.js +311 -0
  25. package/dist/domains/evals/routes/index.d.ts +7 -0
  26. package/dist/domains/evals/routes/index.js +12 -0
  27. package/dist/domains/evals/scripts/build-workflow.d.ts +1 -0
  28. package/dist/domains/evals/scripts/build-workflow.js +31 -0
  29. package/dist/domains/evals/services/EvaluationService.d.ts +96 -0
  30. package/dist/domains/evals/services/EvaluationService.js +863 -0
  31. package/dist/domains/evals/services/conversationEvaluation.d.ts +15 -0
  32. package/dist/domains/evals/services/conversationEvaluation.js +102 -0
  33. package/dist/domains/evals/services/datasetRun.d.ts +16 -0
  34. package/dist/domains/evals/services/datasetRun.js +43 -0
  35. package/dist/domains/evals/services/evaluationJob.d.ts +17 -0
  36. package/dist/domains/evals/services/evaluationJob.js +65 -0
  37. package/dist/domains/evals/services/startEvaluation.d.ts +19 -0
  38. package/dist/domains/evals/services/startEvaluation.js +18 -0
  39. package/dist/domains/evals/workflow/functions/evaluateConversation.d.ts +28 -0
  40. package/dist/domains/evals/workflow/functions/evaluateConversation.js +134 -0
  41. package/dist/domains/evals/workflow/functions/runDatasetItem.d.ts +36 -0
  42. package/dist/domains/evals/workflow/functions/runDatasetItem.js +204 -0
  43. package/dist/domains/evals/workflow/index.d.ts +4 -0
  44. package/dist/domains/evals/workflow/index.js +5 -0
  45. package/dist/domains/evals/workflow/routes.d.ts +7 -0
  46. package/dist/domains/evals/workflow/routes.js +106 -0
  47. package/dist/domains/evals/workflow/world.d.ts +4 -0
  48. package/dist/domains/evals/workflow/world.js +36 -0
  49. package/dist/domains/index.d.ts +4 -0
  50. package/dist/domains/index.js +5 -0
  51. package/dist/domains/manage/index.d.ts +12 -0
  52. package/dist/domains/manage/index.js +31 -0
  53. package/dist/domains/manage/routes/agent.d.ts +9 -0
  54. package/dist/domains/manage/routes/agent.js +264 -0
  55. package/dist/domains/manage/routes/agentFull.d.ts +9 -0
  56. package/dist/domains/manage/routes/agentFull.js +207 -0
  57. package/dist/domains/manage/routes/agentToolRelations.d.ts +9 -0
  58. package/dist/domains/manage/routes/agentToolRelations.js +289 -0
  59. package/dist/domains/manage/routes/apiKeys.d.ts +9 -0
  60. package/dist/domains/manage/routes/apiKeys.js +217 -0
  61. package/dist/domains/manage/routes/artifactComponents.d.ts +9 -0
  62. package/dist/domains/manage/routes/artifactComponents.js +210 -0
  63. package/dist/domains/manage/routes/branches.d.ts +9 -0
  64. package/dist/domains/manage/routes/branches.js +182 -0
  65. package/dist/domains/manage/routes/cliAuth.d.ts +9 -0
  66. package/dist/domains/manage/routes/cliAuth.js +60 -0
  67. package/dist/domains/manage/routes/contextConfigs.d.ts +9 -0
  68. package/dist/domains/manage/routes/contextConfigs.js +189 -0
  69. package/dist/domains/manage/routes/conversations.d.ts +7 -0
  70. package/dist/domains/manage/routes/conversations.js +59 -0
  71. package/dist/domains/manage/routes/credentialStores.d.ts +9 -0
  72. package/dist/domains/manage/routes/credentialStores.js +86 -0
  73. package/dist/domains/manage/routes/credentials.d.ts +9 -0
  74. package/dist/domains/manage/routes/credentials.js +207 -0
  75. package/dist/domains/manage/routes/dataComponents.d.ts +9 -0
  76. package/dist/domains/manage/routes/dataComponents.js +192 -0
  77. package/dist/domains/manage/routes/evals/datasetItems.d.ts +9 -0
  78. package/dist/domains/manage/routes/evals/datasetItems.js +310 -0
  79. package/dist/domains/manage/routes/evals/datasetRunConfigs.d.ts +9 -0
  80. package/dist/domains/manage/routes/evals/datasetRunConfigs.js +402 -0
  81. package/dist/domains/manage/routes/evals/datasetRuns.d.ts +9 -0
  82. package/dist/domains/manage/routes/evals/datasetRuns.js +256 -0
  83. package/dist/domains/manage/routes/evals/datasets.d.ts +9 -0
  84. package/dist/domains/manage/routes/evals/datasets.js +238 -0
  85. package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.d.ts +9 -0
  86. package/dist/domains/manage/routes/evals/evaluationJobConfigEvaluatorRelations.js +146 -0
  87. package/dist/domains/manage/routes/evals/evaluationJobConfigs.d.ts +9 -0
  88. package/dist/domains/manage/routes/evals/evaluationJobConfigs.js +364 -0
  89. package/dist/domains/manage/routes/evals/evaluationResults.d.ts +7 -0
  90. package/dist/domains/manage/routes/evals/evaluationResults.js +192 -0
  91. package/dist/domains/manage/routes/evals/evaluationRunConfigs.d.ts +9 -0
  92. package/dist/domains/manage/routes/evals/evaluationRunConfigs.js +403 -0
  93. package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.d.ts +9 -0
  94. package/dist/domains/manage/routes/evals/evaluationSuiteConfigEvaluatorRelations.js +146 -0
  95. package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.d.ts +9 -0
  96. package/dist/domains/manage/routes/evals/evaluationSuiteConfigs.js +246 -0
  97. package/dist/domains/manage/routes/evals/evaluators.d.ts +9 -0
  98. package/dist/domains/manage/routes/evals/evaluators.js +281 -0
  99. package/dist/domains/manage/routes/evals/index.d.ts +9 -0
  100. package/dist/domains/manage/routes/evals/index.js +26 -0
  101. package/dist/domains/manage/routes/externalAgents.d.ts +9 -0
  102. package/dist/domains/manage/routes/externalAgents.js +199 -0
  103. package/dist/domains/manage/routes/functionTools.d.ts +9 -0
  104. package/dist/domains/manage/routes/functionTools.js +256 -0
  105. package/dist/domains/manage/routes/functions.d.ts +9 -0
  106. package/dist/domains/manage/routes/functions.js +285 -0
  107. package/dist/domains/manage/routes/index.d.ts +7 -0
  108. package/dist/domains/manage/routes/index.js +68 -0
  109. package/dist/domains/manage/routes/invitations.d.ts +9 -0
  110. package/dist/domains/manage/routes/invitations.js +41 -0
  111. package/dist/domains/manage/routes/mcp.d.ts +7 -0
  112. package/dist/domains/manage/routes/mcp.js +45 -0
  113. package/dist/domains/manage/routes/mcpCatalog.d.ts +9 -0
  114. package/dist/domains/manage/routes/mcpCatalog.js +454 -0
  115. package/dist/domains/manage/routes/oauth.d.ts +10 -0
  116. package/dist/domains/manage/routes/oauth.js +327 -0
  117. package/dist/domains/manage/routes/playgroundToken.d.ts +9 -0
  118. package/dist/domains/manage/routes/playgroundToken.js +127 -0
  119. package/dist/domains/manage/routes/projectFull.d.ts +9 -0
  120. package/dist/domains/manage/routes/projectFull.js +304 -0
  121. package/dist/domains/manage/routes/projectMembers.d.ts +9 -0
  122. package/dist/domains/manage/routes/projectMembers.js +201 -0
  123. package/dist/domains/manage/routes/projectPermissions.d.ts +9 -0
  124. package/dist/domains/manage/routes/projectPermissions.js +68 -0
  125. package/dist/domains/manage/routes/projects.d.ts +9 -0
  126. package/dist/domains/manage/routes/projects.js +279 -0
  127. package/dist/domains/manage/routes/ref.d.ts +9 -0
  128. package/dist/domains/manage/routes/ref.js +33 -0
  129. package/dist/domains/manage/routes/signoz.d.ts +10 -0
  130. package/dist/domains/manage/routes/signoz.js +159 -0
  131. package/dist/domains/manage/routes/subAgentArtifactComponents.d.ts +9 -0
  132. package/dist/domains/manage/routes/subAgentArtifactComponents.js +202 -0
  133. package/dist/domains/manage/routes/subAgentDataComponents.d.ts +9 -0
  134. package/dist/domains/manage/routes/subAgentDataComponents.js +201 -0
  135. package/dist/domains/manage/routes/subAgentExternalAgentRelations.d.ts +9 -0
  136. package/dist/domains/manage/routes/subAgentExternalAgentRelations.js +216 -0
  137. package/dist/domains/manage/routes/subAgentFunctionTools.d.ts +9 -0
  138. package/dist/domains/manage/routes/subAgentFunctionTools.js +205 -0
  139. package/dist/domains/manage/routes/subAgentRelations.d.ts +9 -0
  140. package/dist/domains/manage/routes/subAgentRelations.js +263 -0
  141. package/dist/domains/manage/routes/subAgentTeamAgentRelations.d.ts +9 -0
  142. package/dist/domains/manage/routes/subAgentTeamAgentRelations.js +216 -0
  143. package/dist/domains/manage/routes/subAgentToolRelations.d.ts +9 -0
  144. package/dist/domains/manage/routes/subAgentToolRelations.js +289 -0
  145. package/dist/domains/manage/routes/subAgents.d.ts +9 -0
  146. package/dist/domains/manage/routes/subAgents.js +220 -0
  147. package/dist/domains/manage/routes/thirdPartyMCPServers.d.ts +9 -0
  148. package/dist/domains/manage/routes/thirdPartyMCPServers.js +72 -0
  149. package/dist/domains/manage/routes/tools.d.ts +9 -0
  150. package/dist/domains/manage/routes/tools.js +261 -0
  151. package/dist/domains/manage/routes/triggers.d.ts +9 -0
  152. package/dist/domains/manage/routes/triggers.js +423 -0
  153. package/dist/domains/manage/routes/userOrganizations.d.ts +9 -0
  154. package/dist/domains/manage/routes/userOrganizations.js +58 -0
  155. package/dist/domains/run/a2a/client.d.ts +186 -0
  156. package/dist/domains/run/a2a/client.js +524 -0
  157. package/dist/domains/run/a2a/handlers.d.ts +7 -0
  158. package/dist/domains/run/a2a/handlers.js +582 -0
  159. package/dist/domains/run/a2a/transfer.d.ts +27 -0
  160. package/dist/domains/run/a2a/transfer.js +50 -0
  161. package/dist/domains/run/a2a/types.d.ts +79 -0
  162. package/dist/domains/run/a2a/types.js +22 -0
  163. package/dist/domains/run/agents/Agent.d.ts +273 -0
  164. package/dist/domains/run/agents/Agent.js +2104 -0
  165. package/dist/domains/run/agents/ModelFactory.d.ts +63 -0
  166. package/dist/domains/run/agents/ModelFactory.js +194 -0
  167. package/dist/domains/run/agents/SystemPromptBuilder.d.ts +21 -0
  168. package/dist/domains/run/agents/SystemPromptBuilder.js +48 -0
  169. package/dist/domains/run/agents/ToolSessionManager.d.ts +63 -0
  170. package/dist/domains/run/agents/ToolSessionManager.js +146 -0
  171. package/dist/domains/run/agents/generateTaskHandler.d.ts +44 -0
  172. package/dist/domains/run/agents/generateTaskHandler.js +384 -0
  173. package/dist/domains/run/agents/relationTools.d.ts +64 -0
  174. package/dist/domains/run/agents/relationTools.js +365 -0
  175. package/dist/domains/run/agents/types.d.ts +31 -0
  176. package/dist/domains/run/agents/types.js +1 -0
  177. package/dist/domains/run/agents/versions/v1/Phase1Config.d.ts +29 -0
  178. package/dist/domains/run/agents/versions/v1/Phase1Config.js +458 -0
  179. package/dist/domains/run/agents/versions/v1/Phase2Config.d.ts +33 -0
  180. package/dist/domains/run/agents/versions/v1/Phase2Config.js +341 -0
  181. package/dist/domains/run/constants/execution-limits/defaults.d.ts +51 -0
  182. package/dist/domains/run/constants/execution-limits/defaults.js +52 -0
  183. package/dist/domains/run/constants/execution-limits/index.d.ts +6 -0
  184. package/dist/domains/run/constants/execution-limits/index.js +21 -0
  185. package/dist/domains/run/context/ContextFetcher.d.ts +68 -0
  186. package/dist/domains/run/context/ContextFetcher.js +276 -0
  187. package/dist/domains/run/context/ContextResolver.d.ts +56 -0
  188. package/dist/domains/run/context/ContextResolver.js +273 -0
  189. package/dist/domains/run/context/context.d.ts +19 -0
  190. package/dist/domains/run/context/context.js +108 -0
  191. package/dist/domains/run/context/contextCache.d.ts +56 -0
  192. package/dist/domains/run/context/contextCache.js +174 -0
  193. package/dist/domains/run/context/index.d.ts +6 -0
  194. package/dist/domains/run/context/index.js +7 -0
  195. package/dist/domains/run/context/validation.d.ts +39 -0
  196. package/dist/domains/run/context/validation.js +255 -0
  197. package/dist/domains/run/data/agent.d.ts +7 -0
  198. package/dist/domains/run/data/agent.js +67 -0
  199. package/dist/domains/run/data/agents.d.ts +34 -0
  200. package/dist/domains/run/data/agents.js +131 -0
  201. package/dist/domains/run/data/conversations.d.ts +129 -0
  202. package/dist/domains/run/data/conversations.js +517 -0
  203. package/dist/domains/run/handlers/executionHandler.d.ts +42 -0
  204. package/dist/domains/run/handlers/executionHandler.js +484 -0
  205. package/dist/domains/run/index.d.ts +13 -0
  206. package/dist/domains/run/index.js +21 -0
  207. package/dist/domains/run/routes/agents.d.ts +13 -0
  208. package/dist/domains/run/routes/agents.js +141 -0
  209. package/dist/domains/run/routes/chat.d.ts +14 -0
  210. package/dist/domains/run/routes/chat.js +300 -0
  211. package/dist/domains/run/routes/chatDataStream.d.ts +14 -0
  212. package/dist/domains/run/routes/chatDataStream.js +381 -0
  213. package/dist/domains/run/routes/mcp.d.ts +14 -0
  214. package/dist/domains/run/routes/mcp.js +483 -0
  215. package/dist/domains/run/routes/webhooks.d.ts +15 -0
  216. package/dist/domains/run/routes/webhooks.js +396 -0
  217. package/dist/domains/run/services/AgentSession.d.ts +354 -0
  218. package/dist/domains/run/services/AgentSession.js +1203 -0
  219. package/dist/domains/run/services/ArtifactParser.d.ts +105 -0
  220. package/dist/domains/run/services/ArtifactParser.js +338 -0
  221. package/dist/domains/run/services/ArtifactService.d.ts +122 -0
  222. package/dist/domains/run/services/ArtifactService.js +629 -0
  223. package/dist/domains/run/services/BaseCompressor.d.ts +183 -0
  224. package/dist/domains/run/services/BaseCompressor.js +500 -0
  225. package/dist/domains/run/services/ConversationCompressor.d.ts +32 -0
  226. package/dist/domains/run/services/ConversationCompressor.js +91 -0
  227. package/dist/domains/run/services/IncrementalStreamParser.d.ts +98 -0
  228. package/dist/domains/run/services/IncrementalStreamParser.js +327 -0
  229. package/dist/domains/run/services/MidGenerationCompressor.d.ts +63 -0
  230. package/dist/domains/run/services/MidGenerationCompressor.js +104 -0
  231. package/dist/domains/run/services/PendingToolApprovalManager.d.ts +62 -0
  232. package/dist/domains/run/services/PendingToolApprovalManager.js +133 -0
  233. package/dist/domains/run/services/ResponseFormatter.d.ts +39 -0
  234. package/dist/domains/run/services/ResponseFormatter.js +152 -0
  235. package/dist/domains/run/services/evaluationRunConfigMatcher.d.ts +4 -0
  236. package/dist/domains/run/services/evaluationRunConfigMatcher.js +7 -0
  237. package/dist/domains/run/tools/NativeSandboxExecutor.d.ts +38 -0
  238. package/dist/domains/run/tools/NativeSandboxExecutor.js +432 -0
  239. package/dist/domains/run/tools/SandboxExecutorFactory.d.ts +36 -0
  240. package/dist/domains/run/tools/SandboxExecutorFactory.js +80 -0
  241. package/dist/domains/run/tools/VercelSandboxExecutor.d.ts +71 -0
  242. package/dist/domains/run/tools/VercelSandboxExecutor.js +340 -0
  243. package/dist/domains/run/tools/distill-conversation-history-tool.d.ts +62 -0
  244. package/dist/domains/run/tools/distill-conversation-history-tool.js +206 -0
  245. package/dist/domains/run/tools/distill-conversation-tool.d.ts +41 -0
  246. package/dist/domains/run/tools/distill-conversation-tool.js +141 -0
  247. package/dist/domains/run/tools/sandbox-utils.d.ts +18 -0
  248. package/dist/domains/run/tools/sandbox-utils.js +53 -0
  249. package/dist/domains/run/types/chat.d.ts +27 -0
  250. package/dist/domains/run/types/chat.js +1 -0
  251. package/dist/domains/run/types/executionContext.d.ts +40 -0
  252. package/dist/domains/run/types/executionContext.js +28 -0
  253. package/dist/domains/run/types/xml.d.ts +9 -0
  254. package/dist/domains/run/utils/SchemaProcessor.d.ts +52 -0
  255. package/dist/domains/run/utils/SchemaProcessor.js +182 -0
  256. package/dist/domains/run/utils/agent-operations.d.ts +62 -0
  257. package/dist/domains/run/utils/agent-operations.js +53 -0
  258. package/dist/domains/run/utils/artifact-component-schema.d.ts +42 -0
  259. package/dist/domains/run/utils/artifact-component-schema.js +186 -0
  260. package/dist/domains/run/utils/cleanup.d.ts +21 -0
  261. package/dist/domains/run/utils/cleanup.js +59 -0
  262. package/dist/domains/run/utils/data-component-schema.d.ts +2 -0
  263. package/dist/domains/run/utils/data-component-schema.js +3 -0
  264. package/dist/domains/run/utils/default-status-schemas.d.ts +20 -0
  265. package/dist/domains/run/utils/default-status-schemas.js +24 -0
  266. package/dist/domains/run/utils/json-postprocessor.d.ts +13 -0
  267. package/dist/domains/run/utils/json-postprocessor.js +19 -0
  268. package/dist/domains/run/utils/model-context-utils.d.ts +39 -0
  269. package/dist/domains/run/utils/model-context-utils.js +181 -0
  270. package/dist/domains/run/utils/model-resolver.d.ts +6 -0
  271. package/dist/domains/run/utils/model-resolver.js +24 -0
  272. package/dist/domains/run/utils/project.d.ts +207 -0
  273. package/dist/domains/run/utils/project.js +315 -0
  274. package/dist/domains/run/utils/schema-validation.d.ts +44 -0
  275. package/dist/domains/run/utils/schema-validation.js +97 -0
  276. package/dist/domains/run/utils/stream-helpers.d.ts +193 -0
  277. package/dist/domains/run/utils/stream-helpers.js +510 -0
  278. package/dist/domains/run/utils/stream-registry.d.ts +22 -0
  279. package/dist/domains/run/utils/stream-registry.js +33 -0
  280. package/dist/domains/run/utils/token-estimator.d.ts +23 -0
  281. package/dist/domains/run/utils/token-estimator.js +17 -0
  282. package/dist/domains/run/utils/tracer.d.ts +7 -0
  283. package/dist/domains/run/utils/tracer.js +7 -0
  284. package/dist/env.d.ts +89 -0
  285. package/dist/env.js +69 -0
  286. package/dist/factory.d.ts +1535 -0
  287. package/dist/factory.js +42 -0
  288. package/dist/index.d.ts +1530 -0
  289. package/dist/index.js +44 -0
  290. package/dist/initialization.d.ts +6 -0
  291. package/dist/initialization.js +65 -0
  292. package/dist/instrumentation.d.ts +17 -0
  293. package/dist/instrumentation.js +68 -0
  294. package/dist/logger.d.ts +2 -0
  295. package/dist/logger.js +3 -0
  296. package/dist/middleware/branchScopedDb.d.ts +31 -0
  297. package/dist/middleware/branchScopedDb.js +137 -0
  298. package/dist/middleware/cors.d.ts +36 -0
  299. package/dist/middleware/cors.js +131 -0
  300. package/dist/middleware/errorHandler.d.ts +12 -0
  301. package/dist/middleware/errorHandler.js +88 -0
  302. package/dist/middleware/evalsAuth.d.ts +16 -0
  303. package/dist/middleware/evalsAuth.js +52 -0
  304. package/dist/middleware/index.d.ts +8 -0
  305. package/dist/middleware/index.js +9 -0
  306. package/dist/middleware/manageAuth.d.ts +25 -0
  307. package/dist/middleware/manageAuth.js +80 -0
  308. package/dist/middleware/projectAccess.d.ts +31 -0
  309. package/dist/middleware/projectAccess.js +118 -0
  310. package/dist/middleware/projectConfig.d.ts +25 -0
  311. package/dist/middleware/projectConfig.js +89 -0
  312. package/dist/middleware/ref.d.ts +61 -0
  313. package/dist/middleware/ref.js +239 -0
  314. package/dist/middleware/requirePermission.d.ts +14 -0
  315. package/dist/middleware/requirePermission.js +80 -0
  316. package/dist/middleware/runAuth.d.ts +29 -0
  317. package/dist/middleware/runAuth.js +253 -0
  318. package/dist/middleware/sessionAuth.d.ts +17 -0
  319. package/dist/middleware/sessionAuth.js +58 -0
  320. package/dist/middleware/tenantAccess.d.ts +22 -0
  321. package/dist/middleware/tenantAccess.js +63 -0
  322. package/dist/middleware/tracing.d.ts +7 -0
  323. package/dist/middleware/tracing.js +50 -0
  324. package/dist/openapi.d.ts +7 -0
  325. package/dist/openapi.js +156 -0
  326. package/dist/ssoHelpers.d.ts +20 -0
  327. package/dist/ssoHelpers.js +51 -0
  328. package/dist/templates/v1/phase1/system-prompt.js +5 -0
  329. package/dist/templates/v1/phase1/thinking-preparation.js +5 -0
  330. package/dist/templates/v1/phase1/tool.js +5 -0
  331. package/dist/templates/v1/phase2/data-component.js +5 -0
  332. package/dist/templates/v1/phase2/data-components.js +5 -0
  333. package/dist/templates/v1/phase2/system-prompt.js +5 -0
  334. package/dist/templates/v1/shared/artifact-retrieval-guidance.js +5 -0
  335. package/dist/templates/v1/shared/artifact.js +5 -0
  336. package/dist/types/app.d.ts +64 -0
  337. package/dist/types/app.js +1 -0
  338. package/dist/types/index.d.ts +2 -0
  339. package/dist/types/index.js +1 -0
  340. package/dist/types/runExecutionContext.d.ts +25 -0
  341. package/dist/types/runExecutionContext.js +28 -0
  342. package/dist/utils/oauthService.d.ts +71 -0
  343. package/dist/utils/oauthService.js +106 -0
  344. package/dist/utils/signozHelpers.d.ts +9 -0
  345. package/dist/utils/signozHelpers.js +33 -0
  346. package/dist/utils/speakeasy.d.ts +93 -0
  347. package/dist/utils/speakeasy.js +44 -0
  348. package/dist/utils/tempApiKeys.d.ts +17 -0
  349. package/dist/utils/tempApiKeys.js +26 -0
  350. package/dist/utils/workflowApiHelpers.d.ts +1 -0
  351. package/dist/utils/workflowApiHelpers.js +1 -0
  352. package/package.json +126 -0
@@ -0,0 +1,276 @@
1
+ import { validateAgainstJsonSchema } from "./validation.js";
2
+ import { CredentialStuffer, JsonTransformer, TemplateEngine, getLogger } from "@inkeep/agents-core";
3
+
4
+ //#region src/domains/run/context/ContextFetcher.ts
5
+ const logger = getLogger("context-fetcher");
6
+ var MissingRequiredVariableError = class extends Error {
7
+ constructor(variable) {
8
+ super(`Missing required variable: ${variable}`);
9
+ this.name = "MissingRequiredVariableError";
10
+ }
11
+ };
12
+ /**
13
+ * GraphQL error checker - validates response for GraphQL errors and throws if found
14
+ */
15
+ const checkGraphQLErrors = (data) => {
16
+ if (data && typeof data === "object" && "errors" in data) {
17
+ const errorObj = data;
18
+ if (Array.isArray(errorObj.errors) && errorObj.errors.length > 0) {
19
+ const agentqlErrors = errorObj.errors;
20
+ const errorMessage = `GraphQL request failed with ${agentqlErrors.length} errors: ${agentqlErrors.map((e) => e.message || "Unknown error").join(", ")}`;
21
+ throw new Error(errorMessage);
22
+ }
23
+ }
24
+ };
25
+ const responseErrorCheckers = [checkGraphQLErrors];
26
+ var ContextFetcher = class {
27
+ executionContext;
28
+ defaultTimeout;
29
+ credentialStuffer;
30
+ constructor(executionContext, credentialStoreRegistry, defaultTimeout = 1e4) {
31
+ this.executionContext = executionContext;
32
+ this.defaultTimeout = defaultTimeout;
33
+ if (credentialStoreRegistry) this.credentialStuffer = new CredentialStuffer(credentialStoreRegistry);
34
+ logger.info({
35
+ tenantId: this.executionContext.tenantId,
36
+ defaultTimeout: this.defaultTimeout,
37
+ hasCredentialSupport: !!this.credentialStuffer
38
+ }, "ContextFetcher initialized");
39
+ }
40
+ /**
41
+ * Fetch data according to a fetch definition
42
+ */
43
+ async fetch(definition, context) {
44
+ const startTime = Date.now();
45
+ logger.info({
46
+ definitionId: definition.id,
47
+ url: definition.fetchConfig.url
48
+ }, "Starting context fetch");
49
+ try {
50
+ const resolvedConfig = await this.resolveTemplateVariables(definition.fetchConfig, context, definition.credentialReferenceId);
51
+ const response = await this.performRequest(resolvedConfig);
52
+ let transformedData = response.data;
53
+ if (definition.fetchConfig.transform) transformedData = await this.transformResponse(response.data, definition.fetchConfig.transform);
54
+ if (definition.responseSchema) this.validateResponseWithJsonSchema(transformedData, definition.responseSchema, definition.id);
55
+ const durationMs = Date.now() - startTime;
56
+ logger.info({
57
+ definitionId: definition.id,
58
+ source: response.source,
59
+ durationMs
60
+ }, "Context fetch completed successfully");
61
+ return {
62
+ data: transformedData,
63
+ resolvedUrl: resolvedConfig.url
64
+ };
65
+ } catch (error) {
66
+ const durationMs = Date.now() - startTime;
67
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
68
+ if (error instanceof MissingRequiredVariableError) logger.error({
69
+ definitionId: definition.id,
70
+ error: errorMessage,
71
+ durationMs
72
+ }, "Context fetch skipped due to missing required variable");
73
+ logger.error({
74
+ definitionId: definition.id,
75
+ error: errorMessage,
76
+ durationMs
77
+ }, "Context fetch failed");
78
+ throw error;
79
+ }
80
+ }
81
+ async getCredential(credentialReferenceId) {
82
+ const { project, tenantId, projectId } = this.executionContext;
83
+ try {
84
+ const credentialReference = project.credentialReferences?.[credentialReferenceId];
85
+ logger.info({ credentialReference }, "Credential reference");
86
+ if (!credentialReference || !this.credentialStuffer) throw new Error(`Credential store not found for reference ID: ${credentialReferenceId}`);
87
+ const credentialContext = {
88
+ tenantId,
89
+ projectId
90
+ };
91
+ const storeReference = {
92
+ credentialStoreId: credentialReference.credentialStoreId,
93
+ retrievalParams: credentialReference.retrievalParams || {}
94
+ };
95
+ return await this.credentialStuffer.getCredentials(credentialContext, storeReference);
96
+ } catch (error) {
97
+ logger.error({
98
+ credentialReferenceId,
99
+ error: error instanceof Error ? error.message : "Unknown error"
100
+ }, "Failed to resolve credentials for fetch request");
101
+ throw error;
102
+ }
103
+ }
104
+ /**
105
+ * Resolve template variables in fetch configuration and inject credential headers
106
+ */
107
+ async resolveTemplateVariables(fetchConfig, context, credentialReferenceId) {
108
+ const resolved = { ...fetchConfig };
109
+ const filteredRequiredToFetch = fetchConfig.requiredToFetch?.filter((variable) => variable.startsWith("{{") && variable.endsWith("}}"));
110
+ if (filteredRequiredToFetch) for (const variable of filteredRequiredToFetch) {
111
+ let resolvedVariable;
112
+ try {
113
+ resolvedVariable = this.interpolateTemplate(variable, context);
114
+ } catch {
115
+ throw new MissingRequiredVariableError(variable);
116
+ }
117
+ if (resolvedVariable === "" || resolvedVariable === variable) throw new MissingRequiredVariableError(variable);
118
+ }
119
+ resolved.url = this.interpolateTemplate(fetchConfig.url, context);
120
+ logger.info({ resolvedUrl: resolved.url }, "Resolved URL");
121
+ if (fetchConfig.headers) {
122
+ resolved.headers = {};
123
+ for (const [key, value] of Object.entries(fetchConfig.headers)) resolved.headers[key] = this.interpolateTemplate(value, context);
124
+ }
125
+ if (fetchConfig.body) resolved.body = this.interpolateObjectTemplates(fetchConfig.body, context);
126
+ if (credentialReferenceId && this.credentialStuffer) try {
127
+ const credentialHeaders = (await this.getCredential(credentialReferenceId))?.headers;
128
+ if (credentialHeaders) {
129
+ resolved.headers = {
130
+ ...resolved.headers,
131
+ ...credentialHeaders
132
+ };
133
+ logger.info({ credentialReferenceId }, "Added credential headers to fetch request");
134
+ }
135
+ } catch (error) {
136
+ logger.error({
137
+ credentialReferenceId,
138
+ error: error instanceof Error ? error.message : "Unknown error"
139
+ }, "Failed to resolve credentials for fetch request");
140
+ throw error;
141
+ }
142
+ return resolved;
143
+ }
144
+ /**
145
+ * Interpolate template variables in a string using TemplateEngine
146
+ */
147
+ interpolateTemplate(template, context) {
148
+ try {
149
+ return TemplateEngine.render(template, context, {
150
+ strict: false,
151
+ preserveUnresolved: true
152
+ });
153
+ } catch (error) {
154
+ logger.error({
155
+ template,
156
+ error: error instanceof Error ? error.message : "Unknown error"
157
+ }, "Failed to interpolate template variable");
158
+ return template;
159
+ }
160
+ }
161
+ /**
162
+ * Interpolate template variables in an object recursively using TemplateEngine
163
+ */
164
+ interpolateObjectTemplates(obj, context) {
165
+ const result = {};
166
+ for (const [key, value] of Object.entries(obj)) if (typeof value === "string") result[key] = this.interpolateTemplate(value, context);
167
+ else if (value && typeof value === "object" && !Array.isArray(value)) result[key] = this.interpolateObjectTemplates(value, context);
168
+ else result[key] = value;
169
+ return result;
170
+ }
171
+ /**
172
+ * Perform HTTP request
173
+ */
174
+ async performRequest(config) {
175
+ const startTime = Date.now();
176
+ try {
177
+ logger.debug({
178
+ url: config.url,
179
+ method: config.method
180
+ }, "Performing HTTP request");
181
+ const response = await fetch(config.url, {
182
+ method: config.method,
183
+ headers: config.headers,
184
+ body: config.body ? JSON.stringify(config.body) : void 0,
185
+ signal: AbortSignal.timeout(config.timeout || this.defaultTimeout)
186
+ });
187
+ if (!response.ok) {
188
+ const errorText = await response.text();
189
+ throw /* @__PURE__ */ new Error(`HTTP ${response.status}: ${response.statusText} - ${errorText}`);
190
+ }
191
+ const contentType = response.headers.get("content-type") || "";
192
+ let data;
193
+ if (contentType.includes("application/json")) data = await response.json();
194
+ else data = await response.text();
195
+ const durationMs = Date.now() - startTime;
196
+ for (const checker of responseErrorCheckers) checker(data);
197
+ return {
198
+ data,
199
+ source: config.url,
200
+ durationMs
201
+ };
202
+ } catch (error) {
203
+ const durationMs = Date.now() - startTime;
204
+ const requestError = error instanceof Error ? error : /* @__PURE__ */ new Error("Unknown error");
205
+ logger.warn({
206
+ url: config.url,
207
+ error: requestError.message,
208
+ durationMs
209
+ }, "HTTP request failed");
210
+ throw requestError;
211
+ }
212
+ }
213
+ /**
214
+ * Transform response data using JsonTransformer (JMESPath)
215
+ */
216
+ async transformResponse(data, transform) {
217
+ try {
218
+ return await JsonTransformer.transform(data, transform);
219
+ } catch (error) {
220
+ logger.error({
221
+ transform,
222
+ error: error instanceof Error ? error.message : "Unknown error"
223
+ }, "Failed to transform response data");
224
+ return data;
225
+ }
226
+ }
227
+ /**
228
+ * Validate response against JSON Schema
229
+ */
230
+ validateResponseWithJsonSchema(data, jsonSchema, definitionId) {
231
+ try {
232
+ if (!validateAgainstJsonSchema(jsonSchema, data)) throw new Error("Data does not match JSON Schema");
233
+ } catch (error) {
234
+ const errorMessage = error instanceof Error ? error.message : "Unknown validation error";
235
+ logger.error({
236
+ definitionId,
237
+ jsonSchema,
238
+ error: errorMessage
239
+ }, "JSON Schema response validation failed");
240
+ throw new Error(`Response validation failed: ${errorMessage}`);
241
+ }
242
+ }
243
+ /**
244
+ * Test a fetch definition without caching
245
+ */
246
+ async test(definition, context) {
247
+ const startTime = Date.now();
248
+ try {
249
+ const result = await this.fetch(definition, context);
250
+ return {
251
+ success: true,
252
+ data: result.data,
253
+ resolvedUrl: result.resolvedUrl,
254
+ durationMs: Date.now() - startTime
255
+ };
256
+ } catch (error) {
257
+ return {
258
+ success: false,
259
+ error: error instanceof Error ? error.message : "Unknown error",
260
+ durationMs: Date.now() - startTime
261
+ };
262
+ }
263
+ }
264
+ /**
265
+ * Get fetcher statistics
266
+ */
267
+ getStats() {
268
+ return {
269
+ tenantId: this.executionContext.tenantId,
270
+ defaultTimeout: this.defaultTimeout
271
+ };
272
+ }
273
+ };
274
+
275
+ //#endregion
276
+ export { ContextFetcher, MissingRequiredVariableError };
@@ -0,0 +1,56 @@
1
+ import { ContextConfigApiSelect, CredentialStoreRegistry, FullExecutionContext } from "@inkeep/agents-core";
2
+
3
+ //#region src/domains/run/context/ContextResolver.d.ts
4
+ interface ResolvedContext {
5
+ [templateKey: string]: unknown;
6
+ }
7
+ interface ContextResolutionOptions {
8
+ triggerEvent: 'initialization' | 'invocation';
9
+ conversationId: string;
10
+ headers?: Record<string, unknown>;
11
+ tenantId: string;
12
+ }
13
+ interface ContextResolutionResult {
14
+ resolvedContext: ResolvedContext;
15
+ headers: Record<string, unknown>;
16
+ fetchedDefinitions: string[];
17
+ cacheHits: string[];
18
+ cacheMisses: string[];
19
+ errors: Array<{
20
+ definitionId: string;
21
+ error: string;
22
+ }>;
23
+ skipped: Array<{
24
+ definitionId: string;
25
+ reason: string;
26
+ }>;
27
+ totalDurationMs: number;
28
+ }
29
+ declare class ContextResolver {
30
+ private fetcher;
31
+ private cache;
32
+ private executionContext;
33
+ constructor(executionContext: FullExecutionContext, credentialStoreRegistry?: CredentialStoreRegistry);
34
+ /**
35
+ * Resolve all contexts for a given configuration and trigger event
36
+ */
37
+ resolve(contextConfig: ContextConfigApiSelect, options: ContextResolutionOptions): Promise<ContextResolutionResult>;
38
+ /**
39
+ * Resolve a single context variable
40
+ */
41
+ private resolveSingleFetchDefinition;
42
+ /**
43
+ * Resolve the headers for a given conversation
44
+ */
45
+ resolveHeaders(conversationId: string, contextConfigId: string): Promise<Record<string, unknown>>;
46
+ /**
47
+ * Create a hash of the headers for cache invalidation
48
+ */
49
+ private createRequestHash;
50
+ /**
51
+ * Clear cache
52
+ */
53
+ clearCache(tenantId: string, projectId: string, conversationId: string): Promise<void>;
54
+ }
55
+ //#endregion
56
+ export { ContextResolutionOptions, ContextResolutionResult, ContextResolver, ResolvedContext };
@@ -0,0 +1,273 @@
1
+ import { ContextCache } from "./contextCache.js";
2
+ import { ContextFetcher, MissingRequiredVariableError } from "./ContextFetcher.js";
3
+ import { getLogger, getTracer, setSpanWithError } from "@inkeep/agents-core";
4
+ import { SpanStatusCode } from "@opentelemetry/api";
5
+ import crypto from "node:crypto";
6
+
7
+ //#region src/domains/run/context/ContextResolver.ts
8
+ const logger = getLogger("context-resolver");
9
+ const tracer = getTracer("context-resolver");
10
+ var ContextResolver = class {
11
+ fetcher;
12
+ cache;
13
+ executionContext;
14
+ constructor(executionContext, credentialStoreRegistry) {
15
+ this.executionContext = executionContext;
16
+ this.fetcher = new ContextFetcher(executionContext, credentialStoreRegistry);
17
+ this.cache = new ContextCache(executionContext);
18
+ logger.info({
19
+ tenantId: this.executionContext.tenantId,
20
+ hasCredentialSupport: !!credentialStoreRegistry
21
+ }, "ContextResolver initialized");
22
+ }
23
+ /**
24
+ * Resolve all contexts for a given configuration and trigger event
25
+ */
26
+ async resolve(contextConfig, options) {
27
+ const startTime = Date.now();
28
+ logger.info({
29
+ contextConfigId: contextConfig.id,
30
+ triggerEvent: options.triggerEvent,
31
+ conversationId: options.conversationId
32
+ }, "Starting context resolution");
33
+ return tracer.startActiveSpan("context.resolve", { attributes: {
34
+ "context.config_id": contextConfig.id,
35
+ "context.trigger_event": options.triggerEvent
36
+ } }, async (parentSpan) => {
37
+ try {
38
+ const result = {
39
+ resolvedContext: {},
40
+ headers: options.headers || {},
41
+ fetchedDefinitions: [],
42
+ cacheHits: [],
43
+ cacheMisses: [],
44
+ errors: [],
45
+ skipped: [],
46
+ totalDurationMs: 0
47
+ };
48
+ result.resolvedContext.headers = result.headers;
49
+ const currentHeaders = await this.cache.get({
50
+ conversationId: options.conversationId,
51
+ contextConfigId: contextConfig.id,
52
+ contextVariableKey: "headers"
53
+ });
54
+ if (options.headers && Object.keys(options.headers).length > 0) {
55
+ await this.cache.invalidateHeaders(this.executionContext.tenantId, this.executionContext.projectId, options.conversationId, contextConfig.id);
56
+ logger.info({
57
+ conversationId: options.conversationId,
58
+ contextConfigId: contextConfig.id
59
+ }, "Invalidated headers in cache");
60
+ await this.cache.set({
61
+ contextConfigId: contextConfig.id,
62
+ contextVariableKey: "headers",
63
+ conversationId: options.conversationId,
64
+ value: options.headers,
65
+ tenantId: this.executionContext.tenantId
66
+ });
67
+ logger.info({
68
+ conversationId: options.conversationId,
69
+ contextConfigId: contextConfig.id
70
+ }, "Headers set in cache");
71
+ } else if (currentHeaders) result.headers = currentHeaders.value;
72
+ else result.headers = {};
73
+ result.resolvedContext.headers = result.headers;
74
+ const contextVariables = contextConfig.contextVariables || {};
75
+ const contextVariableEntries = Object.entries(contextVariables);
76
+ if (contextVariableEntries.length === 0) {
77
+ logger.info({ contextConfigId: contextConfig.id }, "No context variables in context config");
78
+ result.totalDurationMs = Date.now() - startTime;
79
+ parentSpan.setStatus({ code: SpanStatusCode.OK });
80
+ return result;
81
+ }
82
+ contextVariableEntries.filter(([, def]) => def.trigger === "initialization");
83
+ const invocationDefs = contextVariableEntries.filter(([, def]) => def.trigger === "invocation");
84
+ if (options.triggerEvent === "invocation" && invocationDefs.length > 0) await this.cache.invalidateInvocationDefinitions(this.executionContext.tenantId, this.executionContext.projectId, options.conversationId, contextConfig.id, invocationDefs.map(([, def]) => def.id));
85
+ const requestHash = this.createRequestHash(result.headers);
86
+ const fetchPromises = contextVariableEntries.map(([templateKey, definition]) => this.resolveSingleFetchDefinition(contextConfig, definition, templateKey, options, requestHash, result).catch((error) => {
87
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
88
+ if (error instanceof MissingRequiredVariableError) {
89
+ logger.info({
90
+ contextConfigId: contextConfig.id,
91
+ definitionId: definition.id,
92
+ templateKey,
93
+ reason: errorMessage
94
+ }, "Context fetch skipped due to missing required variable");
95
+ result.skipped.push({
96
+ definitionId: definition.id,
97
+ reason: errorMessage
98
+ });
99
+ if (definition.defaultValue !== void 0) {
100
+ result.resolvedContext[templateKey] = definition.defaultValue;
101
+ logger.info({
102
+ contextConfigId: contextConfig.id,
103
+ definitionId: definition.id,
104
+ templateKey
105
+ }, "Using default value for skipped context variable");
106
+ }
107
+ return;
108
+ }
109
+ logger.error({
110
+ contextConfigId: contextConfig.id,
111
+ definitionId: definition.id,
112
+ templateKey,
113
+ error: errorMessage
114
+ }, "Failed to resolve context variable");
115
+ result.errors.push({
116
+ definitionId: definition.id,
117
+ error: errorMessage
118
+ });
119
+ if (definition.defaultValue !== void 0) {
120
+ result.resolvedContext[templateKey] = definition.defaultValue;
121
+ logger.info({
122
+ contextConfigId: contextConfig.id,
123
+ definitionId: definition.id,
124
+ templateKey
125
+ }, "Using default value for failed context variable");
126
+ }
127
+ }));
128
+ await Promise.all(fetchPromises);
129
+ result.totalDurationMs = Date.now() - startTime;
130
+ parentSpan.addEvent("context.resolution.completed", {
131
+ resolved_keys: Object.keys(result.resolvedContext),
132
+ fetched_definitions: result.fetchedDefinitions,
133
+ skipped_definitions: result.skipped.map((s) => s.definitionId)
134
+ });
135
+ if (result.errors.length > 0) parentSpan.setStatus({
136
+ code: SpanStatusCode.ERROR,
137
+ message: `Context resolution completed with errors`
138
+ });
139
+ else parentSpan.setStatus({ code: SpanStatusCode.OK });
140
+ logger.info({
141
+ contextConfigId: contextConfig.id,
142
+ resolvedKeys: Object.keys(result.resolvedContext),
143
+ fetchedDefinitions: result.fetchedDefinitions.length,
144
+ cacheHits: result.cacheHits.length,
145
+ cacheMisses: result.cacheMisses.length,
146
+ errors: result.errors.length,
147
+ skipped: result.skipped.length,
148
+ totalDurationMs: result.totalDurationMs
149
+ }, "Context resolution completed");
150
+ return result;
151
+ } catch (error) {
152
+ const durationMs = Date.now() - startTime;
153
+ setSpanWithError(parentSpan, error instanceof Error ? error : new Error(String(error)));
154
+ logger.error({
155
+ contextConfigId: contextConfig.id,
156
+ error: error instanceof Error ? error.message : String(error),
157
+ durationMs
158
+ }, "Context resolution failed");
159
+ throw error;
160
+ } finally {
161
+ parentSpan.end();
162
+ }
163
+ });
164
+ }
165
+ /**
166
+ * Resolve a single context variable
167
+ */
168
+ async resolveSingleFetchDefinition(contextConfig, definition, templateKey, options, requestHash, result) {
169
+ const cachedEntry = await this.cache.get({
170
+ conversationId: options.conversationId,
171
+ contextConfigId: contextConfig.id,
172
+ contextVariableKey: templateKey,
173
+ requestHash
174
+ });
175
+ if (cachedEntry) {
176
+ result.resolvedContext[templateKey] = cachedEntry.value;
177
+ result.cacheHits.push(definition.id);
178
+ logger.debug({
179
+ definitionId: definition.id,
180
+ templateKey,
181
+ conversationId: options.conversationId
182
+ }, "Cache hit for context variable");
183
+ return;
184
+ }
185
+ result.cacheMisses.push(definition.id);
186
+ logger.debug({
187
+ definitionId: definition.id,
188
+ templateKey,
189
+ conversationId: options.conversationId
190
+ }, "Cache miss for context variable, fetching data");
191
+ const definitionWithConversationId = {
192
+ ...definition,
193
+ fetchConfig: {
194
+ ...definition.fetchConfig,
195
+ conversationId: options.conversationId
196
+ }
197
+ };
198
+ const fetchedData = await tracer.startActiveSpan("context-resolver.resolve_single_fetch_definition", { attributes: {
199
+ "context.definition_id": definition.id,
200
+ "context.template_key": templateKey,
201
+ "context.url_template": definition.fetchConfig.url,
202
+ "context.method": definition.fetchConfig.method,
203
+ "context.trigger": definition.trigger
204
+ } }, async (parentSpan) => {
205
+ try {
206
+ const { data, resolvedUrl } = await this.fetcher.fetch(definitionWithConversationId, result.resolvedContext);
207
+ parentSpan.setStatus({ code: SpanStatusCode.OK });
208
+ parentSpan.addEvent("context.fetch_success", {
209
+ definition_id: definition.id,
210
+ template_key: templateKey,
211
+ source: resolvedUrl
212
+ });
213
+ return data;
214
+ } catch (error) {
215
+ if (error instanceof MissingRequiredVariableError) {
216
+ parentSpan.setStatus({ code: SpanStatusCode.OK });
217
+ parentSpan.addEvent("context.fetch_skipped", {
218
+ definition_id: definition.id,
219
+ template_key: templateKey,
220
+ reason: error.message
221
+ });
222
+ } else setSpanWithError(parentSpan, error instanceof Error ? error : new Error(String(error)));
223
+ throw error;
224
+ } finally {
225
+ parentSpan.end();
226
+ }
227
+ });
228
+ result.resolvedContext[templateKey] = fetchedData;
229
+ result.fetchedDefinitions.push(definition.id);
230
+ await this.cache.set({
231
+ contextConfigId: contextConfig.id,
232
+ contextVariableKey: templateKey,
233
+ conversationId: options.conversationId,
234
+ value: fetchedData,
235
+ requestHash,
236
+ tenantId: this.executionContext.tenantId
237
+ });
238
+ logger.debug({
239
+ definitionId: definition.id,
240
+ templateKey,
241
+ conversationId: options.conversationId
242
+ }, "Context variable resolved and cached");
243
+ }
244
+ /**
245
+ * Resolve the headers for a given conversation
246
+ */
247
+ async resolveHeaders(conversationId, contextConfigId) {
248
+ const cachedEntry = await this.cache.get({
249
+ conversationId,
250
+ contextConfigId,
251
+ contextVariableKey: "headers"
252
+ });
253
+ if (cachedEntry) return cachedEntry.value;
254
+ return {};
255
+ }
256
+ /**
257
+ * Create a hash of the headers for cache invalidation
258
+ */
259
+ createRequestHash(headers$1) {
260
+ const contextString = JSON.stringify(headers$1, Object.keys(headers$1).sort());
261
+ return crypto.createHash("sha256").update(contextString).digest("hex").substring(0, 16);
262
+ }
263
+ /**
264
+ * Clear cache
265
+ */
266
+ async clearCache(tenantId, projectId, conversationId) {
267
+ await this.cache.clearConversation(tenantId, projectId, conversationId);
268
+ logger.info({ conversationId }, "Context cache cleared for conversation");
269
+ }
270
+ };
271
+
272
+ //#endregion
273
+ export { ContextResolver };
@@ -0,0 +1,19 @@
1
+ import { ResolvedContext } from "./ContextResolver.js";
2
+ import { CredentialStoreRegistry, FullExecutionContext } from "@inkeep/agents-core";
3
+
4
+ //#region src/domains/run/context/context.d.ts
5
+ declare function determineContextTrigger(tenantId: string, projectId: string, conversationId: string): Promise<'initialization' | 'invocation'>;
6
+ declare function handleContextConfigChange(executionContext: FullExecutionContext, conversationId: string, newContextConfigId: string, credentialStores?: CredentialStoreRegistry): Promise<void>;
7
+ declare function handleContextResolution({
8
+ executionContext,
9
+ conversationId,
10
+ headers,
11
+ credentialStores
12
+ }: {
13
+ executionContext: FullExecutionContext;
14
+ conversationId: string;
15
+ headers: Record<string, unknown>;
16
+ credentialStores?: CredentialStoreRegistry;
17
+ }): Promise<ResolvedContext | null>;
18
+ //#endregion
19
+ export { determineContextTrigger, handleContextConfigChange, handleContextResolution };