@project-ajax/cli 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,wEAyCvB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,wEA0EvB,CAAC"}
@@ -8,5 +8,9 @@ interface LoginFlags {
8
8
  }
9
9
  export declare const login: (this: import("../context.js").LocalContext, flags: GlobalFlags & LoginFlags) => Promise<void>;
10
10
  export declare const show: (this: import("../context.js").LocalContext, flags: GlobalFlags) => Promise<void>;
11
+ interface LogoutFlags {
12
+ all: boolean;
13
+ }
14
+ export declare const logout: (this: import("../context.js").LocalContext, flags: GlobalFlags & LogoutFlags, spaceId?: string | undefined) => Promise<void>;
11
15
  export {};
12
16
  //# sourceMappingURL=auth.impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.impl.d.ts","sourceRoot":"","sources":["../../src/commands/auth.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiHlE,wBAAsB,QAAQ,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,iBA+CxC;AAiFD,UAAU,UAAU;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,gGAKhB,CAAC;AAEH,eAAO,MAAM,IAAI,mFAGf,CAAC"}
1
+ {"version":3,"file":"auth.impl.d.ts","sourceRoot":"","sources":["../../src/commands/auth.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAiHlE,wBAAsB,QAAQ,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,iBA+CxC;AAiFD,UAAU,UAAU;IACnB,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,gGAKhB,CAAC;AAEH,eAAO,MAAM,IAAI,mFAGf,CAAC;AAEH,UAAU,WAAW;IACpB,GAAG,EAAE,OAAO,CAAC;CACb;AAED,eAAO,MAAM,MAAM,+HAuDjB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { buildHandler } from "../handler.js";
2
- import { fetchToken, parseToken } from "../token.js";
2
+ import { deleteToken, fetchToken, parseToken } from "../token.js";
3
3
  import { openNotionUrl } from "../utils/openUrl.js";
4
4
  const NEW_SPACE_VALUE = "__new_space__";
5
5
  async function loginFetch(baseUrl, endpoint, body) {
@@ -156,8 +156,49 @@ const show = buildHandler(async function() {
156
156
  const tokenAndInfo = await this.config.getToken();
157
157
  this.io.writeOut(`${tokenAndInfo?.[0] ?? ""}`);
158
158
  });
159
+ const logout = buildHandler(async function(flags, spaceId) {
160
+ if (flags.all) {
161
+ const cachedSpaces2 = this.config.getCachedSpaces();
162
+ if (cachedSpaces2.length === 0) {
163
+ this.io.writeErr("No authenticated spaces found.");
164
+ return;
165
+ }
166
+ this.io.writeErr(`Logging out from ${cachedSpaces2.length} space(s)...`);
167
+ let deletedCount = 0;
168
+ for (const space2 of cachedSpaces2) {
169
+ const deleted2 = await deleteToken(space2.id);
170
+ if (deleted2) {
171
+ deletedCount++;
172
+ this.io.writeErr(` Logged out from "${space2.name}"`);
173
+ }
174
+ }
175
+ if (deletedCount > 0) {
176
+ this.io.writeErr(`Logged out from ${deletedCount} space(s).`);
177
+ } else {
178
+ this.io.writeErr("No tokens found to remove.");
179
+ }
180
+ return;
181
+ }
182
+ const targetSpaceId = spaceId ?? this.config.spaceId;
183
+ if (!targetSpaceId) {
184
+ this.io.writeErr(
185
+ "No space specified and no default space configured. Use 'workers auth logout <spaceId>' or 'workers auth logout --all'."
186
+ );
187
+ return;
188
+ }
189
+ const cachedSpaces = this.config.getCachedSpaces();
190
+ const space = cachedSpaces.find((s) => s.id === targetSpaceId);
191
+ const spaceName = space?.name ?? targetSpaceId;
192
+ const deleted = await deleteToken(targetSpaceId);
193
+ if (deleted) {
194
+ this.io.writeErr(`Logged out from "${spaceName}".`);
195
+ } else {
196
+ this.io.writeErr(`No token found for "${spaceName}".`);
197
+ }
198
+ });
159
199
  export {
160
200
  login,
201
+ logout,
161
202
  runLogin,
162
203
  show
163
204
  };
@@ -34,6 +34,38 @@ Opens a browser window for you to authenticate and select a workspace.
34
34
  }
35
35
  },
36
36
  loader: () => import("./auth.impl.js").then((m) => m.show)
37
+ }),
38
+ logout: buildCommand({
39
+ docs: {
40
+ brief: "Log out from a space",
41
+ fullDescription: `Removes authentication token from the system keychain.
42
+
43
+ By default, logs out from the current space (from local config or default space).
44
+ Use a space ID argument to log out from a specific space.
45
+ Use --all to log out from all authenticated spaces.`
46
+ },
47
+ parameters: {
48
+ positional: {
49
+ kind: "tuple",
50
+ parameters: [
51
+ {
52
+ brief: "The space ID to log out from (optional)",
53
+ parse: String,
54
+ placeholder: "spaceId",
55
+ optional: true
56
+ }
57
+ ]
58
+ },
59
+ flags: {
60
+ ...globalFlags,
61
+ all: {
62
+ kind: "boolean",
63
+ brief: "Log out from all spaces",
64
+ default: false
65
+ }
66
+ }
67
+ },
68
+ loader: () => import("./auth.impl.js").then((m) => m.logout)
37
69
  })
38
70
  }
39
71
  });
package/dist/config.d.ts CHANGED
@@ -22,7 +22,12 @@ declare const LocalConfig: z.ZodObject<{
22
22
  export type LocalConfig = z.infer<typeof LocalConfig>;
23
23
  declare const GlobalConfig: z.ZodObject<{
24
24
  version: z.ZodLiteral<"1">;
25
- defaultSpaceId: z.ZodNullable<z.ZodString>;
25
+ defaultSpaceIds: z.ZodObject<{
26
+ local: z.ZodOptional<z.ZodString>;
27
+ dev: z.ZodOptional<z.ZodString>;
28
+ stg: z.ZodOptional<z.ZodString>;
29
+ prod: z.ZodOptional<z.ZodString>;
30
+ }, z.z.core.$strip>;
26
31
  }, z.z.core.$strip>;
27
32
  export type GlobalConfig = z.infer<typeof GlobalConfig>;
28
33
  export declare class NoSuitableConfigFileError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAIN,KAAK,SAAS,EAEd,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,WAAW,gDAA6C,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;;mBAMd,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,QAAA,MAAM,WAAW;;;;;;mBAMf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAatD,QAAA,MAAM,YAAY;;;;;;;;mBAUhB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBAAa,MAAM;;gBAeN,IAAI,EAAE;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,YAAY,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,WAAW,CAAC;QACzB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,WAAW,EAAE,WAAW,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB;IAeD,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAE5B;IAED;;;;;;;OAOG;IACH,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAS/C;;;;OAIG;IACH,eAAe,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAItE;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;IAmBvE;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IASpE;;;;;;;;;;OAUG;IACG,KAAK,CAAC,IAAI,EAAE;QACjB,WAAW,EAAE,WAAW,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KACf;IAqBD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IAM1B;;;;;;;;OAQG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAwDpC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS;IAiBnE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE;QACpC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACvB,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,MAAM;IAiCV;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACvB,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,MAAM;IA4CV;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAC5B,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAChD,MAAM;IAoBT;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC;KACnB,GAAG,MAAM;IAqEV;;OAEG;IACH,MAAM,KAAK,gBAAgB,IAAI,WAAW,CAEzC;IAED;;OAEG;IACH,MAAM,KAAK,eAAe,IAAI,UAAU,CAEvC;IAED;;OAEG;IACH,MAAM,KAAK,iBAAiB,IAAI,YAAY,CAK3C;CACD"}
package/dist/config.js CHANGED
@@ -32,7 +32,12 @@ const LocalConfigV0 = z.object({
32
32
  }).partial();
33
33
  const GlobalConfig = z.object({
34
34
  version: z.literal("1"),
35
- defaultSpaceId: z.string().nullable()
35
+ defaultSpaceIds: z.object({
36
+ local: z.string(),
37
+ dev: z.string(),
38
+ stg: z.string(),
39
+ prod: z.string()
40
+ }).partial()
36
41
  });
37
42
  class NoSuitableConfigFileError extends Error {
38
43
  constructor() {
@@ -88,7 +93,7 @@ class Config {
88
93
  * @returns The default space ID, or null if not set.
89
94
  */
90
95
  get defaultSpaceId() {
91
- return this.#globalConfig.defaultSpaceId;
96
+ return this.#globalConfig.defaultSpaceIds[this.#environment] ?? null;
92
97
  }
93
98
  /**
94
99
  * Set the default space ID in global user config.
@@ -99,7 +104,11 @@ class Config {
99
104
  * @param spaceId The space ID to set as default, or null to clear.
100
105
  */
101
106
  setDefaultSpaceId(spaceId) {
102
- this.#globalConfig.defaultSpaceId = spaceId;
107
+ if (spaceId) {
108
+ this.#globalConfig.defaultSpaceIds[this.#environment] = spaceId;
109
+ } else {
110
+ delete this.#globalConfig.defaultSpaceIds[this.#environment];
111
+ }
103
112
  this.#writeGlobalConfig();
104
113
  }
105
114
  /**
@@ -425,7 +434,7 @@ class Config {
425
434
  );
426
435
  const baseURLOverride = env.WORKERS_BASE_URL ?? flags["base-url"] ?? localConfig.baseURL;
427
436
  const baseURL = baseURLOverride ?? baseUrlForEnvironment(environment);
428
- const spaceId = flags.space ?? env.WORKERS_SPACE_ID ?? localConfig.spaceId ?? globalConfig.defaultSpaceId;
437
+ const spaceId = flags.space ?? env.WORKERS_SPACE_ID ?? localConfig.spaceId ?? globalConfig.defaultSpaceIds[environment] ?? null;
429
438
  const workerId = localConfig.workerId;
430
439
  const token = env.WORKERS_TOKEN ?? flags.token ?? null;
431
440
  return new Config({
@@ -459,7 +468,10 @@ class Config {
459
468
  * The empty global config.
460
469
  */
461
470
  static get emptyGlobalConfig() {
462
- return { version: "1", defaultSpaceId: null };
471
+ return {
472
+ version: "1",
473
+ defaultSpaceIds: {}
474
+ };
463
475
  }
464
476
  }
465
477
  function isDir(path2) {
package/dist/token.d.ts CHANGED
@@ -21,6 +21,13 @@ export declare function fetchToken(spaceId: string): Promise<string | null>;
21
21
  * @param token The token to store.
22
22
  */
23
23
  export declare function storeToken(spaceId: string, token: string): Promise<void>;
24
+ /**
25
+ * Delete a token from the keychain.
26
+ *
27
+ * @param spaceId The space ID to delete the token for.
28
+ * @returns True if the token was deleted, false if it didn't exist.
29
+ */
30
+ export declare function deleteToken(spaceId: string): Promise<boolean>;
24
31
  /**
25
32
  * Given a token string, parse its info and return the info.
26
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAEzC,OAAO,GAAE,MAAiF;CAK3F;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAQnD"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAEzC,OAAO,GAAE,MAAiF;CAK3F;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAE9D;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAQnD"}
package/dist/token.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getPassword, setPassword } from "cross-keychain";
1
+ import { deletePassword, getPassword, setPassword } from "cross-keychain";
2
2
  class InvalidTokenError extends Error {
3
3
  constructor(message) {
4
4
  super(message);
@@ -19,6 +19,14 @@ async function fetchToken(spaceId) {
19
19
  async function storeToken(spaceId, token) {
20
20
  await setPassword(SERVICE_NAME, spaceId, token);
21
21
  }
22
+ async function deleteToken(spaceId) {
23
+ try {
24
+ await deletePassword(SERVICE_NAME, spaceId);
25
+ return true;
26
+ } catch {
27
+ return false;
28
+ }
29
+ }
22
30
  function parseToken(token) {
23
31
  const parts = splitToken(token);
24
32
  if (parts[0] !== "v1") {
@@ -52,6 +60,7 @@ function decodeInfo(encodedInfo) {
52
60
  export {
53
61
  InvalidTokenError,
54
62
  TokenNotSetError,
63
+ deleteToken,
55
64
  fetchToken,
56
65
  parseToken,
57
66
  storeToken
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@project-ajax/cli",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "description": "A CLI for the Notion Workers platform",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",