@hed-hog/core 0.0.400 → 0.0.402

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 (274) hide show
  1. package/dist/access-log/access-log.interceptor.d.ts +10 -0
  2. package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
  3. package/dist/access-log/access-log.interceptor.js +15 -1
  4. package/dist/access-log/access-log.interceptor.js.map +1 -1
  5. package/dist/ai/ai.controller.d.ts +2 -0
  6. package/dist/ai/ai.controller.d.ts.map +1 -1
  7. package/dist/ai/ai.service.d.ts +86 -2
  8. package/dist/ai/ai.service.d.ts.map +1 -1
  9. package/dist/ai/ai.service.js +304 -23
  10. package/dist/ai/ai.service.js.map +1 -1
  11. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +12 -0
  12. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -1
  13. package/dist/ai-instruction/ai-prompt-resolver.service.js +26 -0
  14. package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -1
  15. package/dist/core.module.d.ts.map +1 -1
  16. package/dist/core.module.js +3 -0
  17. package/dist/core.module.js.map +1 -1
  18. package/dist/document-kit/document-kit.module.d.ts +3 -0
  19. package/dist/document-kit/document-kit.module.d.ts.map +1 -0
  20. package/dist/document-kit/document-kit.module.js +24 -0
  21. package/dist/document-kit/document-kit.module.js.map +1 -0
  22. package/dist/document-kit/document-kit.registry.d.ts +55 -0
  23. package/dist/document-kit/document-kit.registry.d.ts.map +1 -0
  24. package/dist/document-kit/document-kit.registry.js +91 -0
  25. package/dist/document-kit/document-kit.registry.js.map +1 -0
  26. package/dist/document-kit/document-kit.service.d.ts +49 -0
  27. package/dist/document-kit/document-kit.service.d.ts.map +1 -0
  28. package/dist/document-kit/document-kit.service.js +135 -0
  29. package/dist/document-kit/document-kit.service.js.map +1 -0
  30. package/dist/file/file-upload-ticket.service.d.ts +1 -1
  31. package/dist/file/file.controller.d.ts +3 -3
  32. package/dist/file/file.service.d.ts +136 -13
  33. package/dist/file/file.service.d.ts.map +1 -1
  34. package/dist/file/file.service.js +297 -27
  35. package/dist/file/file.service.js.map +1 -1
  36. package/dist/file/mcp-file-source.schema.d.ts.map +1 -1
  37. package/dist/file/mcp-file-source.schema.js +8 -5
  38. package/dist/file/mcp-file-source.schema.js.map +1 -1
  39. package/dist/file/provider/abstract.provider.d.ts +33 -0
  40. package/dist/file/provider/abstract.provider.d.ts.map +1 -1
  41. package/dist/file/provider/abstract.provider.js +9 -0
  42. package/dist/file/provider/abstract.provider.js.map +1 -1
  43. package/dist/file/provider/s3-multipart.util.d.ts +17 -0
  44. package/dist/file/provider/s3-multipart.util.d.ts.map +1 -0
  45. package/dist/file/provider/s3-multipart.util.js +88 -0
  46. package/dist/file/provider/s3-multipart.util.js.map +1 -0
  47. package/dist/file/provider/s3.provider.d.ts +9 -1
  48. package/dist/file/provider/s3.provider.d.ts.map +1 -1
  49. package/dist/file/provider/s3.provider.js +16 -0
  50. package/dist/file/provider/s3.provider.js.map +1 -1
  51. package/dist/file/provider/spaces.provider.d.ts +10 -1
  52. package/dist/file/provider/spaces.provider.d.ts.map +1 -1
  53. package/dist/file/provider/spaces.provider.js +17 -0
  54. package/dist/file/provider/spaces.provider.js.map +1 -1
  55. package/dist/index.d.ts +5 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +5 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/integration-profile/integration-profile.controller.d.ts +1 -0
  60. package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
  61. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  62. package/dist/integration-profile/integration-profile.secrets.js +26 -0
  63. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  64. package/dist/integration-profile/integration-profile.service.d.ts +1 -0
  65. package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
  66. package/dist/integration-profile/integration-profile.service.js +3 -3
  67. package/dist/integration-profile/integration-profile.service.js.map +1 -1
  68. package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -1
  69. package/dist/integration-profile/testers/ai.testers.js +46 -8
  70. package/dist/integration-profile/testers/ai.testers.js.map +1 -1
  71. package/dist/integration-profile/testers/http-probe.d.ts.map +1 -1
  72. package/dist/integration-profile/testers/http-probe.js +5 -3
  73. package/dist/integration-profile/testers/http-probe.js.map +1 -1
  74. package/dist/integration-profile/testers/integration-tester.types.d.ts +5 -0
  75. package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -1
  76. package/dist/mail/mail.service.d.ts.map +1 -1
  77. package/dist/mail/mail.service.js +16 -1
  78. package/dist/mail/mail.service.js.map +1 -1
  79. package/dist/mcp/mcp-server.service.d.ts.map +1 -1
  80. package/dist/mcp/mcp-server.service.js +10 -1
  81. package/dist/mcp/mcp-server.service.js.map +1 -1
  82. package/dist/mcp/mcp.module.d.ts.map +1 -1
  83. package/dist/mcp/mcp.module.js +2 -0
  84. package/dist/mcp/mcp.module.js.map +1 -1
  85. package/dist/mcp/tools/core-access-log.mcp-tools.d.ts +17 -0
  86. package/dist/mcp/tools/core-access-log.mcp-tools.d.ts.map +1 -0
  87. package/dist/mcp/tools/core-access-log.mcp-tools.js +74 -0
  88. package/dist/mcp/tools/core-access-log.mcp-tools.js.map +1 -0
  89. package/dist/mcp/tools/core-files.mcp-tools.js +4 -4
  90. package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -1
  91. package/dist/meeting/meeting-provider.registry.d.ts +72 -0
  92. package/dist/meeting/meeting-provider.registry.d.ts.map +1 -1
  93. package/dist/meeting/meeting-provider.registry.js.map +1 -1
  94. package/dist/oauth/oauth-token-broker.service.d.ts +50 -1
  95. package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -1
  96. package/dist/oauth/oauth-token-broker.service.js +105 -3
  97. package/dist/oauth/oauth-token-broker.service.js.map +1 -1
  98. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts +6 -0
  99. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
  100. package/dist/oauth/providers/microsoft-entra-id.provider.js +30 -4
  101. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  102. package/dist/pdf/document/charts/chart-bar.d.ts +24 -0
  103. package/dist/pdf/document/charts/chart-bar.d.ts.map +1 -0
  104. package/dist/pdf/document/charts/chart-bar.js +117 -0
  105. package/dist/pdf/document/charts/chart-bar.js.map +1 -0
  106. package/dist/pdf/document/charts/chart-donut.d.ts +16 -0
  107. package/dist/pdf/document/charts/chart-donut.d.ts.map +1 -0
  108. package/dist/pdf/document/charts/chart-donut.js +89 -0
  109. package/dist/pdf/document/charts/chart-donut.js.map +1 -0
  110. package/dist/pdf/document/charts/chart-gauge.d.ts +15 -0
  111. package/dist/pdf/document/charts/chart-gauge.d.ts.map +1 -0
  112. package/dist/pdf/document/charts/chart-gauge.js +60 -0
  113. package/dist/pdf/document/charts/chart-gauge.js.map +1 -0
  114. package/dist/pdf/document/charts/chart-line.d.ts +29 -0
  115. package/dist/pdf/document/charts/chart-line.d.ts.map +1 -0
  116. package/dist/pdf/document/charts/chart-line.js +89 -0
  117. package/dist/pdf/document/charts/chart-line.js.map +1 -0
  118. package/dist/pdf/document/charts/chart-primitives.d.ts +64 -0
  119. package/dist/pdf/document/charts/chart-primitives.d.ts.map +1 -0
  120. package/dist/pdf/document/charts/chart-primitives.js +110 -0
  121. package/dist/pdf/document/charts/chart-primitives.js.map +1 -0
  122. package/dist/pdf/document/charts/chart-radar.d.ts +13 -0
  123. package/dist/pdf/document/charts/chart-radar.d.ts.map +1 -0
  124. package/dist/pdf/document/charts/chart-radar.js +83 -0
  125. package/dist/pdf/document/charts/chart-radar.js.map +1 -0
  126. package/dist/pdf/document/charts/chart-scale.d.ts +39 -0
  127. package/dist/pdf/document/charts/chart-scale.d.ts.map +1 -0
  128. package/dist/pdf/document/charts/chart-scale.js +118 -0
  129. package/dist/pdf/document/charts/chart-scale.js.map +1 -0
  130. package/dist/pdf/document/charts/index.d.ts +8 -0
  131. package/dist/pdf/document/charts/index.d.ts.map +1 -0
  132. package/dist/pdf/document/charts/index.js +24 -0
  133. package/dist/pdf/document/charts/index.js.map +1 -0
  134. package/dist/pdf/document/index.d.ts +8 -0
  135. package/dist/pdf/document/index.d.ts.map +1 -0
  136. package/dist/pdf/document/index.js +24 -0
  137. package/dist/pdf/document/index.js.map +1 -0
  138. package/dist/pdf/document/pdf-document.chrome.d.ts +20 -0
  139. package/dist/pdf/document/pdf-document.chrome.d.ts.map +1 -0
  140. package/dist/pdf/document/pdf-document.chrome.js +36 -0
  141. package/dist/pdf/document/pdf-document.chrome.js.map +1 -0
  142. package/dist/pdf/document/pdf-document.css.d.ts +20 -0
  143. package/dist/pdf/document/pdf-document.css.d.ts.map +1 -0
  144. package/dist/pdf/document/pdf-document.css.js +327 -0
  145. package/dist/pdf/document/pdf-document.css.js.map +1 -0
  146. package/dist/pdf/document/pdf-document.renderer.d.ts +10 -0
  147. package/dist/pdf/document/pdf-document.renderer.d.ts.map +1 -0
  148. package/dist/pdf/document/pdf-document.renderer.js +226 -0
  149. package/dist/pdf/document/pdf-document.renderer.js.map +1 -0
  150. package/dist/pdf/document/pdf-document.service.d.ts +27 -0
  151. package/dist/pdf/document/pdf-document.service.d.ts.map +1 -0
  152. package/dist/pdf/document/pdf-document.service.js +81 -0
  153. package/dist/pdf/document/pdf-document.service.js.map +1 -0
  154. package/dist/pdf/document/pdf-document.theme.d.ts +41 -0
  155. package/dist/pdf/document/pdf-document.theme.d.ts.map +1 -0
  156. package/dist/pdf/document/pdf-document.theme.js +105 -0
  157. package/dist/pdf/document/pdf-document.theme.js.map +1 -0
  158. package/dist/pdf/document/pdf-document.types.d.ts +164 -0
  159. package/dist/pdf/document/pdf-document.types.d.ts.map +1 -0
  160. package/dist/pdf/document/pdf-document.types.js +18 -0
  161. package/dist/pdf/document/pdf-document.types.js.map +1 -0
  162. package/dist/pdf/pdf.module.d.ts.map +1 -1
  163. package/dist/pdf/pdf.module.js +3 -2
  164. package/dist/pdf/pdf.module.js.map +1 -1
  165. package/dist/pdf/pdf.service.d.ts +75 -1
  166. package/dist/pdf/pdf.service.d.ts.map +1 -1
  167. package/dist/pdf/pdf.service.js +167 -63
  168. package/dist/pdf/pdf.service.js.map +1 -1
  169. package/dist/pdf/templates/commercial-proposal.template.d.ts +96 -0
  170. package/dist/pdf/templates/commercial-proposal.template.d.ts.map +1 -0
  171. package/dist/pdf/templates/commercial-proposal.template.js +276 -0
  172. package/dist/pdf/templates/commercial-proposal.template.js.map +1 -0
  173. package/dist/setting/favicon.controller.d.ts +26 -0
  174. package/dist/setting/favicon.controller.d.ts.map +1 -0
  175. package/dist/setting/favicon.controller.js +130 -0
  176. package/dist/setting/favicon.controller.js.map +1 -0
  177. package/dist/setting/setting.module.d.ts.map +1 -1
  178. package/dist/setting/setting.module.js +2 -1
  179. package/dist/setting/setting.module.js.map +1 -1
  180. package/dist/setting/setting.service.d.ts.map +1 -1
  181. package/dist/setting/setting.service.js +3 -0
  182. package/dist/setting/setting.service.js.map +1 -1
  183. package/dist/task/task.service.d.ts +6 -0
  184. package/dist/task/task.service.d.ts.map +1 -1
  185. package/dist/task/task.service.js +44 -13
  186. package/dist/task/task.service.js.map +1 -1
  187. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +35 -2
  188. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -1
  189. package/dist/whatsapp-sender/whatsapp-sender.service.js +107 -22
  190. package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -1
  191. package/hedhog/data/integration_type.yaml +6 -0
  192. package/hedhog/data/route.yaml +8 -0
  193. package/hedhog/data/setting_group.yaml +52 -0
  194. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +85 -2
  195. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +576 -491
  196. package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +29 -50
  197. package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +146 -50
  198. package/hedhog/frontend/messages/en.json +81 -2
  199. package/hedhog/frontend/messages/pt.json +81 -2
  200. package/hedhog/table/file.yaml +3 -1
  201. package/package.json +5 -5
  202. package/src/access-log/access-log.interceptor.spec.ts +50 -0
  203. package/src/access-log/access-log.interceptor.ts +18 -0
  204. package/src/ai/ai-attachment.fragments.spec.ts +56 -3
  205. package/src/ai/ai.service.responses.spec.ts +429 -0
  206. package/src/ai/ai.service.ts +409 -27
  207. package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +44 -0
  208. package/src/ai-instruction/ai-prompt-resolver.service.ts +29 -0
  209. package/src/core.module.ts +3 -0
  210. package/src/document-kit/document-kit.module.ts +12 -0
  211. package/src/document-kit/document-kit.registry.ts +125 -0
  212. package/src/document-kit/document-kit.service.spec.ts +156 -0
  213. package/src/document-kit/document-kit.service.ts +173 -0
  214. package/src/file/file-direct-upload.spec.ts +344 -0
  215. package/src/file/file.service.spec.ts +168 -1
  216. package/src/file/file.service.ts +435 -36
  217. package/src/file/mcp-file-source.schema.ts +8 -5
  218. package/src/file/provider/abstract.provider.ts +57 -0
  219. package/src/file/provider/s3-multipart.spec.ts +123 -0
  220. package/src/file/provider/s3-multipart.util.ts +126 -0
  221. package/src/file/provider/s3.provider.ts +65 -1
  222. package/src/file/provider/spaces.provider.ts +67 -1
  223. package/src/index.ts +5 -0
  224. package/src/integration-profile/integration-profile.secrets.ts +26 -0
  225. package/src/integration-profile/integration-profile.service.ts +1 -0
  226. package/src/integration-profile/testers/ai.testers.ts +70 -5
  227. package/src/integration-profile/testers/http-probe.ts +5 -3
  228. package/src/integration-profile/testers/integration-tester.types.ts +5 -0
  229. package/src/integration-profile/testers/oauth.testers.spec.ts +13 -0
  230. package/src/integration-profile/testers/remaining.testers.spec.ts +65 -1
  231. package/src/integration-profile/testers/tester-coverage.spec.ts +12 -0
  232. package/src/mail/mail.service.spec.ts +25 -0
  233. package/src/mail/mail.service.ts +18 -1
  234. package/src/mcp/mcp-server.service.spec.ts +16 -0
  235. package/src/mcp/mcp-server.service.ts +10 -1
  236. package/src/mcp/mcp.module.ts +2 -0
  237. package/src/mcp/tools/core-access-log.mcp-tools.ts +66 -0
  238. package/src/mcp/tools/core-files.mcp-tools.ts +4 -4
  239. package/src/meeting/meeting-provider.registry.ts +80 -0
  240. package/src/oauth/oauth-token-broker.service.spec.ts +108 -0
  241. package/src/oauth/oauth-token-broker.service.ts +129 -2
  242. package/src/oauth/providers/microsoft-entra-id.provider.spec.ts +133 -0
  243. package/src/oauth/providers/microsoft-entra-id.provider.ts +29 -2
  244. package/src/pdf/document/charts/chart-bar.ts +217 -0
  245. package/src/pdf/document/charts/chart-donut.ts +163 -0
  246. package/src/pdf/document/charts/chart-gauge.ts +94 -0
  247. package/src/pdf/document/charts/chart-line.ts +159 -0
  248. package/src/pdf/document/charts/chart-primitives.ts +188 -0
  249. package/src/pdf/document/charts/chart-radar.ts +136 -0
  250. package/src/pdf/document/charts/chart-scale.spec.ts +93 -0
  251. package/src/pdf/document/charts/chart-scale.ts +141 -0
  252. package/src/pdf/document/charts/charts.spec.ts +157 -0
  253. package/src/pdf/document/charts/index.ts +7 -0
  254. package/src/pdf/document/index.ts +7 -0
  255. package/src/pdf/document/pdf-document.chrome.ts +38 -0
  256. package/src/pdf/document/pdf-document.css.ts +326 -0
  257. package/src/pdf/document/pdf-document.renderer.spec.ts +172 -0
  258. package/src/pdf/document/pdf-document.renderer.ts +317 -0
  259. package/src/pdf/document/pdf-document.service.ts +77 -0
  260. package/src/pdf/document/pdf-document.theme.ts +146 -0
  261. package/src/pdf/document/pdf-document.types.ts +149 -0
  262. package/src/pdf/pdf.module.ts +3 -2
  263. package/src/pdf/pdf.service.spec.ts +131 -0
  264. package/src/pdf/pdf.service.ts +256 -82
  265. package/src/pdf/templates/commercial-proposal.template.spec.ts +177 -0
  266. package/src/pdf/templates/commercial-proposal.template.ts +400 -0
  267. package/src/setting/favicon.controller.spec.ts +92 -0
  268. package/src/setting/favicon.controller.ts +135 -0
  269. package/src/setting/setting.module.ts +2 -1
  270. package/src/setting/setting.service.ts +3 -0
  271. package/src/task/task.service.spec.ts +77 -1
  272. package/src/task/task.service.ts +58 -14
  273. package/src/whatsapp-sender/whatsapp-sender.service.spec.ts +263 -0
  274. package/src/whatsapp-sender/whatsapp-sender.service.ts +154 -16
@@ -16,7 +16,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  };
17
17
  var AiService_1;
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.AiService = void 0;
19
+ exports.AiService = exports.AiProfileProviderMismatchError = void 0;
20
+ exports.isAttachmentDeliveredToModel = isAttachmentDeliveredToModel;
21
+ exports.isAttachmentDeliveredAsPixels = isAttachmentDeliveredAsPixels;
20
22
  const api_prisma_1 = require("@hed-hog/api-prisma");
21
23
  const common_1 = require("@nestjs/common");
22
24
  const axios_1 = __importDefault(require("axios"));
@@ -51,6 +53,44 @@ const PROVIDER_BY_INTEGRATION_SLUG = {
51
53
  deepseek: 'deepseek',
52
54
  claude: 'claude',
53
55
  };
56
+ /** Anexo que o modelo realmente leu, em vez de um marcador dizendo que não deu. */
57
+ const DELIVERED_TO_MODEL = new Set([
58
+ 'image',
59
+ 'pdf-document',
60
+ 'pdf-text',
61
+ 'text',
62
+ ]);
63
+ /** Entregas em que o modelo enxergou os pixels da página, não só texto. */
64
+ const DELIVERED_AS_PIXELS = new Set([
65
+ 'image',
66
+ 'pdf-document',
67
+ ]);
68
+ function isAttachmentDeliveredToModel(delivery) {
69
+ return !!delivery && DELIVERED_TO_MODEL.has(delivery);
70
+ }
71
+ function isAttachmentDeliveredAsPixels(delivery) {
72
+ return !!delivery && DELIVERED_AS_PIXELS.has(delivery);
73
+ }
74
+ /**
75
+ * O setting de um provider aponta para o perfil de outro provider.
76
+ *
77
+ * Classe própria, e não um `BadRequestException` solto, para uma escada de
78
+ * fallback conseguir parar antes de disparar chamadas que vão dar 4xx com
79
+ * certeza — era o que o extrator de notas fiscais fazia oito vezes por upload,
80
+ * engolindo cada uma delas.
81
+ */
82
+ class AiProfileProviderMismatchError extends common_1.BadRequestException {
83
+ constructor(requestedProvider, profileSlug, profileProviderSlug, settingSlug) {
84
+ super(`AI profile "${profileSlug}" (setting "${settingSlug}") belongs to provider ` +
85
+ `"${profileProviderSlug}", not "${requestedProvider}". ` +
86
+ `Point Settings → AI → "${settingSlug}" at a ${requestedProvider} profile, or leave it empty.`);
87
+ this.requestedProvider = requestedProvider;
88
+ this.profileSlug = profileSlug;
89
+ this.profileProviderSlug = profileProviderSlug;
90
+ this.settingSlug = settingSlug;
91
+ }
92
+ }
93
+ exports.AiProfileProviderMismatchError = AiProfileProviderMismatchError;
54
94
  let AiService = AiService_1 = class AiService {
55
95
  constructor(prismaService, settingService, fileService, aiExecution, promptResolver) {
56
96
  this.prismaService = prismaService;
@@ -85,7 +125,7 @@ let AiService = AiService_1 = class AiService {
85
125
  const executionId = await this.aiExecution.start({ trigger: 'api', contextSlug: 'ai-chat' });
86
126
  const stepStart = Date.now();
87
127
  try {
88
- const { content, usage } = await this.withTimeout(this.chatWithProvider(provider, {
128
+ const { content, usage, delivery } = await this.withTimeout(this.chatWithProvider(provider, {
89
129
  message: data.message,
90
130
  model,
91
131
  systemPrompt: data.systemPrompt,
@@ -93,6 +133,7 @@ let AiService = AiService_1 = class AiService {
93
133
  apiKey: aiProfile.apiKey,
94
134
  baseUrl: aiProfile.baseUrl,
95
135
  params,
136
+ timeoutMs,
96
137
  }), timeoutMs);
97
138
  await this.aiExecution.recordStep({
98
139
  executionId,
@@ -105,7 +146,12 @@ let AiService = AiService_1 = class AiService {
105
146
  outputSummary: content.slice(0, 200),
106
147
  });
107
148
  await this.aiExecution.finish(executionId, 'completed');
108
- return { provider, model, content };
149
+ return {
150
+ provider,
151
+ model,
152
+ content,
153
+ attachmentDelivery: delivery !== null && delivery !== void 0 ? delivery : 'none',
154
+ };
109
155
  }
110
156
  catch (err) {
111
157
  await this.aiExecution.finish(executionId, 'failed', String(err));
@@ -330,6 +376,7 @@ let AiService = AiService_1 = class AiService {
330
376
  };
331
377
  }
332
378
  async chatWithAgent(slug, data, file) {
379
+ var _a;
333
380
  const agent = await this.findAgentBySlug(slug);
334
381
  const attachment = await this.resolveAttachment(file, data.file_id);
335
382
  if (!agent) {
@@ -341,19 +388,25 @@ let AiService = AiService_1 = class AiService {
341
388
  // Assistants API — que a OpenAI desligou, e que já ignorava model e
342
389
  // instructions do banco porque só mandava o `assistant_id`.
343
390
  const aiProfile = await this.getAiProfile(agent.provider);
344
- const { content } = await this.chatWithProvider(agent.provider, {
391
+ const timeoutMs = (_a = aiProfile.timeoutMs) !== null && _a !== void 0 ? _a : DEFAULT_AI_CALL_TIMEOUT_MS;
392
+ // Sem o `withTimeout` este era o único ponto público sem prazo nenhum: uma
393
+ // chamada travada no provider segurava a requisição HTTP de quem chamou
394
+ // indefinidamente.
395
+ const { content, delivery } = await this.withTimeout(this.chatWithProvider(agent.provider, {
345
396
  message: data.message,
346
397
  model: agent.model || this.getDefaultModel(agent.provider),
347
398
  systemPrompt: agent.instructions || undefined,
348
399
  attachment,
349
400
  apiKey: aiProfile.apiKey,
350
401
  baseUrl: aiProfile.baseUrl,
351
- });
402
+ timeoutMs,
403
+ }), timeoutMs);
352
404
  return {
353
405
  slug: agent.slug,
354
406
  provider: agent.provider,
355
407
  model: agent.model,
356
408
  content,
409
+ attachmentDelivery: delivery !== null && delivery !== void 0 ? delivery : 'none',
357
410
  };
358
411
  }
359
412
  async getAgentBySlug(slug) {
@@ -413,7 +466,7 @@ let AiService = AiService_1 = class AiService {
413
466
  textSample: extractedText.slice(0, 600),
414
467
  sha256: (0, crypto_1.createHash)('sha256').update(attachment.buffer).digest('hex'),
415
468
  };
416
- this.logger.warn(`[AI-ATTACHMENT-DEBUG] fileId=${fileId || 'upload'} filename="${result.filename}" mime=${result.mimeType} mode=${result.mode} bytes=${result.bytes} textLength=${result.textLength}`);
469
+ this.logger.debug(`[AI-ATTACHMENT-DEBUG] fileId=${fileId || 'upload'} filename="${result.filename}" mime=${result.mimeType} mode=${result.mode} bytes=${result.bytes} textLength=${result.textLength}`);
417
470
  return result;
418
471
  }
419
472
  async findAgentBySlug(slug) {
@@ -508,7 +561,38 @@ let AiService = AiService_1 = class AiService {
508
561
  if (!profileSlug) {
509
562
  throw new common_1.BadRequestException(`No ${provider} AI profile configured. Set one in Settings → AI.`);
510
563
  }
511
- return (await this.loadAiProfileBySlug(profileSlug)).config;
564
+ const loaded = await this.loadAiProfileBySlug(profileSlug);
565
+ const mapped = PROVIDER_BY_INTEGRATION_SLUG[loaded.providerSlug];
566
+ // `resolveProviderAndProfile` já protegia o caminho do perfil explícito
567
+ // ("pedir openai e apontar um perfil Claude bateria na API errada com a
568
+ // chave errada"); o caminho do setting global ficara de fora. Sem isso, um
569
+ // perfil OpenAI no campo do Gemini fazia o serviço postar a chave da OpenAI
570
+ // no endpoint do Google e engolir o 4xx de cada modelo tentado.
571
+ if (mapped !== provider) {
572
+ this.logger.error(`[AI-PROFILE] "${slug}" = "${profileSlug}" é um perfil ${loaded.providerSlug}, ` +
573
+ `mas ${provider} foi pedido.`);
574
+ throw new AiProfileProviderMismatchError(provider, profileSlug, loaded.providerSlug, slug);
575
+ }
576
+ return loaded.config;
577
+ }
578
+ /**
579
+ * "Este provider dá para usar?", sem lançar.
580
+ *
581
+ * Existe para uma escada de fallback perguntar antes de tentar, em vez de
582
+ * gastar uma requisição HTTP por modelo só para descobrir que a credencial
583
+ * nem é daquele provider.
584
+ */
585
+ async isProviderConfigured(provider) {
586
+ try {
587
+ await this.getAiProfile(provider);
588
+ return { ok: true };
589
+ }
590
+ catch (error) {
591
+ return {
592
+ ok: false,
593
+ reason: error instanceof Error ? error.message : String(error),
594
+ };
595
+ }
512
596
  }
513
597
  async loadAiProfileBySlug(profileSlug) {
514
598
  const profile = await this.prismaService.integration_profile.findUnique({
@@ -537,26 +621,176 @@ let AiService = AiService_1 = class AiService {
537
621
  });
538
622
  });
539
623
  }
540
- async chatWithOpenAi({ message, model, systemPrompt, attachment, apiKey, params, provider = 'openai', baseUrl = 'https://api.openai.com/v1', supportsImages = true, }) {
541
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
624
+ async chatWithOpenAi({ message, model, systemPrompt, attachment, apiKey, params, provider = 'openai', baseUrl = 'https://api.openai.com/v1', supportsImages = true, timeoutMs, }) {
625
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
542
626
  const openai = apiKey !== null && apiKey !== void 0 ? apiKey : (await this.getAiApiKey(provider));
627
+ if (this.shouldUseOpenAiResponses({ provider, baseUrl, model, attachment })) {
628
+ try {
629
+ return await this.chatWithOpenAiResponses({
630
+ message,
631
+ model,
632
+ systemPrompt,
633
+ attachment: attachment,
634
+ apiKey: openai,
635
+ baseUrl,
636
+ params,
637
+ timeoutMs,
638
+ });
639
+ }
640
+ catch (error) {
641
+ const status = Number((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status);
642
+ // 400/404/422 = este modelo ou esta conta não aceita `input_file`;
643
+ // cair para o chat/completions é melhor que falhar. Qualquer outra
644
+ // coisa (401, 429, 5xx, timeout) é falha de verdade e não pode ser
645
+ // mascarada por uma segunda chamada mais fraca, que só reproduziria o
646
+ // marcador de PDF ilegível e devolveria "não achei nada".
647
+ if (![400, 404, 422].includes(status))
648
+ throw error;
649
+ this.logger.warn(`[AI-RESPONSES] /v1/responses recusou (status=${status}); usando chat/completions. ` +
650
+ `apiError=${(_e = (_d = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.error) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : 'n/a'}`);
651
+ }
652
+ }
543
653
  const messages = [];
544
654
  if (systemPrompt) {
545
655
  messages.push({ role: 'system', content: systemPrompt });
546
656
  }
547
- const userContent = await this.buildOpenAiUserContent(message, attachment, supportsImages);
657
+ const { content: userContent, delivery } = await this.buildOpenAiUserContent(message, attachment, supportsImages);
548
658
  messages.push({ role: 'user', content: userContent });
549
- const body = (0, ai_prompt_resolver_service_1.applyOpenAiModelParams)({ messages }, { model: null, temperature: (_a = params === null || params === void 0 ? void 0 : params.temperature) !== null && _a !== void 0 ? _a : null, maxTokens: (_b = params === null || params === void 0 ? void 0 : params.maxTokens) !== null && _b !== void 0 ? _b : null }, { model, jsonObject: (params === null || params === void 0 ? void 0 : params.responseFormat) === 'json_object' });
659
+ const body = (0, ai_prompt_resolver_service_1.applyOpenAiModelParams)({ messages }, { model: null, temperature: (_f = params === null || params === void 0 ? void 0 : params.temperature) !== null && _f !== void 0 ? _f : null, maxTokens: (_g = params === null || params === void 0 ? void 0 : params.maxTokens) !== null && _g !== void 0 ? _g : null }, { model, jsonObject: (params === null || params === void 0 ? void 0 : params.responseFormat) === 'json_object' });
550
660
  const response = await axios_1.default.post(`${baseUrl.replace(/\/+$/, '')}/chat/completions`, body, {
551
661
  headers: {
552
662
  Authorization: `Bearer ${openai}`,
553
663
  'Content-Type': 'application/json',
554
664
  },
555
665
  });
556
- const u = (_c = response.data) === null || _c === void 0 ? void 0 : _c.usage;
666
+ const u = (_h = response.data) === null || _h === void 0 ? void 0 : _h.usage;
667
+ return {
668
+ content: ((_m = (_l = (_k = (_j = response.data) === null || _j === void 0 ? void 0 : _j.choices) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.message) === null || _m === void 0 ? void 0 : _m.content) || '',
669
+ delivery,
670
+ usage: u ? { input: (_o = u.prompt_tokens) !== null && _o !== void 0 ? _o : 0, output: (_p = u.completion_tokens) !== null && _p !== void 0 ? _p : 0, total: (_q = u.total_tokens) !== null && _q !== void 0 ? _q : 0 } : undefined,
671
+ };
672
+ }
673
+ shouldUseOpenAiResponses(input) {
674
+ // O DeepSeek reusa o formato da OpenAI, mas não tem /v1/responses; e um
675
+ // gateway apontado por `base_url` pode simplesmente não repassar a rota.
676
+ if (input.provider !== 'openai')
677
+ return false;
678
+ if (!input.baseUrl.startsWith('https://api.openai.com'))
679
+ return false;
680
+ if (!input.attachment)
681
+ return false;
682
+ // Imagem já funciona pelo bloco de visão do chat/completions.
683
+ if (!this.isPdfMime(input.attachment.mimeType))
684
+ return false;
685
+ if (input.attachment.buffer.length > AiService_1.OPENAI_RESPONSES_MAX_PDF_BYTES) {
686
+ return false;
687
+ }
688
+ return AiService_1.OPENAI_DOCUMENT_MODEL_RE.test(input.model);
689
+ }
690
+ buildOpenAiResponsesBody(input) {
691
+ var _a, _b, _c, _d, _e;
692
+ const base64 = input.attachment.buffer.toString('base64');
693
+ // Arquivo antes da instrução, como no exemplo da própria OpenAI: o modelo
694
+ // lê o documento antes de saber o que tirar dele.
695
+ const body = {
696
+ input: [
697
+ {
698
+ role: 'user',
699
+ content: [
700
+ {
701
+ type: 'input_file',
702
+ filename: input.attachment.filename,
703
+ file_data: `data:${input.attachment.mimeType};base64,${base64}`,
704
+ },
705
+ { type: 'input_text', text: input.message },
706
+ ],
707
+ },
708
+ ],
709
+ };
710
+ // `instructions` é o equivalente do `messages[0].role === 'system'`.
711
+ if (input.systemPrompt)
712
+ body.instructions = input.systemPrompt;
713
+ return (0, ai_prompt_resolver_service_1.applyOpenAiResponsesParams)(body, {
714
+ model: null,
715
+ temperature: (_b = (_a = input.params) === null || _a === void 0 ? void 0 : _a.temperature) !== null && _b !== void 0 ? _b : null,
716
+ maxTokens: (_d = (_c = input.params) === null || _c === void 0 ? void 0 : _c.maxTokens) !== null && _d !== void 0 ? _d : null,
717
+ }, {
718
+ model: input.model,
719
+ jsonObject: ((_e = input.params) === null || _e === void 0 ? void 0 : _e.responseFormat) === 'json_object',
720
+ });
721
+ }
722
+ /**
723
+ * Texto da resposta da Responses API.
724
+ *
725
+ * `output_text` é conveniência do SDK — o JSON HTTP cru normalmente não traz.
726
+ * O texto mora no array `output`, ao lado de itens `reasoning` que não têm
727
+ * `content` nenhum. Percorrer o array é o caminho real; o atalho pelo
728
+ * `output_text` só vale para quando o campo por acaso estiver lá.
729
+ */
730
+ readOpenAiResponsesText(data) {
731
+ var _a;
732
+ if (typeof (data === null || data === void 0 ? void 0 : data.output_text) === 'string' && data.output_text.trim()) {
733
+ return data.output_text;
734
+ }
735
+ const output = Array.isArray(data === null || data === void 0 ? void 0 : data.output) ? data.output : [];
736
+ const chunks = [];
737
+ for (const item of output) {
738
+ if ((item === null || item === void 0 ? void 0 : item.type) && item.type !== 'message')
739
+ continue;
740
+ for (const part of (_a = item === null || item === void 0 ? void 0 : item.content) !== null && _a !== void 0 ? _a : []) {
741
+ if ((part === null || part === void 0 ? void 0 : part.type) === 'output_text' && typeof part.text === 'string') {
742
+ chunks.push(part.text);
743
+ }
744
+ else if ((part === null || part === void 0 ? void 0 : part.type) === 'refusal' && typeof part.refusal === 'string') {
745
+ this.logger.warn(`[AI-RESPONSES] modelo recusou: ${part.refusal.slice(0, 200)}`);
746
+ }
747
+ }
748
+ }
749
+ return chunks.join('');
750
+ }
751
+ /**
752
+ * PDF como documento, via `POST /v1/responses`.
753
+ *
754
+ * É o único caminho em que um PDF escaneado chega ao modelo: para modelos com
755
+ * visão a API extrai o texto e renderiza cada página como imagem. O
756
+ * chat/completions, mesmo aceitando um content part de PDF, só extrai texto —
757
+ * não serviria para um scan.
758
+ */
759
+ async chatWithOpenAiResponses(input) {
760
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
761
+ const pages = await this.countPdfPages(input.attachment.buffer);
762
+ if (pages > AiService_1.OPENAI_RESPONSES_MAX_PDF_PAGES) {
763
+ this.logger.warn(`[AI-RESPONSES] "${input.attachment.filename}" tem ${pages} páginas ` +
764
+ `(máx. ${AiService_1.OPENAI_RESPONSES_MAX_PDF_PAGES}); usando chat/completions.`);
765
+ // 422 é o status que o chamador trata como "degrade", e não como falha.
766
+ throw Object.assign(new Error('PDF acima do limite de páginas'), {
767
+ response: { status: 422, data: { error: { message: 'too many pages' } } },
768
+ });
769
+ }
770
+ const response = await axios_1.default.post(`${input.baseUrl.replace(/\/+$/, '')}/responses`, this.buildOpenAiResponsesBody(input), {
771
+ headers: {
772
+ Authorization: `Bearer ${input.apiKey}`,
773
+ 'Content-Type': 'application/json',
774
+ },
775
+ // O corpo é o PDF em base64, na casa dos megabytes, e a renderização
776
+ // das páginas é lenta: com os padrões do axios isso trunca ou trava.
777
+ timeout: (_a = input.timeoutMs) !== null && _a !== void 0 ? _a : DEFAULT_AI_CALL_TIMEOUT_MS,
778
+ maxBodyLength: Infinity,
779
+ maxContentLength: Infinity,
780
+ });
781
+ if (((_b = response.data) === null || _b === void 0 ? void 0 : _b.status) && response.data.status !== 'completed') {
782
+ this.logger.warn(`[AI-RESPONSES] status=${response.data.status} ` +
783
+ `reason=${(_e = (_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.incomplete_details) === null || _d === void 0 ? void 0 : _d.reason) !== null && _e !== void 0 ? _e : 'n/a'} ` +
784
+ `model=${input.model} file="${input.attachment.filename}"`);
785
+ }
786
+ const u = (_f = response.data) === null || _f === void 0 ? void 0 : _f.usage;
557
787
  return {
558
- content: ((_g = (_f = (_e = (_d = response.data) === null || _d === void 0 ? void 0 : _d.choices) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.message) === null || _g === void 0 ? void 0 : _g.content) || '',
559
- usage: u ? { input: (_h = u.prompt_tokens) !== null && _h !== void 0 ? _h : 0, output: (_j = u.completion_tokens) !== null && _j !== void 0 ? _j : 0, total: (_k = u.total_tokens) !== null && _k !== void 0 ? _k : 0 } : undefined,
788
+ content: this.readOpenAiResponsesText(response.data),
789
+ delivery: 'pdf-document',
790
+ usage: u
791
+ ? Object.assign({ input: (_g = u.input_tokens) !== null && _g !== void 0 ? _g : 0, output: (_h = u.output_tokens) !== null && _h !== void 0 ? _h : 0, total: (_j = u.total_tokens) !== null && _j !== void 0 ? _j : ((_k = u.input_tokens) !== null && _k !== void 0 ? _k : 0) + ((_l = u.output_tokens) !== null && _l !== void 0 ? _l : 0) }, (((_m = u.input_tokens_details) === null || _m === void 0 ? void 0 : _m.cached_tokens)
792
+ ? { cached: u.input_tokens_details.cached_tokens }
793
+ : {})) : undefined,
560
794
  };
561
795
  }
562
796
  /**
@@ -609,11 +843,13 @@ let AiService = AiService_1 = class AiService {
609
843
  const gemini = apiKey !== null && apiKey !== void 0 ? apiKey : (await this.getAiApiKey('gemini'));
610
844
  const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${gemini}`;
611
845
  const userParts = [{ text: message }];
846
+ let delivery = 'none';
612
847
  if (attachment) {
613
848
  if (this.isTextMime(attachment.mimeType)) {
614
849
  userParts.push({
615
850
  text: (0, ai_attachment_fragments_1.attachedFileBlock)(attachment.filename, this.toUtf8Text(attachment.buffer)),
616
851
  });
852
+ delivery = 'text';
617
853
  }
618
854
  else if (this.isPdfMime(attachment.mimeType)) {
619
855
  const pdfText = await this.extractPdfText(attachment.buffer);
@@ -621,6 +857,7 @@ let AiService = AiService_1 = class AiService {
621
857
  userParts.push({
622
858
  text: (0, ai_attachment_fragments_1.attachedFileBlock)(attachment.filename, pdfText),
623
859
  });
860
+ delivery = 'pdf-text';
624
861
  }
625
862
  else {
626
863
  userParts.push({
@@ -629,6 +866,7 @@ let AiService = AiService_1 = class AiService {
629
866
  data: attachment.buffer.toString('base64'),
630
867
  },
631
868
  });
869
+ delivery = 'pdf-document';
632
870
  }
633
871
  }
634
872
  else {
@@ -638,6 +876,7 @@ let AiService = AiService_1 = class AiService {
638
876
  data: attachment.buffer.toString('base64'),
639
877
  },
640
878
  });
879
+ delivery = this.isImageMime(attachment.mimeType) ? 'image' : 'binary';
641
880
  }
642
881
  }
643
882
  let payload = {
@@ -659,6 +898,7 @@ let AiService = AiService_1 = class AiService {
659
898
  const u = (_g = response.data) === null || _g === void 0 ? void 0 : _g.usageMetadata;
660
899
  return {
661
900
  content,
901
+ delivery,
662
902
  usage: u ? { input: (_h = u.promptTokenCount) !== null && _h !== void 0 ? _h : 0, output: (_j = u.candidatesTokenCount) !== null && _j !== void 0 ? _j : 0, total: (_k = u.totalTokenCount) !== null && _k !== void 0 ? _k : 0 } : undefined,
663
903
  };
664
904
  }
@@ -683,30 +923,46 @@ let AiService = AiService_1 = class AiService {
683
923
  }
684
924
  return null;
685
925
  }
926
+ /**
927
+ * Conteúdo da mensagem do usuário no chat/completions, mais como o anexo foi
928
+ * parar lá dentro.
929
+ *
930
+ * O `delivery` sai daqui porque é aqui que a decisão acontece: um PDF sem
931
+ * camada de texto vira o marcador de ilegível, e só este método sabe disso.
932
+ */
686
933
  async buildOpenAiUserContent(message, attachment, supportsImages = true) {
687
934
  if (!attachment) {
688
- return message;
935
+ return { content: message, delivery: 'none' };
689
936
  }
690
937
  if (supportsImages && this.isImageMime(attachment.mimeType)) {
691
938
  const dataUri = `data:${attachment.mimeType};base64,${attachment.buffer.toString('base64')}`;
692
- return [
693
- { type: 'text', text: message },
694
- { type: 'image_url', image_url: { url: dataUri } },
695
- ];
939
+ return {
940
+ content: [
941
+ { type: 'text', text: message },
942
+ { type: 'image_url', image_url: { url: dataUri } },
943
+ ],
944
+ delivery: 'image',
945
+ };
696
946
  }
697
947
  let text;
948
+ let delivery;
698
949
  if (this.isTextMime(attachment.mimeType)) {
699
950
  text = this.toUtf8Text(attachment.buffer);
951
+ delivery = 'text';
700
952
  }
701
953
  else if (this.isPdfMime(attachment.mimeType)) {
702
- text =
703
- (await this.extractPdfText(attachment.buffer)) ||
704
- (0, ai_attachment_fragments_1.unreadablePdfMarker)(attachment.filename);
954
+ const pdfText = await this.extractPdfText(attachment.buffer);
955
+ text = pdfText || (0, ai_attachment_fragments_1.unreadablePdfMarker)(attachment.filename);
956
+ delivery = pdfText ? 'pdf-text' : 'unreadable-pdf';
705
957
  }
706
958
  else {
707
959
  text = (0, ai_attachment_fragments_1.binaryAttachmentMarker)(attachment.filename, attachment.mimeType, attachment.buffer.length);
960
+ delivery = 'binary';
708
961
  }
709
- return `${message}${(0, ai_attachment_fragments_1.attachedFileBlock)(attachment.filename, text)}`;
962
+ return {
963
+ content: `${message}${(0, ai_attachment_fragments_1.attachedFileBlock)(attachment.filename, text)}`,
964
+ delivery,
965
+ };
710
966
  }
711
967
  isImageMime(mimeType) {
712
968
  return mimeType.startsWith('image/');
@@ -760,11 +1016,36 @@ let AiService = AiService_1 = class AiService {
760
1016
  return '';
761
1017
  }
762
1018
  }
1019
+ /** Páginas do PDF, ou 0 quando ele não abre — nesse caso o teto não barra. */
1020
+ async countPdfPages(buffer) {
1021
+ var _a, _b;
1022
+ try {
1023
+ return (_b = (_a = (await (0, pdf_parse_1.default)(buffer))) === null || _a === void 0 ? void 0 : _a.numpages) !== null && _b !== void 0 ? _b : 0;
1024
+ }
1025
+ catch (_c) {
1026
+ return 0;
1027
+ }
1028
+ }
763
1029
  toUtf8Text(buffer) {
764
1030
  return buffer.toString('utf8');
765
1031
  }
766
1032
  };
767
1033
  exports.AiService = AiService;
1034
+ /**
1035
+ * Bytes crus de PDF acima disto não vão inline: base64 infla ~1,37x e a
1036
+ * OpenAI limita a requisição a 50 MB.
1037
+ */
1038
+ AiService.OPENAI_RESPONSES_MAX_PDF_BYTES = 20 * 1024 * 1024;
1039
+ /** Acima disto a conta de tokens das páginas renderizadas deixa de compensar. */
1040
+ AiService.OPENAI_RESPONSES_MAX_PDF_PAGES = 20;
1041
+ /**
1042
+ * Modelos que renderizam as páginas do PDF como imagem na Responses API.
1043
+ *
1044
+ * Um modelo sem visão recebendo `input_file` só recebe a camada de texto de
1045
+ * volta — o mesmo nada do chat/completions, num endpoint diferente. Deixá-lo
1046
+ * no caminho antigo mantém a falha conhecida em vez de criar uma nova.
1047
+ */
1048
+ AiService.OPENAI_DOCUMENT_MODEL_RE = /^(gpt-4o|gpt-4\.1|gpt-4-turbo|gpt-5|o3|o4)/i;
768
1049
  exports.AiService = AiService = AiService_1 = __decorate([
769
1050
  (0, common_1.Injectable)(),
770
1051
  __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => api_prisma_1.PrismaService))),
@@ -1 +1 @@
1
- {"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../src/ai/ai.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../src/ai/ai.service.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,18 @@ export type OpenAiParamDefaults = {
76
76
  * `temperature` and `max_tokens` outright.
77
77
  */
78
78
  export declare function applyOpenAiModelParams(body: Record<string, unknown>, params: ModelParams, defaults: OpenAiParamDefaults): Record<string, unknown>;
79
+ /**
80
+ * Same as `applyOpenAiModelParams`, but for `POST /v1/responses`.
81
+ *
82
+ * That endpoint renames three things, and this is the single place the rename
83
+ * lives: the messages array is `input`, `max_tokens` is `max_output_tokens`,
84
+ * and `response_format` moved under `text.format`. The system prompt is not a
85
+ * message either — it is the top-level `instructions`, handled by the caller.
86
+ *
87
+ * Same contract as the sibling: a key is only written when there is a value, so
88
+ * a body built with no params stays exactly `{ model, input }`.
89
+ */
90
+ export declare function applyOpenAiResponsesParams(body: Record<string, unknown>, params: ModelParams, defaults: OpenAiParamDefaults): Record<string, unknown>;
79
91
  export declare function applyGeminiModelParams(payload: Record<string, unknown>, params: ModelParams, defaults: {
80
92
  temperature?: number;
81
93
  maxTokens?: number;