@resolveio/server-lib 22.3.175 → 22.3.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (745) hide show
  1. package/.nodemon.json +5 -0
  2. package/.vscode/settings.json +21 -0
  3. package/AGENTS.md +195 -0
  4. package/README.md +22 -0
  5. package/build_package.sh +5 -0
  6. package/compileDTS.pl +64 -0
  7. package/docs/ai-assistant-nightly-eval.md +65 -0
  8. package/docs/ai-assistant-preflight-checklist.md +23 -0
  9. package/docs/ai-assistant-report-builder-bridge-playbook.md +115 -0
  10. package/eslint-plugin-custom/index.js +7 -0
  11. package/eslint-plugin-custom/rules/no-filter-zero-index.js +44 -0
  12. package/eslint.config.js +103 -0
  13. package/gulpfile.js +216 -0
  14. package/methodAndPublicationListGenerator.py +375 -0
  15. package/mongodbensurers.js +2 -0
  16. package/mongostop.js +3 -0
  17. package/package.json +1 -1
  18. package/scripts/cleanup-bypassed-callmethod-logs.js +616 -0
  19. package/settings.development.json +25 -0
  20. package/settings.development.redacted.json +25 -0
  21. package/src/.env +12 -0
  22. package/src/ai/assistant-core-heuristics.ts +379 -0
  23. package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +185 -0
  24. package/src/ai/resolveio-platform-intelligence-memory.ts +325 -0
  25. package/{ai/resolveio-platform-intelligence-types.d.ts → src/ai/resolveio-platform-intelligence-types.ts} +20 -15
  26. package/src/ai/resolveio-platform-intelligence.ts +462 -0
  27. package/src/client-server-app.ts +12 -0
  28. package/src/collections/ai-run.collection.ts +117 -0
  29. package/src/collections/ai-terminal-conversation.collection.ts +91 -0
  30. package/src/collections/ai-terminal-issue-report.collection.ts +99 -0
  31. package/src/collections/ai-terminal-message.collection.ts +77 -0
  32. package/src/collections/app-setting.collection.ts +104 -0
  33. package/src/collections/app-status.collection.ts +58 -0
  34. package/src/collections/communication-metric.collection.ts +84 -0
  35. package/src/collections/counter.collection.ts +56 -0
  36. package/src/collections/cron-job-history.collection.ts +94 -0
  37. package/src/collections/cron-job.collection.ts +92 -0
  38. package/src/collections/customer-notification.collection.ts +131 -0
  39. package/src/collections/customer-portal-password.collection.ts +76 -0
  40. package/src/collections/email-history.collection.ts +134 -0
  41. package/src/collections/email-verified.collection.ts +62 -0
  42. package/src/collections/file.collection.ts +74 -0
  43. package/src/collections/flag-update.collection.ts +57 -0
  44. package/src/collections/flag.collection.ts +57 -0
  45. package/src/collections/log-method-latency.collection.ts +77 -0
  46. package/src/collections/log-subscription.collection.ts +80 -0
  47. package/src/collections/log.collection.ts +93 -0
  48. package/src/collections/logged-in-users.collection.ts +67 -0
  49. package/src/collections/monitor-cpu.collection.ts +65 -0
  50. package/src/collections/monitor-function.collection.ts +74 -0
  51. package/src/collections/monitor-memory.collection.ts +77 -0
  52. package/src/collections/monitor-mongo.collection.ts +71 -0
  53. package/src/collections/notification.collection.ts +57 -0
  54. package/src/collections/openai-usage-ledger.collection.ts +131 -0
  55. package/src/collections/report-builder-dashboard-builder.collection.ts +109 -0
  56. package/src/collections/report-builder-library.collection.ts +89 -0
  57. package/src/collections/report-builder-report.collection.ts +184 -0
  58. package/src/collections/user-group.collection.ts +89 -0
  59. package/src/collections/user-guide.collection.ts +57 -0
  60. package/src/collections/user.collection.ts +181 -0
  61. package/src/cron/cron.ts +117 -0
  62. package/src/fixtures/cron-jobs.ts +95 -0
  63. package/src/fixtures/init.ts +35 -0
  64. package/src/http/auth.ts +818 -0
  65. package/src/http/health.ts +7 -0
  66. package/src/http/home.ts +90 -0
  67. package/src/http/slow-query-publication.ts +49 -0
  68. package/src/index.ts +1 -0
  69. package/src/managers/ai-assistant-codex-manager.manager.ts +1131 -0
  70. package/src/managers/ai-run-evidence.manager.ts +264 -0
  71. package/src/managers/communication-metric.manager.ts +82 -0
  72. package/src/managers/cron.manager.ts +333 -0
  73. package/src/managers/customer-notification-content.manager.ts +236 -0
  74. package/src/managers/diagnostic-manager-bootstrap.ts +165 -0
  75. package/src/managers/error-auto-fix.manager.ts +2767 -0
  76. package/src/managers/local-log.manager.ts +113 -0
  77. package/src/managers/method.manager.ts +1857 -0
  78. package/src/managers/mongo.manager.ts +4575 -0
  79. package/src/managers/monitor.manager.ts +507 -0
  80. package/src/managers/openai-usage-ledger.manager.ts +112 -0
  81. package/src/managers/slow-query-verifier.manager.ts +3590 -0
  82. package/src/managers/slow-query.manager.ts +519 -0
  83. package/src/managers/subscription.manager.ts +3128 -0
  84. package/src/managers/websocket.manager.ts +746 -0
  85. package/src/managers/worker-dispatcher.manager.ts +1360 -0
  86. package/src/managers/worker-server.manager.ts +536 -0
  87. package/src/methods/accounts.ts +532 -0
  88. package/src/methods/ai-terminal.ts +23825 -0
  89. package/src/methods/app-settings.ts +114 -0
  90. package/src/methods/aws.ts +649 -0
  91. package/src/methods/collections.ts +641 -0
  92. package/src/methods/counters.ts +69 -0
  93. package/src/methods/cron-jobs.ts +2614 -0
  94. package/src/methods/customer-notifications.ts +458 -0
  95. package/src/methods/diagnostics.ts +616 -0
  96. package/src/methods/flag-updates.ts +7 -0
  97. package/src/methods/flags.ts +7 -0
  98. package/src/methods/logs.ts +657 -0
  99. package/src/methods/mongo-explorer.ts +1880 -0
  100. package/src/methods/monitor.ts +540 -0
  101. package/src/methods/pdf.ts +1236 -0
  102. package/src/methods/publications.ts +129 -0
  103. package/src/methods/report-builder.ts +3300 -0
  104. package/src/methods/support.ts +335 -0
  105. package/src/models/ai-run.model.ts +27 -0
  106. package/src/models/ai-terminal-conversation.model.ts +19 -0
  107. package/src/models/ai-terminal-issue-report.model.ts +21 -0
  108. package/src/models/ai-terminal-message.model.ts +24 -0
  109. package/src/models/app-setting.model.ts +17 -0
  110. package/{models/app-status.model.d.ts → src/models/app-status.model.ts} +3 -2
  111. package/{models/billing-logged-in-users.model.d.ts → src/models/billing-logged-in-users.model.ts} +5 -4
  112. package/src/models/collection-document.model.ts +24 -0
  113. package/src/models/communication-metric.model.ts +23 -0
  114. package/{models/counter.model.d.ts → src/models/counter.model.ts} +4 -3
  115. package/src/models/cron-job-history.model.ts +16 -0
  116. package/src/models/cron-job.model.ts +15 -0
  117. package/src/models/customer-notification.model.ts +28 -0
  118. package/src/models/customer-portal-password.model.ts +12 -0
  119. package/src/models/dialog.model.ts +25 -0
  120. package/{models/email-history.model.js → src/models/email-history.model.ts} +36 -4
  121. package/{models/email-verified.model.d.ts → src/models/email-verified.model.ts} +6 -5
  122. package/{models/file.model.d.ts → src/models/file.model.ts} +8 -7
  123. package/{models/flag-update.model.d.ts → src/models/flag-update.model.ts} +4 -3
  124. package/{models/flag.model.d.ts → src/models/flag.model.ts} +4 -3
  125. package/src/models/log-method-latency.model.ts +11 -0
  126. package/{models/log-subscription.model.d.ts → src/models/log-subscription.model.ts} +11 -9
  127. package/src/models/log.model.ts +19 -0
  128. package/{models/logged-in-users.model.d.ts → src/models/logged-in-users.model.ts} +6 -5
  129. package/{models/method-response.model.d.ts → src/models/method-response.model.ts} +7 -6
  130. package/src/models/method.model.ts +25 -0
  131. package/{models/monitor-cpu.model.d.ts → src/models/monitor-cpu.model.ts} +9 -7
  132. package/src/models/monitor-function.model.ts +16 -0
  133. package/src/models/monitor-memory.model.ts +17 -0
  134. package/src/models/monitor-mongo.model.ts +15 -0
  135. package/{models/notification.model.d.ts → src/models/notification.model.ts} +6 -4
  136. package/src/models/openai-usage-ledger.model.ts +56 -0
  137. package/src/models/pagination.model.ts +35 -0
  138. package/src/models/permission.model.ts +14 -0
  139. package/src/models/report-builder-dashboard-builder.model.ts +29 -0
  140. package/src/models/report-builder-library.model.ts +20 -0
  141. package/src/models/report-builder-report.model.ts +136 -0
  142. package/src/models/report-builder.model.ts +68 -0
  143. package/src/models/select-data-label.model.ts +9 -0
  144. package/src/models/server-message.model.ts +31 -0
  145. package/src/models/slow-query-report.model.ts +23 -0
  146. package/src/models/subscription.model.ts +73 -0
  147. package/src/models/support-ticket.model.ts +104 -0
  148. package/src/models/user-group.model.ts +24 -0
  149. package/{models/user-guide.model.d.ts → src/models/user-guide.model.ts} +5 -4
  150. package/src/models/user.model.ts +96 -0
  151. package/src/private/images/ResolveIO.png +0 -0
  152. package/src/publications/ai-terminal.ts +73 -0
  153. package/src/publications/app-settings.ts +25 -0
  154. package/src/publications/app-status.ts +13 -0
  155. package/src/publications/cron-jobs.ts +40 -0
  156. package/src/publications/customer-notifications.ts +101 -0
  157. package/src/publications/files.ts +33 -0
  158. package/src/publications/flags-update.ts +19 -0
  159. package/src/publications/flags.ts +19 -0
  160. package/src/publications/logs.ts +163 -0
  161. package/src/publications/notifications.ts +13 -0
  162. package/src/publications/report-builder-dashboard-builders.ts +39 -0
  163. package/src/publications/report-builder-libraries.ts +41 -0
  164. package/src/publications/report-builder-reports.ts +47 -0
  165. package/src/publications/super-admin.ts +13 -0
  166. package/src/publications/user-groups.ts +12 -0
  167. package/src/publications/user-guides.ts +12 -0
  168. package/src/resolveio-server-app.ts +617 -0
  169. package/src/server-app.ts +3354 -0
  170. package/src/services/codex-client.ts +1231 -0
  171. package/src/services/openai-client.ts +265 -0
  172. package/src/types/error-report.ts +26 -0
  173. package/src/types/js-tiktoken.d.ts +11 -0
  174. package/src/types/slow-query-report.ts +28 -0
  175. package/src/util/ai-qa-policy.ts +925 -0
  176. package/src/util/ai-run-evidence-adapters.ts +3292 -0
  177. package/src/util/ai-run-evidence-dashboard.ts +313 -0
  178. package/src/util/ai-run-evidence-eval.ts +1054 -0
  179. package/src/util/ai-run-evidence.ts +1124 -0
  180. package/src/util/ai-runner-artifacts.ts +586 -0
  181. package/src/util/ai-runner-manager-autopilot.ts +961 -0
  182. package/src/util/ai-runner-manager-policy.ts +4193 -0
  183. package/src/util/ai-runner-qa-auth.ts +821 -0
  184. package/src/util/ai-runner-qa-tools.ts +3045 -0
  185. package/src/util/aicoder-runner-v6.ts +2510 -0
  186. package/src/util/common.ts +649 -0
  187. package/src/util/customer-portal-password.ts +183 -0
  188. package/src/util/error-reporter.ts +332 -0
  189. package/src/util/error-tracking.ts +79 -0
  190. package/src/util/openai-usage-cost.ts +114 -0
  191. package/src/util/report-builder-unwinds.ts +180 -0
  192. package/src/util/runner-process-janitor.ts +219 -0
  193. package/src/util/schema-report-builder.ts +448 -0
  194. package/src/util/slow-query-reporter.ts +216 -0
  195. package/src/util/subscription-dependency-context.ts +1096 -0
  196. package/src/util/support-runner-v5.ts +4785 -0
  197. package/src/util/tokenizer.ts +38 -0
  198. package/src/workers/codex-runner.worker.ts +142 -0
  199. package/start_server.sh +5 -0
  200. package/tests/ai-assistant-corpus-build.ts +484 -0
  201. package/tests/ai-assistant-corpus-replay-e2e.ts +774 -0
  202. package/tests/ai-assistant-data-parity-e2e.ts +1989 -0
  203. package/tests/ai-assistant-eval-triage.ts +831 -0
  204. package/tests/ai-assistant-openai-e2e.ts +1061 -0
  205. package/tests/ai-assistant-openai-git-e2e.ts +155 -0
  206. package/tests/ai-assistant-preflight-matrix.ts +215 -0
  207. package/tests/ai-assistant-routing-eval.test.ts +560 -0
  208. package/tests/ai-assistant-snf-live-eval.ts +975 -0
  209. package/tests/ai-assistant-utils.test.ts +3057 -0
  210. package/tests/ai-manager-autopilot-snapshot.test.ts +193 -0
  211. package/tests/ai-manager-recovery-checkpoint.test.ts +1136 -0
  212. package/tests/ai-run-eval.test.ts +112 -0
  213. package/tests/ai-run-evidence.test.ts +1403 -0
  214. package/tests/ai-runner-contract.test.ts +488 -0
  215. package/tests/aicoder-runner-v6.test.ts +676 -0
  216. package/tests/error-reporter.test.ts +145 -0
  217. package/tests/method-publication-generator.test.ts +46 -0
  218. package/tests/report-builder-linking.test.ts +79 -0
  219. package/tests/resolveio-platform-intelligence.test.ts +352 -0
  220. package/tests/server-app-cron-owner.test.ts +127 -0
  221. package/tests/subscription-connect-race.test.ts +158 -0
  222. package/tests/subscription-dependency-context.test.ts +324 -0
  223. package/tests/subscription-manager-collection-tracking.test.ts +86 -0
  224. package/tests/subscription-manager-invalidation.test.ts +86 -0
  225. package/tests/support-runner-v5.test.ts +1166 -0
  226. package/tsconfig.json +34 -0
  227. package/ai/assistant-core-heuristics.d.ts +0 -11
  228. package/ai/assistant-core-heuristics.js +0 -356
  229. package/ai/assistant-core-heuristics.js.map +0 -1
  230. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +0 -3
  231. package/ai/resolveio-platform-intelligence-memory-corpus.js +0 -214
  232. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +0 -1
  233. package/ai/resolveio-platform-intelligence-memory.d.ts +0 -20
  234. package/ai/resolveio-platform-intelligence-memory.js +0 -341
  235. package/ai/resolveio-platform-intelligence-memory.js.map +0 -1
  236. package/ai/resolveio-platform-intelligence-types.js +0 -4
  237. package/ai/resolveio-platform-intelligence-types.js.map +0 -1
  238. package/ai/resolveio-platform-intelligence.d.ts +0 -6
  239. package/ai/resolveio-platform-intelligence.js +0 -463
  240. package/ai/resolveio-platform-intelligence.js.map +0 -1
  241. package/client-server-app.d.ts +0 -1
  242. package/client-server-app.js +0 -68
  243. package/client-server-app.js.map +0 -1
  244. package/collections/ai-run.collection.d.ts +0 -3
  245. package/collections/ai-run.collection.js +0 -170
  246. package/collections/ai-run.collection.js.map +0 -1
  247. package/collections/ai-terminal-conversation.collection.d.ts +0 -2
  248. package/collections/ai-terminal-conversation.collection.js +0 -140
  249. package/collections/ai-terminal-conversation.collection.js.map +0 -1
  250. package/collections/ai-terminal-issue-report.collection.d.ts +0 -2
  251. package/collections/ai-terminal-issue-report.collection.js +0 -148
  252. package/collections/ai-terminal-issue-report.collection.js.map +0 -1
  253. package/collections/ai-terminal-message.collection.d.ts +0 -2
  254. package/collections/ai-terminal-message.collection.js +0 -121
  255. package/collections/ai-terminal-message.collection.js.map +0 -1
  256. package/collections/app-setting.collection.d.ts +0 -3
  257. package/collections/app-setting.collection.js +0 -103
  258. package/collections/app-setting.collection.js.map +0 -1
  259. package/collections/app-status.collection.d.ts +0 -3
  260. package/collections/app-status.collection.js +0 -57
  261. package/collections/app-status.collection.js.map +0 -1
  262. package/collections/communication-metric.collection.d.ts +0 -2
  263. package/collections/communication-metric.collection.js +0 -133
  264. package/collections/communication-metric.collection.js.map +0 -1
  265. package/collections/counter.collection.d.ts +0 -3
  266. package/collections/counter.collection.js +0 -56
  267. package/collections/counter.collection.js.map +0 -1
  268. package/collections/cron-job-history.collection.d.ts +0 -3
  269. package/collections/cron-job-history.collection.js +0 -137
  270. package/collections/cron-job-history.collection.js.map +0 -1
  271. package/collections/cron-job.collection.d.ts +0 -3
  272. package/collections/cron-job.collection.js +0 -92
  273. package/collections/cron-job.collection.js.map +0 -1
  274. package/collections/customer-notification.collection.d.ts +0 -3
  275. package/collections/customer-notification.collection.js +0 -130
  276. package/collections/customer-notification.collection.js.map +0 -1
  277. package/collections/customer-portal-password.collection.d.ts +0 -3
  278. package/collections/customer-portal-password.collection.js +0 -75
  279. package/collections/customer-portal-password.collection.js.map +0 -1
  280. package/collections/email-history.collection.d.ts +0 -3
  281. package/collections/email-history.collection.js +0 -134
  282. package/collections/email-history.collection.js.map +0 -1
  283. package/collections/email-verified.collection.d.ts +0 -3
  284. package/collections/email-verified.collection.js +0 -62
  285. package/collections/email-verified.collection.js.map +0 -1
  286. package/collections/file.collection.d.ts +0 -3
  287. package/collections/file.collection.js +0 -74
  288. package/collections/file.collection.js.map +0 -1
  289. package/collections/flag-update.collection.d.ts +0 -3
  290. package/collections/flag-update.collection.js +0 -57
  291. package/collections/flag-update.collection.js.map +0 -1
  292. package/collections/flag.collection.d.ts +0 -3
  293. package/collections/flag.collection.js +0 -57
  294. package/collections/flag.collection.js.map +0 -1
  295. package/collections/log-method-latency.collection.d.ts +0 -3
  296. package/collections/log-method-latency.collection.js +0 -77
  297. package/collections/log-method-latency.collection.js.map +0 -1
  298. package/collections/log-subscription.collection.d.ts +0 -3
  299. package/collections/log-subscription.collection.js +0 -80
  300. package/collections/log-subscription.collection.js.map +0 -1
  301. package/collections/log.collection.d.ts +0 -3
  302. package/collections/log.collection.js +0 -93
  303. package/collections/log.collection.js.map +0 -1
  304. package/collections/logged-in-users.collection.d.ts +0 -3
  305. package/collections/logged-in-users.collection.js +0 -67
  306. package/collections/logged-in-users.collection.js.map +0 -1
  307. package/collections/monitor-cpu.collection.d.ts +0 -3
  308. package/collections/monitor-cpu.collection.js +0 -65
  309. package/collections/monitor-cpu.collection.js.map +0 -1
  310. package/collections/monitor-function.collection.d.ts +0 -3
  311. package/collections/monitor-function.collection.js +0 -74
  312. package/collections/monitor-function.collection.js.map +0 -1
  313. package/collections/monitor-memory.collection.d.ts +0 -3
  314. package/collections/monitor-memory.collection.js +0 -77
  315. package/collections/monitor-memory.collection.js.map +0 -1
  316. package/collections/monitor-mongo.collection.d.ts +0 -3
  317. package/collections/monitor-mongo.collection.js +0 -71
  318. package/collections/monitor-mongo.collection.js.map +0 -1
  319. package/collections/notification.collection.d.ts +0 -3
  320. package/collections/notification.collection.js +0 -57
  321. package/collections/notification.collection.js.map +0 -1
  322. package/collections/openai-usage-ledger.collection.d.ts +0 -2
  323. package/collections/openai-usage-ledger.collection.js +0 -188
  324. package/collections/openai-usage-ledger.collection.js.map +0 -1
  325. package/collections/report-builder-dashboard-builder.collection.d.ts +0 -3
  326. package/collections/report-builder-dashboard-builder.collection.js +0 -109
  327. package/collections/report-builder-dashboard-builder.collection.js.map +0 -1
  328. package/collections/report-builder-library.collection.d.ts +0 -3
  329. package/collections/report-builder-library.collection.js +0 -87
  330. package/collections/report-builder-library.collection.js.map +0 -1
  331. package/collections/report-builder-report.collection.d.ts +0 -4
  332. package/collections/report-builder-report.collection.js +0 -184
  333. package/collections/report-builder-report.collection.js.map +0 -1
  334. package/collections/user-group.collection.d.ts +0 -4
  335. package/collections/user-group.collection.js +0 -89
  336. package/collections/user-group.collection.js.map +0 -1
  337. package/collections/user-guide.collection.d.ts +0 -3
  338. package/collections/user-guide.collection.js +0 -57
  339. package/collections/user-guide.collection.js.map +0 -1
  340. package/collections/user.collection.d.ts +0 -4
  341. package/collections/user.collection.js +0 -180
  342. package/collections/user.collection.js.map +0 -1
  343. package/cron/cron.d.ts +0 -14
  344. package/cron/cron.js +0 -216
  345. package/cron/cron.js.map +0 -1
  346. package/fixtures/cron-jobs.d.ts +0 -1
  347. package/fixtures/cron-jobs.js +0 -150
  348. package/fixtures/cron-jobs.js.map +0 -1
  349. package/fixtures/init.d.ts +0 -1
  350. package/fixtures/init.js +0 -91
  351. package/fixtures/init.js.map +0 -1
  352. package/http/auth.d.ts +0 -2
  353. package/http/auth.js +0 -951
  354. package/http/auth.js.map +0 -1
  355. package/http/health.d.ts +0 -1
  356. package/http/health.js +0 -11
  357. package/http/health.js.map +0 -1
  358. package/http/home.d.ts +0 -1
  359. package/http/home.js +0 -134
  360. package/http/home.js.map +0 -1
  361. package/http/slow-query-publication.d.ts +0 -2
  362. package/http/slow-query-publication.js +0 -99
  363. package/http/slow-query-publication.js.map +0 -1
  364. package/index.d.ts +0 -1
  365. package/index.js +0 -19
  366. package/index.js.map +0 -1
  367. package/managers/ai-assistant-codex-manager.manager.d.ts +0 -67
  368. package/managers/ai-assistant-codex-manager.manager.js +0 -1113
  369. package/managers/ai-assistant-codex-manager.manager.js.map +0 -1
  370. package/managers/ai-run-evidence.manager.d.ts +0 -36
  371. package/managers/ai-run-evidence.manager.js +0 -377
  372. package/managers/ai-run-evidence.manager.js.map +0 -1
  373. package/managers/communication-metric.manager.d.ts +0 -16
  374. package/managers/communication-metric.manager.js +0 -134
  375. package/managers/communication-metric.manager.js.map +0 -1
  376. package/managers/cron.manager.d.ts +0 -20
  377. package/managers/cron.manager.js +0 -534
  378. package/managers/cron.manager.js.map +0 -1
  379. package/managers/customer-notification-content.manager.d.ts +0 -55
  380. package/managers/customer-notification-content.manager.js +0 -158
  381. package/managers/customer-notification-content.manager.js.map +0 -1
  382. package/managers/diagnostic-manager-bootstrap.d.ts +0 -9
  383. package/managers/diagnostic-manager-bootstrap.js +0 -260
  384. package/managers/diagnostic-manager-bootstrap.js.map +0 -1
  385. package/managers/error-auto-fix.manager.d.ts +0 -149
  386. package/managers/error-auto-fix.manager.js +0 -3064
  387. package/managers/error-auto-fix.manager.js.map +0 -1
  388. package/managers/local-log.manager.d.ts +0 -18
  389. package/managers/local-log.manager.js +0 -88
  390. package/managers/local-log.manager.js.map +0 -1
  391. package/managers/method.manager.d.ts +0 -84
  392. package/managers/method.manager.js +0 -1964
  393. package/managers/method.manager.js.map +0 -1
  394. package/managers/mongo.manager.d.ts +0 -224
  395. package/managers/mongo.manager.js +0 -5000
  396. package/managers/mongo.manager.js.map +0 -1
  397. package/managers/monitor.manager.d.ts +0 -70
  398. package/managers/monitor.manager.js +0 -550
  399. package/managers/monitor.manager.js.map +0 -1
  400. package/managers/openai-usage-ledger.manager.d.ts +0 -30
  401. package/managers/openai-usage-ledger.manager.js +0 -142
  402. package/managers/openai-usage-ledger.manager.js.map +0 -1
  403. package/managers/slow-query-verifier.manager.d.ts +0 -144
  404. package/managers/slow-query-verifier.manager.js +0 -3857
  405. package/managers/slow-query-verifier.manager.js.map +0 -1
  406. package/managers/slow-query.manager.d.ts +0 -28
  407. package/managers/slow-query.manager.js +0 -468
  408. package/managers/slow-query.manager.js.map +0 -1
  409. package/managers/subscription.manager.d.ts +0 -169
  410. package/managers/subscription.manager.js +0 -3434
  411. package/managers/subscription.manager.js.map +0 -1
  412. package/managers/websocket.manager.d.ts +0 -73
  413. package/managers/websocket.manager.js +0 -673
  414. package/managers/websocket.manager.js.map +0 -1
  415. package/managers/worker-dispatcher.manager.d.ts +0 -120
  416. package/managers/worker-dispatcher.manager.js +0 -1266
  417. package/managers/worker-dispatcher.manager.js.map +0 -1
  418. package/managers/worker-server.manager.d.ts +0 -35
  419. package/managers/worker-server.manager.js +0 -582
  420. package/managers/worker-server.manager.js.map +0 -1
  421. package/methods/accounts.d.ts +0 -2
  422. package/methods/accounts.js +0 -624
  423. package/methods/accounts.js.map +0 -1
  424. package/methods/ai-terminal.d.ts +0 -338
  425. package/methods/ai-terminal.js +0 -23454
  426. package/methods/ai-terminal.js.map +0 -1
  427. package/methods/app-settings.d.ts +0 -2
  428. package/methods/app-settings.js +0 -169
  429. package/methods/app-settings.js.map +0 -1
  430. package/methods/aws.d.ts +0 -2
  431. package/methods/aws.js +0 -877
  432. package/methods/aws.js.map +0 -1
  433. package/methods/collections.d.ts +0 -2
  434. package/methods/collections.js +0 -719
  435. package/methods/collections.js.map +0 -1
  436. package/methods/counters.d.ts +0 -2
  437. package/methods/counters.js +0 -113
  438. package/methods/counters.js.map +0 -1
  439. package/methods/cron-jobs.d.ts +0 -2
  440. package/methods/cron-jobs.js +0 -2475
  441. package/methods/cron-jobs.js.map +0 -1
  442. package/methods/customer-notifications.d.ts +0 -2
  443. package/methods/customer-notifications.js +0 -528
  444. package/methods/customer-notifications.js.map +0 -1
  445. package/methods/diagnostics.d.ts +0 -2
  446. package/methods/diagnostics.js +0 -703
  447. package/methods/diagnostics.js.map +0 -1
  448. package/methods/flag-updates.d.ts +0 -2
  449. package/methods/flag-updates.js +0 -8
  450. package/methods/flag-updates.js.map +0 -1
  451. package/methods/flags.d.ts +0 -2
  452. package/methods/flags.js +0 -8
  453. package/methods/flags.js.map +0 -1
  454. package/methods/logs.d.ts +0 -2
  455. package/methods/logs.js +0 -751
  456. package/methods/logs.js.map +0 -1
  457. package/methods/mongo-explorer.d.ts +0 -2
  458. package/methods/mongo-explorer.js +0 -1808
  459. package/methods/mongo-explorer.js.map +0 -1
  460. package/methods/monitor.d.ts +0 -2
  461. package/methods/monitor.js +0 -543
  462. package/methods/monitor.js.map +0 -1
  463. package/methods/pdf.d.ts +0 -2
  464. package/methods/pdf.js +0 -1216
  465. package/methods/pdf.js.map +0 -1
  466. package/methods/publications.d.ts +0 -1
  467. package/methods/publications.js +0 -183
  468. package/methods/publications.js.map +0 -1
  469. package/methods/report-builder.d.ts +0 -2
  470. package/methods/report-builder.js +0 -3094
  471. package/methods/report-builder.js.map +0 -1
  472. package/methods/support.d.ts +0 -2
  473. package/methods/support.js +0 -430
  474. package/methods/support.js.map +0 -1
  475. package/models/ai-run.model.d.ts +0 -19
  476. package/models/ai-run.model.js +0 -4
  477. package/models/ai-run.model.js.map +0 -1
  478. package/models/ai-terminal-conversation.model.d.ts +0 -17
  479. package/models/ai-terminal-conversation.model.js +0 -4
  480. package/models/ai-terminal-conversation.model.js.map +0 -1
  481. package/models/ai-terminal-issue-report.model.d.ts +0 -19
  482. package/models/ai-terminal-issue-report.model.js +0 -4
  483. package/models/ai-terminal-issue-report.model.js.map +0 -1
  484. package/models/ai-terminal-message.model.d.ts +0 -22
  485. package/models/ai-terminal-message.model.js +0 -4
  486. package/models/ai-terminal-message.model.js.map +0 -1
  487. package/models/app-setting.model.d.ts +0 -16
  488. package/models/app-setting.model.js +0 -4
  489. package/models/app-setting.model.js.map +0 -1
  490. package/models/app-status.model.js +0 -4
  491. package/models/app-status.model.js.map +0 -1
  492. package/models/billing-logged-in-users.model.js +0 -4
  493. package/models/billing-logged-in-users.model.js.map +0 -1
  494. package/models/collection-document.model.d.ts +0 -21
  495. package/models/collection-document.model.js +0 -4
  496. package/models/collection-document.model.js.map +0 -1
  497. package/models/communication-metric.model.d.ts +0 -20
  498. package/models/communication-metric.model.js +0 -4
  499. package/models/communication-metric.model.js.map +0 -1
  500. package/models/counter.model.js +0 -4
  501. package/models/counter.model.js.map +0 -1
  502. package/models/cron-job-history.model.d.ts +0 -15
  503. package/models/cron-job-history.model.js +0 -4
  504. package/models/cron-job-history.model.js.map +0 -1
  505. package/models/cron-job.model.d.ts +0 -14
  506. package/models/cron-job.model.js +0 -4
  507. package/models/cron-job.model.js.map +0 -1
  508. package/models/customer-notification.model.d.ts +0 -26
  509. package/models/customer-notification.model.js +0 -4
  510. package/models/customer-notification.model.js.map +0 -1
  511. package/models/customer-portal-password.model.d.ts +0 -11
  512. package/models/customer-portal-password.model.js +0 -4
  513. package/models/customer-portal-password.model.js.map +0 -1
  514. package/models/dialog.model.d.ts +0 -23
  515. package/models/dialog.model.js +0 -4
  516. package/models/dialog.model.js.map +0 -1
  517. package/models/email-history.model.d.ts +0 -32
  518. package/models/email-history.model.js.map +0 -1
  519. package/models/email-verified.model.js +0 -4
  520. package/models/email-verified.model.js.map +0 -1
  521. package/models/file.model.js +0 -4
  522. package/models/file.model.js.map +0 -1
  523. package/models/flag-update.model.js +0 -4
  524. package/models/flag-update.model.js.map +0 -1
  525. package/models/flag.model.js +0 -4
  526. package/models/flag.model.js.map +0 -1
  527. package/models/log-method-latency.model.d.ts +0 -10
  528. package/models/log-method-latency.model.js +0 -4
  529. package/models/log-method-latency.model.js.map +0 -1
  530. package/models/log-subscription.model.js +0 -4
  531. package/models/log-subscription.model.js.map +0 -1
  532. package/models/log.model.d.ts +0 -17
  533. package/models/log.model.js +0 -4
  534. package/models/log.model.js.map +0 -1
  535. package/models/logged-in-users.model.js +0 -4
  536. package/models/logged-in-users.model.js.map +0 -1
  537. package/models/method-response.model.js +0 -4
  538. package/models/method-response.model.js.map +0 -1
  539. package/models/method.model.d.ts +0 -26
  540. package/models/method.model.js +0 -4
  541. package/models/method.model.js.map +0 -1
  542. package/models/monitor-cpu.model.js +0 -4
  543. package/models/monitor-cpu.model.js.map +0 -1
  544. package/models/monitor-function.model.d.ts +0 -14
  545. package/models/monitor-function.model.js +0 -4
  546. package/models/monitor-function.model.js.map +0 -1
  547. package/models/monitor-memory.model.d.ts +0 -15
  548. package/models/monitor-memory.model.js +0 -4
  549. package/models/monitor-memory.model.js.map +0 -1
  550. package/models/monitor-mongo.model.d.ts +0 -13
  551. package/models/monitor-mongo.model.js +0 -4
  552. package/models/monitor-mongo.model.js.map +0 -1
  553. package/models/notification.model.js +0 -4
  554. package/models/notification.model.js.map +0 -1
  555. package/models/openai-usage-ledger.model.d.ts +0 -30
  556. package/models/openai-usage-ledger.model.js +0 -4
  557. package/models/openai-usage-ledger.model.js.map +0 -1
  558. package/models/pagination.model.d.ts +0 -11
  559. package/models/pagination.model.js +0 -28
  560. package/models/pagination.model.js.map +0 -1
  561. package/models/permission.model.d.ts +0 -12
  562. package/models/permission.model.js +0 -4
  563. package/models/permission.model.js.map +0 -1
  564. package/models/report-builder-dashboard-builder.model.d.ts +0 -25
  565. package/models/report-builder-dashboard-builder.model.js +0 -4
  566. package/models/report-builder-dashboard-builder.model.js.map +0 -1
  567. package/models/report-builder-library.model.d.ts +0 -17
  568. package/models/report-builder-library.model.js +0 -4
  569. package/models/report-builder-library.model.js.map +0 -1
  570. package/models/report-builder-report.model.d.ts +0 -121
  571. package/models/report-builder-report.model.js +0 -4
  572. package/models/report-builder-report.model.js.map +0 -1
  573. package/models/report-builder.model.d.ts +0 -61
  574. package/models/report-builder.model.js +0 -4
  575. package/models/report-builder.model.js.map +0 -1
  576. package/models/select-data-label.model.d.ts +0 -9
  577. package/models/select-data-label.model.js +0 -4
  578. package/models/select-data-label.model.js.map +0 -1
  579. package/models/server-message.model.d.ts +0 -32
  580. package/models/server-message.model.js +0 -4
  581. package/models/server-message.model.js.map +0 -1
  582. package/models/slow-query-report.model.d.ts +0 -23
  583. package/models/slow-query-report.model.js +0 -4
  584. package/models/slow-query-report.model.js.map +0 -1
  585. package/models/subscription.model.d.ts +0 -31
  586. package/models/subscription.model.js +0 -4
  587. package/models/subscription.model.js.map +0 -1
  588. package/models/support-ticket.model.d.ts +0 -87
  589. package/models/support-ticket.model.js +0 -4
  590. package/models/support-ticket.model.js.map +0 -1
  591. package/models/user-group.model.d.ts +0 -20
  592. package/models/user-group.model.js +0 -4
  593. package/models/user-group.model.js.map +0 -1
  594. package/models/user-guide.model.js +0 -4
  595. package/models/user-guide.model.js.map +0 -1
  596. package/models/user.model.d.ts +0 -84
  597. package/models/user.model.js +0 -4
  598. package/models/user.model.js.map +0 -1
  599. package/private/images/ResolveIO.png +0 -0
  600. package/public_api.js +0 -127
  601. package/public_api.js.map +0 -1
  602. package/publications/ai-terminal.d.ts +0 -1
  603. package/publications/ai-terminal.js +0 -122
  604. package/publications/ai-terminal.js.map +0 -1
  605. package/publications/app-settings.d.ts +0 -2
  606. package/publications/app-settings.js +0 -28
  607. package/publications/app-settings.js.map +0 -1
  608. package/publications/app-status.d.ts +0 -2
  609. package/publications/app-status.js +0 -16
  610. package/publications/app-status.js.map +0 -1
  611. package/publications/cron-jobs.d.ts +0 -2
  612. package/publications/cron-jobs.js +0 -88
  613. package/publications/cron-jobs.js.map +0 -1
  614. package/publications/customer-notifications.d.ts +0 -2
  615. package/publications/customer-notifications.js +0 -161
  616. package/publications/customer-notifications.js.map +0 -1
  617. package/publications/files.d.ts +0 -2
  618. package/publications/files.js +0 -36
  619. package/publications/files.js.map +0 -1
  620. package/publications/flags-update.d.ts +0 -2
  621. package/publications/flags-update.js +0 -22
  622. package/publications/flags-update.js.map +0 -1
  623. package/publications/flags.d.ts +0 -2
  624. package/publications/flags.js +0 -22
  625. package/publications/flags.js.map +0 -1
  626. package/publications/logs.d.ts +0 -2
  627. package/publications/logs.js +0 -164
  628. package/publications/logs.js.map +0 -1
  629. package/publications/notifications.d.ts +0 -2
  630. package/publications/notifications.js +0 -16
  631. package/publications/notifications.js.map +0 -1
  632. package/publications/report-builder-dashboard-builders.d.ts +0 -2
  633. package/publications/report-builder-dashboard-builders.js +0 -42
  634. package/publications/report-builder-dashboard-builders.js.map +0 -1
  635. package/publications/report-builder-libraries.d.ts +0 -2
  636. package/publications/report-builder-libraries.js +0 -90
  637. package/publications/report-builder-libraries.js.map +0 -1
  638. package/publications/report-builder-reports.d.ts +0 -2
  639. package/publications/report-builder-reports.js +0 -50
  640. package/publications/report-builder-reports.js.map +0 -1
  641. package/publications/super-admin.d.ts +0 -2
  642. package/publications/super-admin.js +0 -16
  643. package/publications/super-admin.js.map +0 -1
  644. package/publications/user-groups.d.ts +0 -1
  645. package/publications/user-groups.js +0 -16
  646. package/publications/user-groups.js.map +0 -1
  647. package/publications/user-guides.d.ts +0 -1
  648. package/publications/user-guides.js +0 -16
  649. package/publications/user-guides.js.map +0 -1
  650. package/resolveio-server-app.d.ts +0 -70
  651. package/resolveio-server-app.js +0 -801
  652. package/resolveio-server-app.js.map +0 -1
  653. package/server-app.d.ts +0 -228
  654. package/server-app.js +0 -3566
  655. package/server-app.js.map +0 -1
  656. package/services/codex-client.d.ts +0 -128
  657. package/services/codex-client.js +0 -1629
  658. package/services/codex-client.js.map +0 -1
  659. package/services/openai-client.d.ts +0 -46
  660. package/services/openai-client.js +0 -318
  661. package/services/openai-client.js.map +0 -1
  662. package/types/error-report.d.ts +0 -25
  663. package/types/error-report.js +0 -4
  664. package/types/error-report.js.map +0 -1
  665. package/types/slow-query-report.d.ts +0 -27
  666. package/types/slow-query-report.js +0 -6
  667. package/types/slow-query-report.js.map +0 -1
  668. package/util/ai-qa-policy.d.ts +0 -124
  669. package/util/ai-qa-policy.js +0 -736
  670. package/util/ai-qa-policy.js.map +0 -1
  671. package/util/ai-run-evidence-adapters.d.ts +0 -73
  672. package/util/ai-run-evidence-adapters.js +0 -3087
  673. package/util/ai-run-evidence-adapters.js.map +0 -1
  674. package/util/ai-run-evidence-dashboard.d.ts +0 -84
  675. package/util/ai-run-evidence-dashboard.js +0 -336
  676. package/util/ai-run-evidence-dashboard.js.map +0 -1
  677. package/util/ai-run-evidence-eval.d.ts +0 -86
  678. package/util/ai-run-evidence-eval.js +0 -867
  679. package/util/ai-run-evidence-eval.js.map +0 -1
  680. package/util/ai-run-evidence.d.ts +0 -244
  681. package/util/ai-run-evidence.js +0 -792
  682. package/util/ai-run-evidence.js.map +0 -1
  683. package/util/ai-runner-artifacts.d.ts +0 -82
  684. package/util/ai-runner-artifacts.js +0 -713
  685. package/util/ai-runner-artifacts.js.map +0 -1
  686. package/util/ai-runner-manager-autopilot.d.ts +0 -210
  687. package/util/ai-runner-manager-autopilot.js +0 -642
  688. package/util/ai-runner-manager-autopilot.js.map +0 -1
  689. package/util/ai-runner-manager-policy.d.ts +0 -653
  690. package/util/ai-runner-manager-policy.js +0 -2880
  691. package/util/ai-runner-manager-policy.js.map +0 -1
  692. package/util/ai-runner-qa-auth.d.ts +0 -5
  693. package/util/ai-runner-qa-auth.js +0 -822
  694. package/util/ai-runner-qa-auth.js.map +0 -1
  695. package/util/ai-runner-qa-tools.d.ts +0 -26
  696. package/util/ai-runner-qa-tools.js +0 -3029
  697. package/util/ai-runner-qa-tools.js.map +0 -1
  698. package/util/aicoder-runner-v6.d.ts +0 -367
  699. package/util/aicoder-runner-v6.js +0 -1925
  700. package/util/aicoder-runner-v6.js.map +0 -1
  701. package/util/common.d.ts +0 -31
  702. package/util/common.js +0 -683
  703. package/util/common.js.map +0 -1
  704. package/util/customer-portal-password.d.ts +0 -13
  705. package/util/customer-portal-password.js +0 -209
  706. package/util/customer-portal-password.js.map +0 -1
  707. package/util/error-reporter.d.ts +0 -52
  708. package/util/error-reporter.js +0 -326
  709. package/util/error-reporter.js.map +0 -1
  710. package/util/error-tracking.d.ts +0 -13
  711. package/util/error-tracking.js +0 -120
  712. package/util/error-tracking.js.map +0 -1
  713. package/util/openai-usage-cost.d.ts +0 -6
  714. package/util/openai-usage-cost.js +0 -103
  715. package/util/openai-usage-cost.js.map +0 -1
  716. package/util/report-builder-unwinds.d.ts +0 -15
  717. package/util/report-builder-unwinds.js +0 -156
  718. package/util/report-builder-unwinds.js.map +0 -1
  719. package/util/runner-process-janitor.d.ts +0 -27
  720. package/util/runner-process-janitor.js +0 -208
  721. package/util/runner-process-janitor.js.map +0 -1
  722. package/util/schema-report-builder.d.ts +0 -6
  723. package/util/schema-report-builder.js +0 -481
  724. package/util/schema-report-builder.js.map +0 -1
  725. package/util/slow-query-reporter.d.ts +0 -28
  726. package/util/slow-query-reporter.js +0 -226
  727. package/util/slow-query-reporter.js.map +0 -1
  728. package/util/subscription-dependency-context.d.ts +0 -34
  729. package/util/subscription-dependency-context.js +0 -1283
  730. package/util/subscription-dependency-context.js.map +0 -1
  731. package/util/support-runner-v5.d.ts +0 -810
  732. package/util/support-runner-v5.js +0 -3497
  733. package/util/support-runner-v5.js.map +0 -1
  734. package/util/tokenizer.d.ts +0 -5
  735. package/util/tokenizer.js +0 -41
  736. package/util/tokenizer.js.map +0 -1
  737. package/workers/codex-runner.worker.d.ts +0 -1
  738. package/workers/codex-runner.worker.js +0 -192
  739. package/workers/codex-runner.worker.js.map +0 -1
  740. /package/{private → src/private}/email-templates/enrollment.html +0 -0
  741. /package/{private → src/private}/email-templates/forgot-password.html +0 -0
  742. /package/{private → src/private}/email-templates/support-ticket-deleted.html +0 -0
  743. /package/{private → src/private}/email-templates/support-ticket-modified.html +0 -0
  744. /package/{private → src/private}/email-templates/support-ticket.html +0 -0
  745. /package/{public_api.d.ts → src/public_api.ts} +0 -0
@@ -1,792 +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.isCumulativeCodexUsageEntry = isCumulativeCodexUsageEntry;
51
- exports.resolveOpenAIUsageThreadKey = resolveOpenAIUsageThreadKey;
52
- exports.normalizeOpenAIUsageRowsForCosting = normalizeOpenAIUsageRowsForCosting;
53
- exports.buildAIQaRun = buildAIQaRun;
54
- exports.classifyAIRunOutcome = classifyAIRunOutcome;
55
- exports.buildAIRun = buildAIRun;
56
- exports.buildAIRunCost = buildAIRunCost;
57
- exports.redactAIRunTrainingExample = redactAIRunTrainingExample;
58
- function isoNow(value) {
59
- if (value instanceof Date) {
60
- return value.toISOString();
61
- }
62
- var parsed = value ? new Date(value) : new Date();
63
- if (Number.isFinite(parsed.getTime())) {
64
- return parsed.toISOString();
65
- }
66
- return new Date().toISOString();
67
- }
68
- function cleanText(value, max) {
69
- if (max === void 0) { max = 1000; }
70
- return String(value || '').replace(/\s+/g, ' ').trim().slice(0, max);
71
- }
72
- function cleanUsageNumber(value) {
73
- var parsed = Number(value);
74
- return Number.isFinite(parsed) ? parsed : 0;
75
- }
76
- function cleanUsageDate(value) {
77
- if (!value) {
78
- return undefined;
79
- }
80
- var date = value instanceof Date ? value : new Date(value);
81
- return Number.isFinite(date.getTime()) ? date : undefined;
82
- }
83
- function isCumulativeCodexUsageEntry(entry) {
84
- return cleanText(entry === null || entry === void 0 ? void 0 : entry.category, 180).toLowerCase().startsWith('ai-dashboard-codex:');
85
- }
86
- function resolveOpenAIUsageThreadKey(entry) {
87
- var _a, _b;
88
- var conversationId = cleanText((_a = entry === null || entry === void 0 ? void 0 : entry.id_conversation) !== null && _a !== void 0 ? _a : entry === null || entry === void 0 ? void 0 : entry.idConversation, 240);
89
- if (conversationId) {
90
- return conversationId;
91
- }
92
- return cleanText((_b = entry === null || entry === void 0 ? void 0 : entry.id_request) !== null && _b !== void 0 ? _b : entry === null || entry === void 0 ? void 0 : entry.idRequest, 240);
93
- }
94
- function normalizeOpenAIUsageRowsForCosting(rows) {
95
- if (rows === void 0) { rows = []; }
96
- if (!Array.isArray(rows) || !rows.length) {
97
- return [];
98
- }
99
- var sortedRows = rows
100
- .map(function (row, index) { return (__assign(__assign({}, row), { _sortIndex: index })); })
101
- .sort(function (a, b) {
102
- var _a, _b, _c, _d, _e, _f;
103
- var timeA = ((_a = cleanUsageDate(a.timestamp)) === null || _a === void 0 ? void 0 : _a.getTime()) || 0;
104
- var timeB = ((_b = cleanUsageDate(b.timestamp)) === null || _b === void 0 ? void 0 : _b.getTime()) || 0;
105
- if (timeA !== timeB) {
106
- return timeA - timeB;
107
- }
108
- var requestCompare = cleanText((_c = a.id_request) !== null && _c !== void 0 ? _c : a.idRequest, 240)
109
- .localeCompare(cleanText((_d = b.id_request) !== null && _d !== void 0 ? _d : b.idRequest, 240));
110
- if (requestCompare) {
111
- return requestCompare;
112
- }
113
- var conversationCompare = cleanText((_e = a.id_conversation) !== null && _e !== void 0 ? _e : a.idConversation, 240)
114
- .localeCompare(cleanText((_f = b.id_conversation) !== null && _f !== void 0 ? _f : b.idConversation, 240));
115
- if (conversationCompare) {
116
- return conversationCompare;
117
- }
118
- return cleanUsageNumber(a._sortIndex) - cleanUsageNumber(b._sortIndex);
119
- });
120
- var previousByThread = new Map();
121
- return sortedRows.map(function (row) {
122
- var _a, _b, _c, _d, _e, _f;
123
- var inputTokens = cleanUsageNumber((_a = row.input_tokens) !== null && _a !== void 0 ? _a : row.inputTokens);
124
- var cachedInputTokens = cleanUsageNumber((_b = row.cached_input_tokens) !== null && _b !== void 0 ? _b : row.cachedInputTokens);
125
- var outputTokens = cleanUsageNumber((_c = row.output_tokens) !== null && _c !== void 0 ? _c : row.outputTokens);
126
- var totalTokens = cleanUsageNumber((_e = (_d = row.total_tokens) !== null && _d !== void 0 ? _d : row.totalTokens) !== null && _e !== void 0 ? _e : (inputTokens + outputTokens));
127
- var estimatedUsd = cleanUsageNumber((_f = row.cost_estimate) !== null && _f !== void 0 ? _f : row.estimatedUsd);
128
- var threadKey = isCumulativeCodexUsageEntry(row) ? resolveOpenAIUsageThreadKey(row) : '';
129
- var normalizedInputTokens = inputTokens;
130
- var normalizedCachedInputTokens = cachedInputTokens;
131
- var normalizedOutputTokens = outputTokens;
132
- var normalizedTotalTokens = totalTokens;
133
- var normalizedEstimatedUsd = estimatedUsd;
134
- if (threadKey) {
135
- var previous = previousByThread.get(threadKey);
136
- if (previous
137
- && inputTokens >= previous.inputTokens
138
- && cachedInputTokens >= previous.cachedInputTokens
139
- && outputTokens >= previous.outputTokens
140
- && totalTokens >= previous.totalTokens
141
- && estimatedUsd >= previous.estimatedUsd) {
142
- normalizedInputTokens = Math.max(0, inputTokens - previous.inputTokens);
143
- normalizedCachedInputTokens = Math.max(0, cachedInputTokens - previous.cachedInputTokens);
144
- normalizedOutputTokens = Math.max(0, outputTokens - previous.outputTokens);
145
- normalizedTotalTokens = Math.max(0, totalTokens - previous.totalTokens);
146
- normalizedEstimatedUsd = Math.max(0, estimatedUsd - previous.estimatedUsd);
147
- }
148
- previousByThread.set(threadKey, {
149
- inputTokens: inputTokens,
150
- cachedInputTokens: cachedInputTokens,
151
- outputTokens: outputTokens,
152
- totalTokens: totalTokens,
153
- estimatedUsd: estimatedUsd
154
- });
155
- }
156
- var resolvedTotalTokens = normalizedTotalTokens || (normalizedInputTokens + normalizedOutputTokens);
157
- var resolvedEstimatedUsd = Number(normalizedEstimatedUsd.toFixed(6));
158
- return __assign(__assign({}, row), { input_tokens: normalizedInputTokens, inputTokens: normalizedInputTokens, cached_input_tokens: normalizedCachedInputTokens, cachedInputTokens: normalizedCachedInputTokens, output_tokens: normalizedOutputTokens, outputTokens: normalizedOutputTokens, total_tokens: resolvedTotalTokens, totalTokens: resolvedTotalTokens, cost_estimate: resolvedEstimatedUsd, estimatedUsd: resolvedEstimatedUsd });
159
- });
160
- }
161
- function cleanList(values, limit, max) {
162
- var e_1, _a;
163
- if (limit === void 0) { limit = 20; }
164
- if (max === void 0) { max = 500; }
165
- if (!Array.isArray(values)) {
166
- return [];
167
- }
168
- var result = [];
169
- try {
170
- for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {
171
- var value = values_1_1.value;
172
- var normalized = cleanText(value, max);
173
- if (normalized && !result.includes(normalized)) {
174
- result.push(normalized);
175
- }
176
- if (result.length >= limit) {
177
- break;
178
- }
179
- }
180
- }
181
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
182
- finally {
183
- try {
184
- if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);
185
- }
186
- finally { if (e_1) throw e_1.error; }
187
- }
188
- return result;
189
- }
190
- function normalizeCheckStatus(value) {
191
- var normalized = cleanText(value, 40).toLowerCase().replace(/[_\s-]+/g, '_');
192
- if (normalized === 'passed' || normalized === 'ok' || normalized === 'ready') {
193
- return 'pass';
194
- }
195
- if (normalized === 'failed' || normalized === 'error' || normalized === 'fail') {
196
- return 'fail';
197
- }
198
- if (normalized === 'blocked' || normalized === 'dependency_blocked') {
199
- return 'blocked';
200
- }
201
- if (normalized === 'warning') {
202
- return 'warn';
203
- }
204
- if (normalized === 'skipped' || normalized === 'not_applicable') {
205
- return 'skipped';
206
- }
207
- return normalized === 'pass' || normalized === 'warn' ? normalized : 'unknown';
208
- }
209
- function normalizeCompileStatus(value) {
210
- var normalized = cleanText(value, 40).toLowerCase().replace(/[_\s-]+/g, '_');
211
- if (normalized === 'passed' || normalized === 'ok') {
212
- return 'pass';
213
- }
214
- if (normalized === 'failed' || normalized === 'error') {
215
- return 'fail';
216
- }
217
- if (normalized === 'blocked') {
218
- return 'blocked';
219
- }
220
- if (normalized === 'stale' || normalized === 'stale_evidence') {
221
- return 'stale';
222
- }
223
- if (normalized === 'skipped' || normalized === 'not_applicable') {
224
- return 'skipped';
225
- }
226
- return normalized === 'pass' || normalized === 'fail' ? normalized : 'unknown';
227
- }
228
- function makeGate(key, label, status, reason, evidenceRefs, now, metadata) {
229
- if (evidenceRefs === void 0) { evidenceRefs = []; }
230
- return __assign({ key: key, label: label, status: status, reason: cleanText(reason, 1400), evidenceRefs: cleanList(evidenceRefs, 20, 500), recordedAt: isoNow(now) }, (metadata ? { metadata: metadata } : {}));
231
- }
232
- function failedOrBlocked(status) {
233
- return status === 'fail' || status === 'blocked';
234
- }
235
- function passed(status) {
236
- return status === 'pass';
237
- }
238
- function normalizeInfraChecks(values) {
239
- return (Array.isArray(values) ? values : []).map(function (entry) { return (__assign(__assign({}, entry), { name: cleanText(entry === null || entry === void 0 ? void 0 : entry.name, 120) || 'infra_check', status: normalizeCheckStatus(entry === null || entry === void 0 ? void 0 : entry.status), message: cleanText(entry === null || entry === void 0 ? void 0 : entry.message, 1000), path: cleanText(entry === null || entry === void 0 ? void 0 : entry.path, 500) })); });
240
- }
241
- function normalizeRouteProbes(values) {
242
- return (Array.isArray(values) ? values : []).map(function (entry) { return (__assign(__assign({}, entry), { route: cleanText(entry === null || entry === void 0 ? void 0 : entry.route, 500) || '/', status: normalizeCheckStatus(entry === null || entry === void 0 ? void 0 : entry.status), screenshot: cleanText(entry === null || entry === void 0 ? void 0 : entry.screenshot, 500), caption: cleanText(entry === null || entry === void 0 ? void 0 : entry.caption, 1000), message: cleanText(entry === null || entry === void 0 ? void 0 : entry.message, 1000), consoleErrors: cleanList(entry === null || entry === void 0 ? void 0 : entry.consoleErrors, 30, 500), networkErrors: cleanList(entry === null || entry === void 0 ? void 0 : entry.networkErrors, 30, 500) })); });
243
- }
244
- function normalizeBusinessAssertions(values) {
245
- return (Array.isArray(values) ? values : []).map(function (entry) { return (__assign(__assign({}, entry), { assertion: cleanText(entry === null || entry === void 0 ? void 0 : entry.assertion, 1000) || 'business assertion', status: normalizeCheckStatus(entry === null || entry === void 0 ? void 0 : entry.status), workflow: cleanText(entry === null || entry === void 0 ? void 0 : entry.workflow, 400), route: cleanText(entry === null || entry === void 0 ? void 0 : entry.route, 500), action: cleanText(entry === null || entry === void 0 ? void 0 : entry.action, 500), expected: cleanText(entry === null || entry === void 0 ? void 0 : entry.expected, 1000), observed: cleanText(entry === null || entry === void 0 ? void 0 : entry.observed, 1000), dataProof: cleanText(entry === null || entry === void 0 ? void 0 : entry.dataProof, 1400), artifactPaths: cleanList(entry === null || entry === void 0 ? void 0 : entry.artifactPaths, 30, 500), message: cleanText(entry === null || entry === void 0 ? void 0 : entry.message, 1000) })); });
246
- }
247
- function collectBusinessAssertionArtifactPaths(assertions) {
248
- var e_2, _a, e_3, _b;
249
- var paths = [];
250
- try {
251
- for (var assertions_1 = __values(assertions), assertions_1_1 = assertions_1.next(); !assertions_1_1.done; assertions_1_1 = assertions_1.next()) {
252
- var assertion = assertions_1_1.value;
253
- try {
254
- for (var _c = (e_3 = void 0, __values(assertion.artifactPaths || [])), _d = _c.next(); !_d.done; _d = _c.next()) {
255
- var artifactPath = _d.value;
256
- if (artifactPath && !paths.includes(artifactPath)) {
257
- paths.push(artifactPath);
258
- }
259
- }
260
- }
261
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
262
- finally {
263
- try {
264
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
265
- }
266
- finally { if (e_3) throw e_3.error; }
267
- }
268
- }
269
- }
270
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
271
- finally {
272
- try {
273
- if (assertions_1_1 && !assertions_1_1.done && (_a = assertions_1.return)) _a.call(assertions_1);
274
- }
275
- finally { if (e_2) throw e_2.error; }
276
- }
277
- return paths;
278
- }
279
- function buildAIQaRun(input) {
280
- if (input === void 0) { input = {}; }
281
- var now = isoNow(input.now);
282
- var infraChecks = normalizeInfraChecks(input.infraChecks);
283
- var compile = input.compile
284
- ? __assign(__assign({}, input.compile), { status: normalizeCompileStatus(input.compile.status), command: cleanText(input.compile.command, 500), artifactPath: cleanText(input.compile.artifactPath, 500), message: cleanText(input.compile.message, 1000) }) : undefined;
285
- var routeProbes = normalizeRouteProbes(input.routeProbes);
286
- var businessAssertions = normalizeBusinessAssertions(input.businessAssertions);
287
- var artifacts = Array.isArray(input.artifacts) ? input.artifacts : [];
288
- var gateResults = [];
289
- var failedInfra = infraChecks.filter(function (check) { return failedOrBlocked(check.status); });
290
- if (failedInfra.length) {
291
- gateResults.push(makeGate('qa_infra', 'QA infrastructure', 'blocked', "QA infrastructure failed before model/business validation: ".concat(failedInfra.map(function (check) { return "".concat(check.name, ": ").concat(check.message || check.status); }).join('; ')), failedInfra.map(function (check) { return check.path || ''; }).filter(Boolean), now, { failed_checks: failedInfra.map(function (check) { return check.name; }) }));
292
- return { outcome: 'infra_failed', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
293
- }
294
- if (infraChecks.length) {
295
- gateResults.push(makeGate('qa_infra', 'QA infrastructure', 'pass', 'QA infrastructure preflight checks passed.', [], now));
296
- }
297
- if (compile && (failedOrBlocked(compile.status) || compile.status === 'stale' || compile.staleEvidence === true)) {
298
- gateResults.push(makeGate('qa_compile', 'Compile/build', 'fail', compile.status === 'stale' || compile.staleEvidence === true
299
- ? 'Compile/build evidence is stale and cannot be used for acceptance.'
300
- : (compile.message || 'Compile/build failed before browser QA.'), compile.artifactPath ? [compile.artifactPath] : [], now, { command: compile.command || '' }));
301
- return { outcome: 'compile_failed', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
302
- }
303
- if (compile && passed(compile.status)) {
304
- gateResults.push(makeGate('qa_compile', 'Compile/build', 'pass', 'Compile/build evidence passed.', compile.artifactPath ? [compile.artifactPath] : [], now));
305
- }
306
- var failedRouteProbes = routeProbes.filter(function (probe) { return failedOrBlocked(probe.status) || probe.shellOnly === true; });
307
- if (failedRouteProbes.length) {
308
- gateResults.push(makeGate('qa_route_probe', 'Browser route probe', 'fail', "Browser route probe failed or showed shell-only UI: ".concat(failedRouteProbes.map(function (probe) { return "".concat(probe.route, ": ").concat(probe.message || probe.caption || probe.status); }).join('; ')), failedRouteProbes.map(function (probe) { return probe.screenshot || ''; }).filter(Boolean), now));
309
- return { outcome: 'route_failed', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
310
- }
311
- if (routeProbes.some(function (probe) { return passed(probe.status); })) {
312
- gateResults.push(makeGate('qa_route_probe', 'Browser route probe', 'pass', 'Browser route reached authenticated application content. This is not business acceptance by itself.', routeProbes.map(function (probe) { return probe.screenshot || ''; }).filter(Boolean), now));
313
- }
314
- var failedBusinessAssertions = businessAssertions.filter(function (assertion) { return failedOrBlocked(assertion.status); });
315
- if (failedBusinessAssertions.length) {
316
- gateResults.push(makeGate('qa_business_assertion', 'Business assertion', 'fail', "Issue-specific workflow assertion failed: ".concat(failedBusinessAssertions.map(function (assertion) { return assertion.message || assertion.observed || assertion.assertion; }).join('; ')), collectBusinessAssertionArtifactPaths(failedBusinessAssertions), now));
317
- return { outcome: 'business_assertion_failed', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
318
- }
319
- var passedBusinessAssertions = businessAssertions.filter(function (assertion) { return passed(assertion.status); });
320
- if (passedBusinessAssertions.length) {
321
- gateResults.push(makeGate('qa_business_assertion', 'Business assertion', 'pass', 'At least one issue-specific workflow/data assertion passed.', collectBusinessAssertionArtifactPaths(passedBusinessAssertions), now, { passed_assertions: passedBusinessAssertions.map(function (assertion) { return assertion.assertion; }) }));
322
- return { outcome: 'business_assertion_passed', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
323
- }
324
- if (routeProbes.some(function (probe) { return passed(probe.status); })) {
325
- gateResults.push(makeGate('qa_business_assertion', 'Business assertion', 'blocked', 'Browser route loaded, but no issue-specific business assertion passed. Route-only proof cannot accept the run.', [], now));
326
- return { outcome: 'route_only_pass', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
327
- }
328
- gateResults.push(makeGate('qa_business_assertion', 'Business assertion', 'blocked', 'No issue-specific QA assertion was recorded.', [], now));
329
- return { outcome: 'incomplete', infraChecks: infraChecks, compile: compile, routeProbes: routeProbes, businessAssertions: businessAssertions, artifacts: artifacts, gateResults: gateResults, updatedAt: now };
330
- }
331
- function normalizeQaRun(input) {
332
- if (!input) {
333
- return undefined;
334
- }
335
- if (input.outcome && Array.isArray(input.gateResults)) {
336
- return input;
337
- }
338
- return buildAIQaRun(input);
339
- }
340
- function statusLooksFailed(value) {
341
- var normalized = cleanText(value, 120).toLowerCase();
342
- return !!normalized && /(fail|failed|error|blocked|missing|empty|stale|skipped|not ready|not_ready|could not|cannot)/i.test(normalized);
343
- }
344
- function statusLooksPassed(value) {
345
- var normalized = cleanText(value, 120).toLowerCase();
346
- return !!normalized && /(pass|passed|success|complete|completed|ready|published|deployed|live|merged)/i.test(normalized);
347
- }
348
- function addGateOnce(gates, gate) {
349
- if (gates.some(function (entry) { return entry.key === gate.key && entry.status === gate.status && entry.reason === gate.reason; })) {
350
- return;
351
- }
352
- gates.push(gate);
353
- }
354
- function classifyAIRunOutcome(input) {
355
- var e_4, _a;
356
- if (input === void 0) { input = {}; }
357
- var now = isoNow(input.now);
358
- var gates = Array.isArray(input.gates) ? __spreadArray([], __read(input.gates), false) : [];
359
- var warnings = [];
360
- var qa = normalizeQaRun(input.qa);
361
- if (qa) {
362
- try {
363
- for (var _b = __values(qa.gateResults), _c = _b.next(); !_c.done; _c = _b.next()) {
364
- var gate = _c.value;
365
- addGateOnce(gates, gate);
366
- }
367
- }
368
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
369
- finally {
370
- try {
371
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
372
- }
373
- finally { if (e_4) throw e_4.error; }
374
- }
375
- }
376
- if (input.manualHandoff === true) {
377
- return {
378
- outcome: 'manual_handoff',
379
- reason: 'Run requires manual handoff.',
380
- nextAction: 'Ask a human operator to resolve the blocked run.',
381
- gates: gates,
382
- warnings: warnings,
383
- recordedAt: now
384
- };
385
- }
386
- if (input.stopped === true || /stop|stopped|cancel|cancelled|paused/i.test("".concat(input.status || '', " ").concat(input.phase || ''))) {
387
- return {
388
- outcome: 'stopped',
389
- reason: 'Run was stopped before accepted evidence was recorded.',
390
- nextAction: 'Resume or restart only if the request is still active.',
391
- gates: gates,
392
- warnings: warnings,
393
- recordedAt: now
394
- };
395
- }
396
- if (input.rejected === true) {
397
- return {
398
- outcome: 'rejected',
399
- reason: 'Run was explicitly rejected.',
400
- nextAction: 'Start a repair run from the failing evidence.',
401
- gates: gates,
402
- warnings: warnings,
403
- recordedAt: now
404
- };
405
- }
406
- var blockedHotfixCommitGate = gates.find(function (gate) { return gate.key === 'hotfix_commit_proof' && (gate.status === 'blocked' || gate.status === 'fail'); });
407
- if (blockedHotfixCommitGate) {
408
- return {
409
- outcome: 'release_blocked',
410
- reason: "Hotfix cannot be treated as durable until GitHub commit proof passes: ".concat(blockedHotfixCommitGate.reason),
411
- nextAction: 'Commit and push the hotfix to GitHub, record sourceCommitSha/githubCommitUrl/gitPushStatus, then rerun the smallest release gate.',
412
- gates: gates,
413
- warnings: warnings,
414
- recordedAt: now
415
- };
416
- }
417
- var blockedNoBlindLoopGate = gates.find(function (gate) { return gate.key === 'manager_no_blind_loop_policy' && gate.status === 'blocked'; });
418
- if (blockedNoBlindLoopGate) {
419
- return {
420
- outcome: 'manual_handoff',
421
- reason: "Manager parked the run to avoid a blind loop: ".concat(blockedNoBlindLoopGate.reason),
422
- nextAction: 'Collect new material evidence or approve the specific recovery decision before any more model/code repair.',
423
- gates: gates,
424
- warnings: warnings,
425
- recordedAt: now
426
- };
427
- }
428
- var blockedSupportDiagnosisBeforeRepairGate = gates.find(function (gate) { return gate.key === 'support_diagnosis_before_repair' && gate.status === 'blocked'; });
429
- if (blockedSupportDiagnosisBeforeRepairGate) {
430
- return {
431
- outcome: 'manual_handoff',
432
- reason: "Support repair is parked until root-cause diagnosis validates: ".concat(blockedSupportDiagnosisBeforeRepairGate.reason),
433
- nextAction: 'Run read-only support diagnosis, record support_diagnosis_gate with owner_files and before/action/after proof, then retry only the owner-scoped repair.',
434
- gates: gates,
435
- warnings: warnings,
436
- recordedAt: now
437
- };
438
- }
439
- if ((qa === null || qa === void 0 ? void 0 : qa.outcome) === 'infra_failed') {
440
- return {
441
- outcome: 'qa_infra_failed',
442
- reason: 'QA infrastructure failed before product validation.',
443
- nextAction: 'Repair QA harness dependencies, ports, browser, Mongo, or startup before another model repair loop.',
444
- gates: gates,
445
- warnings: warnings,
446
- recordedAt: now
447
- };
448
- }
449
- if ((qa === null || qa === void 0 ? void 0 : qa.outcome) === 'compile_failed') {
450
- return {
451
- outcome: 'build_failed',
452
- reason: 'Compile/build evidence failed or was stale.',
453
- nextAction: 'Repair compile/build first, then rerun QA from the same failed step.',
454
- gates: gates,
455
- warnings: warnings,
456
- recordedAt: now
457
- };
458
- }
459
- if ((qa === null || qa === void 0 ? void 0 : qa.outcome) === 'route_failed') {
460
- return {
461
- outcome: 'qa_incomplete',
462
- reason: 'Browser route probe failed before business proof.',
463
- nextAction: 'Repair route/auth/startup issue and rerun the same browser route probe.',
464
- gates: gates,
465
- warnings: warnings,
466
- recordedAt: now
467
- };
468
- }
469
- var blockedAICoderJourneyContractGate = gates.find(function (gate) { return gate.key === 'aicoder_journey_contract' && (gate.status === 'blocked' || gate.status === 'fail'); });
470
- if (blockedAICoderJourneyContractGate) {
471
- var claimedSuccess = input.explicitAccepted === true || input.scorecardPassed === true || statusLooksPassed(input.scorecardStatus) || statusLooksPassed("".concat(input.status || '', " ").concat(input.phase || ''));
472
- return {
473
- outcome: claimedSuccess ? 'false_pass' : 'qa_incomplete',
474
- reason: claimedSuccess
475
- ? "AICoder run claimed success without a valid Journey Contract: ".concat(blockedAICoderJourneyContractGate.reason)
476
- : "AICoder workflow is blocked until the Journey Contract validates: ".concat(blockedAICoderJourneyContractGate.reason),
477
- nextAction: 'Generate or repair docs/APP_JOURNEY_CONTRACT.md, validate first/next/last workflow/data story/QA assertions, then rerun workflow build and workflow QA.',
478
- gates: gates,
479
- warnings: warnings,
480
- recordedAt: now
481
- };
482
- }
483
- var blockedSupportNextActionContractGate = gates.find(function (gate) { return gate.key === 'support_next_action_contract' && gate.status === 'blocked'; });
484
- if (blockedSupportNextActionContractGate
485
- && (qa === null || qa === void 0 ? void 0 : qa.outcome) !== 'business_assertion_passed'
486
- && input.scorecardPassed !== true
487
- && !statusLooksPassed(input.scorecardStatus)) {
488
- return {
489
- outcome: 'manual_handoff',
490
- reason: "Support manager cannot safely continue without a valid next-action contract: ".concat(blockedSupportNextActionContractGate.reason),
491
- nextAction: 'Record one validated next-action contract with safeToAutoRun, canRunWithoutCodexMonitor, codexFallbackRequired, preconditions, stop conditions, and success evidence before another autonomous recovery.',
492
- gates: gates,
493
- warnings: warnings,
494
- recordedAt: now
495
- };
496
- }
497
- if ((qa === null || qa === void 0 ? void 0 : qa.outcome) === 'route_only_pass' || (qa === null || qa === void 0 ? void 0 : qa.outcome) === 'incomplete') {
498
- return {
499
- outcome: input.scorecardPassed === true ? 'false_pass' : 'qa_incomplete',
500
- reason: input.scorecardPassed === true
501
- ? 'Scorecard or workflow status passed without issue-specific business assertion proof.'
502
- : 'QA has not recorded issue-specific business assertion proof.',
503
- nextAction: 'Add before/action/after workflow proof with screenshot/data assertions before acceptance.',
504
- gates: gates,
505
- warnings: warnings,
506
- recordedAt: now
507
- };
508
- }
509
- if ((qa === null || qa === void 0 ? void 0 : qa.outcome) === 'business_assertion_failed') {
510
- return {
511
- outcome: input.terminal === true ? 'rejected' : 'qa_incomplete',
512
- reason: 'Issue-specific business assertion failed.',
513
- nextAction: 'Repair the product/data defect and rerun the failing assertion.',
514
- gates: gates,
515
- warnings: warnings,
516
- recordedAt: now
517
- };
518
- }
519
- var hasBusinessPass = (qa === null || qa === void 0 ? void 0 : qa.outcome) === 'business_assertion_passed';
520
- var scorecardPassed = input.scorecardPassed === true || statusLooksPassed(input.scorecardStatus);
521
- var releaseBlockers = [];
522
- if (statusLooksFailed(input.deployStatus)) {
523
- releaseBlockers.push("deploy=".concat(cleanText(input.deployStatus, 120)));
524
- }
525
- if (statusLooksFailed(input.publishStatus)) {
526
- releaseBlockers.push("publish=".concat(cleanText(input.publishStatus, 120)));
527
- }
528
- if (statusLooksFailed(input.sampleDataStatus)) {
529
- releaseBlockers.push("sample_data=".concat(cleanText(input.sampleDataStatus, 120)));
530
- }
531
- if (releaseBlockers.length && (scorecardPassed || hasBusinessPass)) {
532
- addGateOnce(gates, makeGate('release', 'Release/deploy', 'fail', "Final acceptance is blocked after QA/scorecard because release gates failed: ".concat(releaseBlockers.join(', '), "."), [], now));
533
- return {
534
- outcome: 'release_blocked',
535
- reason: "Release gates failed after QA/scorecard: ".concat(releaseBlockers.join(', '), "."),
536
- nextAction: 'Repair deploy/publish/sample-data coverage before marking the run accepted.',
537
- gates: gates,
538
- warnings: warnings,
539
- recordedAt: now
540
- };
541
- }
542
- if (scorecardPassed && !hasBusinessPass) {
543
- warnings.push('scorecard_pass_without_business_assertion');
544
- addGateOnce(gates, makeGate('business_assertion_required', 'Business assertion', 'blocked', 'Scorecard passed, but no issue-specific business assertion proof was recorded.', [], now));
545
- return {
546
- outcome: 'false_pass',
547
- reason: 'Scorecard-only proof is not acceptance.',
548
- nextAction: 'Record issue-specific workflow/data proof, then reclassify the run.',
549
- gates: gates,
550
- warnings: warnings,
551
- recordedAt: now
552
- };
553
- }
554
- var statusPhase = "".concat(input.status || '', " ").concat(input.phase || '');
555
- if ((input.explicitAccepted === true || statusLooksPassed(statusPhase) || scorecardPassed) && hasBusinessPass) {
556
- return {
557
- outcome: 'accepted',
558
- reason: 'Run has terminal success signal and issue-specific business assertion proof.',
559
- nextAction: 'No repair action required.',
560
- gates: gates,
561
- warnings: warnings,
562
- recordedAt: now
563
- };
564
- }
565
- if (statusLooksFailed(statusPhase)) {
566
- return {
567
- outcome: 'rejected',
568
- reason: 'Run ended with a failure status and no accepted proof.',
569
- nextAction: 'Classify the failing gate and rerun the smallest repair step.',
570
- gates: gates,
571
- warnings: warnings,
572
- recordedAt: now
573
- };
574
- }
575
- return {
576
- outcome: 'unknown',
577
- reason: 'Run does not have enough normalized evidence for a terminal label.',
578
- nextAction: 'Ingest QA, deploy, assistant, usage, and commit evidence before using this run for training.',
579
- gates: gates,
580
- warnings: warnings,
581
- recordedAt: now
582
- };
583
- }
584
- function buildAIRun(input) {
585
- var decision = input.outcome
586
- ? {
587
- outcome: input.outcome,
588
- gates: input.gates || [],
589
- warnings: input.warnings || [],
590
- nextAction: input.nextAction || '',
591
- reason: '',
592
- recordedAt: isoNow(input.now)
593
- }
594
- : classifyAIRunOutcome({
595
- source: input.source,
596
- status: input.status,
597
- phase: input.phase,
598
- qa: input.qa,
599
- gates: input.gates,
600
- scorecardPassed: input.scorecardPassed,
601
- deployStatus: input.deployStatus,
602
- publishStatus: input.publishStatus,
603
- sampleDataStatus: input.sampleDataStatus,
604
- manualHandoff: input.manualHandoff,
605
- stopped: input.stopped,
606
- rejected: input.rejected,
607
- explicitAccepted: input.explicitAccepted,
608
- terminal: input.terminal,
609
- now: input.now
610
- });
611
- return {
612
- id: input.id,
613
- source: input.source || 'unknown',
614
- sourceIds: input.sourceIds || {},
615
- title: input.title,
616
- status: input.status,
617
- phase: input.phase,
618
- startedAt: input.startedAt,
619
- completedAt: input.completedAt,
620
- outcome: decision.outcome,
621
- events: Array.isArray(input.events) ? input.events : [],
622
- gates: decision.gates,
623
- qa: normalizeQaRun(input.qa),
624
- cost: input.cost,
625
- nextAction: decision.nextAction,
626
- warnings: decision.warnings,
627
- metadata: input.metadata
628
- };
629
- }
630
- function buildAIRunCost(entries) {
631
- var e_5, _a, e_6, _b, e_7, _c, e_8, _d;
632
- var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
633
- if (entries === void 0) { entries = []; }
634
- var cost = {
635
- inputTokens: 0,
636
- cachedInputTokens: 0,
637
- outputTokens: 0,
638
- totalTokens: 0,
639
- estimatedUsd: 0,
640
- models: [],
641
- categories: {},
642
- sources: {},
643
- surfaces: {},
644
- manualEstimatedUsd: 0,
645
- untrackedEstimatedUsd: 0,
646
- untrackedWarnings: []
647
- };
648
- try {
649
- for (var _x = __values(normalizeOpenAIUsageRowsForCosting(entries)), _y = _x.next(); !_y.done; _y = _x.next()) {
650
- var entry = _y.value;
651
- var category = cleanText(entry.category, 120) || 'unknown';
652
- var source = cleanText((_e = entry.usage_source) !== null && _e !== void 0 ? _e : entry.usageSource, 80) || 'unknown';
653
- var surface = cleanText((_f = entry.usage_surface) !== null && _f !== void 0 ? _f : entry.usageSurface, 80) || 'unknown';
654
- var isManual = entry.is_manual === true || entry.isManual === true || source === 'manual_codex';
655
- var isUntracked = entry.is_untracked === true || entry.isUntracked === true;
656
- var untrackedReason = cleanText((_g = entry.untracked_reason) !== null && _g !== void 0 ? _g : entry.untrackedReason, 500);
657
- var model = cleanText(entry.model, 120);
658
- var inputTokens = Number((_j = (_h = entry.input_tokens) !== null && _h !== void 0 ? _h : entry.inputTokens) !== null && _j !== void 0 ? _j : 0) || 0;
659
- var cachedInputTokens = Number((_l = (_k = entry.cached_input_tokens) !== null && _k !== void 0 ? _k : entry.cachedInputTokens) !== null && _l !== void 0 ? _l : 0) || 0;
660
- var outputTokens = Number((_o = (_m = entry.output_tokens) !== null && _m !== void 0 ? _m : entry.outputTokens) !== null && _o !== void 0 ? _o : 0) || 0;
661
- var totalTokens = Number((_q = (_p = entry.total_tokens) !== null && _p !== void 0 ? _p : entry.totalTokens) !== null && _q !== void 0 ? _q : (inputTokens + outputTokens)) || 0;
662
- var estimatedUsd = Number((_s = (_r = entry.cost_estimate) !== null && _r !== void 0 ? _r : entry.estimatedUsd) !== null && _s !== void 0 ? _s : 0) || 0;
663
- cost.inputTokens += inputTokens;
664
- cost.cachedInputTokens += cachedInputTokens;
665
- cost.outputTokens += outputTokens;
666
- cost.totalTokens += totalTokens;
667
- cost.estimatedUsd += estimatedUsd;
668
- if (isManual) {
669
- cost.manualEstimatedUsd = Number(cost.manualEstimatedUsd || 0) + estimatedUsd;
670
- }
671
- if (isUntracked) {
672
- cost.untrackedEstimatedUsd = Number(cost.untrackedEstimatedUsd || 0) + estimatedUsd;
673
- var warning = untrackedReason || "".concat(source, " usage is an estimate outside managed runner telemetry.");
674
- if (warning && !((_t = cost.untrackedWarnings) === null || _t === void 0 ? void 0 : _t.includes(warning))) {
675
- (_u = cost.untrackedWarnings) === null || _u === void 0 ? void 0 : _u.push(warning);
676
- }
677
- }
678
- if (model && !cost.models.includes(model)) {
679
- cost.models.push(model);
680
- }
681
- if (!cost.categories[category]) {
682
- cost.categories[category] = {
683
- inputTokens: 0,
684
- cachedInputTokens: 0,
685
- outputTokens: 0,
686
- totalTokens: 0,
687
- estimatedUsd: 0,
688
- count: 0
689
- };
690
- }
691
- cost.categories[category].inputTokens += inputTokens;
692
- cost.categories[category].cachedInputTokens += cachedInputTokens;
693
- cost.categories[category].outputTokens += outputTokens;
694
- cost.categories[category].totalTokens += totalTokens;
695
- cost.categories[category].estimatedUsd += estimatedUsd;
696
- cost.categories[category].count += 1;
697
- if (!((_v = cost.sources) === null || _v === void 0 ? void 0 : _v[source])) {
698
- cost.sources[source] = {
699
- inputTokens: 0,
700
- cachedInputTokens: 0,
701
- outputTokens: 0,
702
- totalTokens: 0,
703
- estimatedUsd: 0,
704
- count: 0,
705
- manualCount: 0,
706
- untrackedCount: 0
707
- };
708
- }
709
- cost.sources[source].inputTokens += inputTokens;
710
- cost.sources[source].cachedInputTokens += cachedInputTokens;
711
- cost.sources[source].outputTokens += outputTokens;
712
- cost.sources[source].totalTokens += totalTokens;
713
- cost.sources[source].estimatedUsd += estimatedUsd;
714
- cost.sources[source].count += 1;
715
- if (isManual) {
716
- cost.sources[source].manualCount += 1;
717
- }
718
- if (isUntracked) {
719
- cost.sources[source].untrackedCount += 1;
720
- }
721
- if (!((_w = cost.surfaces) === null || _w === void 0 ? void 0 : _w[surface])) {
722
- cost.surfaces[surface] = {
723
- totalTokens: 0,
724
- estimatedUsd: 0,
725
- count: 0
726
- };
727
- }
728
- cost.surfaces[surface].totalTokens += totalTokens;
729
- cost.surfaces[surface].estimatedUsd += estimatedUsd;
730
- cost.surfaces[surface].count += 1;
731
- }
732
- }
733
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
734
- finally {
735
- try {
736
- if (_y && !_y.done && (_a = _x.return)) _a.call(_x);
737
- }
738
- finally { if (e_5) throw e_5.error; }
739
- }
740
- cost.estimatedUsd = Number(cost.estimatedUsd.toFixed(6));
741
- cost.manualEstimatedUsd = Number(Number(cost.manualEstimatedUsd || 0).toFixed(6));
742
- cost.untrackedEstimatedUsd = Number(Number(cost.untrackedEstimatedUsd || 0).toFixed(6));
743
- try {
744
- for (var _z = __values(Object.keys(cost.categories)), _0 = _z.next(); !_0.done; _0 = _z.next()) {
745
- var category = _0.value;
746
- cost.categories[category].estimatedUsd = Number(cost.categories[category].estimatedUsd.toFixed(6));
747
- }
748
- }
749
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
750
- finally {
751
- try {
752
- if (_0 && !_0.done && (_b = _z.return)) _b.call(_z);
753
- }
754
- finally { if (e_6) throw e_6.error; }
755
- }
756
- try {
757
- for (var _1 = __values(Object.keys(cost.sources || {})), _2 = _1.next(); !_2.done; _2 = _1.next()) {
758
- var source = _2.value;
759
- cost.sources[source].estimatedUsd = Number(cost.sources[source].estimatedUsd.toFixed(6));
760
- }
761
- }
762
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
763
- finally {
764
- try {
765
- if (_2 && !_2.done && (_c = _1.return)) _c.call(_1);
766
- }
767
- finally { if (e_7) throw e_7.error; }
768
- }
769
- try {
770
- for (var _3 = __values(Object.keys(cost.surfaces || {})), _4 = _3.next(); !_4.done; _4 = _3.next()) {
771
- var surface = _4.value;
772
- cost.surfaces[surface].estimatedUsd = Number(cost.surfaces[surface].estimatedUsd.toFixed(6));
773
- }
774
- }
775
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
776
- finally {
777
- try {
778
- if (_4 && !_4.done && (_d = _3.return)) _d.call(_3);
779
- }
780
- finally { if (e_8) throw e_8.error; }
781
- }
782
- return cost;
783
- }
784
- function redactAIRunTrainingExample(example) {
785
- var redact = function (value) { return cleanText(value, 5000)
786
- .replace(/mongodb(?:\+srv)?:\/\/[^\s"'<>]+/ig, '[redacted-mongo-url]')
787
- .replace(/\b(?:sk|ghp|xoxb|AKIA)[A-Za-z0-9_\-]{12,}\b/g, '[redacted-secret]')
788
- .replace(/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z]{2,}\b/ig, '[redacted-email]'); };
789
- return __assign(__assign({}, example), { inputSummary: redact(example.inputSummary), actionSummary: redact(example.actionSummary), evidence: cleanList(example.evidence, 80, 5000).map(redact) });
790
- }
791
-
792
- //# sourceMappingURL=ai-run-evidence.js.map