@hs-x/cli 0.3.7 → 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 (130) hide show
  1. package/README.md +120 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +38 -10
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/command-catalog.d.ts +2 -2
  6. package/dist/command-catalog.d.ts.map +1 -1
  7. package/dist/command-catalog.js +1 -0
  8. package/dist/command-catalog.js.map +1 -1
  9. package/dist/commands/completion.d.ts.map +1 -1
  10. package/dist/commands/completion.js +268 -16
  11. package/dist/commands/completion.js.map +1 -1
  12. package/dist/commands/connect.d.ts.map +1 -1
  13. package/dist/commands/connect.js +177 -20
  14. package/dist/commands/connect.js.map +1 -1
  15. package/dist/commands/control-plane-read.d.ts +28 -0
  16. package/dist/commands/control-plane-read.d.ts.map +1 -1
  17. package/dist/commands/control-plane-read.js +134 -28
  18. package/dist/commands/control-plane-read.js.map +1 -1
  19. package/dist/commands/deploy.d.ts +5 -0
  20. package/dist/commands/deploy.d.ts.map +1 -1
  21. package/dist/commands/deploy.js +605 -102
  22. package/dist/commands/deploy.js.map +1 -1
  23. package/dist/commands/dev.d.ts +19 -1
  24. package/dist/commands/dev.d.ts.map +1 -1
  25. package/dist/commands/dev.js +1335 -83
  26. package/dist/commands/dev.js.map +1 -1
  27. package/dist/commands/doctor.d.ts.map +1 -1
  28. package/dist/commands/doctor.js +27 -10
  29. package/dist/commands/doctor.js.map +1 -1
  30. package/dist/commands/help-command.d.ts.map +1 -1
  31. package/dist/commands/help-command.js +145 -35
  32. package/dist/commands/help-command.js.map +1 -1
  33. package/dist/commands/project.d.ts +107 -0
  34. package/dist/commands/project.d.ts.map +1 -0
  35. package/dist/commands/project.js +586 -0
  36. package/dist/commands/project.js.map +1 -0
  37. package/dist/commands/status.d.ts.map +1 -1
  38. package/dist/commands/status.js +15 -5
  39. package/dist/commands/status.js.map +1 -1
  40. package/dist/commands/validate.d.ts +19 -0
  41. package/dist/commands/validate.d.ts.map +1 -1
  42. package/dist/commands/validate.js +26 -7
  43. package/dist/commands/validate.js.map +1 -1
  44. package/dist/constants.d.ts +1 -1
  45. package/dist/constants.js +1 -1
  46. package/dist/dev/account-selection.d.ts +16 -0
  47. package/dist/dev/account-selection.d.ts.map +1 -0
  48. package/dist/dev/account-selection.js +22 -0
  49. package/dist/dev/account-selection.js.map +1 -0
  50. package/dist/dev/browser-log-bridge.d.ts +32 -0
  51. package/dist/dev/browser-log-bridge.d.ts.map +1 -0
  52. package/dist/dev/browser-log-bridge.js +156 -0
  53. package/dist/dev/browser-log-bridge.js.map +1 -0
  54. package/dist/dev/compat-shim.d.ts +3 -3
  55. package/dist/dev/compat-shim.d.ts.map +1 -1
  56. package/dist/dev/compat-shim.js +7 -6
  57. package/dist/dev/compat-shim.js.map +1 -1
  58. package/dist/dev/component-selection.d.ts +25 -0
  59. package/dist/dev/component-selection.d.ts.map +1 -0
  60. package/dist/dev/component-selection.js +79 -0
  61. package/dist/dev/component-selection.js.map +1 -0
  62. package/dist/dev/console-capture.d.ts +18 -0
  63. package/dist/dev/console-capture.d.ts.map +1 -0
  64. package/dist/dev/console-capture.js +57 -0
  65. package/dist/dev/console-capture.js.map +1 -0
  66. package/dist/dev/event-bus.d.ts +1 -1
  67. package/dist/dev/event-bus.js +1 -1
  68. package/dist/dev/frontend-log-relay.d.ts +27 -0
  69. package/dist/dev/frontend-log-relay.d.ts.map +1 -0
  70. package/dist/dev/frontend-log-relay.js +102 -0
  71. package/dist/dev/frontend-log-relay.js.map +1 -0
  72. package/dist/dev/keyboard.d.ts +1 -0
  73. package/dist/dev/keyboard.d.ts.map +1 -1
  74. package/dist/dev/keyboard.js +9 -3
  75. package/dist/dev/keyboard.js.map +1 -1
  76. package/dist/dev/log-server.js +3 -0
  77. package/dist/dev/log-server.js.map +1 -1
  78. package/dist/dev/managed-session.d.ts +124 -0
  79. package/dist/dev/managed-session.d.ts.map +1 -0
  80. package/dist/dev/managed-session.js +597 -0
  81. package/dist/dev/managed-session.js.map +1 -0
  82. package/dist/dev/port-process.d.ts +21 -0
  83. package/dist/dev/port-process.d.ts.map +1 -0
  84. package/dist/dev/port-process.js +145 -0
  85. package/dist/dev/port-process.js.map +1 -0
  86. package/dist/dev/session-manager.d.ts +11 -1
  87. package/dist/dev/session-manager.d.ts.map +1 -1
  88. package/dist/dev/session-manager.js +62 -12
  89. package/dist/dev/session-manager.js.map +1 -1
  90. package/dist/dev/stream-event-format.d.ts +14 -0
  91. package/dist/dev/stream-event-format.d.ts.map +1 -0
  92. package/dist/dev/stream-event-format.js +262 -0
  93. package/dist/dev/stream-event-format.js.map +1 -0
  94. package/dist/dev/stream-filter.d.ts.map +1 -1
  95. package/dist/dev/stream-filter.js +16 -1
  96. package/dist/dev/stream-filter.js.map +1 -1
  97. package/dist/dev/stream-renderer.d.ts +4 -2
  98. package/dist/dev/stream-renderer.d.ts.map +1 -1
  99. package/dist/dev/stream-renderer.js +224 -84
  100. package/dist/dev/stream-renderer.js.map +1 -1
  101. package/dist/errors-registry.d.ts.map +1 -1
  102. package/dist/errors-registry.js +213 -0
  103. package/dist/errors-registry.js.map +1 -1
  104. package/dist/hubspot-app-logs.d.ts +38 -5
  105. package/dist/hubspot-app-logs.d.ts.map +1 -1
  106. package/dist/hubspot-app-logs.js +88 -17
  107. package/dist/hubspot-app-logs.js.map +1 -1
  108. package/dist/hubspot-auth.d.ts +19 -1
  109. package/dist/hubspot-auth.d.ts.map +1 -1
  110. package/dist/hubspot-auth.js +228 -83
  111. package/dist/hubspot-auth.js.map +1 -1
  112. package/dist/hubspot-developer-client.d.ts +87 -0
  113. package/dist/hubspot-developer-client.d.ts.map +1 -1
  114. package/dist/hubspot-developer-client.js +232 -1
  115. package/dist/hubspot-developer-client.js.map +1 -1
  116. package/dist/hubspot-project-archive.d.ts +21 -0
  117. package/dist/hubspot-project-archive.d.ts.map +1 -0
  118. package/dist/hubspot-project-archive.js +281 -0
  119. package/dist/hubspot-project-archive.js.map +1 -0
  120. package/dist/hubspot-project.d.ts +32 -0
  121. package/dist/hubspot-project.d.ts.map +1 -0
  122. package/dist/hubspot-project.js +269 -0
  123. package/dist/hubspot-project.js.map +1 -0
  124. package/dist/local-project-picker.js +1 -1
  125. package/dist/local-project-picker.js.map +1 -1
  126. package/dist/output-context.js +1 -1
  127. package/dist/output-context.js.map +1 -1
  128. package/dist/services/hubspot-dev-client.js +3 -0
  129. package/dist/services/hubspot-dev-client.js.map +1 -1
  130. package/package.json +14 -12
@@ -3,6 +3,225 @@ import { HttpClientRequest, Schema, schemas } from '@hs-x/types';
3
3
  import { controlPlaneAuthHeaders } from './control-plane-fetch.js';
4
4
  import { executeCliHttp } from './effect-http.js';
5
5
  import { discoverHubSpotAccounts } from './hubspot-auth.js';
6
+ export class DirectHubSpotAccountResolutionError extends Error {
7
+ code;
8
+ hint;
9
+ name = 'DirectHubSpotAccountResolutionError';
10
+ constructor(code, message, hint) {
11
+ super(`${message} ${hint}`);
12
+ this.code = code;
13
+ this.hint = hint;
14
+ }
15
+ }
16
+ const directCredentials = new WeakMap();
17
+ /**
18
+ * Resolve a HubSpot developer account without contacting the HS-X control
19
+ * plane. Flags win over environment variables, which win over the account
20
+ * selected by `--account`, `.hsaccount` / `hs account use`, the HubSpot CLI
21
+ * default, or a sole configured account.
22
+ *
23
+ * The returned object is always safe to render. It reports whether deploy auth
24
+ * is ready but never exposes the credential itself.
25
+ */
26
+ export async function resolveDirectHubSpotAccount({ argv, cwd = process.cwd(), env = process.env, home, }) {
27
+ const useEnvironmentConfig = hasFlag(argv, '--use-env');
28
+ const configPath = resolveFlag(argv, '--config');
29
+ const flagDeveloperAccountId = resolveFlag(argv, '--developer-account-id');
30
+ const envDeveloperAccountId = nonEmpty(env.HSX_HUBSPOT_DEVELOPER_ACCOUNT_ID) ??
31
+ (useEnvironmentConfig ? nonEmpty(env.HUBSPOT_ACCOUNT_ID) : undefined);
32
+ const requestedAccount = resolveFlag(argv, '--account');
33
+ let developerAccountId = flagDeveloperAccountId ?? envDeveloperAccountId;
34
+ const flagPersonalAccessKey = resolveFlag(argv, '--pak');
35
+ const envPersonalAccessKey = nonEmpty(env.HSX_HUBSPOT_PAK) ??
36
+ (useEnvironmentConfig ? nonEmpty(env.HUBSPOT_PERSONAL_ACCESS_KEY) : undefined);
37
+ let personalAccessKey = flagPersonalAccessKey ?? envPersonalAccessKey;
38
+ const flagDeveloperApiKey = resolveFlag(argv, '--developer-api-key');
39
+ const envDeveloperApiKey = nonEmpty(env.HSX_HUBSPOT_DEVELOPER_API_KEY) ??
40
+ (useEnvironmentConfig ? nonEmpty(env.HUBSPOT_DEVELOPER_API_KEY) : undefined);
41
+ let developerApiKey = flagDeveloperApiKey ?? envDeveloperApiKey;
42
+ // An explicit account id outranks the ambient account identity, but ambient
43
+ // credentials are scoped to that ambient identity. If the ids differ, only
44
+ // an explicitly supplied credential or the exact configured account may be
45
+ // used for the selected target.
46
+ if (flagDeveloperAccountId &&
47
+ envDeveloperAccountId &&
48
+ flagDeveloperAccountId !== envDeveloperAccountId) {
49
+ if (!flagPersonalAccessKey)
50
+ personalAccessKey = undefined;
51
+ if (!flagDeveloperApiKey)
52
+ developerApiKey = undefined;
53
+ }
54
+ let discovered;
55
+ if (configPath || requestedAccount || !developerAccountId || !personalAccessKey) {
56
+ try {
57
+ discovered = await discoverHubSpotAccounts(cwd, {
58
+ ...(home ? { home } : {}),
59
+ ...(configPath ? { configPath } : {}),
60
+ });
61
+ }
62
+ catch (cause) {
63
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_CONFIG', `Unable to read the active HubSpot CLI account configuration: ${errorMessage(cause)}`, 'Fix the HubSpot CLI configuration or select an account with --developer-account-id and provide --pak.');
64
+ }
65
+ }
66
+ const requestedMatch = requestedAccount
67
+ ? discovered?.accounts.find((candidate) => candidate.name === requestedAccount || String(candidate.portalId) === requestedAccount)
68
+ : undefined;
69
+ if (requestedAccount && !requestedMatch) {
70
+ const available = discovered?.accounts.length
71
+ ? ` Available accounts: ${discovered.accounts
72
+ .map((account) => `${account.name} (${account.portalId})`)
73
+ .join(', ')}.`
74
+ : '';
75
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_NOT_FOUND', `HubSpot account "${requestedAccount}" was not found.${available}`, 'Pass an account name/id from `hs account list`, or authenticate it with `hs account auth`.');
76
+ }
77
+ if (requestedMatch &&
78
+ flagDeveloperAccountId &&
79
+ String(requestedMatch.portalId) !== flagDeveloperAccountId) {
80
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_CONFLICT', `--account selected ${requestedMatch.name} (${requestedMatch.portalId}), but --developer-account-id selected ${flagDeveloperAccountId}.`, 'Remove one selector or make both refer to the same HubSpot developer account.');
81
+ }
82
+ if (requestedMatch && !flagDeveloperAccountId) {
83
+ const requestedId = String(requestedMatch.portalId);
84
+ developerAccountId = requestedId;
85
+ // --account is an explicit one-run identity override. Prefer that exact
86
+ // config account's PAK; only reuse ambient credential material when its
87
+ // identity is absent or agrees. Never pair the selected account with a PAK
88
+ // known to belong to a different ambient account.
89
+ if (!flagPersonalAccessKey) {
90
+ personalAccessKey =
91
+ requestedMatch.personalAccessKey ??
92
+ (!envDeveloperAccountId || envDeveloperAccountId === requestedId
93
+ ? envPersonalAccessKey
94
+ : undefined);
95
+ }
96
+ if (!flagDeveloperApiKey && envDeveloperAccountId && envDeveloperAccountId !== requestedId) {
97
+ developerApiKey = undefined;
98
+ }
99
+ }
100
+ const idMatch = developerAccountId
101
+ ? discovered?.accounts.find((candidate) => String(candidate.portalId) === developerAccountId)
102
+ : undefined;
103
+ if (configPath && developerAccountId && !idMatch) {
104
+ const available = discovered?.accounts.length
105
+ ? ` Available accounts: ${discovered.accounts
106
+ .map((account) => `${account.name} (${account.portalId})`)
107
+ .join(', ')}.`
108
+ : '';
109
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_NOT_FOUND', `HubSpot account "${developerAccountId}" was not found in explicit config ${configPath}.${available}`, 'Select an account present in that file or pass a different --config path.');
110
+ }
111
+ const defaultMatch = discovered?.accounts.find((candidate) => candidate.isDefault);
112
+ const soleMatch = discovered?.accounts.length === 1 ? discovered.accounts[0] : undefined;
113
+ // Once an explicit flag/env id exists, only that same configured account may
114
+ // supply its PAK. Falling back to an unrelated default would make a plan name
115
+ // one account while the request authenticates as another.
116
+ const selectedAccount = requestedMatch ?? (developerAccountId ? idMatch : (defaultMatch ?? soleMatch));
117
+ developerAccountId ??= selectedAccount ? String(selectedAccount.portalId) : undefined;
118
+ personalAccessKey ??= selectedAccount?.personalAccessKey;
119
+ if (!developerAccountId) {
120
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_REQUIRED', 'No HubSpot developer account could be selected.', 'Pass --account <name-or-id> or --developer-account-id <id>, run `hs account use`, or authenticate with `hs account auth`.');
121
+ }
122
+ const source = flagDeveloperAccountId
123
+ ? 'flags'
124
+ : requestedMatch
125
+ ? 'hubspot-cli'
126
+ : envDeveloperAccountId
127
+ ? 'environment'
128
+ : 'hubspot-cli';
129
+ const selectedBy = flagDeveloperAccountId
130
+ ? '--developer-account-id'
131
+ : requestedMatch
132
+ ? '--account'
133
+ : envDeveloperAccountId
134
+ ? 'environment'
135
+ : defaultMatch
136
+ ? 'default'
137
+ : 'sole-account';
138
+ const namedAccount = discovered?.accounts.find((account) => String(account.portalId) === developerAccountId) ??
139
+ selectedAccount;
140
+ const resolution = {
141
+ account: {
142
+ id: developerAccountId,
143
+ name: namedAccount && String(namedAccount.portalId) === developerAccountId
144
+ ? namedAccount.name
145
+ : undefined,
146
+ source,
147
+ selectedBy,
148
+ authReady: Boolean(personalAccessKey),
149
+ ...(discovered?.defaultSource || discovered?.source
150
+ ? { configSource: discovered.defaultSource ?? discovered?.source }
151
+ : {}),
152
+ ...(discovered?.defaultSource ? { defaultSource: discovered.defaultSource } : {}),
153
+ },
154
+ };
155
+ directCredentials.set(resolution, { personalAccessKey, developerApiKey });
156
+ return resolution;
157
+ }
158
+ /**
159
+ * Resolve render-safe metadata and capture its credential-bound client factory
160
+ * in one pass. Resolution itself succeeds with `authReady: false`; client
161
+ * construction preserves the existing typed authentication failure.
162
+ */
163
+ export async function resolveDirectHubSpotContext(input) {
164
+ const resolution = await resolveDirectHubSpotAccount(input);
165
+ return {
166
+ account: resolution.account,
167
+ createClient: () => createDirectHubSpotDeveloperClientFromResolution(resolution),
168
+ };
169
+ }
170
+ function createDirectHubSpotDeveloperClientFromResolution(resolution) {
171
+ const credentials = directCredentials.get(resolution);
172
+ const personalAccessKey = credentials?.personalAccessKey;
173
+ if (!personalAccessKey) {
174
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_AUTH_REQUIRED', `HubSpot account ${resolution.account.name ?? resolution.account.id} does not have deploy authentication available.`, 'Pass --pak, set HSX_HUBSPOT_PAK, or authenticate the account with `hs account auth`.');
175
+ }
176
+ return createHubSpotDeveloperClient({
177
+ developerAccountId: resolution.account.id,
178
+ personalAccessKey,
179
+ ...(credentials.developerApiKey ? { developerApiKey: credentials.developerApiKey } : {}),
180
+ });
181
+ }
182
+ /**
183
+ * Construct a HubSpot developer client from flags/env/the official HubSpot CLI
184
+ * config only. Unlike the deploy client below, this path never requests an
185
+ * HS-X control-plane lease, even when stale HSX_CONTROL_PLANE_URL or
186
+ * HSX_ACCOUNT_ID variables exist in the shell.
187
+ */
188
+ export async function createDirectHubSpotDeveloperClient(input) {
189
+ const context = await resolveDirectHubSpotContext(input);
190
+ return context.createClient();
191
+ }
192
+ /**
193
+ * Run an account-scoped local-dev-lib operation with the same safely resolved
194
+ * credentials as the direct developer client. Credential material never
195
+ * leaves this module or reaches the callback; the callback receives only
196
+ * render-safe account metadata.
197
+ */
198
+ export async function withDirectHubSpotEnvironment(input, operation) {
199
+ const resolution = await resolveDirectHubSpotAccount(input);
200
+ const credentials = directCredentials.get(resolution);
201
+ if (!credentials?.personalAccessKey) {
202
+ throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_AUTH_REQUIRED', `HubSpot account ${resolution.account.name ?? resolution.account.id} does not have authentication available.`, 'Pass --pak, set HSX_HUBSPOT_PAK, or authenticate the account with `hs account auth`.');
203
+ }
204
+ const priorAccountId = process.env.HUBSPOT_ACCOUNT_ID;
205
+ const priorPak = process.env.HUBSPOT_PERSONAL_ACCESS_KEY;
206
+ const priorUseEnv = process.env.USE_ENVIRONMENT_HUBSPOT_CONFIG;
207
+ process.env.HUBSPOT_ACCOUNT_ID = resolution.account.id;
208
+ process.env.HUBSPOT_PERSONAL_ACCESS_KEY = credentials.personalAccessKey;
209
+ process.env.USE_ENVIRONMENT_HUBSPOT_CONFIG = 'true';
210
+ try {
211
+ return await operation(resolution.account);
212
+ }
213
+ finally {
214
+ restoreProcessEnv('HUBSPOT_ACCOUNT_ID', priorAccountId);
215
+ restoreProcessEnv('HUBSPOT_PERSONAL_ACCESS_KEY', priorPak);
216
+ restoreProcessEnv('USE_ENVIRONMENT_HUBSPOT_CONFIG', priorUseEnv);
217
+ }
218
+ }
219
+ function restoreProcessEnv(name, value) {
220
+ if (value === undefined)
221
+ delete process.env[name];
222
+ else
223
+ process.env[name] = value;
224
+ }
6
225
  export async function createDeployHubSpotDeveloperClient({ argv, local, allowedOperations, cwd = process.cwd(), }) {
7
226
  if (local) {
8
227
  if (hasFlag(argv, '--control-plane-url') || hasFlag(argv, '--account-id')) {
@@ -173,7 +392,10 @@ function createLocalHubSpotDeployAdapter() {
173
392
  return { buildId: deterministicNumber(`build:${projectName}`, 10_000) };
174
393
  },
175
394
  async deployProjectV2(_accountId, projectName, buildId) {
176
- return { deployId: deterministicNumber(`deploy:${projectName}:${buildId}`, 10_000) };
395
+ return {
396
+ buildResultType: 'DEPLOY_QUEUED',
397
+ id: deterministicNumber(`deploy:${projectName}:${buildId}`, 10_000),
398
+ };
177
399
  },
178
400
  async getBuildStatus(_accountId, projectName, buildId) {
179
401
  return { projectName, buildId, status: 'SUCCESS' };
@@ -184,6 +406,9 @@ function createLocalHubSpotDeployAdapter() {
184
406
  async fetchProject(_accountId, projectName) {
185
407
  return { id: deterministicNumber(`project:${projectName}`, 10_000), name: projectName };
186
408
  },
409
+ async fetchProjectBuilds(_accountId, projectName) {
410
+ return { projectName, results: [], paging: {} };
411
+ },
187
412
  async createProject(_accountId, projectName) {
188
413
  return { id: deterministicNumber(`project:${projectName}`, 10_000), name: projectName };
189
414
  },
@@ -314,6 +539,12 @@ function resolveFlag(argv, flag) {
314
539
  const value = found.slice(prefix.length);
315
540
  return value.length > 0 ? value : undefined;
316
541
  }
542
+ function nonEmpty(value) {
543
+ return value && value.length > 0 ? value : undefined;
544
+ }
545
+ function errorMessage(cause) {
546
+ return cause instanceof Error ? cause.message : String(cause);
547
+ }
317
548
  function isRecord(value) {
318
549
  return typeof value === 'object' && value !== null;
319
550
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hubspot-developer-client.js","sourceRoot":"","sources":["../src/hubspot-developer-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hubspot-developer-client.js","sourceRoot":"","sources":["../src/hubspot-developer-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export type HubSpotProjectArchiveSourceErrorReason = 'symbolic-link' | 'unsupported-entry' | 'outside-project' | 'source-changed';
2
+ /** A local source-tree violation that must fail before any HubSpot mutation. */
3
+ export declare class HubSpotProjectArchiveSourceError extends Error {
4
+ readonly reason: HubSpotProjectArchiveSourceErrorReason;
5
+ readonly hint: string;
6
+ readonly relativePath?: string | undefined;
7
+ readonly name = "HubSpotProjectArchiveSourceError";
8
+ readonly code: "HSX_E_INPUT_INVALID";
9
+ constructor(reason: HubSpotProjectArchiveSourceErrorReason, message: string, hint: string, relativePath?: string | undefined);
10
+ }
11
+ export interface HubSpotProjectArchiveOptions {
12
+ readonly sourceOnly: boolean;
13
+ /**
14
+ * Fingerprint rendered before consent. The staged copy must match it exactly
15
+ * before any client is constructed or remote project operation is attempted.
16
+ */
17
+ readonly expectedSourceFingerprint?: string;
18
+ }
19
+ export declare function writeLocalHubSpotProjectArchive(root: string, projectName: string, options?: HubSpotProjectArchiveOptions): Promise<string>;
20
+ export declare function fingerprintHubSpotArchiveSource(projectRoot: string, sourceOnly: boolean): Promise<string>;
21
+ //# sourceMappingURL=hubspot-project-archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubspot-project-archive.d.ts","sourceRoot":"","sources":["../src/hubspot-project-archive.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,sCAAsC,GAC9C,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,CAAC;AAErB,gFAAgF;AAChF,qBAAa,gCAAiC,SAAQ,KAAK;IAKvD,QAAQ,CAAC,MAAM,EAAE,sCAAsC;IAEvD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAPhC,SAAkB,IAAI,sCAAsC;IAC5D,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAU;gBAGpC,MAAM,EAAE,sCAAsC,EACvD,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,YAAA;CAIjC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC7C;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,4BAAoD,GAC5D,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC,CAmCjB"}
@@ -0,0 +1,281 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { createReadStream } from 'node:fs';
3
+ import { cp, lstat, mkdtemp, open, readFile, readdir, rm, writeFile, } from 'node:fs/promises';
4
+ import { tmpdir } from 'node:os';
5
+ import { isAbsolute, join, relative, resolve } from 'node:path';
6
+ import { Zip, ZipDeflate, ZipPassThrough } from 'fflate';
7
+ /** A local source-tree violation that must fail before any HubSpot mutation. */
8
+ export class HubSpotProjectArchiveSourceError extends Error {
9
+ reason;
10
+ hint;
11
+ relativePath;
12
+ name = 'HubSpotProjectArchiveSourceError';
13
+ code = 'HSX_E_INPUT_INVALID';
14
+ constructor(reason, message, hint, relativePath) {
15
+ super(message);
16
+ this.reason = reason;
17
+ this.hint = hint;
18
+ this.relativePath = relativePath;
19
+ }
20
+ }
21
+ export async function writeLocalHubSpotProjectArchive(root, projectName, options = { sourceOnly: false }) {
22
+ // Scan the full copied tree even for source-only uploads: staging copies
23
+ // hsproject.json before patching the project name, so a link anywhere in the
24
+ // copied input must be rejected before cp/writeFile can follow it.
25
+ const fullSourceFingerprint = await fingerprintHubSpotArchiveSource(root, false);
26
+ const sourceFingerprint = options.sourceOnly
27
+ ? await fingerprintHubSpotArchiveSource(root, true)
28
+ : fullSourceFingerprint;
29
+ if (options.expectedSourceFingerprint &&
30
+ sourceFingerprint !== options.expectedSourceFingerprint) {
31
+ throw sourceChangedError();
32
+ }
33
+ const outDir = await mkdtemp(join(tmpdir(), 'hs-x-hubspot-project-'));
34
+ const archivePath = join(outDir, `${projectName.replace(/[^a-zA-Z0-9._-]+/g, '-')}-hubspot-project.zip`);
35
+ const stageDir = join(outDir, 'project');
36
+ try {
37
+ await cp(root, stageDir, {
38
+ recursive: true,
39
+ dereference: false,
40
+ verbatimSymlinks: true,
41
+ filter(source) {
42
+ return !isExcludedHubSpotArchivePath(root, source);
43
+ },
44
+ });
45
+ // Bind the private staged copy to the complete source snapshot. A regular
46
+ // file edit or a file-to-link swap during cp changes this fingerprint; a
47
+ // copied link throws before patching or zip can touch its target.
48
+ const stagedFullFingerprint = await fingerprintHubSpotArchiveSource(stageDir, false);
49
+ if (stagedFullFingerprint !== fullSourceFingerprint) {
50
+ throw sourceChangedError();
51
+ }
52
+ await patchHubSpotProjectName(stageDir, projectName);
53
+ const archiveRoot = options.sourceOnly ? await hubSpotProjectSourceRoot(stageDir) : stageDir;
54
+ const stagedArchiveFingerprint = await fingerprintHubSpotArchiveSource(stageDir, options.sourceOnly);
55
+ await writeZipArchive(archiveRoot, archivePath);
56
+ if ((await fingerprintHubSpotArchiveSource(stageDir, options.sourceOnly)) !==
57
+ stagedArchiveFingerprint) {
58
+ throw sourceChangedError();
59
+ }
60
+ return archivePath;
61
+ }
62
+ catch (cause) {
63
+ await rm(outDir, { recursive: true, force: true });
64
+ throw cause;
65
+ }
66
+ }
67
+ export async function fingerprintHubSpotArchiveSource(projectRoot, sourceOnly) {
68
+ const projectRootMetadata = await lstat(projectRoot);
69
+ if (projectRootMetadata.isSymbolicLink()) {
70
+ throw symbolicLinkError(projectRoot, projectRoot);
71
+ }
72
+ if (!projectRootMetadata.isDirectory()) {
73
+ throw unsupportedEntryError(projectRoot, projectRoot);
74
+ }
75
+ const archiveRoot = sourceOnly ? await hubSpotProjectSourceRoot(projectRoot) : projectRoot;
76
+ const hash = createHash('sha256');
77
+ async function visit(directory) {
78
+ const entries = await readdir(directory, { withFileTypes: true });
79
+ entries.sort((left, right) => compareArchiveNames(left.name, right.name));
80
+ for (const entry of entries) {
81
+ const path = join(directory, entry.name);
82
+ if (isExcludedHubSpotArchivePath(projectRoot, path))
83
+ continue;
84
+ const archivePath = relative(archiveRoot, path).replaceAll('\\', '/');
85
+ if (entry.isDirectory()) {
86
+ hash.update(`directory\0${archivePath}\0`);
87
+ await visit(path);
88
+ }
89
+ else if (entry.isSymbolicLink()) {
90
+ throw symbolicLinkError(projectRoot, path);
91
+ }
92
+ else if (entry.isFile()) {
93
+ hash.update(`file\0${archivePath}\0`);
94
+ hash.update(await readFile(path));
95
+ hash.update('\0');
96
+ }
97
+ else {
98
+ throw unsupportedEntryError(projectRoot, path);
99
+ }
100
+ }
101
+ }
102
+ await visit(archiveRoot);
103
+ return `sha256:${hash.digest('hex')}`;
104
+ }
105
+ async function hubSpotProjectSourceRoot(root) {
106
+ const config = await readHubSpotProjectConfig(root);
107
+ const srcDir = typeof config.srcDir === 'string' ? config.srcDir : 'src';
108
+ const projectRoot = resolve(root);
109
+ const sourceRoot = resolve(projectRoot, srcDir);
110
+ const sourceRelativePath = relative(projectRoot, sourceRoot);
111
+ if (sourceRelativePath === '..' ||
112
+ sourceRelativePath.startsWith('../') ||
113
+ sourceRelativePath.startsWith('..\\') ||
114
+ isAbsolute(sourceRelativePath)) {
115
+ throw new HubSpotProjectArchiveSourceError('outside-project', 'HubSpot project srcDir must stay inside the project root.', 'Move the source directory inside the project and update hsproject.json, then review a fresh deploy plan.');
116
+ }
117
+ return sourceRoot;
118
+ }
119
+ async function patchHubSpotProjectName(root, projectName) {
120
+ const path = join(root, 'hsproject.json');
121
+ const raw = await readFile(path, 'utf8').catch(() => undefined);
122
+ if (!raw)
123
+ return;
124
+ const parsed = JSON.parse(raw);
125
+ if (!isRecord(parsed))
126
+ return;
127
+ await writeFile(path, `${JSON.stringify({ ...parsed, name: projectName }, null, 2)}\n`);
128
+ }
129
+ async function readHubSpotProjectConfig(root) {
130
+ const raw = await readFile(join(root, 'hsproject.json'), 'utf8').catch(() => '{}');
131
+ const parsed = JSON.parse(raw);
132
+ return isRecord(parsed) ? parsed : {};
133
+ }
134
+ function isExcludedHubSpotArchivePath(projectRoot, path) {
135
+ const projectRelativePath = relative(projectRoot, path);
136
+ const segments = projectRelativePath.split(/[\\/]/);
137
+ return segments.includes('node_modules') || segments.includes('.hs-x');
138
+ }
139
+ // ZIP stores timestamps in local DOS time. A local constructor keeps the
140
+ // encoded date at the ZIP epoch in every timezone and makes repeated archives
141
+ // byte-for-byte reproducible.
142
+ const DETERMINISTIC_ZIP_MTIME = new Date(1980, 0, 1, 0, 0, 0, 0);
143
+ const DETERMINISTIC_FILE_ATTRIBUTES = 0o644 << 16;
144
+ const DETERMINISTIC_DIRECTORY_ATTRIBUTES = (0o755 << 16) | 0x10;
145
+ async function writeZipArchive(root, archivePath) {
146
+ const entries = await collectHubSpotArchiveEntries(root);
147
+ const output = await open(archivePath, 'wx');
148
+ let pendingWrite = Promise.resolve();
149
+ let zipError;
150
+ const zip = new Zip((error, chunk) => {
151
+ if (error) {
152
+ zipError ??= error;
153
+ return;
154
+ }
155
+ pendingWrite = pendingWrite.then(() => writeAll(output, chunk));
156
+ });
157
+ async function flushOutput() {
158
+ await pendingWrite;
159
+ if (zipError)
160
+ throw zipError;
161
+ }
162
+ try {
163
+ for (const entry of entries) {
164
+ if (entry.kind === 'directory') {
165
+ const directory = new ZipPassThrough(`${entry.archivePath}/`);
166
+ directory.mtime = DETERMINISTIC_ZIP_MTIME;
167
+ directory.os = 3;
168
+ directory.attrs = DETERMINISTIC_DIRECTORY_ATTRIBUTES;
169
+ zip.add(directory);
170
+ directory.push(new Uint8Array(), true);
171
+ await flushOutput();
172
+ continue;
173
+ }
174
+ const file = new ZipDeflate(entry.archivePath, { level: 6 });
175
+ file.mtime = DETERMINISTIC_ZIP_MTIME;
176
+ file.os = 3;
177
+ file.attrs = DETERMINISTIC_FILE_ATTRIBUTES;
178
+ zip.add(file);
179
+ for await (const chunk of createReadStream(entry.absolutePath)) {
180
+ file.push(chunk);
181
+ await flushOutput();
182
+ }
183
+ file.push(new Uint8Array(), true);
184
+ await flushOutput();
185
+ }
186
+ zip.end();
187
+ await flushOutput();
188
+ }
189
+ catch (cause) {
190
+ zip.terminate();
191
+ if (cause instanceof HubSpotProjectArchiveSourceError)
192
+ throw cause;
193
+ throw new Error('Unable to create HubSpot project zip archive.', { cause });
194
+ }
195
+ finally {
196
+ await output.close();
197
+ }
198
+ }
199
+ async function collectHubSpotArchiveEntries(root) {
200
+ const rootMetadata = await lstat(root);
201
+ if (rootMetadata.isSymbolicLink())
202
+ throw symbolicLinkError(root, root);
203
+ if (!rootMetadata.isDirectory())
204
+ throw unsupportedEntryError(root, root);
205
+ const entries = [];
206
+ async function visit(directory) {
207
+ const names = await readdir(directory);
208
+ names.sort(compareArchiveNames);
209
+ for (const name of names) {
210
+ const absolutePath = join(directory, name);
211
+ if (isExcludedHubSpotArchivePath(root, absolutePath))
212
+ continue;
213
+ const metadata = await lstat(absolutePath);
214
+ const archivePath = relative(root, absolutePath).replaceAll('\\', '/');
215
+ if (metadata.isSymbolicLink()) {
216
+ throw symbolicLinkError(root, absolutePath);
217
+ }
218
+ if (metadata.isDirectory()) {
219
+ entries.push({ kind: 'directory', absolutePath, archivePath });
220
+ await visit(absolutePath);
221
+ continue;
222
+ }
223
+ if (metadata.isFile()) {
224
+ entries.push({ kind: 'file', absolutePath, archivePath });
225
+ continue;
226
+ }
227
+ throw unsupportedEntryError(root, absolutePath);
228
+ }
229
+ }
230
+ await visit(root);
231
+ return entries;
232
+ }
233
+ function compareArchiveNames(left, right) {
234
+ return left < right ? -1 : left > right ? 1 : 0;
235
+ }
236
+ async function writeAll(output, chunk) {
237
+ let offset = 0;
238
+ while (offset < chunk.byteLength) {
239
+ const { bytesWritten } = await output.write(chunk, offset, chunk.byteLength - offset, null);
240
+ if (bytesWritten === 0)
241
+ throw new Error('Archive output stopped accepting bytes.');
242
+ offset += bytesWritten;
243
+ }
244
+ }
245
+ function symbolicLinkError(projectRoot, path) {
246
+ const relativePath = safeProjectRelativePath(projectRoot, path);
247
+ return new HubSpotProjectArchiveSourceError('symbolic-link', `HubSpot deploy sources cannot contain symbolic links: ${relativePath}.`, 'Replace the link with a regular file or directory whose bytes live inside the project, then review a fresh deploy plan.', relativePath);
248
+ }
249
+ function sourceChangedError() {
250
+ return new HubSpotProjectArchiveSourceError('source-changed', 'HubSpot project sources changed after the deploy preview.', 'Wait for local edits or generators to settle, then review a fresh plan before consenting.');
251
+ }
252
+ function unsupportedEntryError(projectRoot, path) {
253
+ const relativePath = safeProjectRelativePath(projectRoot, path);
254
+ return new HubSpotProjectArchiveSourceError('unsupported-entry', `HubSpot deploy sources must contain only regular files and directories: ${relativePath}.`, 'Remove the FIFO, socket, or device entry, replace it with a regular file if needed, then review a fresh deploy plan.', relativePath);
255
+ }
256
+ const MAX_DIAGNOSTIC_PATH_LENGTH = 240;
257
+ function safeProjectRelativePath(projectRoot, path) {
258
+ const relativePath = relative(resolve(projectRoot), resolve(path));
259
+ if (relativePath === '..' ||
260
+ relativePath.startsWith('../') ||
261
+ relativePath.startsWith('..\\') ||
262
+ isAbsolute(relativePath)) {
263
+ return '<outside project root>';
264
+ }
265
+ const normalized = (relativePath || '.').replaceAll('\\', '/');
266
+ const escaped = Array.from(normalized, (character) => {
267
+ const codePoint = character.codePointAt(0) ?? 0;
268
+ return codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f)
269
+ ? `\\x${codePoint.toString(16).padStart(2, '0')}`
270
+ : character;
271
+ }).join('');
272
+ if (escaped.length <= MAX_DIAGNOSTIC_PATH_LENGTH)
273
+ return escaped;
274
+ const tailLength = 80;
275
+ const headLength = MAX_DIAGNOSTIC_PATH_LENGTH - tailLength - 1;
276
+ return `${escaped.slice(0, headLength)}…${escaped.slice(-tailLength)}`;
277
+ }
278
+ function isRecord(value) {
279
+ return typeof value === 'object' && value !== null;
280
+ }
281
+ //# sourceMappingURL=hubspot-project-archive.js.map