@undefineds.co/xpod 0.3.58 → 0.3.61

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 (776) hide show
  1. package/README.md +3 -0
  2. package/config/cli.json +88 -0
  3. package/config/cloud.json +32 -1
  4. package/config/components-ignore.json +3 -0
  5. package/config/extensions.local.initializer.json +44 -0
  6. package/config/resolver.json +86 -0
  7. package/config/xpod.base.json +4 -0
  8. package/dist/agents/AgentExecutorFactory.d.ts +3 -3
  9. package/dist/agents/AgentExecutorFactory.js +28 -15
  10. package/dist/agents/AgentExecutorFactory.js.map +1 -1
  11. package/dist/agents/BaseAgentExecutor.d.ts +2 -1
  12. package/dist/agents/BaseAgentExecutor.js +1 -0
  13. package/dist/agents/BaseAgentExecutor.js.map +1 -1
  14. package/dist/agents/ClaudeExecutor.d.ts +3 -1
  15. package/dist/agents/ClaudeExecutor.js +18 -12
  16. package/dist/agents/ClaudeExecutor.js.map +1 -1
  17. package/dist/agents/config/resolve.js +0 -21
  18. package/dist/agents/config/resolve.js.map +1 -1
  19. package/dist/agents/config/types.d.ts +2 -7
  20. package/dist/agents/config/types.js +2 -1
  21. package/dist/agents/config/types.js.map +1 -1
  22. package/dist/agents/types.d.ts +18 -0
  23. package/dist/agents/types.js.map +1 -1
  24. package/dist/ai/schema/types.d.ts +2 -1
  25. package/dist/ai/schema/types.js +1 -0
  26. package/dist/ai/schema/types.js.map +1 -1
  27. package/dist/ai/service/CredentialReader.d.ts +3 -1
  28. package/dist/ai/service/CredentialReader.js.map +1 -1
  29. package/dist/ai/service/CredentialReaderImpl.d.ts +3 -1
  30. package/dist/ai/service/CredentialReaderImpl.js +24 -2
  31. package/dist/ai/service/CredentialReaderImpl.js.map +1 -1
  32. package/dist/ai/service/EmbeddingServiceImpl.js +13 -2
  33. package/dist/ai/service/EmbeddingServiceImpl.js.map +1 -1
  34. package/dist/ai/service/ProviderRegistry.d.ts +4 -0
  35. package/dist/ai/service/ProviderRegistry.js.map +1 -1
  36. package/dist/ai/service/ProviderRegistry.jsonld +4 -0
  37. package/dist/ai/service/ProviderRegistryImpl.d.ts +4 -1
  38. package/dist/ai/service/ProviderRegistryImpl.js +26 -4
  39. package/dist/ai/service/ProviderRegistryImpl.js.map +1 -1
  40. package/dist/ai/service/ProviderRegistryImpl.jsonld +12 -0
  41. package/dist/ai/service/defaultEmbeddingProfile.d.ts +5 -0
  42. package/dist/ai/service/defaultEmbeddingProfile.js +31 -0
  43. package/dist/ai/service/defaultEmbeddingProfile.js.map +1 -0
  44. package/dist/ai/service/index.d.ts +1 -0
  45. package/dist/ai/service/index.js +1 -0
  46. package/dist/ai/service/index.js.map +1 -1
  47. package/dist/ai/service/types.d.ts +1 -0
  48. package/dist/ai/service/types.js.map +1 -1
  49. package/dist/api/ApiServer.js +17 -2
  50. package/dist/api/ApiServer.js.map +1 -1
  51. package/dist/api/ai-gateway/AiGatewayService.d.ts +106 -0
  52. package/dist/api/ai-gateway/AiGatewayService.js +527 -0
  53. package/dist/api/ai-gateway/AiGatewayService.js.map +1 -0
  54. package/dist/api/ai-gateway/auth/AiConnectionInvocationKeyIssuer.d.ts +38 -0
  55. package/dist/api/ai-gateway/auth/AiConnectionInvocationKeyIssuer.js +128 -0
  56. package/dist/api/ai-gateway/auth/AiConnectionInvocationKeyIssuer.js.map +1 -0
  57. package/dist/api/ai-gateway/auth/ClientCredentialsInternalPodAccessTokenProvider.d.ts +25 -0
  58. package/dist/api/ai-gateway/auth/ClientCredentialsInternalPodAccessTokenProvider.js +91 -0
  59. package/dist/api/ai-gateway/auth/ClientCredentialsInternalPodAccessTokenProvider.js.map +1 -0
  60. package/dist/api/ai-gateway/auth/GatewayApiKey.d.ts +28 -0
  61. package/dist/api/ai-gateway/auth/GatewayApiKey.js +162 -0
  62. package/dist/api/ai-gateway/auth/GatewayApiKey.js.map +1 -0
  63. package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.d.ts +56 -0
  64. package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.js +143 -0
  65. package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.js.map +1 -0
  66. package/dist/api/ai-gateway/auth/GatewayKeyLocatorCodec.d.ts +26 -0
  67. package/dist/api/ai-gateway/auth/GatewayKeyLocatorCodec.js +97 -0
  68. package/dist/api/ai-gateway/auth/GatewayKeyLocatorCodec.js.map +1 -0
  69. package/dist/api/ai-gateway/auth/GatewayPrincipal.d.ts +20 -0
  70. package/dist/api/ai-gateway/auth/GatewayPrincipal.js +37 -0
  71. package/dist/api/ai-gateway/auth/GatewayPrincipal.js.map +1 -0
  72. package/dist/api/ai-gateway/auth/InvocationTokenCodec.d.ts +41 -0
  73. package/dist/api/ai-gateway/auth/InvocationTokenCodec.js +221 -0
  74. package/dist/api/ai-gateway/auth/InvocationTokenCodec.js.map +1 -0
  75. package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.d.ts +54 -0
  76. package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.js +152 -0
  77. package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.js.map +1 -0
  78. package/dist/api/ai-gateway/connect/index.d.ts +367 -0
  79. package/dist/api/ai-gateway/connect/index.js +1061 -0
  80. package/dist/api/ai-gateway/connect/index.js.map +1 -0
  81. package/dist/api/ai-gateway/credentials/CloudKmsWrapper.d.ts +40 -0
  82. package/dist/api/ai-gateway/credentials/CloudKmsWrapper.js +59 -0
  83. package/dist/api/ai-gateway/credentials/CloudKmsWrapper.js.map +1 -0
  84. package/dist/api/ai-gateway/credentials/CredentialVault.d.ts +14 -0
  85. package/dist/api/ai-gateway/credentials/CredentialVault.js +11 -0
  86. package/dist/api/ai-gateway/credentials/CredentialVault.js.map +1 -0
  87. package/dist/api/ai-gateway/credentials/KeyWrapper.d.ts +27 -0
  88. package/dist/api/ai-gateway/credentials/KeyWrapper.js +3 -0
  89. package/dist/api/ai-gateway/credentials/KeyWrapper.js.map +1 -0
  90. package/dist/api/ai-gateway/credentials/LocalKeychainWrapper.d.ts +27 -0
  91. package/dist/api/ai-gateway/credentials/LocalKeychainWrapper.js +145 -0
  92. package/dist/api/ai-gateway/credentials/LocalKeychainWrapper.js.map +1 -0
  93. package/dist/api/ai-gateway/credentials/SecretCellCredentialVault.d.ts +13 -0
  94. package/dist/api/ai-gateway/credentials/SecretCellCredentialVault.js +133 -0
  95. package/dist/api/ai-gateway/credentials/SecretCellCredentialVault.js.map +1 -0
  96. package/dist/api/ai-gateway/credentials/SecretCellKeyWrapper.d.ts +23 -0
  97. package/dist/api/ai-gateway/credentials/SecretCellKeyWrapper.js +62 -0
  98. package/dist/api/ai-gateway/credentials/SecretCellKeyWrapper.js.map +1 -0
  99. package/dist/api/ai-gateway/credentials/WebCryptoCredentialVault.d.ts +23 -0
  100. package/dist/api/ai-gateway/credentials/WebCryptoCredentialVault.js +173 -0
  101. package/dist/api/ai-gateway/credentials/WebCryptoCredentialVault.js.map +1 -0
  102. package/dist/api/ai-gateway/errors.d.ts +21 -0
  103. package/dist/api/ai-gateway/errors.js +50 -0
  104. package/dist/api/ai-gateway/errors.js.map +1 -0
  105. package/dist/api/ai-gateway/protocol/ChatCompletionsFrontend.d.ts +6 -0
  106. package/dist/api/ai-gateway/protocol/ChatCompletionsFrontend.js +111 -0
  107. package/dist/api/ai-gateway/protocol/ChatCompletionsFrontend.js.map +1 -0
  108. package/dist/api/ai-gateway/protocol/MessagesFrontend.d.ts +6 -0
  109. package/dist/api/ai-gateway/protocol/MessagesFrontend.js +99 -0
  110. package/dist/api/ai-gateway/protocol/MessagesFrontend.js.map +1 -0
  111. package/dist/api/ai-gateway/protocol/ResponsesFrontend.d.ts +6 -0
  112. package/dist/api/ai-gateway/protocol/ResponsesFrontend.js +232 -0
  113. package/dist/api/ai-gateway/protocol/ResponsesFrontend.js.map +1 -0
  114. package/dist/api/ai-gateway/protocol/index.d.ts +3 -0
  115. package/dist/api/ai-gateway/protocol/index.js +10 -0
  116. package/dist/api/ai-gateway/protocol/index.js.map +1 -0
  117. package/dist/api/ai-gateway/providers/AnthropicRuntimeAdapter.d.ts +7 -0
  118. package/dist/api/ai-gateway/providers/AnthropicRuntimeAdapter.js +37 -0
  119. package/dist/api/ai-gateway/providers/AnthropicRuntimeAdapter.js.map +1 -0
  120. package/dist/api/ai-gateway/providers/BailianRuntimeAdapter.d.ts +9 -0
  121. package/dist/api/ai-gateway/providers/BailianRuntimeAdapter.js +127 -0
  122. package/dist/api/ai-gateway/providers/BailianRuntimeAdapter.js.map +1 -0
  123. package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.d.ts +8 -0
  124. package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.js +47 -0
  125. package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.js.map +1 -0
  126. package/dist/api/ai-gateway/providers/KimiRuntimeAdapter.d.ts +8 -0
  127. package/dist/api/ai-gateway/providers/KimiRuntimeAdapter.js +57 -0
  128. package/dist/api/ai-gateway/providers/KimiRuntimeAdapter.js.map +1 -0
  129. package/dist/api/ai-gateway/providers/OpenAiCompatibleRuntimeAdapter.d.ts +1 -0
  130. package/dist/api/ai-gateway/providers/OpenAiCompatibleRuntimeAdapter.js +6 -0
  131. package/dist/api/ai-gateway/providers/OpenAiCompatibleRuntimeAdapter.js.map +1 -0
  132. package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.d.ts +13 -0
  133. package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.js +34 -0
  134. package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.js.map +1 -0
  135. package/dist/api/ai-gateway/providers/ProviderRegistry.d.ts +68 -0
  136. package/dist/api/ai-gateway/providers/ProviderRegistry.js +288 -0
  137. package/dist/api/ai-gateway/providers/ProviderRegistry.js.map +1 -0
  138. package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.d.ts +88 -0
  139. package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.js +645 -0
  140. package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.js.map +1 -0
  141. package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.d.ts +13 -0
  142. package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.js +48 -0
  143. package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.js.map +1 -0
  144. package/dist/api/ai-gateway/providers/index.d.ts +9 -0
  145. package/dist/api/ai-gateway/providers/index.js +26 -0
  146. package/dist/api/ai-gateway/providers/index.js.map +1 -0
  147. package/dist/api/ai-gateway/quota/AnthropicQuotaAdapter.d.ts +5 -0
  148. package/dist/api/ai-gateway/quota/AnthropicQuotaAdapter.js +21 -0
  149. package/dist/api/ai-gateway/quota/AnthropicQuotaAdapter.js.map +1 -0
  150. package/dist/api/ai-gateway/quota/BailianQuotaAdapter.d.ts +5 -0
  151. package/dist/api/ai-gateway/quota/BailianQuotaAdapter.js +21 -0
  152. package/dist/api/ai-gateway/quota/BailianQuotaAdapter.js.map +1 -0
  153. package/dist/api/ai-gateway/quota/DeepSeekQuotaAdapter.d.ts +10 -0
  154. package/dist/api/ai-gateway/quota/DeepSeekQuotaAdapter.js +83 -0
  155. package/dist/api/ai-gateway/quota/DeepSeekQuotaAdapter.js.map +1 -0
  156. package/dist/api/ai-gateway/quota/KimiQuotaAdapter.d.ts +10 -0
  157. package/dist/api/ai-gateway/quota/KimiQuotaAdapter.js +70 -0
  158. package/dist/api/ai-gateway/quota/KimiQuotaAdapter.js.map +1 -0
  159. package/dist/api/ai-gateway/quota/OpenAiQuotaAdapter.d.ts +5 -0
  160. package/dist/api/ai-gateway/quota/OpenAiQuotaAdapter.js +21 -0
  161. package/dist/api/ai-gateway/quota/OpenAiQuotaAdapter.js.map +1 -0
  162. package/dist/api/ai-gateway/quota/ProviderQuotaAdapter.d.ts +214 -0
  163. package/dist/api/ai-gateway/quota/ProviderQuotaAdapter.js +511 -0
  164. package/dist/api/ai-gateway/quota/ProviderQuotaAdapter.js.map +1 -0
  165. package/dist/api/ai-gateway/quota/index.d.ts +6 -0
  166. package/dist/api/ai-gateway/quota/index.js +23 -0
  167. package/dist/api/ai-gateway/quota/index.js.map +1 -0
  168. package/dist/api/ai-gateway/routing/InMemorySessionAffinityStore.d.ts +26 -0
  169. package/dist/api/ai-gateway/routing/InMemorySessionAffinityStore.js +67 -0
  170. package/dist/api/ai-gateway/routing/InMemorySessionAffinityStore.js.map +1 -0
  171. package/dist/api/ai-gateway/routing/ModelRouter.d.ts +84 -0
  172. package/dist/api/ai-gateway/routing/ModelRouter.js +274 -0
  173. package/dist/api/ai-gateway/routing/ModelRouter.js.map +1 -0
  174. package/dist/api/ai-gateway/routing/RedisSessionAffinityStore.d.ts +39 -0
  175. package/dist/api/ai-gateway/routing/RedisSessionAffinityStore.js +122 -0
  176. package/dist/api/ai-gateway/routing/RedisSessionAffinityStore.js.map +1 -0
  177. package/dist/api/ai-gateway/routing/SessionAffinityStore.d.ts +49 -0
  178. package/dist/api/ai-gateway/routing/SessionAffinityStore.js +66 -0
  179. package/dist/api/ai-gateway/routing/SessionAffinityStore.js.map +1 -0
  180. package/dist/api/ai-gateway/service-access/AiConnectionServiceAccess.d.ts +25 -0
  181. package/dist/api/ai-gateway/service-access/AiConnectionServiceAccess.js +50 -0
  182. package/dist/api/ai-gateway/service-access/AiConnectionServiceAccess.js.map +1 -0
  183. package/dist/api/ai-gateway/types.d.ts +112 -0
  184. package/dist/api/ai-gateway/types.js +305 -0
  185. package/dist/api/ai-gateway/types.js.map +1 -0
  186. package/dist/api/auth/AuthContext.d.ts +18 -3
  187. package/dist/api/auth/AuthContext.js +13 -2
  188. package/dist/api/auth/AuthContext.js.map +1 -1
  189. package/dist/api/auth/Authenticator.d.ts +3 -0
  190. package/dist/api/auth/Authenticator.js.map +1 -1
  191. package/dist/api/auth/ClientCredentialsAuthenticator.d.ts +2 -6
  192. package/dist/api/auth/ClientCredentialsAuthenticator.js +12 -30
  193. package/dist/api/auth/ClientCredentialsAuthenticator.js.map +1 -1
  194. package/dist/api/auth/SolidTokenAuthenticator.d.ts +2 -0
  195. package/dist/api/auth/SolidTokenAuthenticator.js +88 -2
  196. package/dist/api/auth/SolidTokenAuthenticator.js.map +1 -1
  197. package/dist/api/auth/TokenIdentity.d.ts +6 -0
  198. package/dist/api/auth/TokenIdentity.js +31 -0
  199. package/dist/api/auth/TokenIdentity.js.map +1 -0
  200. package/dist/api/chatkit/ai-provider.d.ts +9 -23
  201. package/dist/api/chatkit/ai-provider.js +30 -153
  202. package/dist/api/chatkit/ai-provider.js.map +1 -1
  203. package/dist/api/chatkit/default-agent.d.ts +24 -15
  204. package/dist/api/chatkit/default-agent.js +24 -83
  205. package/dist/api/chatkit/default-agent.js.map +1 -1
  206. package/dist/api/chatkit/index.d.ts +2 -1
  207. package/dist/api/chatkit/index.js +3 -1
  208. package/dist/api/chatkit/index.js.map +1 -1
  209. package/dist/api/chatkit/pod-store.d.ts +13 -1
  210. package/dist/api/chatkit/pod-store.js +127 -7
  211. package/dist/api/chatkit/pod-store.js.map +1 -1
  212. package/dist/api/chatkit/runtime/AcpAgentRuntime.d.ts +0 -1
  213. package/dist/api/chatkit/runtime/AcpAgentRuntime.js +14 -51
  214. package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -1
  215. package/dist/api/chatkit/runtime/AcpRunner.js +2 -1
  216. package/dist/api/chatkit/runtime/AcpRunner.js.map +1 -1
  217. package/dist/api/chatkit/runtime/CodexRuntimeProjector.d.ts +15 -1
  218. package/dist/api/chatkit/runtime/CodexRuntimeProjector.js +52 -34
  219. package/dist/api/chatkit/runtime/CodexRuntimeProjector.js.map +1 -1
  220. package/dist/api/chatkit/service.d.ts +8 -1
  221. package/dist/api/chatkit/service.js +46 -5
  222. package/dist/api/chatkit/service.js.map +1 -1
  223. package/dist/api/chatkit/store.d.ts +23 -1
  224. package/dist/api/chatkit/store.js +56 -0
  225. package/dist/api/chatkit/store.js.map +1 -1
  226. package/dist/api/chatkit/types.d.ts +1 -0
  227. package/dist/api/chatkit/types.js.map +1 -1
  228. package/dist/api/container/common.js +286 -13
  229. package/dist/api/container/common.js.map +1 -1
  230. package/dist/api/container/index.js +126 -6
  231. package/dist/api/container/index.js.map +1 -1
  232. package/dist/api/container/local.js +50 -6
  233. package/dist/api/container/local.js.map +1 -1
  234. package/dist/api/container/rdf.d.ts +15 -0
  235. package/dist/api/container/rdf.js +90 -0
  236. package/dist/api/container/rdf.js.map +1 -0
  237. package/dist/api/container/routes.js +151 -11
  238. package/dist/api/container/routes.js.map +1 -1
  239. package/dist/api/container/types.d.ts +96 -0
  240. package/dist/api/container/types.js.map +1 -1
  241. package/dist/api/handlers/AdminHandler.d.ts +25 -2
  242. package/dist/api/handlers/AdminHandler.js +60 -10
  243. package/dist/api/handlers/AdminHandler.js.map +1 -1
  244. package/dist/api/handlers/AiClientConfigurationHandler.d.ts +7 -0
  245. package/dist/api/handlers/AiClientConfigurationHandler.js +202 -0
  246. package/dist/api/handlers/AiClientConfigurationHandler.js.map +1 -0
  247. package/dist/api/handlers/AiGatewayHandler.d.ts +23 -0
  248. package/dist/api/handlers/AiGatewayHandler.js +231 -0
  249. package/dist/api/handlers/AiGatewayHandler.js.map +1 -0
  250. package/dist/api/handlers/AiGatewayManagementHandler.d.ts +24 -0
  251. package/dist/api/handlers/AiGatewayManagementHandler.js +503 -0
  252. package/dist/api/handlers/AiGatewayManagementHandler.js.map +1 -0
  253. package/dist/api/handlers/ChatHandler.d.ts +11 -12
  254. package/dist/api/handlers/ChatHandler.js +12 -219
  255. package/dist/api/handlers/ChatHandler.js.map +1 -1
  256. package/dist/api/handlers/DashboardHandler.js +22 -116
  257. package/dist/api/handlers/DashboardHandler.js.map +1 -1
  258. package/dist/api/handlers/NetworkSettingsHandler.d.ts +97 -0
  259. package/dist/api/handlers/NetworkSettingsHandler.js +511 -0
  260. package/dist/api/handlers/NetworkSettingsHandler.js.map +1 -0
  261. package/dist/api/handlers/PodSettingsHandler.d.ts +79 -0
  262. package/dist/api/handlers/PodSettingsHandler.js +162 -0
  263. package/dist/api/handlers/PodSettingsHandler.js.map +1 -0
  264. package/dist/api/handlers/ProvisionHandler.d.ts +3 -1
  265. package/dist/api/handlers/ProvisionHandler.js +22 -87
  266. package/dist/api/handlers/ProvisionHandler.js.map +1 -1
  267. package/dist/api/handlers/RdfStatsHandler.d.ts +6 -0
  268. package/dist/api/handlers/RdfStatsHandler.js +85 -0
  269. package/dist/api/handlers/RdfStatsHandler.js.map +1 -0
  270. package/dist/api/handlers/SettingsHandler.d.ts +5 -0
  271. package/dist/api/handlers/SettingsHandler.js +13 -0
  272. package/dist/api/handlers/SettingsHandler.js.map +1 -0
  273. package/dist/api/handlers/StaticSpaHandler.d.ts +8 -0
  274. package/dist/api/handlers/StaticSpaHandler.js +102 -0
  275. package/dist/api/handlers/StaticSpaHandler.js.map +1 -0
  276. package/dist/api/handlers/index.d.ts +1 -0
  277. package/dist/api/handlers/index.js +1 -0
  278. package/dist/api/handlers/index.js.map +1 -1
  279. package/dist/api/http/readBoundedJsonBody.d.ts +14 -0
  280. package/dist/api/http/readBoundedJsonBody.js +58 -0
  281. package/dist/api/http/readBoundedJsonBody.js.map +1 -0
  282. package/dist/api/middleware/AuthMiddleware.d.ts +1 -0
  283. package/dist/api/middleware/AuthMiddleware.js +33 -4
  284. package/dist/api/middleware/AuthMiddleware.js.map +1 -1
  285. package/dist/api/runs/AgentRuntimeTypes.d.ts +18 -3
  286. package/dist/api/runs/AgentRuntimeTypes.js +61 -0
  287. package/dist/api/runs/AgentRuntimeTypes.js.map +1 -1
  288. package/dist/api/runs/InngestRunExecutionBackend.d.ts +28 -3
  289. package/dist/api/runs/InngestRunExecutionBackend.js +26 -3
  290. package/dist/api/runs/InngestRunExecutionBackend.js.map +1 -1
  291. package/dist/api/runs/ManagedRunWorker.d.ts +4 -1
  292. package/dist/api/runs/ManagedRunWorker.js +39 -8
  293. package/dist/api/runs/ManagedRunWorker.js.map +1 -1
  294. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +5 -1
  295. package/dist/api/runs/PiAgentRuntimeDriver.js +94 -57
  296. package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -1
  297. package/dist/api/runs/RdfRunContextRetriever.d.ts +46 -0
  298. package/dist/api/runs/RdfRunContextRetriever.js +277 -0
  299. package/dist/api/runs/RdfRunContextRetriever.js.map +1 -0
  300. package/dist/api/runs/RunExecutionBackend.d.ts +38 -0
  301. package/dist/api/runs/RunExecutionBackend.js.map +1 -1
  302. package/dist/api/runs/RunStateCenter.d.ts +18 -3
  303. package/dist/api/runs/RunStateCenter.js +85 -24
  304. package/dist/api/runs/RunStateCenter.js.map +1 -1
  305. package/dist/api/runtime.js +163 -3
  306. package/dist/api/runtime.js.map +1 -1
  307. package/dist/api/service/AiClientConfigurationService.d.ts +97 -0
  308. package/dist/api/service/AiClientConfigurationService.js +379 -0
  309. package/dist/api/service/AiClientConfigurationService.js.map +1 -0
  310. package/dist/api/service/RdfBenchmarkReportCatalog.d.ts +86 -0
  311. package/dist/api/service/RdfBenchmarkReportCatalog.js +349 -0
  312. package/dist/api/service/RdfBenchmarkReportCatalog.js.map +1 -0
  313. package/dist/api/service/RdfBenchmarkReportGate.d.ts +78 -0
  314. package/dist/api/service/RdfBenchmarkReportGate.js +197 -0
  315. package/dist/api/service/RdfBenchmarkReportGate.js.map +1 -0
  316. package/dist/api/service/RdfSearchIndexingService.d.ts +113 -0
  317. package/dist/api/service/RdfSearchIndexingService.js +272 -0
  318. package/dist/api/service/RdfSearchIndexingService.js.map +1 -0
  319. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +27 -0
  320. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +90 -0
  321. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js.map +1 -0
  322. package/dist/api/service/RdfStorageStatsService.d.ts +31 -0
  323. package/dist/api/service/RdfStorageStatsService.js +97 -0
  324. package/dist/api/service/RdfStorageStatsService.js.map +1 -0
  325. package/dist/api/service/VectorStoreService.d.ts +2 -0
  326. package/dist/api/service/VectorStoreService.js +70 -2
  327. package/dist/api/service/VectorStoreService.js.map +1 -1
  328. package/dist/api/service/VercelChatService.d.ts +27 -38
  329. package/dist/api/service/VercelChatService.js +153 -505
  330. package/dist/api/service/VercelChatService.js.map +1 -1
  331. package/dist/api/service/provider-http-transport.d.ts +21 -0
  332. package/dist/api/service/provider-http-transport.js +108 -2
  333. package/dist/api/service/provider-http-transport.js.map +1 -1
  334. package/dist/api/service/provider-registry.d.ts +5 -7
  335. package/dist/api/service/provider-registry.js +81 -64
  336. package/dist/api/service/provider-registry.js.map +1 -1
  337. package/dist/api/tasks/InngestTaskScheduler.d.ts +44 -4
  338. package/dist/api/tasks/TaskMaterializer.d.ts +10 -1
  339. package/dist/api/tasks/TaskMaterializer.js +39 -4
  340. package/dist/api/tasks/TaskMaterializer.js.map +1 -1
  341. package/dist/api/tasks/TaskService.d.ts +5 -1
  342. package/dist/api/tasks/TaskService.js +3 -0
  343. package/dist/api/tasks/TaskService.js.map +1 -1
  344. package/dist/cli/commands/rdf.d.ts +9 -0
  345. package/dist/cli/commands/rdf.js +66 -1
  346. package/dist/cli/commands/rdf.js.map +1 -1
  347. package/dist/cli/commands/start.js +3 -0
  348. package/dist/cli/commands/start.js.map +1 -1
  349. package/dist/cli/lib/solid-auth.d.ts +3 -3
  350. package/dist/cli/lib/solid-auth.js +4 -4
  351. package/dist/cli/lib/solid-auth.js.map +1 -1
  352. package/dist/components/components.jsonld +16 -0
  353. package/dist/components/context.jsonld +815 -28
  354. package/dist/document/Chunker.jsonld +110 -0
  355. package/dist/document/{DocumentParser.d.ts → DocumentReader.d.ts} +23 -11
  356. package/dist/document/{DocumentParser.js → DocumentReader.js} +2 -2
  357. package/dist/document/DocumentReader.js.map +1 -0
  358. package/dist/document/DocumentReader.jsonld +82 -0
  359. package/dist/document/HeadingChunker.jsonld +41 -0
  360. package/dist/document/{JinaDocumentParser.d.ts → JinaReader.d.ts} +7 -7
  361. package/dist/document/{JinaDocumentParser.js → JinaReader.js} +12 -12
  362. package/dist/document/JinaReader.js.map +1 -0
  363. package/dist/document/JinaReader.jsonld +133 -0
  364. package/dist/document/L0SourceSummary.d.ts +103 -0
  365. package/dist/document/L0SourceSummary.js +157 -0
  366. package/dist/document/L0SourceSummary.js.map +1 -0
  367. package/dist/document/L0SourceSummary.jsonld +326 -0
  368. package/dist/document/PaddleOcrReader.d.ts +40 -0
  369. package/dist/document/PaddleOcrReader.js +53 -0
  370. package/dist/document/PaddleOcrReader.js.map +1 -0
  371. package/dist/document/PaddleOcrReader.jsonld +234 -0
  372. package/dist/document/ReaderAiConfig.d.ts +50 -0
  373. package/dist/document/ReaderAiConfig.js +109 -0
  374. package/dist/document/ReaderAiConfig.js.map +1 -0
  375. package/dist/document/ReaderAiConfig.jsonld +185 -0
  376. package/dist/document/ReaderPolicy.d.ts +89 -0
  377. package/dist/document/ReaderPolicy.js +158 -0
  378. package/dist/document/ReaderPolicy.js.map +1 -0
  379. package/dist/document/ReaderPolicy.jsonld +218 -0
  380. package/dist/document/index.d.ts +6 -2
  381. package/dist/document/index.js +6 -2
  382. package/dist/document/index.js.map +1 -1
  383. package/dist/edge/DdnsManager.d.ts +1 -1
  384. package/dist/edge/DdnsManager.js.map +1 -1
  385. package/dist/edge/EdgeNodeAgent.d.ts +4 -0
  386. package/dist/edge/EdgeNodeAgent.js +6 -0
  387. package/dist/edge/EdgeNodeAgent.js.map +1 -1
  388. package/dist/edge/EdgeNodeAgent.jsonld +8 -0
  389. package/dist/edge/EdgeNodeAgentInitializer.d.ts +16 -0
  390. package/dist/edge/EdgeNodeAgentInitializer.js +51 -0
  391. package/dist/edge/EdgeNodeAgentInitializer.js.map +1 -1
  392. package/dist/edge/EdgeNodeAgentInitializer.jsonld +250 -0
  393. package/dist/edge/EdgeNodeCertificateCapabilityBridge.d.ts +34 -0
  394. package/dist/edge/EdgeNodeCertificateCapabilityBridge.js +111 -0
  395. package/dist/edge/EdgeNodeCertificateCapabilityBridge.js.map +1 -0
  396. package/dist/edge/acme/AcmeCertificateManager.d.ts +14 -1
  397. package/dist/edge/acme/AcmeCertificateManager.js +67 -7
  398. package/dist/edge/acme/AcmeCertificateManager.js.map +1 -1
  399. package/dist/edge/acme/AcmeCertificateManager.jsonld +22 -2
  400. package/dist/edge/acme/ClusterCertificateManager.d.ts +12 -0
  401. package/dist/edge/acme/ClusterCertificateManager.js +38 -0
  402. package/dist/edge/acme/ClusterCertificateManager.js.map +1 -1
  403. package/dist/extensions/ExtensionRuntime.d.ts +17 -0
  404. package/dist/extensions/ExtensionRuntime.js +171 -0
  405. package/dist/extensions/ExtensionRuntime.js.map +1 -0
  406. package/dist/extensions/PodCredentialResolver.d.ts +23 -0
  407. package/dist/extensions/PodCredentialResolver.js +139 -0
  408. package/dist/extensions/PodCredentialResolver.js.map +1 -0
  409. package/dist/extensions/index.d.ts +3 -0
  410. package/dist/extensions/index.js +20 -0
  411. package/dist/extensions/index.js.map +1 -0
  412. package/dist/extensions/types.d.ts +73 -0
  413. package/dist/extensions/types.js +3 -0
  414. package/dist/extensions/types.js.map +1 -0
  415. package/dist/http/SubgraphSparqlHttpHandler.d.ts +20 -1
  416. package/dist/http/SubgraphSparqlHttpHandler.js +324 -43
  417. package/dist/http/SubgraphSparqlHttpHandler.js.map +1 -1
  418. package/dist/http/SubgraphSparqlHttpHandler.jsonld +87 -0
  419. package/dist/identity/drizzle/EdgeNodeRepository.js +3 -2
  420. package/dist/identity/drizzle/EdgeNodeRepository.js.map +1 -1
  421. package/dist/identity/drizzle/schema.pg.js +1 -1
  422. package/dist/identity/drizzle/schema.pg.js.map +1 -1
  423. package/dist/identity/drizzle/schema.sqlite.js +1 -1
  424. package/dist/identity/drizzle/schema.sqlite.js.map +1 -1
  425. package/dist/identity/oidc/ScopedPickWebIdHandler.js +5 -5
  426. package/dist/identity/oidc/ScopedPickWebIdHandler.js.map +1 -1
  427. package/dist/index.d.ts +12 -2
  428. package/dist/index.js +13 -1
  429. package/dist/index.js.map +1 -1
  430. package/dist/main.js +3 -0
  431. package/dist/main.js.map +1 -1
  432. package/dist/provision/LocalProvisionState.d.ts +28 -0
  433. package/dist/provision/LocalProvisionState.js +124 -0
  434. package/dist/provision/LocalProvisionState.js.map +1 -0
  435. package/dist/provision/ProvisionCodeCodec.d.ts +7 -3
  436. package/dist/provision/ProvisionCodeCodec.js +10 -3
  437. package/dist/provision/ProvisionCodeCodec.js.map +1 -1
  438. package/dist/provision/ProvisionPodCreator.d.ts +15 -1
  439. package/dist/provision/ProvisionPodCreator.js +68 -1
  440. package/dist/provision/ProvisionPodCreator.js.map +1 -1
  441. package/dist/provision/ProvisionPodCreator.jsonld +31 -0
  442. package/dist/provision/ServiceAccessTokenCodec.d.ts +45 -0
  443. package/dist/provision/ServiceAccessTokenCodec.js +86 -0
  444. package/dist/provision/ServiceAccessTokenCodec.js.map +1 -0
  445. package/dist/runtime/GatewayAdminProxyAuth.d.ts +29 -0
  446. package/dist/runtime/GatewayAdminProxyAuth.js +108 -0
  447. package/dist/runtime/GatewayAdminProxyAuth.js.map +1 -0
  448. package/dist/runtime/Proxy.d.ts +10 -0
  449. package/dist/runtime/Proxy.js +64 -6
  450. package/dist/runtime/Proxy.js.map +1 -1
  451. package/dist/runtime/XpodRuntime.js +1 -0
  452. package/dist/runtime/XpodRuntime.js.map +1 -1
  453. package/dist/runtime/bootstrap.d.ts +1 -0
  454. package/dist/runtime/bootstrap.js +29 -0
  455. package/dist/runtime/bootstrap.js.map +1 -1
  456. package/dist/runtime/css-process.d.ts +1 -0
  457. package/dist/runtime/css-process.js +1 -0
  458. package/dist/runtime/css-process.js.map +1 -1
  459. package/dist/runtime/index.d.ts +1 -0
  460. package/dist/runtime/index.js +3 -1
  461. package/dist/runtime/index.js.map +1 -1
  462. package/dist/runtime/lifecycle.d.ts +3 -1
  463. package/dist/runtime/lifecycle.js +3 -1
  464. package/dist/runtime/lifecycle.js.map +1 -1
  465. package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.js +2 -0
  466. package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.js.map +1 -1
  467. package/dist/runtime/runner/types.d.ts +3 -0
  468. package/dist/runtime/runner/types.js.map +1 -1
  469. package/dist/runtime/runtime-types.d.ts +2 -0
  470. package/dist/runtime/runtime-types.js.map +1 -1
  471. package/dist/runtime/safe-env.d.ts +15 -0
  472. package/dist/runtime/safe-env.js +109 -0
  473. package/dist/runtime/safe-env.js.map +1 -0
  474. package/dist/security/index.d.ts +1 -0
  475. package/dist/security/index.js +18 -0
  476. package/dist/security/index.js.map +1 -0
  477. package/dist/security/secret-cell/DeploymentRootKeyProvider.d.ts +17 -0
  478. package/dist/security/secret-cell/DeploymentRootKeyProvider.js +61 -0
  479. package/dist/security/secret-cell/DeploymentRootKeyProvider.js.map +1 -0
  480. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +124 -0
  481. package/dist/security/secret-cell/SecretCellVault.d.ts +55 -0
  482. package/dist/security/secret-cell/SecretCellVault.js +242 -0
  483. package/dist/security/secret-cell/SecretCellVault.js.map +1 -0
  484. package/dist/security/secret-cell/SecretCellVault.jsonld +207 -0
  485. package/dist/security/secret-cell/index.d.ts +2 -0
  486. package/dist/security/secret-cell/index.js +11 -0
  487. package/dist/security/secret-cell/index.js.map +1 -0
  488. package/dist/solidfs/CompositeSolidFsSyncer.d.ts +18 -0
  489. package/dist/solidfs/CompositeSolidFsSyncer.js +32 -0
  490. package/dist/solidfs/CompositeSolidFsSyncer.js.map +1 -0
  491. package/dist/solidfs/LocalSolidFS.js +25 -1
  492. package/dist/solidfs/LocalSolidFS.js.map +1 -1
  493. package/dist/solidfs/RdfIndexSolidFsSyncer.d.ts +41 -2
  494. package/dist/solidfs/RdfIndexSolidFsSyncer.js +331 -21
  495. package/dist/solidfs/RdfIndexSolidFsSyncer.js.map +1 -1
  496. package/dist/solidfs/SolidFsMetaNotes.d.ts +25 -0
  497. package/dist/solidfs/SolidFsMetaNotes.js +103 -0
  498. package/dist/solidfs/SolidFsMetaNotes.js.map +1 -0
  499. package/dist/solidfs/SolidFsSyncJournal.d.ts +2 -2
  500. package/dist/solidfs/SolidFsSyncJournal.js +9 -4
  501. package/dist/solidfs/SolidFsSyncJournal.js.map +1 -1
  502. package/dist/solidfs/SolidFsSyncJournal.jsonld +119 -0
  503. package/dist/solidfs/WorkspacePrompt.d.ts +13 -0
  504. package/dist/solidfs/WorkspacePrompt.js +42 -0
  505. package/dist/solidfs/WorkspacePrompt.js.map +1 -0
  506. package/dist/solidfs/index.d.ts +3 -0
  507. package/dist/solidfs/index.js +3 -0
  508. package/dist/solidfs/index.js.map +1 -1
  509. package/dist/solidfs/types.d.ts +12 -2
  510. package/dist/solidfs/types.js.map +1 -1
  511. package/dist/storage/accessors/MixDataAccessor.d.ts +36 -4
  512. package/dist/storage/accessors/MixDataAccessor.js +222 -23
  513. package/dist/storage/accessors/MixDataAccessor.js.map +1 -1
  514. package/dist/storage/accessors/MixDataAccessor.jsonld +89 -0
  515. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +6 -1
  516. package/dist/storage/accessors/SolidRdfDataAccessor.js +35 -0
  517. package/dist/storage/accessors/SolidRdfDataAccessor.js.map +1 -1
  518. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +20 -0
  519. package/dist/storage/database/PostgresPoolManager.d.ts +1 -0
  520. package/dist/storage/database/PostgresPoolManager.js +2 -2
  521. package/dist/storage/database/PostgresPoolManager.js.map +1 -1
  522. package/dist/storage/locking/UrlAwareRedisLocker.d.ts +2 -0
  523. package/dist/storage/locking/UrlAwareRedisLocker.js +65 -0
  524. package/dist/storage/locking/UrlAwareRedisLocker.js.map +1 -1
  525. package/dist/storage/locking/UrlAwareRedisLocker.jsonld +19 -0
  526. package/dist/storage/rdf/PostgresRdfEngine.d.ts +286 -9
  527. package/dist/storage/rdf/PostgresRdfEngine.js +10773 -2084
  528. package/dist/storage/rdf/PostgresRdfEngine.js.map +1 -1
  529. package/dist/storage/rdf/PostgresRdfEngine.jsonld +1693 -89
  530. package/dist/storage/rdf/PostgresRdfSqlExecutor.d.ts +24 -0
  531. package/dist/storage/rdf/PostgresRdfSqlExecutor.js +131 -0
  532. package/dist/storage/rdf/PostgresRdfSqlExecutor.js.map +1 -0
  533. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +54 -0
  534. package/dist/storage/rdf/PostgresRdfTextIndex.js +1255 -0
  535. package/dist/storage/rdf/PostgresRdfTextIndex.js.map +1 -0
  536. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +487 -0
  537. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +46 -0
  538. package/dist/storage/rdf/PostgresRdfVectorIndex.js +1165 -0
  539. package/dist/storage/rdf/PostgresRdfVectorIndex.js.map +1 -0
  540. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +423 -0
  541. package/dist/storage/rdf/Rdf3xIndex.d.ts +14 -1
  542. package/dist/storage/rdf/Rdf3xIndex.js +286 -2
  543. package/dist/storage/rdf/Rdf3xIndex.js.map +1 -1
  544. package/dist/storage/rdf/Rdf3xIndex.jsonld +36 -0
  545. package/dist/storage/rdf/Rdf3xSchema.d.ts +5 -1
  546. package/dist/storage/rdf/Rdf3xSchema.js +17 -3
  547. package/dist/storage/rdf/Rdf3xSchema.js.map +1 -1
  548. package/dist/storage/rdf/RdfAccessScope.d.ts +22 -0
  549. package/dist/storage/rdf/RdfAccessScope.js +345 -0
  550. package/dist/storage/rdf/RdfAccessScope.js.map +1 -0
  551. package/dist/storage/rdf/RdfAccessScope.jsonld +45 -0
  552. package/dist/storage/rdf/RdfFusionRankPlan.d.ts +2 -0
  553. package/dist/storage/rdf/RdfFusionRankPlan.js +186 -0
  554. package/dist/storage/rdf/RdfFusionRankPlan.js.map +1 -0
  555. package/dist/storage/rdf/RdfJoinShape.d.ts +8 -0
  556. package/dist/storage/rdf/RdfJoinShape.js +31 -0
  557. package/dist/storage/rdf/RdfJoinShape.js.map +1 -0
  558. package/dist/storage/rdf/RdfQuadIndex.d.ts +5 -2
  559. package/dist/storage/rdf/RdfQuadIndex.js +94 -6
  560. package/dist/storage/rdf/RdfQuadIndex.js.map +1 -1
  561. package/dist/storage/rdf/RdfQuadIndex.jsonld +12 -0
  562. package/dist/storage/rdf/RdfQueryExecutor.d.ts +3 -4
  563. package/dist/storage/rdf/RdfQueryExecutor.js +235 -8
  564. package/dist/storage/rdf/RdfQueryExecutor.js.map +1 -1
  565. package/dist/storage/rdf/RdfSearchSourceFilter.d.ts +10 -0
  566. package/dist/storage/rdf/RdfSearchSourceFilter.js +83 -0
  567. package/dist/storage/rdf/RdfSearchSourceFilter.js.map +1 -0
  568. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +27 -1
  569. package/dist/storage/rdf/RdfSparqlAdapter.js +265 -3
  570. package/dist/storage/rdf/RdfSparqlAdapter.js.map +1 -1
  571. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +8 -0
  572. package/dist/storage/rdf/RdfTermDictionary.d.ts +7 -1
  573. package/dist/storage/rdf/RdfTermDictionary.js +139 -0
  574. package/dist/storage/rdf/RdfTermDictionary.js.map +1 -1
  575. package/dist/storage/rdf/RdfTermDictionary.jsonld +4 -0
  576. package/dist/storage/rdf/RdfTextIndex.d.ts +45 -2
  577. package/dist/storage/rdf/RdfTextIndex.js +810 -114
  578. package/dist/storage/rdf/RdfTextIndex.js.map +1 -1
  579. package/dist/storage/rdf/RdfTextIndex.jsonld +193 -0
  580. package/dist/storage/rdf/RdfTextProjection.d.ts +10 -0
  581. package/dist/storage/rdf/RdfTextProjection.js +258 -0
  582. package/dist/storage/rdf/RdfTextProjection.js.map +1 -0
  583. package/dist/storage/rdf/RdfVectorIndex.d.ts +30 -2
  584. package/dist/storage/rdf/RdfVectorIndex.js +461 -38
  585. package/dist/storage/rdf/RdfVectorIndex.js.map +1 -1
  586. package/dist/storage/rdf/RdfVectorIndex.jsonld +163 -0
  587. package/dist/storage/rdf/SolidRdfEngine.d.ts +12 -9
  588. package/dist/storage/rdf/SolidRdfEngine.js +48 -22
  589. package/dist/storage/rdf/SolidRdfEngine.js.map +1 -1
  590. package/dist/storage/rdf/SolidRdfEngine.jsonld +33 -43
  591. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +19 -8
  592. package/dist/storage/rdf/SolidRdfSparqlEngine.js +674 -44
  593. package/dist/storage/rdf/SolidRdfSparqlEngine.js.map +1 -1
  594. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +51 -0
  595. package/dist/storage/rdf/index.d.ts +9 -5
  596. package/dist/storage/rdf/index.js +42 -1
  597. package/dist/storage/rdf/index.js.map +1 -1
  598. package/dist/storage/rdf/models-benchmark.d.ts +264 -2
  599. package/dist/storage/rdf/models-benchmark.js +4207 -155
  600. package/dist/storage/rdf/models-benchmark.js.map +1 -1
  601. package/dist/storage/rdf/types.d.ts +833 -4
  602. package/dist/storage/rdf/types.js.map +1 -1
  603. package/dist/storage/rdf/types.jsonld +348 -0
  604. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +14 -13
  605. package/dist/storage/sparql/CompatibilitySparqlEngine.js +24 -24
  606. package/dist/storage/sparql/CompatibilitySparqlEngine.js.map +1 -1
  607. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +14 -13
  608. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +30 -18
  609. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js.map +1 -1
  610. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +21 -12
  611. package/dist/storage/sparql/SubgraphQueryEngine.js +12 -12
  612. package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -1
  613. package/dist/terminal/sandbox/MacOSSandbox.js +2 -1
  614. package/dist/terminal/sandbox/MacOSSandbox.js.map +1 -1
  615. package/dist/terminal/sandbox/index.js +2 -1
  616. package/dist/terminal/sandbox/index.js.map +1 -1
  617. package/dist/test-utils/no-auth-xpod.js +3 -0
  618. package/dist/test-utils/no-auth-xpod.js.map +1 -1
  619. package/dist/tunnel/LocalTunnelProvider.d.ts +3 -0
  620. package/dist/tunnel/LocalTunnelProvider.js +17 -1
  621. package/dist/tunnel/LocalTunnelProvider.js.map +1 -1
  622. package/dist/tunnel/LocalTunnelProvider.jsonld +23 -0
  623. package/dist/tunnel/SakuraFrpTunnelProvider.d.ts +3 -0
  624. package/dist/tunnel/SakuraFrpTunnelProvider.js +18 -2
  625. package/dist/tunnel/SakuraFrpTunnelProvider.js.map +1 -1
  626. package/dist/tunnel/TunnelProfiles.d.ts +22 -0
  627. package/dist/tunnel/TunnelProfiles.js +208 -0
  628. package/dist/tunnel/TunnelProfiles.js.map +1 -0
  629. package/dist/tunnel/index.d.ts +2 -0
  630. package/dist/tunnel/index.js +4 -1
  631. package/dist/tunnel/index.js.map +1 -1
  632. package/dist/util/identifiers/ClusterIdentifierStrategy.d.ts +3 -0
  633. package/dist/util/identifiers/ClusterIdentifierStrategy.js +18 -2
  634. package/dist/util/identifiers/ClusterIdentifierStrategy.js.map +1 -1
  635. package/dist/util/identifiers/ClusterIdentifierStrategy.jsonld +5 -1
  636. package/node_modules/@undefineds.co/ai-connection/dist/AiClientConfigurationSection.d.ts +55 -0
  637. package/node_modules/@undefineds.co/ai-connection/dist/AiClientConfigurationSection.js +167 -0
  638. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionHeader.d.ts +3 -0
  639. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionHeader.js +8 -0
  640. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionList.d.ts +4 -0
  641. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionList.js +36 -0
  642. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMain.d.ts +4 -0
  643. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMain.js +37 -0
  644. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMainHeader.d.ts +3 -0
  645. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMainHeader.js +7 -0
  646. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionPanel.d.ts +14 -0
  647. package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionPanel.js +333 -0
  648. package/node_modules/@undefineds.co/ai-connection/dist/AiProviderCard.d.ts +22 -0
  649. package/node_modules/@undefineds.co/ai-connection/dist/AiProviderCard.js +43 -0
  650. package/node_modules/@undefineds.co/ai-connection/dist/AiQuotaCard.d.ts +8 -0
  651. package/node_modules/@undefineds.co/ai-connection/dist/AiQuotaCard.js +6 -0
  652. package/node_modules/@undefineds.co/ai-connection/dist/ai-connection-client.d.ts +120 -0
  653. package/node_modules/@undefineds.co/ai-connection/dist/ai-connection-client.js +414 -0
  654. package/node_modules/@undefineds.co/ai-connection/dist/client-config/base-adapter.d.ts +32 -0
  655. package/node_modules/@undefineds.co/ai-connection/dist/client-config/base-adapter.js +212 -0
  656. package/node_modules/@undefineds.co/ai-connection/dist/client-config/codex.d.ts +14 -0
  657. package/node_modules/@undefineds.co/ai-connection/dist/client-config/codex.js +90 -0
  658. package/node_modules/@undefineds.co/ai-connection/dist/client-config/index.cjs +668 -0
  659. package/node_modules/@undefineds.co/ai-connection/dist/client-config/index.d.ts +6 -0
  660. package/node_modules/@undefineds.co/ai-connection/dist/client-config/index.js +6 -0
  661. package/node_modules/@undefineds.co/ai-connection/dist/client-config/json-env-adapter.d.ts +21 -0
  662. package/node_modules/@undefineds.co/ai-connection/dist/client-config/json-env-adapter.js +82 -0
  663. package/node_modules/@undefineds.co/ai-connection/dist/client-config/pi.d.ts +13 -0
  664. package/node_modules/@undefineds.co/ai-connection/dist/client-config/pi.js +83 -0
  665. package/node_modules/@undefineds.co/ai-connection/dist/client-config/transaction.d.ts +17 -0
  666. package/node_modules/@undefineds.co/ai-connection/dist/client-config/transaction.js +153 -0
  667. package/node_modules/@undefineds.co/ai-connection/dist/client-config/types.d.ts +40 -0
  668. package/node_modules/@undefineds.co/ai-connection/dist/client-config/types.js +1 -0
  669. package/node_modules/@undefineds.co/ai-connection/dist/controller.d.ts +42 -0
  670. package/node_modules/@undefineds.co/ai-connection/dist/controller.js +289 -0
  671. package/node_modules/@undefineds.co/ai-connection/dist/index.d.ts +16 -0
  672. package/node_modules/@undefineds.co/ai-connection/dist/index.js +41 -0
  673. package/node_modules/@undefineds.co/ai-connection/dist/manifest.d.ts +1 -0
  674. package/node_modules/@undefineds.co/ai-connection/dist/manifest.js +18 -0
  675. package/node_modules/@undefineds.co/ai-connection/dist/service-access.d.ts +3 -0
  676. package/node_modules/@undefineds.co/ai-connection/dist/service-access.js +133 -0
  677. package/node_modules/@undefineds.co/ai-connection/package.json +50 -0
  678. package/node_modules/@undefineds.co/extension-sdk/README.md +299 -0
  679. package/node_modules/@undefineds.co/extension-sdk/dist/index.d.ts +5 -0
  680. package/node_modules/@undefineds.co/extension-sdk/dist/index.js +5 -0
  681. package/node_modules/@undefineds.co/extension-sdk/dist/layout.d.ts +16 -0
  682. package/node_modules/@undefineds.co/extension-sdk/dist/layout.js +36 -0
  683. package/node_modules/@undefineds.co/extension-sdk/dist/manifest.d.ts +27 -0
  684. package/node_modules/@undefineds.co/extension-sdk/dist/manifest.js +79 -0
  685. package/node_modules/@undefineds.co/extension-sdk/dist/react/app-layout.d.ts +7 -0
  686. package/node_modules/@undefineds.co/extension-sdk/dist/react/app-layout.js +8 -0
  687. package/node_modules/@undefineds.co/extension-sdk/dist/react/auth-boundary.d.ts +27 -0
  688. package/node_modules/@undefineds.co/extension-sdk/dist/react/auth-boundary.js +49 -0
  689. package/node_modules/@undefineds.co/extension-sdk/dist/react/layout-context.d.ts +11 -0
  690. package/node_modules/@undefineds.co/extension-sdk/dist/react/layout-context.js +9 -0
  691. package/node_modules/@undefineds.co/extension-sdk/dist/react/workspace-layout.d.ts +38 -0
  692. package/node_modules/@undefineds.co/extension-sdk/dist/react/workspace-layout.js +132 -0
  693. package/node_modules/@undefineds.co/extension-sdk/dist/react.d.ts +12 -0
  694. package/node_modules/@undefineds.co/extension-sdk/dist/react.js +19 -0
  695. package/node_modules/@undefineds.co/extension-sdk/dist/testing.d.ts +7 -0
  696. package/node_modules/@undefineds.co/extension-sdk/dist/testing.js +27 -0
  697. package/node_modules/@undefineds.co/extension-sdk/dist/web.d.ts +225 -0
  698. package/node_modules/@undefineds.co/extension-sdk/dist/web.js +142 -0
  699. package/node_modules/@undefineds.co/extension-sdk/package.json +49 -0
  700. package/node_modules/@undefineds.co/shared-ui/dist/badge.d.ts +8 -0
  701. package/node_modules/@undefineds.co/shared-ui/dist/badge.js +17 -0
  702. package/node_modules/@undefineds.co/shared-ui/dist/button.d.ts +10 -0
  703. package/node_modules/@undefineds.co/shared-ui/dist/button.js +30 -0
  704. package/node_modules/@undefineds.co/shared-ui/dist/card.d.ts +7 -0
  705. package/node_modules/@undefineds.co/shared-ui/dist/card.js +15 -0
  706. package/node_modules/@undefineds.co/shared-ui/dist/index.d.ts +6 -0
  707. package/node_modules/@undefineds.co/shared-ui/dist/index.js +6 -0
  708. package/node_modules/@undefineds.co/shared-ui/dist/input.d.ts +4 -0
  709. package/node_modules/@undefineds.co/shared-ui/dist/input.js +5 -0
  710. package/node_modules/@undefineds.co/shared-ui/dist/theme.css +121 -0
  711. package/node_modules/@undefineds.co/shared-ui/dist/utils.d.ts +2 -0
  712. package/node_modules/@undefineds.co/shared-ui/dist/utils.js +5 -0
  713. package/node_modules/@undefineds.co/shared-ui/dist/workspace.d.ts +23 -0
  714. package/node_modules/@undefineds.co/shared-ui/dist/workspace.js +38 -0
  715. package/node_modules/@undefineds.co/shared-ui/package.json +39 -0
  716. package/node_modules/@undefineds.co/solid-sdk/dist/index.d.ts +3 -0
  717. package/node_modules/@undefineds.co/solid-sdk/dist/index.js +3 -0
  718. package/node_modules/@undefineds.co/solid-sdk/dist/pod-runtime.d.ts +45 -0
  719. package/node_modules/@undefineds.co/solid-sdk/dist/pod-runtime.js +147 -0
  720. package/node_modules/@undefineds.co/solid-sdk/dist/react.d.ts +15 -0
  721. package/node_modules/@undefineds.co/solid-sdk/dist/react.js +15 -0
  722. package/node_modules/@undefineds.co/solid-sdk/dist/session.d.ts +42 -0
  723. package/node_modules/@undefineds.co/solid-sdk/dist/session.js +127 -0
  724. package/node_modules/@undefineds.co/solid-sdk/package.json +45 -0
  725. package/package.json +32 -12
  726. package/static/app/assets/index-BoYHJ6si.js +230 -0
  727. package/static/app/assets/inrupt-smoke.js +2 -2
  728. package/static/app/assets/main.css +1 -1
  729. package/static/app/assets/main.js +9 -9
  730. package/static/dashboard/assets/NetworkPage-Brt79fuQ.js +2 -0
  731. package/static/dashboard/assets/PaneListHeader-57nvMwH6.js +1 -0
  732. package/static/dashboard/assets/PodPage-CM6do1vB.js +2 -0
  733. package/static/dashboard/assets/ServicesPage-BUNxGJRz.js +1 -0
  734. package/static/dashboard/assets/card-B9Zjf_2p.js +1 -0
  735. package/static/dashboard/assets/dashboard-8C6o666W.js +305 -0
  736. package/static/dashboard/assets/dashboard-CSdewNeA.css +1 -0
  737. package/static/dashboard/assets/database-DPh9wDY9.js +1 -0
  738. package/static/dashboard/assets/external-link-VbMQvVMz.js +1 -0
  739. package/static/dashboard/assets/index-RfiFckzb.js +51 -0
  740. package/static/dashboard/assets/refresh-cw-BxVxNxNr.js +1 -0
  741. package/static/dashboard/assets/services-status-context-DKmJ7ISr.js +1 -0
  742. package/static/dashboard/dashboard.html +2 -2
  743. package/static/settings/assets/ModelsPage-D_IH7AH3.js +1 -0
  744. package/static/settings/assets/PaneListHeader-Bgaze006.js +1 -0
  745. package/static/settings/assets/PodPage-Cy1VNObw.js +2 -0
  746. package/static/settings/assets/ServicesPage-BsFaxVWC.js +1 -0
  747. package/static/settings/assets/SettingsPage-UafNWE_p.js +48 -0
  748. package/static/settings/assets/card-B_bXSIn-.js +1 -0
  749. package/static/settings/assets/services-status-context-DiX-AbrP.js +1 -0
  750. package/static/settings/assets/settings-B30oMfZq.js +305 -0
  751. package/static/settings/assets/settings-CSdewNeA.css +1 -0
  752. package/static/settings/assets/workspace-layout-Dv1Yn9Ci.js +1 -0
  753. package/static/settings/auth.html +21 -0
  754. package/static/settings/reachability.html +221 -0
  755. package/static/settings/reachability.svg +7 -0
  756. package/static/settings/reachability.webmanifest +18 -0
  757. package/static/settings/settings.html +13 -0
  758. package/static/settings/signal-pod.html +293 -0
  759. package/static/settings/vite.svg +1 -0
  760. package/dist/api/service/ai-gateway-transport.d.ts +0 -25
  761. package/dist/api/service/ai-gateway-transport.js +0 -136
  762. package/dist/api/service/ai-gateway-transport.js.map +0 -1
  763. package/dist/api/service/chat-protocol-adapters.d.ts +0 -5
  764. package/dist/api/service/chat-protocol-adapters.js +0 -146
  765. package/dist/api/service/chat-protocol-adapters.js.map +0 -1
  766. package/dist/api/service/chat-routing.d.ts +0 -8
  767. package/dist/api/service/chat-routing.js +0 -16
  768. package/dist/api/service/chat-routing.js.map +0 -1
  769. package/dist/api/service/platform-ai-config.d.ts +0 -10
  770. package/dist/api/service/platform-ai-config.js +0 -76
  771. package/dist/api/service/platform-ai-config.js.map +0 -1
  772. package/dist/document/DocumentParser.js.map +0 -1
  773. package/dist/document/JinaDocumentParser.js.map +0 -1
  774. package/static/app/assets/index-C1yksyT4.js +0 -171
  775. package/static/dashboard/assets/dashboard-BssaVKTn.css +0 -1
  776. package/static/dashboard/assets/dashboard-Ckuadl3C.js +0 -54
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RdfRunContextRetriever = void 0;
4
+ const n3_1 = require("n3");
5
+ const RdfAccessScope_1 = require("../../storage/rdf/RdfAccessScope");
6
+ const { literal } = n3_1.DataFactory;
7
+ /**
8
+ * Product-level Run context retriever backed by SolidRdfEngine/PostgresRdfEngine.
9
+ *
10
+ * The retriever keeps RDF/text/vector lookup outside durable queue events and
11
+ * returns runtime-neutral snippets that drivers can project into their own
12
+ * prompt/session format.
13
+ */
14
+ class RdfRunContextRetriever {
15
+ constructor(options) {
16
+ this.options = options;
17
+ }
18
+ async retrieve(input) {
19
+ const prompt = input.prompt.trim();
20
+ if (!prompt) {
21
+ return undefined;
22
+ }
23
+ try {
24
+ const embedding = await this.options.embedding?.(input);
25
+ const query = this.options.buildQuery
26
+ ? await this.options.buildQuery(input, embedding)
27
+ : this.buildDefaultQuery(input, embedding);
28
+ const result = await this.options.rdfEngine.query(this.withAccessScope(query, input));
29
+ const items = result.bindings
30
+ .map((row) => this.bindingToContextItem(row))
31
+ .filter((item) => item !== undefined)
32
+ .slice(0, this.options.limit ?? 8);
33
+ if (items.length === 0) {
34
+ return undefined;
35
+ }
36
+ return {
37
+ query: prompt,
38
+ items,
39
+ generatedAt: Math.floor(Date.now() / 1000),
40
+ plan: result.metrics.plan,
41
+ };
42
+ }
43
+ catch (error) {
44
+ if (this.options.failOpen === true) {
45
+ return undefined;
46
+ }
47
+ throw error;
48
+ }
49
+ }
50
+ buildDefaultQuery(input, embedding) {
51
+ const limit = this.options.limit ?? 8;
52
+ const scope = this.searchScope(input);
53
+ const cacheScope = this.cacheScope(input);
54
+ const normalizedEmbedding = normalizeEmbedding(embedding);
55
+ const hasVector = (normalizedEmbedding?.embedding.length ?? 0) > 0;
56
+ const textWeight = this.options.textWeight ?? 0.55;
57
+ const vectorWeight = this.options.vectorWeight ?? 0.45;
58
+ const query = {
59
+ patterns: [],
60
+ textSearch: [
61
+ {
62
+ query: input.prompt,
63
+ scope,
64
+ limit,
65
+ source: 'source',
66
+ chunk: 'textChunk',
67
+ content: 'textContent',
68
+ heading: 'textHeading',
69
+ score: 'textScore',
70
+ workspace: 'workspace',
71
+ localPath: 'localPath',
72
+ contentType: 'contentType',
73
+ sourceKey: 'sourceKey',
74
+ retrievalPoint: 'retrievalPointKey',
75
+ retrievalKind: 'retrievalKind',
76
+ entityProvenance: 'entityProvenance',
77
+ },
78
+ ],
79
+ select: [
80
+ 'source',
81
+ 'workspace',
82
+ 'localPath',
83
+ 'contentType',
84
+ 'textChunk',
85
+ 'textContent',
86
+ 'textHeading',
87
+ 'textScore',
88
+ 'sourceKey',
89
+ 'retrievalPointKey',
90
+ 'retrievalKind',
91
+ 'entityProvenance',
92
+ ],
93
+ orderBy: [{ variable: 'textScore', direction: 'desc' }],
94
+ limit,
95
+ cache: cacheScope ? { scope: cacheScope } : undefined,
96
+ };
97
+ if (hasVector && normalizedEmbedding) {
98
+ query.vectorSearch = [
99
+ {
100
+ embedding: normalizedEmbedding.embedding,
101
+ vectorModel: normalizedEmbedding.model ?? this.options.vectorModel,
102
+ scope,
103
+ limit,
104
+ source: 'source',
105
+ chunk: 'vectorChunk',
106
+ content: 'vectorContent',
107
+ heading: 'vectorHeading',
108
+ score: 'vectorScore',
109
+ distance: 'vectorDistance',
110
+ model: 'vectorModel',
111
+ },
112
+ ];
113
+ query.binds = [
114
+ {
115
+ variable: 'fusionScore',
116
+ expression: {
117
+ type: 'add',
118
+ expressions: [
119
+ {
120
+ type: 'multiply',
121
+ expressions: [
122
+ { type: 'numericValue', expression: { type: 'variable', variable: 'textScore' } },
123
+ { type: 'term', term: literal(String(textWeight)) },
124
+ ],
125
+ },
126
+ {
127
+ type: 'multiply',
128
+ expressions: [
129
+ { type: 'numericValue', expression: { type: 'variable', variable: 'vectorScore' } },
130
+ { type: 'term', term: literal(String(vectorWeight)) },
131
+ ],
132
+ },
133
+ ],
134
+ },
135
+ },
136
+ ];
137
+ query.select = [
138
+ ...(query.select ?? []),
139
+ 'vectorChunk',
140
+ 'vectorContent',
141
+ 'vectorHeading',
142
+ 'vectorScore',
143
+ 'vectorDistance',
144
+ 'vectorModel',
145
+ 'fusionScore',
146
+ ];
147
+ query.orderBy = [
148
+ { variable: 'fusionScore', direction: 'desc' },
149
+ { variable: 'source' },
150
+ ];
151
+ }
152
+ return query;
153
+ }
154
+ searchScope(input) {
155
+ const sourcePrefix = typeof this.options.sourcePrefix === 'function'
156
+ ? this.options.sourcePrefix(input)
157
+ : this.options.sourcePrefix;
158
+ return {
159
+ workspace: input.config.workspace,
160
+ ...(sourcePrefix ? { sourcePrefix } : {}),
161
+ };
162
+ }
163
+ cacheScope(input) {
164
+ return typeof this.options.cacheScope === 'function'
165
+ ? this.options.cacheScope(input)
166
+ : this.options.cacheScope;
167
+ }
168
+ withAccessScope(query, input) {
169
+ const accessScope = typeof this.options.accessScope === 'function'
170
+ ? this.options.accessScope(input)
171
+ : this.options.accessScope;
172
+ if (!accessScope) {
173
+ this.assertAccessScopeOptional(input);
174
+ return query;
175
+ }
176
+ this.assertAccessScopeComplete(input, accessScope);
177
+ return (0, RdfAccessScope_1.applyRdfAccessScope)(query, accessScope);
178
+ }
179
+ assertAccessScopeOptional(input) {
180
+ if (isRemoteWorkspace(input.config.workspace)) {
181
+ throw new Error('RDF Run context retrieval requires an access scope for remote Pod workspaces');
182
+ }
183
+ }
184
+ assertAccessScopeComplete(input, accessScope) {
185
+ if (!isRemoteWorkspace(input.config.workspace)) {
186
+ return;
187
+ }
188
+ if (!accessScope.principal || !accessScope.version) {
189
+ throw new Error('RDF Run context retrieval requires principal and permission version for remote Pod workspaces');
190
+ }
191
+ }
192
+ bindingToContextItem(row) {
193
+ const text = termValue(row.textContent) || termValue(row.vectorContent);
194
+ const source = termValue(row.source);
195
+ if (!text || !source) {
196
+ return undefined;
197
+ }
198
+ const fusionScore = termNumber(row.fusionScore);
199
+ const textScore = termNumber(row.textScore);
200
+ const vectorScore = termNumber(row.vectorScore);
201
+ const heading = termValue(row.textHeading) || termValue(row.vectorHeading);
202
+ const vectorDistance = termNumber(row.vectorDistance);
203
+ const vectorModel = termValue(row.vectorModel);
204
+ const entityProvenance = parseJsonArray(termValue(row.entityProvenance));
205
+ const metadata = compactRecord({
206
+ untrustedContext: true,
207
+ textChunk: termValue(row.textChunk),
208
+ vectorChunk: termValue(row.vectorChunk),
209
+ sourceKey: termValue(row.sourceKey),
210
+ retrievalPointKey: termValue(row.retrievalPointKey),
211
+ retrievalKind: termValue(row.retrievalKind),
212
+ entityProvenance,
213
+ textScore,
214
+ vectorScore,
215
+ vectorDistance,
216
+ vectorModel,
217
+ contentType: termValue(row.contentType),
218
+ });
219
+ return {
220
+ kind: vectorScore !== undefined && textScore === undefined ? 'vector_chunk' : 'text_chunk',
221
+ source,
222
+ text,
223
+ score: fusionScore ?? textScore ?? vectorScore,
224
+ workspace: termValue(row.workspace),
225
+ localPath: termValue(row.localPath),
226
+ heading,
227
+ metadata,
228
+ };
229
+ }
230
+ }
231
+ exports.RdfRunContextRetriever = RdfRunContextRetriever;
232
+ function isRemoteWorkspace(workspaceValue) {
233
+ try {
234
+ const workspace = new URL(workspaceValue);
235
+ return workspace.protocol === 'http:' || workspace.protocol === 'https:';
236
+ }
237
+ catch {
238
+ return false;
239
+ }
240
+ }
241
+ function normalizeEmbedding(input) {
242
+ if (!input) {
243
+ return undefined;
244
+ }
245
+ if (Array.isArray(input)) {
246
+ return { embedding: input };
247
+ }
248
+ return input;
249
+ }
250
+ function termValue(term) {
251
+ return term?.value || undefined;
252
+ }
253
+ function termNumber(term) {
254
+ const value = term?.value;
255
+ if (value === undefined) {
256
+ return undefined;
257
+ }
258
+ const parsed = Number(value);
259
+ return Number.isFinite(parsed) ? parsed : undefined;
260
+ }
261
+ function compactRecord(input) {
262
+ const entries = Object.entries(input).filter(([, value]) => value !== undefined);
263
+ return entries.length > 0 ? Object.fromEntries(entries) : undefined;
264
+ }
265
+ function parseJsonArray(value) {
266
+ if (!value) {
267
+ return undefined;
268
+ }
269
+ try {
270
+ const parsed = JSON.parse(value);
271
+ return Array.isArray(parsed) ? parsed : undefined;
272
+ }
273
+ catch {
274
+ return undefined;
275
+ }
276
+ }
277
+ //# sourceMappingURL=RdfRunContextRetriever.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RdfRunContextRetriever.js","sourceRoot":"","sources":["../../../src/api/runs/RdfRunContextRetriever.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataFactory } from 'n3';\nimport type { StoreContext } from '../chatkit/store';\nimport { applyRdfAccessScope, type RdfAccessScope } from '../../storage/rdf/RdfAccessScope';\nimport type { RdfBindingRow, RdfEngineLike, RdfQuery, RdfQueryCacheScope, RdfSearchScope } from '../../storage/rdf/types';\nimport type {\n RunContextRetrievalInput,\n RunContextRetriever,\n RunRetrievedContext,\n RunRetrievedContextItem,\n} from './RunExecutionBackend';\n\nconst { literal } = DataFactory;\n\nexport type RdfRunContextEmbedding =\n | number[]\n | {\n embedding: number[];\n model?: string;\n };\n\nexport interface RdfRunContextRetrieverOptions<TContext = StoreContext> {\n rdfEngine: RdfEngineLike;\n limit?: number;\n /**\n * Keep normal product paths fail-closed so missing text/vector indexes are\n * exposed at startup or request execution instead of silently degrading Run\n * context. Tests and optional deployments can still opt into best-effort\n * retrieval explicitly.\n */\n failOpen?: boolean;\n textWeight?: number;\n vectorWeight?: number;\n vectorModel?: string;\n sourcePrefix?: string | ((input: RunContextRetrievalInput<TContext>) => string | undefined);\n cacheScope?: RdfQueryCacheScope | ((input: RunContextRetrievalInput<TContext>) => RdfQueryCacheScope | undefined);\n accessScope?: RdfAccessScope | ((input: RunContextRetrievalInput<TContext>) => RdfAccessScope | undefined);\n embedding?: (input: RunContextRetrievalInput<TContext>) => Promise<RdfRunContextEmbedding | undefined>;\n buildQuery?: (input: RunContextRetrievalInput<TContext>, embedding?: RdfRunContextEmbedding) => RdfQuery | Promise<RdfQuery>;\n}\n\n/**\n * Product-level Run context retriever backed by SolidRdfEngine/PostgresRdfEngine.\n *\n * The retriever keeps RDF/text/vector lookup outside durable queue events and\n * returns runtime-neutral snippets that drivers can project into their own\n * prompt/session format.\n */\nexport class RdfRunContextRetriever<TContext = StoreContext> implements RunContextRetriever<TContext> {\n public constructor(private readonly options: RdfRunContextRetrieverOptions<TContext>) {}\n\n public async retrieve(input: RunContextRetrievalInput<TContext>): Promise<RunRetrievedContext | undefined> {\n const prompt = input.prompt.trim();\n if (!prompt) {\n return undefined;\n }\n\n try {\n const embedding = await this.options.embedding?.(input);\n const query = this.options.buildQuery\n ? await this.options.buildQuery(input, embedding)\n : this.buildDefaultQuery(input, embedding);\n const result = await this.options.rdfEngine.query(this.withAccessScope(query, input));\n const items = result.bindings\n .map((row) => this.bindingToContextItem(row))\n .filter((item): item is RunRetrievedContextItem => item !== undefined)\n .slice(0, this.options.limit ?? 8);\n\n if (items.length === 0) {\n return undefined;\n }\n\n return {\n query: prompt,\n items,\n generatedAt: Math.floor(Date.now() / 1000),\n plan: result.metrics.plan,\n };\n } catch (error) {\n if (this.options.failOpen === true) {\n return undefined;\n }\n throw error;\n }\n }\n\n private buildDefaultQuery(\n input: RunContextRetrievalInput<TContext>,\n embedding?: RdfRunContextEmbedding,\n ): RdfQuery {\n const limit = this.options.limit ?? 8;\n const scope = this.searchScope(input);\n const cacheScope = this.cacheScope(input);\n const normalizedEmbedding = normalizeEmbedding(embedding);\n const hasVector = (normalizedEmbedding?.embedding.length ?? 0) > 0;\n const textWeight = this.options.textWeight ?? 0.55;\n const vectorWeight = this.options.vectorWeight ?? 0.45;\n const query: RdfQuery = {\n patterns: [],\n textSearch: [\n {\n query: input.prompt,\n scope,\n limit,\n source: 'source',\n chunk: 'textChunk',\n content: 'textContent',\n heading: 'textHeading',\n score: 'textScore',\n workspace: 'workspace',\n localPath: 'localPath',\n contentType: 'contentType',\n sourceKey: 'sourceKey',\n retrievalPoint: 'retrievalPointKey',\n retrievalKind: 'retrievalKind',\n entityProvenance: 'entityProvenance',\n },\n ],\n select: [\n 'source',\n 'workspace',\n 'localPath',\n 'contentType',\n 'textChunk',\n 'textContent',\n 'textHeading',\n 'textScore',\n 'sourceKey',\n 'retrievalPointKey',\n 'retrievalKind',\n 'entityProvenance',\n ],\n orderBy: [{ variable: 'textScore', direction: 'desc' }],\n limit,\n cache: cacheScope ? { scope: cacheScope } : undefined,\n };\n\n if (hasVector && normalizedEmbedding) {\n query.vectorSearch = [\n {\n embedding: normalizedEmbedding.embedding,\n vectorModel: normalizedEmbedding.model ?? this.options.vectorModel,\n scope,\n limit,\n source: 'source',\n chunk: 'vectorChunk',\n content: 'vectorContent',\n heading: 'vectorHeading',\n score: 'vectorScore',\n distance: 'vectorDistance',\n model: 'vectorModel',\n },\n ];\n query.binds = [\n {\n variable: 'fusionScore',\n expression: {\n type: 'add',\n expressions: [\n {\n type: 'multiply',\n expressions: [\n { type: 'numericValue', expression: { type: 'variable', variable: 'textScore' } },\n { type: 'term', term: literal(String(textWeight)) },\n ],\n },\n {\n type: 'multiply',\n expressions: [\n { type: 'numericValue', expression: { type: 'variable', variable: 'vectorScore' } },\n { type: 'term', term: literal(String(vectorWeight)) },\n ],\n },\n ],\n },\n },\n ];\n query.select = [\n ...(query.select ?? []),\n 'vectorChunk',\n 'vectorContent',\n 'vectorHeading',\n 'vectorScore',\n 'vectorDistance',\n 'vectorModel',\n 'fusionScore',\n ];\n query.orderBy = [\n { variable: 'fusionScore', direction: 'desc' },\n { variable: 'source' },\n ];\n }\n\n return query;\n }\n\n private searchScope(input: RunContextRetrievalInput<TContext>): RdfSearchScope {\n const sourcePrefix = typeof this.options.sourcePrefix === 'function'\n ? this.options.sourcePrefix(input)\n : this.options.sourcePrefix;\n return {\n workspace: input.config.workspace,\n ...(sourcePrefix ? { sourcePrefix } : {}),\n };\n }\n\n private cacheScope(input: RunContextRetrievalInput<TContext>): RdfQueryCacheScope | undefined {\n return typeof this.options.cacheScope === 'function'\n ? this.options.cacheScope(input)\n : this.options.cacheScope;\n }\n\n private withAccessScope(query: RdfQuery, input: RunContextRetrievalInput<TContext>): RdfQuery {\n const accessScope = typeof this.options.accessScope === 'function'\n ? this.options.accessScope(input)\n : this.options.accessScope;\n if (!accessScope) {\n this.assertAccessScopeOptional(input);\n return query;\n }\n this.assertAccessScopeComplete(input, accessScope);\n return applyRdfAccessScope(query, accessScope);\n }\n\n private assertAccessScopeOptional(input: RunContextRetrievalInput<TContext>): void {\n if (isRemoteWorkspace(input.config.workspace)) {\n throw new Error('RDF Run context retrieval requires an access scope for remote Pod workspaces');\n }\n }\n\n private assertAccessScopeComplete(input: RunContextRetrievalInput<TContext>, accessScope: RdfAccessScope): void {\n if (!isRemoteWorkspace(input.config.workspace)) {\n return;\n }\n if (!accessScope.principal || !accessScope.version) {\n throw new Error('RDF Run context retrieval requires principal and permission version for remote Pod workspaces');\n }\n }\n\n private bindingToContextItem(row: RdfBindingRow): RunRetrievedContextItem | undefined {\n const text = termValue(row.textContent) || termValue(row.vectorContent);\n const source = termValue(row.source);\n if (!text || !source) {\n return undefined;\n }\n\n const fusionScore = termNumber(row.fusionScore);\n const textScore = termNumber(row.textScore);\n const vectorScore = termNumber(row.vectorScore);\n const heading = termValue(row.textHeading) || termValue(row.vectorHeading);\n const vectorDistance = termNumber(row.vectorDistance);\n const vectorModel = termValue(row.vectorModel);\n const entityProvenance = parseJsonArray(termValue(row.entityProvenance));\n const metadata = compactRecord({\n untrustedContext: true,\n textChunk: termValue(row.textChunk),\n vectorChunk: termValue(row.vectorChunk),\n sourceKey: termValue(row.sourceKey),\n retrievalPointKey: termValue(row.retrievalPointKey),\n retrievalKind: termValue(row.retrievalKind),\n entityProvenance,\n textScore,\n vectorScore,\n vectorDistance,\n vectorModel,\n contentType: termValue(row.contentType),\n });\n return {\n kind: vectorScore !== undefined && textScore === undefined ? 'vector_chunk' : 'text_chunk',\n source,\n text,\n score: fusionScore ?? textScore ?? vectorScore,\n workspace: termValue(row.workspace),\n localPath: termValue(row.localPath),\n heading,\n metadata,\n };\n }\n}\n\nfunction isRemoteWorkspace(workspaceValue: string): boolean {\n try {\n const workspace = new URL(workspaceValue);\n return workspace.protocol === 'http:' || workspace.protocol === 'https:';\n } catch {\n return false;\n }\n}\n\nfunction normalizeEmbedding(input: RdfRunContextEmbedding | undefined): { embedding: number[]; model?: string } | undefined {\n if (!input) {\n return undefined;\n }\n if (Array.isArray(input)) {\n return { embedding: input };\n }\n return input;\n}\n\nfunction termValue(term: RdfBindingRow[string] | undefined): string | undefined {\n return term?.value || undefined;\n}\n\nfunction termNumber(term: RdfBindingRow[string] | undefined): number | undefined {\n const value = term?.value;\n if (value === undefined) {\n return undefined;\n }\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction compactRecord(input: Record<string, unknown>): Record<string, unknown> | undefined {\n const entries = Object.entries(input).filter(([, value]) => value !== undefined);\n return entries.length > 0 ? Object.fromEntries(entries) : undefined;\n}\n\nfunction parseJsonArray(value: string | undefined): unknown[] | undefined {\n if (!value) {\n return undefined;\n }\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed : undefined;\n } catch {\n return undefined;\n }\n}\n"]}
@@ -9,6 +9,37 @@ export type RunConversationMessage = {
9
9
  text: string;
10
10
  createdAt: number;
11
11
  };
12
+ export interface RunRetrievedContextItem {
13
+ /**
14
+ * Stable Pod resource, file URI, or runtime source identifier that produced
15
+ * this context item.
16
+ */
17
+ source: string;
18
+ text: string;
19
+ score?: number;
20
+ kind?: 'rdf_literal' | 'text_chunk' | 'vector_chunk' | 'message' | 'file';
21
+ workspace?: string;
22
+ localPath?: string;
23
+ heading?: string;
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ export interface RunRetrievedContext {
27
+ query: string;
28
+ items: RunRetrievedContextItem[];
29
+ generatedAt?: number;
30
+ plan?: string[];
31
+ }
32
+ export interface RunContextRetrievalInput<TContext = StoreContext> {
33
+ runId: string;
34
+ threadId: string;
35
+ prompt: string;
36
+ conversation: RunConversationMessage[];
37
+ config: AgentRuntimeConfig;
38
+ context: TContext;
39
+ }
40
+ export interface RunContextRetriever<TContext = StoreContext> {
41
+ retrieve(input: RunContextRetrievalInput<TContext>): Promise<RunRetrievedContext | undefined>;
42
+ }
12
43
  export interface RunExecutionInput {
13
44
  runId: string;
14
45
  threadId: string;
@@ -19,6 +50,13 @@ export interface RunExecutionInput {
19
50
  * request-scoped caches and restore from this input on every run.
20
51
  */
21
52
  conversation: RunConversationMessage[];
53
+ /**
54
+ * Optional product-level context retrieved before runtime execution starts.
55
+ * The retriever may use RDF facts, text chunks, vector chunks, or other
56
+ * derived indexes; runtime drivers only project these snippets into their
57
+ * prompt/session format.
58
+ */
59
+ retrievedContext?: RunRetrievedContext;
22
60
  config: AgentRuntimeConfig;
23
61
  /**
24
62
  * Server-side auth binding used by unattended/durable Run callbacks to
@@ -1 +1 @@
1
- {"version":3,"file":"RunExecutionBackend.js","sourceRoot":"","sources":["../../../src/api/runs/RunExecutionBackend.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AgentRuntimeConfig,\n AgentRuntimeEvent,\n} from './AgentRuntimeTypes';\nimport type { StoreContext } from '../chatkit/store';\n\nexport type RunConversationMessage =\n | { role: 'user'; text: string; createdAt: number }\n | { role: 'assistant'; text: string; createdAt: number };\n\nexport interface RunExecutionInput {\n runId: string;\n threadId: string;\n prompt: string;\n /**\n * Durable conversation projection loaded by Xpod from Pod state before this\n * execution starts. Runtime drivers must treat their own sessions as\n * request-scoped caches and restore from this input on every run.\n */\n conversation: RunConversationMessage[];\n config: AgentRuntimeConfig;\n /**\n * Server-side auth binding used by unattended/durable Run callbacks to\n * restore Pod access without serializing secrets into queue events.\n */\n authBindingId?: string;\n /**\n * Present when a paused Run is being placed back on the execution queue.\n * This does not create a new Run; it resumes the same message-level Run\n * after external input such as a client tool result or approval.\n */\n continuation?: {\n kind: 'client_tool_output' | 'approval' | 'user_input';\n itemId?: string;\n };\n /**\n * Optional request context for in-process enqueue adapters. Durable workers\n * must restore Pod access from non-secret event data or service-side lookup;\n * access tokens must not be serialized into external queues.\n */\n context?: StoreContext;\n}\n\n/**\n * Execution boundary for an already-created Xpod Run.\n *\n * Implementations may enqueue, kick, or execute inline, but they must not own\n * the business state for the run. Pod-backed Run/Thread/Message/RunStep state\n * stays authoritative; backend ids are diagnostics only.\n */\nexport interface RunExecutionBackend {\n start(input: RunExecutionInput): AsyncIterable<AgentRuntimeEvent>;\n}\n\nexport interface RunEnqueueResult {\n runId: string;\n externalRunId?: string;\n}\n"]}
1
+ {"version":3,"file":"RunExecutionBackend.js","sourceRoot":"","sources":["../../../src/api/runs/RunExecutionBackend.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AgentRuntimeConfig,\n AgentRuntimeEvent,\n} from './AgentRuntimeTypes';\nimport type { StoreContext } from '../chatkit/store';\n\nexport type RunConversationMessage =\n | { role: 'user'; text: string; createdAt: number }\n | { role: 'assistant'; text: string; createdAt: number };\n\nexport interface RunRetrievedContextItem {\n /**\n * Stable Pod resource, file URI, or runtime source identifier that produced\n * this context item.\n */\n source: string;\n text: string;\n score?: number;\n kind?: 'rdf_literal' | 'text_chunk' | 'vector_chunk' | 'message' | 'file';\n workspace?: string;\n localPath?: string;\n heading?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface RunRetrievedContext {\n query: string;\n items: RunRetrievedContextItem[];\n generatedAt?: number;\n plan?: string[];\n}\n\nexport interface RunContextRetrievalInput<TContext = StoreContext> {\n runId: string;\n threadId: string;\n prompt: string;\n conversation: RunConversationMessage[];\n config: AgentRuntimeConfig;\n context: TContext;\n}\n\nexport interface RunContextRetriever<TContext = StoreContext> {\n retrieve(input: RunContextRetrievalInput<TContext>): Promise<RunRetrievedContext | undefined>;\n}\n\nexport interface RunExecutionInput {\n runId: string;\n threadId: string;\n prompt: string;\n /**\n * Durable conversation projection loaded by Xpod from Pod state before this\n * execution starts. Runtime drivers must treat their own sessions as\n * request-scoped caches and restore from this input on every run.\n */\n conversation: RunConversationMessage[];\n /**\n * Optional product-level context retrieved before runtime execution starts.\n * The retriever may use RDF facts, text chunks, vector chunks, or other\n * derived indexes; runtime drivers only project these snippets into their\n * prompt/session format.\n */\n retrievedContext?: RunRetrievedContext;\n config: AgentRuntimeConfig;\n /**\n * Server-side auth binding used by unattended/durable Run callbacks to\n * restore Pod access without serializing secrets into queue events.\n */\n authBindingId?: string;\n /**\n * Present when a paused Run is being placed back on the execution queue.\n * This does not create a new Run; it resumes the same message-level Run\n * after external input such as a client tool result or approval.\n */\n continuation?: {\n kind: 'client_tool_output' | 'approval' | 'user_input';\n itemId?: string;\n };\n /**\n * Optional request context for in-process enqueue adapters. Durable workers\n * must restore Pod access from non-secret event data or service-side lookup;\n * access tokens must not be serialized into external queues.\n */\n context?: StoreContext;\n}\n\n/**\n * Execution boundary for an already-created Xpod Run.\n *\n * Implementations may enqueue, kick, or execute inline, but they must not own\n * the business state for the run. Pod-backed Run/Thread/Message/RunStep state\n * stays authoritative; backend ids are diagnostics only.\n */\nexport interface RunExecutionBackend {\n start(input: RunExecutionInput): AsyncIterable<AgentRuntimeEvent>;\n}\n\nexport interface RunEnqueueResult {\n runId: string;\n externalRunId?: string;\n}\n"]}
@@ -1,7 +1,7 @@
1
- import type { ChatKitStore, StoreContext } from '../chatkit/store';
1
+ import type { ChatKitStore, ClientToolContinuationClaim, StoreContext } from '../chatkit/store';
2
2
  import type { ClientEffect, ThreadItem, ThreadMetadata, ThreadRef, UserMessageItem } from '../chatkit/types';
3
- import type { AgentRuntimeConfig } from './AgentRuntimeTypes';
4
- import type { RunExecutionBackend } from './RunExecutionBackend';
3
+ import { type AgentRuntimeConfig } from './AgentRuntimeTypes';
4
+ import type { RunContextRetriever, RunExecutionBackend } from './RunExecutionBackend';
5
5
  export type RunStateEvent = {
6
6
  type: 'item_added';
7
7
  item: ThreadItem;
@@ -24,6 +24,11 @@ export interface RunStateCenterOptions<TContext = StoreContext> {
24
24
  store: ChatKitStore<TContext>;
25
25
  enableAgentRuntime?: boolean;
26
26
  executionBackend?: RunExecutionBackend;
27
+ contextRetriever?: RunContextRetriever<TContext>;
28
+ }
29
+ export interface PreparedClientToolOutput {
30
+ claim: ClientToolContinuationClaim;
31
+ output: string;
27
32
  }
28
33
  /**
29
34
  * Run is the xpod-side state center for Agent execution.
@@ -37,6 +42,7 @@ export declare class RunStateCenter<TContext = StoreContext> {
37
42
  private readonly runStore?;
38
43
  private readonly enableAgentRuntime;
39
44
  private readonly executionBackend;
45
+ private readonly contextRetriever?;
40
46
  constructor(options: RunStateCenterOptions<TContext>);
41
47
  getAgentRuntimeConfig(thread: ThreadMetadata, context?: TContext): AgentRuntimeConfig | null;
42
48
  getDefaultAgentRuntimeConfig(context: TContext): AgentRuntimeConfig | null;
@@ -48,12 +54,21 @@ export declare class RunStateCenter<TContext = StoreContext> {
48
54
  context: TContext;
49
55
  runtimeConfig: AgentRuntimeConfig;
50
56
  }): AsyncIterable<RunStateEvent>;
57
+ private retrieveRunContext;
58
+ prepareClientToolOutput(input: {
59
+ threadRef: ThreadRef;
60
+ itemId: string;
61
+ output: string;
62
+ context: TContext;
63
+ }): Promise<PreparedClientToolOutput | undefined>;
64
+ releaseClientToolOutput(prepared: PreparedClientToolOutput, context: TContext): Promise<boolean>;
51
65
  completeClientToolOutput(input: {
52
66
  threadRef: ThreadRef;
53
67
  itemId: string;
54
68
  output: string;
55
69
  context: TContext;
56
70
  }): AsyncIterable<RunStateEvent>;
71
+ completePreparedClientToolOutput(prepared: PreparedClientToolOutput, context: TContext): AsyncIterable<RunStateEvent>;
57
72
  private resolveRunStore;
58
73
  private createRun;
59
74
  private markRunStarted;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RunStateCenter = void 0;
4
4
  const types_1 = require("../chatkit/types");
5
+ const AgentRuntimeTypes_1 = require("./AgentRuntimeTypes");
5
6
  const InngestRunExecutionBackend_1 = require("./InngestRunExecutionBackend");
6
7
  const types_2 = require("../workspace/types");
7
8
  const schema_1 = require("./schema");
@@ -10,6 +11,7 @@ const RUN_WAITING_STATUSES = new Set([
10
11
  schema_1.RunStatus.WAITING_INPUT,
11
12
  schema_1.RunStatus.WAITING_RUNNER,
12
13
  ]);
14
+ const CLIENT_TOOL_CONTINUATION_LEASE_MS = 5 * 60_000;
13
15
  /**
14
16
  * Run is the xpod-side state center for Agent execution.
15
17
  *
@@ -23,6 +25,7 @@ class RunStateCenter {
23
25
  this.runStore = this.resolveRunStore(options.store);
24
26
  this.enableAgentRuntime = options.enableAgentRuntime ?? false;
25
27
  this.executionBackend = options.executionBackend ?? new InngestRunExecutionBackend_1.InngestRunExecutionBackend();
28
+ this.contextRetriever = options.contextRetriever;
26
29
  }
27
30
  getAgentRuntimeConfig(thread, context) {
28
31
  if (!this.enableAgentRuntime) {
@@ -46,7 +49,7 @@ class RunStateCenter {
46
49
  if (!workspace) {
47
50
  throw new Error('Invalid thread runtime: workspace reference is required');
48
51
  }
49
- return {
52
+ return (0, AgentRuntimeTypes_1.withInvocationAiConnection)({
50
53
  ...runtime,
51
54
  workspace,
52
55
  runner: {
@@ -55,7 +58,7 @@ class RunStateCenter {
55
58
  protocol,
56
59
  },
57
60
  agentConfig: runtime.agentConfig,
58
- };
61
+ }, context);
59
62
  }
60
63
  getDefaultAgentRuntimeConfig(context) {
61
64
  if (!this.enableAgentRuntime) {
@@ -92,11 +95,21 @@ class RunStateCenter {
92
95
  await this.markRunStarted(run, context);
93
96
  const assistantState = { item: assistantItem, fullText: '' };
94
97
  let runtimeError;
98
+ const conversation = await this.loadConversation(threadRef, userMessage.id, context);
99
+ const retrievedContext = await this.retrieveRunContext({
100
+ runId: run.id,
101
+ threadId: thread.id,
102
+ prompt,
103
+ conversation,
104
+ config: runtimeConfig,
105
+ context,
106
+ });
95
107
  for await (const event of this.executionBackend.start({
96
108
  runId: run.id,
97
109
  threadId: thread.id,
98
110
  prompt,
99
- conversation: await this.loadConversation(threadRef, userMessage.id, context),
111
+ conversation,
112
+ retrievedContext,
100
113
  config: runtimeConfig,
101
114
  context: context,
102
115
  })) {
@@ -128,12 +141,56 @@ class RunStateCenter {
128
141
  await this.finishRun(run, runtimeError ? schema_1.RunStatus.FAILED : schema_1.RunStatus.COMPLETED, context, runtimeError);
129
142
  yield { type: 'item_done', item: finalItem };
130
143
  }
131
- async *completeClientToolOutput(input) {
144
+ async retrieveRunContext(input) {
145
+ const retrieved = await this.contextRetriever?.retrieve(input);
146
+ if (!retrieved || retrieved.items.length === 0) {
147
+ return undefined;
148
+ }
149
+ return retrieved;
150
+ }
151
+ async prepareClientToolOutput(input) {
132
152
  const { threadRef, itemId, output, context } = input;
133
- const item = await this.store.loadItem(threadRef, itemId, context);
134
- if (item.type !== 'client_tool_call') {
153
+ if (!this.store.claimClientToolContinuation) {
154
+ throw new Error('Durable client tool continuation claim capability is required');
155
+ }
156
+ const now = (0, types_1.nowTimestamp)();
157
+ const claim = await this.store.claimClientToolContinuation({
158
+ threadRef,
159
+ itemId,
160
+ claimId: (0, types_1.generateId)('client-tool-continuation'),
161
+ leaseExpiresAt: now + CLIENT_TOOL_CONTINUATION_LEASE_MS,
162
+ now,
163
+ }, context);
164
+ if (!claim) {
165
+ return undefined;
166
+ }
167
+ return { claim, output };
168
+ }
169
+ async releaseClientToolOutput(prepared, context) {
170
+ if (!this.store.releaseClientToolContinuation) {
171
+ throw new Error('Durable client tool continuation release capability is required');
172
+ }
173
+ return this.store.releaseClientToolContinuation(prepared.claim, (0, types_1.nowTimestamp)(), context);
174
+ }
175
+ async *completeClientToolOutput(input) {
176
+ const prepared = await this.prepareClientToolOutput(input);
177
+ if (!prepared) {
135
178
  return;
136
179
  }
180
+ let completed = false;
181
+ try {
182
+ yield* this.completePreparedClientToolOutput(prepared, input.context);
183
+ completed = true;
184
+ }
185
+ finally {
186
+ if (!completed) {
187
+ await this.releaseClientToolOutput(prepared, input.context);
188
+ }
189
+ }
190
+ }
191
+ async *completePreparedClientToolOutput(prepared, context) {
192
+ const { threadRef, item, run } = prepared.claim;
193
+ const { output } = prepared;
137
194
  const updatedItem = {
138
195
  ...item,
139
196
  output,
@@ -141,10 +198,6 @@ class RunStateCenter {
141
198
  };
142
199
  await this.store.saveItem(threadRef, updatedItem, context);
143
200
  yield { type: 'item_done', item: updatedItem };
144
- const run = await this.resolveWaitingRunForToolOutput(updatedItem, threadRef, context);
145
- if (!run) {
146
- return;
147
- }
148
201
  const now = (0, types_1.nowTimestamp)();
149
202
  await this.appendRunStep(run, schema_1.XpodRunStepType.CLIENT_TOOL_OUTPUT, context, {
150
203
  message: updatedItem.name,
@@ -162,8 +215,6 @@ class RunStateCenter {
162
215
  },
163
216
  });
164
217
  run.status = schema_1.RunStatus.QUEUED;
165
- run.leaseOwner = undefined;
166
- run.leaseExpiresAt = undefined;
167
218
  run.completedAt = undefined;
168
219
  run.error = undefined;
169
220
  run.updatedAt = now;
@@ -191,12 +242,24 @@ class RunStateCenter {
191
242
  fullText: (0, types_1.extractAssistantMessageText)(assistantItem.content),
192
243
  };
193
244
  await this.markRunStarted(run, context);
245
+ const continuationPrompt = this.buildContinuationPrompt(updatedItem);
246
+ const conversation = await this.loadConversation(threadRef, String(run.metadata?.userMessageId ?? updatedItem.id), context);
247
+ const runtimeConfig = this.resolveRuntimeConfigForContinuation(run, context);
248
+ const retrievedContext = await this.retrieveRunContext({
249
+ runId: run.id,
250
+ threadId: this.extractThreadIdFromRef(threadRef),
251
+ prompt: continuationPrompt,
252
+ conversation,
253
+ config: runtimeConfig,
254
+ context,
255
+ });
194
256
  for await (const event of this.executionBackend.start({
195
257
  runId: run.id,
196
258
  threadId: this.extractThreadIdFromRef(threadRef),
197
- prompt: this.buildContinuationPrompt(updatedItem),
198
- conversation: await this.loadConversation(threadRef, String(run.metadata?.userMessageId ?? updatedItem.id), context),
199
- config: this.resolveRuntimeConfigForContinuation(run),
259
+ prompt: continuationPrompt,
260
+ conversation,
261
+ retrievedContext,
262
+ config: runtimeConfig,
200
263
  continuation: {
201
264
  kind: 'client_tool_output',
202
265
  itemId: updatedItem.id,
@@ -222,11 +285,7 @@ class RunStateCenter {
222
285
  if (result.action === 'return') {
223
286
  return;
224
287
  }
225
- const finalItem = this.finalizeAssistantMessage(assistantState.item, assistantState.fullText, 'incomplete');
226
- await this.store.saveItem(threadRef, finalItem, context);
227
- await this.finishRun(run, schema_1.RunStatus.FAILED, context, result.message);
228
- yield { type: 'item_done', item: finalItem };
229
- return;
288
+ throw new Error(result.message);
230
289
  }
231
290
  const finalItem = this.finalizeAssistantMessage(assistantState.item, assistantState.fullText, 'completed');
232
291
  await this.store.saveItem(threadRef, finalItem, context);
@@ -262,7 +321,7 @@ class RunStateCenter {
262
321
  metadata: {
263
322
  threadId: thread.id,
264
323
  userMessageId: userMessage.id,
265
- runtimeConfig,
324
+ runtimeConfig: (0, AgentRuntimeTypes_1.toPersistedAgentRuntimeConfig)(runtimeConfig),
266
325
  },
267
326
  createdAt: now,
268
327
  updatedAt: now,
@@ -292,6 +351,8 @@ class RunStateCenter {
292
351
  const now = (0, types_1.nowTimestamp)();
293
352
  run.status = status;
294
353
  run.completedAt = now;
354
+ run.leaseOwner = undefined;
355
+ run.leaseExpiresAt = undefined;
295
356
  run.updatedAt = now;
296
357
  run.error = error;
297
358
  await this.saveRun(run, context);
@@ -436,7 +497,7 @@ class RunStateCenter {
436
497
  return schema_1.XpodRunStepType.FAILED;
437
498
  }
438
499
  async saveRun(run, context) {
439
- await this.runStore?.saveRun(run, context);
500
+ await this.runStore?.saveRun((0, AgentRuntimeTypes_1.deepScrubGatewayKey)(run), context);
440
501
  }
441
502
  async appendRunStep(run, type, context, options = {}) {
442
503
  const createdAt = (0, types_1.nowTimestamp)();
@@ -547,10 +608,10 @@ class RunStateCenter {
547
608
  buildContinuationPrompt(item) {
548
609
  return `Continue the previous run after client tool output.\n\nTool: ${item.name}\nOutput:\n${item.output ?? ''}`;
549
610
  }
550
- resolveRuntimeConfigForContinuation(run) {
611
+ resolveRuntimeConfigForContinuation(run, context) {
551
612
  const runtimeConfig = run.metadata?.runtimeConfig;
552
613
  if (runtimeConfig && typeof runtimeConfig === 'object') {
553
- return runtimeConfig;
614
+ return (0, AgentRuntimeTypes_1.withInvocationAiConnection)(runtimeConfig, context);
554
615
  }
555
616
  if (!(0, types_2.isWorkspaceRef)(run.workspace)) {
556
617
  throw new Error('Run workspace reference is required');