@hs-x/cli 0.3.6 → 0.4.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 (211) hide show
  1. package/README.md +126 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +58 -59
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/cli/kit.d.ts.map +1 -1
  6. package/dist/cli/kit.js +1 -1
  7. package/dist/cli/kit.js.map +1 -1
  8. package/dist/cloudflare-auth.d.ts +19 -0
  9. package/dist/cloudflare-auth.d.ts.map +1 -1
  10. package/dist/cloudflare-auth.js +83 -2
  11. package/dist/cloudflare-auth.js.map +1 -1
  12. package/dist/cloudflare-oauth.d.ts.map +1 -1
  13. package/dist/cloudflare-oauth.js +18 -19
  14. package/dist/cloudflare-oauth.js.map +1 -1
  15. package/dist/cloudflare-scoped-resource.d.ts +41 -0
  16. package/dist/cloudflare-scoped-resource.d.ts.map +1 -0
  17. package/dist/cloudflare-scoped-resource.js +74 -0
  18. package/dist/cloudflare-scoped-resource.js.map +1 -0
  19. package/dist/command-catalog.d.ts +13 -0
  20. package/dist/command-catalog.d.ts.map +1 -0
  21. package/dist/command-catalog.js +50 -0
  22. package/dist/command-catalog.js.map +1 -0
  23. package/dist/commands/completion.d.ts.map +1 -1
  24. package/dist/commands/completion.js +287 -47
  25. package/dist/commands/completion.js.map +1 -1
  26. package/dist/commands/connect.d.ts.map +1 -1
  27. package/dist/commands/connect.js +274 -38
  28. package/dist/commands/connect.js.map +1 -1
  29. package/dist/commands/control-plane-read.d.ts +31 -3
  30. package/dist/commands/control-plane-read.d.ts.map +1 -1
  31. package/dist/commands/control-plane-read.js +136 -37
  32. package/dist/commands/control-plane-read.js.map +1 -1
  33. package/dist/commands/deploy-retry.d.ts +20 -0
  34. package/dist/commands/deploy-retry.d.ts.map +1 -0
  35. package/dist/commands/deploy-retry.js +106 -0
  36. package/dist/commands/deploy-retry.js.map +1 -0
  37. package/dist/commands/deploy.d.ts +16 -8
  38. package/dist/commands/deploy.d.ts.map +1 -1
  39. package/dist/commands/deploy.js +1027 -373
  40. package/dist/commands/deploy.js.map +1 -1
  41. package/dist/commands/dev.d.ts +19 -1
  42. package/dist/commands/dev.d.ts.map +1 -1
  43. package/dist/commands/dev.js +1378 -88
  44. package/dist/commands/dev.js.map +1 -1
  45. package/dist/commands/doctor.d.ts.map +1 -1
  46. package/dist/commands/doctor.js +27 -10
  47. package/dist/commands/doctor.js.map +1 -1
  48. package/dist/commands/flags.d.ts +9 -4
  49. package/dist/commands/flags.d.ts.map +1 -1
  50. package/dist/commands/flags.js +208 -80
  51. package/dist/commands/flags.js.map +1 -1
  52. package/dist/commands/help-command.d.ts.map +1 -1
  53. package/dist/commands/help-command.js +177 -86
  54. package/dist/commands/help-command.js.map +1 -1
  55. package/dist/commands/init.d.ts.map +1 -1
  56. package/dist/commands/init.js +5 -0
  57. package/dist/commands/init.js.map +1 -1
  58. package/dist/commands/link.d.ts.map +1 -1
  59. package/dist/commands/link.js +74 -15
  60. package/dist/commands/link.js.map +1 -1
  61. package/dist/commands/project.d.ts +107 -0
  62. package/dist/commands/project.d.ts.map +1 -0
  63. package/dist/commands/project.js +586 -0
  64. package/dist/commands/project.js.map +1 -0
  65. package/dist/commands/secrets.d.ts +2 -2
  66. package/dist/commands/status.d.ts.map +1 -1
  67. package/dist/commands/status.js +15 -5
  68. package/dist/commands/status.js.map +1 -1
  69. package/dist/commands/validate.d.ts +19 -0
  70. package/dist/commands/validate.d.ts.map +1 -1
  71. package/dist/commands/validate.js +26 -7
  72. package/dist/commands/validate.js.map +1 -1
  73. package/dist/constants.d.ts +1 -1
  74. package/dist/constants.js +1 -1
  75. package/dist/control-plane-tenant-provisioning.d.ts +24 -0
  76. package/dist/control-plane-tenant-provisioning.d.ts.map +1 -0
  77. package/dist/control-plane-tenant-provisioning.js +85 -0
  78. package/dist/control-plane-tenant-provisioning.js.map +1 -0
  79. package/dist/deploy-targets.d.ts +24 -0
  80. package/dist/deploy-targets.d.ts.map +1 -0
  81. package/dist/deploy-targets.js +38 -0
  82. package/dist/deploy-targets.js.map +1 -0
  83. package/dist/dev/account-selection.d.ts +16 -0
  84. package/dist/dev/account-selection.d.ts.map +1 -0
  85. package/dist/dev/account-selection.js +22 -0
  86. package/dist/dev/account-selection.js.map +1 -0
  87. package/dist/dev/browser-log-bridge.d.ts +32 -0
  88. package/dist/dev/browser-log-bridge.d.ts.map +1 -0
  89. package/dist/dev/browser-log-bridge.js +156 -0
  90. package/dist/dev/browser-log-bridge.js.map +1 -0
  91. package/dist/dev/compat-shim.d.ts +3 -3
  92. package/dist/dev/compat-shim.d.ts.map +1 -1
  93. package/dist/dev/compat-shim.js +29 -4
  94. package/dist/dev/compat-shim.js.map +1 -1
  95. package/dist/dev/component-selection.d.ts +25 -0
  96. package/dist/dev/component-selection.d.ts.map +1 -0
  97. package/dist/dev/component-selection.js +79 -0
  98. package/dist/dev/component-selection.js.map +1 -0
  99. package/dist/dev/console-capture.d.ts +18 -0
  100. package/dist/dev/console-capture.d.ts.map +1 -0
  101. package/dist/dev/console-capture.js +57 -0
  102. package/dist/dev/console-capture.js.map +1 -0
  103. package/dist/dev/event-bus.d.ts +1 -1
  104. package/dist/dev/event-bus.js +1 -1
  105. package/dist/dev/frontend-log-relay.d.ts +27 -0
  106. package/dist/dev/frontend-log-relay.d.ts.map +1 -0
  107. package/dist/dev/frontend-log-relay.js +102 -0
  108. package/dist/dev/frontend-log-relay.js.map +1 -0
  109. package/dist/dev/invoke.d.ts +3 -4
  110. package/dist/dev/invoke.d.ts.map +1 -1
  111. package/dist/dev/invoke.js +9 -4
  112. package/dist/dev/invoke.js.map +1 -1
  113. package/dist/dev/keyboard.d.ts +1 -0
  114. package/dist/dev/keyboard.d.ts.map +1 -1
  115. package/dist/dev/keyboard.js +9 -3
  116. package/dist/dev/keyboard.js.map +1 -1
  117. package/dist/dev/log-server.js +3 -0
  118. package/dist/dev/log-server.js.map +1 -1
  119. package/dist/dev/loopback-http-listener.d.ts +18 -0
  120. package/dist/dev/loopback-http-listener.d.ts.map +1 -0
  121. package/dist/dev/loopback-http-listener.js +91 -0
  122. package/dist/dev/loopback-http-listener.js.map +1 -0
  123. package/dist/dev/managed-session.d.ts +124 -0
  124. package/dist/dev/managed-session.d.ts.map +1 -0
  125. package/dist/dev/managed-session.js +597 -0
  126. package/dist/dev/managed-session.js.map +1 -0
  127. package/dist/dev/port-process.d.ts +21 -0
  128. package/dist/dev/port-process.d.ts.map +1 -0
  129. package/dist/dev/port-process.js +145 -0
  130. package/dist/dev/port-process.js.map +1 -0
  131. package/dist/dev/session-manager.d.ts +11 -1
  132. package/dist/dev/session-manager.d.ts.map +1 -1
  133. package/dist/dev/session-manager.js +65 -14
  134. package/dist/dev/session-manager.js.map +1 -1
  135. package/dist/dev/stream-event-format.d.ts +14 -0
  136. package/dist/dev/stream-event-format.d.ts.map +1 -0
  137. package/dist/dev/stream-event-format.js +262 -0
  138. package/dist/dev/stream-event-format.js.map +1 -0
  139. package/dist/dev/stream-filter.d.ts.map +1 -1
  140. package/dist/dev/stream-filter.js +16 -1
  141. package/dist/dev/stream-filter.js.map +1 -1
  142. package/dist/dev/stream-renderer.d.ts +4 -2
  143. package/dist/dev/stream-renderer.d.ts.map +1 -1
  144. package/dist/dev/stream-renderer.js +224 -84
  145. package/dist/dev/stream-renderer.js.map +1 -1
  146. package/dist/errors-registry.d.ts.map +1 -1
  147. package/dist/errors-registry.js +246 -0
  148. package/dist/errors-registry.js.map +1 -1
  149. package/dist/help.d.ts.map +1 -1
  150. package/dist/help.js +20 -3
  151. package/dist/help.js.map +1 -1
  152. package/dist/hubspot-app-logs.d.ts +38 -5
  153. package/dist/hubspot-app-logs.d.ts.map +1 -1
  154. package/dist/hubspot-app-logs.js +88 -17
  155. package/dist/hubspot-app-logs.js.map +1 -1
  156. package/dist/hubspot-auth.d.ts +19 -1
  157. package/dist/hubspot-auth.d.ts.map +1 -1
  158. package/dist/hubspot-auth.js +228 -83
  159. package/dist/hubspot-auth.js.map +1 -1
  160. package/dist/hubspot-developer-client.d.ts +87 -0
  161. package/dist/hubspot-developer-client.d.ts.map +1 -1
  162. package/dist/hubspot-developer-client.js +232 -1
  163. package/dist/hubspot-developer-client.js.map +1 -1
  164. package/dist/hubspot-project-archive.d.ts +21 -0
  165. package/dist/hubspot-project-archive.d.ts.map +1 -0
  166. package/dist/hubspot-project-archive.js +281 -0
  167. package/dist/hubspot-project-archive.js.map +1 -0
  168. package/dist/hubspot-project.d.ts +32 -0
  169. package/dist/hubspot-project.d.ts.map +1 -0
  170. package/dist/hubspot-project.js +269 -0
  171. package/dist/hubspot-project.js.map +1 -0
  172. package/dist/local-project-picker.js +1 -1
  173. package/dist/local-project-picker.js.map +1 -1
  174. package/dist/machine-artifact.d.ts +16 -0
  175. package/dist/machine-artifact.d.ts.map +1 -0
  176. package/dist/machine-artifact.js +18 -0
  177. package/dist/machine-artifact.js.map +1 -0
  178. package/dist/machine-id.d.ts +15 -0
  179. package/dist/machine-id.d.ts.map +1 -1
  180. package/dist/machine-id.js +53 -0
  181. package/dist/machine-id.js.map +1 -1
  182. package/dist/mutation-consent.d.ts +20 -0
  183. package/dist/mutation-consent.d.ts.map +1 -0
  184. package/dist/mutation-consent.js +9 -0
  185. package/dist/mutation-consent.js.map +1 -0
  186. package/dist/output-context.d.ts +3 -0
  187. package/dist/output-context.d.ts.map +1 -1
  188. package/dist/output-context.js +7 -1
  189. package/dist/output-context.js.map +1 -1
  190. package/dist/prompt.d.ts.map +1 -1
  191. package/dist/prompt.js +123 -48
  192. package/dist/prompt.js.map +1 -1
  193. package/dist/reporter/index.js +1 -1
  194. package/dist/reporter/index.js.map +1 -1
  195. package/dist/reporter/style.d.ts.map +1 -1
  196. package/dist/reporter/style.js +5 -0
  197. package/dist/reporter/style.js.map +1 -1
  198. package/dist/services/hubspot-dev-client.js +3 -0
  199. package/dist/services/hubspot-dev-client.js.map +1 -1
  200. package/dist/services/telemetry.d.ts +1 -2
  201. package/dist/services/telemetry.d.ts.map +1 -1
  202. package/dist/services/telemetry.js +1 -10
  203. package/dist/services/telemetry.js.map +1 -1
  204. package/dist/telemetry.d.ts.map +1 -1
  205. package/dist/telemetry.js +1 -7
  206. package/dist/telemetry.js.map +1 -1
  207. package/dist/tenant-data-plane-provisioning.d.ts +35 -0
  208. package/dist/tenant-data-plane-provisioning.d.ts.map +1 -0
  209. package/dist/tenant-data-plane-provisioning.js +38 -0
  210. package/dist/tenant-data-plane-provisioning.js.map +1 -0
  211. package/package.json +14 -12
@@ -0,0 +1,586 @@
1
+ import * as Command from '@effect/cli/Command';
2
+ import * as Options from '@effect/cli/Options';
3
+ import { Effect, Option } from 'effect';
4
+ import { CliError } from '../cli-error.js';
5
+ import { jsonOption, runHandler } from '../cli/kit.js';
6
+ import { DirectHubSpotAccountResolutionError, resolveDirectHubSpotContext, } from '../hubspot-developer-client.js';
7
+ import { readHubSpotProjectDescriptor } from '../hubspot-project.js';
8
+ import { Cwd } from '../services/cwd.js';
9
+ import { Reporter } from '../services/reporter.js';
10
+ import { projectLogsCmd } from './control-plane-read.js';
11
+ import { devCmd } from './dev.js';
12
+ import { projectValidateCmd } from './validate.js';
13
+ const accountOption = Options.text('account').pipe(Options.withAlias('a'), Options.optional);
14
+ const configOption = Options.text('config').pipe(Options.withAlias('c'), Options.optional);
15
+ const useEnvOption = Options.boolean('use-env').pipe(Options.withDefault(false));
16
+ const formatJsonOption = Options.boolean('format-output-as-json').pipe(Options.withDefault(false));
17
+ const jsonSchemaOption = Options.boolean('json-schema').pipe(Options.withDefault(false));
18
+ const detailsOption = Options.boolean('details').pipe(Options.withDefault(false));
19
+ const debugOption = Options.boolean('debug').pipe(Options.withAlias('d'), Options.withDefault(false));
20
+ const projectNameOption = Options.text('project').pipe(Options.optional);
21
+ const limitOption = Options.text('limit').pipe(Options.optional);
22
+ const sharedReadOptions = {
23
+ account: accountOption,
24
+ config: configOption,
25
+ useEnv: useEnvOption,
26
+ json: jsonOption,
27
+ formatJson: formatJsonOption,
28
+ jsonSchema: jsonSchemaOption,
29
+ debug: debugOption,
30
+ };
31
+ const projectInfoCmd = Command.make('info', { ...sharedReadOptions, details: detailsOption }, (opts) => {
32
+ const json = opts.json || opts.formatJson;
33
+ return runHandler('project info', { json, debug: opts.debug }, projectInfoBody(opts, json));
34
+ });
35
+ const projectListBuildsCmd = Command.make('list-builds', { ...sharedReadOptions, project: projectNameOption, limit: limitOption }, (opts) => {
36
+ const json = opts.json || opts.formatJson;
37
+ return runHandler('project list-builds', { json, debug: opts.debug }, projectListBuildsBody(opts, json));
38
+ });
39
+ export const projectCmd = Command.make('project').pipe(Command.withSubcommands([
40
+ devCmd,
41
+ projectInfoCmd,
42
+ projectListBuildsCmd,
43
+ projectLogsCmd,
44
+ projectValidateCmd,
45
+ ]));
46
+ function projectInfoBody(opts, json) {
47
+ return Effect.gen(function* () {
48
+ const reporter = yield* Reporter;
49
+ if (opts.jsonSchema) {
50
+ yield* reporter.raw(`${JSON.stringify(PROJECT_INFO_JSON_SCHEMA, null, 2)}\n`);
51
+ return;
52
+ }
53
+ const root = yield* Cwd;
54
+ const argv = projectReadArgv('info', opts, json);
55
+ const result = yield* Effect.tryPromise({
56
+ try: () => readProjectInfo(root, argv),
57
+ catch: projectReadError,
58
+ });
59
+ if (json) {
60
+ yield* reporter.data(result);
61
+ yield* reporter.done();
62
+ return;
63
+ }
64
+ yield* reporter.header(result.project.name);
65
+ const componentSummary = summarizeComponents(result.project.components);
66
+ yield* reporter.rows([
67
+ {
68
+ key: 'account',
69
+ value: accountLabel(result.account),
70
+ detail: result.account.configSource ?? result.account.selectedBy,
71
+ },
72
+ { key: 'project-id', value: String(result.project.id ?? 'not uploaded') },
73
+ { key: 'platform', value: result.project.platformVersion },
74
+ { key: 'deployed-build', value: displayValue(result.project.deployedBuildId) },
75
+ { key: 'latest-build', value: displayValue(result.project.latestBuildId) },
76
+ { key: 'auto-deploy', value: displayBoolean(result.project.autoDeployEnabled) },
77
+ ...(result.project.appId
78
+ ? [
79
+ {
80
+ key: 'app',
81
+ value: String(result.project.appId),
82
+ ...(result.project.appUid ? { detail: result.project.appUid } : {}),
83
+ },
84
+ ]
85
+ : []),
86
+ { key: 'dashboard', value: result.project.url },
87
+ {
88
+ key: 'components',
89
+ value: componentSummary.unhealthy === 0
90
+ ? `${componentSummary.total} healthy`
91
+ : `${componentSummary.total} · ${componentSummary.unhealthy} need attention`,
92
+ ...(componentSummary.unhealthy > 0
93
+ ? { status: 'fail' }
94
+ : { status: 'ok' }),
95
+ ...(componentSummary.byType ? { detail: componentSummary.byType } : {}),
96
+ },
97
+ ...result.project.components
98
+ .filter((component) => opts.details || component.status !== 'SUCCESS')
99
+ .map((component) => ({
100
+ key: component.type,
101
+ value: component.uid,
102
+ ...(component.status === 'SUCCESS'
103
+ ? { status: 'ok' }
104
+ : component.status
105
+ ? { status: 'fail' }
106
+ : {}),
107
+ ...(component.status ? { detail: component.status } : {}),
108
+ })),
109
+ ]);
110
+ yield* reporter.done('Project loaded');
111
+ });
112
+ }
113
+ function projectListBuildsBody(opts, json) {
114
+ return Effect.gen(function* () {
115
+ const reporter = yield* Reporter;
116
+ if (opts.jsonSchema) {
117
+ yield* reporter.raw(`${JSON.stringify(PROJECT_BUILDS_JSON_SCHEMA, null, 2)}\n`);
118
+ return;
119
+ }
120
+ const root = yield* Cwd;
121
+ const limit = yield* Effect.try({
122
+ try: () => parseBuildLimit(Option.getOrUndefined(opts.limit)),
123
+ catch: projectReadError,
124
+ });
125
+ const argv = projectReadArgv('list-builds', opts, json);
126
+ const result = yield* Effect.tryPromise({
127
+ try: () => readProjectBuilds({
128
+ root,
129
+ argv,
130
+ limit,
131
+ ...(Option.isSome(opts.project) ? { projectName: opts.project.value } : {}),
132
+ }),
133
+ catch: projectReadError,
134
+ });
135
+ if (json) {
136
+ yield* reporter.data(result);
137
+ yield* reporter.done();
138
+ return;
139
+ }
140
+ yield* reporter.header(`${result.projectName} builds`);
141
+ yield* reporter.rows([
142
+ {
143
+ key: 'account',
144
+ value: accountLabel(result.account),
145
+ detail: result.account.configSource ?? result.account.selectedBy,
146
+ },
147
+ ...result.builds.map((build) => ({
148
+ key: `#${build.id}`,
149
+ value: build.status ?? 'UNKNOWN',
150
+ ...(build.status === 'SUCCESS'
151
+ ? { status: 'ok' }
152
+ : build.status === 'FAILURE'
153
+ ? { status: 'fail' }
154
+ : {}),
155
+ detail: [build.platformVersion, build.createdAt, build.message].filter(Boolean).join(' · '),
156
+ })),
157
+ ]);
158
+ if (result.builds.length === 0)
159
+ yield* reporter.info('No builds found.');
160
+ yield* reporter.done(`${result.builds.length} build${result.builds.length === 1 ? '' : 's'}`);
161
+ });
162
+ }
163
+ async function readProjectInfo(root, argv) {
164
+ const descriptor = await readHubSpotProjectDescriptor(root);
165
+ const context = await resolveDirectHubSpotContext({ argv, cwd: root });
166
+ const client = context.createClient();
167
+ const raw = await client.projects.getProject({ projectName: descriptor.name });
168
+ const record = requireRecord(raw, 'HubSpot project response');
169
+ const deployedBuild = optionalRecord(record.deployedBuild);
170
+ const latestBuild = optionalRecord(record.latestBuild);
171
+ const componentBuild = deployedBuild ?? latestBuild;
172
+ const components = readComponents(componentBuild);
173
+ const appComponent = components.find((component) => isAppComponent(component.type));
174
+ const responseAppId = readNumber(record.appId) ??
175
+ readNumber(optionalRecord(componentBuild)?.appId) ??
176
+ readNumber(optionalRecord(appComponent?.raw)?.appId) ??
177
+ readNumber(optionalRecord(optionalRecord(appComponent?.raw)?.deployOutput)?.appId);
178
+ const appId = responseAppId ??
179
+ (await client.projects
180
+ .resolveAppId({
181
+ projectName: descriptor.name,
182
+ ...(descriptor.appUid ? { appUid: descriptor.appUid } : {}),
183
+ })
184
+ .catch(() => undefined));
185
+ return {
186
+ mode: 'hubspot-direct',
187
+ account: safeAccount(context.account),
188
+ project: {
189
+ name: readString(record.name) ?? descriptor.name,
190
+ id: readNumber(record.id),
191
+ platformVersion: readString(deployedBuild?.platformVersion) ??
192
+ readString(latestBuild?.platformVersion) ??
193
+ descriptor.platformVersion,
194
+ deployedBuildId: readNumber(record.deployedBuildId) ?? readNumber(deployedBuild?.buildId),
195
+ latestBuildId: readNumber(latestBuild?.buildId),
196
+ autoDeployEnabled: readBoolean(deployedBuild?.isAutoDeployEnabled) ??
197
+ readBoolean(latestBuild?.isAutoDeployEnabled),
198
+ appUid: descriptor.appUid,
199
+ appId,
200
+ components: components
201
+ .filter((component) => !isAppComponent(component.type))
202
+ .map(({ raw: _raw, ...component }) => component),
203
+ url: hubSpotProjectUrl(context.account.id, descriptor.name),
204
+ },
205
+ };
206
+ }
207
+ async function readProjectBuilds(input) {
208
+ const descriptor = await readHubSpotProjectDescriptor(input.root);
209
+ const projectName = input.projectName ?? descriptor.name;
210
+ const context = await resolveDirectHubSpotContext({ argv: input.argv, cwd: input.root });
211
+ const client = context.createClient();
212
+ const raw = requireRecord(await client.projects.listBuilds({ projectName, limit: input.limit }), 'HubSpot builds response');
213
+ const builds = Array.isArray(raw.results)
214
+ ? raw.results.flatMap((candidate) => {
215
+ const build = optionalRecord(candidate);
216
+ const id = readNumber(build?.buildId) ?? readNumber(build?.id);
217
+ if (!build || id === undefined)
218
+ return [];
219
+ return [
220
+ {
221
+ id,
222
+ status: readString(build.status),
223
+ platformVersion: readString(build.platformVersion),
224
+ createdAt: readString(build.createdAt) ?? readString(build.enqueuedAt),
225
+ message: readString(build.uploadMessage),
226
+ deployableState: readString(build.deployableState),
227
+ autoDeployEnabled: readBoolean(build.isAutoDeployEnabled),
228
+ },
229
+ ];
230
+ })
231
+ : [];
232
+ return {
233
+ mode: 'hubspot-direct',
234
+ account: safeAccount(context.account),
235
+ projectName,
236
+ builds,
237
+ paging: optionalRecord(raw.paging) ?? {},
238
+ };
239
+ }
240
+ function projectReadArgv(subcommand, opts, json) {
241
+ const argv = ['project', subcommand];
242
+ const account = Option.getOrUndefined(opts.account);
243
+ const config = Option.getOrUndefined(opts.config);
244
+ if (account)
245
+ argv.push('--account', account);
246
+ if (config)
247
+ argv.push('--config', config);
248
+ if (opts.useEnv)
249
+ argv.push('--use-env');
250
+ if (json)
251
+ argv.push('--json');
252
+ return argv;
253
+ }
254
+ function projectReadError(cause) {
255
+ if (cause instanceof CliError)
256
+ return cause;
257
+ if (cause instanceof DirectHubSpotAccountResolutionError) {
258
+ return new CliError({
259
+ code: cause.code,
260
+ message: cause.message,
261
+ context: { hint: cause.hint },
262
+ exitCode: 1,
263
+ });
264
+ }
265
+ const message = describeProjectReadFailure(cause);
266
+ const nativeProjectProblem = message.includes('hsproject.json');
267
+ return new CliError({
268
+ code: nativeProjectProblem ? 'HSX_E_PROJECT_NATIVE_REQUIRED' : 'HSX_E_PROJECT_HUBSPOT_READ',
269
+ message,
270
+ context: {
271
+ hint: nativeProjectProblem
272
+ ? 'Run this command from a native HubSpot project containing hsproject.json.'
273
+ : 'Check the selected HubSpot account and project name, then retry with --debug if needed.',
274
+ },
275
+ exitCode: 1,
276
+ });
277
+ }
278
+ function parseBuildLimit(value) {
279
+ if (value === undefined)
280
+ return 10;
281
+ const parsed = Number.parseInt(value, 10);
282
+ if (!Number.isInteger(parsed) || parsed < 1 || parsed > 100) {
283
+ throw new CliError({
284
+ code: 'HSX_E_INPUT_BAD_FIELD',
285
+ message: `--limit must be an integer between 1 and 100 (received ${value}).`,
286
+ exitCode: 10,
287
+ });
288
+ }
289
+ return parsed;
290
+ }
291
+ function readComponents(build) {
292
+ if (!Array.isArray(build?.subbuildStatuses))
293
+ return [];
294
+ return build.subbuildStatuses.flatMap((candidate) => {
295
+ const component = optionalRecord(candidate);
296
+ const uid = readString(component?.buildName) ?? readString(component?.uid);
297
+ const type = readString(component?.buildType) ?? readString(component?.type);
298
+ if (!component || !uid || !type)
299
+ return [];
300
+ return [{ uid, type, status: readString(component.status), raw: component }];
301
+ });
302
+ }
303
+ function isAppComponent(type) {
304
+ const normalized = type.toUpperCase();
305
+ return normalized === 'APPLICATION' || normalized.endsWith('_APP') || normalized === 'APP';
306
+ }
307
+ function safeAccount(account) {
308
+ return {
309
+ id: account.id,
310
+ ...(account.name ? { name: account.name } : {}),
311
+ source: account.source,
312
+ selectedBy: account.selectedBy,
313
+ authReady: account.authReady,
314
+ ...(account.configSource ? { configSource: account.configSource } : {}),
315
+ };
316
+ }
317
+ function accountLabel(account) {
318
+ return account.name ? `${account.name} (${account.id})` : account.id;
319
+ }
320
+ function hubSpotProjectUrl(accountId, projectName) {
321
+ return `https://app.hubspot.com/developer-projects/${encodeURIComponent(accountId)}/project/${encodeURIComponent(projectName)}`;
322
+ }
323
+ function displayValue(value) {
324
+ return value === undefined || value === null ? 'none' : String(value);
325
+ }
326
+ function displayBoolean(value) {
327
+ return value === undefined ? 'unknown' : value ? 'enabled' : 'disabled';
328
+ }
329
+ function summarizeComponents(components) {
330
+ const counts = new Map();
331
+ let unhealthy = 0;
332
+ for (const component of components) {
333
+ counts.set(component.type, (counts.get(component.type) ?? 0) + 1);
334
+ if (component.status !== 'SUCCESS')
335
+ unhealthy += 1;
336
+ }
337
+ return {
338
+ total: components.length,
339
+ unhealthy,
340
+ byType: [...counts.entries()]
341
+ .sort((left, right) => right[1] - left[1] || left[0].localeCompare(right[0]))
342
+ .map(([type, count]) => `${count} ${type}`)
343
+ .join(' · '),
344
+ };
345
+ }
346
+ function describeProjectReadFailure(cause) {
347
+ const record = optionalRecord(cause);
348
+ const data = optionalRecord(record?.data) ?? optionalRecord(optionalRecord(record?.response)?.data);
349
+ const values = [
350
+ cause instanceof Error ? cause.message : String(cause),
351
+ readString(data?.message),
352
+ readString(data?.category),
353
+ readString(data?.correlationId),
354
+ ].filter((value) => Boolean(value));
355
+ return [...new Set(values)].join(' · ');
356
+ }
357
+ function requireRecord(value, label) {
358
+ const record = optionalRecord(value);
359
+ if (!record)
360
+ throw new Error(`${label} was not an object.`);
361
+ return record;
362
+ }
363
+ function optionalRecord(value) {
364
+ return typeof value === 'object' && value !== null
365
+ ? value
366
+ : undefined;
367
+ }
368
+ function readString(value) {
369
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
370
+ }
371
+ function readNumber(value) {
372
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
373
+ }
374
+ function readBoolean(value) {
375
+ return typeof value === 'boolean' ? value : undefined;
376
+ }
377
+ const DIRECT_ACCOUNT_JSON_SCHEMA = {
378
+ type: 'object',
379
+ additionalProperties: false,
380
+ required: ['id', 'source', 'selectedBy', 'authReady'],
381
+ properties: {
382
+ id: { type: 'string', minLength: 1 },
383
+ name: { type: 'string', minLength: 1 },
384
+ source: { enum: ['flags', 'environment', 'hubspot-cli'] },
385
+ selectedBy: {
386
+ enum: ['--developer-account-id', '--account', 'environment', 'default', 'sole-account'],
387
+ },
388
+ authReady: { type: 'boolean' },
389
+ configSource: { type: 'string', minLength: 1 },
390
+ },
391
+ };
392
+ const PROJECT_INFO_DATA_JSON_SCHEMA = {
393
+ type: 'object',
394
+ additionalProperties: false,
395
+ required: ['mode', 'account', 'project'],
396
+ properties: {
397
+ mode: { const: 'hubspot-direct' },
398
+ account: DIRECT_ACCOUNT_JSON_SCHEMA,
399
+ project: {
400
+ type: 'object',
401
+ additionalProperties: false,
402
+ required: ['name', 'platformVersion', 'components', 'url'],
403
+ properties: {
404
+ name: { type: 'string', minLength: 1 },
405
+ id: { type: 'number' },
406
+ platformVersion: { type: 'string', minLength: 1 },
407
+ deployedBuildId: { type: 'number' },
408
+ latestBuildId: { type: 'number' },
409
+ autoDeployEnabled: { type: 'boolean' },
410
+ appUid: { type: 'string', minLength: 1 },
411
+ appId: { type: 'number' },
412
+ components: {
413
+ type: 'array',
414
+ items: {
415
+ type: 'object',
416
+ additionalProperties: false,
417
+ required: ['uid', 'type'],
418
+ properties: {
419
+ uid: { type: 'string', minLength: 1 },
420
+ type: { type: 'string', minLength: 1 },
421
+ status: { type: 'string', minLength: 1 },
422
+ },
423
+ },
424
+ },
425
+ url: { type: 'string', format: 'uri' },
426
+ },
427
+ },
428
+ },
429
+ };
430
+ const PROJECT_BUILDS_DATA_JSON_SCHEMA = {
431
+ type: 'object',
432
+ additionalProperties: false,
433
+ required: ['mode', 'account', 'projectName', 'builds', 'paging'],
434
+ properties: {
435
+ mode: { const: 'hubspot-direct' },
436
+ account: DIRECT_ACCOUNT_JSON_SCHEMA,
437
+ projectName: { type: 'string' },
438
+ builds: {
439
+ type: 'array',
440
+ items: {
441
+ type: 'object',
442
+ additionalProperties: false,
443
+ required: ['id'],
444
+ properties: {
445
+ id: { type: 'number' },
446
+ status: { type: 'string', minLength: 1 },
447
+ platformVersion: { type: 'string', minLength: 1 },
448
+ createdAt: { type: 'string', minLength: 1 },
449
+ message: { type: 'string' },
450
+ deployableState: { type: 'string', minLength: 1 },
451
+ autoDeployEnabled: { type: 'boolean' },
452
+ },
453
+ },
454
+ },
455
+ paging: { type: 'object' },
456
+ },
457
+ };
458
+ const PROJECT_INFO_JSON_SCHEMA = projectJsonEnvelopeSchema('hs-x project info result', 'project info', PROJECT_INFO_DATA_JSON_SCHEMA);
459
+ const PROJECT_BUILDS_JSON_SCHEMA = projectJsonEnvelopeSchema('hs-x project list-builds result', 'project list-builds', PROJECT_BUILDS_DATA_JSON_SCHEMA);
460
+ function projectJsonEnvelopeSchema(title, command, dataSchema) {
461
+ return {
462
+ $schema: 'https://json-schema.org/draft/2020-12/schema',
463
+ title,
464
+ type: 'object',
465
+ additionalProperties: false,
466
+ required: ['schema_version', 'command', 'ok'],
467
+ properties: {
468
+ schema_version: { const: 1 },
469
+ command: { const: command },
470
+ ok: { type: 'boolean' },
471
+ data: dataSchema,
472
+ error: {
473
+ type: 'object',
474
+ additionalProperties: false,
475
+ required: ['code', 'message'],
476
+ properties: {
477
+ code: { type: 'string', minLength: 1 },
478
+ message: { type: 'string', minLength: 1 },
479
+ hint: { type: 'string', minLength: 1 },
480
+ cause: { type: 'string', minLength: 1 },
481
+ wire: {},
482
+ docs_url: { type: 'string', format: 'uri' },
483
+ },
484
+ },
485
+ warnings: {
486
+ type: 'array',
487
+ items: {
488
+ type: 'object',
489
+ additionalProperties: false,
490
+ required: ['code', 'message'],
491
+ properties: {
492
+ code: { type: 'string', minLength: 1 },
493
+ message: { type: 'string', minLength: 1 },
494
+ },
495
+ },
496
+ },
497
+ },
498
+ oneOf: [
499
+ { properties: { ok: { const: true } }, required: ['data'], not: { required: ['error'] } },
500
+ { properties: { ok: { const: false } }, required: ['error'] },
501
+ ],
502
+ };
503
+ }
504
+ export function projectHelpText(subcommand) {
505
+ if (subcommand === 'info') {
506
+ return `hs-x project info
507
+
508
+ Show the current native HubSpot project, deployed build, components, app id,
509
+ auto-deploy setting, selected account, and dashboard URL.
510
+
511
+ Flags:
512
+ --account, -a <name-or-id> Override the selected HubSpot CLI account
513
+ --config, -c <path> Read accounts from a specific HubSpot config
514
+ --use-env Use HUBSPOT_ACCOUNT_ID / HUBSPOT_PERSONAL_ACCESS_KEY
515
+ --json Emit the stable HS-X JSON envelope
516
+ --format-output-as-json HubSpot-compatible alias for --json
517
+ --json-schema Print the result schema without making a request
518
+ --details Show every component (failures are always shown)
519
+ `;
520
+ }
521
+ if (subcommand === 'list-builds') {
522
+ return `hs-x project list-builds
523
+
524
+ List recent HubSpot builds for the project in hsproject.json.
525
+
526
+ Flags:
527
+ --account, -a <name-or-id> Override the selected HubSpot CLI account
528
+ --config, -c <path> Read accounts from a specific HubSpot config
529
+ --use-env Use HUBSPOT_ACCOUNT_ID / HUBSPOT_PERSONAL_ACCESS_KEY
530
+ --project <name> Override the hsproject.json project name
531
+ --limit <n> Number of builds, 1-100 (default 10)
532
+ --json Emit the stable HS-X JSON envelope
533
+ --format-output-as-json HubSpot-compatible alias for --json
534
+ --json-schema Print the result schema without making a request
535
+ `;
536
+ }
537
+ if (subcommand === 'logs') {
538
+ return `hs-x project logs
539
+
540
+ Read and optionally follow the current app's HubSpot execution logs. Unlike the
541
+ native command, the default view can include every HubSpot log lane; use
542
+ --function to narrow it to one serverless function.
543
+
544
+ Flags:
545
+ --function <name> Filter to one serverless function
546
+ --latest Show only the latest matching event
547
+ --limit <n> Maximum events (default 50)
548
+ --tail, --follow Keep following new events
549
+ --compact Use the default compact terminal rendering
550
+ --type <type> Limit HubSpot log type; repeatable
551
+ --errors-only Show errors only
552
+ --json Emit machine-readable output (not with --tail)
553
+ `;
554
+ }
555
+ if (subcommand === 'validate') {
556
+ return `hs-x project validate
557
+
558
+ Parse and validate the native HubSpot project locally before upload. This never
559
+ contacts Cloudflare or the HS-X control plane.
560
+
561
+ Flags:
562
+ --profile, -p <name> Validate one HubSpot project profile
563
+ --account, -a <name-or-id> Accept the familiar HubSpot account selector
564
+ --config, -c <path> Accept a specific HubSpot config path
565
+ --use-env Accept HubSpot environment configuration
566
+ --cwd <path> Project directory (defaults to current directory)
567
+ --json Emit JSON diagnostics
568
+ `;
569
+ }
570
+ return `hs-x project
571
+
572
+ HubSpot-compatible project commands. Native projects use the selected HubSpot
573
+ CLI account and never require HS-X migration, linking, Cloudflare, or the
574
+ HS-X control plane.
575
+
576
+ Commands:
577
+ hs-x project dev Enhanced local UI-extension development
578
+ hs-x project info Project, deployed build, app, and component details
579
+ hs-x project list-builds Recent HubSpot project builds
580
+ hs-x project logs Enhanced HubSpot app/function execution logs
581
+ hs-x project validate Local native-project validation
582
+
583
+ Existing enhanced shortcuts (hs-x dev, hs-x logs, hs-x deploy) remain supported.
584
+ `;
585
+ }
586
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export declare function confirmSecretsWrite(input: {
71
71
  readonly interactive: boolean;
72
72
  readonly confirm: () => Promise<boolean | undefined>;
73
73
  }): Promise<boolean>;
74
- export declare const secretsCmd: Command.Command<"secrets" | "secret", AccountStore | Cwd | CliHttp | ControlPlaneClient, CliError, {
74
+ export declare const secretsCmd: Command.Command<"secret" | "secrets", AccountStore | Cwd | CliHttp | ControlPlaneClient, CliError, {
75
75
  readonly subcommand: Option.Option<{
76
76
  readonly subcommand: Option.Option<{
77
77
  readonly json: boolean;
@@ -88,7 +88,7 @@ export declare const secretsCmd: Command.Command<"secrets" | "secret", AccountSt
88
88
  }>;
89
89
  }>;
90
90
  }>;
91
- export declare const secretCmd: Command.Command<"secrets" | "secret", AccountStore | Cwd | CliHttp | ControlPlaneClient, CliError, {
91
+ export declare const secretCmd: Command.Command<"secret" | "secrets", AccountStore | Cwd | CliHttp | ControlPlaneClient, CliError, {
92
92
  readonly subcommand: Option.Option<{
93
93
  readonly subcommand: Option.Option<{
94
94
  readonly json: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAYhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAGzC,OAAO,EAEL,KAAK,mBAAmB,EAQzB,MAAM,yBAAyB,CAAC;AAWjC,eAAO,MAAM,SAAS;;;;;;;EAuBrB,CAAC;AAyeF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D,WAAW,EAAE,CA0Df"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAahD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAGzC,OAAO,EAEL,KAAK,mBAAmB,EAQzB,MAAM,yBAAyB,CAAC;AAWjC,eAAO,MAAM,SAAS;;;;;;;EAuBrB,CAAC;AAsfF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D,WAAW,EAAE,CA0Df"}