@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.
- package/dist/access-log/access-log.interceptor.d.ts +10 -0
- package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
- package/dist/access-log/access-log.interceptor.js +15 -1
- package/dist/access-log/access-log.interceptor.js.map +1 -1
- package/dist/ai/ai.controller.d.ts +2 -0
- package/dist/ai/ai.controller.d.ts.map +1 -1
- package/dist/ai/ai.service.d.ts +86 -2
- package/dist/ai/ai.service.d.ts.map +1 -1
- package/dist/ai/ai.service.js +304 -23
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +12 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -1
- package/dist/ai-instruction/ai-prompt-resolver.service.js +26 -0
- package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -1
- package/dist/core.module.d.ts.map +1 -1
- package/dist/core.module.js +3 -0
- package/dist/core.module.js.map +1 -1
- package/dist/document-kit/document-kit.module.d.ts +3 -0
- package/dist/document-kit/document-kit.module.d.ts.map +1 -0
- package/dist/document-kit/document-kit.module.js +24 -0
- package/dist/document-kit/document-kit.module.js.map +1 -0
- package/dist/document-kit/document-kit.registry.d.ts +55 -0
- package/dist/document-kit/document-kit.registry.d.ts.map +1 -0
- package/dist/document-kit/document-kit.registry.js +91 -0
- package/dist/document-kit/document-kit.registry.js.map +1 -0
- package/dist/document-kit/document-kit.service.d.ts +49 -0
- package/dist/document-kit/document-kit.service.d.ts.map +1 -0
- package/dist/document-kit/document-kit.service.js +135 -0
- package/dist/document-kit/document-kit.service.js.map +1 -0
- package/dist/file/file-upload-ticket.service.d.ts +1 -1
- package/dist/file/file.controller.d.ts +3 -3
- package/dist/file/file.service.d.ts +136 -13
- package/dist/file/file.service.d.ts.map +1 -1
- package/dist/file/file.service.js +297 -27
- package/dist/file/file.service.js.map +1 -1
- package/dist/file/mcp-file-source.schema.d.ts.map +1 -1
- package/dist/file/mcp-file-source.schema.js +8 -5
- package/dist/file/mcp-file-source.schema.js.map +1 -1
- package/dist/file/provider/abstract.provider.d.ts +33 -0
- package/dist/file/provider/abstract.provider.d.ts.map +1 -1
- package/dist/file/provider/abstract.provider.js +9 -0
- package/dist/file/provider/abstract.provider.js.map +1 -1
- package/dist/file/provider/s3-multipart.util.d.ts +17 -0
- package/dist/file/provider/s3-multipart.util.d.ts.map +1 -0
- package/dist/file/provider/s3-multipart.util.js +88 -0
- package/dist/file/provider/s3-multipart.util.js.map +1 -0
- package/dist/file/provider/s3.provider.d.ts +9 -1
- package/dist/file/provider/s3.provider.d.ts.map +1 -1
- package/dist/file/provider/s3.provider.js +16 -0
- package/dist/file/provider/s3.provider.js.map +1 -1
- package/dist/file/provider/spaces.provider.d.ts +10 -1
- package/dist/file/provider/spaces.provider.d.ts.map +1 -1
- package/dist/file/provider/spaces.provider.js +17 -0
- package/dist/file/provider/spaces.provider.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-profile/integration-profile.controller.d.ts +1 -0
- package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.secrets.js +26 -0
- package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
- package/dist/integration-profile/integration-profile.service.d.ts +1 -0
- package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
- package/dist/integration-profile/integration-profile.service.js +3 -3
- package/dist/integration-profile/integration-profile.service.js.map +1 -1
- package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -1
- package/dist/integration-profile/testers/ai.testers.js +46 -8
- package/dist/integration-profile/testers/ai.testers.js.map +1 -1
- package/dist/integration-profile/testers/http-probe.d.ts.map +1 -1
- package/dist/integration-profile/testers/http-probe.js +5 -3
- package/dist/integration-profile/testers/http-probe.js.map +1 -1
- package/dist/integration-profile/testers/integration-tester.types.d.ts +5 -0
- package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -1
- package/dist/mail/mail.service.d.ts.map +1 -1
- package/dist/mail/mail.service.js +16 -1
- package/dist/mail/mail.service.js.map +1 -1
- package/dist/mcp/mcp-server.service.d.ts.map +1 -1
- package/dist/mcp/mcp-server.service.js +10 -1
- package/dist/mcp/mcp-server.service.js.map +1 -1
- package/dist/mcp/mcp.module.d.ts.map +1 -1
- package/dist/mcp/mcp.module.js +2 -0
- package/dist/mcp/mcp.module.js.map +1 -1
- package/dist/mcp/tools/core-access-log.mcp-tools.d.ts +17 -0
- package/dist/mcp/tools/core-access-log.mcp-tools.d.ts.map +1 -0
- package/dist/mcp/tools/core-access-log.mcp-tools.js +74 -0
- package/dist/mcp/tools/core-access-log.mcp-tools.js.map +1 -0
- package/dist/mcp/tools/core-files.mcp-tools.js +4 -4
- package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -1
- package/dist/meeting/meeting-provider.registry.d.ts +72 -0
- package/dist/meeting/meeting-provider.registry.d.ts.map +1 -1
- package/dist/meeting/meeting-provider.registry.js.map +1 -1
- package/dist/oauth/oauth-token-broker.service.d.ts +50 -1
- package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -1
- package/dist/oauth/oauth-token-broker.service.js +105 -3
- package/dist/oauth/oauth-token-broker.service.js.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.d.ts +6 -0
- package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
- package/dist/oauth/providers/microsoft-entra-id.provider.js +30 -4
- package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
- package/dist/pdf/document/charts/chart-bar.d.ts +24 -0
- package/dist/pdf/document/charts/chart-bar.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-bar.js +117 -0
- package/dist/pdf/document/charts/chart-bar.js.map +1 -0
- package/dist/pdf/document/charts/chart-donut.d.ts +16 -0
- package/dist/pdf/document/charts/chart-donut.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-donut.js +89 -0
- package/dist/pdf/document/charts/chart-donut.js.map +1 -0
- package/dist/pdf/document/charts/chart-gauge.d.ts +15 -0
- package/dist/pdf/document/charts/chart-gauge.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-gauge.js +60 -0
- package/dist/pdf/document/charts/chart-gauge.js.map +1 -0
- package/dist/pdf/document/charts/chart-line.d.ts +29 -0
- package/dist/pdf/document/charts/chart-line.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-line.js +89 -0
- package/dist/pdf/document/charts/chart-line.js.map +1 -0
- package/dist/pdf/document/charts/chart-primitives.d.ts +64 -0
- package/dist/pdf/document/charts/chart-primitives.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-primitives.js +110 -0
- package/dist/pdf/document/charts/chart-primitives.js.map +1 -0
- package/dist/pdf/document/charts/chart-radar.d.ts +13 -0
- package/dist/pdf/document/charts/chart-radar.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-radar.js +83 -0
- package/dist/pdf/document/charts/chart-radar.js.map +1 -0
- package/dist/pdf/document/charts/chart-scale.d.ts +39 -0
- package/dist/pdf/document/charts/chart-scale.d.ts.map +1 -0
- package/dist/pdf/document/charts/chart-scale.js +118 -0
- package/dist/pdf/document/charts/chart-scale.js.map +1 -0
- package/dist/pdf/document/charts/index.d.ts +8 -0
- package/dist/pdf/document/charts/index.d.ts.map +1 -0
- package/dist/pdf/document/charts/index.js +24 -0
- package/dist/pdf/document/charts/index.js.map +1 -0
- package/dist/pdf/document/index.d.ts +8 -0
- package/dist/pdf/document/index.d.ts.map +1 -0
- package/dist/pdf/document/index.js +24 -0
- package/dist/pdf/document/index.js.map +1 -0
- package/dist/pdf/document/pdf-document.chrome.d.ts +20 -0
- package/dist/pdf/document/pdf-document.chrome.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.chrome.js +36 -0
- package/dist/pdf/document/pdf-document.chrome.js.map +1 -0
- package/dist/pdf/document/pdf-document.css.d.ts +20 -0
- package/dist/pdf/document/pdf-document.css.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.css.js +327 -0
- package/dist/pdf/document/pdf-document.css.js.map +1 -0
- package/dist/pdf/document/pdf-document.renderer.d.ts +10 -0
- package/dist/pdf/document/pdf-document.renderer.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.renderer.js +226 -0
- package/dist/pdf/document/pdf-document.renderer.js.map +1 -0
- package/dist/pdf/document/pdf-document.service.d.ts +27 -0
- package/dist/pdf/document/pdf-document.service.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.service.js +81 -0
- package/dist/pdf/document/pdf-document.service.js.map +1 -0
- package/dist/pdf/document/pdf-document.theme.d.ts +41 -0
- package/dist/pdf/document/pdf-document.theme.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.theme.js +105 -0
- package/dist/pdf/document/pdf-document.theme.js.map +1 -0
- package/dist/pdf/document/pdf-document.types.d.ts +164 -0
- package/dist/pdf/document/pdf-document.types.d.ts.map +1 -0
- package/dist/pdf/document/pdf-document.types.js +18 -0
- package/dist/pdf/document/pdf-document.types.js.map +1 -0
- package/dist/pdf/pdf.module.d.ts.map +1 -1
- package/dist/pdf/pdf.module.js +3 -2
- package/dist/pdf/pdf.module.js.map +1 -1
- package/dist/pdf/pdf.service.d.ts +75 -1
- package/dist/pdf/pdf.service.d.ts.map +1 -1
- package/dist/pdf/pdf.service.js +167 -63
- package/dist/pdf/pdf.service.js.map +1 -1
- package/dist/pdf/templates/commercial-proposal.template.d.ts +96 -0
- package/dist/pdf/templates/commercial-proposal.template.d.ts.map +1 -0
- package/dist/pdf/templates/commercial-proposal.template.js +276 -0
- package/dist/pdf/templates/commercial-proposal.template.js.map +1 -0
- package/dist/setting/favicon.controller.d.ts +26 -0
- package/dist/setting/favicon.controller.d.ts.map +1 -0
- package/dist/setting/favicon.controller.js +130 -0
- package/dist/setting/favicon.controller.js.map +1 -0
- package/dist/setting/setting.module.d.ts.map +1 -1
- package/dist/setting/setting.module.js +2 -1
- package/dist/setting/setting.module.js.map +1 -1
- package/dist/setting/setting.service.d.ts.map +1 -1
- package/dist/setting/setting.service.js +3 -0
- package/dist/setting/setting.service.js.map +1 -1
- package/dist/task/task.service.d.ts +6 -0
- package/dist/task/task.service.d.ts.map +1 -1
- package/dist/task/task.service.js +44 -13
- package/dist/task/task.service.js.map +1 -1
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +35 -2
- package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -1
- package/dist/whatsapp-sender/whatsapp-sender.service.js +107 -22
- package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -1
- package/hedhog/data/integration_type.yaml +6 -0
- package/hedhog/data/route.yaml +8 -0
- package/hedhog/data/setting_group.yaml +52 -0
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +85 -2
- package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +576 -491
- package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +29 -50
- package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +146 -50
- package/hedhog/frontend/messages/en.json +81 -2
- package/hedhog/frontend/messages/pt.json +81 -2
- package/hedhog/table/file.yaml +3 -1
- package/package.json +5 -5
- package/src/access-log/access-log.interceptor.spec.ts +50 -0
- package/src/access-log/access-log.interceptor.ts +18 -0
- package/src/ai/ai-attachment.fragments.spec.ts +56 -3
- package/src/ai/ai.service.responses.spec.ts +429 -0
- package/src/ai/ai.service.ts +409 -27
- package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +44 -0
- package/src/ai-instruction/ai-prompt-resolver.service.ts +29 -0
- package/src/core.module.ts +3 -0
- package/src/document-kit/document-kit.module.ts +12 -0
- package/src/document-kit/document-kit.registry.ts +125 -0
- package/src/document-kit/document-kit.service.spec.ts +156 -0
- package/src/document-kit/document-kit.service.ts +173 -0
- package/src/file/file-direct-upload.spec.ts +344 -0
- package/src/file/file.service.spec.ts +168 -1
- package/src/file/file.service.ts +435 -36
- package/src/file/mcp-file-source.schema.ts +8 -5
- package/src/file/provider/abstract.provider.ts +57 -0
- package/src/file/provider/s3-multipart.spec.ts +123 -0
- package/src/file/provider/s3-multipart.util.ts +126 -0
- package/src/file/provider/s3.provider.ts +65 -1
- package/src/file/provider/spaces.provider.ts +67 -1
- package/src/index.ts +5 -0
- package/src/integration-profile/integration-profile.secrets.ts +26 -0
- package/src/integration-profile/integration-profile.service.ts +1 -0
- package/src/integration-profile/testers/ai.testers.ts +70 -5
- package/src/integration-profile/testers/http-probe.ts +5 -3
- package/src/integration-profile/testers/integration-tester.types.ts +5 -0
- package/src/integration-profile/testers/oauth.testers.spec.ts +13 -0
- package/src/integration-profile/testers/remaining.testers.spec.ts +65 -1
- package/src/integration-profile/testers/tester-coverage.spec.ts +12 -0
- package/src/mail/mail.service.spec.ts +25 -0
- package/src/mail/mail.service.ts +18 -1
- package/src/mcp/mcp-server.service.spec.ts +16 -0
- package/src/mcp/mcp-server.service.ts +10 -1
- package/src/mcp/mcp.module.ts +2 -0
- package/src/mcp/tools/core-access-log.mcp-tools.ts +66 -0
- package/src/mcp/tools/core-files.mcp-tools.ts +4 -4
- package/src/meeting/meeting-provider.registry.ts +80 -0
- package/src/oauth/oauth-token-broker.service.spec.ts +108 -0
- package/src/oauth/oauth-token-broker.service.ts +129 -2
- package/src/oauth/providers/microsoft-entra-id.provider.spec.ts +133 -0
- package/src/oauth/providers/microsoft-entra-id.provider.ts +29 -2
- package/src/pdf/document/charts/chart-bar.ts +217 -0
- package/src/pdf/document/charts/chart-donut.ts +163 -0
- package/src/pdf/document/charts/chart-gauge.ts +94 -0
- package/src/pdf/document/charts/chart-line.ts +159 -0
- package/src/pdf/document/charts/chart-primitives.ts +188 -0
- package/src/pdf/document/charts/chart-radar.ts +136 -0
- package/src/pdf/document/charts/chart-scale.spec.ts +93 -0
- package/src/pdf/document/charts/chart-scale.ts +141 -0
- package/src/pdf/document/charts/charts.spec.ts +157 -0
- package/src/pdf/document/charts/index.ts +7 -0
- package/src/pdf/document/index.ts +7 -0
- package/src/pdf/document/pdf-document.chrome.ts +38 -0
- package/src/pdf/document/pdf-document.css.ts +326 -0
- package/src/pdf/document/pdf-document.renderer.spec.ts +172 -0
- package/src/pdf/document/pdf-document.renderer.ts +317 -0
- package/src/pdf/document/pdf-document.service.ts +77 -0
- package/src/pdf/document/pdf-document.theme.ts +146 -0
- package/src/pdf/document/pdf-document.types.ts +149 -0
- package/src/pdf/pdf.module.ts +3 -2
- package/src/pdf/pdf.service.spec.ts +131 -0
- package/src/pdf/pdf.service.ts +256 -82
- package/src/pdf/templates/commercial-proposal.template.spec.ts +177 -0
- package/src/pdf/templates/commercial-proposal.template.ts +400 -0
- package/src/setting/favicon.controller.spec.ts +92 -0
- package/src/setting/favicon.controller.ts +135 -0
- package/src/setting/setting.module.ts +2 -1
- package/src/setting/setting.service.ts +3 -0
- package/src/task/task.service.spec.ts +77 -1
- package/src/task/task.service.ts +58 -14
- package/src/whatsapp-sender/whatsapp-sender.service.spec.ts +263 -0
- package/src/whatsapp-sender/whatsapp-sender.service.ts +154 -16
package/dist/ai/ai.service.js
CHANGED
|
@@ -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 {
|
|
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
|
|
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.
|
|
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
|
-
|
|
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: (
|
|
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 = (
|
|
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: (
|
|
559
|
-
|
|
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
|
-
|
|
694
|
-
|
|
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
|
-
|
|
703
|
-
|
|
704
|
-
|
|
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
|
|
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;
|