@particle-academy/hubspot-js 0.4.0 → 0.6.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/dist/flow.d.cts CHANGED
@@ -37,7 +37,8 @@ declare const hubspotDealUpdateExecutor: NodeExecutor;
37
37
  declare const hubspotOwnerListExecutor: NodeExecutor;
38
38
  declare const hubspotPipelineListExecutor: NodeExecutor;
39
39
  declare const hubspotPropertyListExecutor: NodeExecutor;
40
+ declare const hubspotCrmEventTriggerExecutor: NodeExecutor;
40
41
  /** The kinds a TypeScript host registers. */
41
42
  declare const HUBSPOT_RUNNABLE_KINDS: NodeKindDefinition[];
42
43
 
43
- export { HUBSPOT_RUNNABLE_KINDS, hubspotCompanyCreateExecutor, hubspotCompanyGetExecutor, hubspotCompanyListExecutor, hubspotCompanySearchExecutor, hubspotCompanyUpdateExecutor, hubspotContactCreateExecutor, hubspotContactGetExecutor, hubspotContactListExecutor, hubspotContactSearchExecutor, hubspotContactUpdateExecutor, hubspotDealCreateExecutor, hubspotDealGetExecutor, hubspotDealListExecutor, hubspotDealSearchExecutor, hubspotDealUpdateExecutor, hubspotOwnerListExecutor, hubspotPipelineListExecutor, hubspotPropertyListExecutor };
44
+ export { HUBSPOT_RUNNABLE_KINDS, hubspotCompanyCreateExecutor, hubspotCompanyGetExecutor, hubspotCompanyListExecutor, hubspotCompanySearchExecutor, hubspotCompanyUpdateExecutor, hubspotContactCreateExecutor, hubspotContactGetExecutor, hubspotContactListExecutor, hubspotContactSearchExecutor, hubspotContactUpdateExecutor, hubspotCrmEventTriggerExecutor, hubspotDealCreateExecutor, hubspotDealGetExecutor, hubspotDealListExecutor, hubspotDealSearchExecutor, hubspotDealUpdateExecutor, hubspotOwnerListExecutor, hubspotPipelineListExecutor, hubspotPropertyListExecutor };
package/dist/flow.d.ts CHANGED
@@ -37,7 +37,8 @@ declare const hubspotDealUpdateExecutor: NodeExecutor;
37
37
  declare const hubspotOwnerListExecutor: NodeExecutor;
38
38
  declare const hubspotPipelineListExecutor: NodeExecutor;
39
39
  declare const hubspotPropertyListExecutor: NodeExecutor;
40
+ declare const hubspotCrmEventTriggerExecutor: NodeExecutor;
40
41
  /** The kinds a TypeScript host registers. */
41
42
  declare const HUBSPOT_RUNNABLE_KINDS: NodeKindDefinition[];
42
43
 
43
- export { HUBSPOT_RUNNABLE_KINDS, hubspotCompanyCreateExecutor, hubspotCompanyGetExecutor, hubspotCompanyListExecutor, hubspotCompanySearchExecutor, hubspotCompanyUpdateExecutor, hubspotContactCreateExecutor, hubspotContactGetExecutor, hubspotContactListExecutor, hubspotContactSearchExecutor, hubspotContactUpdateExecutor, hubspotDealCreateExecutor, hubspotDealGetExecutor, hubspotDealListExecutor, hubspotDealSearchExecutor, hubspotDealUpdateExecutor, hubspotOwnerListExecutor, hubspotPipelineListExecutor, hubspotPropertyListExecutor };
44
+ export { HUBSPOT_RUNNABLE_KINDS, hubspotCompanyCreateExecutor, hubspotCompanyGetExecutor, hubspotCompanyListExecutor, hubspotCompanySearchExecutor, hubspotCompanyUpdateExecutor, hubspotContactCreateExecutor, hubspotContactGetExecutor, hubspotContactListExecutor, hubspotContactSearchExecutor, hubspotContactUpdateExecutor, hubspotCrmEventTriggerExecutor, hubspotDealCreateExecutor, hubspotDealGetExecutor, hubspotDealListExecutor, hubspotDealSearchExecutor, hubspotDealUpdateExecutor, hubspotOwnerListExecutor, hubspotPipelineListExecutor, hubspotPropertyListExecutor };
package/dist/flow.js CHANGED
@@ -1,6 +1,6 @@
1
- import { hubspotCompanyCreate, hubspotCompanyGet, hubspotCompanyList, hubspotCompanySearch, hubspotCompanyUpdate, hubspotContactCreate, hubspotContactGet, hubspotContactList, hubspotContactSearch, hubspotContactUpdate, hubspotDealCreate, hubspotDealGet, hubspotDealList, hubspotDealSearch, hubspotDealUpdate, hubspotOwnerList, hubspotPipelineList, hubspotPropertyList } from './chunk-FFT5OGGS.js';
2
- import '@particle-academy/fancy-connector-core';
3
- import { hubspotCompanyCreateKind, hubspotCompanyGetKind, hubspotCompanyListKind, hubspotCompanySearchKind, hubspotCompanyUpdateKind, hubspotContactCreateKind, hubspotContactGetKind, hubspotContactListKind, hubspotContactSearchKind, hubspotContactUpdateKind, hubspotDealCreateKind, hubspotDealGetKind, hubspotDealListKind, hubspotDealSearchKind, hubspotDealUpdateKind, hubspotOwnerListKind, hubspotPipelineListKind, hubspotPropertyListKind } from '@particle-academy/hubspot-ui';
1
+ import { hubspotCompanyCreate, hubspotCompanyGet, hubspotCompanyList, hubspotCompanySearch, hubspotCompanyUpdate, hubspotContactCreate, hubspotContactGet, hubspotContactList, hubspotContactSearch, hubspotContactUpdate, hubspotDealCreate, hubspotDealGet, hubspotDealList, hubspotDealSearch, hubspotDealUpdate, hubspotOwnerList, hubspotPipelineList, hubspotPropertyList, HUBSPOT, HUBSPOT_CRM_EVENT } from './chunk-AVMPFAVL.js';
2
+ import { resolveConnection, triggerEvent } from '@particle-academy/fancy-connector-core';
3
+ import { hubspotCompanyCreateKind, hubspotCompanyGetKind, hubspotCompanyListKind, hubspotCompanySearchKind, hubspotCompanyUpdateKind, hubspotContactCreateKind, hubspotContactGetKind, hubspotContactListKind, hubspotContactSearchKind, hubspotContactUpdateKind, hubspotDealCreateKind, hubspotDealGetKind, hubspotDealListKind, hubspotDealSearchKind, hubspotDealUpdateKind, hubspotOwnerListKind, hubspotPipelineListKind, hubspotPropertyListKind, hubspotCrmEventTriggerKind } from '@particle-academy/hubspot-ui';
4
4
 
5
5
  var hubspotCompanyCreateExecutor = async (ctx) => {
6
6
  const config = ctx.node.data?.config ?? {};
@@ -254,6 +254,20 @@ var hubspotPropertyListExecutor = async (ctx) => {
254
254
  });
255
255
  return { __port: "out", value: result };
256
256
  };
257
+ var hubspotCrmEventTriggerExecutor = async (ctx) => {
258
+ const config = ctx.node.data?.config ?? {};
259
+ const connection = resolveConnection({
260
+ service: HUBSPOT.service,
261
+ operation: "crm_event",
262
+ sandbox: HUBSPOT.sandbox,
263
+ baseUrls: HUBSPOT.baseUrls,
264
+ requires: HUBSPOT.requires,
265
+ connectionId: typeof config.connection === "string" ? config.connection : null,
266
+ requested: typeof config.mode === "string" ? config.mode : null
267
+ });
268
+ const event = triggerEvent(HUBSPOT_CRM_EVENT, connection, ctx.inputs?.in, config);
269
+ return { __port: "out", value: event };
270
+ };
257
271
  var HUBSPOT_RUNNABLE_KINDS = [
258
272
  { ...hubspotCompanyCreateKind, executor: hubspotCompanyCreateExecutor },
259
273
  { ...hubspotCompanyGetKind, executor: hubspotCompanyGetExecutor },
@@ -272,9 +286,10 @@ var HUBSPOT_RUNNABLE_KINDS = [
272
286
  { ...hubspotDealUpdateKind, executor: hubspotDealUpdateExecutor },
273
287
  { ...hubspotOwnerListKind, executor: hubspotOwnerListExecutor },
274
288
  { ...hubspotPipelineListKind, executor: hubspotPipelineListExecutor },
275
- { ...hubspotPropertyListKind, executor: hubspotPropertyListExecutor }
289
+ { ...hubspotPropertyListKind, executor: hubspotPropertyListExecutor },
290
+ { ...hubspotCrmEventTriggerKind, executor: hubspotCrmEventTriggerExecutor }
276
291
  ];
277
292
 
278
- export { HUBSPOT_RUNNABLE_KINDS, hubspotCompanyCreateExecutor, hubspotCompanyGetExecutor, hubspotCompanyListExecutor, hubspotCompanySearchExecutor, hubspotCompanyUpdateExecutor, hubspotContactCreateExecutor, hubspotContactGetExecutor, hubspotContactListExecutor, hubspotContactSearchExecutor, hubspotContactUpdateExecutor, hubspotDealCreateExecutor, hubspotDealGetExecutor, hubspotDealListExecutor, hubspotDealSearchExecutor, hubspotDealUpdateExecutor, hubspotOwnerListExecutor, hubspotPipelineListExecutor, hubspotPropertyListExecutor };
293
+ export { HUBSPOT_RUNNABLE_KINDS, hubspotCompanyCreateExecutor, hubspotCompanyGetExecutor, hubspotCompanyListExecutor, hubspotCompanySearchExecutor, hubspotCompanyUpdateExecutor, hubspotContactCreateExecutor, hubspotContactGetExecutor, hubspotContactListExecutor, hubspotContactSearchExecutor, hubspotContactUpdateExecutor, hubspotCrmEventTriggerExecutor, hubspotDealCreateExecutor, hubspotDealGetExecutor, hubspotDealListExecutor, hubspotDealSearchExecutor, hubspotDealUpdateExecutor, hubspotOwnerListExecutor, hubspotPipelineListExecutor, hubspotPropertyListExecutor };
279
294
  //# sourceMappingURL=flow.js.map
280
295
  //# sourceMappingURL=flow.js.map
package/dist/flow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flow.ts"],"names":[],"mappings":"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","file":"flow.js","sourcesContent":["/**\n * GENERATED FILE — do not edit.\n *\n * Emitted from provider/actions/ + triggers/ by weaver's generator.\n * A hand-edit here is destroyed by the next protocol sync, which is worse than\n * being rejected, because it works until it silently does not. Fix\n * provider/actions/ + triggers/ (or weaver's template/) and regenerate:\n *\n * npm run provider -- hubspot\n */\n\n/**\n * HubSpot's node kinds with their TypeScript executors attached — for hosts\n * that EXECUTE on TS.\n *\n * The authoring surface in @particle-academy/hubspot-ui carries no executor:\n * the editor is React on every host, so a PHP or Python project installs the\n * ui package and never this one.\n */\n\nimport type { NodeExecutor, NodeKindDefinition } from \"@particle-academy/fancy-flow/engine\";\nimport {\n idempotencyKeyFor,\n NO_IDEMPOTENCY_KEY_WARNING,\n resolveConnection,\n triggerEvent,\n type RequestedMode,\n} from \"@particle-academy/fancy-connector-core\";\nimport { HUBSPOT } from \"./service.js\";\n\nimport {\n hubspotCompanyCreateKind,\n hubspotCompanyGetKind,\n hubspotCompanyListKind,\n hubspotCompanySearchKind,\n hubspotCompanyUpdateKind,\n hubspotContactCreateKind,\n hubspotContactGetKind,\n hubspotContactListKind,\n hubspotContactSearchKind,\n hubspotContactUpdateKind,\n hubspotDealCreateKind,\n hubspotDealGetKind,\n hubspotDealListKind,\n hubspotDealSearchKind,\n hubspotDealUpdateKind,\n hubspotOwnerListKind,\n hubspotPipelineListKind,\n hubspotPropertyListKind,\n} from \"@particle-academy/hubspot-ui\";\n\nimport { hubspotCompanyCreate } from \"./actions/company-create.js\";\nimport { hubspotCompanyGet } from \"./actions/company-get.js\";\nimport { hubspotCompanyList } from \"./actions/company-list.js\";\nimport { hubspotCompanySearch } from \"./actions/company-search.js\";\nimport { hubspotCompanyUpdate } from \"./actions/company-update.js\";\nimport { hubspotContactCreate } from \"./actions/contact-create.js\";\nimport { hubspotContactGet } from \"./actions/contact-get.js\";\nimport { hubspotContactList } from \"./actions/contact-list.js\";\nimport { hubspotContactSearch } from \"./actions/contact-search.js\";\nimport { hubspotContactUpdate } from \"./actions/contact-update.js\";\nimport { hubspotDealCreate } from \"./actions/deal-create.js\";\nimport { hubspotDealGet } from \"./actions/deal-get.js\";\nimport { hubspotDealList } from \"./actions/deal-list.js\";\nimport { hubspotDealSearch } from \"./actions/deal-search.js\";\nimport { hubspotDealUpdate } from \"./actions/deal-update.js\";\nimport { hubspotOwnerList } from \"./actions/owner-list.js\";\nimport { hubspotPipelineList } from \"./actions/pipeline-list.js\";\nimport { hubspotPropertyList } from \"./actions/property-list.js\";\n\nexport const hubspotCompanyCreateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyCreate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_create ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanyGetExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyGet({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_get ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanyListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanySearchExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanySearch({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_search ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanyUpdateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyUpdate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_update ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactCreateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactCreate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_create ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactGetExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactGet({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_get ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactSearchExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactSearch({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_search ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactUpdateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactUpdate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_update ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealCreateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealCreate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_create ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealGetExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealGet({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_get ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealSearchExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealSearch({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_search ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealUpdateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealUpdate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_update ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotOwnerListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotOwnerList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot owner_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotPipelineListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotPipelineList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot pipeline_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotPropertyListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotPropertyList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot property_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\n/** The kinds a TypeScript host registers. */\nexport const HUBSPOT_RUNNABLE_KINDS: NodeKindDefinition[] = [\n { ...hubspotCompanyCreateKind, executor: hubspotCompanyCreateExecutor },\n { ...hubspotCompanyGetKind, executor: hubspotCompanyGetExecutor },\n { ...hubspotCompanyListKind, executor: hubspotCompanyListExecutor },\n { ...hubspotCompanySearchKind, executor: hubspotCompanySearchExecutor },\n { ...hubspotCompanyUpdateKind, executor: hubspotCompanyUpdateExecutor },\n { ...hubspotContactCreateKind, executor: hubspotContactCreateExecutor },\n { ...hubspotContactGetKind, executor: hubspotContactGetExecutor },\n { ...hubspotContactListKind, executor: hubspotContactListExecutor },\n { ...hubspotContactSearchKind, executor: hubspotContactSearchExecutor },\n { ...hubspotContactUpdateKind, executor: hubspotContactUpdateExecutor },\n { ...hubspotDealCreateKind, executor: hubspotDealCreateExecutor },\n { ...hubspotDealGetKind, executor: hubspotDealGetExecutor },\n { ...hubspotDealListKind, executor: hubspotDealListExecutor },\n { ...hubspotDealSearchKind, executor: hubspotDealSearchExecutor },\n { ...hubspotDealUpdateKind, executor: hubspotDealUpdateExecutor },\n { ...hubspotOwnerListKind, executor: hubspotOwnerListExecutor },\n { ...hubspotPipelineListKind, executor: hubspotPipelineListExecutor },\n { ...hubspotPropertyListKind, executor: hubspotPropertyListExecutor },\n];\n"]}
1
+ {"version":3,"sources":["../src/flow.ts"],"names":[],"mappings":"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","file":"flow.js","sourcesContent":["/**\n * GENERATED FILE — do not edit.\n *\n * Emitted from provider/actions/ + triggers/ by weaver's generator.\n * A hand-edit here is destroyed by the next protocol sync, which is worse than\n * being rejected, because it works until it silently does not. Fix\n * provider/actions/ + triggers/ (or weaver's template/) and regenerate:\n *\n * npm run provider -- hubspot\n */\n\n/**\n * HubSpot's node kinds with their TypeScript executors attached — for hosts\n * that EXECUTE on TS.\n *\n * The authoring surface in @particle-academy/hubspot-ui carries no executor:\n * the editor is React on every host, so a PHP or Python project installs the\n * ui package and never this one.\n */\n\nimport type { NodeExecutor, NodeKindDefinition } from \"@particle-academy/fancy-flow/engine\";\nimport {\n idempotencyKeyFor,\n NO_IDEMPOTENCY_KEY_WARNING,\n resolveConnection,\n triggerEvent,\n type RequestedMode,\n} from \"@particle-academy/fancy-connector-core\";\nimport { HUBSPOT } from \"./service.js\";\n\nimport {\n hubspotCompanyCreateKind,\n hubspotCompanyGetKind,\n hubspotCompanyListKind,\n hubspotCompanySearchKind,\n hubspotCompanyUpdateKind,\n hubspotContactCreateKind,\n hubspotContactGetKind,\n hubspotContactListKind,\n hubspotContactSearchKind,\n hubspotContactUpdateKind,\n hubspotDealCreateKind,\n hubspotDealGetKind,\n hubspotDealListKind,\n hubspotDealSearchKind,\n hubspotDealUpdateKind,\n hubspotOwnerListKind,\n hubspotPipelineListKind,\n hubspotPropertyListKind,\n hubspotCrmEventTriggerKind,\n} from \"@particle-academy/hubspot-ui\";\n\nimport { hubspotCompanyCreate } from \"./actions/company-create.js\";\nimport { hubspotCompanyGet } from \"./actions/company-get.js\";\nimport { hubspotCompanyList } from \"./actions/company-list.js\";\nimport { hubspotCompanySearch } from \"./actions/company-search.js\";\nimport { hubspotCompanyUpdate } from \"./actions/company-update.js\";\nimport { hubspotContactCreate } from \"./actions/contact-create.js\";\nimport { hubspotContactGet } from \"./actions/contact-get.js\";\nimport { hubspotContactList } from \"./actions/contact-list.js\";\nimport { hubspotContactSearch } from \"./actions/contact-search.js\";\nimport { hubspotContactUpdate } from \"./actions/contact-update.js\";\nimport { hubspotDealCreate } from \"./actions/deal-create.js\";\nimport { hubspotDealGet } from \"./actions/deal-get.js\";\nimport { hubspotDealList } from \"./actions/deal-list.js\";\nimport { hubspotDealSearch } from \"./actions/deal-search.js\";\nimport { hubspotDealUpdate } from \"./actions/deal-update.js\";\nimport { hubspotOwnerList } from \"./actions/owner-list.js\";\nimport { hubspotPipelineList } from \"./actions/pipeline-list.js\";\nimport { hubspotPropertyList } from \"./actions/property-list.js\";\nimport { HUBSPOT_CRM_EVENT } from \"./triggers/crm-event.js\";\n\nexport const hubspotCompanyCreateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyCreate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_create ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanyGetExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyGet({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_get ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanyListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanySearchExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanySearch({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_search ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCompanyUpdateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotCompanyUpdate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot company_update ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactCreateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactCreate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_create ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactGetExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactGet({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_get ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactSearchExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactSearch({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_search ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotContactUpdateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotContactUpdate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot contact_update ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealCreateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealCreate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_create ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealGetExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealGet({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_get ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealSearchExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealSearch({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_search ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotDealUpdateExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotDealUpdate({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot deal_update ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotOwnerListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotOwnerList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot owner_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotPipelineListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotPipelineList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot pipeline_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotPropertyListExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n\n const result = await hubspotPropertyList({\n config,\n input: ctx.inputs?.in,\n });\n\n ctx.emit({\n type: \"log\",\n level: \"info\",\n nodeId: ctx.node.id,\n message: `hubspot property_list ${(result.data as { id?: string })?.id} (${result.mode})`,\n });\n\n return { __port: \"out\", value: result };\n};\n\nexport const hubspotCrmEventTriggerExecutor: NodeExecutor = async (ctx) => {\n const config = ((ctx.node.data as { config?: Record<string, unknown> })?.config ?? {});\n const connection = resolveConnection({\n service: HUBSPOT.service,\n operation: \"crm_event\",\n sandbox: HUBSPOT.sandbox,\n baseUrls: HUBSPOT.baseUrls,\n requires: HUBSPOT.requires,\n connectionId: typeof config.connection === \"string\" ? config.connection : null,\n requested: typeof config.mode === \"string\" ? (config.mode as RequestedMode) : null,\n });\n\n const event = triggerEvent(HUBSPOT_CRM_EVENT, connection, ctx.inputs?.in, config);\n\n return { __port: \"out\", value: event };\n};\n\n/** The kinds a TypeScript host registers. */\nexport const HUBSPOT_RUNNABLE_KINDS: NodeKindDefinition[] = [\n { ...hubspotCompanyCreateKind, executor: hubspotCompanyCreateExecutor },\n { ...hubspotCompanyGetKind, executor: hubspotCompanyGetExecutor },\n { ...hubspotCompanyListKind, executor: hubspotCompanyListExecutor },\n { ...hubspotCompanySearchKind, executor: hubspotCompanySearchExecutor },\n { ...hubspotCompanyUpdateKind, executor: hubspotCompanyUpdateExecutor },\n { ...hubspotContactCreateKind, executor: hubspotContactCreateExecutor },\n { ...hubspotContactGetKind, executor: hubspotContactGetExecutor },\n { ...hubspotContactListKind, executor: hubspotContactListExecutor },\n { ...hubspotContactSearchKind, executor: hubspotContactSearchExecutor },\n { ...hubspotContactUpdateKind, executor: hubspotContactUpdateExecutor },\n { ...hubspotDealCreateKind, executor: hubspotDealCreateExecutor },\n { ...hubspotDealGetKind, executor: hubspotDealGetExecutor },\n { ...hubspotDealListKind, executor: hubspotDealListExecutor },\n { ...hubspotDealSearchKind, executor: hubspotDealSearchExecutor },\n { ...hubspotDealUpdateKind, executor: hubspotDealUpdateExecutor },\n { ...hubspotOwnerListKind, executor: hubspotOwnerListExecutor },\n { ...hubspotPipelineListKind, executor: hubspotPipelineListExecutor },\n { ...hubspotPropertyListKind, executor: hubspotPropertyListExecutor },\n { ...hubspotCrmEventTriggerKind, executor: hubspotCrmEventTriggerExecutor },\n];\n"]}
package/dist/index.cjs CHANGED
@@ -394,6 +394,37 @@ function fakePropertyList({ config, fake }) {
394
394
  ]
395
395
  };
396
396
  }
397
+ function fakeCrmEvent({ config, fake }) {
398
+ return [
399
+ {
400
+ "eventId": 531833541,
401
+ "subscriptionId": 3923621,
402
+ "portalId": 48807704,
403
+ "appId": 16111050,
404
+ "occurredAt": 1752613920733,
405
+ "subscriptionType": "contact.creation",
406
+ "attemptNumber": 0,
407
+ "objectId": 138017612137,
408
+ "changeFlag": "CREATED",
409
+ "changeSource": "CRM_UI",
410
+ "sourceId": "userId:76023669"
411
+ },
412
+ {
413
+ "eventId": 531833542,
414
+ "subscriptionId": 3923622,
415
+ "portalId": 48807704,
416
+ "appId": 16111050,
417
+ "occurredAt": 1752613921e3,
418
+ "subscriptionType": "deal.propertyChange",
419
+ "attemptNumber": 0,
420
+ "objectId": 9876543210,
421
+ "propertyName": "dealstage",
422
+ "propertyValue": "closedwon",
423
+ "changeSource": "CRM_UI",
424
+ "sourceId": "userId:76023669"
425
+ }
426
+ ];
427
+ }
397
428
  var hubspotFaker = (operation, request) => {
398
429
  switch (operation) {
399
430
  case "company_create":
@@ -432,6 +463,8 @@ var hubspotFaker = (operation, request) => {
432
463
  return fakePipelineList(request);
433
464
  case "property_list":
434
465
  return fakePropertyList(request);
466
+ case "crm_event":
467
+ return fakeCrmEvent(request);
435
468
  default:
436
469
  throw new Error(
437
470
  `hubspot: no fake response is defined for "${operation}". Add a fixture under provider/fixtures/ and regenerate \u2014 a connector without a faker cannot be developed against, tested, or demonstrated.`
@@ -642,8 +675,44 @@ function propertiesMap2(value) {
642
675
  var CONTACT_CREATE_OPERATION = "contact_create";
643
676
  async function hubspotContactCreate(options) {
644
677
  const config = options.config ?? {};
645
- if (config.email === void 0 || config.email === null || config.email === "") {
646
- throw new Error(`contact_create: "email" is required (Email).`);
678
+ if ((config.email === void 0 || config.email === null || config.email === "") && propertiesMap3(config.properties)["email"] === void 0) {
679
+ throw new Error(`contact_create: "email" is required \u2014 as Email, or as "email" in Properties.`);
680
+ }
681
+ {
682
+ const inMap = propertiesMap3(config.properties)["email"];
683
+ if (config.email !== void 0 && config.email !== null && config.email !== "" && inMap !== void 0 && inMap !== String(config.email).trim()) {
684
+ throw new Error(`contact_create: "email" was given twice with different values \u2014 as Email and as "email" in Properties.`);
685
+ }
686
+ }
687
+ {
688
+ const inMap = propertiesMap3(config.properties)["firstname"];
689
+ if (config.firstName !== void 0 && config.firstName !== null && config.firstName !== "" && inMap !== void 0 && inMap !== String(config.firstName)) {
690
+ throw new Error(`contact_create: "firstName" was given twice with different values \u2014 as First name and as "firstname" in Properties.`);
691
+ }
692
+ }
693
+ {
694
+ const inMap = propertiesMap3(config.properties)["lastname"];
695
+ if (config.lastName !== void 0 && config.lastName !== null && config.lastName !== "" && inMap !== void 0 && inMap !== String(config.lastName)) {
696
+ throw new Error(`contact_create: "lastName" was given twice with different values \u2014 as Last name and as "lastname" in Properties.`);
697
+ }
698
+ }
699
+ {
700
+ const inMap = propertiesMap3(config.properties)["company"];
701
+ if (config.company !== void 0 && config.company !== null && config.company !== "" && inMap !== void 0 && inMap !== String(config.company)) {
702
+ throw new Error(`contact_create: "company" was given twice with different values \u2014 as Company and as "company" in Properties.`);
703
+ }
704
+ }
705
+ {
706
+ const inMap = propertiesMap3(config.properties)["phone"];
707
+ if (config.phone !== void 0 && config.phone !== null && config.phone !== "" && inMap !== void 0 && inMap !== String(config.phone)) {
708
+ throw new Error(`contact_create: "phone" was given twice with different values \u2014 as Phone and as "phone" in Properties.`);
709
+ }
710
+ }
711
+ {
712
+ const inMap = propertiesMap3(config.properties)["lifecyclestage"];
713
+ if (config.lifecycleStage !== void 0 && config.lifecycleStage !== null && config.lifecycleStage !== "" && inMap !== void 0 && inMap !== String(config.lifecycleStage)) {
714
+ throw new Error(`contact_create: "lifecycleStage" was given twice with different values \u2014 as Lifecycle stage and as "lifecyclestage" in Properties.`);
715
+ }
647
716
  }
648
717
  return fancyConnectorCore.callConnector(HUBSPOT, {
649
718
  operation: CONTACT_CREATE_OPERATION,
@@ -657,15 +726,15 @@ async function hubspotContactCreate(options) {
657
726
  request: {
658
727
  method: "POST",
659
728
  path: "/crm/v3/objects/contacts",
660
- json: nestFields({
661
- "properties.email": String(config.email).trim(),
729
+ json: mergeInto(nestFields({
730
+ ...config.email !== void 0 && config.email !== null && config.email !== "" ? { "properties.email": String(config.email).trim() } : {},
662
731
  ...config.firstName !== void 0 && config.firstName !== null && config.firstName !== "" ? { "properties.firstname": String(config.firstName) } : {},
663
732
  ...config.lastName !== void 0 && config.lastName !== null && config.lastName !== "" ? { "properties.lastname": String(config.lastName) } : {},
664
733
  ...config.company !== void 0 && config.company !== null && config.company !== "" ? { "properties.company": String(config.company) } : {},
665
734
  ...config.phone !== void 0 && config.phone !== null && config.phone !== "" ? { "properties.phone": String(config.phone) } : {},
666
735
  ...config.lifecycleStage !== void 0 && config.lifecycleStage !== null && config.lifecycleStage !== "" ? { "properties.lifecyclestage": String(config.lifecycleStage) } : {},
667
736
  "associations": []
668
- })
737
+ }), "properties", propertiesMap3(config.properties))
669
738
  }
670
739
  });
671
740
  }
@@ -684,6 +753,18 @@ function nestFields(flat) {
684
753
  }
685
754
  return out;
686
755
  }
756
+ function mergeInto(body, key, map) {
757
+ const named = body[key];
758
+ return { ...body, [key]: { ...map, ...named !== null && typeof named === "object" ? named : {} } };
759
+ }
760
+ function propertiesMap3(value) {
761
+ if (!value || typeof value !== "object") return {};
762
+ const out = {};
763
+ for (const [key, item] of Object.entries(value)) {
764
+ if (item !== void 0 && item !== null && item !== "") out[key] = String(item);
765
+ }
766
+ return out;
767
+ }
687
768
  var CONTACT_GET_OPERATION = "contact_get";
688
769
  async function hubspotContactGet(options) {
689
770
  const config = options.config ?? {};
@@ -817,12 +898,12 @@ async function hubspotContactUpdate(options) {
817
898
  method: "PATCH",
818
899
  path: `/crm/v3/objects/contacts/${encodeURIComponent(String(config.contactId))}`,
819
900
  json: {
820
- "properties": propertiesMap3(config.properties)
901
+ "properties": propertiesMap4(config.properties)
821
902
  }
822
903
  }
823
904
  });
824
905
  }
825
- function propertiesMap3(value) {
906
+ function propertiesMap4(value) {
826
907
  if (!value || typeof value !== "object") return {};
827
908
  const out = {};
828
909
  for (const [key, item] of Object.entries(value)) {
@@ -849,13 +930,13 @@ async function hubspotDealCreate(options) {
849
930
  method: "POST",
850
931
  path: "/crm/v3/objects/deals",
851
932
  json: {
852
- "properties": propertiesMap4(config.properties),
933
+ "properties": propertiesMap5(config.properties),
853
934
  "associations": []
854
935
  }
855
936
  }
856
937
  });
857
938
  }
858
- function propertiesMap4(value) {
939
+ function propertiesMap5(value) {
859
940
  if (!value || typeof value !== "object") return {};
860
941
  const out = {};
861
942
  for (const [key, item] of Object.entries(value)) {
@@ -996,12 +1077,12 @@ async function hubspotDealUpdate(options) {
996
1077
  method: "PATCH",
997
1078
  path: `/crm/v3/objects/deals/${encodeURIComponent(String(config.dealId))}`,
998
1079
  json: {
999
- "properties": propertiesMap5(config.properties)
1080
+ "properties": propertiesMap6(config.properties)
1000
1081
  }
1001
1082
  }
1002
1083
  });
1003
1084
  }
1004
- function propertiesMap5(value) {
1085
+ function propertiesMap6(value) {
1005
1086
  if (!value || typeof value !== "object") return {};
1006
1087
  const out = {};
1007
1088
  for (const [key, item] of Object.entries(value)) {
@@ -1082,6 +1163,33 @@ async function hubspotPropertyList(options) {
1082
1163
  }
1083
1164
  });
1084
1165
  }
1166
+ var HUBSPOT_CRM_EVENT_SIGNATURE_HEADER = "X-HubSpot-Signature-v3";
1167
+ var HUBSPOT_CRM_EVENT_TOLERANCE = 300;
1168
+ var HUBSPOT_CRM_EVENT_SCHEME = {
1169
+ algorithm: "SHA-256",
1170
+ payload: (raw, timestamp, _id, request) => `${request?.method ?? ""}${request?.uri ?? ""}${raw}${timestamp}`,
1171
+ tolerance: HUBSPOT_CRM_EVENT_TOLERANCE,
1172
+ timestampUnit: "ms",
1173
+ signsRequestLine: true,
1174
+ uri: "hubspot-v3",
1175
+ encoding: "base64"
1176
+ };
1177
+ var HUBSPOT_CRM_EVENT = {
1178
+ service: "hubspot",
1179
+ operation: "crm_event",
1180
+ delivery: "webhook",
1181
+ setup: "In the HubSpot app's webhook settings, set the target URL to the route your host mounts for this trigger and subscribe to the deal, contact and company events you want. Deliveries are signed with the app's client secret, already on the connection as `clientSecret`. ONE URL serves every portal that installed the app, so route each event by its portalId, and only after the signature has verified: map portalId to the connection created when that portal installed, and drop an unmapped portalId with a 2xx and a log line, creating nothing. HubSpot retries a failed delivery, and eventId is not guaranteed to be unique, so never dedupe on eventId alone: a retry is the same event resent, differing only in attemptNumber, so compare every other field. This connector's scope list covers every action, read and write, and is not what your consent URL must ask for: HubSpot requires your app's required scopes in the authorize URL's `scope` parameter and shows an error otherwise, so build it from your own app's configuration. A read-only host asks for its read scopes only.",
1182
+ verification: {
1183
+ signatureHeader: HUBSPOT_CRM_EVENT_SIGNATURE_HEADER,
1184
+ scheme: HUBSPOT_CRM_EVENT_SCHEME,
1185
+ timestampHeader: "X-HubSpot-Request-Timestamp"
1186
+ },
1187
+ route: { by: "portalId", path: "[].portalId" },
1188
+ faker: hubspotFaker
1189
+ };
1190
+ function verifyHubspotDelivery(delivery, clientSecret, now) {
1191
+ return fancyConnectorCore.verifyDelivery(HUBSPOT_CRM_EVENT, delivery, clientSecret, now);
1192
+ }
1085
1193
 
1086
1194
  exports.COMPANY_CREATE_OPERATION = COMPANY_CREATE_OPERATION;
1087
1195
  exports.COMPANY_GET_OPERATION = COMPANY_GET_OPERATION;
@@ -1101,6 +1209,10 @@ exports.DEAL_SEARCH_OPERATION = DEAL_SEARCH_OPERATION;
1101
1209
  exports.DEAL_UPDATE_OPERATION = DEAL_UPDATE_OPERATION;
1102
1210
  exports.HUBSPOT = HUBSPOT;
1103
1211
  exports.HUBSPOT_BASE_URLS = HUBSPOT_BASE_URLS;
1212
+ exports.HUBSPOT_CRM_EVENT = HUBSPOT_CRM_EVENT;
1213
+ exports.HUBSPOT_CRM_EVENT_SCHEME = HUBSPOT_CRM_EVENT_SCHEME;
1214
+ exports.HUBSPOT_CRM_EVENT_SIGNATURE_HEADER = HUBSPOT_CRM_EVENT_SIGNATURE_HEADER;
1215
+ exports.HUBSPOT_CRM_EVENT_TOLERANCE = HUBSPOT_CRM_EVENT_TOLERANCE;
1104
1216
  exports.HUBSPOT_REQUIRES = HUBSPOT_REQUIRES;
1105
1217
  exports.OWNER_LIST_OPERATION = OWNER_LIST_OPERATION;
1106
1218
  exports.PIPELINE_LIST_OPERATION = PIPELINE_LIST_OPERATION;
@@ -1125,5 +1237,6 @@ exports.hubspotFaker = hubspotFaker;
1125
1237
  exports.hubspotOwnerList = hubspotOwnerList;
1126
1238
  exports.hubspotPipelineList = hubspotPipelineList;
1127
1239
  exports.hubspotPropertyList = hubspotPropertyList;
1240
+ exports.verifyHubspotDelivery = verifyHubspotDelivery;
1128
1241
  //# sourceMappingURL=index.cjs.map
1129
1242
  //# sourceMappingURL=index.cjs.map