lim 0.45.1 → 0.46.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 (229) hide show
  1. package/JSON_OUTPUT.md +123 -0
  2. package/README.md +34 -5
  3. package/bin/dev.js +6 -2
  4. package/bin/json-errors.cjs +35 -0
  5. package/bin/run.js +3 -0
  6. package/dist/base-command.d.ts +8 -2
  7. package/dist/base-command.d.ts.map +1 -1
  8. package/dist/base-command.js +77 -15
  9. package/dist/base-command.js.map +1 -1
  10. package/dist/base-command.snapshots.test.d.ts +2 -0
  11. package/dist/base-command.snapshots.test.d.ts.map +1 -0
  12. package/dist/base-command.snapshots.test.js +215 -0
  13. package/dist/base-command.snapshots.test.js.map +1 -0
  14. package/dist/commands/android/app-log.d.ts.map +1 -1
  15. package/dist/commands/android/app-log.js +10 -1
  16. package/dist/commands/android/app-log.js.map +1 -1
  17. package/dist/commands/android/camera.d.ts.map +1 -1
  18. package/dist/commands/android/camera.js +8 -2
  19. package/dist/commands/android/camera.js.map +1 -1
  20. package/dist/commands/android/connect.d.ts.map +1 -1
  21. package/dist/commands/android/connect.js +2 -2
  22. package/dist/commands/android/connect.js.map +1 -1
  23. package/dist/commands/android/create.d.ts.map +1 -1
  24. package/dist/commands/android/create.js +10 -1
  25. package/dist/commands/android/create.js.map +1 -1
  26. package/dist/commands/android/delete.js +1 -1
  27. package/dist/commands/android/delete.js.map +1 -1
  28. package/dist/commands/android/install-app.d.ts.map +1 -1
  29. package/dist/commands/android/install-app.js +4 -2
  30. package/dist/commands/android/install-app.js.map +1 -1
  31. package/dist/commands/android/launch-app.d.ts.map +1 -1
  32. package/dist/commands/android/launch-app.js +20 -5
  33. package/dist/commands/android/launch-app.js.map +1 -1
  34. package/dist/commands/android/logcat.js +1 -1
  35. package/dist/commands/android/logcat.js.map +1 -1
  36. package/dist/commands/android/open-url.d.ts.map +1 -1
  37. package/dist/commands/android/open-url.js +1 -1
  38. package/dist/commands/android/open-url.js.map +1 -1
  39. package/dist/commands/android/press-key.d.ts.map +1 -1
  40. package/dist/commands/android/press-key.js +1 -1
  41. package/dist/commands/android/press-key.js.map +1 -1
  42. package/dist/commands/android/record.d.ts.map +1 -1
  43. package/dist/commands/android/record.js +26 -5
  44. package/dist/commands/android/record.js.map +1 -1
  45. package/dist/commands/android/scroll.d.ts.map +1 -1
  46. package/dist/commands/android/scroll.js +7 -1
  47. package/dist/commands/android/scroll.js.map +1 -1
  48. package/dist/commands/android/set-wifi-bandwidth.d.ts.map +1 -1
  49. package/dist/commands/android/set-wifi-bandwidth.js +1 -1
  50. package/dist/commands/android/set-wifi-bandwidth.js.map +1 -1
  51. package/dist/commands/android/sync.d.ts.map +1 -1
  52. package/dist/commands/android/sync.js +10 -2
  53. package/dist/commands/android/sync.js.map +1 -1
  54. package/dist/commands/android/tap.d.ts.map +1 -1
  55. package/dist/commands/android/tap.js +1 -1
  56. package/dist/commands/android/tap.js.map +1 -1
  57. package/dist/commands/android/terminate-app.d.ts.map +1 -1
  58. package/dist/commands/android/terminate-app.js +1 -1
  59. package/dist/commands/android/terminate-app.js.map +1 -1
  60. package/dist/commands/android/tunnel/index.js +2 -2
  61. package/dist/commands/android/tunnel/index.js.map +1 -1
  62. package/dist/commands/android/type.d.ts.map +1 -1
  63. package/dist/commands/android/type.js +1 -1
  64. package/dist/commands/android/type.js.map +1 -1
  65. package/dist/commands/asset/delete.js +1 -1
  66. package/dist/commands/asset/delete.js.map +1 -1
  67. package/dist/commands/asset/pull.js +1 -1
  68. package/dist/commands/asset/pull.js.map +1 -1
  69. package/dist/commands/asset/push.d.ts.map +1 -1
  70. package/dist/commands/asset/push.js +4 -0
  71. package/dist/commands/asset/push.js.map +1 -1
  72. package/dist/commands/bazel/credentials/get.d.ts.map +1 -1
  73. package/dist/commands/bazel/credentials/get.js +6 -1
  74. package/dist/commands/bazel/credentials/get.js.map +1 -1
  75. package/dist/commands/gradle/build.d.ts +1 -0
  76. package/dist/commands/gradle/build.d.ts.map +1 -1
  77. package/dist/commands/gradle/build.js +21 -2
  78. package/dist/commands/gradle/build.js.map +1 -1
  79. package/dist/commands/gradle/delete.js +1 -1
  80. package/dist/commands/gradle/delete.js.map +1 -1
  81. package/dist/commands/gradle/sync.d.ts.map +1 -1
  82. package/dist/commands/gradle/sync.js +10 -2
  83. package/dist/commands/gradle/sync.js.map +1 -1
  84. package/dist/commands/ios/app-log.d.ts.map +1 -1
  85. package/dist/commands/ios/app-log.js +6 -3
  86. package/dist/commands/ios/app-log.js.map +1 -1
  87. package/dist/commands/ios/camera.d.ts.map +1 -1
  88. package/dist/commands/ios/camera.js +8 -2
  89. package/dist/commands/ios/camera.js.map +1 -1
  90. package/dist/commands/ios/create.d.ts +4 -0
  91. package/dist/commands/ios/create.d.ts.map +1 -1
  92. package/dist/commands/ios/create.js +17 -1
  93. package/dist/commands/ios/create.js.map +1 -1
  94. package/dist/commands/ios/delete.js +1 -1
  95. package/dist/commands/ios/delete.js.map +1 -1
  96. package/dist/commands/ios/keychain/generate-key.d.ts.map +1 -1
  97. package/dist/commands/ios/keychain/generate-key.js +2 -1
  98. package/dist/commands/ios/keychain/generate-key.js.map +1 -1
  99. package/dist/commands/ios/launch-app.d.ts.map +1 -1
  100. package/dist/commands/ios/launch-app.js +19 -4
  101. package/dist/commands/ios/launch-app.js.map +1 -1
  102. package/dist/commands/ios/maestro.d.ts.map +1 -1
  103. package/dist/commands/ios/maestro.js +4 -1
  104. package/dist/commands/ios/maestro.js.map +1 -1
  105. package/dist/commands/ios/open-url.d.ts.map +1 -1
  106. package/dist/commands/ios/open-url.js +1 -1
  107. package/dist/commands/ios/open-url.js.map +1 -1
  108. package/dist/commands/ios/press-key.d.ts.map +1 -1
  109. package/dist/commands/ios/press-key.js +1 -1
  110. package/dist/commands/ios/press-key.js.map +1 -1
  111. package/dist/commands/ios/record.d.ts.map +1 -1
  112. package/dist/commands/ios/record.js +28 -5
  113. package/dist/commands/ios/record.js.map +1 -1
  114. package/dist/commands/ios/scroll.d.ts.map +1 -1
  115. package/dist/commands/ios/scroll.js +9 -1
  116. package/dist/commands/ios/scroll.js.map +1 -1
  117. package/dist/commands/ios/swipe.d.ts.map +1 -1
  118. package/dist/commands/ios/swipe.js +1 -1
  119. package/dist/commands/ios/swipe.js.map +1 -1
  120. package/dist/commands/ios/sync.d.ts.map +1 -1
  121. package/dist/commands/ios/sync.js +12 -3
  122. package/dist/commands/ios/sync.js.map +1 -1
  123. package/dist/commands/ios/syslog.js +1 -1
  124. package/dist/commands/ios/syslog.js.map +1 -1
  125. package/dist/commands/ios/tap.d.ts.map +1 -1
  126. package/dist/commands/ios/tap.js +1 -1
  127. package/dist/commands/ios/tap.js.map +1 -1
  128. package/dist/commands/ios/terminate-app.d.ts.map +1 -1
  129. package/dist/commands/ios/terminate-app.js +1 -1
  130. package/dist/commands/ios/terminate-app.js.map +1 -1
  131. package/dist/commands/ios/toggle-keyboard.js +1 -1
  132. package/dist/commands/ios/toggle-keyboard.js.map +1 -1
  133. package/dist/commands/ios/tunnel/index.js +2 -2
  134. package/dist/commands/ios/tunnel/index.js.map +1 -1
  135. package/dist/commands/ios/type.d.ts.map +1 -1
  136. package/dist/commands/ios/type.js +7 -1
  137. package/dist/commands/ios/type.js.map +1 -1
  138. package/dist/commands/logout.js +1 -1
  139. package/dist/commands/logout.js.map +1 -1
  140. package/dist/commands/run.d.ts +4 -0
  141. package/dist/commands/run.d.ts.map +1 -1
  142. package/dist/commands/run.js +15 -1
  143. package/dist/commands/run.js.map +1 -1
  144. package/dist/commands/session/start.d.ts.map +1 -1
  145. package/dist/commands/session/start.js +2 -2
  146. package/dist/commands/session/start.js.map +1 -1
  147. package/dist/commands/session/status.js +2 -2
  148. package/dist/commands/session/status.js.map +1 -1
  149. package/dist/commands/session/stop.d.ts.map +1 -1
  150. package/dist/commands/session/stop.js +12 -5
  151. package/dist/commands/session/stop.js.map +1 -1
  152. package/dist/commands/tunnel/delete.d.ts.map +1 -1
  153. package/dist/commands/tunnel/delete.js +1 -1
  154. package/dist/commands/tunnel/delete.js.map +1 -1
  155. package/dist/commands/tunnel/run.d.ts.map +1 -1
  156. package/dist/commands/tunnel/run.js +6 -3
  157. package/dist/commands/tunnel/run.js.map +1 -1
  158. package/dist/commands/xcode/build.d.ts +1 -0
  159. package/dist/commands/xcode/build.d.ts.map +1 -1
  160. package/dist/commands/xcode/build.js +25 -7
  161. package/dist/commands/xcode/build.js.map +1 -1
  162. package/dist/commands/xcode/create.d.ts +1 -0
  163. package/dist/commands/xcode/create.d.ts.map +1 -1
  164. package/dist/commands/xcode/create.js +13 -4
  165. package/dist/commands/xcode/create.js.map +1 -1
  166. package/dist/commands/xcode/delete.js +1 -1
  167. package/dist/commands/xcode/delete.js.map +1 -1
  168. package/dist/commands/xcode/rbe/index.d.ts.map +1 -1
  169. package/dist/commands/xcode/rbe/index.js +6 -0
  170. package/dist/commands/xcode/rbe/index.js.map +1 -1
  171. package/dist/commands/xcode/sync.d.ts +4 -0
  172. package/dist/commands/xcode/sync.d.ts.map +1 -1
  173. package/dist/commands/xcode/sync.js +15 -2
  174. package/dist/commands/xcode/sync.js.map +1 -1
  175. package/dist/commands/xcode/test.d.ts +1 -0
  176. package/dist/commands/xcode/test.d.ts.map +1 -1
  177. package/dist/commands/xcode/test.js +1 -0
  178. package/dist/commands/xcode/test.js.map +1 -1
  179. package/dist/json-contract.test.d.ts +2 -0
  180. package/dist/json-contract.test.d.ts.map +1 -0
  181. package/dist/json-contract.test.js +703 -0
  182. package/dist/json-contract.test.js.map +1 -0
  183. package/dist/json-errors.test.d.ts +2 -0
  184. package/dist/json-errors.test.d.ts.map +1 -0
  185. package/dist/json-errors.test.js +95 -0
  186. package/dist/json-errors.test.js.map +1 -0
  187. package/dist/lib/build-command-helpers.d.ts +4 -1
  188. package/dist/lib/build-command-helpers.d.ts.map +1 -1
  189. package/dist/lib/build-command-helpers.js +22 -3
  190. package/dist/lib/build-command-helpers.js.map +1 -1
  191. package/dist/lib/build-run-command.d.ts.map +1 -1
  192. package/dist/lib/build-run-command.js +1 -1
  193. package/dist/lib/build-run-command.js.map +1 -1
  194. package/dist/lib/build-tools-command.d.ts.map +1 -1
  195. package/dist/lib/build-tools-command.js +1 -1
  196. package/dist/lib/build-tools-command.js.map +1 -1
  197. package/dist/lib/build-use-command.d.ts.map +1 -1
  198. package/dist/lib/build-use-command.js +9 -2
  199. package/dist/lib/build-use-command.js.map +1 -1
  200. package/dist/lib/build-use-command.test.js +11 -0
  201. package/dist/lib/build-use-command.test.js.map +1 -1
  202. package/dist/lib/cache-flags.d.ts +1 -0
  203. package/dist/lib/cache-flags.d.ts.map +1 -1
  204. package/dist/lib/cache-flags.js +5 -1
  205. package/dist/lib/cache-flags.js.map +1 -1
  206. package/dist/lib/cache-flags.test.js +8 -0
  207. package/dist/lib/cache-flags.test.js.map +1 -1
  208. package/dist/lib/cache.d.ts +1 -0
  209. package/dist/lib/cache.d.ts.map +1 -1
  210. package/dist/lib/cache.js +3 -0
  211. package/dist/lib/cache.js.map +1 -1
  212. package/dist/lib/daemon-client.d.ts +1 -1
  213. package/dist/lib/daemon-client.d.ts.map +1 -1
  214. package/dist/lib/daemon-client.js +2 -2
  215. package/dist/lib/daemon-client.js.map +1 -1
  216. package/dist/lib/instance-client-factory.d.ts.map +1 -1
  217. package/dist/lib/instance-client-factory.js +13 -3
  218. package/dist/lib/instance-client-factory.js.map +1 -1
  219. package/dist/lib/instance-client-factory.test.js +35 -0
  220. package/dist/lib/instance-client-factory.test.js.map +1 -1
  221. package/dist/lib/snapshot-project.d.ts +7 -0
  222. package/dist/lib/snapshot-project.d.ts.map +1 -0
  223. package/dist/lib/snapshot-project.js +194 -0
  224. package/dist/lib/snapshot-project.js.map +1 -0
  225. package/dist/lib/snapshot-project.test.d.ts +2 -0
  226. package/dist/lib/snapshot-project.test.d.ts.map +1 -0
  227. package/dist/lib/snapshot-project.test.js +156 -0
  228. package/dist/lib/snapshot-project.test.js.map +1 -0
  229. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../src/lib/daemon-client.ts"],"names":[],"mappings":";;;;;AAMA,0CAEC;AAKD,kCAuEC;AApFD,8CAAsB;AACtB,qCAAgG;AAEhG;;GAEG;AACH,SAAgB,eAAe,CAAC,UAAkB;IAChD,OAAO,IAAA,wBAAe,EAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,OAAe,EACf,OAAkB,EAAE,EACpB,SAAkB;IAElB,IAAI,CAAC,IAAA,wBAAe,EAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,6BAA6B,UAAU,WAAW,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,aAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,UAAU,GAAY,SAAS,CAAC;QACpC,IAAI,QAA4B,CAAC;QAEjC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,MAAM,GAAG,GAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAW,CAAC;YAChB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,IAAI,IAAoB,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,QAAQ;wBACX,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;wBACvB,MAAM;oBACR,KAAK,QAAQ;wBACX,IAAI,IAAI,CAAC,IAAI;4BAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;wBAC9D,MAAM;oBACR,KAAK,QAAQ;wBACX,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;oBACR,KAAK,MAAM;wBACT,MAAM,CAAC,GAAG,EAAE,CAAC;wBACb,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;4BACpC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,UAAU,CAAC,CAAC;wBACtB,CAAC;wBACD,OAAO;gBACX,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,UAAU,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../src/lib/daemon-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"instance-client-factory.d.ts","sourceRoot":"","sources":["../../src/lib/instance-client-factory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAwB,GAAG,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAqB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7F,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAS3D;AAID,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAExF;AAED,4BAA4B;AAC5B,KAAK,OAAO,GAAG,OAAO,kBAAkB,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,GAAG,eAAe,EAC7C,OAAO,GAAE,OAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,OAAO,EAAO,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,OAAO,CAAC,6BAA6B,CAAC,CAiCxC;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,GAAG,CAAC,aAAkB,GAC3B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3D;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,cAAc,CAAC,CAOzB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAsBpC"}
1
+ {"version":3,"file":"instance-client-factory.d.ts","sourceRoot":"","sources":["../../src/lib/instance-client-factory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAwB,GAAG,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAqB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7F,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAS3D;AAID,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAExF;AAED,4BAA4B;AAC5B,KAAK,OAAO,GAAG,OAAO,kBAAkB,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,GAAG,eAAe,EAC7C,OAAO,GAAE,OAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,OAAO,EAAO,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,OAAO,CAAC,6BAA6B,CAAC,CAmCxC;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,GAAG,CAAC,aAAkB,GAC3B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3D;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,cAAc,CAAC,CAOzB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,yBAAyB,CAAC,CA8BpC"}
@@ -69,7 +69,7 @@ async function ensureDaemonSession(target, spawnFn = daemon_1.spawnSessionDaemon
69
69
  * Send a command via the daemon session for the given instance ID.
70
70
  */
71
71
  function sendSessionCommand(instanceId, command, args = [], timeoutMs) {
72
- return (0, daemon_client_1.sendCommand)(instanceId, command, args, timeoutMs);
72
+ return (0, daemon_client_1.sendCommand)(instanceId, command, args, timeoutMs, sessionAutoStart.silent);
73
73
  }
74
74
  async function getAndroidInstanceClient(lim, target, options = {}) {
75
75
  if (target.apiUrl && target.token) {
@@ -78,6 +78,7 @@ async function getAndroidInstanceClient(lim, target, options = {}) {
78
78
  adbUrl: target.adbWebSocketUrl,
79
79
  token: target.token,
80
80
  adbPath: options.adbPath,
81
+ logLevel: sessionAutoStart.silent ? 'warn' : 'info',
81
82
  });
82
83
  return { type: 'android', client, disconnect: () => client.disconnect(), isSession: false };
83
84
  }
@@ -101,6 +102,7 @@ async function getAndroidInstanceClient(lim, target, options = {}) {
101
102
  adbUrl: instance.status.adbWebSocketUrl,
102
103
  token,
103
104
  adbPath: options.adbPath,
105
+ logLevel: sessionAutoStart.silent ? 'warn' : 'info',
104
106
  });
105
107
  return { type: 'android', client, disconnect: () => client.disconnect(), isSession: false };
106
108
  }
@@ -129,7 +131,11 @@ async function runAndroidAdbShell(lim, target, command, args) {
129
131
  }
130
132
  async function getIosInstanceClient(lim, target) {
131
133
  if (target.apiUrl && target.token) {
132
- const client = await api_1.Ios.createInstanceClient({ apiUrl: target.apiUrl, token: target.token });
134
+ const client = await api_1.Ios.createInstanceClient({
135
+ apiUrl: target.apiUrl,
136
+ token: target.token,
137
+ logLevel: sessionAutoStart.silent ? 'warn' : 'info',
138
+ });
133
139
  return { type: 'ios', client, disconnect: () => client.disconnect(), isSession: false };
134
140
  }
135
141
  const instance = await lim.iosInstances.get(target.id);
@@ -146,7 +152,11 @@ async function getIosInstanceClient(lim, target) {
146
152
  signedStreamUrl: instance.status.signedStreamUrl,
147
153
  targetHttpPortUrlPrefix: instance.status.targetHttpPortUrlPrefix,
148
154
  });
149
- const client = await api_1.Ios.createInstanceClient({ apiUrl, token });
155
+ const client = await api_1.Ios.createInstanceClient({
156
+ apiUrl,
157
+ token,
158
+ logLevel: sessionAutoStart.silent ? 'warn' : 'info',
159
+ });
150
160
  return { type: 'ios', client, disconnect: () => client.disconnect(), isSession: false };
151
161
  }
152
162
  //# sourceMappingURL=instance-client-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance-client-factory.js","sourceRoot":"","sources":["../../src/lib/instance-client-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instance-client-factory.js","sourceRoot":"","sources":["../../src/lib/instance-client-factory.ts"],"names":[],"mappings":";;AAwBA,gDASC;AAKD,kDAEC;AAYD,kDA4BC;AAKD,gDAOC;AAED,4DAuCC;AAMD,oCAYC;AAGD,gDAYC;AAED,oDAiCC;AAzMD,qCAA0G;AAC1G,+DAA2D;AAC3D,mDAA+D;AAC/D,qCAA8C;AAC9C,qCAA6F;AAoB7F,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/D,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,MAAM,IAAI,KAAK,CACb,wCAAwC,EAAE,4EAA4E,CACvH,CAAC;AACJ,CAAC;AAED,IAAI,gBAAgB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAExD,iGAAiG;AACjG,SAAgB,mBAAmB,CAAC,MAA8C;IAChF,gBAAgB,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;AACjF,CAAC;AAKD;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAA6C,EAC7C,UAAmB,2BAAkB;IAErC,IAAI,IAAA,+BAAe,EAAC,MAAM,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,CAAC,gBAAgB,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC;YACZ,UAAU,EAAE,MAAM,CAAC,EAAE;YACrB,YAAY,EAAE,MAAM,CAAC,IAAI;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YACtE,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,EAAE,KAAK,OAAO,yBAAyB,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,UAAkB,EAClB,OAAe,EACf,OAAkB,EAAE,EACpB,SAAkB;IAElB,OAAO,IAAA,2BAAW,EAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,GAAW,EACX,MAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC;YACxC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,eAAe;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACpD,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,EAAE,wCAAwC,CAAC,CAAC;IACzF,CAAC;IACD,IAAA,0BAAiB,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;QACtC,MAAM;QACN,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QAChD,KAAK;QACL,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB;QAC1D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;QAC9B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QAChD,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB;KACjE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC;QACxC,MAAM;QACN,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QACvC,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;KACpD,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,MAAuB,EACvB,IAAc,EACd,OAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,iFAAiF;AAC1E,KAAK,UAAU,kBAAkB,CACtC,GAAW,EACX,MAA2B,EAC3B,OAAe,EACf,IAAc;IAEd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,GAAW,EACX,MAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,oBAAoB,CAAC;YAC5C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACpD,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC1F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,EAAE,wCAAwC,CAAC,CAAC;IACrF,CAAC;IACD,IAAA,0BAAiB,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;QACtC,MAAM;QACN,KAAK;QACL,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB;QAC1D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;QAC9B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QAChD,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB;KACjE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,oBAAoB,CAAC;QAC5C,MAAM;QACN,KAAK;QACL,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;KACpD,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC1F,CAAC"}
@@ -75,4 +75,39 @@ describe('ensureDaemonSession', () => {
75
75
  expect(stderr).toHaveBeenCalledWith(`Could not start WebSocket daemon for ${IOS_TARGET.id} (boom); connecting directly.`);
76
76
  });
77
77
  });
78
+ jest.mock('@limrun/api', () => ({
79
+ ...jest.requireActual('@limrun/api'),
80
+ createInstanceClient: jest.fn().mockResolvedValue({ disconnect: jest.fn() }),
81
+ Ios: {
82
+ ...jest.requireActual('@limrun/api').Ios,
83
+ createInstanceClient: jest.fn().mockResolvedValue({ disconnect: jest.fn() }),
84
+ },
85
+ }));
86
+ jest.mock('./config', () => ({ ...jest.requireActual('./config'), saveInstanceCache: jest.fn() }));
87
+ describe('JSON output keeps SDK logs off stdout', () => {
88
+ afterEach(() => (0, instance_client_factory_1.setSessionAutoStart)({ enabled: true, silent: false }));
89
+ test.each(['ios', 'android'])('%s clients use stderr-only SDK logging with and without cached credentials', async (platform) => {
90
+ const { createInstanceClient, Ios } = require('@limrun/api');
91
+ const { getAndroidInstanceClient, getIosInstanceClient } = require('./instance-client-factory');
92
+ const create = platform === 'ios' ? Ios.createInstanceClient : createInstanceClient;
93
+ const get = platform === 'ios' ? getIosInstanceClient : getAndroidInstanceClient;
94
+ const target = platform === 'ios' ? IOS_TARGET : ANDROID_TARGET;
95
+ const instance = {
96
+ metadata: { id: target.id },
97
+ status: { apiUrl: target.apiUrl, token: target.token },
98
+ };
99
+ const lim = {
100
+ iosInstances: { get: jest.fn().mockResolvedValue(instance) },
101
+ androidInstances: { get: jest.fn().mockResolvedValue(instance) },
102
+ };
103
+ (0, instance_client_factory_1.setSessionAutoStart)({ enabled: true, silent: true });
104
+ await get(lim, target);
105
+ expect(create).toHaveBeenLastCalledWith(expect.objectContaining({ logLevel: 'warn' }));
106
+ await get(lim, { id: target.id, type: platform });
107
+ expect(create).toHaveBeenLastCalledWith(expect.objectContaining({ logLevel: 'warn' }));
108
+ (0, instance_client_factory_1.setSessionAutoStart)({ enabled: true, silent: false });
109
+ await get(lim, target);
110
+ expect(create).toHaveBeenLastCalledWith(expect.objectContaining({ logLevel: 'info' }));
111
+ });
112
+ });
78
113
  //# sourceMappingURL=instance-client-factory.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance-client-factory.test.js","sourceRoot":"","sources":["../../src/lib/instance-client-factory.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instance-client-factory.test.js","sourceRoot":"","sources":["../../src/lib/instance-client-factory.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { XcodeCacheConfig } from '@limrun/api';
2
+ import { type CacheFlags } from './cache';
3
+ /** Explicit settings keep their semantics, including restore-only snapshots. */
4
+ export declare function projectSnapshotConfig(flags: CacheFlags, projectPath: string): XcodeCacheConfig | undefined;
5
+ /** Share snapshots across clones and worktrees without including local paths or credentials. */
6
+ export declare function projectSnapshotKey(projectPath: string): string | undefined;
7
+ //# sourceMappingURL=snapshot-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-project.d.ts","sourceRoot":"","sources":["../../src/lib/snapshot-project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,SAAS,CAAC;AAE/D,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAK1G;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4B1E"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.projectSnapshotConfig = projectSnapshotConfig;
7
+ exports.projectSnapshotKey = projectSnapshotKey;
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const cache_1 = require("./cache");
11
+ /** Explicit settings keep their semantics, including restore-only snapshots. */
12
+ function projectSnapshotConfig(flags, projectPath) {
13
+ const explicit = (0, cache_1.parseSnapshotConfig)(flags);
14
+ if (explicit || flags['no-snapshot'])
15
+ return explicit;
16
+ const key = projectSnapshotKey(projectPath);
17
+ return key ? { key } : undefined;
18
+ }
19
+ /** Share snapshots across clones and worktrees without including local paths or credentials. */
20
+ function projectSnapshotKey(projectPath) {
21
+ try {
22
+ const cwd = fs_1.default.realpathSync(projectPath);
23
+ const checkout = findCheckout(cwd);
24
+ if (!checkout)
25
+ return undefined;
26
+ const { root, gitDir } = checkout;
27
+ const common = readOptional(path_1.default.join(gitDir, 'commondir'))?.trim();
28
+ const commonDir = common ? path_1.default.resolve(gitDir, common) : gitDir;
29
+ const config = parseConfig(readOptional(path_1.default.join(commonDir, 'config')) ?? '');
30
+ if (/^(true|yes|on|1)$/i.test(config.get('extensions.worktreeconfig')?.slice(-1)[0] ?? '')) {
31
+ for (const [name, values] of parseConfig(readOptional(path_1.default.join(gitDir, 'config.worktree')) ?? '')) {
32
+ config.set(name, [...(config.get(name) ?? []), ...values]);
33
+ }
34
+ }
35
+ // Git fetch uses the first URL when a remote declares more than one.
36
+ const origin = config.get('remote.origin.url')?.[0];
37
+ if (!origin)
38
+ return undefined;
39
+ const repo = repositoryIdentity(origin);
40
+ if (!repo)
41
+ return undefined;
42
+ const relative = path_1.default.relative(root, cwd).split(path_1.default.sep).join('/');
43
+ if (relative === '..' || relative.startsWith('../'))
44
+ return undefined;
45
+ const key = relative ? `${repo}/${relative}` : repo;
46
+ // Match the API's key bounds. Unrepresentable identities need an explicit key.
47
+ return key.length <= 255 && /^[A-Za-z0-9._+/:@#-]+$/.test(key) ? key : undefined;
48
+ }
49
+ catch {
50
+ // Missing or unsupported metadata leaves snapshots explicit.
51
+ return undefined;
52
+ }
53
+ }
54
+ function findCheckout(start) {
55
+ for (let root = start;; root = path_1.default.dirname(root)) {
56
+ const marker = path_1.default.join(root, '.git');
57
+ if (fs_1.default.lstatSync(marker, { throwIfNoEntry: false })) {
58
+ if (fs_1.default.statSync(marker).isDirectory())
59
+ return { root, gitDir: marker };
60
+ const gitFile = /^gitdir: (.+)$/.exec(fs_1.default.readFileSync(marker, 'utf8').trim());
61
+ // A broken nested checkout must not inherit the parent repository's key.
62
+ if (!gitFile)
63
+ return undefined;
64
+ return { root, gitDir: path_1.default.resolve(root, gitFile[1]) };
65
+ }
66
+ if (path_1.default.dirname(root) === root)
67
+ return undefined;
68
+ }
69
+ }
70
+ function readOptional(file) {
71
+ try {
72
+ return fs_1.default.readFileSync(file, 'utf8');
73
+ }
74
+ catch (err) {
75
+ if (err.code === 'ENOENT')
76
+ return undefined;
77
+ throw err;
78
+ }
79
+ }
80
+ /** Read repository-local settings without inheriting machine-specific Git configuration. */
81
+ function parseConfig(text) {
82
+ const config = new Map();
83
+ let section = '';
84
+ for (let line of configLines(text)) {
85
+ line = line.trim();
86
+ if (!line)
87
+ continue;
88
+ if (line.startsWith('[')) {
89
+ const header = /^\[([\w.-]+)(?:[ \t]+"((?:[^"\\]|\\.)*)")?\](.*)$/.exec(line);
90
+ if (!header)
91
+ throw new Error('Invalid Git config section');
92
+ section = header[1].toLowerCase();
93
+ if (header[2] !== undefined)
94
+ section += `.${header[2].replace(/\\(.)/g, '$1')}`;
95
+ line = header[3].trim();
96
+ if (!line)
97
+ continue;
98
+ }
99
+ const setting = /^([a-z][a-z0-9-]*)(?:[ \t]*=[ \t]*(.*))?$/i.exec(line);
100
+ if (!section || !setting)
101
+ throw new Error('Invalid Git config setting');
102
+ const name = `${section}.${setting[1].toLowerCase()}`;
103
+ // Includes can replace the origin. Require an explicit key instead of guessing from a partial config.
104
+ if (name === 'include.path' ||
105
+ (section.startsWith('includeif.') && setting[1].toLowerCase() === 'path')) {
106
+ throw new Error('Git config includes require an explicit snapshot key');
107
+ }
108
+ const value = setting[2] === undefined ? 'true' : configValue(setting[2]);
109
+ config.set(name, [...(config.get(name) ?? []), value]);
110
+ }
111
+ return config;
112
+ }
113
+ /** Comments and continuations depend on quoting, so splitting at '#' or newlines alone loses URLs. */
114
+ function configLines(text) {
115
+ const lines = [];
116
+ let line = '';
117
+ let quoted = false;
118
+ let comment = false;
119
+ text = text.replace(/\r\n/g, '\n');
120
+ for (let i = 0; i < text.length; i++) {
121
+ const char = text[i];
122
+ if (char === '\n') {
123
+ if (quoted)
124
+ throw new Error('Unterminated Git config quote');
125
+ lines.push(line);
126
+ line = '';
127
+ comment = false;
128
+ }
129
+ else if (!comment) {
130
+ if (char === '\\') {
131
+ const next = text[++i];
132
+ if (next === undefined)
133
+ throw new Error('Incomplete Git config escape');
134
+ if (next !== '\n')
135
+ line += char + next;
136
+ }
137
+ else if (!quoted && (char === '#' || char === ';')) {
138
+ comment = true;
139
+ }
140
+ else {
141
+ if (char === '"')
142
+ quoted = !quoted;
143
+ line += char;
144
+ }
145
+ }
146
+ }
147
+ if (quoted)
148
+ throw new Error('Unterminated Git config quote');
149
+ lines.push(line);
150
+ return lines;
151
+ }
152
+ function configValue(raw) {
153
+ const escapes = { n: '\n', t: '\t', b: '\b', '\\': '\\', '"': '"' };
154
+ let value = '';
155
+ for (let i = 0; i < raw.length; i++) {
156
+ const char = raw[i];
157
+ if (char === '\\') {
158
+ const escaped = escapes[raw[++i]];
159
+ if (escaped === undefined)
160
+ throw new Error('Invalid Git config escape');
161
+ value += escaped;
162
+ }
163
+ else if (char !== '"') {
164
+ value += char;
165
+ }
166
+ }
167
+ return value;
168
+ }
169
+ function repositoryIdentity(remote) {
170
+ let host;
171
+ let repo;
172
+ if (remote.includes('://')) {
173
+ const url = new URL(remote);
174
+ if (!['https:', 'http:', 'ssh:', 'git:'].includes(url.protocol))
175
+ return undefined;
176
+ host = url.host.toLowerCase();
177
+ repo = url.pathname;
178
+ }
179
+ else {
180
+ const scp = /^(?:[^/@:\s]+@)?([^/:\s]+):(.+)$/.exec(remote);
181
+ if (!scp || /^[A-Za-z]:[\\/]/.test(remote))
182
+ return undefined;
183
+ host = scp[1].toLowerCase();
184
+ repo = scp[2];
185
+ }
186
+ repo = repo.replace(/^\/+|\/+$/g, '').replace(/\.git$/, '');
187
+ if (!repo || repo.split('/').some((part) => !part || part === '.' || part === '..'))
188
+ return undefined;
189
+ // GitHub repository names are case-insensitive; other hosts may preserve case.
190
+ if (host === 'github.com')
191
+ repo = repo.toLowerCase();
192
+ return `${host}/${repo}`;
193
+ }
194
+ //# sourceMappingURL=snapshot-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-project.js","sourceRoot":"","sources":["../../src/lib/snapshot-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=snapshot-project.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-project.test.d.ts","sourceRoot":"","sources":["../../src/lib/snapshot-project.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const os_1 = __importDefault(require("os"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const snapshot_project_1 = require("./snapshot-project");
10
+ let temp;
11
+ let repo;
12
+ const writeConfig = (gitDir, remote) => {
13
+ fs_1.default.mkdirSync(gitDir, { recursive: true });
14
+ fs_1.default.writeFileSync(path_1.default.join(gitDir, 'HEAD'), 'ref: refs/heads/main\n');
15
+ fs_1.default.writeFileSync(path_1.default.join(gitDir, 'config'), '[core]\n\trepositoryformatversion = 0\n\tbare = false\n' +
16
+ (remote ? `[remote "origin"]\n\turl = ${JSON.stringify(remote)}\n` : ''));
17
+ };
18
+ const setOrigin = (remote) => writeConfig(path_1.default.join(repo, '.git'), remote);
19
+ beforeEach(() => {
20
+ temp = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'lim-snapshot-'));
21
+ repo = path_1.default.join(temp, 'local-checkout-name');
22
+ fs_1.default.mkdirSync(repo);
23
+ setOrigin('git@github.com:acme/monorepo.git');
24
+ fs_1.default.mkdirSync(path_1.default.join(repo, 'apps', 'ios'), { recursive: true });
25
+ });
26
+ afterEach(() => fs_1.default.rmSync(temp, { recursive: true, force: true }));
27
+ test('discovers the project with no Git binary on PATH', () => {
28
+ const previous = process.env.PATH;
29
+ try {
30
+ process.env.PATH = temp;
31
+ expect((0, snapshot_project_1.projectSnapshotKey)(path_1.default.join(repo, 'apps', 'ios'))).toBe('github.com/acme/monorepo/apps/ios');
32
+ }
33
+ finally {
34
+ if (previous === undefined)
35
+ delete process.env.PATH;
36
+ else
37
+ process.env.PATH = previous;
38
+ }
39
+ });
40
+ test('parses quoted values, comments, continuations, and case-insensitive setting names', () => {
41
+ fs_1.default.writeFileSync(path_1.default.join(repo, '.git', 'config'), [
42
+ '[core]',
43
+ ' editor = "tool \\"arg\\"" # unrelated escaped quotes',
44
+ '[ReMoTe "origin"] ; comment',
45
+ ' URL = "https://user:sec;ret@github.com/acme/\\',
46
+ 'monorepo.git" # origin',
47
+ '[remote "other"] url = https://github.com/acme/other.git',
48
+ ].join('\r\n'));
49
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBe('github.com/acme/monorepo');
50
+ });
51
+ test('uses the first fetch URL and supports the legacy section spelling', () => {
52
+ fs_1.default.writeFileSync(path_1.default.join(repo, '.git', 'config'), [
53
+ '[REMOTE.ORIGIN]',
54
+ 'url = https://github.com/acme/monorepo.git',
55
+ 'url = https://github.com/acme/mirror.git',
56
+ '[remote "Origin"]',
57
+ 'url = https://github.com/acme/uppercase-name.git',
58
+ ].join('\n'));
59
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBe('github.com/acme/monorepo');
60
+ });
61
+ test('reads worktree-local origins only when the worktreeConfig extension is enabled', () => {
62
+ setOrigin();
63
+ const gitDir = path_1.default.join(repo, '.git');
64
+ fs_1.default.writeFileSync(path_1.default.join(gitDir, 'config.worktree'), '[remote "origin"]\nurl = git@github.com:acme/worktree.git\n');
65
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBeUndefined();
66
+ fs_1.default.appendFileSync(path_1.default.join(gitDir, 'config'), '[extensions]\nworktreeConfig = true\n');
67
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBe('github.com/acme/worktree');
68
+ });
69
+ test.each(['not a gitfile', 'gitdir: missing', 'gitdir: '])('does not escape a broken nested checkout: %s', (pointer) => {
70
+ const nested = path_1.default.join(repo, 'apps', 'ios');
71
+ fs_1.default.writeFileSync(path_1.default.join(nested, '.git'), pointer);
72
+ expect((0, snapshot_project_1.projectSnapshotKey)(nested)).toBeUndefined();
73
+ });
74
+ test.each([
75
+ '[remote "origin"]\nurl = "unterminated',
76
+ '[remote "origin"]\nurl = "https://github.com/acme/\\q"',
77
+ '[remote "origin"\nurl = https://github.com/acme/repo.git',
78
+ '[remote "origin"]\nurl = https://github.com/acme/repo.git\n[include]\npath = other.config',
79
+ '[remote "origin"]\nurl = https://github.com/acme/repo.git\n[includeIf "onbranch:main"]\npath = other.config',
80
+ ])('leaves malformed or included config to an explicit key: %s', (config) => {
81
+ fs_1.default.writeFileSync(path_1.default.join(repo, '.git', 'config'), config);
82
+ expect((0, snapshot_project_1.projectSnapshotConfig)({}, repo)).toBeUndefined();
83
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'snapshot-key': 'explicit' }, repo)).toEqual({ key: 'explicit' });
84
+ });
85
+ test.each([
86
+ 'git@github.com:Acme/Monorepo.git',
87
+ 'ssh://git@github.com/acme/monorepo.git',
88
+ 'https://github.com/acme/monorepo.git/',
89
+ 'https://user:secret@github.com/acme/monorepo.git?token=secret',
90
+ ])('normalizes %s to the same project identity', (remote) => {
91
+ setOrigin(remote);
92
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBe('github.com/acme/monorepo');
93
+ expect((0, snapshot_project_1.projectSnapshotKey)(path_1.default.join(repo, 'apps', 'ios'))).toBe('github.com/acme/monorepo/apps/ios');
94
+ });
95
+ test('preserves case-sensitive repository and app paths on other hosts', () => {
96
+ setOrigin('ssh://git@git.example.com:2222/Acme/Mobile.git');
97
+ fs_1.default.mkdirSync(path_1.default.join(repo, 'MyApp'));
98
+ expect((0, snapshot_project_1.projectSnapshotKey)(path_1.default.join(repo, 'MyApp'))).toBe('git.example.com:2222/Acme/Mobile/MyApp');
99
+ });
100
+ test.each(['relative', 'absolute'])('%s worktree pointers and symlinked paths share the project key', (kind) => {
101
+ const worktree = path_1.default.join(temp, 'other-checkout');
102
+ const gitDir = path_1.default.join(repo, '.git', 'worktrees', 'other-checkout');
103
+ fs_1.default.mkdirSync(gitDir, { recursive: true });
104
+ fs_1.default.mkdirSync(path_1.default.join(worktree, 'apps', 'ios'), { recursive: true });
105
+ fs_1.default.writeFileSync(path_1.default.join(worktree, '.git'), `gitdir: ${kind === 'absolute' ? gitDir : path_1.default.relative(worktree, gitDir)}\n`);
106
+ fs_1.default.writeFileSync(path_1.default.join(gitDir, 'commondir'), '../../\n');
107
+ fs_1.default.writeFileSync(path_1.default.join(gitDir, 'HEAD'), 'ref: refs/heads/feature\n');
108
+ const linked = path_1.default.join(temp, 'linked');
109
+ fs_1.default.symlinkSync(worktree, linked, 'junction');
110
+ expect((0, snapshot_project_1.projectSnapshotKey)(path_1.default.join(linked, 'apps', 'ios'))).toBe('github.com/acme/monorepo/apps/ios');
111
+ });
112
+ test('uses the nearest repository for a nested checkout', () => {
113
+ const nested = path_1.default.join(repo, 'apps', 'ios');
114
+ writeConfig(path_1.default.join(nested, '.git'), 'git@github.com:acme/ios.git');
115
+ expect((0, snapshot_project_1.projectSnapshotKey)(nested)).toBe('github.com/acme/ios');
116
+ });
117
+ test('follows a submodule gitfile without adopting the containing repository', () => {
118
+ const nested = path_1.default.join(repo, 'apps', 'ios');
119
+ const gitDir = path_1.default.join(repo, '.git', 'modules', 'apps', 'ios');
120
+ writeConfig(gitDir, 'git@github.com:acme/ios.git');
121
+ fs_1.default.writeFileSync(path_1.default.join(nested, '.git'), `gitdir: ${path_1.default.relative(nested, gitDir)}\n`);
122
+ fs_1.default.mkdirSync(path_1.default.join(nested, 'Client'));
123
+ expect((0, snapshot_project_1.projectSnapshotKey)(path_1.default.join(nested, 'Client'))).toBe('github.com/acme/ios/Client');
124
+ });
125
+ test.each([
126
+ '/tmp/local-repo',
127
+ 'file:///tmp/local-repo',
128
+ 'C:\\local\\repo',
129
+ 'https://github.com/acme/bad%20name',
130
+ ])('does not invent an identity for unsupported remote %s', (remote) => {
131
+ setOrigin(remote);
132
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBeUndefined();
133
+ });
134
+ test('leaves snapshots explicit without a usable Git origin', () => {
135
+ expect((0, snapshot_project_1.projectSnapshotConfig)({}, temp)).toBeUndefined();
136
+ setOrigin();
137
+ expect((0, snapshot_project_1.projectSnapshotConfig)({}, repo)).toBeUndefined();
138
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'snapshot-key': 'my-project' }, temp)).toEqual({ key: 'my-project' });
139
+ });
140
+ test('does not emit keys beyond the API length limit or with unsupported path characters', () => {
141
+ setOrigin(`https://github.com/acme/${'a'.repeat(255)}.git`);
142
+ expect((0, snapshot_project_1.projectSnapshotKey)(repo)).toBeUndefined();
143
+ setOrigin('https://github.com/acme/repo.git');
144
+ fs_1.default.mkdirSync(path_1.default.join(repo, 'My App'));
145
+ expect((0, snapshot_project_1.projectSnapshotKey)(path_1.default.join(repo, 'My App'))).toBeUndefined();
146
+ });
147
+ test('defaults to a key alone and preserves explicit keys, restore-only settings and paths', () => {
148
+ expect((0, snapshot_project_1.projectSnapshotConfig)({}, repo)).toEqual({ key: 'github.com/acme/monorepo' });
149
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'snapshot-key': 'custom' }, repo)).toEqual({ key: 'custom' });
150
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'cache-key': 'legacy' }, repo)).toEqual({ key: 'legacy' });
151
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'snapshot-restore-keys': 'main' }, repo)).toEqual({ restoreKeys: ['main'] });
152
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'snapshot-paths': 'Pods' }, repo)).toEqual({ paths: ['Pods'] });
153
+ expect((0, snapshot_project_1.projectSnapshotConfig)({ 'no-snapshot': true }, repo)).toBeUndefined();
154
+ expect(() => (0, snapshot_project_1.projectSnapshotConfig)({ 'no-snapshot': true, 'cache-key': 'custom' }, repo)).toThrow('cannot be combined');
155
+ });
156
+ //# sourceMappingURL=snapshot-project.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-project.test.js","sourceRoot":"","sources":["../../src/lib/snapshot-project.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lim",
3
- "version": "0.45.1",
3
+ "version": "0.46.1",
4
4
  "description": "Use remote XCode, Gradle, iOS Simulator, Android Emulator and more to build and test apps from Linux, Windows or macOS.",
5
5
  "bin": {
6
6
  "lim": "./bin/run.js",
@@ -26,7 +26,7 @@
26
26
  "test": "jest"
27
27
  },
28
28
  "dependencies": {
29
- "@limrun/api": "0.64.0",
29
+ "@limrun/api": "0.64.1",
30
30
  "@oclif/core": "^4",
31
31
  "cli-progress": "^3.12.0",
32
32
  "cli-table3": "^0.6.5",
@@ -111,7 +111,8 @@
111
111
  "files": [
112
112
  "dist",
113
113
  "bin",
114
- "README.md"
114
+ "README.md",
115
+ "JSON_OUTPUT.md"
115
116
  ],
116
117
  "resolutions": {
117
118
  "@limrun/api/undici": "7.29.1"