@revfleet/hscli 0.9.8 → 0.11.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 (140) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/README.md +142 -13
  3. package/SECURITY.md +14 -3
  4. package/dist/cli.js +3 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/cloud/cloud-run-caller-contract.d.ts +28 -0
  7. package/dist/cloud/cloud-run-caller-contract.js +35 -0
  8. package/dist/cloud/cloud-run-caller-contract.js.map +1 -0
  9. package/dist/cloud/main.d.ts +1 -0
  10. package/dist/cloud/main.js +15 -0
  11. package/dist/cloud/main.js.map +1 -0
  12. package/dist/cloud/server.d.ts +5 -0
  13. package/dist/cloud/server.js +133 -0
  14. package/dist/cloud/server.js.map +1 -0
  15. package/dist/commands/agent/access-baseline.d.ts +47 -0
  16. package/dist/commands/agent/access-baseline.js +238 -0
  17. package/dist/commands/agent/access-baseline.js.map +1 -0
  18. package/dist/commands/agent/index.js +99 -11
  19. package/dist/commands/agent/index.js.map +1 -1
  20. package/dist/commands/agent/recipes.d.ts +7 -1
  21. package/dist/commands/agent/recipes.js +57 -1
  22. package/dist/commands/agent/recipes.js.map +1 -1
  23. package/dist/commands/agent/reporting-joinability.d.ts +129 -0
  24. package/dist/commands/agent/reporting-joinability.js +412 -0
  25. package/dist/commands/agent/reporting-joinability.js.map +1 -0
  26. package/dist/commands/agent/runner.d.ts +1 -0
  27. package/dist/commands/agent/runner.js +181 -27
  28. package/dist/commands/agent/runner.js.map +1 -1
  29. package/dist/commands/audit/index.js +2 -1
  30. package/dist/commands/audit/index.js.map +1 -1
  31. package/dist/commands/auth/index.d.ts +6 -2
  32. package/dist/commands/auth/index.js +172 -57
  33. package/dist/commands/auth/index.js.map +1 -1
  34. package/dist/commands/backup/index.js +6 -8
  35. package/dist/commands/backup/index.js.map +1 -1
  36. package/dist/commands/crm/describe.js +3 -3
  37. package/dist/commands/crm/describe.js.map +1 -1
  38. package/dist/commands/crm/index.js +2 -0
  39. package/dist/commands/crm/index.js.map +1 -1
  40. package/dist/commands/crm/record-layouts.d.ts +3 -0
  41. package/dist/commands/crm/record-layouts.js +246 -0
  42. package/dist/commands/crm/record-layouts.js.map +1 -0
  43. package/dist/commands/crm/shared.d.ts +1 -0
  44. package/dist/commands/crm/shared.js +7 -3
  45. package/dist/commands/crm/shared.js.map +1 -1
  46. package/dist/commands/crm/sync.js +170 -27
  47. package/dist/commands/crm/sync.js.map +1 -1
  48. package/dist/commands/doctor/index.js +5 -5
  49. package/dist/commands/doctor/index.js.map +1 -1
  50. package/dist/commands/internal/index.js +20 -6
  51. package/dist/commands/internal/index.js.map +1 -1
  52. package/dist/commands/internal-session.d.ts +4 -0
  53. package/dist/commands/internal-session.js +27 -0
  54. package/dist/commands/internal-session.js.map +1 -1
  55. package/dist/commands/lists/index.js +18 -0
  56. package/dist/commands/lists/index.js.map +1 -1
  57. package/dist/commands/marketing/index.js +5 -5
  58. package/dist/commands/marketing/index.js.map +1 -1
  59. package/dist/commands/mcp.d.ts +2 -1
  60. package/dist/commands/mcp.js +49 -5
  61. package/dist/commands/mcp.js.map +1 -1
  62. package/dist/commands/sales/index.js +2 -0
  63. package/dist/commands/sales/index.js.map +1 -1
  64. package/dist/commands/sales/views.d.ts +3 -0
  65. package/dist/commands/sales/views.js +263 -0
  66. package/dist/commands/sales/views.js.map +1 -0
  67. package/dist/commands/settings/index.js +20 -0
  68. package/dist/commands/settings/index.js.map +1 -1
  69. package/dist/commands/trace/index.js +11 -4
  70. package/dist/commands/trace/index.js.map +1 -1
  71. package/dist/commands/workflows/index.js +2 -0
  72. package/dist/commands/workflows/index.js.map +1 -1
  73. package/dist/commands/workflows/internal.d.ts +3 -0
  74. package/dist/commands/workflows/internal.js +332 -0
  75. package/dist/commands/workflows/internal.js.map +1 -0
  76. package/dist/core/auth.d.ts +18 -2
  77. package/dist/core/auth.js +96 -3
  78. package/dist/core/auth.js.map +1 -1
  79. package/dist/core/bounded-response.d.ts +2 -0
  80. package/dist/core/bounded-response.js +37 -0
  81. package/dist/core/bounded-response.js.map +1 -0
  82. package/dist/core/capabilities.d.ts +8 -0
  83. package/dist/core/capabilities.js +31 -3
  84. package/dist/core/capabilities.js.map +1 -1
  85. package/dist/core/http.d.ts +16 -0
  86. package/dist/core/http.js +151 -35
  87. package/dist/core/http.js.map +1 -1
  88. package/dist/core/output.js +20 -4
  89. package/dist/core/output.js.map +1 -1
  90. package/dist/core/permissions.js +15 -1
  91. package/dist/core/permissions.js.map +1 -1
  92. package/dist/core/policy.js +8 -0
  93. package/dist/core/policy.js.map +1 -1
  94. package/dist/core/request-path.d.ts +13 -0
  95. package/dist/core/request-path.js +90 -0
  96. package/dist/core/request-path.js.map +1 -0
  97. package/dist/core/schema-cache.js +6 -2
  98. package/dist/core/schema-cache.js.map +1 -1
  99. package/dist/core/vault.js +10 -5
  100. package/dist/core/vault.js.map +1 -1
  101. package/dist/core/version.d.ts +1 -0
  102. package/dist/core/version.js +3 -0
  103. package/dist/core/version.js.map +1 -0
  104. package/dist/mcp/compat-hubspot.d.ts +5 -14
  105. package/dist/mcp/compat-hubspot.js +19 -16
  106. package/dist/mcp/compat-hubspot.js.map +1 -1
  107. package/dist/mcp/diagnostics.d.ts +157 -0
  108. package/dist/mcp/diagnostics.js +200 -0
  109. package/dist/mcp/diagnostics.js.map +1 -0
  110. package/dist/mcp/ecosystem.d.ts +107 -0
  111. package/dist/mcp/ecosystem.js +127 -0
  112. package/dist/mcp/ecosystem.js.map +1 -0
  113. package/dist/mcp/ext-tools.d.ts +4 -3
  114. package/dist/mcp/ext-tools.js +20 -8
  115. package/dist/mcp/ext-tools.js.map +1 -1
  116. package/dist/mcp/profiles.d.ts +9 -0
  117. package/dist/mcp/profiles.js +38 -4
  118. package/dist/mcp/profiles.js.map +1 -1
  119. package/dist/mcp/server.d.ts +118 -1
  120. package/dist/mcp/server.js +67 -10
  121. package/dist/mcp/server.js.map +1 -1
  122. package/docs/CAPABILITY_LIBRARY.md +7 -1
  123. package/docs/CLOUD_RUN.md +188 -0
  124. package/docs/COMMAND_TREE.md +20 -6
  125. package/docs/COMPARISON.md +14 -6
  126. package/docs/COOKBOOK.md +46 -2
  127. package/docs/INTERNAL-ENDPOINTS-DISCOVERY.md +59 -0
  128. package/docs/INTERNAL-ENDPOINTS.md +13 -0
  129. package/docs/INTERNAL_ENDPOINTS.md +23 -5
  130. package/docs/MCP.md +48 -6
  131. package/docs/MCP_TOOL_CATALOG.md +188 -186
  132. package/docs/OPERATIONAL_PLAYBOOKS.md +9 -8
  133. package/docs/PORTAL_BACKUP.md +26 -2
  134. package/docs/RELEASE_GOVERNANCE.md +7 -0
  135. package/docs/SAFETY_MODEL.md +23 -4
  136. package/docs/TUTORIALS/secure-agent-writes.md +3 -2
  137. package/docs/VALIDATION_BOUNDARIES.md +101 -0
  138. package/docs/policy-templates/compliance-strict.json +7 -0
  139. package/examples/cloud-run-mcp-caller.mjs +71 -0
  140. package/package.json +11 -8
@@ -10,7 +10,8 @@ import { resolvePortalContext, enrichListResponse, enrichRecordUrl, enrichCustom
10
10
  import { registerHubspotCompatTools } from "./compat-hubspot.js";
11
11
  import { registerExtensionTools } from "./ext-tools.js";
12
12
  import { registerHubspotModuleTools } from "./hubspot-modules.js";
13
- import { classifyToolDomain, classifyToolRisk, isToolAllowed, parseMcpSurface, surfacesForTool, } from "./profiles.js";
13
+ import { buildMcpDoctor, buildMcpManifest, MCP_SERVER_INFO, mcpDoctorOutputSchema, mcpManifestOutputSchema, } from "./diagnostics.js";
14
+ import { classifyToolDomain, classifyToolRisk, isToolAllowed, parseMcpSurface, safetyAnnotationsForTool, surfacesForTool, } from "./profiles.js";
14
15
  let activeRegistrationSurface = "full";
15
16
  const toolCatalog = new Map();
16
17
  export const baseArgsSchema = {
@@ -50,6 +51,9 @@ export function resolveProfile(requested) {
50
51
  }
51
52
  function mcpContext(args) {
52
53
  const force = Boolean(args.force);
54
+ if (force && !isEnvTrue(process.env.HSCLI_MCP_ALLOW_WRITES)) {
55
+ throw new CliError("MCP_WRITES_DISABLED", "Live MCP writes are disabled. Restart the server with hscli mcp serve --allow-writes after reviewing its profile and policy.");
56
+ }
53
57
  const dryRun = args.dryRun ?? !force;
54
58
  const changeTicket = args.changeTicket?.trim()
55
59
  || process.env.HSCLI_CHANGE_TICKET?.trim()
@@ -116,12 +120,16 @@ export async function executeTool(args, fn) {
116
120
  */
117
121
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
122
  export function registerMcpTool(server, name, config, handler) {
123
+ const risk = classifyToolRisk(name);
124
+ const annotations = safetyAnnotationsForTool(name);
119
125
  toolCatalog.set(name, {
120
126
  name,
121
127
  description: typeof config?.description === "string" ? config.description : "",
122
128
  domain: classifyToolDomain(name),
123
- risk: classifyToolRisk(name),
129
+ risk,
124
130
  surfaces: surfacesForTool(name),
131
+ annotations,
132
+ hasOutputSchema: Boolean(config?.outputSchema),
125
133
  });
126
134
  if (!isToolAllowed(name, activeRegistrationSurface))
127
135
  return;
@@ -133,7 +141,13 @@ export function registerMcpTool(server, name, config, handler) {
133
141
  return runWithTelemetryContext({ toolName: name }, () => handler(...handlerArgs));
134
142
  };
135
143
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
- server.registerTool(name, config, wrapped);
144
+ server.registerTool(name, {
145
+ ...config,
146
+ annotations: {
147
+ ...config?.annotations,
148
+ ...annotations,
149
+ },
150
+ }, wrapped);
137
151
  }
138
152
  function isEnvTrue(value) {
139
153
  if (!value)
@@ -197,7 +211,7 @@ function registerStandardObjectTools(server, objectType) {
197
211
  if (args.after !== undefined) {
198
212
  body.after = parseNumberFlag(String(args.after), "after");
199
213
  }
200
- const res = await client.request(`/crm/v3/objects/${objectType}/search`, { method: "POST", body });
214
+ const res = await client.request(`/crm/v3/objects/${objectType}/search`, { method: "POST", body, permissionMode: "read" });
201
215
  enrichListResponse(res, portal, objectType);
202
216
  return res;
203
217
  }));
@@ -243,7 +257,7 @@ function registerStandardObjectTools(server, objectType) {
243
257
  registerMcpTool(server, `crm_${objectType}_batch_read`, {
244
258
  description: `Batch read ${objectType}`,
245
259
  inputSchema: { ...baseArgsSchema, data: z.record(z.string(), z.unknown()) },
246
- }, (args) => executeTool(args, (_ctx, client) => client.request(`/crm/v3/objects/${objectType}/batch/read`, { method: "POST", body: args.data })));
260
+ }, (args) => executeTool(args, (_ctx, client) => client.request(`/crm/v3/objects/${objectType}/batch/read`, { method: "POST", body: args.data, permissionMode: "read" })));
247
261
  registerMcpTool(server, `crm_${objectType}_batch_upsert`, {
248
262
  description: `Batch upsert ${objectType} (dry-run by default unless force=true)`,
249
263
  inputSchema: { ...baseArgsSchema, data: z.record(z.string(), z.unknown()) },
@@ -255,14 +269,33 @@ function registerStandardObjectTools(server, objectType) {
255
269
  }
256
270
  export function registerHubSpotTools(server, surface = "full") {
257
271
  activeRegistrationSurface = surface;
272
+ registerMcpTool(server, "hscli_mcp_manifest", {
273
+ description: "Describe the hscli MCP protocol, transport, tool surface, and safety metadata without accessing HubSpot",
274
+ inputSchema: {},
275
+ outputSchema: mcpManifestOutputSchema,
276
+ }, () => textResult(buildMcpManifest(surface, getMcpToolCatalog())));
277
+ registerMcpTool(server, "hscli_mcp_doctor", {
278
+ description: "Inspect local MCP profile isolation, portal pinning, policy, and cached capability state without exposing credentials",
279
+ inputSchema: {
280
+ profile: z.string().min(1).optional(),
281
+ },
282
+ outputSchema: mcpDoctorOutputSchema,
283
+ }, (args) => textResult(buildMcpDoctor({
284
+ profile: resolveProfile(args.profile),
285
+ surface,
286
+ catalog: getMcpToolCatalog(),
287
+ policyFile: process.env.HSCLI_POLICY_FILE?.trim() || undefined,
288
+ changeTicket: process.env.HSCLI_CHANGE_TICKET?.trim() || undefined,
289
+ strictCapabilities: isEnvTrue(process.env.HSCLI_MCP_STRICT_CAPABILITIES),
290
+ })));
258
291
  for (const objectType of OBJECT_COMMAND_TYPES) {
259
292
  registerStandardObjectTools(server, objectType);
260
293
  }
261
294
  for (const objectType of ENGAGEMENT_OBJECT_TYPES) {
262
295
  registerStandardObjectTools(server, objectType);
263
296
  }
264
- // HubSpot Remote MCP drop-in compatibility layer agents built against
265
- // https://mcp.hubspot.com can target `hscli mcp` unchanged.
297
+ // Name-compatible subset of a documented HubSpot Remote MCP snapshot.
298
+ // Authentication, transport, schemas, permissions, and semantics differ.
266
299
  registerHubspotCompatTools(server);
267
300
  // Extension surface — MCP tools that HubSpot's hosted server doesn't
268
301
  // expose (workflows, files, forms, webhooks, marketing-emails, CMS writes,
@@ -512,7 +545,7 @@ export function registerHubSpotTools(server, surface = "full") {
512
545
  inputSchema: { ...baseArgsSchema, objectType: z.string().min(1), data: z.record(z.string(), z.unknown()) },
513
546
  }, (args) => executeTool(args, async (ctx, client) => {
514
547
  const portal = resolvePortalContext(ctx.profile);
515
- const res = await client.request(`/crm/v3/objects/${encodePathSegment(args.objectType, "objectType")}/search`, { method: "POST", body: args.data });
548
+ const res = await client.request(`/crm/v3/objects/${encodePathSegment(args.objectType, "objectType")}/search`, { method: "POST", body: args.data, permissionMode: "read" });
516
549
  enrichCustomListResponse(res, portal, args.objectType);
517
550
  return res;
518
551
  }));
@@ -802,13 +835,37 @@ export function registerHubSpotTools(server, surface = "full") {
802
835
  export function getMcpToolCatalog() {
803
836
  return [...toolCatalog.values()].sort((a, b) => a.name.localeCompare(b.name));
804
837
  }
838
+ function ensureMcpCatalog() {
839
+ createMcpServer("full");
840
+ return getMcpToolCatalog();
841
+ }
842
+ export function getMcpManifest(surface) {
843
+ return buildMcpManifest(surface, ensureMcpCatalog());
844
+ }
845
+ export function getMcpDoctor(options) {
846
+ return buildMcpDoctor({ ...options, catalog: ensureMcpCatalog() });
847
+ }
805
848
  export function createMcpServer(surface = "full") {
806
- const server = new McpServer({ name: "hscli", version: "0.1.0" });
849
+ const server = new McpServer(MCP_SERVER_INFO);
807
850
  registerHubSpotTools(server, surface);
808
851
  return server;
809
852
  }
810
- export async function runMcpServer(surface) {
853
+ export async function runMcpServer(surface, options = {}) {
811
854
  const selectedSurface = surface ?? parseMcpSurface(process.env.HSCLI_MCP_SURFACE, "minimal");
855
+ const startupProfile = options.profile?.trim() || process.env.HSCLI_PROFILE?.trim() || "default";
856
+ const explicitLock = process.env.HSCLI_MCP_PROFILE?.trim();
857
+ if (explicitLock && explicitLock !== startupProfile) {
858
+ throw new CliError("MCP_PROFILE_ISOLATED", `MCP environment lock '${explicitLock}' does not match startup profile '${startupProfile}'.`);
859
+ }
860
+ if (!options.allowCrossProfile && !explicitLock) {
861
+ process.env.HSCLI_MCP_PROFILE = startupProfile;
862
+ }
863
+ if (options.allowWrites) {
864
+ process.env.HSCLI_MCP_ALLOW_WRITES = "1";
865
+ }
866
+ else if (!isEnvTrue(process.env.HSCLI_MCP_ALLOW_WRITES)) {
867
+ delete process.env.HSCLI_MCP_ALLOW_WRITES;
868
+ }
812
869
  const server = createMcpServer(selectedSurface);
813
870
  const transport = new StdioServerTransport();
814
871
  await server.connect(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ All readable + writable via standard CRM endpoints:
95
95
  |---|---|---|---|
96
96
  | Create DRAFT / AUTOMATED_DRAFT email | `hscli marketing emails create --data '{...}'` | ✅ | |
97
97
  | List / get / update / archive | `hscli marketing emails list|get|update` | ✅ | |
98
- | Per-email statistics | via `hscli api request --path "/marketing/v3/emails/statistics/{id}"` | ⚠️ | Per-email stats path `/marketing/v3/emails/{id}/statistics` returns 404. Aggregate stats live under `/email-events/v1/events` use `hscli email-events campaign <campaignId>`. |
98
+ | Aggregate campaign statistics | `hscli marketing emails stats <campaignId>` or `hscli email-events campaign <campaignId>` | ✅ | Both commands use `GET /email/public/v1/campaigns/{campaignId}`. The former `/marketing/v3/emails/{id}/statistics` route returned 404 and is no longer called. Per-recipient events remain available through `hscli email-events list`. |
99
99
  | **Revision history** | `hscli marketing emails revisions <id>` | ✅ | `GET /marketing/v3/emails/{id}/revisions`. |
100
100
  | **Restore past revision to DRAFT** | `hscli marketing emails revision-restore <id> <revisionId>` | ✅ | `POST /marketing/v3/emails/{id}/revisions/{revisionId}/restore-to-draft`. |
101
101
  | **Unpublish** | `hscli marketing emails unpublish <id>` | ✅ | `POST /marketing/v3/emails/{id}/unpublish`. |
@@ -200,6 +200,12 @@ All readable + writable via standard CRM endpoints:
200
200
 
201
201
  - `hscli sales calling` — call records + engagement hooks ✅
202
202
 
203
+ ### Saved contacts views (internal browser session)
204
+
205
+ - `hscli sales views list` ✅ — searches the captured contacts-view endpoint across `MINE`, `OTHERS`, `PROMOTED`, and `DEFAULT` categories. It returns the HubSpot view state and ordered columns without changing the portal.
206
+ - `hscli sales views create|delete` ⚠️ — intentionally narrow internal writes for contacts (`0-1`) only. Both plan by default, require a browser-session portal proof, `--expected-portal-id`, `--experimental-internal-write`, an exact acknowledgement, global `--force`, and `--change-ticket`; requests are never retried automatically.
207
+ - Update is deliberately unavailable: the inferred `PUT /api/sales/v4/views/{id}` path has not been validated against HubSpot and is not represented as a CLI command.
208
+
203
209
  ### Quotes
204
210
 
205
211
  - `hscli crm quotes` — CRUD ✅ (requires Sales Hub Pro+ on some tiers 🔒)
@@ -0,0 +1,188 @@
1
+ # Hosted hscli MCP
2
+
3
+ The hosted entry point exposes three read-only tools over Streamable HTTP:
4
+ `hscli_service_info`, `crm_properties_list`, and `crm_pipelines_list`.
5
+ The existing stdio CLI and broader tool catalog remain separate.
6
+
7
+ ## Deployment contract
8
+
9
+ - Project: `revfleet-hscli`; region: `europe-west1` (Belgium).
10
+ - Service: `hscli-mcp`; HTTPS `run.app` endpoint, **invoker IAM check enabled**.
11
+ - Service account: `hscli-runtime@revfleet-hscli.iam.gserviceaccount.com`; no project roles.
12
+ - Authorized caller: `hscli-web@revfleet-hscli.iam.gserviceaccount.com`, with `roles/run.invoker` only on this service.
13
+ - Request billing, gen1, 0.25 CPU, 512 MiB, concurrency 1, service minimum 0 and maximum 2, no CPU boost, timeout 30 s.
14
+ - No VPN, connector, NAT, load balancer, database, API key or persistent HubSpot secret.
15
+
16
+ An Internet-reachable endpoint protected by IAM is intentional. Do not disable
17
+ the invoker check or grant `allUsers` / `allAuthenticatedUsers` access. The process
18
+ relies on the Cloud Run authentication boundary and is not a standalone public
19
+ OAuth server. Local testing binds to loopback only with `HSCLI_CLOUD_LOCAL=1`.
20
+
21
+ ## Calling from a Cloud Run backend
22
+
23
+ The target caller is a separate web service running on Cloud Run. This is a
24
+ server-to-server contract, not a browser OAuth flow and not an hscli token
25
+ store. The web service authenticates its own user and authorizes that user for
26
+ one portal. Its backend, not hscli, owns the user-to-portal grant, server OAuth
27
+ renewal, refresh-token encryption and its own secret store.
28
+
29
+ For each invocation, the web service uses its attached Cloud Run identity via
30
+ Application Default Credentials. Its server-only code obtains a Google-signed
31
+ ID token with `google-auth-library`'s `getIdTokenClient(serviceBaseUrl)`. The
32
+ audience is the canonical HTTPS service base URL, **without `/mcp`**. The
33
+ official Streamable HTTP MCP client sends only that ID token in
34
+ `X-Serverless-Authorization: Bearer <ID token>` to
35
+ `https://<service-host>/mcp`.
36
+
37
+ Cloud Run invoker IAM authenticates the calling service before this process
38
+ accepts a request; it does not authenticate a RevFleet user. The backend must
39
+ resolve user and portal authorization first, then create one request-scoped
40
+ HubSpot context. It must not reuse a global MCP transport containing a user's
41
+ credential, and it must reject arbitrary browser-supplied context values. The
42
+ local `createCloudRunMcpCallerContract` helper validates the base URL, audience,
43
+ header model and bounded hosted surface without contacting Google, Cloud Run or
44
+ HubSpot.
45
+
46
+ `examples/cloud-run-mcp-caller.mjs` is an executable server-only consumption
47
+ example, covered by a local synthetic test. It uses the official Streamable HTTP
48
+ client, accepts an injected ID-token provider (normally the attached Cloud Run
49
+ identity through `getIdTokenClient(serviceBaseUrl)`), and asks an injected
50
+ authorized-backend resolver for HubSpot context **on every invocation**. It
51
+ receives two distinct origins: the canonical service URL stays the ID-token
52
+ audience, while the freshly verified tagged candidate URL is the MCP target.
53
+ It rejects an unauthorized portal before asking Google for an ID token or opening
54
+ a network connection. The example permits only the three hosted GET-only tools;
55
+ it is documentation, not an hscli public API or credential store.
56
+
57
+ After the backend has authorized the user and selected the portal, it may create
58
+ the following server-side request headers. It must retrieve their values from
59
+ its own secret store immediately before the MCP call. Browser code, URLs, logs,
60
+ CLI arguments and source archives must never receive them.
61
+
62
+ For the two HubSpot tools, supply these server-side request headers:
63
+
64
+ | Header | Value |
65
+ |---|---|
66
+ | `X-HubSpot-Access-Token` | Current server-held OAuth access token for the authorized portal |
67
+ | `X-HubSpot-Portal-Id` | Expected numeric portal ID |
68
+ | `X-HubSpot-Hublet` | `eu1` (default) or `na1` |
69
+
70
+ Credentials are not tool arguments. The MCP independently checks the credential
71
+ against `/account-info/v3/details` before reading metadata. A missing scope,
72
+ expired token, or mismatched portal fails closed. HubSpot access has only been
73
+ tested with synthetic fixtures; supplying real portal credentials is a separate
74
+ integration action. Choosing EU compute does not migrate a HubSpot portal's own
75
+ data region.
76
+
77
+ The existing product may have browser-held Private App credentials. The hosted
78
+ MCP's technical acceptance of a Private App token does not authorize moving that
79
+ browser-only mode into this backend. The Cloud Run integration uses the server
80
+ OAuth path; refresh tokens remain in the web service, never in hscli.
81
+
82
+ ### Vercel transition note (not a release dependency)
83
+
84
+ While the web is still on Vercel, a separately approved infrastructure bridge
85
+ could use Vercel OIDC as a Workload Identity Federation subject token, exchange
86
+ it through Google STS, and create the same Google-signed ID token for Cloud Run.
87
+ The Vercel subject token and STS access token never reach the MCP. This is a
88
+ transition explanation only: hscli does not implement it, store its tokens, or
89
+ require it for the 0.11.0 npm candidate or the hosted MCP PR review.
90
+
91
+ Arguments: `crm_properties_list` accepts `objectType` from contacts, companies,
92
+ deals, tickets; `crm_pipelines_list` accepts deals or tickets. Other arguments,
93
+ tools, methods and paths are rejected. Per operation: 25 s deadline, 2 MiB per
94
+ upstream response, no automatic retry or redirect; incoming JSON limited to
95
+ 64 KiB. JSON responses avoid idle streams. Client code should back off after
96
+ capacity errors rather than retry without a bound.
97
+
98
+ ## Build and controlled update, whether GitHub is private or public
99
+
100
+ Build, Cloud Run update and npm publication are separate distributions. A green
101
+ build never authorizes a tag, npm publish, IAM change, deployment, traffic move
102
+ or live HubSpot call.
103
+
104
+ `scripts/cloud-release.ps1 -Plan` is the local, no-submit check. It prints the
105
+ selected operation, source SHA/cleanliness when a build is requested, and future
106
+ external action names. It does not resolve `gcloud`, create a staging directory,
107
+ archive source, submit Cloud Build or contact GCP. PowerShell 7 is required to
108
+ exercise this mode; it is not installed in every development environment.
109
+
110
+ The helper only updates an **existing** service. Owner-only bootstrap creates a
111
+ service and establishes IAM, ingress, runtime service account, resource sizing,
112
+ scaling, timeout and log-routing policy. Routine release code deliberately has
113
+ no flags for those settings and must not be used to create or reconfigure a
114
+ service.
115
+
116
+ With explicit authorization, the operations are:
117
+
118
+ 1. Default build-only: a clean reviewed commit is archived into a fresh staging
119
+ directory, tested by Cloud Build and returned as an immutable image digest.
120
+ 2. `-Candidate`: first confirms the named service exists, then builds the clean
121
+ commit and deploys only the verified digest with `--no-traffic --tag=candidate`.
122
+ Its revision suffix derives from that build operation, then the helper reads
123
+ that exact revision and requires its configured image to equal the verified
124
+ immutable digest. It never infers candidate provenance from the service-global
125
+ `latestCreatedRevisionName`, and it never changes traffic.
126
+ 3. The helper qualifies a candidate only after the build echoes the expected
127
+ source SHA, its named image and digest agree, the explicit revision still has
128
+ that digest, and the current `candidate` traffic target names that same
129
+ revision. It emits the revision, digest, source SHA, canonical service audience
130
+ and tagged `candidateMcpUrl` as one record. A shared `candidate` tag is not
131
+ immutable identity: immediately before an independent smoke test, re-read the
132
+ target and reject it unless its tag still names the recorded revision.
133
+ `qualifiedCandidate` / `Candidate qualified` means only that this provenance
134
+ correlation succeeded; it is not an IAM/MCP acceptance or promotion authorization.
135
+ 4. Validate that candidate with an authorized, server-side MCP client at that
136
+ recorded tagged `candidateMcpUrl`, not the canonical service URL. The Google
137
+ ID-token audience nevertheless remains the canonical service URL, as required
138
+ by Cloud Run. Check IAM denial separately and require successful
139
+ `hscli_service_info.sourceSha` equals the recorded candidate `sourceSha` plus
140
+ the expected hscli package version before treating the smoke test as healthy.
141
+ A missing, divergent, or interrupted response rejects the recipe. No real
142
+ HubSpot portal is needed for this synthetic acceptance.
143
+ 5. `-PromoteRevision <actual-created-revision>` moves 100% traffic only after
144
+ that validation. Record the previous ready revision first.
145
+ 6. `-RollbackRevision <recorded-known-good-revision>` moves 100% traffic back
146
+ without rebuilding an old source.
147
+
148
+ `-Deploy` is removed because it mixed owner-only bootstrap settings with a
149
+ routine release. Existing operators migrate to `-Candidate` followed by
150
+ `-PromoteRevision <actual-created-revision>` after independent candidate
151
+ validation; `-RollbackRevision` remains the explicit recovery path.
152
+
153
+ Cloud Build in Belgium tests the submitted source and builds the container. The
154
+ lockfile and Node image digest fix dependencies. No GitHub token or npm publish
155
+ is supplied to Cloud Build. The build identity can read the source bucket and
156
+ write images/logs, but cannot deploy Cloud Run. Record source SHA, build ID,
157
+ image digest, candidate/ready revision and traffic decision as separate evidence.
158
+
159
+ Initial/manual updates need no Cloud Build GitHub connection. A future optional
160
+ GitHub Actions `workflow_dispatch` can submit the same source using WIF and
161
+ short-lived Google credentials; restrict trust to numeric repository/owner IDs,
162
+ approved branch, workflow file and dispatch event. Do not trigger deployment on
163
+ every push. This optional automation has not been configured.
164
+
165
+ Pin updates to the Node base digest and lockfile in reviewed commits. GitHub's
166
+ public/private setting does not change this build pipeline. Publishing npm or
167
+ changing repository visibility is unnecessary and is not part of deployment.
168
+
169
+ ## Cost and residency
170
+
171
+ Source, build logs, Artifact Registry and service compute use `europe-west1`.
172
+ Runtime logs are routed to the regional `hscli-runtime-eu` log bucket. GCP control
173
+ plane / required audit metadata may use Google-managed global storage; this
174
+ configuration is not a blanket guarantee that all metadata stays in the EU.
175
+
176
+ There are no idle service instances. The small CPU allocation is a starting
177
+ point for low-volume metadata reads; measure before increasing it. Two instances
178
+ are a capacity limit, not a guaranteed monetary cap. Build time, stored artifacts,
179
+ logs and outbound traffic can still cost money. Budget alerts do not stop usage.
180
+
181
+ Never run the opt-in live sandbox tests as part of this pipeline. Test protocol,
182
+ portal isolation A→B→A and concurrent A/B, failure handling, body bounds and
183
+ cancellation with synthetic inputs.
184
+
185
+ The CI PowerShell regression command is explicitly
186
+ `pwsh -NoProfile -File tests/cloud-release.ps1.test.ps1`. It uses only a local
187
+ temporary repository and fake `gcloud`; it neither installs credentials nor
188
+ contacts Google Cloud.