@resolveio/server-lib 22.3.142 → 22.3.143

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/ai/assistant-core-heuristics.d.ts +11 -0
  2. package/ai/assistant-core-heuristics.js +356 -0
  3. package/ai/assistant-core-heuristics.js.map +1 -0
  4. package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +3 -0
  5. package/ai/resolveio-platform-intelligence-memory-corpus.js +214 -0
  6. package/ai/resolveio-platform-intelligence-memory-corpus.js.map +1 -0
  7. package/ai/resolveio-platform-intelligence-memory.d.ts +20 -0
  8. package/ai/resolveio-platform-intelligence-memory.js +341 -0
  9. package/ai/resolveio-platform-intelligence-memory.js.map +1 -0
  10. package/{src/ai/resolveio-platform-intelligence-types.ts → ai/resolveio-platform-intelligence-types.d.ts} +15 -20
  11. package/ai/resolveio-platform-intelligence-types.js +4 -0
  12. package/ai/resolveio-platform-intelligence-types.js.map +1 -0
  13. package/ai/resolveio-platform-intelligence.d.ts +6 -0
  14. package/ai/resolveio-platform-intelligence.js +463 -0
  15. package/ai/resolveio-platform-intelligence.js.map +1 -0
  16. package/client-server-app.d.ts +1 -0
  17. package/client-server-app.js +68 -0
  18. package/client-server-app.js.map +1 -0
  19. package/collections/ai-run.collection.d.ts +3 -0
  20. package/collections/ai-run.collection.js +170 -0
  21. package/collections/ai-run.collection.js.map +1 -0
  22. package/collections/ai-terminal-conversation.collection.d.ts +2 -0
  23. package/collections/ai-terminal-conversation.collection.js +140 -0
  24. package/collections/ai-terminal-conversation.collection.js.map +1 -0
  25. package/collections/ai-terminal-issue-report.collection.d.ts +2 -0
  26. package/collections/ai-terminal-issue-report.collection.js +148 -0
  27. package/collections/ai-terminal-issue-report.collection.js.map +1 -0
  28. package/collections/ai-terminal-message.collection.d.ts +2 -0
  29. package/collections/ai-terminal-message.collection.js +121 -0
  30. package/collections/ai-terminal-message.collection.js.map +1 -0
  31. package/collections/app-setting.collection.d.ts +3 -0
  32. package/collections/app-setting.collection.js +103 -0
  33. package/collections/app-setting.collection.js.map +1 -0
  34. package/collections/app-status.collection.d.ts +3 -0
  35. package/collections/app-status.collection.js +57 -0
  36. package/collections/app-status.collection.js.map +1 -0
  37. package/collections/communication-metric.collection.d.ts +2 -0
  38. package/collections/communication-metric.collection.js +133 -0
  39. package/collections/communication-metric.collection.js.map +1 -0
  40. package/collections/counter.collection.d.ts +3 -0
  41. package/collections/counter.collection.js +56 -0
  42. package/collections/counter.collection.js.map +1 -0
  43. package/collections/cron-job-history.collection.d.ts +3 -0
  44. package/collections/cron-job-history.collection.js +137 -0
  45. package/collections/cron-job-history.collection.js.map +1 -0
  46. package/collections/cron-job.collection.d.ts +3 -0
  47. package/collections/cron-job.collection.js +92 -0
  48. package/collections/cron-job.collection.js.map +1 -0
  49. package/collections/customer-notification.collection.d.ts +3 -0
  50. package/collections/customer-notification.collection.js +130 -0
  51. package/collections/customer-notification.collection.js.map +1 -0
  52. package/collections/customer-portal-password.collection.d.ts +3 -0
  53. package/collections/customer-portal-password.collection.js +75 -0
  54. package/collections/customer-portal-password.collection.js.map +1 -0
  55. package/collections/email-history.collection.d.ts +3 -0
  56. package/collections/email-history.collection.js +134 -0
  57. package/collections/email-history.collection.js.map +1 -0
  58. package/collections/email-verified.collection.d.ts +3 -0
  59. package/collections/email-verified.collection.js +62 -0
  60. package/collections/email-verified.collection.js.map +1 -0
  61. package/collections/file.collection.d.ts +3 -0
  62. package/collections/file.collection.js +74 -0
  63. package/collections/file.collection.js.map +1 -0
  64. package/collections/flag-update.collection.d.ts +3 -0
  65. package/collections/flag-update.collection.js +57 -0
  66. package/collections/flag-update.collection.js.map +1 -0
  67. package/collections/flag.collection.d.ts +3 -0
  68. package/collections/flag.collection.js +57 -0
  69. package/collections/flag.collection.js.map +1 -0
  70. package/collections/log-method-latency.collection.d.ts +3 -0
  71. package/collections/log-method-latency.collection.js +77 -0
  72. package/collections/log-method-latency.collection.js.map +1 -0
  73. package/collections/log-subscription.collection.d.ts +3 -0
  74. package/collections/log-subscription.collection.js +80 -0
  75. package/collections/log-subscription.collection.js.map +1 -0
  76. package/collections/log.collection.d.ts +3 -0
  77. package/collections/log.collection.js +93 -0
  78. package/collections/log.collection.js.map +1 -0
  79. package/collections/logged-in-users.collection.d.ts +3 -0
  80. package/collections/logged-in-users.collection.js +67 -0
  81. package/collections/logged-in-users.collection.js.map +1 -0
  82. package/collections/monitor-cpu.collection.d.ts +3 -0
  83. package/collections/monitor-cpu.collection.js +65 -0
  84. package/collections/monitor-cpu.collection.js.map +1 -0
  85. package/collections/monitor-function.collection.d.ts +3 -0
  86. package/collections/monitor-function.collection.js +74 -0
  87. package/collections/monitor-function.collection.js.map +1 -0
  88. package/collections/monitor-memory.collection.d.ts +3 -0
  89. package/collections/monitor-memory.collection.js +77 -0
  90. package/collections/monitor-memory.collection.js.map +1 -0
  91. package/collections/monitor-mongo.collection.d.ts +3 -0
  92. package/collections/monitor-mongo.collection.js +71 -0
  93. package/collections/monitor-mongo.collection.js.map +1 -0
  94. package/collections/notification.collection.d.ts +3 -0
  95. package/collections/notification.collection.js +57 -0
  96. package/collections/notification.collection.js.map +1 -0
  97. package/collections/openai-usage-ledger.collection.d.ts +2 -0
  98. package/collections/openai-usage-ledger.collection.js +124 -0
  99. package/collections/openai-usage-ledger.collection.js.map +1 -0
  100. package/collections/report-builder-dashboard-builder.collection.d.ts +3 -0
  101. package/collections/report-builder-dashboard-builder.collection.js +109 -0
  102. package/collections/report-builder-dashboard-builder.collection.js.map +1 -0
  103. package/collections/report-builder-library.collection.d.ts +3 -0
  104. package/collections/report-builder-library.collection.js +87 -0
  105. package/collections/report-builder-library.collection.js.map +1 -0
  106. package/collections/report-builder-report.collection.d.ts +4 -0
  107. package/collections/report-builder-report.collection.js +184 -0
  108. package/collections/report-builder-report.collection.js.map +1 -0
  109. package/collections/user-group.collection.d.ts +4 -0
  110. package/collections/user-group.collection.js +89 -0
  111. package/collections/user-group.collection.js.map +1 -0
  112. package/collections/user-guide.collection.d.ts +3 -0
  113. package/collections/user-guide.collection.js +57 -0
  114. package/collections/user-guide.collection.js.map +1 -0
  115. package/collections/user.collection.d.ts +4 -0
  116. package/collections/user.collection.js +180 -0
  117. package/collections/user.collection.js.map +1 -0
  118. package/cron/cron.d.ts +14 -0
  119. package/cron/cron.js +216 -0
  120. package/cron/cron.js.map +1 -0
  121. package/fixtures/cron-jobs.d.ts +1 -0
  122. package/fixtures/cron-jobs.js +150 -0
  123. package/fixtures/cron-jobs.js.map +1 -0
  124. package/fixtures/init.d.ts +1 -0
  125. package/fixtures/init.js +91 -0
  126. package/fixtures/init.js.map +1 -0
  127. package/http/auth.d.ts +2 -0
  128. package/http/auth.js +951 -0
  129. package/http/auth.js.map +1 -0
  130. package/http/health.d.ts +1 -0
  131. package/http/health.js +11 -0
  132. package/http/health.js.map +1 -0
  133. package/http/home.d.ts +1 -0
  134. package/http/home.js +134 -0
  135. package/http/home.js.map +1 -0
  136. package/http/slow-query-publication.d.ts +2 -0
  137. package/http/slow-query-publication.js +99 -0
  138. package/http/slow-query-publication.js.map +1 -0
  139. package/index.d.ts +1 -0
  140. package/index.js +19 -0
  141. package/index.js.map +1 -0
  142. package/managers/ai-assistant-codex-manager.manager.d.ts +67 -0
  143. package/managers/ai-assistant-codex-manager.manager.js +1113 -0
  144. package/managers/ai-assistant-codex-manager.manager.js.map +1 -0
  145. package/managers/ai-run-evidence.manager.d.ts +36 -0
  146. package/managers/ai-run-evidence.manager.js +377 -0
  147. package/managers/ai-run-evidence.manager.js.map +1 -0
  148. package/managers/communication-metric.manager.d.ts +16 -0
  149. package/managers/communication-metric.manager.js +134 -0
  150. package/managers/communication-metric.manager.js.map +1 -0
  151. package/managers/cron.manager.d.ts +20 -0
  152. package/managers/cron.manager.js +534 -0
  153. package/managers/cron.manager.js.map +1 -0
  154. package/managers/customer-notification-content.manager.d.ts +55 -0
  155. package/managers/customer-notification-content.manager.js +158 -0
  156. package/managers/customer-notification-content.manager.js.map +1 -0
  157. package/managers/diagnostic-manager-bootstrap.d.ts +9 -0
  158. package/managers/diagnostic-manager-bootstrap.js +260 -0
  159. package/managers/diagnostic-manager-bootstrap.js.map +1 -0
  160. package/managers/error-auto-fix.manager.d.ts +149 -0
  161. package/managers/error-auto-fix.manager.js +3064 -0
  162. package/managers/error-auto-fix.manager.js.map +1 -0
  163. package/managers/local-log.manager.d.ts +18 -0
  164. package/managers/local-log.manager.js +88 -0
  165. package/managers/local-log.manager.js.map +1 -0
  166. package/managers/method.manager.d.ts +84 -0
  167. package/managers/method.manager.js +1964 -0
  168. package/managers/method.manager.js.map +1 -0
  169. package/managers/mongo.manager.d.ts +224 -0
  170. package/managers/mongo.manager.js +5000 -0
  171. package/managers/mongo.manager.js.map +1 -0
  172. package/managers/monitor.manager.d.ts +70 -0
  173. package/managers/monitor.manager.js +550 -0
  174. package/managers/monitor.manager.js.map +1 -0
  175. package/managers/openai-usage-ledger.manager.d.ts +16 -0
  176. package/managers/openai-usage-ledger.manager.js +93 -0
  177. package/managers/openai-usage-ledger.manager.js.map +1 -0
  178. package/managers/slow-query-verifier.manager.d.ts +144 -0
  179. package/managers/slow-query-verifier.manager.js +3857 -0
  180. package/managers/slow-query-verifier.manager.js.map +1 -0
  181. package/managers/slow-query.manager.d.ts +28 -0
  182. package/managers/slow-query.manager.js +468 -0
  183. package/managers/slow-query.manager.js.map +1 -0
  184. package/managers/subscription.manager.d.ts +169 -0
  185. package/managers/subscription.manager.js +3434 -0
  186. package/managers/subscription.manager.js.map +1 -0
  187. package/managers/websocket.manager.d.ts +73 -0
  188. package/managers/websocket.manager.js +673 -0
  189. package/managers/websocket.manager.js.map +1 -0
  190. package/managers/worker-dispatcher.manager.d.ts +120 -0
  191. package/managers/worker-dispatcher.manager.js +1266 -0
  192. package/managers/worker-dispatcher.manager.js.map +1 -0
  193. package/managers/worker-server.manager.d.ts +35 -0
  194. package/managers/worker-server.manager.js +582 -0
  195. package/managers/worker-server.manager.js.map +1 -0
  196. package/methods/accounts.d.ts +2 -0
  197. package/methods/accounts.js +624 -0
  198. package/methods/accounts.js.map +1 -0
  199. package/methods/ai-terminal.d.ts +337 -0
  200. package/methods/ai-terminal.js +23166 -0
  201. package/methods/ai-terminal.js.map +1 -0
  202. package/methods/app-settings.d.ts +2 -0
  203. package/methods/app-settings.js +169 -0
  204. package/methods/app-settings.js.map +1 -0
  205. package/methods/aws.d.ts +2 -0
  206. package/methods/aws.js +877 -0
  207. package/methods/aws.js.map +1 -0
  208. package/methods/collections.d.ts +2 -0
  209. package/methods/collections.js +719 -0
  210. package/methods/collections.js.map +1 -0
  211. package/methods/counters.d.ts +2 -0
  212. package/methods/counters.js +113 -0
  213. package/methods/counters.js.map +1 -0
  214. package/methods/cron-jobs.d.ts +2 -0
  215. package/methods/cron-jobs.js +2475 -0
  216. package/methods/cron-jobs.js.map +1 -0
  217. package/methods/customer-notifications.d.ts +2 -0
  218. package/methods/customer-notifications.js +528 -0
  219. package/methods/customer-notifications.js.map +1 -0
  220. package/methods/diagnostics.d.ts +2 -0
  221. package/methods/diagnostics.js +703 -0
  222. package/methods/diagnostics.js.map +1 -0
  223. package/methods/flag-updates.d.ts +2 -0
  224. package/methods/flag-updates.js +8 -0
  225. package/methods/flag-updates.js.map +1 -0
  226. package/methods/flags.d.ts +2 -0
  227. package/methods/flags.js +8 -0
  228. package/methods/flags.js.map +1 -0
  229. package/methods/logs.d.ts +2 -0
  230. package/methods/logs.js +751 -0
  231. package/methods/logs.js.map +1 -0
  232. package/methods/mongo-explorer.d.ts +2 -0
  233. package/methods/mongo-explorer.js +1808 -0
  234. package/methods/mongo-explorer.js.map +1 -0
  235. package/methods/monitor.d.ts +2 -0
  236. package/methods/monitor.js +543 -0
  237. package/methods/monitor.js.map +1 -0
  238. package/methods/pdf.d.ts +2 -0
  239. package/methods/pdf.js +1216 -0
  240. package/methods/pdf.js.map +1 -0
  241. package/methods/publications.d.ts +1 -0
  242. package/methods/publications.js +183 -0
  243. package/methods/publications.js.map +1 -0
  244. package/methods/report-builder.d.ts +2 -0
  245. package/methods/report-builder.js +3094 -0
  246. package/methods/report-builder.js.map +1 -0
  247. package/methods/support.d.ts +2 -0
  248. package/methods/support.js +430 -0
  249. package/methods/support.js.map +1 -0
  250. package/models/ai-run.model.d.ts +19 -0
  251. package/models/ai-run.model.js +4 -0
  252. package/models/ai-run.model.js.map +1 -0
  253. package/models/ai-terminal-conversation.model.d.ts +17 -0
  254. package/models/ai-terminal-conversation.model.js +4 -0
  255. package/models/ai-terminal-conversation.model.js.map +1 -0
  256. package/models/ai-terminal-issue-report.model.d.ts +19 -0
  257. package/models/ai-terminal-issue-report.model.js +4 -0
  258. package/models/ai-terminal-issue-report.model.js.map +1 -0
  259. package/models/ai-terminal-message.model.d.ts +22 -0
  260. package/models/ai-terminal-message.model.js +4 -0
  261. package/models/ai-terminal-message.model.js.map +1 -0
  262. package/models/app-setting.model.d.ts +16 -0
  263. package/models/app-setting.model.js +4 -0
  264. package/models/app-setting.model.js.map +1 -0
  265. package/{src/models/app-status.model.ts → models/app-status.model.d.ts} +2 -3
  266. package/models/app-status.model.js +4 -0
  267. package/models/app-status.model.js.map +1 -0
  268. package/{src/models/billing-logged-in-users.model.ts → models/billing-logged-in-users.model.d.ts} +4 -5
  269. package/models/billing-logged-in-users.model.js +4 -0
  270. package/models/billing-logged-in-users.model.js.map +1 -0
  271. package/models/collection-document.model.d.ts +21 -0
  272. package/models/collection-document.model.js +4 -0
  273. package/models/collection-document.model.js.map +1 -0
  274. package/models/communication-metric.model.d.ts +20 -0
  275. package/models/communication-metric.model.js +4 -0
  276. package/models/communication-metric.model.js.map +1 -0
  277. package/{src/models/counter.model.ts → models/counter.model.d.ts} +3 -4
  278. package/models/counter.model.js +4 -0
  279. package/models/counter.model.js.map +1 -0
  280. package/models/cron-job-history.model.d.ts +15 -0
  281. package/models/cron-job-history.model.js +4 -0
  282. package/models/cron-job-history.model.js.map +1 -0
  283. package/models/cron-job.model.d.ts +14 -0
  284. package/models/cron-job.model.js +4 -0
  285. package/models/cron-job.model.js.map +1 -0
  286. package/models/customer-notification.model.d.ts +26 -0
  287. package/models/customer-notification.model.js +4 -0
  288. package/models/customer-notification.model.js.map +1 -0
  289. package/models/customer-portal-password.model.d.ts +11 -0
  290. package/models/customer-portal-password.model.js +4 -0
  291. package/models/customer-portal-password.model.js.map +1 -0
  292. package/models/dialog.model.d.ts +23 -0
  293. package/models/dialog.model.js +4 -0
  294. package/models/dialog.model.js.map +1 -0
  295. package/models/email-history.model.d.ts +32 -0
  296. package/{src/models/email-history.model.ts → models/email-history.model.js} +4 -36
  297. package/models/email-history.model.js.map +1 -0
  298. package/{src/models/email-verified.model.ts → models/email-verified.model.d.ts} +5 -6
  299. package/models/email-verified.model.js +4 -0
  300. package/models/email-verified.model.js.map +1 -0
  301. package/{src/models/file.model.ts → models/file.model.d.ts} +7 -8
  302. package/models/file.model.js +4 -0
  303. package/models/file.model.js.map +1 -0
  304. package/{src/models/flag-update.model.ts → models/flag-update.model.d.ts} +3 -4
  305. package/models/flag-update.model.js +4 -0
  306. package/models/flag-update.model.js.map +1 -0
  307. package/{src/models/flag.model.ts → models/flag.model.d.ts} +3 -4
  308. package/models/flag.model.js +4 -0
  309. package/models/flag.model.js.map +1 -0
  310. package/models/log-method-latency.model.d.ts +10 -0
  311. package/models/log-method-latency.model.js +4 -0
  312. package/models/log-method-latency.model.js.map +1 -0
  313. package/{src/models/log-subscription.model.ts → models/log-subscription.model.d.ts} +9 -11
  314. package/models/log-subscription.model.js +4 -0
  315. package/models/log-subscription.model.js.map +1 -0
  316. package/models/log.model.d.ts +17 -0
  317. package/models/log.model.js +4 -0
  318. package/models/log.model.js.map +1 -0
  319. package/{src/models/logged-in-users.model.ts → models/logged-in-users.model.d.ts} +5 -6
  320. package/models/logged-in-users.model.js +4 -0
  321. package/models/logged-in-users.model.js.map +1 -0
  322. package/{src/models/method-response.model.ts → models/method-response.model.d.ts} +6 -7
  323. package/models/method-response.model.js +4 -0
  324. package/models/method-response.model.js.map +1 -0
  325. package/models/method.model.d.ts +26 -0
  326. package/models/method.model.js +4 -0
  327. package/models/method.model.js.map +1 -0
  328. package/{src/models/monitor-cpu.model.ts → models/monitor-cpu.model.d.ts} +7 -9
  329. package/models/monitor-cpu.model.js +4 -0
  330. package/models/monitor-cpu.model.js.map +1 -0
  331. package/models/monitor-function.model.d.ts +14 -0
  332. package/models/monitor-function.model.js +4 -0
  333. package/models/monitor-function.model.js.map +1 -0
  334. package/models/monitor-memory.model.d.ts +15 -0
  335. package/models/monitor-memory.model.js +4 -0
  336. package/models/monitor-memory.model.js.map +1 -0
  337. package/models/monitor-mongo.model.d.ts +13 -0
  338. package/models/monitor-mongo.model.js +4 -0
  339. package/models/monitor-mongo.model.js.map +1 -0
  340. package/{src/models/notification.model.ts → models/notification.model.d.ts} +4 -6
  341. package/models/notification.model.js +4 -0
  342. package/models/notification.model.js.map +1 -0
  343. package/models/openai-usage-ledger.model.d.ts +15 -0
  344. package/models/openai-usage-ledger.model.js +4 -0
  345. package/models/openai-usage-ledger.model.js.map +1 -0
  346. package/models/pagination.model.d.ts +11 -0
  347. package/models/pagination.model.js +28 -0
  348. package/models/pagination.model.js.map +1 -0
  349. package/models/permission.model.d.ts +12 -0
  350. package/models/permission.model.js +4 -0
  351. package/models/permission.model.js.map +1 -0
  352. package/models/report-builder-dashboard-builder.model.d.ts +25 -0
  353. package/models/report-builder-dashboard-builder.model.js +4 -0
  354. package/models/report-builder-dashboard-builder.model.js.map +1 -0
  355. package/models/report-builder-library.model.d.ts +17 -0
  356. package/models/report-builder-library.model.js +4 -0
  357. package/models/report-builder-library.model.js.map +1 -0
  358. package/models/report-builder-report.model.d.ts +121 -0
  359. package/models/report-builder-report.model.js +4 -0
  360. package/models/report-builder-report.model.js.map +1 -0
  361. package/models/report-builder.model.d.ts +61 -0
  362. package/models/report-builder.model.js +4 -0
  363. package/models/report-builder.model.js.map +1 -0
  364. package/models/select-data-label.model.d.ts +9 -0
  365. package/models/select-data-label.model.js +4 -0
  366. package/models/select-data-label.model.js.map +1 -0
  367. package/models/server-message.model.d.ts +32 -0
  368. package/models/server-message.model.js +4 -0
  369. package/models/server-message.model.js.map +1 -0
  370. package/models/slow-query-report.model.d.ts +23 -0
  371. package/models/slow-query-report.model.js +4 -0
  372. package/models/slow-query-report.model.js.map +1 -0
  373. package/models/subscription.model.d.ts +31 -0
  374. package/models/subscription.model.js +4 -0
  375. package/models/subscription.model.js.map +1 -0
  376. package/models/support-ticket.model.d.ts +87 -0
  377. package/models/support-ticket.model.js +4 -0
  378. package/models/support-ticket.model.js.map +1 -0
  379. package/models/user-group.model.d.ts +20 -0
  380. package/models/user-group.model.js +4 -0
  381. package/models/user-group.model.js.map +1 -0
  382. package/{src/models/user-guide.model.ts → models/user-guide.model.d.ts} +4 -5
  383. package/models/user-guide.model.js +4 -0
  384. package/models/user-guide.model.js.map +1 -0
  385. package/models/user.model.d.ts +84 -0
  386. package/models/user.model.js +4 -0
  387. package/models/user.model.js.map +1 -0
  388. package/package.json +1 -1
  389. package/private/images/ResolveIO.png +0 -0
  390. package/public_api.js +127 -0
  391. package/public_api.js.map +1 -0
  392. package/publications/ai-terminal.d.ts +1 -0
  393. package/publications/ai-terminal.js +122 -0
  394. package/publications/ai-terminal.js.map +1 -0
  395. package/publications/app-settings.d.ts +2 -0
  396. package/publications/app-settings.js +28 -0
  397. package/publications/app-settings.js.map +1 -0
  398. package/publications/app-status.d.ts +2 -0
  399. package/publications/app-status.js +16 -0
  400. package/publications/app-status.js.map +1 -0
  401. package/publications/cron-jobs.d.ts +2 -0
  402. package/publications/cron-jobs.js +88 -0
  403. package/publications/cron-jobs.js.map +1 -0
  404. package/publications/customer-notifications.d.ts +2 -0
  405. package/publications/customer-notifications.js +161 -0
  406. package/publications/customer-notifications.js.map +1 -0
  407. package/publications/files.d.ts +2 -0
  408. package/publications/files.js +36 -0
  409. package/publications/files.js.map +1 -0
  410. package/publications/flags-update.d.ts +2 -0
  411. package/publications/flags-update.js +22 -0
  412. package/publications/flags-update.js.map +1 -0
  413. package/publications/flags.d.ts +2 -0
  414. package/publications/flags.js +22 -0
  415. package/publications/flags.js.map +1 -0
  416. package/publications/logs.d.ts +2 -0
  417. package/publications/logs.js +164 -0
  418. package/publications/logs.js.map +1 -0
  419. package/publications/notifications.d.ts +2 -0
  420. package/publications/notifications.js +16 -0
  421. package/publications/notifications.js.map +1 -0
  422. package/publications/report-builder-dashboard-builders.d.ts +2 -0
  423. package/publications/report-builder-dashboard-builders.js +42 -0
  424. package/publications/report-builder-dashboard-builders.js.map +1 -0
  425. package/publications/report-builder-libraries.d.ts +2 -0
  426. package/publications/report-builder-libraries.js +90 -0
  427. package/publications/report-builder-libraries.js.map +1 -0
  428. package/publications/report-builder-reports.d.ts +2 -0
  429. package/publications/report-builder-reports.js +50 -0
  430. package/publications/report-builder-reports.js.map +1 -0
  431. package/publications/super-admin.d.ts +2 -0
  432. package/publications/super-admin.js +16 -0
  433. package/publications/super-admin.js.map +1 -0
  434. package/publications/user-groups.d.ts +1 -0
  435. package/publications/user-groups.js +16 -0
  436. package/publications/user-groups.js.map +1 -0
  437. package/publications/user-guides.d.ts +1 -0
  438. package/publications/user-guides.js +16 -0
  439. package/publications/user-guides.js.map +1 -0
  440. package/resolveio-server-app.d.ts +70 -0
  441. package/resolveio-server-app.js +801 -0
  442. package/resolveio-server-app.js.map +1 -0
  443. package/server-app.d.ts +228 -0
  444. package/server-app.js +3566 -0
  445. package/server-app.js.map +1 -0
  446. package/services/codex-client.d.ts +128 -0
  447. package/services/codex-client.js +1629 -0
  448. package/services/codex-client.js.map +1 -0
  449. package/services/openai-client.d.ts +46 -0
  450. package/services/openai-client.js +318 -0
  451. package/services/openai-client.js.map +1 -0
  452. package/types/error-report.d.ts +25 -0
  453. package/types/error-report.js +4 -0
  454. package/types/error-report.js.map +1 -0
  455. package/types/slow-query-report.d.ts +27 -0
  456. package/types/slow-query-report.js +6 -0
  457. package/types/slow-query-report.js.map +1 -0
  458. package/util/ai-qa-policy.d.ts +124 -0
  459. package/util/ai-qa-policy.js +736 -0
  460. package/util/ai-qa-policy.js.map +1 -0
  461. package/util/ai-run-evidence-adapters.d.ts +33 -0
  462. package/util/ai-run-evidence-adapters.js +831 -0
  463. package/util/ai-run-evidence-adapters.js.map +1 -0
  464. package/util/ai-run-evidence-dashboard.d.ts +67 -0
  465. package/util/ai-run-evidence-dashboard.js +309 -0
  466. package/util/ai-run-evidence-dashboard.js.map +1 -0
  467. package/util/ai-run-evidence-eval.d.ts +86 -0
  468. package/util/ai-run-evidence-eval.js +854 -0
  469. package/util/ai-run-evidence-eval.js.map +1 -0
  470. package/util/ai-run-evidence.d.ts +212 -0
  471. package/util/ai-run-evidence.js +649 -0
  472. package/util/ai-run-evidence.js.map +1 -0
  473. package/util/ai-runner-artifacts.d.ts +82 -0
  474. package/util/ai-runner-artifacts.js +713 -0
  475. package/util/ai-runner-artifacts.js.map +1 -0
  476. package/util/ai-runner-manager-autopilot.d.ts +92 -0
  477. package/util/ai-runner-manager-autopilot.js +281 -0
  478. package/util/ai-runner-manager-autopilot.js.map +1 -0
  479. package/util/ai-runner-manager-policy.d.ts +282 -0
  480. package/util/ai-runner-manager-policy.js +997 -0
  481. package/util/ai-runner-manager-policy.js.map +1 -0
  482. package/util/ai-runner-qa-auth.d.ts +5 -0
  483. package/util/ai-runner-qa-auth.js +822 -0
  484. package/util/ai-runner-qa-auth.js.map +1 -0
  485. package/util/ai-runner-qa-tools.d.ts +26 -0
  486. package/util/ai-runner-qa-tools.js +3029 -0
  487. package/util/ai-runner-qa-tools.js.map +1 -0
  488. package/util/aicoder-runner-v6.d.ts +214 -0
  489. package/util/aicoder-runner-v6.js +507 -0
  490. package/util/aicoder-runner-v6.js.map +1 -0
  491. package/util/common.d.ts +31 -0
  492. package/util/common.js +683 -0
  493. package/util/common.js.map +1 -0
  494. package/util/customer-portal-password.d.ts +13 -0
  495. package/util/customer-portal-password.js +209 -0
  496. package/util/customer-portal-password.js.map +1 -0
  497. package/util/error-reporter.d.ts +52 -0
  498. package/util/error-reporter.js +326 -0
  499. package/util/error-reporter.js.map +1 -0
  500. package/util/error-tracking.d.ts +13 -0
  501. package/util/error-tracking.js +120 -0
  502. package/util/error-tracking.js.map +1 -0
  503. package/util/openai-usage-cost.d.ts +6 -0
  504. package/util/openai-usage-cost.js +103 -0
  505. package/util/openai-usage-cost.js.map +1 -0
  506. package/util/report-builder-unwinds.d.ts +15 -0
  507. package/util/report-builder-unwinds.js +156 -0
  508. package/util/report-builder-unwinds.js.map +1 -0
  509. package/util/runner-process-janitor.d.ts +27 -0
  510. package/util/runner-process-janitor.js +208 -0
  511. package/util/runner-process-janitor.js.map +1 -0
  512. package/util/schema-report-builder.d.ts +6 -0
  513. package/util/schema-report-builder.js +481 -0
  514. package/util/schema-report-builder.js.map +1 -0
  515. package/util/slow-query-reporter.d.ts +28 -0
  516. package/util/slow-query-reporter.js +226 -0
  517. package/util/slow-query-reporter.js.map +1 -0
  518. package/util/subscription-dependency-context.d.ts +34 -0
  519. package/util/subscription-dependency-context.js +1283 -0
  520. package/util/subscription-dependency-context.js.map +1 -0
  521. package/util/support-runner-v5.d.ts +415 -0
  522. package/util/support-runner-v5.js +1436 -0
  523. package/util/support-runner-v5.js.map +1 -0
  524. package/util/tokenizer.d.ts +5 -0
  525. package/util/tokenizer.js +41 -0
  526. package/util/tokenizer.js.map +1 -0
  527. package/workers/codex-runner.worker.d.ts +1 -0
  528. package/workers/codex-runner.worker.js +192 -0
  529. package/workers/codex-runner.worker.js.map +1 -0
  530. package/.nodemon.json +0 -5
  531. package/.vscode/settings.json +0 -21
  532. package/AGENTS.md +0 -195
  533. package/README.md +0 -22
  534. package/build_package.sh +0 -5
  535. package/compileDTS.pl +0 -64
  536. package/docs/ai-assistant-nightly-eval.md +0 -65
  537. package/docs/ai-assistant-preflight-checklist.md +0 -23
  538. package/docs/ai-assistant-report-builder-bridge-playbook.md +0 -115
  539. package/eslint-plugin-custom/index.js +0 -7
  540. package/eslint-plugin-custom/rules/no-filter-zero-index.js +0 -44
  541. package/eslint.config.js +0 -103
  542. package/gulpfile.js +0 -216
  543. package/methodAndPublicationListGenerator.py +0 -375
  544. package/mongodbensurers.js +0 -2
  545. package/mongostop.js +0 -3
  546. package/scripts/cleanup-bypassed-callmethod-logs.js +0 -616
  547. package/settings.development.json +0 -25
  548. package/settings.development.redacted.json +0 -25
  549. package/src/.env +0 -12
  550. package/src/ai/assistant-core-heuristics.ts +0 -379
  551. package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +0 -185
  552. package/src/ai/resolveio-platform-intelligence-memory.ts +0 -325
  553. package/src/ai/resolveio-platform-intelligence.ts +0 -462
  554. package/src/client-server-app.ts +0 -12
  555. package/src/collections/ai-run.collection.ts +0 -117
  556. package/src/collections/ai-terminal-conversation.collection.ts +0 -91
  557. package/src/collections/ai-terminal-issue-report.collection.ts +0 -99
  558. package/src/collections/ai-terminal-message.collection.ts +0 -77
  559. package/src/collections/app-setting.collection.ts +0 -104
  560. package/src/collections/app-status.collection.ts +0 -58
  561. package/src/collections/communication-metric.collection.ts +0 -84
  562. package/src/collections/counter.collection.ts +0 -56
  563. package/src/collections/cron-job-history.collection.ts +0 -94
  564. package/src/collections/cron-job.collection.ts +0 -92
  565. package/src/collections/customer-notification.collection.ts +0 -131
  566. package/src/collections/customer-portal-password.collection.ts +0 -76
  567. package/src/collections/email-history.collection.ts +0 -134
  568. package/src/collections/email-verified.collection.ts +0 -62
  569. package/src/collections/file.collection.ts +0 -74
  570. package/src/collections/flag-update.collection.ts +0 -57
  571. package/src/collections/flag.collection.ts +0 -57
  572. package/src/collections/log-method-latency.collection.ts +0 -77
  573. package/src/collections/log-subscription.collection.ts +0 -80
  574. package/src/collections/log.collection.ts +0 -93
  575. package/src/collections/logged-in-users.collection.ts +0 -67
  576. package/src/collections/monitor-cpu.collection.ts +0 -65
  577. package/src/collections/monitor-function.collection.ts +0 -74
  578. package/src/collections/monitor-memory.collection.ts +0 -77
  579. package/src/collections/monitor-mongo.collection.ts +0 -71
  580. package/src/collections/notification.collection.ts +0 -57
  581. package/src/collections/openai-usage-ledger.collection.ts +0 -77
  582. package/src/collections/report-builder-dashboard-builder.collection.ts +0 -109
  583. package/src/collections/report-builder-library.collection.ts +0 -89
  584. package/src/collections/report-builder-report.collection.ts +0 -184
  585. package/src/collections/user-group.collection.ts +0 -89
  586. package/src/collections/user-guide.collection.ts +0 -57
  587. package/src/collections/user.collection.ts +0 -181
  588. package/src/cron/cron.ts +0 -117
  589. package/src/fixtures/cron-jobs.ts +0 -95
  590. package/src/fixtures/init.ts +0 -35
  591. package/src/http/auth.ts +0 -818
  592. package/src/http/health.ts +0 -7
  593. package/src/http/home.ts +0 -90
  594. package/src/http/slow-query-publication.ts +0 -49
  595. package/src/index.ts +0 -1
  596. package/src/managers/ai-assistant-codex-manager.manager.ts +0 -1131
  597. package/src/managers/ai-run-evidence.manager.ts +0 -264
  598. package/src/managers/communication-metric.manager.ts +0 -82
  599. package/src/managers/cron.manager.ts +0 -333
  600. package/src/managers/customer-notification-content.manager.ts +0 -236
  601. package/src/managers/diagnostic-manager-bootstrap.ts +0 -165
  602. package/src/managers/error-auto-fix.manager.ts +0 -2767
  603. package/src/managers/local-log.manager.ts +0 -113
  604. package/src/managers/method.manager.ts +0 -1857
  605. package/src/managers/mongo.manager.ts +0 -4575
  606. package/src/managers/monitor.manager.ts +0 -507
  607. package/src/managers/openai-usage-ledger.manager.ts +0 -57
  608. package/src/managers/slow-query-verifier.manager.ts +0 -3590
  609. package/src/managers/slow-query.manager.ts +0 -519
  610. package/src/managers/subscription.manager.ts +0 -3128
  611. package/src/managers/websocket.manager.ts +0 -746
  612. package/src/managers/worker-dispatcher.manager.ts +0 -1360
  613. package/src/managers/worker-server.manager.ts +0 -536
  614. package/src/methods/accounts.ts +0 -532
  615. package/src/methods/ai-terminal.ts +0 -23497
  616. package/src/methods/app-settings.ts +0 -114
  617. package/src/methods/aws.ts +0 -649
  618. package/src/methods/collections.ts +0 -641
  619. package/src/methods/counters.ts +0 -69
  620. package/src/methods/cron-jobs.ts +0 -2614
  621. package/src/methods/customer-notifications.ts +0 -458
  622. package/src/methods/diagnostics.ts +0 -616
  623. package/src/methods/flag-updates.ts +0 -7
  624. package/src/methods/flags.ts +0 -7
  625. package/src/methods/logs.ts +0 -657
  626. package/src/methods/mongo-explorer.ts +0 -1880
  627. package/src/methods/monitor.ts +0 -540
  628. package/src/methods/pdf.ts +0 -1236
  629. package/src/methods/publications.ts +0 -129
  630. package/src/methods/report-builder.ts +0 -3300
  631. package/src/methods/support.ts +0 -335
  632. package/src/models/ai-run.model.ts +0 -27
  633. package/src/models/ai-terminal-conversation.model.ts +0 -19
  634. package/src/models/ai-terminal-issue-report.model.ts +0 -21
  635. package/src/models/ai-terminal-message.model.ts +0 -24
  636. package/src/models/app-setting.model.ts +0 -17
  637. package/src/models/collection-document.model.ts +0 -24
  638. package/src/models/communication-metric.model.ts +0 -23
  639. package/src/models/cron-job-history.model.ts +0 -16
  640. package/src/models/cron-job.model.ts +0 -15
  641. package/src/models/customer-notification.model.ts +0 -28
  642. package/src/models/customer-portal-password.model.ts +0 -12
  643. package/src/models/dialog.model.ts +0 -25
  644. package/src/models/log-method-latency.model.ts +0 -11
  645. package/src/models/log.model.ts +0 -19
  646. package/src/models/method.model.ts +0 -25
  647. package/src/models/monitor-function.model.ts +0 -16
  648. package/src/models/monitor-memory.model.ts +0 -17
  649. package/src/models/monitor-mongo.model.ts +0 -15
  650. package/src/models/openai-usage-ledger.model.ts +0 -16
  651. package/src/models/pagination.model.ts +0 -35
  652. package/src/models/permission.model.ts +0 -14
  653. package/src/models/report-builder-dashboard-builder.model.ts +0 -29
  654. package/src/models/report-builder-library.model.ts +0 -20
  655. package/src/models/report-builder-report.model.ts +0 -136
  656. package/src/models/report-builder.model.ts +0 -68
  657. package/src/models/select-data-label.model.ts +0 -9
  658. package/src/models/server-message.model.ts +0 -31
  659. package/src/models/slow-query-report.model.ts +0 -23
  660. package/src/models/subscription.model.ts +0 -73
  661. package/src/models/support-ticket.model.ts +0 -104
  662. package/src/models/user-group.model.ts +0 -24
  663. package/src/models/user.model.ts +0 -96
  664. package/src/private/images/ResolveIO.png +0 -0
  665. package/src/publications/ai-terminal.ts +0 -73
  666. package/src/publications/app-settings.ts +0 -25
  667. package/src/publications/app-status.ts +0 -13
  668. package/src/publications/cron-jobs.ts +0 -40
  669. package/src/publications/customer-notifications.ts +0 -101
  670. package/src/publications/files.ts +0 -33
  671. package/src/publications/flags-update.ts +0 -19
  672. package/src/publications/flags.ts +0 -19
  673. package/src/publications/logs.ts +0 -163
  674. package/src/publications/notifications.ts +0 -13
  675. package/src/publications/report-builder-dashboard-builders.ts +0 -39
  676. package/src/publications/report-builder-libraries.ts +0 -41
  677. package/src/publications/report-builder-reports.ts +0 -47
  678. package/src/publications/super-admin.ts +0 -13
  679. package/src/publications/user-groups.ts +0 -12
  680. package/src/publications/user-guides.ts +0 -12
  681. package/src/resolveio-server-app.ts +0 -617
  682. package/src/server-app.ts +0 -3354
  683. package/src/services/codex-client.ts +0 -1231
  684. package/src/services/openai-client.ts +0 -265
  685. package/src/types/error-report.ts +0 -26
  686. package/src/types/js-tiktoken.d.ts +0 -11
  687. package/src/types/slow-query-report.ts +0 -28
  688. package/src/util/ai-qa-policy.ts +0 -925
  689. package/src/util/ai-run-evidence-adapters.ts +0 -677
  690. package/src/util/ai-run-evidence-dashboard.ts +0 -271
  691. package/src/util/ai-run-evidence-eval.ts +0 -885
  692. package/src/util/ai-run-evidence.ts +0 -964
  693. package/src/util/ai-runner-artifacts.ts +0 -586
  694. package/src/util/ai-runner-manager-autopilot.ts +0 -380
  695. package/src/util/ai-runner-manager-policy.ts +0 -1740
  696. package/src/util/ai-runner-qa-auth.ts +0 -821
  697. package/src/util/ai-runner-qa-tools.ts +0 -3045
  698. package/src/util/aicoder-runner-v6.ts +0 -875
  699. package/src/util/common.ts +0 -649
  700. package/src/util/customer-portal-password.ts +0 -183
  701. package/src/util/error-reporter.ts +0 -332
  702. package/src/util/error-tracking.ts +0 -79
  703. package/src/util/openai-usage-cost.ts +0 -114
  704. package/src/util/report-builder-unwinds.ts +0 -180
  705. package/src/util/runner-process-janitor.ts +0 -219
  706. package/src/util/schema-report-builder.ts +0 -448
  707. package/src/util/slow-query-reporter.ts +0 -216
  708. package/src/util/subscription-dependency-context.ts +0 -1096
  709. package/src/util/support-runner-v5.ts +0 -2065
  710. package/src/util/tokenizer.ts +0 -38
  711. package/src/workers/codex-runner.worker.ts +0 -142
  712. package/start_server.sh +0 -5
  713. package/tests/ai-assistant-corpus-build.ts +0 -484
  714. package/tests/ai-assistant-corpus-replay-e2e.ts +0 -774
  715. package/tests/ai-assistant-data-parity-e2e.ts +0 -1989
  716. package/tests/ai-assistant-eval-triage.ts +0 -831
  717. package/tests/ai-assistant-openai-e2e.ts +0 -1061
  718. package/tests/ai-assistant-openai-git-e2e.ts +0 -155
  719. package/tests/ai-assistant-preflight-matrix.ts +0 -215
  720. package/tests/ai-assistant-routing-eval.test.ts +0 -560
  721. package/tests/ai-assistant-snf-live-eval.ts +0 -975
  722. package/tests/ai-assistant-utils.test.ts +0 -2968
  723. package/tests/ai-manager-autopilot-snapshot.test.ts +0 -172
  724. package/tests/ai-manager-recovery-checkpoint.test.ts +0 -323
  725. package/tests/ai-run-eval.test.ts +0 -88
  726. package/tests/ai-run-evidence.test.ts +0 -305
  727. package/tests/ai-runner-contract.test.ts +0 -488
  728. package/tests/aicoder-runner-v6.test.ts +0 -268
  729. package/tests/error-reporter.test.ts +0 -145
  730. package/tests/method-publication-generator.test.ts +0 -46
  731. package/tests/report-builder-linking.test.ts +0 -79
  732. package/tests/resolveio-platform-intelligence.test.ts +0 -352
  733. package/tests/server-app-cron-owner.test.ts +0 -127
  734. package/tests/subscription-connect-race.test.ts +0 -158
  735. package/tests/subscription-dependency-context.test.ts +0 -324
  736. package/tests/subscription-manager-collection-tracking.test.ts +0 -86
  737. package/tests/subscription-manager-invalidation.test.ts +0 -86
  738. package/tests/support-runner-v5.test.ts +0 -417
  739. package/tsconfig.json +0 -34
  740. /package/{src/private → private}/email-templates/enrollment.html +0 -0
  741. /package/{src/private → private}/email-templates/forgot-password.html +0 -0
  742. /package/{src/private → private}/email-templates/support-ticket-deleted.html +0 -0
  743. /package/{src/private → private}/email-templates/support-ticket-modified.html +0 -0
  744. /package/{src/private → private}/email-templates/support-ticket.html +0 -0
  745. /package/{src/public_api.ts → public_api.d.ts} +0 -0
@@ -1,875 +0,0 @@
1
- import {
2
- buildResolveIOAIManagerRecoveryCheckpoint,
3
- buildResolveIOAIManagerRecoveryActionPacket,
4
- buildResolveIOAIManagerRecoveryEvidenceProbe,
5
- buildResolveIOAIManagerRecoveryPlan,
6
- decideResolveIOAIManagerPolicy,
7
- hashResolveIOAIManagerEvidence,
8
- ResolveIOAIManagerRecoveryCheckpoint,
9
- ResolveIOAIManagerRecoveryActionPacket,
10
- ResolveIOAIManagerRecoveryActionDispatchRecord,
11
- ResolveIOAIManagerRecoveryExecutionDirective,
12
- ResolveIOAIManagerRecoveryEvidenceProbe,
13
- ResolveIOAIManagerRecoveryPlan,
14
- ResolveIOAIManagerRecoveryPlanInput
15
- } from './ai-runner-manager-policy';
16
-
17
- export type ResolveIOAICoderV6Lane =
18
- | 'intake'
19
- | 'plan'
20
- | 'build'
21
- | 'qa'
22
- | 'repair'
23
- | 'review'
24
- | 'publish';
25
-
26
- export type ResolveIOAICoderV6StepType =
27
- | 'intake'
28
- | 'journey_contract'
29
- | 'journey_validation'
30
- | 'plan'
31
- | 'task'
32
- | 'workflow_build'
33
- | 'workflow_qa'
34
- | 'build'
35
- | 'qa'
36
- | 'repair'
37
- | 'review'
38
- | 'test_deploy'
39
- | 'live_deploy'
40
- | 'publish'
41
- | 'cleanup';
42
-
43
- export type ResolveIOAICoderV6Outcome =
44
- | 'pass'
45
- | 'needs_repair'
46
- | 'retry_same_step'
47
- | 'park_manual'
48
- | 'budget_stop'
49
- | 'infra_retry'
50
- | 'ready_to_publish'
51
- | 'published';
52
-
53
- export type ResolveIOAICoderV6RunKind = 'initial_builder' | 'terminal_helper';
54
-
55
- export interface ResolveIOAICoderV6Budget {
56
- maxPromptTokensPerNonInitialStep: number;
57
- maxTotalPromptTokens: number;
58
- maxLoopsPerRun: number;
59
- maxRepeatedNoProgress: number;
60
- maxRuntimeMinutesPerLane: number;
61
- softBudgetUsd: number;
62
- hardBudgetUsd: number;
63
- totalPromptTokenEstimate: number;
64
- totalInputTokens: number;
65
- totalCachedInputTokens: number;
66
- totalOutputTokens: number;
67
- totalRuntimeMs: number;
68
- loopCount: number;
69
- }
70
-
71
- export interface ResolveIOAICoderV6LaneMemory {
72
- lane: ResolveIOAICoderV6Lane;
73
- model: string;
74
- threadKey: string;
75
- scopeSummary: string;
76
- activeStep: ResolveIOAICoderV6StepType;
77
- activeBlocker: string;
78
- activeQaRow?: {
79
- index?: number;
80
- workflow?: string;
81
- route?: string;
82
- assertion?: string;
83
- status?: string;
84
- };
85
- changedFiles: string[];
86
- artifactPaths: string[];
87
- latestPromptVersion?: string;
88
- latestPromptTokenEstimate?: number;
89
- updatedAt: string;
90
- }
91
-
92
- export interface ResolveIOAICoderV6WorkflowQaRow {
93
- index?: number;
94
- workflowId?: string;
95
- stepId?: string;
96
- route?: string;
97
- action?: string;
98
- assertion?: string;
99
- expectedState?: string;
100
- status?: string;
101
- artifactPaths?: string[];
102
- }
103
-
104
- export interface ResolveIOAICoderV6WorkflowMemory {
105
- journeyContractPath: string;
106
- primaryWorkflowId: string;
107
- activeWorkflowStep: string;
108
- workflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];
109
- completedWorkflowSteps: string[];
110
- blockedWorkflowStep: string;
111
- businessProofArtifacts: string[];
112
- updatedAt: string;
113
- }
114
-
115
- export interface ResolveIOAICoderV6SupervisorState {
116
- version: 'v6';
117
- runKind: ResolveIOAICoderV6RunKind;
118
- status: 'active' | 'parked' | 'complete';
119
- currentGoal: string;
120
- approvedScope: string;
121
- branchName: string;
122
- activeLane: ResolveIOAICoderV6Lane;
123
- activeStep: ResolveIOAICoderV6StepType;
124
- activeBlocker: string;
125
- lastGoodCheckpoint: string;
126
- lastGoodCommit?: string;
127
- testDeployStatus?: string;
128
- liveDeployStatus?: string;
129
- processLease?: {
130
- runId?: string;
131
- token?: string;
132
- generation?: number;
133
- workspace?: string;
134
- lane?: string;
135
- };
136
- artifactLinks: string[];
137
- updatedAt: string;
138
- }
139
-
140
- export interface ResolveIOAICoderV6StepRecord {
141
- stepType: ResolveIOAICoderV6StepType;
142
- outcome: ResolveIOAICoderV6Outcome;
143
- lane: ResolveIOAICoderV6Lane;
144
- model?: string;
145
- threadKey?: string;
146
- promptVersion?: string;
147
- promptTokenEstimate?: number;
148
- inputTokens?: number;
149
- cachedInputTokens?: number;
150
- outputTokens?: number;
151
- runtimeMs?: number;
152
- summary: string;
153
- blocker?: string;
154
- blockerFingerprint?: string;
155
- failureClass?: string;
156
- evidenceHash?: string;
157
- changedFiles?: string[];
158
- artifactPaths?: string[];
159
- nextAction?: ResolveIOAICoderV6ContinuationDecision['action'];
160
- recordedAt: string;
161
- }
162
-
163
- export interface ResolveIOAICoderV6RunnerIncident {
164
- incidentClass: string;
165
- summary: string;
166
- stepType?: ResolveIOAICoderV6StepType;
167
- lane?: ResolveIOAICoderV6Lane;
168
- blockerFingerprint?: string;
169
- artifactPaths?: string[];
170
- recordedAt: string;
171
- }
172
-
173
- export interface ResolveIOAICoderV6StateBundle {
174
- aiCoderRunnerVersion: 'v6';
175
- aiCoderV6SupervisorState: ResolveIOAICoderV6SupervisorState;
176
- aiCoderV6LaneMemory: Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>;
177
- aiCoderV6WorkflowMemory: ResolveIOAICoderV6WorkflowMemory;
178
- aiCoderV6StepHistory: ResolveIOAICoderV6StepRecord[];
179
- aiCoderV6Budget: ResolveIOAICoderV6Budget;
180
- aiCoderV6RunnerIncidents: ResolveIOAICoderV6RunnerIncident[];
181
- aiCoderV6RecoveryPlan?: ResolveIOAIManagerRecoveryPlan;
182
- aiCoderV6RecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;
183
- aiCoderV6RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;
184
- aiCoderV6RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;
185
- aiCoderV6RecoveryDispatchHistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];
186
- aiCoderV6RecoveryDirective?: ResolveIOAIManagerRecoveryExecutionDirective;
187
- }
188
-
189
- export interface ResolveIOAICoderV6InitializeInput {
190
- runKind: ResolveIOAICoderV6RunKind;
191
- jobId: string;
192
- appId?: string;
193
- conversationId?: string;
194
- title?: string;
195
- description?: string;
196
- approvedScopeRequirements?: string[];
197
- branchName?: string;
198
- journeyContractPath?: string;
199
- defaultModel?: string;
200
- laneThreadKeys?: Partial<Record<ResolveIOAICoderV6Lane, string>>;
201
- processLease?: ResolveIOAICoderV6SupervisorState['processLease'];
202
- now?: Date | string;
203
- existing?: Partial<ResolveIOAICoderV6StateBundle>;
204
- }
205
-
206
- export interface ResolveIOAICoderV6StepInput {
207
- stepType: ResolveIOAICoderV6StepType;
208
- outcome: ResolveIOAICoderV6Outcome;
209
- lane: ResolveIOAICoderV6Lane;
210
- model?: string;
211
- threadKey?: string;
212
- promptVersion?: string;
213
- promptTokenEstimate?: number;
214
- inputTokens?: number;
215
- cachedInputTokens?: number;
216
- outputTokens?: number;
217
- runtimeMs?: number;
218
- summary?: string;
219
- blocker?: string;
220
- failureClass?: string;
221
- evidenceHash?: string;
222
- primaryWorkflowId?: string;
223
- activeWorkflowStep?: string;
224
- workflowQaRows?: ResolveIOAICoderV6WorkflowQaRow[];
225
- completedWorkflowSteps?: string[];
226
- blockedWorkflowStep?: string;
227
- businessProofArtifacts?: string[];
228
- changedFiles?: string[];
229
- artifactPaths?: string[];
230
- activeQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];
231
- nextAction?: ResolveIOAICoderV6ContinuationDecision['action'];
232
- now?: Date | string;
233
- }
234
-
235
- export interface ResolveIOAICoderV6ContinuationDecision {
236
- action: 'continue' | 'retry_same_step' | 'switch_to_repair' | 'park' | 'budget_stop' | 'infra_retry' | 'ready_to_publish';
237
- reason: string;
238
- nextLane: ResolveIOAICoderV6Lane;
239
- nextStep: ResolveIOAICoderV6StepType;
240
- repeatedNoProgressCount: number;
241
- budgetExceeded: boolean;
242
- recoveryPlan: ResolveIOAIManagerRecoveryPlan;
243
- recoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;
244
- recoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;
245
- recoveryAction: ResolveIOAIManagerRecoveryActionPacket;
246
- }
247
-
248
- const LANES: ResolveIOAICoderV6Lane[] = ['intake', 'plan', 'build', 'qa', 'repair', 'review', 'publish'];
249
-
250
- function isoNow(value?: Date | string): string {
251
- if (value instanceof Date) {
252
- return value.toISOString();
253
- }
254
- const parsed = value ? new Date(value) : new Date();
255
- if (Number.isFinite(parsed.getTime())) {
256
- return parsed.toISOString();
257
- }
258
- return new Date().toISOString();
259
- }
260
-
261
- function cleanText(value: any, max = 2000): string {
262
- return String(value || '').replace(/\s+/g, ' ').trim().slice(0, max);
263
- }
264
-
265
- function cleanList(values: any, limit = 20, max = 500): string[] {
266
- if (!Array.isArray(values)) {
267
- return [];
268
- }
269
- const result: string[] = [];
270
- for (const value of values) {
271
- const normalized = cleanText(value, max);
272
- if (normalized && !result.includes(normalized)) {
273
- result.push(normalized);
274
- }
275
- if (result.length >= limit) {
276
- break;
277
- }
278
- }
279
- return result;
280
- }
281
-
282
- function cleanNumber(value: any): number {
283
- const parsed = Number(value);
284
- return Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : 0;
285
- }
286
-
287
- function cleanWorkflowQaRows(values: any, limit = 40): ResolveIOAICoderV6WorkflowQaRow[] {
288
- if (!Array.isArray(values)) {
289
- return [];
290
- }
291
- const rows: ResolveIOAICoderV6WorkflowQaRow[] = [];
292
- for (const value of values) {
293
- if (!value || typeof value !== 'object') {
294
- continue;
295
- }
296
- const row: ResolveIOAICoderV6WorkflowQaRow = {
297
- index: cleanNumber((value as any).index) || undefined,
298
- workflowId: cleanText((value as any).workflowId || (value as any).workflow_id, 160) || undefined,
299
- stepId: cleanText((value as any).stepId || (value as any).step_id, 160) || undefined,
300
- route: cleanText((value as any).route, 240) || undefined,
301
- action: cleanText((value as any).action, 500) || undefined,
302
- assertion: cleanText((value as any).assertion, 700) || undefined,
303
- expectedState: cleanText((value as any).expectedState || (value as any).expected_state, 500) || undefined,
304
- status: cleanText((value as any).status, 120) || undefined,
305
- artifactPaths: cleanList((value as any).artifactPaths || (value as any).artifact_paths, 20, 500)
306
- };
307
- if (row.workflowId || row.stepId || row.route || row.action || row.assertion) {
308
- rows.push(row);
309
- }
310
- if (rows.length >= limit) {
311
- break;
312
- }
313
- }
314
- return rows;
315
- }
316
-
317
- export function fingerprintResolveIOAICoderV6Blocker(value: any): string {
318
- const text = cleanText(value, 4000)
319
- .toLowerCase()
320
- .replace(/[a-f0-9]{16,}/g, '<id>')
321
- .replace(/\b\d{2,}\b/g, '<n>')
322
- .replace(/\bline\s+<n>\b/g, 'line <n>')
323
- .replace(/https?:\/\/\S+/g, '<url>');
324
- let hash = 0;
325
- for (let index = 0; index < text.length; index += 1) {
326
- hash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;
327
- }
328
- return `aicoder-v6-${Math.abs(hash).toString(36)}`;
329
- }
330
-
331
- function classifyResolveIOAICoderV6FailureClass(step: {
332
- outcome?: ResolveIOAICoderV6Outcome;
333
- lane?: ResolveIOAICoderV6Lane;
334
- stepType?: ResolveIOAICoderV6StepType;
335
- blocker?: string;
336
- summary?: string;
337
- failureClass?: string;
338
- }): string {
339
- const explicit = cleanText(step.failureClass, 80).toLowerCase().replace(/[\s-]+/g, '_');
340
- if (explicit) {
341
- return explicit;
342
- }
343
- if (step.outcome === 'infra_retry') {
344
- return 'infra';
345
- }
346
- const text = `${step.stepType || ''}\n${step.lane || ''}\n${step.blocker || ''}\n${step.summary || ''}`.toLowerCase();
347
- if (/\b(puppeteer|chrome|browser executable|mongo|port|startup|settings\.json|node_modules|npm install|cache|lock)\b/.test(text)) {
348
- return 'infra';
349
- }
350
- if (/\b(ts[0-9]{3,5}|typescript|compile|build failed|ng build|cannot find name|module not found|syntax error)\b/.test(text)
351
- || step.stepType === 'build') {
352
- return 'compile';
353
- }
354
- if (step.stepType === 'journey_contract' || step.stepType === 'journey_validation') {
355
- return 'journey';
356
- }
357
- if (step.stepType === 'workflow_qa' || step.lane === 'qa') {
358
- return 'business';
359
- }
360
- if (step.stepType === 'publish' || step.stepType === 'test_deploy' || step.stepType === 'live_deploy' || step.lane === 'publish') {
361
- return 'release';
362
- }
363
- return 'product_code';
364
- }
365
-
366
- export function buildResolveIOAICoderV6Budget(existing?: Partial<ResolveIOAICoderV6Budget>): ResolveIOAICoderV6Budget {
367
- return {
368
- maxPromptTokensPerNonInitialStep: Number(existing?.maxPromptTokensPerNonInitialStep || 4000),
369
- maxTotalPromptTokens: Number(existing?.maxTotalPromptTokens || 120000),
370
- maxLoopsPerRun: Number(existing?.maxLoopsPerRun || 24),
371
- maxRepeatedNoProgress: Number(existing?.maxRepeatedNoProgress || 2),
372
- maxRuntimeMinutesPerLane: Number(existing?.maxRuntimeMinutesPerLane || 30),
373
- softBudgetUsd: Number(existing?.softBudgetUsd || 30),
374
- hardBudgetUsd: Number(existing?.hardBudgetUsd || 60),
375
- totalPromptTokenEstimate: cleanNumber(existing?.totalPromptTokenEstimate),
376
- totalInputTokens: cleanNumber(existing?.totalInputTokens),
377
- totalCachedInputTokens: cleanNumber(existing?.totalCachedInputTokens),
378
- totalOutputTokens: cleanNumber(existing?.totalOutputTokens),
379
- totalRuntimeMs: cleanNumber(existing?.totalRuntimeMs),
380
- loopCount: cleanNumber(existing?.loopCount)
381
- };
382
- }
383
-
384
- export function initializeResolveIOAICoderV6State(input: ResolveIOAICoderV6InitializeInput): ResolveIOAICoderV6StateBundle {
385
- const now = isoNow(input.now);
386
- const existing = input.existing || {};
387
- const existingSupervisor = existing.aiCoderV6SupervisorState;
388
- const existingLaneMemory = existing.aiCoderV6LaneMemory || {} as ResolveIOAICoderV6StateBundle['aiCoderV6LaneMemory'];
389
- const existingWorkflowMemory = existing.aiCoderV6WorkflowMemory || {} as Partial<ResolveIOAICoderV6WorkflowMemory>;
390
- const scope = cleanList(input.approvedScopeRequirements, 24, 240).join(' | ')
391
- || cleanText(input.description, 1000)
392
- || cleanText(input.title, 300);
393
- const runId = cleanText(input.conversationId || input.jobId || input.appId, 120);
394
- const defaultModel = cleanText(input.defaultModel || 'gpt-5.3-codex', 80);
395
- const buildLaneMemory = (lane: ResolveIOAICoderV6Lane): ResolveIOAICoderV6LaneMemory => {
396
- const previous = existingLaneMemory[lane] || {} as Partial<ResolveIOAICoderV6LaneMemory>;
397
- return {
398
- lane,
399
- model: cleanText(previous.model || defaultModel, 80),
400
- threadKey: cleanText(input.laneThreadKeys?.[lane] || previous.threadKey || `aicoder:${input.runKind}:${runId}:${lane}`, 240),
401
- scopeSummary: cleanText(previous.scopeSummary || scope, 1200),
402
- activeStep: previous.activeStep || (lane === 'plan' ? 'plan' : lane === 'qa' ? 'qa' : lane === 'review' ? 'review' : lane === 'publish' ? 'publish' : 'task'),
403
- activeBlocker: cleanText(previous.activeBlocker, 1200),
404
- activeQaRow: previous.activeQaRow,
405
- changedFiles: cleanList(previous.changedFiles, 80, 500),
406
- artifactPaths: cleanList(previous.artifactPaths, 80, 500),
407
- latestPromptVersion: cleanText(previous.latestPromptVersion, 120) || undefined,
408
- latestPromptTokenEstimate: cleanNumber(previous.latestPromptTokenEstimate) || undefined,
409
- updatedAt: previous.updatedAt || now
410
- };
411
- };
412
- const laneMemory = LANES.reduce((accumulator, lane) => {
413
- accumulator[lane] = buildLaneMemory(lane);
414
- return accumulator;
415
- }, {} as Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>);
416
- const activeLane = existingSupervisor?.activeLane || (input.runKind === 'initial_builder' ? 'plan' : 'build');
417
- return {
418
- aiCoderRunnerVersion: 'v6',
419
- aiCoderV6SupervisorState: {
420
- version: 'v6',
421
- runKind: input.runKind,
422
- status: existingSupervisor?.status || 'active',
423
- currentGoal: cleanText(existingSupervisor?.currentGoal || `Run AICoder ${input.runKind} ${runId}`, 500),
424
- approvedScope: cleanText(existingSupervisor?.approvedScope || scope, 1400),
425
- branchName: cleanText(input.branchName || existingSupervisor?.branchName, 240),
426
- activeLane,
427
- activeStep: existingSupervisor?.activeStep || laneMemory[activeLane].activeStep,
428
- activeBlocker: cleanText(existingSupervisor?.activeBlocker, 1200),
429
- lastGoodCheckpoint: existingSupervisor?.lastGoodCheckpoint || 'v6_initialized',
430
- lastGoodCommit: cleanText(existingSupervisor?.lastGoodCommit, 240) || undefined,
431
- testDeployStatus: cleanText(existingSupervisor?.testDeployStatus, 120) || undefined,
432
- liveDeployStatus: cleanText(existingSupervisor?.liveDeployStatus, 120) || undefined,
433
- processLease: input.processLease || existingSupervisor?.processLease,
434
- artifactLinks: cleanList(existingSupervisor?.artifactLinks, 80, 500),
435
- updatedAt: now
436
- },
437
- aiCoderV6LaneMemory: laneMemory,
438
- aiCoderV6WorkflowMemory: {
439
- journeyContractPath: cleanText(input.journeyContractPath || existingWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),
440
- primaryWorkflowId: cleanText(existingWorkflowMemory.primaryWorkflowId, 200),
441
- activeWorkflowStep: cleanText(existingWorkflowMemory.activeWorkflowStep, 200),
442
- workflowQaRows: cleanWorkflowQaRows(existingWorkflowMemory.workflowQaRows, 80),
443
- completedWorkflowSteps: cleanList(existingWorkflowMemory.completedWorkflowSteps, 80, 240),
444
- blockedWorkflowStep: cleanText(existingWorkflowMemory.blockedWorkflowStep, 240),
445
- businessProofArtifacts: cleanList(existingWorkflowMemory.businessProofArtifacts, 80, 500),
446
- updatedAt: existingWorkflowMemory.updatedAt || now
447
- },
448
- aiCoderV6StepHistory: Array.isArray(existing.aiCoderV6StepHistory)
449
- ? existing.aiCoderV6StepHistory.slice(-100)
450
- : [],
451
- aiCoderV6Budget: buildResolveIOAICoderV6Budget(existing.aiCoderV6Budget),
452
- aiCoderV6RunnerIncidents: Array.isArray(existing.aiCoderV6RunnerIncidents)
453
- ? existing.aiCoderV6RunnerIncidents.slice(-100)
454
- : [],
455
- aiCoderV6RecoveryPlan: (existing as any).aiCoderV6RecoveryPlan,
456
- aiCoderV6RecoveryCheckpoint: (existing as any).aiCoderV6RecoveryCheckpoint,
457
- aiCoderV6RecoveryEvidenceProbe: (existing as any).aiCoderV6RecoveryEvidenceProbe,
458
- aiCoderV6RecoveryAction: (existing as any).aiCoderV6RecoveryAction,
459
- aiCoderV6RecoveryDispatchHistory: Array.isArray((existing as any).aiCoderV6RecoveryDispatchHistory)
460
- ? (existing as any).aiCoderV6RecoveryDispatchHistory.slice(-50)
461
- : [],
462
- aiCoderV6RecoveryDirective: (existing as any).aiCoderV6RecoveryDirective
463
- };
464
- }
465
-
466
- export function recordResolveIOAICoderV6Step(
467
- bundle: ResolveIOAICoderV6StateBundle,
468
- step: ResolveIOAICoderV6StepInput
469
- ): ResolveIOAICoderV6StateBundle {
470
- const now = isoNow(step.now);
471
- const promptTokens = cleanNumber(step.promptTokenEstimate);
472
- const inputTokens = cleanNumber(step.inputTokens);
473
- const cachedInputTokens = cleanNumber(step.cachedInputTokens);
474
- const outputTokens = cleanNumber(step.outputTokens);
475
- const runtimeMs = cleanNumber(step.runtimeMs);
476
- const blocker = cleanText(step.blocker, 1200);
477
- const failureClass = classifyResolveIOAICoderV6FailureClass({
478
- outcome: step.outcome,
479
- lane: step.lane,
480
- stepType: step.stepType,
481
- blocker,
482
- summary: step.summary,
483
- failureClass: step.failureClass
484
- });
485
- const previousWorkflowMemory = bundle.aiCoderV6WorkflowMemory || {} as ResolveIOAICoderV6WorkflowMemory;
486
- const activeWorkflowStep = cleanText(step.activeWorkflowStep || previousWorkflowMemory.activeWorkflowStep, 200);
487
- const explicitCompletedSteps = cleanList(step.completedWorkflowSteps, 40, 240);
488
- const completedWorkflowSteps = Array.from(new Set([
489
- ...cleanList(previousWorkflowMemory.completedWorkflowSteps, 80, 240),
490
- ...explicitCompletedSteps,
491
- ...(step.outcome === 'pass' && activeWorkflowStep ? [activeWorkflowStep] : [])
492
- ])).slice(-80);
493
- const businessProofArtifacts = Array.from(new Set([
494
- ...cleanList(previousWorkflowMemory.businessProofArtifacts, 80, 500),
495
- ...cleanList(step.businessProofArtifacts, 40, 500),
496
- ...(step.stepType === 'workflow_qa' ? cleanList(step.artifactPaths, 40, 500) : [])
497
- ])).slice(-80);
498
- const workflowQaRows = step.workflowQaRows !== undefined
499
- ? cleanWorkflowQaRows(step.workflowQaRows, 80)
500
- : cleanWorkflowQaRows(previousWorkflowMemory.workflowQaRows, 80);
501
- const blockedWorkflowStep = cleanText(
502
- step.blockedWorkflowStep
503
- || ((step.outcome === 'needs_repair' || step.outcome === 'park_manual') ? activeWorkflowStep : '')
504
- || previousWorkflowMemory.blockedWorkflowStep,
505
- 240
506
- );
507
- const record: ResolveIOAICoderV6StepRecord = {
508
- stepType: step.stepType,
509
- outcome: step.outcome,
510
- lane: step.lane,
511
- model: cleanText(step.model, 80) || undefined,
512
- threadKey: cleanText(step.threadKey, 240) || undefined,
513
- promptVersion: cleanText(step.promptVersion, 120) || undefined,
514
- promptTokenEstimate: promptTokens || undefined,
515
- inputTokens: inputTokens || undefined,
516
- cachedInputTokens: cachedInputTokens || undefined,
517
- outputTokens: outputTokens || undefined,
518
- runtimeMs: runtimeMs || undefined,
519
- summary: cleanText(step.summary || blocker || step.outcome, 1200),
520
- blocker: blocker || undefined,
521
- blockerFingerprint: blocker ? fingerprintResolveIOAICoderV6Blocker(blocker) : undefined,
522
- failureClass,
523
- changedFiles: cleanList(step.changedFiles, 80, 500),
524
- artifactPaths: cleanList(step.artifactPaths, 80, 500),
525
- nextAction: step.nextAction,
526
- recordedAt: now
527
- };
528
- record.evidenceHash = cleanText(step.evidenceHash, 120)
529
- || hashResolveIOAIManagerEvidence(record);
530
- const previousRecord = bundle.aiCoderV6StepHistory[bundle.aiCoderV6StepHistory.length - 1];
531
- const managerDecision = decideResolveIOAIManagerPolicy({
532
- history: [...bundle.aiCoderV6StepHistory, record],
533
- current: record,
534
- maxSameFailureRepeats: buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget).maxRepeatedNoProgress + 1
535
- });
536
- const nextLoopCount = managerDecision.loopBudgetShouldReset
537
- || previousRecord?.failureClass !== record.failureClass
538
- || previousRecord?.blockerFingerprint !== record.blockerFingerprint
539
- || previousRecord?.evidenceHash !== record.evidenceHash
540
- ? 1
541
- : bundle.aiCoderV6Budget.loopCount + 1;
542
- const previousLane = bundle.aiCoderV6LaneMemory[step.lane];
543
- const laneMemory = {
544
- ...bundle.aiCoderV6LaneMemory,
545
- [step.lane]: {
546
- ...previousLane,
547
- model: record.model || previousLane.model,
548
- threadKey: record.threadKey || previousLane.threadKey,
549
- activeStep: step.stepType,
550
- activeBlocker: record.blocker || previousLane.activeBlocker || '',
551
- activeQaRow: step.activeQaRow || previousLane.activeQaRow,
552
- changedFiles: record.changedFiles?.length ? record.changedFiles : previousLane.changedFiles,
553
- artifactPaths: record.artifactPaths?.length ? record.artifactPaths : previousLane.artifactPaths,
554
- latestPromptVersion: record.promptVersion || previousLane.latestPromptVersion,
555
- latestPromptTokenEstimate: promptTokens || previousLane.latestPromptTokenEstimate,
556
- updatedAt: now
557
- }
558
- };
559
- const complete = step.outcome === 'published' || step.outcome === 'ready_to_publish';
560
- const parked = step.outcome === 'park_manual' || step.outcome === 'budget_stop';
561
- return {
562
- ...bundle,
563
- aiCoderV6SupervisorState: {
564
- ...bundle.aiCoderV6SupervisorState,
565
- status: complete ? 'complete' : (parked ? 'parked' : 'active'),
566
- activeLane: step.lane,
567
- activeStep: step.stepType,
568
- activeBlocker: record.blocker || '',
569
- lastGoodCheckpoint: step.outcome === 'pass' || complete ? step.stepType : bundle.aiCoderV6SupervisorState.lastGoodCheckpoint,
570
- artifactLinks: Array.from(new Set([
571
- ...bundle.aiCoderV6SupervisorState.artifactLinks,
572
- ...(record.artifactPaths || [])
573
- ])).slice(-80),
574
- updatedAt: now
575
- },
576
- aiCoderV6LaneMemory: laneMemory,
577
- aiCoderV6WorkflowMemory: {
578
- journeyContractPath: cleanText(previousWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),
579
- primaryWorkflowId: cleanText(step.primaryWorkflowId || previousWorkflowMemory.primaryWorkflowId, 200),
580
- activeWorkflowStep,
581
- workflowQaRows,
582
- completedWorkflowSteps,
583
- blockedWorkflowStep,
584
- businessProofArtifacts,
585
- updatedAt: now
586
- },
587
- aiCoderV6StepHistory: [...bundle.aiCoderV6StepHistory, record].slice(-120),
588
- aiCoderV6Budget: {
589
- ...bundle.aiCoderV6Budget,
590
- totalPromptTokenEstimate: bundle.aiCoderV6Budget.totalPromptTokenEstimate + promptTokens,
591
- totalInputTokens: bundle.aiCoderV6Budget.totalInputTokens + inputTokens,
592
- totalCachedInputTokens: bundle.aiCoderV6Budget.totalCachedInputTokens + cachedInputTokens,
593
- totalOutputTokens: bundle.aiCoderV6Budget.totalOutputTokens + outputTokens,
594
- totalRuntimeMs: bundle.aiCoderV6Budget.totalRuntimeMs + runtimeMs,
595
- loopCount: nextLoopCount
596
- },
597
- aiCoderV6RecoveryPlan: managerDecision.recoveryPlan,
598
- aiCoderV6RecoveryCheckpoint: managerDecision.recoveryCheckpoint,
599
- aiCoderV6RecoveryEvidenceProbe: managerDecision.recoveryEvidenceProbe,
600
- aiCoderV6RecoveryAction: managerDecision.recoveryAction
601
- };
602
- }
603
-
604
- export function decideResolveIOAICoderV6Continuation(bundle: ResolveIOAICoderV6StateBundle): ResolveIOAICoderV6ContinuationDecision {
605
- const history = bundle.aiCoderV6StepHistory || [];
606
- const budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);
607
- const last = history[history.length - 1];
608
- const lastFingerprint = fingerprintResolveIOAICoderV6Blocker(last?.blocker || last?.summary || '');
609
- let repeatedNoProgressCount = 0;
610
- for (let index = history.length - 1; index >= 0; index -= 1) {
611
- const item = history[index];
612
- if (item.outcome === 'pass' || item.outcome === 'ready_to_publish' || item.outcome === 'published') {
613
- break;
614
- }
615
- if (item.stepType !== last?.stepType || item.lane !== last?.lane) {
616
- break;
617
- }
618
- if (fingerprintResolveIOAICoderV6Blocker(item.blocker || item.summary || '') === lastFingerprint) {
619
- repeatedNoProgressCount += 1;
620
- }
621
- }
622
- const managerDecision = decideResolveIOAIManagerPolicy({
623
- history,
624
- current: last,
625
- maxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,
626
- maxPingPongTransitions: 3,
627
- infraFailureClasses: ['infra', 'compile']
628
- });
629
- const recoveryPlanFor = (
630
- action: ResolveIOAICoderV6ContinuationDecision['action'] | string,
631
- reason: string,
632
- extra: Partial<ResolveIOAIManagerRecoveryPlanInput> = {}
633
- ): ResolveIOAIManagerRecoveryPlan => buildResolveIOAIManagerRecoveryPlan({
634
- action,
635
- reason,
636
- failureClass: last?.failureClass,
637
- lane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
638
- stepType: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
639
- blocker: last?.blocker || last?.summary,
640
- changedFiles: last?.changedFiles,
641
- artifactPaths: last?.artifactPaths,
642
- maxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,
643
- ...extra
644
- });
645
- const recoveryCheckpointFor = (
646
- recoveryPlan: ResolveIOAIManagerRecoveryPlan
647
- ): ResolveIOAIManagerRecoveryCheckpoint => buildResolveIOAIManagerRecoveryCheckpoint({
648
- plan: recoveryPlan,
649
- current: last
650
- });
651
- const recoveryFieldsFor = (
652
- recoveryPlan: ResolveIOAIManagerRecoveryPlan,
653
- recoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint,
654
- recoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe
655
- ): Pick<ResolveIOAICoderV6ContinuationDecision, 'recoveryPlan' | 'recoveryCheckpoint' | 'recoveryEvidenceProbe' | 'recoveryAction'> => {
656
- const checkpoint = recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);
657
- const probe = recoveryEvidenceProbe || buildResolveIOAIManagerRecoveryEvidenceProbe({
658
- checkpoint,
659
- current: last
660
- });
661
- return {
662
- recoveryPlan,
663
- recoveryCheckpoint: checkpoint,
664
- recoveryEvidenceProbe: probe,
665
- recoveryAction: buildResolveIOAIManagerRecoveryActionPacket({
666
- plan: recoveryPlan,
667
- checkpoint,
668
- probe,
669
- current: last
670
- })
671
- };
672
- };
673
- const managerRecoveryFields = () => recoveryFieldsFor(
674
- managerDecision.recoveryPlan,
675
- managerDecision.recoveryCheckpoint,
676
- managerDecision.recoveryEvidenceProbe
677
- );
678
- const budgetExceeded = (budget.loopCount >= budget.maxLoopsPerRun && !managerDecision.loopBudgetShouldReset)
679
- || budget.totalPromptTokenEstimate >= budget.maxTotalPromptTokens
680
- || (last?.promptTokenEstimate || 0) > budget.maxPromptTokensPerNonInitialStep * 2;
681
- if (budgetExceeded) {
682
- const recoveryPlan = recoveryPlanFor('budget_stop', 'aicoder_v6_budget_guard', {
683
- productRepairFailure: false
684
- });
685
- return {
686
- action: 'budget_stop',
687
- reason: 'aicoder_v6_budget_guard',
688
- nextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
689
- nextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
690
- repeatedNoProgressCount,
691
- budgetExceeded,
692
- ...recoveryFieldsFor(recoveryPlan)
693
- };
694
- }
695
- if (managerDecision.action === 'park_ping_pong') {
696
- return {
697
- action: 'park',
698
- reason: 'aicoder_v6_ping_pong_no_progress',
699
- nextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
700
- nextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
701
- repeatedNoProgressCount: managerDecision.pingPongCount,
702
- budgetExceeded: false,
703
- ...managerRecoveryFields()
704
- };
705
- }
706
- if (managerDecision.action === 'park_repeated_failure') {
707
- return {
708
- action: 'park',
709
- reason: 'aicoder_v6_repeated_no_progress',
710
- nextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
711
- nextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
712
- repeatedNoProgressCount: managerDecision.sameFailureCount,
713
- budgetExceeded: false,
714
- ...managerRecoveryFields()
715
- };
716
- }
717
- if (repeatedNoProgressCount > budget.maxRepeatedNoProgress) {
718
- const recoveryPlan = recoveryPlanFor('park', 'aicoder_v6_repeated_no_progress', {
719
- action: 'park_repeated_failure',
720
- productRepairFailure: !/^(?:infra|compile|release)$/i.test(String(last?.failureClass || ''))
721
- });
722
- return {
723
- action: 'park',
724
- reason: 'aicoder_v6_repeated_no_progress',
725
- nextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
726
- nextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
727
- repeatedNoProgressCount,
728
- budgetExceeded: false,
729
- ...recoveryFieldsFor(recoveryPlan)
730
- };
731
- }
732
- if (managerDecision.action === 'retry_infra') {
733
- const compileRepair = managerDecision.recoveryPlan.recoveryClass === 'compile_repair'
734
- || managerDecision.failureClass === 'compile'
735
- || last?.failureClass === 'compile';
736
- return {
737
- action: 'infra_retry',
738
- reason: compileRepair ? 'aicoder_v6_compile_repair_required' : 'aicoder_v6_infra_retry',
739
- nextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
740
- nextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
741
- repeatedNoProgressCount,
742
- budgetExceeded: false,
743
- ...managerRecoveryFields()
744
- };
745
- }
746
- if (last?.outcome === 'needs_repair') {
747
- if (last.failureClass === 'journey') {
748
- return {
749
- action: 'retry_same_step',
750
- reason: 'aicoder_v6_journey_contract_repair_required',
751
- nextLane: 'plan',
752
- nextStep: last.stepType === 'journey_validation' ? 'journey_contract' : last.stepType,
753
- repeatedNoProgressCount,
754
- budgetExceeded: false,
755
- ...managerRecoveryFields()
756
- };
757
- }
758
- if (last.failureClass === 'release') {
759
- return {
760
- action: 'retry_same_step',
761
- reason: 'aicoder_v6_release_repair_required',
762
- nextLane: 'publish',
763
- nextStep: last.stepType,
764
- repeatedNoProgressCount,
765
- budgetExceeded: false,
766
- ...managerRecoveryFields()
767
- };
768
- }
769
- return {
770
- action: last.lane === 'repair' ? 'retry_same_step' : 'switch_to_repair',
771
- reason: 'aicoder_v6_repair_required',
772
- nextLane: 'repair',
773
- nextStep: 'repair',
774
- repeatedNoProgressCount,
775
- budgetExceeded: false,
776
- ...managerRecoveryFields()
777
- };
778
- }
779
- if (last?.outcome === 'infra_retry') {
780
- const recoveryPlan = recoveryPlanFor('infra_retry', 'aicoder_v6_infra_retry', {
781
- failureClass: 'infra',
782
- productRepairFailure: false
783
- });
784
- return {
785
- action: 'infra_retry',
786
- reason: 'aicoder_v6_infra_retry',
787
- nextLane: last.lane,
788
- nextStep: last.stepType,
789
- repeatedNoProgressCount,
790
- budgetExceeded: false,
791
- ...recoveryFieldsFor(recoveryPlan)
792
- };
793
- }
794
- if (last?.outcome === 'ready_to_publish') {
795
- const recoveryPlan = recoveryPlanFor('ready_to_publish', 'aicoder_v6_ready_to_publish', {
796
- failureClass: 'release',
797
- productRepairFailure: false
798
- });
799
- return {
800
- action: 'ready_to_publish',
801
- reason: 'aicoder_v6_ready_to_publish',
802
- nextLane: 'publish',
803
- nextStep: 'publish',
804
- repeatedNoProgressCount,
805
- budgetExceeded: false,
806
- ...recoveryFieldsFor(recoveryPlan)
807
- };
808
- }
809
- const recoveryPlan = managerDecision.recoveryPlan || recoveryPlanFor('continue', 'aicoder_v6_continue');
810
- const fallbackCheckpoint = managerDecision.recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);
811
- return {
812
- action: 'continue',
813
- reason: 'aicoder_v6_continue',
814
- nextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,
815
- nextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,
816
- repeatedNoProgressCount,
817
- budgetExceeded: false,
818
- ...recoveryFieldsFor(recoveryPlan, fallbackCheckpoint, managerDecision.recoveryEvidenceProbe)
819
- };
820
- }
821
-
822
- export function buildResolveIOAICoderV6DiagnoseFirstPrompt(lines: {
823
- goal?: string;
824
- approvedScope?: string[];
825
- activeLane?: ResolveIOAICoderV6Lane;
826
- activeStep?: ResolveIOAICoderV6StepType;
827
- activeBlocker?: string;
828
- laneSummary?: string;
829
- currentQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];
830
- journeyContractPath?: string;
831
- activeWorkflowStep?: string;
832
- artifactPaths?: string[];
833
- changedFiles?: string[];
834
- }): string[] {
835
- return [
836
- 'AICoder Runner V6 contract: use compact lane memory, diagnose first, then make the smallest proven next move.',
837
- 'Start with Diagnose First: observed evidence, likely cause, smallest next action, and expected proof.',
838
- 'Use current artifacts, changed files, and lane memory before asking for broad context.',
839
- 'Do not spawn duplicate build, QA, browser, server, Mongo, or Codex processes.',
840
- 'If repairing, inspect logs/artifacts/source/diff first; retest the failed check before advancing.',
841
- 'If the same blocker repeats without new proof, park with the exact blocker instead of burning more tokens.',
842
- lines.goal ? `Goal: ${cleanText(lines.goal, 500)}` : '',
843
- cleanList(lines.approvedScope, 12, 240).length ? `Approved scope: ${cleanList(lines.approvedScope, 12, 240).join(' | ')}` : '',
844
- lines.activeLane ? `Active lane: ${lines.activeLane}` : '',
845
- lines.activeStep ? `Active step: ${lines.activeStep}` : '',
846
- lines.laneSummary ? `Lane memory: ${cleanText(lines.laneSummary, 700)}` : '',
847
- lines.activeBlocker ? `Active blocker: ${cleanText(lines.activeBlocker, 800)}` : '',
848
- lines.currentQaRow?.workflow ? `Current QA row: ${cleanText(lines.currentQaRow.workflow, 300)}` : '',
849
- lines.currentQaRow?.route ? `Current QA route: ${cleanText(lines.currentQaRow.route, 300)}` : '',
850
- lines.journeyContractPath ? `Journey contract: ${cleanText(lines.journeyContractPath, 240)}` : '',
851
- lines.activeWorkflowStep ? `Active workflow step: ${cleanText(lines.activeWorkflowStep, 240)}` : '',
852
- cleanList(lines.changedFiles, 12, 200).length ? `Changed files: ${cleanList(lines.changedFiles, 12, 200).join(', ')}` : '',
853
- cleanList(lines.artifactPaths, 12, 240).length ? `Artifacts: ${cleanList(lines.artifactPaths, 12, 240).join(', ')}` : ''
854
- ].filter(Boolean);
855
- }
856
-
857
- export function buildResolveIOAICoderV6Incident(input: {
858
- incidentClass: string;
859
- summary: string;
860
- stepType?: ResolveIOAICoderV6StepType;
861
- lane?: ResolveIOAICoderV6Lane;
862
- blocker?: string;
863
- artifactPaths?: string[];
864
- now?: Date | string;
865
- }): ResolveIOAICoderV6RunnerIncident {
866
- return {
867
- incidentClass: cleanText(input.incidentClass, 120) || 'aicoder_v6_runner_incident',
868
- summary: cleanText(input.summary, 1200),
869
- stepType: input.stepType,
870
- lane: input.lane,
871
- blockerFingerprint: input.blocker ? fingerprintResolveIOAICoderV6Blocker(input.blocker) : undefined,
872
- artifactPaths: cleanList(input.artifactPaths, 40, 500),
873
- recordedAt: isoNow(input.now)
874
- };
875
- }