@resolveio/server-lib 22.3.125 → 22.3.126

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