ysk-omni 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +80 -0
- package/LICENSE +21 -0
- package/README-ZH.md +51 -0
- package/README.md +41 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +277 -0
- package/dist/app.js.map +1 -0
- package/dist/catalog/curated.d.ts +14 -0
- package/dist/catalog/curated.d.ts.map +1 -0
- package/dist/catalog/curated.js +30 -0
- package/dist/catalog/curated.js.map +1 -0
- package/dist/cli/commands/admin-otp.d.ts +10 -0
- package/dist/cli/commands/admin-otp.d.ts.map +1 -0
- package/dist/cli/commands/admin-otp.js +82 -0
- package/dist/cli/commands/admin-otp.js.map +1 -0
- package/dist/cli/commands/admin-panel.d.ts +13 -0
- package/dist/cli/commands/admin-panel.d.ts.map +1 -0
- package/dist/cli/commands/admin-panel.js +98 -0
- package/dist/cli/commands/admin-panel.js.map +1 -0
- package/dist/cli/commands/admin-sessions.d.ts +6 -0
- package/dist/cli/commands/admin-sessions.d.ts.map +1 -0
- package/dist/cli/commands/admin-sessions.js +62 -0
- package/dist/cli/commands/admin-sessions.js.map +1 -0
- package/dist/cli/commands/api-features.d.ts +8 -0
- package/dist/cli/commands/api-features.d.ts.map +1 -0
- package/dist/cli/commands/api-features.js +136 -0
- package/dist/cli/commands/api-features.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +7 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +48 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/catalog.d.ts +26 -0
- package/dist/cli/commands/catalog.d.ts.map +1 -0
- package/dist/cli/commands/catalog.js +223 -0
- package/dist/cli/commands/catalog.js.map +1 -0
- package/dist/cli/commands/chats.d.ts +10 -0
- package/dist/cli/commands/chats.d.ts.map +1 -0
- package/dist/cli/commands/chats.js +97 -0
- package/dist/cli/commands/chats.js.map +1 -0
- package/dist/cli/commands/conversations.d.ts +10 -0
- package/dist/cli/commands/conversations.d.ts.map +1 -0
- package/dist/cli/commands/conversations.js +68 -0
- package/dist/cli/commands/conversations.js.map +1 -0
- package/dist/cli/commands/ddos.d.ts +18 -0
- package/dist/cli/commands/ddos.d.ts.map +1 -0
- package/dist/cli/commands/ddos.js +298 -0
- package/dist/cli/commands/ddos.js.map +1 -0
- package/dist/cli/commands/docs.d.ts +13 -0
- package/dist/cli/commands/docs.d.ts.map +1 -0
- package/dist/cli/commands/docs.js +104 -0
- package/dist/cli/commands/docs.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +6 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +207 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/key.d.ts +42 -0
- package/dist/cli/commands/key.d.ts.map +1 -0
- package/dist/cli/commands/key.js +192 -0
- package/dist/cli/commands/key.js.map +1 -0
- package/dist/cli/commands/logs.d.ts +19 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +104 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +5 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +25 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/models.d.ts +5 -0
- package/dist/cli/commands/models.d.ts.map +1 -0
- package/dist/cli/commands/models.js +68 -0
- package/dist/cli/commands/models.js.map +1 -0
- package/dist/cli/commands/open.d.ts +7 -0
- package/dist/cli/commands/open.d.ts.map +1 -0
- package/dist/cli/commands/open.js +24 -0
- package/dist/cli/commands/open.js.map +1 -0
- package/dist/cli/commands/queue.d.ts +33 -0
- package/dist/cli/commands/queue.d.ts.map +1 -0
- package/dist/cli/commands/queue.js +467 -0
- package/dist/cli/commands/queue.js.map +1 -0
- package/dist/cli/commands/restart.d.ts +8 -0
- package/dist/cli/commands/restart.d.ts.map +1 -0
- package/dist/cli/commands/restart.js +36 -0
- package/dist/cli/commands/restart.js.map +1 -0
- package/dist/cli/commands/runtimes.d.ts +9 -0
- package/dist/cli/commands/runtimes.d.ts.map +1 -0
- package/dist/cli/commands/runtimes.js +87 -0
- package/dist/cli/commands/runtimes.js.map +1 -0
- package/dist/cli/commands/seed.d.ts +5 -0
- package/dist/cli/commands/seed.d.ts.map +1 -0
- package/dist/cli/commands/seed.js +22 -0
- package/dist/cli/commands/seed.js.map +1 -0
- package/dist/cli/commands/settings.d.ts +13 -0
- package/dist/cli/commands/settings.d.ts.map +1 -0
- package/dist/cli/commands/settings.js +182 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +6 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +70 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/start.d.ts +9 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +140 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +3 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +83 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/status.d.ts +6 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +70 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +11 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +51 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/commands/update.d.ts +9 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +182 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/version.d.ts +2 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +16 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +835 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lib/auto-migrate.d.ts +14 -0
- package/dist/cli/lib/auto-migrate.d.ts.map +1 -0
- package/dist/cli/lib/auto-migrate.js +42 -0
- package/dist/cli/lib/auto-migrate.js.map +1 -0
- package/dist/cli/lib/db-keys.d.ts +51 -0
- package/dist/cli/lib/db-keys.d.ts.map +1 -0
- package/dist/cli/lib/db-keys.js +207 -0
- package/dist/cli/lib/db-keys.js.map +1 -0
- package/dist/cli/lib/env-file.d.ts +14 -0
- package/dist/cli/lib/env-file.d.ts.map +1 -0
- package/dist/cli/lib/env-file.js +143 -0
- package/dist/cli/lib/env-file.js.map +1 -0
- package/dist/cli/lib/paths.d.ts +27 -0
- package/dist/cli/lib/paths.d.ts.map +1 -0
- package/dist/cli/lib/paths.js +87 -0
- package/dist/cli/lib/paths.js.map +1 -0
- package/dist/cli/lib/pm2-runner.d.ts +14 -0
- package/dist/cli/lib/pm2-runner.d.ts.map +1 -0
- package/dist/cli/lib/pm2-runner.js +179 -0
- package/dist/cli/lib/pm2-runner.js.map +1 -0
- package/dist/cli/lib/print-table.d.ts +3 -0
- package/dist/cli/lib/print-table.d.ts.map +1 -0
- package/dist/cli/lib/print-table.js +29 -0
- package/dist/cli/lib/print-table.js.map +1 -0
- package/dist/cli/lib/print.d.ts +10 -0
- package/dist/cli/lib/print.d.ts.map +1 -0
- package/dist/cli/lib/print.js +28 -0
- package/dist/cli/lib/print.js.map +1 -0
- package/dist/cli/lib/process-mgr.d.ts +23 -0
- package/dist/cli/lib/process-mgr.d.ts.map +1 -0
- package/dist/cli/lib/process-mgr.js +207 -0
- package/dist/cli/lib/process-mgr.js.map +1 -0
- package/dist/cli/lib/run-prisma.d.ts +13 -0
- package/dist/cli/lib/run-prisma.d.ts.map +1 -0
- package/dist/cli/lib/run-prisma.js +99 -0
- package/dist/cli/lib/run-prisma.js.map +1 -0
- package/dist/cli/lib/runner-info.d.ts +20 -0
- package/dist/cli/lib/runner-info.d.ts.map +1 -0
- package/dist/cli/lib/runner-info.js +120 -0
- package/dist/cli/lib/runner-info.js.map +1 -0
- package/dist/cli/lib/runtime-context.d.ts +23 -0
- package/dist/cli/lib/runtime-context.d.ts.map +1 -0
- package/dist/cli/lib/runtime-context.js +60 -0
- package/dist/cli/lib/runtime-context.js.map +1 -0
- package/dist/cli/lib/seed-admin.d.ts +17 -0
- package/dist/cli/lib/seed-admin.d.ts.map +1 -0
- package/dist/cli/lib/seed-admin.js +80 -0
- package/dist/cli/lib/seed-admin.js.map +1 -0
- package/dist/cli/lib/spinner.d.ts +20 -0
- package/dist/cli/lib/spinner.d.ts.map +1 -0
- package/dist/cli/lib/spinner.js +72 -0
- package/dist/cli/lib/spinner.js.map +1 -0
- package/dist/config/constants.d.ts +143 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +355 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/cors.d.ts +3 -0
- package/dist/config/cors.d.ts.map +1 -0
- package/dist/config/cors.js +30 -0
- package/dist/config/cors.js.map +1 -0
- package/dist/config/database.d.ts +4 -0
- package/dist/config/database.d.ts.map +1 -0
- package/dist/config/database.js +18 -0
- package/dist/config/database.js.map +1 -0
- package/dist/config/env.d.ts +48 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +163 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/omni-home.d.ts +3 -0
- package/dist/config/omni-home.d.ts.map +1 -0
- package/dist/config/omni-home.js +16 -0
- package/dist/config/omni-home.js.map +1 -0
- package/dist/controllers/admin/api-features.handlers.d.ts +6 -0
- package/dist/controllers/admin/api-features.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/api-features.handlers.js +62 -0
- package/dist/controllers/admin/api-features.handlers.js.map +1 -0
- package/dist/controllers/admin/audit.handlers.d.ts +5 -0
- package/dist/controllers/admin/audit.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/audit.handlers.js +79 -0
- package/dist/controllers/admin/audit.handlers.js.map +1 -0
- package/dist/controllers/admin/auth.handlers.d.ts +8 -0
- package/dist/controllers/admin/auth.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/auth.handlers.js +56 -0
- package/dist/controllers/admin/auth.handlers.js.map +1 -0
- package/dist/controllers/admin/catalog.handlers.d.ts +10 -0
- package/dist/controllers/admin/catalog.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/catalog.handlers.js +170 -0
- package/dist/controllers/admin/catalog.handlers.js.map +1 -0
- package/dist/controllers/admin/chats.handlers.d.ts +6 -0
- package/dist/controllers/admin/chats.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/chats.handlers.js +22 -0
- package/dist/controllers/admin/chats.handlers.js.map +1 -0
- package/dist/controllers/admin/conversations.handlers.d.ts +9 -0
- package/dist/controllers/admin/conversations.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/conversations.handlers.js +70 -0
- package/dist/controllers/admin/conversations.handlers.js.map +1 -0
- package/dist/controllers/admin/core.handlers.d.ts +13 -0
- package/dist/controllers/admin/core.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/core.handlers.js +201 -0
- package/dist/controllers/admin/core.handlers.js.map +1 -0
- package/dist/controllers/admin/ddos.handlers.d.ts +13 -0
- package/dist/controllers/admin/ddos.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/ddos.handlers.js +178 -0
- package/dist/controllers/admin/ddos.handlers.js.map +1 -0
- package/dist/controllers/admin/documents.handlers.d.ts +8 -0
- package/dist/controllers/admin/documents.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/documents.handlers.js +207 -0
- package/dist/controllers/admin/documents.handlers.js.map +1 -0
- package/dist/controllers/admin/keys.handlers.d.ts +8 -0
- package/dist/controllers/admin/keys.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/keys.handlers.js +84 -0
- package/dist/controllers/admin/keys.handlers.js.map +1 -0
- package/dist/controllers/admin/media.handlers.d.ts +27 -0
- package/dist/controllers/admin/media.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/media.handlers.js +637 -0
- package/dist/controllers/admin/media.handlers.js.map +1 -0
- package/dist/controllers/admin/playground.handlers.d.ts +6 -0
- package/dist/controllers/admin/playground.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/playground.handlers.js +76 -0
- package/dist/controllers/admin/playground.handlers.js.map +1 -0
- package/dist/controllers/admin/pm2.handlers.d.ts +15 -0
- package/dist/controllers/admin/pm2.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/pm2.handlers.js +161 -0
- package/dist/controllers/admin/pm2.handlers.js.map +1 -0
- package/dist/controllers/admin/queue.handlers.d.ts +16 -0
- package/dist/controllers/admin/queue.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/queue.handlers.js +159 -0
- package/dist/controllers/admin/queue.handlers.js.map +1 -0
- package/dist/controllers/admin/runtimes.handlers.d.ts +6 -0
- package/dist/controllers/admin/runtimes.handlers.d.ts.map +1 -0
- package/dist/controllers/admin/runtimes.handlers.js +54 -0
- package/dist/controllers/admin/runtimes.handlers.js.map +1 -0
- package/dist/controllers/admin/types.d.ts +7 -0
- package/dist/controllers/admin/types.d.ts.map +1 -0
- package/dist/controllers/admin/types.js +3 -0
- package/dist/controllers/admin/types.js.map +1 -0
- package/dist/controllers/admin.controller.d.ts +87 -0
- package/dist/controllers/admin.controller.d.ts.map +1 -0
- package/dist/controllers/admin.controller.js +58 -0
- package/dist/controllers/admin.controller.js.map +1 -0
- package/dist/controllers/anthropic.controller.d.ts +5 -0
- package/dist/controllers/anthropic.controller.d.ts.map +1 -0
- package/dist/controllers/anthropic.controller.js +37 -0
- package/dist/controllers/anthropic.controller.js.map +1 -0
- package/dist/controllers/api-key.controller.d.ts +7 -0
- package/dist/controllers/api-key.controller.d.ts.map +1 -0
- package/dist/controllers/api-key.controller.js +51 -0
- package/dist/controllers/api-key.controller.js.map +1 -0
- package/dist/controllers/assistants.controller.d.ts +13 -0
- package/dist/controllers/assistants.controller.d.ts.map +1 -0
- package/dist/controllers/assistants.controller.js +75 -0
- package/dist/controllers/assistants.controller.js.map +1 -0
- package/dist/controllers/audio.controller.d.ts +10 -0
- package/dist/controllers/audio.controller.d.ts.map +1 -0
- package/dist/controllers/audio.controller.js +43 -0
- package/dist/controllers/audio.controller.js.map +1 -0
- package/dist/controllers/chat.controller.d.ts +5 -0
- package/dist/controllers/chat.controller.d.ts.map +1 -0
- package/dist/controllers/chat.controller.js +34 -0
- package/dist/controllers/chat.controller.js.map +1 -0
- package/dist/controllers/document.controller.d.ts +8 -0
- package/dist/controllers/document.controller.d.ts.map +1 -0
- package/dist/controllers/document.controller.js +54 -0
- package/dist/controllers/document.controller.js.map +1 -0
- package/dist/controllers/files.controller.d.ts +12 -0
- package/dist/controllers/files.controller.d.ts.map +1 -0
- package/dist/controllers/files.controller.js +144 -0
- package/dist/controllers/files.controller.js.map +1 -0
- package/dist/controllers/health.controller.d.ts +6 -0
- package/dist/controllers/health.controller.d.ts.map +1 -0
- package/dist/controllers/health.controller.js +39 -0
- package/dist/controllers/health.controller.js.map +1 -0
- package/dist/controllers/images.controller.d.ts +6 -0
- package/dist/controllers/images.controller.d.ts.map +1 -0
- package/dist/controllers/images.controller.js +66 -0
- package/dist/controllers/images.controller.js.map +1 -0
- package/dist/controllers/media-assets.controller.d.ts +6 -0
- package/dist/controllers/media-assets.controller.d.ts.map +1 -0
- package/dist/controllers/media-assets.controller.js +51 -0
- package/dist/controllers/media-assets.controller.js.map +1 -0
- package/dist/controllers/models.controller.d.ts +7 -0
- package/dist/controllers/models.controller.d.ts.map +1 -0
- package/dist/controllers/models.controller.js +44 -0
- package/dist/controllers/models.controller.js.map +1 -0
- package/dist/controllers/responses.controller.d.ts +7 -0
- package/dist/controllers/responses.controller.d.ts.map +1 -0
- package/dist/controllers/responses.controller.js +83 -0
- package/dist/controllers/responses.controller.js.map +1 -0
- package/dist/controllers/videos.controller.d.ts +7 -0
- package/dist/controllers/videos.controller.d.ts.map +1 -0
- package/dist/controllers/videos.controller.js +46 -0
- package/dist/controllers/videos.controller.js.map +1 -0
- package/dist/dto/admin-auth.dto.d.ts +10 -0
- package/dist/dto/admin-auth.dto.d.ts.map +1 -0
- package/dist/dto/admin-auth.dto.js +12 -0
- package/dist/dto/admin-auth.dto.js.map +1 -0
- package/dist/dto/admin.dto.d.ts +153 -0
- package/dist/dto/admin.dto.d.ts.map +1 -0
- package/dist/dto/admin.dto.js +78 -0
- package/dist/dto/admin.dto.js.map +1 -0
- package/dist/dto/anthropic-messages.dto.d.ts +77 -0
- package/dist/dto/anthropic-messages.dto.d.ts.map +1 -0
- package/dist/dto/anthropic-messages.dto.js +65 -0
- package/dist/dto/anthropic-messages.dto.js.map +1 -0
- package/dist/dto/api-key.dto.d.ts +27 -0
- package/dist/dto/api-key.dto.d.ts.map +1 -0
- package/dist/dto/api-key.dto.js +15 -0
- package/dist/dto/api-key.dto.js.map +1 -0
- package/dist/dto/audio.dto.d.ts +64 -0
- package/dist/dto/audio.dto.d.ts.map +1 -0
- package/dist/dto/audio.dto.js +29 -0
- package/dist/dto/audio.dto.js.map +1 -0
- package/dist/dto/chat.dto.d.ts +451 -0
- package/dist/dto/chat.dto.d.ts.map +1 -0
- package/dist/dto/chat.dto.js +116 -0
- package/dist/dto/chat.dto.js.map +1 -0
- package/dist/dto/conversation.dto.d.ts +286 -0
- package/dist/dto/conversation.dto.d.ts.map +1 -0
- package/dist/dto/conversation.dto.js +78 -0
- package/dist/dto/conversation.dto.js.map +1 -0
- package/dist/dto/ddos.dto.d.ts +191 -0
- package/dist/dto/ddos.dto.d.ts.map +1 -0
- package/dist/dto/ddos.dto.js +57 -0
- package/dist/dto/ddos.dto.js.map +1 -0
- package/dist/dto/document.dto.d.ts +21 -0
- package/dist/dto/document.dto.d.ts.map +1 -0
- package/dist/dto/document.dto.js +12 -0
- package/dist/dto/document.dto.js.map +1 -0
- package/dist/dto/files.dto.d.ts +17 -0
- package/dist/dto/files.dto.d.ts.map +1 -0
- package/dist/dto/files.dto.js +21 -0
- package/dist/dto/files.dto.js.map +1 -0
- package/dist/dto/images.dto.d.ts +68 -0
- package/dist/dto/images.dto.d.ts.map +1 -0
- package/dist/dto/images.dto.js +40 -0
- package/dist/dto/images.dto.js.map +1 -0
- package/dist/dto/index.d.ts +13 -0
- package/dist/dto/index.d.ts.map +1 -0
- package/dist/dto/index.js +44 -0
- package/dist/dto/index.js.map +1 -0
- package/dist/dto/queue.dto.d.ts +126 -0
- package/dist/dto/queue.dto.d.ts.map +1 -0
- package/dist/dto/queue.dto.js +33 -0
- package/dist/dto/queue.dto.js.map +1 -0
- package/dist/dto/responses.dto.d.ts +76 -0
- package/dist/dto/responses.dto.d.ts.map +1 -0
- package/dist/dto/responses.dto.js +139 -0
- package/dist/dto/responses.dto.js.map +1 -0
- package/dist/dto/videos.dto.d.ts +46 -0
- package/dist/dto/videos.dto.d.ts.map +1 -0
- package/dist/dto/videos.dto.js +38 -0
- package/dist/dto/videos.dto.js.map +1 -0
- package/dist/entities/api-key-created.entity.d.ts +6 -0
- package/dist/entities/api-key-created.entity.d.ts.map +1 -0
- package/dist/entities/api-key-created.entity.js +3 -0
- package/dist/entities/api-key-created.entity.js.map +1 -0
- package/dist/entities/api-key-public.entity.d.ts +20 -0
- package/dist/entities/api-key-public.entity.d.ts.map +1 -0
- package/dist/entities/api-key-public.entity.js +3 -0
- package/dist/entities/api-key-public.entity.js.map +1 -0
- package/dist/entities/api-key.entity.d.ts +21 -0
- package/dist/entities/api-key.entity.d.ts.map +1 -0
- package/dist/entities/api-key.entity.js +3 -0
- package/dist/entities/api-key.entity.js.map +1 -0
- package/dist/entities/audit-log-create-input.entity.d.ts +9 -0
- package/dist/entities/audit-log-create-input.entity.d.ts.map +1 -0
- package/dist/entities/audit-log-create-input.entity.js +3 -0
- package/dist/entities/audit-log-create-input.entity.js.map +1 -0
- package/dist/entities/audit-log.entity.d.ts +12 -0
- package/dist/entities/audit-log.entity.d.ts.map +1 -0
- package/dist/entities/audit-log.entity.js +3 -0
- package/dist/entities/audit-log.entity.js.map +1 -0
- package/dist/entities/chat-request-status.type.d.ts +2 -0
- package/dist/entities/chat-request-status.type.d.ts.map +1 -0
- package/dist/entities/chat-request-status.type.js +3 -0
- package/dist/entities/chat-request-status.type.js.map +1 -0
- package/dist/entities/chat-request.entity.d.ts +18 -0
- package/dist/entities/chat-request.entity.d.ts.map +1 -0
- package/dist/entities/chat-request.entity.js +3 -0
- package/dist/entities/chat-request.entity.js.map +1 -0
- package/dist/entities/document-public.entity.d.ts +9 -0
- package/dist/entities/document-public.entity.d.ts.map +1 -0
- package/dist/entities/document-public.entity.js +3 -0
- package/dist/entities/document-public.entity.js.map +1 -0
- package/dist/entities/document-storage-type.type.d.ts +2 -0
- package/dist/entities/document-storage-type.type.d.ts.map +1 -0
- package/dist/entities/document-storage-type.type.js +3 -0
- package/dist/entities/document-storage-type.type.js.map +1 -0
- package/dist/entities/document.entity.d.ts +16 -0
- package/dist/entities/document.entity.d.ts.map +1 -0
- package/dist/entities/document.entity.js +3 -0
- package/dist/entities/document.entity.js.map +1 -0
- package/dist/entities/encrypted-payload.entity.d.ts +6 -0
- package/dist/entities/encrypted-payload.entity.d.ts.map +1 -0
- package/dist/entities/encrypted-payload.entity.js +3 -0
- package/dist/entities/encrypted-payload.entity.js.map +1 -0
- package/dist/entities/index.d.ts +12 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +3 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/exceptions/error-codes.d.ts +30 -0
- package/dist/exceptions/error-codes.d.ts.map +1 -0
- package/dist/exceptions/error-codes.js +32 -0
- package/dist/exceptions/error-codes.js.map +1 -0
- package/dist/exceptions/exception.factory.d.ts +33 -0
- package/dist/exceptions/exception.factory.d.ts.map +1 -0
- package/dist/exceptions/exception.factory.js +90 -0
- package/dist/exceptions/exception.factory.js.map +1 -0
- package/dist/exceptions/http.exception.d.ts +28 -0
- package/dist/exceptions/http.exception.d.ts.map +1 -0
- package/dist/exceptions/http.exception.js +75 -0
- package/dist/exceptions/http.exception.js.map +1 -0
- package/dist/interfaces/anthropic-message.interface.d.ts +27 -0
- package/dist/interfaces/anthropic-message.interface.d.ts.map +1 -0
- package/dist/interfaces/anthropic-message.interface.js +4 -0
- package/dist/interfaces/anthropic-message.interface.js.map +1 -0
- package/dist/interfaces/api-features.type.d.ts +45 -0
- package/dist/interfaces/api-features.type.d.ts.map +1 -0
- package/dist/interfaces/api-features.type.js +61 -0
- package/dist/interfaces/api-features.type.js.map +1 -0
- package/dist/interfaces/api-key-mode.type.d.ts +8 -0
- package/dist/interfaces/api-key-mode.type.d.ts.map +1 -0
- package/dist/interfaces/api-key-mode.type.js +3 -0
- package/dist/interfaces/api-key-mode.type.js.map +1 -0
- package/dist/interfaces/api-key-role.type.d.ts +3 -0
- package/dist/interfaces/api-key-role.type.d.ts.map +1 -0
- package/dist/interfaces/api-key-role.type.js +3 -0
- package/dist/interfaces/api-key-role.type.js.map +1 -0
- package/dist/interfaces/app-settings.type.d.ts +10 -0
- package/dist/interfaces/app-settings.type.d.ts.map +1 -0
- package/dist/interfaces/app-settings.type.js +3 -0
- package/dist/interfaces/app-settings.type.js.map +1 -0
- package/dist/interfaces/auth.interface.d.ts +5 -0
- package/dist/interfaces/auth.interface.d.ts.map +1 -0
- package/dist/interfaces/auth.interface.js +3 -0
- package/dist/interfaces/auth.interface.js.map +1 -0
- package/dist/interfaces/authenticated-api-key.interface.d.ts +18 -0
- package/dist/interfaces/authenticated-api-key.interface.d.ts.map +1 -0
- package/dist/interfaces/authenticated-api-key.interface.js +3 -0
- package/dist/interfaces/authenticated-api-key.interface.js.map +1 -0
- package/dist/interfaces/auto-ban-event.interface.d.ts +11 -0
- package/dist/interfaces/auto-ban-event.interface.d.ts.map +1 -0
- package/dist/interfaces/auto-ban-event.interface.js +3 -0
- package/dist/interfaces/auto-ban-event.interface.js.map +1 -0
- package/dist/interfaces/built-engine-request.interface.d.ts +19 -0
- package/dist/interfaces/built-engine-request.interface.d.ts.map +1 -0
- package/dist/interfaces/built-engine-request.interface.js +3 -0
- package/dist/interfaces/built-engine-request.interface.js.map +1 -0
- package/dist/interfaces/chat-context.interface.d.ts +9 -0
- package/dist/interfaces/chat-context.interface.d.ts.map +1 -0
- package/dist/interfaces/chat-context.interface.js +3 -0
- package/dist/interfaces/chat-context.interface.js.map +1 -0
- package/dist/interfaces/chat-job-payload.interface.d.ts +28 -0
- package/dist/interfaces/chat-job-payload.interface.d.ts.map +1 -0
- package/dist/interfaces/chat-job-payload.interface.js +3 -0
- package/dist/interfaces/chat-job-payload.interface.js.map +1 -0
- package/dist/interfaces/chat-list-query.interface.d.ts +16 -0
- package/dist/interfaces/chat-list-query.interface.d.ts.map +1 -0
- package/dist/interfaces/chat-list-query.interface.js +3 -0
- package/dist/interfaces/chat-list-query.interface.js.map +1 -0
- package/dist/interfaces/document-context-result.interface.d.ts +7 -0
- package/dist/interfaces/document-context-result.interface.d.ts.map +1 -0
- package/dist/interfaces/document-context-result.interface.js +3 -0
- package/dist/interfaces/document-context-result.interface.js.map +1 -0
- package/dist/interfaces/engine-collected-output.interface.d.ts +33 -0
- package/dist/interfaces/engine-collected-output.interface.d.ts.map +1 -0
- package/dist/interfaces/engine-collected-output.interface.js +3 -0
- package/dist/interfaces/engine-collected-output.interface.js.map +1 -0
- package/dist/interfaces/engine-json-result.interface.d.ts +7 -0
- package/dist/interfaces/engine-json-result.interface.d.ts.map +1 -0
- package/dist/interfaces/engine-json-result.interface.js +3 -0
- package/dist/interfaces/engine-json-result.interface.js.map +1 -0
- package/dist/interfaces/engine-response-meta.interface.d.ts +14 -0
- package/dist/interfaces/engine-response-meta.interface.d.ts.map +1 -0
- package/dist/interfaces/engine-response-meta.interface.js +3 -0
- package/dist/interfaces/engine-response-meta.interface.js.map +1 -0
- package/dist/interfaces/engine-run-options.interface.d.ts +66 -0
- package/dist/interfaces/engine-run-options.interface.d.ts.map +1 -0
- package/dist/interfaces/engine-run-options.interface.js +3 -0
- package/dist/interfaces/engine-run-options.interface.js.map +1 -0
- package/dist/interfaces/engine-run-result.interface.d.ts +8 -0
- package/dist/interfaces/engine-run-result.interface.d.ts.map +1 -0
- package/dist/interfaces/engine-run-result.interface.js +3 -0
- package/dist/interfaces/engine-run-result.interface.js.map +1 -0
- package/dist/interfaces/engine-stream-event.type.d.ts +20 -0
- package/dist/interfaces/engine-stream-event.type.d.ts.map +1 -0
- package/dist/interfaces/engine-stream-event.type.js +3 -0
- package/dist/interfaces/engine-stream-event.type.js.map +1 -0
- package/dist/interfaces/engine.interface.d.ts +6 -0
- package/dist/interfaces/engine.interface.d.ts.map +1 -0
- package/dist/interfaces/engine.interface.js +3 -0
- package/dist/interfaces/engine.interface.js.map +1 -0
- package/dist/interfaces/execute-completion-options.interface.d.ts +17 -0
- package/dist/interfaces/execute-completion-options.interface.d.ts.map +1 -0
- package/dist/interfaces/execute-completion-options.interface.js +3 -0
- package/dist/interfaces/execute-completion-options.interface.js.map +1 -0
- package/dist/interfaces/express.interface.d.ts +13 -0
- package/dist/interfaces/express.interface.d.ts.map +1 -0
- package/dist/interfaces/express.interface.js +3 -0
- package/dist/interfaces/express.interface.js.map +1 -0
- package/dist/interfaces/index.d.ts +47 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +7 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/install-channel.type.d.ts +2 -0
- package/dist/interfaces/install-channel.type.d.ts.map +1 -0
- package/dist/interfaces/install-channel.type.js +3 -0
- package/dist/interfaces/install-channel.type.js.map +1 -0
- package/dist/interfaces/map-completion-options.interface.d.ts +20 -0
- package/dist/interfaces/map-completion-options.interface.d.ts.map +1 -0
- package/dist/interfaces/map-completion-options.interface.js +3 -0
- package/dist/interfaces/map-completion-options.interface.js.map +1 -0
- package/dist/interfaces/materialized-document.interface.d.ts +10 -0
- package/dist/interfaces/materialized-document.interface.d.ts.map +1 -0
- package/dist/interfaces/materialized-document.interface.js +3 -0
- package/dist/interfaces/materialized-document.interface.js.map +1 -0
- package/dist/interfaces/open-ai-chat-completion-choice.interface.d.ts +25 -0
- package/dist/interfaces/open-ai-chat-completion-choice.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-chat-completion-choice.interface.js +3 -0
- package/dist/interfaces/open-ai-chat-completion-choice.interface.js.map +1 -0
- package/dist/interfaces/open-ai-chat-completion-chunk.interface.d.ts +51 -0
- package/dist/interfaces/open-ai-chat-completion-chunk.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-chat-completion-chunk.interface.js +3 -0
- package/dist/interfaces/open-ai-chat-completion-chunk.interface.js.map +1 -0
- package/dist/interfaces/open-ai-chat-completion-request.interface.d.ts +55 -0
- package/dist/interfaces/open-ai-chat-completion-request.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-chat-completion-request.interface.js +3 -0
- package/dist/interfaces/open-ai-chat-completion-request.interface.js.map +1 -0
- package/dist/interfaces/open-ai-chat-completion.interface.d.ts +21 -0
- package/dist/interfaces/open-ai-chat-completion.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-chat-completion.interface.js +3 -0
- package/dist/interfaces/open-ai-chat-completion.interface.js.map +1 -0
- package/dist/interfaces/open-ai-chat-message.interface.d.ts +9 -0
- package/dist/interfaces/open-ai-chat-message.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-chat-message.interface.js +3 -0
- package/dist/interfaces/open-ai-chat-message.interface.js.map +1 -0
- package/dist/interfaces/open-ai-model-list.interface.d.ts +6 -0
- package/dist/interfaces/open-ai-model-list.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-model-list.interface.js +3 -0
- package/dist/interfaces/open-ai-model-list.interface.js.map +1 -0
- package/dist/interfaces/open-ai-model.interface.d.ts +10 -0
- package/dist/interfaces/open-ai-model.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-model.interface.js +3 -0
- package/dist/interfaces/open-ai-model.interface.js.map +1 -0
- package/dist/interfaces/open-ai-response.interface.d.ts +32 -0
- package/dist/interfaces/open-ai-response.interface.d.ts.map +1 -0
- package/dist/interfaces/open-ai-response.interface.js +3 -0
- package/dist/interfaces/open-ai-response.interface.js.map +1 -0
- package/dist/interfaces/open-ai-role.type.d.ts +2 -0
- package/dist/interfaces/open-ai-role.type.d.ts.map +1 -0
- package/dist/interfaces/open-ai-role.type.js +3 -0
- package/dist/interfaces/open-ai-role.type.js.map +1 -0
- package/dist/interfaces/openai.interface.d.ts +11 -0
- package/dist/interfaces/openai.interface.d.ts.map +1 -0
- package/dist/interfaces/openai.interface.js +3 -0
- package/dist/interfaces/openai.interface.js.map +1 -0
- package/dist/interfaces/pm2-runtime-config.interface.d.ts +24 -0
- package/dist/interfaces/pm2-runtime-config.interface.d.ts.map +1 -0
- package/dist/interfaces/pm2-runtime-config.interface.js +3 -0
- package/dist/interfaces/pm2-runtime-config.interface.js.map +1 -0
- package/dist/interfaces/proxy-ip-config.interface.d.ts +12 -0
- package/dist/interfaces/proxy-ip-config.interface.d.ts.map +1 -0
- package/dist/interfaces/proxy-ip-config.interface.js +3 -0
- package/dist/interfaces/proxy-ip-config.interface.js.map +1 -0
- package/dist/interfaces/proxy-ip-source.type.d.ts +7 -0
- package/dist/interfaces/proxy-ip-source.type.d.ts.map +1 -0
- package/dist/interfaces/proxy-ip-source.type.js +3 -0
- package/dist/interfaces/proxy-ip-source.type.js.map +1 -0
- package/dist/interfaces/resolved-policy.interface.d.ts +15 -0
- package/dist/interfaces/resolved-policy.interface.d.ts.map +1 -0
- package/dist/interfaces/resolved-policy.interface.js +3 -0
- package/dist/interfaces/resolved-policy.interface.js.map +1 -0
- package/dist/interfaces/runner-mode.type.d.ts +2 -0
- package/dist/interfaces/runner-mode.type.d.ts.map +1 -0
- package/dist/interfaces/runner-mode.type.js +3 -0
- package/dist/interfaces/runner-mode.type.js.map +1 -0
- package/dist/interfaces/software-check.interface.d.ts +14 -0
- package/dist/interfaces/software-check.interface.d.ts.map +1 -0
- package/dist/interfaces/software-check.interface.js +3 -0
- package/dist/interfaces/software-check.interface.js.map +1 -0
- package/dist/interfaces/software-id.type.d.ts +2 -0
- package/dist/interfaces/software-id.type.d.ts.map +1 -0
- package/dist/interfaces/software-id.type.js +3 -0
- package/dist/interfaces/software-id.type.js.map +1 -0
- package/dist/interfaces/software-level.type.d.ts +2 -0
- package/dist/interfaces/software-level.type.d.ts.map +1 -0
- package/dist/interfaces/software-level.type.js +3 -0
- package/dist/interfaces/software-level.type.js.map +1 -0
- package/dist/interfaces/system-software-report.interface.d.ts +6 -0
- package/dist/interfaces/system-software-report.interface.d.ts.map +1 -0
- package/dist/interfaces/system-software-report.interface.js +3 -0
- package/dist/interfaces/system-software-report.interface.js.map +1 -0
- package/dist/interfaces/tracked-connection.interface.d.ts +16 -0
- package/dist/interfaces/tracked-connection.interface.d.ts.map +1 -0
- package/dist/interfaces/tracked-connection.interface.js +3 -0
- package/dist/interfaces/tracked-connection.interface.js.map +1 -0
- package/dist/interfaces/update-progress.type.d.ts +16 -0
- package/dist/interfaces/update-progress.type.d.ts.map +1 -0
- package/dist/interfaces/update-progress.type.js +3 -0
- package/dist/interfaces/update-progress.type.js.map +1 -0
- package/dist/interfaces/update-result.interface.d.ts +11 -0
- package/dist/interfaces/update-result.interface.d.ts.map +1 -0
- package/dist/interfaces/update-result.interface.js +3 -0
- package/dist/interfaces/update-result.interface.js.map +1 -0
- package/dist/interfaces/version-info.interface.d.ts +21 -0
- package/dist/interfaces/version-info.interface.d.ts.map +1 -0
- package/dist/interfaces/version-info.interface.js +3 -0
- package/dist/interfaces/version-info.interface.js.map +1 -0
- package/dist/interfaces/version-status.type.d.ts +3 -0
- package/dist/interfaces/version-status.type.d.ts.map +1 -0
- package/dist/interfaces/version-status.type.js +3 -0
- package/dist/interfaces/version-status.type.js.map +1 -0
- package/dist/middlewares/auth.middleware.d.ts +13 -0
- package/dist/middlewares/auth.middleware.d.ts.map +1 -0
- package/dist/middlewares/auth.middleware.js +147 -0
- package/dist/middlewares/auth.middleware.js.map +1 -0
- package/dist/middlewares/client-ip.middleware.d.ts +11 -0
- package/dist/middlewares/client-ip.middleware.d.ts.map +1 -0
- package/dist/middlewares/client-ip.middleware.js +19 -0
- package/dist/middlewares/client-ip.middleware.js.map +1 -0
- package/dist/middlewares/concurrency.middleware.d.ts +6 -0
- package/dist/middlewares/concurrency.middleware.d.ts.map +1 -0
- package/dist/middlewares/concurrency.middleware.js +16 -0
- package/dist/middlewares/concurrency.middleware.js.map +1 -0
- package/dist/middlewares/connection-tracker.middleware.d.ts +33 -0
- package/dist/middlewares/connection-tracker.middleware.d.ts.map +1 -0
- package/dist/middlewares/connection-tracker.middleware.js +99 -0
- package/dist/middlewares/connection-tracker.middleware.js.map +1 -0
- package/dist/middlewares/error.middleware.d.ts +4 -0
- package/dist/middlewares/error.middleware.d.ts.map +1 -0
- package/dist/middlewares/error.middleware.js +42 -0
- package/dist/middlewares/error.middleware.js.map +1 -0
- package/dist/middlewares/index.d.ts +11 -0
- package/dist/middlewares/index.d.ts.map +1 -0
- package/dist/middlewares/index.js +35 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/rate-limit.middleware.d.ts +11 -0
- package/dist/middlewares/rate-limit.middleware.d.ts.map +1 -0
- package/dist/middlewares/rate-limit.middleware.js +152 -0
- package/dist/middlewares/rate-limit.middleware.js.map +1 -0
- package/dist/middlewares/request-id.middleware.d.ts +3 -0
- package/dist/middlewares/request-id.middleware.d.ts.map +1 -0
- package/dist/middlewares/request-id.middleware.js +12 -0
- package/dist/middlewares/request-id.middleware.js.map +1 -0
- package/dist/middlewares/upload-images.middleware.d.ts +3 -0
- package/dist/middlewares/upload-images.middleware.d.ts.map +1 -0
- package/dist/middlewares/upload-images.middleware.js +29 -0
- package/dist/middlewares/upload-images.middleware.js.map +1 -0
- package/dist/middlewares/upload.middleware.d.ts +2 -0
- package/dist/middlewares/upload.middleware.d.ts.map +1 -0
- package/dist/middlewares/upload.middleware.js +26 -0
- package/dist/middlewares/upload.middleware.js.map +1 -0
- package/dist/middlewares/validate.middleware.d.ts +6 -0
- package/dist/middlewares/validate.middleware.d.ts.map +1 -0
- package/dist/middlewares/validate.middleware.js +40 -0
- package/dist/middlewares/validate.middleware.js.map +1 -0
- package/dist/routes/admin.routes.d.ts +3 -0
- package/dist/routes/admin.routes.d.ts.map +1 -0
- package/dist/routes/admin.routes.js +136 -0
- package/dist/routes/admin.routes.js.map +1 -0
- package/dist/routes/index.d.ts +3 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +46 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/v1/api-keys.routes.d.ts +3 -0
- package/dist/routes/v1/api-keys.routes.d.ts.map +1 -0
- package/dist/routes/v1/api-keys.routes.js +13 -0
- package/dist/routes/v1/api-keys.routes.js.map +1 -0
- package/dist/routes/v1/assistants.routes.d.ts +3 -0
- package/dist/routes/v1/assistants.routes.d.ts.map +1 -0
- package/dist/routes/v1/assistants.routes.js +13 -0
- package/dist/routes/v1/assistants.routes.js.map +1 -0
- package/dist/routes/v1/audio.routes.d.ts +3 -0
- package/dist/routes/v1/audio.routes.d.ts.map +1 -0
- package/dist/routes/v1/audio.routes.js +14 -0
- package/dist/routes/v1/audio.routes.js.map +1 -0
- package/dist/routes/v1/chat.routes.d.ts +3 -0
- package/dist/routes/v1/chat.routes.d.ts.map +1 -0
- package/dist/routes/v1/chat.routes.js +13 -0
- package/dist/routes/v1/chat.routes.js.map +1 -0
- package/dist/routes/v1/documents.routes.d.ts +3 -0
- package/dist/routes/v1/documents.routes.d.ts.map +1 -0
- package/dist/routes/v1/documents.routes.js +15 -0
- package/dist/routes/v1/documents.routes.js.map +1 -0
- package/dist/routes/v1/files.routes.d.ts +3 -0
- package/dist/routes/v1/files.routes.d.ts.map +1 -0
- package/dist/routes/v1/files.routes.js +16 -0
- package/dist/routes/v1/files.routes.js.map +1 -0
- package/dist/routes/v1/images.routes.d.ts +3 -0
- package/dist/routes/v1/images.routes.d.ts.map +1 -0
- package/dist/routes/v1/images.routes.js +14 -0
- package/dist/routes/v1/images.routes.js.map +1 -0
- package/dist/routes/v1/media-assets.routes.d.ts +3 -0
- package/dist/routes/v1/media-assets.routes.d.ts.map +1 -0
- package/dist/routes/v1/media-assets.routes.js +12 -0
- package/dist/routes/v1/media-assets.routes.js.map +1 -0
- package/dist/routes/v1/messages.routes.d.ts +3 -0
- package/dist/routes/v1/messages.routes.d.ts.map +1 -0
- package/dist/routes/v1/messages.routes.js +13 -0
- package/dist/routes/v1/messages.routes.js.map +1 -0
- package/dist/routes/v1/models.routes.d.ts +3 -0
- package/dist/routes/v1/models.routes.d.ts.map +1 -0
- package/dist/routes/v1/models.routes.js +11 -0
- package/dist/routes/v1/models.routes.js.map +1 -0
- package/dist/routes/v1/responses.routes.d.ts +3 -0
- package/dist/routes/v1/responses.routes.d.ts.map +1 -0
- package/dist/routes/v1/responses.routes.js +15 -0
- package/dist/routes/v1/responses.routes.js.map +1 -0
- package/dist/routes/v1/threads.routes.d.ts +3 -0
- package/dist/routes/v1/threads.routes.d.ts.map +1 -0
- package/dist/routes/v1/threads.routes.js +15 -0
- package/dist/routes/v1/threads.routes.js.map +1 -0
- package/dist/routes/v1/videos.routes.d.ts +3 -0
- package/dist/routes/v1/videos.routes.d.ts.map +1 -0
- package/dist/routes/v1/videos.routes.js +14 -0
- package/dist/routes/v1/videos.routes.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +121 -0
- package/dist/server.js.map +1 -0
- package/dist/services/abuse-guard.service.d.ts +19 -0
- package/dist/services/abuse-guard.service.d.ts.map +1 -0
- package/dist/services/abuse-guard.service.js +243 -0
- package/dist/services/abuse-guard.service.js.map +1 -0
- package/dist/services/admin-auth.service.d.ts +32 -0
- package/dist/services/admin-auth.service.d.ts.map +1 -0
- package/dist/services/admin-auth.service.js +202 -0
- package/dist/services/admin-auth.service.js.map +1 -0
- package/dist/services/api-features.service.d.ts +15 -0
- package/dist/services/api-features.service.d.ts.map +1 -0
- package/dist/services/api-features.service.js +92 -0
- package/dist/services/api-features.service.js.map +1 -0
- package/dist/services/api-key.service.d.ts +52 -0
- package/dist/services/api-key.service.d.ts.map +1 -0
- package/dist/services/api-key.service.js +296 -0
- package/dist/services/api-key.service.js.map +1 -0
- package/dist/services/assistants.service.d.ts +130 -0
- package/dist/services/assistants.service.d.ts.map +1 -0
- package/dist/services/assistants.service.js +329 -0
- package/dist/services/assistants.service.js.map +1 -0
- package/dist/services/audit.service.d.ts +10 -0
- package/dist/services/audit.service.d.ts.map +1 -0
- package/dist/services/audit.service.js +38 -0
- package/dist/services/audit.service.js.map +1 -0
- package/dist/services/chat-admin.service.d.ts +76 -0
- package/dist/services/chat-admin.service.d.ts.map +1 -0
- package/dist/services/chat-admin.service.js +220 -0
- package/dist/services/chat-admin.service.js.map +1 -0
- package/dist/services/chat-request-builder.service.d.ts +23 -0
- package/dist/services/chat-request-builder.service.d.ts.map +1 -0
- package/dist/services/chat-request-builder.service.js +325 -0
- package/dist/services/chat-request-builder.service.js.map +1 -0
- package/dist/services/chat.service.d.ts +27 -0
- package/dist/services/chat.service.d.ts.map +1 -0
- package/dist/services/chat.service.js +1088 -0
- package/dist/services/chat.service.js.map +1 -0
- package/dist/services/conversation.service.d.ts +104 -0
- package/dist/services/conversation.service.d.ts.map +1 -0
- package/dist/services/conversation.service.js +254 -0
- package/dist/services/conversation.service.js.map +1 -0
- package/dist/services/ddos-policy.service.d.ts +41 -0
- package/dist/services/ddos-policy.service.d.ts.map +1 -0
- package/dist/services/ddos-policy.service.js +263 -0
- package/dist/services/ddos-policy.service.js.map +1 -0
- package/dist/services/document.service.d.ts +62 -0
- package/dist/services/document.service.d.ts.map +1 -0
- package/dist/services/document.service.js +344 -0
- package/dist/services/document.service.js.map +1 -0
- package/dist/services/encryption.service.d.ts +8 -0
- package/dist/services/encryption.service.d.ts.map +1 -0
- package/dist/services/encryption.service.js +34 -0
- package/dist/services/encryption.service.js.map +1 -0
- package/dist/services/engine-session-map.service.d.ts +11 -0
- package/dist/services/engine-session-map.service.d.ts.map +1 -0
- package/dist/services/engine-session-map.service.js +59 -0
- package/dist/services/engine-session-map.service.js.map +1 -0
- package/dist/services/engine-slot.service.d.ts +21 -0
- package/dist/services/engine-slot.service.d.ts.map +1 -0
- package/dist/services/engine-slot.service.js +55 -0
- package/dist/services/engine-slot.service.js.map +1 -0
- package/dist/services/hf/client.d.ts +18 -0
- package/dist/services/hf/client.d.ts.map +1 -0
- package/dist/services/hf/client.js +202 -0
- package/dist/services/hf/client.js.map +1 -0
- package/dist/services/hf/delete-local.d.ts +5 -0
- package/dist/services/hf/delete-local.d.ts.map +1 -0
- package/dist/services/hf/delete-local.js +46 -0
- package/dist/services/hf/delete-local.js.map +1 -0
- package/dist/services/hf/hub-search.d.ts +66 -0
- package/dist/services/hf/hub-search.d.ts.map +1 -0
- package/dist/services/hf/hub-search.js +272 -0
- package/dist/services/hf/hub-search.js.map +1 -0
- package/dist/services/hf/record-pull.d.ts +6 -0
- package/dist/services/hf/record-pull.d.ts.map +1 -0
- package/dist/services/hf/record-pull.js +80 -0
- package/dist/services/hf/record-pull.js.map +1 -0
- package/dist/services/hf/registry.d.ts +27 -0
- package/dist/services/hf/registry.d.ts.map +1 -0
- package/dist/services/hf/registry.js +77 -0
- package/dist/services/hf/registry.js.map +1 -0
- package/dist/services/hf/spec.d.ts +33 -0
- package/dist/services/hf/spec.d.ts.map +1 -0
- package/dist/services/hf/spec.js +175 -0
- package/dist/services/hf/spec.js.map +1 -0
- package/dist/services/ip-blacklist.service.d.ts +44 -0
- package/dist/services/ip-blacklist.service.d.ts.map +1 -0
- package/dist/services/ip-blacklist.service.js +145 -0
- package/dist/services/ip-blacklist.service.js.map +1 -0
- package/dist/services/media/audio-worker.d.ts +23 -0
- package/dist/services/media/audio-worker.d.ts.map +1 -0
- package/dist/services/media/audio-worker.js +81 -0
- package/dist/services/media/audio-worker.js.map +1 -0
- package/dist/services/media/format-convert.d.ts +37 -0
- package/dist/services/media/format-convert.d.ts.map +1 -0
- package/dist/services/media/format-convert.js +215 -0
- package/dist/services/media/format-convert.js.map +1 -0
- package/dist/services/media/media-jobs.service.d.ts +46 -0
- package/dist/services/media/media-jobs.service.d.ts.map +1 -0
- package/dist/services/media/media-jobs.service.js +193 -0
- package/dist/services/media/media-jobs.service.js.map +1 -0
- package/dist/services/media/media-orchestrator.service.d.ts +53 -0
- package/dist/services/media/media-orchestrator.service.d.ts.map +1 -0
- package/dist/services/media/media-orchestrator.service.js +228 -0
- package/dist/services/media/media-orchestrator.service.js.map +1 -0
- package/dist/services/media/media-store.service.d.ts +39 -0
- package/dist/services/media/media-store.service.d.ts.map +1 -0
- package/dist/services/media/media-store.service.js +154 -0
- package/dist/services/media/media-store.service.js.map +1 -0
- package/dist/services/media/providers/http-worker.provider.d.ts +9 -0
- package/dist/services/media/providers/http-worker.provider.d.ts.map +1 -0
- package/dist/services/media/providers/http-worker.provider.js +73 -0
- package/dist/services/media/providers/http-worker.provider.js.map +1 -0
- package/dist/services/media/providers/media-provider.interface.d.ts +44 -0
- package/dist/services/media/providers/media-provider.interface.d.ts.map +1 -0
- package/dist/services/media/providers/media-provider.interface.js +4 -0
- package/dist/services/media/providers/media-provider.interface.js.map +1 -0
- package/dist/services/media/providers/mock.provider.d.ts +8 -0
- package/dist/services/media/providers/mock.provider.d.ts.map +1 -0
- package/dist/services/media/providers/mock.provider.js +43 -0
- package/dist/services/media/providers/mock.provider.js.map +1 -0
- package/dist/services/media/providers/stub.provider.d.ts +8 -0
- package/dist/services/media/providers/stub.provider.d.ts.map +1 -0
- package/dist/services/media/providers/stub.provider.js +14 -0
- package/dist/services/media/providers/stub.provider.js.map +1 -0
- package/dist/services/media/video-fixture.d.ts +3 -0
- package/dist/services/media/video-fixture.d.ts.map +1 -0
- package/dist/services/media/video-fixture.js +40 -0
- package/dist/services/media/video-fixture.js.map +1 -0
- package/dist/services/models.service.d.ts +49 -0
- package/dist/services/models.service.d.ts.map +1 -0
- package/dist/services/models.service.js +162 -0
- package/dist/services/models.service.js.map +1 -0
- package/dist/services/pm2-config.d.ts +12 -0
- package/dist/services/pm2-config.d.ts.map +1 -0
- package/dist/services/pm2-config.js +156 -0
- package/dist/services/pm2-config.js.map +1 -0
- package/dist/services/pm2.service.d.ts +207 -0
- package/dist/services/pm2.service.d.ts.map +1 -0
- package/dist/services/pm2.service.js +789 -0
- package/dist/services/pm2.service.js.map +1 -0
- package/dist/services/policy.service.d.ts +8 -0
- package/dist/services/policy.service.d.ts.map +1 -0
- package/dist/services/policy.service.js +112 -0
- package/dist/services/policy.service.js.map +1 -0
- package/dist/services/queue/chat-queue.service.d.ts +107 -0
- package/dist/services/queue/chat-queue.service.d.ts.map +1 -0
- package/dist/services/queue/chat-queue.service.js +557 -0
- package/dist/services/queue/chat-queue.service.js.map +1 -0
- package/dist/services/queue/chat-worker.service.d.ts +12 -0
- package/dist/services/queue/chat-worker.service.d.ts.map +1 -0
- package/dist/services/queue/chat-worker.service.js +136 -0
- package/dist/services/queue/chat-worker.service.js.map +1 -0
- package/dist/services/queue/fair-claim.d.ts +41 -0
- package/dist/services/queue/fair-claim.d.ts.map +1 -0
- package/dist/services/queue/fair-claim.js +54 -0
- package/dist/services/queue/fair-claim.js.map +1 -0
- package/dist/services/queue/job-waiter.d.ts +40 -0
- package/dist/services/queue/job-waiter.d.ts.map +1 -0
- package/dist/services/queue/job-waiter.js +77 -0
- package/dist/services/queue/job-waiter.js.map +1 -0
- package/dist/services/queue/queue-backend.factory.d.ts +12 -0
- package/dist/services/queue/queue-backend.factory.d.ts.map +1 -0
- package/dist/services/queue/queue-backend.factory.js +41 -0
- package/dist/services/queue/queue-backend.factory.js.map +1 -0
- package/dist/services/queue/queue-backend.interface.d.ts +67 -0
- package/dist/services/queue/queue-backend.interface.d.ts.map +1 -0
- package/dist/services/queue/queue-backend.interface.js +19 -0
- package/dist/services/queue/queue-backend.interface.js.map +1 -0
- package/dist/services/queue/queue-policy.service.d.ts +19 -0
- package/dist/services/queue/queue-policy.service.d.ts.map +1 -0
- package/dist/services/queue/queue-policy.service.js +99 -0
- package/dist/services/queue/queue-policy.service.js.map +1 -0
- package/dist/services/response-store.service.d.ts +14 -0
- package/dist/services/response-store.service.d.ts.map +1 -0
- package/dist/services/response-store.service.js +77 -0
- package/dist/services/response-store.service.js.map +1 -0
- package/dist/services/role-normalize.service.d.ts +5 -0
- package/dist/services/role-normalize.service.d.ts.map +1 -0
- package/dist/services/role-normalize.service.js +22 -0
- package/dist/services/role-normalize.service.js.map +1 -0
- package/dist/services/runtimes/echo.d.ts +17 -0
- package/dist/services/runtimes/echo.d.ts.map +1 -0
- package/dist/services/runtimes/echo.js +40 -0
- package/dist/services/runtimes/echo.js.map +1 -0
- package/dist/services/runtimes/engine-manager.d.ts +47 -0
- package/dist/services/runtimes/engine-manager.d.ts.map +1 -0
- package/dist/services/runtimes/engine-manager.js +191 -0
- package/dist/services/runtimes/engine-manager.js.map +1 -0
- package/dist/services/runtimes/llama-server.d.ts +37 -0
- package/dist/services/runtimes/llama-server.d.ts.map +1 -0
- package/dist/services/runtimes/llama-server.js +153 -0
- package/dist/services/runtimes/llama-server.js.map +1 -0
- package/dist/services/runtimes/runtime-catalog.d.ts +49 -0
- package/dist/services/runtimes/runtime-catalog.d.ts.map +1 -0
- package/dist/services/runtimes/runtime-catalog.js +510 -0
- package/dist/services/runtimes/runtime-catalog.js.map +1 -0
- package/dist/services/runtimes/runtime-install.d.ts +45 -0
- package/dist/services/runtimes/runtime-install.d.ts.map +1 -0
- package/dist/services/runtimes/runtime-install.js +159 -0
- package/dist/services/runtimes/runtime-install.js.map +1 -0
- package/dist/services/runtimes/vllm.d.ts +14 -0
- package/dist/services/runtimes/vllm.d.ts.map +1 -0
- package/dist/services/runtimes/vllm.js +105 -0
- package/dist/services/runtimes/vllm.js.map +1 -0
- package/dist/services/settings.service.d.ts +7 -0
- package/dist/services/settings.service.d.ts.map +1 -0
- package/dist/services/settings.service.js +87 -0
- package/dist/services/settings.service.js.map +1 -0
- package/dist/services/stats.service.d.ts +104 -0
- package/dist/services/stats.service.d.ts.map +1 -0
- package/dist/services/stats.service.js +218 -0
- package/dist/services/stats.service.js.map +1 -0
- package/dist/services/system-health.service.d.ts +15 -0
- package/dist/services/system-health.service.d.ts.map +1 -0
- package/dist/services/system-health.service.js +259 -0
- package/dist/services/system-health.service.js.map +1 -0
- package/dist/services/update.service.d.ts +35 -0
- package/dist/services/update.service.d.ts.map +1 -0
- package/dist/services/update.service.js +449 -0
- package/dist/services/update.service.js.map +1 -0
- package/dist/services/usage.service.d.ts +49 -0
- package/dist/services/usage.service.d.ts.map +1 -0
- package/dist/services/usage.service.js +175 -0
- package/dist/services/usage.service.js.map +1 -0
- package/dist/services/vram-scheduler.d.ts +39 -0
- package/dist/services/vram-scheduler.d.ts.map +1 -0
- package/dist/services/vram-scheduler.js +84 -0
- package/dist/services/vram-scheduler.js.map +1 -0
- package/dist/utils/anthropic-mapper.d.ts +20 -0
- package/dist/utils/anthropic-mapper.d.ts.map +1 -0
- package/dist/utils/anthropic-mapper.js +254 -0
- package/dist/utils/anthropic-mapper.js.map +1 -0
- package/dist/utils/api-key-crypto.d.ts +10 -0
- package/dist/utils/api-key-crypto.d.ts.map +1 -0
- package/dist/utils/api-key-crypto.js +52 -0
- package/dist/utils/api-key-crypto.js.map +1 -0
- package/dist/utils/api-key-id.d.ts +13 -0
- package/dist/utils/api-key-id.d.ts.map +1 -0
- package/dist/utils/api-key-id.js +51 -0
- package/dist/utils/api-key-id.js.map +1 -0
- package/dist/utils/async-handler.d.ts +5 -0
- package/dist/utils/async-handler.d.ts.map +1 -0
- package/dist/utils/async-handler.js +9 -0
- package/dist/utils/async-handler.js.map +1 -0
- package/dist/utils/client-ip.d.ts +28 -0
- package/dist/utils/client-ip.d.ts.map +1 -0
- package/dist/utils/client-ip.js +184 -0
- package/dist/utils/client-ip.js.map +1 -0
- package/dist/utils/engine-event-parse.d.ts +24 -0
- package/dist/utils/engine-event-parse.d.ts.map +1 -0
- package/dist/utils/engine-event-parse.js +192 -0
- package/dist/utils/engine-event-parse.js.map +1 -0
- package/dist/utils/engine-session.d.ts +25 -0
- package/dist/utils/engine-session.d.ts.map +1 -0
- package/dist/utils/engine-session.js +80 -0
- package/dist/utils/engine-session.js.map +1 -0
- package/dist/utils/file-sniff.d.ts +16 -0
- package/dist/utils/file-sniff.d.ts.map +1 -0
- package/dist/utils/file-sniff.js +151 -0
- package/dist/utils/file-sniff.js.map +1 -0
- package/dist/utils/fs-safe.d.ts +5 -0
- package/dist/utils/fs-safe.d.ts.map +1 -0
- package/dist/utils/fs-safe.js +26 -0
- package/dist/utils/fs-safe.js.map +1 -0
- package/dist/utils/id.d.ts +7 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +28 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +56 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/ip-match.d.ts +15 -0
- package/dist/utils/ip-match.d.ts.map +1 -0
- package/dist/utils/ip-match.js +133 -0
- package/dist/utils/ip-match.js.map +1 -0
- package/dist/utils/list-sort.d.ts +14 -0
- package/dist/utils/list-sort.d.ts.map +1 -0
- package/dist/utils/list-sort.js +58 -0
- package/dist/utils/list-sort.js.map +1 -0
- package/dist/utils/logger.d.ts +3 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +38 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/message-content.d.ts +24 -0
- package/dist/utils/message-content.d.ts.map +1 -0
- package/dist/utils/message-content.js +68 -0
- package/dist/utils/message-content.js.map +1 -0
- package/dist/utils/model-allowlist.d.ts +14 -0
- package/dist/utils/model-allowlist.d.ts.map +1 -0
- package/dist/utils/model-allowlist.js +84 -0
- package/dist/utils/model-allowlist.js.map +1 -0
- package/dist/utils/openai-mapper.d.ts +19 -0
- package/dist/utils/openai-mapper.d.ts.map +1 -0
- package/dist/utils/openai-mapper.js +182 -0
- package/dist/utils/openai-mapper.js.map +1 -0
- package/dist/utils/path-safe.d.ts +4 -0
- package/dist/utils/path-safe.d.ts.map +1 -0
- package/dist/utils/path-safe.js +49 -0
- package/dist/utils/path-safe.js.map +1 -0
- package/dist/utils/prisma-bytes.d.ts +8 -0
- package/dist/utils/prisma-bytes.d.ts.map +1 -0
- package/dist/utils/prisma-bytes.js +14 -0
- package/dist/utils/prisma-bytes.js.map +1 -0
- package/dist/utils/request-meta.d.ts +12 -0
- package/dist/utils/request-meta.d.ts.map +1 -0
- package/dist/utils/request-meta.js +26 -0
- package/dist/utils/request-meta.js.map +1 -0
- package/dist/utils/responses-mapper.d.ts +9 -0
- package/dist/utils/responses-mapper.d.ts.map +1 -0
- package/dist/utils/responses-mapper.js +56 -0
- package/dist/utils/responses-mapper.js.map +1 -0
- package/dist/utils/role-normalize.d.ts +9 -0
- package/dist/utils/role-normalize.d.ts.map +1 -0
- package/dist/utils/role-normalize.js +29 -0
- package/dist/utils/role-normalize.js.map +1 -0
- package/dist/utils/ssrf.d.ts +11 -0
- package/dist/utils/ssrf.d.ts.map +1 -0
- package/dist/utils/ssrf.js +114 -0
- package/dist/utils/ssrf.js.map +1 -0
- package/dist/utils/stream.d.ts +7 -0
- package/dist/utils/stream.d.ts.map +1 -0
- package/dist/utils/stream.js +70 -0
- package/dist/utils/stream.js.map +1 -0
- package/dist/utils/vision-remote.d.ts +28 -0
- package/dist/utils/vision-remote.d.ts.map +1 -0
- package/dist/utils/vision-remote.js +206 -0
- package/dist/utils/vision-remote.js.map +1 -0
- package/docs/en/README.md +25 -0
- package/docs/en/admin.md +44 -0
- package/docs/en/api.md +78 -0
- package/docs/en/architecture.md +44 -0
- package/docs/en/catalog.md +30 -0
- package/docs/en/cli.md +180 -0
- package/docs/en/configuration.md +52 -0
- package/docs/en/development.md +49 -0
- package/docs/en/getting-started.md +64 -0
- package/docs/en/keys.md +30 -0
- package/docs/en/media.md +38 -0
- package/docs/en/operations.md +40 -0
- package/docs/en/runtimes.md +20 -0
- package/docs/zh/README.md +25 -0
- package/docs/zh/admin.md +44 -0
- package/docs/zh/api.md +78 -0
- package/docs/zh/architecture.md +44 -0
- package/docs/zh/catalog.md +30 -0
- package/docs/zh/cli.md +180 -0
- package/docs/zh/configuration.md +52 -0
- package/docs/zh/development.md +49 -0
- package/docs/zh/getting-started.md +62 -0
- package/docs/zh/keys.md +30 -0
- package/docs/zh/media.md +38 -0
- package/docs/zh/operations.md +40 -0
- package/docs/zh/runtimes.md +20 -0
- package/package.json +108 -0
- package/prisma/migrations/20260714084159_init_sqlite/migration.sql +106 -0
- package/prisma/migrations/20260714090338_safe_mode_admin/migration.sql +36 -0
- package/prisma/migrations/20260714120000_ip_whitelist_blacklist/migration.sql +19 -0
- package/prisma/migrations/20260714220000_chat_conversations/migration.sql +22 -0
- package/prisma/migrations/20260714230000_conversation_context/migration.sql +6 -0
- package/prisma/migrations/20260715140000_admin_otp_session/migration.sql +29 -0
- package/prisma/migrations/20260715150000_chat_jobs/migration.sql +33 -0
- package/prisma/migrations/20260715161921_api_responses_assistants/migration.sql +80 -0
- package/prisma/migrations/20260716060000_media_assets/migration.sql +25 -0
- package/prisma/migrations/20260716070000_media_jobs/migration.sql +17 -0
- package/prisma/migrations/20260813160000_grok_session_aliases/migration.sql +14 -0
- package/prisma/migrations/20260924180000_api_key_allowed_models/migration.sql +2 -0
- package/prisma/migrations/20260924190000_rename_grok_session_columns/migration.sql +5 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +391 -0
- package/prisma/seed.ts +71 -0
- package/public/admin/allowed-extensions.js +41 -0
- package/public/admin/app.js +9980 -0
- package/public/admin/assets/logo.svg +37 -0
- package/public/admin/boot.js +2551 -0
- package/public/admin/boot.js.map +1 -0
- package/public/admin/disabled.html +131 -0
- package/public/admin/i18n.js +2442 -0
- package/public/admin/index.html +26 -0
- package/public/admin/styles.css +5764 -0
- package/public/admin/vendor/marked.min.js +6 -0
- package/public/admin/vendor/purify.min.js +3 -0
- package/scripts/api-audit-run.sh +52 -0
- package/scripts/cli-audit-run.sh +214 -0
- package/scripts/generate-allowed-extensions.cjs +23 -0
- package/scripts/install.sh +34 -0
- package/scripts/omni-openai-worker.mjs +144 -0
- package/scripts/postinstall.cjs +5 -0
- package/scripts/prepare.cjs +102 -0
- package/scripts/smoke.sh +32 -0
- package/scripts/start-tiny-media-worker.sh +14 -0
- package/scripts/tiny-media-worker.py +491 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared HTTP request helpers for controllers (idempotency, headers).
|
|
3
|
+
*/
|
|
4
|
+
import type { Request } from 'express';
|
|
5
|
+
/** Read Idempotency-Key header (case-insensitive via Express). */
|
|
6
|
+
export declare function readIdempotencyKey(req: Request): string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Scope an idempotency key to an API key id (prevents cross-tenant replay).
|
|
9
|
+
*/
|
|
10
|
+
export declare function scopedIdempotencyKey(apiKeyId: string, clientKey: string | undefined): string | undefined;
|
|
11
|
+
export declare function readIdempotencyKeyScoped(req: Request, apiKeyId: string): string | undefined;
|
|
12
|
+
//# sourceMappingURL=request-meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-meta.d.ts","sourceRoot":"","sources":["../../src/utils/request-meta.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readIdempotencyKey = readIdempotencyKey;
|
|
4
|
+
exports.scopedIdempotencyKey = scopedIdempotencyKey;
|
|
5
|
+
exports.readIdempotencyKeyScoped = readIdempotencyKeyScoped;
|
|
6
|
+
/** Read Idempotency-Key header (case-insensitive via Express). */
|
|
7
|
+
function readIdempotencyKey(req) {
|
|
8
|
+
const raw = req.header('idempotency-key') ||
|
|
9
|
+
req.header('Idempotency-Key') ||
|
|
10
|
+
undefined;
|
|
11
|
+
if (!raw?.trim())
|
|
12
|
+
return undefined;
|
|
13
|
+
return String(raw).trim().slice(0, 200);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Scope an idempotency key to an API key id (prevents cross-tenant replay).
|
|
17
|
+
*/
|
|
18
|
+
function scopedIdempotencyKey(apiKeyId, clientKey) {
|
|
19
|
+
if (!clientKey)
|
|
20
|
+
return undefined;
|
|
21
|
+
return `${apiKeyId}:${clientKey.slice(0, 200)}`;
|
|
22
|
+
}
|
|
23
|
+
function readIdempotencyKeyScoped(req, apiKeyId) {
|
|
24
|
+
return scopedIdempotencyKey(apiKeyId, readIdempotencyKey(req));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=request-meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-meta.js","sourceRoot":"","sources":["../../src/utils/request-meta.ts"],"names":[],"mappings":";;AAMA,gDAOC;AAKD,oDAMC;AAED,4DAKC;AA1BD,kEAAkE;AAClE,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,MAAM,GAAG,GACP,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC7B,SAAS,CAAC;IACZ,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAClC,QAAgB,EAChB,SAA6B;IAE7B,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,wBAAwB,CACtC,GAAY,EACZ,QAAgB;IAEhB,OAAO,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CreateChatCompletionDto } from '../dto/chat.dto';
|
|
2
|
+
import type { CreateResponseDto } from '../dto/responses.dto';
|
|
3
|
+
import type { OpenAiChatCompletion } from '../interfaces/open-ai-chat-completion.interface';
|
|
4
|
+
import type { OpenAiResponse } from '../interfaces/open-ai-response.interface';
|
|
5
|
+
export declare function responsesDtoToChatDto(dto: CreateResponseDto): CreateChatCompletionDto;
|
|
6
|
+
export declare function chatCompletionToResponse(completion: OpenAiChatCompletion, opts?: {
|
|
7
|
+
responseId?: string;
|
|
8
|
+
}): OpenAiResponse;
|
|
9
|
+
//# sourceMappingURL=responses-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses-mapper.d.ts","sourceRoot":"","sources":["../../src/utils/responses-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,uBAAuB,CAcrF;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,oBAAoB,EAChC,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,cAAc,CAmChB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.responsesDtoToChatDto = responsesDtoToChatDto;
|
|
4
|
+
exports.chatCompletionToResponse = chatCompletionToResponse;
|
|
5
|
+
const id_1 = require("./id");
|
|
6
|
+
function responsesDtoToChatDto(dto) {
|
|
7
|
+
return {
|
|
8
|
+
model: dto.model,
|
|
9
|
+
messages: dto.messages.map((m) => ({
|
|
10
|
+
role: m.role,
|
|
11
|
+
content: m.content,
|
|
12
|
+
})),
|
|
13
|
+
stream: Boolean(dto.stream),
|
|
14
|
+
temperature: dto.temperature,
|
|
15
|
+
max_tokens: dto.max_output_tokens,
|
|
16
|
+
include_reasoning: dto.include_reasoning !== false,
|
|
17
|
+
tools: dto.tools,
|
|
18
|
+
reasoning_effort: dto.reasoning_effort,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function chatCompletionToResponse(completion, opts) {
|
|
22
|
+
const text = completion.choices?.[0]?.message?.content ?? '';
|
|
23
|
+
const responseId = opts?.responseId || (0, id_1.createResponseId)();
|
|
24
|
+
const msgId = `msg_${(0, id_1.createId)().replace(/-/g, '').slice(0, 24)}`;
|
|
25
|
+
const created = completion.created || Math.floor(Date.now() / 1000);
|
|
26
|
+
return {
|
|
27
|
+
id: responseId,
|
|
28
|
+
object: 'response',
|
|
29
|
+
created_at: created,
|
|
30
|
+
status: 'completed',
|
|
31
|
+
error: null,
|
|
32
|
+
incomplete_details: null,
|
|
33
|
+
model: completion.model,
|
|
34
|
+
output: [
|
|
35
|
+
{
|
|
36
|
+
type: 'message',
|
|
37
|
+
id: msgId,
|
|
38
|
+
status: 'completed',
|
|
39
|
+
role: 'assistant',
|
|
40
|
+
content: [
|
|
41
|
+
{
|
|
42
|
+
type: 'output_text',
|
|
43
|
+
text: text || '',
|
|
44
|
+
annotations: [],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
usage: {
|
|
50
|
+
input_tokens: completion.usage?.prompt_tokens ?? 0,
|
|
51
|
+
output_tokens: completion.usage?.completion_tokens ?? 0,
|
|
52
|
+
total_tokens: completion.usage?.total_tokens ?? 0,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=responses-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses-mapper.js","sourceRoot":"","sources":["../../src/utils/responses-mapper.ts"],"names":[],"mappings":";;AAMA,sDAcC;AAED,4DAsCC;AAxDD,6BAAkD;AAElD,SAAgB,qBAAqB,CAAC,GAAsB;IAC1D,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,iBAAiB;QACjC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,KAAK,KAAK;QAClD,KAAK,EAAE,GAAG,CAAC,KAAyC;QACpD,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;KACvC,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CACtC,UAAgC,EAChC,IAA8B;IAE9B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAA,qBAAgB,GAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,IAAA,aAAQ,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEpE,OAAO;QACL,EAAE,EAAE,UAAU;QACd,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,IAAI;QACX,kBAAkB,EAAE,IAAI;QACxB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,IAAI,IAAI,EAAE;wBAChB,WAAW,EAAE,EAAE;qBAChB;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAClD,aAAa,EAAE,UAAU,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;YACvD,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;SAClD;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ApiKeyMode, ApiKeyRole } from '../interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* Normalize legacy / CLI role aliases to canonical ApiKeyRole.
|
|
4
|
+
* Historically CLI wrote `user` while API uses `client`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function normalizeApiKeyRole(role: string | null | undefined): ApiKeyRole;
|
|
7
|
+
/** Resolve key mode; admin keys are always agent. */
|
|
8
|
+
export declare function normalizeApiKeyMode(role: ApiKeyRole | string, mode?: string | null): ApiKeyMode;
|
|
9
|
+
//# sourceMappingURL=role-normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-normalize.d.ts","sourceRoot":"","sources":["../../src/utils/role-normalize.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU,CAOZ;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GAAG,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,UAAU,CAIZ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeApiKeyRole = normalizeApiKeyRole;
|
|
4
|
+
exports.normalizeApiKeyMode = normalizeApiKeyMode;
|
|
5
|
+
/**
|
|
6
|
+
* Pure role / mode normalization (no DB). Used by API services + CLI.
|
|
7
|
+
*/
|
|
8
|
+
const constants_1 = require("../config/constants");
|
|
9
|
+
/**
|
|
10
|
+
* Normalize legacy / CLI role aliases to canonical ApiKeyRole.
|
|
11
|
+
* Historically CLI wrote `user` while API uses `client`.
|
|
12
|
+
*/
|
|
13
|
+
function normalizeApiKeyRole(role) {
|
|
14
|
+
const r = String(role || '')
|
|
15
|
+
.trim()
|
|
16
|
+
.toLowerCase();
|
|
17
|
+
if (r === 'admin')
|
|
18
|
+
return constants_1.ROLES.ADMIN;
|
|
19
|
+
// user is legacy alias for client
|
|
20
|
+
return constants_1.ROLES.CLIENT;
|
|
21
|
+
}
|
|
22
|
+
/** Resolve key mode; admin keys are always agent. */
|
|
23
|
+
function normalizeApiKeyMode(role, mode) {
|
|
24
|
+
const r = normalizeApiKeyRole(role);
|
|
25
|
+
if (r === constants_1.ROLES.ADMIN)
|
|
26
|
+
return constants_1.KEY_MODES.AGENT;
|
|
27
|
+
return mode === constants_1.KEY_MODES.AGENT ? constants_1.KEY_MODES.AGENT : constants_1.KEY_MODES.SAFE;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=role-normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-normalize.js","sourceRoot":"","sources":["../../src/utils/role-normalize.ts"],"names":[],"mappings":";;AAUA,kDASC;AAGD,kDAOC;AA7BD;;GAEG;AACH,mDAAuD;AAGvD;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,IAA+B;IAE/B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SACzB,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,iBAAK,CAAC,KAAK,CAAC;IACtC,kCAAkC;IAClC,OAAO,iBAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED,qDAAqD;AACrD,SAAgB,mBAAmB,CACjC,IAAyB,EACzB,IAAoB;IAEpB,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,iBAAK,CAAC,KAAK;QAAE,OAAO,qBAAS,CAAC,KAAK,CAAC;IAC9C,OAAO,IAAI,KAAK,qBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAS,CAAC,IAAI,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { promises as dns } from 'node:dns';
|
|
2
|
+
/** True when the address must not be fetched as a vision source. */
|
|
3
|
+
export declare function isBlockedIp(ip: string): boolean;
|
|
4
|
+
export declare function isBlockedHostname(hostname: string): boolean;
|
|
5
|
+
export type ParsedVisionUrl = {
|
|
6
|
+
href: string;
|
|
7
|
+
hostname: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function parsePublicHttpUrl(raw: string): ParsedVisionUrl;
|
|
10
|
+
export declare function assertResolvedPublicHost(hostname: string, lookup?: typeof dns.lookup): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=ssrf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.d.ts","sourceRoot":"","sources":["../../src/utils/ssrf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC;AAmB3C,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CA+B/C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQ3D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAiB/D;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,OAAO,GAAG,CAAC,MAAmB,GACrC,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isBlockedIp = isBlockedIp;
|
|
4
|
+
exports.isBlockedHostname = isBlockedHostname;
|
|
5
|
+
exports.parsePublicHttpUrl = parsePublicHttpUrl;
|
|
6
|
+
exports.assertResolvedPublicHost = assertResolvedPublicHost;
|
|
7
|
+
const node_net_1 = require("node:net");
|
|
8
|
+
const node_dns_1 = require("node:dns");
|
|
9
|
+
const BLOCKED_HOSTS = new Set([
|
|
10
|
+
'localhost',
|
|
11
|
+
'localhost.localdomain',
|
|
12
|
+
'ip6-localhost',
|
|
13
|
+
'metadata.google.internal',
|
|
14
|
+
'metadata.goog',
|
|
15
|
+
'metadata',
|
|
16
|
+
]);
|
|
17
|
+
function ipv4Octets(ip) {
|
|
18
|
+
const parts = ip.split('.');
|
|
19
|
+
if (parts.length !== 4)
|
|
20
|
+
return null;
|
|
21
|
+
const nums = parts.map((p) => Number(p));
|
|
22
|
+
if (nums.some((n) => !Number.isInteger(n) || n < 0 || n > 255))
|
|
23
|
+
return null;
|
|
24
|
+
return nums;
|
|
25
|
+
}
|
|
26
|
+
/** True when the address must not be fetched as a vision source. */
|
|
27
|
+
function isBlockedIp(ip) {
|
|
28
|
+
const raw = ip.trim().toLowerCase().replace(/^\[|\]$/g, '');
|
|
29
|
+
if (!raw)
|
|
30
|
+
return true;
|
|
31
|
+
if (raw.startsWith('::ffff:')) {
|
|
32
|
+
return isBlockedIp(raw.slice(7));
|
|
33
|
+
}
|
|
34
|
+
const kind = (0, node_net_1.isIP)(raw);
|
|
35
|
+
if (kind === 4) {
|
|
36
|
+
const o = ipv4Octets(raw);
|
|
37
|
+
if (!o)
|
|
38
|
+
return true;
|
|
39
|
+
const [a, b] = o;
|
|
40
|
+
if (a === 0 || a === 10 || a === 127)
|
|
41
|
+
return true;
|
|
42
|
+
if (a === 169 && b === 254)
|
|
43
|
+
return true;
|
|
44
|
+
if (a === 172 && b >= 16 && b <= 31)
|
|
45
|
+
return true;
|
|
46
|
+
if (a === 192 && b === 168)
|
|
47
|
+
return true;
|
|
48
|
+
if (a === 100 && b >= 64 && b <= 127)
|
|
49
|
+
return true;
|
|
50
|
+
if (a === 198 && (b === 18 || b === 19))
|
|
51
|
+
return true;
|
|
52
|
+
if (a >= 224)
|
|
53
|
+
return true;
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
if (kind === 6) {
|
|
57
|
+
if (raw === '::1' || raw === '::')
|
|
58
|
+
return true;
|
|
59
|
+
if (raw.startsWith('fc') || raw.startsWith('fd'))
|
|
60
|
+
return true;
|
|
61
|
+
if (raw.startsWith('fe8') || raw.startsWith('fe9') || raw.startsWith('fea') || raw.startsWith('feb')) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
function isBlockedHostname(hostname) {
|
|
69
|
+
const h = hostname.trim().toLowerCase().replace(/\.$/, '').replace(/^\[|\]$/g, '');
|
|
70
|
+
if (!h)
|
|
71
|
+
return true;
|
|
72
|
+
if (BLOCKED_HOSTS.has(h) || h.endsWith('.localhost') || h.endsWith('.local')) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
if ((0, node_net_1.isIP)(h) && isBlockedIp(h))
|
|
76
|
+
return true;
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
function parsePublicHttpUrl(raw) {
|
|
80
|
+
let u;
|
|
81
|
+
try {
|
|
82
|
+
u = new URL(raw.trim());
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
throw new Error('invalid url');
|
|
86
|
+
}
|
|
87
|
+
if (u.protocol !== 'http:' && u.protocol !== 'https:') {
|
|
88
|
+
throw new Error('non-http scheme');
|
|
89
|
+
}
|
|
90
|
+
if (u.username || u.password) {
|
|
91
|
+
throw new Error('url credentials');
|
|
92
|
+
}
|
|
93
|
+
if (isBlockedHostname(u.hostname)) {
|
|
94
|
+
throw new Error('blocked host');
|
|
95
|
+
}
|
|
96
|
+
return { href: u.href, hostname: u.hostname };
|
|
97
|
+
}
|
|
98
|
+
async function assertResolvedPublicHost(hostname, lookup = node_dns_1.promises.lookup) {
|
|
99
|
+
if ((0, node_net_1.isIP)(hostname)) {
|
|
100
|
+
if (isBlockedIp(hostname))
|
|
101
|
+
throw new Error('blocked ip');
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const addrs = await lookup(hostname, { all: true, verbatim: true });
|
|
105
|
+
const list = Array.isArray(addrs) ? addrs : [addrs];
|
|
106
|
+
if (!list.length)
|
|
107
|
+
throw new Error('dns empty');
|
|
108
|
+
for (const a of list) {
|
|
109
|
+
const addr = typeof a === 'string' ? a : a.address;
|
|
110
|
+
if (isBlockedIp(addr))
|
|
111
|
+
throw new Error(`blocked resolved ip ${addr}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=ssrf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf.js","sourceRoot":"","sources":["../../src/utils/ssrf.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Response } from 'express';
|
|
2
|
+
export declare function initSse(res: Response): void;
|
|
3
|
+
export declare function writeSseData(res: Response, data: unknown): void;
|
|
4
|
+
/** Named SSE event (Anthropic / Responses style). */
|
|
5
|
+
export declare function writeSseEvent(res: Response, event: string, data: unknown): void;
|
|
6
|
+
export declare function writeSseDone(res: Response): void;
|
|
7
|
+
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAcxC,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAmB3C;AAcD,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAI/D;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,GACZ,IAAI,CAKN;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAIhD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initSse = initSse;
|
|
4
|
+
exports.writeSseData = writeSseData;
|
|
5
|
+
exports.writeSseEvent = writeSseEvent;
|
|
6
|
+
exports.writeSseDone = writeSseDone;
|
|
7
|
+
function tryFlush(res) {
|
|
8
|
+
// compression middleware / some proxies expose flush
|
|
9
|
+
const anyRes = res;
|
|
10
|
+
if (typeof anyRes.flush === 'function') {
|
|
11
|
+
try {
|
|
12
|
+
anyRes.flush();
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
/* ignore */
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function initSse(res) {
|
|
20
|
+
// Disable request socket timeout so long streams are not cut
|
|
21
|
+
try {
|
|
22
|
+
reqSocketSetTimeout(res, 0);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
/* ignore */
|
|
26
|
+
}
|
|
27
|
+
res.status(200);
|
|
28
|
+
res.setHeader('Content-Type', 'text/event-stream; charset=utf-8');
|
|
29
|
+
res.setHeader('Cache-Control', 'no-cache, no-transform');
|
|
30
|
+
res.setHeader('Connection', 'keep-alive');
|
|
31
|
+
res.setHeader('X-Accel-Buffering', 'no'); // nginx: disable response buffering
|
|
32
|
+
if (typeof res.flushHeaders === 'function') {
|
|
33
|
+
res.flushHeaders();
|
|
34
|
+
}
|
|
35
|
+
// Immediate padding comment helps some proxies flush the first bytes
|
|
36
|
+
res.write(': ok\n\n');
|
|
37
|
+
tryFlush(res);
|
|
38
|
+
}
|
|
39
|
+
function reqSocketSetTimeout(res, ms) {
|
|
40
|
+
const sock = res.socket;
|
|
41
|
+
if (sock && typeof sock.setTimeout === 'function') {
|
|
42
|
+
sock.setTimeout(ms);
|
|
43
|
+
}
|
|
44
|
+
// Also clear idle timeout on the request if present
|
|
45
|
+
const req = res.req;
|
|
46
|
+
if (req && typeof req.setTimeout === 'function') {
|
|
47
|
+
req.setTimeout(ms);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function writeSseData(res, data) {
|
|
51
|
+
if (res.writableEnded)
|
|
52
|
+
return;
|
|
53
|
+
res.write(`data: ${JSON.stringify(data)}\n\n`);
|
|
54
|
+
tryFlush(res);
|
|
55
|
+
}
|
|
56
|
+
/** Named SSE event (Anthropic / Responses style). */
|
|
57
|
+
function writeSseEvent(res, event, data) {
|
|
58
|
+
if (res.writableEnded)
|
|
59
|
+
return;
|
|
60
|
+
res.write(`event: ${event}\n`);
|
|
61
|
+
res.write(`data: ${JSON.stringify(data)}\n\n`);
|
|
62
|
+
tryFlush(res);
|
|
63
|
+
}
|
|
64
|
+
function writeSseDone(res) {
|
|
65
|
+
if (res.writableEnded)
|
|
66
|
+
return;
|
|
67
|
+
res.write('data: [DONE]\n\n');
|
|
68
|
+
tryFlush(res);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":";;AAcA,0BAmBC;AAcD,oCAIC;AAGD,sCASC;AAED,oCAIC;AAnED,SAAS,QAAQ,CAAC,GAAa;IAC7B,qDAAqD;IACrD,MAAM,MAAM,GAAG,GAAwC,CAAC;IACxD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,OAAO,CAAC,GAAa;IACnC,6DAA6D;IAC7D,IAAI,CAAC;QACH,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kCAAkC,CAAC,CAAC;IAClE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IACzD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,oCAAoC;IAC9E,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC3C,GAAG,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IACD,qEAAqE;IACrE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAa,EAAE,EAAU;IACpD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,oDAAoD;IACpD,MAAM,GAAG,GAAI,GAAiE,CAAC,GAAG,CAAC;IACnF,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAChD,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,GAAa,EAAE,IAAa;IACvD,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO;IAC9B,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,qDAAqD;AACrD,SAAgB,aAAa,CAC3B,GAAa,EACb,KAAa,EACb,IAAa;IAEb,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO;IAC9B,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAa;IACxC,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO;IAC9B,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CreateChatCompletionDto } from '../dto/chat.dto';
|
|
2
|
+
export declare const VISION_FETCH_TIMEOUT_MS = 10000;
|
|
3
|
+
export declare const VISION_FETCH_MAX_BYTES: number;
|
|
4
|
+
export declare const VISION_FETCH_MAX_URLS = 8;
|
|
5
|
+
type ChatMessage = CreateChatCompletionDto['messages'][number];
|
|
6
|
+
export type VisionFetchImpl = (url: string, init: {
|
|
7
|
+
signal: AbortSignal;
|
|
8
|
+
redirect?: 'follow' | 'error' | 'manual';
|
|
9
|
+
}) => Promise<{
|
|
10
|
+
ok: boolean;
|
|
11
|
+
status: number;
|
|
12
|
+
headers: {
|
|
13
|
+
get(name: string): string | null;
|
|
14
|
+
};
|
|
15
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
16
|
+
body?: ReadableStream<Uint8Array> | null;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Download http(s) image parts to data URLs so `--prompt-json` can send ACP images.
|
|
20
|
+
* Failures stay as `[image: url]` text (same as the previous fallback).
|
|
21
|
+
*/
|
|
22
|
+
export declare function inlineRemoteImageUrls(messages: ChatMessage[], opts?: {
|
|
23
|
+
timeoutMs?: number;
|
|
24
|
+
maxBytes?: number;
|
|
25
|
+
fetchImpl?: VisionFetchImpl;
|
|
26
|
+
}): Promise<ChatMessage[]>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=vision-remote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision-remote.d.ts","sourceRoot":"","sources":["../../src/utils/vision-remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAO/D,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AACtD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,KAAK,WAAW,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,KACpE,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CAC1C,CAAC,CAAC;AA2KH;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,WAAW,EAAE,EACvB,IAAI,CAAC,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,GACA,OAAO,CAAC,WAAW,EAAE,CAAC,CA0CxB"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VISION_FETCH_MAX_URLS = exports.VISION_FETCH_MAX_BYTES = exports.VISION_FETCH_TIMEOUT_MS = void 0;
|
|
4
|
+
exports.inlineRemoteImageUrls = inlineRemoteImageUrls;
|
|
5
|
+
const logger_1 = require("./logger");
|
|
6
|
+
const ssrf_1 = require("./ssrf");
|
|
7
|
+
exports.VISION_FETCH_TIMEOUT_MS = 10_000;
|
|
8
|
+
exports.VISION_FETCH_MAX_BYTES = 8 * 1024 * 1024;
|
|
9
|
+
exports.VISION_FETCH_MAX_URLS = 8;
|
|
10
|
+
async function readCappedBody(res, maxBytes) {
|
|
11
|
+
const cl = Number(res.headers.get('content-length'));
|
|
12
|
+
if (Number.isFinite(cl) && cl > maxBytes)
|
|
13
|
+
return null;
|
|
14
|
+
const stream = res.body;
|
|
15
|
+
if (stream && typeof stream.getReader === 'function') {
|
|
16
|
+
const reader = stream.getReader();
|
|
17
|
+
const chunks = [];
|
|
18
|
+
let n = 0;
|
|
19
|
+
try {
|
|
20
|
+
for (;;) {
|
|
21
|
+
const { done, value } = await reader.read();
|
|
22
|
+
if (done)
|
|
23
|
+
break;
|
|
24
|
+
if (!value)
|
|
25
|
+
continue;
|
|
26
|
+
n += value.byteLength;
|
|
27
|
+
if (n > maxBytes) {
|
|
28
|
+
await reader.cancel().catch(() => undefined);
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
chunks.push(Buffer.from(value));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return Buffer.concat(chunks);
|
|
38
|
+
}
|
|
39
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
40
|
+
if (buf.length > maxBytes)
|
|
41
|
+
return null;
|
|
42
|
+
return buf;
|
|
43
|
+
}
|
|
44
|
+
function isHttpUrl(url) {
|
|
45
|
+
try {
|
|
46
|
+
(0, ssrf_1.parsePublicHttpUrl)(url);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function sniffImageMime(bytes, headerMime) {
|
|
54
|
+
const declared = headerMime.split(';')[0].trim().toLowerCase();
|
|
55
|
+
if (declared.startsWith('image/'))
|
|
56
|
+
return declared;
|
|
57
|
+
if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8) {
|
|
58
|
+
return 'image/jpeg';
|
|
59
|
+
}
|
|
60
|
+
if (bytes.length >= 8 &&
|
|
61
|
+
bytes[0] === 0x89 &&
|
|
62
|
+
bytes[1] === 0x50 &&
|
|
63
|
+
bytes[2] === 0x4e &&
|
|
64
|
+
bytes[3] === 0x47) {
|
|
65
|
+
return 'image/png';
|
|
66
|
+
}
|
|
67
|
+
if (bytes.length >= 6 &&
|
|
68
|
+
bytes.subarray(0, 6).toString('ascii') === 'GIF87a') {
|
|
69
|
+
return 'image/gif';
|
|
70
|
+
}
|
|
71
|
+
if (bytes.length >= 6 &&
|
|
72
|
+
bytes.subarray(0, 6).toString('ascii') === 'GIF89a') {
|
|
73
|
+
return 'image/gif';
|
|
74
|
+
}
|
|
75
|
+
if (bytes.length >= 12 &&
|
|
76
|
+
bytes.subarray(0, 4).toString('ascii') === 'RIFF' &&
|
|
77
|
+
bytes.subarray(8, 12).toString('ascii') === 'WEBP') {
|
|
78
|
+
return 'image/webp';
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
async function fetchAsDataUrl(url, opts) {
|
|
83
|
+
let current;
|
|
84
|
+
try {
|
|
85
|
+
current = (0, ssrf_1.parsePublicHttpUrl)(url).href;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
if (opts.resolveDns) {
|
|
91
|
+
try {
|
|
92
|
+
await (0, ssrf_1.assertResolvedPublicHost)(new URL(current).hostname);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const ac = new AbortController();
|
|
99
|
+
const timer = setTimeout(() => ac.abort(), opts.timeoutMs);
|
|
100
|
+
try {
|
|
101
|
+
const res = await opts.fetchImpl(current, {
|
|
102
|
+
signal: ac.signal,
|
|
103
|
+
redirect: 'manual',
|
|
104
|
+
});
|
|
105
|
+
if (res.status >= 300 && res.status < 400) {
|
|
106
|
+
const loc = res.headers.get('location');
|
|
107
|
+
const hops = opts.hops ?? 0;
|
|
108
|
+
if (!loc || hops >= 3)
|
|
109
|
+
return null;
|
|
110
|
+
const next = new URL(loc, current).href;
|
|
111
|
+
return fetchAsDataUrl(next, { ...opts, hops: hops + 1 });
|
|
112
|
+
}
|
|
113
|
+
if (!res.ok)
|
|
114
|
+
return null;
|
|
115
|
+
const buf = await readCappedBody(res, opts.maxBytes);
|
|
116
|
+
if (!buf || buf.length === 0)
|
|
117
|
+
return null;
|
|
118
|
+
const mime = sniffImageMime(buf, res.headers.get('content-type') || '');
|
|
119
|
+
if (!mime)
|
|
120
|
+
return null;
|
|
121
|
+
return `data:${mime};base64,${buf.toString('base64')}`;
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
logger_1.logger.warn({ err, url: url.slice(0, 120) }, 'Vision remote image fetch failed');
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
clearTimeout(timer);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function rewritePart(part, dataUrl, originalUrl) {
|
|
132
|
+
if (!dataUrl) {
|
|
133
|
+
return { type: 'text', text: `[image: ${originalUrl}]` };
|
|
134
|
+
}
|
|
135
|
+
if (part.type === 'image' && part.source && typeof part.source === 'object') {
|
|
136
|
+
return {
|
|
137
|
+
type: 'image_url',
|
|
138
|
+
image_url: { url: dataUrl },
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
...part,
|
|
143
|
+
type: part.type === 'input_image' ? 'input_image' : 'image_url',
|
|
144
|
+
image_url: { url: dataUrl },
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function extractHttpUrl(part) {
|
|
148
|
+
if (part.type === 'image' && part.source && typeof part.source === 'object') {
|
|
149
|
+
const src = part.source;
|
|
150
|
+
if (typeof src.url === 'string' && isHttpUrl(src.url))
|
|
151
|
+
return src.url;
|
|
152
|
+
}
|
|
153
|
+
const raw = part.image_url ?? (part.type === 'input_image' ? part.url : undefined);
|
|
154
|
+
const url = typeof raw === 'object' && raw
|
|
155
|
+
? String(raw.url || '')
|
|
156
|
+
: String(raw || '');
|
|
157
|
+
return isHttpUrl(url) ? url : null;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Download http(s) image parts to data URLs so `--prompt-json` can send ACP images.
|
|
161
|
+
* Failures stay as `[image: url]` text (same as the previous fallback).
|
|
162
|
+
*/
|
|
163
|
+
async function inlineRemoteImageUrls(messages, opts) {
|
|
164
|
+
const timeoutMs = opts?.timeoutMs ?? exports.VISION_FETCH_TIMEOUT_MS;
|
|
165
|
+
const maxBytes = opts?.maxBytes ?? exports.VISION_FETCH_MAX_BYTES;
|
|
166
|
+
const usingDefaultFetch = !opts?.fetchImpl;
|
|
167
|
+
const fetchImpl = opts?.fetchImpl ?? globalThis.fetch;
|
|
168
|
+
if (typeof fetchImpl !== 'function')
|
|
169
|
+
return messages;
|
|
170
|
+
const out = [];
|
|
171
|
+
let fetched = 0;
|
|
172
|
+
for (const msg of messages) {
|
|
173
|
+
if (!Array.isArray(msg.content)) {
|
|
174
|
+
out.push(msg);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
const nextParts = [];
|
|
178
|
+
for (const part of msg.content) {
|
|
179
|
+
if (!part || typeof part !== 'object') {
|
|
180
|
+
nextParts.push(part);
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const rec = part;
|
|
184
|
+
const url = extractHttpUrl(rec);
|
|
185
|
+
if (!url) {
|
|
186
|
+
nextParts.push(part);
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
if (fetched >= exports.VISION_FETCH_MAX_URLS) {
|
|
190
|
+
nextParts.push(rewritePart(rec, null, url));
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
fetched += 1;
|
|
194
|
+
const dataUrl = await fetchAsDataUrl(url, {
|
|
195
|
+
timeoutMs,
|
|
196
|
+
maxBytes,
|
|
197
|
+
fetchImpl,
|
|
198
|
+
resolveDns: usingDefaultFetch,
|
|
199
|
+
});
|
|
200
|
+
nextParts.push(rewritePart(rec, dataUrl, url));
|
|
201
|
+
}
|
|
202
|
+
out.push({ ...msg, content: nextParts });
|
|
203
|
+
}
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=vision-remote.js.map
|