@forgecart/cli 2.202610131355.0 → 2.202610131722.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.
@@ -12,8 +12,9 @@ import { type CliCredentials } from './type/cli-authorization.types.js';
12
12
  * the request named until the authorization settles or the wait ends: at the
13
13
  * window's close, or at `timeoutSec` when that comes first. The wait is quiet
14
14
  * (no countdown, no interval, no attempt count), so an approval on the third
15
- * poll reads exactly as one on the first. The device code is the poll's secret
16
- * and is never printed.
15
+ * poll reads exactly as one on the first. An approval is reported with the
16
+ * store it names, `✓ Authorized · <store name> · channel <code>` (launch#62
17
+ * N2). The device code is the poll's secret and is never printed.
17
18
  */
18
19
  export declare class CliAuthorizationFlow {
19
20
  private readonly client;
@@ -24,8 +25,9 @@ export declare class CliAuthorizationFlow {
24
25
  */
25
26
  constructor(client: CliAuthorizationClient, timeoutSec: number | undefined);
26
27
  /**
27
- * Authorize this machine and answer the four credentials the approval
28
- * delivers. A denial, an expiry or an elapsed wait ends the run on exit 3.
28
+ * Authorize this machine, name the store the approval names, and answer the
29
+ * four credentials it delivers. A denial, an expiry or an elapsed wait ends
30
+ * the run on exit 3.
29
31
  *
30
32
  * @param report why the run authorizes, printed first.
31
33
  * @param channelToken the channel token the project's sources name: the store `/authorize` preselects.
@@ -33,8 +35,10 @@ export declare class CliAuthorizationFlow {
33
35
  authorize(report: readonly string[], channelToken: string | undefined): Promise<CliCredentials>;
34
36
  /** Poll until the authorization settles or the deadline passes. */
35
37
  private awaitApproval;
36
- /** The credentials an APPROVED answer delivers; null while PENDING. DENIED and EXPIRED end the run. */
38
+ /** The grant an APPROVED answer delivers; null while PENDING. DENIED and EXPIRED end the run. */
37
39
  private settle;
40
+ /** The approval, naming the store: `✓ Authorized · <store name> · channel <code>` — a nameless store by its code alone. */
41
+ private authorizedLine;
38
42
  /** The window's close — or `--timeout` from now, when that comes first. */
39
43
  private deadlineOf;
40
44
  /** What the run prints once the authorization is open, for a terminal or for a log. */
@@ -17,8 +17,9 @@ import { CliAuthorizationState, } from './type/cli-authorization.types.js';
17
17
  * the request named until the authorization settles or the wait ends: at the
18
18
  * window's close, or at `timeoutSec` when that comes first. The wait is quiet
19
19
  * (no countdown, no interval, no attempt count), so an approval on the third
20
- * poll reads exactly as one on the first. The device code is the poll's secret
21
- * and is never printed.
20
+ * poll reads exactly as one on the first. An approval is reported with the
21
+ * store it names, `✓ Authorized · <store name> · channel <code>` (launch#62
22
+ * N2). The device code is the poll's secret and is never printed.
22
23
  */
23
24
  export class CliAuthorizationFlow {
24
25
  client;
@@ -32,8 +33,9 @@ export class CliAuthorizationFlow {
32
33
  this.timeoutSec = timeoutSec;
33
34
  }
34
35
  /**
35
- * Authorize this machine and answer the four credentials the approval
36
- * delivers. A denial, an expiry or an elapsed wait ends the run on exit 3.
36
+ * Authorize this machine, name the store the approval names, and answer the
37
+ * four credentials it delivers. A denial, an expiry or an elapsed wait ends
38
+ * the run on exit 3.
37
39
  *
38
40
  * @param report why the run authorizes, printed first.
39
41
  * @param channelToken the channel token the project's sources name: the store `/authorize` preselects.
@@ -51,10 +53,10 @@ export class CliAuthorizationFlow {
51
53
  print(line);
52
54
  if (interactive)
53
55
  this.openBrowser(authorization.verificationUrl);
54
- const credentials = await this.awaitApproval(authorization);
56
+ const grant = await this.awaitApproval(authorization);
55
57
  print('');
56
- print(' ✓ Authorized');
57
- return credentials;
58
+ print(` ${this.authorizedLine(grant.store)}`);
59
+ return grant.credentials;
58
60
  }
59
61
  /** Poll until the authorization settles or the deadline passes. */
60
62
  async awaitApproval(authorization) {
@@ -65,12 +67,12 @@ export class CliAuthorizationFlow {
65
67
  if (remainingMs <= 0)
66
68
  throw new CliUnauthorizedRefusal(deadline.reason);
67
69
  await sleep(Math.min(intervalMs, remainingMs));
68
- const credentials = this.settle(await this.client.status(authorization.deviceCode));
69
- if (credentials !== null)
70
- return credentials;
70
+ const grant = this.settle(await this.client.status(authorization.deviceCode));
71
+ if (grant !== null)
72
+ return grant;
71
73
  }
72
74
  }
73
- /** The credentials an APPROVED answer delivers; null while PENDING. DENIED and EXPIRED end the run. */
75
+ /** The grant an APPROVED answer delivers; null while PENDING. DENIED and EXPIRED end the run. */
74
76
  settle(status) {
75
77
  if (status.state === CliAuthorizationState.DENIED) {
76
78
  throw new CliUnauthorizedRefusal(CliUnauthorizedReason.DENIED);
@@ -80,10 +82,17 @@ export class CliAuthorizationFlow {
80
82
  }
81
83
  if (status.state === CliAuthorizationState.PENDING)
82
84
  return null;
83
- if (status.credentials === null) {
85
+ if (status.grant === null) {
84
86
  throw new Error('The admin API answered APPROVED without the credentials an approval delivers.');
85
87
  }
86
- return status.credentials;
88
+ return status.grant;
89
+ }
90
+ /** The approval, naming the store: `✓ Authorized · <store name> · channel <code>` — a nameless store by its code alone. */
91
+ authorizedLine(store) {
92
+ const channel = `channel ${store.channelCode}`;
93
+ if (store.storeName === null)
94
+ return `✓ Authorized · ${channel}`;
95
+ return `✓ Authorized · ${store.storeName} · ${channel}`;
87
96
  }
88
97
  /** The window's close — or `--timeout` from now, when that comes first. */
89
98
  deadlineOf(authorization) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-authorization-flow.js","sourceRoot":"","sources":["../../../src/authorization/cli-authorization-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-authorization-flow.js","sourceRoot":"","sources":["../../../src/authorization/cli-authorization-flow.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,15 @@ export declare class CliAuthorizationClient {
25
25
  private assertNoErrors;
26
26
  /** The `ErrorCode` a GraphQL error carries in its extensions. */
27
27
  private errorCode;
28
- /** The credentials an answer carries — null on every answer but APPROVED. */
28
+ /**
29
+ * The grant an answer carries — the credentials and the approved store's
30
+ * channel code and store name; null on every answer but APPROVED.
31
+ */
32
+ private readGrant;
29
33
  private readCredentials;
30
34
  private readString;
35
+ /** A string the answer may leave null — absent, null and empty all read as null. */
36
+ private readOptionalString;
31
37
  private isState;
32
38
  private unreadable;
33
39
  private notGraphQlMessage;
@@ -11,7 +11,10 @@ const REQUEST_DOCUMENT = `mutation CliAuthorizationRequest($input: CliAuthorizat
11
11
  pollIntervalSec
12
12
  }
13
13
  }`;
14
- /** The SDK's `CliAuthorizationStatus` operation, verbatim — the poll, keyed on the device code. */
14
+ /**
15
+ * The SDK's `CliAuthorizationStatus` operation, verbatim — the poll, keyed on
16
+ * the device code: the credentials and the approved store ride its APPROVED answer.
17
+ */
15
18
  const STATUS_DOCUMENT = `mutation CliAuthorizationStatus($deviceCode: String!) {
16
19
  cliAuthorizationStatus(deviceCode: $deviceCode) {
17
20
  state
@@ -21,6 +24,8 @@ const STATUS_DOCUMENT = `mutation CliAuthorizationStatus($deviceCode: String!) {
21
24
  shopApiUrl
22
25
  adminApiUrl
23
26
  }
27
+ channelCode
28
+ storeName
24
29
  }
25
30
  }`;
26
31
  /**
@@ -72,7 +77,7 @@ export class CliAuthorizationClient {
72
77
  const state = result.state;
73
78
  if (!this.isState(state))
74
79
  throw this.unreadable('cliAuthorizationStatus');
75
- return { state, credentials: this.readCredentials(result.credentials) };
80
+ return { state, grant: this.readGrant(result) };
76
81
  }
77
82
  /** POST one operation and answer its root field's object. */
78
83
  async send(document, variables, field) {
@@ -130,10 +135,23 @@ export class CliAuthorizationClient {
130
135
  const code = error.extensions.code;
131
136
  return typeof code === 'string' ? code : undefined;
132
137
  }
133
- /** The credentials an answer carries — null on every answer but APPROVED. */
134
- readCredentials(value) {
135
- if (value === null || value === undefined)
138
+ /**
139
+ * The grant an answer carries — the credentials and the approved store's
140
+ * channel code and store name; null on every answer but APPROVED.
141
+ */
142
+ readGrant(result) {
143
+ const credentials = result.credentials;
144
+ if (credentials === null || credentials === undefined)
136
145
  return null;
146
+ return {
147
+ credentials: this.readCredentials(credentials),
148
+ store: {
149
+ channelCode: this.readString(result, 'channelCode', 'cliAuthorizationStatus'),
150
+ storeName: this.readOptionalString(result.storeName, 'cliAuthorizationStatus'),
151
+ },
152
+ };
153
+ }
154
+ readCredentials(value) {
137
155
  if (!isJsonObject(value))
138
156
  throw this.unreadable('cliAuthorizationStatus');
139
157
  return {
@@ -149,6 +167,14 @@ export class CliAuthorizationClient {
149
167
  throw this.unreadable(field);
150
168
  return value;
151
169
  }
170
+ /** A string the answer may leave null — absent, null and empty all read as null. */
171
+ readOptionalString(value, field) {
172
+ if (value === null || value === undefined || value === '')
173
+ return null;
174
+ if (typeof value !== 'string')
175
+ throw this.unreadable(field);
176
+ return value;
177
+ }
152
178
  isState(value) {
153
179
  return Object.values(CliAuthorizationState).includes(value);
154
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-authorization.client.js","sourceRoot":"","sources":["../../../src/authorization/cli-authorization.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-authorization.client.js","sourceRoot":"","sources":["../../../src/authorization/cli-authorization.client.ts"],"names":[],"mappings":"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"}
@@ -94,8 +94,21 @@ export interface CliAuthorizationRequestResult {
94
94
  /** The cadence the poll keeps. */
95
95
  pollIntervalSec: number;
96
96
  }
97
- /** One status poll's answer: the credentials ride the APPROVED answer, exactly once. */
97
+ /**
98
+ * The store an approval names (launch#62 N2): its channel code, and its store
99
+ * name (`ChannelSettings.shopName`) — null when the store carries none.
100
+ */
101
+ export interface CliAuthorizedStore {
102
+ channelCode: string;
103
+ storeName: string | null;
104
+ }
105
+ /** What an approval delivers: the four credentials, and the store they are the credentials of. */
106
+ export interface CliAuthorizationGrant {
107
+ credentials: CliCredentials;
108
+ store: CliAuthorizedStore;
109
+ }
110
+ /** One status poll's answer: the grant rides the APPROVED answer, exactly once. */
98
111
  export interface CliAuthorizationStatusResult {
99
112
  state: CliAuthorizationState;
100
- credentials: CliCredentials | null;
113
+ grant: CliAuthorizationGrant | null;
101
114
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgecart/cli",
3
- "version": "2.202610131355.0",
3
+ "version": "2.202610131722.0",
4
4
  "type": "module",
5
5
  "description": "CLI for scaffolding and operating ForgeCart channel storefronts",
6
6
  "bin": {