@resolveio/server-lib 22.3.219 → 22.3.221

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (745) hide show
  1. package/.nodemon.json +5 -0
  2. package/.vscode/settings.json +21 -0
  3. package/AGENTS.md +195 -0
  4. package/README.md +22 -0
  5. package/build_package.sh +5 -0
  6. package/compileDTS.pl +64 -0
  7. package/docs/ai-assistant-nightly-eval.md +65 -0
  8. package/docs/ai-assistant-preflight-checklist.md +23 -0
  9. package/docs/ai-assistant-report-builder-bridge-playbook.md +115 -0
  10. package/eslint-plugin-custom/index.js +7 -0
  11. package/eslint-plugin-custom/rules/no-filter-zero-index.js +44 -0
  12. package/eslint.config.js +103 -0
  13. package/gulpfile.js +216 -0
  14. package/methodAndPublicationListGenerator.py +375 -0
  15. package/mongodbensurers.js +2 -0
  16. package/mongostop.js +3 -0
  17. package/package.json +1 -1
  18. package/scripts/cleanup-bypassed-callmethod-logs.js +616 -0
  19. package/settings.development.json +25 -0
  20. package/settings.development.redacted.json +25 -0
  21. package/src/.env +12 -0
  22. package/src/ai/assistant-core-heuristics.ts +379 -0
  23. package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +185 -0
  24. package/src/ai/resolveio-platform-intelligence-memory.ts +325 -0
  25. package/{ai/resolveio-platform-intelligence-types.d.ts → src/ai/resolveio-platform-intelligence-types.ts} +20 -15
  26. package/src/ai/resolveio-platform-intelligence.ts +462 -0
  27. package/src/client-server-app.ts +12 -0
  28. package/src/collections/ai-run.collection.ts +117 -0
  29. package/src/collections/ai-terminal-conversation.collection.ts +91 -0
  30. package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
  31. package/src/collections/ai-terminal-message.collection.ts +77 -0
  32. package/src/collections/app-setting.collection.ts +104 -0
  33. package/src/collections/app-status.collection.ts +58 -0
  34. package/src/collections/communication-metric.collection.ts +84 -0
  35. package/src/collections/counter.collection.ts +56 -0
  36. package/src/collections/cron-job-history.collection.ts +94 -0
  37. package/src/collections/cron-job.collection.ts +92 -0
  38. package/src/collections/customer-notification.collection.ts +131 -0
  39. package/src/collections/customer-portal-password.collection.ts +76 -0
  40. package/src/collections/email-history.collection.ts +134 -0
  41. package/src/collections/email-verified.collection.ts +62 -0
  42. package/src/collections/file.collection.ts +74 -0
  43. package/src/collections/flag-update.collection.ts +57 -0
  44. package/src/collections/flag.collection.ts +57 -0
  45. package/src/collections/log-method-latency.collection.ts +77 -0
  46. package/src/collections/log-subscription.collection.ts +80 -0
  47. package/src/collections/log.collection.ts +93 -0
  48. package/src/collections/logged-in-users.collection.ts +67 -0
  49. package/src/collections/monitor-cpu.collection.ts +65 -0
  50. package/src/collections/monitor-function.collection.ts +74 -0
  51. package/src/collections/monitor-memory.collection.ts +77 -0
  52. package/src/collections/monitor-mongo.collection.ts +71 -0
  53. package/src/collections/notification.collection.ts +57 -0
  54. package/src/collections/openai-usage-ledger.collection.ts +131 -0
  55. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  56. package/src/collections/report-builder-library.collection.ts +89 -0
  57. package/src/collections/report-builder-report.collection.ts +184 -0
  58. package/src/collections/user-group.collection.ts +89 -0
  59. package/src/collections/user-guide.collection.ts +57 -0
  60. package/src/collections/user.collection.ts +181 -0
  61. package/src/cron/cron.ts +117 -0
  62. package/src/fixtures/cron-jobs.ts +95 -0
  63. package/src/fixtures/init.ts +35 -0
  64. package/src/http/auth.ts +818 -0
  65. package/src/http/health.ts +7 -0
  66. package/src/http/home.ts +90 -0
  67. package/src/http/slow-query-publication.ts +49 -0
  68. package/src/index.ts +1 -0
  69. package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
  70. package/src/managers/ai-run-evidence.manager.ts +264 -0
  71. package/src/managers/communication-metric.manager.ts +82 -0
  72. package/src/managers/cron.manager.ts +333 -0
  73. package/src/managers/customer-notification-content.manager.ts +236 -0
  74. package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
  75. package/src/managers/error-auto-fix.manager.ts +2767 -0
  76. package/src/managers/local-log.manager.ts +113 -0
  77. package/src/managers/method.manager.ts +1857 -0
  78. package/src/managers/mongo.manager.ts +4575 -0
  79. package/src/managers/monitor.manager.ts +507 -0
  80. package/src/managers/openai-usage-ledger.manager.ts +112 -0
  81. package/src/managers/slow-query-verifier.manager.ts +3590 -0
  82. package/src/managers/slow-query.manager.ts +519 -0
  83. package/src/managers/subscription.manager.ts +3128 -0
  84. package/src/managers/websocket.manager.ts +746 -0
  85. package/src/managers/worker-dispatcher.manager.ts +1360 -0
  86. package/src/managers/worker-server.manager.ts +536 -0
  87. package/src/methods/accounts.ts +532 -0
  88. package/src/methods/ai-terminal.ts +29070 -0
  89. package/src/methods/app-settings.ts +114 -0
  90. package/src/methods/aws.ts +649 -0
  91. package/src/methods/collections.ts +641 -0
  92. package/src/methods/counters.ts +69 -0
  93. package/src/methods/cron-jobs.ts +2614 -0
  94. package/src/methods/customer-notifications.ts +458 -0
  95. package/src/methods/diagnostics.ts +616 -0
  96. package/src/methods/flag-updates.ts +7 -0
  97. package/src/methods/flags.ts +7 -0
  98. package/src/methods/logs.ts +657 -0
  99. package/src/methods/mongo-explorer.ts +1880 -0
  100. package/src/methods/monitor.ts +540 -0
  101. package/src/methods/pdf.ts +1236 -0
  102. package/src/methods/publications.ts +129 -0
  103. package/src/methods/report-builder.ts +3300 -0
  104. package/src/methods/support.ts +335 -0
  105. package/src/models/ai-run.model.ts +27 -0
  106. package/src/models/ai-terminal-conversation.model.ts +19 -0
  107. package/src/models/ai-terminal-issue-report.model.ts +21 -0
  108. package/src/models/ai-terminal-message.model.ts +24 -0
  109. package/src/models/app-setting.model.ts +17 -0
  110. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  111. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  112. package/src/models/collection-document.model.ts +24 -0
  113. package/src/models/communication-metric.model.ts +23 -0
  114. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  115. package/src/models/cron-job-history.model.ts +16 -0
  116. package/src/models/cron-job.model.ts +15 -0
  117. package/src/models/customer-notification.model.ts +28 -0
  118. package/src/models/customer-portal-password.model.ts +12 -0
  119. package/src/models/dialog.model.ts +25 -0
  120. package/{models/email-history.model.js → src/models/email-history.model.ts} +36 -4
  121. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  122. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  123. package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
  124. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  125. package/src/models/log-method-latency.model.ts +11 -0
  126. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
  127. package/src/models/log.model.ts +19 -0
  128. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  129. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  130. package/src/models/method.model.ts +25 -0
  131. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  132. package/src/models/monitor-function.model.ts +16 -0
  133. package/src/models/monitor-memory.model.ts +17 -0
  134. package/src/models/monitor-mongo.model.ts +15 -0
  135. package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
  136. package/src/models/openai-usage-ledger.model.ts +56 -0
  137. package/src/models/pagination.model.ts +35 -0
  138. package/src/models/permission.model.ts +14 -0
  139. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  140. package/src/models/report-builder-library.model.ts +20 -0
  141. package/src/models/report-builder-report.model.ts +136 -0
  142. package/src/models/report-builder.model.ts +68 -0
  143. package/src/models/select-data-label.model.ts +9 -0
  144. package/src/models/server-message.model.ts +31 -0
  145. package/src/models/slow-query-report.model.ts +23 -0
  146. package/src/models/subscription.model.ts +73 -0
  147. package/src/models/support-ticket.model.ts +104 -0
  148. package/src/models/user-group.model.ts +24 -0
  149. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  150. package/src/models/user.model.ts +96 -0
  151. package/src/private/images/ResolveIO.png +0 -0
  152. package/src/publications/ai-terminal.ts +73 -0
  153. package/src/publications/app-settings.ts +25 -0
  154. package/src/publications/app-status.ts +13 -0
  155. package/src/publications/cron-jobs.ts +40 -0
  156. package/src/publications/customer-notifications.ts +101 -0
  157. package/src/publications/files.ts +33 -0
  158. package/src/publications/flags-update.ts +19 -0
  159. package/src/publications/flags.ts +19 -0
  160. package/src/publications/logs.ts +163 -0
  161. package/src/publications/notifications.ts +13 -0
  162. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  163. package/src/publications/report-builder-libraries.ts +41 -0
  164. package/src/publications/report-builder-reports.ts +47 -0
  165. package/src/publications/super-admin.ts +13 -0
  166. package/src/publications/user-groups.ts +12 -0
  167. package/src/publications/user-guides.ts +12 -0
  168. package/src/resolveio-server-app.ts +617 -0
  169. package/src/server-app.ts +3354 -0
  170. package/src/services/codex-client.ts +1231 -0
  171. package/src/services/openai-client.ts +265 -0
  172. package/src/types/error-report.ts +26 -0
  173. package/src/types/js-tiktoken.d.ts +11 -0
  174. package/src/types/slow-query-report.ts +28 -0
  175. package/src/util/ai-qa-policy.ts +925 -0
  176. package/src/util/ai-run-evidence-adapters.ts +8347 -0
  177. package/src/util/ai-run-evidence-dashboard.ts +323 -0
  178. package/src/util/ai-run-evidence-eval.ts +1057 -0
  179. package/src/util/ai-run-evidence.ts +1430 -0
  180. package/src/util/ai-runner-artifacts.ts +586 -0
  181. package/src/util/ai-runner-manager-autopilot.ts +961 -0
  182. package/src/util/ai-runner-manager-policy.ts +5011 -0
  183. package/src/util/ai-runner-qa-auth.ts +838 -0
  184. package/src/util/ai-runner-qa-tools.ts +3536 -0
  185. package/src/util/aicoder-runner-v6.ts +3121 -0
  186. package/src/util/common.ts +649 -0
  187. package/src/util/customer-portal-password.ts +183 -0
  188. package/src/util/error-reporter.ts +332 -0
  189. package/src/util/error-tracking.ts +79 -0
  190. package/src/util/openai-usage-cost.ts +114 -0
  191. package/src/util/report-builder-unwinds.ts +180 -0
  192. package/src/util/runner-process-janitor.ts +219 -0
  193. package/src/util/schema-report-builder.ts +448 -0
  194. package/src/util/slow-query-reporter.ts +216 -0
  195. package/src/util/subscription-dependency-context.ts +1096 -0
  196. package/src/util/support-runner-v5.ts +10040 -0
  197. package/src/util/tokenizer.ts +38 -0
  198. package/src/workers/codex-runner.worker.ts +142 -0
  199. package/start_server.sh +5 -0
  200. package/tests/ai-assistant-corpus-build.ts +484 -0
  201. package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
  202. package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
  203. package/tests/ai-assistant-eval-triage.ts +831 -0
  204. package/tests/ai-assistant-openai-e2e.ts +1061 -0
  205. package/tests/ai-assistant-openai-git-e2e.ts +155 -0
  206. package/tests/ai-assistant-preflight-matrix.ts +215 -0
  207. package/tests/ai-assistant-routing-eval.test.ts +585 -0
  208. package/tests/ai-assistant-snf-live-eval.ts +975 -0
  209. package/tests/ai-assistant-utils.test.ts +4834 -0
  210. package/tests/ai-manager-autopilot-snapshot.test.ts +193 -0
  211. package/tests/ai-manager-recovery-checkpoint.test.ts +1383 -0
  212. package/tests/ai-run-eval.test.ts +132 -0
  213. package/tests/ai-run-evidence.test.ts +3773 -0
  214. package/tests/ai-runner-contract.test.ts +515 -0
  215. package/tests/aicoder-runner-v6.test.ts +822 -0
  216. package/tests/error-reporter.test.ts +145 -0
  217. package/tests/method-publication-generator.test.ts +46 -0
  218. package/tests/report-builder-linking.test.ts +79 -0
  219. package/tests/resolveio-platform-intelligence.test.ts +352 -0
  220. package/tests/server-app-cron-owner.test.ts +127 -0
  221. package/tests/subscription-connect-race.test.ts +158 -0
  222. package/tests/subscription-dependency-context.test.ts +324 -0
  223. package/tests/subscription-manager-collection-tracking.test.ts +86 -0
  224. package/tests/subscription-manager-invalidation.test.ts +86 -0
  225. package/tests/support-runner-v5.test.ts +3201 -0
  226. package/tsconfig.json +34 -0
  227. package/ai/assistant-core-heuristics.d.ts +0 -11
  228. package/ai/assistant-core-heuristics.js +0 -356
  229. package/ai/assistant-core-heuristics.js.map +0 -1
  230. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
  231. package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
  232. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
  233. package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
  234. package/ai/resolveio-platform-intelligence-memory.js +0 -341
  235. package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
  236. package/ai/resolveio-platform-intelligence-types.js +0 -4
  237. package/ai/resolveio-platform-intelligence-types.js.map +0 -1
  238. package/ai/resolveio-platform-intelligence.d.ts +0 -6
  239. package/ai/resolveio-platform-intelligence.js +0 -463
  240. package/ai/resolveio-platform-intelligence.js.map +0 -1
  241. package/client-server-app.d.ts +0 -1
  242. package/client-server-app.js +0 -68
  243. package/client-server-app.js.map +0 -1
  244. package/collections/ai-run.collection.d.ts +0 -3
  245. package/collections/ai-run.collection.js +0 -170
  246. package/collections/ai-run.collection.js.map +0 -1
  247. package/collections/ai-terminal-conversation.collection.d.ts +0 -2
  248. package/collections/ai-terminal-conversation.collection.js +0 -140
  249. package/collections/ai-terminal-conversation.collection.js.map +0 -1
  250. package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
  251. package/collections/ai-terminal-issue-report.collection.js +0 -148
  252. package/collections/ai-terminal-issue-report.collection.js.map +0 -1
  253. package/collections/ai-terminal-message.collection.d.ts +0 -2
  254. package/collections/ai-terminal-message.collection.js +0 -121
  255. package/collections/ai-terminal-message.collection.js.map +0 -1
  256. package/collections/app-setting.collection.d.ts +0 -3
  257. package/collections/app-setting.collection.js +0 -103
  258. package/collections/app-setting.collection.js.map +0 -1
  259. package/collections/app-status.collection.d.ts +0 -3
  260. package/collections/app-status.collection.js +0 -57
  261. package/collections/app-status.collection.js.map +0 -1
  262. package/collections/communication-metric.collection.d.ts +0 -2
  263. package/collections/communication-metric.collection.js +0 -133
  264. package/collections/communication-metric.collection.js.map +0 -1
  265. package/collections/counter.collection.d.ts +0 -3
  266. package/collections/counter.collection.js +0 -56
  267. package/collections/counter.collection.js.map +0 -1
  268. package/collections/cron-job-history.collection.d.ts +0 -3
  269. package/collections/cron-job-history.collection.js +0 -137
  270. package/collections/cron-job-history.collection.js.map +0 -1
  271. package/collections/cron-job.collection.d.ts +0 -3
  272. package/collections/cron-job.collection.js +0 -92
  273. package/collections/cron-job.collection.js.map +0 -1
  274. package/collections/customer-notification.collection.d.ts +0 -3
  275. package/collections/customer-notification.collection.js +0 -130
  276. package/collections/customer-notification.collection.js.map +0 -1
  277. package/collections/customer-portal-password.collection.d.ts +0 -3
  278. package/collections/customer-portal-password.collection.js +0 -75
  279. package/collections/customer-portal-password.collection.js.map +0 -1
  280. package/collections/email-history.collection.d.ts +0 -3
  281. package/collections/email-history.collection.js +0 -134
  282. package/collections/email-history.collection.js.map +0 -1
  283. package/collections/email-verified.collection.d.ts +0 -3
  284. package/collections/email-verified.collection.js +0 -62
  285. package/collections/email-verified.collection.js.map +0 -1
  286. package/collections/file.collection.d.ts +0 -3
  287. package/collections/file.collection.js +0 -74
  288. package/collections/file.collection.js.map +0 -1
  289. package/collections/flag-update.collection.d.ts +0 -3
  290. package/collections/flag-update.collection.js +0 -57
  291. package/collections/flag-update.collection.js.map +0 -1
  292. package/collections/flag.collection.d.ts +0 -3
  293. package/collections/flag.collection.js +0 -57
  294. package/collections/flag.collection.js.map +0 -1
  295. package/collections/log-method-latency.collection.d.ts +0 -3
  296. package/collections/log-method-latency.collection.js +0 -77
  297. package/collections/log-method-latency.collection.js.map +0 -1
  298. package/collections/log-subscription.collection.d.ts +0 -3
  299. package/collections/log-subscription.collection.js +0 -80
  300. package/collections/log-subscription.collection.js.map +0 -1
  301. package/collections/log.collection.d.ts +0 -3
  302. package/collections/log.collection.js +0 -93
  303. package/collections/log.collection.js.map +0 -1
  304. package/collections/logged-in-users.collection.d.ts +0 -3
  305. package/collections/logged-in-users.collection.js +0 -67
  306. package/collections/logged-in-users.collection.js.map +0 -1
  307. package/collections/monitor-cpu.collection.d.ts +0 -3
  308. package/collections/monitor-cpu.collection.js +0 -65
  309. package/collections/monitor-cpu.collection.js.map +0 -1
  310. package/collections/monitor-function.collection.d.ts +0 -3
  311. package/collections/monitor-function.collection.js +0 -74
  312. package/collections/monitor-function.collection.js.map +0 -1
  313. package/collections/monitor-memory.collection.d.ts +0 -3
  314. package/collections/monitor-memory.collection.js +0 -77
  315. package/collections/monitor-memory.collection.js.map +0 -1
  316. package/collections/monitor-mongo.collection.d.ts +0 -3
  317. package/collections/monitor-mongo.collection.js +0 -71
  318. package/collections/monitor-mongo.collection.js.map +0 -1
  319. package/collections/notification.collection.d.ts +0 -3
  320. package/collections/notification.collection.js +0 -57
  321. package/collections/notification.collection.js.map +0 -1
  322. package/collections/openai-usage-ledger.collection.d.ts +0 -2
  323. package/collections/openai-usage-ledger.collection.js +0 -188
  324. package/collections/openai-usage-ledger.collection.js.map +0 -1
  325. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  326. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  327. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  328. package/collections/report-builder-library.collection.d.ts +0 -3
  329. package/collections/report-builder-library.collection.js +0 -87
  330. package/collections/report-builder-library.collection.js.map +0 -1
  331. package/collections/report-builder-report.collection.d.ts +0 -4
  332. package/collections/report-builder-report.collection.js +0 -184
  333. package/collections/report-builder-report.collection.js.map +0 -1
  334. package/collections/user-group.collection.d.ts +0 -4
  335. package/collections/user-group.collection.js +0 -89
  336. package/collections/user-group.collection.js.map +0 -1
  337. package/collections/user-guide.collection.d.ts +0 -3
  338. package/collections/user-guide.collection.js +0 -57
  339. package/collections/user-guide.collection.js.map +0 -1
  340. package/collections/user.collection.d.ts +0 -4
  341. package/collections/user.collection.js +0 -180
  342. package/collections/user.collection.js.map +0 -1
  343. package/cron/cron.d.ts +0 -14
  344. package/cron/cron.js +0 -216
  345. package/cron/cron.js.map +0 -1
  346. package/fixtures/cron-jobs.d.ts +0 -1
  347. package/fixtures/cron-jobs.js +0 -150
  348. package/fixtures/cron-jobs.js.map +0 -1
  349. package/fixtures/init.d.ts +0 -1
  350. package/fixtures/init.js +0 -91
  351. package/fixtures/init.js.map +0 -1
  352. package/http/auth.d.ts +0 -2
  353. package/http/auth.js +0 -951
  354. package/http/auth.js.map +0 -1
  355. package/http/health.d.ts +0 -1
  356. package/http/health.js +0 -11
  357. package/http/health.js.map +0 -1
  358. package/http/home.d.ts +0 -1
  359. package/http/home.js +0 -134
  360. package/http/home.js.map +0 -1
  361. package/http/slow-query-publication.d.ts +0 -2
  362. package/http/slow-query-publication.js +0 -99
  363. package/http/slow-query-publication.js.map +0 -1
  364. package/index.d.ts +0 -1
  365. package/index.js +0 -19
  366. package/index.js.map +0 -1
  367. package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
  368. package/managers/ai-assistant-codex-manager.manager.js +0 -1113
  369. package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
  370. package/managers/ai-run-evidence.manager.d.ts +0 -36
  371. package/managers/ai-run-evidence.manager.js +0 -377
  372. package/managers/ai-run-evidence.manager.js.map +0 -1
  373. package/managers/communication-metric.manager.d.ts +0 -16
  374. package/managers/communication-metric.manager.js +0 -134
  375. package/managers/communication-metric.manager.js.map +0 -1
  376. package/managers/cron.manager.d.ts +0 -20
  377. package/managers/cron.manager.js +0 -534
  378. package/managers/cron.manager.js.map +0 -1
  379. package/managers/customer-notification-content.manager.d.ts +0 -55
  380. package/managers/customer-notification-content.manager.js +0 -158
  381. package/managers/customer-notification-content.manager.js.map +0 -1
  382. package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
  383. package/managers/diagnostic-manager-bootstrap.js +0 -260
  384. package/managers/diagnostic-manager-bootstrap.js.map +0 -1
  385. package/managers/error-auto-fix.manager.d.ts +0 -149
  386. package/managers/error-auto-fix.manager.js +0 -3064
  387. package/managers/error-auto-fix.manager.js.map +0 -1
  388. package/managers/local-log.manager.d.ts +0 -18
  389. package/managers/local-log.manager.js +0 -88
  390. package/managers/local-log.manager.js.map +0 -1
  391. package/managers/method.manager.d.ts +0 -84
  392. package/managers/method.manager.js +0 -1964
  393. package/managers/method.manager.js.map +0 -1
  394. package/managers/mongo.manager.d.ts +0 -224
  395. package/managers/mongo.manager.js +0 -5000
  396. package/managers/mongo.manager.js.map +0 -1
  397. package/managers/monitor.manager.d.ts +0 -70
  398. package/managers/monitor.manager.js +0 -550
  399. package/managers/monitor.manager.js.map +0 -1
  400. package/managers/openai-usage-ledger.manager.d.ts +0 -30
  401. package/managers/openai-usage-ledger.manager.js +0 -142
  402. package/managers/openai-usage-ledger.manager.js.map +0 -1
  403. package/managers/slow-query-verifier.manager.d.ts +0 -144
  404. package/managers/slow-query-verifier.manager.js +0 -3857
  405. package/managers/slow-query-verifier.manager.js.map +0 -1
  406. package/managers/slow-query.manager.d.ts +0 -28
  407. package/managers/slow-query.manager.js +0 -468
  408. package/managers/slow-query.manager.js.map +0 -1
  409. package/managers/subscription.manager.d.ts +0 -169
  410. package/managers/subscription.manager.js +0 -3434
  411. package/managers/subscription.manager.js.map +0 -1
  412. package/managers/websocket.manager.d.ts +0 -73
  413. package/managers/websocket.manager.js +0 -673
  414. package/managers/websocket.manager.js.map +0 -1
  415. package/managers/worker-dispatcher.manager.d.ts +0 -120
  416. package/managers/worker-dispatcher.manager.js +0 -1266
  417. package/managers/worker-dispatcher.manager.js.map +0 -1
  418. package/managers/worker-server.manager.d.ts +0 -35
  419. package/managers/worker-server.manager.js +0 -582
  420. package/managers/worker-server.manager.js.map +0 -1
  421. package/methods/accounts.d.ts +0 -2
  422. package/methods/accounts.js +0 -624
  423. package/methods/accounts.js.map +0 -1
  424. package/methods/ai-terminal.d.ts +0 -458
  425. package/methods/ai-terminal.js +0 -27991
  426. package/methods/ai-terminal.js.map +0 -1
  427. package/methods/app-settings.d.ts +0 -2
  428. package/methods/app-settings.js +0 -169
  429. package/methods/app-settings.js.map +0 -1
  430. package/methods/aws.d.ts +0 -2
  431. package/methods/aws.js +0 -877
  432. package/methods/aws.js.map +0 -1
  433. package/methods/collections.d.ts +0 -2
  434. package/methods/collections.js +0 -719
  435. package/methods/collections.js.map +0 -1
  436. package/methods/counters.d.ts +0 -2
  437. package/methods/counters.js +0 -113
  438. package/methods/counters.js.map +0 -1
  439. package/methods/cron-jobs.d.ts +0 -2
  440. package/methods/cron-jobs.js +0 -2475
  441. package/methods/cron-jobs.js.map +0 -1
  442. package/methods/customer-notifications.d.ts +0 -2
  443. package/methods/customer-notifications.js +0 -528
  444. package/methods/customer-notifications.js.map +0 -1
  445. package/methods/diagnostics.d.ts +0 -2
  446. package/methods/diagnostics.js +0 -703
  447. package/methods/diagnostics.js.map +0 -1
  448. package/methods/flag-updates.d.ts +0 -2
  449. package/methods/flag-updates.js +0 -8
  450. package/methods/flag-updates.js.map +0 -1
  451. package/methods/flags.d.ts +0 -2
  452. package/methods/flags.js +0 -8
  453. package/methods/flags.js.map +0 -1
  454. package/methods/logs.d.ts +0 -2
  455. package/methods/logs.js +0 -751
  456. package/methods/logs.js.map +0 -1
  457. package/methods/mongo-explorer.d.ts +0 -2
  458. package/methods/mongo-explorer.js +0 -1808
  459. package/methods/mongo-explorer.js.map +0 -1
  460. package/methods/monitor.d.ts +0 -2
  461. package/methods/monitor.js +0 -543
  462. package/methods/monitor.js.map +0 -1
  463. package/methods/pdf.d.ts +0 -2
  464. package/methods/pdf.js +0 -1216
  465. package/methods/pdf.js.map +0 -1
  466. package/methods/publications.d.ts +0 -1
  467. package/methods/publications.js +0 -183
  468. package/methods/publications.js.map +0 -1
  469. package/methods/report-builder.d.ts +0 -2
  470. package/methods/report-builder.js +0 -3094
  471. package/methods/report-builder.js.map +0 -1
  472. package/methods/support.d.ts +0 -2
  473. package/methods/support.js +0 -430
  474. package/methods/support.js.map +0 -1
  475. package/models/ai-run.model.d.ts +0 -19
  476. package/models/ai-run.model.js +0 -4
  477. package/models/ai-run.model.js.map +0 -1
  478. package/models/ai-terminal-conversation.model.d.ts +0 -17
  479. package/models/ai-terminal-conversation.model.js +0 -4
  480. package/models/ai-terminal-conversation.model.js.map +0 -1
  481. package/models/ai-terminal-issue-report.model.d.ts +0 -19
  482. package/models/ai-terminal-issue-report.model.js +0 -4
  483. package/models/ai-terminal-issue-report.model.js.map +0 -1
  484. package/models/ai-terminal-message.model.d.ts +0 -22
  485. package/models/ai-terminal-message.model.js +0 -4
  486. package/models/ai-terminal-message.model.js.map +0 -1
  487. package/models/app-setting.model.d.ts +0 -16
  488. package/models/app-setting.model.js +0 -4
  489. package/models/app-setting.model.js.map +0 -1
  490. package/models/app-status.model.js +0 -4
  491. package/models/app-status.model.js.map +0 -1
  492. package/models/billing-logged-in-users.model.js +0 -4
  493. package/models/billing-logged-in-users.model.js.map +0 -1
  494. package/models/collection-document.model.d.ts +0 -21
  495. package/models/collection-document.model.js +0 -4
  496. package/models/collection-document.model.js.map +0 -1
  497. package/models/communication-metric.model.d.ts +0 -20
  498. package/models/communication-metric.model.js +0 -4
  499. package/models/communication-metric.model.js.map +0 -1
  500. package/models/counter.model.js +0 -4
  501. package/models/counter.model.js.map +0 -1
  502. package/models/cron-job-history.model.d.ts +0 -15
  503. package/models/cron-job-history.model.js +0 -4
  504. package/models/cron-job-history.model.js.map +0 -1
  505. package/models/cron-job.model.d.ts +0 -14
  506. package/models/cron-job.model.js +0 -4
  507. package/models/cron-job.model.js.map +0 -1
  508. package/models/customer-notification.model.d.ts +0 -26
  509. package/models/customer-notification.model.js +0 -4
  510. package/models/customer-notification.model.js.map +0 -1
  511. package/models/customer-portal-password.model.d.ts +0 -11
  512. package/models/customer-portal-password.model.js +0 -4
  513. package/models/customer-portal-password.model.js.map +0 -1
  514. package/models/dialog.model.d.ts +0 -23
  515. package/models/dialog.model.js +0 -4
  516. package/models/dialog.model.js.map +0 -1
  517. package/models/email-history.model.d.ts +0 -32
  518. package/models/email-history.model.js.map +0 -1
  519. package/models/email-verified.model.js +0 -4
  520. package/models/email-verified.model.js.map +0 -1
  521. package/models/file.model.js +0 -4
  522. package/models/file.model.js.map +0 -1
  523. package/models/flag-update.model.js +0 -4
  524. package/models/flag-update.model.js.map +0 -1
  525. package/models/flag.model.js +0 -4
  526. package/models/flag.model.js.map +0 -1
  527. package/models/log-method-latency.model.d.ts +0 -10
  528. package/models/log-method-latency.model.js +0 -4
  529. package/models/log-method-latency.model.js.map +0 -1
  530. package/models/log-subscription.model.js +0 -4
  531. package/models/log-subscription.model.js.map +0 -1
  532. package/models/log.model.d.ts +0 -17
  533. package/models/log.model.js +0 -4
  534. package/models/log.model.js.map +0 -1
  535. package/models/logged-in-users.model.js +0 -4
  536. package/models/logged-in-users.model.js.map +0 -1
  537. package/models/method-response.model.js +0 -4
  538. package/models/method-response.model.js.map +0 -1
  539. package/models/method.model.d.ts +0 -26
  540. package/models/method.model.js +0 -4
  541. package/models/method.model.js.map +0 -1
  542. package/models/monitor-cpu.model.js +0 -4
  543. package/models/monitor-cpu.model.js.map +0 -1
  544. package/models/monitor-function.model.d.ts +0 -14
  545. package/models/monitor-function.model.js +0 -4
  546. package/models/monitor-function.model.js.map +0 -1
  547. package/models/monitor-memory.model.d.ts +0 -15
  548. package/models/monitor-memory.model.js +0 -4
  549. package/models/monitor-memory.model.js.map +0 -1
  550. package/models/monitor-mongo.model.d.ts +0 -13
  551. package/models/monitor-mongo.model.js +0 -4
  552. package/models/monitor-mongo.model.js.map +0 -1
  553. package/models/notification.model.js +0 -4
  554. package/models/notification.model.js.map +0 -1
  555. package/models/openai-usage-ledger.model.d.ts +0 -30
  556. package/models/openai-usage-ledger.model.js +0 -4
  557. package/models/openai-usage-ledger.model.js.map +0 -1
  558. package/models/pagination.model.d.ts +0 -11
  559. package/models/pagination.model.js +0 -28
  560. package/models/pagination.model.js.map +0 -1
  561. package/models/permission.model.d.ts +0 -12
  562. package/models/permission.model.js +0 -4
  563. package/models/permission.model.js.map +0 -1
  564. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  565. package/models/report-builder-dashboard-builder.model.js +0 -4
  566. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  567. package/models/report-builder-library.model.d.ts +0 -17
  568. package/models/report-builder-library.model.js +0 -4
  569. package/models/report-builder-library.model.js.map +0 -1
  570. package/models/report-builder-report.model.d.ts +0 -121
  571. package/models/report-builder-report.model.js +0 -4
  572. package/models/report-builder-report.model.js.map +0 -1
  573. package/models/report-builder.model.d.ts +0 -61
  574. package/models/report-builder.model.js +0 -4
  575. package/models/report-builder.model.js.map +0 -1
  576. package/models/select-data-label.model.d.ts +0 -9
  577. package/models/select-data-label.model.js +0 -4
  578. package/models/select-data-label.model.js.map +0 -1
  579. package/models/server-message.model.d.ts +0 -32
  580. package/models/server-message.model.js +0 -4
  581. package/models/server-message.model.js.map +0 -1
  582. package/models/slow-query-report.model.d.ts +0 -23
  583. package/models/slow-query-report.model.js +0 -4
  584. package/models/slow-query-report.model.js.map +0 -1
  585. package/models/subscription.model.d.ts +0 -31
  586. package/models/subscription.model.js +0 -4
  587. package/models/subscription.model.js.map +0 -1
  588. package/models/support-ticket.model.d.ts +0 -87
  589. package/models/support-ticket.model.js +0 -4
  590. package/models/support-ticket.model.js.map +0 -1
  591. package/models/user-group.model.d.ts +0 -20
  592. package/models/user-group.model.js +0 -4
  593. package/models/user-group.model.js.map +0 -1
  594. package/models/user-guide.model.js +0 -4
  595. package/models/user-guide.model.js.map +0 -1
  596. package/models/user.model.d.ts +0 -84
  597. package/models/user.model.js +0 -4
  598. package/models/user.model.js.map +0 -1
  599. package/private/images/ResolveIO.png +0 -0
  600. package/public_api.js +0 -127
  601. package/public_api.js.map +0 -1
  602. package/publications/ai-terminal.d.ts +0 -1
  603. package/publications/ai-terminal.js +0 -122
  604. package/publications/ai-terminal.js.map +0 -1
  605. package/publications/app-settings.d.ts +0 -2
  606. package/publications/app-settings.js +0 -28
  607. package/publications/app-settings.js.map +0 -1
  608. package/publications/app-status.d.ts +0 -2
  609. package/publications/app-status.js +0 -16
  610. package/publications/app-status.js.map +0 -1
  611. package/publications/cron-jobs.d.ts +0 -2
  612. package/publications/cron-jobs.js +0 -88
  613. package/publications/cron-jobs.js.map +0 -1
  614. package/publications/customer-notifications.d.ts +0 -2
  615. package/publications/customer-notifications.js +0 -161
  616. package/publications/customer-notifications.js.map +0 -1
  617. package/publications/files.d.ts +0 -2
  618. package/publications/files.js +0 -36
  619. package/publications/files.js.map +0 -1
  620. package/publications/flags-update.d.ts +0 -2
  621. package/publications/flags-update.js +0 -22
  622. package/publications/flags-update.js.map +0 -1
  623. package/publications/flags.d.ts +0 -2
  624. package/publications/flags.js +0 -22
  625. package/publications/flags.js.map +0 -1
  626. package/publications/logs.d.ts +0 -2
  627. package/publications/logs.js +0 -164
  628. package/publications/logs.js.map +0 -1
  629. package/publications/notifications.d.ts +0 -2
  630. package/publications/notifications.js +0 -16
  631. package/publications/notifications.js.map +0 -1
  632. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  633. package/publications/report-builder-dashboard-builders.js +0 -42
  634. package/publications/report-builder-dashboard-builders.js.map +0 -1
  635. package/publications/report-builder-libraries.d.ts +0 -2
  636. package/publications/report-builder-libraries.js +0 -90
  637. package/publications/report-builder-libraries.js.map +0 -1
  638. package/publications/report-builder-reports.d.ts +0 -2
  639. package/publications/report-builder-reports.js +0 -50
  640. package/publications/report-builder-reports.js.map +0 -1
  641. package/publications/super-admin.d.ts +0 -2
  642. package/publications/super-admin.js +0 -16
  643. package/publications/super-admin.js.map +0 -1
  644. package/publications/user-groups.d.ts +0 -1
  645. package/publications/user-groups.js +0 -16
  646. package/publications/user-groups.js.map +0 -1
  647. package/publications/user-guides.d.ts +0 -1
  648. package/publications/user-guides.js +0 -16
  649. package/publications/user-guides.js.map +0 -1
  650. package/resolveio-server-app.d.ts +0 -70
  651. package/resolveio-server-app.js +0 -801
  652. package/resolveio-server-app.js.map +0 -1
  653. package/server-app.d.ts +0 -228
  654. package/server-app.js +0 -3566
  655. package/server-app.js.map +0 -1
  656. package/services/codex-client.d.ts +0 -128
  657. package/services/codex-client.js +0 -1629
  658. package/services/codex-client.js.map +0 -1
  659. package/services/openai-client.d.ts +0 -46
  660. package/services/openai-client.js +0 -318
  661. package/services/openai-client.js.map +0 -1
  662. package/types/error-report.d.ts +0 -25
  663. package/types/error-report.js +0 -4
  664. package/types/error-report.js.map +0 -1
  665. package/types/slow-query-report.d.ts +0 -27
  666. package/types/slow-query-report.js +0 -6
  667. package/types/slow-query-report.js.map +0 -1
  668. package/util/ai-qa-policy.d.ts +0 -124
  669. package/util/ai-qa-policy.js +0 -736
  670. package/util/ai-qa-policy.js.map +0 -1
  671. package/util/ai-run-evidence-adapters.d.ts +0 -109
  672. package/util/ai-run-evidence-adapters.js +0 -7234
  673. package/util/ai-run-evidence-adapters.js.map +0 -1
  674. package/util/ai-run-evidence-dashboard.d.ts +0 -88
  675. package/util/ai-run-evidence-dashboard.js +0 -343
  676. package/util/ai-run-evidence-dashboard.js.map +0 -1
  677. package/util/ai-run-evidence-eval.d.ts +0 -86
  678. package/util/ai-run-evidence-eval.js +0 -1018
  679. package/util/ai-run-evidence-eval.js.map +0 -1
  680. package/util/ai-run-evidence.d.ts +0 -244
  681. package/util/ai-run-evidence.js +0 -1096
  682. package/util/ai-run-evidence.js.map +0 -1
  683. package/util/ai-runner-artifacts.d.ts +0 -82
  684. package/util/ai-runner-artifacts.js +0 -713
  685. package/util/ai-runner-artifacts.js.map +0 -1
  686. package/util/ai-runner-manager-autopilot.d.ts +0 -210
  687. package/util/ai-runner-manager-autopilot.js +0 -642
  688. package/util/ai-runner-manager-autopilot.js.map +0 -1
  689. package/util/ai-runner-manager-policy.d.ts +0 -807
  690. package/util/ai-runner-manager-policy.js +0 -3501
  691. package/util/ai-runner-manager-policy.js.map +0 -1
  692. package/util/ai-runner-qa-auth.d.ts +0 -5
  693. package/util/ai-runner-qa-auth.js +0 -839
  694. package/util/ai-runner-qa-auth.js.map +0 -1
  695. package/util/ai-runner-qa-tools.d.ts +0 -26
  696. package/util/ai-runner-qa-tools.js +0 -3520
  697. package/util/ai-runner-qa-tools.js.map +0 -1
  698. package/util/aicoder-runner-v6.d.ts +0 -426
  699. package/util/aicoder-runner-v6.js +0 -2464
  700. package/util/aicoder-runner-v6.js.map +0 -1
  701. package/util/common.d.ts +0 -31
  702. package/util/common.js +0 -683
  703. package/util/common.js.map +0 -1
  704. package/util/customer-portal-password.d.ts +0 -13
  705. package/util/customer-portal-password.js +0 -209
  706. package/util/customer-portal-password.js.map +0 -1
  707. package/util/error-reporter.d.ts +0 -52
  708. package/util/error-reporter.js +0 -326
  709. package/util/error-reporter.js.map +0 -1
  710. package/util/error-tracking.d.ts +0 -13
  711. package/util/error-tracking.js +0 -120
  712. package/util/error-tracking.js.map +0 -1
  713. package/util/openai-usage-cost.d.ts +0 -6
  714. package/util/openai-usage-cost.js +0 -103
  715. package/util/openai-usage-cost.js.map +0 -1
  716. package/util/report-builder-unwinds.d.ts +0 -15
  717. package/util/report-builder-unwinds.js +0 -156
  718. package/util/report-builder-unwinds.js.map +0 -1
  719. package/util/runner-process-janitor.d.ts +0 -27
  720. package/util/runner-process-janitor.js +0 -208
  721. package/util/runner-process-janitor.js.map +0 -1
  722. package/util/schema-report-builder.d.ts +0 -6
  723. package/util/schema-report-builder.js +0 -481
  724. package/util/schema-report-builder.js.map +0 -1
  725. package/util/slow-query-reporter.d.ts +0 -28
  726. package/util/slow-query-reporter.js +0 -226
  727. package/util/slow-query-reporter.js.map +0 -1
  728. package/util/subscription-dependency-context.d.ts +0 -34
  729. package/util/subscription-dependency-context.js +0 -1283
  730. package/util/subscription-dependency-context.js.map +0 -1
  731. package/util/support-runner-v5.d.ts +0 -1426
  732. package/util/support-runner-v5.js +0 -7624
  733. package/util/support-runner-v5.js.map +0 -1
  734. package/util/tokenizer.d.ts +0 -5
  735. package/util/tokenizer.js +0 -41
  736. package/util/tokenizer.js.map +0 -1
  737. package/workers/codex-runner.worker.d.ts +0 -1
  738. package/workers/codex-runner.worker.js +0 -192
  739. package/workers/codex-runner.worker.js.map +0 -1
  740. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  741. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  742. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  743. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  744. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
  745. /package/{public_api.d.ts → src/public_api.ts} +0 -0
package/.nodemon.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "events": {
3
+ "exit": "npm run stop-server"
4
+ }
5
+ }
@@ -0,0 +1,21 @@
1
+ // Place your settings in this file to overwrite default and user settings.
2
+ {
3
+ "editor.minimap.enabled": false,
4
+ "javascript.preferences.importModuleSpecifier": "relative",
5
+ "typescript.preferences.importModuleSpecifier": "relative",
6
+ "javascript.preferences.quoteStyle": "single",
7
+ "git.ignoreLimitWarning": true,
8
+ "editor.codeActionsOnSave": {
9
+ "source.organizeImports": "explicit",
10
+ "source.fixAll.eslint": "always"
11
+ },
12
+ "eslint.validate": [
13
+ "typescript",
14
+ "javascript",
15
+ "typescriptreact",
16
+ "javascriptreact",
17
+ "html"
18
+ ],
19
+ "eslint.run": "onType",
20
+ "eslint.enable": true
21
+ }
package/AGENTS.md ADDED
@@ -0,0 +1,195 @@
1
+ # AGENTS.md
2
+
3
+ ## Infrastructure Guardrails
4
+
5
+ - Never create, launch, provision, or clone a new EC2 instance unless the user explicitly asks for a new EC2 instance.
6
+ - Disk pressure, full volumes, failed deploys, slow workers, or missing capacity are not permission to launch another EC2 instance; first clean unused files, inspect existing volumes, or ask before changing infrastructure.
7
+ - If additional capacity is truly required, propose the smallest volume expansion or instance change and wait for explicit approval before acting.
8
+
9
+ ## Generated Method/Publications Files
10
+
11
+ - Do not hand-edit generated Angular socket files such as `angular/app/methods.ts` or `angular/app/publications.ts`.
12
+ - Change the real server method/publication definitions in `server/src/methods/` or `server/src/publications/` first.
13
+ - After changing any method or publication signature, run `python3 methodAndPublicationListGenerator.py` from that project's `server/` directory.
14
+ - Treat regeneration as required whenever server method/publication arguments change.
15
+
16
+ ## Overview
17
+ resolveio-server-lib provides the backend infrastructure for the ResolveIO platform. It exposes server methods, publications, queues, and worker coordination so heavy work runs off the main thread.
18
+
19
+ > Written for contributors and for GitHub Copilot / OpenAI Codex to learn the library.
20
+
21
+ ---
22
+
23
+ ## Architecture
24
+ resolveio-server-lib is a Node 22 / TypeScript library built on Mongo 8 (never use Mongoose). The core server connects through a custom Mongo wrapper and dispatches work to workers when clustered.
25
+
26
+ ### Directory Map
27
+ ```txt
28
+ src/
29
+ ├─ collections/Mongo collection helpers
30
+ ├─ models/TypeScript interfaces & SimpleSchema
31
+ ├─ methods/loadXMethods() modules registering method handlers
32
+ ├─ publications/loadXPublications() modules registering subscriptions
33
+ ├─ managers/infrastructure managers (MethodManager, WebSocketManager, etc.)
34
+ ├─ cron/scheduled jobs
35
+ ├─ http/Express route helpers
36
+ ├─ util/shared utilities
37
+ resolveio-server-app.tsbootstraps the server and connects to Mongo
38
+ server-app.tsHTTP/WebSocket server for main & worker processes
39
+ client-server-app.tsclient-facing entry for hybrid deployments
40
+ ```
41
+
42
+ ### Core Managers
43
+ - MethodManager: registers method handlers via `methodManager.methods({ ... })`
44
+ - SubscriptionManager: registers publications via `subscriptionManager.publications({ ... })`
45
+ - WebSocketManager: tracks socket connections and emits messages
46
+ - WorkerDispatcherManager & WorkerServerManager: queue and execute heavy jobs
47
+ - CronManager: defines recurring jobs in `src/cron`
48
+ - MongoManager & LocalLogManager: database and log helpers
49
+
50
+ ### Methods
51
+ - Stateless functions invoked by clients.
52
+ - Defined in `src/methods/*` using `loadXMethods` patterns.
53
+ - Each method provides a `check` (SimpleSchema) and an async `function`.
54
+ ```ts
55
+ export function loadFooMethods(methodManager: MethodManager) {
56
+ methodManager.methods({
57
+ doSomething: {
58
+ check: new SimpleSchema({ name: { type: String } }),
59
+ function: async function (name: string) {
60
+ // logic
61
+ return result;
62
+ },
63
+ },
64
+ });
65
+ }
66
+ ```
67
+
68
+ ### Publications
69
+ - Stream Mongo documents or computed data to subscribers.
70
+ - Defined in `src/publications/*` using `loadXPublications`.
71
+ - Publication objects declare `function`, optional `check`, and affected `collections`.
72
+ ```ts
73
+ export function loadFlagsPublications(subscriptionManager: SubscriptionManager) {
74
+ subscriptionManager.publications({
75
+ flagWithType: {
76
+ function: (flagType: string) => Flags.findOne({ type: flagType }),
77
+ check: new SimpleSchema({ flagType: { type: String } }),
78
+ collections: ['flags'],
79
+ },
80
+ });
81
+ }
82
+ ```
83
+
84
+ ### Worker & Queue Agents
85
+ - Heavy or blocking work should be dispatched to worker servers.
86
+ - Use `WorkerDispatcherManager.enqueue(task)` for background processing.
87
+ - Cron jobs live in `src/cron` and register through `CronManager`.
88
+
89
+ ---
90
+
91
+ ## Coding Conventions
92
+ - Tabs for indentation, newline `else if`, opening brace on same line.
93
+ - No `find` in loops; batch fetch then `bulkWrite`.
94
+ - Separate validation, data retrieval, and processing blocks.
95
+ - Use `async/await` with `try/catch`.
96
+ - Never use `Math.round`; always use `round` from the ResolveIO client/server libraries.
97
+ - Use `async/await` with `try/catch` instead of `.then()`/`.catch()`/`.finally()`.
98
+ - Never leave unused variables, parameters, or imports; remove or refactor instead of suppressing lint.
99
+ - Never construct Promises or use `.then()`/`.catch()`/`.finally()`; use `async/await` + `try/catch`.
100
+ - Never leave promises floating; `await` or `return` every async call (including `Promise.all`).
101
+ - Do not `await` inside `forEach`; use `for...of` or `Promise.all` with `map`.
102
+ - Every async method must `await` at least one call (Mongo transactions).
103
+ - Follow the `eslint.ts` rules.
104
+ - Models and collections must mirror each other at all times.
105
+
106
+ ```ts
107
+ if (x > 3) {
108
+ console.log(1);
109
+ }
110
+ else if (x === 2) {
111
+ console.log(2);
112
+ }
113
+ else {
114
+ console.log(3);
115
+ }
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Formatting & Linting
121
+ - `.editorconfig`, `.prettierrc.json`, and `.vscode/settings.json` enforce tabs and 120-column width.
122
+ - Always open `eslint.config.js` in this project before coding and follow its rules; do not assume defaults from other repos.
123
+ - Run lint before committing:
124
+ ```bash
125
+ npx eslint .
126
+ ```
127
+
128
+ ---
129
+
130
+ ## Quick Start
131
+ ```bash
132
+ npm install
133
+ npm run build
134
+ npm start
135
+ ```
136
+
137
+ ---
138
+
139
+ ## PR Checklist
140
+ - Tabs only; `else`/`else if` start on new lines.
141
+ - Avoid `find` in loops; use `bulkWrite`.
142
+ - Use transactions when multiple writes must succeed atomically.
143
+ - Offload heavy work to workers.
144
+ - Run `npx eslint .` before committing.
145
+
146
+ ---
147
+
148
+ ## Response Requirements
149
+
150
+ - Include a customer-facing summary of the request and the estimated the number of human hours an advanced ResolveIO engineer would take to fully complete the task including testing.
151
+ - Include a work ticket summary (what was done) and the estimated the number of human hours an advanced ResolveIO engineer would take to fully complete the task including testing.
152
+
153
+ ---
154
+
155
+ ## Anti-Patterns
156
+ - Converting tabs to spaces.
157
+ - `updateOne` or `find` in loops.
158
+ - Blocking work on the main server.
159
+ - Deep nesting without early returns.
160
+
161
+ ## STRING _id POLICY
162
+ - `_id` values are always strings in this codebase.
163
+ - Generate `_id` values with `objectIdHexString()`.
164
+ - Never use MongoDB `ObjectId` values or assumptions for `_id`.
165
+ - For bulk writes (`insertMany`, `bulkWrite`, batch upserts), always set `_id` explicitly as a string before writing.
166
+ - Never let MongoDB auto-generate `_id`, because that can create `ObjectId`-style ids.
167
+
168
+ ## RESOLVEIO LIBRARY SOURCE-OF-TRUTH POLICY
169
+ - Never use `patch-package` for any `@resolveio/*` library changes.
170
+ - Never patch `node_modules/@resolveio/*` as the primary fix path.
171
+ - Always implement fixes in the actual source library repo (for example `resolveio-server-lib` or `resolveio-client-lib`).
172
+ - When publishing a new `@resolveio/server-lib` version that ResolveIO apps should consume, update and push `ResolveIO/resolveio-libraries/system-package.json` before changing app `package.json` files or deploying. The deploy pipeline applies that overlay and will otherwise revert app package pins back to the old system version.
173
+ - After applying a library-source fix, explicitly report:
174
+ - Why the fix had to be made in the library source (root cause and ownership).
175
+ - What downstream impact to expect (version bump/publish, consumer upgrades, rollout risk, and compatibility considerations).
176
+
177
+ ## AI Terminal Boundary Policy
178
+
179
+ - Keep `resolveio-server-lib/src/methods/ai-terminal.ts` strictly platform-generic (`server-lib` / core ResolveIO only).
180
+ - Do not add app-specific names, app-only aliases, app-specific field fallbacks, or app-specific branching logic in `server-lib` AI terminal code.
181
+ - Put app-specific AI behavior in the app repo layer (for example `server/src/ai/assistant-heuristics.json` and app-level method/config wiring), not in `resolveio-server-lib`.
182
+
183
+ ## Distinct Filter Guidance
184
+
185
+ - For list/filter dropdowns, use distinct-backed options from the underlying collection data wherever practical instead of hardcoded option lists.
186
+ - Prefer list-template distinct filter support (`optionsDistinctKey`, `distinctQuery`, `distinctSort`, `distinctCollection`) when using `resolveio-list-template`.
187
+ - Keep an explicit "All" option for optional filters and ensure labels/values map to the true stored field values.
188
+ - Use hardcoded options only when values are truly fixed business enums that should not vary by dataset.
189
+
190
+ ## Rio Select Form-Control Rule
191
+
192
+ - Never apply Bootstrap `form-control` to `rio-select` (including `class="form-control"`). Use component-specific classes for `rio-select` styling.
193
+ - Never apply Bootstrap `form-control` to `rio-date-picker` (including `class="form-control"`). Use component-specific classes for `rio-date-picker` styling.
194
+
195
+ - MongoDB `_id` values are strings in this codebase; do not use `ObjectId` types.
package/README.md ADDED
@@ -0,0 +1,22 @@
1
+ ## Copyright
2
+
3
+ Copyright © 2017-2019 ResolveIO, LLC. All Rights Reserved. This work is to be used/viewed by ResolveIO, LLC Employees ONLY.
4
+
5
+ ## ResolveIO Command Line
6
+
7
+ - `$ npm run server` - Run the server application.
8
+ - `$ npm run build-prod` - Build production (dist folder).
9
+ - `$ npm run package` - Build tarball for npm publish (version inside package json, must rebuild if changed)
10
+ - `$ npm publish ./resolveio-server-lib-x.x.x.tgz` - Publish tarball to npm
11
+
12
+ ## Contents
13
+
14
+ This package contains:
15
+
16
+ - ResolveIO Server Library
17
+
18
+ ### Server
19
+
20
+ The `server` folder contain single TypeScript (`.ts`) file which is the main file (`/server/src/index.ts`), and creates both connections to client-database and resolveio-support database, then creates the main server instance, and then starts it.
21
+
22
+ All other server files should be located under `/server/src/*`.
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+ source ~/.nvm/nvm.sh # Ensure this path is correct for your nvm installation
3
+ nvm use 22
4
+ npm run build-prod
5
+ npm pack ./dist
package/compileDTS.pl ADDED
@@ -0,0 +1,64 @@
1
+ use strict;
2
+ use warnings;
3
+ use JSON;
4
+
5
+ my @allIds;
6
+
7
+ my $dir = './dist';
8
+
9
+ my $extraFiles = '';
10
+
11
+ search_dir($dir);
12
+
13
+ sub search_dir {
14
+
15
+ my ($locdir) = @_;
16
+ # print "Entered search_dir sub, working with directory => $locdir \n";
17
+ my $dh; # handle
18
+
19
+ if ( !opendir ($dh, $locdir)) {
20
+ warn "Unable to open $locdir: $!\n";
21
+ return;
22
+ }
23
+
24
+ my @FILES = grep { $_ ne '.' && $_ ne '..' } readdir($dh);
25
+
26
+ foreach my $file (@FILES) {
27
+ my $path = "$locdir/$file";
28
+ if ( -d $path ) {
29
+ # print "Directory $path found\n";
30
+ search_dir ($path);
31
+ }
32
+ else {
33
+ if ($file =~ m/.d.ts/ and $file !~ m/index.d.ts/) {
34
+ # print "Open file $path\n";
35
+ open (FILE, "<", "$path");
36
+ my @lines = <FILE>;
37
+ close FILE;
38
+ chomp @lines;
39
+
40
+ for (my $k = 0; $k < scalar(@lines); $k++) {
41
+ if ($lines[$k] =~ m/^export / and $lines[$k] !~ m/export {};/) {
42
+ $extraFiles .= $lines[$k] . "\n";
43
+
44
+ if ($lines[$k] =~ m/\{\s*$/) {
45
+ while($lines[++$k] !~ m/^\};?\s*$/) {
46
+ $extraFiles .= $lines[$k] . "\n";
47
+ }
48
+
49
+ $extraFiles .= $lines[$k] . "\n";
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ closedir ($dh);
58
+ }
59
+
60
+ print "Extras\n\n$extraFiles";
61
+
62
+ open (FILE, ">>", "./dist/index.d.ts");
63
+ print FILE "\n$extraFiles";
64
+ close FILE;
@@ -0,0 +1,65 @@
1
+ # AI Assistant Nightly Eval
2
+
3
+ This repo now includes a scheduled workflow at:
4
+
5
+ - `.github/workflows/ai-assistant-nightly-eval.yml`
6
+ - `.github/workflows/ai-assistant-pr-guardrails.yml`
7
+
8
+ It runs:
9
+
10
+ 1. `npm run ai-assistant-corpus-build`
11
+ 2. `npm run ai-assistant-data-parity-e2e`
12
+ 3. `npm run ai-assistant-corpus-replay-e2e`
13
+ 4. `npm run ai-assistant-eval-triage`
14
+
15
+ Artifacts are uploaded from `tmp/` and the workflow summary includes top prioritized failure clusters.
16
+
17
+ PR guardrails run on pull requests and execute:
18
+
19
+ 1. `npm run ai-assistant-utils-test`
20
+ 2. `npm run ai-assistant-routing-eval-test`
21
+
22
+ ## Required GitHub Setup
23
+
24
+ Set the secret:
25
+
26
+ - `OPENAI_API_KEY`
27
+
28
+ Set repository variables (recommended):
29
+
30
+ - `AI_ASSISTANT_EVAL_SERVER_DIR`: absolute path to server folder with settings and data access
31
+ - `AI_ASSISTANT_EVAL_SETTINGS`: settings filename (default `settings.local.json`)
32
+ - `AI_ASSISTANT_EVAL_APP_ID`: app id override (optional)
33
+ - `AI_ASSISTANT_EVAL_USER_ID`: user id override for corpus replay/build (optional)
34
+ - `AI_ASSISTANT_CODEX_MODEL`: model override (optional)
35
+
36
+ ## Running Manually
37
+
38
+ Use **Actions -> AI Assistant Nightly Eval -> Run workflow**.
39
+
40
+ Optional dispatch inputs:
41
+
42
+ - `server_dir`
43
+ - `settings_file`
44
+ - `app_id`
45
+ - `corpus_max_prompts`
46
+ - `corpus_lookback_days`
47
+ - `corpus_run_limit`
48
+ - `codex_model`
49
+ - `fail_on_eval_errors`
50
+
51
+ ## Output Files
52
+
53
+ Main outputs:
54
+
55
+ - `tmp/ai-assistant-query-corpus.json`
56
+ - `tmp/ai-assistant-data-parity-e2e-output.json`
57
+ - `tmp/ai-assistant-corpus-replay-e2e-output.json`
58
+ - `tmp/ai-assistant-eval-triage.json`
59
+ - `tmp/ai-assistant-eval-triage.md`
60
+
61
+ The triage JSON now includes:
62
+
63
+ - `allFailures.intentBuckets`
64
+ - `allFailures.collectionBuckets`
65
+ - `allFailures.priorityClusters`
@@ -0,0 +1,23 @@
1
+ # AI Assistant Preflight Checklist
2
+
3
+ Run this checklist before broader assistant evals.
4
+
5
+ 1. Lock deterministic runtime knobs in `settings.development.json`:
6
+ - `AI_ASSISTANT_CODEX_PLANNER_ENABLED`
7
+ - `AI_ASSISTANT_FAST_MODE_ENABLED`
8
+ - `AI_ASSISTANT_ALWAYS_ALLOW_PROBE`
9
+ - `AI_ASSISTANT_RUN_BUDGET_MS`
10
+ - `AI_ASSISTANT_MONGO_MAX_TIME_MS`
11
+ - `AI_ASSISTANT_CODEX_TIMEOUT_MS`
12
+
13
+ 2. Run focused assistant tests:
14
+ - `npm run ai-assistant-utils-test`
15
+ - `npm run ai-assistant-routing-eval-test`
16
+
17
+ 3. Validate the preflight prompt matrix:
18
+ - `npm run ai-assistant-preflight-matrix`
19
+ - Optional JSON output: `npm run ai-assistant-preflight-matrix -- --json`
20
+
21
+ 4. Use safe config copies when sharing logs/results:
22
+ - Share `settings.development.redacted.json` (not `settings.development.json`)
23
+ - Do not post raw secrets/tokens in issue comments or eval reports.
@@ -0,0 +1,115 @@
1
+ # AI Assistant Report Builder Bridge Playbook
2
+
3
+ ## Purpose
4
+ This playbook defines how the ResolveIO AI assistant should fetch live data with high reliability.
5
+
6
+ The assistant must not perform unrestricted collection access decisions.
7
+ All data retrieval behavior is constrained by the Report Builder bridge contract:
8
+
9
+ - `REPORT_BUILDER_READ` for list, detail, and simple count/total requests
10
+ - `REPORT_BUILDER_AGG` for grouped summaries, trends, and ranked breakdowns
11
+
12
+ ## System Flow
13
+ The runtime flow is:
14
+
15
+ 1. User asks a question.
16
+ 2. Assistant identifies if data is needed.
17
+ 3. Assistant resolves candidate collection and field names from context.
18
+ 4. Assistant emits one report-builder directive line.
19
+ 5. Server validates permission scope and collection eligibility.
20
+ 6. Server executes scoped read or aggregate with fallback logic.
21
+ 7. Server returns normalized table data.
22
+ 8. Assistant answers in plain language and includes a markdown table.
23
+
24
+ ## Bridge Guardrails
25
+ The bridge enforces:
26
+
27
+ - Permission checks using `permissionView`
28
+ - Customer and client scoping for non-super-admin users
29
+ - Invoice permission checks for invoice-like datasets
30
+ - Disallowed operators (`$where`, `$function`, `$accumulator`) blocked
31
+ - Collection eligibility limited to report-builder-enabled datasets (`useRB`)
32
+
33
+ If a dataset is not report-builder-enabled, the request is rejected with a bridge error.
34
+
35
+ ## Querying Rules For the Assistant
36
+ Use this sequence for every data request:
37
+
38
+ 1. Resolve intent type: list/detail vs grouped analytics.
39
+ 2. Resolve report style:
40
+ - Dated report for any breakdown over time (daily/weekly/monthly/quarterly/yearly trends).
41
+ - Grouped report for nested/grouped headers, grouped buckets, or grouped totals by dimensions.
42
+ - List report for simple flat records without grouped or time-based bucketing.
43
+ 3. Resolve collection from route hints, user terms, and known field hints.
44
+ 4. Choose directive type:
45
+ - Use `REPORT_BUILDER_READ` for snapshot rows, details, counts, or small totals.
46
+ - Use `REPORT_BUILDER_AGG` for grouped sums/counts, trend lines, and rankings.
47
+ 5. Include `permissionView` in every directive.
48
+ 6. Keep query minimal:
49
+ - add projection
50
+ - add sort
51
+ - add limit
52
+ 7. Enforce sort strategy:
53
+ - Prefer ascending sort by popular keys when present: `name`, `company`, `item` (fallbacks: `title`, `label`, `customer`).
54
+ - If no popular key exists, use stable fallback sort: `createdAt`/`date_created` then `_id`.
55
+ 8. Build filter logic intentionally:
56
+ - Use `$and` for required constraints.
57
+ - Use `$or` for alternative matches (name/company/item text patterns).
58
+ 9. Use advanced structures when needed:
59
+ - Use custom fields for derived metrics (rates, percentages, margin, computed totals).
60
+ - Use collection joins/lookups when selected fields span related collections.
61
+ - If multiple arrays are selected, link arrays using shared identifiers (`_id` or `id_<x>`) to prevent duplicate/cartesian expansion.
62
+ 10. Use bounded relative dates (`<= $$NOW`) unless user requests future range.
63
+ 11. For empty result sets, run a tiny probe and fallback sequence before concluding no data.
64
+
65
+ ## Reliability Fallback Sequence
66
+ When a query returns zero rows:
67
+
68
+ 1. Validate date field assumptions (`date_created`, `createdAt`, completion/paid fields).
69
+ 2. Run tiny probe (`limit 1-3`) to inspect field shape.
70
+ 3. Re-check name filters with tokenized regex.
71
+ 4. Apply id lookup fallback where `id_*` fields represent foreign keys.
72
+ 5. Retry collection mapping if a report/base partner collection is available.
73
+
74
+ Only then report no matching data.
75
+
76
+ ## Response Contract
77
+ After bridge execution:
78
+
79
+ 1. Give direct answer first.
80
+ 2. Add concise support bullets.
81
+ 3. Render markdown table.
82
+ 4. Never output raw JSON.
83
+ 5. Never claim certainty without successful tool response.
84
+
85
+ ## Directive Templates
86
+ Read template:
87
+
88
+ `REPORT_BUILDER_READ: {"collection":"<name>","query":{...},"options":{"projection":{...},"sort":{...},"limit":20},"permissionView":"</route>"}`
89
+
90
+ Aggregate template:
91
+
92
+ `REPORT_BUILDER_AGG: {"collection":"<name>","pipeline":[...],"options":{"allowDiskUse":true,"limit":20},"permissionView":"</route>"}`
93
+
94
+ ## Practical Examples
95
+ Simple list:
96
+
97
+ - User asks: "Show recent open work orders."
98
+ - Tool: `REPORT_BUILDER_READ`
99
+ - Query style: status filter + recent date range + sort desc + limit 20.
100
+
101
+ Breakdown:
102
+
103
+ - User asks: "Completed jobs by month for the last 6 months."
104
+ - Tool: `REPORT_BUILDER_AGG`
105
+ - Query style: bounded date range + completion status + group by month + sum/count.
106
+
107
+ Revenue:
108
+
109
+ - User asks: "Revenue this quarter."
110
+ - Tool: `REPORT_BUILDER_AGG`
111
+ - Query style: invoice dataset + paid/closed states + sum `paid_total` fallback `grand_total`.
112
+
113
+ ## Operational Note
114
+ The internal server method names currently include `aiAssistantMongoRead` and `aiAssistantMongoAggregate`.
115
+ These methods now operate under report-builder bridge constraints and are not unrestricted Mongo explorer paths.
@@ -0,0 +1,7 @@
1
+ // eslint-plugin-custom/index.js
2
+
3
+ module.exports = {
4
+ rules: {
5
+ 'no-filter-zero-index': require('./rules/no-filter-zero-index'),
6
+ },
7
+ };
@@ -0,0 +1,44 @@
1
+ // eslint-plugin-custom/rules/no-filter-zero-index.js
2
+
3
+ module.exports = {
4
+ meta: {
5
+ type: 'suggestion',
6
+ docs: {
7
+ description: 'Disallow using filter(...)[0] and suggest find(...) instead',
8
+ category: 'Best Practices',
9
+ recommended: false,
10
+ },
11
+ fixable: 'code',
12
+ messages: {
13
+ useFind: 'Please use `find` instead of `filter(...)[0]`.',
14
+ },
15
+ },
16
+ create(context) {
17
+ return {
18
+ MemberExpression(node) {
19
+ if (
20
+ node.property.type === 'Literal' &&
21
+ node.property.value === 0 &&
22
+ node.object.type === 'CallExpression' &&
23
+ node.object.callee.type === 'MemberExpression' &&
24
+ node.object.callee.property.name === 'filter'
25
+ ) {
26
+ context.report({
27
+ node,
28
+ messageId: 'useFind',
29
+ fix(fixer) {
30
+ const sourceCode = context.getSourceCode();
31
+ const filterCall = node.object;
32
+ const args = sourceCode.getText(filterCall.arguments[0]);
33
+ const objectText = sourceCode.getText(filterCall.callee.object);
34
+ return fixer.replaceText(
35
+ node,
36
+ `${objectText}.find(${args})`
37
+ );
38
+ },
39
+ });
40
+ }
41
+ },
42
+ };
43
+ },
44
+ };
@@ -0,0 +1,103 @@
1
+ const tsParser = require('@typescript-eslint/parser');
2
+ const typescriptPlugin = require('@typescript-eslint/eslint-plugin');
3
+ const customPlugin = require('./eslint-plugin-custom');
4
+ const promisePlugin = require('eslint-plugin-promise');
5
+
6
+ module.exports = [
7
+ // Base configuration for all files
8
+ {
9
+ files: ['src/**/*.ts'],
10
+ ignores: [
11
+
12
+ ],
13
+ languageOptions: {
14
+ parser: tsParser,
15
+ // You can specify your TypeScript project here if needed
16
+ parserOptions: { project: './tsconfig.json' },
17
+ },
18
+ plugins: {
19
+ '@typescript-eslint': typescriptPlugin,
20
+ custom: customPlugin,
21
+ promise: promisePlugin
22
+ },
23
+ rules: {
24
+ "no-unused-vars": "error",
25
+ // Existing rule for Math.round
26
+ 'no-restricted-properties': [
27
+ 'error',
28
+ {
29
+ object: 'Math',
30
+ property: 'round',
31
+ message:
32
+ 'Please use `round` from @resolveio/server-lib instead of Math.round.',
33
+ },
34
+ ],
35
+ // Existing rule to restrict imports from 'moment'
36
+ 'no-restricted-imports': [
37
+ 'error',
38
+ {
39
+ name: 'moment',
40
+ message: "Please use 'moment-timezone' instead of 'moment'.",
41
+ },
42
+ ],
43
+ "no-restricted-syntax": [
44
+ "error",
45
+ {
46
+ "selector": "NewExpression[callee.name='Promise']",
47
+ "message": "Use async/await instead of constructing new Promise."
48
+ },
49
+ {
50
+ "selector": "CallExpression[callee.property.name='then']",
51
+ "message": "Use async/await instead of .then()"
52
+ },
53
+ {
54
+ "selector": "CallExpression[callee.property.name='catch']",
55
+ "message": "Use try/catch with async/await instead of .catch()"
56
+ },
57
+ {
58
+ "selector": "CallExpression[callee.property.name='forEach'] ArrowFunctionExpression AwaitExpression",
59
+ "message": "Don't use await inside forEach. Use for...of instead."
60
+ }
61
+ ],
62
+ // New rule to disallow filter(...)[0]
63
+ 'custom/no-filter-zero-index': 'error',
64
+ '@typescript-eslint/no-floating-promises': [
65
+ 'error',
66
+ {
67
+ ignoreIIFE: false, // optional
68
+ ignoreVoid: false // optional
69
+ }
70
+ ],
71
+ '@typescript-eslint/require-await': 'error',
72
+ "no-throw-literal": "error",
73
+ "@typescript-eslint/await-thenable": "error",
74
+ "@typescript-eslint/no-misused-promises": [
75
+ "error",
76
+ {
77
+ "checksVoidReturn": {
78
+ "attributes": false,
79
+ "arguments": false,
80
+ "properties": false
81
+ }
82
+ }
83
+ ],
84
+ "promise/prefer-await-to-then": "error"
85
+ }
86
+ },
87
+ {
88
+ files: ['src/collections/**/*.ts'],
89
+ languageOptions: {
90
+ parser: tsParser,
91
+ parserOptions: { project: './tsconfig.json' },
92
+ },
93
+ plugins: {
94
+ '@typescript-eslint': typescriptPlugin,
95
+ custom: customPlugin,
96
+ promise: promisePlugin,
97
+ },
98
+ rules: {
99
+ '@typescript-eslint/no-floating-promises': 'off', // Only change
100
+ // All other rules inherit from the base config
101
+ },
102
+ },
103
+ ];