@shipdit/cli 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.mjs +95 -80
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -469,6 +469,9 @@ function A$1(e) {
469
469
  feedback: (e) => O$1(r.me.feedback.$post, e)
470
470
  },
471
471
  project: {
472
+ listTransfers: (e = {}) => O$1(i.project.listTransfers.$post, e),
473
+ requestTransfer: (e) => O$1(i.project.requestTransfer.$post, e),
474
+ decideTransfer: (e) => O$1(i.project.decideTransfer.$post, e),
472
475
  list: (e = {}) => O$1(i.project.list.$post, e),
473
476
  create: (e) => O$1(i.project.create.$post, e),
474
477
  update: (e) => O$1(i.project.update.$post, e),
@@ -495,6 +498,7 @@ function A$1(e) {
495
498
  archive: (e) => O$1(A.flag.archive.$post, e),
496
499
  listArchived: (e) => O$1(A.flag.listArchived.$post, e),
497
500
  restore: (e) => O$1(A.flag.restore.$post, e),
501
+ publishEnvironments: (e) => O$1(A.flag.publishEnvironments.$post, e),
498
502
  updateEnvironment: (e) => O$1(A.flag.updateEnvironment.$post, e),
499
503
  toggleEnvironment: (e) => O$1(A.flag.toggleEnvironment.$post, e),
500
504
  listEnvironmentStates: (e) => O$1(A.flag.listEnvironmentStates.$post, e),
@@ -637,7 +641,7 @@ function A$1(e) {
637
641
  }
638
642
 
639
643
  //#endregion
640
- //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_e02eb0bf6cc57b8ec4097db90c5ddf37/node_modules/@better-auth/core/dist/utils/error-codes.mjs
644
+ //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_0d5083f53bdf976e0320d8b98ec7aa98/node_modules/@better-auth/core/dist/utils/error-codes.mjs
641
645
  function defineErrorCodes(codes) {
642
646
  return Object.fromEntries(Object.entries(codes).map(([key, value]) => [key, {
643
647
  code: key,
@@ -647,7 +651,7 @@ function defineErrorCodes(codes) {
647
651
  }
648
652
 
649
653
  //#endregion
650
- //#region ../../node_modules/.pnpm/better-call@1.4.0_zod@4.6.5/node_modules/better-call/dist/error.mjs
654
+ //#region ../../node_modules/.pnpm/better-call@1.4.0_zod@4.6.7/node_modules/better-call/dist/error.mjs
651
655
  function isErrorStackTraceLimitWritable() {
652
656
  const desc = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit");
653
657
  if (desc === void 0) return Object.isExtensible(Error);
@@ -764,7 +768,7 @@ var InternalAPIError = class extends Error {
764
768
  const APIError = makeErrorForHideStackFrame(InternalAPIError, Error);
765
769
 
766
770
  //#endregion
767
- //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_e02eb0bf6cc57b8ec4097db90c5ddf37/node_modules/@better-auth/core/dist/error/index.mjs
771
+ //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_0d5083f53bdf976e0320d8b98ec7aa98/node_modules/@better-auth/core/dist/error/index.mjs
768
772
  var BetterAuthError = class extends Error {
769
773
  constructor(message, options) {
770
774
  super(message, options);
@@ -775,7 +779,7 @@ var BetterAuthError = class extends Error {
775
779
  };
776
780
 
777
781
  //#endregion
778
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/access/access.mjs
782
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/access/access.mjs
779
783
  function unknownResourceResponse(requestedResource) {
780
784
  return {
781
785
  success: false,
@@ -852,7 +856,7 @@ function createAccessControl(s) {
852
856
  }
853
857
 
854
858
  //#endregion
855
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/two-factor/error-code.mjs
859
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/two-factor/error-code.mjs
856
860
  const TWO_FACTOR_ERROR_CODES = defineErrorCodes({
857
861
  OTP_NOT_ENABLED: "OTP not enabled",
858
862
  OTP_NOT_CONFIGURED: "OTP is not available",
@@ -870,15 +874,15 @@ const TWO_FACTOR_ERROR_CODES = defineErrorCodes({
870
874
  });
871
875
 
872
876
  //#endregion
873
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/package.mjs
877
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/package.mjs
874
878
  var version = "1.7.7";
875
879
 
876
880
  //#endregion
877
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/version.mjs
881
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/version.mjs
878
882
  const PACKAGE_VERSION$3 = version;
879
883
 
880
884
  //#endregion
881
- //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_e02eb0bf6cc57b8ec4097db90c5ddf37/node_modules/@better-auth/core/dist/utils/url.mjs
885
+ //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_0d5083f53bdf976e0320d8b98ec7aa98/node_modules/@better-auth/core/dist/utils/url.mjs
882
886
  /**
883
887
  * Schemes that execute or embed code when navigated to or accepted as a
884
888
  * redirect target. These are never safe as an OAuth `redirect_uri` or as a
@@ -910,7 +914,7 @@ function isSafeUrlScheme(value) {
910
914
  }
911
915
 
912
916
  //#endregion
913
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/two-factor/client.mjs
917
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/two-factor/client.mjs
914
918
  const twoFactorClient = (options) => {
915
919
  return {
916
920
  id: "two-factor",
@@ -948,7 +952,7 @@ const twoFactorClient = (options) => {
948
952
  };
949
953
 
950
954
  //#endregion
951
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/admin/access/statement.mjs
955
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/admin/access/statement.mjs
952
956
  const defaultStatements$1 = {
953
957
  user: [
954
958
  "create",
@@ -999,7 +1003,7 @@ const defaultRoles$1 = {
999
1003
  };
1000
1004
 
1001
1005
  //#endregion
1002
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/admin/error-codes.mjs
1006
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/admin/error-codes.mjs
1003
1007
  const ADMIN_ERROR_CODES = defineErrorCodes({
1004
1008
  FAILED_TO_CREATE_USER: "Failed to create user",
1005
1009
  USER_ALREADY_EXISTS: "User already exists.",
@@ -1027,7 +1031,7 @@ const ADMIN_ERROR_CODES = defineErrorCodes({
1027
1031
  });
1028
1032
 
1029
1033
  //#endregion
1030
- //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_e02eb0bf6cc57b8ec4097db90c5ddf37/node_modules/@better-auth/core/dist/env/env-impl.mjs
1034
+ //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_0d5083f53bdf976e0320d8b98ec7aa98/node_modules/@better-auth/core/dist/env/env-impl.mjs
1031
1035
  const _envShim = Object.create(null);
1032
1036
  const _getEnv = (useShim) => globalThis.process?.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (useShim ? _envShim : globalThis);
1033
1037
  const env = new Proxy(_envShim, {
@@ -1091,7 +1095,7 @@ const ENV = Object.freeze({
1091
1095
  });
1092
1096
 
1093
1097
  //#endregion
1094
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/utils/url.mjs
1098
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/utils/url.mjs
1095
1099
  const SLASH_CHAR_CODE = "/".charCodeAt(0);
1096
1100
  function trimTrailingSlashes(value) {
1097
1101
  let end = value.length;
@@ -1170,7 +1174,7 @@ function getOrigin(url) {
1170
1174
  }
1171
1175
 
1172
1176
  //#endregion
1173
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/admin/has-permission.mjs
1177
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/admin/has-permission.mjs
1174
1178
  const hasPermission = (input) => {
1175
1179
  if (input.userId && input.options?.adminUserIds?.includes(input.userId)) return true;
1176
1180
  if (!input.permissions) return false;
@@ -1772,7 +1776,7 @@ const createFetch = (config) => {
1772
1776
  };
1773
1777
 
1774
1778
  //#endregion
1775
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/parser.mjs
1779
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/parser.mjs
1776
1780
  const PROTO_POLLUTION_PATTERNS = {
1777
1781
  proto: /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,
1778
1782
  constructor: /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,
@@ -1842,7 +1846,7 @@ function parseJSON(value, options = { strict: true }) {
1842
1846
  }
1843
1847
 
1844
1848
  //#endregion
1845
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/organization/access/statement.mjs
1849
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/organization/access/statement.mjs
1846
1850
  const defaultStatements = {
1847
1851
  organization: ["update", "delete"],
1848
1852
  member: [
@@ -1918,7 +1922,7 @@ const defaultRoles = {
1918
1922
  };
1919
1923
 
1920
1924
  //#endregion
1921
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/organization/permission.mjs
1925
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/organization/permission.mjs
1922
1926
  const hasPermissionFn = (input, acRoles) => {
1923
1927
  if (!input.permissions) return false;
1924
1928
  const roles = input.role.split(",");
@@ -1931,7 +1935,7 @@ const hasPermissionFn = (input, acRoles) => {
1931
1935
  };
1932
1936
 
1933
1937
  //#endregion
1934
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/organization/error-codes.mjs
1938
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/organization/error-codes.mjs
1935
1939
  const ORGANIZATION_ERROR_CODES = defineErrorCodes({
1936
1940
  YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION: "You are not allowed to create a new organization",
1937
1941
  YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS: "You have reached the maximum number of organizations",
@@ -2269,7 +2273,7 @@ const n$1 = {
2269
2273
  };
2270
2274
 
2271
2275
  //#endregion
2272
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/broadcast-channel.mjs
2276
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/broadcast-channel.mjs
2273
2277
  const kBroadcastChannel = Symbol.for("better-auth:broadcast-channel");
2274
2278
  const now$1 = () => Math.floor(Date.now() / 1e3);
2275
2279
  var WindowBroadcastChannel = class {
@@ -2493,7 +2497,7 @@ let onMount = ($store, initialize) => {
2493
2497
  };
2494
2498
 
2495
2499
  //#endregion
2496
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/equality.mjs
2500
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/equality.mjs
2497
2501
  function isPlainObject(value) {
2498
2502
  if (typeof value !== "object" || value === null) return false;
2499
2503
  const prototype = Object.getPrototypeOf(value);
@@ -2534,7 +2538,7 @@ function withEquality(store, isEqual) {
2534
2538
  }
2535
2539
 
2536
2540
  //#endregion
2537
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/focus-manager.mjs
2541
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/focus-manager.mjs
2538
2542
  const kFocusManager = Symbol.for("better-auth:focus-manager");
2539
2543
  var WindowFocusManager = class {
2540
2544
  listeners = /* @__PURE__ */ new Set();
@@ -2564,7 +2568,7 @@ function getGlobalFocusManager() {
2564
2568
  }
2565
2569
 
2566
2570
  //#endregion
2567
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/online-manager.mjs
2571
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/online-manager.mjs
2568
2572
  const kOnlineManager = Symbol.for("better-auth:online-manager");
2569
2573
  var WindowOnlineManager = class {
2570
2574
  listeners = /* @__PURE__ */ new Set();
@@ -2597,7 +2601,7 @@ function getGlobalOnlineManager() {
2597
2601
  }
2598
2602
 
2599
2603
  //#endregion
2600
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/query-atom.mjs
2604
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/query-atom.mjs
2601
2605
  const kAuthQuery = Symbol.for("better-auth:auth-query");
2602
2606
  function createAuthQueryAtom(initialValue) {
2603
2607
  const queryAtom = /* @__PURE__ */ atom(initialValue);
@@ -2606,7 +2610,7 @@ function createAuthQueryAtom(initialValue) {
2606
2610
  }
2607
2611
 
2608
2612
  //#endregion
2609
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/query.mjs
2613
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/query.mjs
2610
2614
  const isServer$1 = () => typeof window === "undefined";
2611
2615
  function isAuthQueryStateEqual(a, b) {
2612
2616
  return isJsonEqual(a.data, b.data) && a.error === b.error && a.isPending === b.isPending && a.isRefetching === b.isRefetching && a.refetch === b.refetch;
@@ -2737,7 +2741,7 @@ const useAuthQuery = (initializedAtom, path, $fetch, options) => {
2737
2741
  };
2738
2742
 
2739
2743
  //#endregion
2740
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/session-refresh.mjs
2744
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/session-refresh.mjs
2741
2745
  const now = () => Math.floor(Date.now() / 1e3);
2742
2746
  /**
2743
2747
  * Rate limit: don't refetch on focus if a session request was made within this many seconds
@@ -2865,7 +2869,7 @@ function createSessionRefreshManager(opts) {
2865
2869
  }
2866
2870
 
2867
2871
  //#endregion
2868
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/fetch-plugins.mjs
2872
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/fetch-plugins.mjs
2869
2873
  const redirectPlugin = {
2870
2874
  id: "redirect",
2871
2875
  name: "Redirect",
@@ -2881,7 +2885,7 @@ const redirectPlugin = {
2881
2885
  };
2882
2886
 
2883
2887
  //#endregion
2884
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/session-atom.mjs
2888
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/session-atom.mjs
2885
2889
  const isServer = () => typeof window === "undefined";
2886
2890
  const SESSION_MOUNT_DEDUPE_INTERVAL = STORE_UNMOUNT_DELAY;
2887
2891
  function hydrateSessionAtom(sessionAtom, session) {
@@ -3056,7 +3060,7 @@ function getSessionAtom($fetch, options) {
3056
3060
  }
3057
3061
 
3058
3062
  //#endregion
3059
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/config.mjs
3063
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/config.mjs
3060
3064
  const resolvePublicAuthUrl = (basePath) => {
3061
3065
  if (typeof process === "undefined") return void 0;
3062
3066
  const path = basePath ?? "/api/auth";
@@ -3162,13 +3166,13 @@ const getClientConfig = (options, loadEnv) => {
3162
3166
  };
3163
3167
 
3164
3168
  //#endregion
3165
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/utils/is-atom.mjs
3169
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/utils/is-atom.mjs
3166
3170
  function isAtom(value) {
3167
3171
  return typeof value === "object" && value !== null && "get" in value && typeof value.get === "function" && "lc" in value && typeof value.lc === "number";
3168
3172
  }
3169
3173
 
3170
3174
  //#endregion
3171
- //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_e02eb0bf6cc57b8ec4097db90c5ddf37/node_modules/@better-auth/core/dist/utils/string.mjs
3175
+ //#region ../../node_modules/.pnpm/@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fetch+fetch@1.3.2_@opentelemet_0d5083f53bdf976e0320d8b98ec7aa98/node_modules/@better-auth/core/dist/utils/string.mjs
3172
3176
  function capitalizeFirstLetter(str) {
3173
3177
  return str.charAt(0).toUpperCase() + str.slice(1);
3174
3178
  }
@@ -3182,7 +3186,7 @@ function toKebabCase(input) {
3182
3186
  }
3183
3187
 
3184
3188
  //#endregion
3185
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/proxy.mjs
3189
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/proxy.mjs
3186
3190
  function getMethod(path, knownPathMethods, args) {
3187
3191
  const method = knownPathMethods[path];
3188
3192
  const { fetchOptions, query: _query, ...body } = args || {};
@@ -3258,7 +3262,7 @@ function createDynamicPathProxy(routes, client, knownPathMethods, atoms, atomLis
3258
3262
  }
3259
3263
 
3260
3264
  //#endregion
3261
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/client/vanilla.mjs
3265
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/client/vanilla.mjs
3262
3266
  function createAuthClient(options) {
3263
3267
  const { pluginPathMethods, pluginsActions, pluginsAtoms, hydrateSession, $fetch, atomListeners, $store } = getClientConfig(options);
3264
3268
  const resolvedHooks = {};
@@ -3273,7 +3277,7 @@ function createAuthClient(options) {
3273
3277
  }
3274
3278
 
3275
3279
  //#endregion
3276
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/additional-fields/client.mjs
3280
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/additional-fields/client.mjs
3277
3281
  const inferAdditionalFields = (schema) => {
3278
3282
  return {
3279
3283
  id: "additional-fields-client",
@@ -3283,7 +3287,7 @@ const inferAdditionalFields = (schema) => {
3283
3287
  };
3284
3288
 
3285
3289
  //#endregion
3286
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/admin/client.mjs
3290
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/admin/client.mjs
3287
3291
  const adminClient = (options) => {
3288
3292
  const roles = {
3289
3293
  admin: adminAc$1,
@@ -3318,7 +3322,7 @@ const adminClient = (options) => {
3318
3322
  };
3319
3323
 
3320
3324
  //#endregion
3321
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/device-authorization/client.mjs
3325
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/device-authorization/client.mjs
3322
3326
  const deviceAuthorizationClient = () => {
3323
3327
  return {
3324
3328
  id: "device-authorization",
@@ -3335,7 +3339,7 @@ const deviceAuthorizationClient = () => {
3335
3339
  };
3336
3340
 
3337
3341
  //#endregion
3338
- //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._025f420fe344f13948728b361b367060/node_modules/better-auth/dist/plugins/organization/client.mjs
3342
+ //#region ../../node_modules/.pnpm/better-auth@1.7.7_@opentelemetry+api@1.9.1_drizzle-kit@1.0.0-rc.4_drizzle-orm@1.0.0-rc._7c90dee8a2acd893f91862de908c6808/node_modules/better-auth/dist/plugins/organization/client.mjs
3339
3343
  /**
3340
3344
  * Using the same `hasPermissionFn` function, but without the need for a `ctx` parameter or the `organizationId` parameter.
3341
3345
  */
@@ -3430,7 +3434,7 @@ const organizationClient = (options) => {
3430
3434
  };
3431
3435
 
3432
3436
  //#endregion
3433
- //#region ../../node_modules/.pnpm/@better-auth+api-key@1.7.7_@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fet_1231755eab9fee363c80bc8eefaed94a/node_modules/@better-auth/api-key/dist/version-CUtTQbZf.mjs
3437
+ //#region ../../node_modules/.pnpm/@better-auth+api-key@1.7.7_@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fet_3f872e6aea52bc61f9c5dfb40b2109fb/node_modules/@better-auth/api-key/dist/version-CUtTQbZf.mjs
3434
3438
  const API_KEY_ERROR_CODES = defineErrorCodes({
3435
3439
  INVALID_METADATA_TYPE: "metadata must be an object or undefined",
3436
3440
  REFILL_AMOUNT_AND_INTERVAL_REQUIRED: "refillAmount is required when refillInterval is provided",
@@ -3467,7 +3471,7 @@ const API_KEY_ERROR_CODES = defineErrorCodes({
3467
3471
  const PACKAGE_VERSION$2 = "1.7.7";
3468
3472
 
3469
3473
  //#endregion
3470
- //#region ../../node_modules/.pnpm/@better-auth+api-key@1.7.7_@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fet_1231755eab9fee363c80bc8eefaed94a/node_modules/@better-auth/api-key/dist/client.mjs
3474
+ //#region ../../node_modules/.pnpm/@better-auth+api-key@1.7.7_@better-auth+core@1.7.7_@better-auth+utils@0.4.2_@better-fet_3f872e6aea52bc61f9c5dfb40b2109fb/node_modules/@better-auth/api-key/dist/client.mjs
3471
3475
  const apiKeyClient = () => {
3472
3476
  return {
3473
3477
  id: "api-key",
@@ -3483,7 +3487,7 @@ const apiKeyClient = () => {
3483
3487
  };
3484
3488
 
3485
3489
  //#endregion
3486
- //#region ../../node_modules/.pnpm/@better-auth+passkey@1.7.7_8a2847836f4e26061e61f8849e215b9d/node_modules/@better-auth/passkey/dist/version-Bx477_EO.mjs
3490
+ //#region ../../node_modules/.pnpm/@better-auth+passkey@1.7.7_59c4b159f325028b6aeb6ca5fe859369/node_modules/@better-auth/passkey/dist/version-Bx477_EO.mjs
3487
3491
  const PASSKEY_ERROR_CODES = defineErrorCodes({
3488
3492
  CHALLENGE_NOT_FOUND: "Challenge not found",
3489
3493
  YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY: "You are not allowed to register this passkey",
@@ -3973,7 +3977,7 @@ async function startAuthentication(options) {
3973
3977
  }
3974
3978
 
3975
3979
  //#endregion
3976
- //#region ../../node_modules/.pnpm/@better-auth+passkey@1.7.7_8a2847836f4e26061e61f8849e215b9d/node_modules/@better-auth/passkey/dist/client.mjs
3980
+ //#region ../../node_modules/.pnpm/@better-auth+passkey@1.7.7_59c4b159f325028b6aeb6ca5fe859369/node_modules/@better-auth/passkey/dist/client.mjs
3977
3981
  const getPasskeyActions = ($fetch, { $listPasskeys, $store }) => {
3978
3982
  const signInPasskey = async (opts, options) => {
3979
3983
  const response = await $fetch("/passkey/generate-authenticate-options", {
@@ -4175,11 +4179,11 @@ const passkeyClient = () => {
4175
4179
  };
4176
4180
 
4177
4181
  //#endregion
4178
- //#region ../../node_modules/.pnpm/@better-auth+sso@1.7.7_9007e608a51715e1e8e182bfada736ab/node_modules/@better-auth/sso/dist/version-DFla2W8i.mjs
4182
+ //#region ../../node_modules/.pnpm/@better-auth+sso@1.7.7_f840261b078ff9b2a25d6de6ccbfccc0/node_modules/@better-auth/sso/dist/version-DFla2W8i.mjs
4179
4183
  const PACKAGE_VERSION = "1.7.7";
4180
4184
 
4181
4185
  //#endregion
4182
- //#region ../../node_modules/.pnpm/@better-auth+sso@1.7.7_9007e608a51715e1e8e182bfada736ab/node_modules/@better-auth/sso/dist/client.mjs
4186
+ //#region ../../node_modules/.pnpm/@better-auth+sso@1.7.7_f840261b078ff9b2a25d6de6ccbfccc0/node_modules/@better-auth/sso/dist/client.mjs
4183
4187
  const ssoClient = (options) => {
4184
4188
  return {
4185
4189
  id: "sso-client",
@@ -4652,18 +4656,25 @@ const k = z.object({
4652
4656
  fallthrough: u.optional()
4653
4657
  });
4654
4658
  const A = z.object({
4659
+ flagId: z.string().min(1),
4660
+ environments: z.array(z.object({
4661
+ environmentId: z.string().min(1),
4662
+ expectedVersion: z.number().int().positive()
4663
+ })).min(1).refine((e) => new Set(e.map((e) => e.environmentId)).size === e.length, `Duplicate environments`)
4664
+ });
4665
+ const j = z.object({
4655
4666
  expectedVersion: z.number().int().positive().optional(),
4656
4667
  flagId: z.string().min(1),
4657
4668
  environmentId: z.string().min(1),
4658
4669
  enabled: z.boolean()
4659
4670
  });
4660
- const j = z.object({ flagId: z.string().min(1) });
4661
- const M = z.enum([`active`, `deprecated`]);
4662
- function N(e) {
4671
+ const M = z.object({ flagId: z.string().min(1) });
4672
+ const N = z.enum([`active`, `deprecated`]);
4673
+ function P(e) {
4663
4674
  let t = Object.getPrototypeOf(e);
4664
4675
  return t === Object.prototype || t === null;
4665
4676
  }
4666
- function P(e, t) {
4677
+ function F(e, t) {
4667
4678
  if (e === null) return !0;
4668
4679
  switch (typeof e) {
4669
4680
  case `boolean`:
@@ -4671,13 +4682,13 @@ function P(e, t) {
4671
4682
  case `number`: return Number.isFinite(e);
4672
4683
  case `object`: {
4673
4684
  let n = t ?? /* @__PURE__ */ new WeakSet();
4674
- return !n.has(e) && (n.add(e), Array.isArray(e) ? e.every((e) => P(e, n)) : !N(e) || Object.getOwnPropertySymbols(e).length > 0 ? !1 : Object.keys(e).every((t) => P(e[t], n)));
4685
+ return !n.has(e) && (n.add(e), Array.isArray(e) ? e.every((e) => F(e, n)) : !P(e) || Object.getOwnPropertySymbols(e).length > 0 ? !1 : Object.keys(e).every((t) => F(e[t], n)));
4675
4686
  }
4676
4687
  default: return !1;
4677
4688
  }
4678
4689
  }
4679
- const F = z.custom(P, { message: `default must be JSON-serializable` });
4680
- function I(e, t) {
4690
+ const I = z.custom(F, { message: `default must be JSON-serializable` });
4691
+ function L(e, t) {
4681
4692
  switch (e.type) {
4682
4693
  case `boolean`:
4683
4694
  typeof e.default != `boolean` && t.addIssue({
@@ -4706,43 +4717,43 @@ function I(e, t) {
4706
4717
  });
4707
4718
  break;
4708
4719
  }
4709
- case `json`: F.safeParse(e.default).success || t.addIssue({
4720
+ case `json`: I.safeParse(e.default).success || t.addIssue({
4710
4721
  code: `custom`,
4711
4722
  path: [`default`],
4712
4723
  message: `json flag default must be JSON-serializable`
4713
4724
  });
4714
4725
  }
4715
4726
  }
4716
- const L = z.object({
4727
+ const R = z.object({
4717
4728
  key: o,
4718
4729
  type: t,
4719
4730
  default: z.unknown(),
4720
4731
  description: z.string().optional(),
4721
4732
  tags: z.array(z.string()).default([]),
4722
- lifecycle: M.default(`active`),
4733
+ lifecycle: N.default(`active`),
4723
4734
  variants: z.array(z.string()).optional(),
4724
4735
  disabled: z.boolean().optional()
4725
4736
  });
4726
- const R = L.superRefine(I);
4727
- const z$1 = L.extend({
4737
+ const z$1 = R.superRefine(L);
4738
+ const B = R.extend({
4728
4739
  version: z.number().int().positive(),
4729
4740
  environmentVersion: z.number().int().positive().optional(),
4730
4741
  managedBy: n
4731
- }).superRefine(I);
4732
- const B = z.object({
4742
+ }).superRefine(L);
4743
+ const V = z.object({
4733
4744
  version: z.number().int().positive(),
4734
4745
  environmentVersion: z.number().int().positive().optional()
4735
4746
  });
4736
- const V = z.object({
4747
+ const H = z.object({
4737
4748
  projectId: z.string().min(1),
4738
4749
  environmentId: z.string().min(1)
4739
4750
  });
4740
- const H = z.object({
4751
+ const U = z.object({
4741
4752
  projectId: z.string(),
4742
4753
  environmentId: z.string(),
4743
- flags: z.array(z$1)
4754
+ flags: z.array(B)
4744
4755
  });
4745
- function U(e, t) {
4756
+ function W(e, t) {
4746
4757
  let n = /* @__PURE__ */ new Set();
4747
4758
  for (let [r, i] of e.entries()) n.has(i.key) && t.addIssue({
4748
4759
  code: `custom`,
@@ -4754,12 +4765,12 @@ function U(e, t) {
4754
4765
  message: `duplicate flag key "${i.key}"`
4755
4766
  }), n.add(i.key);
4756
4767
  }
4757
- const W = z.object({
4768
+ const G = z.object({
4758
4769
  projectId: z.string().min(1),
4759
4770
  environmentId: z.string().min(1),
4760
- flags: z.array(R).max(500)
4761
- }).superRefine((e, t) => U(e.flags, t));
4762
- const G = z.object({
4771
+ flags: z.array(z$1).max(500)
4772
+ }).superRefine((e, t) => W(e.flags, t));
4773
+ const K = z.object({
4763
4774
  key: z.string(),
4764
4775
  op: z.enum([
4765
4776
  `add`,
@@ -4767,35 +4778,36 @@ const G = z.object({
4767
4778
  `remove`,
4768
4779
  `unlinked`
4769
4780
  ]),
4770
- before: z$1.optional(),
4771
- after: R.optional(),
4781
+ before: B.optional(),
4782
+ after: z$1.optional(),
4772
4783
  message: z.string().optional()
4773
4784
  });
4774
- const K = z.object({
4785
+ const q = z.object({
4775
4786
  projectId: z.string(),
4776
4787
  environmentId: z.string(),
4777
- changes: z.array(G),
4778
- remoteOnly: z.array(z$1).default([])
4788
+ changes: z.array(K),
4789
+ remoteOnly: z.array(B).default([])
4779
4790
  });
4780
- const q = z.object({
4791
+ const J = z.object({
4781
4792
  projectId: z.string().min(1),
4782
4793
  environmentId: z.string().min(1),
4783
- flags: z.array(R).max(500),
4794
+ flags: z.array(z$1).max(500),
4784
4795
  apply: z.boolean().default(!1),
4785
4796
  prune: z.boolean().default(!1),
4786
4797
  force: z.boolean().default(!1),
4787
4798
  adopt: z.boolean().default(!1),
4788
- expectedVersions: z.record(z.string(), B).optional()
4789
- }).superRefine((e, t) => U(e.flags, t));
4790
- const J = z.object({
4799
+ expectedVersions: z.record(z.string(), V).optional()
4800
+ }).superRefine((e, t) => W(e.flags, t));
4801
+ const Y = z.object({
4791
4802
  projectId: z.string(),
4792
4803
  environmentId: z.string(),
4793
4804
  applied: z.boolean(),
4794
- changes: z.array(G),
4795
- remoteOnly: z.array(z$1).default([]),
4805
+ changes: z.array(K),
4806
+ remoteOnly: z.array(B).default([]),
4796
4807
  forced: z.boolean().default(!1),
4797
4808
  adopted: z.boolean().default(!1),
4798
- approvalRequests: z.array(z.string()).default([])
4809
+ approvalRequests: z.array(z.string()).default([]),
4810
+ drafts: z.array(z.string()).default([])
4799
4811
  });
4800
4812
 
4801
4813
  //#endregion
@@ -4982,7 +4994,7 @@ var Config = config.ShipdConfig${entries.length ? `{\n${entries.join("\n")}\n}`
4982
4994
 
4983
4995
  //#endregion
4984
4996
  //#region src/lib/local-config.ts
4985
- const localFlagsArraySchema = z.array(R).superRefine((flags, ctx) => {
4997
+ const localFlagsArraySchema = z.array(z$1).superRefine((flags, ctx) => {
4986
4998
  const seen = /* @__PURE__ */ new Set();
4987
4999
  for (const [index, flag] of flags.entries()) {
4988
5000
  if (seen.has(flag.key)) ctx.addIssue({
@@ -5564,16 +5576,19 @@ function registerPushCommand(program) {
5564
5576
  const appliedPlan = buildSyncPlan(applied.changes);
5565
5577
  const types = writeTypegen(preparedTypes);
5566
5578
  const approvalRequests = applied.approvalRequests ?? [];
5579
+ const drafts = applied.drafts ?? [];
5567
5580
  printResult(runtime, {
5568
5581
  plan: appliedPlan,
5569
5582
  remoteOnly,
5570
5583
  forced: applied.forced === true,
5571
5584
  approvalRequests,
5572
- outcome: approvalRequests.length > 0 ? "pending_approval" : "applied",
5585
+ drafts,
5586
+ outcome: approvalRequests.length > 0 ? "pending_approval" : drafts.length > 0 ? "draft" : "applied",
5573
5587
  types
5574
5588
  }, [
5575
- applied.changes.length > 0 ? `Applied ${applied.changes.length} change(s).` : null,
5589
+ applied.changes.length > 0 ? `Saved ${applied.changes.length} change(s).` : null,
5576
5590
  approvalRequests.length > 0 ? `${approvalRequests.length} environment change(s) queued for approval.` : null,
5591
+ drafts.length > 0 ? `${drafts.length} targeting draft(s) ready to publish from the dashboard environment plan.` : null,
5577
5592
  applied.forced ? "Forced through version conflicts (audited)." : null,
5578
5593
  `Wrote types for ${types.flagCount} flag(s) to ${types.written}`
5579
5594
  ].filter(Boolean).join("\n"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipdit/cli",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "shipd's command-line interface",
5
5
  "homepage": "https://docs.useshipd.com",
6
6
  "bugs": {
@@ -19,7 +19,7 @@
19
19
  "commander": "^15.0.0",
20
20
  "jiti": "^2.5.1",
21
21
  "shipdit": "0.4.0",
22
- "zod": "^4.6.5"
22
+ "zod": "^4.6.7"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@shipd/api-client": "0.0.1",