@marinoscar/platform-api 0.1.0-next.4 → 0.1.0-next.6

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 (241) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/ai/core/ai-error.d.ts +15 -158
  3. package/dist/ai/core/ai-error.d.ts.map +1 -1
  4. package/dist/ai/core/ai-error.js +58 -221
  5. package/dist/ai/core/ai-error.js.map +1 -1
  6. package/dist/ai/core/capabilities.d.ts +3 -126
  7. package/dist/ai/core/capabilities.d.ts.map +1 -1
  8. package/dist/ai/core/capabilities.js +13 -109
  9. package/dist/ai/core/capabilities.js.map +1 -1
  10. package/dist/ai/core/conversation.d.ts +2 -15
  11. package/dist/ai/core/conversation.d.ts.map +1 -1
  12. package/dist/ai/core/conversation.js +9 -54
  13. package/dist/ai/core/conversation.js.map +1 -1
  14. package/dist/ai/core/hosted-tools.d.ts +3 -172
  15. package/dist/ai/core/hosted-tools.d.ts.map +1 -1
  16. package/dist/ai/core/hosted-tools.js +20 -286
  17. package/dist/ai/core/hosted-tools.js.map +1 -1
  18. package/dist/ai/core/provider-adapter.interface.d.ts +3 -260
  19. package/dist/ai/core/provider-adapter.interface.d.ts.map +1 -1
  20. package/dist/ai/core/provider-adapter.interface.js +7 -29
  21. package/dist/ai/core/provider-adapter.interface.js.map +1 -1
  22. package/dist/ai/core/structured-output.d.ts +3 -49
  23. package/dist/ai/core/structured-output.d.ts.map +1 -1
  24. package/dist/ai/core/structured-output.js +9 -80
  25. package/dist/ai/core/structured-output.js.map +1 -1
  26. package/dist/ai/core/tools.d.ts +3 -93
  27. package/dist/ai/core/tools.d.ts.map +1 -1
  28. package/dist/ai/core/tools.js +9 -73
  29. package/dist/ai/core/tools.js.map +1 -1
  30. package/dist/ai/core/types/file-inputs.types.d.ts +3 -102
  31. package/dist/ai/core/types/file-inputs.types.d.ts.map +1 -1
  32. package/dist/ai/core/types/file-inputs.types.js +14 -78
  33. package/dist/ai/core/types/file-inputs.types.js.map +1 -1
  34. package/dist/ai/core/types/media.types.d.ts +3 -616
  35. package/dist/ai/core/types/media.types.d.ts.map +1 -1
  36. package/dist/ai/core/types/media.types.js +33 -203
  37. package/dist/ai/core/types/media.types.js.map +1 -1
  38. package/dist/ai/core/types/responses.types.d.ts +3 -619
  39. package/dist/ai/core/types/responses.types.d.ts.map +1 -1
  40. package/dist/ai/core/types/responses.types.js +9 -57
  41. package/dist/ai/core/types/responses.types.js.map +1 -1
  42. package/dist/ai/http/dto/ai-images.dto.d.ts +4 -4
  43. package/dist/ai/index.d.ts +1 -1
  44. package/dist/ai/index.d.ts.map +1 -1
  45. package/dist/ai/index.js +3 -3
  46. package/dist/ai/index.js.map +1 -1
  47. package/dist/ai/providers/anthropic/anthropic-client.factory.d.ts +13 -15
  48. package/dist/ai/providers/anthropic/anthropic-client.factory.d.ts.map +1 -1
  49. package/dist/ai/providers/anthropic/anthropic-client.factory.js +23 -52
  50. package/dist/ai/providers/anthropic/anthropic-client.factory.js.map +1 -1
  51. package/dist/ai/providers/anthropic/anthropic.adapter.d.ts +15 -51
  52. package/dist/ai/providers/anthropic/anthropic.adapter.d.ts.map +1 -1
  53. package/dist/ai/providers/anthropic/anthropic.adapter.js +29 -293
  54. package/dist/ai/providers/anthropic/anthropic.adapter.js.map +1 -1
  55. package/dist/ai/providers/azure-openai/azure-openai-client.factory.d.ts +10 -14
  56. package/dist/ai/providers/azure-openai/azure-openai-client.factory.d.ts.map +1 -1
  57. package/dist/ai/providers/azure-openai/azure-openai-client.factory.js +20 -53
  58. package/dist/ai/providers/azure-openai/azure-openai-client.factory.js.map +1 -1
  59. package/dist/ai/providers/azure-openai/azure-openai.adapter.d.ts +14 -31
  60. package/dist/ai/providers/azure-openai/azure-openai.adapter.d.ts.map +1 -1
  61. package/dist/ai/providers/azure-openai/azure-openai.adapter.js +25 -170
  62. package/dist/ai/providers/azure-openai/azure-openai.adapter.js.map +1 -1
  63. package/dist/ai/providers/gemini/gemini-client.factory.d.ts +13 -18
  64. package/dist/ai/providers/gemini/gemini-client.factory.d.ts.map +1 -1
  65. package/dist/ai/providers/gemini/gemini-client.factory.js +24 -68
  66. package/dist/ai/providers/gemini/gemini-client.factory.js.map +1 -1
  67. package/dist/ai/providers/gemini/gemini.adapter.d.ts +15 -58
  68. package/dist/ai/providers/gemini/gemini.adapter.d.ts.map +1 -1
  69. package/dist/ai/providers/gemini/gemini.adapter.js +29 -348
  70. package/dist/ai/providers/gemini/gemini.adapter.js.map +1 -1
  71. package/dist/ai/providers/openai/openai-client.factory.d.ts +13 -35
  72. package/dist/ai/providers/openai/openai-client.factory.d.ts.map +1 -1
  73. package/dist/ai/providers/openai/openai-client.factory.js +25 -64
  74. package/dist/ai/providers/openai/openai-client.factory.js.map +1 -1
  75. package/dist/ai/providers/openai/openai.adapter.d.ts +15 -48
  76. package/dist/ai/providers/openai/openai.adapter.d.ts.map +1 -1
  77. package/dist/ai/providers/openai/openai.adapter.js +27 -206
  78. package/dist/ai/providers/openai/openai.adapter.js.map +1 -1
  79. package/dist/ai/providers/openai-compatible/openai-compatible-client.factory.d.ts +11 -11
  80. package/dist/ai/providers/openai-compatible/openai-compatible-client.factory.d.ts.map +1 -1
  81. package/dist/ai/providers/openai-compatible/openai-compatible-client.factory.js +18 -41
  82. package/dist/ai/providers/openai-compatible/openai-compatible-client.factory.js.map +1 -1
  83. package/dist/ai/providers/openai-compatible/openai-compatible.adapter.d.ts +14 -32
  84. package/dist/ai/providers/openai-compatible/openai-compatible.adapter.d.ts.map +1 -1
  85. package/dist/ai/providers/openai-compatible/openai-compatible.adapter.js +25 -149
  86. package/dist/ai/providers/openai-compatible/openai-compatible.adapter.js.map +1 -1
  87. package/dist/ai/providers/platform-ai-tracer.d.ts +4 -0
  88. package/dist/ai/providers/platform-ai-tracer.d.ts.map +1 -0
  89. package/dist/ai/providers/platform-ai-tracer.js +20 -0
  90. package/dist/ai/providers/platform-ai-tracer.js.map +1 -0
  91. package/dist/ai/runtime/ai-image-run-request.d.ts +1 -1
  92. package/dist/ai/testing/conformance/ai-no-sdk-leak.suite.d.ts +28 -5
  93. package/dist/ai/testing/conformance/ai-no-sdk-leak.suite.d.ts.map +1 -1
  94. package/dist/ai/testing/conformance/ai-no-sdk-leak.suite.js +54 -9
  95. package/dist/ai/testing/conformance/ai-no-sdk-leak.suite.js.map +1 -1
  96. package/dist/ai/testing/index.d.ts +1 -1
  97. package/dist/ai/testing/index.d.ts.map +1 -1
  98. package/dist/ai/testing/index.js +2 -1
  99. package/dist/ai/testing/index.js.map +1 -1
  100. package/dist/jobs/rate-limit.error.d.ts +2 -26
  101. package/dist/jobs/rate-limit.error.d.ts.map +1 -1
  102. package/dist/jobs/rate-limit.error.js +4 -52
  103. package/dist/jobs/rate-limit.error.js.map +1 -1
  104. package/dist/storage/config/storage-config.controller.d.ts +1 -1
  105. package/package.json +3 -2
  106. package/dist/ai/providers/anthropic/anthropic-errors.d.ts +0 -16
  107. package/dist/ai/providers/anthropic/anthropic-errors.d.ts.map +0 -1
  108. package/dist/ai/providers/anthropic/anthropic-errors.js +0 -156
  109. package/dist/ai/providers/anthropic/anthropic-errors.js.map +0 -1
  110. package/dist/ai/providers/anthropic/anthropic-messages.mapper.d.ts +0 -80
  111. package/dist/ai/providers/anthropic/anthropic-messages.mapper.d.ts.map +0 -1
  112. package/dist/ai/providers/anthropic/anthropic-messages.mapper.js +0 -536
  113. package/dist/ai/providers/anthropic/anthropic-messages.mapper.js.map +0 -1
  114. package/dist/ai/providers/anthropic/anthropic-model-catalog.d.ts +0 -49
  115. package/dist/ai/providers/anthropic/anthropic-model-catalog.d.ts.map +0 -1
  116. package/dist/ai/providers/anthropic/anthropic-model-catalog.js +0 -198
  117. package/dist/ai/providers/anthropic/anthropic-model-catalog.js.map +0 -1
  118. package/dist/ai/providers/anthropic/anthropic-stream.mapper.d.ts +0 -35
  119. package/dist/ai/providers/anthropic/anthropic-stream.mapper.d.ts.map +0 -1
  120. package/dist/ai/providers/anthropic/anthropic-stream.mapper.js +0 -203
  121. package/dist/ai/providers/anthropic/anthropic-stream.mapper.js.map +0 -1
  122. package/dist/ai/providers/anthropic/testing/anthropic-fixtures.d.ts +0 -18
  123. package/dist/ai/providers/anthropic/testing/anthropic-fixtures.d.ts.map +0 -1
  124. package/dist/ai/providers/anthropic/testing/anthropic-fixtures.js +0 -120
  125. package/dist/ai/providers/anthropic/testing/anthropic-fixtures.js.map +0 -1
  126. package/dist/ai/providers/anthropic/testing/anthropic-mock-transport.d.ts +0 -59
  127. package/dist/ai/providers/anthropic/testing/anthropic-mock-transport.d.ts.map +0 -1
  128. package/dist/ai/providers/anthropic/testing/anthropic-mock-transport.js +0 -206
  129. package/dist/ai/providers/anthropic/testing/anthropic-mock-transport.js.map +0 -1
  130. package/dist/ai/providers/azure-openai/azure-openai-settings.d.ts +0 -23
  131. package/dist/ai/providers/azure-openai/azure-openai-settings.d.ts.map +0 -1
  132. package/dist/ai/providers/azure-openai/azure-openai-settings.js +0 -54
  133. package/dist/ai/providers/azure-openai/azure-openai-settings.js.map +0 -1
  134. package/dist/ai/providers/gemini/gemini-content.mapper.d.ts +0 -98
  135. package/dist/ai/providers/gemini/gemini-content.mapper.d.ts.map +0 -1
  136. package/dist/ai/providers/gemini/gemini-content.mapper.js +0 -665
  137. package/dist/ai/providers/gemini/gemini-content.mapper.js.map +0 -1
  138. package/dist/ai/providers/gemini/gemini-embeddings.mapper.d.ts +0 -13
  139. package/dist/ai/providers/gemini/gemini-embeddings.mapper.d.ts.map +0 -1
  140. package/dist/ai/providers/gemini/gemini-embeddings.mapper.js +0 -78
  141. package/dist/ai/providers/gemini/gemini-embeddings.mapper.js.map +0 -1
  142. package/dist/ai/providers/gemini/gemini-errors.d.ts +0 -32
  143. package/dist/ai/providers/gemini/gemini-errors.d.ts.map +0 -1
  144. package/dist/ai/providers/gemini/gemini-errors.js +0 -191
  145. package/dist/ai/providers/gemini/gemini-errors.js.map +0 -1
  146. package/dist/ai/providers/gemini/gemini-model-catalog.d.ts +0 -45
  147. package/dist/ai/providers/gemini/gemini-model-catalog.d.ts.map +0 -1
  148. package/dist/ai/providers/gemini/gemini-model-catalog.js +0 -264
  149. package/dist/ai/providers/gemini/gemini-model-catalog.js.map +0 -1
  150. package/dist/ai/providers/gemini/gemini-stream.mapper.d.ts +0 -31
  151. package/dist/ai/providers/gemini/gemini-stream.mapper.d.ts.map +0 -1
  152. package/dist/ai/providers/gemini/gemini-stream.mapper.js +0 -118
  153. package/dist/ai/providers/gemini/gemini-stream.mapper.js.map +0 -1
  154. package/dist/ai/providers/gemini/testing/gemini-fixtures.d.ts +0 -80
  155. package/dist/ai/providers/gemini/testing/gemini-fixtures.d.ts.map +0 -1
  156. package/dist/ai/providers/gemini/testing/gemini-fixtures.js +0 -118
  157. package/dist/ai/providers/gemini/testing/gemini-fixtures.js.map +0 -1
  158. package/dist/ai/providers/gemini/testing/gemini-mock-transport.d.ts +0 -82
  159. package/dist/ai/providers/gemini/testing/gemini-mock-transport.d.ts.map +0 -1
  160. package/dist/ai/providers/gemini/testing/gemini-mock-transport.js +0 -342
  161. package/dist/ai/providers/gemini/testing/gemini-mock-transport.js.map +0 -1
  162. package/dist/ai/providers/openai/openai-audio.mapper.d.ts +0 -42
  163. package/dist/ai/providers/openai/openai-audio.mapper.d.ts.map +0 -1
  164. package/dist/ai/providers/openai/openai-audio.mapper.js +0 -266
  165. package/dist/ai/providers/openai/openai-audio.mapper.js.map +0 -1
  166. package/dist/ai/providers/openai/openai-call-telemetry.d.ts +0 -25
  167. package/dist/ai/providers/openai/openai-call-telemetry.d.ts.map +0 -1
  168. package/dist/ai/providers/openai/openai-call-telemetry.js +0 -93
  169. package/dist/ai/providers/openai/openai-call-telemetry.js.map +0 -1
  170. package/dist/ai/providers/openai/openai-chat-completions-stream.mapper.d.ts +0 -41
  171. package/dist/ai/providers/openai/openai-chat-completions-stream.mapper.d.ts.map +0 -1
  172. package/dist/ai/providers/openai/openai-chat-completions-stream.mapper.js +0 -173
  173. package/dist/ai/providers/openai/openai-chat-completions-stream.mapper.js.map +0 -1
  174. package/dist/ai/providers/openai/openai-chat-completions.engine.d.ts +0 -33
  175. package/dist/ai/providers/openai/openai-chat-completions.engine.d.ts.map +0 -1
  176. package/dist/ai/providers/openai/openai-chat-completions.engine.js +0 -165
  177. package/dist/ai/providers/openai/openai-chat-completions.engine.js.map +0 -1
  178. package/dist/ai/providers/openai/openai-chat-completions.mapper.d.ts +0 -42
  179. package/dist/ai/providers/openai/openai-chat-completions.mapper.d.ts.map +0 -1
  180. package/dist/ai/providers/openai/openai-chat-completions.mapper.js +0 -304
  181. package/dist/ai/providers/openai/openai-chat-completions.mapper.js.map +0 -1
  182. package/dist/ai/providers/openai/openai-embeddings.mapper.d.ts +0 -25
  183. package/dist/ai/providers/openai/openai-embeddings.mapper.d.ts.map +0 -1
  184. package/dist/ai/providers/openai/openai-embeddings.mapper.js +0 -81
  185. package/dist/ai/providers/openai/openai-embeddings.mapper.js.map +0 -1
  186. package/dist/ai/providers/openai/openai-errors.d.ts +0 -45
  187. package/dist/ai/providers/openai/openai-errors.d.ts.map +0 -1
  188. package/dist/ai/providers/openai/openai-errors.js +0 -247
  189. package/dist/ai/providers/openai/openai-errors.js.map +0 -1
  190. package/dist/ai/providers/openai/openai-family-guards.d.ts +0 -4
  191. package/dist/ai/providers/openai/openai-family-guards.d.ts.map +0 -1
  192. package/dist/ai/providers/openai/openai-family-guards.js +0 -19
  193. package/dist/ai/providers/openai/openai-family-guards.js.map +0 -1
  194. package/dist/ai/providers/openai/openai-images.mapper.d.ts +0 -23
  195. package/dist/ai/providers/openai/openai-images.mapper.d.ts.map +0 -1
  196. package/dist/ai/providers/openai/openai-images.mapper.js +0 -164
  197. package/dist/ai/providers/openai/openai-images.mapper.js.map +0 -1
  198. package/dist/ai/providers/openai/openai-model-catalog.d.ts +0 -36
  199. package/dist/ai/providers/openai/openai-model-catalog.d.ts.map +0 -1
  200. package/dist/ai/providers/openai/openai-model-catalog.js +0 -209
  201. package/dist/ai/providers/openai/openai-model-catalog.js.map +0 -1
  202. package/dist/ai/providers/openai/openai-realtime.mapper.d.ts +0 -18
  203. package/dist/ai/providers/openai/openai-realtime.mapper.d.ts.map +0 -1
  204. package/dist/ai/providers/openai/openai-realtime.mapper.js +0 -159
  205. package/dist/ai/providers/openai/openai-realtime.mapper.js.map +0 -1
  206. package/dist/ai/providers/openai/openai-redirect-guard.d.ts +0 -9
  207. package/dist/ai/providers/openai/openai-redirect-guard.d.ts.map +0 -1
  208. package/dist/ai/providers/openai/openai-redirect-guard.js +0 -61
  209. package/dist/ai/providers/openai/openai-redirect-guard.js.map +0 -1
  210. package/dist/ai/providers/openai/openai-responses.engine.d.ts +0 -50
  211. package/dist/ai/providers/openai/openai-responses.engine.d.ts.map +0 -1
  212. package/dist/ai/providers/openai/openai-responses.engine.js +0 -206
  213. package/dist/ai/providers/openai/openai-responses.engine.js.map +0 -1
  214. package/dist/ai/providers/openai/openai-responses.mapper.d.ts +0 -64
  215. package/dist/ai/providers/openai/openai-responses.mapper.d.ts.map +0 -1
  216. package/dist/ai/providers/openai/openai-responses.mapper.js +0 -580
  217. package/dist/ai/providers/openai/openai-responses.mapper.js.map +0 -1
  218. package/dist/ai/providers/openai/openai-stream.mapper.d.ts +0 -28
  219. package/dist/ai/providers/openai/openai-stream.mapper.d.ts.map +0 -1
  220. package/dist/ai/providers/openai/openai-stream.mapper.js +0 -139
  221. package/dist/ai/providers/openai/openai-stream.mapper.js.map +0 -1
  222. package/dist/ai/providers/openai/testing/chat-completions-fixtures.d.ts +0 -24
  223. package/dist/ai/providers/openai/testing/chat-completions-fixtures.d.ts.map +0 -1
  224. package/dist/ai/providers/openai/testing/chat-completions-fixtures.js +0 -72
  225. package/dist/ai/providers/openai/testing/chat-completions-fixtures.js.map +0 -1
  226. package/dist/ai/providers/openai/testing/conformance-responders.d.ts +0 -7
  227. package/dist/ai/providers/openai/testing/conformance-responders.d.ts.map +0 -1
  228. package/dist/ai/providers/openai/testing/conformance-responders.js +0 -64
  229. package/dist/ai/providers/openai/testing/conformance-responders.js.map +0 -1
  230. package/dist/ai/providers/openai/testing/openai-fixtures.d.ts +0 -52
  231. package/dist/ai/providers/openai/testing/openai-fixtures.d.ts.map +0 -1
  232. package/dist/ai/providers/openai/testing/openai-fixtures.js +0 -208
  233. package/dist/ai/providers/openai/testing/openai-fixtures.js.map +0 -1
  234. package/dist/ai/providers/openai/testing/openai-mock-transport.d.ts +0 -242
  235. package/dist/ai/providers/openai/testing/openai-mock-transport.d.ts.map +0 -1
  236. package/dist/ai/providers/openai/testing/openai-mock-transport.js +0 -523
  237. package/dist/ai/providers/openai/testing/openai-mock-transport.js.map +0 -1
  238. package/dist/ai/providers/openai-compatible/openai-compatible-settings.d.ts +0 -13
  239. package/dist/ai/providers/openai-compatible/openai-compatible-settings.d.ts.map +0 -1
  240. package/dist/ai/providers/openai-compatible/openai-compatible-settings.js +0 -29
  241. package/dist/ai/providers/openai-compatible/openai-compatible-settings.js.map +0 -1
@@ -1,44 +1,16 @@
1
1
  "use strict";
2
2
  // =============================================================================
3
- // OpenAI-compatible provider adapter (issue #448, epic #421)
3
+ // OpenAiCompatibleProviderAdapter: the Nest binding (issue #991)
4
4
  // =============================================================================
5
5
  //
6
- // Any server speaking OpenAI's wire protocol at an administrator-chosen base
7
- // URL — Ollama, vLLM, LM Studio, llama.cpp's server, a LiteLLM gateway. Like
8
- // the Azure adapter this is composition over the OpenAI adapter's shared
9
- // pieces (`../openai/`), not a new mapping:
10
- //
11
- // openai-compatible-settings.ts the slot's apiStyle / requiresKey
12
- // openai-compatible-client.factory.ts OpenAI SDK per call at `baseUrl`, no
13
- // redirects, no credential when keyless
14
- // ../openai/openai-chat-completions.engine.ts apiStyle 'chat_completions' (default)
15
- // ../openai/openai-responses.engine.ts apiStyle 'responses'
16
- //
17
- // GRACEFUL DEGRADATION. Compatible servers almost always serve Chat
18
- // Completions and rarely the Responses API, so `chat_completions` is the
19
- // default and `responses` an opt-in. Chat Completions has no reasoning
20
- // summaries or effort (an effort is refused), no stored responses and no
21
- // hosted tools; the adapter's static flags say so for both styles.
22
- //
23
- // CLASSIFICATION. `GET {baseUrl}/models` returns ids and nothing about what a
24
- // model can do, and the ids are whatever the server was loaded with
25
- // (`llama3.1:8b`, `Qwen/Qwen2.5-7B-Instruct`). `classifyModel` therefore
26
- // answers `null` for EVERY id: each discovered model is stored
27
- // `unclassified`, and an administrator declares its capabilities in the
28
- // Models UI (an `admin_override`) before enabling it. Guessing would be worse.
29
- //
30
- // KEYLESS (`requiresKey: false`). The key resolver answers `keySource:
31
- // 'none'` with the `AI_KEYLESS_API_KEY` marker, and the client factory then
32
- // sends no credential at all. See docs/specs/ai-platform.md §2.24.
33
- //
34
- // PORTS. `responses` and `embeddings` (`POST {baseUrl}/embeddings` — Ollama,
35
- // vLLM and LM Studio all serve it, through the same mapper OpenAI uses).
36
- // Images and audio are absent: compatible servers rarely serve them, and
37
- // presence is the declaration.
38
- //
39
- // STORAGE-OBJECT INPUTS (#441). Both modalities `inline` (a base64 `data:`
40
- // URL): a self-hosted server usually cannot reach this deployment's object
41
- // storage, and `data:` images are what Ollama and vLLM accept.
6
+ // The adapter itself (ports, mappers, error mapping, telemetry) lives in
7
+ // `@marinoscar/platform-ai-providers/openai`, framework-free. This subclass keeps the
8
+ // platform's injectable class and constructor signature
9
+ // (`AiProviderRegistry`, `OpenAiCompatibleClientFactory`), hands the base a Nest `Logger` named
10
+ // after this class and the platform tracer (`../platform-ai-tracer.ts`), so
11
+ // log lines and `ai.provider.call` spans are unchanged, and registers itself
12
+ // with `AiProviderRegistry` in `onModuleInit` as it always did. It imports no
13
+ // SDK.
42
14
  // =============================================================================
43
15
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
44
16
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -53,127 +25,31 @@ var OpenAiCompatibleProviderAdapter_1;
53
25
  Object.defineProperty(exports, "__esModule", { value: true });
54
26
  exports.OpenAiCompatibleProviderAdapter = void 0;
55
27
  const common_1 = require("@nestjs/common");
28
+ const openai_1 = require("@marinoscar/platform-ai-providers/openai");
29
+ require("../../core/ai-error");
56
30
  const provider_registry_1 = require("../../core/provider-registry");
57
- const openai_call_telemetry_1 = require("../openai/openai-call-telemetry");
58
- const openai_chat_completions_engine_1 = require("../openai/openai-chat-completions.engine");
59
- const openai_embeddings_mapper_1 = require("../openai/openai-embeddings.mapper");
60
- const openai_errors_1 = require("../openai/openai-errors");
61
- const openai_family_guards_1 = require("../openai/openai-family-guards");
62
- const openai_responses_engine_1 = require("../openai/openai-responses.engine");
31
+ const platform_ai_tracer_1 = require("../platform-ai-tracer");
63
32
  const openai_compatible_client_factory_1 = require("./openai-compatible-client.factory");
64
- const openai_compatible_settings_1 = require("./openai-compatible-settings");
65
- let OpenAiCompatibleProviderAdapter = OpenAiCompatibleProviderAdapter_1 = class OpenAiCompatibleProviderAdapter {
33
+ /**
34
+ * The injectable OpenAiCompatibleProviderAdapter: registers itself with `AiProviderRegistry` when
35
+ * its module initialises.
36
+ *
37
+ * @stability experimental
38
+ */
39
+ let OpenAiCompatibleProviderAdapter = OpenAiCompatibleProviderAdapter_1 = class OpenAiCompatibleProviderAdapter extends openai_1.OpenAiCompatibleProviderAdapter {
66
40
  registry;
67
- clients;
68
- id = openai_compatible_settings_1.OPENAI_COMPATIBLE_PROVIDER_ID;
69
- displayName = 'OpenAI-compatible';
70
- /** Chat Completions stores nothing; declared for both styles — see the file header. */
71
- supportsPreviousResponseId = false;
72
- /** No compatible server is assumed to run hosted tools. */
73
- supportsHostedTools = false;
74
- /** Inline for both modalities — see the file header. */
75
- fileInputStrategy = { image: 'inline', file: 'inline' };
76
- responses = {
77
- create: (req, ctx) => this.create(req, ctx),
78
- stream: (req, ctx) => this.stream(req, ctx),
79
- };
80
- embeddings = {
81
- embed: (req, ctx) => this.embed(req, ctx),
82
- };
83
- logger = new common_1.Logger(OpenAiCompatibleProviderAdapter_1.name);
84
- telemetry = new openai_call_telemetry_1.OpenAiCallTelemetry(openai_compatible_settings_1.OPENAI_COMPATIBLE_FAMILY, this.logger);
85
- responsesEngine;
86
- chatEngine;
41
+ /**
42
+ * @param registry - the provider registry this adapter joins.
43
+ * @param clients - the injectable SDK client factory.
44
+ */
87
45
  constructor(registry, clients) {
46
+ super({ clients, logger: new common_1.Logger(OpenAiCompatibleProviderAdapter_1.name), tracer: platform_ai_tracer_1.PLATFORM_AI_TRACER });
88
47
  this.registry = registry;
89
- this.clients = clients;
90
- const client = (ctx) => this.clients.create(ctx);
91
- this.responsesEngine = new openai_responses_engine_1.OpenAiResponsesEngine({
92
- family: openai_compatible_settings_1.OPENAI_COMPATIBLE_FAMILY,
93
- telemetry: this.telemetry,
94
- logger: this.logger,
95
- client,
96
- classify: () => null,
97
- });
98
- this.chatEngine = new openai_chat_completions_engine_1.OpenAiChatCompletionsEngine({
99
- family: openai_compatible_settings_1.OPENAI_COMPATIBLE_FAMILY,
100
- telemetry: this.telemetry,
101
- client,
102
- // The name every compatible server understands.
103
- tokenParameter: 'max_tokens',
104
- });
105
48
  }
49
+ /** Adds this adapter to `AiProviderRegistry`. */
106
50
  onModuleInit() {
107
51
  this.registry.register(this);
108
52
  }
109
- /** Always unclassified — see the file header. */
110
- classifyModel() {
111
- return null;
112
- }
113
- async listModels(ctx) {
114
- return this.telemetry.call('models.list', undefined, ctx, async () => {
115
- const models = [];
116
- for await (const model of this.clients.create(ctx).models.list({ signal: ctx.signal })) {
117
- models.push({
118
- id: model.id,
119
- ...(model.owned_by ? { ownedBy: model.owned_by } : {}),
120
- ...(typeof model.created === 'number' && model.created > 0
121
- ? { createdAt: new Date(model.created * 1000) }
122
- : {}),
123
- });
124
- }
125
- return models;
126
- });
127
- }
128
- /**
129
- * `GET {baseUrl}/models`. For a keyless server this proves the server is
130
- * reachable; for any other it also proves the key. Failures are answers.
131
- */
132
- async verifyKey(ctx) {
133
- try {
134
- await this.telemetry.call('verify_key', undefined, ctx, async () => {
135
- await this.clients.create(ctx).models.list({ signal: ctx.signal });
136
- });
137
- return { ok: true };
138
- }
139
- catch (err) {
140
- const mapped = (0, openai_errors_1.mapOpenAiError)(err, openai_compatible_settings_1.OPENAI_COMPATIBLE_FAMILY);
141
- return mapped.code === 'AI_KEY_INVALID'
142
- ? { ok: false, code: 'AI_KEY_INVALID' }
143
- : { ok: false, code: mapped.code, detail: mapped.message };
144
- }
145
- }
146
- // ---- responses port -------------------------------------------------------
147
- create(req, ctx) {
148
- (0, openai_family_guards_1.assertNoHostedTools)(req, this.id);
149
- return (0, openai_compatible_settings_1.openAiCompatibleSettings)(ctx.providerSettings).apiStyle === 'responses'
150
- ? this.responsesEngine.create(req, ctx)
151
- : this.chatEngine.create(req, ctx);
152
- }
153
- stream(req, ctx) {
154
- const run = () => (0, openai_compatible_settings_1.openAiCompatibleSettings)(ctx.providerSettings).apiStyle === 'responses'
155
- ? this.responsesEngine.stream(req, ctx)
156
- : this.chatEngine.stream(req, ctx);
157
- return (async function* () {
158
- (0, openai_family_guards_1.assertNoHostedTools)(req, openai_compatible_settings_1.OPENAI_COMPATIBLE_PROVIDER_ID);
159
- yield* run();
160
- })();
161
- }
162
- // ---- embeddings port ------------------------------------------------------
163
- /** `POST {baseUrl}/embeddings`, floats on the wire. */
164
- embed(req, ctx) {
165
- return this.telemetry.call('embeddings.create', req.model, ctx, async () => {
166
- const { data, request_id } = await this.clients
167
- .create(ctx)
168
- .embeddings.create((0, openai_embeddings_mapper_1.toOpenAiEmbeddingRequest)(req, openai_compatible_settings_1.OPENAI_COMPATIBLE_FAMILY), { signal: ctx.signal })
169
- .withResponse();
170
- return (0, openai_embeddings_mapper_1.fromOpenAiEmbeddingResponse)(data, {
171
- request: req,
172
- providerRequestId: request_id,
173
- family: openai_compatible_settings_1.OPENAI_COMPATIBLE_FAMILY,
174
- });
175
- });
176
- }
177
53
  };
178
54
  exports.OpenAiCompatibleProviderAdapter = OpenAiCompatibleProviderAdapter;
179
55
  exports.OpenAiCompatibleProviderAdapter = OpenAiCompatibleProviderAdapter = OpenAiCompatibleProviderAdapter_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.adapter.js","sourceRoot":"","sources":["../../../../src/ai/providers/openai-compatible/openai-compatible.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-compatible.adapter.js","sourceRoot":"","sources":["../../../../src/ai/providers/openai-compatible/openai-compatible.adapter.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iEAAiE;AACjE,gFAAgF;AAChF,EAAE;AACF,yEAAyE;AACzE,sFAAsF;AACtF,wDAAwD;AACxD,gGAAgG;AAChG,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO;AACP,gFAAgF;;;;;;;;;;;;;AAEhF,2CAAkE;AAClE,qEAAkI;AAElI,+BAA6B;AAC7B,oEAAkE;AAClE,8DAA2D;AAC3D,yFAAmF;AAEnF;;;;;GAKG;AAEI,IAAM,+BAA+B,uCAArC,MAAM,+BAAgC,SAAQ,wCAAmC;IAMnE;IALnB;;;OAGG;IACH,YACmB,QAA4B,EAC7C,OAAsC;QAEtC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,iCAA+B,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uCAAkB,EAAE,CAAC,CAAC;QAHxF,aAAQ,GAAR,QAAQ,CAAoB;IAI/C,CAAC;IAED,iDAAiD;IACjD,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AAhBY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;qCAOkB,sCAAkB;QACpC,gEAA6B;GAP7B,+BAA+B,CAgB3C"}
@@ -0,0 +1,4 @@
1
+ import type { AiTracer } from '@marinoscar/platform-ai-providers';
2
+ /** The `ai.provider.call` tracer every built-in provider adapter uses. */
3
+ export declare const PLATFORM_AI_TRACER: AiTracer;
4
+ //# sourceMappingURL=platform-ai-tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-ai-tracer.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/platform-ai-tracer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAIlE,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,EAAE,QAAgD,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // The tracer the platform hands the provider adapters (issue #991)
4
+ // =============================================================================
5
+ //
6
+ // The adapters live in `@marinoscar/platform-ai-providers`, which takes a
7
+ // structural `AiTracer` instead of importing OpenTelemetry. The platform
8
+ // passes the same tracer the adapters built for themselves before the split,
9
+ // `trace.getTracer(resolveServiceName())`, created when this module loads
10
+ // (as the adapter modules did): a proxy tracer that follows whatever global
11
+ // provider is registered when a span starts, so span names and attributes
12
+ // are unchanged.
13
+ // =============================================================================
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PLATFORM_AI_TRACER = void 0;
16
+ const api_1 = require("@opentelemetry/api");
17
+ const index_1 = require("../../otel-core/index");
18
+ /** The `ai.provider.call` tracer every built-in provider adapter uses. */
19
+ exports.PLATFORM_AI_TRACER = api_1.trace.getTracer((0, index_1.resolveServiceName)());
20
+ //# sourceMappingURL=platform-ai-tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-ai-tracer.js","sourceRoot":"","sources":["../../../src/ai/providers/platform-ai-tracer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,mEAAmE;AACnE,gFAAgF;AAChF,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,iBAAiB;AACjB,gFAAgF;;;AAEhF,4CAA2C;AAG3C,iDAA2D;AAE3D,0EAA0E;AAC7D,QAAA,kBAAkB,GAAa,WAAK,CAAC,SAAS,CAAC,IAAA,0BAAkB,GAAE,CAAC,CAAC"}
@@ -25,8 +25,8 @@ export declare const storedAiImageRunRequestSchema: z.ZodObject<{
25
25
  }>>;
26
26
  outputFormat: z.ZodOptional<z.ZodEnum<{
27
27
  png: "png";
28
- jpeg: "jpeg";
29
28
  webp: "webp";
29
+ jpeg: "jpeg";
30
30
  }>>;
31
31
  n: z.ZodOptional<z.ZodNumber>;
32
32
  imageStorageObjectIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -32,6 +32,11 @@ export interface SdkOwnerManifest {
32
32
  /**
33
33
  * How an app configures the `ai-no-sdk-leak` suite.
34
34
  *
35
+ * Since #991 the provider SDKs are imported only by
36
+ * `@marinoscar/platform-ai-providers`: scan that package with
37
+ * `sdkDirs: aiProvidersPackageSdkDirs(<its src>)`, and the platform package
38
+ * with no `sdkDirs` (its provider folders import no SDK).
39
+ *
35
40
  * @example
36
41
  * ```ts
37
42
  * aiNoSdkLeak: {
@@ -54,11 +59,12 @@ export interface AiNoSdkLeakOptions {
54
59
  /** Trees the browser ships (web sources, contract sources): no SDK import anywhere. */
55
60
  webTrees: readonly SdkLeakTree[];
56
61
  /**
57
- * The one manifest allowed to declare provider SDKs, and the SDK names it
58
- * must declare (proves the check reads real dependencies). Omit when the app
59
- * consumes the package from `node_modules`: the package owns its dependencies.
62
+ * The manifest (or manifests) allowed to declare provider SDKs, and the SDK
63
+ * names each must declare (proves the check reads real dependencies). Omit
64
+ * when the app consumes the packages from `node_modules`: the packages own
65
+ * their dependencies.
60
66
  */
61
- sdkOwner?: SdkOwnerManifest;
67
+ sdkOwner?: SdkOwnerManifest | readonly SdkOwnerManifest[];
62
68
  /** Absolute `package.json` paths that must declare no provider SDK. */
63
69
  noSdkManifests: readonly string[];
64
70
  /** More SDK package names to ban, beyond {@link PROVIDER_SDK_PACKAGES}. */
@@ -87,10 +93,27 @@ export interface AiNoSdkLeakOptions {
87
93
  * @stability experimental
88
94
  */
89
95
  export declare const PROVIDER_SDK_PACKAGES: readonly string[];
96
+ /**
97
+ * The top-level directories of `@marinoscar/platform-ai-providers` that may
98
+ * import a provider SDK, in the form {@link SdkLeakTree.sdkDirs} takes: every
99
+ * directory directly under `packageRoot` (that package's `src`, or its
100
+ * `dist`) except `core/`, the provider-agnostic core, which imports none.
101
+ * One directory per provider subpath (`openai/`, `anthropic/`, `gemini/`), so
102
+ * a provider added there is covered without editing this list.
103
+ *
104
+ * @param packageRoot - the root of the `@marinoscar/platform-ai-providers` tree being scanned.
105
+ * @returns one `<provider>/` entry per provider directory, empty when `packageRoot` does not exist.
106
+ *
107
+ * @stability experimental
108
+ */
109
+ export declare function aiProvidersPackageSdkDirs(packageRoot: string): string[];
90
110
  /**
91
111
  * The platform package's own adapter directories, in the form
92
112
  * {@link SdkLeakTree.sdkDirs} takes: one per provider the AI slice ships,
93
- * relative to `packageRoot` (the package's `src`, or its `dist`).
113
+ * relative to `packageRoot` (the package's `src`, or its `dist`). Since #991
114
+ * these folders hold only the Nest bindings of the adapters and import no
115
+ * SDK; the SDK imports are in `@marinoscar/platform-ai-providers` (see
116
+ * {@link aiProvidersPackageSdkDirs}).
94
117
  *
95
118
  * @param packageRoot - the root of the package tree being scanned.
96
119
  * @returns one `<slice>/<providers>/<id>/` entry per provider directory, empty when the slice is not under `packageRoot`.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-no-sdk-leak.suite.d.ts","sourceRoot":"","sources":["../../../../src/ai/testing/conformance/ai-no-sdk-leak.suite.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAKV,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,kBAAkB;IACjC,6GAA6G;IAC7G,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,uFAAuF;IACvF,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,uEAAuE;IACvE,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAcjD,CAAC;AAEH;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAanE;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzD;AAOD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACrD,UAAU,GAAE,SAAS,MAAM,EAAO,EAClC,MAAM,GAAE,SAAS,MAAM,EAA0B,GAChD,MAAM,EAAE,CAWV;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,SAAS,MAAM,EAA0B,GAAG,MAAM,EAAE,CAM3H;AAoLD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAMjE,CAAC"}
1
+ {"version":3,"file":"ai-no-sdk-leak.suite.d.ts","sourceRoot":"","sources":["../../../../src/ai/testing/conformance/ai-no-sdk-leak.suite.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAKV,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,kBAAkB;IACjC,6GAA6G;IAC7G,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,uFAAuF;IACvF,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,gBAAgB,EAAE,CAAC;IAC1D,uEAAuE;IACvE,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAcjD,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAOvE;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAanE;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzD;AAOD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACrD,UAAU,GAAE,SAAS,MAAM,EAAO,EAClC,MAAM,GAAE,SAAS,MAAM,EAA0B,GAChD,MAAM,EAAE,CAWV;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,SAAS,MAAM,EAA0B,GAAG,MAAM,EAAE,CAM3H;AAwLD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAMjE,CAAC"}
@@ -15,7 +15,18 @@
15
15
  // - NO file of the web or the contract may import one (the browser must never
16
16
  // hold a provider SDK any more than it may hold a provider key);
17
17
  // - NO app `package.json` and no other package declares a provider SDK: they
18
- // are dependencies of `@marinoscar/platform-api` only.
18
+ // are declared by the owning packages only.
19
+ //
20
+ // THE SDK OWNER SINCE #991. The five adapters, and every import of their
21
+ // SDKs, live in `@marinoscar/platform-ai-providers` (`src/<provider>/`, see
22
+ // {@link aiProvidersPackageSdkDirs}); `@marinoscar/platform-api`'s
23
+ // `ai/providers/<id>/` folders keep only the Nest bindings, which import no
24
+ // SDK, so the platform package's tree is scanned with no exempt directory at
25
+ // all. Two manifests may declare the SDKs, which is why `sdkOwner` takes a
26
+ // list: `@marinoscar/platform-ai-providers` (optional peers, so a plain-Node
27
+ // consumer installs only the SDK it uses) and `@marinoscar/platform-api`
28
+ // (dependencies, so an app on the platform gets all three installed, as
29
+ // before, and the lean package's optional peers resolve to them).
19
30
  //
20
31
  // THE BANNED LIST IS PACKAGE NAMES, NOT A GREP FOR "openai" AS A STRING, so a
21
32
  // comment or a variable named `openaiKeyHint` does not fail the suite. It is
@@ -36,6 +47,7 @@
36
47
  // =============================================================================
37
48
  Object.defineProperty(exports, "__esModule", { value: true });
38
49
  exports.aiNoSdkLeakSuite = exports.PROVIDER_SDK_PACKAGES = void 0;
50
+ exports.aiProvidersPackageSdkDirs = aiProvidersPackageSdkDirs;
39
51
  exports.aiPackageProviderDirs = aiPackageProviderDirs;
40
52
  exports.importSpecifiers = importSpecifiers;
41
53
  exports.registeredAiSdkPackages = registeredAiSdkPackages;
@@ -67,10 +79,40 @@ exports.PROVIDER_SDK_PACKAGES = Object.freeze([
67
79
  'together-ai',
68
80
  'ollama',
69
81
  ]);
82
+ /**
83
+ * The top-level directories of `@marinoscar/platform-ai-providers` that may
84
+ * import a provider SDK, in the form {@link SdkLeakTree.sdkDirs} takes: every
85
+ * directory directly under `packageRoot` (that package's `src`, or its
86
+ * `dist`) except `core/`, the provider-agnostic core, which imports none.
87
+ * One directory per provider subpath (`openai/`, `anthropic/`, `gemini/`), so
88
+ * a provider added there is covered without editing this list.
89
+ *
90
+ * @param packageRoot - the root of the `@marinoscar/platform-ai-providers` tree being scanned.
91
+ * @returns one `<provider>/` entry per provider directory, empty when `packageRoot` does not exist.
92
+ *
93
+ * @stability experimental
94
+ */
95
+ function aiProvidersPackageSdkDirs(packageRoot) {
96
+ const dir = (0, node_path_1.resolve)(packageRoot);
97
+ if (!(0, node_fs_1.statSync)(dir, { throwIfNoEntry: false }))
98
+ return [];
99
+ return (0, node_fs_1.readdirSync)(dir, { withFileTypes: true })
100
+ .filter((entry) => entry.isDirectory() && entry.name !== 'core')
101
+ .map((entry) => `${entry.name}/`);
102
+ }
103
+ /** The `sdkOwner` option as a list. */
104
+ function sdkOwners(options) {
105
+ if (!options.sdkOwner)
106
+ return [];
107
+ return Array.isArray(options.sdkOwner) ? options.sdkOwner : [options.sdkOwner];
108
+ }
70
109
  /**
71
110
  * The platform package's own adapter directories, in the form
72
111
  * {@link SdkLeakTree.sdkDirs} takes: one per provider the AI slice ships,
73
- * relative to `packageRoot` (the package's `src`, or its `dist`).
112
+ * relative to `packageRoot` (the package's `src`, or its `dist`). Since #991
113
+ * these folders hold only the Nest bindings of the adapters and import no
114
+ * SDK; the SDK imports are in `@marinoscar/platform-ai-providers` (see
115
+ * {@link aiProvidersPackageSdkDirs}).
74
116
  *
75
117
  * @param packageRoot - the root of the package tree being scanned.
76
118
  * @returns one `<slice>/<providers>/<id>/` entry per provider directory, empty when the slice is not under `packageRoot`.
@@ -229,9 +271,9 @@ function check(_context, options) {
229
271
  }
230
272
  scanned['providerDirs'] = providerDirs.length;
231
273
  scanned['registeredSdkPackages'] = registered.length;
232
- if (options.sdkOwner) {
233
- const declared = declaredSdks(readManifest(options.sdkOwner.manifest), banned);
234
- scanned['sdkOwner#declared'] = options.sdkOwner.declares.filter((name) => declared.includes(name)).length;
274
+ for (const [index, owner] of sdkOwners(options).entries()) {
275
+ const declared = declaredSdks(readManifest(owner.manifest), banned);
276
+ scanned[index === 0 ? 'sdkOwner#declared' : `sdkOwner#declared#${index}`] = owner.declares.filter((name) => declared.includes(name)).length;
235
277
  }
236
278
  for (const path of options.noSdkManifests) {
237
279
  for (const sdk of declaredSdks(readManifest(path), bannedInManifests))
@@ -281,12 +323,15 @@ function cases(options) {
281
323
  },
282
324
  });
283
325
  }
284
- if (options.sdkOwner) {
285
- const owner = options.sdkOwner;
326
+ for (const [index, owner] of sdkOwners(options).entries()) {
327
+ const key = index === 0 ? 'sdkOwner#declared' : `sdkOwner#declared#${index}`;
286
328
  out.push({
287
- name: 'declares the shipped SDKs in the owning package only',
329
+ // The first owner keeps the title the single-owner form always had.
330
+ name: index === 0
331
+ ? 'declares the shipped SDKs in the owning package only'
332
+ : `declares the shipped SDKs in the owning package only (${owner.manifest.split(/[\\/]/).slice(-2).join('/')})`,
288
333
  run: (report, expect) => {
289
- expect(report.scanned['sdkOwner#declared']).toBeGreaterThanOrEqual(owner.declares.length);
334
+ expect(report.scanned[key]).toBeGreaterThanOrEqual(owner.declares.length);
290
335
  },
291
336
  });
292
337
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-no-sdk-leak.suite.js","sourceRoot":"","sources":["../../../../src/ai/testing/conformance/ai-no-sdk-leak.suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-no-sdk-leak.suite.js","sourceRoot":"","sources":["../../../../src/ai/testing/conformance/ai-no-sdk-leak.suite.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,oBAAoB;AACpB,EAAE;AACF,8EAA8E;AAC9E,6BAA6B;AAC7B,iEAAiE;AACjE,gCAAgC;AAChC,gFAAgF;AAChF,qEAAqE;AACrE,+EAA+E;AAC/E,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,mEAAmE;AACnE,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,iEAAiE;AACjE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,2DAA2D;AAC3D,gFAAgF;AAChF,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;;;AA4IhF,8DAOC;AAsBD,sDAaC;AAyCD,4CAWC;AAcD,0DAEC;AAYD,oCAeC;AAWD,oCAMC;AApSD,qCAA8D;AAC9D,yCAAyD;AAEzD,kDAA2D;AAC3D,mFAA+E;AAkG/E;;;;;;GAMG;AACU,QAAA,qBAAqB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACpE,QAAQ;IACR,mBAAmB;IACnB,eAAe;IACf,uBAAuB;IACvB,wBAAwB;IACxB,WAAW;IACX,sBAAsB;IACtB,WAAW;IACX,UAAU;IACV,iCAAiC;IACjC,WAAW;IACX,aAAa;IACb,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC;IACjC,IAAI,CAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,OAAO,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;SAC/D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,uCAAuC;AACvC,SAAS,SAAS,CAAC,OAA2B;IAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEjC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,QAAwC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAA4B,CAAC,CAAC;AACtI,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,eAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,IAAA,mBAAO,EAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,OAAO,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAUzC,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,OAAO,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,CAAC;QACvG,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,QAAQ,GAAG;QACf,6DAA6D;QAC7D,oDAAoD;QACpD,kCAAkC;QAClC,4BAA4B;QAC5B,mCAAmC;QACnC,oCAAoC;KACrC,CAAC;IAEF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,SAAiB,EAAE,MAAyB;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAA,8CAAqB,GAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,KAAqD,EACrD,aAAgC,EAAE,EAClC,SAA4B,6BAAqB;IAEjD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACjE,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,cAAc,SAAS,GAAG,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,QAAiC,EAAE,SAA4B,6BAAqB;IAC/G,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;IAE/F,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAE,QAAQ,CAAC,KAAK,CAAwC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAC5H,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtC,GAAG,EAAE,IAAA,oBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,eAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,MAAM,EAAE,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC;KACnC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAe,EAAsB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3F,MAAM,OAAO,GAAG,CAAC,IAAmB,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAEjF,mDAAmD;AACnD,SAAS,KAAK,CAAC,QAA4B,EAAE,OAA2B;IACtE,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,mFAAmF;IACnF,yEAAyE;IACzE,MAAM,iBAAiB,GAAG,CAAC,GAAG,6BAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvI,MAAM,MAAM,GAAG,CAAC,GAAG,6BAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;IAC9F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAChD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAiB,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;QACzB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;KACjB,EAAE,CAAC;QACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;YACtD,gFAAgF;YAChF,MAAM,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACvG,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxH,CAAC;YACH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC1D,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAA2B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAElI,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,EAAE,6DAA6D,CAAC,CAAC,CAAC;IAC/H,CAAC;IACD,OAAO,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAErD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9I,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IACzI,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,8DAA8D;AAC9D,SAAS,SAAS,CAAC,MAAyB,EAAE,GAAW;IACvD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACjI,CAAC;AAED,sDAAsD;AACtD,SAAS,KAAK,CAAC,OAA2B;IACxC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAElC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;QACzB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;KACjB,EAAE,CAAC;QACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;YAE3C,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,oCAAoC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,iCAAiC;gBAC5I,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnE,IAAI,OAAO;wBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACnF,CAAC;aACF,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,OAAO;oBACX,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,6DAA6D;oBAC3E,CAAC,CAAC,IAAI,KAAK,KAAK;wBACd,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,uEAAuE;wBACrF,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,gHAAgH;gBAClI,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oBACtB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,6FAA6F;YACnG,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1J,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,KAAK,EAAE,CAAC;QAC7E,GAAG,CAAC,IAAI,CAAC;YACP,oEAAoE;YACpE,IAAI,EACF,KAAK,KAAK,CAAC;gBACT,CAAC,CAAC,sDAAsD;gBACxD,CAAC,CAAC,yDAAyD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACnH,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B;YAC3E,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAAI,CACN;QACE,IAAI,EAAE,qDAAqD;QAC3D,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,OAAO,GAAiB;gBAC5B,EAAE,GAAG,EAAE,6BAA6B,EAAE,MAAM,EAAE,GAAG,MAAM,6CAA6C,EAAE;gBACtG,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,eAAe,OAAO,kCAAkC,EAAE;gBAC9F,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,8DAA8D,EAAE;aACpG,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpC,+CAA+C;gBAC/C,0DAA0D;aAC3D,CAAC,CAAC;QACL,CAAC;KACF,EACD;QACE,IAAI,EAAE,gEAAgE;QACtE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,OAAO,GAAiB;gBAC5B,EAAE,GAAG,EAAE,oCAAoC,EAAE,MAAM,EAAE,GAAG,MAAM,wBAAwB,EAAE;gBACxF,EAAE,GAAG,EAAE,uBAAuB,EAAE,MAAM,EAAE,GAAG,MAAM,wBAAwB,EAAE;aAC5E,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC5G,CAAC;KACF,EACD;QACE,IAAI,EAAE,oGAAoG;QAC1G,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,OAAO,GAAiB;gBAC5B,EAAE,GAAG,EAAE,6CAA6C,EAAE,MAAM,EAAE,GAAG,MAAM,mCAAmC,EAAE;gBAC5G,EAAE,GAAG,EAAE,6BAA6B,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,EAAE;aACtF,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,GAAG,6BAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzG,iDAAiD;aAClD,CAAC,CAAC;QACL,CAAC;KACF,EACD;QACE,IAAI,EAAE,mEAAmE;QACzE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjH,MAAM,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAChG,MAAM,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;KACF,CACF,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACU,QAAA,gBAAgB,GAAyC;IACpE,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,yEAAyE;IAChF,WAAW,EAAE,gJAAgJ;IAC7J,KAAK;IACL,KAAK;CACN,CAAC;AAEF,IAAI,CAAC,yBAAiB,CAAC,GAAG,CAAC,wBAAgB,CAAC,EAAE,CAAC;IAAE,yBAAiB,CAAC,QAAQ,CAAC,wBAAgB,CAAC,CAAC"}
@@ -18,7 +18,7 @@ export { aiKillSwitchSuite } from './conformance/ai-kill-switch.suite';
18
18
  export { discoverAiRbacRoutes, discoverAiRoutes, findAdminRoutesBlocked, findAiPermissionDeclarationFailures, findRoleMismatches, findRoutesNotAnswering401, findRoutesNotKillSwitched, isPermissionDenied, } from './conformance/ai-route-checks';
19
19
  export type { AiRbacRoute, AiRoute, DiscoveredAiRoutes } from './conformance/ai-route-checks';
20
20
  export type { AiKillSwitchOptions } from './conformance/ai-kill-switch.suite';
21
- export { PROVIDER_SDK_PACKAGES, aiNoSdkLeakSuite, aiPackageProviderDirs, declaredSdks, findSdkLeaks, importSpecifiers, registeredAiSdkPackages, } from './conformance/ai-no-sdk-leak.suite';
21
+ export { PROVIDER_SDK_PACKAGES, aiNoSdkLeakSuite, aiPackageProviderDirs, aiProvidersPackageSdkDirs, declaredSdks, findSdkLeaks, importSpecifiers, registeredAiSdkPackages, } from './conformance/ai-no-sdk-leak.suite';
22
22
  export type { AiNoSdkLeakOptions, SdkLeakTree, SdkOwnerManifest } from './conformance/ai-no-sdk-leak.suite';
23
23
  export { aiOrchestrationBoundarySuite } from './conformance/ai-orchestration-boundary.registered';
24
24
  export { aiRbacMatrixSuite } from './conformance/ai-rbac-matrix.suite';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/testing/index.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  // Documented in ../README.md.
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.collectPropertyNames = exports.keysSeenBy = exports.aiKeyPolicySuite = exports.findNodeEligibleAiJobs = exports.findAiJobsMissingFromServerOnly = exports.aiJobsServerOnlySuite = exports.createInMemoryAiStorage = exports.IN_MEMORY_PRESIGNED_ORIGIN = exports.IN_MEMORY_PRESIGNED_SIGNATURE = exports.InMemoryStorageNotConfiguredError = exports.createInMemoryAiKeysPrisma = exports.FakeAiProvider = exports.fakeEmbeddingVector = exports.FAKE_IMAGE_BYTES = exports.FAKE_SPEECH_VOICES = exports.FAKE_REALTIME_BASE_URL = exports.FAKE_REALTIME_SECRET_PREFIX = exports.FAKE_REALTIME_VOICES = exports.FAKE_REALTIME_MODEL_CAPABILITIES = exports.FAKE_SPEECH_MODEL_CAPABILITIES = exports.FAKE_TRANSCRIPTION_MODEL_CAPABILITIES = exports.FAKE_IMAGE_MODEL_CAPABILITIES = exports.FAKE_EMBEDDING_MODEL_CAPABILITIES = exports.FAKE_TEXT_MODEL_CAPABILITIES = exports.FAKE_FILE_INPUT_STRATEGY = exports.describeAiProviderConformance = exports.conformanceRequests = exports.conformanceWeatherTool = exports.conformanceStructuredSchema = exports.CONFORMANCE_WAV = exports.CONFORMANCE_PNG = exports.CONFORMANCE_IMAGE_PROMPT = exports.CONFORMANCE_EMBEDDING_INPUTS = exports.CONFORMANCE_TOOL_PROMPT = exports.CONFORMANCE_STRUCTURED_PROMPT = exports.CONFORMANCE_TEXT_PROMPT = exports.createAiRuntimeHarness = exports.HARNESS_REALTIME_MODEL = exports.HARNESS_SPEECH_MODEL = exports.HARNESS_TRANSCRIPTION_MODEL = exports.HARNESS_IMAGE_MODEL = exports.HARNESS_EMBEDDING_MODEL = exports.HARNESS_MODEL = exports.HARNESS_PROVIDER = exports.HARNESS_TENANT_KEY = exports.HARNESS_ORG_KEY = exports.HARNESS_USER_KEY = exports.HARNESS_ORG = exports.HARNESS_OTHER_USER = exports.HARNESS_USER = void 0;
12
- exports.runOrchestrationBoundarySuite = exports.orchestrationImportSpecifiers = exports.isBannedOrchestrationPackage = exports.findOrchestrationViolations = exports.DEFAULT_BANNED_ORCHESTRATION_PACKAGES = exports.parseSse = exports.forEachDocumentOperation = exports.concreteRoutePath = exports.authHeader = exports.OTHER_USER_KEY = exports.ALL_KEYS = exports.aiSecretEgressSuite = exports.aiRbacMatrixSuite = exports.aiOrchestrationBoundarySuite = exports.registeredAiSdkPackages = exports.importSpecifiers = exports.findSdkLeaks = exports.declaredSdks = exports.aiPackageProviderDirs = exports.aiNoSdkLeakSuite = exports.PROVIDER_SDK_PACKAGES = exports.isPermissionDenied = exports.findRoutesNotKillSwitched = exports.findRoutesNotAnswering401 = exports.findRoleMismatches = exports.findAiPermissionDeclarationFailures = exports.findAdminRoutesBlocked = exports.discoverAiRoutes = exports.discoverAiRbacRoutes = exports.aiKillSwitchSuite = exports.KEY_SHAPED_PROPERTY_NAMES = exports.findSecretShapedProperties = exports.findLeakedSentinels = exports.findKeyShapedProperties = void 0;
12
+ exports.runOrchestrationBoundarySuite = exports.orchestrationImportSpecifiers = exports.isBannedOrchestrationPackage = exports.findOrchestrationViolations = exports.DEFAULT_BANNED_ORCHESTRATION_PACKAGES = exports.parseSse = exports.forEachDocumentOperation = exports.concreteRoutePath = exports.authHeader = exports.OTHER_USER_KEY = exports.ALL_KEYS = exports.aiSecretEgressSuite = exports.aiRbacMatrixSuite = exports.aiOrchestrationBoundarySuite = exports.registeredAiSdkPackages = exports.importSpecifiers = exports.findSdkLeaks = exports.declaredSdks = exports.aiProvidersPackageSdkDirs = exports.aiPackageProviderDirs = exports.aiNoSdkLeakSuite = exports.PROVIDER_SDK_PACKAGES = exports.isPermissionDenied = exports.findRoutesNotKillSwitched = exports.findRoutesNotAnswering401 = exports.findRoleMismatches = exports.findAiPermissionDeclarationFailures = exports.findAdminRoutesBlocked = exports.discoverAiRoutes = exports.discoverAiRbacRoutes = exports.aiKillSwitchSuite = exports.KEY_SHAPED_PROPERTY_NAMES = exports.findSecretShapedProperties = exports.findLeakedSentinels = exports.findKeyShapedProperties = void 0;
13
13
  // Importing this entry registers the conformance suites with `runPlatformConformance`.
14
14
  require("./conformance/register");
15
15
  var ai_runtime_harness_1 = require("./ai-runtime-harness");
@@ -90,6 +90,7 @@ var ai_no_sdk_leak_suite_1 = require("./conformance/ai-no-sdk-leak.suite");
90
90
  Object.defineProperty(exports, "PROVIDER_SDK_PACKAGES", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.PROVIDER_SDK_PACKAGES; } });
91
91
  Object.defineProperty(exports, "aiNoSdkLeakSuite", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.aiNoSdkLeakSuite; } });
92
92
  Object.defineProperty(exports, "aiPackageProviderDirs", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.aiPackageProviderDirs; } });
93
+ Object.defineProperty(exports, "aiProvidersPackageSdkDirs", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.aiProvidersPackageSdkDirs; } });
93
94
  Object.defineProperty(exports, "declaredSdks", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.declaredSdks; } });
94
95
  Object.defineProperty(exports, "findSdkLeaks", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.findSdkLeaks; } });
95
96
  Object.defineProperty(exports, "importSpecifiers", { enumerable: true, get: function () { return ai_no_sdk_leak_suite_1.importSpecifiers; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/testing/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { parseRetryAfterMs } from '@marinoscar/platform-ai-providers';
2
+ export { parseRetryAfterMs };
1
3
  /**
2
4
  * Thrown by a handler that has positively identified a provider rate limit.
3
5
  *
@@ -47,32 +49,6 @@ export interface SelfClassifyingRateLimit {
47
49
  /** Whether this error is a provider rate limit, and the delay the provider asked for. */
48
50
  [CLASSIFY_RATE_LIMIT](): RateLimitClassification;
49
51
  }
50
- /**
51
- * Parses an HTTP `Retry-After` header value into milliseconds.
52
- *
53
- * RFC 9110 allows exactly two forms and this accepts both, because providers
54
- * genuinely use both:
55
- *
56
- * - `Retry-After: 120` — delta-seconds → 120000
57
- * - `Retry-After: Wed, 21 Oct 2015 07:28:00 GMT` — an HTTP-date, converted
58
- * to a delay RELATIVE TO `now` (which is a parameter so tests can pin it,
59
- * and so a caller that already has a clock does not disagree with this
60
- * function about what time it is).
61
- *
62
- * Returns `null` for absent, empty, unparseable, or nonsensical input —
63
- * INCLUDING a date already in the past, which is not an error but does not
64
- * describe a wait. `null` means "no opinion", and the caller falls back to
65
- * pure backoff; it never means zero, because a provider that said nothing
66
- * must not be read as a provider that said "retry immediately".
67
- *
68
- * A negative delta-seconds is also `null` for the same reason. A fractional
69
- * value (`0.5`) is rejected too: the grammar is DIGIT-only, so a fractional
70
- * value means the header is not what we think it is, and guessing at a
71
- * malformed header is how a 500ms wait gets read as a 500-second one.
72
- *
73
- * @stability experimental
74
- */
75
- export declare function parseRetryAfterMs(header: string | number | null | undefined, now?: number): number | null;
76
52
  /**
77
53
  * Decides whether an arbitrary thrown value is a provider rate limit, and
78
54
  * extracts any `Retry-After` it carried.
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.error.d.ts","sourceRoot":"","sources":["../../src/jobs/rate-limit.error.ts"],"names":[],"mappings":"AA4DA;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAGrC,mGAAmG;aACnF,YAAY,CAAC,EAAE,MAAM;gBAFrC,OAAO,EAAE,MAAM;IACf,mGAAmG;IACnF,YAAY,CAAC,EAAE,MAAM,YAAA;CAgBxC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAID;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAA6C,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,yFAAyF;IACzF,CAAC,mBAAmB,CAAC,IAAI,uBAAuB,CAAC;CAClD;AAkKD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,GAAG,GAAE,MAAmB,GACvB,MAAM,GAAG,IAAI,CA+Bf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,GAAG,GAAE,MAAmB,GACvB,uBAAuB,CAiDzB"}
1
+ {"version":3,"file":"rate-limit.error.d.ts","sourceRoot":"","sources":["../../src/jobs/rate-limit.error.ts"],"names":[],"mappings":"AA4DA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAMtE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAGrC,mGAAmG;aACnF,YAAY,CAAC,EAAE,MAAM;gBAFrC,OAAO,EAAE,MAAM;IACf,mGAAmG;IACnF,YAAY,CAAC,EAAE,MAAM,YAAA;CAgBxC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAID;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAA6C,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,yFAAyF;IACzF,CAAC,mBAAmB,CAAC,IAAI,uBAAuB,CAAC;CAClD;AAkKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,GAAG,GAAE,MAAmB,GACvB,uBAAuB,CAiDzB"}