appwrite-cli 22.1.1 → 22.1.3

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/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
- 22.1.1
32
+ 22.1.3
33
33
  ```
34
34
 
35
35
  ### Install using prebuilt binaries
@@ -83,7 +83,7 @@ $ scoop install https://raw.githubusercontent.com/appwrite/sdk-for-cli/master/sc
83
83
  Once the installation completes, you can verify your install using
84
84
  ```
85
85
  $ appwrite -v
86
- 22.1.1
86
+ 22.1.3
87
87
  ```
88
88
 
89
89
  ## Getting Started
package/dist/cli.cjs CHANGED
@@ -86099,7 +86099,7 @@ var package_default = {
86099
86099
  type: "module",
86100
86100
  homepage: "https://appwrite.io/support",
86101
86101
  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",
86102
- version: "22.1.1",
86102
+ version: "22.1.3",
86103
86103
  license: "BSD-3-Clause",
86104
86104
  main: "dist/index.cjs",
86105
86105
  module: "dist/index.js",
@@ -86147,7 +86147,7 @@ var package_default = {
86147
86147
  "windows-arm64": "bun build cli.ts --compile --minify --target=bun-windows-arm64 --outfile build/appwrite-cli-win-arm64.exe"
86148
86148
  },
86149
86149
  dependencies: {
86150
- "@appwrite.io/console": "^15.0.0",
86150
+ "@appwrite.io/console": "^15.1.0",
86151
86151
  chalk: "4.1.2",
86152
86152
  chokidar: "^3.6.0",
86153
86153
  "cli-progress": "^3.12.0",
@@ -100830,7 +100830,7 @@ var validateCrossDatabase = (data, ctx) => {
100830
100830
  // lib/constants.ts
100831
100831
  var SDK_TITLE = "Appwrite";
100832
100832
  var SDK_TITLE_LOWER = "appwrite";
100833
- var SDK_VERSION = "22.1.1";
100833
+ var SDK_VERSION = "22.1.3";
100834
100834
  var SDK_NAME = "Command Line";
100835
100835
  var SDK_PLATFORM = "console";
100836
100836
  var SDK_LANGUAGE = "cli";
@@ -100845,7 +100845,7 @@ var GITHUB_REPO = "appwrite/sdk-for-cli";
100845
100845
  var GITHUB_RELEASES_URL = `https://github.com/${GITHUB_REPO}/releases`;
100846
100846
  var DEFAULT_ENDPOINT = "https://cloud.appwrite.io/v1";
100847
100847
  var OAUTH2_CLIENT_ID = "appwrite-cli";
100848
- var OAUTH2_SCOPES = "openid email profile";
100848
+ var OAUTH2_SCOPES = "openid email profile account.admin";
100849
100849
  var CONFIG_RESOURCE_KEYS = [
100850
100850
  "databases",
100851
100851
  "functions",
@@ -101437,7 +101437,7 @@ var Client = class _Client {
101437
101437
  "x-sdk-name": "Console",
101438
101438
  "x-sdk-platform": "console",
101439
101439
  "x-sdk-language": "web",
101440
- "x-sdk-version": "15.0.0",
101440
+ "x-sdk-version": "15.1.0",
101441
101441
  "X-Appwrite-Response-Format": "1.9.5"
101442
101442
  };
101443
101443
  this.realtime = {
@@ -114673,7 +114673,8 @@ var Oauth2 = class {
114673
114673
  codeChallengeMethod: rest[6],
114674
114674
  prompt: rest[7],
114675
114675
  maxAge: rest[8],
114676
- authorizationDetails: rest[9]
114676
+ authorizationDetails: rest[9],
114677
+ resource: rest[10]
114677
114678
  };
114678
114679
  }
114679
114680
  const clientId = params.clientId;
@@ -114687,6 +114688,7 @@ var Oauth2 = class {
114687
114688
  const prompt = params.prompt;
114688
114689
  const maxAge = params.maxAge;
114689
114690
  const authorizationDetails = params.authorizationDetails;
114691
+ const resource = params.resource;
114690
114692
  if (typeof clientId === "undefined") {
114691
114693
  throw new AppwriteException('Missing required parameter: "clientId"');
114692
114694
  }
@@ -114734,6 +114736,9 @@ var Oauth2 = class {
114734
114736
  if (typeof authorizationDetails !== "undefined") {
114735
114737
  payload["authorization_details"] = authorizationDetails;
114736
114738
  }
114739
+ if (typeof resource !== "undefined") {
114740
+ payload["resource"] = resource;
114741
+ }
114737
114742
  const uri = new URL(this.client.config.endpoint + apiPath);
114738
114743
  const apiHeaders = {
114739
114744
  "accept": "application/json"
@@ -114748,12 +114753,14 @@ var Oauth2 = class {
114748
114753
  params = {
114749
114754
  clientId: paramsOrFirst,
114750
114755
  scope: rest[0],
114751
- authorizationDetails: rest[1]
114756
+ authorizationDetails: rest[1],
114757
+ resource: rest[2]
114752
114758
  };
114753
114759
  }
114754
114760
  const clientId = params.clientId;
114755
114761
  const scope = params.scope;
114756
114762
  const authorizationDetails = params.authorizationDetails;
114763
+ const resource = params.resource;
114757
114764
  const apiPath = "/oauth2/{project_id}/device_authorization".replace("{project_id}", encodeURIComponent(String(this.client.config.project)));
114758
114765
  const payload = {};
114759
114766
  if (typeof clientId !== "undefined") {
@@ -114765,6 +114772,9 @@ var Oauth2 = class {
114765
114772
  if (typeof authorizationDetails !== "undefined") {
114766
114773
  payload["authorization_details"] = authorizationDetails;
114767
114774
  }
114775
+ if (typeof resource !== "undefined") {
114776
+ payload["resource"] = resource;
114777
+ }
114768
114778
  const uri = new URL(this.client.config.endpoint + apiPath);
114769
114779
  const apiHeaders = {
114770
114780
  "content-type": "application/json",
@@ -114942,7 +114952,8 @@ var Oauth2 = class {
114942
114952
  clientId: rest[3],
114943
114953
  clientSecret: rest[4],
114944
114954
  codeVerifier: rest[5],
114945
- redirectUri: rest[6]
114955
+ redirectUri: rest[6],
114956
+ resource: rest[7]
114946
114957
  };
114947
114958
  }
114948
114959
  const grantType = params.grantType;
@@ -114953,6 +114964,7 @@ var Oauth2 = class {
114953
114964
  const clientSecret = params.clientSecret;
114954
114965
  const codeVerifier = params.codeVerifier;
114955
114966
  const redirectUri = params.redirectUri;
114967
+ const resource = params.resource;
114956
114968
  if (typeof grantType === "undefined") {
114957
114969
  throw new AppwriteException('Missing required parameter: "grantType"');
114958
114970
  }
@@ -114982,6 +114994,9 @@ var Oauth2 = class {
114982
114994
  if (typeof redirectUri !== "undefined") {
114983
114995
  payload["redirect_uri"] = redirectUri;
114984
114996
  }
114997
+ if (typeof resource !== "undefined") {
114998
+ payload["resource"] = resource;
114999
+ }
114985
115000
  const uri = new URL(this.client.config.endpoint + apiPath);
114986
115001
  const apiHeaders = {
114987
115002
  "content-type": "application/json",
@@ -131696,6 +131711,34 @@ function systemHasCommand(command) {
131696
131711
  }
131697
131712
  return true;
131698
131713
  }
131714
+ function openBrowser(url2) {
131715
+ let command;
131716
+ let args;
131717
+ switch (process.platform) {
131718
+ case "win32":
131719
+ command = "cmd";
131720
+ args = ["/c", "start", "", `"${url2}"`];
131721
+ break;
131722
+ case "darwin":
131723
+ command = "open";
131724
+ args = [url2];
131725
+ break;
131726
+ default:
131727
+ command = "xdg-open";
131728
+ args = [url2];
131729
+ break;
131730
+ }
131731
+ try {
131732
+ const child = import_child_process.default.spawn(command, args, {
131733
+ stdio: "ignore",
131734
+ detached: true
131735
+ });
131736
+ child.on("error", () => {
131737
+ });
131738
+ child.unref();
131739
+ } catch {
131740
+ }
131741
+ }
131699
131742
  var checkDeployConditions = (localConfig2) => {
131700
131743
  if (localConfig2.keys().length === 0) {
131701
131744
  throw new Error(
@@ -136347,7 +136390,7 @@ var removeCurrentSession = () => {
136347
136390
  var deleteServerSession = async (sessionId) => {
136348
136391
  const session = getSession(sessionId);
136349
136392
  if (!session?.endpoint) {
136350
- return false;
136393
+ return { deleted: false };
136351
136394
  }
136352
136395
  try {
136353
136396
  if (session.refreshToken) {
@@ -136356,7 +136399,7 @@ var deleteServerSession = async (sessionId) => {
136356
136399
  session.refreshToken,
136357
136400
  session.clientId || OAUTH2_CLIENT_ID
136358
136401
  );
136359
- return true;
136402
+ return { deleted: true };
136360
136403
  }
136361
136404
  if (session.cookie) {
136362
136405
  const legacyClient = createLegacyConsoleClient(
@@ -136367,31 +136410,38 @@ var deleteServerSession = async (sessionId) => {
136367
136410
  await legacyClient.call("DELETE", "/account/sessions/current", {
136368
136411
  "content-type": "application/json"
136369
136412
  });
136370
- return true;
136413
+ return { deleted: true };
136371
136414
  }
136372
- return false;
136373
- } catch (_e2) {
136374
- return false;
136415
+ return { deleted: false };
136416
+ } catch (e) {
136417
+ return {
136418
+ deleted: false,
136419
+ error: e instanceof Error ? e.message : String(e)
136420
+ };
136375
136421
  }
136376
136422
  };
136377
136423
  var logoutSessions = async (sessionIds) => {
136378
136424
  let failed = 0;
136379
136425
  const failedIds = [];
136426
+ const errors = [];
136380
136427
  for (const sessionId of sessionIds) {
136381
136428
  if (isLocalOnlySession(sessionId)) {
136382
136429
  globalConfig2.removeSession(sessionId);
136383
136430
  continue;
136384
136431
  }
136385
136432
  globalConfig2.setCurrentSession(sessionId);
136386
- const serverDeleted = await deleteServerSession(sessionId);
136387
- if (serverDeleted) {
136433
+ const result = await deleteServerSession(sessionId);
136434
+ if (result.deleted) {
136388
136435
  globalConfig2.removeSession(sessionId);
136389
136436
  } else {
136390
136437
  failed++;
136391
136438
  failedIds.push(sessionId);
136439
+ if (result.error) {
136440
+ errors.push(result.error);
136441
+ }
136392
136442
  }
136393
136443
  }
136394
- return { failed, failedIds };
136444
+ return { failed, failedIds, errors };
136395
136445
  };
136396
136446
  var removeLegacySessionsExcept = async (sessionIdToKeep) => {
136397
136447
  let removed = 0;
@@ -136400,8 +136450,8 @@ var removeLegacySessionsExcept = async (sessionIdToKeep) => {
136400
136450
  if (sessionId === sessionIdToKeep || !isLegacySession(sessionId)) {
136401
136451
  continue;
136402
136452
  }
136403
- const serverDeleted = await deleteServerSession(sessionId);
136404
- if (serverDeleted) {
136453
+ const result = await deleteServerSession(sessionId);
136454
+ if (result.deleted) {
136405
136455
  globalConfig2.removeSession(sessionId);
136406
136456
  removed++;
136407
136457
  } else {
@@ -136454,6 +136504,43 @@ var startWaitingForApprovalSpinner = () => {
136454
136504
  process.stdout.write("\r\x1B[K");
136455
136505
  };
136456
136506
  };
136507
+ var listenForBrowserOpen = (url2, onCancel) => {
136508
+ const stdin = process.stdin;
136509
+ if (!stdin.isTTY) {
136510
+ return () => {
136511
+ };
136512
+ }
136513
+ const canSetRawMode = typeof stdin.setRawMode === "function";
136514
+ const shouldRestoreRawMode = canSetRawMode && stdin.isRaw !== true;
136515
+ if (shouldRestoreRawMode) {
136516
+ stdin.setRawMode?.(true);
136517
+ }
136518
+ const shouldPause = stdin.isPaused();
136519
+ stdin.resume();
136520
+ const cleanup = () => {
136521
+ stdin.off("data", onData);
136522
+ if (shouldRestoreRawMode) {
136523
+ stdin.setRawMode?.(false);
136524
+ }
136525
+ if (shouldPause) {
136526
+ stdin.pause();
136527
+ }
136528
+ };
136529
+ let opened = false;
136530
+ const onData = (data) => {
136531
+ if (data.includes(3) || data.includes(4)) {
136532
+ cleanup();
136533
+ onCancel();
136534
+ return;
136535
+ }
136536
+ if (!opened && (data.includes(13) || data.includes(10))) {
136537
+ opened = true;
136538
+ openBrowser(url2);
136539
+ }
136540
+ };
136541
+ stdin.on("data", onData);
136542
+ return cleanup;
136543
+ };
136457
136544
  var getCurrentAccount = async () => {
136458
136545
  if (globalConfig2.getEndpoint() === "" || !hasAuthSession()) {
136459
136546
  return null;
@@ -136631,10 +136718,20 @@ To sign in, confirm the code below in your browser:
136631
136718
  Code: ${deviceAuth.user_code}
136632
136719
  URL: ${verificationUri}
136633
136720
 
136634
- `
136721
+ ` + (process.stdin.isTTY ? "Press Enter to open this URL in your browser.\n\n" : "")
136635
136722
  );
136636
136723
  let token = null;
136637
136724
  const stopWaitingForApprovalSpinner = startWaitingForApprovalSpinner();
136725
+ const stopListeningForBrowserOpen = listenForBrowserOpen(
136726
+ verificationUri,
136727
+ () => {
136728
+ stopWaitingForApprovalSpinner();
136729
+ globalConfig2.removeSession(id);
136730
+ globalConfig2.setCurrentSession(oldCurrent);
136731
+ log("Login cancelled.");
136732
+ process.exit(130);
136733
+ }
136734
+ );
136638
136735
  try {
136639
136736
  token = await pollForDeviceToken(oauth22, deviceAuth, clientId);
136640
136737
  } catch (err) {
@@ -136643,6 +136740,7 @@ To sign in, confirm the code below in your browser:
136643
136740
  throw err;
136644
136741
  } finally {
136645
136742
  stopWaitingForApprovalSpinner();
136743
+ stopListeningForBrowserOpen();
136646
136744
  }
136647
136745
  if (!token || !token.access_token) {
136648
136746
  globalConfig2.removeSession(id);
@@ -136761,6 +136859,16 @@ var loginCommand = async ({
136761
136859
  };
136762
136860
 
136763
136861
  // lib/commands/generic.ts
136862
+ var logMessages = {
136863
+ noActiveSessions: "No active sessions found.",
136864
+ logoutFailure: (errors = []) => {
136865
+ const uniqueErrors = [...new Set(errors)];
136866
+ const details = uniqueErrors.length ? `: ${uniqueErrors.join("; ")}` : "";
136867
+ return `Could not log out because the server session could not be revoked${details}. Kept local session data.`;
136868
+ },
136869
+ logoutSuccess: "Logged out successfully",
136870
+ clientConfigUpdated: "Client configuration updated"
136871
+ };
136764
136872
  var whoami = new Command("whoami").description(commandDescriptions["whoami"]).action(
136765
136873
  actionRunner(async () => {
136766
136874
  if (globalConfig2.getEndpoint() === "" || !hasAuthSession()) {
@@ -136810,33 +136918,32 @@ var logout = new Command("logout").description(commandDescriptions["logout"]).co
136810
136918
  const current = globalConfig2.getCurrentSession();
136811
136919
  const originalCurrent = current;
136812
136920
  if (current === "" || !sessions.length) {
136813
- log("No active sessions found.");
136921
+ log(logMessages.noActiveSessions);
136814
136922
  return;
136815
136923
  }
136816
136924
  if (sessions.length === 1) {
136817
- const { failed, failedIds } = await logoutSessions(
136925
+ const { failed, failedIds, errors } = await logoutSessions(
136818
136926
  planSessionLogout([current])
136819
136927
  );
136820
136928
  if (failed > 0) {
136821
136929
  restoreCurrentSessionFallback(originalCurrent, failedIds);
136822
- hint(
136823
- "Could not reach server for all sessions; kept local session data"
136824
- );
136930
+ error51(logMessages.logoutFailure(errors));
136931
+ return;
136825
136932
  } else {
136826
136933
  globalConfig2.setCurrentSession("");
136827
136934
  }
136828
- success2("Logged out successfully");
136935
+ success2(logMessages.logoutSuccess);
136829
136936
  return;
136830
136937
  }
136831
136938
  const answers = await import_inquirer2.default.prompt(questionsLogout);
136939
+ let logoutFailed = false;
136832
136940
  if (answers.accounts?.length) {
136833
- const { failed } = await logoutSessions(
136941
+ const { failed, errors } = await logoutSessions(
136834
136942
  planSessionLogout(answers.accounts)
136835
136943
  );
136836
136944
  if (failed > 0) {
136837
- hint(
136838
- "Could not reach server for all sessions; kept local session data"
136839
- );
136945
+ logoutFailed = true;
136946
+ error51(logMessages.logoutFailure(errors));
136840
136947
  }
136841
136948
  }
136842
136949
  const remainingSessions = globalConfig2.getSessions();
@@ -136848,13 +136955,17 @@ var logout = new Command("logout").description(commandDescriptions["logout"]).co
136848
136955
  } else if (remainingSessions.length > 0) {
136849
136956
  const nextSession = remainingSessions.find((session) => session.email) ?? remainingSessions[0];
136850
136957
  globalConfig2.setCurrentSession(nextSession.id);
136851
- success2(
136852
- nextSession.email ? `Switched to ${nextSession.email}` : `Switched to session at ${nextSession.endpoint}`
136853
- );
136958
+ if (!logoutFailed) {
136959
+ success2(
136960
+ nextSession.email ? `Switched to ${nextSession.email}` : `Switched to session at ${nextSession.endpoint}`
136961
+ );
136962
+ }
136854
136963
  } else if (remainingSessions.length === 0) {
136855
136964
  globalConfig2.setCurrentSession("");
136856
136965
  }
136857
- success2("Logged out successfully");
136966
+ if (!logoutFailed) {
136967
+ success2(logMessages.logoutSuccess);
136968
+ }
136858
136969
  })
136859
136970
  );
136860
136971
  var client = new Command("client").description(commandDescriptions["client"]).configureHelp({
@@ -136941,20 +137052,19 @@ var client = new Command("client").description(commandDescriptions["client"]).co
136941
137052
  }
136942
137053
  if (reset !== void 0) {
136943
137054
  const originalCurrent = globalConfig2.getCurrentSession();
136944
- const { failed, failedIds } = await logoutSessions(
137055
+ const { failed, failedIds, errors } = await logoutSessions(
136945
137056
  globalConfig2.getSessionIds()
136946
137057
  );
136947
137058
  if (failed > 0) {
136948
137059
  restoreCurrentSessionFallback(originalCurrent, failedIds);
136949
- hint(
136950
- "Could not reach server for all sessions; kept local session data"
136951
- );
137060
+ error51(logMessages.logoutFailure(errors));
137061
+ return;
136952
137062
  } else {
136953
137063
  globalConfig2.setCurrentSession("");
136954
137064
  }
136955
137065
  }
136956
137066
  if (!debug) {
136957
- success2("Setting client");
137067
+ success2(logMessages.clientConfigUpdated);
136958
137068
  }
136959
137069
  }
136960
137070
  )
@@ -152352,14 +152462,14 @@ var oauth2ApproveCommand = oauth2.command(`approve`).description(`Approve an OAu
152352
152462
  async ({ grant_id, authorization_details }) => parse3(await (await getOauth2Client()).approve(grant_id, authorization_details))
152353
152463
  )
152354
152464
  );
152355
- var oauth2AuthorizeCommand = oauth2.command(`authorize`).description(`Begin the OAuth2 authorization flow. When called without a session, the user is redirected to the consent screen without grant ID. When called with a session, the redirect URL includes param for grant ID. You can pass Accept header of \`application/json\` to receive a JSON response instead of a redirect.`).requiredOption(`--client-_id <client-_id>`, `OAuth2 client ID.`).requiredOption(`--redirect-_uri <redirect-_uri>`, `Redirect URI where visitor will be redirected after authorization, whether successful or not.`).requiredOption(`--response-_type <response-_type>`, `OAuth2 / OIDC response type. One of \`code\` (Authorization Code Flow), \`id_token\` (Implicit Flow, OIDC login only), or \`code id_token\` (Hybrid Flow).`).requiredOption(`--scope <scope>`, `Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: \`openid\`, \`email\`, \`profile\`.`).option(`--state <state>`, `OAuth2 state. You receive this back in the redirect URI.`).option(`--nonce <nonce>`, `OIDC nonce parameter to prevent replay attacks. Required when response_type includes \`id_token\`.`).option(`--code-_challenge <code-_challenge>`, `PKCE code challenge. Required when OAuth2 app is public.`).option(`--code-_challenge-_method <code-_challenge-_method>`, `PKCE code challenge method. Required when OAuth2 app is public.`).option(`--prompt <prompt>`, `OIDC prompt parameter for customization of consent screen. Space-separated list of: none, login, consent, select_account.`).option(`--max-_age <max-_age>`, `OIDC max_age paraleter for customization of consent screen. Maximum allowable elapsed time in seconds since the user last authenticated. If exceeded, re-authentication is required.`, parseInteger).option(`--authorization-_details <authorization-_details>`, `Rich authorization request. JSON array of objects, each with a \`type\` and project-defined fields`).action(
152465
+ var oauth2AuthorizeCommand = oauth2.command(`authorize`).description(`Begin the OAuth2 authorization flow. When called without a session, the user is redirected to the consent screen without grant ID. When called with a session, the redirect URL includes param for grant ID. You can pass Accept header of \`application/json\` to receive a JSON response instead of a redirect.`).requiredOption(`--client-_id <client-_id>`, `OAuth2 client ID.`).requiredOption(`--redirect-_uri <redirect-_uri>`, `Redirect URI where visitor will be redirected after authorization, whether successful or not.`).requiredOption(`--response-_type <response-_type>`, `OAuth2 / OIDC response type. One of \`code\` (Authorization Code Flow), \`id_token\` (Implicit Flow, OIDC login only), or \`code id_token\` (Hybrid Flow).`).requiredOption(`--scope <scope>`, `Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: \`openid\`, \`email\`, \`profile\`.`).option(`--state <state>`, `OAuth2 state. You receive this back in the redirect URI.`).option(`--nonce <nonce>`, `OIDC nonce parameter to prevent replay attacks. Required when response_type includes \`id_token\`.`).option(`--code-_challenge <code-_challenge>`, `PKCE code challenge. Required when OAuth2 app is public.`).option(`--code-_challenge-_method <code-_challenge-_method>`, `PKCE code challenge method. Required when OAuth2 app is public.`).option(`--prompt <prompt>`, `OIDC prompt parameter for customization of consent screen. Space-separated list of: none, login, consent, select_account.`).option(`--max-_age <max-_age>`, `OIDC max_age paraleter for customization of consent screen. Maximum allowable elapsed time in seconds since the user last authenticated. If exceeded, re-authentication is required.`, parseInteger).option(`--authorization-_details <authorization-_details>`, `Rich authorization request. JSON array of objects, each with a \`type\` and project-defined fields`).option(`--resource <resource>`, `RFC 8707 resource indicator URI or URI list. Each value must be an absolute URI without a fragment.`).action(
152356
152466
  actionRunner(
152357
- async ({ client_id, redirect_uri, response_type, scope, state, nonce, code_challenge, code_challenge_method, prompt, max_age, authorization_details }) => parse3(await (await getOauth2Client()).authorize(client_id, redirect_uri, response_type, scope, state, nonce, code_challenge, code_challenge_method, prompt, max_age, authorization_details))
152467
+ async ({ client_id, redirect_uri, response_type, scope, state, nonce, code_challenge, code_challenge_method, prompt, max_age, authorization_details, resource }) => parse3(await (await getOauth2Client()).authorize(client_id, redirect_uri, response_type, scope, state, nonce, code_challenge, code_challenge_method, prompt, max_age, authorization_details, resource))
152358
152468
  )
152359
152469
  );
152360
- var oauth2CreateDeviceAuthorizationCommand = oauth2.command(`create-device-authorization`).description(`Start the OAuth2 Device Authorization Grant. Returns the device code, user code, verification URL, expiration, and polling interval.`).option(`--client-_id <client-_id>`, `OAuth2 client ID.`).option(`--scope <scope>`, `Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: \`openid\`, \`email\`, \`profile\`.`).option(`--authorization-_details <authorization-_details>`, `Rich authorization request. JSON array of objects, each with a \`type\` and project-defined fields`).action(
152470
+ var oauth2CreateDeviceAuthorizationCommand = oauth2.command(`create-device-authorization`).description(`Start the OAuth2 Device Authorization Grant. Returns the device code, user code, verification URL, expiration, and polling interval.`).option(`--client-_id <client-_id>`, `OAuth2 client ID.`).option(`--scope <scope>`, `Space-separated OAuth2 scopes. Can include project scopes, and built-in scopes: \`openid\`, \`email\`, \`profile\`.`).option(`--authorization-_details <authorization-_details>`, `Rich authorization request. JSON array of objects, each with a \`type\` and project-defined fields`).option(`--resource <resource>`, `RFC 8707 resource indicator URI or URI list. Each value must be an absolute URI without a fragment.`).action(
152361
152471
  actionRunner(
152362
- async ({ client_id, scope, authorization_details }) => parse3(await (await getOauth2Client()).createDeviceAuthorization(client_id, scope, authorization_details))
152472
+ async ({ client_id, scope, authorization_details, resource }) => parse3(await (await getOauth2Client()).createDeviceAuthorization(client_id, scope, authorization_details, resource))
152363
152473
  )
152364
152474
  );
152365
152475
  var oauth2CreateGrantCommand = oauth2.command(`create-grant`).description(`Exchange a device flow user code for an OAuth2 grant. The authenticated user is bound to the pending grant. Pass the returned grant ID to the get grant endpoint to render the consent screen, then to the approve or reject endpoint to complete the flow.`).requiredOption(`--user-_code <user-_code>`, `User code displayed on the device.`).action(
@@ -152387,9 +152497,9 @@ var oauth2RevokeCommand = oauth2.command(`revoke`).description(`Revoke an OAuth2
152387
152497
  async ({ token, token_type_hint, client_id, client_secret }) => parse3(await (await getOauth2Client()).revoke(token, token_type_hint, client_id, client_secret))
152388
152498
  )
152389
152499
  );
152390
- var oauth2CreateTokenCommand = oauth2.command(`create-token`).description(`Exchange an OAuth2 authorization code, refresh token, or device code for access and refresh tokens.`).requiredOption(`--grant-_type <grant-_type>`, `OAuth2 grant type. Can be one of: \`authorization_code\`, \`refresh_token\`, \`urn:ietf:params:oauth:grant-type:device_code\`.`).option(`--code <code>`, `Authorization code to be exchanged for access and refresh tokens. Required for \`authorization_code\` grant type.`).option(`--refresh-_token <refresh-_token>`, `Refresh token to be exchanged for a new access and refresh tokens. Required for \`refresh_token\` grant type.`).option(`--device-_code <device-_code>`, `Device code obtained from the device authorization endpoint. Required for \`urn:ietf:params:oauth:grant-type:device_code\` grant type.`).option(`--client-_id <client-_id>`, `OAuth2 client ID.`).option(`--client-_secret <client-_secret>`, `OAuth2 client secret. Required for confidential apps.`).option(`--code-_verifier <code-_verifier>`, `PKCE code verifier. Required for public apps.`).option(`--redirect-_uri <redirect-_uri>`, `Redirect URI. Required for \`authorization_code\` grant type.`).action(
152500
+ var oauth2CreateTokenCommand = oauth2.command(`create-token`).description(`Exchange an OAuth2 authorization code, refresh token, or device code for access and refresh tokens.`).requiredOption(`--grant-_type <grant-_type>`, `OAuth2 grant type. Can be one of: \`authorization_code\`, \`refresh_token\`, \`urn:ietf:params:oauth:grant-type:device_code\`.`).option(`--code <code>`, `Authorization code to be exchanged for access and refresh tokens. Required for \`authorization_code\` grant type.`).option(`--refresh-_token <refresh-_token>`, `Refresh token to be exchanged for a new access and refresh tokens. Required for \`refresh_token\` grant type.`).option(`--device-_code <device-_code>`, `Device code obtained from the device authorization endpoint. Required for \`urn:ietf:params:oauth:grant-type:device_code\` grant type.`).option(`--client-_id <client-_id>`, `OAuth2 client ID.`).option(`--client-_secret <client-_secret>`, `OAuth2 client secret. Required for confidential apps.`).option(`--code-_verifier <code-_verifier>`, `PKCE code verifier. Required for public apps.`).option(`--redirect-_uri <redirect-_uri>`, `Redirect URI. Required for \`authorization_code\` grant type.`).option(`--resource <resource>`, `RFC 8707 resource indicator URI or URI list. Each value must be an absolute URI without a fragment.`).action(
152391
152501
  actionRunner(
152392
- async ({ grant_type, code, refresh_token, device_code, client_id, client_secret, code_verifier, redirect_uri }) => parse3(await (await getOauth2Client()).createToken(grant_type, code, refresh_token, device_code, client_id, client_secret, code_verifier, redirect_uri))
152502
+ async ({ grant_type, code, refresh_token, device_code, client_id, client_secret, code_verifier, redirect_uri, resource }) => parse3(await (await getOauth2Client()).createToken(grant_type, code, refresh_token, device_code, client_id, client_secret, code_verifier, redirect_uri, resource))
152393
152503
  )
152394
152504
  );
152395
152505
 
package/dist/index.cjs CHANGED
@@ -65125,7 +65125,7 @@ var id_default = ID;
65125
65125
  // lib/constants.ts
65126
65126
  var SDK_TITLE = "Appwrite";
65127
65127
  var SDK_TITLE_LOWER = "appwrite";
65128
- var SDK_VERSION = "22.1.1";
65128
+ var SDK_VERSION = "22.1.3";
65129
65129
  var SDK_LOGO = "\n _ _ _ ___ __ _____\n /_\\ _ __ _ ____ ___ __(_) |_ ___ / __\\ / / \\_ \\\n //_\\\\| '_ \\| '_ \\ \\ /\\ / / '__| | __/ _ \\ / / / / / /\\/\n / _ \\ |_) | |_) \\ V V /| | | | || __/ / /___/ /___/\\/ /_\n \\_/ \\_/ .__/| .__/ \\_/\\_/ |_| |_|\\__\\___| \\____/\\____/\\____/\n |_| |_|\n\n";
65130
65130
  var EXECUTABLE_NAME = "appwrite";
65131
65131
  var UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1e3;
@@ -80352,7 +80352,7 @@ var Client = class _Client {
80352
80352
  "x-sdk-name": "Console",
80353
80353
  "x-sdk-platform": "console",
80354
80354
  "x-sdk-language": "web",
80355
- "x-sdk-version": "15.0.0",
80355
+ "x-sdk-version": "15.1.0",
80356
80356
  "X-Appwrite-Response-Format": "1.9.5"
80357
80357
  };
80358
80358
  this.realtime = {
@@ -89383,7 +89383,8 @@ var Oauth2 = class {
89383
89383
  codeChallengeMethod: rest[6],
89384
89384
  prompt: rest[7],
89385
89385
  maxAge: rest[8],
89386
- authorizationDetails: rest[9]
89386
+ authorizationDetails: rest[9],
89387
+ resource: rest[10]
89387
89388
  };
89388
89389
  }
89389
89390
  const clientId = params.clientId;
@@ -89397,6 +89398,7 @@ var Oauth2 = class {
89397
89398
  const prompt = params.prompt;
89398
89399
  const maxAge = params.maxAge;
89399
89400
  const authorizationDetails = params.authorizationDetails;
89401
+ const resource = params.resource;
89400
89402
  if (typeof clientId === "undefined") {
89401
89403
  throw new AppwriteException('Missing required parameter: "clientId"');
89402
89404
  }
@@ -89444,6 +89446,9 @@ var Oauth2 = class {
89444
89446
  if (typeof authorizationDetails !== "undefined") {
89445
89447
  payload["authorization_details"] = authorizationDetails;
89446
89448
  }
89449
+ if (typeof resource !== "undefined") {
89450
+ payload["resource"] = resource;
89451
+ }
89447
89452
  const uri = new URL(this.client.config.endpoint + apiPath);
89448
89453
  const apiHeaders = {
89449
89454
  "accept": "application/json"
@@ -89458,12 +89463,14 @@ var Oauth2 = class {
89458
89463
  params = {
89459
89464
  clientId: paramsOrFirst,
89460
89465
  scope: rest[0],
89461
- authorizationDetails: rest[1]
89466
+ authorizationDetails: rest[1],
89467
+ resource: rest[2]
89462
89468
  };
89463
89469
  }
89464
89470
  const clientId = params.clientId;
89465
89471
  const scope = params.scope;
89466
89472
  const authorizationDetails = params.authorizationDetails;
89473
+ const resource = params.resource;
89467
89474
  const apiPath = "/oauth2/{project_id}/device_authorization".replace("{project_id}", encodeURIComponent(String(this.client.config.project)));
89468
89475
  const payload = {};
89469
89476
  if (typeof clientId !== "undefined") {
@@ -89475,6 +89482,9 @@ var Oauth2 = class {
89475
89482
  if (typeof authorizationDetails !== "undefined") {
89476
89483
  payload["authorization_details"] = authorizationDetails;
89477
89484
  }
89485
+ if (typeof resource !== "undefined") {
89486
+ payload["resource"] = resource;
89487
+ }
89478
89488
  const uri = new URL(this.client.config.endpoint + apiPath);
89479
89489
  const apiHeaders = {
89480
89490
  "content-type": "application/json",
@@ -89652,7 +89662,8 @@ var Oauth2 = class {
89652
89662
  clientId: rest[3],
89653
89663
  clientSecret: rest[4],
89654
89664
  codeVerifier: rest[5],
89655
- redirectUri: rest[6]
89665
+ redirectUri: rest[6],
89666
+ resource: rest[7]
89656
89667
  };
89657
89668
  }
89658
89669
  const grantType = params.grantType;
@@ -89663,6 +89674,7 @@ var Oauth2 = class {
89663
89674
  const clientSecret = params.clientSecret;
89664
89675
  const codeVerifier = params.codeVerifier;
89665
89676
  const redirectUri = params.redirectUri;
89677
+ const resource = params.resource;
89666
89678
  if (typeof grantType === "undefined") {
89667
89679
  throw new AppwriteException('Missing required parameter: "grantType"');
89668
89680
  }
@@ -89692,6 +89704,9 @@ var Oauth2 = class {
89692
89704
  if (typeof redirectUri !== "undefined") {
89693
89705
  payload["redirect_uri"] = redirectUri;
89694
89706
  }
89707
+ if (typeof resource !== "undefined") {
89708
+ payload["resource"] = resource;
89709
+ }
89695
89710
  const uri = new URL(this.client.config.endpoint + apiPath);
89696
89711
  const apiHeaders = {
89697
89712
  "content-type": "application/json",
@@ -104431,7 +104446,7 @@ var package_default = {
104431
104446
  type: "module",
104432
104447
  homepage: "https://appwrite.io/support",
104433
104448
  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",
104434
- version: "22.1.1",
104449
+ version: "22.1.3",
104435
104450
  license: "BSD-3-Clause",
104436
104451
  main: "dist/index.cjs",
104437
104452
  module: "dist/index.js",
@@ -104479,7 +104494,7 @@ var package_default = {
104479
104494
  "windows-arm64": "bun build cli.ts --compile --minify --target=bun-windows-arm64 --outfile build/appwrite-cli-win-arm64.exe"
104480
104495
  },
104481
104496
  dependencies: {
104482
- "@appwrite.io/console": "^15.0.0",
104497
+ "@appwrite.io/console": "^15.1.0",
104483
104498
  chalk: "4.1.2",
104484
104499
  chokidar: "^3.6.0",
104485
104500
  "cli-progress": "^3.12.0",
package/dist/index.js CHANGED
@@ -65105,7 +65105,7 @@ var id_default = ID;
65105
65105
  // lib/constants.ts
65106
65106
  var SDK_TITLE = "Appwrite";
65107
65107
  var SDK_TITLE_LOWER = "appwrite";
65108
- var SDK_VERSION = "22.1.1";
65108
+ var SDK_VERSION = "22.1.3";
65109
65109
  var SDK_LOGO = "\n _ _ _ ___ __ _____\n /_\\ _ __ _ ____ ___ __(_) |_ ___ / __\\ / / \\_ \\\n //_\\\\| '_ \\| '_ \\ \\ /\\ / / '__| | __/ _ \\ / / / / / /\\/\n / _ \\ |_) | |_) \\ V V /| | | | || __/ / /___/ /___/\\/ /_\n \\_/ \\_/ .__/| .__/ \\_/\\_/ |_| |_|\\__\\___| \\____/\\____/\\____/\n |_| |_|\n\n";
65110
65110
  var EXECUTABLE_NAME = "appwrite";
65111
65111
  var UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1e3;
@@ -80332,7 +80332,7 @@ var Client = class _Client {
80332
80332
  "x-sdk-name": "Console",
80333
80333
  "x-sdk-platform": "console",
80334
80334
  "x-sdk-language": "web",
80335
- "x-sdk-version": "15.0.0",
80335
+ "x-sdk-version": "15.1.0",
80336
80336
  "X-Appwrite-Response-Format": "1.9.5"
80337
80337
  };
80338
80338
  this.realtime = {
@@ -89363,7 +89363,8 @@ var Oauth2 = class {
89363
89363
  codeChallengeMethod: rest[6],
89364
89364
  prompt: rest[7],
89365
89365
  maxAge: rest[8],
89366
- authorizationDetails: rest[9]
89366
+ authorizationDetails: rest[9],
89367
+ resource: rest[10]
89367
89368
  };
89368
89369
  }
89369
89370
  const clientId = params.clientId;
@@ -89377,6 +89378,7 @@ var Oauth2 = class {
89377
89378
  const prompt = params.prompt;
89378
89379
  const maxAge = params.maxAge;
89379
89380
  const authorizationDetails = params.authorizationDetails;
89381
+ const resource = params.resource;
89380
89382
  if (typeof clientId === "undefined") {
89381
89383
  throw new AppwriteException('Missing required parameter: "clientId"');
89382
89384
  }
@@ -89424,6 +89426,9 @@ var Oauth2 = class {
89424
89426
  if (typeof authorizationDetails !== "undefined") {
89425
89427
  payload["authorization_details"] = authorizationDetails;
89426
89428
  }
89429
+ if (typeof resource !== "undefined") {
89430
+ payload["resource"] = resource;
89431
+ }
89427
89432
  const uri = new URL(this.client.config.endpoint + apiPath);
89428
89433
  const apiHeaders = {
89429
89434
  "accept": "application/json"
@@ -89438,12 +89443,14 @@ var Oauth2 = class {
89438
89443
  params = {
89439
89444
  clientId: paramsOrFirst,
89440
89445
  scope: rest[0],
89441
- authorizationDetails: rest[1]
89446
+ authorizationDetails: rest[1],
89447
+ resource: rest[2]
89442
89448
  };
89443
89449
  }
89444
89450
  const clientId = params.clientId;
89445
89451
  const scope = params.scope;
89446
89452
  const authorizationDetails = params.authorizationDetails;
89453
+ const resource = params.resource;
89447
89454
  const apiPath = "/oauth2/{project_id}/device_authorization".replace("{project_id}", encodeURIComponent(String(this.client.config.project)));
89448
89455
  const payload = {};
89449
89456
  if (typeof clientId !== "undefined") {
@@ -89455,6 +89462,9 @@ var Oauth2 = class {
89455
89462
  if (typeof authorizationDetails !== "undefined") {
89456
89463
  payload["authorization_details"] = authorizationDetails;
89457
89464
  }
89465
+ if (typeof resource !== "undefined") {
89466
+ payload["resource"] = resource;
89467
+ }
89458
89468
  const uri = new URL(this.client.config.endpoint + apiPath);
89459
89469
  const apiHeaders = {
89460
89470
  "content-type": "application/json",
@@ -89632,7 +89642,8 @@ var Oauth2 = class {
89632
89642
  clientId: rest[3],
89633
89643
  clientSecret: rest[4],
89634
89644
  codeVerifier: rest[5],
89635
- redirectUri: rest[6]
89645
+ redirectUri: rest[6],
89646
+ resource: rest[7]
89636
89647
  };
89637
89648
  }
89638
89649
  const grantType = params.grantType;
@@ -89643,6 +89654,7 @@ var Oauth2 = class {
89643
89654
  const clientSecret = params.clientSecret;
89644
89655
  const codeVerifier = params.codeVerifier;
89645
89656
  const redirectUri = params.redirectUri;
89657
+ const resource = params.resource;
89646
89658
  if (typeof grantType === "undefined") {
89647
89659
  throw new AppwriteException('Missing required parameter: "grantType"');
89648
89660
  }
@@ -89672,6 +89684,9 @@ var Oauth2 = class {
89672
89684
  if (typeof redirectUri !== "undefined") {
89673
89685
  payload["redirect_uri"] = redirectUri;
89674
89686
  }
89687
+ if (typeof resource !== "undefined") {
89688
+ payload["resource"] = resource;
89689
+ }
89675
89690
  const uri = new URL(this.client.config.endpoint + apiPath);
89676
89691
  const apiHeaders = {
89677
89692
  "content-type": "application/json",
@@ -104411,7 +104426,7 @@ var package_default = {
104411
104426
  type: "module",
104412
104427
  homepage: "https://appwrite.io/support",
104413
104428
  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",
104414
- version: "22.1.1",
104429
+ version: "22.1.3",
104415
104430
  license: "BSD-3-Clause",
104416
104431
  main: "dist/index.cjs",
104417
104432
  module: "dist/index.js",
@@ -104459,7 +104474,7 @@ var package_default = {
104459
104474
  "windows-arm64": "bun build cli.ts --compile --minify --target=bun-windows-arm64 --outfile build/appwrite-cli-win-arm64.exe"
104460
104475
  },
104461
104476
  dependencies: {
104462
- "@appwrite.io/console": "^15.0.0",
104477
+ "@appwrite.io/console": "^15.1.0",
104463
104478
  chalk: "4.1.2",
104464
104479
  chokidar: "^3.6.0",
104465
104480
  "cli-progress": "^3.12.0",
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../lib/auth/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAoE5D,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAqBpE,CAAC;AAqRF,eAAO,MAAM,YAAY,GAAU,mFAQhC;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,KAAG,OAAO,CAAC,IAAI,CAqFf,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../lib/auth/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA4H5D,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAqBpE,CAAC;AAmSF,eAAO,MAAM,YAAY,GAAU,mFAQhC;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,KAAG,OAAO,CAAC,IAAI,CAqFf,CAAC"}
@@ -24,7 +24,10 @@ export declare const removeCurrentSession: () => void;
24
24
  * legacy cookie sessions delete the current server session. Returns whether
25
25
  * the server-side cleanup succeeded.
26
26
  */
27
- export declare const deleteServerSession: (sessionId: string) => Promise<boolean>;
27
+ export declare const deleteServerSession: (sessionId: string) => Promise<{
28
+ deleted: boolean;
29
+ error?: string;
30
+ }>;
28
31
  /**
29
32
  * Log out a set of session IDs: local-only sessions are removed locally;
30
33
  * the rest are revoked server-side and removed locally on success. Returns
@@ -33,6 +36,7 @@ export declare const deleteServerSession: (sessionId: string) => Promise<boolean
33
36
  export declare const logoutSessions: (sessionIds: string[]) => Promise<{
34
37
  failed: number;
35
38
  failedIds: string[];
39
+ errors: string[];
36
40
  }>;
37
41
  export declare const removeLegacySessionsExcept: (sessionIdToKeep: string) => Promise<{
38
42
  removed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../lib/auth/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAIxC;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,KAAG,WAAW,GAAG,SACL,CAAC;AAEzD,eAAO,MAAM,yBAAyB,GACpC,UAAU,MAAM,EAChB,aAAY,OAAsC,KACjD,YAQF,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,OACuC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,OAGtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,OAGnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,KAAG,MAAM,GAAG,SAMjE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,KAAG,IAIzD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,EAC1B,oBAAoB,MAAM,EAAE,KAC3B,IAOF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,IAIvC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,CAmCjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAAE,KACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBjD,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,iBAAiB,MAAM,KACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmB7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,oBAAoB,MAAM,EAAE,KAAG,MAAM,EAwBtE,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../lib/auth/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAIxC;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,KAAG,WAAW,GAAG,SACL,CAAC;AAEzD,eAAO,MAAM,yBAAyB,GACpC,UAAU,MAAM,EAChB,aAAY,OAAsC,KACjD,YAQF,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,OACuC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,OAGtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,OAGnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,KAAG,MAAM,GAAG,SAMjE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,KAAG,IAIzD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,oBAAoB,MAAM,EAC1B,oBAAoB,MAAM,EAAE,KAC3B,IAOF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,IAIvC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,KAChB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsC9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAAE,KACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAyBnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,iBAAiB,MAAM,KACtB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmB7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,oBAAoB,MAAM,EAAE,KAAG,MAAM,EAwBtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../lib/commands/generic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,OAAO,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQnE,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,eAAO,MAAM,MAAM,SAgChB,CAAC;AAEJ,eAAO,MAAM,QAAQ,SAMlB,CAAC;AAEJ,eAAO,MAAM,KAAK,SAkBmB,CAAC;AAEtC,eAAO,MAAM,MAAM,SAuEhB,CAAC;AAWJ,eAAO,MAAM,MAAM,SAwIhB,CAAC;AAEJ,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,CAmB5C,CAAC"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../lib/commands/generic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,EAAqB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQnE,OAAO,EAAE,YAAY,EAAE,CAAC;AAaxB,eAAO,MAAM,MAAM,SAgChB,CAAC;AAEJ,eAAO,MAAM,QAAQ,SAMlB,CAAC;AAEJ,eAAO,MAAM,KAAK,SAkBmB,CAAC;AAEtC,eAAO,MAAM,MAAM,SA0EhB,CAAC;AAWJ,eAAO,MAAM,MAAM,SAuIhB,CAAC;AAEJ,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,CAmB5C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export declare const SDK_TITLE = "Appwrite";
2
2
  export declare const SDK_TITLE_LOWER = "appwrite";
3
- export declare const SDK_VERSION = "22.1.1";
3
+ export declare const SDK_VERSION = "22.1.3";
4
4
  export declare const SDK_NAME = "Command Line";
5
5
  export declare const SDK_PLATFORM = "console";
6
6
  export declare const SDK_LANGUAGE = "cli";
@@ -15,7 +15,7 @@ export declare const GITHUB_REPO = "appwrite/sdk-for-cli";
15
15
  export declare const GITHUB_RELEASES_URL = "https://github.com/appwrite/sdk-for-cli/releases";
16
16
  export declare const DEFAULT_ENDPOINT = "https://cloud.appwrite.io/v1";
17
17
  export declare const OAUTH2_CLIENT_ID = "appwrite-cli";
18
- export declare const OAUTH2_SCOPES = "openid email profile";
18
+ export declare const OAUTH2_SCOPES = "openid email profile account.admin";
19
19
  export declare const CONFIG_RESOURCE_KEYS: readonly ["databases", "functions", "topics", "messages", "sites", "buckets", "tablesDB", "tables", "teams", "webhooks", "collections"];
20
20
  export declare const TOP_LEVEL_RESOURCE_ARRAY_KEYS: Set<string>;
21
21
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,QAAQ,wXAA4Z,CAAC;AAGlb,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAG5D,eAAO,MAAM,YAAY,sBAAsB,CAAC;AAChD,eAAO,MAAM,gBAAgB,+BAA6B,CAAC;AAG3D,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,mDAA0D,CAAC;AAGxF,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,mBAAmB,qDAA+C,CAAC;AAGhF,eAAO,MAAM,gBAAgB,iCAAiC,CAAC;AAG/D,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,aAAa,yBAAyB,CAAC;AAGpD,eAAO,MAAM,oBAAoB,yIAYvB,CAAC;AAEX,eAAO,MAAM,6BAA6B,aAEzC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,QAAQ,wXAA4Z,CAAC;AAGlb,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAG5D,eAAO,MAAM,YAAY,sBAAsB,CAAC;AAChD,eAAO,MAAM,gBAAgB,+BAA6B,CAAC;AAG3D,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,mDAA0D,CAAC;AAGxF,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,mBAAmB,qDAA+C,CAAC;AAGhF,eAAO,MAAM,gBAAgB,iCAAiC,CAAC;AAG/D,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,aAAa,uCAAuC,CAAC;AAGlE,eAAO,MAAM,oBAAoB,yIAYvB,CAAC;AAEX,eAAO,MAAM,6BAA6B,aAEzC,CAAC"}
@@ -45,6 +45,7 @@ export declare function getCachedUpdateNotification(currentVersion: string): Pro
45
45
  export declare function getAllFiles(folder: string): string[];
46
46
  export declare function isPortTaken(port: number): Promise<boolean>;
47
47
  export declare function systemHasCommand(command: string): boolean;
48
+ export declare function openBrowser(url: string): void;
48
49
  type DeployLocalConfig = {
49
50
  keys: () => string[];
50
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "type": "module",
4
4
  "homepage": "https://appwrite.io/support",
5
5
  "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",
6
- "version": "22.1.1",
6
+ "version": "22.1.3",
7
7
  "license": "BSD-3-Clause",
8
8
  "main": "dist/index.cjs",
9
9
  "module": "dist/index.js",
@@ -51,7 +51,7 @@
51
51
  "windows-arm64": "bun build cli.ts --compile --minify --target=bun-windows-arm64 --outfile build/appwrite-cli-win-arm64.exe"
52
52
  },
53
53
  "dependencies": {
54
- "@appwrite.io/console": "^15.0.0",
54
+ "@appwrite.io/console": "^15.1.0",
55
55
  "chalk": "4.1.2",
56
56
  "chokidar": "^3.6.0",
57
57
  "cli-progress": "^3.12.0",