@runcofactor/cli 0.13.0 → 0.15.1

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 (149) hide show
  1. package/dist/account-62I7FG5G.js +255 -0
  2. package/dist/account-62I7FG5G.js.map +1 -0
  3. package/dist/{api-catalog-7HLEN7C2.js → api-catalog-CAJUASVC.js} +5 -5
  4. package/dist/{attachment-OVNQD6Z2.js → attachment-RL4AZUJE.js} +5 -5
  5. package/dist/augmentor-GAF3MFY6.js +198 -0
  6. package/dist/augmentor-GAF3MFY6.js.map +1 -0
  7. package/dist/{auth-VUHL74FH.js → auth-DURHUZDW.js} +3 -3
  8. package/dist/{chunk-YN763NWQ.js → chunk-26U3DGUM.js} +10 -4
  9. package/dist/chunk-26U3DGUM.js.map +1 -0
  10. package/dist/{chunk-JZMJUPZP.js → chunk-32P26BZT.js} +3 -3
  11. package/dist/chunk-32P26BZT.js.map +1 -0
  12. package/dist/{chunk-QQVWGWPI.js → chunk-5R4HMSNX.js} +8561 -1511
  13. package/dist/chunk-5R4HMSNX.js.map +1 -0
  14. package/dist/{chunk-VGTKUOYS.js → chunk-AQPJQ5AE.js} +2 -2
  15. package/dist/{chunk-CQE46HSM.js → chunk-CFJXYPTF.js} +14 -8
  16. package/dist/chunk-CFJXYPTF.js.map +1 -0
  17. package/dist/{chunk-NL7CVG56.js → chunk-CJEKEW7R.js} +57 -10
  18. package/dist/chunk-CJEKEW7R.js.map +1 -0
  19. package/dist/{chunk-Z5LUTUDN.js → chunk-G5SXUXSU.js} +3 -3
  20. package/dist/{chunk-ZTOE3ND3.js → chunk-HKQ5XQAQ.js} +4 -4
  21. package/dist/{chunk-PZ4LCN6K.js → chunk-IGHDIWZU.js} +2 -2
  22. package/dist/{chunk-QGI4UCJX.js → chunk-IWKJQZJQ.js} +124 -74
  23. package/dist/chunk-IWKJQZJQ.js.map +1 -0
  24. package/dist/{chunk-ZD3KHESI.js → chunk-KRWRUU6R.js} +27 -7
  25. package/dist/chunk-KRWRUU6R.js.map +1 -0
  26. package/dist/{chunk-CRHPDPRS.js → chunk-PXFDH6YL.js} +63 -8
  27. package/dist/{chunk-CRHPDPRS.js.map → chunk-PXFDH6YL.js.map} +1 -1
  28. package/dist/{chunk-EJ4U242G.js → chunk-UZ2ZA5A6.js} +2 -2
  29. package/dist/{chunk-EEN2TZUQ.js → chunk-VKBTI5EF.js} +3 -3
  30. package/dist/{chunk-ENDHMYEJ.js → chunk-ZXRVFFCY.js} +3 -3
  31. package/dist/{credential-LO2SEEHU.js → credential-JGVSEGVH.js} +5 -5
  32. package/dist/{credential-template-ZN7W7734.js → credential-template-CWWMOKB2.js} +5 -5
  33. package/dist/{debug-workflow-R3RYYAXK.js → debug-workflow-BXRU72YZ.js} +5 -5
  34. package/dist/{docs-DIAFBDXQ.js → docs-PVBXPTGR.js} +95 -11
  35. package/dist/docs-PVBXPTGR.js.map +1 -0
  36. package/dist/{doctor-NZPUSCRE.js → doctor-RHMKD4W5.js} +3 -3
  37. package/dist/{environment-RQVU4P5M.js → environment-WZKIO3R3.js} +5 -5
  38. package/dist/{feature-flag-XG26RURR.js → feature-flag-K5REGGDY.js} +98 -12
  39. package/dist/feature-flag-K5REGGDY.js.map +1 -0
  40. package/dist/index.js +107 -51
  41. package/dist/index.js.map +1 -1
  42. package/dist/{init-EDNLKGPT.js → init-FFUZO5D7.js} +5 -5
  43. package/dist/{install-FYZ3HNZK.js → install-XRKEQAFZ.js} +5 -5
  44. package/dist/{issues-NNRVTJ4L.js → issues-I3V6GEXU.js} +5 -5
  45. package/dist/{knobs-A2BOBH22.js → knobs-6WLJMB44.js} +7 -6
  46. package/dist/knobs-6WLJMB44.js.map +1 -0
  47. package/dist/{list-F33VZ4BJ.js → list-PHC7VYNS.js} +5 -5
  48. package/dist/{local-DQDTM3XA.js → local-VGYRSW22.js} +7 -7
  49. package/dist/{login-BUMVIB36.js → login-QPU2BKG2.js} +5 -5
  50. package/dist/{mcp-B5Y5CDMQ.js → mcp-LA452TOA.js} +9 -9
  51. package/dist/{mcp-B5Y5CDMQ.js.map → mcp-LA452TOA.js.map} +1 -1
  52. package/dist/{pdf-extract-ABWV3L5X.js → pdf-extract-YHE54XU4.js} +2 -2
  53. package/dist/product-RSZV5HMB.js +346 -0
  54. package/dist/product-RSZV5HMB.js.map +1 -0
  55. package/dist/{property-NJ4SRXQG.js → property-YP4GHQAR.js} +5 -5
  56. package/dist/{psql-VBZFCMNR.js → psql-XGLBI6T7.js} +3 -3
  57. package/dist/{record-WAO36O7G.js → record-KWKHP2ZY.js} +6 -6
  58. package/dist/{redis-DHZXHL4S.js → redis-VJGCUJPV.js} +3 -3
  59. package/dist/redis-VJGCUJPV.js.map +1 -0
  60. package/dist/{release-STJKUKTE.js → release-NDRHPW6V.js} +5 -5
  61. package/dist/{sandbox-DWSGLY7B.js → sandbox-OOCANWOG.js} +51 -7
  62. package/dist/sandbox-OOCANWOG.js.map +1 -0
  63. package/dist/{scenarios-HCIDY725.js → scenarios-2HRLCGFY.js} +5 -5
  64. package/dist/{session-Y5RHU54D.js → session-M4ULYDYP.js} +8 -9
  65. package/dist/session-M4ULYDYP.js.map +1 -0
  66. package/dist/{skill-23WAHUOB.js → skill-4DGPRDUC.js} +10 -10
  67. package/dist/{skill-23WAHUOB.js.map → skill-4DGPRDUC.js.map} +1 -1
  68. package/dist/skills/debug-run/SKILL.md +7 -1
  69. package/dist/skills/debug-run/history/1.3.1.md +279 -0
  70. package/dist/skills/debug-run/version.json +1 -1
  71. package/dist/skills/optimize-cache/SKILL.md +41 -4
  72. package/dist/{spec-LM5XHOQ5.js → spec-XZ2TKUFZ.js} +5 -5
  73. package/dist/{src-BGDRMOKC.js → src-2FK3JHGW.js} +315 -104
  74. package/dist/src-2FK3JHGW.js.map +1 -0
  75. package/dist/{src-NCJPUAE6.js → src-CV57ZD6I.js} +10 -8
  76. package/dist/{src-22RI5VP2.js → src-HL7HEJIW.js} +2 -2
  77. package/dist/{src-Y3K7UJEF.js → src-OU7544PM.js} +6 -4
  78. package/dist/{start-SWY55CZX.js → start-IYKF3C3X.js} +5 -5
  79. package/dist/{tag-YSU2XXPI.js → tag-T45MMSCH.js} +6 -6
  80. package/dist/{task-NLBKLD7D.js → task-MCUHAVTD.js} +5 -5
  81. package/dist/{test-suite-QCPWZ2LS.js → test-suite-BICBRSBP.js} +10 -8
  82. package/dist/{test-suite-QCPWZ2LS.js.map → test-suite-BICBRSBP.js.map} +1 -1
  83. package/dist/trace-2BAPMYAS.js +16 -0
  84. package/dist/{triage-TT4BMDBU.js → triage-M3RZ2ASB.js} +6 -6
  85. package/dist/{upgrade-6ZUFETKX.js → upgrade-4QCRAUHP.js} +3 -3
  86. package/dist/{workflow-2CX3ZNOQ.js → workflow-4J23FV7K.js} +86 -15
  87. package/dist/workflow-4J23FV7K.js.map +1 -0
  88. package/dist/{workflow-cache-GXNE6SU2.js → workflow-cache-XPSK6KC7.js} +26 -13
  89. package/dist/workflow-cache-XPSK6KC7.js.map +1 -0
  90. package/dist/{workflow-debug-PRX3DWGD.js → workflow-debug-W4USZH35.js} +9 -9
  91. package/dist/{workflow-proposals-BW327WGL.js → workflow-proposals-5E3DTYZB.js} +5 -7
  92. package/dist/workflow-proposals-5E3DTYZB.js.map +1 -0
  93. package/package.json +5 -1
  94. package/dist/chunk-CQE46HSM.js.map +0 -1
  95. package/dist/chunk-JZMJUPZP.js.map +0 -1
  96. package/dist/chunk-NL7CVG56.js.map +0 -1
  97. package/dist/chunk-QGI4UCJX.js.map +0 -1
  98. package/dist/chunk-QQVWGWPI.js.map +0 -1
  99. package/dist/chunk-YN763NWQ.js.map +0 -1
  100. package/dist/chunk-ZD3KHESI.js.map +0 -1
  101. package/dist/docs-DIAFBDXQ.js.map +0 -1
  102. package/dist/feature-flag-XG26RURR.js.map +0 -1
  103. package/dist/knobs-A2BOBH22.js.map +0 -1
  104. package/dist/redis-DHZXHL4S.js.map +0 -1
  105. package/dist/sandbox-DWSGLY7B.js.map +0 -1
  106. package/dist/session-Y5RHU54D.js.map +0 -1
  107. package/dist/src-BGDRMOKC.js.map +0 -1
  108. package/dist/trace-A3ZY6K26.js +0 -16
  109. package/dist/workflow-2CX3ZNOQ.js.map +0 -1
  110. package/dist/workflow-cache-GXNE6SU2.js.map +0 -1
  111. package/dist/workflow-proposals-BW327WGL.js.map +0 -1
  112. /package/dist/{api-catalog-7HLEN7C2.js.map → api-catalog-CAJUASVC.js.map} +0 -0
  113. /package/dist/{attachment-OVNQD6Z2.js.map → attachment-RL4AZUJE.js.map} +0 -0
  114. /package/dist/{auth-VUHL74FH.js.map → auth-DURHUZDW.js.map} +0 -0
  115. /package/dist/{chunk-VGTKUOYS.js.map → chunk-AQPJQ5AE.js.map} +0 -0
  116. /package/dist/{chunk-Z5LUTUDN.js.map → chunk-G5SXUXSU.js.map} +0 -0
  117. /package/dist/{chunk-ZTOE3ND3.js.map → chunk-HKQ5XQAQ.js.map} +0 -0
  118. /package/dist/{chunk-PZ4LCN6K.js.map → chunk-IGHDIWZU.js.map} +0 -0
  119. /package/dist/{chunk-EJ4U242G.js.map → chunk-UZ2ZA5A6.js.map} +0 -0
  120. /package/dist/{chunk-EEN2TZUQ.js.map → chunk-VKBTI5EF.js.map} +0 -0
  121. /package/dist/{chunk-ENDHMYEJ.js.map → chunk-ZXRVFFCY.js.map} +0 -0
  122. /package/dist/{credential-LO2SEEHU.js.map → credential-JGVSEGVH.js.map} +0 -0
  123. /package/dist/{credential-template-ZN7W7734.js.map → credential-template-CWWMOKB2.js.map} +0 -0
  124. /package/dist/{debug-workflow-R3RYYAXK.js.map → debug-workflow-BXRU72YZ.js.map} +0 -0
  125. /package/dist/{doctor-NZPUSCRE.js.map → doctor-RHMKD4W5.js.map} +0 -0
  126. /package/dist/{environment-RQVU4P5M.js.map → environment-WZKIO3R3.js.map} +0 -0
  127. /package/dist/{init-EDNLKGPT.js.map → init-FFUZO5D7.js.map} +0 -0
  128. /package/dist/{install-FYZ3HNZK.js.map → install-XRKEQAFZ.js.map} +0 -0
  129. /package/dist/{issues-NNRVTJ4L.js.map → issues-I3V6GEXU.js.map} +0 -0
  130. /package/dist/{list-F33VZ4BJ.js.map → list-PHC7VYNS.js.map} +0 -0
  131. /package/dist/{local-DQDTM3XA.js.map → local-VGYRSW22.js.map} +0 -0
  132. /package/dist/{login-BUMVIB36.js.map → login-QPU2BKG2.js.map} +0 -0
  133. /package/dist/{pdf-extract-ABWV3L5X.js.map → pdf-extract-YHE54XU4.js.map} +0 -0
  134. /package/dist/{property-NJ4SRXQG.js.map → property-YP4GHQAR.js.map} +0 -0
  135. /package/dist/{psql-VBZFCMNR.js.map → psql-XGLBI6T7.js.map} +0 -0
  136. /package/dist/{record-WAO36O7G.js.map → record-KWKHP2ZY.js.map} +0 -0
  137. /package/dist/{release-STJKUKTE.js.map → release-NDRHPW6V.js.map} +0 -0
  138. /package/dist/{scenarios-HCIDY725.js.map → scenarios-2HRLCGFY.js.map} +0 -0
  139. /package/dist/{spec-LM5XHOQ5.js.map → spec-XZ2TKUFZ.js.map} +0 -0
  140. /package/dist/{src-NCJPUAE6.js.map → src-CV57ZD6I.js.map} +0 -0
  141. /package/dist/{src-22RI5VP2.js.map → src-HL7HEJIW.js.map} +0 -0
  142. /package/dist/{src-Y3K7UJEF.js.map → src-OU7544PM.js.map} +0 -0
  143. /package/dist/{start-SWY55CZX.js.map → start-IYKF3C3X.js.map} +0 -0
  144. /package/dist/{tag-YSU2XXPI.js.map → tag-T45MMSCH.js.map} +0 -0
  145. /package/dist/{task-NLBKLD7D.js.map → task-MCUHAVTD.js.map} +0 -0
  146. /package/dist/{trace-A3ZY6K26.js.map → trace-2BAPMYAS.js.map} +0 -0
  147. /package/dist/{triage-TT4BMDBU.js.map → triage-M3RZ2ASB.js.map} +0 -0
  148. /package/dist/{upgrade-6ZUFETKX.js.map → upgrade-4QCRAUHP.js.map} +0 -0
  149. /package/dist/{workflow-debug-PRX3DWGD.js.map → workflow-debug-W4USZH35.js.map} +0 -0
@@ -2792,6 +2792,38 @@ function filterMutationActions(actions) {
2792
2792
  return !OBSERVATION_METHODS.has(method);
2793
2793
  });
2794
2794
  }
2795
+ function toMutationIndex(allActions, actionIndex) {
2796
+ if (!Number.isInteger(actionIndex) || actionIndex < 0 || actionIndex >= allActions.length) {
2797
+ return {
2798
+ ok: false,
2799
+ reason: `Action index ${actionIndex} out of range (0-${allActions.length - 1} in actions.jsonl order)`
2800
+ };
2801
+ }
2802
+ const target = allActions[actionIndex];
2803
+ const mutationPositions = new Map(
2804
+ filterMutationActions(allActions).map((a, i) => [a.callId, i])
2805
+ );
2806
+ const mutationIndex = mutationPositions.get(target.callId);
2807
+ if (mutationIndex === void 0) {
2808
+ let prev = null;
2809
+ let next = null;
2810
+ for (let i = actionIndex - 1; i >= 0 && prev === null; i--) {
2811
+ if (mutationPositions.has(allActions[i].callId)) prev = i;
2812
+ }
2813
+ for (let i = actionIndex + 1; i < allActions.length && next === null; i++) {
2814
+ if (mutationPositions.has(allActions[i].callId)) next = i;
2815
+ }
2816
+ const neighbours = [
2817
+ prev !== null ? `previous mutation at index ${prev}` : null,
2818
+ next !== null ? `next mutation at index ${next}` : null
2819
+ ].filter(Boolean).join(", ");
2820
+ return {
2821
+ ok: false,
2822
+ reason: `Action ${actionIndex} (${target.title}) is an observation action with no page state of its own \u2014 materialize a mutation action instead${neighbours ? ` (${neighbours})` : ""}`
2823
+ };
2824
+ }
2825
+ return { ok: true, mutationIndex };
2826
+ }
2795
2827
  function parseTraceGroups(traceZipPath) {
2796
2828
  const zip = new import_adm_zip.default(traceZipPath);
2797
2829
  const traceEntries = zip.getEntries().filter((e) => e.entryName.endsWith(".trace") && !e.entryName.endsWith(".network"));
@@ -2852,7 +2884,10 @@ async function reconstructSnapshots(options) {
2852
2884
  const targetActions = actionIndex !== void 0 ? [actions[actionIndex]] : actions;
2853
2885
  log("Starting trace viewer server...");
2854
2886
  const { startTraceViewerServer } = await loadTraceViewer();
2855
- const server = await startTraceViewerServer({ host: "127.0.0.1" });
2887
+ const server = await startTraceViewerServer({
2888
+ host: "127.0.0.1",
2889
+ allowedFileRoots: [path.dirname(resolvedPath)]
2890
+ });
2856
2891
  const serverUrl = server.urlPrefix("precise");
2857
2892
  const traceFileUrl = `${serverUrl}/trace/file?path=${encodeURIComponent(resolvedPath)}`;
2858
2893
  let browser;
@@ -2863,12 +2898,8 @@ async function reconstructSnapshots(options) {
2863
2898
  log("Initializing service worker...");
2864
2899
  const initPage = await context.newPage();
2865
2900
  const snapshotHtmlUrl = `${serverUrl}/trace/snapshot.html?trace=${encodeURIComponent(traceFileUrl)}&r=about:blank`;
2866
- await initPage.goto(snapshotHtmlUrl, { waitUntil: "networkidle" });
2867
- await initPage.waitForFunction(
2868
- () => !!navigator.serviceWorker.controller,
2869
- null,
2870
- { timeout: 1e4 }
2871
- );
2901
+ await initPage.goto(snapshotHtmlUrl, { waitUntil: "load", timeout: 15e3 });
2902
+ await waitForTraceServiceWorker(initPage);
2872
2903
  await initPage.close();
2873
2904
  log("Service worker ready");
2874
2905
  const snapshotPage = await context.newPage();
@@ -2921,6 +2952,21 @@ async function reconstructSnapshots(options) {
2921
2952
  });
2922
2953
  }
2923
2954
  }
2955
+ async function waitForTraceServiceWorker(page) {
2956
+ await page.waitForFunction(
2957
+ async () => {
2958
+ if (!("serviceWorker" in navigator)) return false;
2959
+ if (navigator.serviceWorker.controller) return true;
2960
+ const registration = await navigator.serviceWorker.ready.catch(() => null);
2961
+ if (!registration) return false;
2962
+ if (navigator.serviceWorker.controller) return true;
2963
+ if (!registration.active) return false;
2964
+ return true;
2965
+ },
2966
+ null,
2967
+ { timeout: 1e4 }
2968
+ );
2969
+ }
2924
2970
  async function captureSnapshot(page, serverUrl, traceFileUrl, pageId, snapshotName, includeHtml) {
2925
2971
  const snapshotUrl = `${serverUrl}/trace/snapshot/${pageId}?trace=${encodeURIComponent(traceFileUrl)}&name=${encodeURIComponent(snapshotName)}`;
2926
2972
  await page.goto(snapshotUrl, { waitUntil: "load", timeout: 15e3 });
@@ -2948,6 +2994,14 @@ function cleanupTrace(tmpPath) {
2948
2994
  async function loadTraceViewer() {
2949
2995
  const { createRequire } = await import("module");
2950
2996
  const require2 = createRequire(import.meta.url);
2997
+ try {
2998
+ const pwCorePackage = require2.resolve("playwright-core/package.json");
2999
+ const pwCoreDir = path.dirname(pwCorePackage);
3000
+ const coreBundle = require2(path.join(pwCoreDir, "lib", "coreBundle.js"));
3001
+ const factory = coreBundle?.server?.startTraceViewerServer;
3002
+ if (typeof factory === "function") return { startTraceViewerServer: factory };
3003
+ } catch {
3004
+ }
2951
3005
  try {
2952
3006
  const pwCorePackage = require2.resolve("playwright-core/package.json");
2953
3007
  const pwCoreDir = path.dirname(pwCorePackage);
@@ -2969,9 +3023,10 @@ async function loadTraceViewer() {
2969
3023
  export {
2970
3024
  parseTraceActions,
2971
3025
  filterMutationActions,
3026
+ toMutationIndex,
2972
3027
  parseTraceGroups,
2973
3028
  reconstructSnapshots,
2974
3029
  downloadTrace,
2975
3030
  cleanupTrace
2976
3031
  };
2977
- //# sourceMappingURL=chunk-CRHPDPRS.js.map
3032
+ //# sourceMappingURL=chunk-PXFDH6YL.js.map