@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,207 @@
1
+ import { AgentWithinContextOfProjectSelectWithRelationIds, ArtifactComponentApiSelect, CanDelegateToItem, CanRelateToInternalSubAgent, DataComponentApiSelect, ExternalAgentApiSelect, FullAgentSubAgentSelectWithRelationIds, FullProjectSelectWithRelationIds, ToolApiSelect } from "@inkeep/agents-core";
2
+
3
+ //#region src/domains/run/utils/project.d.ts
4
+
5
+ /**
6
+ * Get an agent from the project definition
7
+ * Replaces direct database calls with lookup from pre-fetched project data
8
+ */
9
+ declare function getAgentFromProject(params: {
10
+ project: FullProjectSelectWithRelationIds;
11
+ agentId: string;
12
+ }): AgentWithinContextOfProjectSelectWithRelationIds | null;
13
+ /**
14
+ * Get a sub-agent from the project definition
15
+ * Replaces direct database calls with lookup from pre-fetched project data
16
+ */
17
+ declare function getSubAgentFromProject(params: {
18
+ project: FullProjectSelectWithRelationIds;
19
+ agentId: string;
20
+ subAgentId?: string;
21
+ }): FullAgentSubAgentSelectWithRelationIds | null;
22
+ type InternalRelation = {
23
+ id: string;
24
+ name: string;
25
+ description: string | null;
26
+ relationType: 'transfer' | 'delegate';
27
+ relationId: string;
28
+ };
29
+ type ExternalRelation = {
30
+ externalAgent: {
31
+ id: string;
32
+ name: string;
33
+ description: string | null;
34
+ baseUrl: string;
35
+ credentialReferenceId?: string | null;
36
+ };
37
+ headers?: Record<string, string> | null;
38
+ relationId: string;
39
+ };
40
+ type TeamRelation = {
41
+ targetAgent: {
42
+ id: string;
43
+ name: string;
44
+ description: string | null;
45
+ };
46
+ targetAgentId: string;
47
+ headers?: Record<string, string> | null;
48
+ relationId: string;
49
+ };
50
+ type ParsedDelegateRelations = {
51
+ internalDelegateRelations: InternalRelation[];
52
+ externalRelations: ExternalRelation[];
53
+ teamRelations: TeamRelation[];
54
+ };
55
+ /**
56
+ * Extract transfer relations from a sub-agent's canTransferTo array
57
+ * Returns sub-agents that can be transferred to with their details
58
+ */
59
+ declare function extractTransferRelations(params: {
60
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
61
+ canTransferTo: CanRelateToInternalSubAgent[];
62
+ }): InternalRelation[];
63
+ /**
64
+ * Parse canDelegateTo array to separate internal, external, and team relations
65
+ * Handles the union type of string | CanDelegateToExternalAgent | CanDelegateToTeamAgent
66
+ */
67
+ declare function parseDelegateRelations(params: {
68
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
69
+ project: FullProjectSelectWithRelationIds;
70
+ canDelegateTo: CanDelegateToItem[];
71
+ }): ParsedDelegateRelations;
72
+ /**
73
+ * Get all relations for a sub-agent (transfers + delegates combined)
74
+ * Convenience function that combines extractTransferRelations and parseDelegateRelations
75
+ */
76
+ declare function getSubAgentRelations(params: {
77
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
78
+ project: FullProjectSelectWithRelationIds;
79
+ subAgent: FullAgentSubAgentSelectWithRelationIds;
80
+ }): {
81
+ transferRelations: InternalRelation[];
82
+ internalDelegateRelations: InternalRelation[];
83
+ externalRelations: ExternalRelation[];
84
+ teamRelations: TeamRelation[];
85
+ };
86
+ type ToolForAgent = {
87
+ toolId: string;
88
+ tool: ToolApiSelect;
89
+ selectedTools: string[] | null | undefined;
90
+ headers: Record<string, string> | null | undefined;
91
+ toolPolicies: Record<string, {
92
+ needsApproval?: boolean;
93
+ }> | null | undefined;
94
+ relationshipId: string | undefined;
95
+ };
96
+ /**
97
+ * Get tools for a sub-agent from their canUse array
98
+ * Resolves tool references from both agent-level and project-level tools
99
+ */
100
+ declare function getToolsForSubAgent(params: {
101
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
102
+ project: FullProjectSelectWithRelationIds;
103
+ subAgent: FullAgentSubAgentSelectWithRelationIds;
104
+ }): ToolForAgent[];
105
+ type DataComponentForAgent = DataComponentApiSelect;
106
+ type ArtifactComponentForAgent = ArtifactComponentApiSelect;
107
+ /**
108
+ * Get data components for a sub-agent
109
+ * Resolves data component references from project-level dataComponents
110
+ */
111
+ declare function getDataComponentsForSubAgent(params: {
112
+ project: FullProjectSelectWithRelationIds;
113
+ subAgent: FullAgentSubAgentSelectWithRelationIds;
114
+ }): DataComponentForAgent[];
115
+ /**
116
+ * Get artifact components for a sub-agent
117
+ * Resolves artifact component references from project-level artifactComponents
118
+ */
119
+ declare function getArtifactComponentsForSubAgent(params: {
120
+ project: FullProjectSelectWithRelationIds;
121
+ subAgent: FullAgentSubAgentSelectWithRelationIds;
122
+ }): ArtifactComponentForAgent[];
123
+ type TargetTransferRelation = {
124
+ id: string;
125
+ name: string;
126
+ description: string | null;
127
+ relationId: string;
128
+ };
129
+ type TargetExternalAgentRelation = {
130
+ externalAgent: ExternalAgentApiSelect;
131
+ headers?: Record<string, string> | null;
132
+ relationId: string;
133
+ };
134
+ /**
135
+ * Get transfer relations for a target sub-agent
136
+ * Used when building agent configurations that need to know what the target can transfer to
137
+ */
138
+ declare function getTransferRelationsForTargetSubAgent(params: {
139
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
140
+ subAgentId: string;
141
+ }): TargetTransferRelation[];
142
+ /**
143
+ * Get delegate relations (external agents) for a target sub-agent
144
+ * Used when building agent configurations that need to know what external agents the target can delegate to
145
+ */
146
+ declare function getExternalAgentRelationsForTargetSubAgent(params: {
147
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
148
+ project: FullProjectSelectWithRelationIds;
149
+ subAgentId: string;
150
+ }): TargetExternalAgentRelation[];
151
+ type RelationForDescription = {
152
+ id: string;
153
+ name: string;
154
+ description: string | null;
155
+ relationType?: 'transfer' | 'delegate';
156
+ relationId: string;
157
+ };
158
+ type ExternalRelationForDescription = {
159
+ externalAgent: {
160
+ id: string;
161
+ name: string;
162
+ description: string | null;
163
+ };
164
+ relationId: string;
165
+ };
166
+ type TeamRelationForDescription = {
167
+ targetAgent: {
168
+ id: string;
169
+ name: string;
170
+ description: string | null;
171
+ };
172
+ targetAgentId: string;
173
+ relationId: string;
174
+ };
175
+ type RelationsForDescriptionGeneration = {
176
+ internalRelations: RelationForDescription[];
177
+ externalRelations: ExternalRelationForDescription[];
178
+ teamRelations: TeamRelationForDescription[];
179
+ };
180
+ /**
181
+ * Build relation arrays from a sub-agent's canTransferTo and canDelegateTo
182
+ * Used for generating enhanced descriptions
183
+ */
184
+ declare function buildRelationsForDescription(params: {
185
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
186
+ project: FullProjectSelectWithRelationIds;
187
+ subAgent: FullAgentSubAgentSelectWithRelationIds;
188
+ }): RelationsForDescriptionGeneration;
189
+ /**
190
+ * Enhance an internal relation with a generated description
191
+ * Looks up the related sub-agent and builds relation data for description generation
192
+ */
193
+ declare function enhanceInternalRelation(params: {
194
+ relation: InternalRelation;
195
+ agent: AgentWithinContextOfProjectSelectWithRelationIds;
196
+ project: FullProjectSelectWithRelationIds;
197
+ }): InternalRelation;
198
+ /**
199
+ * Enhance a team relation with a generated description
200
+ * Looks up the team agent's default sub-agent and builds relation data for description generation
201
+ */
202
+ declare function enhanceTeamRelation(params: {
203
+ relation: TeamRelation;
204
+ project: FullProjectSelectWithRelationIds;
205
+ }): TeamRelation;
206
+ //#endregion
207
+ export { ArtifactComponentForAgent, DataComponentForAgent, ExternalRelation, ExternalRelationForDescription, InternalRelation, ParsedDelegateRelations, RelationForDescription, RelationsForDescriptionGeneration, TargetExternalAgentRelation, TargetTransferRelation, TeamRelation, TeamRelationForDescription, ToolForAgent, buildRelationsForDescription, enhanceInternalRelation, enhanceTeamRelation, extractTransferRelations, getAgentFromProject, getArtifactComponentsForSubAgent, getDataComponentsForSubAgent, getExternalAgentRelationsForTargetSubAgent, getSubAgentFromProject, getSubAgentRelations, getToolsForSubAgent, getTransferRelationsForTargetSubAgent, parseDelegateRelations };
@@ -0,0 +1,315 @@
1
+ import { getLogger } from "../../../logger.js";
2
+ import { generateDescriptionWithRelationData } from "../data/agents.js";
3
+
4
+ //#region src/domains/run/utils/project.ts
5
+ const logger = getLogger("project-helper");
6
+ /**
7
+ * Get an agent from the project definition
8
+ * Replaces direct database calls with lookup from pre-fetched project data
9
+ */
10
+ function getAgentFromProject(params) {
11
+ const { project, agentId } = params;
12
+ const agent = project.agents[agentId];
13
+ if (!agent) {
14
+ logger.warn({ agentId }, "Agent not found in project");
15
+ return null;
16
+ }
17
+ return agent;
18
+ }
19
+ /**
20
+ * Get a sub-agent from the project definition
21
+ * Replaces direct database calls with lookup from pre-fetched project data
22
+ */
23
+ function getSubAgentFromProject(params) {
24
+ const { project, agentId, subAgentId } = params;
25
+ const agent = project.agents[agentId];
26
+ if (!agent) {
27
+ logger.warn({ agentId }, "Agent not found in project");
28
+ return null;
29
+ }
30
+ const targetSubAgentId = subAgentId || agent.defaultSubAgentId;
31
+ if (!targetSubAgentId) {
32
+ logger.warn({ agentId }, "No default sub-agent ID configured for agent");
33
+ return null;
34
+ }
35
+ const subAgent = agent.subAgents?.[targetSubAgentId];
36
+ if (!subAgent) {
37
+ logger.warn({
38
+ agentId,
39
+ subAgentId: targetSubAgentId
40
+ }, "Sub-agent not found in project");
41
+ return null;
42
+ }
43
+ return subAgent;
44
+ }
45
+ /**
46
+ * Extract transfer relations from a sub-agent's canTransferTo array
47
+ * Returns sub-agents that can be transferred to with their details
48
+ */
49
+ function extractTransferRelations(params) {
50
+ const { agent, canTransferTo } = params;
51
+ return canTransferTo.map((relation) => {
52
+ const targetSubAgent = agent.subAgents?.[relation.subAgentId];
53
+ if (targetSubAgent) return {
54
+ id: relation.subAgentId,
55
+ name: targetSubAgent.name,
56
+ description: targetSubAgent.description,
57
+ relationType: "transfer",
58
+ relationId: relation.subAgentSubAgentRelationId
59
+ };
60
+ return null;
61
+ }).filter((r) => r !== null);
62
+ }
63
+ /**
64
+ * Parse canDelegateTo array to separate internal, external, and team relations
65
+ * Handles the union type of string | CanDelegateToExternalAgent | CanDelegateToTeamAgent
66
+ */
67
+ function parseDelegateRelations(params) {
68
+ const { agent, project, canDelegateTo } = params;
69
+ const internalDelegateRelations = [];
70
+ const externalRelations = [];
71
+ const teamRelations = [];
72
+ for (const item of canDelegateTo) if ("subAgentId" in item) {
73
+ const targetSubAgent = agent.subAgents?.[item.subAgentId];
74
+ if (targetSubAgent) internalDelegateRelations.push({
75
+ id: item.subAgentId,
76
+ name: targetSubAgent.name,
77
+ description: targetSubAgent.description,
78
+ relationType: "delegate",
79
+ relationId: item.subAgentSubAgentRelationId
80
+ });
81
+ } else if ("externalAgentId" in item) {
82
+ const extAgentId = item.externalAgentId;
83
+ const extHeaders = item.headers;
84
+ const extRelationId = item.subAgentExternalAgentRelationId;
85
+ const externalAgent = agent.externalAgents?.[extAgentId] || project.externalAgents?.[extAgentId];
86
+ if (externalAgent) externalRelations.push({
87
+ externalAgent: {
88
+ id: extAgentId,
89
+ name: externalAgent.name,
90
+ description: externalAgent.description,
91
+ baseUrl: externalAgent.baseUrl,
92
+ credentialReferenceId: externalAgent.credentialReferenceId
93
+ },
94
+ headers: extHeaders,
95
+ relationId: extRelationId
96
+ });
97
+ } else if ("agentId" in item) {
98
+ const teamAgentId = item.agentId;
99
+ const teamHeaders = item.headers;
100
+ const teamRelationId = item.subAgentTeamAgentRelationId;
101
+ const teamAgent = agent.teamAgents?.[teamAgentId];
102
+ if (teamAgent) teamRelations.push({
103
+ targetAgent: {
104
+ id: teamAgentId,
105
+ name: teamAgent.name,
106
+ description: teamAgent.description
107
+ },
108
+ targetAgentId: teamAgentId,
109
+ headers: teamHeaders,
110
+ relationId: teamRelationId
111
+ });
112
+ }
113
+ return {
114
+ internalDelegateRelations,
115
+ externalRelations,
116
+ teamRelations
117
+ };
118
+ }
119
+ /**
120
+ * Get all relations for a sub-agent (transfers + delegates combined)
121
+ * Convenience function that combines extractTransferRelations and parseDelegateRelations
122
+ */
123
+ function getSubAgentRelations(params) {
124
+ const { agent, project, subAgent } = params;
125
+ const canTransferTo = subAgent.canTransferTo || [];
126
+ const canDelegateTo = subAgent.canDelegateTo || [];
127
+ const transferRelations = extractTransferRelations({
128
+ agent,
129
+ canTransferTo
130
+ });
131
+ const { internalDelegateRelations, externalRelations, teamRelations } = parseDelegateRelations({
132
+ agent,
133
+ project,
134
+ canDelegateTo
135
+ });
136
+ return {
137
+ transferRelations,
138
+ internalDelegateRelations,
139
+ externalRelations,
140
+ teamRelations
141
+ };
142
+ }
143
+ /**
144
+ * Get tools for a sub-agent from their canUse array
145
+ * Resolves tool references from both agent-level and project-level tools
146
+ */
147
+ function getToolsForSubAgent(params) {
148
+ const { agent, project, subAgent } = params;
149
+ return (subAgent.canUse || []).map((canUseItem) => {
150
+ const tool = agent.tools?.[canUseItem.toolId] || project.tools?.[canUseItem.toolId];
151
+ if (!tool) return null;
152
+ return {
153
+ toolId: canUseItem.toolId,
154
+ tool,
155
+ selectedTools: canUseItem.toolSelection,
156
+ headers: canUseItem.headers,
157
+ toolPolicies: canUseItem.toolPolicies,
158
+ relationshipId: canUseItem.agentToolRelationId
159
+ };
160
+ }).filter((item) => item !== null);
161
+ }
162
+ /**
163
+ * Get data components for a sub-agent
164
+ * Resolves data component references from project-level dataComponents
165
+ */
166
+ function getDataComponentsForSubAgent(params) {
167
+ const { project, subAgent } = params;
168
+ const dataComponentIds = subAgent.dataComponents || [];
169
+ const dataComponentsMap = project.dataComponents || {};
170
+ return dataComponentIds.map((id) => dataComponentsMap[id]).filter((c) => c !== null && c !== void 0);
171
+ }
172
+ /**
173
+ * Get artifact components for a sub-agent
174
+ * Resolves artifact component references from project-level artifactComponents
175
+ */
176
+ function getArtifactComponentsForSubAgent(params) {
177
+ const { project, subAgent } = params;
178
+ const artifactComponentIds = subAgent.artifactComponents || [];
179
+ const artifactComponentsMap = project.artifactComponents || {};
180
+ return artifactComponentIds.map((id) => artifactComponentsMap[id]).filter((c) => c !== null && c !== void 0);
181
+ }
182
+ /**
183
+ * Get transfer relations for a target sub-agent
184
+ * Used when building agent configurations that need to know what the target can transfer to
185
+ */
186
+ function getTransferRelationsForTargetSubAgent(params) {
187
+ const { agent, subAgentId } = params;
188
+ const targetSubAgent = agent.subAgents?.[subAgentId];
189
+ if (!targetSubAgent) return [];
190
+ return (targetSubAgent.canTransferTo || []).map((relation) => {
191
+ const target = agent.subAgents?.[relation.subAgentId];
192
+ return target ? {
193
+ id: relation.subAgentId,
194
+ name: target.name,
195
+ description: target.description,
196
+ relationId: relation.subAgentSubAgentRelationId
197
+ } : null;
198
+ }).filter((r) => r !== null);
199
+ }
200
+ /**
201
+ * Get delegate relations (external agents) for a target sub-agent
202
+ * Used when building agent configurations that need to know what external agents the target can delegate to
203
+ */
204
+ function getExternalAgentRelationsForTargetSubAgent(params) {
205
+ const { agent, project, subAgentId } = params;
206
+ const targetSubAgent = agent.subAgents?.[subAgentId];
207
+ if (!targetSubAgent) return [];
208
+ return (targetSubAgent.canDelegateTo || []).filter((item) => typeof item === "object" && item !== null && "externalAgentId" in item).map((item) => {
209
+ const extAgent = agent.externalAgents?.[item.externalAgentId] || project.externalAgents?.[item.externalAgentId];
210
+ return extAgent ? {
211
+ externalAgent: {
212
+ ...extAgent,
213
+ id: item.externalAgentId
214
+ },
215
+ headers: item.headers,
216
+ relationId: item.subAgentExternalAgentRelationId
217
+ } : null;
218
+ }).filter((r) => r !== null);
219
+ }
220
+ /**
221
+ * Build relation arrays from a sub-agent's canTransferTo and canDelegateTo
222
+ * Used for generating enhanced descriptions
223
+ */
224
+ function buildRelationsForDescription(params) {
225
+ const { agent, project, subAgent } = params;
226
+ const canTransferTo = subAgent.canTransferTo || [];
227
+ const canDelegateTo = subAgent.canDelegateTo || [];
228
+ const internalRelations = canTransferTo.map((relation) => {
229
+ const target = agent.subAgents?.[relation.subAgentId];
230
+ return target ? {
231
+ id: relation.subAgentId,
232
+ name: target.name,
233
+ description: target.description,
234
+ relationType: "transfer",
235
+ relationId: relation.subAgentSubAgentRelationId
236
+ } : null;
237
+ }).filter((r) => r !== null);
238
+ const externalRelations = [];
239
+ const teamRelations = [];
240
+ for (const item of canDelegateTo) if ("externalAgentId" in item) {
241
+ const extId = item.externalAgentId;
242
+ const extAgent = agent.externalAgents?.[extId] || project.externalAgents?.[extId];
243
+ if (extAgent) externalRelations.push({
244
+ externalAgent: {
245
+ id: extId,
246
+ name: extAgent.name,
247
+ description: extAgent.description
248
+ },
249
+ relationId: item.subAgentExternalAgentRelationId
250
+ });
251
+ } else if ("agentId" in item) {
252
+ const tId = item.agentId;
253
+ const tAgent = agent.teamAgents?.[tId];
254
+ if (tAgent) teamRelations.push({
255
+ targetAgent: {
256
+ id: tId,
257
+ name: tAgent.name,
258
+ description: tAgent.description
259
+ },
260
+ targetAgentId: tId,
261
+ relationId: item.subAgentTeamAgentRelationId
262
+ });
263
+ }
264
+ return {
265
+ internalRelations,
266
+ externalRelations,
267
+ teamRelations
268
+ };
269
+ }
270
+ /**
271
+ * Enhance an internal relation with a generated description
272
+ * Looks up the related sub-agent and builds relation data for description generation
273
+ */
274
+ function enhanceInternalRelation(params) {
275
+ const { relation, agent, project } = params;
276
+ const relatedSubAgent = agent.subAgents?.[relation.id];
277
+ if (!relatedSubAgent) return relation;
278
+ const { internalRelations, externalRelations, teamRelations } = buildRelationsForDescription({
279
+ agent,
280
+ project,
281
+ subAgent: relatedSubAgent
282
+ });
283
+ const enhancedDescription = generateDescriptionWithRelationData(relation.description || "", internalRelations, externalRelations, teamRelations);
284
+ return {
285
+ ...relation,
286
+ description: enhancedDescription
287
+ };
288
+ }
289
+ /**
290
+ * Enhance a team relation with a generated description
291
+ * Looks up the team agent's default sub-agent and builds relation data for description generation
292
+ */
293
+ function enhanceTeamRelation(params) {
294
+ const { relation, project } = params;
295
+ const teamAgent = project.agents[relation.targetAgentId];
296
+ if (!teamAgent?.defaultSubAgentId) return relation;
297
+ const defaultSubAgent = teamAgent.subAgents?.[teamAgent.defaultSubAgentId];
298
+ if (!defaultSubAgent) return relation;
299
+ const { internalRelations, externalRelations, teamRelations } = buildRelationsForDescription({
300
+ agent: teamAgent,
301
+ project,
302
+ subAgent: defaultSubAgent
303
+ });
304
+ const enhancedDescription = generateDescriptionWithRelationData(teamAgent.description || "", internalRelations, externalRelations, teamRelations);
305
+ return {
306
+ ...relation,
307
+ targetAgent: {
308
+ ...relation.targetAgent,
309
+ description: enhancedDescription
310
+ }
311
+ };
312
+ }
313
+
314
+ //#endregion
315
+ export { buildRelationsForDescription, enhanceInternalRelation, enhanceTeamRelation, extractTransferRelations, getAgentFromProject, getArtifactComponentsForSubAgent, getDataComponentsForSubAgent, getExternalAgentRelationsForTargetSubAgent, getSubAgentFromProject, getSubAgentRelations, getToolsForSubAgent, getTransferRelationsForTargetSubAgent, parseDelegateRelations };
@@ -0,0 +1,44 @@
1
+ //#region src/domains/run/utils/schema-validation.d.ts
2
+ /**
3
+ * Clear the validator cache to free memory
4
+ * Useful for testing or when memory usage becomes a concern
5
+ */
6
+ declare function clearValidatorCache(): void;
7
+ /**
8
+ * Get the current cache size for monitoring
9
+ */
10
+ declare function getValidatorCacheSize(): number;
11
+ /**
12
+ * Extended JSON Schema that includes preview field indicators
13
+ */
14
+ interface ExtendedJsonSchema {
15
+ type: string;
16
+ properties?: Record<string, ExtendedJsonSchemaProperty>;
17
+ required?: string[];
18
+ [key: string]: any;
19
+ }
20
+ interface ExtendedJsonSchemaProperty {
21
+ type: string;
22
+ description?: string;
23
+ inPreview?: boolean;
24
+ [key: string]: any;
25
+ }
26
+ /**
27
+ * Validate that a schema is valid (either JSON Schema or Zod)
28
+ * Following the same pattern as context validation
29
+ */
30
+ declare function validateComponentSchema(schema: any, componentName: string): {
31
+ isValid: boolean;
32
+ error?: string;
33
+ validatedSchema?: ExtendedJsonSchema;
34
+ };
35
+ /**
36
+ * Extract preview fields from a schema (fields marked with inPreview: true)
37
+ */
38
+ declare function extractPreviewFields(schema: ExtendedJsonSchema): Record<string, any>;
39
+ /**
40
+ * Extract full fields from a schema (all fields, with inPreview flags removed)
41
+ */
42
+ declare function extractFullFields(schema: ExtendedJsonSchema): Record<string, any>;
43
+ //#endregion
44
+ export { ExtendedJsonSchema, ExtendedJsonSchemaProperty, clearValidatorCache, extractFullFields, extractPreviewFields, getValidatorCacheSize, validateComponentSchema };
@@ -0,0 +1,97 @@
1
+ import { getLogger } from "../../../logger.js";
2
+ import { z } from "@hono/zod-openapi";
3
+ import { convertZodToJsonSchemaWithPreview } from "@inkeep/agents-core/utils/schema-conversion";
4
+ import Ajv from "ajv";
5
+
6
+ //#region src/domains/run/utils/schema-validation.ts
7
+ const logger = getLogger("SchemaValidation");
8
+ const ajv = new Ajv({
9
+ allErrors: true,
10
+ strict: false
11
+ });
12
+ const validatorCache = /* @__PURE__ */ new Map();
13
+ /**
14
+ * Clear the validator cache to free memory
15
+ * Useful for testing or when memory usage becomes a concern
16
+ */
17
+ function clearValidatorCache() {
18
+ validatorCache.clear();
19
+ }
20
+ /**
21
+ * Get the current cache size for monitoring
22
+ */
23
+ function getValidatorCacheSize() {
24
+ return validatorCache.size;
25
+ }
26
+ /**
27
+ * Validate that a schema is valid (either JSON Schema or Zod)
28
+ * Following the same pattern as context validation
29
+ */
30
+ function validateComponentSchema(schema, componentName) {
31
+ try {
32
+ if (schema instanceof z.ZodType) return {
33
+ isValid: true,
34
+ validatedSchema: convertZodToJsonSchemaWithPreview(schema)
35
+ };
36
+ if (!schema || typeof schema !== "object" || Array.isArray(schema)) return {
37
+ isValid: false,
38
+ error: "Schema must be a valid JSON Schema object or Zod schema"
39
+ };
40
+ const schemaKey = JSON.stringify(schema);
41
+ let validator = validatorCache.get(schemaKey);
42
+ if (!validator) {
43
+ validator = ajv.compile(schema);
44
+ validatorCache.set(schemaKey, validator);
45
+ }
46
+ return {
47
+ isValid: true,
48
+ validatedSchema: schema
49
+ };
50
+ } catch (error) {
51
+ logger.error({
52
+ componentName,
53
+ error: error instanceof Error ? error.message : "Unknown error"
54
+ }, "Invalid component schema");
55
+ return {
56
+ isValid: false,
57
+ error: error instanceof Error ? error.message : "Invalid JSON Schema"
58
+ };
59
+ }
60
+ }
61
+ /**
62
+ * Extract preview fields from a schema (fields marked with inPreview: true)
63
+ */
64
+ function extractPreviewFields(schema) {
65
+ const previewProperties = {};
66
+ if (schema.properties) {
67
+ for (const [key, prop] of Object.entries(schema.properties)) if (prop.inPreview === true) {
68
+ const cleanProp = { ...prop };
69
+ delete cleanProp.inPreview;
70
+ previewProperties[key] = cleanProp;
71
+ }
72
+ }
73
+ return {
74
+ type: "object",
75
+ properties: previewProperties,
76
+ required: schema.required?.filter((field) => previewProperties[field])
77
+ };
78
+ }
79
+ /**
80
+ * Extract full fields from a schema (all fields, with inPreview flags removed)
81
+ */
82
+ function extractFullFields(schema) {
83
+ const fullProperties = {};
84
+ if (schema.properties) for (const [key, prop] of Object.entries(schema.properties)) {
85
+ const cleanProp = { ...prop };
86
+ delete cleanProp.inPreview;
87
+ fullProperties[key] = cleanProp;
88
+ }
89
+ return {
90
+ type: "object",
91
+ properties: fullProperties,
92
+ required: schema.required
93
+ };
94
+ }
95
+
96
+ //#endregion
97
+ export { clearValidatorCache, extractFullFields, extractPreviewFields, getValidatorCacheSize, validateComponentSchema };