lakebed-native-cli 0.1.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 (265) hide show
  1. package/dist/cli/apple/branding.d.ts +9 -0
  2. package/dist/cli/apple/branding.d.ts.map +1 -0
  3. package/dist/cli/apple/branding.js +40 -0
  4. package/dist/cli/apple/branding.js.map +1 -0
  5. package/dist/cli/apple/build-cloud.d.ts +6 -0
  6. package/dist/cli/apple/build-cloud.d.ts.map +1 -0
  7. package/dist/cli/apple/build-cloud.js +34 -0
  8. package/dist/cli/apple/build-cloud.js.map +1 -0
  9. package/dist/cli/apple/build-local.d.ts +16 -0
  10. package/dist/cli/apple/build-local.d.ts.map +1 -0
  11. package/dist/cli/apple/build-local.js +97 -0
  12. package/dist/cli/apple/build-local.js.map +1 -0
  13. package/dist/cli/apple/choose-path.d.ts +23 -0
  14. package/dist/cli/apple/choose-path.d.ts.map +1 -0
  15. package/dist/cli/apple/choose-path.js +78 -0
  16. package/dist/cli/apple/choose-path.js.map +1 -0
  17. package/dist/cli/apple/device-pack.d.ts +36 -0
  18. package/dist/cli/apple/device-pack.d.ts.map +1 -0
  19. package/dist/cli/apple/device-pack.js +210 -0
  20. package/dist/cli/apple/device-pack.js.map +1 -0
  21. package/dist/cli/apple/devices.d.ts +6 -0
  22. package/dist/cli/apple/devices.d.ts.map +1 -0
  23. package/dist/cli/apple/devices.js +49 -0
  24. package/dist/cli/apple/devices.js.map +1 -0
  25. package/dist/cli/apple/eas-delegate.d.ts +25 -0
  26. package/dist/cli/apple/eas-delegate.d.ts.map +1 -0
  27. package/dist/cli/apple/eas-delegate.js +63 -0
  28. package/dist/cli/apple/eas-delegate.js.map +1 -0
  29. package/dist/cli/apple/index.d.ts +9 -0
  30. package/dist/cli/apple/index.d.ts.map +1 -0
  31. package/dist/cli/apple/index.js +12 -0
  32. package/dist/cli/apple/index.js.map +1 -0
  33. package/dist/cli/apple/route-device-build.d.ts +16 -0
  34. package/dist/cli/apple/route-device-build.d.ts.map +1 -0
  35. package/dist/cli/apple/route-device-build.js +54 -0
  36. package/dist/cli/apple/route-device-build.js.map +1 -0
  37. package/dist/cli/apple/setup.d.ts +5 -0
  38. package/dist/cli/apple/setup.d.ts.map +1 -0
  39. package/dist/cli/apple/setup.js +69 -0
  40. package/dist/cli/apple/setup.js.map +1 -0
  41. package/dist/cli/apple/shell-ipa.d.ts +7 -0
  42. package/dist/cli/apple/shell-ipa.d.ts.map +1 -0
  43. package/dist/cli/apple/shell-ipa.js +73 -0
  44. package/dist/cli/apple/shell-ipa.js.map +1 -0
  45. package/dist/cli/apple/sign-ios.d.ts +24 -0
  46. package/dist/cli/apple/sign-ios.d.ts.map +1 -0
  47. package/dist/cli/apple/sign-ios.js +148 -0
  48. package/dist/cli/apple/sign-ios.js.map +1 -0
  49. package/dist/cli/apple/status.d.ts +64 -0
  50. package/dist/cli/apple/status.d.ts.map +1 -0
  51. package/dist/cli/apple/status.js +249 -0
  52. package/dist/cli/apple/status.js.map +1 -0
  53. package/dist/cli/bin.d.ts +3 -0
  54. package/dist/cli/bin.d.ts.map +1 -0
  55. package/dist/cli/bin.js +7 -0
  56. package/dist/cli/bin.js.map +1 -0
  57. package/dist/cli/bundler.d.ts +16 -0
  58. package/dist/cli/bundler.d.ts.map +1 -0
  59. package/dist/cli/bundler.js +109 -0
  60. package/dist/cli/bundler.js.map +1 -0
  61. package/dist/cli/capsule-eas.d.ts +27 -0
  62. package/dist/cli/capsule-eas.d.ts.map +1 -0
  63. package/dist/cli/capsule-eas.js +131 -0
  64. package/dist/cli/capsule-eas.js.map +1 -0
  65. package/dist/cli/cloud/index.d.ts +14 -0
  66. package/dist/cli/cloud/index.d.ts.map +1 -0
  67. package/dist/cli/cloud/index.js +118 -0
  68. package/dist/cli/cloud/index.js.map +1 -0
  69. package/dist/cli/cloud-client.d.ts +38 -0
  70. package/dist/cli/cloud-client.d.ts.map +1 -0
  71. package/dist/cli/cloud-client.js +71 -0
  72. package/dist/cli/cloud-client.js.map +1 -0
  73. package/dist/cli/commands/auth.d.ts +2 -0
  74. package/dist/cli/commands/auth.d.ts.map +1 -0
  75. package/dist/cli/commands/auth.js +18 -0
  76. package/dist/cli/commands/auth.js.map +1 -0
  77. package/dist/cli/commands/build-native.d.ts +18 -0
  78. package/dist/cli/commands/build-native.d.ts.map +1 -0
  79. package/dist/cli/commands/build-native.js +156 -0
  80. package/dist/cli/commands/build-native.js.map +1 -0
  81. package/dist/cli/commands/build.d.ts +6 -0
  82. package/dist/cli/commands/build.d.ts.map +1 -0
  83. package/dist/cli/commands/build.js +57 -0
  84. package/dist/cli/commands/build.js.map +1 -0
  85. package/dist/cli/commands/claim.d.ts +2 -0
  86. package/dist/cli/commands/claim.d.ts.map +1 -0
  87. package/dist/cli/commands/claim.js +2 -0
  88. package/dist/cli/commands/claim.js.map +1 -0
  89. package/dist/cli/commands/db.d.ts +7 -0
  90. package/dist/cli/commands/db.d.ts.map +1 -0
  91. package/dist/cli/commands/db.js +18 -0
  92. package/dist/cli/commands/db.js.map +1 -0
  93. package/dist/cli/commands/deploy.d.ts +10 -0
  94. package/dist/cli/commands/deploy.d.ts.map +1 -0
  95. package/dist/cli/commands/deploy.js +101 -0
  96. package/dist/cli/commands/deploy.js.map +1 -0
  97. package/dist/cli/commands/dev.d.ts +5 -0
  98. package/dist/cli/commands/dev.d.ts.map +1 -0
  99. package/dist/cli/commands/dev.js +46 -0
  100. package/dist/cli/commands/dev.js.map +1 -0
  101. package/dist/cli/commands/devices.d.ts +4 -0
  102. package/dist/cli/commands/devices.d.ts.map +1 -0
  103. package/dist/cli/commands/devices.js +27 -0
  104. package/dist/cli/commands/devices.js.map +1 -0
  105. package/dist/cli/commands/domains.d.ts +5 -0
  106. package/dist/cli/commands/domains.d.ts.map +1 -0
  107. package/dist/cli/commands/domains.js +36 -0
  108. package/dist/cli/commands/domains.js.map +1 -0
  109. package/dist/cli/commands/inspect.d.ts +7 -0
  110. package/dist/cli/commands/inspect.d.ts.map +1 -0
  111. package/dist/cli/commands/inspect.js +15 -0
  112. package/dist/cli/commands/inspect.js.map +1 -0
  113. package/dist/cli/commands/logs.d.ts +7 -0
  114. package/dist/cli/commands/logs.d.ts.map +1 -0
  115. package/dist/cli/commands/logs.js +15 -0
  116. package/dist/cli/commands/logs.js.map +1 -0
  117. package/dist/cli/commands/new.d.ts +6 -0
  118. package/dist/cli/commands/new.d.ts.map +1 -0
  119. package/dist/cli/commands/new.js +17 -0
  120. package/dist/cli/commands/new.js.map +1 -0
  121. package/dist/cli/commands/open.d.ts +5 -0
  122. package/dist/cli/commands/open.d.ts.map +1 -0
  123. package/dist/cli/commands/open.js +14 -0
  124. package/dist/cli/commands/open.js.map +1 -0
  125. package/dist/cli/commands/pack.d.ts +32 -0
  126. package/dist/cli/commands/pack.d.ts.map +1 -0
  127. package/dist/cli/commands/pack.js +273 -0
  128. package/dist/cli/commands/pack.js.map +1 -0
  129. package/dist/cli/commands/screenshot.d.ts +5 -0
  130. package/dist/cli/commands/screenshot.d.ts.map +1 -0
  131. package/dist/cli/commands/screenshot.js +8 -0
  132. package/dist/cli/commands/screenshot.js.map +1 -0
  133. package/dist/cli/commands/shell-fetch.d.ts +5 -0
  134. package/dist/cli/commands/shell-fetch.d.ts.map +1 -0
  135. package/dist/cli/commands/shell-fetch.js +123 -0
  136. package/dist/cli/commands/shell-fetch.js.map +1 -0
  137. package/dist/cli/commands/shell.d.ts +2 -0
  138. package/dist/cli/commands/shell.d.ts.map +1 -0
  139. package/dist/cli/commands/shell.js +2 -0
  140. package/dist/cli/commands/shell.js.map +1 -0
  141. package/dist/cli/commands/submit.d.ts +2 -0
  142. package/dist/cli/commands/submit.d.ts.map +1 -0
  143. package/dist/cli/commands/submit.js +2 -0
  144. package/dist/cli/commands/submit.js.map +1 -0
  145. package/dist/cli/commands/tree.d.ts +5 -0
  146. package/dist/cli/commands/tree.d.ts.map +1 -0
  147. package/dist/cli/commands/tree.js +23 -0
  148. package/dist/cli/commands/tree.js.map +1 -0
  149. package/dist/cli/deploy-metadata.d.ts +10 -0
  150. package/dist/cli/deploy-metadata.d.ts.map +1 -0
  151. package/dist/cli/deploy-metadata.js +50 -0
  152. package/dist/cli/deploy-metadata.js.map +1 -0
  153. package/dist/cli/deploy-runtime.d.ts +4 -0
  154. package/dist/cli/deploy-runtime.d.ts.map +1 -0
  155. package/dist/cli/deploy-runtime.js +14 -0
  156. package/dist/cli/deploy-runtime.js.map +1 -0
  157. package/dist/cli/dev-config.d.ts +2 -0
  158. package/dist/cli/dev-config.d.ts.map +1 -0
  159. package/dist/cli/dev-config.js +36 -0
  160. package/dist/cli/dev-config.js.map +1 -0
  161. package/dist/cli/hosted-client.d.ts +39 -0
  162. package/dist/cli/hosted-client.d.ts.map +1 -0
  163. package/dist/cli/hosted-client.js +275 -0
  164. package/dist/cli/hosted-client.js.map +1 -0
  165. package/dist/cli/hosted-v1-store.d.ts +73 -0
  166. package/dist/cli/hosted-v1-store.d.ts.map +1 -0
  167. package/dist/cli/hosted-v1-store.js +96 -0
  168. package/dist/cli/hosted-v1-store.js.map +1 -0
  169. package/dist/cli/hosted.d.ts +13 -0
  170. package/dist/cli/hosted.d.ts.map +1 -0
  171. package/dist/cli/hosted.js +337 -0
  172. package/dist/cli/hosted.js.map +1 -0
  173. package/dist/cli/index.d.ts +2 -0
  174. package/dist/cli/index.d.ts.map +1 -0
  175. package/dist/cli/index.js +261 -0
  176. package/dist/cli/index.js.map +1 -0
  177. package/dist/cli/kit-paths.d.ts +8 -0
  178. package/dist/cli/kit-paths.d.ts.map +1 -0
  179. package/dist/cli/kit-paths.js +67 -0
  180. package/dist/cli/kit-paths.js.map +1 -0
  181. package/dist/cli/loader.d.ts +2 -0
  182. package/dist/cli/loader.d.ts.map +1 -0
  183. package/dist/cli/loader.js +5 -0
  184. package/dist/cli/loader.js.map +1 -0
  185. package/dist/cli/native-deploy-payload.d.ts +17 -0
  186. package/dist/cli/native-deploy-payload.d.ts.map +1 -0
  187. package/dist/cli/native-deploy-payload.js +29 -0
  188. package/dist/cli/native-deploy-payload.js.map +1 -0
  189. package/dist/cli/platform-detect.d.ts +11 -0
  190. package/dist/cli/platform-detect.d.ts.map +1 -0
  191. package/dist/cli/platform-detect.js +54 -0
  192. package/dist/cli/platform-detect.js.map +1 -0
  193. package/dist/cli/site.d.ts +6 -0
  194. package/dist/cli/site.d.ts.map +1 -0
  195. package/dist/cli/site.js +9 -0
  196. package/dist/cli/site.js.map +1 -0
  197. package/dist/cli/util.d.ts +12 -0
  198. package/dist/cli/util.d.ts.map +1 -0
  199. package/dist/cli/util.js +118 -0
  200. package/dist/cli/util.js.map +1 -0
  201. package/dist/cli/web-deploy-envelope.d.ts +15 -0
  202. package/dist/cli/web-deploy-envelope.d.ts.map +1 -0
  203. package/dist/cli/web-deploy-envelope.js +156 -0
  204. package/dist/cli/web-deploy-envelope.js.map +1 -0
  205. package/metro.lakebed-native.cjs +94 -0
  206. package/package.json +38 -0
  207. package/templates/camera-note/.env.lakebed.native.server +1 -0
  208. package/templates/camera-note/.lakebed-native/dev.json +6 -0
  209. package/templates/camera-note/.lakebed-native/metro/.expo/README.md +8 -0
  210. package/templates/camera-note/.lakebed-native/metro/.expo/devices.json +3 -0
  211. package/templates/camera-note/.lakebed-native/metro/index.js +2 -0
  212. package/templates/camera-note/.lakebed-native/metro/metro.config.js +4 -0
  213. package/templates/camera-note/.lakebed-native/metro/package.json +4 -0
  214. package/templates/camera-note/AGENTS.md +1 -0
  215. package/templates/camera-note/README.md +1 -0
  216. package/templates/camera-note/app/index.tsx +64 -0
  217. package/templates/camera-note/server/index.ts +23 -0
  218. package/templates/error-fixture/.env.lakebed.native.server +1 -0
  219. package/templates/error-fixture/.lakebed-native/dev.json +6 -0
  220. package/templates/error-fixture/.lakebed-native/metro/.expo/README.md +8 -0
  221. package/templates/error-fixture/.lakebed-native/metro/.expo/devices.json +3 -0
  222. package/templates/error-fixture/.lakebed-native/metro/index.js +2 -0
  223. package/templates/error-fixture/.lakebed-native/metro/metro.config.js +4 -0
  224. package/templates/error-fixture/.lakebed-native/metro/package.json +4 -0
  225. package/templates/error-fixture/AGENTS.md +1 -0
  226. package/templates/error-fixture/README.md +1 -0
  227. package/templates/error-fixture/app/index.tsx +31 -0
  228. package/templates/error-fixture/server/index.ts +19 -0
  229. package/templates/form/.env.lakebed.native.server +1 -0
  230. package/templates/form/.lakebed-native/dev.json +6 -0
  231. package/templates/form/.lakebed-native/metro/.expo/README.md +8 -0
  232. package/templates/form/.lakebed-native/metro/.expo/devices.json +3 -0
  233. package/templates/form/.lakebed-native/metro/index.js +2 -0
  234. package/templates/form/.lakebed-native/metro/metro.config.js +4 -0
  235. package/templates/form/.lakebed-native/metro/package.json +4 -0
  236. package/templates/form/AGENTS.md +1 -0
  237. package/templates/form/README.md +1 -0
  238. package/templates/form/app/index.tsx +56 -0
  239. package/templates/form/server/index.ts +27 -0
  240. package/templates/guestbook/.env.lakebed.native.server +1 -0
  241. package/templates/guestbook/AGENTS.md +1 -0
  242. package/templates/guestbook/README.md +3 -0
  243. package/templates/guestbook/app/index.tsx +45 -0
  244. package/templates/guestbook/server/index.ts +31 -0
  245. package/templates/location-checkin/.env.lakebed.native.server +1 -0
  246. package/templates/location-checkin/.lakebed-native/dev.json +6 -0
  247. package/templates/location-checkin/.lakebed-native/metro/.expo/README.md +8 -0
  248. package/templates/location-checkin/.lakebed-native/metro/.expo/devices.json +3 -0
  249. package/templates/location-checkin/.lakebed-native/metro/index.js +2 -0
  250. package/templates/location-checkin/.lakebed-native/metro/metro.config.js +4 -0
  251. package/templates/location-checkin/.lakebed-native/metro/package.json +4 -0
  252. package/templates/location-checkin/AGENTS.md +1 -0
  253. package/templates/location-checkin/README.md +1 -0
  254. package/templates/location-checkin/app/index.tsx +52 -0
  255. package/templates/location-checkin/server/index.ts +34 -0
  256. package/templates/tabs/.env.lakebed.native.server +1 -0
  257. package/templates/tabs/AGENTS.md +1 -0
  258. package/templates/tabs/README.md +1 -0
  259. package/templates/tabs/app/index.tsx +39 -0
  260. package/templates/tabs/server/index.ts +9 -0
  261. package/templates/todo/.env.lakebed.native.server +1 -0
  262. package/templates/todo/AGENTS.md +27 -0
  263. package/templates/todo/README.md +18 -0
  264. package/templates/todo/app/index.tsx +112 -0
  265. package/templates/todo/server/index.ts +51 -0
@@ -0,0 +1,9 @@
1
+ /** User-facing copy and output sanitization — vendor build tools stay internal. */
2
+ export declare function lakebedBuildStatusUrl(cloudApi: string, buildId: string): string;
3
+ export declare function lakebedBuildStatusHint(cloudApi: string, buildId: string): string;
4
+ /** Strip vendor names from captured CLI output shown to capsule authors. */
5
+ export declare function sanitizeVendorOutput(text: string): string;
6
+ export declare const IOS_BUILD_TOOLS_HINT = "Lakebed Native iOS device builds need the bundled build toolchain. Reinstall the CLI from Lakebed Native docs or run from the lakebed-native monorepo with dev dependencies installed.";
7
+ export declare const APPLE_SETUP_INTRO: string;
8
+ export declare const DEVICE_REGISTER_INTRO: string;
9
+ //# sourceMappingURL=branding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/branding.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAczD;AAED,eAAO,MAAM,oBAAoB,2LACyJ,CAAC;AAE3L,eAAO,MAAM,iBAAiB,QAQlB,CAAC;AAEb,eAAO,MAAM,qBAAqB,QAMtB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /** User-facing copy and output sanitization — vendor build tools stay internal. */
2
+ export function lakebedBuildStatusUrl(cloudApi, buildId) {
3
+ return `${cloudApi.replace(/\/$/, "")}/api/builds/${encodeURIComponent(buildId)}`;
4
+ }
5
+ export function lakebedBuildStatusHint(cloudApi, buildId) {
6
+ const api = cloudApi.replace(/\/$/, "");
7
+ return `Poll build: lakebed-native cloud build --build-id ${buildId} --wait --api ${api}`;
8
+ }
9
+ /** Strip vendor names from captured CLI output shown to capsule authors. */
10
+ export function sanitizeVendorOutput(text) {
11
+ return (text
12
+ .replace(/https?:\/\/(?:www\.)?expo\.dev[^\s)\]"']+/gi, "[Lakebed Native build portal]")
13
+ .replace(/\bEAS CLI\b/g, "Lakebed Native build tools")
14
+ .replace(/\beas-cli\b/g, "lakebed-native")
15
+ .replace(/\bEAS\b/g, "Lakebed Native")
16
+ .replace(/\bExpo\b/g, "Lakebed Native")
17
+ .replace(/\beas login\b/gi, "lakebed-native apple setup")
18
+ .replace(/\beas device:create\b/gi, "lakebed-native apple devices register")
19
+ .replace(/\beas credentials[^\n]*/gi, "lakebed-native apple setup")
20
+ .replace(/\beas build[^\n]*/gi, "lakebed-native cloud build")
21
+ .replace(/\beas init\b/gi, "lakebed-native apple setup"));
22
+ }
23
+ export const IOS_BUILD_TOOLS_HINT = "Lakebed Native iOS device builds need the bundled build toolchain. Reinstall the CLI from Lakebed Native docs or run from the lakebed-native monorepo with dev dependencies installed.";
24
+ export const APPLE_SETUP_INTRO = [
25
+ "Lakebed Native — Apple signing setup",
26
+ "",
27
+ "Physical iPhone installs need an Apple Developer Program membership ($99/yr).",
28
+ "Lakebed Native hosts cloud compile minutes; you own Apple signing for your team.",
29
+ "",
30
+ "Next: sign in with your Apple Developer account when prompted.",
31
+ "Certificates and provisioning profiles are stored securely for future builds.",
32
+ ].join("\n");
33
+ export const DEVICE_REGISTER_INTRO = [
34
+ "Register iPhone or iPad for Lakebed Native ad-hoc installs",
35
+ "",
36
+ "Scan the QR code or follow the prompts to add this device to your Apple team.",
37
+ "Registered devices can install device builds from Lakebed Native.",
38
+ "",
39
+ ].join("\n");
40
+ //# sourceMappingURL=branding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branding.js","sourceRoot":"","sources":["../../../src/cli/apple/branding.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,OAAe;IACrE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,OAAe;IACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,qDAAqD,OAAO,iBAAiB,GAAG,EAAE,CAAC;AAC5F,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,CACL,IAAI;SACD,OAAO,CAAC,6CAA6C,EAAE,+BAA+B,CAAC;SACvF,OAAO,CAAC,cAAc,EAAE,4BAA4B,CAAC;SACrD,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC;SACzC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC;SACrC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC;SACtC,OAAO,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACxD,OAAO,CAAC,yBAAyB,EAAE,uCAAuC,CAAC;SAC3E,OAAO,CAAC,2BAA2B,EAAE,4BAA4B,CAAC;SAClE,OAAO,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;SAC5D,OAAO,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC/B,wLAAwL,CAAC;AAE3L,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,sCAAsC;IACtC,EAAE;IACF,+EAA+E;IAC/E,kFAAkF;IAClF,EAAE;IACF,gEAAgE;IAChE,+EAA+E;CAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,4DAA4D;IAC5D,EAAE;IACF,+EAA+E;IAC/E,mEAAmE;IACnE,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function cmdAppleBuildCloud(opts: {
2
+ refreshDevices?: boolean;
3
+ json?: boolean;
4
+ capsuleDir?: string;
5
+ }): Promise<void>;
6
+ //# sourceMappingURL=build-cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-cloud.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/build-cloud.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB"}
@@ -0,0 +1,34 @@
1
+ import { runEas, IOS_DEVICE_BUILD_PROFILE } from "./eas-delegate.js";
2
+ import { reportDeviceBuildBlocked } from "./choose-path.js";
3
+ export async function cmdAppleBuildCloud(opts) {
4
+ if (reportDeviceBuildBlocked({
5
+ capsuleDir: opts.capsuleDir,
6
+ json: opts.json,
7
+ })) {
8
+ return;
9
+ }
10
+ const args = [
11
+ "build",
12
+ "-p",
13
+ "ios",
14
+ "-e",
15
+ IOS_DEVICE_BUILD_PROFILE,
16
+ "--non-interactive",
17
+ "--no-wait",
18
+ ];
19
+ if (opts.refreshDevices !== false) {
20
+ args.push("--refresh-ad-hoc-provisioning-profiles");
21
+ }
22
+ if (opts.json) {
23
+ console.log(JSON.stringify({ ok: true, action: "lakebed-cloud-build", profile: IOS_DEVICE_BUILD_PROFILE }));
24
+ }
25
+ else {
26
+ console.log("Starting Lakebed Native cloud device build (~12 min)...");
27
+ console.log("Uses your Apple signing credentials stored during lakebed-native apple setup.");
28
+ console.log("");
29
+ }
30
+ const code = runEas(args, { interactive: !opts.json, capsuleDir: opts.capsuleDir });
31
+ if (code !== 0)
32
+ process.exitCode = code;
33
+ }
34
+ //# sourceMappingURL=build-cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-cloud.js","sourceRoot":"","sources":["../../../src/cli/apple/build-cloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAIxC;IACC,IACE,wBAAwB,CAAC;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,EACF,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG;QACX,OAAO;QACP,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,wBAAwB;QACxB,mBAAmB;QACnB,WAAW;KACZ,CAAC;IACF,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpF,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,16 @@
1
+ /** Build universal device shell (EAS). Fast capsule packs use pack --device. */
2
+ export declare function cmdAppleBuildLocal(opts: {
3
+ device?: string;
4
+ json?: boolean;
5
+ wait?: boolean;
6
+ refreshDevices?: boolean;
7
+ }): Promise<void>;
8
+ export declare function cmdAppleBuildAuto(opts: {
9
+ cloud?: boolean;
10
+ local?: boolean;
11
+ json?: boolean;
12
+ wait?: boolean;
13
+ refreshDevices?: boolean;
14
+ api?: string;
15
+ }): Promise<void>;
16
+ //# sourceMappingURL=build-local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-local.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/build-local.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ChB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ChB"}
@@ -0,0 +1,97 @@
1
+ import { detectPlatform } from "../platform-detect.js";
2
+ import { fetchCredentialsConfigured } from "./status.js";
3
+ import { resolveIosDeviceRoute } from "./route-device-build.js";
4
+ import { runIosDeviceEasCloud } from "./device-pack.js";
5
+ import { resolveDeviceShellIpa, deviceShellIpaHint } from "./shell-ipa.js";
6
+ /** Build universal device shell (EAS). Fast capsule packs use pack --device. */
7
+ export async function cmdAppleBuildLocal(opts) {
8
+ const platform = detectPlatform();
9
+ if (!platform.isMac) {
10
+ const msg = "Local builds require macOS. Use: lakebed-native cloud build --platform ios";
11
+ if (opts.json)
12
+ console.log(JSON.stringify({ ok: false, error: msg }));
13
+ else
14
+ console.error(msg);
15
+ process.exitCode = 1;
16
+ return;
17
+ }
18
+ const creds = fetchCredentialsConfigured();
19
+ const decision = resolveIosDeviceRoute({ credentialsConfigured: creds });
20
+ if (decision.canFastPack) {
21
+ const msg = "Shell IPA template is ready on this Mac. Use:\n" +
22
+ " lakebed-native pack <capsule> --platform ios --device\n" +
23
+ "To rebuild the shell template on Lakebed Native cloud instead:\n" +
24
+ " lakebed-native cloud build --platform ios --wait\n" +
25
+ " lakebed-native apple fetch-shell-ipa";
26
+ if (opts.json)
27
+ console.log(JSON.stringify({ ok: true, route: "fast-pack-ready", shellIpa: decision.shellIpa }));
28
+ else
29
+ console.log(msg);
30
+ return;
31
+ }
32
+ if (!platform.hasXcode) {
33
+ if (opts.json) {
34
+ console.log(JSON.stringify({ ok: false, error: "Xcode required for local Lakebed Native build fallback" }));
35
+ }
36
+ else {
37
+ console.error("Xcode not found.");
38
+ console.log(deviceShellIpaHint());
39
+ }
40
+ process.exitCode = 1;
41
+ return;
42
+ }
43
+ await runIosDeviceEasCloud({
44
+ local: true,
45
+ wait: opts.wait,
46
+ refreshDevices: opts.refreshDevices,
47
+ json: opts.json,
48
+ });
49
+ }
50
+ export async function cmdAppleBuildAuto(opts) {
51
+ if (opts.cloud) {
52
+ const { cmdCloudBuild } = await import("../cloud/index.js");
53
+ return cmdCloudBuild({
54
+ platform: "ios",
55
+ local: false,
56
+ wait: opts.wait,
57
+ api: opts.api,
58
+ refreshDevices: opts.refreshDevices,
59
+ json: opts.json,
60
+ });
61
+ }
62
+ if (opts.local) {
63
+ return cmdAppleBuildLocal({
64
+ json: opts.json,
65
+ wait: opts.wait,
66
+ refreshDevices: opts.refreshDevices,
67
+ });
68
+ }
69
+ const creds = fetchCredentialsConfigured();
70
+ const decision = resolveIosDeviceRoute({ credentialsConfigured: creds });
71
+ if (!opts.json) {
72
+ console.log("Universal shell device build (no capsule embedded).");
73
+ console.log(decision.summary);
74
+ for (const line of decision.details)
75
+ console.log(line);
76
+ console.log("");
77
+ if (decision.canFastPack) {
78
+ console.log("Shell template already on disk — use pack --device <capsule> for fast builds.");
79
+ console.log(` ${resolveDeviceShellIpa()}`);
80
+ return;
81
+ }
82
+ }
83
+ else if (decision.canFastPack) {
84
+ console.log(JSON.stringify({ ok: true, route: "fast-pack-ready", shellIpa: decision.shellIpa }));
85
+ return;
86
+ }
87
+ const { cmdCloudBuild } = await import("../cloud/index.js");
88
+ return cmdCloudBuild({
89
+ platform: "ios",
90
+ local: false,
91
+ wait: opts.wait,
92
+ api: opts.api,
93
+ refreshDevices: opts.refreshDevices,
94
+ json: opts.json,
95
+ });
96
+ }
97
+ //# sourceMappingURL=build-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-local.js","sourceRoot":"","sources":["../../../src/cli/apple/build-local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export type IosBuildPath = "fast-pack" | "eas-cloud";
2
+ export type IosBuildPathRecommendation = {
3
+ recommended: IosBuildPath;
4
+ canFastPack: boolean;
5
+ canEasCloud: boolean;
6
+ summary: string;
7
+ details: string[];
8
+ };
9
+ /** Recommend fast IPA pack (Mac) vs EAS cloud build for physical iOS. */
10
+ export declare function recommendIosDeviceBuildPath(opts?: {
11
+ prefer?: IosBuildPath;
12
+ credentialsConfigured?: boolean;
13
+ shellIpa?: string;
14
+ capsuleDir?: string;
15
+ }): IosBuildPathRecommendation;
16
+ export declare function printIosBuildPathGuide(rec: IosBuildPathRecommendation): void;
17
+ /** Print a blocked-device-build guide with accurate routing (cloud unavailable). */
18
+ export declare function reportDeviceBuildBlocked(opts: {
19
+ capsuleDir?: string;
20
+ json?: boolean;
21
+ emitJson?: (payload: object) => void;
22
+ }): boolean;
23
+ //# sourceMappingURL=choose-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choose-path.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/choose-path.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;AAErD,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,YAAY,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE;IACjD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,0BAA0B,CAsB7B;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI,CAiB5E;AAED,oFAAoF;AACpF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,OAAO,CA+BV"}
@@ -0,0 +1,78 @@
1
+ import { detectPlatform, listConnectedIosDevices } from "../platform-detect.js";
2
+ import { resolveIosDeviceRoute } from "./route-device-build.js";
3
+ import { deviceBuildBlockMessage, evaluateDeviceBuildReadiness, } from "./status.js";
4
+ /** Recommend fast IPA pack (Mac) vs EAS cloud build for physical iOS. */
5
+ export function recommendIosDeviceBuildPath(opts) {
6
+ const decision = resolveIosDeviceRoute({
7
+ force: opts?.prefer,
8
+ credentialsConfigured: opts?.credentialsConfigured,
9
+ shellIpa: opts?.shellIpa,
10
+ capsuleDir: opts?.capsuleDir,
11
+ });
12
+ const platform = detectPlatform();
13
+ const devices = listConnectedIosDevices();
14
+ const details = [...decision.details];
15
+ if (platform.isMac && devices.length) {
16
+ details.push(` USB devices: ${devices.join(", ")}`);
17
+ }
18
+ return {
19
+ recommended: decision.route,
20
+ canFastPack: decision.canFastPack,
21
+ canEasCloud: decision.canEasCloud,
22
+ summary: decision.summary,
23
+ details,
24
+ };
25
+ }
26
+ export function printIosBuildPathGuide(rec) {
27
+ console.log("");
28
+ console.log("Physical iOS device build");
29
+ console.log("========================");
30
+ console.log(rec.summary);
31
+ console.log("");
32
+ for (const line of rec.details)
33
+ console.log(line);
34
+ console.log("");
35
+ console.log("Commands:");
36
+ console.log(" lakebed-native pack <capsule> --platform ios --device # auto-route");
37
+ console.log(" lakebed-native pack <capsule> --platform ios --device --cloud");
38
+ console.log(" lakebed-native apple setup");
39
+ console.log(" lakebed-native apple devices register");
40
+ console.log(" lakebed-native apple fetch-shell-ipa # save device shell template (once)");
41
+ console.log(" lakebed-native cloud build --platform ios");
42
+ console.log("");
43
+ console.log("Docs: docs/apple-credentials.md");
44
+ }
45
+ /** Print a blocked-device-build guide with accurate routing (cloud unavailable). */
46
+ export function reportDeviceBuildBlocked(opts) {
47
+ const readiness = evaluateDeviceBuildReadiness(opts.capsuleDir);
48
+ if (readiness.ready)
49
+ return false;
50
+ const blockReason = readiness.blockReason ?? "signing";
51
+ const { error, hints } = deviceBuildBlockMessage(blockReason);
52
+ const payload = {
53
+ ok: false,
54
+ error,
55
+ blockReason,
56
+ prerequisitesMet: readiness.prerequisitesMet,
57
+ signingConfigured: readiness.signingConfigured,
58
+ };
59
+ if (opts.json) {
60
+ if (opts.emitJson)
61
+ opts.emitJson(payload);
62
+ else
63
+ console.log(JSON.stringify(payload));
64
+ }
65
+ else {
66
+ printIosBuildPathGuide(recommendIosDeviceBuildPath({
67
+ prefer: "eas-cloud",
68
+ credentialsConfigured: false,
69
+ capsuleDir: opts.capsuleDir,
70
+ }));
71
+ console.error(error);
72
+ for (const hint of hints)
73
+ console.error(hint);
74
+ }
75
+ process.exitCode = 1;
76
+ return true;
77
+ }
78
+ //# sourceMappingURL=choose-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choose-path.js","sourceRoot":"","sources":["../../../src/cli/apple/choose-path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { NativeArtifact, StandaloneManifest } from "@lakebed-native/shared";
2
+ import { type IosDeviceRoute } from "./route-device-build.js";
3
+ export declare function cmdAppleFetchShellIpa(opts: {
4
+ out?: string;
5
+ json?: boolean;
6
+ capsuleDir?: string;
7
+ }): Promise<void>;
8
+ export declare function runIosDeviceEasCloud(opts: {
9
+ api?: string;
10
+ local?: boolean;
11
+ wait?: boolean;
12
+ refreshDevices?: boolean;
13
+ json?: boolean;
14
+ openUrl?: string;
15
+ capsuleDir?: string;
16
+ }): Promise<{
17
+ buildId?: string;
18
+ dashboardUrl?: string;
19
+ artifactUrl?: string | null;
20
+ }>;
21
+ /** Pack or EAS-build a physical iPhone IPA for a capsule (auto-routed). */
22
+ export declare function cmdIosDevicePackOrBuild(opts: {
23
+ capsuleDir: string;
24
+ artifact: NativeArtifact;
25
+ manifest: StandaloneManifest;
26
+ openUrl?: string;
27
+ out?: string;
28
+ shellIpa?: string;
29
+ api?: string;
30
+ forceRoute?: IosDeviceRoute;
31
+ wait?: boolean;
32
+ refreshDevices?: boolean;
33
+ json?: boolean;
34
+ }): Promise<void>;
35
+ export declare function buildOpenUrlFromManifest(manifest: StandaloneManifest, apiUrl: string): string | undefined;
36
+ //# sourceMappingURL=device-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-pack.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/device-pack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAcjF,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOrF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAwEpF;AAED,2EAA2E;AAC3E,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGhB;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAqBpB"}
@@ -0,0 +1,210 @@
1
+ import { join } from "node:path";
2
+ import { cloudHealth, resolveNativeCloudApi, startCloudBuild, waitForCloudBuild, } from "../cloud-client.js";
3
+ import { hostedNativeOpenUrl, resolveHostedApi, manifestUsesLocalRunner, } from "../hosted-client.js";
4
+ import { outputJson } from "../util.js";
5
+ import { cmdAppleBuildCloud as localEasBuild } from "./build-cloud.js";
6
+ import { resolveIosDeviceRoute } from "./route-device-build.js";
7
+ import { packIosDeviceIpa } from "./sign-ios.js";
8
+ import { deviceShellIpaHint, resolveDeviceShellIpa } from "./shell-ipa.js";
9
+ import { lakebedBuildStatusHint, lakebedBuildStatusUrl } from "./branding.js";
10
+ import { reportDeviceBuildBlocked } from "./choose-path.js";
11
+ import { fetchCredentialsConfigured } from "./status.js";
12
+ export async function cmdAppleFetchShellIpa(opts) {
13
+ const { fetchLatestDeviceShellIpa } = await import("./shell-ipa.js");
14
+ const capsuleDir = opts.capsuleDir;
15
+ try {
16
+ const path = await fetchLatestDeviceShellIpa(opts.out, capsuleDir);
17
+ if (opts.json)
18
+ outputJson({ ok: true, path });
19
+ else
20
+ console.log(`Saved device shell IPA: ${path}`);
21
+ }
22
+ catch (err) {
23
+ const msg = err instanceof Error ? err.message : String(err);
24
+ if (opts.json)
25
+ outputJson({ ok: false, error: msg });
26
+ else
27
+ console.error(msg);
28
+ process.exitCode = 1;
29
+ }
30
+ }
31
+ export async function runIosDeviceEasCloud(opts) {
32
+ if (opts.local) {
33
+ await localEasBuild({ refreshDevices: opts.refreshDevices, json: opts.json, capsuleDir: opts.capsuleDir });
34
+ return {};
35
+ }
36
+ const cloudApi = resolveNativeCloudApi(opts.api);
37
+ try {
38
+ await cloudHealth(cloudApi);
39
+ }
40
+ catch {
41
+ if (!opts.json)
42
+ console.warn("Lakebed Native Cloud unreachable — falling back to local build tools");
43
+ await localEasBuild({ refreshDevices: opts.refreshDevices, json: opts.json, capsuleDir: opts.capsuleDir });
44
+ return {};
45
+ }
46
+ if (!opts.json) {
47
+ console.log(`Lakebed Native Cloud: ${cloudApi}`);
48
+ console.log("Starting Lakebed Native cloud device build (~12 min)...");
49
+ }
50
+ const started = await startCloudBuild({
51
+ platform: "ios",
52
+ profile: "device-preview",
53
+ refreshAdHoc: opts.refreshDevices !== false,
54
+ }, cloudApi);
55
+ if (opts.json) {
56
+ console.log(JSON.stringify({ ...started, openUrl: opts.openUrl }, null, 2));
57
+ return started;
58
+ }
59
+ console.log(`Build ID: ${started.buildId}`);
60
+ if (started.buildId) {
61
+ console.log(`Status API: ${lakebedBuildStatusUrl(cloudApi, started.buildId)}`);
62
+ console.log(lakebedBuildStatusHint(cloudApi, started.buildId));
63
+ }
64
+ if (opts.openUrl) {
65
+ console.log(`After install, open capsule: ${opts.openUrl}`);
66
+ console.log("(Generic shell IPA has no embedded bundle — use deep link on first launch.)");
67
+ }
68
+ if (opts.wait && started.buildId) {
69
+ try {
70
+ const st = await waitForCloudBuild({
71
+ buildId: started.buildId,
72
+ api: opts.api,
73
+ json: opts.json,
74
+ });
75
+ return { ...started, artifactUrl: st.artifactUrl };
76
+ }
77
+ catch (err) {
78
+ const msg = err instanceof Error ? err.message : String(err);
79
+ if (opts.json) {
80
+ console.log(JSON.stringify({
81
+ ok: false,
82
+ error: msg,
83
+ buildId: started.buildId,
84
+ dashboardUrl: started.dashboardUrl,
85
+ }));
86
+ }
87
+ else {
88
+ console.error(msg);
89
+ }
90
+ process.exitCode = 1;
91
+ return started;
92
+ }
93
+ }
94
+ return started;
95
+ }
96
+ /** Pack or EAS-build a physical iPhone IPA for a capsule (auto-routed). */
97
+ export async function cmdIosDevicePackOrBuild(opts) {
98
+ if (!fetchCredentialsConfigured(opts.capsuleDir)) {
99
+ reportDeviceBuildBlocked({
100
+ capsuleDir: opts.capsuleDir,
101
+ json: opts.json,
102
+ emitJson: opts.json ? outputJson : undefined,
103
+ });
104
+ return;
105
+ }
106
+ const decision = resolveIosDeviceRoute({
107
+ force: opts.forceRoute,
108
+ shellIpa: opts.shellIpa,
109
+ capsuleDir: opts.capsuleDir,
110
+ credentialsConfigured: true,
111
+ });
112
+ if (!opts.json) {
113
+ console.log(decision.summary);
114
+ for (const line of decision.details)
115
+ console.log(line);
116
+ console.log("");
117
+ }
118
+ if (decision.route === "fast-pack") {
119
+ const template = resolveDeviceShellIpa(opts.shellIpa, opts.capsuleDir);
120
+ if (!template) {
121
+ const msg = deviceShellIpaHint(opts.capsuleDir);
122
+ if (opts.json)
123
+ outputJson({ ok: false, error: msg });
124
+ else
125
+ console.error(msg);
126
+ process.exitCode = 1;
127
+ return;
128
+ }
129
+ const outIpa = opts.out ??
130
+ join(opts.capsuleDir, ".lakebed-native", "artifacts", `${opts.artifact.name}-device.ipa`);
131
+ try {
132
+ const { appName, identity } = packIosDeviceIpa({
133
+ templateIpa: template,
134
+ outIpa,
135
+ manifest: opts.manifest,
136
+ bundle: opts.artifact.native.bundle,
137
+ });
138
+ const result = {
139
+ ok: true,
140
+ route: "fast-pack",
141
+ platform: "ios",
142
+ out: outIpa,
143
+ appName,
144
+ identity,
145
+ manifest: opts.manifest,
146
+ openUrl: opts.openUrl,
147
+ install: "Install via Apple Configurator, Xcode Devices, or diawi after exporting IPA",
148
+ note: "Device IPA with embedded capsule — no native rebuild (re-signed shell template).",
149
+ };
150
+ if (opts.json)
151
+ outputJson(result);
152
+ else {
153
+ console.log(`Packed device IPA: ${outIpa}`);
154
+ console.log(`Signed with: ${identity}`);
155
+ if (opts.openUrl)
156
+ console.log(`Deep link: ${opts.openUrl}`);
157
+ }
158
+ }
159
+ catch (err) {
160
+ const msg = err instanceof Error ? err.message : String(err);
161
+ if (opts.json)
162
+ outputJson({ ok: false, error: msg, route: "fast-pack" });
163
+ else {
164
+ console.error(`Fast pack failed: ${msg}`);
165
+ if (decision.canEasCloud) {
166
+ console.log("Retry with: lakebed-native pack <capsule> --platform ios --device --cloud");
167
+ }
168
+ }
169
+ process.exitCode = 1;
170
+ }
171
+ return;
172
+ }
173
+ if (!decision.canEasCloud) {
174
+ const msg = "Lakebed Native cloud device build not available. Run lakebed-native apple setup and apple devices register.";
175
+ if (opts.json)
176
+ outputJson({ ok: false, error: msg, decision });
177
+ else
178
+ console.error(msg);
179
+ process.exitCode = 1;
180
+ return;
181
+ }
182
+ await runIosDeviceEasCloud({
183
+ api: opts.api,
184
+ wait: opts.wait,
185
+ refreshDevices: opts.refreshDevices,
186
+ json: opts.json,
187
+ openUrl: opts.openUrl,
188
+ capsuleDir: opts.capsuleDir,
189
+ });
190
+ }
191
+ export function buildOpenUrlFromManifest(manifest, apiUrl) {
192
+ if (manifest.appUrl) {
193
+ return `lakebed-native://capsule?url=${encodeURIComponent(manifest.appUrl)}`;
194
+ }
195
+ if (!manifest.deployId)
196
+ return undefined;
197
+ const resolvedApi = resolveHostedApi(apiUrl);
198
+ const localRunner = manifestUsesLocalRunner(manifest);
199
+ return hostedNativeOpenUrl({
200
+ deployId: manifest.deployId,
201
+ url: localRunner
202
+ ? `${resolvedApi.replace(/\/$/, "")}/d/${manifest.deployId}`
203
+ : manifest.serverUrl,
204
+ openUrl: "",
205
+ qrUrl: "",
206
+ inspectPolicy: "private",
207
+ limits: { artifactBytes: 0, stateBytes: 0, requestsPerDay: 0, mutationsPerDay: 0 },
208
+ }, resolvedApi, { localRunner });
209
+ }
210
+ //# sourceMappingURL=device-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-pack.js","sourceRoot":"","sources":["../../../src/cli/apple/device-pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAI3C;IACC,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI;YAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;YACzC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI;YAAE,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;;YAChD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAQ1C;IACC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3G,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACrG,MAAM,aAAa,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3G,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC;QACE,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,gBAAgB;QACzB,YAAY,EAAE,IAAI,CAAC,cAAc,KAAK,KAAK;KAC5C,EACD,QAAQ,CACT,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAe,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC;gBACjC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAY7C;IACC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,wBAAwB,CAAC;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC7C,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACrC,KAAK,EAAE,IAAI,CAAC,UAAU;QACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,IAAI;gBAAE,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;;gBAChD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GACV,IAAI,CAAC,GAAG;YACR,IAAI,CACF,IAAI,CAAC,UAAU,EACf,iBAAiB,EACjB,WAAW,EACX,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CACnC,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;gBAC7C,WAAW,EAAE,QAAQ;gBACrB,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;aACpC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,MAAM;gBACX,OAAO;gBACP,QAAQ;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,6EAA6E;gBACtF,IAAI,EAAE,kFAAkF;aACzF,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI;gBAAE,UAAU,CAAC,MAAM,CAAC,CAAC;iBAC7B,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,IAAI;gBAAE,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;iBACpE,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBAC1C,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,6GAA6G,CAAC;QAC1H,IAAI,IAAI,CAAC,IAAI;YAAE,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;;YAC1D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,CAAC;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA4B,EAC5B,MAAc;IAEd,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,gCAAgC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,mBAAmB,CACxB;QACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,EAAE,WAAW;YACd,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE;YAC5D,CAAC,CAAC,QAAQ,CAAC,SAAS;QACtB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;KACnF,EACD,WAAW,EACX,EAAE,WAAW,EAAE,CAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function parseDeviceListPayload(stdout: string): unknown;
2
+ export declare function cmdAppleDevicesRegister(): Promise<void>;
3
+ export declare function cmdAppleDevicesList(opts: {
4
+ json?: boolean;
5
+ }): Promise<void>;
6
+ //# sourceMappingURL=devices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/devices.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAS9D;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ7D;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF"}