@limrun/api
Advanced tools
+8
-0
| # Changelog | ||
| ## 0.33.5 (2026-07-01) | ||
| Full Changelog: [v0.33.4...v0.33.5](https://github.com/limrun-inc/typescript-sdk/compare/v0.33.4...v0.33.5) | ||
| ### Chores | ||
| * bump cli version ([f419424](https://github.com/limrun-inc/typescript-sdk/commit/f41942496fc7dff31fa5815b41aaf5b62c8ac5a2)) | ||
| ## 0.33.4 (2026-06-30) | ||
@@ -4,0 +12,0 @@ |
+0
-1
@@ -10,3 +10,2 @@ export { Limrun as default } from "./client.mjs"; | ||
| export { buildSettingKeyPattern, parseBuildSettingEntries, validateBuildSettings } from "./build-settings.mjs"; | ||
| export { parseTopLevelIpaDigest, inspectBuildCompletion, RbeBepError, type BepIpaDigest } from "./rbe-bep.mjs"; | ||
| export { exec, type ExecRequest, type ExecOptions, type ExecResult, type ExecChildProcess, } from "./exec-client.mjs"; | ||
@@ -13,0 +12,0 @@ export { type XcodeCreateClientParams, type XcodeClient, type RbeStatus, type RbeStartOptions, type RbeTunnelOptions, type RbeInstallResult, type Tunnel, RbeUnsupportedError, deriveRbeTunnelUrl, DEFAULT_RBE_TUNNEL_PORT, type XcodeProjectConfig, type XcodeBuildOptions, type ReactNativeBuildConfig, type SimulatorAttachResult, type SimulatorStatus, type SimulatorBuildStatus, type SimulatorAttachment, type SimulatorDeviceInfo, type SimulatorInstallState, } from "./resources/xcode-instances-helpers.mjs"; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,sCAAkC;AAClC,OAAO,KAAK,GAAG,yBAAqB;AACpC,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,yBAAqB;AAC1F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,6BAAyB;AAC3G,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,sBAAkB;AAC3G,OAAO,EACL,IAAI,EACJ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,0BAAsB;AACvB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,gDAA4C;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,yBAAqB"} | ||
| {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,sCAAkC;AAClC,OAAO,KAAK,GAAG,yBAAqB;AACpC,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,yBAAqB;AAC1F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,6BAAyB;AAC3G,OAAO,EACL,IAAI,EACJ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,0BAAsB;AACvB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,gDAA4C;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,yBAAqB"} |
+0
-1
@@ -10,3 +10,2 @@ export { Limrun as default } from "./client.js"; | ||
| export { buildSettingKeyPattern, parseBuildSettingEntries, validateBuildSettings } from "./build-settings.js"; | ||
| export { parseTopLevelIpaDigest, inspectBuildCompletion, RbeBepError, type BepIpaDigest } from "./rbe-bep.js"; | ||
| export { exec, type ExecRequest, type ExecOptions, type ExecResult, type ExecChildProcess, } from "./exec-client.js"; | ||
@@ -13,0 +12,0 @@ export { type XcodeCreateClientParams, type XcodeClient, type RbeStatus, type RbeStartOptions, type RbeTunnelOptions, type RbeInstallResult, type Tunnel, RbeUnsupportedError, deriveRbeTunnelUrl, DEFAULT_RBE_TUNNEL_PORT, type XcodeProjectConfig, type XcodeBuildOptions, type ReactNativeBuildConfig, type SimulatorAttachResult, type SimulatorStatus, type SimulatorBuildStatus, type SimulatorAttachment, type SimulatorDeviceInfo, type SimulatorInstallState, } from "./resources/xcode-instances-helpers.js"; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,oBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,0BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,8BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,oBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,6BAA0B;AAChD,qCAAkC;AAClC,OAAO,KAAK,GAAG,wBAAqB;AACpC,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,wBAAqB;AAC1F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,4BAAyB;AAC3G,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,qBAAkB;AAC3G,OAAO,EACL,IAAI,EACJ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,yBAAsB;AACvB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,+CAA4C;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,wBAAqB"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,oBAAiB;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,0BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,8BAA2B;AAChD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,oBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,6BAA0B;AAChD,qCAAkC;AAClC,OAAO,KAAK,GAAG,wBAAqB;AACpC,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,wBAAqB;AAC1F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,4BAAyB;AAC3G,OAAO,EACL,IAAI,EACJ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,yBAAsB;AACvB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,+CAA4C;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,wBAAqB"} |
+1
-5
@@ -7,3 +7,3 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.LimrunError = exports.DEFAULT_RBE_TUNNEL_PORT = exports.deriveRbeTunnelUrl = exports.RbeUnsupportedError = exports.exec = exports.RbeBepError = exports.inspectBuildCompletion = exports.parseTopLevelIpaDigest = exports.validateBuildSettings = exports.parseBuildSettingEntries = exports.buildSettingKeyPattern = exports.startHttpProxy = exports.Ios = exports.PagePromise = exports.Limrun = exports.APIPromise = exports.toFile = exports.default = void 0; | ||
| exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.LimrunError = exports.DEFAULT_RBE_TUNNEL_PORT = exports.deriveRbeTunnelUrl = exports.RbeUnsupportedError = exports.exec = exports.validateBuildSettings = exports.parseBuildSettingEntries = exports.buildSettingKeyPattern = exports.startHttpProxy = exports.Ios = exports.PagePromise = exports.Limrun = exports.APIPromise = exports.toFile = exports.default = void 0; | ||
| const tslib_1 = require("./internal/tslib.js"); | ||
@@ -28,6 +28,2 @@ var client_1 = require("./client.js"); | ||
| Object.defineProperty(exports, "validateBuildSettings", { enumerable: true, get: function () { return build_settings_1.validateBuildSettings; } }); | ||
| var rbe_bep_1 = require("./rbe-bep.js"); | ||
| Object.defineProperty(exports, "parseTopLevelIpaDigest", { enumerable: true, get: function () { return rbe_bep_1.parseTopLevelIpaDigest; } }); | ||
| Object.defineProperty(exports, "inspectBuildCompletion", { enumerable: true, get: function () { return rbe_bep_1.inspectBuildCompletion; } }); | ||
| Object.defineProperty(exports, "RbeBepError", { enumerable: true, get: function () { return rbe_bep_1.RbeBepError; } }); | ||
| var exec_client_1 = require("./exec-client.js"); | ||
@@ -34,0 +30,0 @@ Object.defineProperty(exports, "exec", { enumerable: true, get: function () { return exec_client_1.exec; } }); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,sCAA6C;AAApC,iGAAA,MAAM,OAAW;AAE1B,6CAAyD;AAA/B,iGAAA,MAAM,OAAA;AAChC,qDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,sCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,mDAAgD;AAAvC,yGAAA,WAAW,OAAA;AACpB,+DAAkC;AAClC,+DAAoC;AACpC,8CAA0F;AAAjF,4GAAA,cAAc,OAAA;AACvB,sDAA2G;AAAlG,wHAAA,sBAAsB,OAAA;AAAE,0HAAA,wBAAwB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AAChF,wCAA2G;AAAlG,iHAAA,sBAAsB,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAAE,sGAAA,WAAW,OAAA;AACpE,gDAMuB;AALrB,mGAAA,IAAI,OAAA;AAMN,kFAoB6C;AAZ3C,8HAAA,mBAAmB,OAAA;AACnB,6HAAA,kBAAkB,OAAA;AAClB,kIAAA,uBAAuB,OAAA;AAWzB,yCAcsB;AAbpB,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,iHAAA,wBAAwB,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,sCAA6C;AAApC,iGAAA,MAAM,OAAW;AAE1B,6CAAyD;AAA/B,iGAAA,MAAM,OAAA;AAChC,qDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,sCAAsD;AAA7C,gGAAA,MAAM,OAAA;AACf,mDAAgD;AAAvC,yGAAA,WAAW,OAAA;AACpB,+DAAkC;AAClC,+DAAoC;AACpC,8CAA0F;AAAjF,4GAAA,cAAc,OAAA;AACvB,sDAA2G;AAAlG,wHAAA,sBAAsB,OAAA;AAAE,0HAAA,wBAAwB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AAChF,gDAMuB;AALrB,mGAAA,IAAI,OAAA;AAMN,kFAoB6C;AAZ3C,8HAAA,mBAAmB,OAAA;AACnB,6HAAA,kBAAkB,OAAA;AAClB,kIAAA,uBAAuB,OAAA;AAWzB,yCAcsB;AAbpB,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,2GAAA,kBAAkB,OAAA;AAClB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,iHAAA,wBAAwB,OAAA"} |
+0
-1
@@ -11,3 +11,2 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. | ||
| export { buildSettingKeyPattern, parseBuildSettingEntries, validateBuildSettings } from "./build-settings.mjs"; | ||
| export { parseTopLevelIpaDigest, inspectBuildCompletion, RbeBepError } from "./rbe-bep.mjs"; | ||
| export { exec, } from "./exec-client.mjs"; | ||
@@ -14,0 +13,0 @@ export { RbeUnsupportedError, deriveRbeTunnelUrl, DEFAULT_RBE_TUNNEL_PORT, } from "./resources/xcode-instances-helpers.mjs"; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAmB,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAsB,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,sCAAkC;AAClC,OAAO,KAAK,GAAG,yBAAqB;AACpC,OAAO,EAAE,cAAc,EAA8C,yBAAqB;AAC1F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,6BAAyB;AAC3G,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAqB,sBAAkB;AAC3G,OAAO,EACL,IAAI,GAKL,0BAAsB;AACvB,OAAO,EAQL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,GAUxB,gDAA4C;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,yBAAqB"} | ||
| {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,qBAAiB;AAE7C,OAAO,EAAmB,MAAM,EAAE,2BAAuB;AACzD,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAAE,MAAM,EAAsB,qBAAiB;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA0B;AAChD,sCAAkC;AAClC,OAAO,KAAK,GAAG,yBAAqB;AACpC,OAAO,EAAE,cAAc,EAA8C,yBAAqB;AAC1F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,6BAAyB;AAC3G,OAAO,EACL,IAAI,GAKL,0BAAsB;AACvB,OAAO,EAQL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,GAUxB,gDAA4C;AAC7C,OAAO,EACL,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,yBAAqB"} |
+1
-11
| { | ||
| "name": "@limrun/api", | ||
| "version": "0.33.4", | ||
| "version": "0.33.5", | ||
| "description": "The official TypeScript library for the Limrun API", | ||
@@ -221,12 +221,2 @@ "author": "Limrun <contact@limrun.com>", | ||
| }, | ||
| "./rbe-bep": { | ||
| "import": "./rbe-bep.mjs", | ||
| "require": "./rbe-bep.js" | ||
| }, | ||
| "./rbe-bep.js": { | ||
| "default": "./rbe-bep.js" | ||
| }, | ||
| "./rbe-bep.mjs": { | ||
| "default": "./rbe-bep.mjs" | ||
| }, | ||
| "./resource": { | ||
@@ -233,0 +223,0 @@ "import": "./resource.mjs", |
@@ -203,20 +203,2 @@ import { XcodeInstances as GeneratedXcodeInstances, type XcodeInstance } from "./xcode-instances.mjs"; | ||
| /** | ||
| * Install a Bazel RBE build on the attached simulator, server-side, from its | ||
| * build event log (BEP). Parses the top-level `.ipa`'s CAS digest for `target` | ||
| * out of `bep` (the contents of `--build_event_json_file`); the instance fetches | ||
| * the blob from its embedded cache, unpacks the .app, and pushes it to the | ||
| * attached simulator via the differential-sync path — no client round-trip. | ||
| * Requires a running RBE stack and an attached simulator (installed=false when | ||
| * none is attached — attach one and call again). Throws a descriptive error if | ||
| * the target/.ipa is absent, was downloaded locally, or was built with a | ||
| * non-SHA256 digest (e.g. BLAKE3) the instance cache can't resolve. `ipaName` is | ||
| * the `.ipa` file name Bazel reported. | ||
| */ | ||
| installRbeBuildFromBep: (opts: { | ||
| bep: string; | ||
| target: string; | ||
| }) => Promise<RbeInstallResult & { | ||
| ipaName: string; | ||
| }>; | ||
| /** | ||
| * Open a local TCP listener bridged to the instance's RBE gRPC frontend | ||
@@ -223,0 +205,0 @@ * over a multiplexed websocket. Point bazel at it with |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"xcode-instances-helpers.d.mts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"xcode-instances-helpers.d.mts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} |
@@ -203,20 +203,2 @@ import { XcodeInstances as GeneratedXcodeInstances, type XcodeInstance } from "./xcode-instances.js"; | ||
| /** | ||
| * Install a Bazel RBE build on the attached simulator, server-side, from its | ||
| * build event log (BEP). Parses the top-level `.ipa`'s CAS digest for `target` | ||
| * out of `bep` (the contents of `--build_event_json_file`); the instance fetches | ||
| * the blob from its embedded cache, unpacks the .app, and pushes it to the | ||
| * attached simulator via the differential-sync path — no client round-trip. | ||
| * Requires a running RBE stack and an attached simulator (installed=false when | ||
| * none is attached — attach one and call again). Throws a descriptive error if | ||
| * the target/.ipa is absent, was downloaded locally, or was built with a | ||
| * non-SHA256 digest (e.g. BLAKE3) the instance cache can't resolve. `ipaName` is | ||
| * the `.ipa` file name Bazel reported. | ||
| */ | ||
| installRbeBuildFromBep: (opts: { | ||
| bep: string; | ||
| target: string; | ||
| }) => Promise<RbeInstallResult & { | ||
| ipaName: string; | ||
| }>; | ||
| /** | ||
| * Open a local TCP listener bridged to the instance's RBE gRPC frontend | ||
@@ -223,0 +205,0 @@ * over a multiplexed websocket. Point bazel at it with |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"xcode-instances-helpers.d.ts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"xcode-instances-helpers.d.ts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} |
@@ -10,3 +10,2 @@ "use strict"; | ||
| const xcode_instances_1 = require("./xcode-instances.js"); | ||
| const rbe_bep_1 = require("../rbe-bep.js"); | ||
| const exec_client_1 = require("../exec-client.js"); | ||
@@ -151,18 +150,2 @@ const folder_sync_1 = require("../folder-sync.js"); | ||
| // here once and called from each method. | ||
| const postRbeInstall = async (ipaDigest, target) => { | ||
| const res = await proxy_transport_1.nodeProxyTransport.fetch(`${apiUrl}/rbe/install`, { | ||
| method: 'POST', | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| Authorization: `Bearer ${token}`, | ||
| }, | ||
| body: JSON.stringify({ ipaDigest, ...(target ? { target } : {}) }), | ||
| }); | ||
| return readRbeResponse(res, 'POST /rbe/install'); | ||
| }; | ||
| const installFromBep = async (bep, target) => { | ||
| const digest = (0, rbe_bep_1.parseTopLevelIpaDigest)(bep, target); // throws BLAKE3 / no-ipa errors | ||
| const result = await postRbeInstall({ hash: digest.hash, sizeBytes: digest.sizeBytes }, target); | ||
| return { ...result, ipaName: digest.ipaName }; | ||
| }; | ||
| const attachSimulatorImpl = async (simulator) => { | ||
@@ -349,3 +332,2 @@ let simApiUrl; | ||
| }, | ||
| installRbeBuildFromBep: (opts) => installFromBep(opts.bep, opts.target), | ||
| async startRbeTunnel(opts) { | ||
@@ -352,0 +334,0 @@ return (0, tunnel_1.startTcpTunnel)(deriveRbeTunnelUrl(apiUrl), token, opts?.host ?? '127.0.0.1', opts?.port ?? exports.DEFAULT_RBE_TUNNEL_PORT, { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"xcode-instances-helpers.js","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"xcode-instances-helpers.js","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} |
@@ -5,3 +5,2 @@ import os from 'os'; | ||
| import { XcodeInstances as GeneratedXcodeInstances } from "./xcode-instances.mjs"; | ||
| import { parseTopLevelIpaDigest } from "../rbe-bep.mjs"; | ||
| import { exec } from "../exec-client.mjs"; | ||
@@ -145,18 +144,2 @@ import { syncFolder as syncFolderImpl, } from "../folder-sync.mjs"; | ||
| // here once and called from each method. | ||
| const postRbeInstall = async (ipaDigest, target) => { | ||
| const res = await nodeProxyTransport.fetch(`${apiUrl}/rbe/install`, { | ||
| method: 'POST', | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| Authorization: `Bearer ${token}`, | ||
| }, | ||
| body: JSON.stringify({ ipaDigest, ...(target ? { target } : {}) }), | ||
| }); | ||
| return readRbeResponse(res, 'POST /rbe/install'); | ||
| }; | ||
| const installFromBep = async (bep, target) => { | ||
| const digest = parseTopLevelIpaDigest(bep, target); // throws BLAKE3 / no-ipa errors | ||
| const result = await postRbeInstall({ hash: digest.hash, sizeBytes: digest.sizeBytes }, target); | ||
| return { ...result, ipaName: digest.ipaName }; | ||
| }; | ||
| const attachSimulatorImpl = async (simulator) => { | ||
@@ -343,3 +326,2 @@ let simApiUrl; | ||
| }, | ||
| installRbeBuildFromBep: (opts) => installFromBep(opts.bep, opts.target), | ||
| async startRbeTunnel(opts) { | ||
@@ -346,0 +328,0 @@ return startTcpTunnel(deriveRbeTunnelUrl(apiUrl), token, opts?.host ?? '127.0.0.1', opts?.port ?? DEFAULT_RBE_TUNNEL_PORT, { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"xcode-instances-helpers.mjs","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAsB,8BAA0B;AAElG,OAAO,EAAE,sBAAsB,EAAE,uBAAmB;AACpD,OAAO,EAAE,IAAI,EAA2C,2BAAuB;AAC/E,OAAO,EACL,UAAU,IAAI,cAAc,GAG7B,2BAAuB;AACxB,OAAO,EAAE,cAAc,EAAE,kCAA8B;AACvD,OAAO,EAAE,kBAAkB,EAAE,wCAAoC;AACjE,OAAO,EAAE,uBAAuB,EAAE,+CAA2C;AAC7E,OAAO,EAAE,WAAW,EAAE,0BAAsB;AAC5C,OAAO,EAAE,qBAAqB,EAAE,8BAA0B;AAC1D,OAAO,EAAE,cAAc,EAAe,sBAAkB;AAgJxD,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AA2H5C,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,SAAS,GAAG,CAAC,KAAe,EAAE,EAAE;QACpC,MAAM,MAAM,GAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,OAAO,CAAC,KAA0C,EAAE,GAAW,EAAE,EAAE;QACjE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,MAAM,GAAG,iBAAiB,CAAC;QACjC,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,UAAkB;IACxD,IACE,UAAU,KAAK,EAAE;QACjB,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAAa;IAC3D,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,EAAE;QAC3D,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAuB,GAAG,EAAE,WAAW,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO;QACL,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;IACxB,CAAC;SAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC;IAChE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,2EAA2E;IAC3E,2CAA2C;IAC3C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,SAAiB;QAC3B,KAAK,CACH,mEAAmE,SAAS,kBAAkB;YAC5F,sFAAsF;YACtF,8CAA8C,CACjD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAI,GAAa,EAAE,SAAiB;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,gBAAgB,CAAI,GAAG,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAI,GAAa,EAAE,SAAiB;IACjE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,uBAAuB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,6BAA6B,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,uBAAuB;IACzD,KAAK,CAAC,YAAY,CAAC,MAA+B;QAChD,IAAI,MAAc,CAAC;QACnB,IAAI,KAAa,CAAC;QAClB,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,kBAA4D,CAAC;QACjE,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,kBAAkB,KAAlB,kBAAkB,GAAK,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAC;YACvD,OAAO,kBAAkB,CAAC;QAC5B,CAAC,CAAC;QAEF,0EAA0E;QAC1E,4EAA4E;QAC5E,yCAAyC;QACzC,MAAM,cAAc,GAAG,KAAK,EAC1B,SAA4B,EAC5B,MAAe,EACY,EAAE;YAC7B,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,EAAE;gBAClE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;YACH,OAAO,eAAe,CAAmB,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAC1B,GAAW,EACX,MAAc,EACmC,EAAE;YACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,gCAAgC;YACpF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;YAChG,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,SAA0D,EAC1B,EAAE;YAClC,IAAI,SAAiB,CAAC;YACtB,IAAI,QAAgB,CAAC;YACrB,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC3E,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7B,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7B,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,YAAY,EAAE;gBAChE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAC7D,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAwB,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACzE,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAqB,EAAoB,EAAE;YAC5E,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,KAAK,IAGjC,EAAE;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,2EAA2E;YAC3E,gCAAgC;YAChC,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACjD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;QAC7D,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,CAAC,IAAI,CAAC,aAAqB,EAAE,IAAkB;gBAClD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtF,MAAM,QAAQ,GAAG,iBAAiB,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvD,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC9E,MAAM,WAAW,GACf,IAAI,EAAE,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChG,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC5D,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,UAAU,EACR,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC/C,GAAG,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBACtD,CAAC,CAAC,IAAI,CAAC,UAAU;iBACpB,CAAC,CAAC,CAAC;gBACJ,MAAM,YAAY,GAAsB;oBACtC,MAAM;oBACN,KAAK;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;oBAC9B,QAAQ,EAAE,MAAM,cAAc,CAAC,aAAa,EAAE;wBAC5C,aAAa;wBACb,GAAG;wBACH,UAAU,EAAE,CAAC,YAAoB,EAAE,EAAE;4BACnC,IACE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;gCACjC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gCAClC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC;gCACvC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC;gCACzC,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC;gCAC/C,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,EACxC,CAAC;gCACD,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,IACE,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC;gCACpC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;gCAChC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAC1C,CAAC;gCACD,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gCAC1C,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACpC,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;gCACjC,OAAO,IAAI,CAAC;4BACd,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;qBACF,CAAC;oBACF,aAAa;oBACb,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI;oBAC1B,aAAa,EAAE,IAAI,EAAE,aAAa,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;oBACrD,UAAU,EAAE,qBAAqB;oBACjC,GAAG;oBACH,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC/C,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,UAAU,CAAC,QAA6B,EAAE,OAA2B;gBACnE,IAAI,OAAO,EAAE,WAAW,EAAE,YAAY,IAAI,QAAQ,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChF,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBACjF,CAAC;gBACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;oBAC3B,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,OAAO,GAAgB;oBAC3B,OAAO,EAAE,YAAY;oBACrB,GAAG,CAAC,QAAQ,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;oBACzC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrD,GAAG,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;iBACxE,CAAC;gBAEF,IAAI,OAAO,EAAE,MAAM,IAAI,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM;yBACjC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;yBACjC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;wBACd,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;wBAChD,OAAO,CAAC,kBAAkB,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;wBAC5E,OAAO,OAAO,CAAC;oBACjB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,MAAM,IAAI,KAAK,CACb,6CAA6C,UAAU,MACrD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GACvC,EAAE,CACH,CAAC;oBACJ,CAAC,CAAC,CAAC;oBACL,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAED,IAAI,OAAO,EAAE,MAAM,IAAI,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC3D,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC3D,CAAC;gBAED,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,KAAK,CAAC,YAAY;gBAChB,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,YAAY,EAAE;oBAChE,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;qBACjC;iBACF,CAAC,CAAC;gBACH,OAAO,gBAAgB,CAAkB,GAAG,EAAE,gBAAgB,CAAC,CAAC;YAClE,CAAC;YAED,eAAe,EAAE,mBAAmB;YACpC,kBAAkB,EAAE,sBAAsB;YAC1C,eAAe,EAAE,mBAAmB;YAEpC,KAAK,CAAC,QAAQ,CAAC,IAAsB;gBACnC,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,EAAE;oBAC1D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;qBACjC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;iBACjC,CAAC,CAAC;gBACH,OAAO,eAAe,CAAY,GAAG,EAAE,WAAW,CAAC,CAAC;YACtD,CAAC;YAED,KAAK,CAAC,MAAM;gBACV,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,EAAE;oBAC1D,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;qBACjC;iBACF,CAAC,CAAC;gBACH,OAAO,eAAe,CAAY,GAAG,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;YAED,KAAK,CAAC,OAAO;gBACX,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,EAAE;oBAC1D,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,KAAK,EAAE;qBACjC;iBACF,CAAC,CAAC;gBACH,OAAO,eAAe,CAAY,GAAG,EAAE,aAAa,CAAC,CAAC;YACxD,CAAC;YAED,sBAAsB,EAAE,CAAC,IAAqC,EAAE,EAAE,CAChE,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YAEvC,KAAK,CAAC,cAAc,CAAC,IAAuB;gBAC1C,OAAO,cAAc,CACnB,kBAAkB,CAAC,MAAM,CAAC,EAC1B,KAAK,EACL,IAAI,EAAE,IAAI,IAAI,WAAW,EACzB,IAAI,EAAE,IAAI,IAAI,uBAAuB,EACrC;oBACE,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM;iBACtD,CACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF"} | ||
| {"version":3,"file":"xcode-instances-helpers.mjs","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"} |
+0
-1
@@ -13,3 +13,2 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. | ||
| export { buildSettingKeyPattern, parseBuildSettingEntries, validateBuildSettings } from './build-settings'; | ||
| export { parseTopLevelIpaDigest, inspectBuildCompletion, RbeBepError, type BepIpaDigest } from './rbe-bep'; | ||
| export { | ||
@@ -16,0 +15,0 @@ exec, |
@@ -7,3 +7,2 @@ import os from 'os'; | ||
| import { type IosInstance } from './ios-instances'; | ||
| import { parseTopLevelIpaDigest } from '../rbe-bep'; | ||
| import { exec, type ExecChildProcess, type ExecRequest } from '../exec-client'; | ||
@@ -184,10 +183,2 @@ import { | ||
| /** Content-addressed digest of a build artifact in the instance's RBE cache. */ | ||
| type RbeArtifactDigest = { | ||
| /** Lowercase hex SHA-256 of the blob (matches --digest_function=sha256). */ | ||
| hash: string; | ||
| /** Size of the blob in bytes. */ | ||
| sizeBytes: number; | ||
| }; | ||
| export type RbeInstallResult = { | ||
@@ -251,19 +242,2 @@ /** True when the app was synced and installed on the attached simulator. */ | ||
| /** | ||
| * Install a Bazel RBE build on the attached simulator, server-side, from its | ||
| * build event log (BEP). Parses the top-level `.ipa`'s CAS digest for `target` | ||
| * out of `bep` (the contents of `--build_event_json_file`); the instance fetches | ||
| * the blob from its embedded cache, unpacks the .app, and pushes it to the | ||
| * attached simulator via the differential-sync path — no client round-trip. | ||
| * Requires a running RBE stack and an attached simulator (installed=false when | ||
| * none is attached — attach one and call again). Throws a descriptive error if | ||
| * the target/.ipa is absent, was downloaded locally, or was built with a | ||
| * non-SHA256 digest (e.g. BLAKE3) the instance cache can't resolve. `ipaName` is | ||
| * the `.ipa` file name Bazel reported. | ||
| */ | ||
| installRbeBuildFromBep: (opts: { | ||
| bep: string; | ||
| target: string; | ||
| }) => Promise<RbeInstallResult & { ipaName: string }>; | ||
| /** | ||
| * Open a local TCP listener bridged to the instance's RBE gRPC frontend | ||
@@ -426,26 +400,2 @@ * over a multiplexed websocket. Point bazel at it with | ||
| // here once and called from each method. | ||
| const postRbeInstall = async ( | ||
| ipaDigest: RbeArtifactDigest, | ||
| target?: string, | ||
| ): Promise<RbeInstallResult> => { | ||
| const res = await nodeProxyTransport.fetch(`${apiUrl}/rbe/install`, { | ||
| method: 'POST', | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| Authorization: `Bearer ${token}`, | ||
| }, | ||
| body: JSON.stringify({ ipaDigest, ...(target ? { target } : {}) }), | ||
| }); | ||
| return readRbeResponse<RbeInstallResult>(res, 'POST /rbe/install'); | ||
| }; | ||
| const installFromBep = async ( | ||
| bep: string, | ||
| target: string, | ||
| ): Promise<RbeInstallResult & { ipaName: string }> => { | ||
| const digest = parseTopLevelIpaDigest(bep, target); // throws BLAKE3 / no-ipa errors | ||
| const result = await postRbeInstall({ hash: digest.hash, sizeBytes: digest.sizeBytes }, target); | ||
| return { ...result, ipaName: digest.ipaName }; | ||
| }; | ||
| const attachSimulatorImpl = async ( | ||
@@ -658,5 +608,2 @@ simulator: IosInstance | { apiUrl: string; token: string }, | ||
| installRbeBuildFromBep: (opts: { bep: string; target: string }) => | ||
| installFromBep(opts.bep, opts.target), | ||
| async startRbeTunnel(opts?: RbeTunnelOptions): Promise<Tunnel> { | ||
@@ -663,0 +610,0 @@ return startTcpTunnel( |
+1
-1
@@ -1,1 +0,1 @@ | ||
| export const VERSION = '0.33.4'; // x-release-please-version | ||
| export const VERSION = '0.33.5'; // x-release-please-version |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export declare const VERSION = "0.33.4"; | ||
| export declare const VERSION = "0.33.5"; | ||
| //# sourceMappingURL=version.d.mts.map |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export declare const VERSION = "0.33.4"; | ||
| export declare const VERSION = "0.33.5"; | ||
| //# sourceMappingURL=version.d.ts.map |
+1
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.VERSION = void 0; | ||
| exports.VERSION = '0.33.4'; // x-release-please-version | ||
| exports.VERSION = '0.33.5'; // x-release-please-version | ||
| //# sourceMappingURL=version.js.map |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export const VERSION = '0.33.4'; // x-release-please-version | ||
| export const VERSION = '0.33.5'; // x-release-please-version | ||
| //# sourceMappingURL=version.mjs.map |
| /** | ||
| * Parses Bazel's Build Event Protocol (BEP, the `--build_event_json_file` | ||
| * newline-delimited JSON) to find a built target's top-level `.ipa` and its | ||
| * content-addressed (CAS) digest. | ||
| * | ||
| * A remotely-executed output carries a `bytestream://<host>[/<instance>]/blobs/ | ||
| * <hash>/<size>` URI in its BEP `file` entry regardless of whether Bazel also | ||
| * downloads the bytes (`--remote_download_outputs`), because the URI names the | ||
| * output's CAS identity, not its local availability. `lim xcode rbe install` | ||
| * reads that digest and hands it to the instance, which fetches the blob from | ||
| * its own RBE cache and installs it — no round-trip. The generated bazelrc sets | ||
| * `--remote_download_outputs=minimal` to skip the (unneeded) local download by | ||
| * default; overriding it (e.g. `--remote_download_outputs=toplevel` on the command | ||
| * line) to materialize the .ipa locally does not affect this parser. | ||
| * | ||
| * A fully-cached rebuild (0 actions executed) still emits the bytestream URI and | ||
| * reproduces the same digest, so the auto-install watcher can rely on this parser | ||
| * after a no-op or revert (e.g. `git stash`) rebuild. Verified empirically. | ||
| */ | ||
| export type BepIpaDigest = { | ||
| /** Lowercase hex SHA-256 of the .ipa blob. */ | ||
| hash: string; | ||
| /** Size of the .ipa blob in bytes. */ | ||
| sizeBytes: number; | ||
| /** The .ipa file name as Bazel reported it (e.g. "App/App.ipa"). */ | ||
| ipaName: string; | ||
| }; | ||
| /** | ||
| * Why a BEP could not yield an .ipa digest for a label. | ||
| * | ||
| * `terminal` failures will not resolve by re-reading the same completed BEP | ||
| * (the build used the wrong flags); `no-build` / `no-output` / `no-ipa` are | ||
| * transient while the build is still flushing and become terminal only once | ||
| * the build is confirmed complete. The watcher uses this to decide whether to | ||
| * retry the read or to log-once and give up. | ||
| */ | ||
| export type RbeBepErrorKind = 'no-build' | 'no-output' | 'no-ipa' | 'local-only' | 'non-sha256'; | ||
| export declare class RbeBepError extends Error { | ||
| readonly kind: RbeBepErrorKind; | ||
| constructor(kind: RbeBepErrorKind, message: string); | ||
| /** | ||
| * True when re-reading the same (completed) BEP cannot help — the build was | ||
| * produced with flags the instance cache can't use (local download or a | ||
| * non-SHA256 digest). The watcher logs these once instead of retrying. | ||
| */ | ||
| get terminal(): boolean; | ||
| } | ||
| export type BepCompletion = { | ||
| /** | ||
| * True once Bazel has flushed the terminal event (`lastMessage`), so every | ||
| * earlier event — including the .ipa's namedSetOfFiles — is durably on disk. | ||
| * Gate the digest read on this, NOT on the presence of `buildFinished`: | ||
| * `buildFinished` is followed by `buildToolLogs` and `buildMetrics` | ||
| * (the `lastMessage` carrier), so it is not the last line. | ||
| */ | ||
| complete: boolean; | ||
| /** Whether the build itself succeeded (overallSuccess / exit code 0). */ | ||
| success: boolean; | ||
| /** Bazel's invocation UUID — distinguishes one build from the next. */ | ||
| invocationId?: string; | ||
| }; | ||
| /** | ||
| * Inspects a BEP stream for build completion. The watcher reads the BEP on every | ||
| * change but only acts once `complete` is true (the stream is fully flushed) and | ||
| * `success` is true (the build did not fail). `invocationId` lets the watcher act | ||
| * once per build even when consecutive builds reproduce the same .ipa digest | ||
| * (e.g. a `git stash` revert that rebuilds to an earlier digest). | ||
| */ | ||
| export declare function inspectBuildCompletion(bepJson: string): BepCompletion; | ||
| /** | ||
| * Finds the `.ipa` produced for `label` in a BEP stream and returns its CAS | ||
| * digest. Throws a typed RbeBepError when the target/.ipa is absent, its output | ||
| * was materialized locally (a `file://` URI) instead of left in CAS, or it was | ||
| * built with a non-SHA256 digest the instance cache cannot resolve. | ||
| */ | ||
| export declare function parseTopLevelIpaDigest(bepJson: string, label: string): BepIpaDigest; | ||
| //# sourceMappingURL=rbe-bep.d.mts.map |
| {"version":3,"file":"rbe-bep.d.mts","sourceRoot":"","sources":["src/rbe-bep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAsBF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEhG,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;gBACnB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;IAMlD;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF;AA8DD,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAsBrE;AAsFD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAiBnF"} |
-77
| /** | ||
| * Parses Bazel's Build Event Protocol (BEP, the `--build_event_json_file` | ||
| * newline-delimited JSON) to find a built target's top-level `.ipa` and its | ||
| * content-addressed (CAS) digest. | ||
| * | ||
| * A remotely-executed output carries a `bytestream://<host>[/<instance>]/blobs/ | ||
| * <hash>/<size>` URI in its BEP `file` entry regardless of whether Bazel also | ||
| * downloads the bytes (`--remote_download_outputs`), because the URI names the | ||
| * output's CAS identity, not its local availability. `lim xcode rbe install` | ||
| * reads that digest and hands it to the instance, which fetches the blob from | ||
| * its own RBE cache and installs it — no round-trip. The generated bazelrc sets | ||
| * `--remote_download_outputs=minimal` to skip the (unneeded) local download by | ||
| * default; overriding it (e.g. `--remote_download_outputs=toplevel` on the command | ||
| * line) to materialize the .ipa locally does not affect this parser. | ||
| * | ||
| * A fully-cached rebuild (0 actions executed) still emits the bytestream URI and | ||
| * reproduces the same digest, so the auto-install watcher can rely on this parser | ||
| * after a no-op or revert (e.g. `git stash`) rebuild. Verified empirically. | ||
| */ | ||
| export type BepIpaDigest = { | ||
| /** Lowercase hex SHA-256 of the .ipa blob. */ | ||
| hash: string; | ||
| /** Size of the .ipa blob in bytes. */ | ||
| sizeBytes: number; | ||
| /** The .ipa file name as Bazel reported it (e.g. "App/App.ipa"). */ | ||
| ipaName: string; | ||
| }; | ||
| /** | ||
| * Why a BEP could not yield an .ipa digest for a label. | ||
| * | ||
| * `terminal` failures will not resolve by re-reading the same completed BEP | ||
| * (the build used the wrong flags); `no-build` / `no-output` / `no-ipa` are | ||
| * transient while the build is still flushing and become terminal only once | ||
| * the build is confirmed complete. The watcher uses this to decide whether to | ||
| * retry the read or to log-once and give up. | ||
| */ | ||
| export type RbeBepErrorKind = 'no-build' | 'no-output' | 'no-ipa' | 'local-only' | 'non-sha256'; | ||
| export declare class RbeBepError extends Error { | ||
| readonly kind: RbeBepErrorKind; | ||
| constructor(kind: RbeBepErrorKind, message: string); | ||
| /** | ||
| * True when re-reading the same (completed) BEP cannot help — the build was | ||
| * produced with flags the instance cache can't use (local download or a | ||
| * non-SHA256 digest). The watcher logs these once instead of retrying. | ||
| */ | ||
| get terminal(): boolean; | ||
| } | ||
| export type BepCompletion = { | ||
| /** | ||
| * True once Bazel has flushed the terminal event (`lastMessage`), so every | ||
| * earlier event — including the .ipa's namedSetOfFiles — is durably on disk. | ||
| * Gate the digest read on this, NOT on the presence of `buildFinished`: | ||
| * `buildFinished` is followed by `buildToolLogs` and `buildMetrics` | ||
| * (the `lastMessage` carrier), so it is not the last line. | ||
| */ | ||
| complete: boolean; | ||
| /** Whether the build itself succeeded (overallSuccess / exit code 0). */ | ||
| success: boolean; | ||
| /** Bazel's invocation UUID — distinguishes one build from the next. */ | ||
| invocationId?: string; | ||
| }; | ||
| /** | ||
| * Inspects a BEP stream for build completion. The watcher reads the BEP on every | ||
| * change but only acts once `complete` is true (the stream is fully flushed) and | ||
| * `success` is true (the build did not fail). `invocationId` lets the watcher act | ||
| * once per build even when consecutive builds reproduce the same .ipa digest | ||
| * (e.g. a `git stash` revert that rebuilds to an earlier digest). | ||
| */ | ||
| export declare function inspectBuildCompletion(bepJson: string): BepCompletion; | ||
| /** | ||
| * Finds the `.ipa` produced for `label` in a BEP stream and returns its CAS | ||
| * digest. Throws a typed RbeBepError when the target/.ipa is absent, its output | ||
| * was materialized locally (a `file://` URI) instead of left in CAS, or it was | ||
| * built with a non-SHA256 digest the instance cache cannot resolve. | ||
| */ | ||
| export declare function parseTopLevelIpaDigest(bepJson: string, label: string): BepIpaDigest; | ||
| //# sourceMappingURL=rbe-bep.d.ts.map |
| {"version":3,"file":"rbe-bep.d.ts","sourceRoot":"","sources":["src/rbe-bep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAsBF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEhG,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;gBACnB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;IAMlD;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF;AA8DD,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAsBrE;AAsFD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAiBnF"} |
-225
| "use strict"; | ||
| /** | ||
| * Parses Bazel's Build Event Protocol (BEP, the `--build_event_json_file` | ||
| * newline-delimited JSON) to find a built target's top-level `.ipa` and its | ||
| * content-addressed (CAS) digest. | ||
| * | ||
| * A remotely-executed output carries a `bytestream://<host>[/<instance>]/blobs/ | ||
| * <hash>/<size>` URI in its BEP `file` entry regardless of whether Bazel also | ||
| * downloads the bytes (`--remote_download_outputs`), because the URI names the | ||
| * output's CAS identity, not its local availability. `lim xcode rbe install` | ||
| * reads that digest and hands it to the instance, which fetches the blob from | ||
| * its own RBE cache and installs it — no round-trip. The generated bazelrc sets | ||
| * `--remote_download_outputs=minimal` to skip the (unneeded) local download by | ||
| * default; overriding it (e.g. `--remote_download_outputs=toplevel` on the command | ||
| * line) to materialize the .ipa locally does not affect this parser. | ||
| * | ||
| * A fully-cached rebuild (0 actions executed) still emits the bytestream URI and | ||
| * reproduces the same digest, so the auto-install watcher can rely on this parser | ||
| * after a no-op or revert (e.g. `git stash`) rebuild. Verified empirically. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.RbeBepError = void 0; | ||
| exports.inspectBuildCompletion = inspectBuildCompletion; | ||
| exports.parseTopLevelIpaDigest = parseTopLevelIpaDigest; | ||
| class RbeBepError extends Error { | ||
| constructor(kind, message) { | ||
| super(message); | ||
| this.name = 'RbeBepError'; | ||
| this.kind = kind; | ||
| } | ||
| /** | ||
| * True when re-reading the same (completed) BEP cannot help — the build was | ||
| * produced with flags the instance cache can't use (local download or a | ||
| * non-SHA256 digest). The watcher logs these once instead of retrying. | ||
| */ | ||
| get terminal() { | ||
| return this.kind === 'local-only' || this.kind === 'non-sha256'; | ||
| } | ||
| } | ||
| exports.RbeBepError = RbeBepError; | ||
| /** A SHA-256 digest is exactly 64 lowercase hex chars; the instance CAS is keyed by it. */ | ||
| const SHA256_HEX = /^[0-9a-f]{64}$/; | ||
| /** | ||
| * Extracts (digestFunction, hash, size) from a Bazel/REAPI bytestream blob URI: | ||
| * `bytestream://…/blobs/[<digest_function>/]<hash>/<size>`. The digest-function | ||
| * segment is OMITTED for functions inferable from hash length (SHA-256 among | ||
| * them) and PRESENT otherwise — notably BLAKE3, whose 256-bit output is also 64 | ||
| * hex chars and so cannot be told apart from SHA-256 by length. Capturing the | ||
| * function lets the caller reject a non-SHA256 build (e.g. Bazel 9's BLAKE3 | ||
| * default) with the right guidance instead of misreading the URI. | ||
| */ | ||
| function parseBytestreamDigest(uri) { | ||
| // Anchor on the /blobs/[func/]<hash>/<size> tail (tolerating an instance-name | ||
| // prefix). The optional function group only matches a real function segment: | ||
| // for the SHA-256 form (`/blobs/<hash>/<size>`) it backtracks to absent, and | ||
| // for `/blobs/blake3/<hash>/<size>` the non-hex 'l'/'k' force it to be captured | ||
| // as the function rather than the hash. | ||
| const m = uri.match(/\/blobs\/(?:([a-z0-9_]+)\/)?([0-9a-fA-F]+)\/(\d+)(?:$|\/)/); | ||
| if (!m || m[2] === undefined || m[3] === undefined) | ||
| return null; | ||
| return { | ||
| ...(m[1] !== undefined ? { digestFunction: m[1] } : {}), | ||
| hash: m[2].toLowerCase(), | ||
| sizeBytes: Number(m[3]), | ||
| }; | ||
| } | ||
| /** | ||
| * Canonicalizes a Bazel target label to the `//pkg:name` form BEP records. | ||
| * Bazel expands the `//pkg` shorthand to `//pkg:<basename(pkg)>` in its | ||
| * targetCompleted events, so `install //App` must match BEP's `//App:App`. | ||
| */ | ||
| function canonicalizeLabel(label) { | ||
| if (label.includes(':')) | ||
| return label; | ||
| // Strip trailing slashes with a linear scan rather than a regex: `/\/+$/` | ||
| // backtracks quadratically on a label of many trailing slashes (CodeQL ReDoS). | ||
| let end = label.length; | ||
| while (end > 0 && label[end - 1] === '/') | ||
| end--; | ||
| const pkg = label.slice(0, end); | ||
| const name = pkg.split('/').pop() ?? ''; | ||
| return name ? `${pkg}:${name}` : pkg; | ||
| } | ||
| /** Parses the BEP stream into events, ignoring partial/garbled lines. */ | ||
| function parseEvents(bepJson) { | ||
| const events = []; | ||
| for (const line of bepJson.split('\n')) { | ||
| const trimmed = line.trim(); | ||
| if (!trimmed) | ||
| continue; | ||
| try { | ||
| events.push(JSON.parse(trimmed)); | ||
| } | ||
| catch { | ||
| // Ignore partial/garbled lines (BEP is flushed incrementally). | ||
| } | ||
| } | ||
| return events; | ||
| } | ||
| /** | ||
| * Inspects a BEP stream for build completion. The watcher reads the BEP on every | ||
| * change but only acts once `complete` is true (the stream is fully flushed) and | ||
| * `success` is true (the build did not fail). `invocationId` lets the watcher act | ||
| * once per build even when consecutive builds reproduce the same .ipa digest | ||
| * (e.g. a `git stash` revert that rebuilds to an earlier digest). | ||
| */ | ||
| function inspectBuildCompletion(bepJson) { | ||
| let complete = false; | ||
| let sawFinished = false; | ||
| let success = false; | ||
| let invocationId; | ||
| for (const e of parseEvents(bepJson)) { | ||
| if (e.started?.uuid) | ||
| invocationId = e.started.uuid; | ||
| if (e.id?.buildFinished !== undefined || e.finished !== undefined) { | ||
| sawFinished = true; | ||
| // proto3 JSON omits zero-valued scalars, so a SUCCESS exit code serializes | ||
| // as `{name:"SUCCESS"}` with `code` omitted — checking `code === 0` would be | ||
| // a dead branch. Trust overallSuccess (present=true on success, omitted on | ||
| // failure) and fall back to the exit code's symbolic name. | ||
| success = e.finished?.overallSuccess === true || e.finished?.exitCode?.name === 'SUCCESS'; | ||
| } | ||
| if (e.lastMessage === true) | ||
| complete = true; | ||
| } | ||
| return { | ||
| complete, | ||
| success: sawFinished && success, | ||
| ...(invocationId !== undefined ? { invocationId } : {}), | ||
| }; | ||
| } | ||
| /** Indexes namedSetOfFiles events by id for transitive fileset resolution. */ | ||
| function indexNamedSets(events) { | ||
| const namedSets = new Map(); | ||
| for (const e of events) { | ||
| const id = e.id?.namedSet?.id; | ||
| if (id && e.namedSetOfFiles) | ||
| namedSets.set(id, e.namedSetOfFiles); | ||
| } | ||
| return namedSets; | ||
| } | ||
| /** | ||
| * Resolves the top-level `.ipa` CAS digest for one successful target's | ||
| * `completed` event, walking its default output group's filesets transitively. | ||
| * Throws a typed RbeBepError when no .ipa is present, it was materialized | ||
| * locally (`file://`), or it carries a non-SHA256 (e.g. BLAKE3) digest. | ||
| */ | ||
| function resolveIpaDigest(label, completed, namedSets) { | ||
| // Default output group -> the fileSet (namedSetOfFiles) ids holding its outputs. | ||
| const rootFileSetIds = (completed.outputGroup ?? []) | ||
| .filter((og) => og.name === 'default' || !og.name) | ||
| .flatMap((og) => (og.fileSets ?? []).map((fs) => fs.id)) | ||
| .filter((id) => !!id); | ||
| if (rootFileSetIds.length === 0) { | ||
| throw new RbeBepError('no-output', `Build of ${label} reported no default output files.`); | ||
| } | ||
| const seen = new Set(); | ||
| const queue = [...rootFileSetIds]; | ||
| // Set to the name of an .ipa that was seen but had no bytestream digest (its | ||
| // output was downloaded locally) — distinguishes that case from "no .ipa at all". | ||
| let localOnlyIpa; | ||
| while (queue.length > 0) { | ||
| const id = queue.shift(); | ||
| if (seen.has(id)) | ||
| continue; | ||
| seen.add(id); | ||
| const set = namedSets.get(id); | ||
| if (!set) | ||
| continue; | ||
| for (const f of set.files ?? []) { | ||
| if (!f.name || !f.name.endsWith('.ipa')) | ||
| continue; | ||
| const digest = f.uri ? parseBytestreamDigest(f.uri) : null; | ||
| if (digest) { | ||
| // The instance cache is keyed by SHA-256. Reject any other digest | ||
| // function — Bazel 9 defaults to BLAKE3, whose URI carries an explicit | ||
| // `blake3` function segment (and whose 64-hex hash is indistinguishable | ||
| // from SHA-256 by length, so the hash form alone can't catch it). Surface | ||
| // it here with the fix rather than letting it fail later as a cryptic | ||
| // server cache miss. | ||
| const isSha256 = digest.digestFunction === undefined ? | ||
| SHA256_HEX.test(digest.hash) | ||
| : digest.digestFunction === 'sha256'; | ||
| if (!isSha256) { | ||
| const got = digest.digestFunction ?? `${digest.hash.length} hex chars`; | ||
| throw new RbeBepError('non-sha256', `Built ${f.name} with a non-SHA256 digest (${got}; Bazel 9 defaults to BLAKE3). The instance ` + | ||
| `cache is keyed by SHA-256 — rebuild with --digest_function=sha256, e.g. ` + | ||
| `\`bazelisk --digest_function=sha256 build --config=limrun ${label}\`.`); | ||
| } | ||
| return { hash: digest.hash, sizeBytes: digest.sizeBytes, ipaName: f.name }; | ||
| } | ||
| localOnlyIpa = f.name; | ||
| } | ||
| for (const nested of set.fileSets ?? []) { | ||
| if (nested.id) | ||
| queue.push(nested.id); | ||
| } | ||
| } | ||
| if (localOnlyIpa) { | ||
| throw new RbeBepError('local-only', `Found ${label}'s .ipa (${localOnlyIpa}) but it has no remote (bytestream) digest — it was ` + | ||
| `built locally, not remotely executed. Ensure you built with --config=limrun so the .ipa is ` + | ||
| `produced in the instance's cache.`); | ||
| } | ||
| throw new RbeBepError('no-ipa', `No .ipa output found for ${label} in the build event log.`); | ||
| } | ||
| /** | ||
| * Finds the `.ipa` produced for `label` in a BEP stream and returns its CAS | ||
| * digest. Throws a typed RbeBepError when the target/.ipa is absent, its output | ||
| * was materialized locally (a `file://` URI) instead of left in CAS, or it was | ||
| * built with a non-SHA256 digest the instance cache cannot resolve. | ||
| */ | ||
| function parseTopLevelIpaDigest(bepJson, label) { | ||
| const canonical = canonicalizeLabel(label); | ||
| const events = parseEvents(bepJson); | ||
| // The successful TargetComplete for the requested label (matched against the | ||
| // canonical //pkg:name form Bazel records, so `//App` matches `//App:App`). | ||
| const completed = events.find((e) => e.id?.targetCompleted?.label === canonical && e.completed?.success) | ||
| ?.completed; | ||
| if (!completed) { | ||
| throw new RbeBepError('no-build', `No successful build of ${label} found in the build event log. ` + | ||
| `Build it first with --config=limrun (e.g. \`bazelisk --digest_function=sha256 build --config=limrun ${label}\`).`); | ||
| } | ||
| return resolveIpaDigest(label, completed, indexNamedSets(events)); | ||
| } | ||
| //# sourceMappingURL=rbe-bep.js.map |
| {"version":3,"file":"rbe-bep.js","sourceRoot":"","sources":["src/rbe-bep.ts"],"names":[],"mappings":"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"} |
-219
| /** | ||
| * Parses Bazel's Build Event Protocol (BEP, the `--build_event_json_file` | ||
| * newline-delimited JSON) to find a built target's top-level `.ipa` and its | ||
| * content-addressed (CAS) digest. | ||
| * | ||
| * A remotely-executed output carries a `bytestream://<host>[/<instance>]/blobs/ | ||
| * <hash>/<size>` URI in its BEP `file` entry regardless of whether Bazel also | ||
| * downloads the bytes (`--remote_download_outputs`), because the URI names the | ||
| * output's CAS identity, not its local availability. `lim xcode rbe install` | ||
| * reads that digest and hands it to the instance, which fetches the blob from | ||
| * its own RBE cache and installs it — no round-trip. The generated bazelrc sets | ||
| * `--remote_download_outputs=minimal` to skip the (unneeded) local download by | ||
| * default; overriding it (e.g. `--remote_download_outputs=toplevel` on the command | ||
| * line) to materialize the .ipa locally does not affect this parser. | ||
| * | ||
| * A fully-cached rebuild (0 actions executed) still emits the bytestream URI and | ||
| * reproduces the same digest, so the auto-install watcher can rely on this parser | ||
| * after a no-op or revert (e.g. `git stash`) rebuild. Verified empirically. | ||
| */ | ||
| export class RbeBepError extends Error { | ||
| constructor(kind, message) { | ||
| super(message); | ||
| this.name = 'RbeBepError'; | ||
| this.kind = kind; | ||
| } | ||
| /** | ||
| * True when re-reading the same (completed) BEP cannot help — the build was | ||
| * produced with flags the instance cache can't use (local download or a | ||
| * non-SHA256 digest). The watcher logs these once instead of retrying. | ||
| */ | ||
| get terminal() { | ||
| return this.kind === 'local-only' || this.kind === 'non-sha256'; | ||
| } | ||
| } | ||
| /** A SHA-256 digest is exactly 64 lowercase hex chars; the instance CAS is keyed by it. */ | ||
| const SHA256_HEX = /^[0-9a-f]{64}$/; | ||
| /** | ||
| * Extracts (digestFunction, hash, size) from a Bazel/REAPI bytestream blob URI: | ||
| * `bytestream://…/blobs/[<digest_function>/]<hash>/<size>`. The digest-function | ||
| * segment is OMITTED for functions inferable from hash length (SHA-256 among | ||
| * them) and PRESENT otherwise — notably BLAKE3, whose 256-bit output is also 64 | ||
| * hex chars and so cannot be told apart from SHA-256 by length. Capturing the | ||
| * function lets the caller reject a non-SHA256 build (e.g. Bazel 9's BLAKE3 | ||
| * default) with the right guidance instead of misreading the URI. | ||
| */ | ||
| function parseBytestreamDigest(uri) { | ||
| // Anchor on the /blobs/[func/]<hash>/<size> tail (tolerating an instance-name | ||
| // prefix). The optional function group only matches a real function segment: | ||
| // for the SHA-256 form (`/blobs/<hash>/<size>`) it backtracks to absent, and | ||
| // for `/blobs/blake3/<hash>/<size>` the non-hex 'l'/'k' force it to be captured | ||
| // as the function rather than the hash. | ||
| const m = uri.match(/\/blobs\/(?:([a-z0-9_]+)\/)?([0-9a-fA-F]+)\/(\d+)(?:$|\/)/); | ||
| if (!m || m[2] === undefined || m[3] === undefined) | ||
| return null; | ||
| return { | ||
| ...(m[1] !== undefined ? { digestFunction: m[1] } : {}), | ||
| hash: m[2].toLowerCase(), | ||
| sizeBytes: Number(m[3]), | ||
| }; | ||
| } | ||
| /** | ||
| * Canonicalizes a Bazel target label to the `//pkg:name` form BEP records. | ||
| * Bazel expands the `//pkg` shorthand to `//pkg:<basename(pkg)>` in its | ||
| * targetCompleted events, so `install //App` must match BEP's `//App:App`. | ||
| */ | ||
| function canonicalizeLabel(label) { | ||
| if (label.includes(':')) | ||
| return label; | ||
| // Strip trailing slashes with a linear scan rather than a regex: `/\/+$/` | ||
| // backtracks quadratically on a label of many trailing slashes (CodeQL ReDoS). | ||
| let end = label.length; | ||
| while (end > 0 && label[end - 1] === '/') | ||
| end--; | ||
| const pkg = label.slice(0, end); | ||
| const name = pkg.split('/').pop() ?? ''; | ||
| return name ? `${pkg}:${name}` : pkg; | ||
| } | ||
| /** Parses the BEP stream into events, ignoring partial/garbled lines. */ | ||
| function parseEvents(bepJson) { | ||
| const events = []; | ||
| for (const line of bepJson.split('\n')) { | ||
| const trimmed = line.trim(); | ||
| if (!trimmed) | ||
| continue; | ||
| try { | ||
| events.push(JSON.parse(trimmed)); | ||
| } | ||
| catch { | ||
| // Ignore partial/garbled lines (BEP is flushed incrementally). | ||
| } | ||
| } | ||
| return events; | ||
| } | ||
| /** | ||
| * Inspects a BEP stream for build completion. The watcher reads the BEP on every | ||
| * change but only acts once `complete` is true (the stream is fully flushed) and | ||
| * `success` is true (the build did not fail). `invocationId` lets the watcher act | ||
| * once per build even when consecutive builds reproduce the same .ipa digest | ||
| * (e.g. a `git stash` revert that rebuilds to an earlier digest). | ||
| */ | ||
| export function inspectBuildCompletion(bepJson) { | ||
| let complete = false; | ||
| let sawFinished = false; | ||
| let success = false; | ||
| let invocationId; | ||
| for (const e of parseEvents(bepJson)) { | ||
| if (e.started?.uuid) | ||
| invocationId = e.started.uuid; | ||
| if (e.id?.buildFinished !== undefined || e.finished !== undefined) { | ||
| sawFinished = true; | ||
| // proto3 JSON omits zero-valued scalars, so a SUCCESS exit code serializes | ||
| // as `{name:"SUCCESS"}` with `code` omitted — checking `code === 0` would be | ||
| // a dead branch. Trust overallSuccess (present=true on success, omitted on | ||
| // failure) and fall back to the exit code's symbolic name. | ||
| success = e.finished?.overallSuccess === true || e.finished?.exitCode?.name === 'SUCCESS'; | ||
| } | ||
| if (e.lastMessage === true) | ||
| complete = true; | ||
| } | ||
| return { | ||
| complete, | ||
| success: sawFinished && success, | ||
| ...(invocationId !== undefined ? { invocationId } : {}), | ||
| }; | ||
| } | ||
| /** Indexes namedSetOfFiles events by id for transitive fileset resolution. */ | ||
| function indexNamedSets(events) { | ||
| const namedSets = new Map(); | ||
| for (const e of events) { | ||
| const id = e.id?.namedSet?.id; | ||
| if (id && e.namedSetOfFiles) | ||
| namedSets.set(id, e.namedSetOfFiles); | ||
| } | ||
| return namedSets; | ||
| } | ||
| /** | ||
| * Resolves the top-level `.ipa` CAS digest for one successful target's | ||
| * `completed` event, walking its default output group's filesets transitively. | ||
| * Throws a typed RbeBepError when no .ipa is present, it was materialized | ||
| * locally (`file://`), or it carries a non-SHA256 (e.g. BLAKE3) digest. | ||
| */ | ||
| function resolveIpaDigest(label, completed, namedSets) { | ||
| // Default output group -> the fileSet (namedSetOfFiles) ids holding its outputs. | ||
| const rootFileSetIds = (completed.outputGroup ?? []) | ||
| .filter((og) => og.name === 'default' || !og.name) | ||
| .flatMap((og) => (og.fileSets ?? []).map((fs) => fs.id)) | ||
| .filter((id) => !!id); | ||
| if (rootFileSetIds.length === 0) { | ||
| throw new RbeBepError('no-output', `Build of ${label} reported no default output files.`); | ||
| } | ||
| const seen = new Set(); | ||
| const queue = [...rootFileSetIds]; | ||
| // Set to the name of an .ipa that was seen but had no bytestream digest (its | ||
| // output was downloaded locally) — distinguishes that case from "no .ipa at all". | ||
| let localOnlyIpa; | ||
| while (queue.length > 0) { | ||
| const id = queue.shift(); | ||
| if (seen.has(id)) | ||
| continue; | ||
| seen.add(id); | ||
| const set = namedSets.get(id); | ||
| if (!set) | ||
| continue; | ||
| for (const f of set.files ?? []) { | ||
| if (!f.name || !f.name.endsWith('.ipa')) | ||
| continue; | ||
| const digest = f.uri ? parseBytestreamDigest(f.uri) : null; | ||
| if (digest) { | ||
| // The instance cache is keyed by SHA-256. Reject any other digest | ||
| // function — Bazel 9 defaults to BLAKE3, whose URI carries an explicit | ||
| // `blake3` function segment (and whose 64-hex hash is indistinguishable | ||
| // from SHA-256 by length, so the hash form alone can't catch it). Surface | ||
| // it here with the fix rather than letting it fail later as a cryptic | ||
| // server cache miss. | ||
| const isSha256 = digest.digestFunction === undefined ? | ||
| SHA256_HEX.test(digest.hash) | ||
| : digest.digestFunction === 'sha256'; | ||
| if (!isSha256) { | ||
| const got = digest.digestFunction ?? `${digest.hash.length} hex chars`; | ||
| throw new RbeBepError('non-sha256', `Built ${f.name} with a non-SHA256 digest (${got}; Bazel 9 defaults to BLAKE3). The instance ` + | ||
| `cache is keyed by SHA-256 — rebuild with --digest_function=sha256, e.g. ` + | ||
| `\`bazelisk --digest_function=sha256 build --config=limrun ${label}\`.`); | ||
| } | ||
| return { hash: digest.hash, sizeBytes: digest.sizeBytes, ipaName: f.name }; | ||
| } | ||
| localOnlyIpa = f.name; | ||
| } | ||
| for (const nested of set.fileSets ?? []) { | ||
| if (nested.id) | ||
| queue.push(nested.id); | ||
| } | ||
| } | ||
| if (localOnlyIpa) { | ||
| throw new RbeBepError('local-only', `Found ${label}'s .ipa (${localOnlyIpa}) but it has no remote (bytestream) digest — it was ` + | ||
| `built locally, not remotely executed. Ensure you built with --config=limrun so the .ipa is ` + | ||
| `produced in the instance's cache.`); | ||
| } | ||
| throw new RbeBepError('no-ipa', `No .ipa output found for ${label} in the build event log.`); | ||
| } | ||
| /** | ||
| * Finds the `.ipa` produced for `label` in a BEP stream and returns its CAS | ||
| * digest. Throws a typed RbeBepError when the target/.ipa is absent, its output | ||
| * was materialized locally (a `file://` URI) instead of left in CAS, or it was | ||
| * built with a non-SHA256 digest the instance cache cannot resolve. | ||
| */ | ||
| export function parseTopLevelIpaDigest(bepJson, label) { | ||
| const canonical = canonicalizeLabel(label); | ||
| const events = parseEvents(bepJson); | ||
| // The successful TargetComplete for the requested label (matched against the | ||
| // canonical //pkg:name form Bazel records, so `//App` matches `//App:App`). | ||
| const completed = events.find((e) => e.id?.targetCompleted?.label === canonical && e.completed?.success) | ||
| ?.completed; | ||
| if (!completed) { | ||
| throw new RbeBepError('no-build', `No successful build of ${label} found in the build event log. ` + | ||
| `Build it first with --config=limrun (e.g. \`bazelisk --digest_function=sha256 build --config=limrun ${label}\`).`); | ||
| } | ||
| return resolveIpaDigest(label, completed, indexNamedSets(events)); | ||
| } | ||
| //# sourceMappingURL=rbe-bep.mjs.map |
| {"version":3,"file":"rbe-bep.mjs","sourceRoot":"","sources":["src/rbe-bep.ts"],"names":[],"mappings":"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"} |
-292
| /** | ||
| * Parses Bazel's Build Event Protocol (BEP, the `--build_event_json_file` | ||
| * newline-delimited JSON) to find a built target's top-level `.ipa` and its | ||
| * content-addressed (CAS) digest. | ||
| * | ||
| * A remotely-executed output carries a `bytestream://<host>[/<instance>]/blobs/ | ||
| * <hash>/<size>` URI in its BEP `file` entry regardless of whether Bazel also | ||
| * downloads the bytes (`--remote_download_outputs`), because the URI names the | ||
| * output's CAS identity, not its local availability. `lim xcode rbe install` | ||
| * reads that digest and hands it to the instance, which fetches the blob from | ||
| * its own RBE cache and installs it — no round-trip. The generated bazelrc sets | ||
| * `--remote_download_outputs=minimal` to skip the (unneeded) local download by | ||
| * default; overriding it (e.g. `--remote_download_outputs=toplevel` on the command | ||
| * line) to materialize the .ipa locally does not affect this parser. | ||
| * | ||
| * A fully-cached rebuild (0 actions executed) still emits the bytestream URI and | ||
| * reproduces the same digest, so the auto-install watcher can rely on this parser | ||
| * after a no-op or revert (e.g. `git stash`) rebuild. Verified empirically. | ||
| */ | ||
| export type BepIpaDigest = { | ||
| /** Lowercase hex SHA-256 of the .ipa blob. */ | ||
| hash: string; | ||
| /** Size of the .ipa blob in bytes. */ | ||
| sizeBytes: number; | ||
| /** The .ipa file name as Bazel reported it (e.g. "App/App.ipa"). */ | ||
| ipaName: string; | ||
| }; | ||
| type BepEvent = { | ||
| id?: { | ||
| targetCompleted?: { label?: string }; | ||
| namedSet?: { id?: string }; | ||
| buildFinished?: unknown; | ||
| }; | ||
| started?: { uuid?: string }; | ||
| finished?: { overallSuccess?: boolean; exitCode?: { name?: string; code?: number } }; | ||
| /** Bazel sets this on the final BEP event once the stream is fully flushed. */ | ||
| lastMessage?: boolean; | ||
| completed?: { | ||
| success?: boolean; | ||
| outputGroup?: Array<{ name?: string; fileSets?: Array<{ id?: string }> }>; | ||
| }; | ||
| namedSetOfFiles?: { | ||
| files?: Array<{ name?: string; uri?: string }>; | ||
| fileSets?: Array<{ id?: string }>; | ||
| }; | ||
| }; | ||
| /** | ||
| * Why a BEP could not yield an .ipa digest for a label. | ||
| * | ||
| * `terminal` failures will not resolve by re-reading the same completed BEP | ||
| * (the build used the wrong flags); `no-build` / `no-output` / `no-ipa` are | ||
| * transient while the build is still flushing and become terminal only once | ||
| * the build is confirmed complete. The watcher uses this to decide whether to | ||
| * retry the read or to log-once and give up. | ||
| */ | ||
| export type RbeBepErrorKind = 'no-build' | 'no-output' | 'no-ipa' | 'local-only' | 'non-sha256'; | ||
| export class RbeBepError extends Error { | ||
| readonly kind: RbeBepErrorKind; | ||
| constructor(kind: RbeBepErrorKind, message: string) { | ||
| super(message); | ||
| this.name = 'RbeBepError'; | ||
| this.kind = kind; | ||
| } | ||
| /** | ||
| * True when re-reading the same (completed) BEP cannot help — the build was | ||
| * produced with flags the instance cache can't use (local download or a | ||
| * non-SHA256 digest). The watcher logs these once instead of retrying. | ||
| */ | ||
| get terminal(): boolean { | ||
| return this.kind === 'local-only' || this.kind === 'non-sha256'; | ||
| } | ||
| } | ||
| /** A SHA-256 digest is exactly 64 lowercase hex chars; the instance CAS is keyed by it. */ | ||
| const SHA256_HEX = /^[0-9a-f]{64}$/; | ||
| /** | ||
| * Extracts (digestFunction, hash, size) from a Bazel/REAPI bytestream blob URI: | ||
| * `bytestream://…/blobs/[<digest_function>/]<hash>/<size>`. The digest-function | ||
| * segment is OMITTED for functions inferable from hash length (SHA-256 among | ||
| * them) and PRESENT otherwise — notably BLAKE3, whose 256-bit output is also 64 | ||
| * hex chars and so cannot be told apart from SHA-256 by length. Capturing the | ||
| * function lets the caller reject a non-SHA256 build (e.g. Bazel 9's BLAKE3 | ||
| * default) with the right guidance instead of misreading the URI. | ||
| */ | ||
| function parseBytestreamDigest( | ||
| uri: string, | ||
| ): { digestFunction?: string; hash: string; sizeBytes: number } | null { | ||
| // Anchor on the /blobs/[func/]<hash>/<size> tail (tolerating an instance-name | ||
| // prefix). The optional function group only matches a real function segment: | ||
| // for the SHA-256 form (`/blobs/<hash>/<size>`) it backtracks to absent, and | ||
| // for `/blobs/blake3/<hash>/<size>` the non-hex 'l'/'k' force it to be captured | ||
| // as the function rather than the hash. | ||
| const m = uri.match(/\/blobs\/(?:([a-z0-9_]+)\/)?([0-9a-fA-F]+)\/(\d+)(?:$|\/)/); | ||
| if (!m || m[2] === undefined || m[3] === undefined) return null; | ||
| return { | ||
| ...(m[1] !== undefined ? { digestFunction: m[1] } : {}), | ||
| hash: m[2].toLowerCase(), | ||
| sizeBytes: Number(m[3]), | ||
| }; | ||
| } | ||
| /** | ||
| * Canonicalizes a Bazel target label to the `//pkg:name` form BEP records. | ||
| * Bazel expands the `//pkg` shorthand to `//pkg:<basename(pkg)>` in its | ||
| * targetCompleted events, so `install //App` must match BEP's `//App:App`. | ||
| */ | ||
| function canonicalizeLabel(label: string): string { | ||
| if (label.includes(':')) return label; | ||
| // Strip trailing slashes with a linear scan rather than a regex: `/\/+$/` | ||
| // backtracks quadratically on a label of many trailing slashes (CodeQL ReDoS). | ||
| let end = label.length; | ||
| while (end > 0 && label[end - 1] === '/') end--; | ||
| const pkg = label.slice(0, end); | ||
| const name = pkg.split('/').pop() ?? ''; | ||
| return name ? `${pkg}:${name}` : pkg; | ||
| } | ||
| /** Parses the BEP stream into events, ignoring partial/garbled lines. */ | ||
| function parseEvents(bepJson: string): BepEvent[] { | ||
| const events: BepEvent[] = []; | ||
| for (const line of bepJson.split('\n')) { | ||
| const trimmed = line.trim(); | ||
| if (!trimmed) continue; | ||
| try { | ||
| events.push(JSON.parse(trimmed) as BepEvent); | ||
| } catch { | ||
| // Ignore partial/garbled lines (BEP is flushed incrementally). | ||
| } | ||
| } | ||
| return events; | ||
| } | ||
| export type BepCompletion = { | ||
| /** | ||
| * True once Bazel has flushed the terminal event (`lastMessage`), so every | ||
| * earlier event — including the .ipa's namedSetOfFiles — is durably on disk. | ||
| * Gate the digest read on this, NOT on the presence of `buildFinished`: | ||
| * `buildFinished` is followed by `buildToolLogs` and `buildMetrics` | ||
| * (the `lastMessage` carrier), so it is not the last line. | ||
| */ | ||
| complete: boolean; | ||
| /** Whether the build itself succeeded (overallSuccess / exit code 0). */ | ||
| success: boolean; | ||
| /** Bazel's invocation UUID — distinguishes one build from the next. */ | ||
| invocationId?: string; | ||
| }; | ||
| /** | ||
| * Inspects a BEP stream for build completion. The watcher reads the BEP on every | ||
| * change but only acts once `complete` is true (the stream is fully flushed) and | ||
| * `success` is true (the build did not fail). `invocationId` lets the watcher act | ||
| * once per build even when consecutive builds reproduce the same .ipa digest | ||
| * (e.g. a `git stash` revert that rebuilds to an earlier digest). | ||
| */ | ||
| export function inspectBuildCompletion(bepJson: string): BepCompletion { | ||
| let complete = false; | ||
| let sawFinished = false; | ||
| let success = false; | ||
| let invocationId: string | undefined; | ||
| for (const e of parseEvents(bepJson)) { | ||
| if (e.started?.uuid) invocationId = e.started.uuid; | ||
| if (e.id?.buildFinished !== undefined || e.finished !== undefined) { | ||
| sawFinished = true; | ||
| // proto3 JSON omits zero-valued scalars, so a SUCCESS exit code serializes | ||
| // as `{name:"SUCCESS"}` with `code` omitted — checking `code === 0` would be | ||
| // a dead branch. Trust overallSuccess (present=true on success, omitted on | ||
| // failure) and fall back to the exit code's symbolic name. | ||
| success = e.finished?.overallSuccess === true || e.finished?.exitCode?.name === 'SUCCESS'; | ||
| } | ||
| if (e.lastMessage === true) complete = true; | ||
| } | ||
| return { | ||
| complete, | ||
| success: sawFinished && success, | ||
| ...(invocationId !== undefined ? { invocationId } : {}), | ||
| }; | ||
| } | ||
| /** Indexes namedSetOfFiles events by id for transitive fileset resolution. */ | ||
| function indexNamedSets(events: BepEvent[]): Map<string, NonNullable<BepEvent['namedSetOfFiles']>> { | ||
| const namedSets = new Map<string, NonNullable<BepEvent['namedSetOfFiles']>>(); | ||
| for (const e of events) { | ||
| const id = e.id?.namedSet?.id; | ||
| if (id && e.namedSetOfFiles) namedSets.set(id, e.namedSetOfFiles); | ||
| } | ||
| return namedSets; | ||
| } | ||
| /** | ||
| * Resolves the top-level `.ipa` CAS digest for one successful target's | ||
| * `completed` event, walking its default output group's filesets transitively. | ||
| * Throws a typed RbeBepError when no .ipa is present, it was materialized | ||
| * locally (`file://`), or it carries a non-SHA256 (e.g. BLAKE3) digest. | ||
| */ | ||
| function resolveIpaDigest( | ||
| label: string, | ||
| completed: NonNullable<BepEvent['completed']>, | ||
| namedSets: Map<string, NonNullable<BepEvent['namedSetOfFiles']>>, | ||
| ): BepIpaDigest { | ||
| // Default output group -> the fileSet (namedSetOfFiles) ids holding its outputs. | ||
| const rootFileSetIds = (completed.outputGroup ?? []) | ||
| .filter((og) => og.name === 'default' || !og.name) | ||
| .flatMap((og) => (og.fileSets ?? []).map((fs) => fs.id)) | ||
| .filter((id): id is string => !!id); | ||
| if (rootFileSetIds.length === 0) { | ||
| throw new RbeBepError('no-output', `Build of ${label} reported no default output files.`); | ||
| } | ||
| const seen = new Set<string>(); | ||
| const queue = [...rootFileSetIds]; | ||
| // Set to the name of an .ipa that was seen but had no bytestream digest (its | ||
| // output was downloaded locally) — distinguishes that case from "no .ipa at all". | ||
| let localOnlyIpa: string | undefined; | ||
| while (queue.length > 0) { | ||
| const id = queue.shift()!; | ||
| if (seen.has(id)) continue; | ||
| seen.add(id); | ||
| const set = namedSets.get(id); | ||
| if (!set) continue; | ||
| for (const f of set.files ?? []) { | ||
| if (!f.name || !f.name.endsWith('.ipa')) continue; | ||
| const digest = f.uri ? parseBytestreamDigest(f.uri) : null; | ||
| if (digest) { | ||
| // The instance cache is keyed by SHA-256. Reject any other digest | ||
| // function — Bazel 9 defaults to BLAKE3, whose URI carries an explicit | ||
| // `blake3` function segment (and whose 64-hex hash is indistinguishable | ||
| // from SHA-256 by length, so the hash form alone can't catch it). Surface | ||
| // it here with the fix rather than letting it fail later as a cryptic | ||
| // server cache miss. | ||
| const isSha256 = | ||
| digest.digestFunction === undefined ? | ||
| SHA256_HEX.test(digest.hash) | ||
| : digest.digestFunction === 'sha256'; | ||
| if (!isSha256) { | ||
| const got = digest.digestFunction ?? `${digest.hash.length} hex chars`; | ||
| throw new RbeBepError( | ||
| 'non-sha256', | ||
| `Built ${f.name} with a non-SHA256 digest (${got}; Bazel 9 defaults to BLAKE3). The instance ` + | ||
| `cache is keyed by SHA-256 — rebuild with --digest_function=sha256, e.g. ` + | ||
| `\`bazelisk --digest_function=sha256 build --config=limrun ${label}\`.`, | ||
| ); | ||
| } | ||
| return { hash: digest.hash, sizeBytes: digest.sizeBytes, ipaName: f.name }; | ||
| } | ||
| localOnlyIpa = f.name; | ||
| } | ||
| for (const nested of set.fileSets ?? []) { | ||
| if (nested.id) queue.push(nested.id); | ||
| } | ||
| } | ||
| if (localOnlyIpa) { | ||
| throw new RbeBepError( | ||
| 'local-only', | ||
| `Found ${label}'s .ipa (${localOnlyIpa}) but it has no remote (bytestream) digest — it was ` + | ||
| `built locally, not remotely executed. Ensure you built with --config=limrun so the .ipa is ` + | ||
| `produced in the instance's cache.`, | ||
| ); | ||
| } | ||
| throw new RbeBepError('no-ipa', `No .ipa output found for ${label} in the build event log.`); | ||
| } | ||
| /** | ||
| * Finds the `.ipa` produced for `label` in a BEP stream and returns its CAS | ||
| * digest. Throws a typed RbeBepError when the target/.ipa is absent, its output | ||
| * was materialized locally (a `file://` URI) instead of left in CAS, or it was | ||
| * built with a non-SHA256 digest the instance cache cannot resolve. | ||
| */ | ||
| export function parseTopLevelIpaDigest(bepJson: string, label: string): BepIpaDigest { | ||
| const canonical = canonicalizeLabel(label); | ||
| const events = parseEvents(bepJson); | ||
| // The successful TargetComplete for the requested label (matched against the | ||
| // canonical //pkg:name form Bazel records, so `//App` matches `//App:App`). | ||
| const completed = events.find((e) => e.id?.targetCompleted?.label === canonical && e.completed?.success) | ||
| ?.completed; | ||
| if (!completed) { | ||
| throw new RbeBepError( | ||
| 'no-build', | ||
| `No successful build of ${label} found in the build event log. ` + | ||
| `Build it first with --config=limrun (e.g. \`bazelisk --digest_function=sha256 build --config=limrun ${label}\`).`, | ||
| ); | ||
| } | ||
| return resolveIpaDigest(label, completed, indexNamedSets(events)); | ||
| } |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 3 instances
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 3 instances
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
158
-1.86%1923682
-3.25%514
-1.72%27643
-3.16%