@resolveio/server-lib 22.3.22 → 22.3.23

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 (674) hide show
  1. package/.nodemon.json +5 -0
  2. package/.vscode/settings.json +21 -0
  3. package/AGENTS.md +189 -0
  4. package/README.md +22 -0
  5. package/build_package.sh +5 -0
  6. package/compileDTS.pl +64 -0
  7. package/docs/ai-assistant-nightly-eval.md +65 -0
  8. package/docs/ai-assistant-preflight-checklist.md +23 -0
  9. package/docs/ai-assistant-report-builder-bridge-playbook.md +115 -0
  10. package/eslint-plugin-custom/index.js +7 -0
  11. package/eslint-plugin-custom/rules/no-filter-zero-index.js +44 -0
  12. package/eslint.config.js +103 -0
  13. package/gulpfile.js +216 -0
  14. package/methodAndPublicationListGenerator.py +344 -0
  15. package/mongodbensurers.js +2 -0
  16. package/mongostop.js +3 -0
  17. package/package.json +1 -1
  18. package/scripts/cleanup-bypassed-callmethod-logs.js +616 -0
  19. package/settings.development.json +25 -0
  20. package/settings.development.redacted.json +25 -0
  21. package/src/.env +12 -0
  22. package/src/ai/assistant-core-heuristics.ts +379 -0
  23. package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +185 -0
  24. package/src/ai/resolveio-platform-intelligence-memory.ts +325 -0
  25. package/{ai/resolveio-platform-intelligence-types.d.ts → src/ai/resolveio-platform-intelligence-types.ts} +20 -15
  26. package/src/ai/resolveio-platform-intelligence.ts +462 -0
  27. package/src/client-server-app.ts +12 -0
  28. package/src/collections/ai-terminal-conversation.collection.ts +91 -0
  29. package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
  30. package/src/collections/ai-terminal-message.collection.ts +77 -0
  31. package/src/collections/app-setting.collection.ts +104 -0
  32. package/src/collections/app-status.collection.ts +58 -0
  33. package/src/collections/communication-metric.collection.ts +84 -0
  34. package/src/collections/counter.collection.ts +56 -0
  35. package/src/collections/cron-job-history.collection.ts +94 -0
  36. package/src/collections/cron-job.collection.ts +92 -0
  37. package/src/collections/customer-notification.collection.ts +131 -0
  38. package/src/collections/customer-portal-password.collection.ts +76 -0
  39. package/src/collections/email-history.collection.ts +127 -0
  40. package/src/collections/email-verified.collection.ts +62 -0
  41. package/src/collections/file.collection.ts +74 -0
  42. package/src/collections/flag-update.collection.ts +57 -0
  43. package/src/collections/flag.collection.ts +57 -0
  44. package/src/collections/log-method-latency.collection.ts +77 -0
  45. package/src/collections/log-subscription.collection.ts +80 -0
  46. package/src/collections/log.collection.ts +93 -0
  47. package/src/collections/logged-in-users.collection.ts +67 -0
  48. package/src/collections/monitor-cpu.collection.ts +65 -0
  49. package/src/collections/monitor-function.collection.ts +74 -0
  50. package/src/collections/monitor-memory.collection.ts +77 -0
  51. package/src/collections/monitor-mongo.collection.ts +71 -0
  52. package/src/collections/notification.collection.ts +57 -0
  53. package/src/collections/openai-usage-ledger.collection.ts +77 -0
  54. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  55. package/src/collections/report-builder-library.collection.ts +89 -0
  56. package/src/collections/report-builder-report.collection.ts +184 -0
  57. package/src/collections/user-group.collection.ts +89 -0
  58. package/src/collections/user-guide.collection.ts +57 -0
  59. package/src/collections/user.collection.ts +181 -0
  60. package/src/cron/cron.ts +117 -0
  61. package/src/fixtures/cron-jobs.ts +95 -0
  62. package/src/fixtures/init.ts +35 -0
  63. package/src/http/auth.ts +764 -0
  64. package/src/http/health.ts +7 -0
  65. package/src/http/home.ts +90 -0
  66. package/src/http/slow-query-publication.ts +49 -0
  67. package/src/index.ts +1 -0
  68. package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
  69. package/src/managers/communication-metric.manager.ts +82 -0
  70. package/src/managers/cron.manager.ts +333 -0
  71. package/src/managers/customer-notification-content.manager.ts +236 -0
  72. package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
  73. package/src/managers/error-auto-fix.manager.ts +2767 -0
  74. package/src/managers/local-log.manager.ts +113 -0
  75. package/src/managers/method.manager.ts +1827 -0
  76. package/src/managers/mongo.manager.ts +4575 -0
  77. package/src/managers/monitor.manager.ts +507 -0
  78. package/src/managers/openai-usage-ledger.manager.ts +116 -0
  79. package/src/managers/slow-query-verifier.manager.ts +3590 -0
  80. package/src/managers/slow-query.manager.ts +519 -0
  81. package/src/managers/subscription.manager.ts +3128 -0
  82. package/src/managers/websocket.manager.ts +746 -0
  83. package/src/managers/worker-dispatcher.manager.ts +1360 -0
  84. package/src/managers/worker-server.manager.ts +536 -0
  85. package/src/methods/accounts.ts +532 -0
  86. package/src/methods/ai-terminal.ts +22943 -0
  87. package/src/methods/app-settings.ts +114 -0
  88. package/src/methods/aws.ts +649 -0
  89. package/src/methods/collections.ts +641 -0
  90. package/src/methods/counters.ts +69 -0
  91. package/src/methods/cron-jobs.ts +2614 -0
  92. package/src/methods/customer-notifications.ts +458 -0
  93. package/src/methods/diagnostics.ts +616 -0
  94. package/src/methods/flag-updates.ts +7 -0
  95. package/src/methods/flags.ts +7 -0
  96. package/src/methods/logs.ts +657 -0
  97. package/src/methods/mongo-explorer.ts +1880 -0
  98. package/src/methods/monitor.ts +540 -0
  99. package/src/methods/pdf.ts +1236 -0
  100. package/src/methods/publications.ts +129 -0
  101. package/src/methods/report-builder.ts +3300 -0
  102. package/src/methods/support.ts +335 -0
  103. package/src/models/ai-terminal-conversation.model.ts +19 -0
  104. package/src/models/ai-terminal-issue-report.model.ts +21 -0
  105. package/src/models/ai-terminal-message.model.ts +24 -0
  106. package/src/models/app-setting.model.ts +17 -0
  107. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  108. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  109. package/src/models/collection-document.model.ts +24 -0
  110. package/src/models/communication-metric.model.ts +23 -0
  111. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  112. package/src/models/cron-job-history.model.ts +16 -0
  113. package/src/models/cron-job.model.ts +15 -0
  114. package/src/models/customer-notification.model.ts +28 -0
  115. package/src/models/customer-portal-password.model.ts +12 -0
  116. package/src/models/dialog.model.ts +25 -0
  117. package/{models/email-history.model.js → src/models/email-history.model.ts} +35 -4
  118. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  119. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  120. package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
  121. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  122. package/src/models/log-method-latency.model.ts +11 -0
  123. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
  124. package/src/models/log.model.ts +19 -0
  125. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  126. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  127. package/src/models/method.model.ts +25 -0
  128. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  129. package/src/models/monitor-function.model.ts +16 -0
  130. package/src/models/monitor-memory.model.ts +17 -0
  131. package/src/models/monitor-mongo.model.ts +15 -0
  132. package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
  133. package/src/models/openai-usage-ledger.model.ts +16 -0
  134. package/src/models/pagination.model.ts +35 -0
  135. package/src/models/permission.model.ts +14 -0
  136. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  137. package/src/models/report-builder-library.model.ts +20 -0
  138. package/src/models/report-builder-report.model.ts +136 -0
  139. package/src/models/report-builder.model.ts +68 -0
  140. package/src/models/select-data-label.model.ts +9 -0
  141. package/src/models/server-message.model.ts +31 -0
  142. package/src/models/slow-query-report.model.ts +23 -0
  143. package/src/models/subscription.model.ts +73 -0
  144. package/src/models/support-ticket.model.ts +104 -0
  145. package/src/models/user-group.model.ts +24 -0
  146. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  147. package/src/models/user.model.ts +96 -0
  148. package/src/private/images/ResolveIO.png +0 -0
  149. package/src/publications/ai-terminal.ts +73 -0
  150. package/src/publications/app-settings.ts +25 -0
  151. package/src/publications/app-status.ts +13 -0
  152. package/src/publications/cron-jobs.ts +40 -0
  153. package/src/publications/customer-notifications.ts +101 -0
  154. package/src/publications/files.ts +33 -0
  155. package/src/publications/flags-update.ts +19 -0
  156. package/src/publications/flags.ts +19 -0
  157. package/src/publications/logs.ts +163 -0
  158. package/src/publications/notifications.ts +13 -0
  159. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  160. package/src/publications/report-builder-libraries.ts +41 -0
  161. package/src/publications/report-builder-reports.ts +47 -0
  162. package/src/publications/super-admin.ts +13 -0
  163. package/src/publications/user-groups.ts +12 -0
  164. package/src/publications/user-guides.ts +12 -0
  165. package/src/resolveio-server-app.ts +617 -0
  166. package/src/server-app.ts +3354 -0
  167. package/src/services/codex-client.ts +1223 -0
  168. package/src/services/openai-client.ts +265 -0
  169. package/src/types/error-report.ts +26 -0
  170. package/src/types/js-tiktoken.d.ts +11 -0
  171. package/src/types/slow-query-report.ts +28 -0
  172. package/src/util/ai-qa-policy.ts +799 -0
  173. package/src/util/common.ts +649 -0
  174. package/src/util/customer-portal-password.ts +183 -0
  175. package/src/util/error-reporter.ts +332 -0
  176. package/src/util/error-tracking.ts +79 -0
  177. package/src/util/report-builder-unwinds.ts +180 -0
  178. package/src/util/schema-report-builder.ts +448 -0
  179. package/src/util/slow-query-reporter.ts +216 -0
  180. package/src/util/subscription-dependency-context.ts +1096 -0
  181. package/src/util/tokenizer.ts +38 -0
  182. package/src/workers/codex-runner.worker.ts +142 -0
  183. package/start_server.sh +5 -0
  184. package/tests/ai-assistant-corpus-build.ts +484 -0
  185. package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
  186. package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
  187. package/tests/ai-assistant-eval-triage.ts +831 -0
  188. package/tests/ai-assistant-openai-e2e.ts +1061 -0
  189. package/tests/ai-assistant-openai-git-e2e.ts +155 -0
  190. package/tests/ai-assistant-preflight-matrix.ts +215 -0
  191. package/tests/ai-assistant-routing-eval.test.ts +560 -0
  192. package/tests/ai-assistant-snf-live-eval.ts +975 -0
  193. package/tests/ai-assistant-utils.test.ts +2860 -0
  194. package/tests/ai-runner-contract.test.ts +119 -0
  195. package/tests/error-reporter.test.ts +145 -0
  196. package/tests/report-builder-linking.test.ts +79 -0
  197. package/tests/resolveio-platform-intelligence.test.ts +352 -0
  198. package/tests/server-app-cron-owner.test.ts +127 -0
  199. package/tests/subscription-connect-race.test.ts +158 -0
  200. package/tests/subscription-dependency-context.test.ts +324 -0
  201. package/tests/subscription-manager-collection-tracking.test.ts +86 -0
  202. package/tests/subscription-manager-invalidation.test.ts +86 -0
  203. package/tsconfig.json +34 -0
  204. package/ai/assistant-core-heuristics.d.ts +0 -11
  205. package/ai/assistant-core-heuristics.js +0 -356
  206. package/ai/assistant-core-heuristics.js.map +0 -1
  207. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
  208. package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
  209. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
  210. package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
  211. package/ai/resolveio-platform-intelligence-memory.js +0 -341
  212. package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
  213. package/ai/resolveio-platform-intelligence-types.js +0 -4
  214. package/ai/resolveio-platform-intelligence-types.js.map +0 -1
  215. package/ai/resolveio-platform-intelligence.d.ts +0 -6
  216. package/ai/resolveio-platform-intelligence.js +0 -463
  217. package/ai/resolveio-platform-intelligence.js.map +0 -1
  218. package/client-server-app.d.ts +0 -1
  219. package/client-server-app.js +0 -68
  220. package/client-server-app.js.map +0 -1
  221. package/collections/ai-terminal-conversation.collection.d.ts +0 -2
  222. package/collections/ai-terminal-conversation.collection.js +0 -140
  223. package/collections/ai-terminal-conversation.collection.js.map +0 -1
  224. package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
  225. package/collections/ai-terminal-issue-report.collection.js +0 -148
  226. package/collections/ai-terminal-issue-report.collection.js.map +0 -1
  227. package/collections/ai-terminal-message.collection.d.ts +0 -2
  228. package/collections/ai-terminal-message.collection.js +0 -121
  229. package/collections/ai-terminal-message.collection.js.map +0 -1
  230. package/collections/app-setting.collection.d.ts +0 -3
  231. package/collections/app-setting.collection.js +0 -103
  232. package/collections/app-setting.collection.js.map +0 -1
  233. package/collections/app-status.collection.d.ts +0 -3
  234. package/collections/app-status.collection.js +0 -57
  235. package/collections/app-status.collection.js.map +0 -1
  236. package/collections/communication-metric.collection.d.ts +0 -2
  237. package/collections/communication-metric.collection.js +0 -133
  238. package/collections/communication-metric.collection.js.map +0 -1
  239. package/collections/counter.collection.d.ts +0 -3
  240. package/collections/counter.collection.js +0 -56
  241. package/collections/counter.collection.js.map +0 -1
  242. package/collections/cron-job-history.collection.d.ts +0 -3
  243. package/collections/cron-job-history.collection.js +0 -137
  244. package/collections/cron-job-history.collection.js.map +0 -1
  245. package/collections/cron-job.collection.d.ts +0 -3
  246. package/collections/cron-job.collection.js +0 -92
  247. package/collections/cron-job.collection.js.map +0 -1
  248. package/collections/customer-notification.collection.d.ts +0 -3
  249. package/collections/customer-notification.collection.js +0 -130
  250. package/collections/customer-notification.collection.js.map +0 -1
  251. package/collections/customer-portal-password.collection.d.ts +0 -3
  252. package/collections/customer-portal-password.collection.js +0 -75
  253. package/collections/customer-portal-password.collection.js.map +0 -1
  254. package/collections/email-history.collection.d.ts +0 -3
  255. package/collections/email-history.collection.js +0 -127
  256. package/collections/email-history.collection.js.map +0 -1
  257. package/collections/email-verified.collection.d.ts +0 -3
  258. package/collections/email-verified.collection.js +0 -62
  259. package/collections/email-verified.collection.js.map +0 -1
  260. package/collections/file.collection.d.ts +0 -3
  261. package/collections/file.collection.js +0 -74
  262. package/collections/file.collection.js.map +0 -1
  263. package/collections/flag-update.collection.d.ts +0 -3
  264. package/collections/flag-update.collection.js +0 -57
  265. package/collections/flag-update.collection.js.map +0 -1
  266. package/collections/flag.collection.d.ts +0 -3
  267. package/collections/flag.collection.js +0 -57
  268. package/collections/flag.collection.js.map +0 -1
  269. package/collections/log-method-latency.collection.d.ts +0 -3
  270. package/collections/log-method-latency.collection.js +0 -77
  271. package/collections/log-method-latency.collection.js.map +0 -1
  272. package/collections/log-subscription.collection.d.ts +0 -3
  273. package/collections/log-subscription.collection.js +0 -80
  274. package/collections/log-subscription.collection.js.map +0 -1
  275. package/collections/log.collection.d.ts +0 -3
  276. package/collections/log.collection.js +0 -93
  277. package/collections/log.collection.js.map +0 -1
  278. package/collections/logged-in-users.collection.d.ts +0 -3
  279. package/collections/logged-in-users.collection.js +0 -67
  280. package/collections/logged-in-users.collection.js.map +0 -1
  281. package/collections/monitor-cpu.collection.d.ts +0 -3
  282. package/collections/monitor-cpu.collection.js +0 -65
  283. package/collections/monitor-cpu.collection.js.map +0 -1
  284. package/collections/monitor-function.collection.d.ts +0 -3
  285. package/collections/monitor-function.collection.js +0 -74
  286. package/collections/monitor-function.collection.js.map +0 -1
  287. package/collections/monitor-memory.collection.d.ts +0 -3
  288. package/collections/monitor-memory.collection.js +0 -77
  289. package/collections/monitor-memory.collection.js.map +0 -1
  290. package/collections/monitor-mongo.collection.d.ts +0 -3
  291. package/collections/monitor-mongo.collection.js +0 -71
  292. package/collections/monitor-mongo.collection.js.map +0 -1
  293. package/collections/notification.collection.d.ts +0 -3
  294. package/collections/notification.collection.js +0 -57
  295. package/collections/notification.collection.js.map +0 -1
  296. package/collections/openai-usage-ledger.collection.d.ts +0 -2
  297. package/collections/openai-usage-ledger.collection.js +0 -124
  298. package/collections/openai-usage-ledger.collection.js.map +0 -1
  299. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  300. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  301. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  302. package/collections/report-builder-library.collection.d.ts +0 -3
  303. package/collections/report-builder-library.collection.js +0 -87
  304. package/collections/report-builder-library.collection.js.map +0 -1
  305. package/collections/report-builder-report.collection.d.ts +0 -4
  306. package/collections/report-builder-report.collection.js +0 -184
  307. package/collections/report-builder-report.collection.js.map +0 -1
  308. package/collections/user-group.collection.d.ts +0 -4
  309. package/collections/user-group.collection.js +0 -89
  310. package/collections/user-group.collection.js.map +0 -1
  311. package/collections/user-guide.collection.d.ts +0 -3
  312. package/collections/user-guide.collection.js +0 -57
  313. package/collections/user-guide.collection.js.map +0 -1
  314. package/collections/user.collection.d.ts +0 -4
  315. package/collections/user.collection.js +0 -180
  316. package/collections/user.collection.js.map +0 -1
  317. package/cron/cron.d.ts +0 -14
  318. package/cron/cron.js +0 -216
  319. package/cron/cron.js.map +0 -1
  320. package/fixtures/cron-jobs.d.ts +0 -1
  321. package/fixtures/cron-jobs.js +0 -150
  322. package/fixtures/cron-jobs.js.map +0 -1
  323. package/fixtures/init.d.ts +0 -1
  324. package/fixtures/init.js +0 -91
  325. package/fixtures/init.js.map +0 -1
  326. package/http/auth.d.ts +0 -2
  327. package/http/auth.js +0 -906
  328. package/http/auth.js.map +0 -1
  329. package/http/health.d.ts +0 -1
  330. package/http/health.js +0 -11
  331. package/http/health.js.map +0 -1
  332. package/http/home.d.ts +0 -1
  333. package/http/home.js +0 -134
  334. package/http/home.js.map +0 -1
  335. package/http/slow-query-publication.d.ts +0 -2
  336. package/http/slow-query-publication.js +0 -99
  337. package/http/slow-query-publication.js.map +0 -1
  338. package/index.d.ts +0 -1
  339. package/index.js +0 -19
  340. package/index.js.map +0 -1
  341. package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
  342. package/managers/ai-assistant-codex-manager.manager.js +0 -1113
  343. package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
  344. package/managers/communication-metric.manager.d.ts +0 -16
  345. package/managers/communication-metric.manager.js +0 -134
  346. package/managers/communication-metric.manager.js.map +0 -1
  347. package/managers/cron.manager.d.ts +0 -20
  348. package/managers/cron.manager.js +0 -534
  349. package/managers/cron.manager.js.map +0 -1
  350. package/managers/customer-notification-content.manager.d.ts +0 -55
  351. package/managers/customer-notification-content.manager.js +0 -158
  352. package/managers/customer-notification-content.manager.js.map +0 -1
  353. package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
  354. package/managers/diagnostic-manager-bootstrap.js +0 -260
  355. package/managers/diagnostic-manager-bootstrap.js.map +0 -1
  356. package/managers/error-auto-fix.manager.d.ts +0 -149
  357. package/managers/error-auto-fix.manager.js +0 -3064
  358. package/managers/error-auto-fix.manager.js.map +0 -1
  359. package/managers/local-log.manager.d.ts +0 -18
  360. package/managers/local-log.manager.js +0 -88
  361. package/managers/local-log.manager.js.map +0 -1
  362. package/managers/method.manager.d.ts +0 -83
  363. package/managers/method.manager.js +0 -1941
  364. package/managers/method.manager.js.map +0 -1
  365. package/managers/mongo.manager.d.ts +0 -224
  366. package/managers/mongo.manager.js +0 -5000
  367. package/managers/mongo.manager.js.map +0 -1
  368. package/managers/monitor.manager.d.ts +0 -70
  369. package/managers/monitor.manager.js +0 -550
  370. package/managers/monitor.manager.js.map +0 -1
  371. package/managers/openai-usage-ledger.manager.d.ts +0 -15
  372. package/managers/openai-usage-ledger.manager.js +0 -144
  373. package/managers/openai-usage-ledger.manager.js.map +0 -1
  374. package/managers/slow-query-verifier.manager.d.ts +0 -144
  375. package/managers/slow-query-verifier.manager.js +0 -3857
  376. package/managers/slow-query-verifier.manager.js.map +0 -1
  377. package/managers/slow-query.manager.d.ts +0 -28
  378. package/managers/slow-query.manager.js +0 -468
  379. package/managers/slow-query.manager.js.map +0 -1
  380. package/managers/subscription.manager.d.ts +0 -169
  381. package/managers/subscription.manager.js +0 -3434
  382. package/managers/subscription.manager.js.map +0 -1
  383. package/managers/websocket.manager.d.ts +0 -73
  384. package/managers/websocket.manager.js +0 -673
  385. package/managers/websocket.manager.js.map +0 -1
  386. package/managers/worker-dispatcher.manager.d.ts +0 -120
  387. package/managers/worker-dispatcher.manager.js +0 -1266
  388. package/managers/worker-dispatcher.manager.js.map +0 -1
  389. package/managers/worker-server.manager.d.ts +0 -35
  390. package/managers/worker-server.manager.js +0 -582
  391. package/managers/worker-server.manager.js.map +0 -1
  392. package/methods/accounts.d.ts +0 -2
  393. package/methods/accounts.js +0 -624
  394. package/methods/accounts.js.map +0 -1
  395. package/methods/ai-terminal.d.ts +0 -322
  396. package/methods/ai-terminal.js +0 -22699
  397. package/methods/ai-terminal.js.map +0 -1
  398. package/methods/app-settings.d.ts +0 -2
  399. package/methods/app-settings.js +0 -169
  400. package/methods/app-settings.js.map +0 -1
  401. package/methods/aws.d.ts +0 -2
  402. package/methods/aws.js +0 -877
  403. package/methods/aws.js.map +0 -1
  404. package/methods/collections.d.ts +0 -2
  405. package/methods/collections.js +0 -719
  406. package/methods/collections.js.map +0 -1
  407. package/methods/counters.d.ts +0 -2
  408. package/methods/counters.js +0 -113
  409. package/methods/counters.js.map +0 -1
  410. package/methods/cron-jobs.d.ts +0 -2
  411. package/methods/cron-jobs.js +0 -2475
  412. package/methods/cron-jobs.js.map +0 -1
  413. package/methods/customer-notifications.d.ts +0 -2
  414. package/methods/customer-notifications.js +0 -528
  415. package/methods/customer-notifications.js.map +0 -1
  416. package/methods/diagnostics.d.ts +0 -2
  417. package/methods/diagnostics.js +0 -703
  418. package/methods/diagnostics.js.map +0 -1
  419. package/methods/flag-updates.d.ts +0 -2
  420. package/methods/flag-updates.js +0 -8
  421. package/methods/flag-updates.js.map +0 -1
  422. package/methods/flags.d.ts +0 -2
  423. package/methods/flags.js +0 -8
  424. package/methods/flags.js.map +0 -1
  425. package/methods/logs.d.ts +0 -2
  426. package/methods/logs.js +0 -751
  427. package/methods/logs.js.map +0 -1
  428. package/methods/mongo-explorer.d.ts +0 -2
  429. package/methods/mongo-explorer.js +0 -1808
  430. package/methods/mongo-explorer.js.map +0 -1
  431. package/methods/monitor.d.ts +0 -2
  432. package/methods/monitor.js +0 -543
  433. package/methods/monitor.js.map +0 -1
  434. package/methods/pdf.d.ts +0 -2
  435. package/methods/pdf.js +0 -1216
  436. package/methods/pdf.js.map +0 -1
  437. package/methods/publications.d.ts +0 -1
  438. package/methods/publications.js +0 -183
  439. package/methods/publications.js.map +0 -1
  440. package/methods/report-builder.d.ts +0 -2
  441. package/methods/report-builder.js +0 -3094
  442. package/methods/report-builder.js.map +0 -1
  443. package/methods/support.d.ts +0 -2
  444. package/methods/support.js +0 -430
  445. package/methods/support.js.map +0 -1
  446. package/models/ai-terminal-conversation.model.d.ts +0 -17
  447. package/models/ai-terminal-conversation.model.js +0 -4
  448. package/models/ai-terminal-conversation.model.js.map +0 -1
  449. package/models/ai-terminal-issue-report.model.d.ts +0 -19
  450. package/models/ai-terminal-issue-report.model.js +0 -4
  451. package/models/ai-terminal-issue-report.model.js.map +0 -1
  452. package/models/ai-terminal-message.model.d.ts +0 -22
  453. package/models/ai-terminal-message.model.js +0 -4
  454. package/models/ai-terminal-message.model.js.map +0 -1
  455. package/models/app-setting.model.d.ts +0 -16
  456. package/models/app-setting.model.js +0 -4
  457. package/models/app-setting.model.js.map +0 -1
  458. package/models/app-status.model.js +0 -4
  459. package/models/app-status.model.js.map +0 -1
  460. package/models/billing-logged-in-users.model.js +0 -4
  461. package/models/billing-logged-in-users.model.js.map +0 -1
  462. package/models/collection-document.model.d.ts +0 -21
  463. package/models/collection-document.model.js +0 -4
  464. package/models/collection-document.model.js.map +0 -1
  465. package/models/communication-metric.model.d.ts +0 -20
  466. package/models/communication-metric.model.js +0 -4
  467. package/models/communication-metric.model.js.map +0 -1
  468. package/models/counter.model.js +0 -4
  469. package/models/counter.model.js.map +0 -1
  470. package/models/cron-job-history.model.d.ts +0 -15
  471. package/models/cron-job-history.model.js +0 -4
  472. package/models/cron-job-history.model.js.map +0 -1
  473. package/models/cron-job.model.d.ts +0 -14
  474. package/models/cron-job.model.js +0 -4
  475. package/models/cron-job.model.js.map +0 -1
  476. package/models/customer-notification.model.d.ts +0 -26
  477. package/models/customer-notification.model.js +0 -4
  478. package/models/customer-notification.model.js.map +0 -1
  479. package/models/customer-portal-password.model.d.ts +0 -11
  480. package/models/customer-portal-password.model.js +0 -4
  481. package/models/customer-portal-password.model.js.map +0 -1
  482. package/models/dialog.model.d.ts +0 -23
  483. package/models/dialog.model.js +0 -4
  484. package/models/dialog.model.js.map +0 -1
  485. package/models/email-history.model.d.ts +0 -31
  486. package/models/email-history.model.js.map +0 -1
  487. package/models/email-verified.model.js +0 -4
  488. package/models/email-verified.model.js.map +0 -1
  489. package/models/file.model.js +0 -4
  490. package/models/file.model.js.map +0 -1
  491. package/models/flag-update.model.js +0 -4
  492. package/models/flag-update.model.js.map +0 -1
  493. package/models/flag.model.js +0 -4
  494. package/models/flag.model.js.map +0 -1
  495. package/models/log-method-latency.model.d.ts +0 -10
  496. package/models/log-method-latency.model.js +0 -4
  497. package/models/log-method-latency.model.js.map +0 -1
  498. package/models/log-subscription.model.js +0 -4
  499. package/models/log-subscription.model.js.map +0 -1
  500. package/models/log.model.d.ts +0 -17
  501. package/models/log.model.js +0 -4
  502. package/models/log.model.js.map +0 -1
  503. package/models/logged-in-users.model.js +0 -4
  504. package/models/logged-in-users.model.js.map +0 -1
  505. package/models/method-response.model.js +0 -4
  506. package/models/method-response.model.js.map +0 -1
  507. package/models/method.model.d.ts +0 -26
  508. package/models/method.model.js +0 -4
  509. package/models/method.model.js.map +0 -1
  510. package/models/monitor-cpu.model.js +0 -4
  511. package/models/monitor-cpu.model.js.map +0 -1
  512. package/models/monitor-function.model.d.ts +0 -14
  513. package/models/monitor-function.model.js +0 -4
  514. package/models/monitor-function.model.js.map +0 -1
  515. package/models/monitor-memory.model.d.ts +0 -15
  516. package/models/monitor-memory.model.js +0 -4
  517. package/models/monitor-memory.model.js.map +0 -1
  518. package/models/monitor-mongo.model.d.ts +0 -13
  519. package/models/monitor-mongo.model.js +0 -4
  520. package/models/monitor-mongo.model.js.map +0 -1
  521. package/models/notification.model.js +0 -4
  522. package/models/notification.model.js.map +0 -1
  523. package/models/openai-usage-ledger.model.d.ts +0 -15
  524. package/models/openai-usage-ledger.model.js +0 -4
  525. package/models/openai-usage-ledger.model.js.map +0 -1
  526. package/models/pagination.model.d.ts +0 -11
  527. package/models/pagination.model.js +0 -28
  528. package/models/pagination.model.js.map +0 -1
  529. package/models/permission.model.d.ts +0 -12
  530. package/models/permission.model.js +0 -4
  531. package/models/permission.model.js.map +0 -1
  532. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  533. package/models/report-builder-dashboard-builder.model.js +0 -4
  534. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  535. package/models/report-builder-library.model.d.ts +0 -17
  536. package/models/report-builder-library.model.js +0 -4
  537. package/models/report-builder-library.model.js.map +0 -1
  538. package/models/report-builder-report.model.d.ts +0 -121
  539. package/models/report-builder-report.model.js +0 -4
  540. package/models/report-builder-report.model.js.map +0 -1
  541. package/models/report-builder.model.d.ts +0 -61
  542. package/models/report-builder.model.js +0 -4
  543. package/models/report-builder.model.js.map +0 -1
  544. package/models/select-data-label.model.d.ts +0 -9
  545. package/models/select-data-label.model.js +0 -4
  546. package/models/select-data-label.model.js.map +0 -1
  547. package/models/server-message.model.d.ts +0 -32
  548. package/models/server-message.model.js +0 -4
  549. package/models/server-message.model.js.map +0 -1
  550. package/models/slow-query-report.model.d.ts +0 -23
  551. package/models/slow-query-report.model.js +0 -4
  552. package/models/slow-query-report.model.js.map +0 -1
  553. package/models/subscription.model.d.ts +0 -31
  554. package/models/subscription.model.js +0 -4
  555. package/models/subscription.model.js.map +0 -1
  556. package/models/support-ticket.model.d.ts +0 -87
  557. package/models/support-ticket.model.js +0 -4
  558. package/models/support-ticket.model.js.map +0 -1
  559. package/models/user-group.model.d.ts +0 -20
  560. package/models/user-group.model.js +0 -4
  561. package/models/user-group.model.js.map +0 -1
  562. package/models/user-guide.model.js +0 -4
  563. package/models/user-guide.model.js.map +0 -1
  564. package/models/user.model.d.ts +0 -84
  565. package/models/user.model.js +0 -4
  566. package/models/user.model.js.map +0 -1
  567. package/private/images/ResolveIO.png +0 -0
  568. package/public_api.js +0 -112
  569. package/public_api.js.map +0 -1
  570. package/publications/ai-terminal.d.ts +0 -1
  571. package/publications/ai-terminal.js +0 -122
  572. package/publications/ai-terminal.js.map +0 -1
  573. package/publications/app-settings.d.ts +0 -2
  574. package/publications/app-settings.js +0 -28
  575. package/publications/app-settings.js.map +0 -1
  576. package/publications/app-status.d.ts +0 -2
  577. package/publications/app-status.js +0 -16
  578. package/publications/app-status.js.map +0 -1
  579. package/publications/cron-jobs.d.ts +0 -2
  580. package/publications/cron-jobs.js +0 -88
  581. package/publications/cron-jobs.js.map +0 -1
  582. package/publications/customer-notifications.d.ts +0 -2
  583. package/publications/customer-notifications.js +0 -161
  584. package/publications/customer-notifications.js.map +0 -1
  585. package/publications/files.d.ts +0 -2
  586. package/publications/files.js +0 -36
  587. package/publications/files.js.map +0 -1
  588. package/publications/flags-update.d.ts +0 -2
  589. package/publications/flags-update.js +0 -22
  590. package/publications/flags-update.js.map +0 -1
  591. package/publications/flags.d.ts +0 -2
  592. package/publications/flags.js +0 -22
  593. package/publications/flags.js.map +0 -1
  594. package/publications/logs.d.ts +0 -2
  595. package/publications/logs.js +0 -164
  596. package/publications/logs.js.map +0 -1
  597. package/publications/notifications.d.ts +0 -2
  598. package/publications/notifications.js +0 -16
  599. package/publications/notifications.js.map +0 -1
  600. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  601. package/publications/report-builder-dashboard-builders.js +0 -42
  602. package/publications/report-builder-dashboard-builders.js.map +0 -1
  603. package/publications/report-builder-libraries.d.ts +0 -2
  604. package/publications/report-builder-libraries.js +0 -90
  605. package/publications/report-builder-libraries.js.map +0 -1
  606. package/publications/report-builder-reports.d.ts +0 -2
  607. package/publications/report-builder-reports.js +0 -50
  608. package/publications/report-builder-reports.js.map +0 -1
  609. package/publications/super-admin.d.ts +0 -2
  610. package/publications/super-admin.js +0 -16
  611. package/publications/super-admin.js.map +0 -1
  612. package/publications/user-groups.d.ts +0 -1
  613. package/publications/user-groups.js +0 -16
  614. package/publications/user-groups.js.map +0 -1
  615. package/publications/user-guides.d.ts +0 -1
  616. package/publications/user-guides.js +0 -16
  617. package/publications/user-guides.js.map +0 -1
  618. package/resolveio-server-app.d.ts +0 -70
  619. package/resolveio-server-app.js +0 -801
  620. package/resolveio-server-app.js.map +0 -1
  621. package/server-app.d.ts +0 -228
  622. package/server-app.js +0 -3566
  623. package/server-app.js.map +0 -1
  624. package/services/codex-client.d.ts +0 -126
  625. package/services/codex-client.js +0 -1622
  626. package/services/codex-client.js.map +0 -1
  627. package/services/openai-client.d.ts +0 -46
  628. package/services/openai-client.js +0 -318
  629. package/services/openai-client.js.map +0 -1
  630. package/types/error-report.d.ts +0 -25
  631. package/types/error-report.js +0 -4
  632. package/types/error-report.js.map +0 -1
  633. package/types/slow-query-report.d.ts +0 -27
  634. package/types/slow-query-report.js +0 -6
  635. package/types/slow-query-report.js.map +0 -1
  636. package/util/ai-qa-policy.d.ts +0 -94
  637. package/util/ai-qa-policy.js +0 -534
  638. package/util/ai-qa-policy.js.map +0 -1
  639. package/util/common.d.ts +0 -31
  640. package/util/common.js +0 -683
  641. package/util/common.js.map +0 -1
  642. package/util/customer-portal-password.d.ts +0 -13
  643. package/util/customer-portal-password.js +0 -209
  644. package/util/customer-portal-password.js.map +0 -1
  645. package/util/error-reporter.d.ts +0 -52
  646. package/util/error-reporter.js +0 -326
  647. package/util/error-reporter.js.map +0 -1
  648. package/util/error-tracking.d.ts +0 -13
  649. package/util/error-tracking.js +0 -120
  650. package/util/error-tracking.js.map +0 -1
  651. package/util/report-builder-unwinds.d.ts +0 -15
  652. package/util/report-builder-unwinds.js +0 -156
  653. package/util/report-builder-unwinds.js.map +0 -1
  654. package/util/schema-report-builder.d.ts +0 -6
  655. package/util/schema-report-builder.js +0 -481
  656. package/util/schema-report-builder.js.map +0 -1
  657. package/util/slow-query-reporter.d.ts +0 -28
  658. package/util/slow-query-reporter.js +0 -226
  659. package/util/slow-query-reporter.js.map +0 -1
  660. package/util/subscription-dependency-context.d.ts +0 -34
  661. package/util/subscription-dependency-context.js +0 -1283
  662. package/util/subscription-dependency-context.js.map +0 -1
  663. package/util/tokenizer.d.ts +0 -5
  664. package/util/tokenizer.js +0 -41
  665. package/util/tokenizer.js.map +0 -1
  666. package/workers/codex-runner.worker.d.ts +0 -1
  667. package/workers/codex-runner.worker.js +0 -192
  668. package/workers/codex-runner.worker.js.map +0 -1
  669. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  670. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  671. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  672. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  673. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
  674. /package/{public_api.d.ts → src/public_api.ts} +0 -0
@@ -1,534 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __values = (this && this.__values) || function(o) {
14
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
- if (m) return m.call(o);
16
- if (o && typeof o.length === "number") return {
17
- next: function () {
18
- if (o && i >= o.length) o = void 0;
19
- return { value: o && o[i++], done: !o };
20
- }
21
- };
22
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
- };
24
- var __read = (this && this.__read) || function (o, n) {
25
- var m = typeof Symbol === "function" && o[Symbol.iterator];
26
- if (!m) return o;
27
- var i = m.call(o), r, ar = [], e;
28
- try {
29
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
- }
31
- catch (error) { e = { error: error }; }
32
- finally {
33
- try {
34
- if (r && !r.done && (m = i["return"])) m.call(i);
35
- }
36
- finally { if (e) throw e.error; }
37
- }
38
- return ar;
39
- };
40
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
- if (ar || !(i in from)) {
43
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
- ar[i] = from[i];
45
- }
46
- }
47
- return to.concat(ar || Array.prototype.slice.call(from));
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.normalizeResolveIOQaPolicyOptions = normalizeResolveIOQaPolicyOptions;
51
- exports.buildResolveIOQaPolicyRules = buildResolveIOQaPolicyRules;
52
- exports.buildResolveIORunnerBasicsRules = buildResolveIORunnerBasicsRules;
53
- exports.buildResolveIORunnerContract = buildResolveIORunnerContract;
54
- exports.buildResolveIORunnerPromptLines = buildResolveIORunnerPromptLines;
55
- exports.buildResolveIORunnerPromptBundle = buildResolveIORunnerPromptBundle;
56
- exports.buildResolveIORunnerRepairPromptLines = buildResolveIORunnerRepairPromptLines;
57
- exports.normalizeResolveIORunnerBlocker = normalizeResolveIORunnerBlocker;
58
- exports.classifyResolveIORunnerBlocker = classifyResolveIORunnerBlocker;
59
- exports.extractResolveIORunnerRepairLineHints = extractResolveIORunnerRepairLineHints;
60
- exports.extractResolveIORunnerRepairTargetFiles = extractResolveIORunnerRepairTargetFiles;
61
- exports.selectResolveIORunnerRepairTargetFiles = selectResolveIORunnerRepairTargetFiles;
62
- exports.sanitizeResolveIORunnerRepairPlans = sanitizeResolveIORunnerRepairPlans;
63
- exports.buildResolveIORunnerRepairPlans = buildResolveIORunnerRepairPlans;
64
- function normalizeOptionalString(value) {
65
- return String(value || '').replace(/\s+/g, ' ').trim();
66
- }
67
- function normalizePositiveInteger(value, fallback, min, max) {
68
- var numeric = Number(value);
69
- if (!Number.isFinite(numeric)) {
70
- return fallback;
71
- }
72
- var rounded = Number(numeric.toFixed(0));
73
- return Math.max(min, Math.min(max, rounded));
74
- }
75
- function normalizeTextLine(value, maxChars) {
76
- return normalizeOptionalString(value).slice(0, maxChars).trim();
77
- }
78
- function normalizeTextList(values, limit, maxChars) {
79
- var e_1, _a;
80
- if (!Array.isArray(values)) {
81
- return [];
82
- }
83
- var result = [];
84
- try {
85
- for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {
86
- var value = values_1_1.value;
87
- var normalized = normalizeTextLine(value, maxChars);
88
- if (normalized && !result.includes(normalized)) {
89
- result.push(normalized);
90
- }
91
- if (result.length >= limit) {
92
- break;
93
- }
94
- }
95
- }
96
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
97
- finally {
98
- try {
99
- if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);
100
- }
101
- finally { if (e_1) throw e_1.error; }
102
- }
103
- return result;
104
- }
105
- function normalizeResolveIOQaPolicyOptions(options) {
106
- if (options === void 0) { options = {}; }
107
- return {
108
- context: options.context || 'general',
109
- includeDevServerRules: options.includeDevServerRules === true,
110
- qaRepairEnabled: options.qaRepairEnabled !== false,
111
- qaEvidenceRequired: options.qaEvidenceRequired !== false,
112
- qaDistinctScreenshotRequired: options.qaDistinctScreenshotRequired !== false,
113
- qaFailFastCompile: options.qaFailFastCompile !== false,
114
- qaLiveDataRequired: options.qaLiveDataRequired !== false,
115
- qaSelfRepairMaxWaves: normalizePositiveInteger(options.qaSelfRepairMaxWaves, 3, 1, 6),
116
- currentRoute: normalizeOptionalString(options.currentRoute),
117
- currentContextMode: normalizeOptionalString(options.currentContextMode),
118
- customInstructions: Array.isArray(options.customInstructions)
119
- ? options.customInstructions.map(normalizeOptionalString).filter(Boolean).slice(0, 12)
120
- : []
121
- };
122
- }
123
- function buildResolveIOQaPolicyRules(options) {
124
- if (options === void 0) { options = {}; }
125
- var policy = normalizeResolveIOQaPolicyOptions(options);
126
- var rules = [];
127
- if (policy.includeDevServerRules) {
128
- rules.push('When browser/localhost QA needs long-running commands like `npm run server`, `npm run client`, `npm run dev`, `ng serve`, `vite`, or `nodemon`, start them as managed background processes with log files and PIDs; do not leave foreground dev-server commands as the active shell tool.', 'Before localhost/browser QA, source `.resolveio-support-tools/env.sh` when present. It supplies shared EC2 browser cache settings, `PUPPETEER_EXECUTABLE_PATH`/`CHROME_BIN`, Mongo wrappers, and `RESOLVEIO_SUPPORT_QA_CLIENT_PORT`/`RESOLVEIO_SUPPORT_QA_CLIENT_URL` for non-conflicting client ports.', 'When launching Puppeteer or Playwright on workers, pass `executablePath: process.env.PUPPETEER_EXECUTABLE_PATH || process.env.CHROME_BIN` if either env var is set. Do not download a fresh browser before checking these env vars and `PUPPETEER_CACHE_DIR`.', 'Use the managed-server pattern for localhost QA: `command > .build-output/<name>.log 2>&1 & PID=$!; trap "kill $PID 2>/dev/null || true" EXIT; wait for the port with curl; run browser checks; then kill/wait the PID`. Prefer `npm run client` or `./start_client.sh`; those scripts honor `RESOLVEIO_SUPPORT_QA_CLIENT_PORT` and `PORT`. Never run `ng serve ... | tee ...` or another dev server as a foreground command.');
129
- }
130
- if (policy.qaFailFastCompile) {
131
- rules.push('Before browser QA, run the fastest compile/type/startup checks that can prove the app can load. Fix compile/startup failures before launching browser QA.');
132
- }
133
- if (policy.qaRepairEnabled) {
134
- rules.push("If compile, startup, browser, or live-data QA fails, run a targeted repair wave for the exact failing route/action/data state, then rerun that same failed step before continuing. Limit self-repair to ".concat(policy.qaSelfRepairMaxWaves, " focused waves before returning the precise blocker."));
135
- }
136
- if (policy.qaLiveDataRequired) {
137
- rules.push('For bug fixes and data/publication changes, test against available live app data or a faithful seeded record; do not rely only on static inspection when the user reported a runtime workflow problem.');
138
- }
139
- if (policy.qaDistinctScreenshotRequired) {
140
- rules.push('Capture one screenshot or trace for each distinct changed customer-facing feature, screen, workflow state, or data result. Do not repeat equivalent screenshots for multiple records unless record-specific behavior changed.');
141
- }
142
- if (policy.qaEvidenceRequired) {
143
- rules.push('Final notes must list the exact QA command, route, account/data used, screenshot/trace/log paths, and result for each changed behavior; if browser QA is not applicable, say why and provide the compile/data proof used instead.');
144
- }
145
- if (policy.currentRoute) {
146
- rules.push("Current app context route from the AI terminal is ".concat(policy.currentRoute).concat(policy.currentContextMode ? " (".concat(policy.currentContextMode, ")") : '', "; start QA there when the request refers to this page or current screen."));
147
- }
148
- rules.push.apply(rules, __spreadArray([], __read(policy.customInstructions), false));
149
- return rules;
150
- }
151
- function buildResolveIORunnerBasicsRules(options) {
152
- if (options === void 0) { options = {}; }
153
- return buildResolveIORunnerContract(options).rules;
154
- }
155
- function buildResolveIORunnerContract(options) {
156
- var _a;
157
- if (options === void 0) { options = {}; }
158
- var maxContextBullets = normalizePositiveInteger(options.maxContextBullets, 8, 3, 20);
159
- var maxRepairWaves = normalizePositiveInteger((_a = options.maxRepairWaves) !== null && _a !== void 0 ? _a : options.qaSelfRepairMaxWaves, 3, 1, 6);
160
- var context = options.context || 'general';
161
- var runnerBasics = [
162
- 'Use repo-local patterns first: read the closest existing implementation, matching tests, model/schema, method/publication, and UI route before editing.',
163
- 'Make the smallest complete change that satisfies the request; avoid broad refactors, config churn, dependency changes, and generated-file edits unless the workflow explicitly requires regeneration.',
164
- 'Before returning, state what changed, how it was verified, remaining blockers, and exact artifact paths in final notes.'
165
- ];
166
- var tokenDiscipline = options.includeTokenDiscipline !== false
167
- ? [
168
- "Keep context lean: summarize prior history into at most ".concat(maxContextBullets, " bullets, retrieve specific files on demand, and do not paste full logs, lockfiles, generated files, or stale ticket/email chains unless they are the current blocker evidence."),
169
- 'Prefer targeted search/read commands over loading broad directories. If a command returns noisy output, summarize the useful lines and continue with narrower reads.',
170
- 'On retries, carry only the active blocker contract, changed-file list, relevant diff/evidence summary, and latest failing command output. Do not restart with a clean-slate mega prompt.',
171
- 'Stop autonomous retries when the same normalized blocker repeats without meaningful diff or evidence improvement; park with a precise blocker instead of burning tokens.'
172
- ]
173
- : [];
174
- var dependencyBootstrap = options.includeDependencyBootstrap !== false
175
- ? [
176
- 'Reuse existing dependency caches and hydrated node_modules when available. Prefer npm install --force with the configured npm cache; do not use npm ci unless the workflow explicitly requires it.',
177
- 'Before reinstalling or downloading browsers, check the existing workspace cache, shared node_modules, PUPPETEER_EXECUTABLE_PATH, CHROME_BIN, PUPPETEER_CACHE_DIR, and project-provided bootstrap scripts.'
178
- ]
179
- : [];
180
- var repairLoop = options.includeRepairLoop !== false
181
- ? [
182
- "Use targeted repair waves: compile/startup blocker, browser route/action blocker, data/publication blocker, and review blocker each get a focused repair, then rerun the exact failed step. Limit this to ".concat(maxRepairWaves, " focused waves before returning a precise blocker."),
183
- 'Repair all instances of a detected blocker class in the touched scope, not only the first occurrence.'
184
- ]
185
- : [];
186
- var qaPolicy = options.includeQaPolicy !== false
187
- ? buildResolveIOQaPolicyRules(__assign(__assign({}, options), { qaSelfRepairMaxWaves: maxRepairWaves }))
188
- : [];
189
- var evidenceContract = options.includeEvidenceContract !== false
190
- ? [
191
- 'Evidence must be customer/workflow oriented: routes, buttons, pages, data states, screenshots/traces, command results, and assertions. Do not expose internal file names, backend paths, stack traces, or implementation chatter in customer-facing text.',
192
- 'For UI-facing changes, capture one screenshot or trace per distinct changed feature/workflow; for data-only changes, provide live-data or seeded-data assertion proof.'
193
- ]
194
- : [];
195
- var finalNotes = [
196
- 'Final notes must include: changed behavior, touched functional areas, exact commands run, exact QA route/data state, screenshot/trace/log paths, and remaining blockers if any.',
197
- 'If work is parked, final notes must name the blocker class, last failing command/artifact, why another autonomous attempt would repeat, and the smallest manual action needed.'
198
- ];
199
- var sections = {
200
- runnerBasics: runnerBasics,
201
- tokenDiscipline: tokenDiscipline,
202
- dependencyBootstrap: dependencyBootstrap,
203
- repairLoop: repairLoop,
204
- qaPolicy: qaPolicy,
205
- evidenceContract: evidenceContract,
206
- finalNotes: finalNotes
207
- };
208
- var rules = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(runnerBasics), false), __read(tokenDiscipline), false), __read(dependencyBootstrap), false), __read(repairLoop), false), __read(qaPolicy), false), __read(evidenceContract), false), __read(finalNotes), false);
209
- var promptLines = __spreadArray([
210
- "ResolveIO shared runner contract (".concat(context, "):")
211
- ], __read(rules.map(function (rule) { return "- ".concat(rule); })), false);
212
- return {
213
- context: context,
214
- sections: sections,
215
- rules: rules,
216
- promptLines: promptLines
217
- };
218
- }
219
- function buildResolveIORunnerPromptLines(options) {
220
- if (options === void 0) { options = {}; }
221
- return buildResolveIORunnerContract(options).promptLines;
222
- }
223
- function buildResolveIORunnerPromptBundle(input) {
224
- if (input === void 0) { input = {}; }
225
- var contract = buildResolveIORunnerContract(input);
226
- var maxTextChars = normalizePositiveInteger(input.maxTextChars, 900, 160, 2400);
227
- var objective = normalizeTextLine(input.objective, maxTextChars)
228
- || 'Complete the requested ResolveIO runner task with minimal, verified changes.';
229
- var priorSummary = normalizeTextLine(input.priorSummary, maxTextChars);
230
- var latestFailure = normalizeTextLine(input.latestFailure, maxTextChars);
231
- var blockers = normalizeTextList(input.blockers, normalizePositiveInteger(input.maxBlockers, 5, 1, 12), maxTextChars);
232
- var relevantFiles = normalizeTextList(input.relevantFiles, normalizePositiveInteger(input.maxFiles, 12, 1, 30), 260);
233
- var evidence = normalizeTextList(input.evidence, normalizePositiveInteger(input.maxEvidence, 8, 1, 20), maxTextChars);
234
- var contextLines = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
235
- "Objective: ".concat(objective)
236
- ], __read((priorSummary ? ["Prior summary: ".concat(priorSummary)] : [])), false), __read((latestFailure ? ["Latest failure: ".concat(latestFailure)] : [])), false), __read((blockers.length ? __spreadArray(['Active blockers:'], __read(blockers.map(function (line) { return "- ".concat(line); })), false) : [])), false), __read((relevantFiles.length ? __spreadArray(['Relevant files:'], __read(relevantFiles.map(function (line) { return "- ".concat(line); })), false) : [])), false), __read((evidence.length ? __spreadArray(['Known evidence:'], __read(evidence.map(function (line) { return "- ".concat(line); })), false) : [])), false);
237
- var repairLines = blockers.length
238
- ? [
239
- 'Mandatory repair contract:',
240
- '- Address each active blocker before unrelated work.',
241
- '- For each blocker, mark resolved, proven false, or blocked.',
242
- '- Attach code, data, command, browser, screenshot, or trace proof for each blocker.',
243
- '- If a blocker repeats with no meaningful diff/evidence change, park instead of starting another broad attempt.'
244
- ]
245
- : [];
246
- var fullPromptLines = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(contract.promptLines), false), [
247
- '',
248
- 'Runner task context:'
249
- ], false), __read(contextLines), false), __read((repairLines.length ? __spreadArray([''], __read(repairLines), false) : [])), false);
250
- return __assign(__assign({}, contract), { objective: objective, contextLines: contextLines, repairLines: repairLines, fullPromptLines: fullPromptLines });
251
- }
252
- function buildResolveIORunnerRepairPromptLines(input) {
253
- if (input === void 0) { input = {}; }
254
- return buildResolveIORunnerPromptBundle(input).repairLines;
255
- }
256
- function normalizeResolveIORunnerBlocker(entry) {
257
- return String(entry || '')
258
- .toLowerCase()
259
- .replace(/:[0-9]+(?=\b|[);,.\s])/g, ':#')
260
- .replace(/\bline\s+[0-9]+\b/g, 'line #')
261
- .replace(/\blines?\s+[0-9]+\s*[-–]\s*[0-9]+\b/g, 'lines #')
262
- .replace(/\battempt\s+[0-9]+\b/g, 'attempt #')
263
- .replace(/\s+/g, ' ')
264
- .trim();
265
- }
266
- function classifyResolveIORunnerBlocker(blocker) {
267
- var text = String(blocker || '');
268
- if (/database call inside loop|findOne.*inside loop|query inside loop/i.test(text)) {
269
- return 'db_call_inside_loop';
270
- }
271
- if (/inventory transaction parity|inventory transactions? are correct|inventory transaction creation\/reversal|inventory drift|reverse(?:s| old).*inventory|custom chemical lines?/i.test(text)) {
272
- return 'inventory_transaction_parity';
273
- }
274
- if (/company\/global default line-item surcharge|customer surcharge override|surcharge override.*default|global\/company surcharge|fallback\/override|first active surcharge/i.test(text)) {
275
- return 'surcharge_default_precedence';
276
- }
277
- if (/\bTS\d{4}\b[\s\S]{0,220}\bExpected\s+0\s+arguments?\b[\s\S]{0,160}\bgot\s+1\b/i.test(text)
278
- && /\b(publication|publications\.ts|subscribe|user_specific|ForUser|yardsForUser|customerNotifications|notificationCenter)\b/i.test(text)) {
279
- return 'user_specific_publication_argument_mismatch';
280
- }
281
- if (/\b(publication signature mismatch|generated publication signature|publication wrapper)\b[\s\S]{0,220}\b(?:yardsForUser|[A-Za-z0-9_]*ForUser)\b[\s\S]{0,160}\bcompile errors?\b/i.test(text)
282
- || /\b(?:yardsForUser|[A-Za-z0-9_]*ForUser)\b[\s\S]{0,180}\bcompile errors?\b[\s\S]{0,180}\b(publication|publications\.ts|signature|wrapper)\b/i.test(text)) {
283
- return 'user_specific_publication_argument_mismatch';
284
- }
285
- if (/\b(user_specific|user-specific)\b[\s\S]{0,220}\b(Expected\s+0\s+arguments?|got\s+1|passes?\s+1\s+argument|publication wrapper)\b/i.test(text)) {
286
- return 'user_specific_publication_argument_mismatch';
287
- }
288
- if (/focused verification evidence|Behavior-level test\/QA evidence|browser QA|screenshot|trace artifacts?|Billing Dashboard.*create\/edit|server-side evidence|Validation evidence/i.test(text)) {
289
- return 'support_qa_evidence';
290
- }
291
- if (/Approved scope requirement is not covered|approved .* scope lacks/i.test(text)) {
292
- return 'approved_scope_missing';
293
- }
294
- if (/UI-facing ticket needs|browser\/localhost QA|local\/browser QA/i.test(text)) {
295
- return 'ui_qa_missing';
296
- }
297
- if (/Report\/export ticket needs|report rows|export behavior/i.test(text)) {
298
- return 'report_export_missing';
299
- }
300
- if (/Generated .* changed without a matching/i.test(text)) {
301
- return 'generated_file_mismatch';
302
- }
303
- if (/No repository files changed|no verifiable PR fix/i.test(text)) {
304
- return 'no_repo_diff';
305
- }
306
- if (/QA compile preflight|ng serve failed|Angular ng serve failed|Completion build verification failed|build failed|TypeScript check failed|TypeScript compile|lint failed|TS\d{4}|Cannot find module/i.test(text)) {
307
- return 'completion_build_failed';
308
- }
309
- return 'reviewer_blocker';
310
- }
311
- function extractResolveIORunnerRepairLineHints(blocker) {
312
- var hints = [];
313
- var lineMatch = String(blocker || '').match(/(?:line\s+|:)([0-9]+)\b/i);
314
- if (lineMatch) {
315
- hints.push("line ".concat(lineMatch[1]));
316
- }
317
- var loopMatch = String(blocker || '').match(/loop starts near line\s+([0-9]+)/i);
318
- if (loopMatch) {
319
- hints.push("loop starts near line ".concat(loopMatch[1]));
320
- }
321
- return Array.from(new Set(hints));
322
- }
323
- function extractResolveIORunnerRepairTargetFiles(blocker, changedFiles) {
324
- var e_2, _a;
325
- if (changedFiles === void 0) { changedFiles = []; }
326
- var files = new Set();
327
- var text = String(blocker || '');
328
- var pathPattern = /(?:^|\s)([A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)+\.(?:ts|tsx|js|jsx|html|scss|css|json|md))/g;
329
- var match;
330
- while ((match = pathPattern.exec(text))) {
331
- files.add(match[1].replace(/\\/g, '/'));
332
- }
333
- try {
334
- for (var _b = __values(changedFiles || []), _c = _b.next(); !_c.done; _c = _b.next()) {
335
- var filePath = _c.value;
336
- var normalized = String(filePath || '').trim().replace(/\\/g, '/');
337
- if (normalized && (text.includes(normalized) || text.includes(normalized.replace(/^[^/]+\//, '')))) {
338
- files.add(normalized);
339
- }
340
- }
341
- }
342
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
343
- finally {
344
- try {
345
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
346
- }
347
- finally { if (e_2) throw e_2.error; }
348
- }
349
- return Array.from(files).slice(0, 8);
350
- }
351
- function selectResolveIORunnerRepairTargetFiles(changedFiles, preferredSuffixes, fallbackFiles) {
352
- var e_3, _a;
353
- if (changedFiles === void 0) { changedFiles = []; }
354
- if (preferredSuffixes === void 0) { preferredSuffixes = []; }
355
- if (fallbackFiles === void 0) { fallbackFiles = []; }
356
- var suffixes = (preferredSuffixes || [])
357
- .map(function (entry) { return String(entry || '').trim().replace(/\\/g, '/').replace(/^\/+/, ''); })
358
- .filter(Boolean);
359
- var matched = new Set();
360
- var _loop_1 = function (filePath) {
361
- var normalized = String(filePath || '').trim().replace(/\\/g, '/');
362
- if (normalized && suffixes.some(function (suffix) { return normalized === suffix || normalized.endsWith("/".concat(suffix)); })) {
363
- matched.add(normalized);
364
- }
365
- };
366
- try {
367
- for (var _b = __values(changedFiles || []), _c = _b.next(); !_c.done; _c = _b.next()) {
368
- var filePath = _c.value;
369
- _loop_1(filePath);
370
- }
371
- }
372
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
373
- finally {
374
- try {
375
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
376
- }
377
- finally { if (e_3) throw e_3.error; }
378
- }
379
- return (matched.size
380
- ? Array.from(matched)
381
- : fallbackFiles.map(function (entry) { return String(entry || '').trim().replace(/\\/g, '/'); }).filter(Boolean)).slice(0, 12);
382
- }
383
- function sanitizeResolveIORunnerRepairPlans(value) {
384
- return Array.isArray(value)
385
- ? value.map(function (entry) { return ({
386
- blockerClass: String((entry === null || entry === void 0 ? void 0 : entry.blockerClass) || '').trim(),
387
- sourceGate: String((entry === null || entry === void 0 ? void 0 : entry.sourceGate) || '').trim(),
388
- targetFiles: Array.isArray(entry === null || entry === void 0 ? void 0 : entry.targetFiles) ? entry.targetFiles.map(function (item) { return String(item || '').trim(); }).filter(Boolean).slice(0, 20) : [],
389
- lineHints: Array.isArray(entry === null || entry === void 0 ? void 0 : entry.lineHints) ? entry.lineHints.map(function (item) { return String(item || '').trim(); }).filter(Boolean).slice(0, 20) : [],
390
- failureEvidence: Array.isArray(entry === null || entry === void 0 ? void 0 : entry.failureEvidence) ? entry.failureEvidence.map(function (item) { return String(item || '').trim(); }).filter(Boolean).slice(0, 20) : [],
391
- requiredProof: Array.isArray(entry === null || entry === void 0 ? void 0 : entry.requiredProof) ? entry.requiredProof.map(function (item) { return String(item || '').trim(); }).filter(Boolean).slice(0, 20) : [],
392
- repairRecipe: Array.isArray(entry === null || entry === void 0 ? void 0 : entry.repairRecipe) ? entry.repairRecipe.map(function (item) { return String(item || '').trim(); }).filter(Boolean).slice(0, 20) : [],
393
- selfGateCommands: Array.isArray(entry === null || entry === void 0 ? void 0 : entry.selfGateCommands) ? entry.selfGateCommands.map(function (item) { return String(item || '').trim(); }).filter(Boolean).slice(0, 20) : [],
394
- passingCondition: String((entry === null || entry === void 0 ? void 0 : entry.passingCondition) || '').trim()
395
- }); }).filter(function (entry) { return entry.blockerClass || entry.failureEvidence.length; })
396
- : [];
397
- }
398
- function getResolveIORunnerRepairTargetOverride(options, blockerClass) {
399
- var _a;
400
- var override = (_a = options.targetFileOverrides) === null || _a === void 0 ? void 0 : _a[blockerClass];
401
- if (!override) {
402
- return null;
403
- }
404
- return {
405
- preferredSuffixes: Array.isArray(override.preferredSuffixes) ? override.preferredSuffixes : [],
406
- fallbackFiles: Array.isArray(override.fallbackFiles) ? override.fallbackFiles : []
407
- };
408
- }
409
- function applyResolveIORunnerRepairTargetOverride(plan, options, blockerClass) {
410
- var override = getResolveIORunnerRepairTargetOverride(options, blockerClass);
411
- if (!override || plan.targetFiles.length) {
412
- return plan;
413
- }
414
- return __assign(__assign({}, plan), { targetFiles: selectResolveIORunnerRepairTargetFiles(options.changedFiles || [], override.preferredSuffixes || [], override.fallbackFiles || []) });
415
- }
416
- function buildResolveIORunnerRepairPlans(input) {
417
- if (input === void 0) { input = {}; }
418
- var changedFiles = Array.isArray(input.changedFiles) ? input.changedFiles : [];
419
- var sourceGate = String(input.gateSource || 'pre_review_or_reviewer').trim() || 'pre_review_or_reviewer';
420
- var qaRules = buildResolveIORunnerBasicsRules(__assign(__assign({}, input), { context: input.context || 'general', includeDevServerRules: input.includeDevServerRules === true, maxContextBullets: input.maxContextBullets || 8 }));
421
- return Array.from(new Set((input.blockers || []).map(function (entry) { return String(entry || '').trim(); }).filter(Boolean))).map(function (blocker) {
422
- var blockerClass = classifyResolveIORunnerBlocker(blocker);
423
- var base = {
424
- blockerClass: blockerClass,
425
- sourceGate: sourceGate,
426
- targetFiles: extractResolveIORunnerRepairTargetFiles(blocker, changedFiles),
427
- lineHints: extractResolveIORunnerRepairLineHints(blocker),
428
- failureEvidence: [blocker].filter(Boolean).slice(0, 8),
429
- requiredProof: [],
430
- repairRecipe: [],
431
- selfGateCommands: [],
432
- passingCondition: ''
433
- };
434
- if (blockerClass === 'db_call_inside_loop') {
435
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: [
436
- 'Show the database lookup is batched before the loop, or prove the flagged call is not a database collection call.',
437
- 'Cite the exact file/function and before-vs-after loop/query shape in Repair Execution Notes.',
438
- 'Confirm the changed diff no longer has any per-item database collection call in any loop body in the touched/target server files.'
439
- ], repairRecipe: [
440
- 'Inspect every loop in the touched/target server files and identify all database collection calls inside those loops.',
441
- 'Move collection reads before loops using batched `$in` queries, map results by id/key, then use the map inside loops.',
442
- 'Move writes out of loops using batched `bulkWrite`/multi-update operations prepared inside the loop and executed after the loop.',
443
- 'If the call is a local array/helper and not a database call, prove that with the declaration/import path and leave the code unchanged.',
444
- 'Keep the behavior identical except for eliminating every per-item database call.'
445
- ], selfGateCommands: [
446
- 'git diff HEAD -- <target file>',
447
- 'rg -n "for .*\\{|\\.forEach|for \\(" <target file>',
448
- 'rg -n "\\.(find|findOne|findOneAsync|count|countDocuments|update|updateOne|updateMany|insert|insertOne|bulkWrite|remove|deleteOne|deleteMany)\\(" <target file>'
449
- ], passingCondition: 'No loop in the touched/target server files has a database collection call in its body, or final notes prove each flagged call is not a database call.' }), input, blockerClass);
450
- }
451
- if (blockerClass === 'report_export_missing') {
452
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: ['Prove report rows, filters, totals/grouping, and export behavior, or cite ticket evidence that export is out of scope.'], repairRecipe: ['Exercise the report/export path and record evidence for each report dimension requested by the ticket.'], selfGateCommands: ['Run the report/export verification command or browser flow for the ticket.'], passingCondition: 'Final notes prove rows, filters, totals/grouping, and export behavior or a ticket-backed out-of-scope decision.' }), input, blockerClass);
453
- }
454
- if (blockerClass === 'inventory_transaction_parity') {
455
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: [
456
- 'Prove non-Manual Delivery and Truck Treat custom chemical lines create inventory relief transactions on invoice create.',
457
- 'Prove invoice edit reverses old custom chemical effects and applies the new custom chemical effects.',
458
- 'Prove invoice remove/delete reverses the same non-Manual custom chemical inventory effects.'
459
- ], repairRecipe: [
460
- 'Start in server/src/methods/invoices.ts and trace Manual inventory behavior before changing the non-Manual path.',
461
- 'Reuse the existing inventory transaction helper shape instead of creating a parallel inventory writer.',
462
- 'Handle all custom chemical lines in one sweep: create, edit, and remove for Delivery and Truck Treat invoices.',
463
- 'Do not stop after fixing only create; the reviewer blocker includes edit and remove reversal.'
464
- ], selfGateCommands: [
465
- 'git diff HEAD -- server/src/methods/invoices.ts server/src/methods/inventory-transactions.ts',
466
- 'rg -n "is_custom_line_item|addInventoryTransaction|removeInvoice|editInvoice|custom chemical" server/src/methods/invoices.ts',
467
- 'Run or add a focused server/data assertion covering create, edit, and remove inventory transactions for non-Manual custom chemical lines.'
468
- ], passingCondition: 'Create, edit, and remove paths for non-Manual custom chemical invoice lines all have inventory transaction proof.' }), input, blockerClass);
469
- }
470
- if (blockerClass === 'surcharge_default_precedence') {
471
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: [
472
- 'Show the persisted company/global default surcharge owner, not just the first active surcharge item.',
473
- 'Show precedence is customer override when active, then company/global default when active, then empty/none when inactive or unset.',
474
- 'Show at least one override customer and one default customer path in verification evidence.'
475
- ], repairRecipe: [
476
- 'Find the surcharge default selector and replace any first-active-item fallback with an explicit persisted default setting.',
477
- 'Keep customer override storage separate from the company/global default setting.',
478
- 'Reject inactive surcharge items during both override and default fallback.',
479
- 'Cover unset and inactive settings with safe empty/none behavior.'
480
- ], selfGateCommands: [
481
- 'git diff HEAD -- angular/app/manage/item angular/app/widgets/dialog/dialog.adjust-customer.content.ts server/src/collections server/src/models',
482
- 'rg -n "line_item_surcharge|surcharge|id_line_item_surcharge_override|default" angular/app server/src',
483
- 'Run or add a focused fallback/override assertion for active override, active company default, inactive override/default, and unset default.'
484
- ], passingCondition: 'Customer override -> company/global default -> none precedence is persisted and verified.' }), input, blockerClass);
485
- }
486
- if (blockerClass === 'support_qa_evidence') {
487
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: [
488
- 'Include browser route and screenshot/trace artifact paths for each distinct changed customer-facing feature or workflow state.',
489
- 'Do not duplicate screenshots across multiple customers unless the customer-specific override/fallback behavior is the feature being proven.',
490
- 'Include data/assertion evidence for requested persistence, calculations, and side effects.',
491
- 'If browser QA cannot start, include the exact startup blocker and the compile/preflight command output.'
492
- ], repairRecipe: __spreadArray(__spreadArray([], __read(qaRules), false), [
493
- 'Upload or preserve screenshots/trace paths so the PR and support ticket can reference them.'
494
- ], false), selfGateCommands: [
495
- 'Run the support QA compile/startup preflight.',
496
- 'Run the ticket-specific browser QA click-through and capture screenshots/trace artifacts.',
497
- 'Record artifact paths and data assertions in final notes.'
498
- ], passingCondition: 'Final notes include one QA screenshot/trace path per distinct changed feature plus data assertions for the approved scope.' }), input, blockerClass);
499
- }
500
- if (blockerClass === 'approved_scope_missing') {
501
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: ['Add one Self-Review Checklist bullet for the exact missing approved requirement with code/data/browser proof.'], repairRecipe: ['Verify the missing approved requirement, then implement or document done/not applicable/blocked with proof.'], selfGateCommands: ['Review final notes for exact approved requirement text and proof artifact.'], passingCondition: 'Every missing approved requirement is explicitly mapped to done/not applicable/blocked with proof.' }), input, blockerClass);
502
- }
503
- if (blockerClass === 'ui_qa_missing') {
504
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: ['Provide browser route plus screenshot/trace/video path, or a precise LOCALHOST_QA_PLAYBOOK startup/access blocker.'], repairRecipe: ['Run local/browser QA for the failing UI route after the fix, or document the exact startup/access blocker.'], selfGateCommands: ['source .resolveio-support-tools/env.sh if present', 'Run the ticket-specific localhost/browser QA command or capture blocker.'], passingCondition: 'Final notes contain browser QA artifact evidence or a concrete local startup/access blocker.' }), input, blockerClass);
505
- }
506
- if (blockerClass === 'generated_file_mismatch') {
507
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: ['Show generated client file changes correspond to matching server method/publication source changes.'], repairRecipe: ['Either update the server owner and regenerate the companion file, or revert the orphan generated file change.'], selfGateCommands: ['git diff HEAD -- angular/app/methods.ts angular/app/publications.ts server/src/methods server/src/publications'], passingCondition: 'No generated client file is changed without its source server owner change.' }), input, blockerClass);
508
- }
509
- if (blockerClass === 'user_specific_publication_argument_mismatch') {
510
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: [
511
- 'List every failing call site and show each one was fixed, not just the first TypeScript error.',
512
- 'Show whether each call needs the current logged-in user or an explicit other user/driver id.',
513
- 'Show generated angular/app/publications.ts came from server/src/publications source and was not hand-edited as the behavioral fix.'
514
- ], repairRecipe: [
515
- 'user_specific publications inject the logged-in socket user on the server; the generated client wrapper intentionally removes that first id_user parameter.',
516
- 'For current-user data, remove the argument at every call site and call the generated wrapper with no id_user.',
517
- 'For another user/driver/customer, switch every call site to an explicit non-user-specific publication such as yardsForOtherUser(id_user), or add a clearly named server publication for that use case and rerun the method/publication generator.',
518
- 'Do not hand-edit generated angular/app/publications.ts to accept the injected id_user again; fix source publications/call sites, then regenerate.',
519
- 'Search the whole app for the failing wrapper name and repair all argument-passing calls in the same pass.'
520
- ], selfGateCommands: [
521
- 'rg -n "\\b[A-Za-z0-9_]*ForUser\\s*\\([^)]+" angular/app server/src',
522
- 'rg -n "\\byardsForUser\\s*\\([^)]+" angular/app server/src',
523
- 'Run the method/publication generator if server publication source changed.',
524
- 'Rerun the exact TypeScript/Angular compile command that failed.'
525
- ], passingCondition: 'No generated user_specific publication wrapper is called with the injected id_user argument, and the exact compile command exits 0.' }), input, blockerClass);
526
- }
527
- if (blockerClass === 'completion_build_failed') {
528
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: ['Include the failing command, root cause, fix, and passing rerun output.'], repairRecipe: ['Fix the compile/test failure directly, then rerun the exact failing command.'], selfGateCommands: ['Rerun the exact completion/build command shown in the blocker.'], passingCondition: 'The exact previously failing build/test command passes or is blocked with concrete environment evidence.' }), input, blockerClass);
529
- }
530
- return applyResolveIORunnerRepairTargetOverride(__assign(__assign({}, base), { requiredProof: ['Resolve, prove false, or block this reviewer/gate blocker with concrete code/data/browser proof.'], repairRecipe: ['Inspect the cited file/evidence, make the smallest supported fix, and cite before-vs-after proof.'], selfGateCommands: ['git diff HEAD --stat', 'Run the ticket-specific verification for this blocker.'], passingCondition: 'The blocker text no longer applies and final notes include concrete proof.' }), input, blockerClass);
531
- });
532
- }
533
-
534
- //# sourceMappingURL=ai-qa-policy.js.map