@resolveio/server-lib 22.3.53 → 22.3.55

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 (691) hide show
  1. package/.nodemon.json +5 -0
  2. package/.vscode/settings.json +21 -0
  3. package/AGENTS.md +189 -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-terminal-conversation.collection.ts +91 -0
  29. package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
  30. package/src/collections/ai-terminal-message.collection.ts +77 -0
  31. package/src/collections/app-setting.collection.ts +104 -0
  32. package/src/collections/app-status.collection.ts +58 -0
  33. package/src/collections/communication-metric.collection.ts +84 -0
  34. package/src/collections/counter.collection.ts +56 -0
  35. package/src/collections/cron-job-history.collection.ts +94 -0
  36. package/src/collections/cron-job.collection.ts +92 -0
  37. package/src/collections/customer-notification.collection.ts +131 -0
  38. package/src/collections/customer-portal-password.collection.ts +76 -0
  39. package/src/collections/email-history.collection.ts +127 -0
  40. package/src/collections/email-verified.collection.ts +62 -0
  41. package/src/collections/file.collection.ts +74 -0
  42. package/src/collections/flag-update.collection.ts +57 -0
  43. package/src/collections/flag.collection.ts +57 -0
  44. package/src/collections/log-method-latency.collection.ts +77 -0
  45. package/src/collections/log-subscription.collection.ts +80 -0
  46. package/src/collections/log.collection.ts +93 -0
  47. package/src/collections/logged-in-users.collection.ts +67 -0
  48. package/src/collections/monitor-cpu.collection.ts +65 -0
  49. package/src/collections/monitor-function.collection.ts +74 -0
  50. package/src/collections/monitor-memory.collection.ts +77 -0
  51. package/src/collections/monitor-mongo.collection.ts +71 -0
  52. package/src/collections/notification.collection.ts +57 -0
  53. package/src/collections/openai-usage-ledger.collection.ts +77 -0
  54. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  55. package/src/collections/report-builder-library.collection.ts +89 -0
  56. package/src/collections/report-builder-report.collection.ts +184 -0
  57. package/src/collections/user-group.collection.ts +89 -0
  58. package/src/collections/user-guide.collection.ts +57 -0
  59. package/src/collections/user.collection.ts +181 -0
  60. package/src/cron/cron.ts +117 -0
  61. package/src/fixtures/cron-jobs.ts +95 -0
  62. package/src/fixtures/init.ts +35 -0
  63. package/src/http/auth.ts +764 -0
  64. package/src/http/health.ts +7 -0
  65. package/src/http/home.ts +90 -0
  66. package/src/http/slow-query-publication.ts +49 -0
  67. package/src/index.ts +1 -0
  68. package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
  69. package/src/managers/communication-metric.manager.ts +82 -0
  70. package/src/managers/cron.manager.ts +333 -0
  71. package/src/managers/customer-notification-content.manager.ts +236 -0
  72. package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
  73. package/src/managers/error-auto-fix.manager.ts +2767 -0
  74. package/src/managers/local-log.manager.ts +113 -0
  75. package/src/managers/method.manager.ts +1827 -0
  76. package/src/managers/mongo.manager.ts +4575 -0
  77. package/src/managers/monitor.manager.ts +507 -0
  78. package/src/managers/openai-usage-ledger.manager.ts +116 -0
  79. package/src/managers/slow-query-verifier.manager.ts +3590 -0
  80. package/src/managers/slow-query.manager.ts +519 -0
  81. package/src/managers/subscription.manager.ts +3128 -0
  82. package/src/managers/websocket.manager.ts +746 -0
  83. package/src/managers/worker-dispatcher.manager.ts +1360 -0
  84. package/src/managers/worker-server.manager.ts +536 -0
  85. package/src/methods/accounts.ts +532 -0
  86. package/src/methods/ai-terminal.ts +23134 -0
  87. package/src/methods/app-settings.ts +114 -0
  88. package/src/methods/aws.ts +649 -0
  89. package/src/methods/collections.ts +641 -0
  90. package/src/methods/counters.ts +69 -0
  91. package/src/methods/cron-jobs.ts +2614 -0
  92. package/src/methods/customer-notifications.ts +458 -0
  93. package/src/methods/diagnostics.ts +616 -0
  94. package/src/methods/flag-updates.ts +7 -0
  95. package/src/methods/flags.ts +7 -0
  96. package/src/methods/logs.ts +657 -0
  97. package/src/methods/mongo-explorer.ts +1880 -0
  98. package/src/methods/monitor.ts +540 -0
  99. package/src/methods/pdf.ts +1236 -0
  100. package/src/methods/publications.ts +129 -0
  101. package/src/methods/report-builder.ts +3300 -0
  102. package/src/methods/support.ts +335 -0
  103. package/src/models/ai-terminal-conversation.model.ts +19 -0
  104. package/src/models/ai-terminal-issue-report.model.ts +21 -0
  105. package/src/models/ai-terminal-message.model.ts +24 -0
  106. package/src/models/app-setting.model.ts +17 -0
  107. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  108. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  109. package/src/models/collection-document.model.ts +24 -0
  110. package/src/models/communication-metric.model.ts +23 -0
  111. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  112. package/src/models/cron-job-history.model.ts +16 -0
  113. package/src/models/cron-job.model.ts +15 -0
  114. package/src/models/customer-notification.model.ts +28 -0
  115. package/src/models/customer-portal-password.model.ts +12 -0
  116. package/src/models/dialog.model.ts +25 -0
  117. package/{models/email-history.model.js → src/models/email-history.model.ts} +35 -4
  118. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  119. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  120. package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
  121. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  122. package/src/models/log-method-latency.model.ts +11 -0
  123. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
  124. package/src/models/log.model.ts +19 -0
  125. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  126. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  127. package/src/models/method.model.ts +25 -0
  128. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  129. package/src/models/monitor-function.model.ts +16 -0
  130. package/src/models/monitor-memory.model.ts +17 -0
  131. package/src/models/monitor-mongo.model.ts +15 -0
  132. package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
  133. package/src/models/openai-usage-ledger.model.ts +16 -0
  134. package/src/models/pagination.model.ts +35 -0
  135. package/src/models/permission.model.ts +14 -0
  136. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  137. package/src/models/report-builder-library.model.ts +20 -0
  138. package/src/models/report-builder-report.model.ts +136 -0
  139. package/src/models/report-builder.model.ts +68 -0
  140. package/src/models/select-data-label.model.ts +9 -0
  141. package/src/models/server-message.model.ts +31 -0
  142. package/src/models/slow-query-report.model.ts +23 -0
  143. package/src/models/subscription.model.ts +73 -0
  144. package/src/models/support-ticket.model.ts +104 -0
  145. package/src/models/user-group.model.ts +24 -0
  146. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  147. package/src/models/user.model.ts +96 -0
  148. package/src/private/images/ResolveIO.png +0 -0
  149. package/src/publications/ai-terminal.ts +73 -0
  150. package/src/publications/app-settings.ts +25 -0
  151. package/src/publications/app-status.ts +13 -0
  152. package/src/publications/cron-jobs.ts +40 -0
  153. package/src/publications/customer-notifications.ts +101 -0
  154. package/src/publications/files.ts +33 -0
  155. package/src/publications/flags-update.ts +19 -0
  156. package/src/publications/flags.ts +19 -0
  157. package/src/publications/logs.ts +163 -0
  158. package/src/publications/notifications.ts +13 -0
  159. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  160. package/src/publications/report-builder-libraries.ts +41 -0
  161. package/src/publications/report-builder-reports.ts +47 -0
  162. package/src/publications/super-admin.ts +13 -0
  163. package/src/publications/user-groups.ts +12 -0
  164. package/src/publications/user-guides.ts +12 -0
  165. package/src/resolveio-server-app.ts +617 -0
  166. package/src/server-app.ts +3354 -0
  167. package/src/services/codex-client.ts +1223 -0
  168. package/src/services/openai-client.ts +265 -0
  169. package/src/types/error-report.ts +26 -0
  170. package/src/types/js-tiktoken.d.ts +11 -0
  171. package/src/types/slow-query-report.ts +28 -0
  172. package/src/util/ai-qa-policy.ts +879 -0
  173. package/src/util/ai-runner-artifacts.ts +430 -0
  174. package/src/util/ai-runner-qa-auth.ts +356 -0
  175. package/src/util/ai-runner-qa-tools.ts +708 -0
  176. package/src/util/common.ts +649 -0
  177. package/src/util/customer-portal-password.ts +183 -0
  178. package/src/util/error-reporter.ts +332 -0
  179. package/src/util/error-tracking.ts +79 -0
  180. package/src/util/report-builder-unwinds.ts +180 -0
  181. package/src/util/runner-process-janitor.ts +195 -0
  182. package/src/util/schema-report-builder.ts +448 -0
  183. package/src/util/slow-query-reporter.ts +216 -0
  184. package/src/util/subscription-dependency-context.ts +1096 -0
  185. package/src/util/tokenizer.ts +38 -0
  186. package/src/workers/codex-runner.worker.ts +142 -0
  187. package/start_server.sh +5 -0
  188. package/tests/ai-assistant-corpus-build.ts +484 -0
  189. package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
  190. package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
  191. package/tests/ai-assistant-eval-triage.ts +831 -0
  192. package/tests/ai-assistant-openai-e2e.ts +1061 -0
  193. package/tests/ai-assistant-openai-git-e2e.ts +155 -0
  194. package/tests/ai-assistant-preflight-matrix.ts +215 -0
  195. package/tests/ai-assistant-routing-eval.test.ts +560 -0
  196. package/tests/ai-assistant-snf-live-eval.ts +975 -0
  197. package/tests/ai-assistant-utils.test.ts +2968 -0
  198. package/tests/ai-runner-contract.test.ts +287 -0
  199. package/tests/error-reporter.test.ts +145 -0
  200. package/tests/method-publication-generator.test.ts +46 -0
  201. package/tests/report-builder-linking.test.ts +79 -0
  202. package/tests/resolveio-platform-intelligence.test.ts +352 -0
  203. package/tests/server-app-cron-owner.test.ts +127 -0
  204. package/tests/subscription-connect-race.test.ts +158 -0
  205. package/tests/subscription-dependency-context.test.ts +324 -0
  206. package/tests/subscription-manager-collection-tracking.test.ts +86 -0
  207. package/tests/subscription-manager-invalidation.test.ts +86 -0
  208. package/tsconfig.json +34 -0
  209. package/ai/assistant-core-heuristics.d.ts +0 -11
  210. package/ai/assistant-core-heuristics.js +0 -356
  211. package/ai/assistant-core-heuristics.js.map +0 -1
  212. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
  213. package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
  214. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
  215. package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
  216. package/ai/resolveio-platform-intelligence-memory.js +0 -341
  217. package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
  218. package/ai/resolveio-platform-intelligence-types.js +0 -4
  219. package/ai/resolveio-platform-intelligence-types.js.map +0 -1
  220. package/ai/resolveio-platform-intelligence.d.ts +0 -6
  221. package/ai/resolveio-platform-intelligence.js +0 -463
  222. package/ai/resolveio-platform-intelligence.js.map +0 -1
  223. package/client-server-app.d.ts +0 -1
  224. package/client-server-app.js +0 -68
  225. package/client-server-app.js.map +0 -1
  226. package/collections/ai-terminal-conversation.collection.d.ts +0 -2
  227. package/collections/ai-terminal-conversation.collection.js +0 -140
  228. package/collections/ai-terminal-conversation.collection.js.map +0 -1
  229. package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
  230. package/collections/ai-terminal-issue-report.collection.js +0 -148
  231. package/collections/ai-terminal-issue-report.collection.js.map +0 -1
  232. package/collections/ai-terminal-message.collection.d.ts +0 -2
  233. package/collections/ai-terminal-message.collection.js +0 -121
  234. package/collections/ai-terminal-message.collection.js.map +0 -1
  235. package/collections/app-setting.collection.d.ts +0 -3
  236. package/collections/app-setting.collection.js +0 -103
  237. package/collections/app-setting.collection.js.map +0 -1
  238. package/collections/app-status.collection.d.ts +0 -3
  239. package/collections/app-status.collection.js +0 -57
  240. package/collections/app-status.collection.js.map +0 -1
  241. package/collections/communication-metric.collection.d.ts +0 -2
  242. package/collections/communication-metric.collection.js +0 -133
  243. package/collections/communication-metric.collection.js.map +0 -1
  244. package/collections/counter.collection.d.ts +0 -3
  245. package/collections/counter.collection.js +0 -56
  246. package/collections/counter.collection.js.map +0 -1
  247. package/collections/cron-job-history.collection.d.ts +0 -3
  248. package/collections/cron-job-history.collection.js +0 -137
  249. package/collections/cron-job-history.collection.js.map +0 -1
  250. package/collections/cron-job.collection.d.ts +0 -3
  251. package/collections/cron-job.collection.js +0 -92
  252. package/collections/cron-job.collection.js.map +0 -1
  253. package/collections/customer-notification.collection.d.ts +0 -3
  254. package/collections/customer-notification.collection.js +0 -130
  255. package/collections/customer-notification.collection.js.map +0 -1
  256. package/collections/customer-portal-password.collection.d.ts +0 -3
  257. package/collections/customer-portal-password.collection.js +0 -75
  258. package/collections/customer-portal-password.collection.js.map +0 -1
  259. package/collections/email-history.collection.d.ts +0 -3
  260. package/collections/email-history.collection.js +0 -127
  261. package/collections/email-history.collection.js.map +0 -1
  262. package/collections/email-verified.collection.d.ts +0 -3
  263. package/collections/email-verified.collection.js +0 -62
  264. package/collections/email-verified.collection.js.map +0 -1
  265. package/collections/file.collection.d.ts +0 -3
  266. package/collections/file.collection.js +0 -74
  267. package/collections/file.collection.js.map +0 -1
  268. package/collections/flag-update.collection.d.ts +0 -3
  269. package/collections/flag-update.collection.js +0 -57
  270. package/collections/flag-update.collection.js.map +0 -1
  271. package/collections/flag.collection.d.ts +0 -3
  272. package/collections/flag.collection.js +0 -57
  273. package/collections/flag.collection.js.map +0 -1
  274. package/collections/log-method-latency.collection.d.ts +0 -3
  275. package/collections/log-method-latency.collection.js +0 -77
  276. package/collections/log-method-latency.collection.js.map +0 -1
  277. package/collections/log-subscription.collection.d.ts +0 -3
  278. package/collections/log-subscription.collection.js +0 -80
  279. package/collections/log-subscription.collection.js.map +0 -1
  280. package/collections/log.collection.d.ts +0 -3
  281. package/collections/log.collection.js +0 -93
  282. package/collections/log.collection.js.map +0 -1
  283. package/collections/logged-in-users.collection.d.ts +0 -3
  284. package/collections/logged-in-users.collection.js +0 -67
  285. package/collections/logged-in-users.collection.js.map +0 -1
  286. package/collections/monitor-cpu.collection.d.ts +0 -3
  287. package/collections/monitor-cpu.collection.js +0 -65
  288. package/collections/monitor-cpu.collection.js.map +0 -1
  289. package/collections/monitor-function.collection.d.ts +0 -3
  290. package/collections/monitor-function.collection.js +0 -74
  291. package/collections/monitor-function.collection.js.map +0 -1
  292. package/collections/monitor-memory.collection.d.ts +0 -3
  293. package/collections/monitor-memory.collection.js +0 -77
  294. package/collections/monitor-memory.collection.js.map +0 -1
  295. package/collections/monitor-mongo.collection.d.ts +0 -3
  296. package/collections/monitor-mongo.collection.js +0 -71
  297. package/collections/monitor-mongo.collection.js.map +0 -1
  298. package/collections/notification.collection.d.ts +0 -3
  299. package/collections/notification.collection.js +0 -57
  300. package/collections/notification.collection.js.map +0 -1
  301. package/collections/openai-usage-ledger.collection.d.ts +0 -2
  302. package/collections/openai-usage-ledger.collection.js +0 -124
  303. package/collections/openai-usage-ledger.collection.js.map +0 -1
  304. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  305. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  306. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  307. package/collections/report-builder-library.collection.d.ts +0 -3
  308. package/collections/report-builder-library.collection.js +0 -87
  309. package/collections/report-builder-library.collection.js.map +0 -1
  310. package/collections/report-builder-report.collection.d.ts +0 -4
  311. package/collections/report-builder-report.collection.js +0 -184
  312. package/collections/report-builder-report.collection.js.map +0 -1
  313. package/collections/user-group.collection.d.ts +0 -4
  314. package/collections/user-group.collection.js +0 -89
  315. package/collections/user-group.collection.js.map +0 -1
  316. package/collections/user-guide.collection.d.ts +0 -3
  317. package/collections/user-guide.collection.js +0 -57
  318. package/collections/user-guide.collection.js.map +0 -1
  319. package/collections/user.collection.d.ts +0 -4
  320. package/collections/user.collection.js +0 -180
  321. package/collections/user.collection.js.map +0 -1
  322. package/cron/cron.d.ts +0 -14
  323. package/cron/cron.js +0 -216
  324. package/cron/cron.js.map +0 -1
  325. package/fixtures/cron-jobs.d.ts +0 -1
  326. package/fixtures/cron-jobs.js +0 -150
  327. package/fixtures/cron-jobs.js.map +0 -1
  328. package/fixtures/init.d.ts +0 -1
  329. package/fixtures/init.js +0 -91
  330. package/fixtures/init.js.map +0 -1
  331. package/http/auth.d.ts +0 -2
  332. package/http/auth.js +0 -906
  333. package/http/auth.js.map +0 -1
  334. package/http/health.d.ts +0 -1
  335. package/http/health.js +0 -11
  336. package/http/health.js.map +0 -1
  337. package/http/home.d.ts +0 -1
  338. package/http/home.js +0 -134
  339. package/http/home.js.map +0 -1
  340. package/http/slow-query-publication.d.ts +0 -2
  341. package/http/slow-query-publication.js +0 -99
  342. package/http/slow-query-publication.js.map +0 -1
  343. package/index.d.ts +0 -1
  344. package/index.js +0 -19
  345. package/index.js.map +0 -1
  346. package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
  347. package/managers/ai-assistant-codex-manager.manager.js +0 -1113
  348. package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
  349. package/managers/communication-metric.manager.d.ts +0 -16
  350. package/managers/communication-metric.manager.js +0 -134
  351. package/managers/communication-metric.manager.js.map +0 -1
  352. package/managers/cron.manager.d.ts +0 -20
  353. package/managers/cron.manager.js +0 -534
  354. package/managers/cron.manager.js.map +0 -1
  355. package/managers/customer-notification-content.manager.d.ts +0 -55
  356. package/managers/customer-notification-content.manager.js +0 -158
  357. package/managers/customer-notification-content.manager.js.map +0 -1
  358. package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
  359. package/managers/diagnostic-manager-bootstrap.js +0 -260
  360. package/managers/diagnostic-manager-bootstrap.js.map +0 -1
  361. package/managers/error-auto-fix.manager.d.ts +0 -149
  362. package/managers/error-auto-fix.manager.js +0 -3064
  363. package/managers/error-auto-fix.manager.js.map +0 -1
  364. package/managers/local-log.manager.d.ts +0 -18
  365. package/managers/local-log.manager.js +0 -88
  366. package/managers/local-log.manager.js.map +0 -1
  367. package/managers/method.manager.d.ts +0 -83
  368. package/managers/method.manager.js +0 -1941
  369. package/managers/method.manager.js.map +0 -1
  370. package/managers/mongo.manager.d.ts +0 -224
  371. package/managers/mongo.manager.js +0 -5000
  372. package/managers/mongo.manager.js.map +0 -1
  373. package/managers/monitor.manager.d.ts +0 -70
  374. package/managers/monitor.manager.js +0 -550
  375. package/managers/monitor.manager.js.map +0 -1
  376. package/managers/openai-usage-ledger.manager.d.ts +0 -15
  377. package/managers/openai-usage-ledger.manager.js +0 -144
  378. package/managers/openai-usage-ledger.manager.js.map +0 -1
  379. package/managers/slow-query-verifier.manager.d.ts +0 -144
  380. package/managers/slow-query-verifier.manager.js +0 -3857
  381. package/managers/slow-query-verifier.manager.js.map +0 -1
  382. package/managers/slow-query.manager.d.ts +0 -28
  383. package/managers/slow-query.manager.js +0 -468
  384. package/managers/slow-query.manager.js.map +0 -1
  385. package/managers/subscription.manager.d.ts +0 -169
  386. package/managers/subscription.manager.js +0 -3434
  387. package/managers/subscription.manager.js.map +0 -1
  388. package/managers/websocket.manager.d.ts +0 -73
  389. package/managers/websocket.manager.js +0 -673
  390. package/managers/websocket.manager.js.map +0 -1
  391. package/managers/worker-dispatcher.manager.d.ts +0 -120
  392. package/managers/worker-dispatcher.manager.js +0 -1266
  393. package/managers/worker-dispatcher.manager.js.map +0 -1
  394. package/managers/worker-server.manager.d.ts +0 -35
  395. package/managers/worker-server.manager.js +0 -582
  396. package/managers/worker-server.manager.js.map +0 -1
  397. package/methods/accounts.d.ts +0 -2
  398. package/methods/accounts.js +0 -624
  399. package/methods/accounts.js.map +0 -1
  400. package/methods/ai-terminal.d.ts +0 -336
  401. package/methods/ai-terminal.js +0 -22782
  402. package/methods/ai-terminal.js.map +0 -1
  403. package/methods/app-settings.d.ts +0 -2
  404. package/methods/app-settings.js +0 -169
  405. package/methods/app-settings.js.map +0 -1
  406. package/methods/aws.d.ts +0 -2
  407. package/methods/aws.js +0 -877
  408. package/methods/aws.js.map +0 -1
  409. package/methods/collections.d.ts +0 -2
  410. package/methods/collections.js +0 -719
  411. package/methods/collections.js.map +0 -1
  412. package/methods/counters.d.ts +0 -2
  413. package/methods/counters.js +0 -113
  414. package/methods/counters.js.map +0 -1
  415. package/methods/cron-jobs.d.ts +0 -2
  416. package/methods/cron-jobs.js +0 -2475
  417. package/methods/cron-jobs.js.map +0 -1
  418. package/methods/customer-notifications.d.ts +0 -2
  419. package/methods/customer-notifications.js +0 -528
  420. package/methods/customer-notifications.js.map +0 -1
  421. package/methods/diagnostics.d.ts +0 -2
  422. package/methods/diagnostics.js +0 -703
  423. package/methods/diagnostics.js.map +0 -1
  424. package/methods/flag-updates.d.ts +0 -2
  425. package/methods/flag-updates.js +0 -8
  426. package/methods/flag-updates.js.map +0 -1
  427. package/methods/flags.d.ts +0 -2
  428. package/methods/flags.js +0 -8
  429. package/methods/flags.js.map +0 -1
  430. package/methods/logs.d.ts +0 -2
  431. package/methods/logs.js +0 -751
  432. package/methods/logs.js.map +0 -1
  433. package/methods/mongo-explorer.d.ts +0 -2
  434. package/methods/mongo-explorer.js +0 -1808
  435. package/methods/mongo-explorer.js.map +0 -1
  436. package/methods/monitor.d.ts +0 -2
  437. package/methods/monitor.js +0 -543
  438. package/methods/monitor.js.map +0 -1
  439. package/methods/pdf.d.ts +0 -2
  440. package/methods/pdf.js +0 -1216
  441. package/methods/pdf.js.map +0 -1
  442. package/methods/publications.d.ts +0 -1
  443. package/methods/publications.js +0 -183
  444. package/methods/publications.js.map +0 -1
  445. package/methods/report-builder.d.ts +0 -2
  446. package/methods/report-builder.js +0 -3094
  447. package/methods/report-builder.js.map +0 -1
  448. package/methods/support.d.ts +0 -2
  449. package/methods/support.js +0 -430
  450. package/methods/support.js.map +0 -1
  451. package/models/ai-terminal-conversation.model.d.ts +0 -17
  452. package/models/ai-terminal-conversation.model.js +0 -4
  453. package/models/ai-terminal-conversation.model.js.map +0 -1
  454. package/models/ai-terminal-issue-report.model.d.ts +0 -19
  455. package/models/ai-terminal-issue-report.model.js +0 -4
  456. package/models/ai-terminal-issue-report.model.js.map +0 -1
  457. package/models/ai-terminal-message.model.d.ts +0 -22
  458. package/models/ai-terminal-message.model.js +0 -4
  459. package/models/ai-terminal-message.model.js.map +0 -1
  460. package/models/app-setting.model.d.ts +0 -16
  461. package/models/app-setting.model.js +0 -4
  462. package/models/app-setting.model.js.map +0 -1
  463. package/models/app-status.model.js +0 -4
  464. package/models/app-status.model.js.map +0 -1
  465. package/models/billing-logged-in-users.model.js +0 -4
  466. package/models/billing-logged-in-users.model.js.map +0 -1
  467. package/models/collection-document.model.d.ts +0 -21
  468. package/models/collection-document.model.js +0 -4
  469. package/models/collection-document.model.js.map +0 -1
  470. package/models/communication-metric.model.d.ts +0 -20
  471. package/models/communication-metric.model.js +0 -4
  472. package/models/communication-metric.model.js.map +0 -1
  473. package/models/counter.model.js +0 -4
  474. package/models/counter.model.js.map +0 -1
  475. package/models/cron-job-history.model.d.ts +0 -15
  476. package/models/cron-job-history.model.js +0 -4
  477. package/models/cron-job-history.model.js.map +0 -1
  478. package/models/cron-job.model.d.ts +0 -14
  479. package/models/cron-job.model.js +0 -4
  480. package/models/cron-job.model.js.map +0 -1
  481. package/models/customer-notification.model.d.ts +0 -26
  482. package/models/customer-notification.model.js +0 -4
  483. package/models/customer-notification.model.js.map +0 -1
  484. package/models/customer-portal-password.model.d.ts +0 -11
  485. package/models/customer-portal-password.model.js +0 -4
  486. package/models/customer-portal-password.model.js.map +0 -1
  487. package/models/dialog.model.d.ts +0 -23
  488. package/models/dialog.model.js +0 -4
  489. package/models/dialog.model.js.map +0 -1
  490. package/models/email-history.model.d.ts +0 -31
  491. package/models/email-history.model.js.map +0 -1
  492. package/models/email-verified.model.js +0 -4
  493. package/models/email-verified.model.js.map +0 -1
  494. package/models/file.model.js +0 -4
  495. package/models/file.model.js.map +0 -1
  496. package/models/flag-update.model.js +0 -4
  497. package/models/flag-update.model.js.map +0 -1
  498. package/models/flag.model.js +0 -4
  499. package/models/flag.model.js.map +0 -1
  500. package/models/log-method-latency.model.d.ts +0 -10
  501. package/models/log-method-latency.model.js +0 -4
  502. package/models/log-method-latency.model.js.map +0 -1
  503. package/models/log-subscription.model.js +0 -4
  504. package/models/log-subscription.model.js.map +0 -1
  505. package/models/log.model.d.ts +0 -17
  506. package/models/log.model.js +0 -4
  507. package/models/log.model.js.map +0 -1
  508. package/models/logged-in-users.model.js +0 -4
  509. package/models/logged-in-users.model.js.map +0 -1
  510. package/models/method-response.model.js +0 -4
  511. package/models/method-response.model.js.map +0 -1
  512. package/models/method.model.d.ts +0 -26
  513. package/models/method.model.js +0 -4
  514. package/models/method.model.js.map +0 -1
  515. package/models/monitor-cpu.model.js +0 -4
  516. package/models/monitor-cpu.model.js.map +0 -1
  517. package/models/monitor-function.model.d.ts +0 -14
  518. package/models/monitor-function.model.js +0 -4
  519. package/models/monitor-function.model.js.map +0 -1
  520. package/models/monitor-memory.model.d.ts +0 -15
  521. package/models/monitor-memory.model.js +0 -4
  522. package/models/monitor-memory.model.js.map +0 -1
  523. package/models/monitor-mongo.model.d.ts +0 -13
  524. package/models/monitor-mongo.model.js +0 -4
  525. package/models/monitor-mongo.model.js.map +0 -1
  526. package/models/notification.model.js +0 -4
  527. package/models/notification.model.js.map +0 -1
  528. package/models/openai-usage-ledger.model.d.ts +0 -15
  529. package/models/openai-usage-ledger.model.js +0 -4
  530. package/models/openai-usage-ledger.model.js.map +0 -1
  531. package/models/pagination.model.d.ts +0 -11
  532. package/models/pagination.model.js +0 -28
  533. package/models/pagination.model.js.map +0 -1
  534. package/models/permission.model.d.ts +0 -12
  535. package/models/permission.model.js +0 -4
  536. package/models/permission.model.js.map +0 -1
  537. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  538. package/models/report-builder-dashboard-builder.model.js +0 -4
  539. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  540. package/models/report-builder-library.model.d.ts +0 -17
  541. package/models/report-builder-library.model.js +0 -4
  542. package/models/report-builder-library.model.js.map +0 -1
  543. package/models/report-builder-report.model.d.ts +0 -121
  544. package/models/report-builder-report.model.js +0 -4
  545. package/models/report-builder-report.model.js.map +0 -1
  546. package/models/report-builder.model.d.ts +0 -61
  547. package/models/report-builder.model.js +0 -4
  548. package/models/report-builder.model.js.map +0 -1
  549. package/models/select-data-label.model.d.ts +0 -9
  550. package/models/select-data-label.model.js +0 -4
  551. package/models/select-data-label.model.js.map +0 -1
  552. package/models/server-message.model.d.ts +0 -32
  553. package/models/server-message.model.js +0 -4
  554. package/models/server-message.model.js.map +0 -1
  555. package/models/slow-query-report.model.d.ts +0 -23
  556. package/models/slow-query-report.model.js +0 -4
  557. package/models/slow-query-report.model.js.map +0 -1
  558. package/models/subscription.model.d.ts +0 -31
  559. package/models/subscription.model.js +0 -4
  560. package/models/subscription.model.js.map +0 -1
  561. package/models/support-ticket.model.d.ts +0 -87
  562. package/models/support-ticket.model.js +0 -4
  563. package/models/support-ticket.model.js.map +0 -1
  564. package/models/user-group.model.d.ts +0 -20
  565. package/models/user-group.model.js +0 -4
  566. package/models/user-group.model.js.map +0 -1
  567. package/models/user-guide.model.js +0 -4
  568. package/models/user-guide.model.js.map +0 -1
  569. package/models/user.model.d.ts +0 -84
  570. package/models/user.model.js +0 -4
  571. package/models/user.model.js.map +0 -1
  572. package/private/images/ResolveIO.png +0 -0
  573. package/public_api.js +0 -116
  574. package/public_api.js.map +0 -1
  575. package/publications/ai-terminal.d.ts +0 -1
  576. package/publications/ai-terminal.js +0 -122
  577. package/publications/ai-terminal.js.map +0 -1
  578. package/publications/app-settings.d.ts +0 -2
  579. package/publications/app-settings.js +0 -28
  580. package/publications/app-settings.js.map +0 -1
  581. package/publications/app-status.d.ts +0 -2
  582. package/publications/app-status.js +0 -16
  583. package/publications/app-status.js.map +0 -1
  584. package/publications/cron-jobs.d.ts +0 -2
  585. package/publications/cron-jobs.js +0 -88
  586. package/publications/cron-jobs.js.map +0 -1
  587. package/publications/customer-notifications.d.ts +0 -2
  588. package/publications/customer-notifications.js +0 -161
  589. package/publications/customer-notifications.js.map +0 -1
  590. package/publications/files.d.ts +0 -2
  591. package/publications/files.js +0 -36
  592. package/publications/files.js.map +0 -1
  593. package/publications/flags-update.d.ts +0 -2
  594. package/publications/flags-update.js +0 -22
  595. package/publications/flags-update.js.map +0 -1
  596. package/publications/flags.d.ts +0 -2
  597. package/publications/flags.js +0 -22
  598. package/publications/flags.js.map +0 -1
  599. package/publications/logs.d.ts +0 -2
  600. package/publications/logs.js +0 -164
  601. package/publications/logs.js.map +0 -1
  602. package/publications/notifications.d.ts +0 -2
  603. package/publications/notifications.js +0 -16
  604. package/publications/notifications.js.map +0 -1
  605. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  606. package/publications/report-builder-dashboard-builders.js +0 -42
  607. package/publications/report-builder-dashboard-builders.js.map +0 -1
  608. package/publications/report-builder-libraries.d.ts +0 -2
  609. package/publications/report-builder-libraries.js +0 -90
  610. package/publications/report-builder-libraries.js.map +0 -1
  611. package/publications/report-builder-reports.d.ts +0 -2
  612. package/publications/report-builder-reports.js +0 -50
  613. package/publications/report-builder-reports.js.map +0 -1
  614. package/publications/super-admin.d.ts +0 -2
  615. package/publications/super-admin.js +0 -16
  616. package/publications/super-admin.js.map +0 -1
  617. package/publications/user-groups.d.ts +0 -1
  618. package/publications/user-groups.js +0 -16
  619. package/publications/user-groups.js.map +0 -1
  620. package/publications/user-guides.d.ts +0 -1
  621. package/publications/user-guides.js +0 -16
  622. package/publications/user-guides.js.map +0 -1
  623. package/resolveio-server-app.d.ts +0 -70
  624. package/resolveio-server-app.js +0 -801
  625. package/resolveio-server-app.js.map +0 -1
  626. package/server-app.d.ts +0 -228
  627. package/server-app.js +0 -3566
  628. package/server-app.js.map +0 -1
  629. package/services/codex-client.d.ts +0 -126
  630. package/services/codex-client.js +0 -1622
  631. package/services/codex-client.js.map +0 -1
  632. package/services/openai-client.d.ts +0 -46
  633. package/services/openai-client.js +0 -318
  634. package/services/openai-client.js.map +0 -1
  635. package/types/error-report.d.ts +0 -25
  636. package/types/error-report.js +0 -4
  637. package/types/error-report.js.map +0 -1
  638. package/types/slow-query-report.d.ts +0 -27
  639. package/types/slow-query-report.js +0 -6
  640. package/types/slow-query-report.js.map +0 -1
  641. package/util/ai-qa-policy.d.ts +0 -124
  642. package/util/ai-qa-policy.js +0 -707
  643. package/util/ai-qa-policy.js.map +0 -1
  644. package/util/ai-runner-artifacts.d.ts +0 -74
  645. package/util/ai-runner-artifacts.js +0 -531
  646. package/util/ai-runner-artifacts.js.map +0 -1
  647. package/util/ai-runner-qa-auth.d.ts +0 -5
  648. package/util/ai-runner-qa-auth.js +0 -357
  649. package/util/ai-runner-qa-auth.js.map +0 -1
  650. package/util/ai-runner-qa-tools.d.ts +0 -19
  651. package/util/ai-runner-qa-tools.js +0 -683
  652. package/util/ai-runner-qa-tools.js.map +0 -1
  653. package/util/common.d.ts +0 -31
  654. package/util/common.js +0 -683
  655. package/util/common.js.map +0 -1
  656. package/util/customer-portal-password.d.ts +0 -13
  657. package/util/customer-portal-password.js +0 -209
  658. package/util/customer-portal-password.js.map +0 -1
  659. package/util/error-reporter.d.ts +0 -52
  660. package/util/error-reporter.js +0 -326
  661. package/util/error-reporter.js.map +0 -1
  662. package/util/error-tracking.d.ts +0 -13
  663. package/util/error-tracking.js +0 -120
  664. package/util/error-tracking.js.map +0 -1
  665. package/util/report-builder-unwinds.d.ts +0 -15
  666. package/util/report-builder-unwinds.js +0 -156
  667. package/util/report-builder-unwinds.js.map +0 -1
  668. package/util/runner-process-janitor.d.ts +0 -25
  669. package/util/runner-process-janitor.js +0 -177
  670. package/util/runner-process-janitor.js.map +0 -1
  671. package/util/schema-report-builder.d.ts +0 -6
  672. package/util/schema-report-builder.js +0 -481
  673. package/util/schema-report-builder.js.map +0 -1
  674. package/util/slow-query-reporter.d.ts +0 -28
  675. package/util/slow-query-reporter.js +0 -226
  676. package/util/slow-query-reporter.js.map +0 -1
  677. package/util/subscription-dependency-context.d.ts +0 -34
  678. package/util/subscription-dependency-context.js +0 -1283
  679. package/util/subscription-dependency-context.js.map +0 -1
  680. package/util/tokenizer.d.ts +0 -5
  681. package/util/tokenizer.js +0 -41
  682. package/util/tokenizer.js.map +0 -1
  683. package/workers/codex-runner.worker.d.ts +0 -1
  684. package/workers/codex-runner.worker.js +0 -192
  685. package/workers/codex-runner.worker.js.map +0 -1
  686. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  687. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  688. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  689. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  690. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
  691. /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.53",
3
+ "version": "22.3.55",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",