@resolveio/server-lib 22.2.34 → 22.2.36
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/ai/assistant-core-heuristics.d.ts +11 -0
- package/ai/assistant-core-heuristics.js +531 -0
- package/ai/assistant-core-heuristics.js.map +1 -0
- package/client-server-app.d.ts +1 -0
- package/client-server-app.js +68 -0
- package/client-server-app.js.map +1 -0
- package/collections/ai-terminal-conversation.collection.d.ts +2 -0
- package/collections/ai-terminal-conversation.collection.js +140 -0
- package/collections/ai-terminal-conversation.collection.js.map +1 -0
- package/collections/ai-terminal-issue-report.collection.d.ts +2 -0
- package/collections/ai-terminal-issue-report.collection.js +148 -0
- package/collections/ai-terminal-issue-report.collection.js.map +1 -0
- package/collections/ai-terminal-message.collection.d.ts +2 -0
- package/collections/ai-terminal-message.collection.js +121 -0
- package/collections/ai-terminal-message.collection.js.map +1 -0
- package/collections/app-setting.collection.d.ts +3 -0
- package/collections/app-setting.collection.js +103 -0
- package/collections/app-setting.collection.js.map +1 -0
- package/collections/app-status.collection.d.ts +3 -0
- package/collections/app-status.collection.js +57 -0
- package/collections/app-status.collection.js.map +1 -0
- package/collections/communication-metric.collection.d.ts +2 -0
- package/collections/communication-metric.collection.js +133 -0
- package/collections/communication-metric.collection.js.map +1 -0
- package/collections/counter.collection.d.ts +3 -0
- package/collections/counter.collection.js +56 -0
- package/collections/counter.collection.js.map +1 -0
- package/collections/cron-job-history.collection.d.ts +3 -0
- package/collections/cron-job-history.collection.js +137 -0
- package/collections/cron-job-history.collection.js.map +1 -0
- package/collections/cron-job.collection.d.ts +3 -0
- package/collections/cron-job.collection.js +92 -0
- package/collections/cron-job.collection.js.map +1 -0
- package/collections/customer-notification.collection.d.ts +3 -0
- package/collections/customer-notification.collection.js +130 -0
- package/collections/customer-notification.collection.js.map +1 -0
- package/collections/customer-portal-password.collection.d.ts +3 -0
- package/collections/customer-portal-password.collection.js +75 -0
- package/collections/customer-portal-password.collection.js.map +1 -0
- package/collections/email-history.collection.d.ts +3 -0
- package/collections/email-history.collection.js +121 -0
- package/collections/email-history.collection.js.map +1 -0
- package/collections/email-verified.collection.d.ts +3 -0
- package/collections/email-verified.collection.js +61 -0
- package/collections/email-verified.collection.js.map +1 -0
- package/collections/file.collection.d.ts +3 -0
- package/collections/file.collection.js +74 -0
- package/collections/file.collection.js.map +1 -0
- package/collections/flag-update.collection.d.ts +3 -0
- package/collections/flag-update.collection.js +57 -0
- package/collections/flag-update.collection.js.map +1 -0
- package/collections/flag.collection.d.ts +3 -0
- package/collections/flag.collection.js +57 -0
- package/collections/flag.collection.js.map +1 -0
- package/collections/log-method-latency.collection.d.ts +3 -0
- package/collections/log-method-latency.collection.js +77 -0
- package/collections/log-method-latency.collection.js.map +1 -0
- package/collections/log-subscription.collection.d.ts +3 -0
- package/collections/log-subscription.collection.js +80 -0
- package/collections/log-subscription.collection.js.map +1 -0
- package/collections/log.collection.d.ts +3 -0
- package/collections/log.collection.js +93 -0
- package/collections/log.collection.js.map +1 -0
- package/collections/logged-in-users.collection.d.ts +3 -0
- package/collections/logged-in-users.collection.js +67 -0
- package/collections/logged-in-users.collection.js.map +1 -0
- package/collections/monitor-cpu.collection.d.ts +3 -0
- package/collections/monitor-cpu.collection.js +65 -0
- package/collections/monitor-cpu.collection.js.map +1 -0
- package/collections/monitor-function.collection.d.ts +3 -0
- package/collections/monitor-function.collection.js +74 -0
- package/collections/monitor-function.collection.js.map +1 -0
- package/collections/monitor-memory.collection.d.ts +3 -0
- package/collections/monitor-memory.collection.js +77 -0
- package/collections/monitor-memory.collection.js.map +1 -0
- package/collections/monitor-mongo.collection.d.ts +3 -0
- package/collections/monitor-mongo.collection.js +71 -0
- package/collections/monitor-mongo.collection.js.map +1 -0
- package/collections/notification.collection.d.ts +3 -0
- package/collections/notification.collection.js +57 -0
- package/collections/notification.collection.js.map +1 -0
- package/collections/openai-usage-ledger.collection.d.ts +2 -0
- package/collections/openai-usage-ledger.collection.js +124 -0
- package/collections/openai-usage-ledger.collection.js.map +1 -0
- package/collections/report-builder-dashboard-builder.collection.d.ts +3 -0
- package/collections/report-builder-dashboard-builder.collection.js +109 -0
- package/collections/report-builder-dashboard-builder.collection.js.map +1 -0
- package/collections/report-builder-library.collection.d.ts +3 -0
- package/collections/report-builder-library.collection.js +87 -0
- package/collections/report-builder-library.collection.js.map +1 -0
- package/collections/report-builder-report.collection.d.ts +4 -0
- package/collections/report-builder-report.collection.js +180 -0
- package/collections/report-builder-report.collection.js.map +1 -0
- package/collections/user-group.collection.d.ts +4 -0
- package/collections/user-group.collection.js +89 -0
- package/collections/user-group.collection.js.map +1 -0
- package/collections/user-guide.collection.d.ts +3 -0
- package/collections/user-guide.collection.js +57 -0
- package/collections/user-guide.collection.js.map +1 -0
- package/collections/user.collection.d.ts +4 -0
- package/collections/user.collection.js +180 -0
- package/collections/user.collection.js.map +1 -0
- package/cron/cron.d.ts +14 -0
- package/cron/cron.js +216 -0
- package/cron/cron.js.map +1 -0
- package/fixtures/cron-jobs.d.ts +1 -0
- package/fixtures/cron-jobs.js +150 -0
- package/fixtures/cron-jobs.js.map +1 -0
- package/fixtures/init.d.ts +1 -0
- package/fixtures/init.js +91 -0
- package/fixtures/init.js.map +1 -0
- package/http/auth.d.ts +2 -0
- package/http/auth.js +903 -0
- package/http/auth.js.map +1 -0
- package/http/health.d.ts +1 -0
- package/http/health.js +11 -0
- package/http/health.js.map +1 -0
- package/http/home.d.ts +1 -0
- package/http/home.js +134 -0
- package/http/home.js.map +1 -0
- package/http/slow-query-publication.d.ts +2 -0
- package/http/slow-query-publication.js +99 -0
- package/http/slow-query-publication.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +19 -0
- package/index.js.map +1 -0
- package/managers/communication-metric.manager.d.ts +16 -0
- package/managers/communication-metric.manager.js +134 -0
- package/managers/communication-metric.manager.js.map +1 -0
- package/managers/cron.manager.d.ts +20 -0
- package/managers/cron.manager.js +534 -0
- package/managers/cron.manager.js.map +1 -0
- package/managers/customer-notification-content.manager.d.ts +55 -0
- package/managers/customer-notification-content.manager.js +158 -0
- package/managers/customer-notification-content.manager.js.map +1 -0
- package/managers/diagnostic-manager-bootstrap.d.ts +9 -0
- package/managers/diagnostic-manager-bootstrap.js +260 -0
- package/managers/diagnostic-manager-bootstrap.js.map +1 -0
- package/managers/error-auto-fix.manager.d.ts +149 -0
- package/managers/error-auto-fix.manager.js +3064 -0
- package/managers/error-auto-fix.manager.js.map +1 -0
- package/managers/local-log.manager.d.ts +18 -0
- package/managers/local-log.manager.js +88 -0
- package/managers/local-log.manager.js.map +1 -0
- package/managers/method.manager.d.ts +77 -0
- package/managers/method.manager.js +1701 -0
- package/managers/method.manager.js.map +1 -0
- package/managers/mongo.manager.d.ts +222 -0
- package/managers/mongo.manager.js +4984 -0
- package/managers/mongo.manager.js.map +1 -0
- package/managers/monitor.manager.d.ts +69 -0
- package/managers/monitor.manager.js +534 -0
- package/managers/monitor.manager.js.map +1 -0
- package/managers/openai-usage-ledger.manager.d.ts +15 -0
- package/managers/openai-usage-ledger.manager.js +144 -0
- package/managers/openai-usage-ledger.manager.js.map +1 -0
- package/managers/slow-query-verifier.manager.d.ts +144 -0
- package/managers/slow-query-verifier.manager.js +3857 -0
- package/managers/slow-query-verifier.manager.js.map +1 -0
- package/managers/slow-query.manager.d.ts +28 -0
- package/managers/slow-query.manager.js +468 -0
- package/managers/slow-query.manager.js.map +1 -0
- package/managers/subscription.manager.d.ts +169 -0
- package/managers/subscription.manager.js +3422 -0
- package/managers/subscription.manager.js.map +1 -0
- package/managers/websocket.manager.d.ts +73 -0
- package/managers/websocket.manager.js +673 -0
- package/managers/websocket.manager.js.map +1 -0
- package/managers/worker-dispatcher.manager.d.ts +117 -0
- package/managers/worker-dispatcher.manager.js +1210 -0
- package/managers/worker-dispatcher.manager.js.map +1 -0
- package/managers/worker-server.manager.d.ts +16 -0
- package/managers/worker-server.manager.js +530 -0
- package/managers/worker-server.manager.js.map +1 -0
- package/methods/accounts.d.ts +2 -0
- package/methods/accounts.js +624 -0
- package/methods/accounts.js.map +1 -0
- package/methods/ai-terminal.d.ts +304 -0
- package/methods/ai-terminal.js +25096 -0
- package/methods/ai-terminal.js.map +1 -0
- package/methods/app-settings.d.ts +2 -0
- package/methods/app-settings.js +169 -0
- package/methods/app-settings.js.map +1 -0
- package/methods/aws.d.ts +2 -0
- package/methods/aws.js +874 -0
- package/methods/aws.js.map +1 -0
- package/methods/collections.d.ts +2 -0
- package/methods/collections.js +626 -0
- package/methods/collections.js.map +1 -0
- package/methods/counters.d.ts +2 -0
- package/methods/counters.js +111 -0
- package/methods/counters.js.map +1 -0
- package/methods/cron-jobs.d.ts +2 -0
- package/methods/cron-jobs.js +2471 -0
- package/methods/cron-jobs.js.map +1 -0
- package/methods/customer-notifications.d.ts +2 -0
- package/methods/customer-notifications.js +528 -0
- package/methods/customer-notifications.js.map +1 -0
- package/methods/diagnostics.d.ts +2 -0
- package/methods/diagnostics.js +514 -0
- package/methods/diagnostics.js.map +1 -0
- package/methods/flag-updates.d.ts +2 -0
- package/methods/flag-updates.js +8 -0
- package/methods/flag-updates.js.map +1 -0
- package/methods/flags.d.ts +2 -0
- package/methods/flags.js +8 -0
- package/methods/flags.js.map +1 -0
- package/methods/logs.d.ts +2 -0
- package/methods/logs.js +750 -0
- package/methods/logs.js.map +1 -0
- package/methods/mongo-explorer.d.ts +2 -0
- package/methods/mongo-explorer.js +1811 -0
- package/methods/mongo-explorer.js.map +1 -0
- package/methods/monitor.d.ts +2 -0
- package/methods/monitor.js +543 -0
- package/methods/monitor.js.map +1 -0
- package/methods/pdf.d.ts +2 -0
- package/methods/pdf.js +1195 -0
- package/methods/pdf.js.map +1 -0
- package/methods/publications.d.ts +1 -0
- package/methods/publications.js +183 -0
- package/methods/publications.js.map +1 -0
- package/methods/report-builder.d.ts +2 -0
- package/methods/report-builder.js +3099 -0
- package/methods/report-builder.js.map +1 -0
- package/methods/support.d.ts +2 -0
- package/methods/support.js +322 -0
- package/methods/support.js.map +1 -0
- package/models/ai-terminal-conversation.model.d.ts +17 -0
- package/models/ai-terminal-conversation.model.js +4 -0
- package/models/ai-terminal-conversation.model.js.map +1 -0
- package/models/ai-terminal-issue-report.model.d.ts +19 -0
- package/models/ai-terminal-issue-report.model.js +4 -0
- package/models/ai-terminal-issue-report.model.js.map +1 -0
- package/models/ai-terminal-message.model.d.ts +22 -0
- package/models/ai-terminal-message.model.js +4 -0
- package/models/ai-terminal-message.model.js.map +1 -0
- package/models/app-setting.model.d.ts +16 -0
- package/models/app-setting.model.js +4 -0
- package/models/app-setting.model.js.map +1 -0
- package/{src/models/app-status.model.ts → models/app-status.model.d.ts} +2 -3
- package/models/app-status.model.js +4 -0
- package/models/app-status.model.js.map +1 -0
- package/{src/models/billing-logged-in-users.model.ts → models/billing-logged-in-users.model.d.ts} +4 -5
- package/models/billing-logged-in-users.model.js +4 -0
- package/models/billing-logged-in-users.model.js.map +1 -0
- package/models/collection-document.model.d.ts +21 -0
- package/models/collection-document.model.js +4 -0
- package/models/collection-document.model.js.map +1 -0
- package/models/communication-metric.model.d.ts +20 -0
- package/models/communication-metric.model.js +4 -0
- package/models/communication-metric.model.js.map +1 -0
- package/{src/models/counter.model.ts → models/counter.model.d.ts} +3 -4
- package/models/counter.model.js +4 -0
- package/models/counter.model.js.map +1 -0
- package/models/cron-job-history.model.d.ts +15 -0
- package/models/cron-job-history.model.js +4 -0
- package/models/cron-job-history.model.js.map +1 -0
- package/models/cron-job.model.d.ts +14 -0
- package/models/cron-job.model.js +4 -0
- package/models/cron-job.model.js.map +1 -0
- package/models/customer-notification.model.d.ts +26 -0
- package/models/customer-notification.model.js +4 -0
- package/models/customer-notification.model.js.map +1 -0
- package/models/customer-portal-password.model.d.ts +11 -0
- package/models/customer-portal-password.model.js +4 -0
- package/models/customer-portal-password.model.js.map +1 -0
- package/models/dialog.model.d.ts +23 -0
- package/models/dialog.model.js +4 -0
- package/models/dialog.model.js.map +1 -0
- package/models/email-history.model.d.ts +30 -0
- package/{src/models/email-history.model.ts → models/email-history.model.js} +4 -34
- package/models/email-history.model.js.map +1 -0
- package/{src/models/email-verified.model.ts → models/email-verified.model.d.ts} +5 -6
- package/models/email-verified.model.js +4 -0
- package/models/email-verified.model.js.map +1 -0
- package/{src/models/file.model.ts → models/file.model.d.ts} +7 -8
- package/models/file.model.js +4 -0
- package/models/file.model.js.map +1 -0
- package/{src/models/flag-update.model.ts → models/flag-update.model.d.ts} +3 -4
- package/models/flag-update.model.js +4 -0
- package/models/flag-update.model.js.map +1 -0
- package/{src/models/flag.model.ts → models/flag.model.d.ts} +3 -4
- package/models/flag.model.js +4 -0
- package/models/flag.model.js.map +1 -0
- package/models/log-method-latency.model.d.ts +10 -0
- package/models/log-method-latency.model.js +4 -0
- package/models/log-method-latency.model.js.map +1 -0
- package/{src/models/log-subscription.model.ts → models/log-subscription.model.d.ts} +9 -11
- package/models/log-subscription.model.js +4 -0
- package/models/log-subscription.model.js.map +1 -0
- package/models/log.model.d.ts +17 -0
- package/models/log.model.js +4 -0
- package/models/log.model.js.map +1 -0
- package/{src/models/logged-in-users.model.ts → models/logged-in-users.model.d.ts} +5 -6
- package/models/logged-in-users.model.js +4 -0
- package/models/logged-in-users.model.js.map +1 -0
- package/{src/models/method-response.model.ts → models/method-response.model.d.ts} +6 -7
- package/models/method-response.model.js +4 -0
- package/models/method-response.model.js.map +1 -0
- package/models/method.model.d.ts +24 -0
- package/models/method.model.js +4 -0
- package/models/method.model.js.map +1 -0
- package/{src/models/monitor-cpu.model.ts → models/monitor-cpu.model.d.ts} +7 -9
- package/models/monitor-cpu.model.js +4 -0
- package/models/monitor-cpu.model.js.map +1 -0
- package/models/monitor-function.model.d.ts +14 -0
- package/models/monitor-function.model.js +4 -0
- package/models/monitor-function.model.js.map +1 -0
- package/models/monitor-memory.model.d.ts +15 -0
- package/models/monitor-memory.model.js +4 -0
- package/models/monitor-memory.model.js.map +1 -0
- package/models/monitor-mongo.model.d.ts +13 -0
- package/models/monitor-mongo.model.js +4 -0
- package/models/monitor-mongo.model.js.map +1 -0
- package/{src/models/notification.model.ts → models/notification.model.d.ts} +4 -6
- package/models/notification.model.js +4 -0
- package/models/notification.model.js.map +1 -0
- package/models/openai-usage-ledger.model.d.ts +15 -0
- package/models/openai-usage-ledger.model.js +4 -0
- package/models/openai-usage-ledger.model.js.map +1 -0
- package/models/pagination.model.d.ts +11 -0
- package/models/pagination.model.js +28 -0
- package/models/pagination.model.js.map +1 -0
- package/models/permission.model.d.ts +12 -0
- package/models/permission.model.js +4 -0
- package/models/permission.model.js.map +1 -0
- package/models/report-builder-dashboard-builder.model.d.ts +25 -0
- package/models/report-builder-dashboard-builder.model.js +4 -0
- package/models/report-builder-dashboard-builder.model.js.map +1 -0
- package/models/report-builder-library.model.d.ts +17 -0
- package/models/report-builder-library.model.js +4 -0
- package/models/report-builder-library.model.js.map +1 -0
- package/models/report-builder-report.model.d.ts +120 -0
- package/models/report-builder-report.model.js +4 -0
- package/models/report-builder-report.model.js.map +1 -0
- package/models/report-builder.model.d.ts +61 -0
- package/models/report-builder.model.js +4 -0
- package/models/report-builder.model.js.map +1 -0
- package/models/select-data-label.model.d.ts +9 -0
- package/models/select-data-label.model.js +4 -0
- package/models/select-data-label.model.js.map +1 -0
- package/models/server-message.model.d.ts +32 -0
- package/models/server-message.model.js +4 -0
- package/models/server-message.model.js.map +1 -0
- package/models/slow-query-report.model.d.ts +23 -0
- package/models/slow-query-report.model.js +4 -0
- package/models/slow-query-report.model.js.map +1 -0
- package/models/subscription.model.d.ts +31 -0
- package/models/subscription.model.js +4 -0
- package/models/subscription.model.js.map +1 -0
- package/models/support-ticket.model.d.ts +87 -0
- package/models/support-ticket.model.js +4 -0
- package/models/support-ticket.model.js.map +1 -0
- package/models/user-group.model.d.ts +20 -0
- package/models/user-group.model.js +4 -0
- package/models/user-group.model.js.map +1 -0
- package/{src/models/user-guide.model.ts → models/user-guide.model.d.ts} +4 -5
- package/models/user-guide.model.js +4 -0
- package/models/user-guide.model.js.map +1 -0
- package/models/user.model.d.ts +84 -0
- package/models/user.model.js +4 -0
- package/models/user.model.js.map +1 -0
- package/package.json +1 -1
- package/private/images/ResolveIO.png +0 -0
- package/public_api.js +107 -0
- package/public_api.js.map +1 -0
- package/publications/ai-terminal.d.ts +1 -0
- package/publications/ai-terminal.js +122 -0
- package/publications/ai-terminal.js.map +1 -0
- package/publications/app-settings.d.ts +2 -0
- package/publications/app-settings.js +28 -0
- package/publications/app-settings.js.map +1 -0
- package/publications/app-status.d.ts +2 -0
- package/publications/app-status.js +16 -0
- package/publications/app-status.js.map +1 -0
- package/publications/cron-jobs.d.ts +2 -0
- package/publications/cron-jobs.js +32 -0
- package/publications/cron-jobs.js.map +1 -0
- package/publications/customer-notifications.d.ts +2 -0
- package/publications/customer-notifications.js +161 -0
- package/publications/customer-notifications.js.map +1 -0
- package/publications/files.d.ts +2 -0
- package/publications/files.js +36 -0
- package/publications/files.js.map +1 -0
- package/publications/flags-update.d.ts +2 -0
- package/publications/flags-update.js +22 -0
- package/publications/flags-update.js.map +1 -0
- package/publications/flags.d.ts +2 -0
- package/publications/flags.js +22 -0
- package/publications/flags.js.map +1 -0
- package/publications/logs.d.ts +2 -0
- package/publications/logs.js +164 -0
- package/publications/logs.js.map +1 -0
- package/publications/notifications.d.ts +2 -0
- package/publications/notifications.js +16 -0
- package/publications/notifications.js.map +1 -0
- package/publications/report-builder-dashboard-builders.d.ts +2 -0
- package/publications/report-builder-dashboard-builders.js +42 -0
- package/publications/report-builder-dashboard-builders.js.map +1 -0
- package/publications/report-builder-libraries.d.ts +2 -0
- package/publications/report-builder-libraries.js +90 -0
- package/publications/report-builder-libraries.js.map +1 -0
- package/publications/report-builder-reports.d.ts +2 -0
- package/publications/report-builder-reports.js +50 -0
- package/publications/report-builder-reports.js.map +1 -0
- package/publications/super-admin.d.ts +2 -0
- package/publications/super-admin.js +16 -0
- package/publications/super-admin.js.map +1 -0
- package/publications/user-groups.d.ts +1 -0
- package/publications/user-groups.js +16 -0
- package/publications/user-groups.js.map +1 -0
- package/publications/user-guides.d.ts +1 -0
- package/publications/user-guides.js +16 -0
- package/publications/user-guides.js.map +1 -0
- package/resolveio-server-app.d.ts +70 -0
- package/resolveio-server-app.js +801 -0
- package/resolveio-server-app.js.map +1 -0
- package/server-app.d.ts +167 -0
- package/server-app.js +2784 -0
- package/server-app.js.map +1 -0
- package/services/codex-client.d.ts +119 -0
- package/services/codex-client.js +1470 -0
- package/services/codex-client.js.map +1 -0
- package/services/openai-client.d.ts +46 -0
- package/services/openai-client.js +318 -0
- package/services/openai-client.js.map +1 -0
- package/types/error-report.d.ts +25 -0
- package/types/error-report.js +4 -0
- package/types/error-report.js.map +1 -0
- package/types/slow-query-report.d.ts +27 -0
- package/types/slow-query-report.js +6 -0
- package/types/slow-query-report.js.map +1 -0
- package/util/common.d.ts +31 -0
- package/util/common.js +683 -0
- package/util/common.js.map +1 -0
- package/util/customer-portal-password.d.ts +13 -0
- package/util/customer-portal-password.js +209 -0
- package/util/customer-portal-password.js.map +1 -0
- package/util/error-reporter.d.ts +52 -0
- package/util/error-reporter.js +326 -0
- package/util/error-reporter.js.map +1 -0
- package/util/error-tracking.d.ts +13 -0
- package/util/error-tracking.js +120 -0
- package/util/error-tracking.js.map +1 -0
- package/util/report-builder-unwinds.d.ts +15 -0
- package/util/report-builder-unwinds.js +156 -0
- package/util/report-builder-unwinds.js.map +1 -0
- package/util/schema-report-builder.d.ts +6 -0
- package/util/schema-report-builder.js +481 -0
- package/util/schema-report-builder.js.map +1 -0
- package/util/slow-query-reporter.d.ts +28 -0
- package/util/slow-query-reporter.js +226 -0
- package/util/slow-query-reporter.js.map +1 -0
- package/util/subscription-dependency-context.d.ts +34 -0
- package/util/subscription-dependency-context.js +1283 -0
- package/util/subscription-dependency-context.js.map +1 -0
- package/util/tokenizer.d.ts +5 -0
- package/util/tokenizer.js +41 -0
- package/util/tokenizer.js.map +1 -0
- package/workers/codex-runner.worker.d.ts +1 -0
- package/workers/codex-runner.worker.js +192 -0
- package/workers/codex-runner.worker.js.map +1 -0
- package/.github/workflows/ai-assistant-nightly-eval.yml +0 -224
- package/.github/workflows/ai-assistant-pr-guardrails.yml +0 -60
- package/.nodemon.json +0 -5
- package/.vscode/settings.json +0 -21
- package/AGENTS.md +0 -179
- package/README.md +0 -22
- package/build_package.sh +0 -5
- package/compileDTS.pl +0 -64
- package/docs/ai-assistant-nightly-eval.md +0 -65
- package/docs/ai-assistant-preflight-checklist.md +0 -23
- package/docs/ai-assistant-report-builder-bridge-playbook.md +0 -115
- package/eslint-plugin-custom/index.js +0 -7
- package/eslint-plugin-custom/rules/no-filter-zero-index.js +0 -44
- package/eslint.config.js +0 -103
- package/gulpfile.js +0 -216
- package/methodAndPublicationListGenerator.py +0 -319
- package/mongodbensurers.js +0 -2
- package/mongostop.js +0 -3
- package/settings.development.json +0 -25
- package/settings.development.redacted.json +0 -25
- package/src/.env +0 -12
- package/src/ai/assistant-core-heuristics.ts +0 -577
- package/src/client-server-app.ts +0 -12
- package/src/collections/ai-terminal-conversation.collection.ts +0 -91
- package/src/collections/ai-terminal-issue-report.collection.ts +0 -99
- package/src/collections/ai-terminal-message.collection.ts +0 -77
- package/src/collections/app-setting.collection.ts +0 -104
- package/src/collections/app-status.collection.ts +0 -58
- package/src/collections/communication-metric.collection.ts +0 -84
- package/src/collections/counter.collection.ts +0 -56
- package/src/collections/cron-job-history.collection.ts +0 -94
- package/src/collections/cron-job.collection.ts +0 -92
- package/src/collections/customer-notification.collection.ts +0 -131
- package/src/collections/customer-portal-password.collection.ts +0 -76
- package/src/collections/email-history.collection.ts +0 -121
- package/src/collections/email-verified.collection.ts +0 -61
- package/src/collections/file.collection.ts +0 -74
- package/src/collections/flag-update.collection.ts +0 -57
- package/src/collections/flag.collection.ts +0 -57
- package/src/collections/log-method-latency.collection.ts +0 -77
- package/src/collections/log-subscription.collection.ts +0 -80
- package/src/collections/log.collection.ts +0 -93
- package/src/collections/logged-in-users.collection.ts +0 -67
- package/src/collections/monitor-cpu.collection.ts +0 -65
- package/src/collections/monitor-function.collection.ts +0 -74
- package/src/collections/monitor-memory.collection.ts +0 -77
- package/src/collections/monitor-mongo.collection.ts +0 -71
- package/src/collections/notification.collection.ts +0 -57
- package/src/collections/openai-usage-ledger.collection.ts +0 -77
- package/src/collections/report-builder-dashboard-builder.collection.ts +0 -109
- package/src/collections/report-builder-library.collection.ts +0 -89
- package/src/collections/report-builder-report.collection.ts +0 -180
- package/src/collections/user-group.collection.ts +0 -89
- package/src/collections/user-guide.collection.ts +0 -57
- package/src/collections/user.collection.ts +0 -181
- package/src/cron/cron.ts +0 -117
- package/src/fixtures/cron-jobs.ts +0 -95
- package/src/fixtures/init.ts +0 -35
- package/src/http/auth.ts +0 -764
- package/src/http/health.ts +0 -7
- package/src/http/home.ts +0 -90
- package/src/http/slow-query-publication.ts +0 -49
- package/src/index.ts +0 -1
- package/src/managers/communication-metric.manager.ts +0 -82
- package/src/managers/cron.manager.ts +0 -333
- package/src/managers/customer-notification-content.manager.ts +0 -236
- package/src/managers/diagnostic-manager-bootstrap.ts +0 -165
- package/src/managers/error-auto-fix.manager.ts +0 -2767
- package/src/managers/local-log.manager.ts +0 -113
- package/src/managers/method.manager.ts +0 -1557
- package/src/managers/mongo.manager.ts +0 -4566
- package/src/managers/monitor.manager.ts +0 -489
- package/src/managers/openai-usage-ledger.manager.ts +0 -116
- package/src/managers/slow-query-verifier.manager.ts +0 -3590
- package/src/managers/slow-query.manager.ts +0 -519
- package/src/managers/subscription.manager.ts +0 -3120
- package/src/managers/websocket.manager.ts +0 -746
- package/src/managers/worker-dispatcher.manager.ts +0 -1318
- package/src/managers/worker-server.manager.ts +0 -468
- package/src/methods/accounts.ts +0 -532
- package/src/methods/ai-terminal.ts +0 -25505
- package/src/methods/app-settings.ts +0 -114
- package/src/methods/aws.ts +0 -646
- package/src/methods/collections.ts +0 -544
- package/src/methods/counters.ts +0 -67
- package/src/methods/cron-jobs.ts +0 -2610
- package/src/methods/customer-notifications.ts +0 -458
- package/src/methods/diagnostics.ts +0 -447
- package/src/methods/flag-updates.ts +0 -7
- package/src/methods/flags.ts +0 -7
- package/src/methods/logs.ts +0 -656
- package/src/methods/mongo-explorer.ts +0 -1883
- package/src/methods/monitor.ts +0 -540
- package/src/methods/pdf.ts +0 -1210
- package/src/methods/publications.ts +0 -128
- package/src/methods/report-builder.ts +0 -3305
- package/src/methods/support.ts +0 -210
- package/src/models/ai-terminal-conversation.model.ts +0 -19
- package/src/models/ai-terminal-issue-report.model.ts +0 -21
- package/src/models/ai-terminal-message.model.ts +0 -24
- package/src/models/app-setting.model.ts +0 -17
- package/src/models/collection-document.model.ts +0 -24
- package/src/models/communication-metric.model.ts +0 -23
- package/src/models/cron-job-history.model.ts +0 -16
- package/src/models/cron-job.model.ts +0 -15
- package/src/models/customer-notification.model.ts +0 -28
- package/src/models/customer-portal-password.model.ts +0 -12
- package/src/models/dialog.model.ts +0 -25
- package/src/models/log-method-latency.model.ts +0 -11
- package/src/models/log.model.ts +0 -19
- package/src/models/method.model.ts +0 -23
- package/src/models/monitor-function.model.ts +0 -16
- package/src/models/monitor-memory.model.ts +0 -17
- package/src/models/monitor-mongo.model.ts +0 -15
- package/src/models/openai-usage-ledger.model.ts +0 -16
- package/src/models/pagination.model.ts +0 -35
- package/src/models/permission.model.ts +0 -14
- package/src/models/report-builder-dashboard-builder.model.ts +0 -29
- package/src/models/report-builder-library.model.ts +0 -20
- package/src/models/report-builder-report.model.ts +0 -135
- package/src/models/report-builder.model.ts +0 -68
- package/src/models/select-data-label.model.ts +0 -9
- package/src/models/server-message.model.ts +0 -31
- package/src/models/slow-query-report.model.ts +0 -23
- package/src/models/subscription.model.ts +0 -73
- package/src/models/support-ticket.model.ts +0 -96
- package/src/models/user-group.model.ts +0 -24
- package/src/models/user.model.ts +0 -96
- package/src/private/images/ResolveIO.png +0 -0
- package/src/publications/ai-terminal.ts +0 -73
- package/src/publications/app-settings.ts +0 -25
- package/src/publications/app-status.ts +0 -13
- package/src/publications/cron-jobs.ts +0 -29
- package/src/publications/customer-notifications.ts +0 -101
- package/src/publications/files.ts +0 -33
- package/src/publications/flags-update.ts +0 -19
- package/src/publications/flags.ts +0 -19
- package/src/publications/logs.ts +0 -163
- package/src/publications/notifications.ts +0 -13
- package/src/publications/report-builder-dashboard-builders.ts +0 -39
- package/src/publications/report-builder-libraries.ts +0 -41
- package/src/publications/report-builder-reports.ts +0 -47
- package/src/publications/super-admin.ts +0 -13
- package/src/publications/user-groups.ts +0 -12
- package/src/publications/user-guides.ts +0 -12
- package/src/resolveio-server-app.ts +0 -617
- package/src/server-app.ts +0 -2616
- package/src/services/codex-client.ts +0 -1117
- package/src/services/openai-client.ts +0 -265
- package/src/types/error-report.ts +0 -26
- package/src/types/js-tiktoken.d.ts +0 -11
- package/src/types/slow-query-report.ts +0 -28
- package/src/util/common.ts +0 -649
- package/src/util/customer-portal-password.ts +0 -183
- package/src/util/error-reporter.ts +0 -332
- package/src/util/error-tracking.ts +0 -79
- package/src/util/report-builder-unwinds.ts +0 -180
- package/src/util/schema-report-builder.ts +0 -448
- package/src/util/slow-query-reporter.ts +0 -216
- package/src/util/subscription-dependency-context.ts +0 -1096
- package/src/util/tokenizer.ts +0 -38
- package/src/workers/codex-runner.worker.ts +0 -142
- package/start_server.sh +0 -5
- package/tests/ai-assistant-corpus-build.ts +0 -484
- package/tests/ai-assistant-corpus-replay-e2e.ts +0 -773
- package/tests/ai-assistant-data-parity-e2e.ts +0 -2018
- package/tests/ai-assistant-eval-triage.ts +0 -831
- package/tests/ai-assistant-openai-e2e.ts +0 -1061
- package/tests/ai-assistant-openai-git-e2e.ts +0 -155
- package/tests/ai-assistant-preflight-matrix.ts +0 -215
- package/tests/ai-assistant-routing-eval.test.ts +0 -560
- package/tests/ai-assistant-snf-live-eval.ts +0 -921
- package/tests/ai-assistant-utils.test.ts +0 -2165
- package/tests/error-reporter.test.ts +0 -145
- package/tests/report-builder-linking.test.ts +0 -79
- package/tests/subscription-connect-race.test.ts +0 -157
- package/tests/subscription-dependency-context.test.ts +0 -324
- package/tests/subscription-manager-collection-tracking.test.ts +0 -86
- package/tests/subscription-manager-invalidation.test.ts +0 -85
- package/tsconfig.json +0 -34
- /package/{src/private → private}/email-templates/enrollment.html +0 -0
- /package/{src/private → private}/email-templates/forgot-password.html +0 -0
- /package/{src/private → private}/email-templates/support-ticket-deleted.html +0 -0
- /package/{src/private → private}/email-templates/support-ticket-modified.html +0 -0
- /package/{src/private → private}/email-templates/support-ticket.html +0 -0
- /package/{src/public_api.ts → public_api.d.ts} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface OpenAIUsageRecordInput {
|
|
2
|
+
id_client?: string;
|
|
3
|
+
model: string;
|
|
4
|
+
input_tokens: number;
|
|
5
|
+
cached_input_tokens?: number;
|
|
6
|
+
output_tokens: number;
|
|
7
|
+
total_tokens: number;
|
|
8
|
+
billable?: boolean;
|
|
9
|
+
category?: string;
|
|
10
|
+
id_request?: string;
|
|
11
|
+
id_conversation?: string;
|
|
12
|
+
timestamp?: Date;
|
|
13
|
+
cost_estimate?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function recordOpenAIUsage(input: OpenAIUsageRecordInput): Promise<void>;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.recordOpenAIUsage = recordOpenAIUsage;
|
|
40
|
+
var common_1 = require("../util/common");
|
|
41
|
+
var resolveio_server_app_1 = require("../resolveio-server-app");
|
|
42
|
+
var openai_usage_ledger_collection_1 = require("../collections/openai-usage-ledger.collection");
|
|
43
|
+
var toNumber = function (value) {
|
|
44
|
+
var parsed = Number(value);
|
|
45
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
46
|
+
};
|
|
47
|
+
var normalizeModelKey = function (value) {
|
|
48
|
+
return String(value || '').trim().toLowerCase();
|
|
49
|
+
};
|
|
50
|
+
var parsePricingJson = function (raw) {
|
|
51
|
+
if (!raw) {
|
|
52
|
+
return {};
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
var parsed_1 = JSON.parse(raw);
|
|
56
|
+
if (!parsed_1 || typeof parsed_1 !== 'object') {
|
|
57
|
+
return {};
|
|
58
|
+
}
|
|
59
|
+
var out_1 = {};
|
|
60
|
+
Object.keys(parsed_1).forEach(function (key) {
|
|
61
|
+
var _a, _b, _c, _d, _e, _f;
|
|
62
|
+
var entry = parsed_1[key] || {};
|
|
63
|
+
var inputPer1k = toNumber((_c = (_b = (_a = entry.inputPer1k) !== null && _a !== void 0 ? _a : entry.input) !== null && _b !== void 0 ? _b : entry.prompt) !== null && _c !== void 0 ? _c : 0);
|
|
64
|
+
var outputPer1k = toNumber((_f = (_e = (_d = entry.outputPer1k) !== null && _d !== void 0 ? _d : entry.output) !== null && _e !== void 0 ? _e : entry.completion) !== null && _f !== void 0 ? _f : 0);
|
|
65
|
+
if (inputPer1k || outputPer1k) {
|
|
66
|
+
out_1[normalizeModelKey(key)] = { inputPer1k: inputPer1k, outputPer1k: outputPer1k };
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return out_1;
|
|
70
|
+
}
|
|
71
|
+
catch (_a) {
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
var resolvePricingConfig = function () {
|
|
76
|
+
var _a, _b, _c, _d, _e, _f;
|
|
77
|
+
var config = resolveio_server_app_1.ResolveIOServer.getServerConfig() || {};
|
|
78
|
+
var rawJson = String((_b = (_a = config['OPENAI_MODEL_PRICING']) !== null && _a !== void 0 ? _a : process.env.OPENAI_MODEL_PRICING) !== null && _b !== void 0 ? _b : '').trim();
|
|
79
|
+
var defaultInput = toNumber((_d = (_c = config['OPENAI_COST_PER_1K_INPUT_TOKENS']) !== null && _c !== void 0 ? _c : process.env.OPENAI_COST_PER_1K_INPUT_TOKENS) !== null && _d !== void 0 ? _d : 0);
|
|
80
|
+
var defaultOutput = toNumber((_f = (_e = config['OPENAI_COST_PER_1K_OUTPUT_TOKENS']) !== null && _e !== void 0 ? _e : process.env.OPENAI_COST_PER_1K_OUTPUT_TOKENS) !== null && _f !== void 0 ? _f : 0);
|
|
81
|
+
return {
|
|
82
|
+
perModel: parsePricingJson(rawJson),
|
|
83
|
+
defaultPricing: { inputPer1k: defaultInput, outputPer1k: defaultOutput }
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
var estimateCost = function (model, inputTokens, outputTokens, cachedInputTokens) {
|
|
87
|
+
if (cachedInputTokens === void 0) { cachedInputTokens = 0; }
|
|
88
|
+
var _a = resolvePricingConfig(), perModel = _a.perModel, defaultPricing = _a.defaultPricing;
|
|
89
|
+
var normalizedModel = normalizeModelKey(model);
|
|
90
|
+
var pricing = perModel[normalizedModel] || defaultPricing;
|
|
91
|
+
if (!pricing.inputPer1k && !pricing.outputPer1k) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
// Cached prompt tokens are typically discounted or free; only uncached input should use full input pricing.
|
|
95
|
+
var uncachedInputTokens = Math.max(0, toNumber(inputTokens) - toNumber(cachedInputTokens));
|
|
96
|
+
var inputCost = (uncachedInputTokens / 1000) * pricing.inputPer1k;
|
|
97
|
+
var outputCost = (toNumber(outputTokens) / 1000) * pricing.outputPer1k;
|
|
98
|
+
return (0, common_1.round)(inputCost + outputCost, 6);
|
|
99
|
+
};
|
|
100
|
+
function recordOpenAIUsage(input) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
102
|
+
var idClient, inputTokens, cachedInputTokens, outputTokens, totalTokens, model, normalizedInputCostEstimate, costEstimate;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0:
|
|
106
|
+
if (!input) {
|
|
107
|
+
return [2 /*return*/];
|
|
108
|
+
}
|
|
109
|
+
idClient = String(input.id_client || '').trim();
|
|
110
|
+
inputTokens = toNumber(input.input_tokens);
|
|
111
|
+
cachedInputTokens = toNumber(input.cached_input_tokens);
|
|
112
|
+
outputTokens = toNumber(input.output_tokens);
|
|
113
|
+
totalTokens = toNumber(input.total_tokens);
|
|
114
|
+
if (!totalTokens && (!inputTokens && !outputTokens)) {
|
|
115
|
+
return [2 /*return*/];
|
|
116
|
+
}
|
|
117
|
+
model = String(input.model || '').trim() || 'unknown';
|
|
118
|
+
normalizedInputCostEstimate = toNumber(input.cost_estimate);
|
|
119
|
+
costEstimate = normalizedInputCostEstimate > 0
|
|
120
|
+
? normalizedInputCostEstimate
|
|
121
|
+
: estimateCost(model, inputTokens, outputTokens, cachedInputTokens);
|
|
122
|
+
return [4 /*yield*/, openai_usage_ledger_collection_1.OpenAIUsageLedger.insertOne({
|
|
123
|
+
id_client: idClient,
|
|
124
|
+
timestamp: input.timestamp || new Date(),
|
|
125
|
+
model: model,
|
|
126
|
+
input_tokens: inputTokens,
|
|
127
|
+
cached_input_tokens: cachedInputTokens,
|
|
128
|
+
output_tokens: outputTokens,
|
|
129
|
+
total_tokens: totalTokens || (inputTokens + outputTokens),
|
|
130
|
+
cost_estimate: costEstimate,
|
|
131
|
+
billable: input.billable !== false,
|
|
132
|
+
category: input.category || '',
|
|
133
|
+
id_request: input.id_request || '',
|
|
134
|
+
id_conversation: input.id_conversation || ''
|
|
135
|
+
})];
|
|
136
|
+
case 1:
|
|
137
|
+
_a.sent();
|
|
138
|
+
return [2 /*return*/];
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
//# sourceMappingURL=openai-usage-ledger.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/managers/openai-usage-ledger.manager.ts"],"names":[],"mappings":"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","file":"openai-usage-ledger.manager.js","sourcesContent":["import { round } from '../util/common';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { OpenAIUsageLedger } from '../collections/openai-usage-ledger.collection';\n\nexport interface OpenAIUsageRecordInput {\n\tid_client?: string;\n\tmodel: string;\n\tinput_tokens: number;\n\tcached_input_tokens?: number;\n\toutput_tokens: number;\n\ttotal_tokens: number;\n\tbillable?: boolean;\n\tcategory?: string;\n\tid_request?: string;\n\tid_conversation?: string;\n\ttimestamp?: Date;\n\tcost_estimate?: number;\n}\n\ntype PricingConfig = {\n\tinputPer1k: number;\n\toutputPer1k: number;\n};\n\nconst toNumber = (value: any): number => {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) ? parsed : 0;\n};\n\nconst normalizeModelKey = (value: string): string => {\n\treturn String(value || '').trim().toLowerCase();\n};\n\nconst parsePricingJson = (raw: string): Record<string, PricingConfig> => {\n\tif (!raw) {\n\t\treturn {};\n\t}\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tif (!parsed || typeof parsed !== 'object') {\n\t\t\treturn {};\n\t\t}\n\t\tconst out: Record<string, PricingConfig> = {};\n\t\tObject.keys(parsed).forEach((key) => {\n\t\t\tconst entry = parsed[key] || {};\n\t\t\tconst inputPer1k = toNumber(entry.inputPer1k ?? entry.input ?? entry.prompt ?? 0);\n\t\t\tconst outputPer1k = toNumber(entry.outputPer1k ?? entry.output ?? entry.completion ?? 0);\n\t\t\tif (inputPer1k || outputPer1k) {\n\t\t\t\tout[normalizeModelKey(key)] = { inputPer1k, outputPer1k };\n\t\t\t}\n\t\t});\n\t\treturn out;\n\t}\n\tcatch {\n\t\treturn {};\n\t}\n};\n\nconst resolvePricingConfig = (): { perModel: Record<string, PricingConfig>; defaultPricing: PricingConfig } => {\n\tconst config = ResolveIOServer.getServerConfig() || {};\n\tconst rawJson = String(config['OPENAI_MODEL_PRICING'] ?? process.env.OPENAI_MODEL_PRICING ?? '').trim();\n\tconst defaultInput = toNumber(config['OPENAI_COST_PER_1K_INPUT_TOKENS'] ?? process.env.OPENAI_COST_PER_1K_INPUT_TOKENS ?? 0);\n\tconst defaultOutput = toNumber(config['OPENAI_COST_PER_1K_OUTPUT_TOKENS'] ?? process.env.OPENAI_COST_PER_1K_OUTPUT_TOKENS ?? 0);\n\treturn {\n\t\tperModel: parsePricingJson(rawJson),\n\t\tdefaultPricing: { inputPer1k: defaultInput, outputPer1k: defaultOutput }\n\t};\n};\n\nconst estimateCost = (model: string, inputTokens: number, outputTokens: number, cachedInputTokens = 0): number => {\n\tconst { perModel, defaultPricing } = resolvePricingConfig();\n\tconst normalizedModel = normalizeModelKey(model);\n\tconst pricing = perModel[normalizedModel] || defaultPricing;\n\tif (!pricing.inputPer1k && !pricing.outputPer1k) {\n\t\treturn 0;\n\t}\n\t// Cached prompt tokens are typically discounted or free; only uncached input should use full input pricing.\n\tconst uncachedInputTokens = Math.max(0, toNumber(inputTokens) - toNumber(cachedInputTokens));\n\tconst inputCost = (uncachedInputTokens / 1000) * pricing.inputPer1k;\n\tconst outputCost = (toNumber(outputTokens) / 1000) * pricing.outputPer1k;\n\treturn round(inputCost + outputCost, 6);\n};\n\nexport async function recordOpenAIUsage(input: OpenAIUsageRecordInput): Promise<void> {\n\tif (!input) {\n\t\treturn;\n\t}\n\tconst idClient = String(input.id_client || '').trim();\n\tconst inputTokens = toNumber(input.input_tokens);\n\tconst cachedInputTokens = toNumber(input.cached_input_tokens);\n\tconst outputTokens = toNumber(input.output_tokens);\n\tconst totalTokens = toNumber(input.total_tokens);\n\tif (!totalTokens && (!inputTokens && !outputTokens)) {\n\t\treturn;\n\t}\n\tconst model = String(input.model || '').trim() || 'unknown';\n\tconst normalizedInputCostEstimate = toNumber(input.cost_estimate);\n\tconst costEstimate = normalizedInputCostEstimate > 0\n\t\t? normalizedInputCostEstimate\n\t\t: estimateCost(model, inputTokens, outputTokens, cachedInputTokens);\n\n\tawait OpenAIUsageLedger.insertOne({\n\t\tid_client: idClient,\n\t\ttimestamp: input.timestamp || new Date(),\n\t\tmodel,\n\t\tinput_tokens: inputTokens,\n\t\tcached_input_tokens: cachedInputTokens,\n\t\toutput_tokens: outputTokens,\n\t\ttotal_tokens: totalTokens || (inputTokens + outputTokens),\n\t\tcost_estimate: costEstimate,\n\t\tbillable: input.billable !== false,\n\t\tcategory: input.category || '',\n\t\tid_request: input.id_request || '',\n\t\tid_conversation: input.id_conversation || ''\n\t});\n}\n"]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
type SlowQueryExecutionOverride = Record<string, any>;
|
|
2
|
+
type SlowQueryLogModel = Record<string, any>;
|
|
3
|
+
export interface TokenEligibilityResult {
|
|
4
|
+
eligible: boolean;
|
|
5
|
+
reason?: string;
|
|
6
|
+
}
|
|
7
|
+
export type CheckAICoderTokenEligibilityFn = Function;
|
|
8
|
+
export interface SlowQueryVerifierDependencies {
|
|
9
|
+
ClientDBs?: any;
|
|
10
|
+
Clients?: any;
|
|
11
|
+
SlowQueryLogs: any;
|
|
12
|
+
AICoderApps?: any;
|
|
13
|
+
AIDashboardJobs?: any;
|
|
14
|
+
checkAICoderTokenEligibility?: CheckAICoderTokenEligibilityFn;
|
|
15
|
+
}
|
|
16
|
+
export declare function registerSlowQueryVerifierDependencies(dependencies: SlowQueryVerifierDependencies): void;
|
|
17
|
+
interface ExplainStageSummary {
|
|
18
|
+
stage: string;
|
|
19
|
+
path: string;
|
|
20
|
+
executionTimeMs?: number;
|
|
21
|
+
docsExamined?: number;
|
|
22
|
+
keysExamined?: number;
|
|
23
|
+
nReturned?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare function ensureSlowQueryVerifier(serverConfig?: any): SlowQueryVerifier | null;
|
|
26
|
+
interface ExplainResult {
|
|
27
|
+
durationMs: number;
|
|
28
|
+
explainPlan: Record<string, any>;
|
|
29
|
+
explainStats: Record<string, any>;
|
|
30
|
+
stageSummaries: ExplainStageSummary[];
|
|
31
|
+
}
|
|
32
|
+
export declare class SlowQueryVerifier {
|
|
33
|
+
private readonly _timer?;
|
|
34
|
+
private readonly config;
|
|
35
|
+
private readonly autoOptimizeInFlight;
|
|
36
|
+
private readonly autoOptimizeDependenciesAvailable;
|
|
37
|
+
private static readonly APP_SETTINGS_CACHE_TTL_MS;
|
|
38
|
+
private appSettingsAutoOptimizeCacheExpiresAt;
|
|
39
|
+
private appSettingsAutoOptimizeCacheValue;
|
|
40
|
+
constructor(serverConfig?: any, dependencies?: Partial<SlowQueryVerifierDependencies>);
|
|
41
|
+
private static resolveConfig;
|
|
42
|
+
private parseBooleanEnv;
|
|
43
|
+
private resolveAutoOptimizeEnabled;
|
|
44
|
+
private poll;
|
|
45
|
+
private processCandidate;
|
|
46
|
+
generateExplainForLog(logId: string): Promise<void>;
|
|
47
|
+
runLog(logId: string, options?: {
|
|
48
|
+
force?: boolean;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
status: 'in_progress' | 'success' | 'failed' | 'updated' | 'not_found';
|
|
51
|
+
reason?: string;
|
|
52
|
+
log?: SlowQueryLogModel;
|
|
53
|
+
}>;
|
|
54
|
+
queueLogRun(logId: string, options?: {
|
|
55
|
+
force?: boolean;
|
|
56
|
+
}): Promise<{
|
|
57
|
+
status: 'in_progress' | 'not_found' | 'failed';
|
|
58
|
+
reason?: string;
|
|
59
|
+
log?: SlowQueryLogModel;
|
|
60
|
+
}>;
|
|
61
|
+
deployLog(logId: string): Promise<{
|
|
62
|
+
status: 'success' | 'failed' | 'not_found';
|
|
63
|
+
reason?: string;
|
|
64
|
+
log?: SlowQueryLogModel;
|
|
65
|
+
}>;
|
|
66
|
+
private runLogWithRetries;
|
|
67
|
+
private shouldRetryForOutputMismatch;
|
|
68
|
+
private runExplain;
|
|
69
|
+
measureQuery(log: SlowQueryLogModel, overrides?: SlowQueryExecutionOverride): Promise<ExplainResult>;
|
|
70
|
+
private handleExplainResult;
|
|
71
|
+
private handleExplainError;
|
|
72
|
+
private assignSlowQueryCounter;
|
|
73
|
+
private scheduleAutoOptimization;
|
|
74
|
+
private runAutoOptimizationInBackground;
|
|
75
|
+
private escapeRegex;
|
|
76
|
+
private getEscalationRecipients;
|
|
77
|
+
private sendSlowQueryEscalationNotice;
|
|
78
|
+
private resolveSlowQueryClientTarget;
|
|
79
|
+
private buildLocalInternalUserCriteria;
|
|
80
|
+
private buildLocalAdminUserCriteria;
|
|
81
|
+
private resolveLocalNotificationUserIds;
|
|
82
|
+
private isGeneratedAICoderClient;
|
|
83
|
+
private buildAICoderSlowQuerySummary;
|
|
84
|
+
private buildResolveIOProjectSlowQueryDetails;
|
|
85
|
+
private notifyCustomerSlowQueryStatus;
|
|
86
|
+
private parseDate;
|
|
87
|
+
private resolveFingerprintScopeKey;
|
|
88
|
+
private buildFingerprintMatchQuery;
|
|
89
|
+
private countAttemptsWithinWindow;
|
|
90
|
+
private resolveFingerprintAttemptsInWindow;
|
|
91
|
+
private resolveCooldownDeadline;
|
|
92
|
+
private markAutoOptimizeCooldownActive;
|
|
93
|
+
private markAutoOptimizeTokenIneligible;
|
|
94
|
+
private markAutoOptimizeBudgetExceeded;
|
|
95
|
+
private maybeStopAutoOptimizeAfterFailure;
|
|
96
|
+
private shouldFallbackDashboardMethod;
|
|
97
|
+
private createDashboardJob;
|
|
98
|
+
private waitForDashboardJobStop;
|
|
99
|
+
private isDashboardJobRunning;
|
|
100
|
+
private publishDashboardJob;
|
|
101
|
+
private evaluateDashboardPublishOutcome;
|
|
102
|
+
private resolveBaselineDurationMs;
|
|
103
|
+
private static collectMetricValues;
|
|
104
|
+
private static asNonNegativeNumber;
|
|
105
|
+
private static maxNumber;
|
|
106
|
+
private static sortStageSummaries;
|
|
107
|
+
private static collectExecutionTreeStages;
|
|
108
|
+
private static extractStageSummaries;
|
|
109
|
+
private resolveExecutionMetrics;
|
|
110
|
+
private evaluateOptimizationOutcome;
|
|
111
|
+
private formatStageSummaryForPrompt;
|
|
112
|
+
private buildSlowQueryAutoOptimizeDescription;
|
|
113
|
+
private resolveAutoOptimizeRepoSlug;
|
|
114
|
+
private resolveAutoOptimizeRepoPath;
|
|
115
|
+
private static queryHasExplicitSort;
|
|
116
|
+
private static countLookupExprInPattern;
|
|
117
|
+
private static buildBoundedPipelineForOutputCompare;
|
|
118
|
+
private static buildBoundedFindOptionsForOutputCompare;
|
|
119
|
+
private static normalizeOutputValue;
|
|
120
|
+
private static digestOutputDocument;
|
|
121
|
+
private captureOutputFingerprint;
|
|
122
|
+
private compareOutputEquivalence;
|
|
123
|
+
private resolveAutoOptimizeApp;
|
|
124
|
+
private runAutoOptimization;
|
|
125
|
+
private resolveClientDB;
|
|
126
|
+
private resolveExplainTarget;
|
|
127
|
+
private static extractPipelineFromLog;
|
|
128
|
+
private static applyQueryOverrides;
|
|
129
|
+
private static extractPipelineOptions;
|
|
130
|
+
private static extractFindOptions;
|
|
131
|
+
private static resolveDurationMs;
|
|
132
|
+
private static pipelineHasWriteStage;
|
|
133
|
+
private static extractAggregateOptions;
|
|
134
|
+
private static buildAggregateExplainCommand;
|
|
135
|
+
private static isAggregateExplainWriteConcernError;
|
|
136
|
+
private static isBsonObjectTooLargeError;
|
|
137
|
+
private static isValidDuration;
|
|
138
|
+
private static buildFindCursor;
|
|
139
|
+
private static measureExecution;
|
|
140
|
+
private static normalizeExplainPayload;
|
|
141
|
+
private static sanitizeExplainPayload;
|
|
142
|
+
private static deepClone;
|
|
143
|
+
}
|
|
144
|
+
export {};
|