@undefineds.co/xpod 0.4.3 → 0.4.5

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 (223) hide show
  1. package/config/cloud.json +1 -1
  2. package/config/main.json +36 -2
  3. package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.d.ts +3 -0
  4. package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.js +1 -1
  5. package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.d.ts +2 -1
  6. package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.js +101 -32
  7. package/dist/api/ai-gateway/connect/DeviceCodeProtocol.d.ts +80 -0
  8. package/dist/api/ai-gateway/connect/DeviceCodeProtocol.js +3 -0
  9. package/dist/api/ai-gateway/connect/FileSessionImportAdapter.d.ts +38 -0
  10. package/dist/api/ai-gateway/connect/FileSessionImportAdapter.js +63 -0
  11. package/dist/api/ai-gateway/connect/LoopbackAuthorizationCallbackReceiver.d.ts +24 -0
  12. package/dist/api/ai-gateway/connect/LoopbackAuthorizationCallbackReceiver.js +136 -0
  13. package/dist/api/ai-gateway/connect/OAuthConnectAdapter.d.ts +2 -0
  14. package/dist/api/ai-gateway/connect/OAuthConnectAdapter.js +2 -1
  15. package/dist/api/ai-gateway/connect/OAuthIntegrationRegistry.d.ts +17 -13
  16. package/dist/api/ai-gateway/connect/OAuthIntegrationRegistry.js +52 -19
  17. package/dist/api/ai-gateway/connect/OpenAiSubscriptionSessionImportAdapter.d.ts +4 -28
  18. package/dist/api/ai-gateway/connect/OpenAiSubscriptionSessionImportAdapter.js +7 -58
  19. package/dist/api/ai-gateway/connect/ProviderAuthorizationProfiles.d.ts +4 -0
  20. package/dist/api/ai-gateway/connect/ProviderAuthorizationProfiles.js +116 -0
  21. package/dist/api/ai-gateway/connect/SessionImportProfiles.d.ts +10 -0
  22. package/dist/api/ai-gateway/connect/SessionImportProfiles.js +112 -0
  23. package/dist/api/ai-gateway/connect/index.d.ts +125 -23
  24. package/dist/api/ai-gateway/connect/index.js +1277 -260
  25. package/dist/api/ai-gateway/models/PodModelSelectionRepository.d.ts +4 -1
  26. package/dist/api/ai-gateway/models/PodModelSelectionRepository.js +154 -19
  27. package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.js +10 -6
  28. package/dist/api/ai-gateway/providers/ModelsDevCatalog.d.ts +7 -0
  29. package/dist/api/ai-gateway/providers/ModelsDevCatalog.js +25 -1
  30. package/dist/api/ai-gateway/providers/OfferingAuthorization.d.ts +24 -0
  31. package/dist/api/ai-gateway/providers/OfferingAuthorization.js +37 -0
  32. package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.d.ts +1 -1
  33. package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.js +5 -3
  34. package/dist/api/ai-gateway/providers/ProviderRegistry.d.ts +6 -3
  35. package/dist/api/ai-gateway/providers/ProviderRegistry.js +55 -16
  36. package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.d.ts +2 -0
  37. package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.js +37 -4
  38. package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.js +7 -0
  39. package/dist/api/ai-gateway/quota/SubscriptionQuotaAdapters.js +2 -1
  40. package/dist/api/ai-gateway/routing/ModelRouter.js +3 -1
  41. package/dist/api/container/common.js +30 -40
  42. package/dist/api/container/index.js +6 -2
  43. package/dist/api/container/routes.js +5 -22
  44. package/dist/api/handlers/AiClientConfigurationHandler.js +39 -1
  45. package/dist/api/handlers/AiGatewayManagementHandler.d.ts +3 -0
  46. package/dist/api/handlers/AiGatewayManagementHandler.js +173 -58
  47. package/dist/api/service/AiClientConfigurationService.d.ts +4 -15
  48. package/dist/api/service/AiClientConfigurationService.js +17 -64
  49. package/dist/cli/commands/start.js +2 -0
  50. package/dist/components/components.jsonld +1 -0
  51. package/dist/components/context.jsonld +80 -0
  52. package/dist/http/InternalPodDataHttpHandler.d.ts +3 -0
  53. package/dist/http/InternalPodDataHttpHandler.js +13 -2
  54. package/dist/http/InternalPodDataHttpHandler.jsonld +12 -0
  55. package/dist/identity/oidc/RememberedClientPromptFactory.d.ts +1 -1
  56. package/dist/identity/oidc/RememberedClientPromptFactory.js +5 -2
  57. package/dist/identity/oidc/RememberedConsentHandler.js +1 -1
  58. package/dist/identity/oidc/ScopedPickWebIdHandler.d.ts +1 -0
  59. package/dist/identity/oidc/ScopedPickWebIdHandler.js +26 -0
  60. package/dist/identity/oidc/ScopedPickWebIdHandler.jsonld +4 -0
  61. package/dist/identity/oidc/SessionBoundIdentityProviderFactory.d.ts +10 -0
  62. package/dist/identity/oidc/SessionBoundIdentityProviderFactory.js +21 -0
  63. package/dist/identity/oidc/SessionBoundIdentityProviderFactory.jsonld +172 -0
  64. package/dist/index.d.ts +2 -1
  65. package/dist/index.js +4 -2
  66. package/dist/runtime/component-parameter-keys.js +18 -2
  67. package/dist/storage/accessors/MixDataAccessor.js +6 -2
  68. package/dist/storage/rdf/PostgresRdfEngine.js +10 -2
  69. package/dist/storage/rdf/RdfContentTypes.js +4 -0
  70. package/node_modules/@undefineds.co/ai-connections/dist/AiClientConfigurationSection.d.ts +3 -0
  71. package/node_modules/@undefineds.co/ai-connections/dist/AiClientConfigurationSection.js +13 -16
  72. package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsList.js +1 -3
  73. package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsMain.d.ts +2 -1
  74. package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsMain.js +2 -2
  75. package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsPanel.d.ts +4 -1
  76. package/node_modules/@undefineds.co/ai-connections/dist/AiConnectionsPanel.js +127 -57
  77. package/node_modules/@undefineds.co/ai-connections/dist/AiCredentialPoolSection.d.ts +6 -4
  78. package/node_modules/@undefineds.co/ai-connections/dist/AiCredentialPoolSection.js +436 -83
  79. package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeysSection.d.ts +3 -2
  80. package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeysSection.js +212 -76
  81. package/node_modules/@undefineds.co/ai-connections/dist/AiProviderCard.d.ts +6 -4
  82. package/node_modules/@undefineds.co/ai-connections/dist/AiProviderCard.js +58 -41
  83. package/node_modules/@undefineds.co/ai-connections/dist/AiQuotaCard.d.ts +4 -1
  84. package/node_modules/@undefineds.co/ai-connections/dist/AiQuotaCard.js +63 -4
  85. package/node_modules/@undefineds.co/ai-connections/dist/ai-connections-client.d.ts +46 -6
  86. package/node_modules/@undefineds.co/ai-connections/dist/ai-connections-client.js +143 -14
  87. package/node_modules/@undefineds.co/ai-connections/dist/client-config/base-adapter.d.ts +19 -3
  88. package/node_modules/@undefineds.co/ai-connections/dist/client-config/base-adapter.js +45 -7
  89. package/node_modules/@undefineds.co/ai-connections/dist/client-config/codex.d.ts +7 -1
  90. package/node_modules/@undefineds.co/ai-connections/dist/client-config/codex.js +305 -40
  91. package/node_modules/@undefineds.co/ai-connections/dist/client-config/index.cjs +383 -50
  92. package/node_modules/@undefineds.co/ai-connections/dist/client-config/json-env-adapter.js +3 -2
  93. package/node_modules/@undefineds.co/ai-connections/dist/client-config/pi.js +12 -3
  94. package/node_modules/@undefineds.co/ai-connections/dist/client-config/transaction.d.ts +2 -0
  95. package/node_modules/@undefineds.co/ai-connections/dist/client-config/transaction.js +39 -4
  96. package/node_modules/@undefineds.co/ai-connections/dist/client-config/types.d.ts +8 -1
  97. package/node_modules/@undefineds.co/ai-connections/dist/client-visuals.d.ts +2 -0
  98. package/node_modules/@undefineds.co/ai-connections/dist/client-visuals.js +14 -0
  99. package/node_modules/@undefineds.co/ai-connections/dist/controller.d.ts +2 -2
  100. package/node_modules/@undefineds.co/ai-connections/dist/controller.js +216 -57
  101. package/node_modules/@undefineds.co/ai-connections/dist/index.d.ts +3 -1
  102. package/node_modules/@undefineds.co/ai-connections/dist/index.js +16 -2
  103. package/node_modules/@undefineds.co/ai-connections/dist/provider-visuals.js +6 -1
  104. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +27 -6
  105. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +1 -1
  106. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +2 -2
  107. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/update-builder.js +12 -1
  108. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/builder.js +1 -1
  109. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/array.js +8 -0
  110. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/default.js +9 -1
  111. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +3 -3
  112. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +27 -6
  113. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +1 -1
  114. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +2 -2
  115. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/update-builder.js +12 -1
  116. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/builder.js +1 -1
  117. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/array.js +8 -0
  118. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/default.js +9 -1
  119. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +3 -3
  120. package/node_modules/@undefineds.co/extension-sdk/dist/web.d.ts +31 -0
  121. package/package.json +2 -2
  122. package/static/app/assets/{index-BikOyGPu.js → index-BCZVzMpj.js} +44 -44
  123. package/static/app/assets/inrupt-smoke.js +2 -2
  124. package/static/app/assets/main.css +1 -1
  125. package/static/app/assets/main.js +10 -10
  126. package/static/auth-callback/assets/{AiConfigContext-DrCH6ckh.js → AiConfigContext-DVkh8Kg2.js} +1 -1
  127. package/static/auth-callback/assets/{AiConfigPage-DVrlSSdA.js → AiConfigPage-HWVWpe-P.js} +1 -1
  128. package/static/auth-callback/assets/{DocumentProcessingPanel-_Md-v2R2.js → DocumentProcessingPanel-DDq-mH17.js} +1 -1
  129. package/static/auth-callback/assets/{IndexLifecyclePanel-BbWwe23H.js → IndexLifecyclePanel-Cx4cjrdP.js} +1 -1
  130. package/static/auth-callback/assets/{IndexSubjectPanel-upH9MjU-.js → IndexSubjectPanel-DzSw8M9j.js} +1 -1
  131. package/static/auth-callback/assets/{ModelAssignmentsPanel-CVGH4t4g.js → ModelAssignmentsPanel-BsRxGc2p.js} +1 -1
  132. package/static/auth-callback/assets/ModelsPage-DEe1lo6Q.js +10 -0
  133. package/static/auth-callback/assets/{NetworkPage-Dcbrb1fd.js → NetworkPage-DBiEh1Oz.js} +1 -1
  134. package/static/auth-callback/assets/{PaneListHeader-DrY-1wBq.js → PaneListHeader-lEEgjyN9.js} +1 -1
  135. package/static/auth-callback/assets/{SearchIndexingPanel-Dw25y53v.js → SearchIndexingPanel-CZCUUGt6.js} +1 -1
  136. package/static/auth-callback/assets/{StatusSubjectPanel-BHlz9rNF.js → StatusSubjectPanel-21qdueMr.js} +1 -1
  137. package/static/auth-callback/assets/{StatusWorkspace-BH7exQP5.js → StatusWorkspace-R8RKsqVz.js} +1 -1
  138. package/static/auth-callback/assets/{SystemSettingsPage-BYLKnM9f.js → SystemSettingsPage-BQ4e-4Wy.js} +1 -1
  139. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-DT34LKku.js → SystemSettingsSubjectPanel-BopXD7SE.js} +1 -1
  140. package/static/auth-callback/assets/{activity-DdULRcSI.js → activity-DSfmTGfY.js} +1 -1
  141. package/static/auth-callback/assets/ai-connections-C03UWyPh.js +1 -0
  142. package/static/auth-callback/assets/{auth-callback-D7l2P25I.js → auth-callback-DleaitAS.js} +91 -91
  143. package/static/auth-callback/assets/auth-callback-vPSC2d2F.css +1 -0
  144. package/static/auth-callback/assets/{badge-j4zjFnmg.js → badge-B0aLu1sl.js} +1 -1
  145. package/static/auth-callback/assets/{download-DGXoks01.js → download-D_bFwdYJ.js} +1 -1
  146. package/static/auth-callback/assets/{external-link-CvbgXXaI.js → external-link-DRfjTaQu.js} +1 -1
  147. package/static/auth-callback/assets/{index-LRWvKJ2i.js → index-CG23cLYQ.js} +1 -1
  148. package/static/auth-callback/assets/{index-BOK3j1dz.js → index-CyV9ejwx.js} +1 -1
  149. package/static/auth-callback/assets/{index-browser-C1Qpe0g4.js → index-browser-D70paxIg.js} +1 -1
  150. package/static/auth-callback/assets/{key-round-CmgS5UdQ.js → key-round-BjV_mVYH.js} +1 -1
  151. package/static/auth-callback/assets/{rotate-ccw-c4CSG6Rq.js → rotate-ccw-CKoOAfse.js} +1 -1
  152. package/static/auth-callback/assets/{skeleton-ZPMTiRSM.js → skeleton-BZNjZaHx.js} +1 -1
  153. package/static/auth-callback/assets/{waypoints-xjyBflU5.js → waypoints-DoaJVzZv.js} +1 -1
  154. package/static/auth-callback/assets/{workspace-layout-B9nj6F5J.js → workspace-layout-CaP46_ZR.js} +1 -1
  155. package/static/auth-callback/auth-callback.html +2 -2
  156. package/static/dashboard/assets/{AiConfigContext-BWOOSYNr.js → AiConfigContext-BSrR27yD.js} +1 -1
  157. package/static/dashboard/assets/{AiConfigPage-CG2kQ9Wy.js → AiConfigPage-D65Z2LET.js} +1 -1
  158. package/static/dashboard/assets/{DocumentProcessingPanel-B4VXajfj.js → DocumentProcessingPanel-DyTe7Nei.js} +1 -1
  159. package/static/dashboard/assets/{IndexLifecyclePanel-CWCy0CC8.js → IndexLifecyclePanel-fK8ZGlrL.js} +1 -1
  160. package/static/dashboard/assets/{IndexSubjectPanel-CSgyQnG_.js → IndexSubjectPanel-CZPGor7v.js} +1 -1
  161. package/static/dashboard/assets/{ModelAssignmentsPanel-CdGIGidT.js → ModelAssignmentsPanel-CfYn5LMQ.js} +1 -1
  162. package/static/dashboard/assets/ModelsPage-djlJsghe.js +25 -0
  163. package/static/dashboard/assets/{NetworkPage-COia9NCH.js → NetworkPage-Coj6GnPl.js} +1 -1
  164. package/static/dashboard/assets/{PaneListHeader-SZWyr602.js → PaneListHeader-CUuFNSsZ.js} +1 -1
  165. package/static/dashboard/assets/{SearchIndexingPanel-D6PZtG6k.js → SearchIndexingPanel-CyJLioXS.js} +1 -1
  166. package/static/dashboard/assets/{StatusSubjectPanel-CxRD4kv0.js → StatusSubjectPanel-Cv26GSVC.js} +1 -1
  167. package/static/dashboard/assets/{StatusWorkspace-D3PfmY9-.js → StatusWorkspace-CDjFrsmB.js} +1 -1
  168. package/static/dashboard/assets/{SystemSettingsPage-COg1MmMj.js → SystemSettingsPage-BuNOyNoa.js} +1 -1
  169. package/static/dashboard/assets/{SystemSettingsSubjectPanel-BSVVB9Ol.js → SystemSettingsSubjectPanel-B2dasdez.js} +1 -1
  170. package/static/dashboard/assets/{activity-BJJx5cN-.js → activity-D1d2j_4Z.js} +1 -1
  171. package/static/dashboard/assets/ai-connections-C03UWyPh.js +1 -0
  172. package/static/dashboard/assets/{badge-elmrFSCj.js → badge-BeAAv6sp.js} +1 -1
  173. package/static/dashboard/assets/{dashboard-IvQrNmru.js → dashboard-BnGrUGv8.js} +68 -68
  174. package/static/dashboard/assets/dashboard-vPSC2d2F.css +1 -0
  175. package/static/dashboard/assets/{download-C3FH2KzG.js → download-DfFGiZRn.js} +1 -1
  176. package/static/dashboard/assets/{external-link-Bx7F0uKb.js → external-link-IsjU_LC9.js} +1 -1
  177. package/static/dashboard/assets/{index-liRoRIP1.js → index-BWQTucPe.js} +1 -1
  178. package/static/dashboard/assets/{index-M4-kWiGz.js → index-Dj75OjnW.js} +1 -1
  179. package/static/dashboard/assets/{key-round-CXg0bKAj.js → key-round-BJ_9wmQ_.js} +1 -1
  180. package/static/dashboard/assets/{rotate-ccw-yxJKOBrX.js → rotate-ccw-D3JGiFbR.js} +1 -1
  181. package/static/dashboard/assets/{skeleton-x9jNGrQT.js → skeleton-CC4nc-z-.js} +1 -1
  182. package/static/dashboard/assets/{waypoints-CTKeRsGp.js → waypoints-h7sqFqiG.js} +1 -1
  183. package/static/dashboard/assets/{workspace-layout--YkgkS38.js → workspace-layout-ZAPTOHhs.js} +1 -1
  184. package/static/dashboard/dashboard.html +2 -2
  185. package/static/settings/assets/{AiConfigContext-CelxXFcQ.js → AiConfigContext-lGkWpvKP.js} +1 -1
  186. package/static/settings/assets/{AiConfigPage-BaP-EovM.js → AiConfigPage-BbZWIBZq.js} +1 -1
  187. package/static/settings/assets/{DocumentProcessingPanel-DzLZluFv.js → DocumentProcessingPanel-DvYdjT-V.js} +1 -1
  188. package/static/settings/assets/{IndexLifecyclePanel-Bzj1-_oI.js → IndexLifecyclePanel-W5OGQZj7.js} +1 -1
  189. package/static/settings/assets/{IndexSubjectPanel-B263QLUh.js → IndexSubjectPanel-g_Aa5soq.js} +1 -1
  190. package/static/settings/assets/{ModelAssignmentsPanel-BAdT4UR0.js → ModelAssignmentsPanel-COlMBKXj.js} +1 -1
  191. package/static/settings/assets/ModelsPage-mApKi-aw.js +10 -0
  192. package/static/settings/assets/{NetworkPage-BK6a7l4g.js → NetworkPage-BDT05JUq.js} +1 -1
  193. package/static/settings/assets/{PaneListHeader-BAS2ICPq.js → PaneListHeader-CByhNpMG.js} +1 -1
  194. package/static/settings/assets/{SearchIndexingPanel-Cb_p-NgW.js → SearchIndexingPanel-BFAyzXls.js} +1 -1
  195. package/static/settings/assets/{StatusSubjectPanel-CcjqUua6.js → StatusSubjectPanel-Bz_XZ3VU.js} +1 -1
  196. package/static/settings/assets/{StatusWorkspace-7Ibty3_k.js → StatusWorkspace-CeVypHcW.js} +1 -1
  197. package/static/settings/assets/{SystemSettingsPage-DPSz4dg4.js → SystemSettingsPage-Dh7cQIfx.js} +1 -1
  198. package/static/settings/assets/{SystemSettingsSubjectPanel-Cb4HkKT5.js → SystemSettingsSubjectPanel-CSnpciO0.js} +1 -1
  199. package/static/settings/assets/{activity-Qhsr5Pxu.js → activity-DXz3EfFN.js} +1 -1
  200. package/static/settings/assets/ai-connections-C03UWyPh.js +1 -0
  201. package/static/settings/assets/{badge-B1vf2qCl.js → badge-1ZA144i4.js} +1 -1
  202. package/static/settings/assets/{download-CYNt0aZ-.js → download-CUHimlYa.js} +1 -1
  203. package/static/settings/assets/{external-link-ClKb39NT.js → external-link-BYHSVj2Z.js} +1 -1
  204. package/static/settings/assets/{index-y8ew3MLM.js → index-DKPDMdW5.js} +1 -1
  205. package/static/settings/assets/{index-browser-DJhvgpNI.js → index-browser-BaEFz0e0.js} +1 -1
  206. package/static/settings/assets/{index-BgiIDSch.js → index-viSgSvbO.js} +1 -1
  207. package/static/settings/assets/{key-round-5d-DrJz-.js → key-round-COByPOg8.js} +1 -1
  208. package/static/settings/assets/{rotate-ccw-CHZY7kS5.js → rotate-ccw-BC2EN6cE.js} +1 -1
  209. package/static/settings/assets/{settings-D5VRWyx6.js → settings-DLH9XUoT.js} +86 -86
  210. package/static/settings/assets/settings-vPSC2d2F.css +1 -0
  211. package/static/settings/assets/{skeleton-FNabNxNE.js → skeleton-B0-FOhKL.js} +1 -1
  212. package/static/settings/assets/{waypoints-BnL_8ljo.js → waypoints-DGMsvqWo.js} +1 -1
  213. package/static/settings/assets/{workspace-layout-D5q3F59S.js → workspace-layout-B0SVrJIu.js} +1 -1
  214. package/static/settings/settings.html +2 -2
  215. package/static/auth-callback/assets/ModelsPage-BpkVFKbf.js +0 -10
  216. package/static/auth-callback/assets/ai-connections-Bm52UO7Y.js +0 -1
  217. package/static/auth-callback/assets/auth-callback-01yz-UDU.css +0 -1
  218. package/static/dashboard/assets/ModelsPage-Chd5UK0D.js +0 -25
  219. package/static/dashboard/assets/ai-connections-Bm52UO7Y.js +0 -1
  220. package/static/dashboard/assets/dashboard-01yz-UDU.css +0 -1
  221. package/static/settings/assets/ModelsPage-C0NFa1zq.js +0 -10
  222. package/static/settings/assets/ai-connections-Bm52UO7Y.js +0 -1
  223. package/static/settings/assets/settings-01yz-UDU.css +0 -1
@@ -2,21 +2,26 @@ import { aiModelResource, aiProviderResource, credentialResource } from '@undefi
2
2
  import type { EncryptedCredentialSecret } from '../credentials/KeyWrapper';
3
3
  import type { CredentialVault, ProviderSecret } from '../credentials/CredentialVault';
4
4
  import type { GatewayDeployment } from '../auth/InvocationTokenCodec';
5
- import { type ProviderRegistry } from '../providers/ProviderRegistry';
5
+ import { type ProviderOfferingEndpointDescriptor, type ProviderRegistry } from '../providers/ProviderRegistry';
6
+ import type { OfferingAuthorizationMethod } from '../providers/OfferingAuthorization';
6
7
  import type { AuthContext } from '../../auth/AuthContext';
7
8
  import type { InternalPodAccessTokenProvider } from '../pod/HostedPodDataAccess';
8
9
  import { type PodBaseUrlResolver } from '../pod/PodBaseUrlResolver';
9
- import type { OAuthIntegration } from './OAuthIntegrationRegistry';
10
+ import type { AuthorizationCodeCallbackReceiver } from './LoopbackAuthorizationCallbackReceiver';
11
+ import type { AuthorizationCodeOAuthIntegration, DeviceCodeOAuthIntegration, OAuthConnectMode } from './DeviceCodeProtocol';
10
12
  import type { LocalSessionImportAdapter } from './OpenAiSubscriptionSessionImportAdapter';
11
13
  export { OAuthConnectCredentialStore } from './OAuthConnectAdapter';
12
- export { OAuthIntegrationRegistry, requireKimiOAuthClientId, type OAuthIntegration } from './OAuthIntegrationRegistry';
14
+ export { OAuthIntegrationRegistry, requireTrustedOAuthIntegration, type AuthorizationCodeOAuthIntegration, type DeviceCodeOAuthIntegration, type DeviceCodeProtocolDescriptor, type OAuthConnectMode, type OAuthIntegration, } from './OAuthIntegrationRegistry';
13
15
  export { OpenAiSubscriptionSessionImportAdapter, type LocalSessionImportAdapter, type LocalSessionImportResult, } from './OpenAiSubscriptionSessionImportAdapter';
14
- export type ConnectMode = 'browserAssistedApiKey' | 'deviceCodeOAuth' | 'connectUnsupported';
15
- export type ConnectAttemptStatus = 'pending' | 'authorization_pending' | 'slow_down' | 'completed' | 'expired' | 'unsupported';
16
+ export { LoopbackAuthorizationCallbackReceiver, type AuthorizationCodeCallbackReceiver, } from './LoopbackAuthorizationCallbackReceiver';
17
+ export type ConnectMode = 'browserAssistedApiKey' | OAuthConnectMode | 'connectUnsupported';
18
+ export type ConnectAttemptStatus = 'pending' | 'authorization_pending' | 'slow_down' | 'completed' | 'expired' | 'denied' | 'cancelled' | 'unsupported';
16
19
  export interface ConnectBeginInput {
17
20
  webId: string;
18
21
  deployment: GatewayDeployment;
19
22
  provider: string;
23
+ offeringId?: string;
24
+ authorizationMethodId?: string;
20
25
  requestedMode: ConnectMode;
21
26
  expectedCredentialVersion?: number;
22
27
  auth?: AuthContext;
@@ -25,6 +30,7 @@ export interface ConnectBeginResult {
25
30
  mode: ConnectMode;
26
31
  status: ConnectAttemptStatus;
27
32
  provider: string;
33
+ offeringId?: string;
28
34
  deployment: GatewayDeployment;
29
35
  attemptId?: string;
30
36
  state?: string;
@@ -49,12 +55,17 @@ export interface OneTimeOAuthCredential {
49
55
  scope?: string;
50
56
  idToken?: string;
51
57
  accountSubject?: string;
58
+ accountLabel?: string;
59
+ accountId?: string;
60
+ offeringId?: string;
61
+ authorizationMethodId?: string;
52
62
  expectedVersion?: number;
53
63
  }
54
64
  export interface CompleteApiKeyInput {
55
65
  webId: string;
56
66
  deployment: GatewayDeployment;
57
67
  provider: string;
68
+ offeringId?: string;
58
69
  attemptId: string;
59
70
  state: string;
60
71
  signature: string;
@@ -67,6 +78,8 @@ export interface PollDeviceInput {
67
78
  webId: string;
68
79
  deployment: GatewayDeployment;
69
80
  provider: string;
81
+ offeringId?: string;
82
+ mode?: OAuthConnectMode;
70
83
  attemptId: string;
71
84
  state: string;
72
85
  signature: string;
@@ -76,6 +89,8 @@ export interface RefreshInput {
76
89
  webId: string;
77
90
  deployment: GatewayDeployment;
78
91
  provider: string;
92
+ offeringId?: string;
93
+ mode?: OAuthConnectMode;
79
94
  credentialId?: string;
80
95
  auth?: AuthContext;
81
96
  }
@@ -83,11 +98,13 @@ export interface CallerOwnedOAuthRefreshInput extends RefreshInput {
83
98
  credentialId: string;
84
99
  refreshToken: string;
85
100
  expectedVersion: number;
101
+ authorizationMethodId?: string;
86
102
  }
87
103
  export interface DisconnectInput {
88
104
  webId: string;
89
105
  deployment: GatewayDeployment;
90
106
  provider: string;
107
+ offeringId?: string;
91
108
  credentialId?: string;
92
109
  auth?: AuthContext;
93
110
  }
@@ -312,6 +329,9 @@ export declare class PodConnectedCredentialRepository implements PodCredentialRe
312
329
  }
313
330
  export interface ProviderConnectAdapter {
314
331
  readonly provider: string;
332
+ readonly offeringId?: string;
333
+ readonly mode?: ConnectMode;
334
+ readonly authorizationMethodId?: string;
315
335
  begin(input: ConnectBeginInput): Promise<ConnectBeginResult>;
316
336
  status?(input: PollDeviceInput): Promise<ConnectBeginResult>;
317
337
  completeApiKey?(input: CompleteApiKeyInput): Promise<ConnectBeginResult>;
@@ -319,6 +339,7 @@ export interface ProviderConnectAdapter {
319
339
  refresh?(input: RefreshInput, current: ConnectCredentialRecord, secret: ProviderSecret): Promise<ConnectCredentialRecord | undefined>;
320
340
  refreshCallerOwned?(input: CallerOwnedOAuthRefreshInput): Promise<ConnectBeginResult>;
321
341
  disconnect?(input: DisconnectInput): Promise<ConnectCredentialRecord | undefined>;
342
+ cancel?(input: PollDeviceInput): Promise<ConnectBeginResult>;
322
343
  }
323
344
  interface ConnectAttempt {
324
345
  id: string;
@@ -326,6 +347,8 @@ interface ConnectAttempt {
326
347
  deployment: GatewayDeployment;
327
348
  webId: string;
328
349
  mode: ConnectMode;
350
+ offeringId?: string;
351
+ authorizationMethodId?: string;
329
352
  state: string;
330
353
  signature: string;
331
354
  expiresAt: Date;
@@ -333,11 +356,13 @@ interface ConnectAttempt {
333
356
  expectedCredentialVersion?: number;
334
357
  codeVerifier?: string;
335
358
  deviceCode?: string;
359
+ userCode?: string;
336
360
  intervalSeconds?: number;
337
361
  currentPollIntervalSeconds?: number;
338
362
  nextPollAt?: Date;
339
363
  pollClaimedAt?: Date;
340
364
  lastPollStatus?: ConnectAttemptStatus;
365
+ terminalStatus?: Extract<ConnectAttemptStatus, 'denied' | 'cancelled' | 'expired'>;
341
366
  }
342
367
  interface PollClaimResult {
343
368
  attempt: ConnectAttempt;
@@ -348,7 +373,7 @@ export declare class InMemoryConnectAttemptStore {
348
373
  private readonly maxAttempts;
349
374
  create(attempt: ConnectAttempt): Promise<ConnectAttempt>;
350
375
  get(id: string, now?: Date): Promise<ConnectAttempt | undefined>;
351
- consume(id: string, now: Date): Promise<ConnectAttempt>;
376
+ consume(id: string, now: Date, terminalStatus?: Extract<ConnectAttemptStatus, 'denied' | 'cancelled' | 'expired'>): Promise<ConnectAttempt>;
352
377
  claimPoll(id: string, now: Date): Promise<PollClaimResult>;
353
378
  updatePollSchedule(id: string, patch: {
354
379
  intervalSeconds: number;
@@ -359,9 +384,8 @@ export declare class InMemoryConnectAttemptStore {
359
384
  private pruneExpired;
360
385
  private pruneBounded;
361
386
  }
362
- export interface BrowserAssistedApiKeyConnectAdapterOptions {
387
+ export interface SignedConnectAttemptAdapterOptions {
363
388
  provider: string;
364
- consoleUrl: string;
365
389
  attempts: InMemoryConnectAttemptStore;
366
390
  credentialRepository: PodCredentialRepository;
367
391
  vault: CredentialVault;
@@ -370,9 +394,8 @@ export interface BrowserAssistedApiKeyConnectAdapterOptions {
370
394
  randomBytes?: (bytes: number) => Buffer;
371
395
  signingSecret: string;
372
396
  }
373
- export declare class BrowserAssistedApiKeyConnectAdapter implements ProviderConnectAdapter {
397
+ declare abstract class SignedConnectAttemptAdapterBase {
374
398
  readonly provider: string;
375
- private readonly consoleUrl;
376
399
  protected readonly attempts: InMemoryConnectAttemptStore;
377
400
  protected readonly credentialRepository: PodCredentialRepository;
378
401
  protected readonly vault: CredentialVault;
@@ -380,39 +403,97 @@ export declare class BrowserAssistedApiKeyConnectAdapter implements ProviderConn
380
403
  protected readonly now: () => Date;
381
404
  protected readonly randomBytes: (bytes: number) => Buffer;
382
405
  private readonly signingSecret;
383
- constructor(options: BrowserAssistedApiKeyConnectAdapterOptions);
384
- begin(input: ConnectBeginInput): Promise<ConnectBeginResult>;
385
- completeApiKey(input: CompleteApiKeyInput): Promise<ConnectBeginResult>;
386
- status(input: PollDeviceInput): Promise<ConnectBeginResult>;
387
- disconnect(input: DisconnectInput): Promise<ConnectCredentialRecord | undefined>;
406
+ protected constructor(options: SignedConnectAttemptAdapterOptions);
388
407
  protected createAttempt(input: ConnectBeginInput, expiresAt: Date, extra?: Partial<ConnectAttempt>): Promise<ConnectAttempt>;
389
408
  protected loadAttemptForStatus(input: PollDeviceInput, mode: ConnectMode): Promise<ConnectAttempt>;
390
409
  protected loadConsumableAttempt(input: PollDeviceInput, mode: ConnectMode): Promise<ConnectAttempt>;
391
410
  protected statusForAttempt(attempt: ConnectAttempt): ConnectAttemptStatus;
392
411
  protected assertInput(input: ConnectBeginInput, mode: ConnectMode): void;
393
412
  }
394
- export interface KimiDeviceCodeConnectAdapterOptions extends Omit<BrowserAssistedApiKeyConnectAdapterOptions, 'provider' | 'consoleUrl'> {
413
+ export interface BrowserAssistedApiKeyConnectAdapterOptions extends SignedConnectAttemptAdapterOptions {
414
+ consoleUrl: string;
415
+ }
416
+ export declare class BrowserAssistedApiKeyConnectAdapter extends SignedConnectAttemptAdapterBase implements ProviderConnectAdapter {
417
+ readonly mode: ConnectMode;
418
+ private readonly consoleUrl;
419
+ constructor(options: BrowserAssistedApiKeyConnectAdapterOptions);
420
+ begin(input: ConnectBeginInput): Promise<ConnectBeginResult>;
421
+ completeApiKey(input: CompleteApiKeyInput): Promise<ConnectBeginResult>;
422
+ status(input: PollDeviceInput): Promise<ConnectBeginResult>;
423
+ disconnect(input: DisconnectInput): Promise<ConnectCredentialRecord | undefined>;
424
+ }
425
+ export interface DeviceCodeConnectAdapterOptions extends Omit<SignedConnectAttemptAdapterOptions, 'provider'> {
395
426
  fetch?: typeof fetch;
396
- oauthIntegration: OAuthIntegration;
397
- deviceAuthorizationEndpoint?: string;
398
- tokenEndpoint?: string;
427
+ integration: DeviceCodeOAuthIntegration;
428
+ requestTimeoutMs?: number;
399
429
  }
400
- export declare class KimiDeviceCodeConnectAdapter extends BrowserAssistedApiKeyConnectAdapter {
430
+ export declare class DeviceCodeConnectAdapter extends SignedConnectAttemptAdapterBase {
431
+ readonly offeringId: string;
432
+ readonly mode: ConnectMode;
433
+ readonly authorizationMethodId = "device-code";
401
434
  private readonly fetchImpl;
435
+ private readonly integration;
402
436
  private readonly clientId;
403
- private readonly deviceAuthorizationEndpoint;
404
- private readonly tokenEndpoint;
437
+ private readonly protocol;
405
438
  private readonly oauthCredentials;
406
- constructor(options: KimiDeviceCodeConnectAdapterOptions);
439
+ private readonly requestTimeoutMs;
440
+ constructor(options: DeviceCodeConnectAdapterOptions);
407
441
  begin(input: ConnectBeginInput): Promise<ConnectBeginResult>;
408
442
  pollDevice(input: PollDeviceInput): Promise<ConnectBeginResult>;
443
+ private pendingPollStatus;
409
444
  status(input: PollDeviceInput): Promise<ConnectBeginResult>;
445
+ cancel(input: PollDeviceInput): Promise<ConnectBeginResult>;
410
446
  refresh(input: RefreshInput, current: ConnectCredentialRecord, secret: ProviderSecret): Promise<ConnectCredentialRecord | undefined>;
411
447
  refreshCallerOwned(input: CallerOwnedOAuthRefreshInput): Promise<ConnectBeginResult>;
412
448
  disconnect(input: DisconnectInput): Promise<ConnectCredentialRecord | undefined>;
413
449
  private nowForConsume;
414
450
  private updateOAuthCredential;
415
451
  private findOAuthCredential;
452
+ private resolveTokenBody;
453
+ private providerRequest;
454
+ private assertOfferingInput;
455
+ private assertAuthorizationMethodInput;
456
+ private assertAttemptOffering;
457
+ private assertStoredOffering;
458
+ private isProviderOAuthCredential;
459
+ }
460
+ export interface AuthorizationCodeConnectAdapterOptions extends Omit<SignedConnectAttemptAdapterOptions, 'provider'> {
461
+ fetch?: typeof fetch;
462
+ integration: AuthorizationCodeOAuthIntegration;
463
+ callbackReceiver: AuthorizationCodeCallbackReceiver;
464
+ requestTimeoutMs?: number;
465
+ }
466
+ export declare class AuthorizationCodeConnectAdapter extends SignedConnectAttemptAdapterBase {
467
+ readonly offeringId: string;
468
+ readonly mode: ConnectMode;
469
+ readonly authorizationMethodId = "browser-oauth";
470
+ private readonly fetchImpl;
471
+ private readonly integration;
472
+ private readonly clientId;
473
+ private readonly callbackReceiver;
474
+ private readonly oauthCredentials;
475
+ private readonly requestTimeoutMs;
476
+ private readonly callbacks;
477
+ constructor(options: AuthorizationCodeConnectAdapterOptions);
478
+ begin(input: ConnectBeginInput): Promise<ConnectBeginResult>;
479
+ pollDevice(input: PollDeviceInput): Promise<ConnectBeginResult>;
480
+ status(input: PollDeviceInput): Promise<ConnectBeginResult>;
481
+ cancel(input: PollDeviceInput): Promise<ConnectBeginResult>;
482
+ refreshCallerOwned(input: CallerOwnedOAuthRefreshInput): Promise<ConnectBeginResult>;
483
+ refresh(input: RefreshInput, current: ConnectCredentialRecord, secret: ProviderSecret): Promise<ConnectCredentialRecord | undefined>;
484
+ disconnect(input: DisconnectInput): Promise<ConnectCredentialRecord | undefined>;
485
+ private authorizationUrl;
486
+ private exchangeAuthorizationCode;
487
+ private updateOAuthCredential;
488
+ private findOAuthCredential;
489
+ private providerRequest;
490
+ private assertOfferingInput;
491
+ private assertAuthorizationMethodInput;
492
+ private assertAttemptOffering;
493
+ private assertStoredOffering;
494
+ private isProviderOAuthCredential;
495
+ private loadAuthorizationAttempt;
496
+ private closeCallback;
416
497
  }
417
498
  export declare class DeepSeekConnectAdapter implements ProviderConnectAdapter {
418
499
  readonly provider = "deepseek";
@@ -479,6 +560,7 @@ export interface AiProviderPoolSummary {
479
560
  kind?: string;
480
561
  lifecycle: 'active' | 'legacy' | 'unavailable';
481
562
  authModes?: string[];
563
+ authorizationMethods?: OfferingAuthorizationMethod[];
482
564
  runtimeProviderIds?: string[];
483
565
  productLabel: string;
484
566
  credentialPrefixHints: string[];
@@ -504,6 +586,12 @@ export interface AiProviderPoolSummary {
504
586
  credentials: AiProviderCredentialSummary[];
505
587
  selectedModels: AiGatewayModelSummary[];
506
588
  }
589
+ export interface ProviderOfferingAuthorizationMethodsSummary {
590
+ provider: string;
591
+ offeringId: string;
592
+ authorizationMethods: OfferingAuthorizationMethod[];
593
+ endpoints?: ProviderOfferingEndpointDescriptor[];
594
+ }
507
595
  export interface ProviderCredentialTestModelsService {
508
596
  list(input: {
509
597
  webId: string;
@@ -520,6 +608,7 @@ export interface ProviderCredentialTestModelsService {
520
608
  }>;
521
609
  }
522
610
  export declare class ProviderConnectService {
611
+ private static readonly localImportLocks;
523
612
  private readonly registry;
524
613
  private readonly credentialRepository?;
525
614
  private readonly vault?;
@@ -527,6 +616,7 @@ export declare class ProviderConnectService {
527
616
  private readonly localSessionImporters;
528
617
  constructor(options: ProviderConnectServiceOptions);
529
618
  begin(input: ConnectBeginInput): Promise<ConnectBeginResult>;
619
+ getAuthorizationMethods(): ProviderOfferingAuthorizationMethodsSummary[];
530
620
  listProviders(input: {
531
621
  webId: string;
532
622
  deployment: GatewayDeployment;
@@ -559,6 +649,8 @@ export declare class ProviderConnectService {
559
649
  priority?: number;
560
650
  auth?: AuthContext;
561
651
  }): Promise<AiProviderCredentialSummary>;
652
+ private importLocalCredential;
653
+ private refreshImportedSecret;
562
654
  updateCredential(input: ProviderCredentialQuery & {
563
655
  credentialId: string;
564
656
  expectedVersion: number;
@@ -595,8 +687,18 @@ export declare class ProviderConnectService {
595
687
  refreshCallerOwned(input: CallerOwnedOAuthRefreshInput): Promise<ConnectBeginResult>;
596
688
  private refreshWithRetry;
597
689
  disconnect(input: DisconnectInput): Promise<ConnectCredentialRecord | undefined>;
690
+ cancel(input: PollDeviceInput): Promise<ConnectBeginResult>;
691
+ private runAttemptOperation;
692
+ private requireOAuthRefreshAdapter;
598
693
  private getRefreshCredential;
599
694
  private requireAdapter;
695
+ private requireAdapterForAttemptStatus;
696
+ private requireAdapterForDisconnect;
697
+ private findAdapter;
698
+ private findAdapterCandidates;
699
+ private requireConnectOffering;
700
+ private offeringSupportsConnectMode;
701
+ private authorizationMethodUnavailableReason;
600
702
  }
601
703
  export interface CustomProviderModel {
602
704
  id: string;