@taico/taico 0.6.0 → 0.8.0

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 (198) hide show
  1. package/README.md +1 -1
  2. package/dist/ai-providers/ai-model-selections.service.js +24 -2
  3. package/dist/ai-providers/ai-model-selections.service.js.map +1 -1
  4. package/dist/ai-providers/ai-provider-authorization-attempt.entity.d.ts +17 -0
  5. package/dist/ai-providers/ai-provider-authorization-attempt.entity.js +90 -0
  6. package/dist/ai-providers/ai-provider-authorization-attempt.entity.js.map +1 -0
  7. package/dist/ai-providers/ai-provider-connection.entity.d.ts +24 -0
  8. package/dist/ai-providers/ai-provider-connection.entity.js +131 -0
  9. package/dist/ai-providers/ai-provider-connection.entity.js.map +1 -0
  10. package/dist/ai-providers/ai-provider-connections.controller.d.ts +15 -0
  11. package/dist/ai-providers/ai-provider-connections.controller.js +167 -0
  12. package/dist/ai-providers/ai-provider-connections.controller.js.map +1 -0
  13. package/dist/ai-providers/ai-provider-models.service.d.ts +5 -2
  14. package/dist/ai-providers/ai-provider-models.service.js +44 -5
  15. package/dist/ai-providers/ai-provider-models.service.js.map +1 -1
  16. package/dist/ai-providers/ai-provider-models.service.spec.d.ts +1 -0
  17. package/dist/ai-providers/ai-provider-models.service.spec.js +110 -0
  18. package/dist/ai-providers/ai-provider-models.service.spec.js.map +1 -0
  19. package/dist/ai-providers/ai-provider.entity.d.ts +1 -0
  20. package/dist/ai-providers/ai-provider.entity.js +5 -0
  21. package/dist/ai-providers/ai-provider.entity.js.map +1 -1
  22. package/dist/ai-providers/ai-providers.controller.d.ts +1 -1
  23. package/dist/ai-providers/ai-providers.controller.js +4 -3
  24. package/dist/ai-providers/ai-providers.controller.js.map +1 -1
  25. package/dist/ai-providers/ai-providers.module.js +30 -4
  26. package/dist/ai-providers/ai-providers.module.js.map +1 -1
  27. package/dist/ai-providers/ai-providers.scopes.d.ts +4 -0
  28. package/dist/ai-providers/ai-providers.scopes.js +4 -0
  29. package/dist/ai-providers/ai-providers.scopes.js.map +1 -1
  30. package/dist/ai-providers/ai-providers.service.d.ts +3 -1
  31. package/dist/ai-providers/ai-providers.service.js +23 -3
  32. package/dist/ai-providers/ai-providers.service.js.map +1 -1
  33. package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.d.ts +50 -0
  34. package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.js +607 -0
  35. package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.js.map +1 -0
  36. package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.d.ts +59 -0
  37. package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.js +247 -0
  38. package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.js.map +1 -0
  39. package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.d.ts +21 -0
  40. package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.js +298 -0
  41. package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.js.map +1 -0
  42. package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.d.ts +1 -0
  43. package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.js +345 -0
  44. package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.js.map +1 -0
  45. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.d.ts +16 -0
  46. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.js +26 -0
  47. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.js.map +1 -0
  48. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.d.ts +12 -0
  49. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.js +55 -0
  50. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.js.map +1 -0
  51. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.d.ts +15 -0
  52. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.js +78 -0
  53. package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.js.map +1 -0
  54. package/dist/ai-providers/dto/http/ai-provider-connection.dto.d.ts +30 -0
  55. package/dist/ai-providers/dto/http/ai-provider-connection.dto.js +182 -0
  56. package/dist/ai-providers/dto/http/ai-provider-connection.dto.js.map +1 -0
  57. package/dist/ai-providers/dto/service/ai-providers.service.types.d.ts +32 -1
  58. package/dist/ai-providers/enums/ai-model-job.enum.d.ts +1 -0
  59. package/dist/ai-providers/enums/ai-model-job.enum.js +5 -1
  60. package/dist/ai-providers/enums/ai-model-job.enum.js.map +1 -1
  61. package/dist/ai-providers/enums/ai-provider-connection-status.enum.d.ts +6 -0
  62. package/dist/ai-providers/enums/ai-provider-connection-status.enum.js +11 -0
  63. package/dist/ai-providers/enums/ai-provider-connection-status.enum.js.map +1 -0
  64. package/dist/ai-providers/enums/ai-provider-type.enum.d.ts +4 -1
  65. package/dist/ai-providers/enums/ai-provider-type.enum.js +9 -1
  66. package/dist/ai-providers/enums/ai-provider-type.enum.js.map +1 -1
  67. package/dist/ai-providers/enums/index.d.ts +1 -0
  68. package/dist/ai-providers/enums/index.js +1 -0
  69. package/dist/ai-providers/enums/index.js.map +1 -1
  70. package/dist/ai-providers/errors/ai-providers.errors.d.ts +33 -0
  71. package/dist/ai-providers/errors/ai-providers.errors.js +66 -1
  72. package/dist/ai-providers/errors/ai-providers.errors.js.map +1 -1
  73. package/dist/ai-providers/google-environment.d.ts +1 -0
  74. package/dist/ai-providers/google-environment.js +4 -0
  75. package/dist/ai-providers/google-environment.js.map +1 -1
  76. package/dist/app.module.js +8 -0
  77. package/dist/app.module.js.map +1 -1
  78. package/dist/config/env.config.d.ts +3 -0
  79. package/dist/config/env.config.js +17 -0
  80. package/dist/config/env.config.js.map +1 -1
  81. package/dist/errors/http/error-catalog.js +48 -0
  82. package/dist/errors/http/error-catalog.js.map +1 -1
  83. package/dist/migrations/1761300000000-ThreadSecret.d.ts +6 -0
  84. package/dist/migrations/1761300000000-ThreadSecret.js +14 -0
  85. package/dist/migrations/1761300000000-ThreadSecret.js.map +1 -0
  86. package/dist/migrations/1761400000000-ThreadReadStates.d.ts +6 -0
  87. package/dist/migrations/1761400000000-ThreadReadStates.js +19 -0
  88. package/dist/migrations/1761400000000-ThreadReadStates.js.map +1 -0
  89. package/dist/migrations/1761500000000-ThreadLastActivity.d.ts +6 -0
  90. package/dist/migrations/1761500000000-ThreadLastActivity.js +19 -0
  91. package/dist/migrations/1761500000000-ThreadLastActivity.js.map +1 -0
  92. package/dist/migrations/1761600000000-AiProviderConnections.d.ts +6 -0
  93. package/dist/migrations/1761600000000-AiProviderConnections.js +61 -0
  94. package/dist/migrations/1761600000000-AiProviderConnections.js.map +1 -0
  95. package/dist/public/assets/index-G5Ht4law.js +118 -0
  96. package/dist/public/assets/index-NjAtMwFI.css +1 -0
  97. package/dist/public/beta/assets/{index-B9fCnAUe.js → index-BO6PlAsO.js} +30 -30
  98. package/dist/public/beta/index.html +1 -1
  99. package/dist/public/index.html +2 -2
  100. package/dist/public/package.json +4 -4
  101. package/dist/search/index/search-embeddings.service.js +2 -0
  102. package/dist/search/index/search-embeddings.service.js.map +1 -1
  103. package/dist/secrets/secret-storage-format.d.ts +5 -0
  104. package/dist/secrets/secret-storage-format.js +101 -0
  105. package/dist/secrets/secret-storage-format.js.map +1 -0
  106. package/dist/secrets/secret-storage-format.spec.d.ts +1 -0
  107. package/dist/secrets/secret-storage-format.spec.js +32 -0
  108. package/dist/secrets/secret-storage-format.spec.js.map +1 -0
  109. package/dist/secrets/secrets-encryption.service.d.ts +1 -0
  110. package/dist/secrets/secrets-encryption.service.js +3 -0
  111. package/dist/secrets/secrets-encryption.service.js.map +1 -1
  112. package/dist/secrets/secrets.module.js +1 -1
  113. package/dist/secrets/secrets.module.js.map +1 -1
  114. package/dist/threads/agent/agent-context.utils.d.ts +3 -0
  115. package/dist/threads/agent/agent-context.utils.js +14 -0
  116. package/dist/threads/agent/agent-context.utils.js.map +1 -1
  117. package/dist/threads/agent/agent-context.utils.spec.js +25 -0
  118. package/dist/threads/agent/agent-context.utils.spec.js.map +1 -1
  119. package/dist/threads/agent/chat-model.factory.d.ts +6 -1
  120. package/dist/threads/agent/chat-model.factory.js +30 -8
  121. package/dist/threads/agent/chat-model.factory.js.map +1 -1
  122. package/dist/threads/agent/chat-model.factory.spec.js +96 -2
  123. package/dist/threads/agent/chat-model.factory.spec.js.map +1 -1
  124. package/dist/threads/agent/hooks/compaction.hook.d.ts +1 -0
  125. package/dist/threads/agent/hooks/compaction.hook.js +33 -8
  126. package/dist/threads/agent/hooks/compaction.hook.js.map +1 -1
  127. package/dist/threads/agent/hooks/easter-egg.hook.js +4 -3
  128. package/dist/threads/agent/hooks/easter-egg.hook.js.map +1 -1
  129. package/dist/threads/agent/hooks/hooks.spec.js +123 -0
  130. package/dist/threads/agent/hooks/hooks.spec.js.map +1 -1
  131. package/dist/threads/agent/hooks/thread-agent-hook.interface.js.map +1 -1
  132. package/dist/threads/agent/hooks/thread-agent-hooks.runner.js +2 -1
  133. package/dist/threads/agent/hooks/thread-agent-hooks.runner.js.map +1 -1
  134. package/dist/threads/agent/thread-agent-log.service.d.ts +3 -0
  135. package/dist/threads/agent/thread-agent-log.service.js +35 -1
  136. package/dist/threads/agent/thread-agent-log.service.js.map +1 -1
  137. package/dist/threads/agent/thread-agent.prompts.d.ts +6 -1
  138. package/dist/threads/agent/thread-agent.prompts.js +34 -7
  139. package/dist/threads/agent/thread-agent.prompts.js.map +1 -1
  140. package/dist/threads/agent/thread-agent.prompts.spec.d.ts +1 -0
  141. package/dist/threads/agent/thread-agent.prompts.spec.js +51 -0
  142. package/dist/threads/agent/thread-agent.prompts.spec.js.map +1 -0
  143. package/dist/threads/agent/thread-agent.service.d.ts +3 -3
  144. package/dist/threads/agent/thread-agent.service.js +11 -16
  145. package/dist/threads/agent/thread-agent.service.js.map +1 -1
  146. package/dist/threads/agent/thread-agent.service.spec.js +41 -9
  147. package/dist/threads/agent/thread-agent.service.spec.js.map +1 -1
  148. package/dist/threads/chat.service.d.ts +3 -0
  149. package/dist/threads/chat.service.js +37 -9
  150. package/dist/threads/chat.service.js.map +1 -1
  151. package/dist/threads/dto/service/threads.service.types.d.ts +9 -0
  152. package/dist/threads/dto/thread-list-item-response.dto.d.ts +2 -0
  153. package/dist/threads/dto/thread-list-item-response.dto.js +16 -0
  154. package/dist/threads/dto/thread-list-item-response.dto.js.map +1 -1
  155. package/dist/threads/dto/thread-token-usage-response.dto.d.ts +8 -0
  156. package/dist/threads/dto/thread-token-usage-response.dto.js +63 -0
  157. package/dist/threads/dto/thread-token-usage-response.dto.js.map +1 -0
  158. package/dist/threads/events/threads.events.d.ts +8 -0
  159. package/dist/threads/events/threads.events.js +8 -1
  160. package/dist/threads/events/threads.events.js.map +1 -1
  161. package/dist/threads/read-state/thread-read-state.entity.d.ts +9 -0
  162. package/dist/threads/read-state/thread-read-state.entity.js +49 -0
  163. package/dist/threads/read-state/thread-read-state.entity.js.map +1 -0
  164. package/dist/threads/read-state/thread-read-state.service.d.ts +14 -0
  165. package/dist/threads/read-state/thread-read-state.service.js +81 -0
  166. package/dist/threads/read-state/thread-read-state.service.js.map +1 -0
  167. package/dist/threads/thread-message-writer.service.d.ts +13 -0
  168. package/dist/threads/thread-message-writer.service.js +48 -0
  169. package/dist/threads/thread-message-writer.service.js.map +1 -0
  170. package/dist/threads/thread-message.entity.js +1 -0
  171. package/dist/threads/thread-message.entity.js.map +1 -1
  172. package/dist/threads/thread-state-reconciler.service.js +5 -0
  173. package/dist/threads/thread-state-reconciler.service.js.map +1 -1
  174. package/dist/threads/thread-state-reconciler.service.spec.d.ts +1 -0
  175. package/dist/threads/thread-state-reconciler.service.spec.js +44 -0
  176. package/dist/threads/thread-state-reconciler.service.spec.js.map +1 -0
  177. package/dist/threads/thread.entity.d.ts +2 -0
  178. package/dist/threads/thread.entity.js +24 -0
  179. package/dist/threads/thread.entity.js.map +1 -1
  180. package/dist/threads/threads-state.service.spec.js +1 -0
  181. package/dist/threads/threads-state.service.spec.js.map +1 -1
  182. package/dist/threads/threads.controller.d.ts +9 -2
  183. package/dist/threads/threads.controller.js +56 -6
  184. package/dist/threads/threads.controller.js.map +1 -1
  185. package/dist/threads/threads.gateway.d.ts +2 -1
  186. package/dist/threads/threads.gateway.js +40 -0
  187. package/dist/threads/threads.gateway.js.map +1 -1
  188. package/dist/threads/threads.module.js +6 -0
  189. package/dist/threads/threads.module.js.map +1 -1
  190. package/dist/threads/threads.service.d.ts +5 -1
  191. package/dist/threads/threads.service.js +19 -14
  192. package/dist/threads/threads.service.js.map +1 -1
  193. package/dist/threads/threads.service.spec.js +1 -0
  194. package/dist/threads/threads.service.spec.js.map +1 -1
  195. package/dist/tsconfig.tsbuildinfo +1 -1
  196. package/package.json +6 -5
  197. package/dist/public/assets/index-Bu8fSAx2.js +0 -117
  198. package/dist/public/assets/index-DOm5BmlC.css +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt-responses.model.spec.js","sourceRoot":"","sources":["../../../src/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.ts"],"names":[],"mappings":";;AAAA,2BAA6E;AAC7E,uEAMmC;AAGnC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,UAAU,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;CAC5D,CAAC,CAAC,CAAC;AAEJ,MAAM,GAAG,GAAG,4BAA4B,CAAC;AAIzC,MAAM,GAAG,GAAG,CAAC,MAAsC,EAAU,EAAE,CAC7D,MAAM;KACH,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACrE;KACA,IAAI,CAAC,EAAE,CAAC,CAAC;AAEd,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;CACtD,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;CAC7E,CAAC;AACF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC;IAC9B;QACE,IAAI,EAAE,4BAA4B;QAClC,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE;KACvC;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE;KACvC;CACF,CAAC;AACF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,eAAe;IACrB,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,wCAAc,CAAC,IAAI;IAC9B,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF,SAAS,OAAO,CAAC,OAAiC;IAChD,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAW,EAAE,IAAiB,EAAE,EAAE;QAC1D,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG;YACH,OAAO,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC;SACtC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE;YACrE,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE;SACjD,CAAC,CAAC;IACL,CAAC,CAA4B,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAA,qDAA2B,EAAC;QACxC,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE;QACnD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACvC,CAAC;AAGD,KAAK,UAAU,GAAG,CAChB,KAA0C,EAC1C,UAAqD,EAAE;IAEvD,IAAI,KAAK,GAAY,IAAI,CAAC;IAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC;QACxB,KAAK;QACL,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;QACxB,GAAG,OAAO;KACyB,CAAC,CAAC;IAGvC,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/B,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,KAAK,GAAG,MAAM,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAC5C,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE;YAC/C,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,GAAG;YACpB,IAAI,EAAE,GAAG;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,iDAAuB,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAAI,OAAO,CAAC,IAAI,CAAC,KAAkC,CAAC,GAAG,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CACpB,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAClC,GAAG,CAAC;gBACF,OAAO;gBACP;oBACE,IAAI,EAAE,4BAA4B;oBAClC,YAAY,EAAE,CAAC;oBACf,IAAI,EAAE,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;iBACzC;gBACD;oBACE,IAAI,EAAE,2BAA2B;oBACjC,YAAY,EAAE,CAAC;oBACf,IAAI,EAAE,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;iBAC/C;gBACD,SAAS;aACV,CAAC;YACF,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAE/D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE;YAC/C,KAAK,EAAE;gBACL,MAAM,EAAE,IAAA,SAAI,EAAC;oBACX,WAAW,EAAE,oBAAoB;oBACjC,WAAW,EAAE,IAAA,eAAU,EAAiB;wBACtC,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wBACtC,QAAQ,EAAE,CAAC,IAAI,CAAC;qBACjB,CAAC;oBACF,OAAO;iBACR,CAAC;aACH;YACD,QAAQ,EAAE,IAAA,gBAAW,EAAC,CAAC,CAAC;SACzB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACrC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,wCAAc,CAAC,IAAI;gBACzB,KAAK,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;aACvE,CAAC;SACH,CAAC,CAAC;QAGH,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAC/B,MAAM,CAAC,eAAe,CAAC;YACrB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,wCAAc,CAAC,IAAI;aAC/B,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,QAAQ;aAClB,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAExC,MAAM,MAAM,CAAC,IAAA,iBAAY,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpE,mBAAmB,CACpB,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAC5C,GAAG,CAAC;gBACF,OAAO;gBACP,GAAG,IAAI,CAAC,SAAS,CAAC;gBAClB;oBACE,IAAI,EAAE,iBAAiB;oBACvB,eAAe,EAAE,CAAC;oBAClB,QAAQ,EAAE;wBACR,KAAK,EAAE;4BACL,IAAI,EAAE,2CAA2C;4BACjD,OAAO,EAAE,OAAO;yBACjB;qBACF;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,EAAE,YAAY,EAAE,2CAA2C,EAAE;SACvE,CAAC,CAAC;QACH,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CACxC,oCAAoC,CACrC,CAAC;QACF,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CACxC,oCAAoC,CACrC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YACxB,GAAG,CAAC;gBACF,OAAO;gBACP,GAAG,IAAI,CAAC,aAAa,CAAC;gBACtB;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,QAAQ,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;iBAClE;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,OAAO,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE;SACjD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAClC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,OAAO,EAAE,EAAE,YAAY,EAAE,gCAAgC,EAAE;SAC5D,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,GAAG,EAAE,2CAA2C,CAAC;QAClD,CAAC,GAAG,EAAE,wCAAwC,CAAC;QAC/C,CAAC,GAAG,EAAE,wCAAwC,CAAC;QAC/C,CAAC,GAAG,EAAE,6CAA6C,CAAC;KACrD,CAAC,CAAC,2CAA2C,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QACrE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;YAC5C,IAAI,QAAQ,CACV,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAClE;gBACE,MAAM;gBACN,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,cAAc,EAAE,OAAO;iBACxB;aACF,CACF;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI;gBAClB,MAAM;gBACN,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,OAAO;aACf;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,SAAS,GAAG,IAAA,+CAAqB,EAAC;YACtC,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,KAAK;YACb,oBAAoB,EAAE,QAAQ;YAC9B,YAAY,EAAE,QAAQ;YACtB,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;gBACvD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACxB,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE;gBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,IAAI,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAa;YAC5C,KAAK,CAAC,UAAU;gBACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,CAAC;gBACD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM;aAClB,WAAW,CACV,IAAA,kDAAwB,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC9D;aACA,SAAS,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,CACV,IAAI,CAAC;YACH,GAAG,CAAC;gBACF,OAAO;gBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;aACzD,CAAC;SACH,CAAC,CACH,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ export type ChatgptSubscriptionEndpoints = {
2
+ authorizeUrl: string;
3
+ tokenUrl: string;
4
+ discoveryUrl: string;
5
+ apiBaseUrl: string;
6
+ };
7
+ export declare const CHATGPT_SUBSCRIPTION_ENDPOINTS: unique symbol;
8
+ export declare const DEFAULT_CHATGPT_SUBSCRIPTION_ENDPOINTS: ChatgptSubscriptionEndpoints;
9
+ export declare const REGISTRATION_CLIENT_ID = "dynamic_agent_client";
10
+ export declare const AGENT_NAME_HINT = "Taico";
11
+ export declare const PLAN_USAGE_SCOPE = "chatgpt.tokens.use.direct";
12
+ export declare const AUTHORIZATION_SCOPES: string;
13
+ export declare const REDIRECT_HOST = "127.0.0.1";
14
+ export declare const REDIRECT_PATH = "/auth/callback";
15
+ export declare const MANAGE_USAGE_URL = "https://chatgpt.com/settings/usage";
16
+ export declare const AUTHORIZATION_ATTEMPT_TTL_MS: number;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AUTHORIZATION_ATTEMPT_TTL_MS = exports.MANAGE_USAGE_URL = exports.REDIRECT_PATH = exports.REDIRECT_HOST = exports.AUTHORIZATION_SCOPES = exports.PLAN_USAGE_SCOPE = exports.AGENT_NAME_HINT = exports.REGISTRATION_CLIENT_ID = exports.DEFAULT_CHATGPT_SUBSCRIPTION_ENDPOINTS = exports.CHATGPT_SUBSCRIPTION_ENDPOINTS = void 0;
4
+ exports.CHATGPT_SUBSCRIPTION_ENDPOINTS = Symbol('CHATGPT_SUBSCRIPTION_ENDPOINTS');
5
+ exports.DEFAULT_CHATGPT_SUBSCRIPTION_ENDPOINTS = {
6
+ authorizeUrl: 'https://auth.openai.com/api/accounts/authorize',
7
+ tokenUrl: 'https://auth.openai.com/api/accounts/oauth/token',
8
+ discoveryUrl: 'https://auth.openai.com/.well-known/openid-configuration',
9
+ apiBaseUrl: 'https://api.openai.com/v1',
10
+ };
11
+ exports.REGISTRATION_CLIENT_ID = 'dynamic_agent_client';
12
+ exports.AGENT_NAME_HINT = 'Taico';
13
+ exports.PLAN_USAGE_SCOPE = 'chatgpt.tokens.use.direct';
14
+ exports.AUTHORIZATION_SCOPES = [
15
+ 'openid',
16
+ 'profile',
17
+ 'email',
18
+ 'offline_access',
19
+ 'resource.invoke',
20
+ exports.PLAN_USAGE_SCOPE,
21
+ ].join(' ');
22
+ exports.REDIRECT_HOST = '127.0.0.1';
23
+ exports.REDIRECT_PATH = '/auth/callback';
24
+ exports.MANAGE_USAGE_URL = 'https://chatgpt.com/settings/usage';
25
+ exports.AUTHORIZATION_ATTEMPT_TTL_MS = 10 * 60 * 1000;
26
+ //# sourceMappingURL=chatgpt-subscription.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt-subscription.constants.js","sourceRoot":"","sources":["../../../src/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.ts"],"names":[],"mappings":";;;AAaa,QAAA,8BAA8B,GAAG,MAAM,CAClD,gCAAgC,CACjC,CAAC;AAEW,QAAA,sCAAsC,GACjD;IACE,YAAY,EAAE,gDAAgD;IAC9D,QAAQ,EAAE,kDAAkD;IAC5D,YAAY,EAAE,0DAA0D;IACxE,UAAU,EAAE,2BAA2B;CACxC,CAAC;AAGS,QAAA,sBAAsB,GAAG,sBAAsB,CAAC;AAGhD,QAAA,eAAe,GAAG,OAAO,CAAC;AAG1B,QAAA,gBAAgB,GAAG,2BAA2B,CAAC;AAE/C,QAAA,oBAAoB,GAAG;IAClC,QAAQ;IACR,SAAS;IACT,OAAO;IACP,gBAAgB;IAChB,iBAAiB;IACjB,wBAAgB;CACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAYC,QAAA,aAAa,GAAG,WAAW,CAAC;AAC5B,QAAA,aAAa,GAAG,gBAAgB,CAAC;AAGjC,QAAA,gBAAgB,GAAG,oCAAoC,CAAC;AAExD,QAAA,4BAA4B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AiProviderRequestFailedError } from '../errors/ai-providers.errors';
2
+ export type UpstreamFailure = {
3
+ code: string | null;
4
+ message: string | null;
5
+ status?: number | null;
6
+ param?: string | null;
7
+ requestId?: string | null;
8
+ };
9
+ export declare const STREAM_INCOMPLETE = "response_incomplete";
10
+ export declare const STREAM_ENDED_EARLY = "stream_ended_before_completion";
11
+ export declare const STREAM_FAILED = "response_failed";
12
+ export declare function chatgptRequestFailed(failure: UpstreamFailure): AiProviderRequestFailedError;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STREAM_FAILED = exports.STREAM_ENDED_EARLY = exports.STREAM_INCOMPLETE = void 0;
4
+ exports.chatgptRequestFailed = chatgptRequestFailed;
5
+ const ai_providers_errors_1 = require("../errors/ai-providers.errors");
6
+ const chatgpt_subscription_constants_1 = require("./chatgpt-subscription.constants");
7
+ exports.STREAM_INCOMPLETE = 'response_incomplete';
8
+ exports.STREAM_ENDED_EARLY = 'stream_ended_before_completion';
9
+ exports.STREAM_FAILED = 'response_failed';
10
+ const NOT_SWITCHED = 'Taico did not switch to another provider.';
11
+ function describe(failure) {
12
+ switch (failure.code) {
13
+ case 'subscription_sharing_usage_limit_exceeded':
14
+ return `You have reached the usage limit of your ChatGPT plan. See your usage at ${chatgpt_subscription_constants_1.MANAGE_USAGE_URL}.`;
15
+ case 'subscription_sharing_usage_unavailable':
16
+ case 'subscription_sharing_user_unavailable':
17
+ return 'ChatGPT plan usage is temporarily unavailable. Your connection was kept; try again later.';
18
+ case 'subscription_sharing_user_not_eligible':
19
+ return 'This ChatGPT account is not eligible to use its plan in other apps.';
20
+ case 'subscription_sharing_unsupported_capability':
21
+ return `The ChatGPT plan does not support something in this request${failure.param ? ` (${failure.param})` : ''}. The request was not sent again.`;
22
+ case 'subscription_sharing_route_not_supported':
23
+ return 'The ChatGPT plan cannot be used for this kind of request.';
24
+ case 'subscription_sharing_invalid_user':
25
+ return 'OpenAI did not accept the connected ChatGPT account for this request.';
26
+ case 'chatpass_v2_scope_not_authorized':
27
+ case 'chatpass_v2_invalid_authorization_context':
28
+ return 'The ChatGPT connection does not allow this request. Disconnect and connect again in Settings → AI models.';
29
+ case exports.STREAM_INCOMPLETE:
30
+ return `The ChatGPT plan stopped before finishing the answer${failure.message ? ` (${failure.message})` : ''}.`;
31
+ case exports.STREAM_ENDED_EARLY:
32
+ return 'The connection to OpenAI closed before the answer was complete.';
33
+ }
34
+ switch (failure.status) {
35
+ case 401:
36
+ return 'OpenAI did not accept the ChatGPT sign-in for this request.';
37
+ case 403:
38
+ return 'OpenAI refused this request for the connected ChatGPT account. It may not be available in your region or under your plan.';
39
+ case 503:
40
+ return 'ChatGPT plan usage is temporarily unavailable. Try again later.';
41
+ }
42
+ return failure.message
43
+ ? `The ChatGPT plan request failed: ${failure.message}`
44
+ : 'The ChatGPT plan request failed.';
45
+ }
46
+ function chatgptRequestFailed(failure) {
47
+ return new ai_providers_errors_1.AiProviderRequestFailedError(`${describe(failure)} ${NOT_SWITCHED}`, {
48
+ upstreamCode: failure.code ?? (failure.status ? `http_${failure.status}` : 'unknown'),
49
+ upstreamMessage: failure.message,
50
+ status: failure.status ?? null,
51
+ param: failure.param ?? null,
52
+ requestId: failure.requestId ?? null,
53
+ });
54
+ }
55
+ //# sourceMappingURL=chatgpt-subscription.errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt-subscription.errors.js","sourceRoot":"","sources":["../../../src/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.ts"],"names":[],"mappings":";;;AAiEA,oDAcC;AA/ED,uEAA6E;AAC7E,qFAAoE;AAYvD,QAAA,iBAAiB,GAAG,qBAAqB,CAAC;AAC1C,QAAA,kBAAkB,GAAG,gCAAgC,CAAC;AACtD,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAE/C,MAAM,YAAY,GAAG,2CAA2C,CAAC;AAMjE,SAAS,QAAQ,CAAC,OAAwB;IACxC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,2CAA2C;YAC9C,OAAO,4EAA4E,iDAAgB,GAAG,CAAC;QACzG,KAAK,wCAAwC,CAAC;QAC9C,KAAK,uCAAuC;YAC1C,OAAO,2FAA2F,CAAC;QACrG,KAAK,wCAAwC;YAC3C,OAAO,qEAAqE,CAAC;QAC/E,KAAK,6CAA6C;YAChD,OAAO,8DACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAC1C,mCAAmC,CAAC;QACtC,KAAK,0CAA0C;YAC7C,OAAO,2DAA2D,CAAC;QACrE,KAAK,mCAAmC;YACtC,OAAO,uEAAuE,CAAC;QACjF,KAAK,kCAAkC,CAAC;QACxC,KAAK,2CAA2C;YAC9C,OAAO,2GAA2G,CAAC;QACrH,KAAK,yBAAiB;YACpB,OAAO,uDACL,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAC9C,GAAG,CAAC;QACN,KAAK,0BAAkB;YACrB,OAAO,iEAAiE,CAAC;IAC7E,CAAC;IAED,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,6DAA6D,CAAC;QACvE,KAAK,GAAG;YACN,OAAO,2HAA2H,CAAC;QACrI,KAAK,GAAG;YACN,OAAO,iEAAiE,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,CAAC,OAAO;QACpB,CAAC,CAAC,oCAAoC,OAAO,CAAC,OAAO,EAAE;QACvD,CAAC,CAAC,kCAAkC,CAAC;AACzC,CAAC;AAED,SAAgB,oBAAoB,CAClC,OAAwB;IAExB,OAAO,IAAI,kDAA4B,CACrC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,EACtC;QACE,YAAY,EACV,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,eAAe,EAAE,OAAO,CAAC,OAAO;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;KACrC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { LanguageModel } from 'ai';
2
+ import { AiProviderModelResult, OnBehalfOf } from '../dto/service/ai-providers.service.types';
3
+ import { ChatgptConnectionsService } from './chatgpt-connections.service';
4
+ import type { ChatgptSubscriptionEndpoints } from './chatgpt-subscription.constants';
5
+ export declare class ChatgptSubscriptionService {
6
+ private readonly connections;
7
+ private readonly endpoints;
8
+ constructor(connections: ChatgptConnectionsService, endpoints: ChatgptSubscriptionEndpoints);
9
+ modelForTurn(input: {
10
+ providerId: string;
11
+ modelId: string;
12
+ onBehalfOf: OnBehalfOf;
13
+ }): Promise<LanguageModel>;
14
+ listModels(providerId: string, actorId: string): Promise<AiProviderModelResult[]>;
15
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ChatgptSubscriptionService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const enums_1 = require("../enums");
18
+ const chatgpt_connections_service_1 = require("./chatgpt-connections.service");
19
+ const chatgpt_responses_model_1 = require("./chatgpt-responses.model");
20
+ const chatgpt_subscription_errors_1 = require("./chatgpt-subscription.errors");
21
+ const chatgpt_subscription_constants_1 = require("./chatgpt-subscription.constants");
22
+ const REQUEST_TIMEOUT_MS = 10_000;
23
+ let ChatgptSubscriptionService = class ChatgptSubscriptionService {
24
+ connections;
25
+ endpoints;
26
+ constructor(connections, endpoints) {
27
+ this.connections = connections;
28
+ this.endpoints = endpoints;
29
+ }
30
+ async modelForTurn(input) {
31
+ const { connectionId } = await this.connections.authorizeTurn(input.providerId, input.onBehalfOf);
32
+ return (0, chatgpt_responses_model_1.createChatgptResponsesModel)({
33
+ modelId: input.modelId,
34
+ apiBaseUrl: this.endpoints.apiBaseUrl,
35
+ getAccessToken: () => this.connections.getAccessToken(connectionId),
36
+ onOutcome: (upstreamCode) => {
37
+ void this.connections.recordOutcome(connectionId, upstreamCode);
38
+ },
39
+ });
40
+ }
41
+ async listModels(providerId, actorId) {
42
+ const { connectionId } = await this.connections.requireOwnConnection(providerId, actorId);
43
+ const accessToken = await this.connections.getAccessToken(connectionId);
44
+ const response = await fetch(`${this.endpoints.apiBaseUrl.replace(/\/+$/, '')}/models`, {
45
+ headers: {
46
+ authorization: `Bearer ${accessToken}`,
47
+ accept: 'application/json',
48
+ },
49
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
50
+ });
51
+ if (!response.ok) {
52
+ const body = (await response.json().catch(() => ({})));
53
+ throw (0, chatgpt_subscription_errors_1.chatgptRequestFailed)({
54
+ code: typeof body.error?.code === 'string' ? body.error.code : null,
55
+ message: typeof body.error?.message === 'string' ? body.error.message : null,
56
+ status: response.status,
57
+ requestId: response.headers.get('x-request-id'),
58
+ });
59
+ }
60
+ const catalog = (await response.json());
61
+ return (catalog.models ?? [])
62
+ .filter((model) => model.visibility === 'list' &&
63
+ typeof model.slug === 'string' &&
64
+ !!model.slug)
65
+ .map((model) => ({
66
+ id: model.slug,
67
+ displayName: typeof model.display_name === 'string' ? model.display_name : null,
68
+ kind: enums_1.AiModelKind.LANGUAGE,
69
+ }));
70
+ }
71
+ };
72
+ exports.ChatgptSubscriptionService = ChatgptSubscriptionService;
73
+ exports.ChatgptSubscriptionService = ChatgptSubscriptionService = __decorate([
74
+ (0, common_1.Injectable)(),
75
+ __param(1, (0, common_1.Inject)(chatgpt_subscription_constants_1.CHATGPT_SUBSCRIPTION_ENDPOINTS)),
76
+ __metadata("design:paramtypes", [chatgpt_connections_service_1.ChatgptConnectionsService, Object])
77
+ ], ChatgptSubscriptionService);
78
+ //# sourceMappingURL=chatgpt-subscription.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt-subscription.service.js","sourceRoot":"","sources":["../../../src/ai-providers/chatgpt-subscription/chatgpt-subscription.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAMpD,oCAAuC;AACvC,+EAA0E;AAC1E,uEAAwE;AACxE,+EAAqE;AACrE,qFAAkF;AAGlF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAQ3B,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAElB;IAEA;IAHnB,YACmB,WAAsC,EAEtC,SAAuC;QAFvC,gBAAW,GAAX,WAAW,CAA2B;QAEtC,cAAS,GAAT,SAAS,CAA8B;IACvD,CAAC;IAMJ,KAAK,CAAC,YAAY,CAAC,KAIlB;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAC3D,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU,CACjB,CAAC;QAEF,OAAO,IAAA,qDAA2B,EAAC;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YACrC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC;YACnE,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;gBAC1B,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAClE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAOD,KAAK,CAAC,UAAU,CACd,UAAkB,EAClB,OAAe;QAEf,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAClE,UAAU,EACV,OAAO,CACR,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,EACzD;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,MAAM,EAAE,kBAAkB;aAC3B;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChD,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEpD,CAAC;YACF,MAAM,IAAA,kDAAoB,EAAC;gBACzB,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACnE,OAAO,EACL,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACrE,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;aAC1B,MAAM,CACL,CACE,KAAK,EAKL,EAAE,CACF,KAAK,CAAC,UAAU,KAAK,MAAM;YAC3B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC9B,CAAC,CAAC,KAAK,CAAC,IAAI,CACf;aACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,EAAE,EAAE,KAAK,CAAC,IAAI;YACd,WAAW,EACT,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YACpE,IAAI,EAAE,mBAAW,CAAC,QAAQ;SAC3B,CAAC,CAAC,CAAC;IACR,CAAC;CACF,CAAA;AA1FY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,+DAA8B,CAAC,CAAA;qCADT,uDAAyB;GAF9C,0BAA0B,CA0FtC"}
@@ -0,0 +1,30 @@
1
+ import { AiProviderConnectionStatus } from '../../enums';
2
+ export declare class AiProviderConnectionResponseDto {
3
+ aiProviderId: string;
4
+ status: AiProviderConnectionStatus;
5
+ accountEmail: string | null;
6
+ canUsePlan: boolean;
7
+ automatedTurnsAllowed: boolean;
8
+ isAuthorizationPending: boolean;
9
+ lastErrorCode: string | null;
10
+ lastErrorAt: string | null;
11
+ manageUsageUrl: string;
12
+ }
13
+ export declare class StartAiProviderAuthorizationResponseDto {
14
+ authorizationUrl: string;
15
+ expiresAt: string;
16
+ }
17
+ export declare class CompleteAiProviderAuthorizationDto {
18
+ callbackUrl?: string;
19
+ state?: string;
20
+ code?: string;
21
+ clientId?: string;
22
+ error?: string;
23
+ errorDescription?: string;
24
+ }
25
+ export declare class UpdateAiProviderConnectionDto {
26
+ automatedTurnsAllowed: boolean;
27
+ }
28
+ export declare class DisconnectAiProviderResponseDto {
29
+ revokedAtProvider: boolean;
30
+ }
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DisconnectAiProviderResponseDto = exports.UpdateAiProviderConnectionDto = exports.CompleteAiProviderAuthorizationDto = exports.StartAiProviderAuthorizationResponseDto = exports.AiProviderConnectionResponseDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const enums_1 = require("../../enums");
16
+ class AiProviderConnectionResponseDto {
17
+ aiProviderId;
18
+ status;
19
+ accountEmail;
20
+ canUsePlan;
21
+ automatedTurnsAllowed;
22
+ isAuthorizationPending;
23
+ lastErrorCode;
24
+ lastErrorAt;
25
+ manageUsageUrl;
26
+ }
27
+ exports.AiProviderConnectionResponseDto = AiProviderConnectionResponseDto;
28
+ __decorate([
29
+ (0, swagger_1.ApiProperty)({ description: 'AI provider identifier' }),
30
+ __metadata("design:type", String)
31
+ ], AiProviderConnectionResponseDto.prototype, "aiProviderId", void 0);
32
+ __decorate([
33
+ (0, swagger_1.ApiProperty)({
34
+ description: 'State of your own connection to the provider',
35
+ enum: enums_1.AiProviderConnectionStatus,
36
+ example: enums_1.AiProviderConnectionStatus.CONNECTED,
37
+ }),
38
+ __metadata("design:type", String)
39
+ ], AiProviderConnectionResponseDto.prototype, "status", void 0);
40
+ __decorate([
41
+ (0, swagger_1.ApiPropertyOptional)({
42
+ type: String,
43
+ description: 'Email of the connected account',
44
+ nullable: true,
45
+ }),
46
+ __metadata("design:type", Object)
47
+ ], AiProviderConnectionResponseDto.prototype, "accountEmail", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiProperty)({
50
+ description: 'Whether requests can run on your plan right now',
51
+ }),
52
+ __metadata("design:type", Boolean)
53
+ ], AiProviderConnectionResponseDto.prototype, "canUsePlan", void 0);
54
+ __decorate([
55
+ (0, swagger_1.ApiProperty)({
56
+ description: 'Whether turns nobody typed (task updates) may run on your plan',
57
+ }),
58
+ __metadata("design:type", Boolean)
59
+ ], AiProviderConnectionResponseDto.prototype, "automatedTurnsAllowed", void 0);
60
+ __decorate([
61
+ (0, swagger_1.ApiProperty)({
62
+ description: 'Whether a sign-in was started and not finished',
63
+ }),
64
+ __metadata("design:type", Boolean)
65
+ ], AiProviderConnectionResponseDto.prototype, "isAuthorizationPending", void 0);
66
+ __decorate([
67
+ (0, swagger_1.ApiPropertyOptional)({
68
+ type: String,
69
+ description: "The provider's code for the last failed request, cleared by the next success",
70
+ example: 'subscription_sharing_usage_limit_exceeded',
71
+ nullable: true,
72
+ }),
73
+ __metadata("design:type", Object)
74
+ ], AiProviderConnectionResponseDto.prototype, "lastErrorCode", void 0);
75
+ __decorate([
76
+ (0, swagger_1.ApiPropertyOptional)({
77
+ type: String,
78
+ description: 'ISO timestamp of the last failed request',
79
+ nullable: true,
80
+ }),
81
+ __metadata("design:type", Object)
82
+ ], AiProviderConnectionResponseDto.prototype, "lastErrorAt", void 0);
83
+ __decorate([
84
+ (0, swagger_1.ApiProperty)({ description: 'Where you see and manage your plan usage' }),
85
+ __metadata("design:type", String)
86
+ ], AiProviderConnectionResponseDto.prototype, "manageUsageUrl", void 0);
87
+ class StartAiProviderAuthorizationResponseDto {
88
+ authorizationUrl;
89
+ expiresAt;
90
+ }
91
+ exports.StartAiProviderAuthorizationResponseDto = StartAiProviderAuthorizationResponseDto;
92
+ __decorate([
93
+ (0, swagger_1.ApiProperty)({
94
+ description: 'Address to open in the browser to sign in at the provider',
95
+ }),
96
+ __metadata("design:type", String)
97
+ ], StartAiProviderAuthorizationResponseDto.prototype, "authorizationUrl", void 0);
98
+ __decorate([
99
+ (0, swagger_1.ApiProperty)({
100
+ description: 'ISO timestamp after which this sign-in can no longer be finished',
101
+ }),
102
+ __metadata("design:type", String)
103
+ ], StartAiProviderAuthorizationResponseDto.prototype, "expiresAt", void 0);
104
+ class CompleteAiProviderAuthorizationDto {
105
+ callbackUrl;
106
+ state;
107
+ code;
108
+ clientId;
109
+ error;
110
+ errorDescription;
111
+ }
112
+ exports.CompleteAiProviderAuthorizationDto = CompleteAiProviderAuthorizationDto;
113
+ __decorate([
114
+ (0, swagger_1.ApiPropertyOptional)({
115
+ description: 'The full address the browser was sent back to, pasted as is',
116
+ example: 'http://127.0.0.1:1456/auth/callback?code=...&state=...',
117
+ }),
118
+ (0, class_validator_1.IsOptional)(),
119
+ (0, class_validator_1.IsString)(),
120
+ (0, class_validator_1.MaxLength)(8192),
121
+ __metadata("design:type", String)
122
+ ], CompleteAiProviderAuthorizationDto.prototype, "callbackUrl", void 0);
123
+ __decorate([
124
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The `state` query parameter' }),
125
+ (0, class_validator_1.IsOptional)(),
126
+ (0, class_validator_1.IsString)(),
127
+ (0, class_validator_1.IsNotEmpty)(),
128
+ (0, class_validator_1.MaxLength)(512),
129
+ __metadata("design:type", String)
130
+ ], CompleteAiProviderAuthorizationDto.prototype, "state", void 0);
131
+ __decorate([
132
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The `code` query parameter' }),
133
+ (0, class_validator_1.IsOptional)(),
134
+ (0, class_validator_1.IsString)(),
135
+ (0, class_validator_1.MaxLength)(4096),
136
+ __metadata("design:type", String)
137
+ ], CompleteAiProviderAuthorizationDto.prototype, "code", void 0);
138
+ __decorate([
139
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The `client_id` query parameter' }),
140
+ (0, class_validator_1.IsOptional)(),
141
+ (0, class_validator_1.IsString)(),
142
+ (0, class_validator_1.MaxLength)(512),
143
+ __metadata("design:type", String)
144
+ ], CompleteAiProviderAuthorizationDto.prototype, "clientId", void 0);
145
+ __decorate([
146
+ (0, swagger_1.ApiPropertyOptional)({ description: 'The `error` query parameter' }),
147
+ (0, class_validator_1.IsOptional)(),
148
+ (0, class_validator_1.IsString)(),
149
+ (0, class_validator_1.MaxLength)(512),
150
+ __metadata("design:type", String)
151
+ ], CompleteAiProviderAuthorizationDto.prototype, "error", void 0);
152
+ __decorate([
153
+ (0, swagger_1.ApiPropertyOptional)({
154
+ description: 'The `error_description` query parameter',
155
+ }),
156
+ (0, class_validator_1.IsOptional)(),
157
+ (0, class_validator_1.IsString)(),
158
+ (0, class_validator_1.MaxLength)(2048),
159
+ __metadata("design:type", String)
160
+ ], CompleteAiProviderAuthorizationDto.prototype, "errorDescription", void 0);
161
+ class UpdateAiProviderConnectionDto {
162
+ automatedTurnsAllowed;
163
+ }
164
+ exports.UpdateAiProviderConnectionDto = UpdateAiProviderConnectionDto;
165
+ __decorate([
166
+ (0, swagger_1.ApiProperty)({
167
+ description: 'Allow turns nobody typed (task updates in threads you subscribed to) to run on your plan',
168
+ }),
169
+ (0, class_validator_1.IsBoolean)(),
170
+ __metadata("design:type", Boolean)
171
+ ], UpdateAiProviderConnectionDto.prototype, "automatedTurnsAllowed", void 0);
172
+ class DisconnectAiProviderResponseDto {
173
+ revokedAtProvider;
174
+ }
175
+ exports.DisconnectAiProviderResponseDto = DisconnectAiProviderResponseDto;
176
+ __decorate([
177
+ (0, swagger_1.ApiProperty)({
178
+ description: 'False when the provider could not be told. The tokens stored in Taico are removed either way.',
179
+ }),
180
+ __metadata("design:type", Boolean)
181
+ ], DisconnectAiProviderResponseDto.prototype, "revokedAtProvider", void 0);
182
+ //# sourceMappingURL=ai-provider-connection.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-provider-connection.dto.js","sourceRoot":"","sources":["../../../../src/ai-providers/dto/http/ai-provider-connection.dto.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AiModelJob, AiModelKind, AiProviderType } from '../../enums';
1
+ import { AiModelJob, AiModelKind, AiProviderConnectionStatus, AiProviderType } from '../../enums';
2
2
  export type CreateAiProviderInput = {
3
3
  name: string;
4
4
  type: AiProviderType;
@@ -60,3 +60,34 @@ export type ResolvedAiModelSelection = {
60
60
  provider: AiProviderConfigResult;
61
61
  modelId: string;
62
62
  };
63
+ export type OnBehalfOf = {
64
+ actorId: string;
65
+ automated: boolean;
66
+ description?: string;
67
+ };
68
+ export type AiProviderConnectionResult = {
69
+ aiProviderId: string;
70
+ status: AiProviderConnectionStatus;
71
+ accountEmail: string | null;
72
+ canUsePlan: boolean;
73
+ automatedTurnsAllowed: boolean;
74
+ isAuthorizationPending: boolean;
75
+ lastErrorCode: string | null;
76
+ lastErrorAt: Date | null;
77
+ manageUsageUrl: string;
78
+ };
79
+ export type StartAiProviderAuthorizationResult = {
80
+ authorizationUrl: string;
81
+ expiresAt: Date;
82
+ };
83
+ export type CompleteAiProviderAuthorizationInput = {
84
+ state: string;
85
+ redirectAddress?: string | null;
86
+ code?: string | null;
87
+ clientId?: string | null;
88
+ error?: string | null;
89
+ errorDescription?: string | null;
90
+ };
91
+ export type DisconnectAiProviderResult = {
92
+ revokedAtProvider: boolean;
93
+ };
@@ -5,3 +5,4 @@ export declare enum AiModelJob {
5
5
  EMBEDDINGS = "embeddings"
6
6
  }
7
7
  export declare const JOBS_FOLLOWING_CONVERSATION: readonly AiModelJob[];
8
+ export declare const USER_CONNECTED_PROVIDER_JOBS: readonly AiModelJob[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JOBS_FOLLOWING_CONVERSATION = exports.AiModelJob = void 0;
3
+ exports.USER_CONNECTED_PROVIDER_JOBS = exports.JOBS_FOLLOWING_CONVERSATION = exports.AiModelJob = void 0;
4
4
  var AiModelJob;
5
5
  (function (AiModelJob) {
6
6
  AiModelJob["CONVERSATION"] = "conversation";
@@ -12,4 +12,8 @@ exports.JOBS_FOLLOWING_CONVERSATION = [
12
12
  AiModelJob.QUICK_TASKS,
13
13
  AiModelJob.MIDDLE_MANAGER,
14
14
  ];
15
+ exports.USER_CONNECTED_PROVIDER_JOBS = [
16
+ AiModelJob.CONVERSATION,
17
+ AiModelJob.MIDDLE_MANAGER,
18
+ ];
15
19
  //# sourceMappingURL=ai-model-job.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-model-job.enum.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/ai-model-job.enum.ts"],"names":[],"mappings":";;;AACA,IAAY,UASX;AATD,WAAY,UAAU;IAEpB,2CAA6B,CAAA;IAE7B,yCAA2B,CAAA;IAE3B,+CAAiC,CAAA;IAEjC,uCAAyB,CAAA;AAC3B,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB;AAGY,QAAA,2BAA2B,GAA0B;IAChE,UAAU,CAAC,WAAW;IACtB,UAAU,CAAC,cAAc;CAC1B,CAAC"}
1
+ {"version":3,"file":"ai-model-job.enum.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/ai-model-job.enum.ts"],"names":[],"mappings":";;;AACA,IAAY,UASX;AATD,WAAY,UAAU;IAEpB,2CAA6B,CAAA;IAE7B,yCAA2B,CAAA;IAE3B,+CAAiC,CAAA;IAEjC,uCAAyB,CAAA;AAC3B,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB;AAGY,QAAA,2BAA2B,GAA0B;IAChE,UAAU,CAAC,WAAW;IACtB,UAAU,CAAC,cAAc;CAC1B,CAAC;AASW,QAAA,4BAA4B,GAA0B;IACjE,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,cAAc;CAC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare enum AiProviderConnectionStatus {
2
+ CONNECTED = "connected",
3
+ PLAN_ACCESS_NOT_GRANTED = "plan_access_not_granted",
4
+ NEEDS_REAUTHORIZATION = "needs_reauthorization",
5
+ DISCONNECTED = "disconnected"
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AiProviderConnectionStatus = void 0;
4
+ var AiProviderConnectionStatus;
5
+ (function (AiProviderConnectionStatus) {
6
+ AiProviderConnectionStatus["CONNECTED"] = "connected";
7
+ AiProviderConnectionStatus["PLAN_ACCESS_NOT_GRANTED"] = "plan_access_not_granted";
8
+ AiProviderConnectionStatus["NEEDS_REAUTHORIZATION"] = "needs_reauthorization";
9
+ AiProviderConnectionStatus["DISCONNECTED"] = "disconnected";
10
+ })(AiProviderConnectionStatus || (exports.AiProviderConnectionStatus = AiProviderConnectionStatus = {}));
11
+ //# sourceMappingURL=ai-provider-connection-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-provider-connection-status.enum.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/ai-provider-connection-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,0BAQX;AARD,WAAY,0BAA0B;IAEpC,qDAAuB,CAAA;IAEvB,iFAAmD,CAAA;IAEnD,6EAA+C,CAAA;IAC/C,2DAA6B,CAAA;AAC/B,CAAC,EARW,0BAA0B,0CAA1B,0BAA0B,QAQrC"}
@@ -4,5 +4,8 @@ export declare enum AiProviderType {
4
4
  GOOGLE = "google",
5
5
  GOOGLE_VERTEX = "google_vertex",
6
6
  XAI = "xai",
7
- OPENAI_COMPATIBLE = "openai_compatible"
7
+ OPENAI_COMPATIBLE = "openai_compatible",
8
+ CHATGPT_SUBSCRIPTION = "chatgpt_subscription"
8
9
  }
10
+ export declare const USER_CONNECTED_PROVIDER_TYPES: readonly AiProviderType[];
11
+ export declare function isUserConnectedProviderType(type: AiProviderType): boolean;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AiProviderType = void 0;
3
+ exports.USER_CONNECTED_PROVIDER_TYPES = exports.AiProviderType = void 0;
4
+ exports.isUserConnectedProviderType = isUserConnectedProviderType;
4
5
  var AiProviderType;
5
6
  (function (AiProviderType) {
6
7
  AiProviderType["OPENAI"] = "openai";
@@ -9,5 +10,12 @@ var AiProviderType;
9
10
  AiProviderType["GOOGLE_VERTEX"] = "google_vertex";
10
11
  AiProviderType["XAI"] = "xai";
11
12
  AiProviderType["OPENAI_COMPATIBLE"] = "openai_compatible";
13
+ AiProviderType["CHATGPT_SUBSCRIPTION"] = "chatgpt_subscription";
12
14
  })(AiProviderType || (exports.AiProviderType = AiProviderType = {}));
15
+ exports.USER_CONNECTED_PROVIDER_TYPES = [
16
+ AiProviderType.CHATGPT_SUBSCRIPTION,
17
+ ];
18
+ function isUserConnectedProviderType(type) {
19
+ return exports.USER_CONNECTED_PROVIDER_TYPES.includes(type);
20
+ }
13
21
  //# sourceMappingURL=ai-provider-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider-type.enum.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/ai-provider-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;IACjB,iDAA+B,CAAA;IAC/B,6BAAW,CAAA;IACX,yDAAuC,CAAA;AACzC,CAAC,EAPW,cAAc,8BAAd,cAAc,QAOzB"}
1
+ {"version":3,"file":"ai-provider-type.enum.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/ai-provider-type.enum.ts"],"names":[],"mappings":";;;AAqBA,kEAEC;AAvBD,IAAY,cASX;AATD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;IACjB,iDAA+B,CAAA;IAC/B,6BAAW,CAAA;IACX,yDAAuC,CAAA;IAEvC,+DAA6C,CAAA;AAC/C,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AAQY,QAAA,6BAA6B,GAA8B;IACtE,cAAc,CAAC,oBAAoB;CACpC,CAAC;AAEF,SAAgB,2BAA2B,CAAC,IAAoB;IAC9D,OAAO,qCAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './ai-provider-type.enum';
2
2
  export * from './ai-model-job.enum';
3
3
  export * from './ai-model-kind.enum';
4
+ export * from './ai-provider-connection-status.enum';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ai-provider-type.enum"), exports);
18
18
  __exportStar(require("./ai-model-job.enum"), exports);
19
19
  __exportStar(require("./ai-model-kind.enum"), exports);
20
+ __exportStar(require("./ai-provider-connection-status.enum"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,sDAAoC;AACpC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-providers/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,sDAAoC;AACpC,uDAAqC;AACrC,uEAAqD"}