@resolveio/server-lib 22.3.219 → 22.3.221
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/.nodemon.json +5 -0
- package/.vscode/settings.json +21 -0
- package/AGENTS.md +195 -0
- package/README.md +22 -0
- package/build_package.sh +5 -0
- package/compileDTS.pl +64 -0
- package/docs/ai-assistant-nightly-eval.md +65 -0
- package/docs/ai-assistant-preflight-checklist.md +23 -0
- package/docs/ai-assistant-report-builder-bridge-playbook.md +115 -0
- package/eslint-plugin-custom/index.js +7 -0
- package/eslint-plugin-custom/rules/no-filter-zero-index.js +44 -0
- package/eslint.config.js +103 -0
- package/gulpfile.js +216 -0
- package/methodAndPublicationListGenerator.py +375 -0
- package/mongodbensurers.js +2 -0
- package/mongostop.js +3 -0
- package/package.json +1 -1
- package/scripts/cleanup-bypassed-callmethod-logs.js +616 -0
- package/settings.development.json +25 -0
- package/settings.development.redacted.json +25 -0
- package/src/.env +12 -0
- package/src/ai/assistant-core-heuristics.ts +379 -0
- package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +185 -0
- package/src/ai/resolveio-platform-intelligence-memory.ts +325 -0
- package/{ai/resolveio-platform-intelligence-types.d.ts → src/ai/resolveio-platform-intelligence-types.ts} +20 -15
- package/src/ai/resolveio-platform-intelligence.ts +462 -0
- package/src/client-server-app.ts +12 -0
- package/src/collections/ai-run.collection.ts +117 -0
- package/src/collections/ai-terminal-conversation.collection.ts +91 -0
- package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
- package/src/collections/ai-terminal-message.collection.ts +77 -0
- package/src/collections/app-setting.collection.ts +104 -0
- package/src/collections/app-status.collection.ts +58 -0
- package/src/collections/communication-metric.collection.ts +84 -0
- package/src/collections/counter.collection.ts +56 -0
- package/src/collections/cron-job-history.collection.ts +94 -0
- package/src/collections/cron-job.collection.ts +92 -0
- package/src/collections/customer-notification.collection.ts +131 -0
- package/src/collections/customer-portal-password.collection.ts +76 -0
- package/src/collections/email-history.collection.ts +134 -0
- package/src/collections/email-verified.collection.ts +62 -0
- package/src/collections/file.collection.ts +74 -0
- package/src/collections/flag-update.collection.ts +57 -0
- package/src/collections/flag.collection.ts +57 -0
- package/src/collections/log-method-latency.collection.ts +77 -0
- package/src/collections/log-subscription.collection.ts +80 -0
- package/src/collections/log.collection.ts +93 -0
- package/src/collections/logged-in-users.collection.ts +67 -0
- package/src/collections/monitor-cpu.collection.ts +65 -0
- package/src/collections/monitor-function.collection.ts +74 -0
- package/src/collections/monitor-memory.collection.ts +77 -0
- package/src/collections/monitor-mongo.collection.ts +71 -0
- package/src/collections/notification.collection.ts +57 -0
- package/src/collections/openai-usage-ledger.collection.ts +131 -0
- package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
- package/src/collections/report-builder-library.collection.ts +89 -0
- package/src/collections/report-builder-report.collection.ts +184 -0
- package/src/collections/user-group.collection.ts +89 -0
- package/src/collections/user-guide.collection.ts +57 -0
- package/src/collections/user.collection.ts +181 -0
- package/src/cron/cron.ts +117 -0
- package/src/fixtures/cron-jobs.ts +95 -0
- package/src/fixtures/init.ts +35 -0
- package/src/http/auth.ts +818 -0
- package/src/http/health.ts +7 -0
- package/src/http/home.ts +90 -0
- package/src/http/slow-query-publication.ts +49 -0
- package/src/index.ts +1 -0
- package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
- package/src/managers/ai-run-evidence.manager.ts +264 -0
- package/src/managers/communication-metric.manager.ts +82 -0
- package/src/managers/cron.manager.ts +333 -0
- package/src/managers/customer-notification-content.manager.ts +236 -0
- package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
- package/src/managers/error-auto-fix.manager.ts +2767 -0
- package/src/managers/local-log.manager.ts +113 -0
- package/src/managers/method.manager.ts +1857 -0
- package/src/managers/mongo.manager.ts +4575 -0
- package/src/managers/monitor.manager.ts +507 -0
- package/src/managers/openai-usage-ledger.manager.ts +112 -0
- package/src/managers/slow-query-verifier.manager.ts +3590 -0
- package/src/managers/slow-query.manager.ts +519 -0
- package/src/managers/subscription.manager.ts +3128 -0
- package/src/managers/websocket.manager.ts +746 -0
- package/src/managers/worker-dispatcher.manager.ts +1360 -0
- package/src/managers/worker-server.manager.ts +536 -0
- package/src/methods/accounts.ts +532 -0
- package/src/methods/ai-terminal.ts +29070 -0
- package/src/methods/app-settings.ts +114 -0
- package/src/methods/aws.ts +649 -0
- package/src/methods/collections.ts +641 -0
- package/src/methods/counters.ts +69 -0
- package/src/methods/cron-jobs.ts +2614 -0
- package/src/methods/customer-notifications.ts +458 -0
- package/src/methods/diagnostics.ts +616 -0
- package/src/methods/flag-updates.ts +7 -0
- package/src/methods/flags.ts +7 -0
- package/src/methods/logs.ts +657 -0
- package/src/methods/mongo-explorer.ts +1880 -0
- package/src/methods/monitor.ts +540 -0
- package/src/methods/pdf.ts +1236 -0
- package/src/methods/publications.ts +129 -0
- package/src/methods/report-builder.ts +3300 -0
- package/src/methods/support.ts +335 -0
- package/src/models/ai-run.model.ts +27 -0
- package/src/models/ai-terminal-conversation.model.ts +19 -0
- package/src/models/ai-terminal-issue-report.model.ts +21 -0
- package/src/models/ai-terminal-message.model.ts +24 -0
- package/src/models/app-setting.model.ts +17 -0
- package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
- package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
- package/src/models/collection-document.model.ts +24 -0
- package/src/models/communication-metric.model.ts +23 -0
- package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
- package/src/models/cron-job-history.model.ts +16 -0
- package/src/models/cron-job.model.ts +15 -0
- package/src/models/customer-notification.model.ts +28 -0
- package/src/models/customer-portal-password.model.ts +12 -0
- package/src/models/dialog.model.ts +25 -0
- package/{models/email-history.model.js → src/models/email-history.model.ts} +36 -4
- package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
- package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
- package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
- package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
- package/src/models/log-method-latency.model.ts +11 -0
- package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
- package/src/models/log.model.ts +19 -0
- package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
- package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
- package/src/models/method.model.ts +25 -0
- package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
- package/src/models/monitor-function.model.ts +16 -0
- package/src/models/monitor-memory.model.ts +17 -0
- package/src/models/monitor-mongo.model.ts +15 -0
- package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
- package/src/models/openai-usage-ledger.model.ts +56 -0
- package/src/models/pagination.model.ts +35 -0
- package/src/models/permission.model.ts +14 -0
- package/src/models/report-builder-dashboard-builder.model.ts +29 -0
- package/src/models/report-builder-library.model.ts +20 -0
- package/src/models/report-builder-report.model.ts +136 -0
- package/src/models/report-builder.model.ts +68 -0
- package/src/models/select-data-label.model.ts +9 -0
- package/src/models/server-message.model.ts +31 -0
- package/src/models/slow-query-report.model.ts +23 -0
- package/src/models/subscription.model.ts +73 -0
- package/src/models/support-ticket.model.ts +104 -0
- package/src/models/user-group.model.ts +24 -0
- package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
- package/src/models/user.model.ts +96 -0
- package/src/private/images/ResolveIO.png +0 -0
- package/src/publications/ai-terminal.ts +73 -0
- package/src/publications/app-settings.ts +25 -0
- package/src/publications/app-status.ts +13 -0
- package/src/publications/cron-jobs.ts +40 -0
- package/src/publications/customer-notifications.ts +101 -0
- package/src/publications/files.ts +33 -0
- package/src/publications/flags-update.ts +19 -0
- package/src/publications/flags.ts +19 -0
- package/src/publications/logs.ts +163 -0
- package/src/publications/notifications.ts +13 -0
- package/src/publications/report-builder-dashboard-builders.ts +39 -0
- package/src/publications/report-builder-libraries.ts +41 -0
- package/src/publications/report-builder-reports.ts +47 -0
- package/src/publications/super-admin.ts +13 -0
- package/src/publications/user-groups.ts +12 -0
- package/src/publications/user-guides.ts +12 -0
- package/src/resolveio-server-app.ts +617 -0
- package/src/server-app.ts +3354 -0
- package/src/services/codex-client.ts +1231 -0
- package/src/services/openai-client.ts +265 -0
- package/src/types/error-report.ts +26 -0
- package/src/types/js-tiktoken.d.ts +11 -0
- package/src/types/slow-query-report.ts +28 -0
- package/src/util/ai-qa-policy.ts +925 -0
- package/src/util/ai-run-evidence-adapters.ts +8347 -0
- package/src/util/ai-run-evidence-dashboard.ts +323 -0
- package/src/util/ai-run-evidence-eval.ts +1057 -0
- package/src/util/ai-run-evidence.ts +1430 -0
- package/src/util/ai-runner-artifacts.ts +586 -0
- package/src/util/ai-runner-manager-autopilot.ts +961 -0
- package/src/util/ai-runner-manager-policy.ts +5011 -0
- package/src/util/ai-runner-qa-auth.ts +838 -0
- package/src/util/ai-runner-qa-tools.ts +3536 -0
- package/src/util/aicoder-runner-v6.ts +3121 -0
- package/src/util/common.ts +649 -0
- package/src/util/customer-portal-password.ts +183 -0
- package/src/util/error-reporter.ts +332 -0
- package/src/util/error-tracking.ts +79 -0
- package/src/util/openai-usage-cost.ts +114 -0
- package/src/util/report-builder-unwinds.ts +180 -0
- package/src/util/runner-process-janitor.ts +219 -0
- package/src/util/schema-report-builder.ts +448 -0
- package/src/util/slow-query-reporter.ts +216 -0
- package/src/util/subscription-dependency-context.ts +1096 -0
- package/src/util/support-runner-v5.ts +10040 -0
- package/src/util/tokenizer.ts +38 -0
- package/src/workers/codex-runner.worker.ts +142 -0
- package/start_server.sh +5 -0
- package/tests/ai-assistant-corpus-build.ts +484 -0
- package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
- package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
- package/tests/ai-assistant-eval-triage.ts +831 -0
- package/tests/ai-assistant-openai-e2e.ts +1061 -0
- package/tests/ai-assistant-openai-git-e2e.ts +155 -0
- package/tests/ai-assistant-preflight-matrix.ts +215 -0
- package/tests/ai-assistant-routing-eval.test.ts +585 -0
- package/tests/ai-assistant-snf-live-eval.ts +975 -0
- package/tests/ai-assistant-utils.test.ts +4834 -0
- package/tests/ai-manager-autopilot-snapshot.test.ts +193 -0
- package/tests/ai-manager-recovery-checkpoint.test.ts +1383 -0
- package/tests/ai-run-eval.test.ts +132 -0
- package/tests/ai-run-evidence.test.ts +3773 -0
- package/tests/ai-runner-contract.test.ts +515 -0
- package/tests/aicoder-runner-v6.test.ts +822 -0
- package/tests/error-reporter.test.ts +145 -0
- package/tests/method-publication-generator.test.ts +46 -0
- package/tests/report-builder-linking.test.ts +79 -0
- package/tests/resolveio-platform-intelligence.test.ts +352 -0
- package/tests/server-app-cron-owner.test.ts +127 -0
- package/tests/subscription-connect-race.test.ts +158 -0
- package/tests/subscription-dependency-context.test.ts +324 -0
- package/tests/subscription-manager-collection-tracking.test.ts +86 -0
- package/tests/subscription-manager-invalidation.test.ts +86 -0
- package/tests/support-runner-v5.test.ts +3201 -0
- package/tsconfig.json +34 -0
- package/ai/assistant-core-heuristics.d.ts +0 -11
- package/ai/assistant-core-heuristics.js +0 -356
- package/ai/assistant-core-heuristics.js.map +0 -1
- package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
- package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
- package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
- package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
- package/ai/resolveio-platform-intelligence-memory.js +0 -341
- package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
- package/ai/resolveio-platform-intelligence-types.js +0 -4
- package/ai/resolveio-platform-intelligence-types.js.map +0 -1
- package/ai/resolveio-platform-intelligence.d.ts +0 -6
- package/ai/resolveio-platform-intelligence.js +0 -463
- package/ai/resolveio-platform-intelligence.js.map +0 -1
- package/client-server-app.d.ts +0 -1
- package/client-server-app.js +0 -68
- package/client-server-app.js.map +0 -1
- package/collections/ai-run.collection.d.ts +0 -3
- package/collections/ai-run.collection.js +0 -170
- package/collections/ai-run.collection.js.map +0 -1
- package/collections/ai-terminal-conversation.collection.d.ts +0 -2
- package/collections/ai-terminal-conversation.collection.js +0 -140
- package/collections/ai-terminal-conversation.collection.js.map +0 -1
- package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
- package/collections/ai-terminal-issue-report.collection.js +0 -148
- package/collections/ai-terminal-issue-report.collection.js.map +0 -1
- package/collections/ai-terminal-message.collection.d.ts +0 -2
- package/collections/ai-terminal-message.collection.js +0 -121
- package/collections/ai-terminal-message.collection.js.map +0 -1
- package/collections/app-setting.collection.d.ts +0 -3
- package/collections/app-setting.collection.js +0 -103
- package/collections/app-setting.collection.js.map +0 -1
- package/collections/app-status.collection.d.ts +0 -3
- package/collections/app-status.collection.js +0 -57
- package/collections/app-status.collection.js.map +0 -1
- package/collections/communication-metric.collection.d.ts +0 -2
- package/collections/communication-metric.collection.js +0 -133
- package/collections/communication-metric.collection.js.map +0 -1
- package/collections/counter.collection.d.ts +0 -3
- package/collections/counter.collection.js +0 -56
- package/collections/counter.collection.js.map +0 -1
- package/collections/cron-job-history.collection.d.ts +0 -3
- package/collections/cron-job-history.collection.js +0 -137
- package/collections/cron-job-history.collection.js.map +0 -1
- package/collections/cron-job.collection.d.ts +0 -3
- package/collections/cron-job.collection.js +0 -92
- package/collections/cron-job.collection.js.map +0 -1
- package/collections/customer-notification.collection.d.ts +0 -3
- package/collections/customer-notification.collection.js +0 -130
- package/collections/customer-notification.collection.js.map +0 -1
- package/collections/customer-portal-password.collection.d.ts +0 -3
- package/collections/customer-portal-password.collection.js +0 -75
- package/collections/customer-portal-password.collection.js.map +0 -1
- package/collections/email-history.collection.d.ts +0 -3
- package/collections/email-history.collection.js +0 -134
- package/collections/email-history.collection.js.map +0 -1
- package/collections/email-verified.collection.d.ts +0 -3
- package/collections/email-verified.collection.js +0 -62
- package/collections/email-verified.collection.js.map +0 -1
- package/collections/file.collection.d.ts +0 -3
- package/collections/file.collection.js +0 -74
- package/collections/file.collection.js.map +0 -1
- package/collections/flag-update.collection.d.ts +0 -3
- package/collections/flag-update.collection.js +0 -57
- package/collections/flag-update.collection.js.map +0 -1
- package/collections/flag.collection.d.ts +0 -3
- package/collections/flag.collection.js +0 -57
- package/collections/flag.collection.js.map +0 -1
- package/collections/log-method-latency.collection.d.ts +0 -3
- package/collections/log-method-latency.collection.js +0 -77
- package/collections/log-method-latency.collection.js.map +0 -1
- package/collections/log-subscription.collection.d.ts +0 -3
- package/collections/log-subscription.collection.js +0 -80
- package/collections/log-subscription.collection.js.map +0 -1
- package/collections/log.collection.d.ts +0 -3
- package/collections/log.collection.js +0 -93
- package/collections/log.collection.js.map +0 -1
- package/collections/logged-in-users.collection.d.ts +0 -3
- package/collections/logged-in-users.collection.js +0 -67
- package/collections/logged-in-users.collection.js.map +0 -1
- package/collections/monitor-cpu.collection.d.ts +0 -3
- package/collections/monitor-cpu.collection.js +0 -65
- package/collections/monitor-cpu.collection.js.map +0 -1
- package/collections/monitor-function.collection.d.ts +0 -3
- package/collections/monitor-function.collection.js +0 -74
- package/collections/monitor-function.collection.js.map +0 -1
- package/collections/monitor-memory.collection.d.ts +0 -3
- package/collections/monitor-memory.collection.js +0 -77
- package/collections/monitor-memory.collection.js.map +0 -1
- package/collections/monitor-mongo.collection.d.ts +0 -3
- package/collections/monitor-mongo.collection.js +0 -71
- package/collections/monitor-mongo.collection.js.map +0 -1
- package/collections/notification.collection.d.ts +0 -3
- package/collections/notification.collection.js +0 -57
- package/collections/notification.collection.js.map +0 -1
- package/collections/openai-usage-ledger.collection.d.ts +0 -2
- package/collections/openai-usage-ledger.collection.js +0 -188
- package/collections/openai-usage-ledger.collection.js.map +0 -1
- package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
- package/collections/report-builder-dashboard-builder.collection.js +0 -109
- package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
- package/collections/report-builder-library.collection.d.ts +0 -3
- package/collections/report-builder-library.collection.js +0 -87
- package/collections/report-builder-library.collection.js.map +0 -1
- package/collections/report-builder-report.collection.d.ts +0 -4
- package/collections/report-builder-report.collection.js +0 -184
- package/collections/report-builder-report.collection.js.map +0 -1
- package/collections/user-group.collection.d.ts +0 -4
- package/collections/user-group.collection.js +0 -89
- package/collections/user-group.collection.js.map +0 -1
- package/collections/user-guide.collection.d.ts +0 -3
- package/collections/user-guide.collection.js +0 -57
- package/collections/user-guide.collection.js.map +0 -1
- package/collections/user.collection.d.ts +0 -4
- package/collections/user.collection.js +0 -180
- package/collections/user.collection.js.map +0 -1
- package/cron/cron.d.ts +0 -14
- package/cron/cron.js +0 -216
- package/cron/cron.js.map +0 -1
- package/fixtures/cron-jobs.d.ts +0 -1
- package/fixtures/cron-jobs.js +0 -150
- package/fixtures/cron-jobs.js.map +0 -1
- package/fixtures/init.d.ts +0 -1
- package/fixtures/init.js +0 -91
- package/fixtures/init.js.map +0 -1
- package/http/auth.d.ts +0 -2
- package/http/auth.js +0 -951
- package/http/auth.js.map +0 -1
- package/http/health.d.ts +0 -1
- package/http/health.js +0 -11
- package/http/health.js.map +0 -1
- package/http/home.d.ts +0 -1
- package/http/home.js +0 -134
- package/http/home.js.map +0 -1
- package/http/slow-query-publication.d.ts +0 -2
- package/http/slow-query-publication.js +0 -99
- package/http/slow-query-publication.js.map +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -19
- package/index.js.map +0 -1
- package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
- package/managers/ai-assistant-codex-manager.manager.js +0 -1113
- package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
- package/managers/ai-run-evidence.manager.d.ts +0 -36
- package/managers/ai-run-evidence.manager.js +0 -377
- package/managers/ai-run-evidence.manager.js.map +0 -1
- package/managers/communication-metric.manager.d.ts +0 -16
- package/managers/communication-metric.manager.js +0 -134
- package/managers/communication-metric.manager.js.map +0 -1
- package/managers/cron.manager.d.ts +0 -20
- package/managers/cron.manager.js +0 -534
- package/managers/cron.manager.js.map +0 -1
- package/managers/customer-notification-content.manager.d.ts +0 -55
- package/managers/customer-notification-content.manager.js +0 -158
- package/managers/customer-notification-content.manager.js.map +0 -1
- package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
- package/managers/diagnostic-manager-bootstrap.js +0 -260
- package/managers/diagnostic-manager-bootstrap.js.map +0 -1
- package/managers/error-auto-fix.manager.d.ts +0 -149
- package/managers/error-auto-fix.manager.js +0 -3064
- package/managers/error-auto-fix.manager.js.map +0 -1
- package/managers/local-log.manager.d.ts +0 -18
- package/managers/local-log.manager.js +0 -88
- package/managers/local-log.manager.js.map +0 -1
- package/managers/method.manager.d.ts +0 -84
- package/managers/method.manager.js +0 -1964
- package/managers/method.manager.js.map +0 -1
- package/managers/mongo.manager.d.ts +0 -224
- package/managers/mongo.manager.js +0 -5000
- package/managers/mongo.manager.js.map +0 -1
- package/managers/monitor.manager.d.ts +0 -70
- package/managers/monitor.manager.js +0 -550
- package/managers/monitor.manager.js.map +0 -1
- package/managers/openai-usage-ledger.manager.d.ts +0 -30
- package/managers/openai-usage-ledger.manager.js +0 -142
- package/managers/openai-usage-ledger.manager.js.map +0 -1
- package/managers/slow-query-verifier.manager.d.ts +0 -144
- package/managers/slow-query-verifier.manager.js +0 -3857
- package/managers/slow-query-verifier.manager.js.map +0 -1
- package/managers/slow-query.manager.d.ts +0 -28
- package/managers/slow-query.manager.js +0 -468
- package/managers/slow-query.manager.js.map +0 -1
- package/managers/subscription.manager.d.ts +0 -169
- package/managers/subscription.manager.js +0 -3434
- package/managers/subscription.manager.js.map +0 -1
- package/managers/websocket.manager.d.ts +0 -73
- package/managers/websocket.manager.js +0 -673
- package/managers/websocket.manager.js.map +0 -1
- package/managers/worker-dispatcher.manager.d.ts +0 -120
- package/managers/worker-dispatcher.manager.js +0 -1266
- package/managers/worker-dispatcher.manager.js.map +0 -1
- package/managers/worker-server.manager.d.ts +0 -35
- package/managers/worker-server.manager.js +0 -582
- package/managers/worker-server.manager.js.map +0 -1
- package/methods/accounts.d.ts +0 -2
- package/methods/accounts.js +0 -624
- package/methods/accounts.js.map +0 -1
- package/methods/ai-terminal.d.ts +0 -458
- package/methods/ai-terminal.js +0 -27991
- package/methods/ai-terminal.js.map +0 -1
- package/methods/app-settings.d.ts +0 -2
- package/methods/app-settings.js +0 -169
- package/methods/app-settings.js.map +0 -1
- package/methods/aws.d.ts +0 -2
- package/methods/aws.js +0 -877
- package/methods/aws.js.map +0 -1
- package/methods/collections.d.ts +0 -2
- package/methods/collections.js +0 -719
- package/methods/collections.js.map +0 -1
- package/methods/counters.d.ts +0 -2
- package/methods/counters.js +0 -113
- package/methods/counters.js.map +0 -1
- package/methods/cron-jobs.d.ts +0 -2
- package/methods/cron-jobs.js +0 -2475
- package/methods/cron-jobs.js.map +0 -1
- package/methods/customer-notifications.d.ts +0 -2
- package/methods/customer-notifications.js +0 -528
- package/methods/customer-notifications.js.map +0 -1
- package/methods/diagnostics.d.ts +0 -2
- package/methods/diagnostics.js +0 -703
- package/methods/diagnostics.js.map +0 -1
- package/methods/flag-updates.d.ts +0 -2
- package/methods/flag-updates.js +0 -8
- package/methods/flag-updates.js.map +0 -1
- package/methods/flags.d.ts +0 -2
- package/methods/flags.js +0 -8
- package/methods/flags.js.map +0 -1
- package/methods/logs.d.ts +0 -2
- package/methods/logs.js +0 -751
- package/methods/logs.js.map +0 -1
- package/methods/mongo-explorer.d.ts +0 -2
- package/methods/mongo-explorer.js +0 -1808
- package/methods/mongo-explorer.js.map +0 -1
- package/methods/monitor.d.ts +0 -2
- package/methods/monitor.js +0 -543
- package/methods/monitor.js.map +0 -1
- package/methods/pdf.d.ts +0 -2
- package/methods/pdf.js +0 -1216
- package/methods/pdf.js.map +0 -1
- package/methods/publications.d.ts +0 -1
- package/methods/publications.js +0 -183
- package/methods/publications.js.map +0 -1
- package/methods/report-builder.d.ts +0 -2
- package/methods/report-builder.js +0 -3094
- package/methods/report-builder.js.map +0 -1
- package/methods/support.d.ts +0 -2
- package/methods/support.js +0 -430
- package/methods/support.js.map +0 -1
- package/models/ai-run.model.d.ts +0 -19
- package/models/ai-run.model.js +0 -4
- package/models/ai-run.model.js.map +0 -1
- package/models/ai-terminal-conversation.model.d.ts +0 -17
- package/models/ai-terminal-conversation.model.js +0 -4
- package/models/ai-terminal-conversation.model.js.map +0 -1
- package/models/ai-terminal-issue-report.model.d.ts +0 -19
- package/models/ai-terminal-issue-report.model.js +0 -4
- package/models/ai-terminal-issue-report.model.js.map +0 -1
- package/models/ai-terminal-message.model.d.ts +0 -22
- package/models/ai-terminal-message.model.js +0 -4
- package/models/ai-terminal-message.model.js.map +0 -1
- package/models/app-setting.model.d.ts +0 -16
- package/models/app-setting.model.js +0 -4
- package/models/app-setting.model.js.map +0 -1
- package/models/app-status.model.js +0 -4
- package/models/app-status.model.js.map +0 -1
- package/models/billing-logged-in-users.model.js +0 -4
- package/models/billing-logged-in-users.model.js.map +0 -1
- package/models/collection-document.model.d.ts +0 -21
- package/models/collection-document.model.js +0 -4
- package/models/collection-document.model.js.map +0 -1
- package/models/communication-metric.model.d.ts +0 -20
- package/models/communication-metric.model.js +0 -4
- package/models/communication-metric.model.js.map +0 -1
- package/models/counter.model.js +0 -4
- package/models/counter.model.js.map +0 -1
- package/models/cron-job-history.model.d.ts +0 -15
- package/models/cron-job-history.model.js +0 -4
- package/models/cron-job-history.model.js.map +0 -1
- package/models/cron-job.model.d.ts +0 -14
- package/models/cron-job.model.js +0 -4
- package/models/cron-job.model.js.map +0 -1
- package/models/customer-notification.model.d.ts +0 -26
- package/models/customer-notification.model.js +0 -4
- package/models/customer-notification.model.js.map +0 -1
- package/models/customer-portal-password.model.d.ts +0 -11
- package/models/customer-portal-password.model.js +0 -4
- package/models/customer-portal-password.model.js.map +0 -1
- package/models/dialog.model.d.ts +0 -23
- package/models/dialog.model.js +0 -4
- package/models/dialog.model.js.map +0 -1
- package/models/email-history.model.d.ts +0 -32
- package/models/email-history.model.js.map +0 -1
- package/models/email-verified.model.js +0 -4
- package/models/email-verified.model.js.map +0 -1
- package/models/file.model.js +0 -4
- package/models/file.model.js.map +0 -1
- package/models/flag-update.model.js +0 -4
- package/models/flag-update.model.js.map +0 -1
- package/models/flag.model.js +0 -4
- package/models/flag.model.js.map +0 -1
- package/models/log-method-latency.model.d.ts +0 -10
- package/models/log-method-latency.model.js +0 -4
- package/models/log-method-latency.model.js.map +0 -1
- package/models/log-subscription.model.js +0 -4
- package/models/log-subscription.model.js.map +0 -1
- package/models/log.model.d.ts +0 -17
- package/models/log.model.js +0 -4
- package/models/log.model.js.map +0 -1
- package/models/logged-in-users.model.js +0 -4
- package/models/logged-in-users.model.js.map +0 -1
- package/models/method-response.model.js +0 -4
- package/models/method-response.model.js.map +0 -1
- package/models/method.model.d.ts +0 -26
- package/models/method.model.js +0 -4
- package/models/method.model.js.map +0 -1
- package/models/monitor-cpu.model.js +0 -4
- package/models/monitor-cpu.model.js.map +0 -1
- package/models/monitor-function.model.d.ts +0 -14
- package/models/monitor-function.model.js +0 -4
- package/models/monitor-function.model.js.map +0 -1
- package/models/monitor-memory.model.d.ts +0 -15
- package/models/monitor-memory.model.js +0 -4
- package/models/monitor-memory.model.js.map +0 -1
- package/models/monitor-mongo.model.d.ts +0 -13
- package/models/monitor-mongo.model.js +0 -4
- package/models/monitor-mongo.model.js.map +0 -1
- package/models/notification.model.js +0 -4
- package/models/notification.model.js.map +0 -1
- package/models/openai-usage-ledger.model.d.ts +0 -30
- package/models/openai-usage-ledger.model.js +0 -4
- package/models/openai-usage-ledger.model.js.map +0 -1
- package/models/pagination.model.d.ts +0 -11
- package/models/pagination.model.js +0 -28
- package/models/pagination.model.js.map +0 -1
- package/models/permission.model.d.ts +0 -12
- package/models/permission.model.js +0 -4
- package/models/permission.model.js.map +0 -1
- package/models/report-builder-dashboard-builder.model.d.ts +0 -25
- package/models/report-builder-dashboard-builder.model.js +0 -4
- package/models/report-builder-dashboard-builder.model.js.map +0 -1
- package/models/report-builder-library.model.d.ts +0 -17
- package/models/report-builder-library.model.js +0 -4
- package/models/report-builder-library.model.js.map +0 -1
- package/models/report-builder-report.model.d.ts +0 -121
- package/models/report-builder-report.model.js +0 -4
- package/models/report-builder-report.model.js.map +0 -1
- package/models/report-builder.model.d.ts +0 -61
- package/models/report-builder.model.js +0 -4
- package/models/report-builder.model.js.map +0 -1
- package/models/select-data-label.model.d.ts +0 -9
- package/models/select-data-label.model.js +0 -4
- package/models/select-data-label.model.js.map +0 -1
- package/models/server-message.model.d.ts +0 -32
- package/models/server-message.model.js +0 -4
- package/models/server-message.model.js.map +0 -1
- package/models/slow-query-report.model.d.ts +0 -23
- package/models/slow-query-report.model.js +0 -4
- package/models/slow-query-report.model.js.map +0 -1
- package/models/subscription.model.d.ts +0 -31
- package/models/subscription.model.js +0 -4
- package/models/subscription.model.js.map +0 -1
- package/models/support-ticket.model.d.ts +0 -87
- package/models/support-ticket.model.js +0 -4
- package/models/support-ticket.model.js.map +0 -1
- package/models/user-group.model.d.ts +0 -20
- package/models/user-group.model.js +0 -4
- package/models/user-group.model.js.map +0 -1
- package/models/user-guide.model.js +0 -4
- package/models/user-guide.model.js.map +0 -1
- package/models/user.model.d.ts +0 -84
- package/models/user.model.js +0 -4
- package/models/user.model.js.map +0 -1
- package/private/images/ResolveIO.png +0 -0
- package/public_api.js +0 -127
- package/public_api.js.map +0 -1
- package/publications/ai-terminal.d.ts +0 -1
- package/publications/ai-terminal.js +0 -122
- package/publications/ai-terminal.js.map +0 -1
- package/publications/app-settings.d.ts +0 -2
- package/publications/app-settings.js +0 -28
- package/publications/app-settings.js.map +0 -1
- package/publications/app-status.d.ts +0 -2
- package/publications/app-status.js +0 -16
- package/publications/app-status.js.map +0 -1
- package/publications/cron-jobs.d.ts +0 -2
- package/publications/cron-jobs.js +0 -88
- package/publications/cron-jobs.js.map +0 -1
- package/publications/customer-notifications.d.ts +0 -2
- package/publications/customer-notifications.js +0 -161
- package/publications/customer-notifications.js.map +0 -1
- package/publications/files.d.ts +0 -2
- package/publications/files.js +0 -36
- package/publications/files.js.map +0 -1
- package/publications/flags-update.d.ts +0 -2
- package/publications/flags-update.js +0 -22
- package/publications/flags-update.js.map +0 -1
- package/publications/flags.d.ts +0 -2
- package/publications/flags.js +0 -22
- package/publications/flags.js.map +0 -1
- package/publications/logs.d.ts +0 -2
- package/publications/logs.js +0 -164
- package/publications/logs.js.map +0 -1
- package/publications/notifications.d.ts +0 -2
- package/publications/notifications.js +0 -16
- package/publications/notifications.js.map +0 -1
- package/publications/report-builder-dashboard-builders.d.ts +0 -2
- package/publications/report-builder-dashboard-builders.js +0 -42
- package/publications/report-builder-dashboard-builders.js.map +0 -1
- package/publications/report-builder-libraries.d.ts +0 -2
- package/publications/report-builder-libraries.js +0 -90
- package/publications/report-builder-libraries.js.map +0 -1
- package/publications/report-builder-reports.d.ts +0 -2
- package/publications/report-builder-reports.js +0 -50
- package/publications/report-builder-reports.js.map +0 -1
- package/publications/super-admin.d.ts +0 -2
- package/publications/super-admin.js +0 -16
- package/publications/super-admin.js.map +0 -1
- package/publications/user-groups.d.ts +0 -1
- package/publications/user-groups.js +0 -16
- package/publications/user-groups.js.map +0 -1
- package/publications/user-guides.d.ts +0 -1
- package/publications/user-guides.js +0 -16
- package/publications/user-guides.js.map +0 -1
- package/resolveio-server-app.d.ts +0 -70
- package/resolveio-server-app.js +0 -801
- package/resolveio-server-app.js.map +0 -1
- package/server-app.d.ts +0 -228
- package/server-app.js +0 -3566
- package/server-app.js.map +0 -1
- package/services/codex-client.d.ts +0 -128
- package/services/codex-client.js +0 -1629
- package/services/codex-client.js.map +0 -1
- package/services/openai-client.d.ts +0 -46
- package/services/openai-client.js +0 -318
- package/services/openai-client.js.map +0 -1
- package/types/error-report.d.ts +0 -25
- package/types/error-report.js +0 -4
- package/types/error-report.js.map +0 -1
- package/types/slow-query-report.d.ts +0 -27
- package/types/slow-query-report.js +0 -6
- package/types/slow-query-report.js.map +0 -1
- package/util/ai-qa-policy.d.ts +0 -124
- package/util/ai-qa-policy.js +0 -736
- package/util/ai-qa-policy.js.map +0 -1
- package/util/ai-run-evidence-adapters.d.ts +0 -109
- package/util/ai-run-evidence-adapters.js +0 -7234
- package/util/ai-run-evidence-adapters.js.map +0 -1
- package/util/ai-run-evidence-dashboard.d.ts +0 -88
- package/util/ai-run-evidence-dashboard.js +0 -343
- package/util/ai-run-evidence-dashboard.js.map +0 -1
- package/util/ai-run-evidence-eval.d.ts +0 -86
- package/util/ai-run-evidence-eval.js +0 -1018
- package/util/ai-run-evidence-eval.js.map +0 -1
- package/util/ai-run-evidence.d.ts +0 -244
- package/util/ai-run-evidence.js +0 -1096
- package/util/ai-run-evidence.js.map +0 -1
- package/util/ai-runner-artifacts.d.ts +0 -82
- package/util/ai-runner-artifacts.js +0 -713
- package/util/ai-runner-artifacts.js.map +0 -1
- package/util/ai-runner-manager-autopilot.d.ts +0 -210
- package/util/ai-runner-manager-autopilot.js +0 -642
- package/util/ai-runner-manager-autopilot.js.map +0 -1
- package/util/ai-runner-manager-policy.d.ts +0 -807
- package/util/ai-runner-manager-policy.js +0 -3501
- package/util/ai-runner-manager-policy.js.map +0 -1
- package/util/ai-runner-qa-auth.d.ts +0 -5
- package/util/ai-runner-qa-auth.js +0 -839
- package/util/ai-runner-qa-auth.js.map +0 -1
- package/util/ai-runner-qa-tools.d.ts +0 -26
- package/util/ai-runner-qa-tools.js +0 -3520
- package/util/ai-runner-qa-tools.js.map +0 -1
- package/util/aicoder-runner-v6.d.ts +0 -426
- package/util/aicoder-runner-v6.js +0 -2464
- package/util/aicoder-runner-v6.js.map +0 -1
- package/util/common.d.ts +0 -31
- package/util/common.js +0 -683
- package/util/common.js.map +0 -1
- package/util/customer-portal-password.d.ts +0 -13
- package/util/customer-portal-password.js +0 -209
- package/util/customer-portal-password.js.map +0 -1
- package/util/error-reporter.d.ts +0 -52
- package/util/error-reporter.js +0 -326
- package/util/error-reporter.js.map +0 -1
- package/util/error-tracking.d.ts +0 -13
- package/util/error-tracking.js +0 -120
- package/util/error-tracking.js.map +0 -1
- package/util/openai-usage-cost.d.ts +0 -6
- package/util/openai-usage-cost.js +0 -103
- package/util/openai-usage-cost.js.map +0 -1
- package/util/report-builder-unwinds.d.ts +0 -15
- package/util/report-builder-unwinds.js +0 -156
- package/util/report-builder-unwinds.js.map +0 -1
- package/util/runner-process-janitor.d.ts +0 -27
- package/util/runner-process-janitor.js +0 -208
- package/util/runner-process-janitor.js.map +0 -1
- package/util/schema-report-builder.d.ts +0 -6
- package/util/schema-report-builder.js +0 -481
- package/util/schema-report-builder.js.map +0 -1
- package/util/slow-query-reporter.d.ts +0 -28
- package/util/slow-query-reporter.js +0 -226
- package/util/slow-query-reporter.js.map +0 -1
- package/util/subscription-dependency-context.d.ts +0 -34
- package/util/subscription-dependency-context.js +0 -1283
- package/util/subscription-dependency-context.js.map +0 -1
- package/util/support-runner-v5.d.ts +0 -1426
- package/util/support-runner-v5.js +0 -7624
- package/util/support-runner-v5.js.map +0 -1
- package/util/tokenizer.d.ts +0 -5
- package/util/tokenizer.js +0 -41
- package/util/tokenizer.js.map +0 -1
- package/workers/codex-runner.worker.d.ts +0 -1
- package/workers/codex-runner.worker.js +0 -192
- package/workers/codex-runner.worker.js.map +0 -1
- /package/{private → src/private}/email-templates/enrollment.html +0 -0
- /package/{private → src/private}/email-templates/forgot-password.html +0 -0
- /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
- /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
- /package/{private → src/private}/email-templates/support-ticket.html +0 -0
- /package/{public_api.d.ts → src/public_api.ts} +0 -0
package/methods/pdf.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/pdf.ts"],"names":[],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as os from 'os';\nimport * as path from 'path';\nimport axios from 'axios';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { objectIdHexString } from '../util/common';\n\nconst PUPPETEER_ARGS = [\n\t'--disable-dev-shm-usage',\n\t'--no-sandbox',\n\t'--disable-setuid-sandbox',\n\t'--disable-accelerated-2d-canvas',\n\t'--disable-gpu',\n\t'--allow-file-access-from-files',\n\t'--enable-local-file-accesses',\n\t'--font-render-hinting=none',\n\t'--disable-breakpad',\n\t'--no-zygote'\n];\n\nconst LOW_RESOURCE_PUPPETEER_ARGS = [\n\t'--single-process',\n\t'--renderer-process-limit=1',\n\t'--disable-extensions',\n\t'--disable-features=AudioServiceOutOfProcess'\n];\n\nlet cachedExecutablePath: string = null;\nlet cachedTmpExecutablePath: string = null;\n\nfunction getBrowserConnectUrl() {\n\tlet browserUrl = process.env.PUPPETEER_BROWSER_URL || process.env.PDF_PUPPETEER_BROWSER_URL || process.env.BROWSER_WS_URL;\n\n\tif (!browserUrl || typeof browserUrl !== 'string') {\n\t\treturn null;\n\t}\n\n\treturn browserUrl.trim() || null;\n}\n\nfunction envMs(name: string, fallback: number) {\n\tlet raw = process.env[name];\n\tif (!raw) {\n\t\treturn fallback;\n\t}\n\n\tlet parsed = parseInt(raw, 10);\n\tif (!Number.isFinite(parsed) || parsed <= 0) {\n\t\treturn fallback;\n\t}\n\n\treturn parsed;\n}\n\nconst PDF_LAUNCH_TIMEOUT_MS = envMs('PDF_LAUNCH_TIMEOUT_MS', 60000);\nconst PDF_CONTENT_TIMEOUT_MS = envMs('PDF_CONTENT_TIMEOUT_MS', 60000);\nconst PDF_FONTS_TIMEOUT_MS = envMs('PDF_FONTS_TIMEOUT_MS', 30000);\nconst PDF_IMAGES_TIMEOUT_MS = envMs('PDF_IMAGES_TIMEOUT_MS', 15000);\nconst PDF_RENDER_TIMEOUT_MS = envMs('PDF_RENDER_TIMEOUT_MS', 120000);\nconst PDF_PROTOCOL_TIMEOUT_MS = envMs('PDF_PROTOCOL_TIMEOUT_MS', 120000);\nconst PDF_OVERALL_TIMEOUT_MS = envMs('PDF_OVERALL_TIMEOUT_MS', 240000);\n\nclass PdfTimeoutError extends Error {\n\tstep: string;\n\ttimeoutMs: number;\n\n\tconstructor(step: string, timeoutMs: number) {\n\t\tsuper(`PDF step timed out after ${timeoutMs}ms: ${step}`);\n\t\tthis.name = 'PdfTimeoutError';\n\t\tthis.step = step;\n\t\tthis.timeoutMs = timeoutMs;\n\t}\n}\n\nfunction withTimeout<T>(promise: Promise<T>, timeoutMs: number, step: string): Promise<T> {\n\tif (!timeoutMs || timeoutMs <= 0) {\n\t\treturn promise;\n\t}\n\n\tlet timeoutHandle: NodeJS.Timeout = null;\n\n\t// eslint-disable-next-line no-restricted-syntax\n\treturn new Promise<T>((resolve, reject) => {\n\t\ttimeoutHandle = setTimeout(() => {\n\t\t\treject(new PdfTimeoutError(step, timeoutMs));\n\t\t}, timeoutMs);\n\n\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\tpromise.then(resolve, reject).finally(() => {\n\t\t\tif (timeoutHandle) {\n\t\t\t\tclearTimeout(timeoutHandle);\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction getEnvExecutablePath() {\n\tlet envExecutablePath = process.env.PUPPETEER_EXECUTABLE_PATH || process.env.CHROME_EXECUTABLE_PATH || process.env.CHROME_PATH;\n\n\tif (envExecutablePath && fs.existsSync(envExecutablePath)) {\n\t\treturn envExecutablePath;\n\t}\n\n\treturn null;\n}\n\nfunction shouldRetryBrowserLaunch(err: any) {\n\tif (!err) {\n\t\treturn false;\n\t}\n\n\tlet message = err.message || '';\n\tlet stderr = err.stderr ? err.stderr.toString() : '';\n\n\treturn message.includes('chrome_crashpad_handler') || message.includes('Operation not permitted') || message.includes('Resource temporarily unavailable') || stderr.includes('pthread_create') || stderr.includes('Resource temporarily unavailable') || stderr.includes('Failed to connect to the bus');\n}\n\nfunction prepareExecutableFallback(executablePath?: string) {\n\ttry {\n\t\tlet currentExecutablePath = executablePath || cachedExecutablePath || puppeteer.executablePath();\n\n\t\tif (!currentExecutablePath) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Avoid copying if we're already running from a tmp dir.\n\t\tif (currentExecutablePath.startsWith(os.tmpdir())) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Retry from a tmp location when the packaged Chromium cannot be executed (e.g. noexec home dirs).\n\t\tlet chromiumDir = path.dirname(currentExecutablePath);\n\t\tlet tmpRoot = path.join(os.tmpdir(), 'puppeteer-chromium');\n\t\tlet tmpChromiumDir = path.join(tmpRoot, path.basename(chromiumDir));\n\t\tlet tmpExecutablePath = path.join(tmpChromiumDir, path.basename(currentExecutablePath));\n\n\t\tif (!fs.existsSync(tmpExecutablePath)) {\n\t\t\tfs.mkdirSync(tmpChromiumDir, { recursive: true });\n\t\t\tfs.cpSync(chromiumDir, tmpChromiumDir, { recursive: true, force: true });\n\t\t}\n\n\t\tcachedTmpExecutablePath = tmpExecutablePath;\n\t\treturn tmpExecutablePath;\n\t}\n\tcatch (errCopy) {\n\t\tconsole.error(new Date(), 'Failed to prepare Chromium fallback', errCopy);\n\t\treturn null;\n\t}\n}\n\nfunction sanitizeLaunchEnv(env?: NodeJS.ProcessEnv) {\n\tlet launchEnv: NodeJS.ProcessEnv = { ...process.env, ...env };\n\n\tif (launchEnv.DBUS_SESSION_BUS_ADDRESS && !launchEnv.DBUS_SESSION_BUS_ADDRESS.startsWith('unix:') && !launchEnv.DBUS_SESSION_BUS_ADDRESS.startsWith('tcp:')) {\n\t\tdelete launchEnv.DBUS_SESSION_BUS_ADDRESS;\n\t}\n\n\treturn launchEnv;\n}\n\nfunction applyLowResourceLaunchTweaks(options: puppeteer.LaunchOptions): puppeteer.LaunchOptions {\n\tlet mergedArgs = [...(options.args || [])];\n\n\tLOW_RESOURCE_PUPPETEER_ARGS.forEach((arg) => {\n\t\tif (!mergedArgs.includes(arg)) {\n\t\t\tmergedArgs.push(arg);\n\t\t}\n\t});\n\n\treturn {\n\t\t...options,\n\t\targs: mergedArgs,\n\t\tignoreDefaultArgs: undefined,\n\t\tenv: sanitizeLaunchEnv(options.env)\n\t};\n}\n\nasync function safeCloseBrowser(browser: puppeteer.Browser) {\n\tif (!browser) {\n\t\treturn;\n\t}\n\n\tlet proc: any = null;\n\tlet isConnectedBrowser = false;\n\n\ttry {\n\t\tproc = typeof browser.process === 'function' ? browser.process() : null;\n\t\tisConnectedBrowser = !proc && browser.connected;\n\t}\n\tcatch {\n\t\tproc = null;\n\t\tisConnectedBrowser = false;\n\t}\n\n\ttry {\n\t\tif (isConnectedBrowser) {\n\t\t\tawait Promise.resolve(browser.disconnect());\n\t\t}\n\t\telse {\n\t\t\tawait withTimeout(browser.close(), 5000, 'browser.close');\n\t\t}\n\t}\n\tcatch (errClose) {\n\t\tconsole.error(new Date(), 'Puppeteer close failed, forcing kill', errClose && errClose.message ? errClose.message : errClose);\n\t}\n\tfinally {\n\t\tlet needsKill = proc && proc.exitCode === null && proc.signalCode === null;\n\n\t\tif (needsKill) {\n\t\t\ttry {\n\t\t\t\tproc.kill('SIGKILL');\n\t\t\t}\n\t\t\tcatch (errKill: any) {\n\t\t\t\tif (!errKill || errKill.code !== 'ESRCH') {\n\t\t\t\t\tconsole.error(new Date(), 'Failed to kill Puppeteer process', errKill);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nasync function launchPDFBrowser(headless: boolean, devtools: boolean) {\n\tlet browserUrl = getBrowserConnectUrl();\n\n\tif (browserUrl) {\n\t\treturn await puppeteer.connect({\n\t\t\tbrowserURL: browserUrl,\n\t\t\tprotocolTimeout: PDF_PROTOCOL_TIMEOUT_MS,\n\t\t\tdefaultViewport: null\n\t\t});\n\t}\n\n\tlet envExecutablePath = getEnvExecutablePath();\n\n\tif (!cachedExecutablePath) {\n\t\tcachedExecutablePath = envExecutablePath || puppeteer.executablePath();\n\t}\n\n\tlet launchOptions: puppeteer.LaunchOptions = {\n\t\theadless,\n\t\tdevtools,\n\t\targs: [...PUPPETEER_ARGS],\n\t\tignoreDefaultArgs: ['--disable-extensions'],\n\t\tenv: sanitizeLaunchEnv(),\n\t\ttimeout: PDF_LAUNCH_TIMEOUT_MS,\n\t\tprotocolTimeout: PDF_PROTOCOL_TIMEOUT_MS\n\t};\n\n\tif (cachedExecutablePath) {\n\t\tlaunchOptions.executablePath = cachedExecutablePath;\n\t}\n\n\ttry {\n\t\treturn await puppeteer.launch(launchOptions);\n\t}\n\tcatch (errLaunch) {\n\t\tif (!shouldRetryBrowserLaunch(errLaunch)) {\n\t\t\tthrow errLaunch;\n\t\t}\n\n\t\tlet fallbackExecutablePath = cachedTmpExecutablePath || prepareExecutableFallback(launchOptions.executablePath);\n\n\t\tlet retryOptions: puppeteer.LaunchOptions = applyLowResourceLaunchTweaks({\n\t\t\t...launchOptions,\n\t\t\texecutablePath: fallbackExecutablePath || launchOptions.executablePath\n\t\t});\n\n\t\tif (fallbackExecutablePath) {\n\t\t\tcachedExecutablePath = fallbackExecutablePath;\n\t\t}\n\n\t\tconsole.warn(new Date(), 'Retrying Puppeteer launch with low-resource args');\n\n\t\treturn await puppeteer.launch(retryOptions);\n\t}\n}\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\n\t\t\t\t\tlet enableDebug = !!(enableDebugFlag && enableDebugFlag.value);\n\n\t\t\t\t\tconst maxAttempts = 2;\n\t\t\t\t\tlet lastError: any = null;\n\n\t\t\t\t\tfor (let attempt = 1; attempt <= maxAttempts; attempt++) {\n\t\t\t\t\t\tlet browser: puppeteer.Browser = null;\n\t\t\t\t\t\tlet page: puppeteer.Page = null;\n\t\t\t\t\t\tlet overallTimedOut = false;\n\t\t\t\t\t\tlet overallTimeoutHandle: NodeJS.Timeout = null;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbrowser = await withTimeout(launchPDFBrowser(!enableDebug, enableDebug), PDF_LAUNCH_TIMEOUT_MS, 'launchPDFBrowser');\n\n\t\t\t\t\t\t\toverallTimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\t\t\toverallTimedOut = true;\n\t\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDF overall timeout hit', { fileName, attempt });\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\t\t\t\t\t\t\tsafeCloseBrowser(browser).catch(() => {});\n\t\t\t\t\t\t\t}, PDF_OVERALL_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tpage = await browser.newPage(); // create new tab\n\t\t\t\t\t\t\tpage.setDefaultTimeout(PDF_CONTENT_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\t\t\tlet content = `\n\t\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t\t<body>\n\t\t\t\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\t\t\t\tawait withTimeout(page.setContent(content, { waitUntil: ['domcontentloaded'], timeout: PDF_CONTENT_TIMEOUT_MS }), PDF_CONTENT_TIMEOUT_MS, 'page.setContent');\n\t\t\t\t\t\t\tawait withTimeout(page.evaluateHandle('document.fonts.ready'), PDF_FONTS_TIMEOUT_MS, 'document.fonts.ready');\n\n\t\t\t\t\t\t\tif (PDF_IMAGES_TIMEOUT_MS > 0) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait withTimeout(\n\t\t\t\t\t\t\t\t\t\tpage.waitForFunction(() => Array.from(document.images).every((img: any) => img.complete), { timeout: 0 }),\n\t\t\t\t\t\t\t\t\t\tPDF_IMAGES_TIMEOUT_MS,\n\t\t\t\t\t\t\t\t\t\t'waitForImages'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errImages) {\n\t\t\t\t\t\t\t\t\tif (errImages instanceof PdfTimeoutError) {\n\t\t\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'generatePDF timed out waiting for images', { fileName, attempt });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tthrow errImages;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tawait withTimeout(page.pdf({\n\t\t\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\t\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\t\t\ttimeout: PDF_RENDER_TIMEOUT_MS\n\t\t\t\t\t\t\t}), PDF_RENDER_TIMEOUT_MS, 'page.pdf');\n\n\t\t\t\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\tlastError = err;\n\n\t\t\t\t\t\t\tif (browser) {\n\t\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (attempt < maxAttempts) {\n\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'Retry generatePDF after error', {\n\t\t\t\t\t\t\t\t\tattempt,\n\t\t\t\t\t\t\t\t\tmessage: err && err.message ? err.message : err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDF failed', { fileName, attempt, message: err && err.message ? err.message : err });\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tif (overallTimeoutHandle) {\n\t\t\t\t\t\t\t\tclearTimeout(overallTimeoutHandle);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (page) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tawait page.close().catch(() => {});\n\t\t\t\t\t\t\t\tpage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\tbrowser = null;\n\n\t\t\t\t\t\t\tif (overallTimedOut) {\n\t\t\t\t\t\t\t\tthrow new PdfTimeoutError('generatePDF overall', PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow lastError;\n\t\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst maxAttempts = 2;\n\t\t\t\t\tlet lastError: any = null;\n\n\t\t\t\t\tfor (let attempt = 1; attempt <= maxAttempts; attempt++) {\n\t\t\t\t\t\tlet browser: puppeteer.Browser = null;\n\t\t\t\t\t\tlet page: puppeteer.Page = null;\n\t\t\t\t\t\tlet overallTimedOut = false;\n\t\t\t\t\t\tlet overallTimeoutHandle: NodeJS.Timeout = null;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbrowser = await withTimeout(launchPDFBrowser(true, false), PDF_LAUNCH_TIMEOUT_MS, 'launchPDFBrowser');\n\n\t\t\t\t\t\t\toverallTimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\t\t\toverallTimedOut = true;\n\t\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDFNoPageNumber overall timeout hit', { fileName, attempt });\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\t\t\t\t\t\t\tsafeCloseBrowser(browser).catch(() => {});\n\t\t\t\t\t\t\t}, PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tpage = await browser.newPage(); // create new tab\n\t\t\t\t\t\t\tpage.setDefaultTimeout(PDF_CONTENT_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\t\t\tlet content = `\n\t\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t<body>\n\t\t\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + `</body>`;\n\n\t\t\t\t\t\t\tawait withTimeout(page.setContent(content, { waitUntil: ['domcontentloaded'], timeout: PDF_CONTENT_TIMEOUT_MS }), PDF_CONTENT_TIMEOUT_MS, 'page.setContent');\n\t\t\t\t\t\t\tawait withTimeout(page.evaluateHandle('document.fonts.ready'), PDF_FONTS_TIMEOUT_MS, 'document.fonts.ready');\n\n\t\t\t\t\t\t\tif (PDF_IMAGES_TIMEOUT_MS > 0) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait withTimeout(\n\t\t\t\t\t\t\t\t\t\tpage.waitForFunction(() => Array.from(document.images).every((img: any) => img.complete), { timeout: 0 }),\n\t\t\t\t\t\t\t\t\t\tPDF_IMAGES_TIMEOUT_MS,\n\t\t\t\t\t\t\t\t\t\t'waitForImages'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errImages) {\n\t\t\t\t\t\t\t\t\tif (errImages instanceof PdfTimeoutError) {\n\t\t\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'generatePDFNoPageNumber timed out waiting for images', { fileName, attempt });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tthrow errImages;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf'; \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tawait withTimeout(page.pdf({\n\t\t\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\t\t\ttimeout: PDF_RENDER_TIMEOUT_MS\n\t\t\t\t\t\t\t}), PDF_RENDER_TIMEOUT_MS, 'page.pdf');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\tlastError = err;\n\n\t\t\t\t\t\t\tif (browser) {\n\t\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (attempt < maxAttempts) {\n\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'Retry generatePDFNoPageNumber after error', {\n\t\t\t\t\t\t\t\t\tattempt,\n\t\t\t\t\t\t\t\t\tmessage: err && err.message ? err.message : err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDFNoPageNumber failed', { fileName, attempt, message: err && err.message ? err.message : err });\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tif (overallTimeoutHandle) {\n\t\t\t\t\t\t\t\tclearTimeout(overallTimeoutHandle);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (page) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tawait page.close().catch(() => {});\n\t\t\t\t\t\t\t\tpage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\tbrowser = null;\n\n\t\t\t\t\t\t\tif (overallTimedOut) {\n\t\t\t\t\t\t\t\tthrow new PdfTimeoutError('generatePDFNoPageNumber overall', PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow lastError;\n\t\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\tlet resSigneds = null;\n\n\t\t\t\ttry {\n\t\t\t\t\tresSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\n\t\t\t\tif (!resSigneds || !resSigneds.length) {\n\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: PDF Merge - No signed urls');\n\t\t\t\t}\n\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < resSigneds.length; i++) {\n\t\t\t\t\tlet signedUrl = resSigneds[i];\n\t\t\t\t\tlet fileKey = fileKeys && fileKeys[i] ? fileKeys[i] : '';\n\n\t\t\t\t\tlet response = null;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = await axios.get(signedUrl, {\n\t\t\t\t\t\t\tresponseType: 'arraybuffer'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\terr.message = `Error in Merge PDF Resolve: PDF Merge - Download failed (${fileKey || 'unknown key'}) - ${err.message}`;\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!response || response.status !== 200) {\n\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: PDF Merge - Download failed (${fileKey || 'unknown key'}) - status: ${response ? response.status : 'unknown'}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet contentTypeHeader = response.headers ? response.headers['content-type'] : '';\n\t\t\t\t\tlet contentType = (contentTypeHeader ? String(contentTypeHeader) : '').toLowerCase().split(';')[0].trim();\n\n\t\t\t\t\tlet responseData = response.data;\n\t\t\t\t\tlet fileDataBuffer = Buffer.isBuffer(responseData) ? responseData : Buffer.from(responseData);\n\n\t\t\t\t\tif (!fileDataBuffer) {\n\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: PDF Merge - No file data returned (${fileKey || 'unknown key'})`);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet fileKeyLower = fileKey ? fileKey.toLowerCase() : '';\n\t\t\t\t\tlet isPdf = contentType === 'application/pdf' || contentType === 'application/x-pdf' || fileKeyLower.endsWith('.pdf');\n\t\t\t\t\tlet isJpg = contentType === 'image/jpeg' || contentType === 'image/jpg' || fileKeyLower.endsWith('.jpg') || fileKeyLower.endsWith('.jpeg');\n\t\t\t\t\tlet isPng = contentType === 'image/png' || fileKeyLower.endsWith('.png');\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (isPdf) {\n\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileDataBuffer as any, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\tlet pageCount = pdf.getPageCount();\n\n\t\t\t\t\t\t\tfor (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, [pageIndex]);\n\t\t\t\t\t\t\t\tmergedPdf.addPage(copiedPages[0]);\n\n\t\t\t\t\t\t\t\tif (pageIndex > 0 && pageIndex % 25 === 0) {\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\t\tawait new Promise(resolve => setImmediate(resolve));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (isJpg) {\n\t\t\t\t\t\t\tconst img = await mergedPdf.embedJpg(fileDataBuffer as any);\n\t\t\t\t\t\t\tconst page = mergedPdf.addPage();\n\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (isPng) {\n\t\t\t\t\t\t\tconst img = await mergedPdf.embedPng(fileDataBuffer as any);\n\t\t\t\t\t\t\tconst page = mergedPdf.addPage();\n\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', { fileKey, contentType });\n\t\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: Unsupported document type (${contentType || 'unknown content-type'})`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\terr.message = `Error in Merge PDF Resolve: PDF Merge - Error processing file (${fileKey || 'unknown key'}) - ${err.message}`;\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t\tfinally {\n\t\t\t\t\t\tresponse = null;\n\t\t\t\t\t\tresponseData = null;\n\t\t\t\t\t\tfileDataBuffer = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\t\t\t\tlet mergedPDFBuffer = Buffer.from(mergedPDFUint8.buffer, mergedPDFUint8.byteOffset, mergedPDFUint8.byteLength);\n\n\t\t\t\treturn this.callMethod('uploadPDFBufferAndSave', fileName, mergedPDFBuffer, mergedPDFBuffer.byteLength, -1, fileType || 'pdf');\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises: any[] = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t}\n\t});\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function loadPublicationMethods(methodManager: any): void;
|
package/methods/publications.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
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);
|
|
24
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
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;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
50
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
51
|
-
if (!m) return o;
|
|
52
|
-
var i = m.call(o), r, ar = [], e;
|
|
53
|
-
try {
|
|
54
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
55
|
-
}
|
|
56
|
-
catch (error) { e = { error: error }; }
|
|
57
|
-
finally {
|
|
58
|
-
try {
|
|
59
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
60
|
-
}
|
|
61
|
-
finally { if (e) throw e.error; }
|
|
62
|
-
}
|
|
63
|
-
return ar;
|
|
64
|
-
};
|
|
65
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
66
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
67
|
-
if (ar || !(i in from)) {
|
|
68
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
69
|
-
ar[i] = from[i];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
73
|
-
};
|
|
74
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
75
|
-
exports.loadPublicationMethods = loadPublicationMethods;
|
|
76
|
-
var resolveio_server_app_1 = require("../resolveio-server-app");
|
|
77
|
-
var subscription_manager_1 = require("../managers/subscription.manager");
|
|
78
|
-
var subscription_dependency_context_1 = require("../util/subscription-dependency-context");
|
|
79
|
-
function normalizeOptionalString(value) {
|
|
80
|
-
if (value === null || value === undefined) {
|
|
81
|
-
return '';
|
|
82
|
-
}
|
|
83
|
-
return String(value).trim();
|
|
84
|
-
}
|
|
85
|
-
function resolveSingleWorkerTarget(value) {
|
|
86
|
-
var normalized = normalizeOptionalString(value);
|
|
87
|
-
if (!normalized) {
|
|
88
|
-
return '';
|
|
89
|
-
}
|
|
90
|
-
var parts = normalized.split(',').map(function (part) { return part.trim(); }).filter(Boolean);
|
|
91
|
-
if (parts.length !== 1) {
|
|
92
|
-
return '';
|
|
93
|
-
}
|
|
94
|
-
return parts[0];
|
|
95
|
-
}
|
|
96
|
-
function normalizeSubscriptionData(subscriptionData) {
|
|
97
|
-
if (!Array.isArray(subscriptionData)) {
|
|
98
|
-
return [];
|
|
99
|
-
}
|
|
100
|
-
return subscriptionData;
|
|
101
|
-
}
|
|
102
|
-
function resolvePublicationContext(manager) {
|
|
103
|
-
return Object.assign({}, manager, subscription_manager_1.SubscriptionManager.prototype);
|
|
104
|
-
}
|
|
105
|
-
function getPublication(manager, publication) {
|
|
106
|
-
if (!manager || typeof manager.getPublication !== 'function') {
|
|
107
|
-
throw new Error("Subscription manager not available for publication: ".concat(publication));
|
|
108
|
-
}
|
|
109
|
-
var pub = manager.getPublication(publication);
|
|
110
|
-
if (!pub) {
|
|
111
|
-
throw new Error("Publication not found: ".concat(publication));
|
|
112
|
-
}
|
|
113
|
-
return pub;
|
|
114
|
-
}
|
|
115
|
-
function loadPublicationMethods(methodManager) {
|
|
116
|
-
var publicationWorkerIndex = resolveSingleWorkerTarget(process.env.SUBSCRIPTION_WORKER_INDEX
|
|
117
|
-
|| process.env.PUBLICATION_WORKER_INDEX
|
|
118
|
-
|| process.env.WORKER_PUBLICATION_INDEX);
|
|
119
|
-
var publicationWorkerInstance = resolveSingleWorkerTarget(process.env.SUBSCRIPTION_WORKER_INSTANCE
|
|
120
|
-
|| process.env.PUBLICATION_WORKER_INSTANCE
|
|
121
|
-
|| process.env.WORKER_PUBLICATION_INSTANCE);
|
|
122
|
-
methodManager.methods({
|
|
123
|
-
runPublication: __assign(__assign(__assign({ skipValidation: true, bypassLogs: true, bypassSession: true, workerTaskWeight: parseInt(process.env.SUBSCRIPTION_WORKER_TASK_WEIGHT || '', 10) || 1, maxConcurrency: parseInt(process.env.SUBSCRIPTION_WORKER_MAX_CONCURRENCY || '', 10) || undefined, maxConcurrencyPerInstance: parseInt(process.env.SUBSCRIPTION_WORKER_MAX_CONCURRENCY_PER_INSTANCE || '', 10) || undefined, workerQueue: 'publication' }, (publicationWorkerIndex ? { targetWorkerIndex: publicationWorkerIndex } : {})), (publicationWorkerInstance ? { targetWorkerInstance: publicationWorkerInstance } : {})), { function: function (publication_1) {
|
|
124
|
-
return __awaiter(this, arguments, void 0, function (publication, subscriptionData, userId) {
|
|
125
|
-
var manager, pub, normalizedData, context, valObj, valKeys, rootKeys, i, metadata, execution, _a, response;
|
|
126
|
-
if (subscriptionData === void 0) { subscriptionData = []; }
|
|
127
|
-
return __generator(this, function (_b) {
|
|
128
|
-
switch (_b.label) {
|
|
129
|
-
case 0:
|
|
130
|
-
if (this.user && this.user !== 'Internal System') {
|
|
131
|
-
throw new Error('Unauthorized publication execution');
|
|
132
|
-
}
|
|
133
|
-
manager = resolveio_server_app_1.ResolveIOServer.getMainServer().getSubscriptionManager();
|
|
134
|
-
pub = getPublication(manager, publication);
|
|
135
|
-
normalizedData = normalizeSubscriptionData(subscriptionData);
|
|
136
|
-
context = resolvePublicationContext(manager);
|
|
137
|
-
if (pub.check && pub.check._schema && (normalizedData.length > 1 || normalizedData[0])) {
|
|
138
|
-
valObj = {};
|
|
139
|
-
valKeys = Object.keys(pub.check._schema);
|
|
140
|
-
rootKeys = valKeys.filter(function (a) { return !a.includes('.'); });
|
|
141
|
-
for (i = 0; i < normalizedData.length; i++) {
|
|
142
|
-
valObj[rootKeys[i]] = normalizedData[i];
|
|
143
|
-
}
|
|
144
|
-
pub.check.validate(valObj);
|
|
145
|
-
}
|
|
146
|
-
metadata = {
|
|
147
|
-
publication: publication,
|
|
148
|
-
subscriptionData: normalizedData
|
|
149
|
-
};
|
|
150
|
-
if (!pub.user_specific) return [3 /*break*/, 2];
|
|
151
|
-
return [4 /*yield*/, (0, subscription_dependency_context_1.withDependencyTracking)(function () {
|
|
152
|
-
var _a;
|
|
153
|
-
return (_a = pub.function).call.apply(_a, __spreadArray([context, userId || ''], __read(normalizedData), false));
|
|
154
|
-
}, Object.assign({}, metadata, { userId: userId }))];
|
|
155
|
-
case 1:
|
|
156
|
-
_a = _b.sent();
|
|
157
|
-
return [3 /*break*/, 4];
|
|
158
|
-
case 2: return [4 /*yield*/, (0, subscription_dependency_context_1.withDependencyTracking)(function () {
|
|
159
|
-
var _a;
|
|
160
|
-
return (_a = pub.function).call.apply(_a, __spreadArray([context], __read(normalizedData), false));
|
|
161
|
-
}, metadata)];
|
|
162
|
-
case 3:
|
|
163
|
-
_a = _b.sent();
|
|
164
|
-
_b.label = 4;
|
|
165
|
-
case 4:
|
|
166
|
-
execution = _a;
|
|
167
|
-
response = {
|
|
168
|
-
__publicationResponse: true,
|
|
169
|
-
publication: publication,
|
|
170
|
-
subscriptionData: normalizedData,
|
|
171
|
-
userSpecific: !!pub.user_specific,
|
|
172
|
-
payload: execution.result,
|
|
173
|
-
snapshot: (0, subscription_dependency_context_1.serializeDependencySnapshot)(execution.snapshot)
|
|
174
|
-
};
|
|
175
|
-
return [2 /*return*/, response];
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
} })
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
//# sourceMappingURL=publications.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/publications.ts"],"names":[],"mappings":"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","file":"publications.js","sourcesContent":["import { ResolveIOServer } from '../resolveio-server-app';\nimport { SubscriptionManager } from '../managers/subscription.manager';\nimport { SubscriptionPubModel } from '../models/subscription.model';\nimport { serializeDependencySnapshot, withDependencyTracking } from '../util/subscription-dependency-context';\n\ninterface PublicationWorkerResponse {\n\t__publicationResponse: true;\n\tpublication: string;\n\tsubscriptionData: any[];\n\tuserSpecific: boolean;\n\tpayload: any;\n\tsnapshot: ReturnType<typeof serializeDependencySnapshot>;\n}\n\nfunction normalizeOptionalString(value: any): string {\n\tif (value === null || value === undefined) {\n\t\treturn '';\n\t}\n\treturn String(value).trim();\n}\n\nfunction resolveSingleWorkerTarget(value: any): string {\n\tconst normalized = normalizeOptionalString(value);\n\tif (!normalized) {\n\t\treturn '';\n\t}\n\tconst parts = normalized.split(',').map(part => part.trim()).filter(Boolean);\n\tif (parts.length !== 1) {\n\t\treturn '';\n\t}\n\treturn parts[0];\n}\n\nfunction normalizeSubscriptionData(subscriptionData: any[]): any[] {\n\tif (!Array.isArray(subscriptionData)) {\n\t\treturn [];\n\t}\n\n\treturn subscriptionData;\n}\n\nfunction resolvePublicationContext(manager: SubscriptionManager) {\n\treturn Object.assign({}, manager, SubscriptionManager.prototype);\n}\n\nfunction getPublication(manager: SubscriptionManager, publication: string): SubscriptionPubModel {\n\tif (!manager || typeof manager.getPublication !== 'function') {\n\t\tthrow new Error(`Subscription manager not available for publication: ${publication}`);\n\t}\n\n\tconst pub = manager.getPublication(publication);\n\tif (!pub) {\n\t\tthrow new Error(`Publication not found: ${publication}`);\n\t}\n\n\treturn pub;\n}\n\nexport function loadPublicationMethods(methodManager) {\n\tconst publicationWorkerIndex = resolveSingleWorkerTarget(\n\t\tprocess.env.SUBSCRIPTION_WORKER_INDEX\n\t\t|| process.env.PUBLICATION_WORKER_INDEX\n\t\t|| process.env.WORKER_PUBLICATION_INDEX\n\t);\n\tconst publicationWorkerInstance = resolveSingleWorkerTarget(\n\t\tprocess.env.SUBSCRIPTION_WORKER_INSTANCE\n\t\t|| process.env.PUBLICATION_WORKER_INSTANCE\n\t\t|| process.env.WORKER_PUBLICATION_INSTANCE\n\t);\n\tmethodManager.methods({\n\t\trunPublication: {\n\t\t\tskipValidation: true,\n\t\t\tbypassLogs: true,\n\t\t\tbypassSession: true,\n\t\t\tworkerTaskWeight: parseInt(process.env.SUBSCRIPTION_WORKER_TASK_WEIGHT || '', 10) || 1,\n\t\t\tmaxConcurrency: parseInt(process.env.SUBSCRIPTION_WORKER_MAX_CONCURRENCY || '', 10) || undefined,\n\t\t\tmaxConcurrencyPerInstance: parseInt(process.env.SUBSCRIPTION_WORKER_MAX_CONCURRENCY_PER_INSTANCE || '', 10) || undefined,\n\t\t\tworkerQueue: 'publication',\n\t\t\t...(publicationWorkerIndex ? { targetWorkerIndex: publicationWorkerIndex } : {}),\n\t\t\t...(publicationWorkerInstance ? { targetWorkerInstance: publicationWorkerInstance } : {}),\n\t\t\tfunction: async function(publication: string, subscriptionData: any[] = [], userId?: string) {\n\t\t\t\tif (this.user && this.user !== 'Internal System') {\n\t\t\t\t\tthrow new Error('Unauthorized publication execution');\n\t\t\t\t}\n\n\t\t\t\tconst manager = ResolveIOServer.getMainServer().getSubscriptionManager();\n\t\t\t\tconst pub = getPublication(manager, publication);\n\t\t\t\tconst normalizedData = normalizeSubscriptionData(subscriptionData);\n\t\t\t\tconst context = resolvePublicationContext(manager);\n\n\t\t\t\tif (pub.check && pub.check._schema && (normalizedData.length > 1 || normalizedData[0])) {\n\t\t\t\t\tconst valObj = {};\n\t\t\t\t\tconst valKeys = Object.keys(pub.check._schema);\n\t\t\t\t\tconst rootKeys = valKeys.filter(a => !a.includes('.'));\n\t\t\t\t\tfor (let i = 0; i < normalizedData.length; i++) {\n\t\t\t\t\t\tvalObj[rootKeys[i]] = normalizedData[i];\n\t\t\t\t\t}\n\t\t\t\t\tpub.check.validate(valObj);\n\t\t\t\t}\n\n\t\t\t\tconst metadata = {\n\t\t\t\t\tpublication,\n\t\t\t\t\tsubscriptionData: normalizedData\n\t\t\t\t};\n\n\t\t\t\tconst execution = pub.user_specific\n\t\t\t\t\t? await withDependencyTracking(\n\t\t\t\t\t\t() => pub.function.call(context, userId || '', ...normalizedData),\n\t\t\t\t\t\tObject.assign({}, metadata, { userId })\n\t\t\t\t\t)\n\t\t\t\t\t: await withDependencyTracking(\n\t\t\t\t\t\t() => pub.function.call(context, ...normalizedData),\n\t\t\t\t\t\tmetadata\n\t\t\t\t\t);\n\n\t\t\t\tconst response: PublicationWorkerResponse = {\n\t\t\t\t\t__publicationResponse: true,\n\t\t\t\t\tpublication,\n\t\t\t\t\tsubscriptionData: normalizedData,\n\t\t\t\t\tuserSpecific: !!pub.user_specific,\n\t\t\t\t\tpayload: execution.result,\n\t\t\t\t\tsnapshot: serializeDependencySnapshot(execution.snapshot)\n\t\t\t\t};\n\n\t\t\t\treturn response;\n\t\t\t}\n\t\t}\n\t});\n}\n"]}
|