@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
@@ -0,0 +1,145 @@
1
+ import { ResolveIOServer } from '../src/resolveio-server-app';
2
+ import { ErrorReporter } from '../src/util/error-reporter';
3
+
4
+ function assert(condition: boolean, message: string) {
5
+ if (!condition) {
6
+ throw new Error(message);
7
+ }
8
+ }
9
+
10
+ function setServerConfig(overrides: Record<string, any> = {}) {
11
+ const serverAny = ResolveIOServer as unknown as Record<string, any>;
12
+ serverAny._serverConfig = Object.assign({
13
+ CLIENT_NAME: 'TestClient',
14
+ ROOT_URL: 'https://test.resolveio.com',
15
+ SERVER_URL: 'https://backend.resolveio.com'
16
+ }, overrides);
17
+ serverAny._client = 'test-client';
18
+ }
19
+
20
+ function setAutoFixManager(manager: any) {
21
+ const serverAny = ResolveIOServer as unknown as Record<string, any>;
22
+ serverAny.AutoFixManager = manager;
23
+ }
24
+
25
+ async function testSuccessfulLocalIngest() {
26
+ setServerConfig();
27
+ let payloadSnapshot: any = null;
28
+ setAutoFixManager({
29
+ isReady: () => true,
30
+ ingestErrorReport: async (payload: any) => {
31
+ payloadSnapshot = payload;
32
+ return {status: 'queued'};
33
+ }
34
+ });
35
+
36
+ const result = await ErrorReporter.report({
37
+ sourceApp: 'unit-test',
38
+ message: 'Invoice close failed',
39
+ context: {foo: 'bar'}
40
+ });
41
+
42
+ assert(result.delivered === true, 'Expected report to be delivered');
43
+ assert(result.status === 200, 'Expected local status code');
44
+ assert(result.reason === 'queued', 'Expected ingest status to propagate');
45
+ assert(payloadSnapshot !== null, 'Expected payload to be ingested');
46
+ assert(payloadSnapshot.message === 'Invoice close failed', 'Expected message in payload');
47
+ assert(payloadSnapshot.sourceApp === 'unit-test', 'Expected sourceApp in payload');
48
+ assert(payloadSnapshot.context.foo === 'bar', 'Expected context payload');
49
+ assert(typeof payloadSnapshot.fingerprint === 'string' && payloadSnapshot.fingerprint.length > 0, 'Expected fingerprint');
50
+ assert(payloadSnapshot.reportedAt instanceof Date, 'Expected reportedAt to be a Date');
51
+ }
52
+
53
+ async function testManagerMissing() {
54
+ setServerConfig();
55
+ setAutoFixManager(null);
56
+
57
+ const result = await ErrorReporter.report({
58
+ sourceApp: 'unit-test',
59
+ message: 'Should fail without manager'
60
+ });
61
+
62
+ assert(result.delivered === false, 'Expected local manager missing failure');
63
+ assert(result.reason === 'local-manager-missing', 'Expected local-manager-missing reason');
64
+ }
65
+
66
+ async function testManagerNotReady() {
67
+ setServerConfig();
68
+ setAutoFixManager({
69
+ isReady: () => false,
70
+ ingestErrorReport: async () => ({status: 'queued'})
71
+ });
72
+
73
+ const result = await ErrorReporter.report({
74
+ sourceApp: 'unit-test',
75
+ message: 'Should fail when manager not ready'
76
+ });
77
+
78
+ assert(result.delivered === false, 'Expected manager not-ready failure');
79
+ assert(result.reason === 'local-manager-not-ready', 'Expected local-manager-not-ready reason');
80
+ }
81
+
82
+ async function testManagerIngestFailure() {
83
+ setServerConfig();
84
+ setAutoFixManager({
85
+ isReady: () => true,
86
+ ingestErrorReport: async () => {
87
+ throw new Error('ingest boom');
88
+ }
89
+ });
90
+
91
+ const result = await ErrorReporter.report({
92
+ sourceApp: 'unit-test',
93
+ message: 'Should fail on ingest error'
94
+ });
95
+
96
+ assert(result.delivered === false, 'Expected local ingest failure');
97
+ assert(result.reason === 'local-ingest-failed', 'Expected local-ingest-failed reason');
98
+ }
99
+
100
+ async function testInvalidDateSerializationDoesNotThrow() {
101
+ setServerConfig();
102
+ let payloadSnapshot: any = null;
103
+ setAutoFixManager({
104
+ isReady: () => true,
105
+ ingestErrorReport: async (payload: any) => {
106
+ payloadSnapshot = payload;
107
+ return {status: 'queued'};
108
+ }
109
+ });
110
+
111
+ await ErrorReporter.report({
112
+ sourceApp: 'unit-test',
113
+ message: 'Invalid date handling',
114
+ context: {
115
+ badDate: new Date('not-a-date'),
116
+ okDate: new Date('2024-01-01T00:00:00.000Z')
117
+ },
118
+ reportedAt: new Date('not-a-date')
119
+ });
120
+
121
+ assert(payloadSnapshot !== null, 'Expected payload snapshot for invalid date test');
122
+ assert(payloadSnapshot.context.badDate === null, 'Expected invalid date to serialize as null');
123
+ assert(payloadSnapshot.context.okDate === '2024-01-01T00:00:00.000Z', 'Expected valid date to serialize normally');
124
+ assert(payloadSnapshot.reportedAt instanceof Date, 'Expected fallback reportedAt as Date');
125
+ }
126
+
127
+ async function run() {
128
+ try {
129
+ await testSuccessfulLocalIngest();
130
+ await testManagerMissing();
131
+ await testManagerNotReady();
132
+ await testManagerIngestFailure();
133
+ await testInvalidDateSerializationDoesNotThrow();
134
+ console.log('error reporter tests passed');
135
+ }
136
+ finally {
137
+ setAutoFixManager(null);
138
+ }
139
+ }
140
+
141
+ run().catch(err => {
142
+ console.error('error reporter tests failed');
143
+ console.error(err);
144
+ process.exit(1);
145
+ });
@@ -0,0 +1,46 @@
1
+ import { execFileSync } from 'child_process';
2
+
3
+ const script = `
4
+ import importlib.util
5
+
6
+ spec = importlib.util.spec_from_file_location('generator', 'methodAndPublicationListGenerator.py')
7
+ generator = importlib.util.module_from_spec(spec)
8
+ spec.loader.exec_module(generator)
9
+
10
+ params, calls = generator.trim_user_specific_publication_params(
11
+ ['id_current_user: string', 'id_user?: string'],
12
+ ['id_current_user', 'id_user'],
13
+ True,
14
+ 'yardsForUser'
15
+ )
16
+ assert params == ['id_user?: string'], params
17
+ assert calls == ['id_user'], calls
18
+
19
+ params, calls = generator.trim_user_specific_publication_params(
20
+ ['id_user: string', 'limit?: number'],
21
+ ['id_user', 'limit'],
22
+ True,
23
+ 'userNotificationCenter'
24
+ )
25
+ assert params == ['limit?: number'], params
26
+ assert calls == ['limit'], calls
27
+
28
+ try:
29
+ generator.trim_user_specific_publication_params(
30
+ ['id_user?: string'],
31
+ ['id_user'],
32
+ True,
33
+ 'yardsForUser'
34
+ )
35
+ except ValueError as exc:
36
+ assert 'ambiguous optional id_user' in str(exc), str(exc)
37
+ else:
38
+ raise AssertionError('Expected ambiguous yardsForUser signature to fail')
39
+
40
+ print('method publication generator tests passed')
41
+ `;
42
+
43
+ execFileSync('python3', ['-c', script], {
44
+ cwd: process.cwd(),
45
+ stdio: 'inherit'
46
+ });
@@ -0,0 +1,79 @@
1
+ import { applyLinkFieldUnwinds } from '../src/util/report-builder-unwinds';
2
+
3
+ function assert(condition: boolean, message: string) {
4
+ if (!condition) {
5
+ throw new Error(message);
6
+ }
7
+ }
8
+
9
+ function countUnwinds(query: any[], path: string) {
10
+ return query.filter(stage => stage?.$unwind?.path === path).length;
11
+ }
12
+
13
+ function countLookups(query: any[], as: string) {
14
+ return query.filter(stage => stage?.$lookup?.as === as).length;
15
+ }
16
+
17
+ function testAddsMissingUnwindsForLinkedLookupArrayField() {
18
+ const query: any[] = [];
19
+ const sizes: string[] = [];
20
+
21
+ const lookupAsRaw = 'items.$.wo_details.$.Work-order-dynamics (Items -> Wo Details -> Wo) (Lookup)';
22
+ const lookupAs = 'items.wo_details.Work-order-dynamics (Items -> Wo Details -> Wo) (Lookup)';
23
+
24
+ const fieldFirst = lookupAsRaw + '.$.chemicals.$.id_chemical';
25
+ const fieldSecond = 'items.$.id_chemical';
26
+
27
+ const selectedFields = [
28
+ {
29
+ fieldPath: fieldFirst,
30
+ lookup_collection: 'work-order-dynamics',
31
+ lookup_local_key: 'items.wo_details.id_wo',
32
+ lookup_foreign_key: '_id',
33
+ lookup_as: lookupAsRaw
34
+ },
35
+ {
36
+ fieldPath: fieldSecond,
37
+ lookup_collection: '',
38
+ lookup_local_key: '',
39
+ lookup_foreign_key: '',
40
+ lookup_as: ''
41
+ }
42
+ ];
43
+
44
+ applyLinkFieldUnwinds({
45
+ query,
46
+ sizes,
47
+ fieldsLink: [{field_first: fieldFirst, field_second: fieldSecond, id: 'link_1'}],
48
+ selectedFields,
49
+ filterArrayFields: [],
50
+ groupsRow: []
51
+ });
52
+
53
+ assert(countLookups(query, lookupAs) === 1, 'Expected lookup stage for linked lookup field');
54
+ assert(countUnwinds(query, '$items') === 1, 'Expected unwind for items');
55
+ assert(countUnwinds(query, '$items.wo_details') === 1, 'Expected unwind for items.wo_details');
56
+ assert(countUnwinds(query, '$' + lookupAs) === 1, 'Expected unwind for lookup results');
57
+ assert(countUnwinds(query, '$' + lookupAs + '.chemicals') === 1, 'Expected unwind for lookup chemicals array');
58
+
59
+ const originalLength = query.length;
60
+
61
+ applyLinkFieldUnwinds({
62
+ query,
63
+ sizes,
64
+ fieldsLink: [{field_first: fieldFirst, field_second: fieldSecond, id: 'link_1'}],
65
+ selectedFields,
66
+ filterArrayFields: [],
67
+ groupsRow: []
68
+ });
69
+
70
+ assert(query.length === originalLength, 'Expected second call to be idempotent');
71
+ }
72
+
73
+ function run() {
74
+ testAddsMissingUnwindsForLinkedLookupArrayField();
75
+ console.log('report builder linking tests passed');
76
+ }
77
+
78
+ run();
79
+
@@ -0,0 +1,352 @@
1
+ import {
2
+ buildResolveIOPlatformIntelligenceSystemPrompt,
3
+ getResolveIOPlatformDurableMemoryEntries,
4
+ getResolveIOPlatformIntelligenceRuleLines,
5
+ getResolveIOPlatformIntelligenceRuleSections
6
+ } from '../src/ai/resolveio-platform-intelligence';
7
+ import {
8
+ buildResolveIOPlatformIntelligenceSystemPromptWithSharedMemory,
9
+ hydrateResolveIOPlatformIntelligenceRuleOptions,
10
+ inferResolveIOPlatformIntelligenceMemoryFamilies,
11
+ listResolveIOPlatformIntelligenceMemoryEntries
12
+ } from '../src/ai/resolveio-platform-intelligence-memory';
13
+
14
+ function assert(condition: boolean, message: string) {
15
+ if (!condition) {
16
+ throw new Error(message);
17
+ }
18
+ }
19
+
20
+ function testCommonRulesIncludeResolveIOContracts() {
21
+ const rules = getResolveIOPlatformIntelligenceRuleLines({ mode: 'builder' });
22
+ assert(
23
+ rules.some((rule) => rule.includes('`_id` as a string')),
24
+ 'Expected rules to preserve the ResolveIO string `_id` contract'
25
+ );
26
+ assert(
27
+ rules.some((rule) => rule.includes('`rio-select`')),
28
+ 'Expected rules to prefer `rio-select`'
29
+ );
30
+ assert(
31
+ rules.some((rule) => rule.includes('`rio-chart`')),
32
+ 'Expected rules to prefer `rio-chart`'
33
+ );
34
+ assert(
35
+ rules.some((rule) => rule.includes('`rio-date-picker`')),
36
+ 'Expected rules to prefer `rio-date-picker`'
37
+ );
38
+ assert(
39
+ rules.some((rule) => rule.includes('Do not hand-edit generated Angular socket files')),
40
+ 'Expected rules to protect generated methods/publications files'
41
+ );
42
+ assert(
43
+ rules.some((rule) => rule.includes('Never use Mongoose')),
44
+ 'Expected rules to reject Mongoose in ResolveIO platform code'
45
+ );
46
+ assert(
47
+ rules.some((rule) => rule.includes('Never use Meteor')),
48
+ 'Expected rules to reject Meteor in ResolveIO platform code'
49
+ );
50
+ assert(
51
+ rules.some((rule) => rule.includes('ResolveIO `round` helper')),
52
+ 'Expected rules to prefer ResolveIO round helper over Math.round'
53
+ );
54
+ assert(
55
+ rules.some((rule) => rule.includes('Every cited file, symbol, route, collection, workflow, and scoped target must be verified')),
56
+ 'Expected rules to require real path and scope verification'
57
+ );
58
+ assert(
59
+ rules.some((rule) => rule.includes('Do not use placeholder or fuzzy path language')),
60
+ 'Expected rules to reject placeholder path language'
61
+ );
62
+ assert(
63
+ rules.some((rule) => rule.includes('Map non-technical user wording to internal collections')),
64
+ 'Expected rules to require internal collection/workflow inference from user wording'
65
+ );
66
+ assert(
67
+ rules.some((rule) => rule.includes('Do not use `*.versions` collections for ordinary requests')),
68
+ 'Expected rules to avoid version collections for ordinary requests'
69
+ );
70
+ assert(
71
+ rules.some((rule) => rule.includes('Company Secrets')),
72
+ 'Expected rules to require Company Secrets for external keys and config'
73
+ );
74
+ }
75
+
76
+ function testRioSelectRulesPreferOptionsMode() {
77
+ const rules = getResolveIOPlatformIntelligenceRuleLines({ mode: 'support' });
78
+ assert(
79
+ rules.some((rule) => rule.includes('`[options]` pipeline')),
80
+ 'Expected rio-select rules to prefer the `[options]` pipeline'
81
+ );
82
+ assert(
83
+ rules.some((rule) => rule.includes('Do not mix `[options]` and projected `<rio-option>`')),
84
+ 'Expected rio-select rules to reject mixed mode'
85
+ );
86
+ assert(
87
+ rules.some((rule) => rule.includes('large option sets')),
88
+ 'Expected rio-select rules to mention large-option performance guidance'
89
+ );
90
+ assert(
91
+ rules.some((rule) => rule.includes('distinct-backed options')),
92
+ 'Expected filter rules to prefer distinct-backed dropdown options'
93
+ );
94
+ assert(
95
+ rules.some((rule) => rule.includes('Do not apply Bootstrap `form-control` directly to `rio-select`')),
96
+ 'Expected styling rules to reject form-control on rio-select'
97
+ );
98
+ assert(
99
+ rules.some((rule) => rule.includes('`rio-calendar`')),
100
+ 'Expected rules to prefer rio-calendar for scheduling surfaces'
101
+ );
102
+ assert(
103
+ rules.some((rule) => rule.includes('`rio-pagination`')),
104
+ 'Expected rules to prefer rio-pagination for paginated navigation'
105
+ );
106
+ assert(
107
+ rules.some((rule) => rule.includes('keep them distinct: fix the failing path first')),
108
+ 'Expected rules to keep failing and comparator paths distinct'
109
+ );
110
+ }
111
+
112
+ function testBuilderRulesPromoteAppGenerationDiscipline() {
113
+ const rules = getResolveIOPlatformIntelligenceRuleLines({ mode: 'builder' });
114
+ assert(
115
+ rules.some((rule) => rule.includes('standard ResolveIO build flow in order')),
116
+ 'Expected builder rules to encode the standard ResolveIO build flow'
117
+ );
118
+ assert(
119
+ rules.some((rule) => rule.includes('Feature modules should normally include module, routing, permission, service')),
120
+ 'Expected builder rules to encode expected feature module structure'
121
+ );
122
+ assert(
123
+ rules.some((rule) => rule.includes('operator command center')),
124
+ 'Expected builder rules to require a tailored dashboard hub'
125
+ );
126
+ assert(
127
+ rules.some((rule) => rule.includes('assistant-heuristics.json')),
128
+ 'Expected builder rules to keep app-level assistant heuristics in sync'
129
+ );
130
+ assert(
131
+ rules.some((rule) => rule.includes('single sign-in entry')),
132
+ 'Expected builder rules to preserve default staff login UX'
133
+ );
134
+ }
135
+
136
+ function testAssistantDataRulesPromoteSafeReportBuilderUsage() {
137
+ const rules = getResolveIOPlatformIntelligenceRuleLines({ mode: 'assistant' });
138
+ assert(
139
+ rules.some((rule) => rule.includes('read-only ResolveIO data bridge (`REPORT_BUILDER_READ` / `REPORT_BUILDER_AGG`)')),
140
+ 'Expected rules to prefer the report-builder data bridge for live data'
141
+ );
142
+ assert(
143
+ rules.some((rule) => rule.includes('Always include a verified `permissionView`')),
144
+ 'Expected rules to require verified permissionView for live data queries'
145
+ );
146
+ assert(
147
+ rules.some((rule) => rule.includes('run the smallest safe probe you can')),
148
+ 'Expected rules to require probe validation before concluding no data'
149
+ );
150
+ assert(
151
+ rules.some((rule) => rule.includes('summarize first, then show a clean markdown table')),
152
+ 'Expected rules to require summary-first table output for live data'
153
+ );
154
+ }
155
+
156
+ function testDurableMemoryDefaultsAndFiltering() {
157
+ const defaultEntries = getResolveIOPlatformDurableMemoryEntries({ mode: 'support' });
158
+ assert(
159
+ defaultEntries.some((entry) => entry.family === 'rio-select' && entry.kind === 'accepted_pattern'),
160
+ 'Expected default durable memory to include rio-select accepted patterns'
161
+ );
162
+ assert(
163
+ defaultEntries.some((entry) => entry.family === 'shared-library-ownership' && entry.kind === 'rejected_fix_shape'),
164
+ 'Expected default durable memory to include shared-library rejected fix shapes'
165
+ );
166
+ assert(
167
+ defaultEntries.some((entry) => entry.family === 'dashboard-hub' && entry.kind === 'contract_violation'),
168
+ 'Expected default durable memory to include dashboard-hub contract violations'
169
+ );
170
+ const filteredEntries = getResolveIOPlatformDurableMemoryEntries({
171
+ mode: 'support',
172
+ memoryFamilies: ['rio-select']
173
+ });
174
+ assert(filteredEntries.length > 0, 'Expected filtered durable memory to retain rio-select entries');
175
+ assert(
176
+ filteredEntries.every((entry) => entry.family === 'rio-select' || (entry.tags || []).includes('rio-select')),
177
+ 'Expected filtered durable memory to stay scoped to the requested family'
178
+ );
179
+ assert(
180
+ !filteredEntries.some((entry) => entry.family === 'dashboard-hub'),
181
+ 'Expected unrelated durable memory families to be excluded by filtering'
182
+ );
183
+ }
184
+
185
+ function testPromptCanMergeCustomDurableMemory() {
186
+ const prompt = buildResolveIOPlatformIntelligenceSystemPrompt({
187
+ mode: 'builder',
188
+ outputStyle: 'markdown',
189
+ memoryFamilies: ['rio-select', 'report-builder'],
190
+ durableMemoryEntries: [
191
+ {
192
+ family: 'report-builder',
193
+ kind: 'accepted_pattern',
194
+ summary: 'Prefer verified lookup-aware aggregates when grouped metrics span related collections.'
195
+ }
196
+ ]
197
+ });
198
+ assert(prompt.includes('Durable Memory: Accepted Patterns:'), 'Expected durable memory accepted section');
199
+ assert(prompt.includes('rio-select: Accepted pattern:'), 'Expected prompt to include filtered rio-select durable memory');
200
+ assert(
201
+ prompt.includes('report-builder: Accepted pattern: Prefer verified lookup-aware aggregates when grouped metrics span related collections.'),
202
+ 'Expected prompt to include caller-supplied durable memory'
203
+ );
204
+ assert(
205
+ !prompt.includes('dashboard-hub: Contract violation:'),
206
+ 'Expected family filtering to keep unrelated durable memory out of the prompt'
207
+ );
208
+ }
209
+
210
+ function testSharedMemorySelectionInfersRelevantFamiliesFromContext() {
211
+ const families = inferResolveIOPlatformIntelligenceMemoryFamilies('support', [
212
+ 'The rio-select uses [options] with optionLabelFn and is showing a stale selected label after current_location changes.',
213
+ 'This may belong in resolveio-client-lib rather than the app repo.'
214
+ ]);
215
+ assert(families.includes('rio-select'), 'Expected rio-select family to be inferred from context');
216
+ assert(
217
+ families.includes('shared-library-ownership'),
218
+ 'Expected shared-library ownership family to be inferred from library-root-cause context'
219
+ );
220
+ const entries = listResolveIOPlatformIntelligenceMemoryEntries({
221
+ mode: 'support',
222
+ contextText: [
223
+ 'The rio-select uses [options] with optionLabelFn and is showing a stale selected label after current_location changes.',
224
+ 'This may belong in resolveio-client-lib rather than the app repo.'
225
+ ],
226
+ limit: 4
227
+ });
228
+ assert(entries.length > 0, 'Expected shared memory selection to return relevant entries');
229
+ assert(
230
+ entries.some((entry) => entry.family === 'rio-select'),
231
+ 'Expected shared memory selection to include rio-select entries'
232
+ );
233
+ assert(
234
+ entries.some((entry) => entry.family === 'shared-library-ownership'),
235
+ 'Expected shared memory selection to include shared-library ownership entries'
236
+ );
237
+ }
238
+
239
+ function testHydrateRuleOptionsUsesRelevantSharedMemoryInsteadOfWholeCorpus() {
240
+ const hydrated = hydrateResolveIOPlatformIntelligenceRuleOptions(
241
+ {
242
+ mode: 'assistant'
243
+ },
244
+ {
245
+ contextText: [
246
+ 'The issue mentions ObjectId assumptions for _id and a direct edit to angular/app/methods.ts.',
247
+ 'We need to keep _id as a string and regenerate generated socket files.'
248
+ ],
249
+ limit: 5
250
+ }
251
+ );
252
+ assert(hydrated.includeDefaultDurableMemory === false, 'Expected hydrated options to disable full-corpus default injection');
253
+ const entries = hydrated.durableMemoryEntries || [];
254
+ assert(
255
+ entries.some((entry) => entry.family === 'identifier-contract'),
256
+ 'Expected hydrated options to include identifier-contract memory'
257
+ );
258
+ assert(
259
+ entries.some((entry) => entry.family === 'generated-method-publication'),
260
+ 'Expected hydrated options to include generated-method-publication memory'
261
+ );
262
+ assert(
263
+ !entries.some((entry) => entry.family === 'dashboard-hub'),
264
+ 'Expected unrelated memory families to stay out of the hydrated options'
265
+ );
266
+ }
267
+
268
+ function testSharedPromptBuilderRendersRelevantCodeBackedMemory() {
269
+ const prompt = buildResolveIOPlatformIntelligenceSystemPromptWithSharedMemory(
270
+ {
271
+ mode: 'builder',
272
+ outputStyle: 'markdown'
273
+ },
274
+ {
275
+ contextText: [
276
+ 'This new app feature needs a real dashboard hub and full feature module wiring.',
277
+ 'Do not leave placeholder quick actions or dead links in the hub.'
278
+ ],
279
+ limit: 4
280
+ }
281
+ );
282
+ assert(prompt.includes('dashboard-hub: Contract violation:'), 'Expected prompt to include relevant dashboard-hub memory');
283
+ assert(
284
+ prompt.includes('feature-module-generation: Accepted pattern:'),
285
+ 'Expected prompt to include relevant feature-module-generation memory'
286
+ );
287
+ assert(
288
+ !prompt.includes('rio-select: Accepted pattern:'),
289
+ 'Expected unrelated rio-select memory to stay out of the shared-memory prompt'
290
+ );
291
+ }
292
+
293
+ function testPromptBuildsSectionedVerifyFirstGuidance() {
294
+ const prompt = buildResolveIOPlatformIntelligenceSystemPrompt({
295
+ mode: 'assistant',
296
+ outputStyle: 'markdown',
297
+ extraRules: ['Always verify the claimed fix with the most relevant local test or reproduction path before finalizing.']
298
+ });
299
+ assert(prompt.includes('Investigation Loop:'), 'Expected sectioned investigation loop guidance');
300
+ assert(prompt.includes('Data And ID Contracts:'), 'Expected sectioned data contract guidance');
301
+ assert(prompt.includes('Generated Files:'), 'Expected generated file guidance section');
302
+ assert(prompt.includes('Path Grounding And Scope:'), 'Expected path grounding guidance section');
303
+ assert(prompt.includes('Collection And Workflow Inference:'), 'Expected collection inference guidance section');
304
+ assert(prompt.includes('Platform Architecture:'), 'Expected architecture guidance section');
305
+ assert(prompt.includes('Server Implementation:'), 'Expected server implementation guidance section');
306
+ assert(prompt.includes('ResolveIO UI Libraries:'), 'Expected sectioned UI library guidance');
307
+ assert(prompt.includes('App Generation And UX:'), 'Expected app generation guidance section');
308
+ assert(prompt.includes('Auth And Shell:'), 'Expected auth and shell guidance section');
309
+ assert(prompt.includes('Shared Library Ownership:'), 'Expected sectioned shared-library guidance');
310
+ assert(prompt.includes('Live Data And Report Builder:'), 'Expected report builder guidance section');
311
+ assert(prompt.includes('Durable Memory: Accepted Patterns:'), 'Expected durable memory accepted section');
312
+ assert(prompt.includes('Durable Memory: Rejected Fix Shapes:'), 'Expected durable memory rejected section');
313
+ assert(prompt.includes('Durable Memory: Contract Violations:'), 'Expected durable memory contract-violation section');
314
+ assert(prompt.includes('Build an evidence-to-fix chain:'), 'Expected evidence-to-fix guidance to be rendered');
315
+ assert(prompt.includes('Always verify the claimed fix with the most relevant local test or reproduction path before finalizing.'), 'Expected extra rules to be appended');
316
+ }
317
+
318
+ function testSectionsStayDedupedAndModeAware() {
319
+ const sections = getResolveIOPlatformIntelligenceRuleSections({
320
+ mode: 'app_terminal',
321
+ outputStyle: 'plain_english',
322
+ extraRules: ['Respond with the final user-facing outcome clearly.']
323
+ });
324
+ const titles = sections.map((section) => section.title);
325
+ assert(titles.includes('Mode Rules'), 'Expected mode rules section');
326
+ assert(titles.includes('Output Style'), 'Expected output style section');
327
+ assert(
328
+ sections.some((section) => section.title === 'Mode Rules' && section.rules.some((rule) => rule.includes('plain English'))),
329
+ 'Expected app terminal mode rules to remain present'
330
+ );
331
+ assert(
332
+ sections.some((section) => section.title === 'Extra Rules' && section.rules.includes('Respond with the final user-facing outcome clearly.')),
333
+ 'Expected extra rules section to contain caller-supplied rules'
334
+ );
335
+ }
336
+
337
+ function run() {
338
+ testCommonRulesIncludeResolveIOContracts();
339
+ testRioSelectRulesPreferOptionsMode();
340
+ testBuilderRulesPromoteAppGenerationDiscipline();
341
+ testAssistantDataRulesPromoteSafeReportBuilderUsage();
342
+ testDurableMemoryDefaultsAndFiltering();
343
+ testPromptCanMergeCustomDurableMemory();
344
+ testSharedMemorySelectionInfersRelevantFamiliesFromContext();
345
+ testHydrateRuleOptionsUsesRelevantSharedMemoryInsteadOfWholeCorpus();
346
+ testSharedPromptBuilderRendersRelevantCodeBackedMemory();
347
+ testPromptBuildsSectionedVerifyFirstGuidance();
348
+ testSectionsStayDedupedAndModeAware();
349
+ console.log('resolveio platform intelligence tests passed');
350
+ }
351
+
352
+ run();