@a11ign/screenreader-fleet 0.1.0 → 0.3.0

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 (129) hide show
  1. package/dist/capture-client.d.mts +0 -1
  2. package/dist/capture-client.mjs +144 -306
  3. package/dist/check-worker-code.d.mts +0 -1
  4. package/dist/check-worker-code.mjs +42 -141
  5. package/dist/cli-flags.d.mts +0 -1
  6. package/dist/cli-flags.mjs +33 -179
  7. package/dist/code-drift.d.mts +0 -1
  8. package/dist/command-line-census.d.mts +0 -1
  9. package/dist/compare-workers.d.mts +0 -1
  10. package/dist/compare-workers.mjs +383 -255
  11. package/dist/control-plane-isolation.d.mts +0 -1
  12. package/dist/deploy-worker.d.mts +0 -1
  13. package/dist/deploy-worker.mjs +101 -242
  14. package/dist/doctor.d.mts +0 -1
  15. package/dist/doctor.mjs +361 -809
  16. package/dist/fleet-consistency.d.mts +0 -1
  17. package/dist/fleet-consistency.mjs +155 -379
  18. package/dist/fleet-env.d.mts +0 -1
  19. package/dist/fleet-env.mjs +148 -438
  20. package/dist/fleet-scripts.d.mts +0 -1
  21. package/dist/git-safe-env.d.mts +0 -1
  22. package/dist/guest-run.d.mts +0 -1
  23. package/dist/host-address.d.mts +0 -1
  24. package/dist/host-address.mjs +19 -90
  25. package/dist/host-capacity.d.mts +0 -1
  26. package/dist/host-capacity.mjs +22 -136
  27. package/dist/host-metrics.d.mts +0 -1
  28. package/dist/index.d.ts +0 -1
  29. package/dist/index.mjs +231 -0
  30. package/dist/local-vm.d.ts +0 -1
  31. package/dist/measure-guard.d.mts +0 -1
  32. package/dist/normalise-fleet.d.mts +0 -1
  33. package/dist/npm-cli-executable.d.mts +0 -1
  34. package/dist/probe-outcome.d.mts +0 -1
  35. package/dist/probe-outcome.mjs +50 -96
  36. package/dist/protocol-guard.d.mts +0 -1
  37. package/dist/source-walk.d.mts +0 -1
  38. package/dist/src_fleet-scripts_mjs.mjs +16 -0
  39. package/dist/src_git-safe-env_mjs.mjs +9 -0
  40. package/dist/src_utm-deprecated_mjs.mjs +4 -0
  41. package/dist/transient-fault.d.mts +0 -1
  42. package/dist/transient-fault.mjs +21 -81
  43. package/dist/utm-deprecated.d.mts +0 -1
  44. package/dist/worker-code-check.d.mts +0 -1
  45. package/dist/worker-code-check.mjs +127 -76
  46. package/dist/worker-health.d.mts +0 -1
  47. package/dist/worker-health.mjs +16 -61
  48. package/dist/worker-http.d.mts +0 -1
  49. package/dist/worker-http.mjs +42 -234
  50. package/dist/worker-stats.d.mts +0 -1
  51. package/package.json +12 -5
  52. package/dist/capture-client.d.mts.map +0 -1
  53. package/dist/capture-client.mjs.map +0 -1
  54. package/dist/check-worker-code.d.mts.map +0 -1
  55. package/dist/check-worker-code.mjs.map +0 -1
  56. package/dist/cli-flags.d.mts.map +0 -1
  57. package/dist/cli-flags.mjs.map +0 -1
  58. package/dist/code-drift.d.mts.map +0 -1
  59. package/dist/code-drift.mjs +0 -284
  60. package/dist/code-drift.mjs.map +0 -1
  61. package/dist/command-line-census.d.mts.map +0 -1
  62. package/dist/command-line-census.mjs +0 -96
  63. package/dist/command-line-census.mjs.map +0 -1
  64. package/dist/compare-workers.d.mts.map +0 -1
  65. package/dist/compare-workers.mjs.map +0 -1
  66. package/dist/control-plane-isolation.d.mts.map +0 -1
  67. package/dist/control-plane-isolation.mjs +0 -67
  68. package/dist/control-plane-isolation.mjs.map +0 -1
  69. package/dist/deploy-worker.d.mts.map +0 -1
  70. package/dist/deploy-worker.mjs.map +0 -1
  71. package/dist/doctor.d.mts.map +0 -1
  72. package/dist/doctor.mjs.map +0 -1
  73. package/dist/fleet-consistency.d.mts.map +0 -1
  74. package/dist/fleet-consistency.mjs.map +0 -1
  75. package/dist/fleet-env.d.mts.map +0 -1
  76. package/dist/fleet-env.mjs.map +0 -1
  77. package/dist/fleet-scripts.d.mts.map +0 -1
  78. package/dist/fleet-scripts.mjs +0 -41
  79. package/dist/fleet-scripts.mjs.map +0 -1
  80. package/dist/git-safe-env.d.mts.map +0 -1
  81. package/dist/git-safe-env.mjs +0 -44
  82. package/dist/git-safe-env.mjs.map +0 -1
  83. package/dist/guest-run.d.mts.map +0 -1
  84. package/dist/guest-run.mjs +0 -164
  85. package/dist/guest-run.mjs.map +0 -1
  86. package/dist/host-address.d.mts.map +0 -1
  87. package/dist/host-address.mjs.map +0 -1
  88. package/dist/host-capacity.d.mts.map +0 -1
  89. package/dist/host-capacity.mjs.map +0 -1
  90. package/dist/host-metrics.d.mts.map +0 -1
  91. package/dist/host-metrics.mjs +0 -201
  92. package/dist/host-metrics.mjs.map +0 -1
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js +0 -25
  95. package/dist/index.js.map +0 -1
  96. package/dist/local-vm.d.ts.map +0 -1
  97. package/dist/local-vm.js +0 -360
  98. package/dist/local-vm.js.map +0 -1
  99. package/dist/measure-guard.d.mts.map +0 -1
  100. package/dist/measure-guard.mjs +0 -73
  101. package/dist/measure-guard.mjs.map +0 -1
  102. package/dist/normalise-fleet.d.mts.map +0 -1
  103. package/dist/normalise-fleet.mjs +0 -76
  104. package/dist/normalise-fleet.mjs.map +0 -1
  105. package/dist/npm-cli-executable.d.mts.map +0 -1
  106. package/dist/npm-cli-executable.mjs +0 -159
  107. package/dist/npm-cli-executable.mjs.map +0 -1
  108. package/dist/probe-outcome.d.mts.map +0 -1
  109. package/dist/probe-outcome.mjs.map +0 -1
  110. package/dist/protocol-guard.d.mts.map +0 -1
  111. package/dist/protocol-guard.mjs +0 -121
  112. package/dist/protocol-guard.mjs.map +0 -1
  113. package/dist/source-walk.d.mts.map +0 -1
  114. package/dist/source-walk.mjs +0 -56
  115. package/dist/source-walk.mjs.map +0 -1
  116. package/dist/transient-fault.d.mts.map +0 -1
  117. package/dist/transient-fault.mjs.map +0 -1
  118. package/dist/utm-deprecated.d.mts.map +0 -1
  119. package/dist/utm-deprecated.mjs +0 -23
  120. package/dist/utm-deprecated.mjs.map +0 -1
  121. package/dist/worker-code-check.d.mts.map +0 -1
  122. package/dist/worker-code-check.mjs.map +0 -1
  123. package/dist/worker-health.d.mts.map +0 -1
  124. package/dist/worker-health.mjs.map +0 -1
  125. package/dist/worker-http.d.mts.map +0 -1
  126. package/dist/worker-http.mjs.map +0 -1
  127. package/dist/worker-stats.d.mts.map +0 -1
  128. package/dist/worker-stats.mjs +0 -143
  129. package/dist/worker-stats.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-consistency.mjs","sourceRoot":"","sources":["../src/fleet-consistency.mjs"],"names":[],"mappings":"AAAA,YAAY;AACZ;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,gFAAgF,EAAE;IACjH,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,iEAAiE,EAAE;IACvG,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,qEAAqE;YACjG,sFAAsF,EAAE;IAC5F,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,oDAAoD,EAAE;IACrF,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,uDAAuD,EAAE;IACtF,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,0EAA0E,EAAE;IAC5G,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,yEAAyE;YACpG,oGAAoG;YACpG,mGAAmG;YACnG,mGAAmG;YACnG,kGAAkG;YAClG,8BAA8B,EAAE;IACpC,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,oEAAoE;YACrG,yFAAyF;YACzF,sEAAsE,EAAE;IAC5E,gFAAgF;IAChF,EAAE;IACF,6FAA6F;IAC7F,4FAA4F;IAC5F,kGAAkG;IAClG,qGAAqG;IACrG,8FAA8F;IAC9F,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,oEAAoE;YAClG,sFAAsF,EAAE;IAC5F,mGAAmG;IACnG,sFAAsF;IACtF,EAAE;IACF,oGAAoG;IACpG,sGAAsG;IACtG,kGAAkG;IAClG,4DAA4D;IAC5D,EAAE;IACF,qGAAqG;IACrG,mGAAmG;IACnG,mGAAmG;IACnG,kGAAkG;IAClG,sCAAsC;IACtC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,qEAAqE;YAC7F,kGAAkG;YAClG,iGAAiG;YACjG,oGAAoG;YACpG,sBAAsB,EAAE;IAC5B,sGAAsG;IACtG,oGAAoG;IACpG,qGAAqG;IACrG,oGAAoG;IACpG,uFAAuF;IACvF,EAAE;IACF,uGAAuG;IACvG,wGAAwG;IACxG,2FAA2F;IAC3F,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,yEAAyE;YAChG,oGAAoG;YACpG,+FAA+F;YAC/F,4CAA4C,EAAE;IAClD,oGAAoG;IACpG,uGAAuG;IACvG,wGAAwG;IACxG,uGAAuG;IACvG,oGAAoG;IACpG,wCAAwC;IACxC,EAAE;IACF,oGAAoG;IACpG,mGAAmG;IACnG,oGAAoG;IACpG,+FAA+F;IAC/F,mGAAmG;IACnG,+CAA+C;IAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,gEAAgE;YACxF,iGAAiG;YACjG,mGAAmG;YACnG,oGAAoG;YACpG,wFAAwF;YACxF,sCAAsC,EAAE;CAC7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,yGAAyG;IACzG,yGAAyG;IACzG,yGAAyG;IACzG,iHAAiH;IACjH,gFAAgF;IAChF,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,wEAAwE;YACnG,iGAAiG;YACjG,iGAAiG;YACjG,gGAAgG;YAChG,iFAAiF;YACjF,gGAAgG;YAChG,iGAAiG;YACjG,+FAA+F;YAC/F,2BAA2B,EAAE;CAClC,CAAC;AAEF;;;;;;;;;;GAUG;AAEH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;AAElF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,sCAAsC;IACtC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,sGAAsG;IACtG,oGAAoG;IACpG,oGAAoG;IACpG,mGAAmG;IACnG,gGAAgG;IAChG,kGAAkG;IAClG,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,kGAAkG;QAClG,yFAAyF;QACzF,iGAAiG;QACjG,mCAAmC;QACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,KAAK,IAAI,CAAC,CAAC;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,6FAA6F;QAC7F,yEAAyE;QACzE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,QAAQ,IAAI,CAAC,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE;IAChC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,QAAQ;IACtB,yBAAyB;IACzB,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,4BAA4B;IAC5B,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACxD,mGAAmG;QACnG,iGAAiG;QACjG,oGAAoG;QACpG,iGAAiG;QACjG,mBAAmB;QACnB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,OAAO,CAAC,QAAQ;IACvB,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,OAAO;IACzB,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,uGAAuG;IACvG,oGAAoG;IACpG,2DAA2D;IAC3D,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAM;IACrC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,oGAAoG;IACpG,uGAAuG;IACvG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,qGAAqG;QACrG,gFAAgF;QAChF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM;YACjE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC9E,CAAC;IACD,2BAA2B;IAC3B,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IACnD,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAClC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,cAAc,IAAI,EAAE;YACjF,GAAG,EAAE,iEAAiE;YACtE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAC/D,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM;QACxF,YAAY,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAM;IACzC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAClG,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;IACxD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1G,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,0BAA0B,KAAK,SAAS,CAAC;IACpE,OAAO,GAAG,MAAM,KAAK,QAAQ,OAAO,KAAK,sBAAsB,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAU;IAC3C,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1G,OAAO,GAAG,KAAK,KAAK,MAAM,MAAM,GAAG,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAO;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,kGAAkG;QAClG,sGAAsG;QACtG,iGAAiG;QACjG,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,sGAAsG;AACtG,SAAS,WAAW,CAAC,MAAM;IACzB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,6BAA6B;AAC7B,SAAS,WAAW,CAAC,MAAM;IACzB,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AACrD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-env.d.mts","sourceRoot":"","sources":["../src/fleet-env.mjs"],"names":[],"mappings":"AA4CA;;;;;;;;;;;;;;;;;GAiBG;AACH,qCAFa,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAehD;AA+FD;;;;;;;;;;;GAWG;AACH,mCAHW,MAAM,GACJ,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAUrC;AA4FD;;;;;;;;;;;;;;;GAeG;AACH,2CAJW,MAAM,2BACN;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC5D,MAAM,EAAE,CAWpB;AAED;;;;;;GAMG;AACH,2CAJW,MAAM,oBACN;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,EAAE,CAMzC;AAED;;;;;;;;;GASG;AACH,+CAJW,MAAM,oBACN;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBlC;AAiCD,kFAAkF;AAClF,6CAA6C;AAC7C,wCADY,MAAM,GAAiB,MAAM,CAIxC;AAED;;;;;;;;;;;;;;;GAeG;AACH,uEAFW;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,YAW5D;AAED;;;;;;;;;;;;;;;GAeG;AACH,yEAHW;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,EAAE,CAYzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,iEAHW;IAAE,KAAK,CAAC,EAAE,MAAM;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmB9C;AAED;;;;;;;;;;;GAWG;AACH,qCAJW,MAAM,mBACN;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,GACtC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAe5C;AA/dD,kCAAmC,IAAI,CAAC;AAqExC;;;;;;;;;GASG;AACH,2BAA4B,cAAc,CAAC;;;;oBAK9B;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC;;;;;;;;;;;mBAa7B;IAAC,IAAI,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-env.mjs","sourceRoot":"","sources":["../src/fleet-env.mjs"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-scripts.d.mts","sourceRoot":"","sources":["../src/fleet-scripts.mjs"],"names":[],"mappings":"AA6BA,0GAA0G;AAC1G;;;;;;;;EAWC"}
@@ -1,41 +0,0 @@
1
- // @ts-check
2
- /**
3
- * Where the fleet's shell, PowerShell and XML assets live — ONE definition.
4
- *
5
- * `worker-ctl.sh` was resolved independently in four modules: `local-vm.ts`, `doctor.mjs`,
6
- * `deploy-worker.mjs` and `check-worker-code.mjs`. Three of them agreed and the fourth did not —
7
- * `local-vm.ts` said `../../scripts/local-worker/…`, which after M6 pointed at `packages/scripts/…`, a
8
- * directory that does not exist. So `leaseWorker`, the primary export of this package, could not find the
9
- * script it drives.
10
- *
11
- * It went unnoticed because every check that exercised a lease set `A11Y_WORKER`, which short-circuits VM
12
- * discovery — so the DEFAULT path, the one CLAUDE.md documents as "with no A11Y_WORKER set the run finds the
13
- * local VM", was the one path never run. Four copies of a fact is three chances to be wrong about it.
14
- *
15
- * `.mjs` rather than `.ts` on purpose: the fleet's own scripts are `.mjs` and are run directly with
16
- * `node packages/worker-fleet/src/doctor.mjs`, with nothing compiled first, so they can only import `.mjs`
17
- * siblings.
18
- */
19
- import { fileURLToPath } from "node:url";
20
- import { join } from "node:path";
21
- /**
22
- * `../src/local-worker/`, NOT `./local-worker/`. These assets are not JavaScript, so tsc does not copy them
23
- * into `dist` — they ship from `src`. Resolving via the package root works from `src/…` under tsx and from
24
- * `dist/…` when installed, because the two are siblings one level below it. Getting this wrong is not subtle:
25
- * the isolation gate failed with `dist/local-worker/` missing.
26
- */
27
- const assetDir = () => fileURLToPath(new URL("../src/local-worker/", import.meta.url));
28
- /** Absolute paths to the provisioning and lifecycle scripts. Absolute, because a consumer spawns them. */
29
- export function fleetScriptPaths() {
30
- const dir = assetDir();
31
- return {
32
- dir,
33
- workerCtl: join(dir, "worker-ctl.sh"),
34
- buildVm: join(dir, "build-vm.sh"),
35
- cloneWorker: join(dir, "clone-worker.sh"),
36
- createUtmVm: join(dir, "create-utm-vm.sh"),
37
- fetchWindowsIso: join(dir, "fetch-windows-iso.sh"),
38
- provisioning: fileURLToPath(new URL("../src/provisioning/", import.meta.url)),
39
- };
40
- }
41
- //# sourceMappingURL=fleet-scripts.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-scripts.mjs","sourceRoot":"","sources":["../src/fleet-scripts.mjs"],"names":[],"mappings":"AAAA,YAAY;AACZ;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvF,0GAA0G;AAC1G,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,OAAO;QACL,GAAG;QACH,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC;QACrC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC;QACjC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC;QACzC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC;QAC1C,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC;QAClD,YAAY,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9E,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-safe-env.d.mts","sourceRoot":"","sources":["../src/git-safe-env.mjs"],"names":[],"mappings":"AA8BA;;;;;GAKG;AACH,sCAHW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAS9C;AAxBD,gCAAgC;AAChC,sCADW,SAAS,MAAM,EAAE,CAS1B"}
@@ -1,44 +0,0 @@
1
- // A DELIBERATE, DISCLOSED DUPLICATE of `packages/guards/src/git-env.mjs` at the repo root.
2
- //
3
- // git EXPORTS `GIT_DIR`/`GIT_WORK_TREE`/`GIT_INDEX_FILE` into every hook environment, and a process that
4
- // spawns `git` with an inherited `env` operates on whatever `GIT_DIR` names, not on `cwd` -- see
5
- // `packages/guards/src/git-env.mjs`'s header for the incident that proved it (a pre-push-hook test forged 15 commits
6
- // across all refs of the real repo).
7
- //
8
- // This package publishes `check-worker-code.mjs` and `deploy-worker.mjs` as `bin` entries
9
- // (`package.json`), so every file they import -- `code-drift.mjs` among them -- ships in the published
10
- // tarball and can only import from INSIDE `@a11ign/screenreader-fleet`. The repo-root `scripts/` directory
11
- // does not exist once this package is installed from npm, so importing it here would work in this
12
- // monorepo and break for every real consumer. That is the entire reason this file exists rather than a
13
- // relative import to the root: not stylistic preference, a publish-boundary constraint (see ADR 0004).
14
- //
15
- // Kept textually identical to `packages/guards/src/git-env.mjs` and pinned equal to it by
16
- // `git-safe-env.test.ts`, which is this repo's own remedy #3 ("pin them equal with a test") for a fact
17
- // that CANNOT be stated once because the two copies cross a package-publishing boundary neither can
18
- // import through.
19
- /** @type {readonly string[]} */
20
- export const KNOWN_GIT_REDIRECT_VARS = [
21
- "GIT_DIR",
22
- "GIT_WORK_TREE",
23
- "GIT_INDEX_FILE",
24
- "GIT_CEILING_DIRECTORIES",
25
- "GIT_OBJECT_DIRECTORY",
26
- "GIT_ALTERNATE_OBJECT_DIRECTORIES",
27
- "GIT_COMMON_DIR",
28
- ];
29
- /**
30
- * `process.env` with every `GIT_*` key removed, `extra` applied on top. A prefix strip, never a list
31
- * lookup, so a new `GIT_*` variable is caught without this file needing to know its name.
32
- * @param {Record<string, string>} [extra]
33
- * @returns {Record<string, string | undefined>}
34
- */
35
- export function sandboxGitEnv(extra = {}) {
36
- /** @type {Record<string, string | undefined>} */
37
- const scrubbed = {};
38
- for (const [key, value] of Object.entries(process.env)) {
39
- if (!key.startsWith("GIT_"))
40
- scrubbed[key] = value;
41
- }
42
- return { ...scrubbed, ...extra };
43
- }
44
- //# sourceMappingURL=git-safe-env.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-safe-env.mjs","sourceRoot":"","sources":["../src/git-safe-env.mjs"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,yGAAyG;AACzG,iGAAiG;AACjG,qHAAqH;AACrH,qCAAqC;AACrC,EAAE;AACF,0FAA0F;AAC1F,uGAAuG;AACvG,2GAA2G;AAC3G,kGAAkG;AAClG,uGAAuG;AACvG,uGAAuG;AACvG,EAAE;AACF,0FAA0F;AAC1F,uGAAuG;AACvG,oGAAoG;AACpG,kBAAkB;AAElB,gCAAgC;AAChC,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,yBAAyB;IACzB,sBAAsB;IACtB,kCAAkC;IAClC,gBAAgB;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAK,GAAG,EAAE;IACtC,iDAAiD;IACjD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACnC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-run.d.mts","sourceRoot":"","sources":["../src/guest-run.mjs"],"names":[],"mappings":"AAuDA;;;;;GAKG;AACH,+DAA+D;AAC/D,0DADY;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,UAIpD;AAED;;;;;GAKG;AACH,sDAAsD;AACtD,iCADY,MAAM,cAAe,MAAM,UAWtC;AAED,+FAA+F;AAC/F,6BAA6B;AAC7B,oCAAoC;AACpC,mCADY,MAAM,GAAG,IAAI,WAGxB;AAxCD,sFAAsF;AACtF,4BAA6B,sBAAsB,CAAC"}
@@ -1,164 +0,0 @@
1
- // @ts-check
2
- // Run a script on a guest, elevated, and get its output back.
3
- //
4
- // node packages/worker-fleet/src/guest-run.mjs <vm-name> <local-script.cmd> [--timeout=600]
5
- //
6
- // This exists because there was no reliable way to do it, and the workarounds each failed differently:
7
- //
8
- // utmctl exec runs as NT AUTHORITY\SYSTEM -- fully elevated -- but returns NO OUTPUT and exit
9
- // code 0 whether or not the command ran. Fine for firing something, useless for
10
- // knowing what happened.
11
- // the worker's HTTP unelevated. The worker task is RunLevel Limited on purpose (NVDA does not need
12
- // elevation), so DISM, sc.exe and Defender's registry keys are all closed to it.
13
- // Register-ScheduledTask from the worker "Access is denied" -- registering an elevated task itself
14
- // needs elevation.
15
- // ssh / WinRM / RDP not installed; ports 22, 5985, 5986, 3389 and 445 are all closed.
16
- //
17
- // The combination that works: `utmctl exec` (SYSTEM) registers a scheduled task at RunLevel HIGHEST,
18
- // starts it, and the task writes its output to a file we pull back. Elevation from the exec channel,
19
- // results through the file channel, neither depending on the other.
20
- //
21
- // TWO TRAPS, both of which produced wrong answers today and are handled here:
22
- //
23
- // 1. `utmctl exec ... -- a b c` passes a, b and c as SEPARATE argv entries. A cmd line containing
24
- // parentheses, `&` or quotes gets split across them and cmd receives fragments. A `reg query`
25
- // written that way reported "key not found" for a key that certainly existed, and nearly led to
26
- // the conclusion that a real configuration drift was a false alarm. The command is passed as ONE
27
- // argument here, always.
28
- // 2. A detached child dies with the exec that spawned it. `start /b` looked like it worked -- exit 0,
29
- // no output -- and the child never ran. A scheduled task survives because the Task Scheduler
30
- // service owns it.
31
- import { execFile } from "node:child_process";
32
- import { createReadStream, readFileSync, existsSync } from "node:fs";
33
- import { pathToFileURL } from "node:url";
34
- import { basename, resolve } from "node:path";
35
- import { promisify } from "node:util";
36
- import { refuseUnknownFlags } from "./cli-flags.mjs";
37
- import { warnUtmDeprecated } from "./utm-deprecated.mjs";
38
- /**
39
- * takes a VM name and a script POSITIONALLY, which this guard does not touch, plus `--timeout=`;
40
- * a mistyped timeout silently falls back to 600s on an operation that may legitimately need longer.
41
- *
42
- * An unrecognised flag is otherwise IGNORED, so it runs the default and reports success.
43
- */
44
- refuseUnknownFlags(["--timeout="], { entry: import.meta.url, command: "npm run guest:run" });
45
- const run = promisify(execFile);
46
- const UTMCTL = "/Applications/UTM.app/Contents/MacOS/utmctl";
47
- const GUEST_DIR = "C:\\Users\\witness\\a11y-witness";
48
- const TASK_NAME = "a11yguestrun";
49
- /** Written by the wrapper as its last act. Absent means still running, or it died. */
50
- export const DONE_SENTINEL = "---GUEST-RUN-DONE---";
51
- const POLL_MS = 5_000;
52
- /**
53
- * The cmd line that registers and starts the elevated task.
54
- *
55
- * Built as a single string on purpose -- see trap 1 above. Exported so the quoting is testable without
56
- * a guest, because it is the part that silently produces wrong answers rather than errors.
57
- */
58
- /** @param {{ scriptPath: string, taskName?: string }} where */
59
- export function scheduleCommand({ scriptPath, taskName = TASK_NAME }) {
60
- return `schtasks /create /tn ${taskName} /tr "${scriptPath}" /sc once /st 00:00 ` +
61
- `/ru SYSTEM /rl HIGHEST /f >nul 2>&1 & schtasks /run /tn ${taskName} >nul 2>&1`;
62
- }
63
- /**
64
- * Wrap a caller's script so it always terminates with the sentinel.
65
- *
66
- * Without this there is no way to distinguish "still running" from "died on line one" -- which is
67
- * exactly how a trim that crashed immediately looked identical to a trim in progress, for three boots.
68
- */
69
- /** @param {string} body @param {string} outputFile */
70
- export function wrapScript(body, outputFile) {
71
- const lines = [
72
- "@echo off",
73
- `cd /d ${GUEST_DIR}`,
74
- `set OUT=${outputFile}`,
75
- `> ${outputFile} echo === guest-run ===`,
76
- ...body.split(/\r?\n/).filter((/** @type {string} */ l) => !/^@echo off\s*$/i.test(l)).map((/** @type {string} */ l) => l.trimEnd()),
77
- `>> ${outputFile} echo ${DONE_SENTINEL}`,
78
- ];
79
- return lines.join("\r\n") + "\r\n";
80
- }
81
- /** Did the run finish? Exported because "no sentinel" and "no file" are different failures. */
82
- /** @param {string} output */
83
- /** @param {string | null} output */
84
- export function isComplete(output) {
85
- return typeof output === "string" && output.includes(DONE_SENTINEL);
86
- }
87
- /** @param {string} vmName */
88
- async function uuidFor(vmName) {
89
- const { stdout } = await run(UTMCTL, ["list"]);
90
- const line = stdout.split("\n").find((l) => l.trim().endsWith(` ${vmName}`) || l.trim().endsWith(`\t${vmName}`));
91
- const uuid = line?.trim().split(/\s+/)[0];
92
- if (!uuid)
93
- throw new Error(`no VM named '${vmName}'`);
94
- return uuid;
95
- }
96
- /** @param {string} uuid @param {string} guestPath @param {string} localPath @returns {Promise<void>} */
97
- function push(uuid, guestPath, localPath) {
98
- return new Promise((done, fail) => {
99
- const child = execFile(UTMCTL, ["file", "push", uuid, guestPath], (error) => error ? fail(new Error(`push failed: ${ /** @type {Error} */(error).message}`)) : done());
100
- if (child.stdin)
101
- createReadStream(localPath).pipe(child.stdin);
102
- });
103
- }
104
- /** @param {string} uuid @param {string} guestPath */
105
- async function pull(uuid, guestPath) {
106
- try {
107
- const { stdout } = await run(UTMCTL, ["file", "pull", uuid, guestPath], { maxBuffer: 1 << 24 });
108
- return stdout;
109
- }
110
- catch {
111
- return null; // not written yet
112
- }
113
- }
114
- async function main() {
115
- warnUtmDeprecated("node packages/worker-fleet/src/guest-run.mjs");
116
- const args = process.argv.slice(2);
117
- const [vmName, scriptFile] = args.filter((a) => !a.startsWith("--"));
118
- const timeoutS = Number(args.find((a) => a.startsWith("--timeout="))?.split("=")[1] ?? 600);
119
- if (!vmName || !scriptFile) {
120
- process.stderr.write("usage: node packages/worker-fleet/src/guest-run.mjs <vm-name> <script.cmd> [--timeout=600]\n");
121
- process.exit(2);
122
- }
123
- const local = resolve(scriptFile);
124
- if (!existsSync(local))
125
- throw new Error(`no such script: ${local}`);
126
- const name = basename(scriptFile).replace(/\.[^.]+$/, "");
127
- const guestScript = `${GUEST_DIR}\\${name}.cmd`;
128
- const guestOutput = `${GUEST_DIR}\\.${name}.out`;
129
- const wrapped = resolve(process.env.TMPDIR ?? "/tmp", `${name}.wrapped.cmd`);
130
- const { writeFileSync } = await import("node:fs");
131
- writeFileSync(wrapped, wrapScript(readFileSync(local, "utf8"), guestOutput), "utf8");
132
- const uuid = await uuidFor(vmName);
133
- process.stdout.write(`==> ${vmName} (${uuid})\n`);
134
- await push(uuid, guestScript, wrapped);
135
- process.stdout.write(` pushed ${name}.cmd\n`);
136
- // One argument. See trap 1.
137
- await run(UTMCTL, ["exec", uuid, "--cmd", "cmd.exe", "--", "/c",
138
- scheduleCommand({ scriptPath: guestScript })]);
139
- process.stdout.write(" running as SYSTEM at RunLevel HIGHEST\n");
140
- const deadline = Date.now() + timeoutS * 1000;
141
- while (Date.now() < deadline) {
142
- await new Promise((r) => setTimeout(r, POLL_MS));
143
- const output = await pull(uuid, guestOutput);
144
- if (isComplete(output)) {
145
- process.stdout.write((output ?? "").replace(DONE_SENTINEL, "").trimEnd() + "\n");
146
- process.stdout.write(" done\n");
147
- return;
148
- }
149
- }
150
- throw new Error(`no ${DONE_SENTINEL} within ${timeoutS}s — the script may still be running; ` +
151
- `pull ${guestOutput} to see how far it got`);
152
- }
153
- // `import.meta.url === pathToFileURL(process.argv[1])`, not `endsWith("guest-run.mjs")`. The old form
154
- // worked but matched on a SUFFIX, so any entry point whose path happened to end that way -- a
155
- // `my-guest-run.mjs`, a copy under another directory -- would have run this file's main instead of its own.
156
- // Every other entry point in this repo now uses the exact comparison; one idiom, so there is one thing to
157
- // get right.
158
- if (import.meta.url === pathToFileURL(process.argv[1] ?? "").href) {
159
- main().catch((error) => {
160
- process.stderr.write(`guest-run failed: ${error.message}\n`);
161
- process.exit(1);
162
- });
163
- }
164
- //# sourceMappingURL=guest-run.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-run.mjs","sourceRoot":"","sources":["../src/guest-run.mjs"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-address.d.mts","sourceRoot":"","sources":["../src/host-address.mjs"],"names":[],"mappings":"AAiCA,kGAAkG;AAClG,yBAAyB;AACzB,8BADY,MAAM,iBAKjB;AAED;;;;;;;;GAQG;AACH,wCAHW,MAAM,GACJ,MAAM,GAAG,SAAS,CAiB9B;AAED;;;;;GAKG;AACH,gDAHW,MAAM,GACJ,MAAM,GAAG,SAAS,CAS9B;AAED;;;;;;;;;;GAUG;AACH,yCAJW,MAAM,SACN,MAAM,GAAG,MAAM,GACb,MAAM,CAWlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-address.mjs","sourceRoot":"","sources":["../src/host-address.mjs"],"names":[],"mappings":"AAAA,YAAY;AACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,kGAAkG;AAClG,yBAAyB;AACzB,MAAM,UAAU,SAAS,CAAC,EAAE;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7G,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAO;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ;gBAAE,SAAS;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS;YAC7C,yFAAyF;YACzF,oBAAoB;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAS;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI;IACpF,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,oDAAoD,SAAS,0CAA0C;cACrG,6EAA6E,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,OAAO,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-capacity.d.mts","sourceRoot":"","sources":["../src/host-capacity.mjs"],"names":[],"mappings":"AAkEA;;;;;;;;;;GAUG;AACH,uDAcC;AAED,mGAAmG;AACnG,4CAEC;AAED;;;;;;;;;;GAUG;AACH,6DAFa,MAAM,CAIlB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,4EAHW;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,MAAM,CAOlB;AAED;;;;;GAKG;AACH,+DAHW;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC3D,MAAM,GAAG,IAAI,CASzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-capacity.mjs","sourceRoot":"","sources":["../src/host-capacity.mjs"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-metrics.d.mts","sourceRoot":"","sources":["../src/host-metrics.mjs"],"names":[],"mappings":"AAmDA;;;;;;;GAOG;AACH,oCAFW,MAAM;;;;;;;;SAkBhB;AAED;;;;;;;;GAQG;AACH,oCAHW,MAAM,GACJ,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,CAAC,CAiB3G;AAED;;;GAGG;AACH,yCAFW,MAAM;;;;SAKhB;AAED;;;;;;GAMG;AACH,6CAHW,MAAM,SACN,MAAM;;;;IAWhB;AAUD;;;;;;;;GAQG;AACH,8CAFW;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;gBA7DR,MAAM;uBAAiB,MAAM;4BAAsB,MAAM;qBAAe,MAAM;;;;;;;;;;;;EAwEzG;AA2BD;;;GAGG;AACH,iCAHW,YAAY,SACZ,YAAY;;;;;;;EAmBtB;;;;;;2BApCY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE"}
@@ -1,201 +0,0 @@
1
- // @ts-check
2
- /**
3
- * What the HOST was doing while a measurement ran: CPU, disk, memory.
4
- *
5
- * ## Why this exists
6
- *
7
- * Every performance conclusion in this project has been drawn from wall-clock time and phase marks,
8
- * and the causes were misattributed three times in one day — first to memory, then to the guests
9
- * themselves, then to contention in the abstract. The actual bottleneck was **disk I/O from Chromium
10
- * cold-starting on three guests at once**, and it was invisible because nothing ever measured it.
11
- *
12
- * A timing number without the foundations underneath it does not identify a cause; it only says
13
- * something got slower. These are the four things that were being guessed at:
14
- *
15
- * CPU load average and the guests' own share. Ruled contention in or out.
16
- * DISK transfers/s and MB/s. The one that mattered, and the one never sampled.
17
- * MEMORY RESIDENT bytes, not `phys_footprint`.
18
- * PAGING pageouts and compressor size — the difference between "tight" and "thrashing".
19
- *
20
- * ## phys_footprint is a charge, not occupancy — this is the mistake it caused
21
- *
22
- * `MEMORY_PER_WORKER_MB` was set three times (7,600 then 8,100 then 5,600) from `top`'s memory column,
23
- * which on macOS is `phys_footprint`: it counts compressed and swapped-out pages as though they were
24
- * resident. Three guests showing 5.8 GB each — 17.4 GB "used" — held **3.8 GB of actual RAM** between
25
- * them, with 7.8 GB sitting in the compressor. The capacity model reserved roughly four times what a
26
- * worker occupies and concluded the Mac could only run two. Resident size is reported here for exactly
27
- * that reason.
28
- *
29
- * **FOOTPRINT IS NOT REPORTED, and this header claimed it was.** The sentence used to end "footprint is
30
- * reported alongside it so the gap between them stays visible", and `parseProcessMemory`'s own docstring
31
- * promised "Resident size AND footprint per process". Neither is true: the source is
32
- * `ps -o pid=,rss=,comm=`, which has no footprint column, and the returned records carry only `residentMb`.
33
- * A documented remedy that was never implemented, vouched for by two comments.
34
- *
35
- * That matters because RSS is the reading that lies in the one state worth detecting: a starved guest
36
- * showed `rss=0.4 GB` while its `phys_footprint` was 8.1 GB, its pages being in swap. So `residentMbTotal`
37
- * FALLS as a host gets sicker — the same self-defeating shape as reading `vm_stat` for available memory.
38
- *
39
- * Do not read it alone. `compressorMb` and the pageout DELTA come from `vm_stat` in the same snapshot and
40
- * are not distorted that way: low resident WITH a large compressor is a host absorbing pressure, and a
41
- * non-zero pageout delta is one that is swapping. `compare-workers.mjs` prints all three together and
42
- * labels the RSS column "<- RSS, not phys_footprint", which is why the missing field never misled anyone.
43
- *
44
- * Adding footprint means `top -l 1 -o mem -stats mem`, which costs a second and a fragile parse; the
45
- * pairing above answers the same question from a snapshot already being taken. Recorded rather than done,
46
- * so the next reader is not told a field exists that does not.
47
- */
48
- import { execFileSync } from "node:child_process";
49
- const BYTES_PER_MB = 1024 * 1024;
50
- /**
51
- * Parse `vm_stat`. Pure — the arithmetic is where this goes wrong, not the shelling out.
52
- *
53
- * The page size is read from the output rather than assumed: it is 16 KB on Apple Silicon and 4 KB on
54
- * Intel, and hardcoding 4096 would understate every figure on this machine by a factor of four.
55
- *
56
- * @param {string} output
57
- */
58
- export function parseVmStat(output) {
59
- const pageSize = Number(/page size of (\d+) bytes/.exec(output)?.[1]);
60
- if (!Number.isFinite(pageSize))
61
- return null;
62
- const pages = (/** @type {string} */ label) => Number(new RegExp(`${label}:\\s+(\\d+)`).exec(output)?.[1] ?? 0);
63
- const mb = (/** @type {string} */ label) => Math.round((pages(label) * pageSize) / BYTES_PER_MB);
64
- return {
65
- freeMb: mb("Pages free"),
66
- activeMb: mb("Pages active"),
67
- inactiveMb: mb("Pages inactive"),
68
- wiredMb: mb("Pages wired down"),
69
- // Compressed pages live in RAM. A large compressor with low `free` is a host absorbing pressure,
70
- // which is a different state from one that is swapping, and they need different responses.
71
- compressorMb: mb("Pages occupied by compressor"),
72
- pageins: pages("Pageins"),
73
- pageouts: pages("Pageouts"),
74
- };
75
- }
76
- /**
77
- * Parse `iostat -d -c 2` — the disk columns for each device.
78
- *
79
- * The FIRST sample from iostat is an average since boot and is meaningless for a measurement window;
80
- * callers must use the second. Getting that wrong reports a busy disk as idle and vice versa.
81
- *
82
- * @param {string} output
83
- * @returns {Array<{device: string, kbPerTransfer: number, transfersPerSecond: number, mbPerSecond: number}>}
84
- */
85
- export function parseIostat(output) {
86
- const lines = String(output).trim().split(/\r?\n/);
87
- const header = lines.findIndex((l) => /^\s*disk/.test(l));
88
- if (header === -1)
89
- return [];
90
- const devices = lines[header].trim().split(/\s+/);
91
- const samples = lines.slice(header + 2).filter((l) => /\d/.test(l));
92
- const last = samples.at(-1);
93
- if (!last)
94
- return [];
95
- const numbers = last.trim().split(/\s+/).map(Number);
96
- return devices.map((device, i) => ({
97
- device,
98
- kbPerTransfer: numbers[i * 3] ?? 0,
99
- transfersPerSecond: numbers[i * 3 + 1] ?? 0,
100
- mbPerSecond: numbers[i * 3 + 2] ?? 0,
101
- })).filter((d) => Number.isFinite(d.mbPerSecond));
102
- }
103
- /**
104
- * Load averages, or null.
105
- * @param {string} output
106
- */
107
- export function parseLoadAverage(output) {
108
- const m = /([\d.]+)\s+([\d.]+)\s+([\d.]+)/.exec(String(output));
109
- return m ? { one: Number(m[1]), five: Number(m[2]), fifteen: Number(m[3]) } : null;
110
- }
111
- /**
112
- * RESIDENT size per process. Not footprint — `ps` has no such column; see this module's header for why
113
- * that is a deliberate limit rather than an oversight, and what to read beside it.
114
- *
115
- * @param {string} psOutput output of `ps -o pid=,rss=,comm=`
116
- * @param {string} match substring of the command to keep
117
- */
118
- export function parseProcessMemory(psOutput, match) {
119
- // `flatMap` rather than map -> filter -> map. The old shape checked `m &&` and was correct at runtime,
120
- // but a filter cannot narrow a type for the two lines after it, so every field access read as a
121
- // possible null. Doing the match and the decision in one place needs no narrowing to explain.
122
- return String(psOutput).trim().split(/\r?\n/).flatMap((line) => {
123
- const fields = line.trim().match(/^(\d+)\s+(\d+)\s+(.*)$/);
124
- if (!fields || !fields[3].includes(match))
125
- return [];
126
- return [{ pid: Number(fields[1]), residentMb: Math.round(Number(fields[2]) / 1024), command: fields[3] }];
127
- });
128
- }
129
- const run = (/** @type {string} */ cmd, /** @type {string[]} */ args) => {
130
- try {
131
- return execFileSync(cmd, args, { encoding: "utf8", timeout: 15_000 });
132
- }
133
- catch {
134
- return ""; // a missing tool must never break a measurement; the field just reads null
135
- }
136
- };
137
- /**
138
- * One snapshot of the foundations.
139
- *
140
- * `iostat -c 2 -w 1` deliberately takes two samples a second apart and uses the second, because the
141
- * first is a since-boot average. That makes this call cost ~1 s, which is why it is a snapshot taken
142
- * around a measurement rather than something polled continuously.
143
- *
144
- * @param {{ processMatch?: string }} options
145
- */
146
- export function sampleHost({ processMatch = "QEMU" } = {}) {
147
- const memory = parseVmStat(run("vm_stat", []));
148
- return {
149
- at: new Date().toISOString(),
150
- memory,
151
- disk: parseIostat(run("iostat", ["-d", "-c", "2", "-w", "1"])),
152
- load: parseLoadAverage(run("sysctl", ["-n", "vm.loadavg"])),
153
- processes: parseProcessMemory(run("ps", ["-Ao", "pid=,rss=,comm="]), processMatch),
154
- };
155
- }
156
- /**
157
- * What changed between two snapshots.
158
- *
159
- * Paging is reported as a DELTA because the absolute counters are since-boot and therefore enormous
160
- * and useless: 6.6 GB of swap left over from an incident hours ago looks identical to a host swapping
161
- * right now. Only the delta distinguishes them, and that distinction was worth an afternoon.
162
- */
163
- // Every `?.` and `??` is a branch, so six inlined reads of a possibly-absent snapshot pushed diffHost
164
- // to a complexity of 21 against a limit of 15 -- without being any clearer than naming the read once.
165
- /**
166
- * @typedef {{ memory?: Record<string, number>, processes?: { residentMb: number }[] }} HostSnapshot
167
- *
168
- * Named because the first attempt at annotating this called it `Record<string, number>` -- flat numbers,
169
- * which is what the CALL SITES read out of it and not what it is. A shape guessed from its uses is the
170
- * same defect as a type inferred from its defaults, one file over.
171
- */
172
- /**
173
- * @param {HostSnapshot} snapshot
174
- * @param {string} field
175
- * @param {number | null} fallback
176
- * @returns {number | null}
177
- */
178
- const reading = (snapshot, field, fallback) => snapshot?.memory?.[field] ?? fallback;
179
- /**
180
- * @param {HostSnapshot} before
181
- * @param {HostSnapshot} after
182
- */
183
- export function diffHost(before, after) {
184
- // `?? 0` at the call, so these two stay plain numbers: a delta of two absent readings is 0, which is
185
- // what "the host did not swap" has always meant here. `compressorMb` and `freeMb` below keep null,
186
- // because an ABSENT reading and a reading of zero are different facts about the host and this file's
187
- // whole purpose is that a number carries what it was computed from.
188
- const pageouts = (reading(after, "pageouts", 0) ?? 0) - (reading(before, "pageouts", 0) ?? 0);
189
- const pageins = (reading(after, "pageins", 0) ?? 0) - (reading(before, "pageins", 0) ?? 0);
190
- return {
191
- pageoutsDelta: pageouts,
192
- pageinsDelta: pageins,
193
- // The honest headline. Non-zero pageouts during a measurement means the host was swapping and the
194
- // timing describes a constrained machine, not the software under test.
195
- swappingDuringRun: pageouts > 0,
196
- compressorMb: reading(after, "compressorMb", null),
197
- freeMb: reading(after, "freeMb", null),
198
- residentMbTotal: (after?.processes ?? []).reduce((sum, p) => sum + p.residentMb, 0),
199
- };
200
- }
201
- //# sourceMappingURL=host-metrics.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-metrics.mjs","sourceRoot":"","sources":["../src/host-metrics.mjs"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,GAClG,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAItE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzD"}
package/dist/index.js DELETED
@@ -1,25 +0,0 @@
1
- /**
2
- * Host-side worker fleet: lease a Windows capture worker, judge its health, and know how many the host can
3
- * actually afford to run.
4
- *
5
- * None of this touches guidepup or NVDA — it runs on the machine that *drives* the workers, which is why it is
6
- * a separate package from `@a11ign/screenreader-worker` (ADR 0004). The split is not cosmetic: the worker is
7
- * Windows-only and the fleet is not.
8
- *
9
- * The measurement internals — `host-metrics`, `worker-stats`, `fleet-consistency` — are deliberately NOT
10
- * exported. Their shapes change every time something new gets measured, and this project's own history is a
11
- * record of that happening.
12
- */
13
- export { DEFAULT_WORKER, isAfterRun, leaseWorker, leaseWorkerPool, hostAddressForWorker, guestReachableUrl, } from "./local-vm.js";
14
- import { fleetScriptPaths as scriptPaths } from "./fleet-scripts.mjs";
15
- /**
16
- * The provisioning and lifecycle scripts, as absolute paths.
17
- *
18
- * They are shell and PowerShell, not JavaScript, so a consumer has to spawn them — and they can only be found
19
- * relative to the module. Delegated to `fleet-scripts.mjs` so this package has exactly ONE definition of where
20
- * they live: it had four, and one of them was wrong, which broke `leaseWorker` silently.
21
- */
22
- export function fleetScriptPaths() {
23
- return scriptPaths();
24
- }
25
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,GAClG,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-vm.d.ts","sourceRoot":"","sources":["../src/local-vm.ts"],"names":[],"mappings":"AA0BA,oEAAoE;AACpE,eAAO,MAAM,cAAc,0BAA0B,CAAC;AAWtD,oDAAoD;AACpD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAI9D,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,QAAQ,CAEnD;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,OAAO,CAAC;CACf;AAED,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAuCD;;;;GAIG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAY5D;AAuBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CA2B5F;AAED,UAAU,YAAY;IACpB,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,WAAW,CAC/B,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,EAC/B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;CAAO,GACtF,OAAO,CAAC,WAAW,CAAC,CAqBtB;AAED;;;;;;;;GAQG;AACH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO1E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAc7E;AAED,yFAAyF;AACzF,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAuCD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA8DhF"}