@hs-x/cli 0.2.7 → 0.3.6

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 (285) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +25 -8
  3. package/dist/audit-interactive.d.ts +29 -0
  4. package/dist/audit-interactive.d.ts.map +1 -0
  5. package/dist/audit-interactive.js +156 -0
  6. package/dist/audit-interactive.js.map +1 -0
  7. package/dist/bin/hs-x.js.map +1 -1
  8. package/dist/checkpoint-interactive.d.ts +24 -0
  9. package/dist/checkpoint-interactive.d.ts.map +1 -0
  10. package/dist/checkpoint-interactive.js +65 -0
  11. package/dist/checkpoint-interactive.js.map +1 -0
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +266 -39
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/kit.d.ts +1 -1
  16. package/dist/cli/kit.d.ts.map +1 -1
  17. package/dist/cli/kit.js +19 -3
  18. package/dist/cli/kit.js.map +1 -1
  19. package/dist/cloudflare-auth.d.ts +8 -0
  20. package/dist/cloudflare-auth.d.ts.map +1 -1
  21. package/dist/cloudflare-auth.js +12 -2
  22. package/dist/cloudflare-auth.js.map +1 -1
  23. package/dist/cloudflare-oauth-store.d.ts +9 -1
  24. package/dist/cloudflare-oauth-store.d.ts.map +1 -1
  25. package/dist/cloudflare-oauth-store.js +23 -4
  26. package/dist/cloudflare-oauth-store.js.map +1 -1
  27. package/dist/cloudflare-oauth.d.ts +1 -0
  28. package/dist/cloudflare-oauth.d.ts.map +1 -1
  29. package/dist/cloudflare-oauth.js +6 -2
  30. package/dist/cloudflare-oauth.js.map +1 -1
  31. package/dist/commands/account.d.ts +28 -13
  32. package/dist/commands/account.d.ts.map +1 -1
  33. package/dist/commands/account.js +219 -69
  34. package/dist/commands/account.js.map +1 -1
  35. package/dist/commands/api.d.ts.map +1 -1
  36. package/dist/commands/api.js +7 -11
  37. package/dist/commands/api.js.map +1 -1
  38. package/dist/commands/completion.d.ts.map +1 -1
  39. package/dist/commands/completion.js +13 -7
  40. package/dist/commands/completion.js.map +1 -1
  41. package/dist/commands/connect.d.ts.map +1 -1
  42. package/dist/commands/connect.js +239 -125
  43. package/dist/commands/connect.js.map +1 -1
  44. package/dist/commands/control-plane-read.d.ts +71 -10
  45. package/dist/commands/control-plane-read.d.ts.map +1 -1
  46. package/dist/commands/control-plane-read.js +1035 -58
  47. package/dist/commands/control-plane-read.js.map +1 -1
  48. package/dist/commands/deploy-promote.d.ts +25 -3
  49. package/dist/commands/deploy-promote.d.ts.map +1 -1
  50. package/dist/commands/deploy-promote.js +314 -38
  51. package/dist/commands/deploy-promote.js.map +1 -1
  52. package/dist/commands/deploy.d.ts +69 -4
  53. package/dist/commands/deploy.d.ts.map +1 -1
  54. package/dist/commands/deploy.js +1512 -276
  55. package/dist/commands/deploy.js.map +1 -1
  56. package/dist/commands/dev.d.ts +5 -1
  57. package/dist/commands/dev.d.ts.map +1 -1
  58. package/dist/commands/dev.js +502 -107
  59. package/dist/commands/dev.js.map +1 -1
  60. package/dist/commands/doctor.d.ts +14 -0
  61. package/dist/commands/doctor.d.ts.map +1 -1
  62. package/dist/commands/doctor.js +131 -20
  63. package/dist/commands/doctor.js.map +1 -1
  64. package/dist/commands/flags.d.ts +108 -6
  65. package/dist/commands/flags.d.ts.map +1 -1
  66. package/dist/commands/flags.js +996 -75
  67. package/dist/commands/flags.js.map +1 -1
  68. package/dist/commands/help-command.d.ts +14 -0
  69. package/dist/commands/help-command.d.ts.map +1 -1
  70. package/dist/commands/help-command.js +144 -44
  71. package/dist/commands/help-command.js.map +1 -1
  72. package/dist/commands/history.js +14 -10
  73. package/dist/commands/history.js.map +1 -1
  74. package/dist/commands/init.d.ts +4 -2
  75. package/dist/commands/init.d.ts.map +1 -1
  76. package/dist/commands/init.js +98 -17
  77. package/dist/commands/init.js.map +1 -1
  78. package/dist/commands/link.d.ts +2 -3
  79. package/dist/commands/link.d.ts.map +1 -1
  80. package/dist/commands/link.js +201 -101
  81. package/dist/commands/link.js.map +1 -1
  82. package/dist/commands/login.d.ts.map +1 -1
  83. package/dist/commands/login.js +22 -5
  84. package/dist/commands/login.js.map +1 -1
  85. package/dist/commands/migrate.d.ts +37 -17
  86. package/dist/commands/migrate.d.ts.map +1 -1
  87. package/dist/commands/migrate.js +500 -73
  88. package/dist/commands/migrate.js.map +1 -1
  89. package/dist/commands/rollback.d.ts +42 -2
  90. package/dist/commands/rollback.d.ts.map +1 -1
  91. package/dist/commands/rollback.js +422 -58
  92. package/dist/commands/rollback.js.map +1 -1
  93. package/dist/commands/secrets.d.ts +76 -3
  94. package/dist/commands/secrets.d.ts.map +1 -1
  95. package/dist/commands/secrets.js +328 -41
  96. package/dist/commands/secrets.js.map +1 -1
  97. package/dist/commands/status.d.ts +13 -2
  98. package/dist/commands/status.d.ts.map +1 -1
  99. package/dist/commands/status.js +154 -17
  100. package/dist/commands/status.js.map +1 -1
  101. package/dist/commands/unlink.d.ts +2 -2
  102. package/dist/commands/unlink.d.ts.map +1 -1
  103. package/dist/commands/unlink.js +2 -2
  104. package/dist/commands/unlink.js.map +1 -1
  105. package/dist/commands/update.d.ts.map +1 -1
  106. package/dist/commands/update.js +4 -3
  107. package/dist/commands/update.js.map +1 -1
  108. package/dist/commands/validate.d.ts +12 -3
  109. package/dist/commands/validate.d.ts.map +1 -1
  110. package/dist/commands/validate.js +70 -8
  111. package/dist/commands/validate.js.map +1 -1
  112. package/dist/constants.d.ts +1 -1
  113. package/dist/constants.js +1 -1
  114. package/dist/control-plane-fetch.d.ts.map +1 -1
  115. package/dist/control-plane-fetch.js +5 -4
  116. package/dist/control-plane-fetch.js.map +1 -1
  117. package/dist/deploy-revision-capture.d.ts +48 -0
  118. package/dist/deploy-revision-capture.d.ts.map +1 -0
  119. package/dist/deploy-revision-capture.js +125 -0
  120. package/dist/deploy-revision-capture.js.map +1 -0
  121. package/dist/dev/event-bus.d.ts +5 -2
  122. package/dist/dev/event-bus.d.ts.map +1 -1
  123. package/dist/dev/event-bus.js +4 -1
  124. package/dist/dev/event-bus.js.map +1 -1
  125. package/dist/dev/hubspot-logs-poller.d.ts +35 -0
  126. package/dist/dev/hubspot-logs-poller.d.ts.map +1 -0
  127. package/dist/dev/hubspot-logs-poller.js +94 -0
  128. package/dist/dev/hubspot-logs-poller.js.map +1 -0
  129. package/dist/dev/invoke.d.ts +9 -1
  130. package/dist/dev/invoke.d.ts.map +1 -1
  131. package/dist/dev/invoke.js +69 -20
  132. package/dist/dev/invoke.js.map +1 -1
  133. package/dist/dev/keyboard.d.ts +31 -0
  134. package/dist/dev/keyboard.d.ts.map +1 -0
  135. package/dist/dev/keyboard.js +143 -0
  136. package/dist/dev/keyboard.js.map +1 -0
  137. package/dist/dev/log-server.d.ts +7 -0
  138. package/dist/dev/log-server.d.ts.map +1 -1
  139. package/dist/dev/log-server.js +68 -31
  140. package/dist/dev/log-server.js.map +1 -1
  141. package/dist/dev/migrated-card.d.ts +17 -0
  142. package/dist/dev/migrated-card.d.ts.map +1 -0
  143. package/dist/dev/migrated-card.js +114 -0
  144. package/dist/dev/migrated-card.js.map +1 -0
  145. package/dist/dev/stream-filter.d.ts +40 -0
  146. package/dist/dev/stream-filter.d.ts.map +1 -0
  147. package/dist/dev/stream-filter.js +93 -0
  148. package/dist/dev/stream-filter.js.map +1 -0
  149. package/dist/dev/stream-renderer.d.ts +34 -0
  150. package/dist/dev/stream-renderer.d.ts.map +1 -1
  151. package/dist/dev/stream-renderer.js +222 -8
  152. package/dist/dev/stream-renderer.js.map +1 -1
  153. package/dist/errors-registry.d.ts.map +1 -1
  154. package/dist/errors-registry.js +280 -36
  155. package/dist/errors-registry.js.map +1 -1
  156. package/dist/errors.d.ts.map +1 -1
  157. package/dist/errors.js.map +1 -1
  158. package/dist/help.d.ts.map +1 -1
  159. package/dist/help.js +8 -0
  160. package/dist/help.js.map +1 -1
  161. package/dist/hubspot-app-logs.d.ts +76 -0
  162. package/dist/hubspot-app-logs.d.ts.map +1 -0
  163. package/dist/hubspot-app-logs.js +323 -0
  164. package/dist/hubspot-app-logs.js.map +1 -0
  165. package/dist/hubspot-auth.d.ts +8 -2
  166. package/dist/hubspot-auth.d.ts.map +1 -1
  167. package/dist/hubspot-auth.js +9 -9
  168. package/dist/hubspot-auth.js.map +1 -1
  169. package/dist/hubspot-developer-client.js +119 -11
  170. package/dist/hubspot-developer-client.js.map +1 -1
  171. package/dist/index.d.ts +1 -0
  172. package/dist/index.d.ts.map +1 -1
  173. package/dist/index.js +1 -0
  174. package/dist/index.js.map +1 -1
  175. package/dist/init/templates.d.ts +11 -1
  176. package/dist/init/templates.d.ts.map +1 -1
  177. package/dist/init/templates.js +228 -15
  178. package/dist/init/templates.js.map +1 -1
  179. package/dist/link-migration-journal.d.ts +131 -0
  180. package/dist/link-migration-journal.d.ts.map +1 -0
  181. package/dist/link-migration-journal.js +395 -0
  182. package/dist/link-migration-journal.js.map +1 -0
  183. package/dist/link-preflight.d.ts +78 -0
  184. package/dist/link-preflight.d.ts.map +1 -0
  185. package/dist/link-preflight.js +231 -0
  186. package/dist/link-preflight.js.map +1 -0
  187. package/dist/local-project-picker.d.ts +34 -0
  188. package/dist/local-project-picker.d.ts.map +1 -0
  189. package/dist/local-project-picker.js +121 -0
  190. package/dist/local-project-picker.js.map +1 -0
  191. package/dist/logs-interactive.d.ts +37 -0
  192. package/dist/logs-interactive.d.ts.map +1 -0
  193. package/dist/logs-interactive.js +110 -0
  194. package/dist/logs-interactive.js.map +1 -0
  195. package/dist/output-context.d.ts +13 -0
  196. package/dist/output-context.d.ts.map +1 -0
  197. package/dist/output-context.js +46 -0
  198. package/dist/output-context.js.map +1 -0
  199. package/dist/project-context.d.ts +55 -0
  200. package/dist/project-context.d.ts.map +1 -0
  201. package/dist/project-context.js +115 -0
  202. package/dist/project-context.js.map +1 -0
  203. package/dist/project-picker.d.ts +65 -0
  204. package/dist/project-picker.d.ts.map +1 -0
  205. package/dist/project-picker.js +227 -0
  206. package/dist/project-picker.js.map +1 -0
  207. package/dist/prompt.d.ts +8 -0
  208. package/dist/prompt.d.ts.map +1 -1
  209. package/dist/prompt.js +81 -13
  210. package/dist/prompt.js.map +1 -1
  211. package/dist/reporter/human.d.ts +10 -2
  212. package/dist/reporter/human.d.ts.map +1 -1
  213. package/dist/reporter/human.js +82 -14
  214. package/dist/reporter/human.js.map +1 -1
  215. package/dist/reporter/index.d.ts.map +1 -1
  216. package/dist/reporter/index.js +7 -5
  217. package/dist/reporter/index.js.map +1 -1
  218. package/dist/reporter/json.d.ts +2 -1
  219. package/dist/reporter/json.d.ts.map +1 -1
  220. package/dist/reporter/json.js +10 -7
  221. package/dist/reporter/json.js.map +1 -1
  222. package/dist/reporter/style.d.ts +19 -0
  223. package/dist/reporter/style.d.ts.map +1 -1
  224. package/dist/reporter/style.js +126 -6
  225. package/dist/reporter/style.js.map +1 -1
  226. package/dist/reporter/types.d.ts +34 -4
  227. package/dist/reporter/types.d.ts.map +1 -1
  228. package/dist/reporter/types.js.map +1 -1
  229. package/dist/services/account-store.d.ts +3 -1
  230. package/dist/services/account-store.d.ts.map +1 -1
  231. package/dist/services/account-store.js +2 -1
  232. package/dist/services/account-store.js.map +1 -1
  233. package/dist/services/app-paths.d.ts.map +1 -1
  234. package/dist/services/app-paths.js +3 -1
  235. package/dist/services/app-paths.js.map +1 -1
  236. package/dist/services/cloudflare-auth.d.ts +1 -1
  237. package/dist/services/cloudflare-auth.d.ts.map +1 -1
  238. package/dist/services/cloudflare-auth.js +2 -2
  239. package/dist/services/cloudflare-auth.js.map +1 -1
  240. package/dist/services/cloudflare-kv.d.ts.map +1 -1
  241. package/dist/services/cloudflare-kv.js.map +1 -1
  242. package/dist/services/command-history.d.ts.map +1 -1
  243. package/dist/services/command-history.js.map +1 -1
  244. package/dist/services/config.d.ts.map +1 -1
  245. package/dist/services/config.js +1 -1
  246. package/dist/services/config.js.map +1 -1
  247. package/dist/services/control-plane.d.ts.map +1 -1
  248. package/dist/services/control-plane.js +3 -3
  249. package/dist/services/control-plane.js.map +1 -1
  250. package/dist/services/env-loader.d.ts.map +1 -1
  251. package/dist/services/env-loader.js +1 -3
  252. package/dist/services/env-loader.js.map +1 -1
  253. package/dist/services/http.d.ts.map +1 -1
  254. package/dist/services/http.js.map +1 -1
  255. package/dist/services/hubspot-dev-client.d.ts.map +1 -1
  256. package/dist/services/hubspot-dev-client.js +30 -0
  257. package/dist/services/hubspot-dev-client.js.map +1 -1
  258. package/dist/services/live.d.ts +2 -2
  259. package/dist/services/live.d.ts.map +1 -1
  260. package/dist/services/live.js +1 -1
  261. package/dist/services/live.js.map +1 -1
  262. package/dist/services/machine-id.d.ts.map +1 -1
  263. package/dist/services/machine-id.js.map +1 -1
  264. package/dist/services/reporter.d.ts +8 -5
  265. package/dist/services/reporter.d.ts.map +1 -1
  266. package/dist/services/reporter.js +6 -4
  267. package/dist/services/reporter.js.map +1 -1
  268. package/dist/services/tenant-state.d.ts.map +1 -1
  269. package/dist/services/tenant-state.js.map +1 -1
  270. package/dist/state-store.d.ts +4 -0
  271. package/dist/state-store.d.ts.map +1 -1
  272. package/dist/state-store.js +15 -0
  273. package/dist/state-store.js.map +1 -1
  274. package/dist/status-drilldown.d.ts +24 -0
  275. package/dist/status-drilldown.d.ts.map +1 -0
  276. package/dist/status-drilldown.js +50 -0
  277. package/dist/status-drilldown.js.map +1 -0
  278. package/dist/tenant-state.d.ts.map +1 -1
  279. package/dist/tenant-state.js +3 -2
  280. package/dist/tenant-state.js.map +1 -1
  281. package/dist/token-key-custody.d.ts +91 -0
  282. package/dist/token-key-custody.d.ts.map +1 -0
  283. package/dist/token-key-custody.js +375 -0
  284. package/dist/token-key-custody.js.map +1 -0
  285. package/package.json +14 -15
@@ -6,14 +6,14 @@ import { discoverHubSpotAccounts } from './hubspot-auth.js';
6
6
  export async function createDeployHubSpotDeveloperClient({ argv, local, allowedOperations, cwd = process.cwd(), }) {
7
7
  if (local) {
8
8
  if (hasFlag(argv, '--control-plane-url') || hasFlag(argv, '--account-id')) {
9
- await requestControlPlaneHubSpotLease(argv, allowedOperations);
9
+ await requestControlPlaneHubSpotLease(argv, allowedOperations, cwd);
10
10
  }
11
11
  return createHubSpotDeveloperClient({
12
12
  developerAccountId: Number(resolveFlag(argv, '--developer-account-id') ?? '12345'),
13
13
  adapter: createLocalHubSpotDeployAdapter(),
14
14
  });
15
15
  }
16
- const lease = await requestControlPlaneHubSpotLease(argv, allowedOperations);
16
+ const lease = await requestControlPlaneHubSpotLease(argv, allowedOperations, cwd);
17
17
  if (lease) {
18
18
  if (!lease.personalAccessKey) {
19
19
  throw new Error('Control-plane HubSpot lease did not include PAK material.');
@@ -53,7 +53,18 @@ export async function createDeployHubSpotDeveloperClient({ argv, local, allowedO
53
53
  ...(developerApiKey ? { developerApiKey } : {}),
54
54
  });
55
55
  }
56
- async function requestControlPlaneHubSpotLease(argv, allowedOperations) {
56
+ /**
57
+ * Lease failures the CLI can heal itself from local PAK material. The control
58
+ * plane is connected-but-secretless (`hubspot_credential_unavailable`) or has
59
+ * no connection at all (`hubspot_not_connected`) — neither is an auth or
60
+ * permission failure, so re-supplying the credential is a legitimate repair.
61
+ * Any other lease error is a real refusal and must surface unchanged.
62
+ */
63
+ const AUTO_WIRABLE_LEASE_ERRORS = new Set([
64
+ 'hubspot_credential_unavailable',
65
+ 'hubspot_not_connected',
66
+ ]);
67
+ async function requestControlPlaneHubSpotLease(argv, allowedOperations, cwd) {
57
68
  const controlPlaneUrl = resolveFlag(argv, '--control-plane-url') ?? process.env.HSX_CONTROL_PLANE_URL;
58
69
  const accountId = resolveFlag(argv, '--account-id') ?? process.env.HSX_ACCOUNT_ID;
59
70
  if (!controlPlaneUrl && !accountId) {
@@ -63,22 +74,89 @@ async function requestControlPlaneHubSpotLease(argv, allowedOperations) {
63
74
  throw new Error('Control-plane lease requires both --control-plane-url/HSX_CONTROL_PLANE_URL and --account-id/HSX_ACCOUNT_ID.');
64
75
  }
65
76
  const userId = resolveFlag(argv, '--user-id') ?? process.env.HSX_USER_ID ?? 'local-cli-user';
77
+ const lease = { controlPlaneUrl, accountId, userId, argv, allowedOperations };
78
+ const first = await postHubSpotLease(lease);
79
+ if (first.ok)
80
+ return first.lease;
81
+ // Auto-wire: this machine holds usable PAK material the control plane lacks.
82
+ // Push it through the real connect route (which validates the key and stores
83
+ // it encrypted) and retry once, instead of dead-ending a deploy on
84
+ // "reconnect HubSpot" while a valid credential sits in ~/.hscli.
85
+ if (AUTO_WIRABLE_LEASE_ERRORS.has(first.error ?? '')) {
86
+ const wired = await autoWireHubSpotCredential({ ...lease, cwd });
87
+ if (wired) {
88
+ const retry = await postHubSpotLease(lease);
89
+ if (retry.ok)
90
+ return retry.lease;
91
+ throw new Error(retry.message);
92
+ }
93
+ }
94
+ throw new Error(first.message);
95
+ }
96
+ async function postHubSpotLease(input) {
66
97
  const response = await hostedHttp({
67
- url: new URL(`/v1/accounts/${encodeURIComponent(accountId)}/hubspot/lease`, controlPlaneUrl),
98
+ url: new URL(`/v1/accounts/${encodeURIComponent(input.accountId)}/hubspot/lease`, input.controlPlaneUrl),
68
99
  method: 'POST',
69
- headers: await controlPlaneAuthHeaders(userId),
100
+ headers: await controlPlaneAuthHeaders(input.userId),
70
101
  body: {
71
- deployId: resolveFlag(argv, '--deploy-id'),
72
- allowedOperations,
102
+ deployId: resolveFlag(input.argv, '--deploy-id'),
103
+ allowedOperations: input.allowedOperations,
73
104
  },
74
105
  });
75
106
  const body = await response.json();
76
- if (!response.ok) {
77
- throw new Error(isRecord(body) && typeof body.message === 'string'
107
+ if (response.ok) {
108
+ return { ok: true, lease: Schema.decodeUnknownSync(schemas.HubSpotDeveloperLease)(body) };
109
+ }
110
+ return {
111
+ ok: false,
112
+ error: isRecord(body) && typeof body.error === 'string' ? body.error : undefined,
113
+ message: isRecord(body) && typeof body.message === 'string'
78
114
  ? body.message
79
- : `Control-plane HubSpot lease failed with status ${response.status}`);
115
+ : `Control-plane HubSpot lease failed with status ${response.status}`,
116
+ };
117
+ }
118
+ /**
119
+ * Re-supply the account's HubSpot PAK to the control plane from local config,
120
+ * returning false when this machine has nothing to offer (the caller then
121
+ * surfaces the original lease error). Explicit flags/env win over discovery so
122
+ * an operator can always steer which credential gets wired.
123
+ */
124
+ async function autoWireHubSpotCredential(input) {
125
+ let developerAccountId = resolveFlag(input.argv, '--developer-account-id') ??
126
+ process.env.HSX_HUBSPOT_DEVELOPER_ACCOUNT_ID;
127
+ let personalAccessKey = resolveFlag(input.argv, '--pak') ?? process.env.HSX_HUBSPOT_PAK;
128
+ const developerApiKey = resolveFlag(input.argv, '--developer-api-key') ?? process.env.HSX_HUBSPOT_DEVELOPER_API_KEY;
129
+ let displayName;
130
+ if (!developerAccountId || !personalAccessKey) {
131
+ const discovered = await discoverHubSpotAccounts(input.cwd);
132
+ const account = discovered?.accounts.find((candidate) => candidate.isDefault) ??
133
+ (discovered?.accounts.length === 1 ? discovered.accounts[0] : undefined);
134
+ if (account?.personalAccessKey) {
135
+ developerAccountId ??= String(account.portalId);
136
+ personalAccessKey ??= account.personalAccessKey;
137
+ displayName = account.name;
138
+ }
139
+ }
140
+ if (!developerAccountId || !personalAccessKey) {
141
+ return false;
80
142
  }
81
- return Schema.decodeUnknownSync(schemas.HubSpotDeveloperLease)(body);
143
+ const response = await hostedHttp({
144
+ url: new URL(`/v1/accounts/${encodeURIComponent(input.accountId)}/hubspot/connect`, input.controlPlaneUrl),
145
+ method: 'POST',
146
+ headers: await controlPlaneAuthHeaders(input.userId),
147
+ body: {
148
+ developerAccountId,
149
+ displayName: displayName ?? `HubSpot developer account ${developerAccountId}`,
150
+ authMethod: 'pak',
151
+ personalAccessKey,
152
+ ...(developerApiKey ? { developerApiKey } : {}),
153
+ },
154
+ });
155
+ if (!response.ok) {
156
+ return false;
157
+ }
158
+ process.stderr.write(` [auto-wire] Re-supplied HubSpot credentials for account ${input.accountId} from local config (developer account ${developerAccountId}).\n`);
159
+ return true;
82
160
  }
83
161
  async function hostedHttp(input) {
84
162
  const headers = { ...(input.headers ?? {}) };
@@ -159,6 +237,36 @@ function createLocalHubSpotDeployAdapter() {
159
237
  async listSchemas() {
160
238
  return { results: [] };
161
239
  },
240
+ async searchAppLogs(_accountId, appId, request) {
241
+ return {
242
+ results: [
243
+ {
244
+ id: `log-${request.query.loggingSystemType.toLowerCase()}-001`,
245
+ loggingSystemType: request.query.loggingSystemType,
246
+ requestExecutionTimestamp: 1_750_000_000_000,
247
+ portalId: 46_993_937,
248
+ traceId: 'trace-local-001',
249
+ parentId: '',
250
+ label: 'local mock entry',
251
+ responseReceivedTimestamp: 1_750_000_000_050,
252
+ duration: 50,
253
+ appId,
254
+ },
255
+ ],
256
+ };
257
+ },
258
+ async getAppLogDetails(_accountId, appId, systemType, logId) {
259
+ return {
260
+ log: {
261
+ loggingSystemType: systemType,
262
+ id: logId,
263
+ requestExecutionTimestamp: 1_750_000_000_000,
264
+ appId,
265
+ label: 'local mock entry',
266
+ },
267
+ consoleOutput: 'local mock console output',
268
+ };
269
+ },
162
270
  async createSchema(_accountId, request) {
163
271
  return {
164
272
  name: request.name,
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export { runCli } from './cli/index.js';
2
2
  export type { CliResult } from './result.js';
3
3
  export { CLI_VERSION } from './constants.js';
4
4
  export { DEFAULT_CONTROL_PLANE_URL, resolveControlPlaneUrl } from './config.js';
5
+ export { type HubSpotLogsPayload, type HubSpotLogsSource, fetchHubSpotLogsPayload, resolveHubSpotLogsSource, } from './hubspot-app-logs.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { runCli } from './cli/index.js';
2
2
  export { CLI_VERSION } from './constants.js';
3
3
  export { DEFAULT_CONTROL_PLANE_URL, resolveControlPlaneUrl } from './config.js';
4
+ export { fetchHubSpotLogsPayload, resolveHubSpotLogsSource, } from './hubspot-app-logs.js';
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAGL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC"}
@@ -1,4 +1,4 @@
1
- export type TemplateId = 'deals-tagger' | 'empty' | 'sync-source';
1
+ export type TemplateId = 'deals-tagger' | 'empty' | 'mcp-server' | 'sync-source';
2
2
  export type TemplateType = TemplateId | 'workflow-action' | 'app' | 'blank' | 'data-sync';
3
3
  export interface TemplateFile {
4
4
  readonly path: string;
@@ -13,7 +13,17 @@ export interface TemplateOptions {
13
13
  readonly auth?: AuthMode;
14
14
  /** Scaffold a starter UI-extension app card alongside the worker. */
15
15
  readonly uiExtension?: boolean;
16
+ /**
17
+ * CRM object the scaffolded workflow action enrolls. Drives the worker file
18
+ * name, the action's `objectType`, and the requested scopes. Defaults to
19
+ * `deal` (the long-standing starter). Cold-stranger G3 hit the silent
20
+ * mismatch: `init contact-scorer --type workflow-action` produced a *deals*
21
+ * action with deals scopes, so the object is now an explicit choice.
22
+ */
23
+ readonly objectType?: WorkflowActionObjectType;
16
24
  }
25
+ export type WorkflowActionObjectType = 'contact' | 'deal' | 'company' | 'ticket';
26
+ export declare const WORKFLOW_ACTION_OBJECT_TYPES: readonly WorkflowActionObjectType[];
17
27
  export interface Template {
18
28
  readonly id: TemplateId;
19
29
  readonly label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,iBAAiB,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAyDD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,YAAY,EAAE,CAAC;CACzE;AA2RD,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAqC,CAAC;AAE/E,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CAIpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAiBpF"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AACjF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,iBAAiB,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAED,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjF,eAAO,MAAM,4BAA4B,EAAE,SAAS,wBAAwB,EAK3E,CAAC;AAsHF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,YAAY,EAAE,CAAC;CACzE;AA+bD,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAwD,CAAC;AAElG,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CAIpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAmBpF"}
@@ -1,3 +1,58 @@
1
+ import { CLI_VERSION } from '../constants.js';
2
+ export const WORKFLOW_ACTION_OBJECT_TYPES = [
3
+ 'contact',
4
+ 'deal',
5
+ 'company',
6
+ 'ticket',
7
+ ];
8
+ /**
9
+ * Per-object starter shape for the workflow-action template. Each entry names a
10
+ * real numeric HubSpot property so the sample handler compiles and reads
11
+ * sensibly; the developer edits from there. `deal` reproduces the original
12
+ * deals-tagger output byte-for-byte.
13
+ */
14
+ const WORKFLOW_ACTION_PRESETS = {
15
+ deal: {
16
+ plural: 'deals',
17
+ worker: 'deals',
18
+ actionId: 'tag-high-value-deals',
19
+ actionLabel: 'Tag high value deals',
20
+ inputLabel: 'Amount threshold',
21
+ property: 'amount',
22
+ threshold: 50000,
23
+ output: 'tagged',
24
+ },
25
+ contact: {
26
+ plural: 'contacts',
27
+ worker: 'contacts',
28
+ actionId: 'score-contact',
29
+ actionLabel: 'Score contact',
30
+ inputLabel: 'Page-view threshold',
31
+ property: 'hs_analytics_num_page_views',
32
+ threshold: 10,
33
+ output: 'matched',
34
+ },
35
+ company: {
36
+ plural: 'companies',
37
+ worker: 'companies',
38
+ actionId: 'flag-company',
39
+ actionLabel: 'Flag company',
40
+ inputLabel: 'Annual revenue threshold',
41
+ property: 'annualrevenue',
42
+ threshold: 1000000,
43
+ output: 'flagged',
44
+ },
45
+ ticket: {
46
+ plural: 'tickets',
47
+ worker: 'tickets',
48
+ actionId: 'flag-ticket',
49
+ actionLabel: 'Flag ticket',
50
+ inputLabel: 'Time-to-close threshold (ms)',
51
+ property: 'time_to_close',
52
+ threshold: 86400000,
53
+ output: 'flagged',
54
+ },
55
+ };
1
56
  // Starter UI-extension card. Scaffolded on `contacts` so it's valid against any
2
57
  // template (we ensure the matching read scope); the developer edits from there.
3
58
  const CARD = {
@@ -54,10 +109,59 @@ function DemoCard() {
54
109
  // This pins the published @hs-x LIBRARY floor, NOT the CLI's own version —
55
110
  // the CLI can patch independently without forcing a library version that may
56
111
  // not exist on npm. A caret floor also resolves to the local workspace
57
- // packages when an app is scaffolded inside the monorepo. Bump this when the
58
- // published libraries get a new minor/major (publish-closure.sh releases the
59
- // whole closure at one version, so it tracks the family line).
60
- const HSX_DEP_RANGE = '^0.2.0';
112
+ // packages when an app is scaffolded inside the monorepo. publish-closure.sh
113
+ // releases the whole @hs-x/* closure at one version, so the floor tracks the
114
+ // CLI's own minor line — derived, not hand-maintained, because a hand-bumped
115
+ // constant drifts (cold-stranger G3 found a 0.3.0 CLI scaffolding `^0.2.0`).
116
+ const HSX_DEP_RANGE = `^${CLI_VERSION.split('.').slice(0, 2).join('.')}.0`;
117
+ function mcpAppRuntimeFile() {
118
+ return {
119
+ path: 'src/workers/mcp-app-runtime.ts',
120
+ contents: `import { defineWorker } from "@hs-x/sdk";
121
+
122
+ // This non-public backend gives the app a managed HS-X runtime for its HubSpot
123
+ // install OAuth callback. It emits no HubSpot card or workflow component.
124
+ const worker = defineWorker("mcp-app-runtime");
125
+ worker.cardBackend("mcp-install-runtime", {
126
+ label: "MCP app install runtime",
127
+ handler() {
128
+ return { ok: true };
129
+ },
130
+ });
131
+
132
+ export default worker;
133
+ `,
134
+ };
135
+ }
136
+ function mcpConfigFile(name, options = {}) {
137
+ const appName = options.appName ?? name;
138
+ const distribution = options.distribution ?? 'private';
139
+ return {
140
+ path: 'hsx.config.ts',
141
+ contents: `import { defineApp, mcpServer } from "@hs-x/sdk";
142
+
143
+ // Replace both placeholders after deploying the external OAuth/MCP service.
144
+ // Guide + runnable example: https://hs-x.dev/docs/guides/breeze-mcp-server
145
+ export default defineApp({
146
+ name: "${appName}",
147
+ distribution: "${distribution}",
148
+ auth: "oauth",
149
+ platformVersion: "2026.09-beta",
150
+ scopes: [],
151
+ mcpServers: [
152
+ mcpServer("replace-me-mcp", {
153
+ uid: "replace-me-mcp",
154
+ name: "Replace me MCP server",
155
+ description: "Replace this description before upload.",
156
+ mcpUrl: "https://replace-with-your-public-mcp-host.example/mcp",
157
+ mcpClientId: "REPLACE_WITH_BOOTSTRAPPED_PUBLIC_CLIENT_ID",
158
+ version: "0.1.0",
159
+ }),
160
+ ],
161
+ });
162
+ `,
163
+ };
164
+ }
61
165
  function configFile(name, scopes, options = {}) {
62
166
  const appName = options.appName ?? name;
63
167
  const distribution = options.distribution ?? 'private';
@@ -203,35 +307,120 @@ dist/
203
307
  `,
204
308
  };
205
309
  }
310
+ // Agent-facing project guidance is scaffolded alongside the source so coding
311
+ // agents start with the HS-X workflow and current documentation rather than
312
+ // guessing from generated artifacts or stale model knowledge. AGENTS.md is the
313
+ // canonical copy; CLAUDE.md imports it instead of duplicating instructions.
314
+ function agentFiles() {
315
+ return [
316
+ {
317
+ path: 'AGENTS.md',
318
+ contents: `# HS-X project instructions
319
+
320
+ This is an HS-X application. Use HS-X declarations and the HS-X CLI rather than hand-writing generated HubSpot or Cloudflare deployment artifacts.
321
+
322
+ ## Project structure
323
+
324
+ - \`hsx.config.ts\` declares the app, scopes, auth, distribution, and UI-extension cards.
325
+ - \`src/workers/\` contains workers and their workflow actions, agent tools, syncs, and triggers.
326
+ - \`src/app/cards/\` contains HubSpot UI-extension cards when the project has them.
327
+ - \`.hs-x/\` contains generated deployment artifacts. HS-X regenerates these during development and deployment; \`.hs-x/alchemy.run.ts\` is intentionally tracked for leaveability.
328
+
329
+ ## Working with this project
330
+
331
+ 1. Inspect \`hsx.config.ts\` and the relevant worker before making changes.
332
+ 2. Use exports from \`@hs-x/sdk\`; consult the current HS-X docs instead of guessing APIs.
333
+ 3. Run \`hs-x check\` after changing declarations or configuration.
334
+ 4. Use \`hs-x dev\` for the local development loop.
335
+ 5. Use \`hs-x deploy\` for deployment. Do not bypass it with direct generated-manifest edits.
336
+ 6. Use \`hs-x <command> --help\` for command details and \`--json\` when structured output is useful.
337
+ 7. Manage credentials with HS-X secret and connection commands. Never commit tokens, \`.env\`, \`.env.local\`, or \`.dev.vars\`.
338
+
339
+ ## Authoritative documentation
340
+
341
+ Prefer the agent-readable Markdown pages:
342
+
343
+ - Getting started: https://hs-x.dev/docs/guides/getting-started.md
344
+ - SDK reference: https://hs-x.dev/docs/sdk.md
345
+ - CLI reference: https://hs-x.dev/docs/cli.md
346
+ - MCP reference: https://hs-x.dev/docs/mcp.md
347
+ - Agent Skills index: https://hs-x.dev/.well-known/agent-skills/index.json
348
+
349
+ If \`@hs-x/mcp\` is available, use it to search current documentation, validate the project, list capabilities, invoke handlers, and inspect the development loop.
350
+ `,
351
+ },
352
+ {
353
+ path: 'CLAUDE.md',
354
+ contents: `# Claude Code instructions
355
+
356
+ The canonical instructions for this project are in @AGENTS.md. Read and follow them before modifying the project.
357
+ `,
358
+ },
359
+ {
360
+ path: '.agents/skills/hs-x/SKILL.md',
361
+ contents: `---
362
+ name: hs-x
363
+ description: Build and maintain HS-X applications, including HubSpot workflow actions, Breeze agent tools, data syncs, triggers, UI-extension cards, local development, validation, and deployment.
364
+ ---
365
+
366
+ # HS-X
367
+
368
+ Use this skill when working in a project containing \`hsx.config.ts\` or when the user asks to build a HubSpot application with HS-X.
369
+
370
+ ## Workflow
371
+
372
+ 1. Read the repository's \`AGENTS.md\`, \`hsx.config.ts\`, and relevant files under \`src/workers/\` or \`src/app/cards/\`.
373
+ 2. Retrieve current HS-X documentation before introducing or changing SDK declarations. Prefer \`@hs-x/mcp\` documentation search when available; otherwise use the agent-readable Markdown pages linked below.
374
+ 3. Implement capabilities with \`@hs-x/sdk\` declarations. Do not hand-author generated HubSpot manifests or edit generated \`.hs-x/\` output as the source of truth.
375
+ 4. Run \`hs-x check\` and resolve validation errors.
376
+ 5. Use \`hs-x dev\` to exercise capabilities locally and \`hs-x deploy\` to deploy them.
377
+ 6. Add \`--json\` to CLI commands when machine-readable output is useful, and inspect \`hs-x <command> --help\` rather than guessing flags.
378
+
379
+ ## Documentation
380
+
381
+ - Start here: https://hs-x.dev/docs/guides/getting-started.md
382
+ - SDK: https://hs-x.dev/docs/sdk.md
383
+ - CLI: https://hs-x.dev/docs/cli.md
384
+ - MCP: https://hs-x.dev/docs/mcp.md
385
+ - Discover additional HS-X skills: https://hs-x.dev/.well-known/agent-skills/index.json
386
+
387
+ Treat those pages and the installed package types as authoritative over model memory.
388
+ `,
389
+ },
390
+ ];
391
+ }
206
392
  const dealsTagger = {
207
393
  id: 'deals-tagger',
208
394
  label: 'Workflow action',
209
395
  description: 'A callable HubSpot workflow action with a Worker handler',
210
396
  files(name, options = {}) {
397
+ const objectType = options.objectType ?? 'deal';
398
+ const preset = WORKFLOW_ACTION_PRESETS[objectType];
211
399
  return [
212
400
  packageJsonFile(name, options),
213
401
  tsconfigFile(options),
214
402
  gitignoreFile(),
215
- configFile(name, ['crm.objects.deals.read', 'crm.objects.deals.write'], options),
403
+ ...agentFiles(),
404
+ configFile(name, [`crm.objects.${preset.plural}.read`, `crm.objects.${preset.plural}.write`], options),
216
405
  ...(options.uiExtension ? [cardComponentFile(), cardsPackageFile()] : []),
217
406
  {
218
- path: 'src/workers/deals.ts',
407
+ path: `src/workers/${preset.worker}.ts`,
219
408
  contents: `import { defineWorker, ok } from "@hs-x/sdk";
220
409
 
221
- const worker = defineWorker("deals");
410
+ const worker = defineWorker(${JSON.stringify(preset.worker)});
222
411
 
223
- worker.tool("tag-high-value-deals", {
224
- label: "Tag high value deals",
225
- objectType: "deal",
412
+ worker.action(${JSON.stringify(preset.actionId)}, {
413
+ label: ${JSON.stringify(preset.actionLabel)},
414
+ objectType: ${JSON.stringify(objectType)},
226
415
  input: {
227
- threshold: { type: "number", label: "Amount threshold", default: 50000 },
416
+ threshold: { type: "number", label: ${JSON.stringify(preset.inputLabel)}, default: ${preset.threshold} },
228
417
  },
229
418
  output: {
230
- tagged: { type: "boolean" },
419
+ ${preset.output}: { type: "boolean" },
231
420
  },
232
421
  async handler({ input, enrolledObject }) {
233
- const amount = Number(enrolledObject.properties.amount ?? 0);
234
- return ok({ tagged: amount >= input.threshold });
422
+ const value = Number(enrolledObject.properties.${preset.property} ?? 0);
423
+ return ok({ ${preset.output}: value >= input.threshold });
235
424
  },
236
425
  });
237
426
 
@@ -250,6 +439,7 @@ const empty = {
250
439
  packageJsonFile(name, options),
251
440
  tsconfigFile(options),
252
441
  gitignoreFile(),
442
+ ...agentFiles(),
253
443
  configFile(name, ['crm.objects.contacts.read'], options),
254
444
  ...(options.uiExtension ? [cardComponentFile(), cardsPackageFile()] : []),
255
445
  {
@@ -259,6 +449,26 @@ const empty = {
259
449
  ];
260
450
  },
261
451
  };
452
+ const mcpServerTemplate = {
453
+ id: 'mcp-server',
454
+ label: 'Breeze MCP server registration',
455
+ description: 'Register an external OAuth MCP service with HubSpot Breeze',
456
+ files(name, options = {}) {
457
+ return [
458
+ packageJsonFile(name, options),
459
+ tsconfigFile(options),
460
+ gitignoreFile(),
461
+ ...agentFiles(),
462
+ mcpConfigFile(name, options),
463
+ mcpAppRuntimeFile(),
464
+ {
465
+ path: 'README.md',
466
+ contents: `# ${name}\n\nThis project registers an external MCP service with HubSpot Breeze. Replace the placeholder public HTTPS URL and bootstrapped public OAuth client ID in \`hsx.config.ts\` before upload. The generated \`mcp-app-runtime\` backend is intentionally not exposed as a HubSpot component; it gives the app a managed HS-X runtime for the install OAuth callback.\n\nStart with the [Breeze MCP guide](https://hs-x.dev/docs/guides/breeze-mcp-server) and the [runnable Cloudflare Workers example](https://github.com/cartermckay/hs-x/tree/main/examples/breeze-mcp-server). Localhost cannot be reached by HubSpot.\n`,
467
+ },
468
+ { path: 'src/workers/.gitkeep', contents: '' },
469
+ ];
470
+ },
471
+ };
262
472
  const syncSource = {
263
473
  id: 'sync-source',
264
474
  label: 'Data sync source',
@@ -268,6 +478,7 @@ const syncSource = {
268
478
  packageJsonFile(name, options),
269
479
  tsconfigFile(options),
270
480
  gitignoreFile(),
481
+ ...agentFiles(),
271
482
  configFile(name, ['crm.objects.custom.read', 'crm.objects.custom.write', 'crm.schemas.custom.read'], options),
272
483
  ...(options.uiExtension ? [cardComponentFile(), cardsPackageFile()] : []),
273
484
  {
@@ -301,7 +512,7 @@ export default worker;
301
512
  ];
302
513
  },
303
514
  };
304
- export const TEMPLATES = [dealsTagger, empty, syncSource];
515
+ export const TEMPLATES = [dealsTagger, empty, mcpServerTemplate, syncSource];
305
516
  export function getTemplate(id) {
306
517
  const t = TEMPLATES.find((x) => x.id === id);
307
518
  if (!t)
@@ -318,6 +529,8 @@ export function resolveTemplateType(type) {
318
529
  case 'sync-source':
319
530
  case 'data-sync':
320
531
  return 'sync-source';
532
+ case 'mcp-server':
533
+ return 'mcp-server';
321
534
  case 'empty':
322
535
  case 'app':
323
536
  case 'blank':
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgC9C,MAAM,CAAC,MAAM,4BAA4B,GAAwC;IAC/E,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;CACT,CAAC;AAEF;;;;;GAKG;AACH,MAAM,uBAAuB,GAYzB;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,sBAAsB;QAChC,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,QAAQ;KACjB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,qBAAqB;QACjC,QAAQ,EAAE,6BAA6B;QACvC,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,SAAS;KAClB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,cAAc;QACxB,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,SAAS;KAClB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,aAAa;QACvB,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,8BAA8B;QAC1C,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,SAAS;KAClB;CACF,CAAC;AAEF,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,IAAI,GAAG;IACX,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,gBAAgB;IAC1B,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,2BAA2B;IAClC,UAAU,EAAE,8BAA8B;CAClC,CAAC;AAEX,yEAAyE;AACzE,0EAA0E;AAC1E,qEAAqE;AACrE,oDAAoD;AACpD,SAAS,gBAAgB;IACvB,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CACzB;YACE,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE;gBACZ,wBAAwB,EAAE,QAAQ;gBAClC,KAAK,EAAE,SAAS;aACjB;SACF,EACD,IAAI,EACJ,CAAC,CACF,IAAI;KACN,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE;;;;;;;;;;;;;CAab;KACE,CAAC;AACJ,CAAC;AASD,8EAA8E;AAC9E,yEAAyE;AACzE,iFAAiF;AACjF,4DAA4D;AAC5D,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAE3E,SAAS,iBAAiB;IACxB,OAAO;QACL,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE;;;;;;;;;;;;;CAab;KACE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,UAA2B,EAAE;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;;;;;WAKH,OAAO;mBACC,YAAY;;;;;;;;;;;;;;;CAe9B;KACE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,MAAyB,EACzB,UAA2B,EAAE;IAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IACrC,2EAA2E;IAC3E,MAAM,eAAe,GACnB,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzF,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW;QACpC,CAAC,CAAC,8CAA8C;QAChD,CAAC,CAAC,wCAAwC,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW;QACpC,CAAC,CAAC;;;aAGO,IAAI,CAAC,EAAE;eACL,IAAI,CAAC,IAAI;mBACL,IAAI,CAAC,QAAQ;uBACT,IAAI,CAAC,UAAU;qBACjB,IAAI,CAAC,UAAU;;KAE/B;QACD,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,GAAG,UAAU;;;WAGhB,OAAO;mBACC,YAAY;WACpB,IAAI;;;EAGb,UAAU;MACN,UAAU;;CAEf;KACE,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,qEAAqE;AACrE,+EAA+E;AAC/E,2EAA2E;AAC3E,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,KAAK;SACf,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,UAA2B,EAAE;IAClE,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CACzB;YACE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;YACjD,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE,YAAY;gBACnB,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,aAAa;aACtB;YACD,YAAY,EAAE;gBACZ,eAAe,EAAE,aAAa;gBAC9B,WAAW,EAAE,aAAa;aAC3B;YACD,kFAAkF;YAClF,oEAAoE;YACpE,sEAAsE;YACtE,iEAAiE;YACjE,iEAAiE;YACjE,EAAE;YACF,yEAAyE;YACzE,gEAAgE;YAChE,GAAG,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC;oBACE,eAAe,EAAE;wBACf,wBAAwB,EAAE,QAAQ;wBAClC,KAAK,EAAE,SAAS;qBACjB;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,IAAI,EACJ,CAAC,CACF,IAAI;KACN,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,SAAS,YAAY,CAAC,UAA2B,EAAE;IACjD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CACzB;YACE,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,EAAE,CAAC,QAAQ,CAAC;gBACf,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,IAAI;gBACZ,wBAAwB,EAAE,IAAI;gBAC9B,oBAAoB,EAAE,IAAI;gBAC1B,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,IAAI;gBACZ,iEAAiE;gBACjE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E;YACD,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC;SAC5F,EACD,IAAI,EACJ,CAAC,CACF,IAAI;KACN,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,6DAA6D;AAC7D,oEAAoE;AACpE,SAAS,aAAa;IACpB,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBb;KACE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,4EAA4E;AAC5E,SAAS,UAAU;IACjB,OAAO;QACL;YACE,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCf;SACI;QACD;YACE,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE;;;CAGf;SACI;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Bf;SACI;KACF,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAa;IAC5B,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,0DAA0D;IACvE,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO;YACL,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;YAC9B,YAAY,CAAC,OAAO,CAAC;YACrB,aAAa,EAAE;YACf,GAAG,UAAU,EAAE;YACf,UAAU,CACR,IAAI,EACJ,CAAC,eAAe,MAAM,CAAC,MAAM,OAAO,EAAE,eAAe,MAAM,CAAC,MAAM,QAAQ,CAAC,EAC3E,OAAO,CACR;YACD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE;gBACE,IAAI,EAAE,eAAe,MAAM,CAAC,MAAM,KAAK;gBACvC,QAAQ,EAAE;;8BAEY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;;gBAE3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;WACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;0CAEA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,MAAM,CAAC,SAAS;;;MAGnG,MAAM,CAAC,MAAM;;;qDAGkC,MAAM,CAAC,QAAQ;kBAClD,MAAM,CAAC,MAAM;;;;;CAK9B;aACM;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,KAAK,GAAa;IACtB,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,qDAAqD;IAClE,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;QAC9B,OAAO;YACL,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;YAC9B,YAAY,CAAC,OAAO,CAAC;YACrB,aAAa,EAAE;YACf,GAAG,UAAU,EAAE;YACf,UAAU,CAAC,IAAI,EAAE,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAa;IAClC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,gCAAgC;IACvC,WAAW,EAAE,4DAA4D;IACzE,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;QAC9B,OAAO;YACL,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;YAC9B,YAAY,CAAC,OAAO,CAAC;YACrB,aAAa,EAAE;YACf,GAAG,UAAU,EAAE;YACf,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5B,iBAAiB,EAAE;YACnB;gBACE,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,KAAK,IAAI,6lBAA6lB;aACjnB;YACD,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE;SAC/C,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,GAAa;IAC3B,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,kDAAkD;IAC/D,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;QAC9B,OAAO;YACL,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;YAC9B,YAAY,CAAC,OAAO,CAAC;YACrB,aAAa,EAAE;YACf,GAAG,UAAU,EAAE;YACf,UAAU,CACR,IAAI,EACJ,CAAC,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,CAAC,EAClF,OAAO,CACR;YACD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBjB;aACM;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAElG,MAAM,UAAU,WAAW,CAAC,EAAc;IACxC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,iBAAiB;YACpB,OAAO,cAAc,CAAC;QACxB,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}