@hs-x/cli 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/account-store.d.ts +45 -22
  2. package/dist/account-store.d.ts.map +1 -1
  3. package/dist/account-store.js +73 -16
  4. package/dist/account-store.js.map +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +170 -13
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli/kit.d.ts +1 -1
  9. package/dist/cli/kit.d.ts.map +1 -1
  10. package/dist/cli/kit.js.map +1 -1
  11. package/dist/commands/account.d.ts +6 -6
  12. package/dist/commands/account.d.ts.map +1 -1
  13. package/dist/commands/account.js +25 -23
  14. package/dist/commands/account.js.map +1 -1
  15. package/dist/commands/api.d.ts +1 -1
  16. package/dist/commands/completion.d.ts.map +1 -1
  17. package/dist/commands/completion.js +6 -4
  18. package/dist/commands/completion.js.map +1 -1
  19. package/dist/commands/connect.d.ts +16 -0
  20. package/dist/commands/connect.d.ts.map +1 -1
  21. package/dist/commands/connect.js +143 -17
  22. package/dist/commands/connect.js.map +1 -1
  23. package/dist/commands/control-plane-read.d.ts +3 -3
  24. package/dist/commands/control-plane-read.d.ts.map +1 -1
  25. package/dist/commands/control-plane-read.js +21 -33
  26. package/dist/commands/control-plane-read.js.map +1 -1
  27. package/dist/commands/deploy-promote.d.ts +1 -1
  28. package/dist/commands/deploy-promote.d.ts.map +1 -1
  29. package/dist/commands/deploy-promote.js +3 -3
  30. package/dist/commands/deploy-promote.js.map +1 -1
  31. package/dist/commands/deploy.d.ts.map +1 -1
  32. package/dist/commands/deploy.js +39 -2
  33. package/dist/commands/deploy.js.map +1 -1
  34. package/dist/commands/dev.d.ts.map +1 -1
  35. package/dist/commands/dev.js +11 -0
  36. package/dist/commands/dev.js.map +1 -1
  37. package/dist/commands/doctor.d.ts +1 -1
  38. package/dist/commands/doctor.js +2 -2
  39. package/dist/commands/doctor.js.map +1 -1
  40. package/dist/commands/flags.d.ts +1 -1
  41. package/dist/commands/flags.d.ts.map +1 -1
  42. package/dist/commands/flags.js +59 -35
  43. package/dist/commands/flags.js.map +1 -1
  44. package/dist/commands/help-command.d.ts +14 -0
  45. package/dist/commands/help-command.d.ts.map +1 -1
  46. package/dist/commands/help-command.js +274 -20
  47. package/dist/commands/help-command.js.map +1 -1
  48. package/dist/commands/init.d.ts +11 -8
  49. package/dist/commands/init.d.ts.map +1 -1
  50. package/dist/commands/init.js +435 -246
  51. package/dist/commands/init.js.map +1 -1
  52. package/dist/commands/link.d.ts +1 -26
  53. package/dist/commands/link.d.ts.map +1 -1
  54. package/dist/commands/link.js +11 -236
  55. package/dist/commands/link.js.map +1 -1
  56. package/dist/commands/login.d.ts +4 -12
  57. package/dist/commands/login.d.ts.map +1 -1
  58. package/dist/commands/login.js +196 -390
  59. package/dist/commands/login.js.map +1 -1
  60. package/dist/commands/migrate.d.ts +2 -7
  61. package/dist/commands/migrate.d.ts.map +1 -1
  62. package/dist/commands/migrate.js +84 -201
  63. package/dist/commands/migrate.js.map +1 -1
  64. package/dist/commands/rollback.d.ts +1 -20
  65. package/dist/commands/rollback.d.ts.map +1 -1
  66. package/dist/commands/rollback.js +6 -275
  67. package/dist/commands/rollback.js.map +1 -1
  68. package/dist/commands/status.d.ts +1 -1
  69. package/dist/commands/status.js +1 -1
  70. package/dist/commands/status.js.map +1 -1
  71. package/dist/commands/unlink.d.ts +1 -21
  72. package/dist/commands/unlink.d.ts.map +1 -1
  73. package/dist/commands/unlink.js +12 -94
  74. package/dist/commands/unlink.js.map +1 -1
  75. package/dist/commands/update.js +7 -7
  76. package/dist/commands/update.js.map +1 -1
  77. package/dist/commands/validate.d.ts +2 -2
  78. package/dist/commands/validate.d.ts.map +1 -1
  79. package/dist/commands/validate.js +1 -1
  80. package/dist/commands/validate.js.map +1 -1
  81. package/dist/config.d.ts +1 -0
  82. package/dist/config.d.ts.map +1 -1
  83. package/dist/config.js +7 -0
  84. package/dist/config.js.map +1 -1
  85. package/dist/constants.d.ts +1 -1
  86. package/dist/constants.d.ts.map +1 -1
  87. package/dist/constants.js +5 -4
  88. package/dist/constants.js.map +1 -1
  89. package/dist/control-plane-fetch.d.ts.map +1 -1
  90. package/dist/control-plane-fetch.js +2 -2
  91. package/dist/control-plane-fetch.js.map +1 -1
  92. package/dist/control-plane-loader.d.ts +1 -1
  93. package/dist/control-plane-loader.js +1 -1
  94. package/dist/errors-registry.js +1 -1
  95. package/dist/errors-registry.js.map +1 -1
  96. package/dist/help.d.ts.map +1 -1
  97. package/dist/help.js +3 -2
  98. package/dist/help.js.map +1 -1
  99. package/dist/init/templates.d.ts +11 -3
  100. package/dist/init/templates.d.ts.map +1 -1
  101. package/dist/init/templates.js +94 -25
  102. package/dist/init/templates.js.map +1 -1
  103. package/dist/project-binding.d.ts +17 -0
  104. package/dist/project-binding.d.ts.map +1 -0
  105. package/dist/project-binding.js +30 -0
  106. package/dist/project-binding.js.map +1 -0
  107. package/dist/prompt.d.ts +21 -0
  108. package/dist/prompt.d.ts.map +1 -1
  109. package/dist/prompt.js +186 -50
  110. package/dist/prompt.js.map +1 -1
  111. package/dist/reporter/human.d.ts +5 -0
  112. package/dist/reporter/human.d.ts.map +1 -1
  113. package/dist/reporter/human.js +48 -18
  114. package/dist/reporter/human.js.map +1 -1
  115. package/dist/reporter/json.d.ts +6 -0
  116. package/dist/reporter/json.d.ts.map +1 -1
  117. package/dist/reporter/json.js +16 -0
  118. package/dist/reporter/json.js.map +1 -1
  119. package/dist/reporter/style.d.ts +1 -1
  120. package/dist/reporter/style.d.ts.map +1 -1
  121. package/dist/reporter/style.js +10 -3
  122. package/dist/reporter/style.js.map +1 -1
  123. package/dist/reporter/types.d.ts +9 -0
  124. package/dist/reporter/types.d.ts.map +1 -1
  125. package/dist/reporter/types.js.map +1 -1
  126. package/dist/services/account-store.d.ts +9 -4
  127. package/dist/services/account-store.d.ts.map +1 -1
  128. package/dist/services/account-store.js +46 -22
  129. package/dist/services/account-store.js.map +1 -1
  130. package/dist/services/control-plane.js +3 -2
  131. package/dist/services/control-plane.js.map +1 -1
  132. package/dist/services/live.d.ts +1 -1
  133. package/dist/services/reporter.d.ts +3 -0
  134. package/dist/services/reporter.d.ts.map +1 -1
  135. package/dist/services/reporter.js +2 -0
  136. package/dist/services/reporter.js.map +1 -1
  137. package/package.json +11 -8
@@ -1,41 +1,64 @@
1
- export interface HsxStoredAccount {
2
- readonly id: string;
3
- readonly displayName: string;
4
- readonly hubspotPortalId: number;
5
- readonly source: 'connect' | 'imported';
6
- readonly createdAt: string;
7
- }
8
1
  /**
9
- * Bearer session for the logged-in HS-X user. Obtained by `hs-x login`.
10
- *
11
- * The default device-authorization flow stores a CLI-scoped Personal Access
12
- * Token (`hsx_pak_…`); the `--magic-link` flow stores the
13
- * `__Secure-hsx_session` cookie value. Either way the value is sent as
14
- * `Authorization: Bearer <sessionToken>` on every control-plane request. The
15
- * session is user-level; `accountId` (when present) records which account the
16
- * PAT was scoped to at approval time.
2
+ * Per-account auth credential: an API token the user generates in the HS-X
3
+ * dashboard and pastes during `hs-x login`. It authenticates a *user*, but is
4
+ * stored against one *HS-X account* a person may hold several user accounts,
5
+ * and each HS-X account carries its own token (mirrors how the HubSpot `hs`
6
+ * CLI stores a personal access key per account). The active account's token is
7
+ * the one every control-plane request uses. `sessionToken` is the raw token;
8
+ * `accountId` records which HS-X account it was scoped to at login.
17
9
  */
18
- export interface HsxUserSession {
10
+ export interface HsxAccountSession {
19
11
  readonly sessionToken: string;
20
12
  readonly expiresAt: string;
21
13
  readonly email: string;
22
14
  readonly userId: string;
23
- /** Account the CLI token is scoped to (device flow). Optional/back-compat. */
24
15
  readonly accountId?: string;
25
16
  }
17
+ /** @deprecated Back-compat alias — the credential now lives per account. */
18
+ export type HsxUserSession = HsxAccountSession;
19
+ export interface HsxStoredAccount {
20
+ readonly id: string;
21
+ readonly displayName: string;
22
+ /** Bound HubSpot portal (1:1). Absent until `hs-x connect hubspot` runs. */
23
+ readonly hubspotPortalId?: number;
24
+ readonly source: 'connect' | 'imported';
25
+ readonly createdAt: string;
26
+ /** The account's API-token credential. Absent until `hs-x login`. */
27
+ readonly session?: HsxAccountSession;
28
+ }
26
29
  export interface HsxAccountStore {
27
30
  readonly schemaVersion: 1;
31
+ /** The active HS-X account; its `session` authenticates control-plane calls. */
28
32
  readonly defaultAccountId?: string;
29
33
  readonly accounts: Record<string, HsxStoredAccount>;
30
- /** Active CLI bearer session. Absent until `hs-x login` succeeds. */
31
- readonly userSession?: HsxUserSession;
32
34
  }
33
35
  export declare function defaultStorePath(): string;
36
+ /**
37
+ * Fold a legacy top-level `userSession` (the pre-per-account model) onto an
38
+ * account so existing logins survive the schema change: prefer the account the
39
+ * token was scoped to, else the default account, else synthesize one. Returns
40
+ * the migrated accounts + default id; the top-level session is dropped.
41
+ */
42
+ export declare function migrateLegacySession(accounts: Record<string, HsxStoredAccount>, defaultAccountId: string | undefined, legacy: HsxAccountSession | undefined, nowIso: () => string): {
43
+ accounts: Record<string, HsxStoredAccount>;
44
+ defaultAccountId: string | undefined;
45
+ };
34
46
  export declare function loadStore(path?: string): Promise<HsxAccountStore>;
47
+ /** The active HS-X account (the one `accounts switch` selects), if any. */
48
+ export declare function activeAccount(store: HsxAccountStore): HsxStoredAccount | undefined;
49
+ /** The active account's API-token credential, if it has one. */
50
+ export declare function activeSession(store: HsxAccountStore): HsxAccountSession | undefined;
35
51
  export declare function isLinked(path?: string, now?: Date): Promise<boolean>;
36
- export declare function isActiveUserSession(session: HsxUserSession | undefined, now?: Date): boolean;
37
- export declare function setUserSession(session: HsxUserSession, path?: string): Promise<HsxAccountStore>;
38
- export declare function clearUserSession(path?: string): Promise<HsxAccountStore>;
52
+ export declare function isActiveUserSession(session: HsxAccountSession | undefined, now?: Date): boolean;
53
+ /** Store an API token against a specific HS-X account, creating it if needed. */
54
+ export declare function setAccountSession(accountId: string, session: HsxAccountSession, options?: {
55
+ displayName?: string;
56
+ makeDefault?: boolean;
57
+ path?: string;
58
+ now?: () => Date;
59
+ }): Promise<HsxAccountStore>;
60
+ /** Remove the API token from one account (defaults to the active account). */
61
+ export declare function clearAccountSession(accountId: string | undefined, path?: string): Promise<HsxAccountStore>;
39
62
  export declare function saveStore(store: HsxAccountStore, path?: string): Promise<void>;
40
63
  export declare function addAccount(account: Omit<HsxStoredAccount, 'createdAt'>, options?: {
41
64
  makeDefault?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"account-store.d.ts","sourceRoot":"","sources":["../src/account-store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpD,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;CACvC;AAID,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAsB,SAAS,CAAC,IAAI,GAAE,MAA2B,GAAG,OAAO,CAAC,eAAe,CAAC,CAuB3F;AAED,wBAAsB,QAAQ,CAC5B,IAAI,GAAE,MAA2B,EACjC,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,GAAG,GAAE,IAAiB,GACrB,OAAO,CAIT;AAgBD,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,MAA2B,GAChC,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,GAAE,MAA2B,GAChC,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,MAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC5C,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GACvE,OAAO,CAAC,eAAe,CAAC,CAa1B;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,MAA2B,GAChC,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,MAA2B,GAChC,OAAO,CAAC,eAAe,CAAC,CAgB1B;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C"}
1
+ {"version":3,"file":"account-store.d.ts","sourceRoot":"","sources":["../src/account-store.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,34 @@ export function defaultStorePath() {
8
8
  return override;
9
9
  return configPath('config.json');
10
10
  }
11
+ /**
12
+ * Fold a legacy top-level `userSession` (the pre-per-account model) onto an
13
+ * account so existing logins survive the schema change: prefer the account the
14
+ * token was scoped to, else the default account, else synthesize one. Returns
15
+ * the migrated accounts + default id; the top-level session is dropped.
16
+ */
17
+ export function migrateLegacySession(accounts, defaultAccountId, legacy, nowIso) {
18
+ if (!legacy)
19
+ return { accounts, defaultAccountId };
20
+ const targetId = (legacy.accountId && accounts[legacy.accountId] ? legacy.accountId : undefined) ??
21
+ legacy.accountId ??
22
+ defaultAccountId ??
23
+ 'acct_default';
24
+ const existing = accounts[targetId];
25
+ const merged = existing
26
+ ? { ...existing, session: existing.session ?? legacy }
27
+ : {
28
+ id: targetId,
29
+ displayName: legacy.email || targetId,
30
+ source: 'connect',
31
+ createdAt: nowIso(),
32
+ session: legacy,
33
+ };
34
+ return {
35
+ accounts: { ...accounts, [targetId]: merged },
36
+ defaultAccountId: defaultAccountId ?? targetId,
37
+ };
38
+ }
11
39
  export async function loadStore(path = defaultStorePath()) {
12
40
  try {
13
41
  const raw = await readFile(path, 'utf8');
@@ -20,20 +48,30 @@ export async function loadStore(path = defaultStorePath()) {
20
48
  accounts[id] = value;
21
49
  }
22
50
  }
51
+ const migrated = migrateLegacySession(accounts, parsed.defaultAccountId, isSession(parsed.userSession)
52
+ ? parsed.userSession
53
+ : undefined, () => new Date().toISOString());
23
54
  return {
24
55
  schemaVersion: 1,
25
- ...(parsed.defaultAccountId ? { defaultAccountId: parsed.defaultAccountId } : {}),
26
- accounts,
27
- ...(isUserSession(parsed.userSession) ? { userSession: parsed.userSession } : {}),
56
+ ...(migrated.defaultAccountId ? { defaultAccountId: migrated.defaultAccountId } : {}),
57
+ accounts: migrated.accounts,
28
58
  };
29
59
  }
30
60
  catch {
31
61
  return EMPTY_STORE;
32
62
  }
33
63
  }
64
+ /** The active HS-X account (the one `accounts switch` selects), if any. */
65
+ export function activeAccount(store) {
66
+ return store.defaultAccountId ? store.accounts[store.defaultAccountId] : undefined;
67
+ }
68
+ /** The active account's API-token credential, if it has one. */
69
+ export function activeSession(store) {
70
+ return activeAccount(store)?.session;
71
+ }
34
72
  export async function isLinked(path = defaultStorePath(), now = new Date()) {
35
73
  const store = await loadStore(path);
36
- return isActiveUserSession(store.userSession, now);
74
+ return isActiveUserSession(activeSession(store), now);
37
75
  }
38
76
  export function isActiveUserSession(session, now = new Date()) {
39
77
  if (!session)
@@ -41,7 +79,7 @@ export function isActiveUserSession(session, now = new Date()) {
41
79
  const expiresAt = Date.parse(session.expiresAt);
42
80
  return Number.isFinite(expiresAt) && expiresAt > now.getTime();
43
81
  }
44
- function isUserSession(value) {
82
+ function isSession(value) {
45
83
  if (!value || typeof value !== 'object')
46
84
  return false;
47
85
  const v = value;
@@ -49,28 +87,46 @@ function isUserSession(value) {
49
87
  typeof v.expiresAt === 'string' &&
50
88
  typeof v.email === 'string' &&
51
89
  typeof v.userId === 'string' &&
52
- // Additive, back-compatible field: present-or-correct-type. Sessions
53
- // stored before it existed have it undefined and still validate.
54
90
  (v.accountId === undefined || typeof v.accountId === 'string'));
55
91
  }
56
- export async function setUserSession(session, path = defaultStorePath()) {
92
+ /** Store an API token against a specific HS-X account, creating it if needed. */
93
+ export async function setAccountSession(accountId, session, options = {}) {
94
+ const path = options.path ?? defaultStorePath();
57
95
  const store = await loadStore(path);
58
- const next = { ...store, userSession: session };
96
+ const now = options.now ? options.now() : new Date();
97
+ const existing = store.accounts[accountId];
98
+ const account = existing
99
+ ? { ...existing, session, ...(options.displayName ? { displayName: options.displayName } : {}) }
100
+ : {
101
+ id: accountId,
102
+ displayName: options.displayName ?? (session.email || accountId),
103
+ source: 'connect',
104
+ createdAt: now.toISOString(),
105
+ session,
106
+ };
107
+ const accounts = { ...store.accounts, [accountId]: account };
108
+ const defaultAccountId = options.makeDefault || !store.defaultAccountId ? accountId : store.defaultAccountId;
109
+ const next = { schemaVersion: 1, defaultAccountId, accounts };
59
110
  await saveStore(next, path);
60
111
  return next;
61
112
  }
62
- export async function clearUserSession(path = defaultStorePath()) {
113
+ /** Remove the API token from one account (defaults to the active account). */
114
+ export async function clearAccountSession(accountId, path = defaultStorePath()) {
63
115
  const store = await loadStore(path);
64
- const { userSession: _ignored, ...rest } = store;
65
- void _ignored;
66
- const next = rest;
116
+ const id = accountId ?? store.defaultAccountId;
117
+ if (!id || !store.accounts[id])
118
+ return store;
119
+ const { session: _drop, ...rest } = store.accounts[id];
120
+ void _drop;
121
+ const accounts = { ...store.accounts, [id]: rest };
122
+ const next = { ...store, accounts };
67
123
  await saveStore(next, path);
68
124
  return next;
69
125
  }
70
126
  export async function saveStore(store, path = defaultStorePath()) {
71
127
  await mkdir(dirname(path), { recursive: true, mode: 0o700 });
72
128
  await writeFile(path, `${JSON.stringify(store, null, 2)}\n`, 'utf8');
73
- // file contains bearer session token — restrict perms
129
+ // file contains API tokens — restrict perms
74
130
  try {
75
131
  await chmod(path, 0o600);
76
132
  }
@@ -131,8 +187,9 @@ function isStoredAccount(value) {
131
187
  const v = value;
132
188
  return (typeof v.id === 'string' &&
133
189
  typeof v.displayName === 'string' &&
134
- typeof v.hubspotPortalId === 'number' &&
190
+ (v.hubspotPortalId === undefined || typeof v.hubspotPortalId === 'number') &&
135
191
  (v.source === 'connect' || v.source === 'imported') &&
136
- typeof v.createdAt === 'string');
192
+ typeof v.createdAt === 'string' &&
193
+ (v.session === undefined || isSession(v.session)));
137
194
  }
138
195
  //# sourceMappingURL=account-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-store.js","sourceRoot":"","sources":["../src/account-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-store.js","sourceRoot":"","sources":["../src/account-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA6D9C,wBAAsB,MAAM,CAC1B,IAAI,GAAE,SAAS,MAAM,EAA0B,EAC/C,GAAG,SAAgB,GAClB,OAAO,CAAC,SAAS,CAAC,CAmFpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAiI9C,wBAAsB,MAAM,CAC1B,IAAI,GAAE,SAAS,MAAM,EAA0B,EAC/C,GAAG,SAAgB,GAClB,OAAO,CAAC,SAAS,CAAC,CAoHpB"}
package/dist/cli/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as Command from '@effect/cli/Command';
2
+ import { isValidationError } from '@effect/cli/ValidationError';
2
3
  import { Effect, Layer } from 'effect';
3
4
  import { CliError, describeError } from '../cli-error.js';
4
5
  import * as Cwd from '../services/cwd.js';
@@ -32,7 +33,7 @@ import { completionCommand } from '../commands/completion.js';
32
33
  import { maybePrintUpdateHint } from '../commands/update.js';
33
34
  import { CLI_VERSION } from '../constants.js';
34
35
  import { emitCliTelemetry, maybePrintTelemetryNotice } from '../telemetry.js';
35
- import { commandHelpText, helpText, helpTextStyled, unknownCommand, } from '../commands/help-command.js';
36
+ import { commandHelpTextForPath, helpText, helpTextStyled, unknownCommand, unknownSubcommand, } from '../commands/help-command.js';
36
37
  import { emitHelp } from '../help.js';
37
38
  const MIGRATED_ROOT_COMMANDS = new Set([
38
39
  'account',
@@ -75,6 +76,66 @@ const MIGRATED_ROOT_COMMANDS = new Set([
75
76
  // custom help/version interception in shouldRunDirect; it will be deleted once
76
77
  // `completions` is folded in.
77
78
  const DIRECT_ROOT_COMMANDS = new Set(['completions']);
79
+ // Pure parent commands — groupings with subcommands but no action of their own
80
+ // (`Command.make(name).withSubcommands(...)`). Invoked bare, @effect/cli dumps
81
+ // its raw `--completions`/`--log-level`/`--wizard` option list, which is off
82
+ // brand. We intercept the bare form and print a clean, curated subcommand list
83
+ // instead (matching the Vercel/Stripe/Cloudflare/HubSpot convention). Commands
84
+ // with their own default action (api, connect, dev, deploy, …) are NOT here —
85
+ // a bare invocation runs them.
86
+ const GROUP_COMMANDS = new Set([
87
+ 'account',
88
+ 'accounts',
89
+ 'audit',
90
+ 'flags',
91
+ 'migrate',
92
+ 'secret',
93
+ 'secrets',
94
+ ]);
95
+ // Valid subcommands per group command. A group invocation whose first non-flag
96
+ // token is NOT in this set gets a curated unknown-subcommand error (with the
97
+ // group's own subcommand list) instead of @effect/cli's root-level "Invalid
98
+ // subcommand for hs-x — use one of <every root command>" message.
99
+ const GROUP_SUBCOMMANDS = {
100
+ account: new Set(['list', 'ls', 'current', 'switch', 'set', 'logout', 'remove']),
101
+ accounts: new Set(['list', 'ls', 'current', 'switch', 'set', 'logout', 'remove']),
102
+ audit: new Set(['list']),
103
+ flags: new Set(['list', 'create', 'define', 'enable', 'disable', 'archive']),
104
+ migrate: new Set(['inspect', 'report', 'cards', 'swap-cards']),
105
+ secret: new Set(['hubspot-oauth']),
106
+ secrets: new Set(['hubspot-oauth']),
107
+ };
108
+ /**
109
+ * Decide how a group-command invocation routes: a valid subcommand goes to the
110
+ * native @effect/cli tree; a bare invocation gets the curated help; an unknown
111
+ * subcommand gets a curated error naming the group's own subcommands.
112
+ */
113
+ function groupRouting(command, tokens) {
114
+ const subs = GROUP_SUBCOMMANDS[command];
115
+ if (!subs)
116
+ return { kind: 'native' };
117
+ const sub = firstSubcommandToken(tokens);
118
+ if (sub === undefined)
119
+ return { kind: 'help' };
120
+ if (!subs.has(sub)) {
121
+ return { kind: 'unknown', path: command, subcommand: sub, known: [...subs] };
122
+ }
123
+ // The one nested pure parent today: `secret(s) hubspot-oauth` only has `set`.
124
+ if ((command === 'secret' || command === 'secrets') && sub === 'hubspot-oauth') {
125
+ const inner = firstSubcommandToken(tokens.slice(tokens.indexOf(sub) + 1));
126
+ if (inner === undefined)
127
+ return { kind: 'help' };
128
+ if (inner !== 'set') {
129
+ return {
130
+ kind: 'unknown',
131
+ path: `${command} hubspot-oauth`,
132
+ subcommand: inner,
133
+ known: ['set'],
134
+ };
135
+ }
136
+ }
137
+ return { kind: 'native' };
138
+ }
78
139
  const FLAGS_WITH_VALUE = new Set([
79
140
  '--account-id',
80
141
  '--app-id',
@@ -142,7 +203,13 @@ export async function runCli(argv = process.argv.slice(2), cwd = process.cwd())
142
203
  // appear BEFORE the command still reach the native @effect/cli tree.
143
204
  const cwdValue = resolveFlag(argv, '--cwd') ?? cwd;
144
205
  const stripped = stripGlobalFlags(argv);
145
- const nativeArgv = normalizeForNative(stripped);
206
+ // `@effect/cli` only knows `-h`/`--help`; normalize our `--h` alias so the
207
+ // full native help renders instead of an "unknown option" error.
208
+ const nativeArgv = normalizeForNative(stripped).map((token) => token === '--h' ? '--help' : token);
209
+ // nativeArgv is command-first, so [0] is the real command even when the user
210
+ // wrote global flags before it (telemetry/history/update-hint key off this).
211
+ const command = nativeArgv[0] ?? 'help';
212
+ const jsonMode = argv.includes('--json');
146
213
  const program = Command.run(root, {
147
214
  name: 'hs-x',
148
215
  version: CLI_VERSION,
@@ -151,12 +218,32 @@ export async function runCli(argv = process.argv.slice(2), cwd = process.cwd())
151
218
  // resolved Cwd power every native command handler.
152
219
  Effect.provide(Layer.merge(ServicesLive, Cwd.layer(cwdValue))), Effect.catchAll((error) => Effect.sync(() => {
153
220
  exitCode = error instanceof CliError ? describeError(error).exitCode : 10;
221
+ // @effect/cli already printed its terse parse error ("Missing argument
222
+ // <path>") to stderr. Supplement it: point humans at the curated help,
223
+ // and keep stdout machine-readable when --json was requested.
224
+ if (!(error instanceof CliError) && isValidationError(error)) {
225
+ const commandPath = nativeArgv
226
+ .filter((token) => !token.startsWith('-'))
227
+ .slice(0, 2)
228
+ .join(' ');
229
+ if (jsonMode) {
230
+ process.stdout.write(`${JSON.stringify({
231
+ schema_version: 1,
232
+ command,
233
+ ok: false,
234
+ error: {
235
+ code: 'HSX_E_INPUT_INVALID',
236
+ message: 'Invalid or missing arguments.',
237
+ hint: `Run \`hs-x ${commandPath} --help\` for usage.`,
238
+ },
239
+ }, null, 2)}\n`);
240
+ }
241
+ else {
242
+ process.stderr.write(`Run \`hs-x ${commandPath} --help\` for usage.\n`);
243
+ }
244
+ }
154
245
  })));
155
246
  await Effect.runPromise(program);
156
- // nativeArgv is command-first, so [0] is the real command even when the user
157
- // wrote global flags before it (telemetry/history/update-hint key off this).
158
- const command = nativeArgv[0] ?? 'help';
159
- const jsonMode = argv.includes('--json');
160
247
  await finalizeCommand({
161
248
  argv,
162
249
  commandArgv: nativeArgv,
@@ -174,10 +261,11 @@ function shouldRunDirect(argv) {
174
261
  if (argv.length === 1 && argv[0] === '-v') {
175
262
  return true;
176
263
  }
264
+ // Any explicit help request renders curated help on the direct path — never
265
+ // @effect/cli's raw USAGE/OPTIONS dump. This includes group commands
266
+ // (`accounts --help`) and their subcommands (`flags list --help`).
177
267
  if (argv.length === 0 ||
178
- argv.includes('--help') ||
179
- argv.includes('-h') ||
180
- argv.includes('--help-all') ||
268
+ hasHelpRequest(argv) ||
181
269
  argv[0] === 'help' ||
182
270
  argv[1] === 'help') {
183
271
  return true;
@@ -187,6 +275,13 @@ function shouldRunDirect(argv) {
187
275
  // the native tree. Only unknown commands + the `completions` alias stay here.
188
276
  const commandIndex = findCommandIndex(argv);
189
277
  const command = commandIndex === -1 ? undefined : argv[commandIndex];
278
+ // Group commands (pure parents like `accounts`) are served by the native
279
+ // @effect/cli tree only for a VALID subcommand. The bare form gets the
280
+ // curated subcommand list; an unknown subcommand gets a curated error with
281
+ // the group's own subcommands (not @effect/cli's root-level list).
282
+ if (command !== undefined && GROUP_COMMANDS.has(command)) {
283
+ return groupRouting(command, argv.slice(commandIndex + 1)).kind !== 'native';
284
+ }
190
285
  return (command === undefined ||
191
286
  DIRECT_ROOT_COMMANDS.has(command) ||
192
287
  !MIGRATED_ROOT_COMMANDS.has(command));
@@ -212,15 +307,23 @@ async function runDirectCli(argv, cwd) {
212
307
  async function dispatchDirectCommand(input) {
213
308
  const { argv, command, commandArgv, cwd, json } = input;
214
309
  try {
310
+ // A bare group command (`accounts`, `flags`, …) shows the same curated help
311
+ // as `<command> --help`: a clean subcommand list, never @effect/cli's dump.
312
+ const groupRoute = GROUP_COMMANDS.has(command)
313
+ ? groupRouting(command, commandArgv.slice(1))
314
+ : undefined;
315
+ const bareGroup = groupRoute?.kind === 'help';
215
316
  if (command !== 'help' &&
216
317
  command !== '-h' &&
217
318
  command !== '--help' &&
218
319
  (MIGRATED_ROOT_COMMANDS.has(command) || DIRECT_ROOT_COMMANDS.has(command)) &&
219
320
  (commandArgv.includes('--help') ||
220
321
  commandArgv.includes('-h') ||
322
+ commandArgv.includes('--h') ||
221
323
  commandArgv.includes('--help-all') ||
222
- commandArgv[1] === 'help')) {
223
- const text = commandHelpText(command);
324
+ commandArgv[1] === 'help' ||
325
+ bareGroup)) {
326
+ const text = commandHelpTextForPath(command, commandArgv.slice(1));
224
327
  if (text) {
225
328
  emitHelp(text, json, { argv: commandArgv });
226
329
  }
@@ -229,10 +332,21 @@ async function dispatchDirectCommand(input) {
229
332
  }
230
333
  else {
231
334
  const isTTY = Boolean(process.stderr.isTTY);
232
- process.stderr.write(` ${helpTextStyled(process.env, isTTY, 'full')}\n\n`);
335
+ process.stderr.write(`\n${helpTextStyled(process.env, isTTY, 'full')}\n\n`);
233
336
  }
234
337
  return { exitCode: 0 };
235
338
  }
339
+ // `flags bogus` and friends: a curated error listing the group's own
340
+ // subcommands, instead of @effect/cli's root-level command dump.
341
+ if (groupRoute?.kind === 'unknown') {
342
+ return unknownSubcommand({
343
+ command: groupRoute.path,
344
+ subcommand: groupRoute.subcommand,
345
+ known: groupRoute.known,
346
+ argv: commandArgv,
347
+ json,
348
+ });
349
+ }
236
350
  // Every real command runs through the native @effect/cli tree (see runCli).
237
351
  // The direct dispatcher only survives for `--version`, the `completions`
238
352
  // spelling alias, and the custom highlights/unknown-command help below.
@@ -250,13 +364,25 @@ async function dispatchDirectCommand(input) {
250
364
  if (!wantsHighlights && !wantsFullHelp) {
251
365
  return unknownCommand({ command, argv: commandArgv, json });
252
366
  }
367
+ // `hs-x help <command> [<subcommand>]` routes to that command's curated help.
368
+ if (command === 'help') {
369
+ const topic = commandArgv[1];
370
+ const topicText = topic === undefined ? undefined : commandHelpTextForPath(topic, commandArgv.slice(2));
371
+ if (topicText) {
372
+ emitHelp(topicText, json, { argv: commandArgv });
373
+ return { exitCode: 0 };
374
+ }
375
+ if (topic !== undefined && !topic.startsWith('-')) {
376
+ return unknownCommand({ command: topic, argv: commandArgv, json });
377
+ }
378
+ }
253
379
  const mode = wantsHighlights ? 'highlights' : 'full';
254
380
  if (json) {
255
381
  process.stdout.write(helpText(mode));
256
382
  }
257
383
  else {
258
384
  const isTTY = Boolean(process.stderr.isTTY);
259
- process.stderr.write(` ${helpTextStyled(process.env, isTTY, mode)}\n\n`);
385
+ process.stderr.write(`\n${helpTextStyled(process.env, isTTY, mode)}\n\n`);
260
386
  }
261
387
  return { exitCode: 0 };
262
388
  }
@@ -374,6 +500,37 @@ function findCommandIndex(argv) {
374
500
  }
375
501
  return -1;
376
502
  }
503
+ /** True when argv carries an explicit help flag (`--help`, `-h`, `--h`, `--help-all`). */
504
+ function hasHelpRequest(argv) {
505
+ return (argv.includes('--help') ||
506
+ argv.includes('-h') ||
507
+ argv.includes('--h') ||
508
+ argv.includes('--help-all'));
509
+ }
510
+ /**
511
+ * The first token in `tokens` (everything AFTER a group command) that names a
512
+ * subcommand — i.e. a non-flag token that isn't consumed as a flag value —
513
+ * or undefined when the invocation is bare. Mirrors findCommandIndex's
514
+ * flag-with-value skipping so `accounts --cwd /p` reads as bare (no
515
+ * subcommand) rather than treating `/p` as one.
516
+ */
517
+ function firstSubcommandToken(tokens) {
518
+ for (let index = 0; index < tokens.length; index += 1) {
519
+ const token = tokens[index];
520
+ if (token === undefined)
521
+ continue;
522
+ if (token.startsWith('--')) {
523
+ const [name] = token.split('=', 1);
524
+ if (!token.includes('=') && FLAGS_WITH_VALUE.has(name ?? ''))
525
+ index += 1;
526
+ continue;
527
+ }
528
+ if (token.startsWith('-'))
529
+ continue;
530
+ return token;
531
+ }
532
+ return undefined;
533
+ }
377
534
  function normalizeCommandArgv(argv, commandIndex) {
378
535
  if (commandIndex <= 0) {
379
536
  return argv;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/dist/cli/kit.d.ts CHANGED
@@ -32,5 +32,5 @@ export declare function runQuarantined(json: boolean, body: () => Promise<CliRes
32
32
  * to read the exit code. Services in the body's `R` are provided by the
33
33
  * dispatch's `ServicesLive`.
34
34
  */
35
- export declare function runHandler<R>(command: string, flags: ReporterFlags, body: Effect.Effect<void, CliError, R | Reporter>): Effect.Effect<void, CliError, R>;
35
+ export declare function runHandler<R>(command: string, flags: ReporterFlags, body: Effect.Effect<void, CliError, R>): Effect.Effect<void, CliError, Exclude<R, Reporter>>;
36
36
  //# sourceMappingURL=kit.d.ts.map