@revfleet/hscli 0.8.6 → 0.8.10

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 (77) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/CONTRIBUTING.md +120 -0
  3. package/README.md +14 -6
  4. package/brand/readme-hero.svg +25 -0
  5. package/dist/cli.js +10 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/account/index.js +5 -6
  8. package/dist/commands/account/index.js.map +1 -1
  9. package/dist/commands/api/index.js +43 -3
  10. package/dist/commands/api/index.js.map +1 -1
  11. package/dist/commands/auth/index.js +32 -6
  12. package/dist/commands/auth/index.js.map +1 -1
  13. package/dist/commands/cms/hubdb.js +64 -1
  14. package/dist/commands/cms/hubdb.js.map +1 -1
  15. package/dist/commands/cms/index.js +27 -0
  16. package/dist/commands/cms/index.js.map +1 -1
  17. package/dist/commands/cms/source-code.js +21 -0
  18. package/dist/commands/cms/source-code.js.map +1 -1
  19. package/dist/commands/communication-preferences/index.js +11 -12
  20. package/dist/commands/communication-preferences/index.js.map +1 -1
  21. package/dist/commands/crm/shared.d.ts +1 -0
  22. package/dist/commands/crm/shared.js +3 -4
  23. package/dist/commands/crm/shared.js.map +1 -1
  24. package/dist/commands/events/index.js +7 -8
  25. package/dist/commands/events/index.js.map +1 -1
  26. package/dist/commands/marketing/index.js +58 -3
  27. package/dist/commands/marketing/index.js.map +1 -1
  28. package/dist/commands/settings/index.js +12 -13
  29. package/dist/commands/settings/index.js.map +1 -1
  30. package/dist/commands/workflows/index.js +43 -0
  31. package/dist/commands/workflows/index.js.map +1 -1
  32. package/dist/core/http.d.ts +27 -0
  33. package/dist/core/http.js +102 -18
  34. package/dist/core/http.js.map +1 -1
  35. package/dist/core/plugins.d.ts +5 -2
  36. package/dist/core/plugins.js +18 -1
  37. package/dist/core/plugins.js.map +1 -1
  38. package/dist/core/telemetry-context.d.ts +13 -0
  39. package/dist/core/telemetry-context.js +30 -0
  40. package/dist/core/telemetry-context.js.map +1 -0
  41. package/dist/mcp/hubspot-modules.d.ts +30 -0
  42. package/dist/mcp/hubspot-modules.js +305 -0
  43. package/dist/mcp/hubspot-modules.js.map +1 -0
  44. package/dist/mcp/server.d.ts +2 -0
  45. package/dist/mcp/server.js +30 -26
  46. package/dist/mcp/server.js.map +1 -1
  47. package/docs/ARCHITECTURE.md +39 -0
  48. package/docs/CAPABILITY_LIBRARY.md +638 -0
  49. package/docs/CMS_SETUP.md +349 -0
  50. package/docs/COMMAND_COMPATIBILITY.md +24 -0
  51. package/docs/COMMAND_TREE.md +183 -0
  52. package/docs/COMMERCE_SETUP.md +400 -0
  53. package/docs/COMPARISON.md +146 -0
  54. package/docs/COOKBOOK.md +800 -0
  55. package/docs/INTEGRATIONS_NOTIFICATIONS_SETUP.md +352 -0
  56. package/docs/MARKETING_SETUP.md +503 -0
  57. package/docs/MCP.md +171 -0
  58. package/docs/OPERATIONAL_PLAYBOOKS.md +322 -0
  59. package/docs/OPERATIONS_SETUP.md +362 -0
  60. package/docs/PLUGIN_GUIDE.md +158 -0
  61. package/docs/POLICY_EXAMPLE.json +57 -0
  62. package/docs/PORTAL_SETUP.md +683 -0
  63. package/docs/PUBLISHING.md +154 -0
  64. package/docs/RELEASE_GOVERNANCE.md +34 -0
  65. package/docs/REPORTING_SETUP.md +310 -0
  66. package/docs/ROADMAP-DATE-BASED-API.md +103 -0
  67. package/docs/ROADMAP_PHASE1_TO_3.md +96 -0
  68. package/docs/SAFETY_MODEL.md +37 -0
  69. package/docs/SALES_SETUP.md +369 -0
  70. package/docs/SERVICE_SETUP.md +403 -0
  71. package/docs/TESTING_PLAN.md +89 -0
  72. package/docs/TIERS.md +320 -0
  73. package/docs/TUTORIALS/audit-portal-writes.md +150 -0
  74. package/docs/TUTORIALS/secure-agent-writes.md +177 -0
  75. package/docs/TUTORIALS/trace-replay-repro.md +147 -0
  76. package/docs/WHY_HOW_WHAT.md +81 -0
  77. package/package.json +7 -2
@@ -1,5 +1,4 @@
1
- import { getToken } from "../../core/auth.js";
2
- import { HubSpotClient } from "../../core/http.js";
1
+ import { createClient } from "../../core/http.js";
3
2
  import { printResult } from "../../core/output.js";
4
3
  import { encodePathSegment, maybeWrite, parseJsonPayload, parseNumberFlag } from "../crm/shared.js";
5
4
  export function registerEvents(program, getCtx) {
@@ -10,7 +9,7 @@ export function registerEvents(program, getCtx) {
10
9
  .description("Send a custom behavioral event")
11
10
  .action(async (opts) => {
12
11
  const ctx = getCtx();
13
- const client = new HubSpotClient(getToken(ctx.profile));
12
+ const client = createClient(ctx.profile);
14
13
  const payload = parseJsonPayload(opts.data);
15
14
  const res = await maybeWrite(ctx, client, "POST", "/events/v3/send", payload);
16
15
  printResult(ctx, res);
@@ -24,7 +23,7 @@ export function registerEvents(program, getCtx) {
24
23
  .description("List custom behavioral events")
25
24
  .action(async (opts) => {
26
25
  const ctx = getCtx();
27
- const client = new HubSpotClient(getToken(ctx.profile));
26
+ const client = createClient(ctx.profile);
28
27
  const params = new URLSearchParams();
29
28
  params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
30
29
  if (opts.after)
@@ -43,7 +42,7 @@ export function registerEvents(program, getCtx) {
43
42
  .option("--after <cursor>", "Paging cursor")
44
43
  .action(async (opts) => {
45
44
  const ctx = getCtx();
46
- const client = new HubSpotClient(getToken(ctx.profile));
45
+ const client = createClient(ctx.profile);
47
46
  const params = new URLSearchParams();
48
47
  params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
49
48
  if (opts.after)
@@ -53,7 +52,7 @@ export function registerEvents(program, getCtx) {
53
52
  });
54
53
  definitions.command("get").argument("<eventName>").action(async (eventName) => {
55
54
  const ctx = getCtx();
56
- const client = new HubSpotClient(getToken(ctx.profile));
55
+ const client = createClient(ctx.profile);
57
56
  const res = await client.request(`/events/v3/event-definitions/${encodePathSegment(eventName, "eventName")}`);
58
57
  printResult(ctx, res);
59
58
  });
@@ -62,7 +61,7 @@ export function registerEvents(program, getCtx) {
62
61
  .requiredOption("--data <payload>", "Event definition JSON")
63
62
  .action(async (opts) => {
64
63
  const ctx = getCtx();
65
- const client = new HubSpotClient(getToken(ctx.profile));
64
+ const client = createClient(ctx.profile);
66
65
  const payload = parseJsonPayload(opts.data);
67
66
  const res = await maybeWrite(ctx, client, "POST", "/events/v3/event-definitions", payload);
68
67
  printResult(ctx, res);
@@ -72,7 +71,7 @@ export function registerEvents(program, getCtx) {
72
71
  .argument("<eventName>")
73
72
  .action(async (eventName) => {
74
73
  const ctx = getCtx();
75
- const client = new HubSpotClient(getToken(ctx.profile));
74
+ const client = createClient(ctx.profile);
76
75
  const res = await maybeWrite(ctx, client, "DELETE", `/events/v3/event-definitions/${encodePathSegment(eventName, "eventName")}`);
77
76
  printResult(ctx, res);
78
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/events/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/events/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { registerResource } from "../domains/shared.js";
2
2
  import { encodePathSegment, maybeWrite } from "../crm/shared.js";
3
- import { getToken } from "../../core/auth.js";
4
- import { createClient, HubSpotClient } from "../../core/http.js";
3
+ import { createClient } from "../../core/http.js";
5
4
  import { printResult } from "../../core/output.js";
6
5
  import { CliError } from "../../core/output.js";
7
6
  import { registerAds } from "./ads.js";
@@ -31,7 +30,7 @@ export function registerMarketing(program, getCtx) {
31
30
  .description("Per-email engagement metrics (opens, clicks, bounces, unsubscribes)")
32
31
  .action(async (emailId) => {
33
32
  const ctx = getCtx();
34
- const client = new HubSpotClient(getToken(ctx.profile));
33
+ const client = createClient(ctx.profile);
35
34
  const res = await client.request(`/marketing/v3/emails/${encodePathSegment(emailId, "emailId")}/statistics`);
36
35
  printResult(ctx, res);
37
36
  });
@@ -52,6 +51,62 @@ export function registerMarketing(program, getCtx) {
52
51
  const res = await maybeWrite(ctx, client, "POST", `/marketing/v3/emails/${id}/publish`, {});
53
52
  printResult(ctx, res);
54
53
  });
54
+ // Revision history for a marketing email. Useful for diffing
55
+ // edits across time or recovering a prior version.
56
+ emails
57
+ .command("revisions")
58
+ .argument("<emailId>", "Marketing email ID")
59
+ .option("--limit <n>", "Max revisions", "20")
60
+ .description("Get the revision history of a marketing email")
61
+ .action(async (emailId, opts) => {
62
+ const ctx = getCtx();
63
+ const client = createClient(ctx.profile);
64
+ const id = encodePathSegment(emailId, "emailId");
65
+ const lim = encodeURIComponent(String(opts.limit ?? "20"));
66
+ const res = await client.request(`/marketing/v3/emails/${id}/revisions?limit=${lim}`);
67
+ printResult(ctx, res);
68
+ });
69
+ // Restore a previous revision to draft. Endpoint verified live:
70
+ // POST /marketing/v3/emails/{id}/revisions/{revisionId}/restore-to-draft
71
+ // Surfaced from HubSpot's nodejs SDK (MarketingEmailsApi.ts) —
72
+ // not in the public dev-docs navigation.
73
+ emails
74
+ .command("revision-restore")
75
+ .argument("<emailId>", "Marketing email ID")
76
+ .argument("<revisionId>", "Revision ID to restore")
77
+ .description("Restore a past email revision to DRAFT")
78
+ .action(async (emailId, revisionId) => {
79
+ const ctx = getCtx();
80
+ const client = createClient(ctx.profile);
81
+ const id = encodePathSegment(emailId, "emailId");
82
+ const rid = encodePathSegment(revisionId, "revisionId");
83
+ const res = await maybeWrite(ctx, client, "POST", `/marketing/v3/emails/${id}/revisions/${rid}/restore-to-draft`, {});
84
+ printResult(ctx, res);
85
+ });
86
+ // Unpublish a sent/scheduled email. Endpoint verified live.
87
+ emails
88
+ .command("unpublish")
89
+ .argument("<emailId>", "Marketing email ID")
90
+ .description("Unpublish a published email")
91
+ .action(async (emailId) => {
92
+ const ctx = getCtx();
93
+ const client = createClient(ctx.profile);
94
+ const id = encodePathSegment(emailId, "emailId");
95
+ const res = await maybeWrite(ctx, client, "POST", `/marketing/v3/emails/${id}/unpublish`, {});
96
+ printResult(ctx, res);
97
+ });
98
+ // Reset draft back to last-published state.
99
+ emails
100
+ .command("draft-reset")
101
+ .argument("<emailId>", "Marketing email ID")
102
+ .description("Reset email draft to the last-published state")
103
+ .action(async (emailId) => {
104
+ const ctx = getCtx();
105
+ const client = createClient(ctx.profile);
106
+ const id = encodePathSegment(emailId, "emailId");
107
+ const res = await maybeWrite(ctx, client, "POST", `/marketing/v3/emails/${id}/draft/reset`, {});
108
+ printResult(ctx, res);
109
+ });
55
110
  // Clone a marketing email — v3 endpoint rediscovered via a
56
111
  // docs re-audit (the id goes in the request body, not the path).
57
112
  emails
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/marketing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/marketing/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { getToken } from "../../core/auth.js";
2
- import { HubSpotClient } from "../../core/http.js";
1
+ import { createClient } from "../../core/http.js";
3
2
  import { printResult } from "../../core/output.js";
4
3
  import { encodePathSegment, maybeWrite, parseJsonPayload, parseNumberFlag } from "../crm/shared.js";
5
4
  export function registerSettings(program, getCtx) {
@@ -12,7 +11,7 @@ export function registerSettings(program, getCtx) {
12
11
  .option("--after <cursor>", "Paging cursor")
13
12
  .action(async (opts) => {
14
13
  const ctx = getCtx();
15
- const client = new HubSpotClient(getToken(ctx.profile));
14
+ const client = createClient(ctx.profile);
16
15
  const params = new URLSearchParams();
17
16
  params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
18
17
  if (opts.after)
@@ -22,7 +21,7 @@ export function registerSettings(program, getCtx) {
22
21
  });
23
22
  users.command("get").argument("<userId>").action(async (userId) => {
24
23
  const ctx = getCtx();
25
- const client = new HubSpotClient(getToken(ctx.profile));
24
+ const client = createClient(ctx.profile);
26
25
  const res = await client.request(`/settings/v3/users/${encodePathSegment(userId, "userId")}`);
27
26
  printResult(ctx, res);
28
27
  });
@@ -31,7 +30,7 @@ export function registerSettings(program, getCtx) {
31
30
  .requiredOption("--data <payload>", "User creation payload JSON")
32
31
  .action(async (opts) => {
33
32
  const ctx = getCtx();
34
- const client = new HubSpotClient(getToken(ctx.profile));
33
+ const client = createClient(ctx.profile);
35
34
  const payload = parseJsonPayload(opts.data);
36
35
  const res = await maybeWrite(ctx, client, "POST", "/settings/v3/users/", payload);
37
36
  printResult(ctx, res);
@@ -42,7 +41,7 @@ export function registerSettings(program, getCtx) {
42
41
  .requiredOption("--data <payload>", "User update payload JSON")
43
42
  .action(async (userId, opts) => {
44
43
  const ctx = getCtx();
45
- const client = new HubSpotClient(getToken(ctx.profile));
44
+ const client = createClient(ctx.profile);
46
45
  const payload = parseJsonPayload(opts.data);
47
46
  const res = await maybeWrite(ctx, client, "PUT", `/settings/v3/users/${encodePathSegment(userId, "userId")}`, payload);
48
47
  printResult(ctx, res);
@@ -52,7 +51,7 @@ export function registerSettings(program, getCtx) {
52
51
  .argument("<userId>")
53
52
  .action(async (userId) => {
54
53
  const ctx = getCtx();
55
- const client = new HubSpotClient(getToken(ctx.profile));
54
+ const client = createClient(ctx.profile);
56
55
  const res = await maybeWrite(ctx, client, "DELETE", `/settings/v3/users/${encodePathSegment(userId, "userId")}`);
57
56
  printResult(ctx, res);
58
57
  });
@@ -61,7 +60,7 @@ export function registerSettings(program, getCtx) {
61
60
  .description("List available user roles")
62
61
  .action(async () => {
63
62
  const ctx = getCtx();
64
- const client = new HubSpotClient(getToken(ctx.profile));
63
+ const client = createClient(ctx.profile);
65
64
  const res = await client.request("/settings/v3/users/roles");
66
65
  printResult(ctx, res);
67
66
  });
@@ -73,7 +72,7 @@ export function registerSettings(program, getCtx) {
73
72
  .option("--after <cursor>", "Paging cursor")
74
73
  .action(async (opts) => {
75
74
  const ctx = getCtx();
76
- const client = new HubSpotClient(getToken(ctx.profile));
75
+ const client = createClient(ctx.profile);
77
76
  const params = new URLSearchParams();
78
77
  params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
79
78
  if (opts.after)
@@ -87,7 +86,7 @@ export function registerSettings(program, getCtx) {
87
86
  .command("list")
88
87
  .action(async () => {
89
88
  const ctx = getCtx();
90
- const client = new HubSpotClient(getToken(ctx.profile));
89
+ const client = createClient(ctx.profile);
91
90
  const res = await client.request("/settings/v3/users/teams");
92
91
  printResult(ctx, res);
93
92
  });
@@ -97,7 +96,7 @@ export function registerSettings(program, getCtx) {
97
96
  .command("list")
98
97
  .action(async () => {
99
98
  const ctx = getCtx();
100
- const client = new HubSpotClient(getToken(ctx.profile));
99
+ const client = createClient(ctx.profile);
101
100
  const res = await client.request("/settings/v3/currencies");
102
101
  printResult(ctx, res);
103
102
  });
@@ -115,7 +114,7 @@ export function registerSettings(program, getCtx) {
115
114
  .option("--object-type <type>", "Filter by the object type the action was performed on")
116
115
  .action(async (opts) => {
117
116
  const ctx = getCtx();
118
- const client = new HubSpotClient(getToken(ctx.profile));
117
+ const client = createClient(ctx.profile);
119
118
  const params = new URLSearchParams();
120
119
  params.set("limit", String(parseNumberFlag(opts.limit, "--limit")));
121
120
  if (opts.after)
@@ -140,7 +139,7 @@ export function registerSettings(program, getCtx) {
140
139
  .requiredOption("--data <payload>", "GDPR delete payload JSON")
141
140
  .action(async (opts) => {
142
141
  const ctx = getCtx();
143
- const client = new HubSpotClient(getToken(ctx.profile));
142
+ const client = createClient(ctx.profile);
144
143
  const payload = parseJsonPayload(opts.data);
145
144
  const res = await maybeWrite(ctx, client, "POST", "/crm/v3/objects/contacts/gdpr-delete", payload);
146
145
  printResult(ctx, res);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/settings/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/settings/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,49 @@ export function registerWorkflows(program, getCtx) {
12
12
  createPath: "/automation/v4/flows",
13
13
  updatePath: (id) => `/automation/v4/flows/${id}`,
14
14
  });
15
+ // id-map — reconcile the v3 workflowId ↔ v4 flowId pair. Both
16
+ // values live inside the flow's `migrationStatus` object (v4
17
+ // response includes `workflowId`; v3 response includes `flowId`).
18
+ // HubSpot doesn't expose a dedicated mapping endpoint, so this
19
+ // wrapper does the lookup for you: pass either id, get both back.
20
+ workflows
21
+ .command("id-map")
22
+ .argument("<id>", "v3 workflowId or v4 flowId (auto-detected)")
23
+ .description("Resolve v3 workflowId ↔ v4 flowId pair for a workflow")
24
+ .action(async (id) => {
25
+ const ctx = getCtx();
26
+ const client = createClient(ctx.profile);
27
+ const segId = encodePathSegment(id, "id");
28
+ // Try v4 first (flowIds are numeric but can be distinguished by
29
+ // trying both endpoints; v4 flowIds tend to be 10-digit whereas
30
+ // v3 workflowIds are 8-digit — not reliable, so probe both).
31
+ let v3Id;
32
+ let v4Id;
33
+ let name;
34
+ try {
35
+ const v4 = (await client.request(`/automation/v4/flows/${segId}`));
36
+ v4Id = v4.id ?? id;
37
+ name = v4.name;
38
+ v3Id = v4.migrationStatus?.workflowId !== undefined
39
+ ? String(v4.migrationStatus.workflowId)
40
+ : undefined;
41
+ }
42
+ catch {
43
+ // Not a v4 flowId — try v3
44
+ try {
45
+ const v3 = (await client.request(`/automation/v3/workflows/${segId}`));
46
+ v3Id = String(v3.id ?? id);
47
+ name = v3.name;
48
+ v4Id = v3.migrationStatus?.flowId !== undefined
49
+ ? String(v3.migrationStatus.flowId)
50
+ : undefined;
51
+ }
52
+ catch {
53
+ // Give up
54
+ }
55
+ }
56
+ printResult(ctx, { name, v3: v3Id, v4: v4Id });
57
+ });
15
58
  // Enable/disable a v4 flow. Requires PUT (not PATCH — 405 on PATCH)
16
59
  // with the full flow body including `revisionId`. Rediscovered via
17
60
  // the docs re-audit after earlier probes that used PATCH.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workflows/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workflows/index.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,34 @@ export interface RequestOptions {
17
17
  contentType?: string;
18
18
  /** Raw body string used when `contentType` is non-JSON. */
19
19
  rawBody?: string;
20
+ /**
21
+ * Multipart form data. When set, the request is sent as
22
+ * `multipart/form-data` with a boundary generated by the runtime —
23
+ * explicit `contentType` is ignored. Each entry is either:
24
+ * - `string`: added as a text field.
25
+ * - `{ path, filename?, contentType? }`: file field; the local
26
+ * file at `path` is read and attached as a binary part.
27
+ *
28
+ * HubSpot endpoints that require multipart bodies (and fail with
29
+ * 415 on JSON or plain-text bodies) include:
30
+ * - `PUT /cms/v3/source-code/{env}/content/{path}` — template
31
+ * source uploads
32
+ * - `POST /cms/v3/hubdb/tables/{id}/draft/import` — CSV row
33
+ * import, parts: `config` (JSON string) + `file` (binary)
34
+ * - `POST /content/filemapper/v1/upload/{dest}` — the legacy
35
+ * endpoint `hs upload` uses
36
+ * - `POST /file-transport/v1/hubfiles/object-schemas` — HubFiles
37
+ * custom-object schemas
38
+ * - `POST /project-components-external/v3/upload/new-api` —
39
+ * project zip + IR (3 parts)
40
+ */
41
+ multipart?: Record<string, MultipartPart>;
20
42
  }
43
+ export type MultipartPart = string | {
44
+ path: string;
45
+ filename?: string;
46
+ contentType?: string;
47
+ };
21
48
  interface HubSpotClientOptions {
22
49
  requestId?: string;
23
50
  telemetryFile?: string;
package/dist/core/http.js CHANGED
@@ -1,4 +1,5 @@
1
- import { CliError } from "./output.js";
1
+ import { CliError, redactSensitive } from "./output.js";
2
+ import { getTelemetryContext } from "./telemetry-context.js";
2
3
  import { appendFileSync, existsSync, readFileSync } from "node:fs";
3
4
  import { join } from "node:path";
4
5
  import { homedir } from "node:os";
@@ -22,6 +23,26 @@ function readActiveTraceSession() {
22
23
  import { mapEndpointAvailabilityError, preflightEndpointCapability, recordEndpointSuccess } from "./capabilities.js";
23
24
  import { getToken, getApiBaseUrl } from "./auth.js";
24
25
  import { enforcePermissionProfile } from "./permissions.js";
26
+ /**
27
+ * Paths where HubSpot embeds a raw token in the URL (notably
28
+ * `/oauth/v1/access-tokens/{token}`). We replace the trailing segment
29
+ * so trace/audit JSONL never captures the token verbatim.
30
+ */
31
+ const TOKEN_IN_PATH_PREFIXES = [
32
+ "/oauth/v1/access-tokens/",
33
+ "/oauth/v1/refresh-tokens/",
34
+ ];
35
+ function redactTokenPath(path) {
36
+ for (const prefix of TOKEN_IN_PATH_PREFIXES) {
37
+ if (path.startsWith(prefix)) {
38
+ const after = path.slice(prefix.length);
39
+ const next = after.indexOf("/");
40
+ const rest = next >= 0 ? after.slice(next) : "";
41
+ return `${prefix}[REDACTED]${rest}`;
42
+ }
43
+ }
44
+ return path;
45
+ }
25
46
  /**
26
47
  * Create a HubSpotClient that is hublet-aware.
27
48
  * Automatically resolves the API base URL from the profile's hublet setting.
@@ -88,6 +109,21 @@ const ALLOWED_PATH_SCOPES = [
88
109
  "goals",
89
110
  // CMS content folder tree listing (used by design-manager tooling)
90
111
  "content-folders",
112
+ // App dev + portal install analytics (undocumented —
113
+ // /apps-dev/external/public/v3/{appId}/test-portal-installs,
114
+ // /full/portal, /install-counts-without-test-portals)
115
+ "apps-dev",
116
+ // Hublets static-token app install (undocumented)
117
+ "apps-hublets",
118
+ // Developer file system — projects upload, deploy, logs, migrations
119
+ // (used by `hs project upload` under the hood)
120
+ "dfs",
121
+ // New v3 project upload-with-IR endpoint (replaces dfs/v1 for apps)
122
+ "project-components-external",
123
+ // HubFiles custom-object schemas (used by `hs hubfiles`)
124
+ "file-transport",
125
+ // Local-dev-auth link flow (account linking)
126
+ "localdevauth",
91
127
  ];
92
128
  export class HubSpotClient {
93
129
  token;
@@ -147,20 +183,50 @@ export class HubSpotClient {
147
183
  strict: this.strictCapabilities,
148
184
  });
149
185
  try {
150
- const contentType = options.contentType ?? "application/json";
151
- const bodyToSend = options.rawBody !== undefined
152
- ? options.rawBody
153
- : options.body !== undefined
154
- ? JSON.stringify(options.body)
155
- : undefined;
186
+ // Multipart takes precedence. When set, we build a FormData
187
+ // instance and hand it to fetch — Node 20+ emits the correct
188
+ // `multipart/form-data; boundary=…` Content-Type automatically.
189
+ // We MUST omit the Content-Type header ourselves; hardcoding
190
+ // `multipart/form-data` without a boundary is the #1 cause of
191
+ // HubSpot's 415 "Unsupported Media Type" responses.
192
+ let bodyToSend;
193
+ const headers = {
194
+ Authorization: `Bearer ${this.token}`,
195
+ "X-Hubcli-Request-Id": this.requestId,
196
+ ...(idempotencyKey ? { "Idempotency-Key": idempotencyKey } : {}),
197
+ };
198
+ if (options.multipart) {
199
+ const { readFile } = await import("node:fs/promises");
200
+ const { basename } = await import("node:path");
201
+ const form = new FormData();
202
+ for (const [field, part] of Object.entries(options.multipart)) {
203
+ if (typeof part === "string") {
204
+ form.append(field, part);
205
+ }
206
+ else {
207
+ const bytes = await readFile(part.path);
208
+ const filename = part.filename ?? basename(part.path);
209
+ const type = part.contentType ?? "application/octet-stream";
210
+ // Node 20+ Blob accepts Uint8Array; fetch auto-sets
211
+ // Content-Type + boundary when body is FormData.
212
+ form.append(field, new Blob([bytes], { type }), filename);
213
+ }
214
+ }
215
+ bodyToSend = form;
216
+ }
217
+ else {
218
+ const contentType = options.contentType ?? "application/json";
219
+ headers["Content-Type"] = contentType;
220
+ bodyToSend =
221
+ options.rawBody !== undefined
222
+ ? options.rawBody
223
+ : options.body !== undefined
224
+ ? JSON.stringify(options.body)
225
+ : undefined;
226
+ }
156
227
  const response = await fetch(url, {
157
228
  method,
158
- headers: {
159
- Authorization: `Bearer ${this.token}`,
160
- "Content-Type": contentType,
161
- "X-Hubcli-Request-Id": this.requestId,
162
- ...(idempotencyKey ? { "Idempotency-Key": idempotencyKey } : {}),
163
- },
229
+ headers,
164
230
  body: bodyToSend,
165
231
  signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
166
232
  });
@@ -268,15 +334,33 @@ export class HubSpotClient {
268
334
  return;
269
335
  }
270
336
  try {
271
- // Baseline event: always includes ts + requestId + profile. toolName
272
- // is set from HSCLI_MCP_TOOL_NAME so MCP tool invocations show up
273
- // distinctly in `hscli trace stats` (byToolName breakdown).
337
+ // Redact path (e.g. /oauth/v1/access-tokens/<TOKEN>) and bodies
338
+ // before persisting to disk. The trace help text advertises
339
+ // "redacted for secrets" this is where that guarantee is kept.
340
+ const safePath = redactTokenPath(event.path);
341
+ const safeEvent = {
342
+ ...event,
343
+ path: safePath,
344
+ ...(event.requestBody !== undefined ? { requestBody: redactSensitive(event.requestBody) } : {}),
345
+ ...(event.responseBody !== undefined ? { responseBody: redactSensitive(event.responseBody) } : {}),
346
+ ...(event.error ? { error: redactSensitive(event.error) } : {}),
347
+ };
348
+ // Baseline event: always includes ts + requestId + profile.
349
+ // toolName comes from AsyncLocalStorage (set by the MCP handler
350
+ // wrapper) so concurrent MCP calls don't race on a process-global.
351
+ const tcx = getTelemetryContext();
352
+ // changeTicket: ALS wins for MCP (race-safe), env fallback for CLI
353
+ // (single-invocation per process, preAction sets HSCLI_CHANGE_TICKET).
354
+ const changeTicket = tcx?.changeTicket
355
+ || process.env.HSCLI_CHANGE_TICKET?.trim()
356
+ || undefined;
274
357
  appendFileSync(this.telemetryFile, JSON.stringify({
275
358
  ts: new Date().toISOString(),
276
359
  requestId: this.requestId,
277
360
  profile: this.profile,
278
- toolName: process.env.HSCLI_MCP_TOOL_NAME?.trim() || undefined,
279
- ...event,
361
+ toolName: tcx?.toolName,
362
+ changeTicket,
363
+ ...safeEvent,
280
364
  }) + "\n", "utf8");
281
365
  }
282
366
  catch {