@resolveio/server-lib 22.3.220 → 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.
Files changed (745) hide show
  1. package/.nodemon.json +5 -0
  2. package/.vscode/settings.json +21 -0
  3. package/AGENTS.md +195 -0
  4. package/README.md +22 -0
  5. package/build_package.sh +5 -0
  6. package/compileDTS.pl +64 -0
  7. package/docs/ai-assistant-nightly-eval.md +65 -0
  8. package/docs/ai-assistant-preflight-checklist.md +23 -0
  9. package/docs/ai-assistant-report-builder-bridge-playbook.md +115 -0
  10. package/eslint-plugin-custom/index.js +7 -0
  11. package/eslint-plugin-custom/rules/no-filter-zero-index.js +44 -0
  12. package/eslint.config.js +103 -0
  13. package/gulpfile.js +216 -0
  14. package/methodAndPublicationListGenerator.py +375 -0
  15. package/mongodbensurers.js +2 -0
  16. package/mongostop.js +3 -0
  17. package/package.json +1 -1
  18. package/scripts/cleanup-bypassed-callmethod-logs.js +616 -0
  19. package/settings.development.json +25 -0
  20. package/settings.development.redacted.json +25 -0
  21. package/src/.env +12 -0
  22. package/src/ai/assistant-core-heuristics.ts +379 -0
  23. package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +185 -0
  24. package/src/ai/resolveio-platform-intelligence-memory.ts +325 -0
  25. package/{ai/resolveio-platform-intelligence-types.d.ts → src/ai/resolveio-platform-intelligence-types.ts} +20 -15
  26. package/src/ai/resolveio-platform-intelligence.ts +462 -0
  27. package/src/client-server-app.ts +12 -0
  28. package/src/collections/ai-run.collection.ts +117 -0
  29. package/src/collections/ai-terminal-conversation.collection.ts +91 -0
  30. package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
  31. package/src/collections/ai-terminal-message.collection.ts +77 -0
  32. package/src/collections/app-setting.collection.ts +104 -0
  33. package/src/collections/app-status.collection.ts +58 -0
  34. package/src/collections/communication-metric.collection.ts +84 -0
  35. package/src/collections/counter.collection.ts +56 -0
  36. package/src/collections/cron-job-history.collection.ts +94 -0
  37. package/src/collections/cron-job.collection.ts +92 -0
  38. package/src/collections/customer-notification.collection.ts +131 -0
  39. package/src/collections/customer-portal-password.collection.ts +76 -0
  40. package/src/collections/email-history.collection.ts +134 -0
  41. package/src/collections/email-verified.collection.ts +62 -0
  42. package/src/collections/file.collection.ts +74 -0
  43. package/src/collections/flag-update.collection.ts +57 -0
  44. package/src/collections/flag.collection.ts +57 -0
  45. package/src/collections/log-method-latency.collection.ts +77 -0
  46. package/src/collections/log-subscription.collection.ts +80 -0
  47. package/src/collections/log.collection.ts +93 -0
  48. package/src/collections/logged-in-users.collection.ts +67 -0
  49. package/src/collections/monitor-cpu.collection.ts +65 -0
  50. package/src/collections/monitor-function.collection.ts +74 -0
  51. package/src/collections/monitor-memory.collection.ts +77 -0
  52. package/src/collections/monitor-mongo.collection.ts +71 -0
  53. package/src/collections/notification.collection.ts +57 -0
  54. package/src/collections/openai-usage-ledger.collection.ts +131 -0
  55. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  56. package/src/collections/report-builder-library.collection.ts +89 -0
  57. package/src/collections/report-builder-report.collection.ts +184 -0
  58. package/src/collections/user-group.collection.ts +89 -0
  59. package/src/collections/user-guide.collection.ts +57 -0
  60. package/src/collections/user.collection.ts +181 -0
  61. package/src/cron/cron.ts +117 -0
  62. package/src/fixtures/cron-jobs.ts +95 -0
  63. package/src/fixtures/init.ts +35 -0
  64. package/src/http/auth.ts +818 -0
  65. package/src/http/health.ts +7 -0
  66. package/src/http/home.ts +90 -0
  67. package/src/http/slow-query-publication.ts +49 -0
  68. package/src/index.ts +1 -0
  69. package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
  70. package/src/managers/ai-run-evidence.manager.ts +264 -0
  71. package/src/managers/communication-metric.manager.ts +82 -0
  72. package/src/managers/cron.manager.ts +333 -0
  73. package/src/managers/customer-notification-content.manager.ts +236 -0
  74. package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
  75. package/src/managers/error-auto-fix.manager.ts +2767 -0
  76. package/src/managers/local-log.manager.ts +113 -0
  77. package/src/managers/method.manager.ts +1857 -0
  78. package/src/managers/mongo.manager.ts +4575 -0
  79. package/src/managers/monitor.manager.ts +507 -0
  80. package/src/managers/openai-usage-ledger.manager.ts +112 -0
  81. package/src/managers/slow-query-verifier.manager.ts +3590 -0
  82. package/src/managers/slow-query.manager.ts +519 -0
  83. package/src/managers/subscription.manager.ts +3128 -0
  84. package/src/managers/websocket.manager.ts +746 -0
  85. package/src/managers/worker-dispatcher.manager.ts +1360 -0
  86. package/src/managers/worker-server.manager.ts +536 -0
  87. package/src/methods/accounts.ts +532 -0
  88. package/src/methods/ai-terminal.ts +29070 -0
  89. package/src/methods/app-settings.ts +114 -0
  90. package/src/methods/aws.ts +649 -0
  91. package/src/methods/collections.ts +641 -0
  92. package/src/methods/counters.ts +69 -0
  93. package/src/methods/cron-jobs.ts +2614 -0
  94. package/src/methods/customer-notifications.ts +458 -0
  95. package/src/methods/diagnostics.ts +616 -0
  96. package/src/methods/flag-updates.ts +7 -0
  97. package/src/methods/flags.ts +7 -0
  98. package/src/methods/logs.ts +657 -0
  99. package/src/methods/mongo-explorer.ts +1880 -0
  100. package/src/methods/monitor.ts +540 -0
  101. package/src/methods/pdf.ts +1236 -0
  102. package/src/methods/publications.ts +129 -0
  103. package/src/methods/report-builder.ts +3300 -0
  104. package/src/methods/support.ts +335 -0
  105. package/src/models/ai-run.model.ts +27 -0
  106. package/src/models/ai-terminal-conversation.model.ts +19 -0
  107. package/src/models/ai-terminal-issue-report.model.ts +21 -0
  108. package/src/models/ai-terminal-message.model.ts +24 -0
  109. package/src/models/app-setting.model.ts +17 -0
  110. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  111. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  112. package/src/models/collection-document.model.ts +24 -0
  113. package/src/models/communication-metric.model.ts +23 -0
  114. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  115. package/src/models/cron-job-history.model.ts +16 -0
  116. package/src/models/cron-job.model.ts +15 -0
  117. package/src/models/customer-notification.model.ts +28 -0
  118. package/src/models/customer-portal-password.model.ts +12 -0
  119. package/src/models/dialog.model.ts +25 -0
  120. package/{models/email-history.model.js → src/models/email-history.model.ts} +36 -4
  121. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  122. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  123. package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
  124. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  125. package/src/models/log-method-latency.model.ts +11 -0
  126. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
  127. package/src/models/log.model.ts +19 -0
  128. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  129. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  130. package/src/models/method.model.ts +25 -0
  131. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  132. package/src/models/monitor-function.model.ts +16 -0
  133. package/src/models/monitor-memory.model.ts +17 -0
  134. package/src/models/monitor-mongo.model.ts +15 -0
  135. package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
  136. package/src/models/openai-usage-ledger.model.ts +56 -0
  137. package/src/models/pagination.model.ts +35 -0
  138. package/src/models/permission.model.ts +14 -0
  139. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  140. package/src/models/report-builder-library.model.ts +20 -0
  141. package/src/models/report-builder-report.model.ts +136 -0
  142. package/src/models/report-builder.model.ts +68 -0
  143. package/src/models/select-data-label.model.ts +9 -0
  144. package/src/models/server-message.model.ts +31 -0
  145. package/src/models/slow-query-report.model.ts +23 -0
  146. package/src/models/subscription.model.ts +73 -0
  147. package/src/models/support-ticket.model.ts +104 -0
  148. package/src/models/user-group.model.ts +24 -0
  149. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  150. package/src/models/user.model.ts +96 -0
  151. package/src/private/images/ResolveIO.png +0 -0
  152. package/src/publications/ai-terminal.ts +73 -0
  153. package/src/publications/app-settings.ts +25 -0
  154. package/src/publications/app-status.ts +13 -0
  155. package/src/publications/cron-jobs.ts +40 -0
  156. package/src/publications/customer-notifications.ts +101 -0
  157. package/src/publications/files.ts +33 -0
  158. package/src/publications/flags-update.ts +19 -0
  159. package/src/publications/flags.ts +19 -0
  160. package/src/publications/logs.ts +163 -0
  161. package/src/publications/notifications.ts +13 -0
  162. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  163. package/src/publications/report-builder-libraries.ts +41 -0
  164. package/src/publications/report-builder-reports.ts +47 -0
  165. package/src/publications/super-admin.ts +13 -0
  166. package/src/publications/user-groups.ts +12 -0
  167. package/src/publications/user-guides.ts +12 -0
  168. package/src/resolveio-server-app.ts +617 -0
  169. package/src/server-app.ts +3354 -0
  170. package/src/services/codex-client.ts +1231 -0
  171. package/src/services/openai-client.ts +265 -0
  172. package/src/types/error-report.ts +26 -0
  173. package/src/types/js-tiktoken.d.ts +11 -0
  174. package/src/types/slow-query-report.ts +28 -0
  175. package/src/util/ai-qa-policy.ts +925 -0
  176. package/src/util/ai-run-evidence-adapters.ts +8347 -0
  177. package/src/util/ai-run-evidence-dashboard.ts +323 -0
  178. package/src/util/ai-run-evidence-eval.ts +1057 -0
  179. package/src/util/ai-run-evidence.ts +1430 -0
  180. package/src/util/ai-runner-artifacts.ts +586 -0
  181. package/src/util/ai-runner-manager-autopilot.ts +961 -0
  182. package/src/util/ai-runner-manager-policy.ts +5011 -0
  183. package/src/util/ai-runner-qa-auth.ts +838 -0
  184. package/src/util/ai-runner-qa-tools.ts +3536 -0
  185. package/src/util/aicoder-runner-v6.ts +3121 -0
  186. package/src/util/common.ts +649 -0
  187. package/src/util/customer-portal-password.ts +183 -0
  188. package/src/util/error-reporter.ts +332 -0
  189. package/src/util/error-tracking.ts +79 -0
  190. package/src/util/openai-usage-cost.ts +114 -0
  191. package/src/util/report-builder-unwinds.ts +180 -0
  192. package/src/util/runner-process-janitor.ts +219 -0
  193. package/src/util/schema-report-builder.ts +448 -0
  194. package/src/util/slow-query-reporter.ts +216 -0
  195. package/src/util/subscription-dependency-context.ts +1096 -0
  196. package/src/util/support-runner-v5.ts +10040 -0
  197. package/src/util/tokenizer.ts +38 -0
  198. package/src/workers/codex-runner.worker.ts +142 -0
  199. package/start_server.sh +5 -0
  200. package/tests/ai-assistant-corpus-build.ts +484 -0
  201. package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
  202. package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
  203. package/tests/ai-assistant-eval-triage.ts +831 -0
  204. package/tests/ai-assistant-openai-e2e.ts +1061 -0
  205. package/tests/ai-assistant-openai-git-e2e.ts +155 -0
  206. package/tests/ai-assistant-preflight-matrix.ts +215 -0
  207. package/tests/ai-assistant-routing-eval.test.ts +585 -0
  208. package/tests/ai-assistant-snf-live-eval.ts +975 -0
  209. package/tests/ai-assistant-utils.test.ts +4834 -0
  210. package/tests/ai-manager-autopilot-snapshot.test.ts +193 -0
  211. package/tests/ai-manager-recovery-checkpoint.test.ts +1383 -0
  212. package/tests/ai-run-eval.test.ts +132 -0
  213. package/tests/ai-run-evidence.test.ts +3773 -0
  214. package/tests/ai-runner-contract.test.ts +515 -0
  215. package/tests/aicoder-runner-v6.test.ts +822 -0
  216. package/tests/error-reporter.test.ts +145 -0
  217. package/tests/method-publication-generator.test.ts +46 -0
  218. package/tests/report-builder-linking.test.ts +79 -0
  219. package/tests/resolveio-platform-intelligence.test.ts +352 -0
  220. package/tests/server-app-cron-owner.test.ts +127 -0
  221. package/tests/subscription-connect-race.test.ts +158 -0
  222. package/tests/subscription-dependency-context.test.ts +324 -0
  223. package/tests/subscription-manager-collection-tracking.test.ts +86 -0
  224. package/tests/subscription-manager-invalidation.test.ts +86 -0
  225. package/tests/support-runner-v5.test.ts +3201 -0
  226. package/tsconfig.json +34 -0
  227. package/ai/assistant-core-heuristics.d.ts +0 -11
  228. package/ai/assistant-core-heuristics.js +0 -356
  229. package/ai/assistant-core-heuristics.js.map +0 -1
  230. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
  231. package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
  232. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
  233. package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
  234. package/ai/resolveio-platform-intelligence-memory.js +0 -341
  235. package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
  236. package/ai/resolveio-platform-intelligence-types.js +0 -4
  237. package/ai/resolveio-platform-intelligence-types.js.map +0 -1
  238. package/ai/resolveio-platform-intelligence.d.ts +0 -6
  239. package/ai/resolveio-platform-intelligence.js +0 -463
  240. package/ai/resolveio-platform-intelligence.js.map +0 -1
  241. package/client-server-app.d.ts +0 -1
  242. package/client-server-app.js +0 -68
  243. package/client-server-app.js.map +0 -1
  244. package/collections/ai-run.collection.d.ts +0 -3
  245. package/collections/ai-run.collection.js +0 -170
  246. package/collections/ai-run.collection.js.map +0 -1
  247. package/collections/ai-terminal-conversation.collection.d.ts +0 -2
  248. package/collections/ai-terminal-conversation.collection.js +0 -140
  249. package/collections/ai-terminal-conversation.collection.js.map +0 -1
  250. package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
  251. package/collections/ai-terminal-issue-report.collection.js +0 -148
  252. package/collections/ai-terminal-issue-report.collection.js.map +0 -1
  253. package/collections/ai-terminal-message.collection.d.ts +0 -2
  254. package/collections/ai-terminal-message.collection.js +0 -121
  255. package/collections/ai-terminal-message.collection.js.map +0 -1
  256. package/collections/app-setting.collection.d.ts +0 -3
  257. package/collections/app-setting.collection.js +0 -103
  258. package/collections/app-setting.collection.js.map +0 -1
  259. package/collections/app-status.collection.d.ts +0 -3
  260. package/collections/app-status.collection.js +0 -57
  261. package/collections/app-status.collection.js.map +0 -1
  262. package/collections/communication-metric.collection.d.ts +0 -2
  263. package/collections/communication-metric.collection.js +0 -133
  264. package/collections/communication-metric.collection.js.map +0 -1
  265. package/collections/counter.collection.d.ts +0 -3
  266. package/collections/counter.collection.js +0 -56
  267. package/collections/counter.collection.js.map +0 -1
  268. package/collections/cron-job-history.collection.d.ts +0 -3
  269. package/collections/cron-job-history.collection.js +0 -137
  270. package/collections/cron-job-history.collection.js.map +0 -1
  271. package/collections/cron-job.collection.d.ts +0 -3
  272. package/collections/cron-job.collection.js +0 -92
  273. package/collections/cron-job.collection.js.map +0 -1
  274. package/collections/customer-notification.collection.d.ts +0 -3
  275. package/collections/customer-notification.collection.js +0 -130
  276. package/collections/customer-notification.collection.js.map +0 -1
  277. package/collections/customer-portal-password.collection.d.ts +0 -3
  278. package/collections/customer-portal-password.collection.js +0 -75
  279. package/collections/customer-portal-password.collection.js.map +0 -1
  280. package/collections/email-history.collection.d.ts +0 -3
  281. package/collections/email-history.collection.js +0 -134
  282. package/collections/email-history.collection.js.map +0 -1
  283. package/collections/email-verified.collection.d.ts +0 -3
  284. package/collections/email-verified.collection.js +0 -62
  285. package/collections/email-verified.collection.js.map +0 -1
  286. package/collections/file.collection.d.ts +0 -3
  287. package/collections/file.collection.js +0 -74
  288. package/collections/file.collection.js.map +0 -1
  289. package/collections/flag-update.collection.d.ts +0 -3
  290. package/collections/flag-update.collection.js +0 -57
  291. package/collections/flag-update.collection.js.map +0 -1
  292. package/collections/flag.collection.d.ts +0 -3
  293. package/collections/flag.collection.js +0 -57
  294. package/collections/flag.collection.js.map +0 -1
  295. package/collections/log-method-latency.collection.d.ts +0 -3
  296. package/collections/log-method-latency.collection.js +0 -77
  297. package/collections/log-method-latency.collection.js.map +0 -1
  298. package/collections/log-subscription.collection.d.ts +0 -3
  299. package/collections/log-subscription.collection.js +0 -80
  300. package/collections/log-subscription.collection.js.map +0 -1
  301. package/collections/log.collection.d.ts +0 -3
  302. package/collections/log.collection.js +0 -93
  303. package/collections/log.collection.js.map +0 -1
  304. package/collections/logged-in-users.collection.d.ts +0 -3
  305. package/collections/logged-in-users.collection.js +0 -67
  306. package/collections/logged-in-users.collection.js.map +0 -1
  307. package/collections/monitor-cpu.collection.d.ts +0 -3
  308. package/collections/monitor-cpu.collection.js +0 -65
  309. package/collections/monitor-cpu.collection.js.map +0 -1
  310. package/collections/monitor-function.collection.d.ts +0 -3
  311. package/collections/monitor-function.collection.js +0 -74
  312. package/collections/monitor-function.collection.js.map +0 -1
  313. package/collections/monitor-memory.collection.d.ts +0 -3
  314. package/collections/monitor-memory.collection.js +0 -77
  315. package/collections/monitor-memory.collection.js.map +0 -1
  316. package/collections/monitor-mongo.collection.d.ts +0 -3
  317. package/collections/monitor-mongo.collection.js +0 -71
  318. package/collections/monitor-mongo.collection.js.map +0 -1
  319. package/collections/notification.collection.d.ts +0 -3
  320. package/collections/notification.collection.js +0 -57
  321. package/collections/notification.collection.js.map +0 -1
  322. package/collections/openai-usage-ledger.collection.d.ts +0 -2
  323. package/collections/openai-usage-ledger.collection.js +0 -188
  324. package/collections/openai-usage-ledger.collection.js.map +0 -1
  325. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  326. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  327. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  328. package/collections/report-builder-library.collection.d.ts +0 -3
  329. package/collections/report-builder-library.collection.js +0 -87
  330. package/collections/report-builder-library.collection.js.map +0 -1
  331. package/collections/report-builder-report.collection.d.ts +0 -4
  332. package/collections/report-builder-report.collection.js +0 -184
  333. package/collections/report-builder-report.collection.js.map +0 -1
  334. package/collections/user-group.collection.d.ts +0 -4
  335. package/collections/user-group.collection.js +0 -89
  336. package/collections/user-group.collection.js.map +0 -1
  337. package/collections/user-guide.collection.d.ts +0 -3
  338. package/collections/user-guide.collection.js +0 -57
  339. package/collections/user-guide.collection.js.map +0 -1
  340. package/collections/user.collection.d.ts +0 -4
  341. package/collections/user.collection.js +0 -180
  342. package/collections/user.collection.js.map +0 -1
  343. package/cron/cron.d.ts +0 -14
  344. package/cron/cron.js +0 -216
  345. package/cron/cron.js.map +0 -1
  346. package/fixtures/cron-jobs.d.ts +0 -1
  347. package/fixtures/cron-jobs.js +0 -150
  348. package/fixtures/cron-jobs.js.map +0 -1
  349. package/fixtures/init.d.ts +0 -1
  350. package/fixtures/init.js +0 -91
  351. package/fixtures/init.js.map +0 -1
  352. package/http/auth.d.ts +0 -2
  353. package/http/auth.js +0 -951
  354. package/http/auth.js.map +0 -1
  355. package/http/health.d.ts +0 -1
  356. package/http/health.js +0 -11
  357. package/http/health.js.map +0 -1
  358. package/http/home.d.ts +0 -1
  359. package/http/home.js +0 -134
  360. package/http/home.js.map +0 -1
  361. package/http/slow-query-publication.d.ts +0 -2
  362. package/http/slow-query-publication.js +0 -99
  363. package/http/slow-query-publication.js.map +0 -1
  364. package/index.d.ts +0 -1
  365. package/index.js +0 -19
  366. package/index.js.map +0 -1
  367. package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
  368. package/managers/ai-assistant-codex-manager.manager.js +0 -1113
  369. package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
  370. package/managers/ai-run-evidence.manager.d.ts +0 -36
  371. package/managers/ai-run-evidence.manager.js +0 -377
  372. package/managers/ai-run-evidence.manager.js.map +0 -1
  373. package/managers/communication-metric.manager.d.ts +0 -16
  374. package/managers/communication-metric.manager.js +0 -134
  375. package/managers/communication-metric.manager.js.map +0 -1
  376. package/managers/cron.manager.d.ts +0 -20
  377. package/managers/cron.manager.js +0 -534
  378. package/managers/cron.manager.js.map +0 -1
  379. package/managers/customer-notification-content.manager.d.ts +0 -55
  380. package/managers/customer-notification-content.manager.js +0 -158
  381. package/managers/customer-notification-content.manager.js.map +0 -1
  382. package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
  383. package/managers/diagnostic-manager-bootstrap.js +0 -260
  384. package/managers/diagnostic-manager-bootstrap.js.map +0 -1
  385. package/managers/error-auto-fix.manager.d.ts +0 -149
  386. package/managers/error-auto-fix.manager.js +0 -3064
  387. package/managers/error-auto-fix.manager.js.map +0 -1
  388. package/managers/local-log.manager.d.ts +0 -18
  389. package/managers/local-log.manager.js +0 -88
  390. package/managers/local-log.manager.js.map +0 -1
  391. package/managers/method.manager.d.ts +0 -84
  392. package/managers/method.manager.js +0 -1964
  393. package/managers/method.manager.js.map +0 -1
  394. package/managers/mongo.manager.d.ts +0 -224
  395. package/managers/mongo.manager.js +0 -5000
  396. package/managers/mongo.manager.js.map +0 -1
  397. package/managers/monitor.manager.d.ts +0 -70
  398. package/managers/monitor.manager.js +0 -550
  399. package/managers/monitor.manager.js.map +0 -1
  400. package/managers/openai-usage-ledger.manager.d.ts +0 -30
  401. package/managers/openai-usage-ledger.manager.js +0 -142
  402. package/managers/openai-usage-ledger.manager.js.map +0 -1
  403. package/managers/slow-query-verifier.manager.d.ts +0 -144
  404. package/managers/slow-query-verifier.manager.js +0 -3857
  405. package/managers/slow-query-verifier.manager.js.map +0 -1
  406. package/managers/slow-query.manager.d.ts +0 -28
  407. package/managers/slow-query.manager.js +0 -468
  408. package/managers/slow-query.manager.js.map +0 -1
  409. package/managers/subscription.manager.d.ts +0 -169
  410. package/managers/subscription.manager.js +0 -3434
  411. package/managers/subscription.manager.js.map +0 -1
  412. package/managers/websocket.manager.d.ts +0 -73
  413. package/managers/websocket.manager.js +0 -673
  414. package/managers/websocket.manager.js.map +0 -1
  415. package/managers/worker-dispatcher.manager.d.ts +0 -120
  416. package/managers/worker-dispatcher.manager.js +0 -1266
  417. package/managers/worker-dispatcher.manager.js.map +0 -1
  418. package/managers/worker-server.manager.d.ts +0 -35
  419. package/managers/worker-server.manager.js +0 -582
  420. package/managers/worker-server.manager.js.map +0 -1
  421. package/methods/accounts.d.ts +0 -2
  422. package/methods/accounts.js +0 -624
  423. package/methods/accounts.js.map +0 -1
  424. package/methods/ai-terminal.d.ts +0 -458
  425. package/methods/ai-terminal.js +0 -27991
  426. package/methods/ai-terminal.js.map +0 -1
  427. package/methods/app-settings.d.ts +0 -2
  428. package/methods/app-settings.js +0 -169
  429. package/methods/app-settings.js.map +0 -1
  430. package/methods/aws.d.ts +0 -2
  431. package/methods/aws.js +0 -877
  432. package/methods/aws.js.map +0 -1
  433. package/methods/collections.d.ts +0 -2
  434. package/methods/collections.js +0 -719
  435. package/methods/collections.js.map +0 -1
  436. package/methods/counters.d.ts +0 -2
  437. package/methods/counters.js +0 -113
  438. package/methods/counters.js.map +0 -1
  439. package/methods/cron-jobs.d.ts +0 -2
  440. package/methods/cron-jobs.js +0 -2475
  441. package/methods/cron-jobs.js.map +0 -1
  442. package/methods/customer-notifications.d.ts +0 -2
  443. package/methods/customer-notifications.js +0 -528
  444. package/methods/customer-notifications.js.map +0 -1
  445. package/methods/diagnostics.d.ts +0 -2
  446. package/methods/diagnostics.js +0 -703
  447. package/methods/diagnostics.js.map +0 -1
  448. package/methods/flag-updates.d.ts +0 -2
  449. package/methods/flag-updates.js +0 -8
  450. package/methods/flag-updates.js.map +0 -1
  451. package/methods/flags.d.ts +0 -2
  452. package/methods/flags.js +0 -8
  453. package/methods/flags.js.map +0 -1
  454. package/methods/logs.d.ts +0 -2
  455. package/methods/logs.js +0 -751
  456. package/methods/logs.js.map +0 -1
  457. package/methods/mongo-explorer.d.ts +0 -2
  458. package/methods/mongo-explorer.js +0 -1808
  459. package/methods/mongo-explorer.js.map +0 -1
  460. package/methods/monitor.d.ts +0 -2
  461. package/methods/monitor.js +0 -543
  462. package/methods/monitor.js.map +0 -1
  463. package/methods/pdf.d.ts +0 -2
  464. package/methods/pdf.js +0 -1216
  465. package/methods/pdf.js.map +0 -1
  466. package/methods/publications.d.ts +0 -1
  467. package/methods/publications.js +0 -183
  468. package/methods/publications.js.map +0 -1
  469. package/methods/report-builder.d.ts +0 -2
  470. package/methods/report-builder.js +0 -3094
  471. package/methods/report-builder.js.map +0 -1
  472. package/methods/support.d.ts +0 -2
  473. package/methods/support.js +0 -430
  474. package/methods/support.js.map +0 -1
  475. package/models/ai-run.model.d.ts +0 -19
  476. package/models/ai-run.model.js +0 -4
  477. package/models/ai-run.model.js.map +0 -1
  478. package/models/ai-terminal-conversation.model.d.ts +0 -17
  479. package/models/ai-terminal-conversation.model.js +0 -4
  480. package/models/ai-terminal-conversation.model.js.map +0 -1
  481. package/models/ai-terminal-issue-report.model.d.ts +0 -19
  482. package/models/ai-terminal-issue-report.model.js +0 -4
  483. package/models/ai-terminal-issue-report.model.js.map +0 -1
  484. package/models/ai-terminal-message.model.d.ts +0 -22
  485. package/models/ai-terminal-message.model.js +0 -4
  486. package/models/ai-terminal-message.model.js.map +0 -1
  487. package/models/app-setting.model.d.ts +0 -16
  488. package/models/app-setting.model.js +0 -4
  489. package/models/app-setting.model.js.map +0 -1
  490. package/models/app-status.model.js +0 -4
  491. package/models/app-status.model.js.map +0 -1
  492. package/models/billing-logged-in-users.model.js +0 -4
  493. package/models/billing-logged-in-users.model.js.map +0 -1
  494. package/models/collection-document.model.d.ts +0 -21
  495. package/models/collection-document.model.js +0 -4
  496. package/models/collection-document.model.js.map +0 -1
  497. package/models/communication-metric.model.d.ts +0 -20
  498. package/models/communication-metric.model.js +0 -4
  499. package/models/communication-metric.model.js.map +0 -1
  500. package/models/counter.model.js +0 -4
  501. package/models/counter.model.js.map +0 -1
  502. package/models/cron-job-history.model.d.ts +0 -15
  503. package/models/cron-job-history.model.js +0 -4
  504. package/models/cron-job-history.model.js.map +0 -1
  505. package/models/cron-job.model.d.ts +0 -14
  506. package/models/cron-job.model.js +0 -4
  507. package/models/cron-job.model.js.map +0 -1
  508. package/models/customer-notification.model.d.ts +0 -26
  509. package/models/customer-notification.model.js +0 -4
  510. package/models/customer-notification.model.js.map +0 -1
  511. package/models/customer-portal-password.model.d.ts +0 -11
  512. package/models/customer-portal-password.model.js +0 -4
  513. package/models/customer-portal-password.model.js.map +0 -1
  514. package/models/dialog.model.d.ts +0 -23
  515. package/models/dialog.model.js +0 -4
  516. package/models/dialog.model.js.map +0 -1
  517. package/models/email-history.model.d.ts +0 -32
  518. package/models/email-history.model.js.map +0 -1
  519. package/models/email-verified.model.js +0 -4
  520. package/models/email-verified.model.js.map +0 -1
  521. package/models/file.model.js +0 -4
  522. package/models/file.model.js.map +0 -1
  523. package/models/flag-update.model.js +0 -4
  524. package/models/flag-update.model.js.map +0 -1
  525. package/models/flag.model.js +0 -4
  526. package/models/flag.model.js.map +0 -1
  527. package/models/log-method-latency.model.d.ts +0 -10
  528. package/models/log-method-latency.model.js +0 -4
  529. package/models/log-method-latency.model.js.map +0 -1
  530. package/models/log-subscription.model.js +0 -4
  531. package/models/log-subscription.model.js.map +0 -1
  532. package/models/log.model.d.ts +0 -17
  533. package/models/log.model.js +0 -4
  534. package/models/log.model.js.map +0 -1
  535. package/models/logged-in-users.model.js +0 -4
  536. package/models/logged-in-users.model.js.map +0 -1
  537. package/models/method-response.model.js +0 -4
  538. package/models/method-response.model.js.map +0 -1
  539. package/models/method.model.d.ts +0 -26
  540. package/models/method.model.js +0 -4
  541. package/models/method.model.js.map +0 -1
  542. package/models/monitor-cpu.model.js +0 -4
  543. package/models/monitor-cpu.model.js.map +0 -1
  544. package/models/monitor-function.model.d.ts +0 -14
  545. package/models/monitor-function.model.js +0 -4
  546. package/models/monitor-function.model.js.map +0 -1
  547. package/models/monitor-memory.model.d.ts +0 -15
  548. package/models/monitor-memory.model.js +0 -4
  549. package/models/monitor-memory.model.js.map +0 -1
  550. package/models/monitor-mongo.model.d.ts +0 -13
  551. package/models/monitor-mongo.model.js +0 -4
  552. package/models/monitor-mongo.model.js.map +0 -1
  553. package/models/notification.model.js +0 -4
  554. package/models/notification.model.js.map +0 -1
  555. package/models/openai-usage-ledger.model.d.ts +0 -30
  556. package/models/openai-usage-ledger.model.js +0 -4
  557. package/models/openai-usage-ledger.model.js.map +0 -1
  558. package/models/pagination.model.d.ts +0 -11
  559. package/models/pagination.model.js +0 -28
  560. package/models/pagination.model.js.map +0 -1
  561. package/models/permission.model.d.ts +0 -12
  562. package/models/permission.model.js +0 -4
  563. package/models/permission.model.js.map +0 -1
  564. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  565. package/models/report-builder-dashboard-builder.model.js +0 -4
  566. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  567. package/models/report-builder-library.model.d.ts +0 -17
  568. package/models/report-builder-library.model.js +0 -4
  569. package/models/report-builder-library.model.js.map +0 -1
  570. package/models/report-builder-report.model.d.ts +0 -121
  571. package/models/report-builder-report.model.js +0 -4
  572. package/models/report-builder-report.model.js.map +0 -1
  573. package/models/report-builder.model.d.ts +0 -61
  574. package/models/report-builder.model.js +0 -4
  575. package/models/report-builder.model.js.map +0 -1
  576. package/models/select-data-label.model.d.ts +0 -9
  577. package/models/select-data-label.model.js +0 -4
  578. package/models/select-data-label.model.js.map +0 -1
  579. package/models/server-message.model.d.ts +0 -32
  580. package/models/server-message.model.js +0 -4
  581. package/models/server-message.model.js.map +0 -1
  582. package/models/slow-query-report.model.d.ts +0 -23
  583. package/models/slow-query-report.model.js +0 -4
  584. package/models/slow-query-report.model.js.map +0 -1
  585. package/models/subscription.model.d.ts +0 -31
  586. package/models/subscription.model.js +0 -4
  587. package/models/subscription.model.js.map +0 -1
  588. package/models/support-ticket.model.d.ts +0 -87
  589. package/models/support-ticket.model.js +0 -4
  590. package/models/support-ticket.model.js.map +0 -1
  591. package/models/user-group.model.d.ts +0 -20
  592. package/models/user-group.model.js +0 -4
  593. package/models/user-group.model.js.map +0 -1
  594. package/models/user-guide.model.js +0 -4
  595. package/models/user-guide.model.js.map +0 -1
  596. package/models/user.model.d.ts +0 -84
  597. package/models/user.model.js +0 -4
  598. package/models/user.model.js.map +0 -1
  599. package/private/images/ResolveIO.png +0 -0
  600. package/public_api.js +0 -127
  601. package/public_api.js.map +0 -1
  602. package/publications/ai-terminal.d.ts +0 -1
  603. package/publications/ai-terminal.js +0 -122
  604. package/publications/ai-terminal.js.map +0 -1
  605. package/publications/app-settings.d.ts +0 -2
  606. package/publications/app-settings.js +0 -28
  607. package/publications/app-settings.js.map +0 -1
  608. package/publications/app-status.d.ts +0 -2
  609. package/publications/app-status.js +0 -16
  610. package/publications/app-status.js.map +0 -1
  611. package/publications/cron-jobs.d.ts +0 -2
  612. package/publications/cron-jobs.js +0 -88
  613. package/publications/cron-jobs.js.map +0 -1
  614. package/publications/customer-notifications.d.ts +0 -2
  615. package/publications/customer-notifications.js +0 -161
  616. package/publications/customer-notifications.js.map +0 -1
  617. package/publications/files.d.ts +0 -2
  618. package/publications/files.js +0 -36
  619. package/publications/files.js.map +0 -1
  620. package/publications/flags-update.d.ts +0 -2
  621. package/publications/flags-update.js +0 -22
  622. package/publications/flags-update.js.map +0 -1
  623. package/publications/flags.d.ts +0 -2
  624. package/publications/flags.js +0 -22
  625. package/publications/flags.js.map +0 -1
  626. package/publications/logs.d.ts +0 -2
  627. package/publications/logs.js +0 -164
  628. package/publications/logs.js.map +0 -1
  629. package/publications/notifications.d.ts +0 -2
  630. package/publications/notifications.js +0 -16
  631. package/publications/notifications.js.map +0 -1
  632. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  633. package/publications/report-builder-dashboard-builders.js +0 -42
  634. package/publications/report-builder-dashboard-builders.js.map +0 -1
  635. package/publications/report-builder-libraries.d.ts +0 -2
  636. package/publications/report-builder-libraries.js +0 -90
  637. package/publications/report-builder-libraries.js.map +0 -1
  638. package/publications/report-builder-reports.d.ts +0 -2
  639. package/publications/report-builder-reports.js +0 -50
  640. package/publications/report-builder-reports.js.map +0 -1
  641. package/publications/super-admin.d.ts +0 -2
  642. package/publications/super-admin.js +0 -16
  643. package/publications/super-admin.js.map +0 -1
  644. package/publications/user-groups.d.ts +0 -1
  645. package/publications/user-groups.js +0 -16
  646. package/publications/user-groups.js.map +0 -1
  647. package/publications/user-guides.d.ts +0 -1
  648. package/publications/user-guides.js +0 -16
  649. package/publications/user-guides.js.map +0 -1
  650. package/resolveio-server-app.d.ts +0 -70
  651. package/resolveio-server-app.js +0 -801
  652. package/resolveio-server-app.js.map +0 -1
  653. package/server-app.d.ts +0 -228
  654. package/server-app.js +0 -3566
  655. package/server-app.js.map +0 -1
  656. package/services/codex-client.d.ts +0 -128
  657. package/services/codex-client.js +0 -1629
  658. package/services/codex-client.js.map +0 -1
  659. package/services/openai-client.d.ts +0 -46
  660. package/services/openai-client.js +0 -318
  661. package/services/openai-client.js.map +0 -1
  662. package/types/error-report.d.ts +0 -25
  663. package/types/error-report.js +0 -4
  664. package/types/error-report.js.map +0 -1
  665. package/types/slow-query-report.d.ts +0 -27
  666. package/types/slow-query-report.js +0 -6
  667. package/types/slow-query-report.js.map +0 -1
  668. package/util/ai-qa-policy.d.ts +0 -124
  669. package/util/ai-qa-policy.js +0 -736
  670. package/util/ai-qa-policy.js.map +0 -1
  671. package/util/ai-run-evidence-adapters.d.ts +0 -109
  672. package/util/ai-run-evidence-adapters.js +0 -7234
  673. package/util/ai-run-evidence-adapters.js.map +0 -1
  674. package/util/ai-run-evidence-dashboard.d.ts +0 -88
  675. package/util/ai-run-evidence-dashboard.js +0 -343
  676. package/util/ai-run-evidence-dashboard.js.map +0 -1
  677. package/util/ai-run-evidence-eval.d.ts +0 -86
  678. package/util/ai-run-evidence-eval.js +0 -1018
  679. package/util/ai-run-evidence-eval.js.map +0 -1
  680. package/util/ai-run-evidence.d.ts +0 -244
  681. package/util/ai-run-evidence.js +0 -1096
  682. package/util/ai-run-evidence.js.map +0 -1
  683. package/util/ai-runner-artifacts.d.ts +0 -82
  684. package/util/ai-runner-artifacts.js +0 -713
  685. package/util/ai-runner-artifacts.js.map +0 -1
  686. package/util/ai-runner-manager-autopilot.d.ts +0 -210
  687. package/util/ai-runner-manager-autopilot.js +0 -642
  688. package/util/ai-runner-manager-autopilot.js.map +0 -1
  689. package/util/ai-runner-manager-policy.d.ts +0 -807
  690. package/util/ai-runner-manager-policy.js +0 -3501
  691. package/util/ai-runner-manager-policy.js.map +0 -1
  692. package/util/ai-runner-qa-auth.d.ts +0 -5
  693. package/util/ai-runner-qa-auth.js +0 -839
  694. package/util/ai-runner-qa-auth.js.map +0 -1
  695. package/util/ai-runner-qa-tools.d.ts +0 -26
  696. package/util/ai-runner-qa-tools.js +0 -3520
  697. package/util/ai-runner-qa-tools.js.map +0 -1
  698. package/util/aicoder-runner-v6.d.ts +0 -426
  699. package/util/aicoder-runner-v6.js +0 -2464
  700. package/util/aicoder-runner-v6.js.map +0 -1
  701. package/util/common.d.ts +0 -31
  702. package/util/common.js +0 -683
  703. package/util/common.js.map +0 -1
  704. package/util/customer-portal-password.d.ts +0 -13
  705. package/util/customer-portal-password.js +0 -209
  706. package/util/customer-portal-password.js.map +0 -1
  707. package/util/error-reporter.d.ts +0 -52
  708. package/util/error-reporter.js +0 -326
  709. package/util/error-reporter.js.map +0 -1
  710. package/util/error-tracking.d.ts +0 -13
  711. package/util/error-tracking.js +0 -120
  712. package/util/error-tracking.js.map +0 -1
  713. package/util/openai-usage-cost.d.ts +0 -6
  714. package/util/openai-usage-cost.js +0 -103
  715. package/util/openai-usage-cost.js.map +0 -1
  716. package/util/report-builder-unwinds.d.ts +0 -15
  717. package/util/report-builder-unwinds.js +0 -156
  718. package/util/report-builder-unwinds.js.map +0 -1
  719. package/util/runner-process-janitor.d.ts +0 -27
  720. package/util/runner-process-janitor.js +0 -208
  721. package/util/runner-process-janitor.js.map +0 -1
  722. package/util/schema-report-builder.d.ts +0 -6
  723. package/util/schema-report-builder.js +0 -481
  724. package/util/schema-report-builder.js.map +0 -1
  725. package/util/slow-query-reporter.d.ts +0 -28
  726. package/util/slow-query-reporter.js +0 -226
  727. package/util/slow-query-reporter.js.map +0 -1
  728. package/util/subscription-dependency-context.d.ts +0 -34
  729. package/util/subscription-dependency-context.js +0 -1283
  730. package/util/subscription-dependency-context.js.map +0 -1
  731. package/util/support-runner-v5.d.ts +0 -1426
  732. package/util/support-runner-v5.js +0 -7631
  733. package/util/support-runner-v5.js.map +0 -1
  734. package/util/tokenizer.d.ts +0 -5
  735. package/util/tokenizer.js +0 -41
  736. package/util/tokenizer.js.map +0 -1
  737. package/workers/codex-runner.worker.d.ts +0 -1
  738. package/workers/codex-runner.worker.js +0 -192
  739. package/workers/codex-runner.worker.js.map +0 -1
  740. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  741. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  742. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  743. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  744. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
  745. /package/{public_api.d.ts → src/public_api.ts} +0 -0
package/gulpfile.js ADDED
@@ -0,0 +1,216 @@
1
+ var gulp = require("gulp");
2
+ var exec = require('child_process').exec;
3
+ var rename = require("gulp-rename");
4
+ var del = require('del');
5
+ var sourcemaps = require('gulp-sourcemaps');
6
+ var zip = require('gulp-zip');
7
+ var ts = require("gulp-typescript");
8
+ var nodemon = require("gulp-nodemon");
9
+ var uglify = require('gulp-uglify');
10
+ var gulpIf = require('gulp-if');
11
+ const { ESLint } = require('eslint');
12
+ const fs = require('fs');
13
+
14
+
15
+ var paths = {
16
+ src: 'src/**/*',
17
+ srcTS: 'src/**/*.ts',
18
+ srcPrivate: 'src/private/**/*',
19
+
20
+ tmp: 'tmp',
21
+ tmpJS: 'tmp/**/*.js',
22
+ tmpPrivate: 'tmp/private',
23
+
24
+ dist: 'dist',
25
+ distJS: 'dist/**/*.js',
26
+ distPrivate: 'dist/private',
27
+
28
+ dbDir: 'mongo/data/db',
29
+ dbLogs: 'mongo/log'
30
+ };
31
+ var shell = require('gulp-shell');
32
+
33
+ gulp.task('eslint', async function () {
34
+ const eslint = new ESLint({
35
+ overrideConfigFile: './eslint.config.js'
36
+ });
37
+
38
+ const results = await eslint.lintFiles(['./src/**/*.ts']);
39
+ const formatter = await eslint.loadFormatter('stylish');
40
+ const resultText = formatter.format(results);
41
+
42
+ console.log(resultText);
43
+
44
+ const hasErrors = results.some(result => result.errorCount > 0);
45
+
46
+ if (hasErrors) {
47
+ throw new Error('ESLint errors detected');
48
+ }
49
+ });
50
+
51
+ gulp.task('clean', function () {
52
+ return del([paths.tmp, paths.dist]);
53
+ });
54
+
55
+ // Function to check if MongoDB is running and kill the process if it is
56
+ function killMongoIfRunning(cb) {
57
+ exec('pgrep mongod', (err, stdout, stderr) => {
58
+ if (stdout) {
59
+ console.log('MongoDB is running. Killing the process...');
60
+ exec('pkill mongod', (killErr, killStdout, killStderr) => {
61
+ if (killErr) {
62
+ console.error('Error killing MongoDB:', killStderr);
63
+ } else {
64
+ console.log('MongoDB process killed.');
65
+ }
66
+ cb();
67
+ });
68
+ } else {
69
+ console.log('MongoDB is not running.');
70
+ cb();
71
+ }
72
+ });
73
+ }
74
+
75
+ // Gulp task to start MongoDB after killing any existing process
76
+ gulp.task('mongo-start', function(done) {
77
+ killMongoIfRunning(() => {
78
+ fs.mkdirSync(paths.dbDir, { recursive: true });
79
+ fs.mkdirSync(paths.dbLogs, { recursive: true });
80
+
81
+ const finish = (() => {
82
+ let completed = false;
83
+ return (err) => {
84
+ if (completed) {
85
+ return;
86
+ }
87
+
88
+ completed = true;
89
+ done(err);
90
+ };
91
+ })();
92
+
93
+ const stream = gulp.src('.')
94
+ .pipe(shell('mongod --fork --dbpath ' + paths.dbDir + '/ --logpath ' + paths.dbLogs + '/mongo.log --port 3001 --replSet rs0 --bind_ip 127.0.0.1'))
95
+ .pipe(shell(['mongosh --port 3001 < mongodbensurers.js']));
96
+
97
+ stream.on('error', finish);
98
+ stream.on('end', () => finish());
99
+ stream.on('finish', () => finish());
100
+ });
101
+ });
102
+
103
+ gulp.task("mongo-stop", function() {
104
+ return gulp.src('.')
105
+ .pipe(shell(['killall mongod']));
106
+ });
107
+
108
+ gulp.task("config", gulp.series("clean", function() {
109
+ return gulp.src('./settings.development.json')
110
+ .pipe(rename('settings.json'))
111
+ .pipe(gulp.dest(paths.tmp));
112
+ }));
113
+
114
+ gulp.task("email-templates", function() {
115
+ return gulp.src(paths.srcPrivate)
116
+ .pipe(gulp.dest(paths.tmpPrivate));
117
+ });
118
+
119
+ function waitForStreams(streams) {
120
+ return Promise.all(streams.map((stream) => {
121
+ return new Promise((resolve, reject) => {
122
+ stream.on('finish', resolve);
123
+ stream.on('end', resolve);
124
+ stream.on('error', reject);
125
+ });
126
+ }));
127
+ }
128
+
129
+ function buildTypeScript(destination) {
130
+ var tsProject = ts.createProject("tsconfig.json");
131
+ var tsResult = gulp.src('src/**/*.ts')
132
+ .pipe(sourcemaps.init())
133
+ .pipe(tsProject());
134
+
135
+ var jsStream = tsResult.js
136
+ .pipe(sourcemaps.mapSources((sourcePath) => {
137
+ return sourcePath;
138
+ }))
139
+ .pipe(sourcemaps.write("./"))
140
+ .pipe(gulp.dest(destination));
141
+
142
+ var dtsStream = tsResult.dts.pipe(gulp.dest(destination));
143
+
144
+ return waitForStreams([jsStream, dtsStream]);
145
+ }
146
+
147
+ gulp.task("compile", function () {
148
+ return buildTypeScript(paths.tmp);
149
+ });
150
+
151
+ gulp.task('watch', function (done) {
152
+ gulp.watch([paths.src, './node_modules'], gulp.series('compile'));
153
+
154
+ done();
155
+ });
156
+
157
+ gulp.task("default", gulp.parallel(gulp.series("config", "email-templates", 'compile', (done) => {
158
+ nodemon({
159
+ script: "tmp/client-server-app.js",
160
+ watch: "tmp",
161
+ // exec: 'node --inspect-brk --max-old-space-size=1800 --trace-warnings',
162
+ exec: 'node --inspect --max-old-space-size=1800 --trace-warnings',
163
+ delay: 500
164
+ });
165
+
166
+ done();
167
+ }), 'watch'));
168
+
169
+ gulp.task("config:dist", gulp.series("clean", function() {
170
+ const configPath = fs.existsSync('./settings.production.json') ? './settings.production.json' : './settings.development.json';
171
+ return gulp.src(configPath, {allowEmpty: true})
172
+ .pipe(rename('settings.json'))
173
+ .pipe(gulp.dest(paths.dist));
174
+ }));
175
+
176
+ gulp.task("email-templates:dist", function() {
177
+ return gulp.src(paths.srcPrivate)
178
+ .pipe(gulp.dest(paths.distPrivate));
179
+ });
180
+
181
+ gulp.task("compile:dist", function () {
182
+ return buildTypeScript(paths.dist);
183
+ });
184
+
185
+ gulp.task("packages:dist", function () {
186
+ return gulp.src("./package.json")
187
+ .pipe(gulp.dest(paths.dist));
188
+ });
189
+
190
+ gulp.task("copy-methods-publications", function() {
191
+ return gulp.src(['methods.ts', 'publications.ts'])
192
+ .pipe(gulp.dest(paths.dist));
193
+ });
194
+
195
+ gulp.task("watch:dist", gulp.series("config:dist", "email-templates:dist", "compile:dist", "packages:dist", "copy-methods-publications", function(done) {
196
+ gulp.watch(paths.srcTS, gulp.series("compile:dist"));
197
+ gulp.watch(paths.srcPrivate, gulp.series("email-templates:dist"));
198
+ gulp.watch(['methods.ts', 'publications.ts'], gulp.series("copy-methods-publications"));
199
+ done();
200
+ }));
201
+
202
+ gulp.task("generate-methods-publications", function(done) {
203
+ exec('python3 methodAndPublicationListGenerator.py', function (err, stdout, stderr) {
204
+ if (err) {
205
+ console.error(`exec error: ${err}`);
206
+ return done(err);
207
+ }
208
+ console.log(`stdout: ${stdout}`);
209
+ console.error(`stderr: ${stderr}`);
210
+ done();
211
+ });
212
+ });
213
+
214
+ gulp.task("build-prod", gulp.series("eslint", "config", "email-templates:dist", "compile:dist", "packages:dist", "generate-methods-publications", "copy-methods-publications", function () {
215
+ return gulp.src(paths.dist + "/**/*", {dot : true});
216
+ }));
@@ -0,0 +1,375 @@
1
+ import os
2
+ import re
3
+
4
+ def parse_directory(directory, extension=".ts"):
5
+ files = []
6
+ for root, _, file_list in os.walk(directory):
7
+ for file in file_list:
8
+ if file.endswith(extension):
9
+ files.append(os.path.join(root, file))
10
+ return files
11
+
12
+ def split_params(params):
13
+ parts = []
14
+ buf = ''
15
+ depth_paren = 0
16
+ depth_brace = 0
17
+ depth_bracket = 0
18
+ depth_angle = 0
19
+ in_single = False
20
+ in_double = False
21
+ in_template = False
22
+ escape = False
23
+
24
+ for ch in params:
25
+ if escape:
26
+ buf += ch
27
+ escape = False
28
+ continue
29
+
30
+ if ch == '\\' and (in_single or in_double or in_template):
31
+ buf += ch
32
+ escape = True
33
+ continue
34
+
35
+ if ch == "'" and not in_double and not in_template:
36
+ in_single = not in_single
37
+ buf += ch
38
+ continue
39
+
40
+ if ch == '"' and not in_single and not in_template:
41
+ in_double = not in_double
42
+ buf += ch
43
+ continue
44
+
45
+ if ch == '`' and not in_single and not in_double:
46
+ in_template = not in_template
47
+ buf += ch
48
+ continue
49
+
50
+ if in_single or in_double or in_template:
51
+ buf += ch
52
+ continue
53
+
54
+ if ch == '(':
55
+ depth_paren += 1
56
+ elif ch == ')':
57
+ depth_paren = max(0, depth_paren - 1)
58
+ elif ch == '{':
59
+ depth_brace += 1
60
+ elif ch == '}':
61
+ depth_brace = max(0, depth_brace - 1)
62
+ elif ch == '[':
63
+ depth_bracket += 1
64
+ elif ch == ']':
65
+ depth_bracket = max(0, depth_bracket - 1)
66
+ elif ch == '<':
67
+ depth_angle += 1
68
+ elif ch == '>':
69
+ depth_angle = max(0, depth_angle - 1)
70
+
71
+ if ch == ',' and depth_paren == 0 and depth_brace == 0 and depth_bracket == 0 and depth_angle == 0:
72
+ if buf.strip():
73
+ parts.append(buf.strip())
74
+ buf = ''
75
+ continue
76
+
77
+ buf += ch
78
+
79
+ if buf.strip():
80
+ parts.append(buf.strip())
81
+
82
+ return parts
83
+
84
+ def build_param_lists(params):
85
+ param_list = []
86
+ call_params = []
87
+
88
+ for param in split_params(params):
89
+ param = param.strip()
90
+ if not param:
91
+ continue
92
+
93
+ param_parts = param.split(':', 1)
94
+ param_name = param_parts[0].strip().replace('?', '').split('=')[0].strip()
95
+ param_type = param_parts[1].strip() if len(param_parts) > 1 else ''
96
+
97
+ param_list.append(param)
98
+ call_params.append(param_name)
99
+
100
+ return param_list, call_params
101
+
102
+ def get_param_name(param):
103
+ return param.split(':', 1)[0].strip().replace('?', '').split('=')[0].strip()
104
+
105
+ def is_optional_param(param):
106
+ name_part = param.split(':', 1)[0].strip()
107
+ return '?' in name_part or '=' in name_part
108
+
109
+ def trim_user_specific_publication_params(param_list, call_params, is_user_specific, publication_name='unknown'):
110
+ if not is_user_specific:
111
+ return param_list, call_params
112
+
113
+ if not param_list or not call_params:
114
+ return param_list, call_params
115
+
116
+ first_param_name = get_param_name(param_list[0])
117
+ if first_param_name not in ('id_user', 'id_current_user'):
118
+ raise ValueError(f"user_specific publication {publication_name} must declare injected user id as the first parameter")
119
+
120
+ if publication_name.endswith('ForUser') and len(param_list) == 1 and first_param_name == 'id_user' and is_optional_param(param_list[0]):
121
+ raise ValueError(
122
+ f"user_specific publication {publication_name} has ambiguous optional id_user parameter; "
123
+ "declare function(id_current_user: string, id_user?: string) when the client may pass a target user, "
124
+ "or function(id_user: string) when only the logged-in user is injected"
125
+ )
126
+
127
+ return param_list[1:], call_params[1:]
128
+
129
+ def extract_methods_from_lines(lines):
130
+ methods = {}
131
+ inside_methods_block = False
132
+ inside_string = False
133
+ method_depth = 0
134
+ tmp_method = None
135
+ types_used = set()
136
+
137
+ for line in lines:
138
+ line = line.strip()
139
+
140
+ if not inside_string and re.search(r'(\.methods\(\s*\{)', line):
141
+ inside_methods_block = True
142
+ method_depth = 1
143
+ continue
144
+
145
+ if not inside_methods_block:
146
+ continue
147
+
148
+ inside_string = not inside_string if re.search(r'(?<!\\)(\'|")', line) else inside_string
149
+
150
+ method_depth += line.count('{') - line.count('}')
151
+
152
+ if method_depth == 2 and re.match(r'^[a-zA-Z0-9_]+:\s*\{', line):
153
+ tmp_method = re.match(r'^([a-zA-Z0-9_]+):\s*\{', line).group(1)
154
+
155
+ if tmp_method and method_depth == 3 and (re.search(r'function:\s*function\s*\(', line) or re.search(r'function:\s*async\s*function\s*\(', line)):
156
+ function_match = re.search(r'function\s*\(([^)]*)\)', line)
157
+
158
+ if function_match:
159
+ params = function_match.group(1).strip()
160
+ param_list = []
161
+ call_params = []
162
+ for param in split_params(params):
163
+ param_parts = param.split(':', 1)
164
+ param_name = param_parts[0].strip().replace('?', '').split('=')[0].strip()
165
+ param_type = param_parts[1].strip() if len(param_parts) > 1 else ''
166
+
167
+ # Handle arrays or other complex types
168
+ base_type = re.sub(r'\[\]|\<.*?\>', '', param_type).strip()
169
+ if base_type:
170
+ types_used.add(base_type)
171
+ param_list.append(param.strip())
172
+ call_params.append(param_name)
173
+
174
+ tmp_parameters = ", ".join(param_list)
175
+
176
+ if tmp_parameters:
177
+ method_line = f"\t\t{tmp_method}: ({tmp_parameters}, cb?: Function): Promise<any> => {{"
178
+ call_line = f"\t\t\treturn resolveioServer.call('{tmp_method}', {', '.join(call_params)}, cb);"
179
+ else:
180
+ method_line = f"\t\t{tmp_method}: (cb?: Function): Promise<any> => {{"
181
+ call_line = f"\t\t\treturn resolveioServer.call('{tmp_method}', cb);"
182
+
183
+ methods[tmp_method] = [method_line, call_line, "\t\t},"]
184
+ tmp_method = None
185
+
186
+ if method_depth == 0 and '});' in line:
187
+ inside_methods_block = False
188
+
189
+ return methods, types_used
190
+
191
+ def extract_publications_from_lines(lines):
192
+ publications = {}
193
+ inside_publications_block = False
194
+ inside_string = False
195
+ publication_depth = 0
196
+ tmp_publication = None
197
+ types_used = set()
198
+ tmp_param_list = None
199
+ tmp_call_params = None
200
+ tmp_user_specific = False
201
+
202
+ for line in lines:
203
+ line = line.strip()
204
+
205
+ if not inside_string and re.search(r'(\.publications\(\s*\{)', line):
206
+ inside_publications_block = True
207
+ publication_depth = 1
208
+ continue
209
+
210
+ if not inside_publications_block:
211
+ continue
212
+
213
+ inside_string = not inside_string if re.search(r'(?<!\\)(\'|")', line) else inside_string
214
+
215
+ publication_depth += line.count('{') - line.count('}')
216
+
217
+ if publication_depth == 2 and re.match(r'^[a-zA-Z0-9_]+:\s*\{', line):
218
+ tmp_publication = re.match(r'^([a-zA-Z0-9_]+):\s*\{', line).group(1)
219
+ tmp_param_list = None
220
+ tmp_call_params = None
221
+ tmp_user_specific = False
222
+
223
+ if tmp_publication and publication_depth == 3 and (re.search(r'function:\s*function\s*\(', line) or re.search(r'function:\s*async\s*function\s*\(', line)):
224
+ function_match = re.search(r'function\s*\(([^)]*)\)', line)
225
+
226
+ if function_match:
227
+ params = function_match.group(1).strip()
228
+ tmp_param_list, tmp_call_params = build_param_lists(params)
229
+ for param in tmp_param_list:
230
+ param_parts = param.split(':', 1)
231
+ param_type = param_parts[1].strip() if len(param_parts) > 1 else ''
232
+ base_type = re.sub(r'\[\]|\<.*?\>', '', param_type).strip()
233
+ if base_type:
234
+ types_used.add(base_type)
235
+
236
+ if tmp_publication and publication_depth >= 2 and re.search(r'user_specific\s*:\s*true', line):
237
+ tmp_user_specific = True
238
+
239
+ if tmp_publication and publication_depth == 1 and tmp_param_list is not None:
240
+ param_list, call_params = trim_user_specific_publication_params(
241
+ tmp_param_list,
242
+ tmp_call_params,
243
+ tmp_user_specific,
244
+ tmp_publication
245
+ )
246
+ tmp_parameters = ", ".join(param_list)
247
+
248
+ if tmp_parameters:
249
+ publication_line = f"\t\t{tmp_publication}: ({tmp_parameters}) => {{"
250
+ call_line = f"\t\t\treturn <Observable<any>> resolveioServer.subscribe('{tmp_publication}', {', '.join(call_params)});"
251
+ else:
252
+ publication_line = f"\t\t{tmp_publication}: () => {{"
253
+ call_line = f"\t\t\treturn <Observable<any>> resolveioServer.subscribe('{tmp_publication}');"
254
+
255
+ publications[tmp_publication] = [publication_line, call_line, "\t\t},"]
256
+ tmp_publication = None
257
+ tmp_param_list = None
258
+ tmp_call_params = None
259
+ tmp_user_specific = False
260
+
261
+ if publication_depth == 0 and '});' in line:
262
+ inside_publications_block = False
263
+
264
+ return publications, types_used
265
+
266
+ def generate_import_statements(types_used, models_directory):
267
+ import_statements = []
268
+ available_models = {}
269
+
270
+ # Scan the models directory to find available models and types
271
+ for root, _, files in os.walk(models_directory):
272
+ for file in files:
273
+ if file.endswith(".ts"):
274
+ file_path = os.path.join(root, file)
275
+ with open(file_path, 'r') as model_file:
276
+ model_content = model_file.read()
277
+
278
+ # Look for both interface and type exports
279
+ export_matches = re.findall(r'export\s+(?:interface|type)\s+([a-zA-Z0-9_]+)', model_content)
280
+ for match in export_matches:
281
+ available_models[match] = os.path.relpath(file_path, start=os.path.dirname(models_directory)).replace("\\", "/").replace(".ts", "")
282
+
283
+ # Generate import statements for types used
284
+ for type_name in types_used:
285
+ if type_name in available_models:
286
+ import_path = available_models[type_name]
287
+ import_statements.append(f"import {{ {type_name} }} from './{import_path}';")
288
+
289
+ return sorted(import_statements)
290
+
291
+ def generate_methods_file(files, models_directory, output_file):
292
+ method_blocks = {} # Dictionary to hold method blocks
293
+ all_types_used = set() # Set to track types used
294
+
295
+ # Iterate over each file and extract methods
296
+ for file in files:
297
+ with open(file, 'r') as f:
298
+ lines = f.readlines()
299
+ extracted_methods, types_used = extract_methods_from_lines(lines)
300
+
301
+ # Collect all method blocks from this file into method_blocks
302
+ method_blocks.update(extracted_methods)
303
+
304
+ # Collect types used
305
+ all_types_used.update(types_used)
306
+
307
+ # Sort methods globally by their method names
308
+ sorted_method_names = sorted(method_blocks.keys())
309
+
310
+ # Generate import statements
311
+ import_statements = generate_import_statements(all_types_used, models_directory)
312
+
313
+ # Write to the output file
314
+ with open(output_file, 'w') as f:
315
+ for import_statement in import_statements:
316
+ f.write(f"{import_statement}\n")
317
+ f.write("\nexport function SERVER_METHODS(resolveioServer) {\n")
318
+ f.write("\treturn {\n")
319
+
320
+ # Append sorted methods to the file
321
+ for method_name in sorted_method_names:
322
+ for line in method_blocks[method_name]:
323
+ f.write(f"{line}\n")
324
+
325
+ f.write("\t};\n")
326
+ f.write("}\n")
327
+
328
+ def generate_publications_file(files, models_directory, output_file):
329
+ publication_blocks = {} # Dictionary to hold publication blocks
330
+ all_types_used = set() # Set to track types used
331
+
332
+ # Iterate over each file and extract publications
333
+ for file in files:
334
+ with open(file, 'r') as f:
335
+ lines = f.readlines()
336
+ extracted_publications, types_used = extract_publications_from_lines(lines)
337
+
338
+ # Collect all method blocks from this file into method_blocks
339
+ publication_blocks.update(extracted_publications)
340
+
341
+ # Collect types used
342
+ all_types_used.update(types_used)
343
+
344
+ # Sort publications globally by their publication names
345
+ sorted_publication_names = sorted(publication_blocks.keys())
346
+
347
+ # Generate import statements
348
+ import_statements = generate_import_statements(all_types_used, models_directory)
349
+
350
+ # Write to the output file
351
+ with open(output_file, 'w') as f:
352
+ f.write("import { Observable } from 'rxjs';\n")
353
+ for import_statement in import_statements:
354
+ f.write(f"{import_statement}\n")
355
+ f.write("\nexport function SERVER_PUBLICATIONS(resolveioServer) {\n")
356
+ f.write("\treturn {\n")
357
+
358
+ # Append sorted publications to the file
359
+ for publication_name in sorted_publication_names:
360
+ for line in publication_blocks[publication_name]:
361
+ f.write(f"{line}\n")
362
+
363
+ f.write("\t};\n")
364
+ f.write("}\n")
365
+
366
+ if __name__ == "__main__":
367
+ method_dir = './src/methods'
368
+ pub_dir = './src/publications'
369
+ models_dir = './src/models'
370
+
371
+ method_files = parse_directory(method_dir)
372
+ pub_files = parse_directory(pub_dir)
373
+
374
+ generate_methods_file(method_files, models_dir, 'methods.ts')
375
+ generate_publications_file(pub_files, models_dir, 'publications.ts')
@@ -0,0 +1,2 @@
1
+ rs.initiate();
2
+ exit;
package/mongostop.js ADDED
@@ -0,0 +1,3 @@
1
+ db.adminCommand( { replSetStepDown: 120, secondaryCatchUpPeriodSecs: 15, force: true } );
2
+ db.shutdownServer();
3
+ exit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "22.3.220",
3
+ "version": "22.3.221",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",