appwrite-cli 14.0.1 → 15.0.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.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,11 @@
1
1
  # Change Log
2
2
 
3
- ## 14.0.1
3
+ ## 15.0.0
4
4
 
5
- * Fixed `push tables` not passing `encrypt` parameter for varchar, text, mediumtext, and longtext string types
6
- * Fixed NVM installation path not being detected by `update` command
7
- * Updated `tar` dependency to v7.4.3
5
+ * Breaking: Separated `specification` with `buildSpecification` and `runtimeSpecification`; added `deploymentRetention` to both functions and sites
6
+ * Added `startCommand` option for sites
7
+ * Updated `init sites` prompts to select `buildSpecification` and `runtimeSpecification`
8
+ * Improved unauthorized error messages
8
9
 
9
10
  ## 14.0.0
10
11
 
package/README.md CHANGED
@@ -29,7 +29,7 @@ Once the installation is complete, you can verify the install using
29
29
 
30
30
  ```sh
31
31
  $ appwrite -v
32
- 14.0.1
32
+ 15.0.0
33
33
  ```
34
34
 
35
35
  ### Install using prebuilt binaries
@@ -60,7 +60,7 @@ $ scoop install https://raw.githubusercontent.com/appwrite/sdk-for-cli/master/sc
60
60
  Once the installation completes, you can verify your install using
61
61
  ```
62
62
  $ appwrite -v
63
- 14.0.1
63
+ 15.0.0
64
64
  ```
65
65
 
66
66
  ## Getting Started
@@ -85465,7 +85465,7 @@ var package_default = {
85465
85465
  type: "module",
85466
85466
  homepage: "https://appwrite.io/support",
85467
85467
  description: "Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API",
85468
- version: "14.0.1",
85468
+ version: "15.0.0",
85469
85469
  license: "BSD-3-Clause",
85470
85470
  main: "dist/index.cjs",
85471
85471
  module: "dist/index.js",
@@ -85509,7 +85509,7 @@ var package_default = {
85509
85509
  "windows-arm64": "esbuild cli.ts --bundle --loader:.hbs=text --platform=node --target=node18 --format=esm --external:fsevents --outfile=dist/bundle-win-arm64.mjs && pkg dist/bundle-win-arm64.mjs -t node18-win-arm64 -o build/appwrite-cli-win-arm64.exe"
85510
85510
  },
85511
85511
  dependencies: {
85512
- "@appwrite.io/console": "^4.0.0",
85512
+ "@appwrite.io/console": "^5.0.0",
85513
85513
  chalk: "4.1.2",
85514
85514
  chokidar: "^3.6.0",
85515
85515
  "cli-progress": "^3.12.0",
@@ -99540,7 +99540,10 @@ var SiteSchema = external_exports.object({
99540
99540
  buildCommand: external_exports.string().optional(),
99541
99541
  outputDirectory: external_exports.string().optional(),
99542
99542
  fallbackFile: external_exports.string().optional(),
99543
- specification: external_exports.string().optional(),
99543
+ buildSpecification: external_exports.string().optional(),
99544
+ runtimeSpecification: external_exports.string().optional(),
99545
+ deploymentRetention: external_exports.number().optional(),
99546
+ startCommand: external_exports.string().optional(),
99544
99547
  vars: external_exports.record(external_exports.string(), external_exports.string()).optional(),
99545
99548
  ignore: external_exports.string().optional()
99546
99549
  }).strict();
@@ -99552,7 +99555,9 @@ var FunctionSchema = external_exports.object({
99552
99555
  enabled: external_exports.boolean().optional(),
99553
99556
  logging: external_exports.boolean().optional(),
99554
99557
  runtime: external_exports.string(),
99555
- specification: external_exports.string().optional(),
99558
+ buildSpecification: external_exports.string().optional(),
99559
+ runtimeSpecification: external_exports.string().optional(),
99560
+ deploymentRetention: external_exports.number().optional(),
99556
99561
  scopes: external_exports.array(external_exports.string()).optional(),
99557
99562
  events: external_exports.array(external_exports.string()).optional(),
99558
99563
  schedule: external_exports.string().optional(),
@@ -99748,7 +99753,7 @@ import childProcess from "child_process";
99748
99753
  // lib/constants.ts
99749
99754
  var SDK_TITLE = "Appwrite";
99750
99755
  var SDK_TITLE_LOWER = "appwrite";
99751
- var SDK_VERSION = "14.0.1";
99756
+ var SDK_VERSION = "15.0.0";
99752
99757
  var SDK_NAME = "Command Line";
99753
99758
  var SDK_PLATFORM = "console";
99754
99759
  var SDK_LANGUAGE = "cli";
@@ -100787,7 +100792,7 @@ var Client = class _Client {
100787
100792
  "x-sdk-name": "Console",
100788
100793
  "x-sdk-platform": "console",
100789
100794
  "x-sdk-language": "web",
100790
- "x-sdk-version": "4.0.0",
100795
+ "x-sdk-version": "5.0.0",
100791
100796
  "X-Appwrite-Response-Format": "1.8.0"
100792
100797
  };
100793
100798
  this.realtime = {
@@ -101312,6 +101317,9 @@ var Client = class _Client {
101312
101317
  window.console.warn("Appwrite is using localStorage for session management. Increase your security by adding a custom domain as your API endpoint.");
101313
101318
  window.localStorage.setItem("cookieFallback", cookieFallback);
101314
101319
  }
101320
+ if (data && typeof data === "object") {
101321
+ data.toString = () => JSONbig.stringify(data);
101322
+ }
101315
101323
  return data;
101316
101324
  });
101317
101325
  }
@@ -107338,7 +107346,9 @@ var Functions = class {
107338
107346
  providerBranch: rest[13],
107339
107347
  providerSilentMode: rest[14],
107340
107348
  providerRootDirectory: rest[15],
107341
- specification: rest[16]
107349
+ buildSpecification: rest[16],
107350
+ runtimeSpecification: rest[17],
107351
+ deploymentRetention: rest[18]
107342
107352
  };
107343
107353
  }
107344
107354
  const functionId = params.functionId;
@@ -107358,7 +107368,9 @@ var Functions = class {
107358
107368
  const providerBranch = params.providerBranch;
107359
107369
  const providerSilentMode = params.providerSilentMode;
107360
107370
  const providerRootDirectory = params.providerRootDirectory;
107361
- const specification = params.specification;
107371
+ const buildSpecification = params.buildSpecification;
107372
+ const runtimeSpecification = params.runtimeSpecification;
107373
+ const deploymentRetention = params.deploymentRetention;
107362
107374
  if (typeof functionId === "undefined") {
107363
107375
  throw new AppwriteException('Missing required parameter: "functionId"');
107364
107376
  }
@@ -107421,8 +107433,14 @@ var Functions = class {
107421
107433
  if (typeof providerRootDirectory !== "undefined") {
107422
107434
  payload["providerRootDirectory"] = providerRootDirectory;
107423
107435
  }
107424
- if (typeof specification !== "undefined") {
107425
- payload["specification"] = specification;
107436
+ if (typeof buildSpecification !== "undefined") {
107437
+ payload["buildSpecification"] = buildSpecification;
107438
+ }
107439
+ if (typeof runtimeSpecification !== "undefined") {
107440
+ payload["runtimeSpecification"] = runtimeSpecification;
107441
+ }
107442
+ if (typeof deploymentRetention !== "undefined") {
107443
+ payload["deploymentRetention"] = deploymentRetention;
107426
107444
  }
107427
107445
  const uri = new URL(this.client.config.endpoint + apiPath);
107428
107446
  const apiHeaders = {
@@ -107575,7 +107593,9 @@ var Functions = class {
107575
107593
  providerBranch: rest[13],
107576
107594
  providerSilentMode: rest[14],
107577
107595
  providerRootDirectory: rest[15],
107578
- specification: rest[16]
107596
+ buildSpecification: rest[16],
107597
+ runtimeSpecification: rest[17],
107598
+ deploymentRetention: rest[18]
107579
107599
  };
107580
107600
  }
107581
107601
  const functionId = params.functionId;
@@ -107595,7 +107615,9 @@ var Functions = class {
107595
107615
  const providerBranch = params.providerBranch;
107596
107616
  const providerSilentMode = params.providerSilentMode;
107597
107617
  const providerRootDirectory = params.providerRootDirectory;
107598
- const specification = params.specification;
107618
+ const buildSpecification = params.buildSpecification;
107619
+ const runtimeSpecification = params.runtimeSpecification;
107620
+ const deploymentRetention = params.deploymentRetention;
107599
107621
  if (typeof functionId === "undefined") {
107600
107622
  throw new AppwriteException('Missing required parameter: "functionId"');
107601
107623
  }
@@ -107652,8 +107674,14 @@ var Functions = class {
107652
107674
  if (typeof providerRootDirectory !== "undefined") {
107653
107675
  payload["providerRootDirectory"] = providerRootDirectory;
107654
107676
  }
107655
- if (typeof specification !== "undefined") {
107656
- payload["specification"] = specification;
107677
+ if (typeof buildSpecification !== "undefined") {
107678
+ payload["buildSpecification"] = buildSpecification;
107679
+ }
107680
+ if (typeof runtimeSpecification !== "undefined") {
107681
+ payload["runtimeSpecification"] = runtimeSpecification;
107682
+ }
107683
+ if (typeof deploymentRetention !== "undefined") {
107684
+ payload["deploymentRetention"] = deploymentRetention;
107657
107685
  }
107658
107686
  const uri = new URL(this.client.config.endpoint + apiPath);
107659
107687
  const apiHeaders = {
@@ -116595,15 +116623,18 @@ var Sites = class {
116595
116623
  timeout: rest[5],
116596
116624
  installCommand: rest[6],
116597
116625
  buildCommand: rest[7],
116598
- outputDirectory: rest[8],
116599
- adapter: rest[9],
116600
- installationId: rest[10],
116601
- fallbackFile: rest[11],
116602
- providerRepositoryId: rest[12],
116603
- providerBranch: rest[13],
116604
- providerSilentMode: rest[14],
116605
- providerRootDirectory: rest[15],
116606
- specification: rest[16]
116626
+ startCommand: rest[8],
116627
+ outputDirectory: rest[9],
116628
+ adapter: rest[10],
116629
+ installationId: rest[11],
116630
+ fallbackFile: rest[12],
116631
+ providerRepositoryId: rest[13],
116632
+ providerBranch: rest[14],
116633
+ providerSilentMode: rest[15],
116634
+ providerRootDirectory: rest[16],
116635
+ buildSpecification: rest[17],
116636
+ runtimeSpecification: rest[18],
116637
+ deploymentRetention: rest[19]
116607
116638
  };
116608
116639
  }
116609
116640
  const siteId = params.siteId;
@@ -116615,6 +116646,7 @@ var Sites = class {
116615
116646
  const timeout = params.timeout;
116616
116647
  const installCommand = params.installCommand;
116617
116648
  const buildCommand = params.buildCommand;
116649
+ const startCommand = params.startCommand;
116618
116650
  const outputDirectory = params.outputDirectory;
116619
116651
  const adapter = params.adapter;
116620
116652
  const installationId = params.installationId;
@@ -116623,7 +116655,9 @@ var Sites = class {
116623
116655
  const providerBranch = params.providerBranch;
116624
116656
  const providerSilentMode = params.providerSilentMode;
116625
116657
  const providerRootDirectory = params.providerRootDirectory;
116626
- const specification = params.specification;
116658
+ const buildSpecification = params.buildSpecification;
116659
+ const runtimeSpecification = params.runtimeSpecification;
116660
+ const deploymentRetention = params.deploymentRetention;
116627
116661
  if (typeof siteId === "undefined") {
116628
116662
  throw new AppwriteException('Missing required parameter: "siteId"');
116629
116663
  }
@@ -116662,6 +116696,9 @@ var Sites = class {
116662
116696
  if (typeof buildCommand !== "undefined") {
116663
116697
  payload["buildCommand"] = buildCommand;
116664
116698
  }
116699
+ if (typeof startCommand !== "undefined") {
116700
+ payload["startCommand"] = startCommand;
116701
+ }
116665
116702
  if (typeof outputDirectory !== "undefined") {
116666
116703
  payload["outputDirectory"] = outputDirectory;
116667
116704
  }
@@ -116689,8 +116726,14 @@ var Sites = class {
116689
116726
  if (typeof providerRootDirectory !== "undefined") {
116690
116727
  payload["providerRootDirectory"] = providerRootDirectory;
116691
116728
  }
116692
- if (typeof specification !== "undefined") {
116693
- payload["specification"] = specification;
116729
+ if (typeof buildSpecification !== "undefined") {
116730
+ payload["buildSpecification"] = buildSpecification;
116731
+ }
116732
+ if (typeof runtimeSpecification !== "undefined") {
116733
+ payload["runtimeSpecification"] = runtimeSpecification;
116734
+ }
116735
+ if (typeof deploymentRetention !== "undefined") {
116736
+ payload["deploymentRetention"] = deploymentRetention;
116694
116737
  }
116695
116738
  const uri = new URL(this.client.config.endpoint + apiPath);
116696
116739
  const apiHeaders = {
@@ -116829,16 +116872,19 @@ var Sites = class {
116829
116872
  timeout: rest[4],
116830
116873
  installCommand: rest[5],
116831
116874
  buildCommand: rest[6],
116832
- outputDirectory: rest[7],
116833
- buildRuntime: rest[8],
116834
- adapter: rest[9],
116835
- fallbackFile: rest[10],
116836
- installationId: rest[11],
116837
- providerRepositoryId: rest[12],
116838
- providerBranch: rest[13],
116839
- providerSilentMode: rest[14],
116840
- providerRootDirectory: rest[15],
116841
- specification: rest[16]
116875
+ startCommand: rest[7],
116876
+ outputDirectory: rest[8],
116877
+ buildRuntime: rest[9],
116878
+ adapter: rest[10],
116879
+ fallbackFile: rest[11],
116880
+ installationId: rest[12],
116881
+ providerRepositoryId: rest[13],
116882
+ providerBranch: rest[14],
116883
+ providerSilentMode: rest[15],
116884
+ providerRootDirectory: rest[16],
116885
+ buildSpecification: rest[17],
116886
+ runtimeSpecification: rest[18],
116887
+ deploymentRetention: rest[19]
116842
116888
  };
116843
116889
  }
116844
116890
  const siteId = params.siteId;
@@ -116849,6 +116895,7 @@ var Sites = class {
116849
116895
  const timeout = params.timeout;
116850
116896
  const installCommand = params.installCommand;
116851
116897
  const buildCommand = params.buildCommand;
116898
+ const startCommand = params.startCommand;
116852
116899
  const outputDirectory = params.outputDirectory;
116853
116900
  const buildRuntime = params.buildRuntime;
116854
116901
  const adapter = params.adapter;
@@ -116858,7 +116905,9 @@ var Sites = class {
116858
116905
  const providerBranch = params.providerBranch;
116859
116906
  const providerSilentMode = params.providerSilentMode;
116860
116907
  const providerRootDirectory = params.providerRootDirectory;
116861
- const specification = params.specification;
116908
+ const buildSpecification = params.buildSpecification;
116909
+ const runtimeSpecification = params.runtimeSpecification;
116910
+ const deploymentRetention = params.deploymentRetention;
116862
116911
  if (typeof siteId === "undefined") {
116863
116912
  throw new AppwriteException('Missing required parameter: "siteId"');
116864
116913
  }
@@ -116891,6 +116940,9 @@ var Sites = class {
116891
116940
  if (typeof buildCommand !== "undefined") {
116892
116941
  payload["buildCommand"] = buildCommand;
116893
116942
  }
116943
+ if (typeof startCommand !== "undefined") {
116944
+ payload["startCommand"] = startCommand;
116945
+ }
116894
116946
  if (typeof outputDirectory !== "undefined") {
116895
116947
  payload["outputDirectory"] = outputDirectory;
116896
116948
  }
@@ -116918,8 +116970,14 @@ var Sites = class {
116918
116970
  if (typeof providerRootDirectory !== "undefined") {
116919
116971
  payload["providerRootDirectory"] = providerRootDirectory;
116920
116972
  }
116921
- if (typeof specification !== "undefined") {
116922
- payload["specification"] = specification;
116973
+ if (typeof buildSpecification !== "undefined") {
116974
+ payload["buildSpecification"] = buildSpecification;
116975
+ }
116976
+ if (typeof runtimeSpecification !== "undefined") {
116977
+ payload["runtimeSpecification"] = runtimeSpecification;
116978
+ }
116979
+ if (typeof deploymentRetention !== "undefined") {
116980
+ payload["deploymentRetention"] = deploymentRetention;
116923
116981
  }
116924
116982
  const uri = new URL(this.client.config.endpoint + apiPath);
116925
116983
  const apiHeaders = {
@@ -124862,6 +124920,9 @@ var Runtime;
124862
124920
  Runtime2["Pythonml311"] = "python-ml-3.11";
124863
124921
  Runtime2["Pythonml312"] = "python-ml-3.12";
124864
124922
  Runtime2["Pythonml313"] = "python-ml-3.13";
124923
+ Runtime2["Deno121"] = "deno-1.21";
124924
+ Runtime2["Deno124"] = "deno-1.24";
124925
+ Runtime2["Deno135"] = "deno-1.35";
124865
124926
  Runtime2["Deno140"] = "deno-1.40";
124866
124927
  Runtime2["Deno146"] = "deno-1.46";
124867
124928
  Runtime2["Deno20"] = "deno-2.0";
@@ -124951,6 +125012,9 @@ var Runtimes;
124951
125012
  Runtimes2["Pythonml311"] = "python-ml-3.11";
124952
125013
  Runtimes2["Pythonml312"] = "python-ml-3.12";
124953
125014
  Runtimes2["Pythonml313"] = "python-ml-3.13";
125015
+ Runtimes2["Deno121"] = "deno-1.21";
125016
+ Runtimes2["Deno124"] = "deno-1.24";
125017
+ Runtimes2["Deno135"] = "deno-1.35";
124954
125018
  Runtimes2["Deno140"] = "deno-1.40";
124955
125019
  Runtimes2["Deno146"] = "deno-1.46";
124956
125020
  Runtimes2["Deno20"] = "deno-2.0";
@@ -125091,6 +125155,10 @@ var AppwriteMigrationResource;
125091
125155
  AppwriteMigrationResource2["Function"] = "function";
125092
125156
  AppwriteMigrationResource2["Deployment"] = "deployment";
125093
125157
  AppwriteMigrationResource2["Environmentvariable"] = "environment-variable";
125158
+ AppwriteMigrationResource2["Provider"] = "provider";
125159
+ AppwriteMigrationResource2["Topic"] = "topic";
125160
+ AppwriteMigrationResource2["Subscriber"] = "subscriber";
125161
+ AppwriteMigrationResource2["Message"] = "message";
125094
125162
  AppwriteMigrationResource2["Site"] = "site";
125095
125163
  AppwriteMigrationResource2["Sitedeployment"] = "site-deployment";
125096
125164
  AppwriteMigrationResource2["Sitevariable"] = "site-variable";
@@ -125564,6 +125632,9 @@ var BuildRuntime;
125564
125632
  BuildRuntime2["Pythonml311"] = "python-ml-3.11";
125565
125633
  BuildRuntime2["Pythonml312"] = "python-ml-3.12";
125566
125634
  BuildRuntime2["Pythonml313"] = "python-ml-3.13";
125635
+ BuildRuntime2["Deno121"] = "deno-1.21";
125636
+ BuildRuntime2["Deno124"] = "deno-1.24";
125637
+ BuildRuntime2["Deno135"] = "deno-1.35";
125567
125638
  BuildRuntime2["Deno140"] = "deno-1.40";
125568
125639
  BuildRuntime2["Deno146"] = "deno-1.46";
125569
125640
  BuildRuntime2["Deno20"] = "deno-2.0";
@@ -125775,6 +125846,17 @@ var BillingPlanGroup;
125775
125846
  BillingPlanGroup2["Pro"] = "pro";
125776
125847
  BillingPlanGroup2["Scale"] = "scale";
125777
125848
  })(BillingPlanGroup || (BillingPlanGroup = {}));
125849
+ var DomainPurchasePaymentStatus;
125850
+ (function(DomainPurchasePaymentStatus2) {
125851
+ DomainPurchasePaymentStatus2["Pending"] = "pending";
125852
+ DomainPurchasePaymentStatus2["PendingConfirmation"] = "pending_confirmation";
125853
+ DomainPurchasePaymentStatus2["PendingPaymentProcessing"] = "pending_payment_processing";
125854
+ DomainPurchasePaymentStatus2["Authorized"] = "authorized";
125855
+ DomainPurchasePaymentStatus2["Captured"] = "captured";
125856
+ DomainPurchasePaymentStatus2["Failed"] = "failed";
125857
+ DomainPurchasePaymentStatus2["CaptureFailed"] = "capture_failed";
125858
+ DomainPurchasePaymentStatus2["RenewalCaptureFailed"] = "renewal_capture_failed";
125859
+ })(DomainPurchasePaymentStatus || (DomainPurchasePaymentStatus = {}));
125778
125860
  var DomainTransferStatusStatus;
125779
125861
  (function(DomainTransferStatusStatus2) {
125780
125862
  DomainTransferStatusStatus2["Transferrable"] = "transferrable";
@@ -126055,6 +126137,7 @@ var sdkForConsole = async (requiresAuth = true) => {
126055
126137
  );
126056
126138
  }
126057
126139
  client2.headers = {
126140
+ ...client2.headers,
126058
126141
  "x-sdk-name": "Command Line",
126059
126142
  "x-sdk-platform": "console",
126060
126143
  "x-sdk-language": "cli",
@@ -126077,6 +126160,7 @@ var sdkForProject = async () => {
126077
126160
  );
126078
126161
  }
126079
126162
  client2.headers = {
126163
+ ...client2.headers,
126080
126164
  "x-sdk-name": "Command Line",
126081
126165
  "x-sdk-platform": "console",
126082
126166
  "x-sdk-language": "cli",
@@ -126605,8 +126689,25 @@ var questionsCreateFunction = [
126605
126689
  },
126606
126690
  {
126607
126691
  type: "list",
126608
- name: "specification",
126609
- message: "What specification would you like to use?",
126692
+ name: "buildSpecification",
126693
+ message: "What build specification would you like to use?",
126694
+ choices: async () => {
126695
+ const response = await (await getFunctionsService()).listSpecifications();
126696
+ const specifications = response["specifications"];
126697
+ const choices = specifications.map((spec, _idx) => {
126698
+ return {
126699
+ name: `${spec.cpus} CPU, ${spec.memory}MB RAM`,
126700
+ value: spec.slug,
126701
+ disabled: spec.enabled === false ? "Upgrade to use" : false
126702
+ };
126703
+ });
126704
+ return choices;
126705
+ }
126706
+ },
126707
+ {
126708
+ type: "list",
126709
+ name: "runtimeSpecification",
126710
+ message: "What runtime specification would you like to use?",
126610
126711
  choices: async () => {
126611
126712
  const response = await (await getFunctionsService()).listSpecifications();
126612
126713
  const specifications = response["specifications"];
@@ -127225,8 +127326,25 @@ var questionsCreateSite = [
127225
127326
  },
127226
127327
  {
127227
127328
  type: "list",
127228
- name: "specification",
127229
- message: "What specification would you like to use?",
127329
+ name: "buildSpecification",
127330
+ message: "What build specification would you like to use?",
127331
+ choices: async () => {
127332
+ const response = await (await getSitesService()).listSpecifications();
127333
+ const specifications = response["specifications"];
127334
+ const choices = specifications.map((spec) => {
127335
+ return {
127336
+ name: `${spec.cpus} CPU, ${spec.memory}MB RAM`,
127337
+ value: spec.slug,
127338
+ disabled: spec.enabled === false ? "Upgrade to use" : false
127339
+ };
127340
+ });
127341
+ return choices;
127342
+ }
127343
+ },
127344
+ {
127345
+ type: "list",
127346
+ name: "runtimeSpecification",
127347
+ message: "What runtime specification would you like to use?",
127230
127348
  choices: async () => {
127231
127349
  const response = await (await getSitesService()).listSpecifications();
127232
127350
  const specifications = response["specifications"];
@@ -127425,6 +127543,15 @@ var Client3 = class _Client {
127425
127543
  globalConfig2.setCurrentSession("");
127426
127544
  globalConfig2.removeSession(current);
127427
127545
  }
127546
+ const isUnauthorized = json3.code === 401 && json3.type === "general_unauthorized_scope" && typeof json3.message === "string" && /role:\s*guests/i.test(json3.message);
127547
+ if (isUnauthorized) {
127548
+ throw new AppwriteException(
127549
+ `You are not authenticated. Run '${EXECUTABLE_NAME} login' to authenticate and try again.`,
127550
+ json3.code,
127551
+ json3.type,
127552
+ text2
127553
+ );
127554
+ }
127428
127555
  throw new AppwriteException(
127429
127556
  json3.message || text2,
127430
127557
  json3.code,
@@ -130333,7 +130460,7 @@ var qt = class extends st {
130333
130460
  if (h.includes("..") || Oe && /^[a-z]:\.\.$/i.test(h[0] ?? "")) {
130334
130461
  if (e === "path" || r === "Link") return this.warn("TAR_ENTRY_ERROR", `${e} contains '..'`, { entry: t, [e]: i }), false;
130335
130462
  {
130336
- let a = R.posix.dirname(t.path), l = R.posix.normalize(R.posix.join(a, i));
130463
+ let a = R.posix.dirname(t.path), l = R.posix.normalize(R.posix.join(a, h.join("/")));
130337
130464
  if (l.startsWith("../") || l === "..") return this.warn("TAR_ENTRY_ERROR", `${e} escapes extraction directory`, { entry: t, [e]: i }), false;
130338
130465
  }
130339
130466
  }
@@ -131216,7 +131343,9 @@ var Pull = class {
131216
131343
  timeout: func.timeout,
131217
131344
  commands: func.commands,
131218
131345
  scopes: func.scopes,
131219
- specification: func.specification
131346
+ buildSpecification: func.buildSpecification,
131347
+ runtimeSpecification: func.runtimeSpecification,
131348
+ deploymentRetention: func.deploymentRetention
131220
131349
  };
131221
131350
  result.push(functionConfig);
131222
131351
  if (!fs5.existsSync(absoluteFuncPath)) {
@@ -131298,7 +131427,10 @@ var Pull = class {
131298
131427
  buildCommand: site.buildCommand,
131299
131428
  outputDirectory: site.outputDirectory,
131300
131429
  fallbackFile: site.fallbackFile,
131301
- specification: site.specification
131430
+ startCommand: site.startCommand,
131431
+ buildSpecification: site.buildSpecification,
131432
+ runtimeSpecification: site.runtimeSpecification,
131433
+ deploymentRetention: site.deploymentRetention
131302
131434
  };
131303
131435
  result.push(siteConfig);
131304
131436
  if (!fs5.existsSync(absoluteSitePath)) {
@@ -132118,7 +132250,8 @@ Suggestion: It appears that git is not installed, try installing git then trying
132118
132250
  $id: functionId,
132119
132251
  name: answers.name,
132120
132252
  runtime: answers.runtime.id,
132121
- specification: answers.specification,
132253
+ buildSpecification: answers.buildSpecification,
132254
+ runtimeSpecification: answers.runtimeSpecification,
132122
132255
  execute: ["any"],
132123
132256
  events: [],
132124
132257
  scopes: ["users.read"],
@@ -132283,7 +132416,8 @@ Suggestion: It appears that git is not installed, try installing git then trying
132283
132416
  buildCommand: templateDetails.frameworks[0].buildCommand || "",
132284
132417
  outputDirectory: templateDetails.frameworks[0].outputDirectory || "",
132285
132418
  fallbackFile: templateDetails.frameworks[0].fallbackFile || "",
132286
- specification: answers.specification,
132419
+ buildSpecification: answers.buildSpecification,
132420
+ runtimeSpecification: answers.runtimeSpecification,
132287
132421
  enabled: true,
132288
132422
  timeout: 30,
132289
132423
  logging: true,
@@ -136471,7 +136605,9 @@ var Push = class {
136471
136605
  entrypoint: func.entrypoint,
136472
136606
  commands: func.commands,
136473
136607
  scopes: func.scopes,
136474
- specification: func.specification
136608
+ buildSpecification: func.buildSpecification,
136609
+ runtimeSpecification: func.runtimeSpecification,
136610
+ deploymentRetention: func.deploymentRetention
136475
136611
  });
136476
136612
  } catch (e) {
136477
136613
  if (Number(e.code) === 404) {
@@ -136500,7 +136636,9 @@ var Push = class {
136500
136636
  entrypoint: func.entrypoint,
136501
136637
  commands: func.commands,
136502
136638
  scopes: func.scopes,
136503
- specification: func.specification
136639
+ buildSpecification: func.buildSpecification,
136640
+ runtimeSpecification: func.runtimeSpecification,
136641
+ deploymentRetention: func.deploymentRetention
136504
136642
  });
136505
136643
  let domain2 = "";
136506
136644
  try {
@@ -136772,7 +136910,10 @@ var Push = class {
136772
136910
  outputDirectory: site.outputDirectory,
136773
136911
  buildRuntime: site.buildRuntime,
136774
136912
  adapter: site.adapter,
136775
- specification: site.specification
136913
+ startCommand: site.startCommand,
136914
+ buildSpecification: site.buildSpecification,
136915
+ runtimeSpecification: site.runtimeSpecification,
136916
+ deploymentRetention: site.deploymentRetention
136776
136917
  });
136777
136918
  } catch (e) {
136778
136919
  if (Number(e.code) === 404) {
@@ -136800,7 +136941,10 @@ var Push = class {
136800
136941
  outputDirectory: site.outputDirectory,
136801
136942
  buildRuntime: site.buildRuntime,
136802
136943
  adapter: site.adapter,
136803
- specification: site.specification
136944
+ startCommand: site.startCommand,
136945
+ buildSpecification: site.buildSpecification,
136946
+ runtimeSpecification: site.runtimeSpecification,
136947
+ deploymentRetention: site.deploymentRetention
136804
136948
  });
136805
136949
  let domain2 = "";
136806
136950
  try {
@@ -138965,7 +139109,7 @@ account.command(`delete-identity`).description(`Delete an identity by its unique
138965
139109
  async ({ identityId }) => parse3(await (await getAccountClient()).deleteIdentity(identityId))
138966
139110
  )
138967
139111
  );
138968
- account.command(`list-invoices`).description(`List all invoices tied to an account.`).option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, amount, currency, from, to, dueAt, attempts, status, grossAmount`).action(
139112
+ account.command(`list-invoices`).description(`List all invoices tied to an account.`).option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount`).action(
138969
139113
  actionRunner(
138970
139114
  async ({ queries }) => parse3(await (await getAccountClient()).listInvoices(queries))
138971
139115
  )
@@ -139987,9 +140131,9 @@ functions.command(`create`).description(`Create a new function. You can pass a l
139987
140131
  `--provider-silent-mode [value]`,
139988
140132
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.`,
139989
140133
  (value) => value === void 0 ? true : parseBool(value)
139990
- ).option(`--provider-root-directory <provider-root-directory>`, `Path to function code in the linked repo.`).option(`--specification <specification>`, `Runtime specification for the function and builds.`).action(
140134
+ ).option(`--provider-root-directory <provider-root-directory>`, `Path to function code in the linked repo.`).option(`--build-specification <build-specification>`, `Build specification for the function deployments.`).option(`--runtime-specification <runtime-specification>`, `Runtime specification for the function executions.`).option(`--deployment-retention <deployment-retention>`, `Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.`, parseInteger).action(
139991
140135
  actionRunner(
139992
- async ({ functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) => parse3(await (await getFunctionsClient()).create(functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification))
140136
+ async ({ functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention }) => parse3(await (await getFunctionsClient()).create(functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention))
139993
140137
  )
139994
140138
  );
139995
140139
  functions.command(`list-runtimes`).description(`Get a list of all runtimes that are currently active on your instance.`).action(
@@ -140038,9 +140182,9 @@ functions.command(`update`).description(`Update function by its unique ID.`).req
140038
140182
  `--provider-silent-mode [value]`,
140039
140183
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.`,
140040
140184
  (value) => value === void 0 ? true : parseBool(value)
140041
- ).option(`--provider-root-directory <provider-root-directory>`, `Path to function code in the linked repo.`).option(`--specification <specification>`, `Runtime specification for the function and builds.`).action(
140185
+ ).option(`--provider-root-directory <provider-root-directory>`, `Path to function code in the linked repo.`).option(`--build-specification <build-specification>`, `Build specification for the function deployments.`).option(`--runtime-specification <runtime-specification>`, `Runtime specification for the function executions.`).option(`--deployment-retention <deployment-retention>`, `Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.`, parseInteger).action(
140042
140186
  actionRunner(
140043
- async ({ functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) => parse3(await (await getFunctionsClient()).update(functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification))
140187
+ async ({ functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention }) => parse3(await (await getFunctionsClient()).update(functionId, name, runtime, execute, events, schedule, timeout, enabled, logging, entrypoint, commands, scopes, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention))
140044
140188
  )
140045
140189
  );
140046
140190
  functions.command(`delete`).description(`Delete a function by its unique ID.`).requiredOption(`--function-id <function-id>`, `Function ID.`).action(
@@ -141464,13 +141608,13 @@ sites.command(`create`).description(`Create a new site.`).requiredOption(`--site
141464
141608
  `--logging [value]`,
141465
141609
  `When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.`,
141466
141610
  (value) => value === void 0 ? true : parseBool(value)
141467
- ).option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger).option(`--install-command <install-command>`, `Install Command.`).option(`--build-command <build-command>`, `Build Command.`).option(`--output-directory <output-directory>`, `Output Directory for site.`).option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`).option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`).option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`).option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`).option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`).option(
141611
+ ).option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger).option(`--install-command <install-command>`, `Install Command.`).option(`--build-command <build-command>`, `Build Command.`).option(`--start-command <start-command>`, `Custom start command. Leave empty to use default.`).option(`--output-directory <output-directory>`, `Output Directory for site.`).option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`).option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`).option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`).option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`).option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`).option(
141468
141612
  `--provider-silent-mode [value]`,
141469
141613
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.`,
141470
141614
  (value) => value === void 0 ? true : parseBool(value)
141471
- ).option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`).option(`--specification <specification>`, `Framework specification for the site and builds.`).action(
141615
+ ).option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`).option(`--build-specification <build-specification>`, `Build specification for the site deployments.`).option(`--runtime-specification <runtime-specification>`, `Runtime specification for the SSR executions.`).option(`--deployment-retention <deployment-retention>`, `Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.`, parseInteger).action(
141472
141616
  actionRunner(
141473
- async ({ siteId, name, framework, buildRuntime, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, adapter, installationId, fallbackFile, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) => parse3(await (await getSitesClient()).create(siteId, name, framework, buildRuntime, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, adapter, installationId, fallbackFile, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification))
141617
+ async ({ siteId, name, framework, buildRuntime, enabled, logging, timeout, installCommand, buildCommand, startCommand, outputDirectory, adapter, installationId, fallbackFile, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention }) => parse3(await (await getSitesClient()).create(siteId, name, framework, buildRuntime, enabled, logging, timeout, installCommand, buildCommand, startCommand, outputDirectory, adapter, installationId, fallbackFile, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention))
141474
141618
  )
141475
141619
  );
141476
141620
  sites.command(`list-frameworks`).description(`Get a list of all frameworks that are currently available on the server instance.`).action(
@@ -141511,13 +141655,13 @@ sites.command(`update`).description(`Update site by its unique ID.`).requiredOpt
141511
141655
  `--logging [value]`,
141512
141656
  `When disabled, request logs will exclude logs and errors, and site responses will be slightly faster.`,
141513
141657
  (value) => value === void 0 ? true : parseBool(value)
141514
- ).option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger).option(`--install-command <install-command>`, `Install Command.`).option(`--build-command <build-command>`, `Build Command.`).option(`--output-directory <output-directory>`, `Output Directory for site.`).option(`--build-runtime <build-runtime>`, `Runtime to use during build step.`).option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`).option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`).option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`).option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`).option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`).option(
141658
+ ).option(`--timeout <timeout>`, `Maximum request time in seconds.`, parseInteger).option(`--install-command <install-command>`, `Install Command.`).option(`--build-command <build-command>`, `Build Command.`).option(`--start-command <start-command>`, `Custom start command. Leave empty to use default.`).option(`--output-directory <output-directory>`, `Output Directory for site.`).option(`--build-runtime <build-runtime>`, `Runtime to use during build step.`).option(`--adapter <adapter>`, `Framework adapter defining rendering strategy. Allowed values are: static, ssr`).option(`--fallback-file <fallback-file>`, `Fallback file for single page application sites.`).option(`--installation-id <installation-id>`, `Appwrite Installation ID for VCS (Version Control System) deployment.`).option(`--provider-repository-id <provider-repository-id>`, `Repository ID of the repo linked to the site.`).option(`--provider-branch <provider-branch>`, `Production branch for the repo linked to the site.`).option(
141515
141659
  `--provider-silent-mode [value]`,
141516
141660
  `Is the VCS (Version Control System) connection in silent mode for the repo linked to the site? In silent mode, comments will not be made on commits and pull requests.`,
141517
141661
  (value) => value === void 0 ? true : parseBool(value)
141518
- ).option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`).option(`--specification <specification>`, `Framework specification for the site and builds.`).action(
141662
+ ).option(`--provider-root-directory <provider-root-directory>`, `Path to site code in the linked repo.`).option(`--build-specification <build-specification>`, `Build specification for the site deployments.`).option(`--runtime-specification <runtime-specification>`, `Runtime specification for the SSR executions.`).option(`--deployment-retention <deployment-retention>`, `Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.`, parseInteger).action(
141519
141663
  actionRunner(
141520
- async ({ siteId, name, framework, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, buildRuntime, adapter, fallbackFile, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification }) => parse3(await (await getSitesClient()).update(siteId, name, framework, enabled, logging, timeout, installCommand, buildCommand, outputDirectory, buildRuntime, adapter, fallbackFile, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, specification))
141664
+ async ({ siteId, name, framework, enabled, logging, timeout, installCommand, buildCommand, startCommand, outputDirectory, buildRuntime, adapter, fallbackFile, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention }) => parse3(await (await getSitesClient()).update(siteId, name, framework, enabled, logging, timeout, installCommand, buildCommand, startCommand, outputDirectory, buildRuntime, adapter, fallbackFile, installationId, providerRepositoryId, providerBranch, providerSilentMode, providerRootDirectory, buildSpecification, runtimeSpecification, deploymentRetention))
141521
141665
  )
141522
141666
  );
141523
141667
  sites.command(`delete`).description(`Delete a site by its unique ID.`).requiredOption(`--site-id <site-id>`, `Site ID.`).action(