@assemblyline-agents/hubspot 2.0.0 → 3.0.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.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/events.d.ts +3 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +81 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -4
- package/skills/hubspot/SKILL.md +0 -8
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Official Assembly Line HubSpot connection plugin.
|
|
4
4
|
|
|
5
|
-
It connects agents to HubSpot, exposing CRM tools through HubSpot's MCP server. The package exports `defineHubSpotConnection(options)` to declare the connection in an agent definition and an `assemblyLinePlugin` module so the Assembly Line CLI and compiler can discover the plugin's connection metadata.
|
|
5
|
+
It connects agents to HubSpot, exposing CRM tools through HubSpot's MCP server. The package exports `defineHubSpotConnection(options)` to declare the connection in an agent definition and an `assemblyLinePlugin` module so the Assembly Line CLI and compiler can discover the plugin's connection metadata.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,4BAA4B,EAElC,MAAM,2BAA2B,CAAC;AAInC,eAAO,MAAM,aAAa,EAAE,4BA6C3B,CAAC"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ConnectionEventError, headerValue, providerJson, requireEnvironmentValue, stringField, verifyHmacSha256 } from "@assemblyline-agents/core";
|
|
2
|
+
const API = "https://api.hubapi.com/webhooks/2026-03";
|
|
3
|
+
export const hubspotEvents = {
|
|
4
|
+
async reconcile(context) {
|
|
5
|
+
const appId = requireEnvironmentValue(context.env, "HUBSPOT_APP_ID");
|
|
6
|
+
const key = requireEnvironmentValue(context.env, "HUBSPOT_DEVELOPER_API_KEY");
|
|
7
|
+
requireEnvironmentValue(context.env, "HUBSPOT_CLIENT_SECRET");
|
|
8
|
+
for (const id of subscriptionIds(context.state))
|
|
9
|
+
await call(context.fetch, key, `/${appId}/subscriptions/${id}`, { method: "DELETE" }, [200, 204, 404]);
|
|
10
|
+
await call(context.fetch, key, `/${appId}/settings`, { method: "PUT", body: JSON.stringify({ targetUrl: context.callbackUrl, throttling: { maxConcurrentRequests: 10 } }) });
|
|
11
|
+
const ids = [];
|
|
12
|
+
for (const eventType of context.selectedEvents) {
|
|
13
|
+
const propertyName = propertyFor(context.resources, eventType);
|
|
14
|
+
if (eventType.endsWith(".propertyChange") && !propertyName)
|
|
15
|
+
throw new Error(`HubSpot event ${eventType} requires a resource with event and propertyName.`);
|
|
16
|
+
const value = await call(context.fetch, key, `/${appId}/subscriptions`, { method: "POST", body: JSON.stringify({ eventType, active: true, ...(propertyName ? { propertyName } : {}) }) });
|
|
17
|
+
const id = value.id;
|
|
18
|
+
if (typeof id !== "string" && typeof id !== "number")
|
|
19
|
+
throw new Error("HubSpot subscription response omitted id.");
|
|
20
|
+
ids.push(String(id));
|
|
21
|
+
}
|
|
22
|
+
return { status: "active", externalId: ids.join(","), state: { subscriptionIds: ids }, detail: `${ids.length} HubSpot subscription${ids.length === 1 ? " is" : "s are"} active.` };
|
|
23
|
+
},
|
|
24
|
+
async remove(context) { const appId = requireEnvironmentValue(context.env, "HUBSPOT_APP_ID"); const key = requireEnvironmentValue(context.env, "HUBSPOT_DEVELOPER_API_KEY"); for (const id of subscriptionIds(context.state))
|
|
25
|
+
await call(context.fetch, key, `/${appId}/subscriptions/${id}`, { method: "DELETE" }, [200, 204, 404]); },
|
|
26
|
+
async check(context) {
|
|
27
|
+
const ids = subscriptionIds(context.state);
|
|
28
|
+
if (!ids.length)
|
|
29
|
+
return { status: "needs_setup", detail: "No HubSpot webhook subscriptions are configured." };
|
|
30
|
+
const appId = requireEnvironmentValue(context.env, "HUBSPOT_APP_ID");
|
|
31
|
+
const key = requireEnvironmentValue(context.env, "HUBSPOT_DEVELOPER_API_KEY");
|
|
32
|
+
for (const id of ids) {
|
|
33
|
+
const value = await call(context.fetch, key, `/${appId}/subscriptions/${id}`, {}, [200, 404]);
|
|
34
|
+
if (!value.id || value.active === false)
|
|
35
|
+
return { status: "degraded", detail: `HubSpot subscription ${id} is unavailable.` };
|
|
36
|
+
}
|
|
37
|
+
return { status: "active", detail: `${ids.length} HubSpot subscription${ids.length === 1 ? " is" : "s are"} active.` };
|
|
38
|
+
},
|
|
39
|
+
ingress(request, context) {
|
|
40
|
+
const timestamp = headerValue(request.headers, "x-hubspot-request-timestamp");
|
|
41
|
+
if (!timestamp || Math.abs(Date.now() - Number(timestamp)) > 300_000)
|
|
42
|
+
throw new ConnectionEventError("HubSpot webhook timestamp is stale.", 401);
|
|
43
|
+
const secret = requireEnvironmentValue(context.env, "HUBSPOT_CLIENT_SECRET");
|
|
44
|
+
const signature = headerValue(request.headers, "x-hubspot-signature-v3");
|
|
45
|
+
const signed = `${request.method}${decodeHubSpotUri(context.callbackUrl)}${request.body}${timestamp}`;
|
|
46
|
+
if (!verifyHmacSha256({ secret, body: signed, signature, encoding: "base64" }))
|
|
47
|
+
throw new ConnectionEventError("HubSpot webhook signature is invalid.", 401);
|
|
48
|
+
let raw;
|
|
49
|
+
try {
|
|
50
|
+
raw = JSON.parse(request.body);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
throw new ConnectionEventError("HubSpot webhook body is invalid JSON.");
|
|
54
|
+
}
|
|
55
|
+
if (!Array.isArray(raw))
|
|
56
|
+
throw new ConnectionEventError("HubSpot webhook body must be an array.");
|
|
57
|
+
const events = raw.flatMap((item) => {
|
|
58
|
+
if (!item || typeof item !== "object" || Array.isArray(item))
|
|
59
|
+
return [];
|
|
60
|
+
const payload = item;
|
|
61
|
+
const event = stringField(payload, "subscriptionType");
|
|
62
|
+
const id = payload.eventId;
|
|
63
|
+
if (!event || (typeof id !== "string" && typeof id !== "number"))
|
|
64
|
+
return [];
|
|
65
|
+
const occurred = Number(payload.occurredAt);
|
|
66
|
+
const occurredAt = Number.isFinite(occurred) ? new Date(occurred).toISOString() : undefined;
|
|
67
|
+
return [{ event, eventId: String(id), payload: payload, ...(occurredAt ? { occurredAt } : {}) }];
|
|
68
|
+
});
|
|
69
|
+
return { events, response: { status: 200, body: { ok: true } }, audit: { count: events.length } };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
async function call(fetchImpl, key, path, init, accepted = [200, 201, 202, 204]) { return providerJson(fetchImpl, `${API}${path}?hapikey=${encodeURIComponent(key)}`, { ...init, headers: { "content-type": "application/json" } }, accepted); }
|
|
73
|
+
function subscriptionIds(state) { return Array.isArray(state?.subscriptionIds) ? state.subscriptionIds.filter((value) => typeof value === "string") : []; }
|
|
74
|
+
function propertyFor(resources, event) { return resources.map((resource) => stringField(resource, "event") === event ? stringField(resource, "propertyName") : undefined).find(Boolean); }
|
|
75
|
+
function decodeHubSpotUri(value) { try {
|
|
76
|
+
return decodeURIComponent(value);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return value;
|
|
80
|
+
} }
|
|
81
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmG,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAG7K,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAClE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,yEAAmN;AAC5R,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { connectionPluginMetadata, defineMcpPluginConnection, definePlugin } from "@assemblyline-agents/core";
|
|
1
|
+
import { connectionPluginMetadata, defineConnectionPluginEvents, defineMcpPluginConnection, definePlugin } from "@assemblyline-agents/core";
|
|
2
|
+
import { hubspotEvents } from "./events.js";
|
|
2
3
|
const PLUGIN = connectionPluginMetadata("hubspot");
|
|
3
|
-
export function defineHubSpotConnection(options) {
|
|
4
|
+
export function defineHubSpotConnection(options) { const definition = defineMcpPluginConnection(PLUGIN, options); const events = defineConnectionPluginEvents(PLUGIN, options.events, hubspotEvents); if (events)
|
|
5
|
+
definition.events = events; return definition; }
|
|
4
6
|
export const assemblyLinePlugin = definePlugin({ connections: [PLUGIN] });
|
|
5
7
|
//# 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,wBAAwB,EAAE,yBAAyB,EAAE,YAAY,EAAmC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,YAAY,EAAmC,MAAM,2BAA2B,CAAC;AAC7K,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAE,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CAAC,OAAiC,IAAI,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM;IAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAC5R,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assemblyline-agents/hubspot",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -9,12 +9,11 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@assemblyline-agents/core": "
|
|
12
|
+
"@assemblyline-agents/core": "3.0.0"
|
|
13
13
|
},
|
|
14
14
|
"description": "Official Assembly Line HubSpot connection plugin.",
|
|
15
15
|
"files": [
|
|
16
|
-
"dist"
|
|
17
|
-
"skills"
|
|
16
|
+
"dist"
|
|
18
17
|
],
|
|
19
18
|
"engines": {
|
|
20
19
|
"node": ">=22.19.0"
|
package/skills/hubspot/SKILL.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: hubspot
|
|
3
|
-
description: Use configured HubSpot tools for read-only CRM records and associations.
|
|
4
|
-
---
|
|
5
|
-
# HubSpot
|
|
6
|
-
Use narrow object, property, association, and pagination filters. Avoid returning unnecessary personal or CRM data.
|
|
7
|
-
|
|
8
|
-
The deployment owner configures the HubSpot app, OAuth scopes, and credentials. This plugin exposes only read-classified tools by default.
|