@resolveio/server-lib 22.3.124 → 22.3.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) 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 +3 -1
  18. package/scripts/cleanup-bypassed-callmethod-logs.js +616 -0
  19. package/settings.development.json +25 -0
  20. package/settings.development.redacted.json +25 -0
  21. package/src/.env +12 -0
  22. package/src/ai/assistant-core-heuristics.ts +379 -0
  23. package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +185 -0
  24. package/src/ai/resolveio-platform-intelligence-memory.ts +325 -0
  25. package/{ai/resolveio-platform-intelligence-types.d.ts → src/ai/resolveio-platform-intelligence-types.ts} +20 -15
  26. package/src/ai/resolveio-platform-intelligence.ts +462 -0
  27. package/src/client-server-app.ts +12 -0
  28. package/src/collections/ai-run.collection.ts +117 -0
  29. package/src/collections/ai-terminal-conversation.collection.ts +91 -0
  30. package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
  31. package/src/collections/ai-terminal-message.collection.ts +77 -0
  32. package/src/collections/app-setting.collection.ts +104 -0
  33. package/src/collections/app-status.collection.ts +58 -0
  34. package/src/collections/communication-metric.collection.ts +84 -0
  35. package/src/collections/counter.collection.ts +56 -0
  36. package/src/collections/cron-job-history.collection.ts +94 -0
  37. package/src/collections/cron-job.collection.ts +92 -0
  38. package/src/collections/customer-notification.collection.ts +131 -0
  39. package/src/collections/customer-portal-password.collection.ts +76 -0
  40. package/src/collections/email-history.collection.ts +134 -0
  41. package/src/collections/email-verified.collection.ts +62 -0
  42. package/src/collections/file.collection.ts +74 -0
  43. package/src/collections/flag-update.collection.ts +57 -0
  44. package/src/collections/flag.collection.ts +57 -0
  45. package/src/collections/log-method-latency.collection.ts +77 -0
  46. package/src/collections/log-subscription.collection.ts +80 -0
  47. package/src/collections/log.collection.ts +93 -0
  48. package/src/collections/logged-in-users.collection.ts +67 -0
  49. package/src/collections/monitor-cpu.collection.ts +65 -0
  50. package/src/collections/monitor-function.collection.ts +74 -0
  51. package/src/collections/monitor-memory.collection.ts +77 -0
  52. package/src/collections/monitor-mongo.collection.ts +71 -0
  53. package/src/collections/notification.collection.ts +57 -0
  54. package/src/collections/openai-usage-ledger.collection.ts +77 -0
  55. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  56. package/src/collections/report-builder-library.collection.ts +89 -0
  57. package/src/collections/report-builder-report.collection.ts +184 -0
  58. package/src/collections/user-group.collection.ts +89 -0
  59. package/src/collections/user-guide.collection.ts +57 -0
  60. package/src/collections/user.collection.ts +181 -0
  61. package/src/cron/cron.ts +117 -0
  62. package/src/fixtures/cron-jobs.ts +95 -0
  63. package/src/fixtures/init.ts +35 -0
  64. package/src/http/auth.ts +818 -0
  65. package/src/http/health.ts +7 -0
  66. package/src/http/home.ts +90 -0
  67. package/src/http/slow-query-publication.ts +49 -0
  68. package/src/index.ts +1 -0
  69. package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
  70. package/src/managers/ai-run-evidence.manager.ts +264 -0
  71. package/src/managers/communication-metric.manager.ts +82 -0
  72. package/src/managers/cron.manager.ts +333 -0
  73. package/src/managers/customer-notification-content.manager.ts +236 -0
  74. package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
  75. package/src/managers/error-auto-fix.manager.ts +2767 -0
  76. package/src/managers/local-log.manager.ts +113 -0
  77. package/src/managers/method.manager.ts +1857 -0
  78. package/src/managers/mongo.manager.ts +4575 -0
  79. package/src/managers/monitor.manager.ts +507 -0
  80. package/src/managers/openai-usage-ledger.manager.ts +57 -0
  81. package/src/managers/slow-query-verifier.manager.ts +3590 -0
  82. package/src/managers/slow-query.manager.ts +519 -0
  83. package/src/managers/subscription.manager.ts +3128 -0
  84. package/src/managers/websocket.manager.ts +746 -0
  85. package/src/managers/worker-dispatcher.manager.ts +1360 -0
  86. package/src/managers/worker-server.manager.ts +536 -0
  87. package/src/methods/accounts.ts +532 -0
  88. package/src/methods/ai-terminal.ts +23497 -0
  89. package/src/methods/app-settings.ts +114 -0
  90. package/src/methods/aws.ts +649 -0
  91. package/src/methods/collections.ts +641 -0
  92. package/src/methods/counters.ts +69 -0
  93. package/src/methods/cron-jobs.ts +2614 -0
  94. package/src/methods/customer-notifications.ts +458 -0
  95. package/src/methods/diagnostics.ts +616 -0
  96. package/src/methods/flag-updates.ts +7 -0
  97. package/src/methods/flags.ts +7 -0
  98. package/src/methods/logs.ts +657 -0
  99. package/src/methods/mongo-explorer.ts +1880 -0
  100. package/src/methods/monitor.ts +540 -0
  101. package/src/methods/pdf.ts +1236 -0
  102. package/src/methods/publications.ts +129 -0
  103. package/src/methods/report-builder.ts +3300 -0
  104. package/src/methods/support.ts +335 -0
  105. package/src/models/ai-run.model.ts +27 -0
  106. package/src/models/ai-terminal-conversation.model.ts +19 -0
  107. package/src/models/ai-terminal-issue-report.model.ts +21 -0
  108. package/src/models/ai-terminal-message.model.ts +24 -0
  109. package/src/models/app-setting.model.ts +17 -0
  110. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  111. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  112. package/src/models/collection-document.model.ts +24 -0
  113. package/src/models/communication-metric.model.ts +23 -0
  114. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  115. package/src/models/cron-job-history.model.ts +16 -0
  116. package/src/models/cron-job.model.ts +15 -0
  117. package/src/models/customer-notification.model.ts +28 -0
  118. package/src/models/customer-portal-password.model.ts +12 -0
  119. package/src/models/dialog.model.ts +25 -0
  120. package/{models/email-history.model.js → src/models/email-history.model.ts} +36 -4
  121. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  122. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  123. package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
  124. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  125. package/src/models/log-method-latency.model.ts +11 -0
  126. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
  127. package/src/models/log.model.ts +19 -0
  128. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  129. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  130. package/src/models/method.model.ts +25 -0
  131. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  132. package/src/models/monitor-function.model.ts +16 -0
  133. package/src/models/monitor-memory.model.ts +17 -0
  134. package/src/models/monitor-mongo.model.ts +15 -0
  135. package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
  136. package/src/models/openai-usage-ledger.model.ts +16 -0
  137. package/src/models/pagination.model.ts +35 -0
  138. package/src/models/permission.model.ts +14 -0
  139. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  140. package/src/models/report-builder-library.model.ts +20 -0
  141. package/src/models/report-builder-report.model.ts +136 -0
  142. package/src/models/report-builder.model.ts +68 -0
  143. package/src/models/select-data-label.model.ts +9 -0
  144. package/src/models/server-message.model.ts +31 -0
  145. package/src/models/slow-query-report.model.ts +23 -0
  146. package/src/models/subscription.model.ts +73 -0
  147. package/src/models/support-ticket.model.ts +104 -0
  148. package/src/models/user-group.model.ts +24 -0
  149. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  150. package/src/models/user.model.ts +96 -0
  151. package/src/private/images/ResolveIO.png +0 -0
  152. package/{public_api.d.ts → src/public_api.ts} +7 -0
  153. package/src/publications/ai-terminal.ts +73 -0
  154. package/src/publications/app-settings.ts +25 -0
  155. package/src/publications/app-status.ts +13 -0
  156. package/src/publications/cron-jobs.ts +40 -0
  157. package/src/publications/customer-notifications.ts +101 -0
  158. package/src/publications/files.ts +33 -0
  159. package/src/publications/flags-update.ts +19 -0
  160. package/src/publications/flags.ts +19 -0
  161. package/src/publications/logs.ts +163 -0
  162. package/src/publications/notifications.ts +13 -0
  163. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  164. package/src/publications/report-builder-libraries.ts +41 -0
  165. package/src/publications/report-builder-reports.ts +47 -0
  166. package/src/publications/super-admin.ts +13 -0
  167. package/src/publications/user-groups.ts +12 -0
  168. package/src/publications/user-guides.ts +12 -0
  169. package/src/resolveio-server-app.ts +617 -0
  170. package/src/server-app.ts +3354 -0
  171. package/src/services/codex-client.ts +1231 -0
  172. package/src/services/openai-client.ts +265 -0
  173. package/src/types/error-report.ts +26 -0
  174. package/src/types/js-tiktoken.d.ts +11 -0
  175. package/src/types/slow-query-report.ts +28 -0
  176. package/src/util/ai-qa-policy.ts +925 -0
  177. package/src/util/ai-run-evidence-adapters.ts +521 -0
  178. package/src/util/ai-run-evidence-dashboard.ts +271 -0
  179. package/src/util/ai-run-evidence-eval.ts +885 -0
  180. package/src/util/ai-run-evidence.ts +964 -0
  181. package/src/util/ai-runner-artifacts.ts +586 -0
  182. package/src/util/ai-runner-qa-auth.ts +821 -0
  183. package/src/util/ai-runner-qa-tools.ts +3045 -0
  184. package/src/util/aicoder-runner-v6.ts +526 -0
  185. package/src/util/common.ts +649 -0
  186. package/src/util/customer-portal-password.ts +183 -0
  187. package/src/util/error-reporter.ts +332 -0
  188. package/src/util/error-tracking.ts +79 -0
  189. package/src/util/openai-usage-cost.ts +114 -0
  190. package/src/util/report-builder-unwinds.ts +180 -0
  191. package/src/util/runner-process-janitor.ts +219 -0
  192. package/src/util/schema-report-builder.ts +448 -0
  193. package/src/util/slow-query-reporter.ts +216 -0
  194. package/src/util/subscription-dependency-context.ts +1096 -0
  195. package/src/util/support-runner-v5.ts +897 -0
  196. package/src/util/tokenizer.ts +38 -0
  197. package/src/workers/codex-runner.worker.ts +142 -0
  198. package/start_server.sh +5 -0
  199. package/tests/ai-assistant-corpus-build.ts +484 -0
  200. package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
  201. package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
  202. package/tests/ai-assistant-eval-triage.ts +831 -0
  203. package/tests/ai-assistant-openai-e2e.ts +1061 -0
  204. package/tests/ai-assistant-openai-git-e2e.ts +155 -0
  205. package/tests/ai-assistant-preflight-matrix.ts +215 -0
  206. package/tests/ai-assistant-routing-eval.test.ts +560 -0
  207. package/tests/ai-assistant-snf-live-eval.ts +975 -0
  208. package/tests/ai-assistant-utils.test.ts +2968 -0
  209. package/tests/ai-run-eval.test.ts +88 -0
  210. package/tests/ai-run-evidence.test.ts +232 -0
  211. package/tests/ai-runner-contract.test.ts +488 -0
  212. package/tests/aicoder-runner-v6.test.ts +92 -0
  213. package/tests/error-reporter.test.ts +145 -0
  214. package/tests/method-publication-generator.test.ts +46 -0
  215. package/tests/report-builder-linking.test.ts +79 -0
  216. package/tests/resolveio-platform-intelligence.test.ts +352 -0
  217. package/tests/server-app-cron-owner.test.ts +127 -0
  218. package/tests/subscription-connect-race.test.ts +158 -0
  219. package/tests/subscription-dependency-context.test.ts +324 -0
  220. package/tests/subscription-manager-collection-tracking.test.ts +86 -0
  221. package/tests/subscription-manager-invalidation.test.ts +86 -0
  222. package/tests/support-runner-v5.test.ts +191 -0
  223. package/tsconfig.json +34 -0
  224. package/ai/assistant-core-heuristics.d.ts +0 -11
  225. package/ai/assistant-core-heuristics.js +0 -356
  226. package/ai/assistant-core-heuristics.js.map +0 -1
  227. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
  228. package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
  229. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
  230. package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
  231. package/ai/resolveio-platform-intelligence-memory.js +0 -341
  232. package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
  233. package/ai/resolveio-platform-intelligence-types.js +0 -4
  234. package/ai/resolveio-platform-intelligence-types.js.map +0 -1
  235. package/ai/resolveio-platform-intelligence.d.ts +0 -6
  236. package/ai/resolveio-platform-intelligence.js +0 -463
  237. package/ai/resolveio-platform-intelligence.js.map +0 -1
  238. package/client-server-app.d.ts +0 -1
  239. package/client-server-app.js +0 -68
  240. package/client-server-app.js.map +0 -1
  241. package/collections/ai-terminal-conversation.collection.d.ts +0 -2
  242. package/collections/ai-terminal-conversation.collection.js +0 -140
  243. package/collections/ai-terminal-conversation.collection.js.map +0 -1
  244. package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
  245. package/collections/ai-terminal-issue-report.collection.js +0 -148
  246. package/collections/ai-terminal-issue-report.collection.js.map +0 -1
  247. package/collections/ai-terminal-message.collection.d.ts +0 -2
  248. package/collections/ai-terminal-message.collection.js +0 -121
  249. package/collections/ai-terminal-message.collection.js.map +0 -1
  250. package/collections/app-setting.collection.d.ts +0 -3
  251. package/collections/app-setting.collection.js +0 -103
  252. package/collections/app-setting.collection.js.map +0 -1
  253. package/collections/app-status.collection.d.ts +0 -3
  254. package/collections/app-status.collection.js +0 -57
  255. package/collections/app-status.collection.js.map +0 -1
  256. package/collections/communication-metric.collection.d.ts +0 -2
  257. package/collections/communication-metric.collection.js +0 -133
  258. package/collections/communication-metric.collection.js.map +0 -1
  259. package/collections/counter.collection.d.ts +0 -3
  260. package/collections/counter.collection.js +0 -56
  261. package/collections/counter.collection.js.map +0 -1
  262. package/collections/cron-job-history.collection.d.ts +0 -3
  263. package/collections/cron-job-history.collection.js +0 -137
  264. package/collections/cron-job-history.collection.js.map +0 -1
  265. package/collections/cron-job.collection.d.ts +0 -3
  266. package/collections/cron-job.collection.js +0 -92
  267. package/collections/cron-job.collection.js.map +0 -1
  268. package/collections/customer-notification.collection.d.ts +0 -3
  269. package/collections/customer-notification.collection.js +0 -130
  270. package/collections/customer-notification.collection.js.map +0 -1
  271. package/collections/customer-portal-password.collection.d.ts +0 -3
  272. package/collections/customer-portal-password.collection.js +0 -75
  273. package/collections/customer-portal-password.collection.js.map +0 -1
  274. package/collections/email-history.collection.d.ts +0 -3
  275. package/collections/email-history.collection.js +0 -134
  276. package/collections/email-history.collection.js.map +0 -1
  277. package/collections/email-verified.collection.d.ts +0 -3
  278. package/collections/email-verified.collection.js +0 -62
  279. package/collections/email-verified.collection.js.map +0 -1
  280. package/collections/file.collection.d.ts +0 -3
  281. package/collections/file.collection.js +0 -74
  282. package/collections/file.collection.js.map +0 -1
  283. package/collections/flag-update.collection.d.ts +0 -3
  284. package/collections/flag-update.collection.js +0 -57
  285. package/collections/flag-update.collection.js.map +0 -1
  286. package/collections/flag.collection.d.ts +0 -3
  287. package/collections/flag.collection.js +0 -57
  288. package/collections/flag.collection.js.map +0 -1
  289. package/collections/log-method-latency.collection.d.ts +0 -3
  290. package/collections/log-method-latency.collection.js +0 -77
  291. package/collections/log-method-latency.collection.js.map +0 -1
  292. package/collections/log-subscription.collection.d.ts +0 -3
  293. package/collections/log-subscription.collection.js +0 -80
  294. package/collections/log-subscription.collection.js.map +0 -1
  295. package/collections/log.collection.d.ts +0 -3
  296. package/collections/log.collection.js +0 -93
  297. package/collections/log.collection.js.map +0 -1
  298. package/collections/logged-in-users.collection.d.ts +0 -3
  299. package/collections/logged-in-users.collection.js +0 -67
  300. package/collections/logged-in-users.collection.js.map +0 -1
  301. package/collections/monitor-cpu.collection.d.ts +0 -3
  302. package/collections/monitor-cpu.collection.js +0 -65
  303. package/collections/monitor-cpu.collection.js.map +0 -1
  304. package/collections/monitor-function.collection.d.ts +0 -3
  305. package/collections/monitor-function.collection.js +0 -74
  306. package/collections/monitor-function.collection.js.map +0 -1
  307. package/collections/monitor-memory.collection.d.ts +0 -3
  308. package/collections/monitor-memory.collection.js +0 -77
  309. package/collections/monitor-memory.collection.js.map +0 -1
  310. package/collections/monitor-mongo.collection.d.ts +0 -3
  311. package/collections/monitor-mongo.collection.js +0 -71
  312. package/collections/monitor-mongo.collection.js.map +0 -1
  313. package/collections/notification.collection.d.ts +0 -3
  314. package/collections/notification.collection.js +0 -57
  315. package/collections/notification.collection.js.map +0 -1
  316. package/collections/openai-usage-ledger.collection.d.ts +0 -2
  317. package/collections/openai-usage-ledger.collection.js +0 -124
  318. package/collections/openai-usage-ledger.collection.js.map +0 -1
  319. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  320. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  321. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  322. package/collections/report-builder-library.collection.d.ts +0 -3
  323. package/collections/report-builder-library.collection.js +0 -87
  324. package/collections/report-builder-library.collection.js.map +0 -1
  325. package/collections/report-builder-report.collection.d.ts +0 -4
  326. package/collections/report-builder-report.collection.js +0 -184
  327. package/collections/report-builder-report.collection.js.map +0 -1
  328. package/collections/user-group.collection.d.ts +0 -4
  329. package/collections/user-group.collection.js +0 -89
  330. package/collections/user-group.collection.js.map +0 -1
  331. package/collections/user-guide.collection.d.ts +0 -3
  332. package/collections/user-guide.collection.js +0 -57
  333. package/collections/user-guide.collection.js.map +0 -1
  334. package/collections/user.collection.d.ts +0 -4
  335. package/collections/user.collection.js +0 -180
  336. package/collections/user.collection.js.map +0 -1
  337. package/cron/cron.d.ts +0 -14
  338. package/cron/cron.js +0 -216
  339. package/cron/cron.js.map +0 -1
  340. package/fixtures/cron-jobs.d.ts +0 -1
  341. package/fixtures/cron-jobs.js +0 -150
  342. package/fixtures/cron-jobs.js.map +0 -1
  343. package/fixtures/init.d.ts +0 -1
  344. package/fixtures/init.js +0 -91
  345. package/fixtures/init.js.map +0 -1
  346. package/http/auth.d.ts +0 -2
  347. package/http/auth.js +0 -951
  348. package/http/auth.js.map +0 -1
  349. package/http/health.d.ts +0 -1
  350. package/http/health.js +0 -11
  351. package/http/health.js.map +0 -1
  352. package/http/home.d.ts +0 -1
  353. package/http/home.js +0 -134
  354. package/http/home.js.map +0 -1
  355. package/http/slow-query-publication.d.ts +0 -2
  356. package/http/slow-query-publication.js +0 -99
  357. package/http/slow-query-publication.js.map +0 -1
  358. package/index.d.ts +0 -1
  359. package/index.js +0 -19
  360. package/index.js.map +0 -1
  361. package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
  362. package/managers/ai-assistant-codex-manager.manager.js +0 -1113
  363. package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
  364. package/managers/communication-metric.manager.d.ts +0 -16
  365. package/managers/communication-metric.manager.js +0 -134
  366. package/managers/communication-metric.manager.js.map +0 -1
  367. package/managers/cron.manager.d.ts +0 -20
  368. package/managers/cron.manager.js +0 -534
  369. package/managers/cron.manager.js.map +0 -1
  370. package/managers/customer-notification-content.manager.d.ts +0 -55
  371. package/managers/customer-notification-content.manager.js +0 -158
  372. package/managers/customer-notification-content.manager.js.map +0 -1
  373. package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
  374. package/managers/diagnostic-manager-bootstrap.js +0 -260
  375. package/managers/diagnostic-manager-bootstrap.js.map +0 -1
  376. package/managers/error-auto-fix.manager.d.ts +0 -149
  377. package/managers/error-auto-fix.manager.js +0 -3064
  378. package/managers/error-auto-fix.manager.js.map +0 -1
  379. package/managers/local-log.manager.d.ts +0 -18
  380. package/managers/local-log.manager.js +0 -88
  381. package/managers/local-log.manager.js.map +0 -1
  382. package/managers/method.manager.d.ts +0 -84
  383. package/managers/method.manager.js +0 -1964
  384. package/managers/method.manager.js.map +0 -1
  385. package/managers/mongo.manager.d.ts +0 -224
  386. package/managers/mongo.manager.js +0 -5000
  387. package/managers/mongo.manager.js.map +0 -1
  388. package/managers/monitor.manager.d.ts +0 -70
  389. package/managers/monitor.manager.js +0 -550
  390. package/managers/monitor.manager.js.map +0 -1
  391. package/managers/openai-usage-ledger.manager.d.ts +0 -15
  392. package/managers/openai-usage-ledger.manager.js +0 -144
  393. package/managers/openai-usage-ledger.manager.js.map +0 -1
  394. package/managers/slow-query-verifier.manager.d.ts +0 -144
  395. package/managers/slow-query-verifier.manager.js +0 -3857
  396. package/managers/slow-query-verifier.manager.js.map +0 -1
  397. package/managers/slow-query.manager.d.ts +0 -28
  398. package/managers/slow-query.manager.js +0 -468
  399. package/managers/slow-query.manager.js.map +0 -1
  400. package/managers/subscription.manager.d.ts +0 -169
  401. package/managers/subscription.manager.js +0 -3434
  402. package/managers/subscription.manager.js.map +0 -1
  403. package/managers/websocket.manager.d.ts +0 -73
  404. package/managers/websocket.manager.js +0 -673
  405. package/managers/websocket.manager.js.map +0 -1
  406. package/managers/worker-dispatcher.manager.d.ts +0 -120
  407. package/managers/worker-dispatcher.manager.js +0 -1266
  408. package/managers/worker-dispatcher.manager.js.map +0 -1
  409. package/managers/worker-server.manager.d.ts +0 -35
  410. package/managers/worker-server.manager.js +0 -582
  411. package/managers/worker-server.manager.js.map +0 -1
  412. package/methods/accounts.d.ts +0 -2
  413. package/methods/accounts.js +0 -624
  414. package/methods/accounts.js.map +0 -1
  415. package/methods/ai-terminal.d.ts +0 -337
  416. package/methods/ai-terminal.js +0 -23166
  417. package/methods/ai-terminal.js.map +0 -1
  418. package/methods/app-settings.d.ts +0 -2
  419. package/methods/app-settings.js +0 -169
  420. package/methods/app-settings.js.map +0 -1
  421. package/methods/aws.d.ts +0 -2
  422. package/methods/aws.js +0 -877
  423. package/methods/aws.js.map +0 -1
  424. package/methods/collections.d.ts +0 -2
  425. package/methods/collections.js +0 -719
  426. package/methods/collections.js.map +0 -1
  427. package/methods/counters.d.ts +0 -2
  428. package/methods/counters.js +0 -113
  429. package/methods/counters.js.map +0 -1
  430. package/methods/cron-jobs.d.ts +0 -2
  431. package/methods/cron-jobs.js +0 -2475
  432. package/methods/cron-jobs.js.map +0 -1
  433. package/methods/customer-notifications.d.ts +0 -2
  434. package/methods/customer-notifications.js +0 -528
  435. package/methods/customer-notifications.js.map +0 -1
  436. package/methods/diagnostics.d.ts +0 -2
  437. package/methods/diagnostics.js +0 -703
  438. package/methods/diagnostics.js.map +0 -1
  439. package/methods/flag-updates.d.ts +0 -2
  440. package/methods/flag-updates.js +0 -8
  441. package/methods/flag-updates.js.map +0 -1
  442. package/methods/flags.d.ts +0 -2
  443. package/methods/flags.js +0 -8
  444. package/methods/flags.js.map +0 -1
  445. package/methods/logs.d.ts +0 -2
  446. package/methods/logs.js +0 -751
  447. package/methods/logs.js.map +0 -1
  448. package/methods/mongo-explorer.d.ts +0 -2
  449. package/methods/mongo-explorer.js +0 -1808
  450. package/methods/mongo-explorer.js.map +0 -1
  451. package/methods/monitor.d.ts +0 -2
  452. package/methods/monitor.js +0 -543
  453. package/methods/monitor.js.map +0 -1
  454. package/methods/pdf.d.ts +0 -2
  455. package/methods/pdf.js +0 -1216
  456. package/methods/pdf.js.map +0 -1
  457. package/methods/publications.d.ts +0 -1
  458. package/methods/publications.js +0 -183
  459. package/methods/publications.js.map +0 -1
  460. package/methods/report-builder.d.ts +0 -2
  461. package/methods/report-builder.js +0 -3094
  462. package/methods/report-builder.js.map +0 -1
  463. package/methods/support.d.ts +0 -2
  464. package/methods/support.js +0 -430
  465. package/methods/support.js.map +0 -1
  466. package/models/ai-terminal-conversation.model.d.ts +0 -17
  467. package/models/ai-terminal-conversation.model.js +0 -4
  468. package/models/ai-terminal-conversation.model.js.map +0 -1
  469. package/models/ai-terminal-issue-report.model.d.ts +0 -19
  470. package/models/ai-terminal-issue-report.model.js +0 -4
  471. package/models/ai-terminal-issue-report.model.js.map +0 -1
  472. package/models/ai-terminal-message.model.d.ts +0 -22
  473. package/models/ai-terminal-message.model.js +0 -4
  474. package/models/ai-terminal-message.model.js.map +0 -1
  475. package/models/app-setting.model.d.ts +0 -16
  476. package/models/app-setting.model.js +0 -4
  477. package/models/app-setting.model.js.map +0 -1
  478. package/models/app-status.model.js +0 -4
  479. package/models/app-status.model.js.map +0 -1
  480. package/models/billing-logged-in-users.model.js +0 -4
  481. package/models/billing-logged-in-users.model.js.map +0 -1
  482. package/models/collection-document.model.d.ts +0 -21
  483. package/models/collection-document.model.js +0 -4
  484. package/models/collection-document.model.js.map +0 -1
  485. package/models/communication-metric.model.d.ts +0 -20
  486. package/models/communication-metric.model.js +0 -4
  487. package/models/communication-metric.model.js.map +0 -1
  488. package/models/counter.model.js +0 -4
  489. package/models/counter.model.js.map +0 -1
  490. package/models/cron-job-history.model.d.ts +0 -15
  491. package/models/cron-job-history.model.js +0 -4
  492. package/models/cron-job-history.model.js.map +0 -1
  493. package/models/cron-job.model.d.ts +0 -14
  494. package/models/cron-job.model.js +0 -4
  495. package/models/cron-job.model.js.map +0 -1
  496. package/models/customer-notification.model.d.ts +0 -26
  497. package/models/customer-notification.model.js +0 -4
  498. package/models/customer-notification.model.js.map +0 -1
  499. package/models/customer-portal-password.model.d.ts +0 -11
  500. package/models/customer-portal-password.model.js +0 -4
  501. package/models/customer-portal-password.model.js.map +0 -1
  502. package/models/dialog.model.d.ts +0 -23
  503. package/models/dialog.model.js +0 -4
  504. package/models/dialog.model.js.map +0 -1
  505. package/models/email-history.model.d.ts +0 -32
  506. package/models/email-history.model.js.map +0 -1
  507. package/models/email-verified.model.js +0 -4
  508. package/models/email-verified.model.js.map +0 -1
  509. package/models/file.model.js +0 -4
  510. package/models/file.model.js.map +0 -1
  511. package/models/flag-update.model.js +0 -4
  512. package/models/flag-update.model.js.map +0 -1
  513. package/models/flag.model.js +0 -4
  514. package/models/flag.model.js.map +0 -1
  515. package/models/log-method-latency.model.d.ts +0 -10
  516. package/models/log-method-latency.model.js +0 -4
  517. package/models/log-method-latency.model.js.map +0 -1
  518. package/models/log-subscription.model.js +0 -4
  519. package/models/log-subscription.model.js.map +0 -1
  520. package/models/log.model.d.ts +0 -17
  521. package/models/log.model.js +0 -4
  522. package/models/log.model.js.map +0 -1
  523. package/models/logged-in-users.model.js +0 -4
  524. package/models/logged-in-users.model.js.map +0 -1
  525. package/models/method-response.model.js +0 -4
  526. package/models/method-response.model.js.map +0 -1
  527. package/models/method.model.d.ts +0 -26
  528. package/models/method.model.js +0 -4
  529. package/models/method.model.js.map +0 -1
  530. package/models/monitor-cpu.model.js +0 -4
  531. package/models/monitor-cpu.model.js.map +0 -1
  532. package/models/monitor-function.model.d.ts +0 -14
  533. package/models/monitor-function.model.js +0 -4
  534. package/models/monitor-function.model.js.map +0 -1
  535. package/models/monitor-memory.model.d.ts +0 -15
  536. package/models/monitor-memory.model.js +0 -4
  537. package/models/monitor-memory.model.js.map +0 -1
  538. package/models/monitor-mongo.model.d.ts +0 -13
  539. package/models/monitor-mongo.model.js +0 -4
  540. package/models/monitor-mongo.model.js.map +0 -1
  541. package/models/notification.model.js +0 -4
  542. package/models/notification.model.js.map +0 -1
  543. package/models/openai-usage-ledger.model.d.ts +0 -15
  544. package/models/openai-usage-ledger.model.js +0 -4
  545. package/models/openai-usage-ledger.model.js.map +0 -1
  546. package/models/pagination.model.d.ts +0 -11
  547. package/models/pagination.model.js +0 -28
  548. package/models/pagination.model.js.map +0 -1
  549. package/models/permission.model.d.ts +0 -12
  550. package/models/permission.model.js +0 -4
  551. package/models/permission.model.js.map +0 -1
  552. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  553. package/models/report-builder-dashboard-builder.model.js +0 -4
  554. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  555. package/models/report-builder-library.model.d.ts +0 -17
  556. package/models/report-builder-library.model.js +0 -4
  557. package/models/report-builder-library.model.js.map +0 -1
  558. package/models/report-builder-report.model.d.ts +0 -121
  559. package/models/report-builder-report.model.js +0 -4
  560. package/models/report-builder-report.model.js.map +0 -1
  561. package/models/report-builder.model.d.ts +0 -61
  562. package/models/report-builder.model.js +0 -4
  563. package/models/report-builder.model.js.map +0 -1
  564. package/models/select-data-label.model.d.ts +0 -9
  565. package/models/select-data-label.model.js +0 -4
  566. package/models/select-data-label.model.js.map +0 -1
  567. package/models/server-message.model.d.ts +0 -32
  568. package/models/server-message.model.js +0 -4
  569. package/models/server-message.model.js.map +0 -1
  570. package/models/slow-query-report.model.d.ts +0 -23
  571. package/models/slow-query-report.model.js +0 -4
  572. package/models/slow-query-report.model.js.map +0 -1
  573. package/models/subscription.model.d.ts +0 -31
  574. package/models/subscription.model.js +0 -4
  575. package/models/subscription.model.js.map +0 -1
  576. package/models/support-ticket.model.d.ts +0 -87
  577. package/models/support-ticket.model.js +0 -4
  578. package/models/support-ticket.model.js.map +0 -1
  579. package/models/user-group.model.d.ts +0 -20
  580. package/models/user-group.model.js +0 -4
  581. package/models/user-group.model.js.map +0 -1
  582. package/models/user-guide.model.js +0 -4
  583. package/models/user-guide.model.js.map +0 -1
  584. package/models/user.model.d.ts +0 -84
  585. package/models/user.model.js +0 -4
  586. package/models/user.model.js.map +0 -1
  587. package/private/images/ResolveIO.png +0 -0
  588. package/public_api.js +0 -118
  589. package/public_api.js.map +0 -1
  590. package/publications/ai-terminal.d.ts +0 -1
  591. package/publications/ai-terminal.js +0 -122
  592. package/publications/ai-terminal.js.map +0 -1
  593. package/publications/app-settings.d.ts +0 -2
  594. package/publications/app-settings.js +0 -28
  595. package/publications/app-settings.js.map +0 -1
  596. package/publications/app-status.d.ts +0 -2
  597. package/publications/app-status.js +0 -16
  598. package/publications/app-status.js.map +0 -1
  599. package/publications/cron-jobs.d.ts +0 -2
  600. package/publications/cron-jobs.js +0 -88
  601. package/publications/cron-jobs.js.map +0 -1
  602. package/publications/customer-notifications.d.ts +0 -2
  603. package/publications/customer-notifications.js +0 -161
  604. package/publications/customer-notifications.js.map +0 -1
  605. package/publications/files.d.ts +0 -2
  606. package/publications/files.js +0 -36
  607. package/publications/files.js.map +0 -1
  608. package/publications/flags-update.d.ts +0 -2
  609. package/publications/flags-update.js +0 -22
  610. package/publications/flags-update.js.map +0 -1
  611. package/publications/flags.d.ts +0 -2
  612. package/publications/flags.js +0 -22
  613. package/publications/flags.js.map +0 -1
  614. package/publications/logs.d.ts +0 -2
  615. package/publications/logs.js +0 -164
  616. package/publications/logs.js.map +0 -1
  617. package/publications/notifications.d.ts +0 -2
  618. package/publications/notifications.js +0 -16
  619. package/publications/notifications.js.map +0 -1
  620. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  621. package/publications/report-builder-dashboard-builders.js +0 -42
  622. package/publications/report-builder-dashboard-builders.js.map +0 -1
  623. package/publications/report-builder-libraries.d.ts +0 -2
  624. package/publications/report-builder-libraries.js +0 -90
  625. package/publications/report-builder-libraries.js.map +0 -1
  626. package/publications/report-builder-reports.d.ts +0 -2
  627. package/publications/report-builder-reports.js +0 -50
  628. package/publications/report-builder-reports.js.map +0 -1
  629. package/publications/super-admin.d.ts +0 -2
  630. package/publications/super-admin.js +0 -16
  631. package/publications/super-admin.js.map +0 -1
  632. package/publications/user-groups.d.ts +0 -1
  633. package/publications/user-groups.js +0 -16
  634. package/publications/user-groups.js.map +0 -1
  635. package/publications/user-guides.d.ts +0 -1
  636. package/publications/user-guides.js +0 -16
  637. package/publications/user-guides.js.map +0 -1
  638. package/resolveio-server-app.d.ts +0 -70
  639. package/resolveio-server-app.js +0 -801
  640. package/resolveio-server-app.js.map +0 -1
  641. package/server-app.d.ts +0 -228
  642. package/server-app.js +0 -3566
  643. package/server-app.js.map +0 -1
  644. package/services/codex-client.d.ts +0 -128
  645. package/services/codex-client.js +0 -1629
  646. package/services/codex-client.js.map +0 -1
  647. package/services/openai-client.d.ts +0 -46
  648. package/services/openai-client.js +0 -318
  649. package/services/openai-client.js.map +0 -1
  650. package/types/error-report.d.ts +0 -25
  651. package/types/error-report.js +0 -4
  652. package/types/error-report.js.map +0 -1
  653. package/types/slow-query-report.d.ts +0 -27
  654. package/types/slow-query-report.js +0 -6
  655. package/types/slow-query-report.js.map +0 -1
  656. package/util/ai-qa-policy.d.ts +0 -124
  657. package/util/ai-qa-policy.js +0 -736
  658. package/util/ai-qa-policy.js.map +0 -1
  659. package/util/ai-runner-artifacts.d.ts +0 -82
  660. package/util/ai-runner-artifacts.js +0 -713
  661. package/util/ai-runner-artifacts.js.map +0 -1
  662. package/util/ai-runner-qa-auth.d.ts +0 -5
  663. package/util/ai-runner-qa-auth.js +0 -822
  664. package/util/ai-runner-qa-auth.js.map +0 -1
  665. package/util/ai-runner-qa-tools.d.ts +0 -25
  666. package/util/ai-runner-qa-tools.js +0 -2910
  667. package/util/ai-runner-qa-tools.js.map +0 -1
  668. package/util/aicoder-runner-v6.d.ts +0 -168
  669. package/util/aicoder-runner-v6.js +0 -347
  670. package/util/aicoder-runner-v6.js.map +0 -1
  671. package/util/common.d.ts +0 -31
  672. package/util/common.js +0 -683
  673. package/util/common.js.map +0 -1
  674. package/util/customer-portal-password.d.ts +0 -13
  675. package/util/customer-portal-password.js +0 -209
  676. package/util/customer-portal-password.js.map +0 -1
  677. package/util/error-reporter.d.ts +0 -52
  678. package/util/error-reporter.js +0 -326
  679. package/util/error-reporter.js.map +0 -1
  680. package/util/error-tracking.d.ts +0 -13
  681. package/util/error-tracking.js +0 -120
  682. package/util/error-tracking.js.map +0 -1
  683. package/util/report-builder-unwinds.d.ts +0 -15
  684. package/util/report-builder-unwinds.js +0 -156
  685. package/util/report-builder-unwinds.js.map +0 -1
  686. package/util/runner-process-janitor.d.ts +0 -27
  687. package/util/runner-process-janitor.js +0 -208
  688. package/util/runner-process-janitor.js.map +0 -1
  689. package/util/schema-report-builder.d.ts +0 -6
  690. package/util/schema-report-builder.js +0 -481
  691. package/util/schema-report-builder.js.map +0 -1
  692. package/util/slow-query-reporter.d.ts +0 -28
  693. package/util/slow-query-reporter.js +0 -226
  694. package/util/slow-query-reporter.js.map +0 -1
  695. package/util/subscription-dependency-context.d.ts +0 -34
  696. package/util/subscription-dependency-context.js +0 -1283
  697. package/util/subscription-dependency-context.js.map +0 -1
  698. package/util/support-runner-v5.d.ts +0 -250
  699. package/util/support-runner-v5.js +0 -634
  700. package/util/support-runner-v5.js.map +0 -1
  701. package/util/tokenizer.d.ts +0 -5
  702. package/util/tokenizer.js +0 -41
  703. package/util/tokenizer.js.map +0 -1
  704. package/workers/codex-runner.worker.d.ts +0 -1
  705. package/workers/codex-runner.worker.js +0 -192
  706. package/workers/codex-runner.worker.js.map +0 -1
  707. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  708. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  709. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  710. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  711. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
@@ -1,634 +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.fingerprintResolveIOSupportV5Blocker = fingerprintResolveIOSupportV5Blocker;
51
- exports.buildResolveIOSupportV5Budget = buildResolveIOSupportV5Budget;
52
- exports.buildResolveIOSupportV5PromptBudget = buildResolveIOSupportV5PromptBudget;
53
- exports.buildResolveIOSupportV5ScopeDigest = buildResolveIOSupportV5ScopeDigest;
54
- exports.buildResolveIOSupportV5MicrotaskLedger = buildResolveIOSupportV5MicrotaskLedger;
55
- exports.selectResolveIOSupportV5ActiveMicrotask = selectResolveIOSupportV5ActiveMicrotask;
56
- exports.initializeResolveIOSupportV5State = initializeResolveIOSupportV5State;
57
- exports.recordResolveIOSupportV5Step = recordResolveIOSupportV5Step;
58
- exports.recordResolveIOSupportV5MicrotaskUsage = recordResolveIOSupportV5MicrotaskUsage;
59
- exports.decideResolveIOSupportV5Continuation = decideResolveIOSupportV5Continuation;
60
- exports.buildResolveIOSupportV5DiagnoseFirstPrompt = buildResolveIOSupportV5DiagnoseFirstPrompt;
61
- exports.buildResolveIOSupportV5MicrotaskPrompt = buildResolveIOSupportV5MicrotaskPrompt;
62
- exports.summarizeResolveIOSupportV5MicrotaskUsage = summarizeResolveIOSupportV5MicrotaskUsage;
63
- exports.buildResolveIOSupportV5Incident = buildResolveIOSupportV5Incident;
64
- function isoNow(value) {
65
- if (value instanceof Date) {
66
- return value.toISOString();
67
- }
68
- var parsed = value ? new Date(value) : new Date();
69
- if (Number.isFinite(parsed.getTime())) {
70
- return parsed.toISOString();
71
- }
72
- return new Date().toISOString();
73
- }
74
- function cleanText(value, max) {
75
- if (max === void 0) { max = 2000; }
76
- return String(value || '').replace(/\s+/g, ' ').trim().slice(0, max);
77
- }
78
- function cleanList(values, limit, max) {
79
- var e_1, _a;
80
- if (limit === void 0) { limit = 20; }
81
- if (max === void 0) { max = 500; }
82
- if (!Array.isArray(values)) {
83
- return [];
84
- }
85
- var result = [];
86
- try {
87
- for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {
88
- var value = values_1_1.value;
89
- var normalized = cleanText(value, max);
90
- if (normalized && !result.includes(normalized)) {
91
- result.push(normalized);
92
- }
93
- if (result.length >= limit) {
94
- break;
95
- }
96
- }
97
- }
98
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
99
- finally {
100
- try {
101
- if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);
102
- }
103
- finally { if (e_1) throw e_1.error; }
104
- }
105
- return result;
106
- }
107
- function stableIdFromText(prefix, value) {
108
- var text = cleanText(value, 2000).toLowerCase();
109
- var hash = 0;
110
- for (var index = 0; index < text.length; index += 1) {
111
- hash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;
112
- }
113
- return "".concat(prefix, "-").concat(Math.abs(hash).toString(36) || '0');
114
- }
115
- function estimateTextTokens(value) {
116
- var text = String(value || '');
117
- if (!text) {
118
- return 0;
119
- }
120
- return Math.max(1, Math.ceil(text.length / 4));
121
- }
122
- function fingerprintResolveIOSupportV5Blocker(value) {
123
- var text = cleanText(value, 4000)
124
- .toLowerCase()
125
- .replace(/[a-f0-9]{16,}/g, '<id>')
126
- .replace(/\b\d{2,}\b/g, '<n>')
127
- .replace(/\bline\s+<n>\b/g, 'line <n>');
128
- var hash = 0;
129
- for (var index = 0; index < text.length; index += 1) {
130
- hash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;
131
- }
132
- return "v5-".concat(Math.abs(hash).toString(36));
133
- }
134
- function buildResolveIOSupportV5Budget(existing) {
135
- return {
136
- maxPromptTokensPerNonInitialStep: Number((existing === null || existing === void 0 ? void 0 : existing.maxPromptTokensPerNonInitialStep) || 1800),
137
- maxLoopsPerTicket: Number((existing === null || existing === void 0 ? void 0 : existing.maxLoopsPerTicket) || 24),
138
- maxRepeatedNoProgress: Number((existing === null || existing === void 0 ? void 0 : existing.maxRepeatedNoProgress) || 2),
139
- maxRuntimeMinutesPerLoop: Number((existing === null || existing === void 0 ? void 0 : existing.maxRuntimeMinutesPerLoop) || 15),
140
- totalPromptTokenEstimate: Number((existing === null || existing === void 0 ? void 0 : existing.totalPromptTokenEstimate) || 0),
141
- totalRuntimeMs: Number((existing === null || existing === void 0 ? void 0 : existing.totalRuntimeMs) || 0),
142
- loopCount: Number((existing === null || existing === void 0 ? void 0 : existing.loopCount) || 0)
143
- };
144
- }
145
- function buildResolveIOSupportV5PromptBudget(existing) {
146
- return {
147
- initialPlannerCap: Number((existing === null || existing === void 0 ? void 0 : existing.initialPlannerCap) || 6000),
148
- buildMicrotaskCap: Number((existing === null || existing === void 0 ? void 0 : existing.buildMicrotaskCap) || 1800),
149
- buildMicrotaskHardCap: Number((existing === null || existing === void 0 ? void 0 : existing.buildMicrotaskHardCap) || 2500),
150
- qaMicrotaskCap: Number((existing === null || existing === void 0 ? void 0 : existing.qaMicrotaskCap) || 1500),
151
- qaMicrotaskHardCap: Number((existing === null || existing === void 0 ? void 0 : existing.qaMicrotaskHardCap) || 2200),
152
- repairMicrotaskCap: Number((existing === null || existing === void 0 ? void 0 : existing.repairMicrotaskCap) || 1200),
153
- repairMicrotaskHardCap: Number((existing === null || existing === void 0 ? void 0 : existing.repairMicrotaskHardCap) || 1800)
154
- };
155
- }
156
- function buildResolveIOSupportV5ScopeDigest(input) {
157
- var scope = Array.isArray(input.approvedScope)
158
- ? cleanList(input.approvedScope, 30, 220).join(' | ')
159
- : cleanText(input.approvedScope, 4000);
160
- var raw = [
161
- input.goal ? "Goal: ".concat(cleanText(input.goal, 300)) : '',
162
- scope ? "Approved scope: ".concat(scope) : '',
163
- input.prBranch ? "PR branch: ".concat(cleanText(input.prBranch, 160)) : ''
164
- ].filter(Boolean).join('\n');
165
- var maxChars = Math.max(400, Math.floor(Number(input.maxTokens || 1000) * 4));
166
- return raw.slice(0, maxChars);
167
- }
168
- function buildResolveIOSupportV5MicrotaskLedger(input) {
169
- var e_2, _a;
170
- var existing = Array.isArray(input.existing) ? input.existing : [];
171
- var completedByObjective = new Map();
172
- try {
173
- for (var existing_1 = __values(existing), existing_1_1 = existing_1.next(); !existing_1_1.done; existing_1_1 = existing_1.next()) {
174
- var task = existing_1_1.value;
175
- if (task && (task.status === 'pass' || task.status === 'parked')) {
176
- completedByObjective.set(cleanText(task.objective, 500).toLowerCase(), task);
177
- }
178
- }
179
- }
180
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
181
- finally {
182
- try {
183
- if (existing_1_1 && !existing_1_1.done && (_a = existing_1.return)) _a.call(existing_1);
184
- }
185
- finally { if (e_2) throw e_2.error; }
186
- }
187
- var now = isoNow(input.now);
188
- var requirements = cleanList(input.requirements, 30, 240);
189
- var sourceRequirements = requirements.length
190
- ? requirements
191
- : cleanText(input.scopeDigest, 1000).split(/\s+\|\s+|\r?\n/g).map(function (line) { return line.trim(); }).filter(Boolean).slice(0, 12);
192
- var ledger = [];
193
- sourceRequirements.forEach(function (requirement, index) {
194
- var objective = cleanText(requirement, 240);
195
- if (!objective) {
196
- return;
197
- }
198
- var existingCompleted = completedByObjective.get(objective.toLowerCase());
199
- var buildId = stableIdFromText("build-".concat(index + 1), objective);
200
- var qaId = stableIdFromText("qa-".concat(index + 1), objective);
201
- ledger.push(existingCompleted && existingCompleted.lane === 'build' ? existingCompleted : {
202
- microtaskId: buildId,
203
- lane: 'build',
204
- type: 'build_repair',
205
- status: 'pending',
206
- objective: objective,
207
- targetFiles: [],
208
- contextRefs: ['scope_digest'],
209
- selfGate: 'Run the smallest compile/type/unit check that proves this one behavior.',
210
- acceptanceProof: 'Concrete code/data proof for this behavior, with changed files listed.',
211
- threadKey: input.buildThreadKey,
212
- attempts: 0,
213
- dependsOn: [],
214
- parentScopeId: stableIdFromText('scope', objective),
215
- createdAt: now,
216
- updatedAt: now
217
- });
218
- ledger.push({
219
- microtaskId: qaId,
220
- lane: 'qa',
221
- type: 'qa_row',
222
- status: 'pending',
223
- objective: "QA proof for: ".concat(objective),
224
- targetFiles: [],
225
- contextRefs: ['scope_digest', buildId],
226
- selfGate: 'Drive this one customer-facing workflow row in browser/localhost and capture one captioned proof artifact.',
227
- acceptanceProof: 'QA matrix row pass with route/data assertion, screenshot/caption artifact, and persisted before/after row/count/value proof for data-changing workflows.',
228
- threadKey: input.qaThreadKey,
229
- attempts: 0,
230
- dependsOn: [buildId],
231
- parentScopeId: stableIdFromText('scope', objective),
232
- createdAt: now,
233
- updatedAt: now
234
- });
235
- });
236
- return ledger.length ? ledger : existing.slice(-80);
237
- }
238
- function selectResolveIOSupportV5ActiveMicrotask(ledger, preferredId) {
239
- if (ledger === void 0) { ledger = []; }
240
- var byPreferred = preferredId ? ledger.find(function (task) { return task.microtaskId === preferredId && !['pass', 'parked'].includes(task.status); }) : undefined;
241
- if (byPreferred) {
242
- return byPreferred;
243
- }
244
- return ledger.find(function (task) { return task.status === 'needs_repair'; })
245
- || ledger.find(function (task) { return task.status === 'in_progress'; })
246
- || ledger.find(function (task) { return task.lane === 'build' && /repair/i.test(String(task.type || '')) && task.status === 'pending'; })
247
- || ledger.find(function (task) { return task.status === 'pending'; })
248
- || ledger.find(function (task) { return task.status === 'blocked'; });
249
- }
250
- function initializeResolveIOSupportV5State(input) {
251
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
252
- var now = isoNow(input.now);
253
- var existing = input.existing || {};
254
- var existingSupervisor = existing.supportV5SupervisorState;
255
- var existingLaneMemory = existing.supportV5LaneMemory || {};
256
- var scope = cleanList(input.approvedScopeRequirements, 24, 240).join(' | ')
257
- || cleanText(input.description, 1000)
258
- || cleanText(input.title, 300);
259
- var ticketLabel = cleanText(input.ticketNumber || input.ticketId || input.jobId, 120);
260
- var buildThreadKey = cleanText(input.buildThreadKey || ((_a = existingLaneMemory.build) === null || _a === void 0 ? void 0 : _a.threadKey) || "support:".concat(input.ticketId || input.jobId, ":job:").concat(input.jobId, ":build"), 240);
261
- var qaThreadKey = cleanText(input.qaThreadKey || ((_b = existingLaneMemory.qa) === null || _b === void 0 ? void 0 : _b.threadKey) || "support:".concat(input.ticketId || input.jobId, ":job:").concat(input.jobId, ":qa"), 240);
262
- var budget = buildResolveIOSupportV5Budget(existing.supportV5Budget);
263
- var scopeDigest = cleanText(existing.supportV5ScopeDigest, 4000) || buildResolveIOSupportV5ScopeDigest({
264
- goal: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.currentGoal) || "Resolve support ticket ".concat(ticketLabel),
265
- approvedScope: scope,
266
- prBranch: input.prBranch || (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.prBranch) || ''
267
- });
268
- var ledger = buildResolveIOSupportV5MicrotaskLedger({
269
- scopeDigest: scopeDigest,
270
- requirements: cleanList(input.approvedScopeRequirements, 30, 240),
271
- buildThreadKey: buildThreadKey,
272
- qaThreadKey: qaThreadKey,
273
- now: now,
274
- existing: existing.supportV5MicrotaskLedger
275
- });
276
- var activeMicrotask = selectResolveIOSupportV5ActiveMicrotask(ledger, existing.supportV5ActiveMicrotaskId);
277
- return {
278
- supportWorkflowVersion: 'v5',
279
- supportV5SupervisorState: {
280
- version: 'v5',
281
- status: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.status) || 'active',
282
- currentGoal: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.currentGoal) || "Resolve support ticket ".concat(ticketLabel),
283
- approvedScope: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.approvedScope) || scope,
284
- prBranch: cleanText(input.prBranch || (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.prBranch) || '', 240),
285
- activeStep: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.activeStep) || 'compile_check',
286
- activeBlocker: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.activeBlocker) || '',
287
- lastGoodCheckpoint: (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.lastGoodCheckpoint) || 'v5_initialized',
288
- currentQaRow: existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.currentQaRow,
289
- processLease: input.processLease || (existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.processLease),
290
- artifactLinks: cleanList(existingSupervisor === null || existingSupervisor === void 0 ? void 0 : existingSupervisor.artifactLinks, 40, 500),
291
- noEmailUnlessApproved: true,
292
- updatedAt: now
293
- },
294
- supportV5LaneMemory: {
295
- build: {
296
- lane: 'build',
297
- model: ((_c = existingLaneMemory.build) === null || _c === void 0 ? void 0 : _c.model) || 'gpt-5.3-codex',
298
- threadKey: buildThreadKey,
299
- scopeSummary: ((_d = existingLaneMemory.build) === null || _d === void 0 ? void 0 : _d.scopeSummary) || scope,
300
- activeBlocker: ((_e = existingLaneMemory.build) === null || _e === void 0 ? void 0 : _e.activeBlocker) || '',
301
- activeQaRow: (_f = existingLaneMemory.build) === null || _f === void 0 ? void 0 : _f.activeQaRow,
302
- changedFiles: cleanList((_g = existingLaneMemory.build) === null || _g === void 0 ? void 0 : _g.changedFiles, 80, 500),
303
- artifactPaths: cleanList((_h = existingLaneMemory.build) === null || _h === void 0 ? void 0 : _h.artifactPaths, 80, 500),
304
- latestPromptTokenEstimate: Number(((_j = existingLaneMemory.build) === null || _j === void 0 ? void 0 : _j.latestPromptTokenEstimate) || 0) || undefined,
305
- updatedAt: ((_k = existingLaneMemory.build) === null || _k === void 0 ? void 0 : _k.updatedAt) || now
306
- },
307
- qa: {
308
- lane: 'qa',
309
- model: ((_l = existingLaneMemory.qa) === null || _l === void 0 ? void 0 : _l.model) || 'gpt-5.4-mini',
310
- threadKey: qaThreadKey,
311
- scopeSummary: ((_m = existingLaneMemory.qa) === null || _m === void 0 ? void 0 : _m.scopeSummary) || scope,
312
- activeBlocker: ((_o = existingLaneMemory.qa) === null || _o === void 0 ? void 0 : _o.activeBlocker) || '',
313
- activeQaRow: (_p = existingLaneMemory.qa) === null || _p === void 0 ? void 0 : _p.activeQaRow,
314
- changedFiles: cleanList((_q = existingLaneMemory.qa) === null || _q === void 0 ? void 0 : _q.changedFiles, 80, 500),
315
- artifactPaths: cleanList((_r = existingLaneMemory.qa) === null || _r === void 0 ? void 0 : _r.artifactPaths, 80, 500),
316
- latestPromptTokenEstimate: Number(((_s = existingLaneMemory.qa) === null || _s === void 0 ? void 0 : _s.latestPromptTokenEstimate) || 0) || undefined,
317
- updatedAt: ((_t = existingLaneMemory.qa) === null || _t === void 0 ? void 0 : _t.updatedAt) || now
318
- }
319
- },
320
- supportV5StepHistory: Array.isArray(existing.supportV5StepHistory)
321
- ? existing.supportV5StepHistory.slice(-80)
322
- : [],
323
- supportV5Budget: budget,
324
- supportV5RunnerIncidents: Array.isArray(existing.supportV5RunnerIncidents)
325
- ? existing.supportV5RunnerIncidents.slice(-80)
326
- : [],
327
- supportV5MicrotaskLedger: ledger,
328
- supportV5ActiveMicrotaskId: activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.microtaskId,
329
- supportV5ScopeDigest: scopeDigest,
330
- supportV5MicrotaskUsageHistory: Array.isArray(existing.supportV5MicrotaskUsageHistory)
331
- ? existing.supportV5MicrotaskUsageHistory.slice(-200)
332
- : []
333
- };
334
- }
335
- function recordResolveIOSupportV5Step(bundle, step) {
336
- var _a, _b;
337
- var now = isoNow(step.now);
338
- var promptTokens = Math.max(0, Number(step.promptTokenEstimate || 0) || 0);
339
- var runtimeMs = Math.max(0, Number(step.runtimeMs || 0) || 0);
340
- var microtaskId = cleanText(step.microtaskId || bundle.supportV5ActiveMicrotaskId, 160);
341
- var record = __assign(__assign({}, (microtaskId ? { microtaskId: microtaskId } : {})), { stepType: step.stepType, outcome: step.outcome, lane: step.lane, model: cleanText(step.model, 80), threadKey: cleanText(step.threadKey, 240), promptTokenEstimate: promptTokens || undefined, runtimeMs: runtimeMs || undefined, summary: cleanText(step.summary || step.blocker || step.outcome, 1200), blocker: cleanText(step.blocker, 1200), changedFiles: cleanList(step.changedFiles, 80, 500), artifactPaths: cleanList(step.artifactPaths, 80, 500), recordedAt: now });
342
- var laneMemory = __assign({}, bundle.supportV5LaneMemory);
343
- if (step.lane === 'build' || step.lane === 'qa') {
344
- var previous = laneMemory[step.lane];
345
- laneMemory[step.lane] = __assign(__assign({}, previous), { activeBlocker: record.blocker || previous.activeBlocker || '', activeQaRow: step.activeQaRow || previous.activeQaRow, changedFiles: ((_a = record.changedFiles) === null || _a === void 0 ? void 0 : _a.length) ? record.changedFiles : previous.changedFiles, artifactPaths: ((_b = record.artifactPaths) === null || _b === void 0 ? void 0 : _b.length) ? record.artifactPaths : previous.artifactPaths, latestPromptTokenEstimate: promptTokens || previous.latestPromptTokenEstimate, updatedAt: now });
346
- }
347
- var supervisor = __assign(__assign({}, bundle.supportV5SupervisorState), { status: step.outcome === 'ready_for_merge' ? 'complete' : (step.outcome === 'park_manual' || step.outcome === 'budget_stop' ? 'parked' : 'active'), activeStep: step.stepType, activeBlocker: record.blocker || '', currentQaRow: step.activeQaRow || bundle.supportV5SupervisorState.currentQaRow, lastGoodCheckpoint: step.outcome === 'pass' || step.outcome === 'ready_for_merge'
348
- ? step.stepType
349
- : bundle.supportV5SupervisorState.lastGoodCheckpoint, artifactLinks: Array.from(new Set(__spreadArray(__spreadArray([], __read(bundle.supportV5SupervisorState.artifactLinks), false), __read((record.artifactPaths || [])), false))).slice(-80), updatedAt: now });
350
- var ledger = (bundle.supportV5MicrotaskLedger || []).map(function (task) {
351
- if (task.microtaskId !== bundle.supportV5ActiveMicrotaskId) {
352
- return task;
353
- }
354
- var status = step.outcome === 'pass' || step.outcome === 'ready_for_merge'
355
- ? 'pass'
356
- : step.outcome === 'park_manual' || step.outcome === 'budget_stop'
357
- ? 'parked'
358
- : step.outcome === 'needs_repair' || step.outcome === 'retry_same_step'
359
- ? 'needs_repair'
360
- : 'in_progress';
361
- return __assign(__assign({}, task), { status: status, blocker: record.blocker || task.blocker, promptTokenEstimate: promptTokens || task.promptTokenEstimate, attempts: task.attempts + (step.outcome === 'pass' || step.outcome === 'ready_for_merge' ? 0 : 1), updatedAt: now });
362
- });
363
- var nextMicrotask = selectResolveIOSupportV5ActiveMicrotask(ledger, bundle.supportV5ActiveMicrotaskId);
364
- return __assign(__assign({}, bundle), { supportV5SupervisorState: supervisor, supportV5LaneMemory: laneMemory, supportV5StepHistory: __spreadArray(__spreadArray([], __read(bundle.supportV5StepHistory), false), [record], false).slice(-100), supportV5Budget: __assign(__assign({}, bundle.supportV5Budget), { totalPromptTokenEstimate: bundle.supportV5Budget.totalPromptTokenEstimate + promptTokens, totalRuntimeMs: bundle.supportV5Budget.totalRuntimeMs + runtimeMs, loopCount: bundle.supportV5Budget.loopCount + 1 }), supportV5MicrotaskLedger: ledger, supportV5ActiveMicrotaskId: nextMicrotask === null || nextMicrotask === void 0 ? void 0 : nextMicrotask.microtaskId, supportV5MicrotaskUsageHistory: bundle.supportV5MicrotaskUsageHistory || [] });
365
- }
366
- function recordResolveIOSupportV5MicrotaskUsage(bundle, usage) {
367
- var record = __assign(__assign({}, usage), { microtaskId: cleanText(usage.microtaskId, 160), threadKey: cleanText(usage.threadKey, 240), model: cleanText(usage.model, 80), promptTokenEstimate: Math.max(0, Number(usage.promptTokenEstimate || 0) || 0), promptSections: Array.isArray(usage.promptSections)
368
- ? usage.promptSections.map(function (section) { return ({
369
- name: cleanText(section.name, 120),
370
- tokenEstimate: Math.max(0, Number(section.tokenEstimate || 0) || 0)
371
- }); }).filter(function (section) { return section.name; })
372
- : [], recordedAt: isoNow() });
373
- var ledger = (bundle.supportV5MicrotaskLedger || []).map(function (task) { return task.microtaskId === record.microtaskId
374
- ? __assign(__assign({}, task), { promptTokenEstimate: record.promptTokenEstimate, updatedAt: record.recordedAt }) : task; });
375
- return __assign(__assign({}, bundle), { supportV5MicrotaskLedger: ledger, supportV5MicrotaskUsageHistory: __spreadArray(__spreadArray([], __read((bundle.supportV5MicrotaskUsageHistory || [])), false), [
376
- record
377
- ], false).slice(-200) });
378
- }
379
- function decideResolveIOSupportV5Continuation(bundle) {
380
- var history = bundle.supportV5StepHistory || [];
381
- var budget = buildResolveIOSupportV5Budget(bundle.supportV5Budget);
382
- var last = history[history.length - 1];
383
- var activeMicrotaskId = cleanText(bundle.supportV5ActiveMicrotaskId, 160);
384
- var blockerFingerprint = fingerprintResolveIOSupportV5Blocker((last === null || last === void 0 ? void 0 : last.blocker) || (last === null || last === void 0 ? void 0 : last.summary) || '');
385
- var repeatedNoProgressCount = 0;
386
- for (var index = history.length - 1; index >= 0; index -= 1) {
387
- var item = history[index];
388
- if (activeMicrotaskId && cleanText(item.microtaskId, 160) !== activeMicrotaskId) {
389
- continue;
390
- }
391
- if (item.outcome === 'pass' || item.outcome === 'ready_for_merge') {
392
- break;
393
- }
394
- if (item.stepType !== (last === null || last === void 0 ? void 0 : last.stepType)) {
395
- break;
396
- }
397
- if (fingerprintResolveIOSupportV5Blocker(item.blocker || item.summary || '') === blockerFingerprint) {
398
- repeatedNoProgressCount += 1;
399
- }
400
- }
401
- var budgetExceeded = budget.loopCount >= budget.maxLoopsPerTicket
402
- || ((last === null || last === void 0 ? void 0 : last.promptTokenEstimate) || 0) > budget.maxPromptTokensPerNonInitialStep;
403
- if (budgetExceeded) {
404
- return {
405
- action: 'park',
406
- reason: 'support_v5_budget_guard',
407
- nextStep: (last === null || last === void 0 ? void 0 : last.stepType) || 'cleanup',
408
- repeatedNoProgressCount: repeatedNoProgressCount,
409
- budgetExceeded: budgetExceeded
410
- };
411
- }
412
- if (repeatedNoProgressCount > budget.maxRepeatedNoProgress) {
413
- return {
414
- action: 'park',
415
- reason: 'support_v5_repeated_no_progress',
416
- nextStep: (last === null || last === void 0 ? void 0 : last.stepType) || 'cleanup',
417
- repeatedNoProgressCount: repeatedNoProgressCount,
418
- budgetExceeded: budgetExceeded
419
- };
420
- }
421
- return {
422
- action: 'continue',
423
- reason: 'support_v5_continue',
424
- nextStep: (last === null || last === void 0 ? void 0 : last.stepType) || bundle.supportV5SupervisorState.activeStep,
425
- repeatedNoProgressCount: repeatedNoProgressCount,
426
- budgetExceeded: false
427
- };
428
- }
429
- function buildResolveIOSupportV5DiagnoseFirstPrompt(lines) {
430
- var _a, _b;
431
- return [
432
- 'Support Runner V5 contract: act like a guarded autonomous engineer, not a gate checklist.',
433
- 'Start with Diagnose First: observed evidence, likely cause, smallest next action, and expected proof.',
434
- 'Use compact lane memory and current artifacts before asking for broad ticket context.',
435
- 'Do not send customer email. Do not write production data. Do not spawn duplicate build, QA, server, client, Mongo, browser, or Codex processes.',
436
- 'If repairing, inspect logs/artifacts/source/diff first; make the smallest code or localhost-data change, then run the smallest finite self-gate.',
437
- 'For build repairs, prefer `npm run build-prod -- --watch=false`, a targeted `tsc --noEmit`, or a focused unit test. `npm run build-dev` is forbidden for support microtasks because it is slow/watch-oriented and can leave heavy esbuild work. If no finite gate exists, return a blocked self-gate with the exact reason instead of running build-dev.',
438
- 'If QA fails, retest the failed row before advancing; if the same blocker repeats without new proof, park with the exact blocker.',
439
- lines.goal ? "Goal: ".concat(cleanText(lines.goal, 500)) : '',
440
- cleanList(lines.approvedScope, 12, 240).length ? "Approved scope: ".concat(cleanList(lines.approvedScope, 12, 240).join(' | ')) : '',
441
- lines.activeStep ? "Active step: ".concat(lines.activeStep) : '',
442
- lines.lane ? "Lane: ".concat(lines.lane) : '',
443
- lines.laneSummary ? "Lane memory: ".concat(cleanText(lines.laneSummary, 700)) : '',
444
- lines.activeBlocker ? "Active blocker: ".concat(cleanText(lines.activeBlocker, 800)) : '',
445
- ((_a = lines.currentQaRow) === null || _a === void 0 ? void 0 : _a.workflow) ? "Current QA row: ".concat(cleanText(lines.currentQaRow.workflow, 300)) : '',
446
- ((_b = lines.currentQaRow) === null || _b === void 0 ? void 0 : _b.route) ? "Current QA route: ".concat(cleanText(lines.currentQaRow.route, 300)) : '',
447
- cleanList(lines.changedFiles, 12, 200).length ? "Changed files: ".concat(cleanList(lines.changedFiles, 12, 200).join(', ')) : '',
448
- cleanList(lines.artifactPaths, 12, 240).length ? "Artifacts: ".concat(cleanList(lines.artifactPaths, 12, 240).join(', ')) : ''
449
- ].filter(Boolean);
450
- }
451
- function buildResolveIOSupportV5MicrotaskPrompt(input) {
452
- var _a, _b, _c;
453
- var activeMicrotask = selectResolveIOSupportV5ActiveMicrotask(input.bundle.supportV5MicrotaskLedger || [], input.bundle.supportV5ActiveMicrotaskId);
454
- var budget = buildResolveIOSupportV5PromptBudget();
455
- var repairLike = Boolean(input.failureText || (activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.status) === 'needs_repair' || /repair/i.test(String(input.stage || (activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.type) || '')));
456
- var cap = repairLike
457
- ? budget.repairMicrotaskCap
458
- : input.lane === 'qa'
459
- ? budget.qaMicrotaskCap
460
- : budget.buildMicrotaskCap;
461
- var hardCap = repairLike
462
- ? budget.repairMicrotaskHardCap
463
- : input.lane === 'qa'
464
- ? budget.qaMicrotaskHardCap
465
- : budget.buildMicrotaskHardCap;
466
- var laneMemory = input.bundle.supportV5LaneMemory[input.lane];
467
- var taskThreadKey = (activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.threadKey) || laneMemory.threadKey;
468
- var changedFiles = cleanList(((_a = input.changedFiles) === null || _a === void 0 ? void 0 : _a.length) ? input.changedFiles : laneMemory.changedFiles, 8, 160);
469
- var artifactPaths = cleanList(((_b = input.artifactPaths) === null || _b === void 0 ? void 0 : _b.length) ? input.artifactPaths : laneMemory.artifactPaths, 8, 200);
470
- var targetFiles = cleanList(((_c = input.targetFiles) === null || _c === void 0 ? void 0 : _c.length) ? input.targetFiles : activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.targetFiles, 5, 160);
471
- var contextSnippets = cleanList(input.contextSnippets, 5, 360);
472
- var qaRow = input.activeQaRow || (activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.lane) === 'qa' ? input.activeQaRow || laneMemory.activeQaRow || input.bundle.supportV5SupervisorState.currentQaRow : undefined;
473
- var sections = [
474
- {
475
- name: 'microtask_contract',
476
- text: [
477
- 'Support Runner V5 Microtask Contract.',
478
- 'Use the existing persistent lane thread. Do not start a fresh thread.',
479
- 'Do exactly one microtask and one proof gate. Do not replay ticket triage, prior plans, attachments, broad QA checklist, or unrelated scope.',
480
- 'If context is insufficient, request the smallest missing file/log/artifact by path and park this microtask; do not broaden the prompt.',
481
- 'Do not send customer email. Do not deploy. Do not spawn duplicate server/client/Mongo/browser/Codex processes.',
482
- input.lane === 'qa'
483
- ? 'QA lane hard boundary: the platform preflight owns compile, dependency install, Mongo/server/client startup, and Angular startup. This lane owns only browser/data proof and QA artifacts unless the prompt explicitly says preflight was skipped.'
484
- : 'Build lane hard boundary: do not run `npm run build-dev`, `ng build`, `npm run server`, `npm run client`, `ng serve`, `run-local-qa.sh`, browser automation, or any watch/long-lived command. If a broad compile gate is needed, run only `npm run build-prod -- --watch=false`; otherwise use a targeted finite check or return the precise blocker.'
485
- ].join('\n')
486
- },
487
- {
488
- name: 'scope_digest',
489
- text: cleanText(input.bundle.supportV5ScopeDigest || input.bundle.supportV5SupervisorState.approvedScope, 900)
490
- },
491
- {
492
- name: 'active_microtask',
493
- text: activeMicrotask ? [
494
- "Microtask id: ".concat(activeMicrotask.microtaskId),
495
- "Lane: ".concat(input.lane),
496
- "Type: ".concat(activeMicrotask.type),
497
- "Status: ".concat(activeMicrotask.status),
498
- "Objective: ".concat(cleanText(activeMicrotask.objective, 360)),
499
- "Self-gate: ".concat(cleanText(activeMicrotask.selfGate, 260)),
500
- "Acceptance proof: ".concat(cleanText(activeMicrotask.acceptanceProof, 260)),
501
- "Attempts on this microtask: ".concat(activeMicrotask.attempts),
502
- "Thread key: ".concat(taskThreadKey)
503
- ].join('\n') : 'No active microtask found. Park and report support_v5_microtask_missing.'
504
- },
505
- {
506
- name: 'failure_delta',
507
- text: input.failureText ? "Latest blocker/failure delta: ".concat(cleanText(input.failureText, 700)) : ''
508
- },
509
- {
510
- name: 'target_context',
511
- text: [
512
- targetFiles.length ? "Target files: ".concat(targetFiles.join(', ')) : '',
513
- changedFiles.length ? "Changed files: ".concat(changedFiles.join(', ')) : '',
514
- artifactPaths.length ? "Artifacts: ".concat(artifactPaths.join(', ')) : '',
515
- (qaRow === null || qaRow === void 0 ? void 0 : qaRow.workflow) ? "QA row workflow: ".concat(cleanText(qaRow.workflow, 220)) : '',
516
- (qaRow === null || qaRow === void 0 ? void 0 : qaRow.route) ? "QA row route: ".concat(cleanText(qaRow.route, 220)) : '',
517
- (qaRow === null || qaRow === void 0 ? void 0 : qaRow.assertion) ? "QA row assertion: ".concat(cleanText(qaRow.assertion, 260)) : '',
518
- contextSnippets.length ? "Relevant snippets:\n".concat(contextSnippets.join('\n---\n')) : ''
519
- ].filter(Boolean).join('\n')
520
- },
521
- input.lane === 'qa' ? {
522
- name: 'qa_browser_evidence_contract',
523
- text: [
524
- 'QA lane first action after preflight: collect fresh browser evidence for the active row, not a proof review of existing route/auth artifacts.',
525
- 'Use the already-running localhost harness and staged env. Before any shell command, run `source .resolveio-support-tools/env.sh 2>/dev/null || source ../.resolveio-support-tools/env.sh 2>/dev/null || true`; then use `$RESOLVEIO_SUPPORT_QA_CLIENT_URL`, `$RESOLVEIO_SUPPORT_QA_SERVER_URL`, `$PUPPETEER_EXECUTABLE_PATH`, and `$CHROME_BIN`.',
526
- 'Required auth replay helper inside every Puppeteer row script: `const storage=JSON.parse(fs.readFileSync("qa-artifacts/auth-bootstrap-storage-state.json","utf8")); const entries=[...(Array.isArray(storage.localStorageEntries)?storage.localStorageEntries:[]), ...(Array.isArray(storage.localStorage)?storage.localStorage:Object.entries(storage.localStorage||{}).map(([key,value])=>({key,value}))), ...((storage.origins||[]).flatMap(o=>o.localStorage||[]))].map(e=>({key:e.key||e.name,value:e.value})).filter(e=>e.key); const clientUrl=process.env.RESOLVEIO_SUPPORT_QA_CLIENT_URL||process.env.RESOLVEIO_RUNNER_QA_CLIENT_URL; const rowRoute="<ACTIVE_QA_ROUTE>"; await page.goto(clientUrl,{waitUntil:"domcontentloaded"}); await page.evaluate(items=>{localStorage.clear(); for(const item of items)localStorage.setItem(item.key,item.value);}, entries); await page.goto(new URL(rowRoute, clientUrl).href,{waitUntil:"domcontentloaded"});` Replace `<ACTIVE_QA_ROUTE>` with the active row route before running. A screenshot of `/home`, the login screen, or a shell route after this helper means the QA script navigated to the wrong route or storage is stale; rerun the same row with the active route before returning an app blocker.',
527
- 'Allowed first command shape: one bounded `node`/Puppeteer row script that reads `qa-artifacts/auth-bootstrap-storage-state.json`, opens `$RESOLVEIO_SUPPORT_QA_CLIENT_URL`, seeds localStorage, navigates to the active QA route with `new URL(activeRoute, clientUrl).href`, drives the visible workflow, captures screenshot/caption, and updates the active matrix row. A `/home` proof is invalid for a locked non-home route.',
528
- 'Forbidden in QA lane after preflight: `npm run build`, `npm run build-dev`, `npm run build-prod`, `ng build`, `npm install`, `npm ci`, `npm run server`, `npm run client`, `ng serve`, `gulp`, `mongod`, `run-local-qa.sh`, and broad source discovery. If a build/startup/dependency problem is suspected, return `blocked` or `needs-fix` with the existing qa-artifacts log paths instead of launching those commands.',
529
- 'Launch Puppeteer from `PUPPETEER_EXECUTABLE_PATH || CHROME_BIN`, seed localStorage from `qa-artifacts/auth-bootstrap-storage-state.json`, then navigate to the active QA route.',
530
- 'Before passing, confirm `qa-artifacts/auth-bootstrap-result.json` used the ticket reporter or named affected user when available. If it used generic admin/dev while `qa-live-data-seed-result.json.selected.qa_user_context` names a reporter/affected user, rerun auth as that user or return needs-fix.',
531
- 'Drive the visible customer workflow for this one row. Capture a new customer-facing screenshot/caption and update `qa-artifacts/qa-coverage-matrix.json` with workflow, route, data id/name, assertion, screenshot path, caption, and pass/failed/blocked status.',
532
- 'After selecting any From/To, source/target, dropdown, combobox, rio-select, filter, item, customer, yard, chemical, or treatment-plan value, read the visible control text back from the DOM. If it still contains placeholder text such as Select Chemical, Select Yard, Select Customer, Select Treatment Plan Type, Loading..., empty, null, or undefined, do not click the action button and do not mark pass. Capture the selected-state blocker screenshot/DOM text and return needs-fix.',
533
- 'If the row needs persisted data proof, create that proof yourself in the same bounded QA command by querying localhost QA Mongo through process.env.MONGO_URL after the visible UI action. Write the result under qa-artifacts/ as JSON and reference that path in the matrix. Do not ask for a missing post-action DB artifact while the local QA stack is running; either write it or return needs-fix with the exact query/script error. For update-interchangeables rows, the JSON must include concrete non-placeholder fromText and toText, before/after counts or sample documents for treatment plans and tank/interchangeable records, and must fail if either selected value is only an arrow/placeholder or if the persisted collections are empty.',
534
- 'If the row names multiple concrete entities such as assets, units, BOLs, invoices, chemicals, customers, yards, or numbered records, prove every named entity. Do not pass by proving only one representative record.',
535
- 'For customer-reported data bugs, use production-seeded localhost records from `qa-live-data-seed-result.json`. If the exact named record is missing from the seed, fail the row as a seed/query blocker instead of testing a substitute record.',
536
- 'Route-ready, auth-bootstrap, shell, header-only, and empty-list screenshots do not satisfy this microtask. If the row cannot be proven, capture the blocker screenshot/DOM state and return needs-fix with that exact blocker.',
537
- 'Do not run compile/startup/npm install, do not spawn another server/client/Mongo, and do not inspect broad source trees before the first browser evidence command.'
538
- ].join('\n')
539
- } : {
540
- name: 'non_qa_noop',
541
- text: ''
542
- },
543
- {
544
- name: 'return_contract',
545
- text: input.lane === 'qa'
546
- ? 'Return strict JSON only: {"status":"pass"|"needs-fix"|"blocked","microtaskId":"","summary":"","evidence":[""],"artifacts":[""],"next_actions":[""]}.'
547
- : 'Return concise Markdown with: Microtask Result, Root Cause, Changes, Self-Gate, Acceptance Proof, Residual Risk.'
548
- }
549
- ].filter(function (section) { return cleanText(section.text, 20); });
550
- var promptSections = sections.map(function (section) { return ({
551
- name: section.name,
552
- tokenEstimate: estimateTextTokens(section.text)
553
- }); });
554
- var prompt = sections.map(function (section) { return section.text; }).join('\n\n');
555
- var promptTokenEstimate = estimateTextTokens(prompt);
556
- return {
557
- prompt: prompt,
558
- promptTokenEstimate: promptTokenEstimate,
559
- promptSections: promptSections,
560
- activeMicrotask: activeMicrotask,
561
- withinCap: promptTokenEstimate <= cap,
562
- withinHardCap: promptTokenEstimate <= hardCap,
563
- cap: cap,
564
- hardCap: hardCap,
565
- reason: promptTokenEstimate > hardCap
566
- ? 'support_v5_microtask_prompt_hard_cap'
567
- : promptTokenEstimate > cap
568
- ? 'support_v5_microtask_prompt_soft_cap'
569
- : undefined
570
- };
571
- }
572
- function summarizeResolveIOSupportV5MicrotaskUsage(bundle) {
573
- var e_3, _a, e_4, _b;
574
- var byMicrotask = new Map();
575
- var bySection = new Map();
576
- var totalPromptTokenEstimate = 0;
577
- var broadPromptViolations = [];
578
- var promptBudget = buildResolveIOSupportV5PromptBudget();
579
- try {
580
- for (var _c = __values(bundle.supportV5MicrotaskUsageHistory || []), _d = _c.next(); !_d.done; _d = _c.next()) {
581
- var usage = _d.value;
582
- totalPromptTokenEstimate += usage.promptTokenEstimate || 0;
583
- var existing = byMicrotask.get(usage.microtaskId) || { microtaskId: usage.microtaskId, promptTokenEstimate: 0, calls: 0 };
584
- existing.promptTokenEstimate += usage.promptTokenEstimate || 0;
585
- existing.calls += 1;
586
- byMicrotask.set(usage.microtaskId, existing);
587
- try {
588
- for (var _e = (e_4 = void 0, __values(usage.promptSections || [])), _f = _e.next(); !_f.done; _f = _e.next()) {
589
- var section = _f.value;
590
- bySection.set(section.name, (bySection.get(section.name) || 0) + section.tokenEstimate);
591
- }
592
- }
593
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
594
- finally {
595
- try {
596
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
597
- }
598
- finally { if (e_4) throw e_4.error; }
599
- }
600
- var hardCap = usage.lane === 'qa' ? promptBudget.qaMicrotaskHardCap : promptBudget.buildMicrotaskHardCap;
601
- if ((usage.promptTokenEstimate || 0) > hardCap) {
602
- broadPromptViolations.push(usage);
603
- }
604
- }
605
- }
606
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
607
- finally {
608
- try {
609
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
610
- }
611
- finally { if (e_3) throw e_3.error; }
612
- }
613
- return {
614
- totalPromptTokenEstimate: totalPromptTokenEstimate,
615
- byMicrotask: Array.from(byMicrotask.values()),
616
- bySection: Array.from(bySection.entries()).map(function (_a) {
617
- var _b = __read(_a, 2), name = _b[0], tokenEstimate = _b[1];
618
- return ({ name: name, tokenEstimate: tokenEstimate });
619
- }),
620
- broadPromptViolations: broadPromptViolations
621
- };
622
- }
623
- function buildResolveIOSupportV5Incident(input) {
624
- return {
625
- incidentClass: cleanText(input.incidentClass, 120) || 'support_v5_runner_incident',
626
- summary: cleanText(input.summary, 1200),
627
- stepType: input.stepType,
628
- blockerFingerprint: input.blocker ? fingerprintResolveIOSupportV5Blocker(input.blocker) : undefined,
629
- artifactPaths: cleanList(input.artifactPaths, 40, 500),
630
- recordedAt: isoNow(input.now)
631
- };
632
- }
633
-
634
- //# sourceMappingURL=support-runner-v5.js.map