bkper 4.24.3 → 4.25.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.
@@ -1,4 +1,4 @@
1
- export { ARTIFACTS_HOST_SUFFIX, CREDENTIAL_USERNAME, DEFAULT_MANAGED_BRANCH, ManagedGitError, SOURCE_MARKER_DIR, SOURCE_MARKER_FILE, type GitPreflightCode, type GitRemote, type GitRepositoryInfo, type ManagedSourceActivationResult, type ManagedSourceCredential, type ManagedSourcePlatformStatus, type SourceMarker, type SourceMode, type SourceModeDecision, type WorkingTreeStatus, } from './types.js';
1
+ export { ARTIFACTS_HOST_SUFFIX, CREDENTIAL_USERNAME, DEFAULT_MANAGED_BRANCH, ManagedGitError, SOURCE_MARKER_DIR, SOURCE_MARKER_FILE, type GitPreflightCode, type GitRemote, type GitRepositoryInfo, type ManagedSourceActivationResult, type ManagedSourceCredential, type ManagedSourcePlatformStatus, type ManagedSourceUpload, type SourceMarker, type SourceMode, type SourceModeDecision, type WorkingTreeStatus, } from './types.js';
2
2
  export { runGit, type GitCommandResult, type GitRunOptions, type GitRunner } from './run-git.js';
3
3
  export { ensureGitInitialized, findBkperYaml, findGitRoot, getCurrentBranch, getHeadSha, getOriginRemote, getWorkingTreeStatus, hasExternalRemote, inspectGitRepository, isArtifactsRemoteUrl, listRemotes, normalizeRemoteUrl, remoteUrlsEqual, requireGitRepository, } from './inspect.js';
4
4
  export { createActivationId, ensurePendingSourceMarker, getSourceMarkerPath, isUuidV4, readSourceMarker, writeManagedSourceMarker, } from './markers.js';
@@ -7,6 +7,6 @@ export { detectSourceMode, type DetectSourceModeInput } from './mode.js';
7
7
  export { buildCredentialConfigSection, buildCredentialHelperCommand, configureManagedCredentialHelper, formatCredentialGetResponse, parseCredentialInput, runGitCredentialHelper, type CredentialHelperOptions, type CredentialRequest, } from './credentials.js';
8
8
  export { createPlatformSourceApi, getPlatformBaseUrl, stripRepositoryTokenSecret, type PlatformSourceApi, } from './platform-source.js';
9
9
  export { configureManagedOrigin } from './remote.js';
10
- export { assertFastForwardPush, pushCurrentBranchSafe, type SafePushOptions, type SafePushResult, } from './push.js';
10
+ export { assertFastForwardPush, pushAllLocalRefsAtomic, pushCurrentBranchSafe, type SafePushOptions, type SafePushResult, } from './push.js';
11
11
  export { cloneManagedApp, cloneManagedAppCommand, type CloneManagedAppOptions, } from './clone.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,MAAM,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAE/F,OAAO,EACH,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GACjC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,gBAAgB,EAAE,KAAK,qBAAqB,EAAC,MAAM,WAAW,CAAC;AAEvE,OAAO,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,iBAAiB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAEnD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,KAAK,sBAAsB,GAC9B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,MAAM,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAE/F,OAAO,EACH,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GACjC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,gBAAgB,EAAE,KAAK,qBAAqB,EAAC,MAAM,WAAW,CAAC;AAEvE,OAAO,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,iBAAiB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAEnD,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,KAAK,sBAAsB,GAC9B,MAAM,YAAY,CAAC"}
@@ -7,6 +7,6 @@ export { detectSourceMode } from './mode.js';
7
7
  export { buildCredentialConfigSection, buildCredentialHelperCommand, configureManagedCredentialHelper, formatCredentialGetResponse, parseCredentialInput, runGitCredentialHelper, } from './credentials.js';
8
8
  export { createPlatformSourceApi, getPlatformBaseUrl, stripRepositoryTokenSecret, } from './platform-source.js';
9
9
  export { configureManagedOrigin } from './remote.js';
10
- export { assertFastForwardPush, pushCurrentBranchSafe, } from './push.js';
10
+ export { assertFastForwardPush, pushAllLocalRefsAtomic, pushCurrentBranchSafe, } from './push.js';
11
11
  export { cloneManagedApp, cloneManagedAppCommand, } from './clone.js';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GAWrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,MAAM,EAA4D,MAAM,cAAc,CAAC;AAE/F,OAAO,EACH,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,0BAA0B,EAC1B,oBAAoB,GAGvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,gBAAgB,EAA6B,MAAM,WAAW,CAAC;AAEvE,OAAO,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,GAGzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,GAE7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAEnD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,GAGxB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACH,eAAe,EACf,sBAAsB,GAEzB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GAYrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,MAAM,EAA4D,MAAM,cAAc,CAAC;AAE/F,OAAO,EACH,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,0BAA0B,EAC1B,oBAAoB,GAGvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,gBAAgB,EAA6B,MAAM,WAAW,CAAC;AAEvE,OAAO,EACH,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,GAGzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,GAE7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAEnD,OAAO,EACH,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GAGxB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACH,eAAe,EACf,sBAAsB,GAEzB,MAAM,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type SourceMarker } from './types.js';
1
+ import { type ManagedSourceUpload, type SourceMarker } from './types.js';
2
2
  export declare function getSourceMarkerPath(repoRoot: string): string;
3
3
  export declare function isUuidV4(value: string): boolean;
4
4
  export declare function createActivationId(): string;
@@ -7,7 +7,7 @@ export declare function readSourceMarker(repoRoot: string): SourceMarker | null;
7
7
  * Creates or returns the existing pending activation marker.
8
8
  * Does not overwrite a managed marker.
9
9
  */
10
- export declare function ensurePendingSourceMarker(repoRoot: string): SourceMarker & {
10
+ export declare function ensurePendingSourceMarker(repoRoot: string, upload?: ManagedSourceUpload): SourceMarker & {
11
11
  state: 'pending';
12
12
  };
13
13
  export declare function writeManagedSourceMarker(repoRoot: string, appId: string, remote: string): SourceMarker & {
@@ -1 +1 @@
1
- {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,KAAK,YAAY,EACpB,MAAM,YAAY,CAAC;AAKpB,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAqED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMtE;AAiCD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG;IACxE,KAAK,EAAE,SAAS,CAAC;CACpB,CAkBA;AAED,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,YAAY,GAAG;IAAC,KAAK,EAAE,SAAS,CAAA;CAAC,CASnC"}
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACpB,MAAM,YAAY,CAAC;AAKpB,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAgFD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMtE;AAiCD;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,mBAA4B,GACrC,YAAY,GAAG;IACd,KAAK,EAAE,SAAS,CAAC;CACpB,CAmBA;AAED,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,YAAY,GAAG;IAAC,KAAK,EAAE,SAAS,CAAA;CAAC,CASnC"}
@@ -13,11 +13,12 @@ export function createActivationId() {
13
13
  return randomUUID();
14
14
  }
15
15
  function parseSourceMarker(raw) {
16
+ var _a;
16
17
  let parsed;
17
18
  try {
18
19
  parsed = JSON.parse(raw);
19
20
  }
20
- catch (_a) {
21
+ catch (_b) {
21
22
  throw new ManagedGitError('SOURCE_MARKER_INVALID', 'The local managed-source marker is malformed. Inspect .bkper/source-marker.json and restore a valid pending or managed marker before retrying.');
22
23
  }
23
24
  if (!parsed || typeof parsed !== 'object') {
@@ -31,10 +32,16 @@ function parseSourceMarker(raw) {
31
32
  if (typeof marker.activationId !== 'string' || !isUuidV4(marker.activationId)) {
32
33
  throw new ManagedGitError('SOURCE_MARKER_INVALID', 'The pending managed-source marker must contain a lowercase UUID v4 activationId.');
33
34
  }
35
+ if (marker.upload !== undefined &&
36
+ marker.upload !== 'main' &&
37
+ marker.upload !== 'all_refs') {
38
+ throw new ManagedGitError('SOURCE_MARKER_INVALID', 'The pending managed-source marker has an invalid upload scope.');
39
+ }
34
40
  return {
35
41
  version: 1,
36
42
  state: 'pending',
37
43
  activationId: marker.activationId,
44
+ upload: (_a = marker.upload) !== null && _a !== void 0 ? _a : 'main',
38
45
  };
39
46
  }
40
47
  if (marker.state === 'managed') {
@@ -96,7 +103,7 @@ function writeMarkerAtomic(repoRoot, marker) {
96
103
  * Creates or returns the existing pending activation marker.
97
104
  * Does not overwrite a managed marker.
98
105
  */
99
- export function ensurePendingSourceMarker(repoRoot) {
106
+ export function ensurePendingSourceMarker(repoRoot, upload = 'main') {
100
107
  const existing = readSourceMarker(repoRoot);
101
108
  if ((existing === null || existing === void 0 ? void 0 : existing.state) === 'pending') {
102
109
  return existing;
@@ -108,6 +115,7 @@ export function ensurePendingSourceMarker(repoRoot) {
108
115
  version: 1,
109
116
  state: 'pending',
110
117
  activationId: createActivationId(),
118
+ upload,
111
119
  };
112
120
  writeMarkerAtomic(repoRoot, marker);
113
121
  return marker;
@@ -1 +1 @@
1
- {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/markers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,GACZ,uEAAuE,CAAC;AAE5E,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa;IAClC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,UAAU,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IAClC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,WAAM,CAAC;QACL,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,gJAAgJ,CACnJ,CAAC;IACN,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,+CAA+C,CAClD,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,4CAA4C,CAC/C,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,kFAAkF,CACrF,CAAC;QACN,CAAC;QACD,OAAO;YACH,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,MAAM,CAAC,YAAY;SACpC,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,6CAA6C,CAChD,CAAC;QACN,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,8CAA8C,CACjD,CAAC;QACN,CAAC;QACD,OAAO;YACH,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC;IACN,CAAC;IAED,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,uDAAuD,CAC1D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,MAAM,CAAC;IACrD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;IAC9D,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO;IACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,SAAS,GAAG,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,MAAoB;IAC7D,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACnD,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IACpD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3E,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IAGtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,MAAK,SAAS,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,MAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CACrB,uBAAuB,EACvB,gHAAgH,CACnH,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAiB;QACzB,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,kBAAkB,EAAE;KACrC,CAAC;IACF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,QAAgB,EAChB,KAAa,EACb,MAAc;IAEd,MAAM,MAAM,GAAiB;QACzB,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,SAAS;QAChB,KAAK;QACL,MAAM;KACT,CAAC;IACF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/markers.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,10 @@ export interface DetectSourceModeInput {
15
15
  * Deterministic source-mode detection.
16
16
  *
17
17
  * Order:
18
- * 1. Platform managed record
19
- * 2. Pending local marker (never downgrade on transient miss)
18
+ * 1. Pending local marker (preserves activation upload scope across retries)
19
+ * 2. Platform managed record
20
20
  * 3. Nested monorepo / external remote / missing git root
21
- * 4. Existing Core App without pending marker stays external
22
- * 5. New standalone eligible App activates managed source
21
+ * 4. Eligible standalone Apps activate managed source
23
22
  */
24
23
  export declare function detectSourceMode(input: DetectSourceModeInput): Promise<SourceModeDecision>;
25
24
  //# sourceMappingURL=mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/mode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EACR,2BAA2B,EAC3B,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,cAAc,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACnD,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,qBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAwF7B"}
1
+ {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/mode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EACR,2BAA2B,EAC3B,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,cAAc,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACnD,8CAA8C;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,qBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAoF7B"}
@@ -15,16 +15,26 @@ import { runGit } from './run-git.js';
15
15
  * Deterministic source-mode detection.
16
16
  *
17
17
  * Order:
18
- * 1. Platform managed record
19
- * 2. Pending local marker (never downgrade on transient miss)
18
+ * 1. Pending local marker (preserves activation upload scope across retries)
19
+ * 2. Platform managed record
20
20
  * 3. Nested monorepo / external remote / missing git root
21
- * 4. Existing Core App without pending marker stays external
22
- * 5. New standalone eligible App activates managed source
21
+ * 4. Eligible standalone Apps activate managed source
23
22
  */
24
23
  export function detectSourceMode(input) {
25
24
  return __awaiter(this, void 0, void 0, function* () {
26
- var _a, _b, _c, _d;
25
+ var _a, _b, _c;
27
26
  const runner = (_a = input.runner) !== null && _a !== void 0 ? _a : runGit;
27
+ const repo = yield inspectGitRepository(input.appDir, runner);
28
+ const marker = repo ? readSourceMarker(repo.root) : null;
29
+ if ((marker === null || marker === void 0 ? void 0 : marker.state) === 'pending') {
30
+ return {
31
+ mode: 'managed',
32
+ reason: 'pending_marker',
33
+ appId: input.appId,
34
+ activationId: marker.activationId,
35
+ upload: marker.upload,
36
+ };
37
+ }
28
38
  if (((_b = input.platformStatus) === null || _b === void 0 ? void 0 : _b.mode) === 'managed') {
29
39
  return {
30
40
  mode: 'managed',
@@ -32,19 +42,9 @@ export function detectSourceMode(input) {
32
42
  appId: input.platformStatus.appId,
33
43
  };
34
44
  }
35
- const repo = yield inspectGitRepository(input.appDir, runner);
36
45
  if (!repo) {
37
46
  return { mode: 'external', reason: 'no_git' };
38
47
  }
39
- const marker = readSourceMarker(repo.root);
40
- if ((marker === null || marker === void 0 ? void 0 : marker.state) === 'pending') {
41
- return {
42
- mode: 'managed',
43
- reason: 'pending_marker',
44
- appId: input.appId,
45
- activationId: marker.activationId,
46
- };
47
- }
48
48
  if ((marker === null || marker === void 0 ? void 0 : marker.state) === 'managed') {
49
49
  return {
50
50
  mode: 'managed',
@@ -84,23 +84,19 @@ export function detectSourceMode(input) {
84
84
  details: external,
85
85
  };
86
86
  }
87
- if (input.coreAppExists) {
88
- return { mode: 'external', reason: 'existing_core_app' };
89
- }
90
- if (((_d = input.platformStatus) === null || _d === void 0 ? void 0 : _d.mode) === 'external') {
91
- // Eligible new App: local shape already checked.
92
- return {
87
+ return input.coreAppExists
88
+ ? {
89
+ mode: 'activate_managed',
90
+ reason: 'existing_standalone_app',
91
+ appId: input.appId,
92
+ upload: 'all_refs',
93
+ }
94
+ : {
93
95
  mode: 'activate_managed',
94
96
  reason: 'new_standalone_app',
95
97
  appId: input.appId,
98
+ upload: 'main',
96
99
  };
97
- }
98
- // No platform status available and local shape is eligible for activation.
99
- return {
100
- mode: 'activate_managed',
101
- reason: 'new_standalone_app',
102
- appId: input.appId,
103
- };
104
100
  });
105
101
  }
106
102
  //# sourceMappingURL=mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/mode.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { type GitRunner } from './run-git.js';
2
+ import { type ManagedSourceUpload } from './types.js';
2
3
  export interface SafePushOptions {
3
4
  appDir?: string;
4
5
  expectedOriginRemote?: string;
5
6
  requireMainBranch?: boolean;
7
+ upload?: ManagedSourceUpload;
6
8
  runner?: GitRunner;
7
9
  }
8
10
  export interface SafePushResult {
@@ -14,6 +16,11 @@ export interface SafePushResult {
14
16
  * Fetches the remote branch and allows only missing, equal, or ancestor remote tips.
15
17
  */
16
18
  export declare function assertFastForwardPush(repoRoot: string, branch: string, head: string, runner?: GitRunner): Promise<'missing' | 'same' | 'ahead'>;
19
+ /**
20
+ * Pushes every local branch and tag as one atomic remote update.
21
+ * A rejected ref leaves the managed repository unchanged.
22
+ */
23
+ export declare function pushAllLocalRefsAtomic(options?: SafePushOptions): Promise<SafePushResult>;
17
24
  /**
18
25
  * Safe current-branch push with upstream setup.
19
26
  * Never commits, merges, rebases, force-pushes, or discards local changes.
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/push.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;CACrE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,SAAkB,GAC3B,OAAO,CAAC,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,CA2CvC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC,cAAc,CAAC,CA+DzB"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/push.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAkB,KAAK,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;CACrE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,SAAkB,GAC3B,OAAO,CAAC,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,CA2CvC;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC,cAAc,CAAC,CA+BzB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC,cAAc,CAAC,CA+DzB"}
@@ -52,6 +52,37 @@ export function assertFastForwardPush(repoRoot_1, branch_1, head_1) {
52
52
  ].join('\n'));
53
53
  });
54
54
  }
55
+ /**
56
+ * Pushes every local branch and tag as one atomic remote update.
57
+ * A rejected ref leaves the managed repository unchanged.
58
+ */
59
+ export function pushAllLocalRefsAtomic() {
60
+ return __awaiter(this, arguments, void 0, function* (options = {}) {
61
+ var _a;
62
+ const runner = (_a = options.runner) !== null && _a !== void 0 ? _a : runGit;
63
+ const preflight = yield requireManagedGitPreflight({
64
+ appDir: options.appDir,
65
+ expectedOriginRemote: options.expectedOriginRemote,
66
+ requireMainBranch: options.requireMainBranch,
67
+ runner,
68
+ });
69
+ const refsResult = yield runner(['for-each-ref', '--format=%(refname)', 'refs/heads', 'refs/tags'], { cwd: preflight.repo.root });
70
+ const refs = refsResult.stdout
71
+ .split(/\r?\n/)
72
+ .map(ref => ref.trim())
73
+ .filter(ref => ref.length > 0);
74
+ const refspecs = refs.map(ref => `${ref}:${ref}`);
75
+ yield runner(['push', '--atomic', 'origin', ...refspecs], {
76
+ cwd: preflight.repo.root,
77
+ });
78
+ yield runner(['branch', '--set-upstream-to', `origin/${preflight.branch}`, preflight.branch], { cwd: preflight.repo.root });
79
+ return {
80
+ branch: preflight.branch,
81
+ head: preflight.head,
82
+ action: 'pushed',
83
+ };
84
+ });
85
+ }
55
86
  /**
56
87
  * Safe current-branch push with upstream setup.
57
88
  * Never commits, merges, rebases, force-pushes, or discards local changes.
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/push.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Managed Artifacts source types and agent-actionable errors for CLI Git plumbing.
3
3
  */
4
4
  export type SourceMode = 'managed' | 'external' | 'pending_activation';
5
+ export type ManagedSourceUpload = 'main' | 'all_refs';
5
6
  export type ManagedSourcePlatformStatus = {
6
7
  mode: 'external';
7
8
  state: 'not_managed';
@@ -39,6 +40,7 @@ export type SourceMarker = {
39
40
  version: 1;
40
41
  state: 'pending';
41
42
  activationId: string;
43
+ upload: ManagedSourceUpload;
42
44
  } | {
43
45
  version: 1;
44
46
  state: 'managed';
@@ -72,14 +74,16 @@ export type SourceModeDecision = {
72
74
  appId: string;
73
75
  remote?: string;
74
76
  activationId?: string;
77
+ upload?: ManagedSourceUpload;
75
78
  } | {
76
79
  mode: 'external';
77
- reason: 'nested_app' | 'external_remote' | 'existing_core_app' | 'not_git_root' | 'no_git' | 'platform_external' | 'feature_disabled';
80
+ reason: 'nested_app' | 'external_remote' | 'not_git_root' | 'no_git' | 'platform_external' | 'feature_disabled';
78
81
  details?: string;
79
82
  } | {
80
83
  mode: 'activate_managed';
81
- reason: 'new_standalone_app';
84
+ reason: 'new_standalone_app' | 'existing_standalone_app';
82
85
  appId: string;
86
+ upload: ManagedSourceUpload;
83
87
  };
84
88
  export type GitPreflightCode = 'NO_GIT_REPOSITORY' | 'BKPER_YAML_NOT_AT_GIT_ROOT' | 'NO_COMMITS' | 'DETACHED_HEAD' | 'FIRST_ACTIVATION_NOT_MAIN' | 'STAGED_CHANGES' | 'MODIFIED_TRACKED_FILES' | 'UNTRACKED_FILES' | 'MISSING_MANAGED_ORIGIN' | 'INCORRECT_MANAGED_ORIGIN' | 'EXTERNAL_ORIGIN_PRESENT' | 'AUTHENTICATION_REQUIRED' | 'REPOSITORY_CREDENTIAL_EXPIRED' | 'REMOTE_AHEAD_OR_DIVERGED' | 'APP_ID_MISMATCH' | 'MANAGED_SOURCE_UNAVAILABLE' | 'EXTERNAL_SOURCE_CLONE' | 'CLONE_DESTINATION_EXISTS' | 'CLONE_EMPTY_REPOSITORY' | 'INVALID_CREDENTIAL_REQUEST' | 'SOURCE_MARKER_INVALID' | 'GIT_COMMAND_FAILED';
85
89
  export declare class ManagedGitError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/apps/git/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiIH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAItC,YAAY,IAAsB,EAAE,OAAe,EAAE,QAAkB,EAAE;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/commands/apps/git/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqIH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAItC,YAAY,IAAsB,EAAE,OAAe,EAAE,QAAkB,EAAE;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"source-workflow.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/source-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAWtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,eAAe,GAAG,OAAO,sBAAsB,CAAC;AACrD,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAE/E,UAAU,qBAAqB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAwDD;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,0BAA0B,GACpC,OAAO,CAAC,UAAU,CAAC,CA4ErB;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CA0D3C"}
1
+ {"version":3,"file":"source-workflow.d.ts","sourceRoot":"","sources":["../../../src/commands/apps/source-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAYtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,eAAe,GAAG,OAAO,sBAAsB,CAAC;AACrD,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAE/E,UAAU,qBAAqB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AA4DD;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,0BAA0B,GACpC,OAAO,CAAC,UAAU,CAAC,CAsFrB;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAkE3C"}
@@ -7,12 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { configureManagedOrigin, createPlatformSourceApi, detectSourceMode, ensurePendingSourceMarker, inspectGitRepository, ManagedGitError, pushCurrentBranchSafe, readSourceMarker, requireManagedGitPreflight, writeManagedSourceMarker, } from './git/index.js';
10
+ import { configureManagedOrigin, createPlatformSourceApi, detectSourceMode, ensurePendingSourceMarker, inspectGitRepository, ManagedGitError, pushAllLocalRefsAtomic, pushCurrentBranchSafe, readSourceMarker, requireManagedGitPreflight, writeManagedSourceMarker, } from './git/index.js';
11
11
  function platformStatus(status) {
12
12
  return typeof status === 'string' ? null : status;
13
13
  }
14
14
  function pushManagedRepository(options_1, remote_1) {
15
- return __awaiter(this, arguments, void 0, function* (options, remote, requireMainBranch = false) {
15
+ return __awaiter(this, arguments, void 0, function* (options, remote, requireMainBranch = false, upload = 'main') {
16
16
  var _a, _b;
17
17
  const appDir = (_a = options.appDir) !== null && _a !== void 0 ? _a : process.cwd();
18
18
  if (options.push) {
@@ -20,6 +20,7 @@ function pushManagedRepository(options_1, remote_1) {
20
20
  appDir,
21
21
  expectedOriginRemote: remote,
22
22
  requireMainBranch,
23
+ upload,
23
24
  });
24
25
  }
25
26
  const preflight = yield requireManagedGitPreflight({
@@ -28,10 +29,12 @@ function pushManagedRepository(options_1, remote_1) {
28
29
  requireMainBranch,
29
30
  });
30
31
  yield ((_b = options.configureOrigin) !== null && _b !== void 0 ? _b : configureManagedOrigin)(preflight.repo.root, remote, options.appId);
31
- return pushCurrentBranchSafe({
32
+ const push = upload === 'all_refs' ? pushAllLocalRefsAtomic : pushCurrentBranchSafe;
33
+ return push({
32
34
  appDir,
33
35
  expectedOriginRemote: remote,
34
36
  requireMainBranch,
37
+ upload,
35
38
  });
36
39
  });
37
40
  }
@@ -57,7 +60,7 @@ function validateLocalManagedMarker(appDir, appId) {
57
60
  */
58
61
  export function syncManagedAppSource(options) {
59
62
  return __awaiter(this, void 0, void 0, function* () {
60
- var _a, _b, _c;
63
+ var _a, _b, _c, _d;
61
64
  const appDir = (_a = options.appDir) !== null && _a !== void 0 ? _a : process.cwd();
62
65
  const api = (_b = options.api) !== null && _b !== void 0 ? _b : createPlatformSourceApi();
63
66
  const statusResult = yield api.getStatus(options.appId);
@@ -83,15 +86,18 @@ export function syncManagedAppSource(options) {
83
86
  appDir,
84
87
  requireMainBranch: true,
85
88
  });
86
- const pending = ensurePendingSourceMarker(preflight.repo.root);
87
- console.log('Enabling Bkper-managed source and uploading committed main...');
89
+ const upload = (_c = decision.upload) !== null && _c !== void 0 ? _c : 'main';
90
+ const pending = ensurePendingSourceMarker(preflight.repo.root, upload);
91
+ console.log(upload === 'all_refs'
92
+ ? 'Enabling Bkper-managed source and uploading local branches and tags...'
93
+ : 'Enabling Bkper-managed source and uploading committed main...');
88
94
  yield options.syncCore(action);
89
95
  const activation = yield api.activate(options.appId, pending.activationId);
90
96
  if (activation.source.appId !== options.appId) {
91
97
  throw new ManagedGitError('APP_ID_MISMATCH', 'Managed source activation returned a different App ID.');
92
98
  }
93
- yield ((_c = options.configureOrigin) !== null && _c !== void 0 ? _c : configureManagedOrigin)(preflight.repo.root, activation.source.remote, options.appId);
94
- yield pushManagedRepository(options, activation.source.remote, true);
99
+ yield ((_d = options.configureOrigin) !== null && _d !== void 0 ? _d : configureManagedOrigin)(preflight.repo.root, activation.source.remote, options.appId);
100
+ yield pushManagedRepository(options, activation.source.remote, true, pending.upload);
95
101
  writeManagedSourceMarker(preflight.repo.root, options.appId, activation.source.remote);
96
102
  return { id: options.appId, action };
97
103
  }
@@ -147,8 +153,12 @@ export function prepareManagedDeploySource(options) {
147
153
  platformStatus: statusResult,
148
154
  coreAppExists: true,
149
155
  });
150
- if (decision.mode === 'external')
156
+ if (decision.mode === 'external' || decision.mode === 'activate_managed') {
151
157
  return undefined;
158
+ }
159
+ if (decision.reason === 'pending_marker') {
160
+ throw new ManagedGitError('MANAGED_SOURCE_UNAVAILABLE', 'Managed source activation is pending. Run `bkper app sync` to finish uploading source before deploying.');
161
+ }
152
162
  yield validateLocalManagedMarker(appDir, options.appId);
153
163
  if (statusResult.mode !== 'managed') {
154
164
  throw new ManagedGitError('MANAGED_SOURCE_UNAVAILABLE', 'Managed source linkage is not visible yet. Run `bkper app sync` or retry the deployment.');
@@ -1 +1 @@
1
- {"version":3,"file":"source-workflow.js","sourceRoot":"","sources":["../../../src/commands/apps/source-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-workflow.js","sourceRoot":"","sources":["../../../src/commands/apps/source-workflow.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ Build, deploy, and manage Bkper apps using the `bkper` CLI.
11
11
 
12
12
  Bkper selects source mode without changing the local-build deployment model:
13
13
 
14
- - **Managed source:** the first `bkper app sync` activates private Bkper-managed Git only when that same sync creates the Core App, `bkper.yaml` is at the root of a standalone Git repository, the current clean committed branch is `main`, and no Git remote exists. Bkper configures the managed repository as `origin` and pushes the committed source.
15
- - **External source:** an App keeps direct sync/deploy behavior when it has an external Git remote, is nested in a monorepo, is not rooted at `bkper.yaml`, or already existed in Core without a pending activation marker. Existing no-remote Apps are not migrated automatically. The CLI never changes an existing external remote.
14
+ - **Managed source:** `bkper app sync` activates private Bkper-managed Git for a new or existing App when `bkper.yaml` is at the root of a standalone Git repository, the current clean committed branch is `main`, and no Git remote exists. Bkper configures the managed repository as `origin`. New Apps initially upload `main`; existing Apps atomically upload all local branches and tags.
15
+ - **External source:** an App keeps direct sync/deploy behavior when it has an external Git remote, is nested in a monorepo, or is not rooted at `bkper.yaml`. The CLI never changes an existing external remote.
16
16
 
17
- To opt out for a new standalone App, add a GitHub, GitLab, or other provider remote before its first sync. Managed mode is sticky after activation; adding another remote later does not change it, and Artifacts remains `origin`.
17
+ To opt out, keep a GitHub, GitLab, or other provider remote configured. Managed mode is sticky after activation; adding another remote later does not change it, and Artifacts remains `origin`. The App listing `repoUrl` metadata does not select source mode.
18
18
 
19
19
  Source and deployment remain separate. `git push` stores source only and **never deploys**. `bkper app sync` pushes managed source before syncing local metadata. `bkper app deploy` pushes managed source, verifies that the exact commit exists in the linked repository, and then uploads the existing local `dist/server` and optional `dist/client` output. Builds remain local and explicit; Bkper does not claim reproducible remote CI or prove that the local bundle was built from the declared commit. Source linkage is best-effort provenance for already-authorized developers.
20
20
 
@@ -22,6 +22,26 @@ CLI-managed pushes are clean-tree and fast-forward-only. The CLI never commits,
22
22
 
23
23
  Configured App developers, including matches such as `*@example.com`, can read and modify private managed source under the existing owner/developer policy. App users and Book collaborators do not receive source access unless they also satisfy that developer policy. Repository credentials are exact URL/path-scoped, noninteractive, and valid for five minutes; they are never persisted by Bkper.
24
24
 
25
+ ### Migrate from an external Git provider
26
+
27
+ Source changes remain the user or coding agent's responsibility; the CLI never removes or renames provider remotes. Before migration, verify that `main` is clean and committed, the provider has the latest source, and every desired provider-only branch and tag is available locally. A coding agent must show the exact mutating commands and obtain explicit user approval before continuing.
28
+
29
+ Inspect first:
30
+
31
+ ```bash
32
+ git status --short --branch
33
+ git remote -v
34
+ ```
35
+
36
+ After approval, remove every external remote and sync. For a repository whose only external remote is `origin`:
37
+
38
+ ```bash
39
+ git remote remove origin
40
+ bkper app sync
41
+ ```
42
+
43
+ Sync preserves the existing App identity, activates managed source, configures it as `origin`, and atomically uploads all local branches and tags. If that upload fails, the pending marker makes the next `bkper app sync` retry the complete upload. `bkper app deploy` never activates migration.
44
+
25
45
  ## Verification Workflow
26
46
 
27
47
  When scaffolding, developing, or deploying an app, verify each step before proceeding. This prevents broken deployments and silent failures.
@@ -192,7 +212,7 @@ Managed sync and deploy require `bkper.yaml` at the Git root, an attached branch
192
212
 
193
213
  | Failure | Safe recovery |
194
214
  | --- | --- |
195
- | No Git repository | For a new standalone App, run `git init -b main`, review files, commit, and retry. Existing Apps are not migrated merely because they lack a remote. |
215
+ | No Git repository | For a standalone App, run `git init -b main`, review files, commit, and retry. An eligible new or existing App activates managed source on sync when no remote exists. |
196
216
  | `bkper.yaml` below Git root | Keep the monorepo/external workflow; managed monorepos are not supported. |
197
217
  | No commits | Review, then run `git add .` and `git commit -m "Initial app"`. |
198
218
  | Detached `HEAD` | Attach a branch with `git switch -c <branch>`; use `main` for first activation. |
@@ -515,7 +535,7 @@ Inside the interactive agent:
515
535
  - `app clone <appId> [path]` - Clone a Bkper-managed App source repository. Does not install dependencies; run `bun install` explicitly afterward. External-source Apps must be cloned from their provider instead.
516
536
  - `app git-credential <appId> [operation]` - Internal noninteractive Git credential helper for managed Artifacts source. Generated repository config pins the App ID and exact remote URL/path; Git appends `get`, `store`, or `erase`. Never persists tokens.
517
537
  - `app list` - List all apps you have access to
518
- - `app sync` - Sync [bkper.yaml][bkper.yaml reference] configuration. If this sync creates an eligible new standalone App, activate managed source; if already managed, cleanly fast-forward-push the current committed branch first.
538
+ - `app sync` - Sync [bkper.yaml][bkper.yaml reference] configuration. For an eligible standalone repository with no remote, activate managed source for a new or existing App; existing migrations atomically upload all local branches and tags. If already managed, cleanly fast-forward-push the current committed branch first.
519
539
  - `app build` - Build the server Worker bundle for deployment
520
540
  - `app deploy` - For managed Apps, cleanly fast-forward-push and verify the current commit, then explicitly deploy the existing local build. External Apps keep direct upload behavior.
521
541
  - `-p, --preview` - Deploy to preview environment
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkper",
3
- "version": "4.24.3",
3
+ "version": "4.25.0",
4
4
  "description": "Command line client for Bkper",
5
5
  "bin": {
6
6
  "bkper": "./lib/cli.js"