@marinoscar/platform-api 0.1.0-next.5 → 0.1.0-next.7

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 +19 -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,127 +1,4 @@
1
- import { z } from 'zod';
2
- /**
3
- * The capabilities the platform ships. Permanent strings: they are stored in
4
- * the catalog table and in administrator overrides, so renaming one is a data
5
- * migration, not a refactor. The vocabulary is OPEN (PP-14.17, #935): an app
6
- * or package adds its own with `registerAiCapability`; this tuple is only the
7
- * built-in part, which registers itself through that same function
8
- * (`./capability-registry.ts`).
9
- *
10
- * @stability experimental
11
- */
12
- export declare const BUILTIN_AI_CAPABILITIES: readonly ["responses", "reasoning", "tools", "hosted_tools", "structured_output", "streaming", "vision_input", "file_input", "image_generation", "image_edit", "audio_transcription", "audio_speech", "embeddings", "realtime"];
13
- /**
14
- * The capabilities the platform ships.
15
- *
16
- * @deprecated Use {@link BUILTIN_AI_CAPABILITIES}. The list is no longer the
17
- * set of capabilities a deployment knows (PP-14.17, #935); ask
18
- * `listAiCapabilities()` or `GET /api/admin/ai/capabilities`. Kept as an
19
- * alias for one release.
20
- * @stability experimental
21
- */
22
- export declare const AI_CAPABILITIES: readonly ["responses", "reasoning", "tools", "hosted_tools", "structured_output", "streaming", "vision_input", "file_input", "image_generation", "image_edit", "audio_transcription", "audio_speech", "embeddings", "realtime"];
23
- /**
24
- * One of {@link BUILTIN_AI_CAPABILITIES}.
25
- *
26
- * @stability experimental
27
- */
28
- export type BuiltinAiCapability = (typeof BUILTIN_AI_CAPABILITIES)[number];
29
- /**
30
- * A capability id: a built-in one (autocompleted) or any string an app or
31
- * package registered with `registerAiCapability`. See
32
- * `AI_CAPABILITY_ID_PATTERN`.
33
- *
34
- * @stability experimental
35
- */
36
- export type AiCapability = BuiltinAiCapability | (string & {});
37
- /**
38
- * What a model can read.
39
- *
40
- * @stability experimental
41
- */
42
- export declare const AI_INPUT_MODALITIES: readonly ["text", "image", "audio", "file"];
43
- /**
44
- * What a model can produce.
45
- *
46
- * @stability experimental
47
- */
48
- export declare const AI_OUTPUT_MODALITIES: readonly ["text", "image", "audio", "embedding"];
49
- /**
50
- * How hard a reasoning model may be asked to think.
51
- *
52
- * @stability experimental
53
- */
54
- export declare const AI_REASONING_EFFORTS: readonly ["minimal", "low", "medium", "high"];
55
- /**
56
- * One of {@link AI_INPUT_MODALITIES}.
57
- *
58
- * @stability experimental
59
- */
60
- export type AiInputModality = (typeof AI_INPUT_MODALITIES)[number];
61
- /**
62
- * One of {@link AI_OUTPUT_MODALITIES}.
63
- *
64
- * @stability experimental
65
- */
66
- export type AiOutputModality = (typeof AI_OUTPUT_MODALITIES)[number];
67
- /**
68
- * One of {@link AI_REASONING_EFFORTS}.
69
- *
70
- * @stability experimental
71
- */
72
- export type AiReasoningEffort = (typeof AI_REASONING_EFFORTS)[number];
73
- /**
74
- * The entries of the built-in capability enum (`z.enum(BUILTIN_AI_CAPABILITIES)`).
75
- *
76
- * @stability experimental
77
- */
78
- export type AiCapabilityEnum = {
79
- [K in BuiltinAiCapability]: K;
80
- };
81
- /**
82
- * The entries of the input-modality enum.
83
- *
84
- * @stability experimental
85
- */
86
- export type AiInputModalityEnum = {
87
- [K in AiInputModality]: K;
88
- };
89
- /**
90
- * The entries of the output-modality enum.
91
- *
92
- * @stability experimental
93
- */
94
- export type AiOutputModalityEnum = {
95
- [K in AiOutputModality]: K;
96
- };
97
- /**
98
- * The entries of the reasoning-effort enum.
99
- *
100
- * @stability experimental
101
- */
102
- export type AiReasoningEffortEnum = {
103
- [K in AiReasoningEffort]: K;
104
- };
105
- /**
106
- * What one model can do. Validated with this schema wherever it crosses a
107
- * trust boundary (an adapter's classifier output, an administrator override,
108
- * a JSONB column read back from the database).
109
- *
110
- * @stability experimental
111
- */
112
- export declare const aiModelCapabilitiesSchema: z.ZodObject<{
113
- capabilities: z.ZodArray<z.ZodString>;
114
- inputModalities: z.ZodArray<z.ZodEnum<AiInputModalityEnum>>;
115
- outputModalities: z.ZodArray<z.ZodEnum<AiOutputModalityEnum>>;
116
- reasoningEfforts: z.ZodOptional<z.ZodArray<z.ZodEnum<AiReasoningEffortEnum>>>;
117
- contextWindow: z.ZodOptional<z.ZodNumber>;
118
- maxOutputTokens: z.ZodOptional<z.ZodNumber>;
119
- voices: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
- }, z.core.$strip>;
121
- /**
122
- * What one model can do (`aiModelCapabilitiesSchema`'s output).
123
- *
124
- * @stability experimental
125
- */
126
- export type AiModelCapabilities = z.infer<typeof aiModelCapabilitiesSchema>;
1
+ import './ai-error';
2
+ export { AI_CAPABILITIES, AI_INPUT_MODALITIES, AI_OUTPUT_MODALITIES, AI_REASONING_EFFORTS, aiModelCapabilitiesSchema, BUILTIN_AI_CAPABILITIES, } from '@marinoscar/platform-ai-providers';
3
+ export type { AiCapability, AiCapabilityEnum, AiInputModality, AiInputModalityEnum, AiModelCapabilities, AiOutputModality, AiOutputModalityEnum, AiReasoningEffort, AiReasoningEffortEnum, BuiltinAiCapability, } from '@marinoscar/platform-ai-providers';
127
4
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/ai/core/capabilities.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,iOAe1B,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,iOAA0B,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,6CAA8C,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,kDAAmD,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,+CAAgD,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC;CAAE,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAAG,CAAC,IAAI,eAAe,GAAG,CAAC;CAAE,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;KAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC;CAAE,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;KAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC;CAAE,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;iBAwBpC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/ai/core/capabilities.ts"],"names":[],"mappings":"AAKA,OAAO,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC"}
@@ -1,112 +1,16 @@
1
1
  "use strict";
2
- // =============================================================================
3
- // AI capabilities (issue #424, epic #419)
4
- // =============================================================================
5
- //
6
- // The closed vocabulary every other AI story speaks: the catalog (#429) stores
7
- // an `AiModelCapabilities` per model, the admin UI renders it as chips, and the
8
- // runtime gate pipeline (#431) refuses a request whose shape needs a
9
- // capability the chosen model does not declare.
10
- //
11
- // TWO LEVELS, deliberately not conflated:
12
- //
13
- // - MODEL level (this file): what one model can do. Declared by the
14
- // adapter's `classifyModel()` and overridable by an administrator.
15
- // - PROVIDER level (`AiProviderRegistry.supports()`): which capability
16
- // PORTS the adapter implements at all. Derived from port presence, never
17
- // declared, so it cannot drift from the code.
18
- //
19
- // A request needs both: the provider must carry the port, and the model must
20
- // declare the capability.
21
- // =============================================================================
2
+ // Moved to `@marinoscar/platform-ai-providers` (#991) so the AI provider
3
+ // adapters and their core types run without Nest. This path re-exports the
4
+ // names it always exported, unchanged, so platform imports keep working.
5
+ // The side-effect import runs the `AiError` integration (ai-error.ts) first.
22
6
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.aiModelCapabilitiesSchema = exports.AI_REASONING_EFFORTS = exports.AI_OUTPUT_MODALITIES = exports.AI_INPUT_MODALITIES = exports.AI_CAPABILITIES = exports.BUILTIN_AI_CAPABILITIES = void 0;
24
- const ai_1 = require("@marinoscar/platform-contract/ai");
25
- const zod_1 = require("zod");
26
- /**
27
- * The capabilities the platform ships. Permanent strings: they are stored in
28
- * the catalog table and in administrator overrides, so renaming one is a data
29
- * migration, not a refactor. The vocabulary is OPEN (PP-14.17, #935): an app
30
- * or package adds its own with `registerAiCapability`; this tuple is only the
31
- * built-in part, which registers itself through that same function
32
- * (`./capability-registry.ts`).
33
- *
34
- * @stability experimental
35
- */
36
- exports.BUILTIN_AI_CAPABILITIES = [
37
- 'responses',
38
- 'reasoning',
39
- 'tools',
40
- 'hosted_tools',
41
- 'structured_output',
42
- 'streaming',
43
- 'vision_input',
44
- 'file_input',
45
- 'image_generation',
46
- 'image_edit',
47
- 'audio_transcription',
48
- 'audio_speech',
49
- 'embeddings',
50
- 'realtime',
51
- ];
52
- /**
53
- * The capabilities the platform ships.
54
- *
55
- * @deprecated Use {@link BUILTIN_AI_CAPABILITIES}. The list is no longer the
56
- * set of capabilities a deployment knows (PP-14.17, #935); ask
57
- * `listAiCapabilities()` or `GET /api/admin/ai/capabilities`. Kept as an
58
- * alias for one release.
59
- * @stability experimental
60
- */
61
- exports.AI_CAPABILITIES = exports.BUILTIN_AI_CAPABILITIES;
62
- /**
63
- * What a model can read.
64
- *
65
- * @stability experimental
66
- */
67
- exports.AI_INPUT_MODALITIES = ['text', 'image', 'audio', 'file'];
68
- /**
69
- * What a model can produce.
70
- *
71
- * @stability experimental
72
- */
73
- exports.AI_OUTPUT_MODALITIES = ['text', 'image', 'audio', 'embedding'];
74
- /**
75
- * How hard a reasoning model may be asked to think.
76
- *
77
- * @stability experimental
78
- */
79
- exports.AI_REASONING_EFFORTS = ['minimal', 'low', 'medium', 'high'];
80
- /**
81
- * What one model can do. Validated with this schema wherever it crosses a
82
- * trust boundary (an adapter's classifier output, an administrator override,
83
- * a JSONB column read back from the database).
84
- *
85
- * @stability experimental
86
- */
87
- exports.aiModelCapabilitiesSchema = zod_1.z.object({
88
- /**
89
- * The capabilities the model declares: built-in ones and any an app
90
- * registered. Validated by shape only (`AI_CAPABILITY_ID_PATTERN`), never
91
- * against the registry: a catalog row or an override written under a
92
- * capability whose plugin was since removed must still read back.
93
- */
94
- capabilities: zod_1.z.array(zod_1.z.string().regex(ai_1.AI_CAPABILITY_ID_PATTERN)),
95
- /** What it reads. */
96
- inputModalities: zod_1.z.array(zod_1.z.enum(exports.AI_INPUT_MODALITIES)),
97
- /** What it produces. */
98
- outputModalities: zod_1.z.array(zod_1.z.enum(exports.AI_OUTPUT_MODALITIES)),
99
- /** The reasoning efforts it accepts, for a `reasoning` model. */
100
- reasoningEfforts: zod_1.z.array(zod_1.z.enum(exports.AI_REASONING_EFFORTS)).optional(),
101
- /** The context window in tokens, when known. */
102
- contextWindow: zod_1.z.number().int().positive().optional(),
103
- /** The output-token ceiling, when known. */
104
- maxOutputTokens: zod_1.z.number().int().positive().optional(),
105
- /**
106
- * The voices an `audio_speech` model speaks in (#439) — surfaced through
107
- * `GET /api/ai/models` so a picker can offer them. Optional: absent means
108
- * "the provider's own list" (`AiAudioPort.voices`).
109
- */
110
- voices: zod_1.z.array(zod_1.z.string().min(1).max(64)).max(100).optional(),
111
- });
7
+ exports.BUILTIN_AI_CAPABILITIES = exports.aiModelCapabilitiesSchema = exports.AI_REASONING_EFFORTS = exports.AI_OUTPUT_MODALITIES = exports.AI_INPUT_MODALITIES = exports.AI_CAPABILITIES = void 0;
8
+ require("./ai-error");
9
+ var platform_ai_providers_1 = require("@marinoscar/platform-ai-providers");
10
+ Object.defineProperty(exports, "AI_CAPABILITIES", { enumerable: true, get: function () { return platform_ai_providers_1.AI_CAPABILITIES; } });
11
+ Object.defineProperty(exports, "AI_INPUT_MODALITIES", { enumerable: true, get: function () { return platform_ai_providers_1.AI_INPUT_MODALITIES; } });
12
+ Object.defineProperty(exports, "AI_OUTPUT_MODALITIES", { enumerable: true, get: function () { return platform_ai_providers_1.AI_OUTPUT_MODALITIES; } });
13
+ Object.defineProperty(exports, "AI_REASONING_EFFORTS", { enumerable: true, get: function () { return platform_ai_providers_1.AI_REASONING_EFFORTS; } });
14
+ Object.defineProperty(exports, "aiModelCapabilitiesSchema", { enumerable: true, get: function () { return platform_ai_providers_1.aiModelCapabilitiesSchema; } });
15
+ Object.defineProperty(exports, "BUILTIN_AI_CAPABILITIES", { enumerable: true, get: function () { return platform_ai_providers_1.BUILTIN_AI_CAPABILITIES; } });
112
16
  //# sourceMappingURL=capabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/ai/core/capabilities.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,yEAAyE;AACzE,6EAA6E;AAC7E,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,0BAA0B;AAC1B,gFAAgF;;;AAEhF,yDAA4E;AAC5E,6BAAwB;AAExB;;;;;;;;;GASG;AACU,QAAA,uBAAuB,GAAG;IACrC,WAAW;IACX,WAAW;IACX,OAAO;IACP,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,qBAAqB;IACrB,cAAc;IACd,YAAY;IACZ,UAAU;CACF,CAAC;AAEX;;;;;;;;GAQG;AACU,QAAA,eAAe,GAAG,+BAAuB,CAAC;AAkBvD;;;;GAIG;AACU,QAAA,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAE/E;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAU,CAAC;AAErF;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAmDlF;;;;;;GAMG;AACU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD;;;;;OAKG;IACH,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,6BAAwB,CAAC,CAAC;IACjE,qBAAqB;IACrB,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,2BAAmB,CAAmC,CAAC;IACvF,wBAAwB;IACxB,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,4BAAoB,CAAoC,CAAC;IAC1F,iEAAiE;IACjE,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,IAAI,CAAC,4BAAoB,CAAqC,CAAC,CAAC,QAAQ,EAAE;IACtG,gDAAgD;IAChD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,4CAA4C;IAC5C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD;;;;OAIG;IACH,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC/D,CAAC,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/ai/core/capabilities.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;;;AAE7E,sBAAoB;AAEpB,2EAO2C;AANzC,wHAAA,eAAe,OAAA;AACf,4HAAA,mBAAmB,OAAA;AACnB,6HAAA,oBAAoB,OAAA;AACpB,6HAAA,oBAAoB,OAAA;AACpB,kIAAA,yBAAyB,OAAA;AACzB,gIAAA,uBAAuB,OAAA"}
@@ -1,16 +1,3 @@
1
- import { type AiInputItem, type AiOutputItem, type AiResponseRequest } from './types/responses.types';
2
- /**
3
- * A request's `input` as items: a bare string is one user message.
4
- *
5
- * @stability experimental
6
- */
7
- export declare function asInputItems(input: AiResponseRequest['input']): AiInputItem[];
8
- /**
9
- * One response's output as the input items that replay it (#446). A
10
- * `reasoning` item keeps its symbol-keyed provider state — the reason it is
11
- * copied with a spread rather than rebuilt field by field.
12
- *
13
- * @stability experimental
14
- */
15
- export declare function replayOutput(output: AiOutputItem[]): AiInputItem[];
1
+ import './ai-error';
2
+ export { asInputItems, replayOutput, } from '@marinoscar/platform-ai-providers';
16
3
  //# sourceMappingURL=conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/ai/core/conversation.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEzH;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,CAI7E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CA6BlE"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/ai/core/conversation.ts"],"names":[],"mappings":"AAKA,OAAO,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,YAAY,GACb,MAAM,mCAAmC,CAAC"}
@@ -1,57 +1,12 @@
1
1
  "use strict";
2
- // =============================================================================
3
- // Replaying a conversation as input (issue #446, epic #421)
4
- // =============================================================================
5
- //
6
- // A provider that cannot chain with `previousResponseId`
7
- // (`AiProviderAdapter.supportsPreviousResponseId: false`) is sent the whole
8
- // conversation every time. These two helpers are the one definition of what
9
- // "the conversation so far" is as `AiInputItem`s — shared by the runtime's
10
- // tool loop and the conformance kit, so both replay a turn identically.
11
- // =============================================================================
2
+ // Moved to `@marinoscar/platform-ai-providers` (#991) so the AI provider
3
+ // adapters and their core types run without Nest. This path re-exports the
4
+ // names it always exported, unchanged, so platform imports keep working.
5
+ // The side-effect import runs the `AiError` integration (ai-error.ts) first.
12
6
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.asInputItems = asInputItems;
14
- exports.replayOutput = replayOutput;
15
- const responses_types_1 = require("./types/responses.types");
16
- /**
17
- * A request's `input` as items: a bare string is one user message.
18
- *
19
- * @stability experimental
20
- */
21
- function asInputItems(input) {
22
- return typeof input === 'string'
23
- ? [{ type: 'message', role: 'user', content: [{ type: 'text', text: input }] }]
24
- : [...input];
25
- }
26
- /**
27
- * One response's output as the input items that replay it (#446). A
28
- * `reasoning` item keeps its symbol-keyed provider state — the reason it is
29
- * copied with a spread rather than rebuilt field by field.
30
- *
31
- * @stability experimental
32
- */
33
- function replayOutput(output) {
34
- const items = [];
35
- for (const item of output) {
36
- switch (item.type) {
37
- case 'message':
38
- if (item.text.length > 0) {
39
- items.push({ type: 'message', role: 'assistant', content: [{ type: 'text', text: item.text }] });
40
- }
41
- break;
42
- case 'function_call':
43
- items.push({ type: 'function_call', callId: item.callId, name: item.name, arguments: item.arguments });
44
- break;
45
- case 'reasoning': {
46
- const state = item[responses_types_1.AI_PROVIDER_STATE];
47
- items.push({ type: 'reasoning', summary: [...item.summary], ...(state ? { [responses_types_1.AI_PROVIDER_STATE]: state } : {}) });
48
- break;
49
- }
50
- default:
51
- // hosted_tool_call: executed by the provider inside that response; not replayable.
52
- break;
53
- }
54
- }
55
- return items;
56
- }
7
+ exports.replayOutput = exports.asInputItems = void 0;
8
+ require("./ai-error");
9
+ var platform_ai_providers_1 = require("@marinoscar/platform-ai-providers");
10
+ Object.defineProperty(exports, "asInputItems", { enumerable: true, get: function () { return platform_ai_providers_1.asInputItems; } });
11
+ Object.defineProperty(exports, "replayOutput", { enumerable: true, get: function () { return platform_ai_providers_1.replayOutput; } });
57
12
  //# sourceMappingURL=conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/ai/core/conversation.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,4DAA4D;AAC5D,gFAAgF;AAChF,EAAE;AACF,yDAAyD;AACzD,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,gFAAgF;;AAShF,oCAIC;AASD,oCA6BC;AAjDD,6DAAyH;AAEzH;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAiC;IAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC9B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,MAAsB;IACjD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnG,CAAC;gBACD,MAAM;YAER,KAAK,eAAe;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACvG,MAAM;YAER,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,mCAAiB,CAAC,CAAC;gBAEtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,mCAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChH,MAAM;YACR,CAAC;YAED;gBACE,mFAAmF;gBACnF,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/ai/core/conversation.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;;;AAE7E,sBAAoB;AAEpB,2EAG2C;AAFzC,qHAAA,YAAY,OAAA;AACZ,qHAAA,YAAY,OAAA"}
@@ -1,173 +1,4 @@
1
- import { z } from 'zod';
2
- import type { AiHostedTool, AiHostedToolType, AiTool } from './types/responses.types';
3
- /**
4
- * The admin policy the gate reads — structurally `ai.hostedTools` from the settings namespace.
5
- *
6
- * @stability experimental
7
- */
8
- export type AiHostedToolsPolicy = Record<AiHostedToolType, boolean> & {
9
- /** Hosts an MCP `serverUrl` may name; `*.example.com` matches subdomains. Empty = any `https` host. */
10
- mcpAllowedHosts: string[];
11
- };
12
- /**
13
- * Most header entries one MCP tool may carry.
14
- *
15
- * @stability experimental
16
- */
17
- export declare const AI_MCP_MAX_HEADERS = 16;
18
- /**
19
- * A label the provider accepts for an MCP server.
20
- *
21
- * @stability experimental
22
- */
23
- export declare const AI_MCP_SERVER_LABEL: RegExp;
24
- /**
25
- * One hosted tool, as a request may carry it.
26
- *
27
- * @internal
28
- */
29
- export declare const aiHostedToolSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
30
- type: z.ZodLiteral<"web_search">;
31
- searchContextSize: z.ZodOptional<z.ZodEnum<{
32
- low: "low";
33
- medium: "medium";
34
- high: "high";
35
- }>>;
36
- userLocation: z.ZodOptional<z.ZodObject<{
37
- country: z.ZodOptional<z.ZodString>;
38
- city: z.ZodOptional<z.ZodString>;
39
- }, z.core.$strict>>;
40
- }, z.core.$strict>, z.ZodObject<{
41
- type: z.ZodLiteral<"file_search">;
42
- vectorStoreIds: z.ZodArray<z.ZodString>;
43
- maxResults: z.ZodOptional<z.ZodNumber>;
44
- }, z.core.$strict>, z.ZodObject<{
45
- type: z.ZodLiteral<"code_interpreter">;
46
- container: z.ZodOptional<z.ZodObject<{
47
- type: z.ZodLiteral<"auto">;
48
- }, z.core.$strict>>;
49
- }, z.core.$strict>, z.ZodObject<{
50
- type: z.ZodLiteral<"image_generation">;
51
- size: z.ZodOptional<z.ZodString>;
52
- quality: z.ZodOptional<z.ZodString>;
53
- }, z.core.$strict>, z.ZodObject<{
54
- headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
55
- type: z.ZodLiteral<"mcp">;
56
- serverLabel: z.ZodString;
57
- serverUrl: z.ZodURL;
58
- allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
- requireApproval: z.ZodOptional<z.ZodEnum<{
60
- never: "never";
61
- always: "always";
62
- }>>;
63
- }, z.core.$strict>], "type">;
64
- /**
65
- * One hosted tool as STORED with a background run (`ai_runs.request`). The
66
- * MCP variant has no `headers` member, so the column cannot hold one: a run
67
- * whose MCP tool needs headers is refused by `startRun` instead.
68
- *
69
- * @internal
70
- */
71
- export declare const aiStoredHostedToolSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
72
- type: z.ZodLiteral<"web_search">;
73
- searchContextSize: z.ZodOptional<z.ZodEnum<{
74
- low: "low";
75
- medium: "medium";
76
- high: "high";
77
- }>>;
78
- userLocation: z.ZodOptional<z.ZodObject<{
79
- country: z.ZodOptional<z.ZodString>;
80
- city: z.ZodOptional<z.ZodString>;
81
- }, z.core.$strict>>;
82
- }, z.core.$strict>, z.ZodObject<{
83
- type: z.ZodLiteral<"file_search">;
84
- vectorStoreIds: z.ZodArray<z.ZodString>;
85
- maxResults: z.ZodOptional<z.ZodNumber>;
86
- }, z.core.$strict>, z.ZodObject<{
87
- type: z.ZodLiteral<"code_interpreter">;
88
- container: z.ZodOptional<z.ZodObject<{
89
- type: z.ZodLiteral<"auto">;
90
- }, z.core.$strict>>;
91
- }, z.core.$strict>, z.ZodObject<{
92
- type: z.ZodLiteral<"image_generation">;
93
- size: z.ZodOptional<z.ZodString>;
94
- quality: z.ZodOptional<z.ZodString>;
95
- }, z.core.$strict>, z.ZodObject<{
96
- type: z.ZodLiteral<"mcp">;
97
- serverLabel: z.ZodString;
98
- serverUrl: z.ZodURL;
99
- allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
- requireApproval: z.ZodOptional<z.ZodEnum<{
101
- never: "never";
102
- always: "always";
103
- }>>;
104
- }, z.core.$strict>], "type">;
105
- /**
106
- * The hosted tools among a request's tools.
107
- *
108
- * @stability experimental
109
- */
110
- export declare function hostedToolsOf(tools: readonly AiTool[] | undefined): AiHostedTool[];
111
- /**
112
- * Validates every hosted tool's shape. In-process callers are only
113
- * type-checked, so the facade runs this too. The error names the tool type
114
- * and the offending path — never a value (a header value is a secret).
115
- *
116
- * @throws AiError('AI_INVALID_REQUEST')
117
- *
118
- * @stability experimental
119
- */
120
- export declare function assertHostedToolShapes(tools: readonly AiTool[] | undefined): void;
121
- /**
122
- * Lower-cased hostname of an MCP `serverUrl`, or `null` when it does not parse.
123
- *
124
- * @stability experimental
125
- */
126
- export declare function mcpHost(serverUrl: string): string | null;
127
- /**
128
- * Whether `host` passes `allowed`. An empty list allows any host (the
129
- * `https://` rule still applies); `example.com` matches exactly that host;
130
- * `*.example.com` matches any subdomain of it, not the apex.
131
- *
132
- * @stability experimental
133
- */
134
- export declare function isMcpHostAllowed(host: string, allowed: readonly string[]): boolean;
135
- /**
136
- * The admin policy gate: every hosted tool's type must be switched on, and an
137
- * MCP server's host must pass the allowlist.
138
- *
139
- * @throws AiError('AI_TOOL_DISABLED') (403)
140
- *
141
- * @stability experimental
142
- */
143
- export declare function assertHostedToolsAllowed(tools: readonly AiTool[] | undefined, policy: AiHostedToolsPolicy): void;
144
- /**
145
- * Whether any MCP tool in `tools` carries headers.
146
- *
147
- * @stability experimental
148
- */
149
- export declare function hasMcpHeaders(tools: readonly AiTool[] | undefined): boolean;
150
- /**
151
- * Every MCP header VALUE in `tools` worth scrubbing for (at least 4
152
- * characters — shorter strings would redact ordinary text and are not
153
- * credentials anyone could use).
154
- *
155
- * @stability experimental
156
- */
157
- export declare function mcpHeaderValues(tools: readonly AiTool[] | undefined): string[];
158
- /**
159
- * The placeholder a scrubbed secret is replaced with.
160
- *
161
- * @stability experimental
162
- */
163
- export declare const AI_REDACTED = "[REDACTED]";
164
- /**
165
- * `value` with every occurrence of every string in `secrets` replaced by
166
- * `[REDACTED]`, in every string reachable through plain objects and arrays.
167
- * Returns `value` itself when `secrets` is empty; otherwise a copy (binary
168
- * payloads are passed through untouched).
169
- *
170
- * @stability experimental
171
- */
172
- export declare function redactSecretValues<T>(value: T, secrets: readonly string[]): T;
1
+ import './ai-error';
2
+ export { AI_MCP_MAX_HEADERS, AI_MCP_SERVER_LABEL, AI_REDACTED, aiHostedToolSchema, aiStoredHostedToolSchema, assertHostedToolsAllowed, assertHostedToolShapes, hasMcpHeaders, hostedToolsOf, isMcpHostAllowed, mcpHeaderValues, mcpHost, redactSecretValues, } from '@marinoscar/platform-ai-providers';
3
+ export type { AiHostedToolsPolicy, } from '@marinoscar/platform-ai-providers';
173
4
  //# sourceMappingURL=hosted-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-tools.d.ts","sourceRoot":"","sources":["../../../src/ai/core/hosted-tools.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAa,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACpE,uGAAuG;IACvG,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAA0B,CAAC;AAuE3D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAM7B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAMnC,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,YAAY,EAAE,CAElF;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAYjF;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAclF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACpC,MAAM,EAAE,mBAAmB,GAC1B,IAAI,CAkBN;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO,CAI3E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAkB9E;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAsB7E"}
1
+ {"version":3,"file":"hosted-tools.d.ts","sourceRoot":"","sources":["../../../src/ai/core/hosted-tools.ts"],"names":[],"mappings":"AAKA,OAAO,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACV,mBAAmB,GACpB,MAAM,mCAAmC,CAAC"}