@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
@@ -1,556 +1,119 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VercelChatService = void 0;
4
- const openai_1 = require("@ai-sdk/openai");
5
- const ai_1 = require("ai");
6
4
  const global_logger_factory_1 = require("global-logger-factory");
7
- const undici_1 = require("undici");
8
5
  const AuthContext_1 = require("../auth/AuthContext");
9
- const types_1 = require("../../credential/schema/types");
10
- const provider_registry_1 = require("./provider-registry");
11
- const platform_ai_config_1 = require("./platform-ai-config");
12
- const chat_protocol_adapters_1 = require("./chat-protocol-adapters");
13
- const ai_gateway_transport_1 = require("./ai-gateway-transport");
14
- const provider_http_transport_1 = require("./provider-http-transport");
15
- const chat_routing_1 = require("./chat-routing");
16
- // Create a proxy-aware fetch function
17
- function createProxyFetch(proxyUrl) {
18
- const agent = new undici_1.ProxyAgent(proxyUrl);
19
- return (url, init) => fetch(url, { ...init, dispatcher: agent });
20
- }
6
+ /**
7
+ * @deprecated Compatibility facade for legacy internal ChatService callers.
8
+ *
9
+ * Public `/v1/*` routes are owned by AiGatewayHandler. This class only keeps
10
+ * older ChatKit/internal call sites working while routing every inference and
11
+ * model-list request through the unified AI Connection gateway runtime.
12
+ */
21
13
  class VercelChatService {
22
- constructor(store) {
23
- this.store = store;
14
+ constructor(_store, options = {}) {
15
+ this._store = _store;
24
16
  this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
25
- this.providerHttpTransport = new provider_http_transport_1.ProviderHttpTransport();
26
- this.logger.info('Initializing VercelChatService with Pod-based config support');
27
- this.aiGatewayTransport = new ai_gateway_transport_1.AiGatewayTransport({
28
- getBaseUrl: () => this.getAiGatewayBaseUrl(),
29
- getApiKey: () => this.getAiGatewayApiKey(),
30
- getQueryTimeoutMs: () => this.getAiGatewayQueryTimeoutMs(),
31
- getGenerationTimeoutMs: () => this.getAiGatewayGenerationTimeoutMs(),
32
- });
17
+ this.logger.info('Initializing legacy VercelChatService facade with AI Connection gateway runtime');
18
+ this.aiGatewayService = options.aiGatewayService;
33
19
  }
34
20
  /**
35
- * Set optional usage tracking dependencies (injected after construction)
21
+ * Set optional usage tracking dependencies (injected after construction).
36
22
  */
37
23
  setUsageTracking(usageRepo, quotaService) {
38
24
  this.usageRepo = usageRepo;
39
25
  this.quotaService = quotaService;
40
26
  }
41
- /**
42
- * Create a StoreContext from AuthContext for Pod operations
43
- */
44
- createStoreContext(auth) {
45
- return {
46
- userId: (0, AuthContext_1.getWebId)(auth) ?? (0, AuthContext_1.getAccountId)(auth) ?? 'anonymous',
47
- auth,
48
- };
49
- }
50
- getAiGatewayBaseUrl() {
51
- return (0, platform_ai_config_1.getAiGatewayBaseUrl)() ?? null;
52
- }
53
- getAiGatewayQueryTimeoutMs() {
54
- return (0, platform_ai_config_1.getPlatformQueryTimeoutMs)();
55
- }
56
- getAiGatewayGenerationTimeoutMs() {
57
- return (0, platform_ai_config_1.getPlatformGenerationTimeoutMs)();
58
- }
59
- getAiGatewayApiKey() {
60
- return (0, platform_ai_config_1.getAiGatewayApiKey)() ?? null;
61
- }
62
- async shouldUseAiGateway(model) {
63
- return this.aiGatewayTransport.shouldHandleModel(model);
64
- }
65
- toModelId(model) {
66
- return typeof model?.id === 'string' ? model.id : JSON.stringify(model);
67
- }
68
- pushModelsWithDedup(models, seenModelIds, items) {
69
- for (const model of items) {
70
- const modelId = this.toModelId(model);
71
- if (seenModelIds.has(modelId)) {
72
- continue;
73
- }
74
- seenModelIds.add(modelId);
75
- models.push(model);
76
- }
77
- }
78
- async forwardAiGatewayJson(path, body, _auth) {
79
- return this.aiGatewayTransport.sendJson(path, body);
80
- }
81
- async forwardAiGatewayStream(path, body, _auth) {
82
- return this.aiGatewayTransport.sendStream(path, body);
83
- }
84
- getProviderChatCompletionsUrl(baseURL) {
85
- const cleanBaseUrl = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;
86
- return cleanBaseUrl.endsWith('/chat/completions')
87
- ? cleanBaseUrl
88
- : `${cleanBaseUrl}/chat/completions`;
89
- }
90
- extractTotalTokens(usage) {
91
- if (!usage || typeof usage !== 'object') {
92
- return 0;
93
- }
94
- if (typeof usage.total_tokens === 'number') {
95
- return usage.total_tokens;
96
- }
97
- if (typeof usage.totalTokens === 'number') {
98
- return usage.totalTokens;
99
- }
100
- if (typeof usage.input_tokens === 'number' || typeof usage.output_tokens === 'number') {
101
- return (usage.input_tokens ?? 0) + (usage.output_tokens ?? 0);
102
- }
103
- if (typeof usage.prompt_tokens === 'number' || typeof usage.completion_tokens === 'number') {
104
- return (usage.prompt_tokens ?? 0) + (usage.completion_tokens ?? 0);
105
- }
106
- return 0;
107
- }
108
- recordForwardedUsage(accountId, podId, payload) {
109
- const totalTokens = this.extractTotalTokens(payload?.usage);
110
- if (accountId && totalTokens > 0) {
111
- this.recordTokenUsage(accountId, podId, totalTokens);
112
- }
113
- }
114
- async getProviderConfig(context) {
115
- let config;
116
- try {
117
- config = await this.store.getAiConfig(context);
118
- this.logger.info(`Pod config: ${JSON.stringify(config)}`);
119
- }
120
- catch (error) {
121
- this.logger.warn(`Failed to get Pod config, falling back to defaults: ${error}`);
122
- config = undefined;
123
- }
124
- // Priority: Pod config > Platform Provider
125
- if (config?.apiKey) {
126
- const baseURL = config.baseUrl || (0, provider_registry_1.getDefaultBaseUrl)();
127
- const proxy = config.proxyUrl;
128
- this.logger.info(`Provider config: baseURL=${baseURL}, proxy=${proxy || 'none'} (source=pod)`);
129
- return { baseURL, apiKey: config.apiKey, proxy, credentialId: config.credentialId };
130
- }
131
- // 平台 Provider
132
- const platformBase = (0, platform_ai_config_1.getPlatformApiBaseUrl)();
133
- if (platformBase) {
134
- this.logger.info(`Provider config: baseURL=${platformBase}, proxy=none (source=platform)`);
135
- return { baseURL: platformBase, apiKey: (0, platform_ai_config_1.getPlatformApiKey)(), proxy: undefined, credentialId: undefined };
136
- }
137
- this.logger.warn('No AI provider config found in Pod or DEFAULT_API_BASE');
138
- return null;
139
- }
140
- async getProvider(context) {
141
- const providerConfig = await this.getProviderConfig(context);
142
- if (!providerConfig) {
143
- const err = new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');
144
- err.code = 'model_not_configured';
145
- throw err;
146
- }
147
- const { baseURL, apiKey, proxy } = providerConfig;
148
- this.logger.debug(`Using AI Provider: ${baseURL} (key length: ${apiKey?.length || 0}, proxy: ${proxy || 'none'})`);
149
- const options = { baseURL, apiKey };
150
- if (proxy) {
151
- options.fetch = createProxyFetch(proxy);
152
- }
153
- return (0, openai_1.createOpenAI)(options);
154
- }
155
27
  async complete(request, auth) {
156
- const { model } = request;
157
- const context = this.createStoreContext(auth);
158
28
  const accountId = (0, AuthContext_1.getAccountId)(auth);
159
29
  if (accountId) {
160
30
  await this.checkTokenQuota(accountId);
161
31
  }
162
- if (await (0, chat_routing_1.resolveChatExecutionRoute)({ model, shouldUseAiGateway: this.shouldUseAiGateway.bind(this) }) === 'ai-gateway') {
163
- this.logger.info(`Forwarding chat completion for model ${model} to ai-gateway`);
164
- const result = await this.forwardAiGatewayJson('/v1/chat/completions', request, auth);
165
- this.recordForwardedUsage(accountId, String(context.userId), result);
166
- return result;
167
- }
168
- const config = await this.getProviderConfig(context);
169
- if (!config) {
170
- const err = new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');
171
- err.code = 'model_not_configured';
172
- throw err;
173
- }
174
- try {
175
- const result = await this.providerHttpTransport.postJson({
176
- url: this.getProviderChatCompletionsUrl(config.baseURL),
177
- apiKey: config.apiKey,
178
- proxy: config.proxy,
179
- body: request,
180
- });
181
- // Record successful API call
182
- if (config?.credentialId) {
183
- this.store.recordCredentialSuccess(context, config.credentialId).catch((err) => {
184
- this.logger.debug(`Failed to record credential success: ${err}`);
185
- });
186
- }
187
- // Record token usage
188
- const totalTokens = this.extractTotalTokens(result.usage);
189
- if (accountId && totalTokens > 0) {
190
- this.recordTokenUsage(accountId, String(context.userId), totalTokens);
191
- }
192
- return result;
193
- }
194
- catch (error) {
195
- this.logger.error(`AI completion failed: ${error}`);
196
- // Handle error and update credential status
197
- if (config?.credentialId) {
198
- await this.handleApiError(error, context, config.credentialId);
199
- }
200
- throw error;
201
- }
32
+ const result = await this.completeViaGateway('chatCompletions', request, auth);
33
+ this.recordForwardedUsage(accountId, this.podUsageScope(auth), result);
34
+ return result;
202
35
  }
203
36
  async stream(request, auth) {
204
- const { model } = request;
205
- const context = this.createStoreContext(auth);
206
- if (await (0, chat_routing_1.resolveChatExecutionRoute)({ model, shouldUseAiGateway: this.shouldUseAiGateway.bind(this) }) === 'ai-gateway') {
207
- this.logger.info(`Forwarding chat stream for model ${model} to ai-gateway`);
208
- return this.forwardAiGatewayStream('/v1/chat/completions', request, auth);
209
- }
210
- const config = await this.getProviderConfig(context);
211
- if (!config) {
212
- const err = new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');
213
- err.code = 'model_not_configured';
214
- throw err;
215
- }
216
- const response = await this.providerHttpTransport.postStream({
217
- url: this.getProviderChatCompletionsUrl(config.baseURL),
218
- apiKey: config.apiKey,
219
- proxy: config.proxy,
220
- body: request,
221
- headers: {
222
- Accept: 'text/event-stream',
223
- },
224
- });
37
+ const gateway = this.requireAiGatewayService();
225
38
  return {
226
- toTextStreamResponse: () => new Response(response.body, {
227
- status: response.status,
228
- statusText: response.statusText,
229
- headers: new Headers(response.headers),
39
+ toTextStreamResponse: () => gatewayExecutionToTextStreamResponse(gateway, {
40
+ auth,
41
+ protocol: 'chatCompletions',
42
+ body: request,
230
43
  }),
231
44
  };
232
45
  }
233
46
  async responses(body, auth) {
234
- const context = this.createStoreContext(auth);
235
- const displayName = (0, AuthContext_1.getDisplayName)(auth) || context.userId;
236
- const accountId = (0, AuthContext_1.getAccountId)(auth);
237
- if (await (0, chat_routing_1.resolveChatExecutionRoute)({ model: body?.model, shouldUseAiGateway: this.shouldUseAiGateway.bind(this) }) === 'ai-gateway') {
238
- this.logger.info(`Forwarding responses request for model ${body?.model} to ai-gateway for ${displayName} (acc: ${accountId})`);
239
- const sanitizedBody = (0, chat_protocol_adapters_1.sanitizeAiGatewayResponsesBody)(body);
240
- const result = await this.forwardAiGatewayJson('/v1/responses', sanitizedBody, auth);
241
- this.recordForwardedUsage(accountId, String(context.userId), result);
242
- return result;
243
- }
244
- const providerConfig = await this.getProviderConfig(context);
245
- if (!providerConfig) {
246
- const err = new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');
247
- err.code = 'model_not_configured';
248
- throw err;
249
- }
250
- const { baseURL } = providerConfig;
251
- // Only OpenAI natively supports /v1/responses; all others go through Chat Completions
252
- if ((0, chat_routing_1.resolveResponsesProviderRoute)(baseURL) === 'chat-fallback') {
253
- this.logger.info(`Provider ${baseURL} does not support Responses API, converting to Chat Completions for ${displayName} (acc: ${accountId})`);
254
- return this.responsesViaCompletions(body, context, providerConfig);
255
- }
256
- const { apiKey, proxy, credentialId } = providerConfig;
257
- // Remove trailing slash if present
258
- const cleanBaseUrl = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;
259
- const url = `${cleanBaseUrl}/responses`;
260
- this.logger.info(`Proxying responses request to ${url} for ${displayName} (acc: ${accountId}), proxy: ${proxy || 'none'}`);
261
- try {
262
- const result = await this.providerHttpTransport.postJson({
263
- url,
264
- apiKey,
265
- proxy,
266
- body,
267
- });
268
- if (credentialId) {
269
- this.store.recordCredentialSuccess(context, credentialId).catch(() => { });
270
- }
271
- return result;
272
- }
273
- catch (error) {
274
- const status = error?.status;
275
- const headers = error?.headers;
276
- const bodyText = error?.body;
277
- if (typeof status === 'number') {
278
- this.logger.error(`Responses API failed: ${status} ${bodyText ?? ''}`);
279
- if (credentialId) {
280
- await this.handleApiError({ status, headers }, context, credentialId);
281
- }
282
- }
283
- else if (credentialId) {
284
- await this.handleApiError(error, context, credentialId);
285
- }
286
- throw error;
287
- }
47
+ const result = await this.completeViaGateway('responses', body, auth);
48
+ this.recordForwardedUsage((0, AuthContext_1.getAccountId)(auth), this.podUsageScope(auth), result);
49
+ return result;
288
50
  }
289
51
  async messages(body, auth) {
290
- const context = this.createStoreContext(auth);
291
- const displayName = (0, AuthContext_1.getDisplayName)(auth) || context.userId;
292
- const accountId = (0, AuthContext_1.getAccountId)(auth);
293
- if (await (0, chat_routing_1.resolveChatExecutionRoute)({ model: body?.model, shouldUseAiGateway: this.shouldUseAiGateway.bind(this) }) === 'ai-gateway') {
294
- this.logger.info(`Forwarding messages request for model ${body?.model} to ai-gateway for ${displayName} (acc: ${accountId})`);
295
- const completionBody = (0, chat_protocol_adapters_1.buildChatCompletionsBodyFromMessages)(body);
296
- const completion = await this.forwardAiGatewayJson('/v1/chat/completions', completionBody, auth);
297
- const result = (0, chat_protocol_adapters_1.mapChatCompletionToMessagesResponse)(body, completion);
298
- this.recordForwardedUsage(accountId, String(context.userId), result);
299
- return result;
300
- }
301
- const providerConfig = await this.getProviderConfig(context);
302
- if (!providerConfig) {
303
- const err = new Error('No AI provider configured. Please configure Pod AI provider or set DEFAULT_API_BASE.');
304
- err.code = 'model_not_configured';
305
- throw err;
306
- }
307
- const { baseURL } = providerConfig;
308
- // Only Anthropic natively supports /v1/messages; all others go through Chat Completions
309
- if ((0, chat_routing_1.resolveMessagesProviderRoute)(baseURL) === 'chat-fallback') {
310
- this.logger.info(`Provider ${baseURL} does not support Messages API, converting to Chat Completions for ${displayName} (acc: ${accountId})`);
311
- return this.messagesViaCompletions(body, context, providerConfig);
312
- }
313
- const { apiKey, proxy, credentialId } = providerConfig;
314
- // Remove trailing slash if present
315
- const cleanBaseUrl = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;
316
- const url = `${cleanBaseUrl}/messages`;
317
- this.logger.info(`Proxying messages request to ${url} for ${displayName} (acc: ${accountId}), proxy: ${proxy || 'none'}`);
318
- try {
319
- const result = await this.providerHttpTransport.postJson({
320
- url,
321
- apiKey,
322
- proxy,
323
- body,
324
- headers: {
325
- 'x-api-key': apiKey,
326
- 'anthropic-version': '2023-06-01',
327
- },
328
- });
329
- if (credentialId) {
330
- this.store.recordCredentialSuccess(context, credentialId).catch(() => { });
331
- }
332
- return result;
333
- }
334
- catch (error) {
335
- const status = error?.status;
336
- const headers = error?.headers;
337
- const bodyText = error?.body;
338
- if (typeof status === 'number') {
339
- this.logger.error(`Messages API failed: ${status} ${bodyText ?? ''}`);
340
- if (credentialId) {
341
- await this.handleApiError({ status, headers }, context, credentialId);
342
- }
343
- }
344
- else if (credentialId) {
345
- await this.handleApiError(error, context, credentialId);
346
- }
347
- throw error;
348
- }
52
+ const result = await this.completeViaGateway('anthropic', body, auth);
53
+ this.recordForwardedUsage((0, AuthContext_1.getAccountId)(auth), this.podUsageScope(auth), result);
54
+ return result;
349
55
  }
350
- async responsesViaCompletions(body, context, providerConfig) {
351
- const prompt = (0, chat_protocol_adapters_1.extractPromptFromResponsesBody)(body);
352
- const model = body?.model || (0, platform_ai_config_1.getPlatformDefaultModel)();
353
- const provider = await this.getProvider(context);
354
- const result = await (0, ai_1.generateText)({
355
- model: provider.chat(model),
356
- messages: [{ role: 'user', content: prompt }],
357
- ...(body?.temperature != null ? { temperature: body.temperature } : {}),
358
- ...(body?.max_output_tokens != null ? { maxTokens: body.max_output_tokens } : {}),
359
- });
360
- if (providerConfig.credentialId) {
361
- this.store.recordCredentialSuccess(context, providerConfig.credentialId).catch(() => { });
56
+ async listModels(auth) {
57
+ if (!auth) {
58
+ return [];
362
59
  }
363
- const outputText = result.text;
364
- const now = Math.floor(Date.now() / 1000);
365
- return {
366
- id: `resp_${Date.now()}`,
367
- object: 'response',
368
- created: now,
369
- status: 'completed',
370
- model,
371
- output: [{
372
- type: 'message',
373
- role: 'assistant',
374
- content: [{ type: 'output_text', text: outputText }],
375
- }],
376
- usage: {
377
- input_tokens: result.usage?.promptTokens ?? prompt.length,
378
- output_tokens: result.usage?.completionTokens ?? outputText.length,
379
- total_tokens: result.usage?.totalTokens ?? (prompt.length + outputText.length),
380
- },
381
- };
60
+ return await this.requireAiGatewayService().listModels(auth);
382
61
  }
383
- async messagesViaCompletions(body, context, providerConfig) {
384
- const prompt = (0, chat_protocol_adapters_1.extractPromptFromMessagesBody)(body);
385
- const model = body?.model || (0, platform_ai_config_1.getPlatformDefaultModel)();
386
- const coreMessages = [];
387
- if (body?.system) {
388
- const systemText = typeof body.system === 'string'
389
- ? body.system
390
- : Array.isArray(body.system)
391
- ? body.system.map((b) => b?.text ?? '').join('\n')
392
- : '';
393
- if (systemText) {
394
- coreMessages.push({ role: 'system', content: systemText });
395
- }
396
- }
397
- if (Array.isArray(body?.messages)) {
398
- for (const msg of body.messages) {
399
- if (msg?.role && msg?.content != null) {
400
- const content = typeof msg.content === 'string'
401
- ? msg.content
402
- : Array.isArray(msg.content)
403
- ? msg.content.filter((p) => p?.type === 'text').map((p) => p.text).join('\n')
404
- : String(msg.content);
405
- coreMessages.push({ role: msg.role, content });
406
- }
407
- }
408
- }
409
- if (coreMessages.length === 0) {
410
- coreMessages.push({ role: 'user', content: prompt });
411
- }
412
- const provider = await this.getProvider(context);
413
- const result = await (0, ai_1.generateText)({
414
- model: provider.chat(model),
415
- messages: coreMessages,
416
- ...(body?.temperature != null ? { temperature: body.temperature } : {}),
417
- ...(body?.max_tokens != null ? { maxTokens: body.max_tokens } : {}),
62
+ async completeViaGateway(protocol, body, auth) {
63
+ return await this.requireAiGatewayService().complete({
64
+ auth,
65
+ protocol,
66
+ body,
418
67
  });
419
- if (providerConfig.credentialId) {
420
- this.store.recordCredentialSuccess(context, providerConfig.credentialId).catch(() => { });
68
+ }
69
+ requireAiGatewayService() {
70
+ if (!this.aiGatewayService) {
71
+ throw new Error('AiGatewayService is required for legacy ChatKit AI inference');
421
72
  }
422
- const text = result.text;
423
- return {
424
- id: `msg_${Date.now()}`,
425
- type: 'message',
426
- role: 'assistant',
427
- model,
428
- content: [{ type: 'text', text }],
429
- stop_reason: 'end_turn',
430
- stop_sequence: null,
431
- usage: {
432
- input_tokens: result.usage?.promptTokens ?? prompt.length,
433
- output_tokens: result.usage?.completionTokens ?? text.length,
434
- },
435
- };
73
+ return this.aiGatewayService;
436
74
  }
437
- async listModels(_auth) {
438
- const models = [];
439
- const seenModelIds = new Set();
440
- if (_auth) {
441
- try {
442
- const context = this.createStoreContext(_auth);
443
- const userModels = await this.store.listAvailableModels(context);
444
- this.pushModelsWithDedup(models, seenModelIds, userModels);
445
- }
446
- catch (error) {
447
- this.logger.warn(`Failed to load user Pod models: ${error}`);
448
- }
75
+ podUsageScope(auth) {
76
+ return (0, AuthContext_1.getWebId)(auth) ?? (0, AuthContext_1.getAccountId)(auth) ?? 'anonymous';
77
+ }
78
+ extractTotalTokens(usage) {
79
+ if (!usage || typeof usage !== 'object') {
80
+ return 0;
449
81
  }
450
- const aiGatewayModels = await this.aiGatewayTransport.listModels();
451
- if (aiGatewayModels) {
452
- this.pushModelsWithDedup(models, seenModelIds, aiGatewayModels);
82
+ const record = usage;
83
+ if (typeof record.total_tokens === 'number') {
84
+ return record.total_tokens;
453
85
  }
454
- // 平台 Provider 模型(从 DEFAULT_API_BASE 获取)
455
- const platformBase = (0, platform_ai_config_1.getPlatformApiBaseUrl)();
456
- const platformKey = (0, platform_ai_config_1.getPlatformApiKey)();
457
- const aiGatewayBase = this.getAiGatewayBaseUrl();
458
- const normalizedAiGatewayModelsUrl = aiGatewayBase
459
- ? this.aiGatewayTransport.buildUrl('/v1/models')
460
- : undefined;
461
- const normalizedPlatformModelsUrl = platformBase
462
- ? `${platformBase.replace(/\/$/, '')}/models`
463
- : undefined;
464
- if (platformBase && normalizedPlatformModelsUrl !== normalizedAiGatewayModelsUrl) {
465
- try {
466
- const url = normalizedPlatformModelsUrl;
467
- const headers = { 'Content-Type': 'application/json' };
468
- if (platformKey) {
469
- headers['Authorization'] = `Bearer ${platformKey}`;
470
- }
471
- const resp = await fetch(url, { headers });
472
- if (resp.ok) {
473
- const data = await resp.json();
474
- if (Array.isArray(data.data)) {
475
- this.pushModelsWithDedup(models, seenModelIds, data.data);
476
- }
477
- }
478
- else {
479
- this.logger.warn(`Failed to fetch platform models: ${resp.status}`);
480
- }
481
- }
482
- catch (error) {
483
- this.logger.warn(`Failed to fetch platform models: ${error}`);
484
- }
86
+ if (typeof record.totalTokens === 'number') {
87
+ return record.totalTokens;
485
88
  }
486
- return models;
487
- }
488
- /**
489
- * Handle API errors and update credential status accordingly
490
- */
491
- async handleApiError(error, context, credentialId) {
492
- const errorInfo = this.parseApiError(error);
493
- if (errorInfo.statusCode === 429) {
494
- // Rate limit error - mark credential as rate limited
495
- const resetAt = errorInfo.retryAfter
496
- ? new Date(Date.now() + errorInfo.retryAfter * 1000)
497
- : new Date(Date.now() + 60000); // Default 1 minute cooldown
498
- this.logger.warn(`Rate limit hit for credential ${credentialId}, reset at: ${resetAt.toISOString()}`);
499
- await this.store.updateCredentialStatus(context, credentialId, types_1.CredentialStatus.RATE_LIMITED, { rateLimitResetAt: resetAt });
89
+ if (typeof record.input_tokens === 'number' || typeof record.output_tokens === 'number') {
90
+ return (Number(record.input_tokens) || 0) + (Number(record.output_tokens) || 0);
500
91
  }
501
- else if (errorInfo.statusCode === 401 || errorInfo.statusCode === 403) {
502
- // Auth error - mark credential as inactive
503
- this.logger.warn(`Auth error for credential ${credentialId}, marking as inactive`);
504
- await this.store.updateCredentialStatus(context, credentialId, types_1.CredentialStatus.INACTIVE, { incrementFailCount: true });
505
- }
506
- else if (errorInfo.statusCode >= 500) {
507
- // Server error - increment fail count but keep active
508
- this.logger.warn(`Server error ${errorInfo.statusCode} for credential ${credentialId}`);
509
- await this.store.updateCredentialStatus(context, credentialId, types_1.CredentialStatus.ACTIVE, { incrementFailCount: true });
92
+ if (typeof record.prompt_tokens === 'number' || typeof record.completion_tokens === 'number') {
93
+ return (Number(record.prompt_tokens) || 0) + (Number(record.completion_tokens) || 0);
510
94
  }
95
+ return 0;
511
96
  }
512
- /**
513
- * Parse error to extract status code and retry-after header
514
- */
515
- parseApiError(error) {
516
- // Handle different error formats from AI SDK
517
- if (error && typeof error === 'object') {
518
- const err = error;
519
- // Direct status code
520
- if (typeof err.status === 'number') {
521
- return {
522
- statusCode: err.status,
523
- retryAfter: err.retryAfter || err.headers?.['retry-after'],
524
- };
525
- }
526
- // Nested response object
527
- if (err.response && typeof err.response.status === 'number') {
528
- return {
529
- statusCode: err.response.status,
530
- retryAfter: err.response.headers?.get?.('retry-after'),
531
- };
532
- }
533
- // Error message parsing (fallback)
534
- if (err.message) {
535
- const match = err.message.match(/(\d{3})/);
536
- if (match) {
537
- return { statusCode: parseInt(match[1], 10) };
538
- }
539
- }
97
+ recordForwardedUsage(accountId, podId, payload) {
98
+ const usage = payload && typeof payload === 'object'
99
+ ? payload.usage
100
+ : undefined;
101
+ const totalTokens = this.extractTotalTokens(usage);
102
+ if (accountId && totalTokens > 0) {
103
+ this.recordTokenUsage(accountId, podId, totalTokens);
540
104
  }
541
- return { statusCode: 0 };
542
105
  }
543
106
  /**
544
- * Check if account has remaining token quota
107
+ * Check if account has remaining token quota.
545
108
  */
546
109
  async checkTokenQuota(accountId) {
547
110
  if (!this.quotaService || !this.usageRepo) {
548
- return; // No quota enforcement if not configured
111
+ return;
549
112
  }
550
113
  try {
551
114
  const quota = await this.quotaService.getAccountQuota(accountId);
552
115
  if (!quota.tokenLimitMonthly) {
553
- return; // No limit set
116
+ return;
554
117
  }
555
118
  const usage = await this.usageRepo.getAccountUsage(accountId);
556
119
  const tokensUsed = usage?.tokensUsed ?? 0;
@@ -564,12 +127,11 @@ class VercelChatService {
564
127
  if (error.code === 'quota_exceeded') {
565
128
  throw error;
566
129
  }
567
- // Log but don't block on quota check errors
568
130
  this.logger.warn(`Token quota check failed: ${error}`);
569
131
  }
570
132
  }
571
133
  /**
572
- * Record token usage (fire-and-forget)
134
+ * Record token usage (fire-and-forget).
573
135
  */
574
136
  recordTokenUsage(accountId, podId, tokens) {
575
137
  if (!this.usageRepo) {
@@ -581,4 +143,90 @@ class VercelChatService {
581
143
  }
582
144
  }
583
145
  exports.VercelChatService = VercelChatService;
146
+ function gatewayExecutionToTextStreamResponse(gateway, input) {
147
+ const encoder = new TextEncoder();
148
+ const abortController = new AbortController();
149
+ let iterator;
150
+ let cancelRequested = false;
151
+ let iteratorReturned = false;
152
+ const returnIterator = async () => {
153
+ if (!iterator) {
154
+ return;
155
+ }
156
+ if (iteratorReturned) {
157
+ return;
158
+ }
159
+ iteratorReturned = true;
160
+ await iterator?.return?.();
161
+ };
162
+ const pump = async (controller) => {
163
+ try {
164
+ const execution = await gateway.execute({
165
+ ...input,
166
+ signal: abortController.signal,
167
+ });
168
+ const serializer = execution.frontend.createEventSerializer();
169
+ iterator = execution.events[Symbol.asyncIterator]();
170
+ if (cancelRequested) {
171
+ await returnIterator();
172
+ return;
173
+ }
174
+ while (true) {
175
+ if (cancelRequested) {
176
+ break;
177
+ }
178
+ const result = await iterator.next();
179
+ if (result.done) {
180
+ break;
181
+ }
182
+ if (cancelRequested) {
183
+ break;
184
+ }
185
+ const event = result.value;
186
+ const serialized = serializer.serializeEvent(event);
187
+ for (const item of Array.isArray(serialized) ? serialized : [serialized]) {
188
+ controller.enqueue(encoder.encode(`data: ${JSON.stringify(item)}\n\n`));
189
+ }
190
+ }
191
+ if (cancelRequested) {
192
+ return;
193
+ }
194
+ controller.enqueue(encoder.encode('data: [DONE]\n\n'));
195
+ controller.close();
196
+ }
197
+ catch (error) {
198
+ if (abortController.signal.aborted) {
199
+ try {
200
+ controller.close();
201
+ }
202
+ catch {
203
+ // Stream may already be closed by cancel().
204
+ }
205
+ }
206
+ else {
207
+ controller.error(error);
208
+ }
209
+ }
210
+ finally {
211
+ await returnIterator();
212
+ }
213
+ };
214
+ const stream = new ReadableStream({
215
+ start(controller) {
216
+ void pump(controller);
217
+ },
218
+ async cancel() {
219
+ cancelRequested = true;
220
+ abortController.abort();
221
+ await returnIterator();
222
+ },
223
+ });
224
+ return new Response(stream, {
225
+ status: 200,
226
+ headers: {
227
+ 'Content-Type': 'text/event-stream; charset=utf-8',
228
+ 'Cache-Control': 'no-cache, no-transform',
229
+ },
230
+ });
231
+ }
584
232
  //# sourceMappingURL=VercelChatService.js.map