@epilot/sdk 2.2.7 → 2.3.1
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/README.md +3 -2
- package/definitions/automation-runtime.json +1 -1
- package/definitions/automation.json +209 -0
- package/definitions/blueprint-manifest-runtime.json +1 -1
- package/definitions/blueprint-manifest.json +1279 -150
- package/definitions/data-governance-runtime.json +1 -0
- package/definitions/data-governance.json +1126 -0
- package/definitions/deduplication-runtime.json +1 -1
- package/definitions/deduplication.json +135 -4
- package/definitions/design-runtime.json +1 -1
- package/definitions/design.json +103 -57
- package/definitions/email-settings-runtime.json +1 -1
- package/definitions/email-settings.json +29 -0
- package/definitions/entity.json +44 -2
- package/definitions/{erp-integration-runtime.json → integration-toolkit-runtime.json} +1 -1
- package/definitions/{erp-integration.json → integration-toolkit.json} +76 -5
- package/definitions/journey.json +9 -0
- package/definitions/message-runtime.json +1 -1
- package/definitions/message.json +202 -0
- package/definitions/sharing-runtime.json +1 -0
- package/definitions/sharing.json +956 -0
- package/definitions/template-variables.json +12 -4
- package/definitions/user.json +52 -0
- package/definitions/workflow-definition.json +15 -1
- package/definitions/workflow-runtime.json +1 -1
- package/definitions/workflow.json +102 -0
- package/dist/README-KX4XC2HB.js +7 -0
- package/dist/README-PTYV6PQI.cjs +7 -0
- package/dist/{_index-NWNYWBIF.js → _index-CLT2KTVS.js} +9 -6
- package/dist/{_index-ONGE545F.cjs → _index-O7JDGRSE.cjs} +8 -5
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +8 -8
- package/dist/apis/automation.d.cts +2 -2
- package/dist/apis/automation.d.ts +2 -2
- package/dist/apis/automation.js +2 -2
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +8 -8
- package/dist/apis/blueprint-manifest.d.cts +2 -2
- package/dist/apis/blueprint-manifest.d.ts +2 -2
- package/dist/apis/blueprint-manifest.js +2 -2
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +38 -0
- package/dist/apis/{data-management.d.cts → data-governance.d.cts} +5 -5
- package/dist/apis/{data-management.d.ts → data-governance.d.ts} +5 -5
- package/dist/apis/{data-management.js → data-governance.js} +10 -10
- package/dist/apis/deduplication.cjs +8 -8
- package/dist/apis/deduplication.d.cts +2 -2
- package/dist/apis/deduplication.d.ts +2 -2
- package/dist/apis/deduplication.js +2 -2
- package/dist/apis/design.cjs +8 -8
- package/dist/apis/design.d.cts +2 -2
- package/dist/apis/design.d.ts +2 -2
- package/dist/apis/design.js +2 -2
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +8 -8
- package/dist/apis/email-settings.d.cts +2 -2
- package/dist/apis/email-settings.d.ts +2 -2
- package/dist/apis/email-settings.js +2 -2
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.d.cts +2 -2
- package/dist/apis/entity.d.ts +2 -2
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/erp-integration.cjs +6 -6
- package/dist/apis/erp-integration.d.cts +5755 -3
- package/dist/apis/erp-integration.d.ts +5755 -3
- package/dist/apis/erp-integration.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +38 -0
- package/dist/apis/integration-toolkit.d.cts +18 -0
- package/dist/apis/integration-toolkit.d.ts +18 -0
- package/dist/apis/integration-toolkit.js +38 -0
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.d.cts +2 -2
- package/dist/apis/journey.d.ts +2 -2
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +8 -8
- package/dist/apis/message.d.cts +2 -2
- package/dist/apis/message.d.ts +2 -2
- package/dist/apis/message.js +2 -2
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +38 -0
- package/dist/apis/sharing.d.cts +18 -0
- package/dist/apis/sharing.d.ts +18 -0
- package/dist/apis/sharing.js +38 -0
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.d.cts +2 -2
- package/dist/apis/template-variables.d.ts +2 -2
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.d.cts +2 -2
- package/dist/apis/user.d.ts +2 -2
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.d.cts +2 -2
- package/dist/apis/workflow-definition.d.ts +2 -2
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +8 -8
- package/dist/apis/workflow.d.cts +2 -2
- package/dist/apis/workflow.d.ts +2 -2
- package/dist/apis/workflow.js +2 -2
- package/dist/automation-GFNNLSIN.js +7 -0
- package/dist/automation-IOCVCTKR.cjs +7 -0
- package/dist/{automation-runtime-YBGGE5PL.cjs → automation-runtime-DO5QSGJJ.cjs} +2 -2
- package/dist/{automation-runtime-L5UKEFLA.js → automation-runtime-VP4M7Z4R.js} +1 -1
- package/dist/{automation.d-D7BzN7Gq.d.cts → automation.d-CzhG2m4L.d.cts} +353 -3
- package/dist/{automation.d-D7BzN7Gq.d.ts → automation.d-CzhG2m4L.d.ts} +353 -3
- package/dist/blueprint-manifest-ELK4SGN7.js +7 -0
- package/dist/blueprint-manifest-VBOWPK52.cjs +7 -0
- package/dist/{blueprint-manifest-runtime-2RTW5C52.js → blueprint-manifest-runtime-E2FN43TB.js} +1 -1
- package/dist/{blueprint-manifest-runtime-AF3FIDVX.cjs → blueprint-manifest-runtime-G4UK5VEX.cjs} +2 -2
- package/dist/{blueprint-manifest.d-DECw6HdM.d.cts → blueprint-manifest.d-BGrGU787.d.cts} +712 -22
- package/dist/{blueprint-manifest.d-DECw6HdM.d.ts → blueprint-manifest.d-BGrGU787.d.ts} +712 -22
- package/dist/chunk-5APJZUIH.cjs +14 -0
- package/dist/chunk-5ED7FB3Q.js +14 -0
- package/dist/{chunk-UNCVJH6J.cjs → chunk-77JS7NDM.cjs} +1 -1
- package/dist/{chunk-6UAS2VVG.js → chunk-DLYPVF4U.js} +1 -1
- package/dist/chunk-DVM27A7E.cjs +14 -0
- package/dist/{chunk-3NLMZLCD.js → chunk-EFWPEVXI.js} +1 -1
- package/dist/chunk-EIIIKDOJ.cjs +14 -0
- package/dist/{chunk-HAZ3WP7V.cjs → chunk-IAHSYVYB.cjs} +1 -1
- package/dist/chunk-JTFWOEZF.cjs +14 -0
- package/dist/{chunk-A67W5WAP.cjs → chunk-KEI3GHDY.cjs} +1 -1
- package/dist/chunk-KIWRGUKM.js +14 -0
- package/dist/{chunk-PSQMDY3B.js → chunk-KQKBSWGI.js} +1 -1
- package/dist/chunk-NPDSA7T2.js +14 -0
- package/dist/{chunk-ZI33AJQ5.cjs → chunk-QNZPOA54.cjs} +1 -1
- package/dist/{chunk-BN6EJPDC.js → chunk-QSEIJWJW.js} +31 -26
- package/dist/{chunk-VUVWHQMP.cjs → chunk-TKTSGA7G.cjs} +31 -26
- package/dist/chunk-TZQFJ5GX.cjs +14 -0
- package/dist/chunk-U4PUHKZC.js +14 -0
- package/dist/chunk-VPDA5SAH.js +14 -0
- package/dist/chunk-WT26LFC2.js +14 -0
- package/dist/{chunk-3YSEO476.js → chunk-X2SC4GW5.js} +1 -1
- package/dist/chunk-ZL6KDJFT.cjs +14 -0
- package/dist/data-governance-2U5UU4GM.cjs +7 -0
- package/dist/data-governance-36Y33JVG.js +7 -0
- package/dist/{data-management-W5JQGGGH.js → data-governance-PLS5TJ7Z.js} +3 -3
- package/dist/{data-management-XFSRLFYA.cjs → data-governance-ZJ2K4ZWX.cjs} +3 -3
- package/dist/data-governance-runtime-LITKCNSG.js +5 -0
- package/dist/{data-management-runtime-J5IS7T47.cjs → data-governance-runtime-TDGFG67G.cjs} +2 -2
- package/dist/data-governance.d-BbZ466j5.d.cts +1178 -0
- package/dist/data-governance.d-BbZ466j5.d.ts +1178 -0
- package/dist/deduplication-G2ZY4NMX.js +7 -0
- package/dist/deduplication-PKKTZAEA.cjs +7 -0
- package/dist/{deduplication-runtime-BBHG7MJW.cjs → deduplication-runtime-5QS6I4S7.cjs} +2 -2
- package/dist/{deduplication-runtime-DLGBF4RN.js → deduplication-runtime-VL4R2VIG.js} +1 -1
- package/dist/deduplication.d-D5GYddVu.d.cts +218 -0
- package/dist/deduplication.d-D5GYddVu.d.ts +218 -0
- package/dist/design-NISDHPFD.cjs +7 -0
- package/dist/design-WL4AZIGX.js +7 -0
- package/dist/design-runtime-OXEXKZVG.cjs +5 -0
- package/dist/{design-runtime-3SKJA7QH.js → design-runtime-QMJM4FAF.js} +1 -1
- package/dist/{design.d-eA-irKEX.d.ts → design.d-DTo29S0F.d.cts} +142 -15
- package/dist/{design.d-eA-irKEX.d.cts → design.d-DTo29S0F.d.ts} +142 -15
- package/dist/email-settings-CKFJU4WZ.js +7 -0
- package/dist/email-settings-NQJJKS2P.cjs +7 -0
- package/dist/{email-settings-runtime-Q2HVKJDS.js → email-settings-runtime-EGIJ2AVQ.js} +1 -1
- package/dist/{email-settings-runtime-3NJIAWWI.cjs → email-settings-runtime-WGVLI7N6.cjs} +2 -2
- package/dist/{email-settings.d-DUvmLZMN.d.ts → email-settings.d-B7Q_xT25.d.cts} +29 -2
- package/dist/{email-settings.d-DUvmLZMN.d.cts → email-settings.d-B7Q_xT25.d.ts} +29 -2
- package/dist/entity-CK76MXVN.js +7 -0
- package/dist/entity-TFMH5VTZ.cjs +7 -0
- package/dist/{entity.d-__Tx1Y0J.d.cts → entity.d-ByufVI16.d.cts} +40 -1
- package/dist/{entity.d-__Tx1Y0J.d.ts → entity.d-ByufVI16.d.ts} +40 -1
- package/dist/erp-integration-PAVHSUDM.cjs +7 -0
- package/dist/erp-integration-SBQJ6HEG.js +7 -0
- package/dist/index.cjs +67 -40
- package/dist/index.d.cts +36 -34
- package/dist/index.d.ts +36 -34
- package/dist/index.js +54 -27
- package/dist/integration-toolkit-FRPFOYT2.js +7 -0
- package/dist/integration-toolkit-VNMDI55O.cjs +7 -0
- package/dist/integration-toolkit-runtime-5KG3LGXF.cjs +5 -0
- package/dist/integration-toolkit-runtime-LYHFVIRW.js +5 -0
- package/dist/{erp-integration.d-B4XPU_j-.d.cts → integration-toolkit.d-Ry-KC9ow.d.cts} +69 -3
- package/dist/{erp-integration.d-B4XPU_j-.d.ts → integration-toolkit.d-Ry-KC9ow.d.ts} +69 -3
- package/dist/journey-KDR5EU3W.js +7 -0
- package/dist/journey-REBN4TGQ.cjs +7 -0
- package/dist/{journey.d-BguKXj73.d.cts → journey.d-ClXO0xK8.d.cts} +8 -0
- package/dist/{journey.d-BguKXj73.d.ts → journey.d-ClXO0xK8.d.ts} +8 -0
- package/dist/message-HCA2KSH6.js +7 -0
- package/dist/message-J2SFQJNB.cjs +7 -0
- package/dist/{message-runtime-ITR7MPKT.cjs → message-runtime-CGFCT6FU.cjs} +2 -2
- package/dist/{message-runtime-YMKW2N3R.js → message-runtime-XDCFFLYK.js} +1 -1
- package/dist/{message.d-YEv1kmQd.d.cts → message.d-D3QUkBjg.d.cts} +230 -4
- package/dist/{message.d-YEv1kmQd.d.ts → message.d-D3QUkBjg.d.ts} +230 -4
- package/dist/sharing-KEWK5LNG.js +976 -0
- package/dist/sharing-MNDABPL7.js +7 -0
- package/dist/sharing-MR7ANOST.cjs +7 -0
- package/dist/sharing-WG4L7LH2.cjs +976 -0
- package/dist/sharing-runtime-OZGIZWL3.js +5 -0
- package/dist/sharing-runtime-VOFLBIFW.cjs +5 -0
- package/dist/sharing.d-sOXq-gtz.d.cts +571 -0
- package/dist/sharing.d-sOXq-gtz.d.ts +571 -0
- package/dist/{template-variables-VKDJJZUT.js → template-variables-6CLOG67C.js} +13 -0
- package/dist/{template-variables-OAYS2E3G.cjs → template-variables-I72B5WS6.cjs} +13 -0
- package/dist/{template-variables.d-Ch3H3zYf.d.cts → template-variables.d-Ble9TSBa.d.cts} +8 -2
- package/dist/{template-variables.d-Ch3H3zYf.d.ts → template-variables.d-Ble9TSBa.d.ts} +8 -2
- package/dist/user-7ZN2XO7G.cjs +7 -0
- package/dist/user-ZK7BK6VY.js +7 -0
- package/dist/{user.d-CXqM751M.d.cts → user.d-D18fe97W.d.cts} +75 -3
- package/dist/{user.d-CXqM751M.d.ts → user.d-D18fe97W.d.ts} +75 -3
- package/dist/workflow-CQOBZ25C.cjs +7 -0
- package/dist/workflow-G7VFCXY7.js +7 -0
- package/dist/workflow-definition-CVBYKAUY.cjs +7 -0
- package/dist/workflow-definition-GNAKDNG7.js +7 -0
- package/dist/{workflow-definition.d-CtmE-ymB.d.cts → workflow-definition.d-ByCJK9_x.d.cts} +16 -0
- package/dist/{workflow-definition.d-CtmE-ymB.d.ts → workflow-definition.d-ByCJK9_x.d.ts} +16 -0
- package/dist/{workflow-runtime-RLZO2OQB.js → workflow-runtime-DNTQDYPQ.js} +1 -1
- package/dist/{workflow-runtime-WCJ7NRTH.cjs → workflow-runtime-VKFESVFX.cjs} +2 -2
- package/dist/{workflow.d-DvhTpEtU.d.cts → workflow.d-pD8ISOg-.d.cts} +73 -1
- package/dist/{workflow.d-DvhTpEtU.d.ts → workflow.d-pD8ISOg-.d.ts} +73 -1
- package/docs/automation.md +141 -15
- package/docs/blueprint-manifest.md +854 -55
- package/docs/{data-management.md → data-governance.md} +113 -28
- package/docs/deduplication.md +122 -0
- package/docs/design.md +140 -82
- package/docs/email-settings.md +22 -0
- package/docs/entity.md +17 -0
- package/docs/erp-integration.md +21 -6
- package/docs/integration-toolkit.md +6048 -0
- package/docs/journey.md +6 -0
- package/docs/message.md +110 -1
- package/docs/sharing.md +1181 -0
- package/docs/template-variables.md +13 -0
- package/docs/user.md +62 -8
- package/docs/workflow-definition.md +28 -14
- package/docs/workflow.md +231 -30
- package/package.json +29 -17
- package/definitions/data-management-runtime.json +0 -1
- package/definitions/data-management.json +0 -978
- package/dist/README-6OOYWQYJ.cjs +0 -7
- package/dist/README-JUWX7KNV.js +0 -7
- package/dist/apis/data-management.cjs +0 -38
- package/dist/automation-3HGCK725.cjs +0 -7
- package/dist/automation-72VGEJCY.js +0 -7
- package/dist/blueprint-manifest-CXSCRQ5X.js +0 -7
- package/dist/blueprint-manifest-SHNZPK5O.cjs +0 -7
- package/dist/chunk-4BCQGZJB.cjs +0 -14
- package/dist/chunk-4G6LO3JY.cjs +0 -14
- package/dist/chunk-6GC363VV.js +0 -14
- package/dist/chunk-75ZWZM3L.js +0 -14
- package/dist/chunk-D32L2HMX.cjs +0 -14
- package/dist/chunk-O4JDWMYD.js +0 -14
- package/dist/chunk-RXMOHUBP.cjs +0 -14
- package/dist/chunk-ZKQ573B7.js +0 -14
- package/dist/data-management-3N3A3XBM.js +0 -7
- package/dist/data-management-YXFLQWLV.cjs +0 -7
- package/dist/data-management-runtime-DN7FGK7G.js +0 -5
- package/dist/data-management.d-BXS5jbJY.d.cts +0 -547
- package/dist/data-management.d-BXS5jbJY.d.ts +0 -547
- package/dist/deduplication-ECVAZVVA.cjs +0 -7
- package/dist/deduplication-GYIST22B.js +0 -7
- package/dist/deduplication.d-w_2aJD5f.d.cts +0 -113
- package/dist/deduplication.d-w_2aJD5f.d.ts +0 -113
- package/dist/design-KUVXMFFK.cjs +0 -7
- package/dist/design-YKBXRW5C.js +0 -7
- package/dist/design-runtime-Y3VGTQLP.cjs +0 -5
- package/dist/email-settings-EJ3DCPPN.js +0 -7
- package/dist/email-settings-TALOPLBC.cjs +0 -7
- package/dist/entity-M5F22DSS.cjs +0 -7
- package/dist/entity-RT4YRZDG.js +0 -7
- package/dist/erp-integration-76K5HOGL.js +0 -7
- package/dist/erp-integration-A33WOGPF.cjs +0 -7
- package/dist/journey-HKN7QXCZ.cjs +0 -7
- package/dist/journey-UBZCOJNW.js +0 -7
- package/dist/message-3XZLJR6R.cjs +0 -7
- package/dist/message-ZNMCS5YH.js +0 -7
- package/dist/user-EIEOI3OG.js +0 -7
- package/dist/user-NJJ7XVKB.cjs +0 -7
- package/dist/workflow-3LLURW3H.js +0 -7
- package/dist/workflow-RAGQDYXT.cjs +0 -7
- package/dist/workflow-definition-MBOMPMCG.js +0 -7
- package/dist/workflow-definition-SPAHD3HS.cjs +0 -7
package/dist/README-6OOYWQYJ.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/README.json
|
|
4
|
-
var README_default = "<h1 align=\"center\"><img alt=\"epilot\" src=\"https://raw.githubusercontent.com/epilot-dev/sdk-js/main/logo.png\" width=\"200\"><br>@epilot/sdk</h1>\n\n<p align=\"center\">\n <a href=\"https://github.com/epilot-dev/sdk-js/actions?query=workflow%3ACI\"><img src=\"https://github.com/epilot-dev/sdk-js/workflows/CI/badge.svg\" alt=\"CI\"></a>\n <a href=\"https://www.npmjs.com/package/@epilot/sdk\"><img src=\"https://img.shields.io/npm/v/@epilot/sdk.svg\" alt=\"npm version\"></a>\n <a href=\"https://github.com/epilot-dev/sdk-js/blob/main/\"><img src=\"http://img.shields.io/:license-mit-blue.svg\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">JavaScript/TypeScript SDK for epilot APIs. Full types, tree-shakeable imports, and lazy-loaded OpenAPI specs.</p>\n\n## Install\n\n```bash\nnpm i @epilot/sdk axios openapi-client-axios\n```\n\n## Quick Start\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-bearer-token>')\n\nconst { data: entity } = await epilot.entity.createEntity(\n { slug: 'contact' },\n { first_name: 'John', last_name: 'Doe' },\n)\n\nconst { data: file } = await epilot.file.getFile({ id: 'file-123' })\n\nconst { data: executions } = await epilot.workflow.getExecutions()\n```\n\nAPI clients are built on [openapi-client-axios](https://openapistack.co/docs/openapi-client-axios/intro/), which generates fully typed operation methods on top of regular [axios](https://axios-http.com/docs/intro) instances. All standard axios features (interceptors, defaults, config) work as expected. Each operation is forwarded to a lazy singleton \u2014 the spec is loaded and the client initialized on first use, then cached.\n\nFull API documentation: [https://docs.epilot.io/api](https://docs.epilot.io/api)\n\n## API Reference\n\n<!-- api-reference-table -->\n| API | Import | Docs |\n| --- | ------ | ---- |\n| `epilot.accessToken` | `@epilot/sdk/access-token` | [docs](./docs/access-token.md) |\n| `epilot.address` | `@epilot/sdk/address` | [docs](./docs/address.md) |\n| `epilot.addressSuggestions` | `@epilot/sdk/address-suggestions` | [docs](./docs/address-suggestions.md) |\n| `epilot.aiAgents` | `@epilot/sdk/ai-agents` | [docs](./docs/ai-agents.md) |\n| `epilot.app` | `@epilot/sdk/app` | [docs](./docs/app.md) |\n| `epilot.auditLogs` | `@epilot/sdk/audit-logs` | [docs](./docs/audit-logs.md) |\n| `epilot.automation` | `@epilot/sdk/automation` | [docs](./docs/automation.md) |\n| `epilot.billing` | `@epilot/sdk/billing` | [docs](./docs/billing.md) |\n| `epilot.blueprintManifest` | `@epilot/sdk/blueprint-manifest` | [docs](./docs/blueprint-manifest.md) |\n| `epilot.consent` | `@epilot/sdk/consent` | [docs](./docs/consent.md) |\n| `epilot.customerPortal` | `@epilot/sdk/customer-portal` | [docs](./docs/customer-portal.md) |\n| `epilot.dashboard` | `@epilot/sdk/dashboard` | [docs](./docs/dashboard.md) |\n| `epilot.dataManagement` | `@epilot/sdk/data-management` | [docs](./docs/data-management.md) |\n| `epilot.deduplication` | `@epilot/sdk/deduplication` | [docs](./docs/deduplication.md) |\n| `epilot.design` | `@epilot/sdk/design` | [docs](./docs/design.md) |\n| `epilot.document` | `@epilot/sdk/document` | [docs](./docs/document.md) |\n| `epilot.emailSettings` | `@epilot/sdk/email-settings` | [docs](./docs/email-settings.md) |\n| `epilot.emailTemplate` | `@epilot/sdk/email-template` | [docs](./docs/email-template.md) |\n| `epilot.entity` | `@epilot/sdk/entity` | [docs](./docs/entity.md) |\n| `epilot.entityMapping` | `@epilot/sdk/entity-mapping` | [docs](./docs/entity-mapping.md) |\n| `epilot.environments` | `@epilot/sdk/environments` | [docs](./docs/environments.md) |\n| `epilot.erpIntegration` | `@epilot/sdk/erp-integration` | [docs](./docs/erp-integration.md) |\n| `epilot.eventCatalog` | `@epilot/sdk/event-catalog` | [docs](./docs/event-catalog.md) |\n| `epilot.file` | `@epilot/sdk/file` | [docs](./docs/file.md) |\n| `epilot.iban` | `@epilot/sdk/iban` | [docs](./docs/iban.md) |\n| `epilot.journey` | `@epilot/sdk/journey` | [docs](./docs/journey.md) |\n| `epilot.kanban` | `@epilot/sdk/kanban` | [docs](./docs/kanban.md) |\n| `epilot.message` | `@epilot/sdk/message` | [docs](./docs/message.md) |\n| `epilot.metering` | `@epilot/sdk/metering` | [docs](./docs/metering.md) |\n| `epilot.notes` | `@epilot/sdk/notes` | [docs](./docs/notes.md) |\n| `epilot.notification` | `@epilot/sdk/notification` | [docs](./docs/notification.md) |\n| `epilot.organization` | `@epilot/sdk/organization` | [docs](./docs/organization.md) |\n| `epilot.partnerDirectory` | `@epilot/sdk/partner-directory` | [docs](./docs/partner-directory.md) |\n| `epilot.permissions` | `@epilot/sdk/permissions` | [docs](./docs/permissions.md) |\n| `epilot.pricing` | `@epilot/sdk/pricing` | [docs](./docs/pricing.md) |\n| `epilot.pricingTier` | `@epilot/sdk/pricing-tier` | [docs](./docs/pricing-tier.md) |\n| `epilot.purpose` | `@epilot/sdk/purpose` | [docs](./docs/purpose.md) |\n| `epilot.sandbox` | `@epilot/sdk/sandbox` | [docs](./docs/sandbox.md) |\n| `epilot.submission` | `@epilot/sdk/submission` | [docs](./docs/submission.md) |\n| `epilot.targeting` | `@epilot/sdk/targeting` | [docs](./docs/targeting.md) |\n| `epilot.templateVariables` | `@epilot/sdk/template-variables` | [docs](./docs/template-variables.md) |\n| `epilot.user` | `@epilot/sdk/user` | [docs](./docs/user.md) |\n| `epilot.validationRules` | `@epilot/sdk/validation-rules` | [docs](./docs/validation-rules.md) |\n| `epilot.webhooks` | `@epilot/sdk/webhooks` | [docs](./docs/webhooks.md) |\n| `epilot.workflow` | `@epilot/sdk/workflow` | [docs](./docs/workflow.md) |\n| `epilot.workflowDefinition` | `@epilot/sdk/workflow-definition` | [docs](./docs/workflow-definition.md) |\n<!-- /api-reference-table -->\n\n## OpenAPI Spec\n\nRetrieve the full OpenAPI specification for any API at runtime. The spec is lazy-loaded on first call and cached.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Via API handle\nconst entitySpec = await epilot.entity.openapi()\nconsole.log(entitySpec.info.title) // \"Entity API\"\nconsole.log(entitySpec.paths) // all paths with full schemas\n\n// Via top-level method\nconst spec = await epilot.openapi('entity')\n```\n\nFor tree-shakeable imports:\n\n```ts\nimport { openapi } from '@epilot/sdk/entity'\n\nconst spec = await openapi()\n```\n\n## Explicit Client Access\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\n\n// Get the cached singleton client\nconst entityClient = epilot.entity.getClient()\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Create a fresh (non-singleton) client instance\nconst freshClient = epilot.entity.createClient()\nauthorize(freshClient, () => '<my-token>')\n```\n\n## Tree-Shakeable Imports\n\nImport only what you need. Other APIs never touch your bundle.\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Or use the handle for direct operation forwarding\nimport { entity } from '@epilot/sdk/entity'\nconst { data } = await entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n## Types\n\nEach API subpath re-exports all schema types generated from the OpenAPI spec. Import them directly:\n\n```ts\nimport type { Entity, EntitySchema, RelationAttribute } from '@epilot/sdk/entity'\nimport type { FileItem } from '@epilot/sdk/file'\nimport type { AutomationFlow } from '@epilot/sdk/automation'\n```\n\nThe `Client`, `OperationMethods`, and `PathsDictionary` types are also available for typing client instances:\n\n```ts\nimport type { Client } from '@epilot/sdk/entity'\n\nconst entityClient: Client = epilot.entity.getClient()\n```\n\n## Headers\n\n### Global Headers\n\nSet default headers applied to all clients. Useful for `x-epilot-org-id`, `x-epilot-user-id`, etc.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.headers({\n 'x-epilot-org-id': 'org-123',\n 'x-epilot-user-id': 'user-456',\n})\n\nconst { data } = await epilot.entity.searchEntities(...)\n```\n\n### Standard Axios Headers\n\nUse standard axios `defaults.headers.common` on individual clients:\n\n```ts\nconst entityClient = epilot.entity.getClient()\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Auth Patterns\n\n`authorize()` accepts a string or a function. The function form is preferred \u2014 it is called on every request, so tokens stay fresh.\n\n```ts\nimport { authorize } from '@epilot/sdk'\nimport { getClient } from '@epilot/sdk/entity'\n\n// Per-client \u2014 function predicate (recommended)\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\n// Per-client \u2014 async function (e.g. OAuth / session)\nauthorize(entityClient, async () => {\n return await getTokenFromSession()\n})\n\n// Per-client \u2014 static string (sets default header once)\nauthorize(entityClient, 'my-static-api-token')\n```\n\n```ts\n// Global \u2014 applies to all clients resolved from the SDK\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.authorize(async () => await getTokenFromSession())\nepilot.authorize('my-static-api-token')\n```\n\n## Fresh Client Instance\n\n```ts\nimport { createClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = createClient()\nauthorize(entityClient, () => '<my-token>')\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Multiple SDK Instances\n\n```ts\nimport { createSDK } from '@epilot/sdk'\n\nconst sdk1 = createSDK()\nsdk1.authorize(() => '<token-for-org-1>')\nsdk1.headers({ 'x-epilot-org-id': 'org-1' })\n\nconst sdk2 = createSDK()\nsdk2.authorize(() => '<token-for-org-2>')\nsdk2.headers({ 'x-epilot-org-id': 'org-2' })\n```\n\n\n## Interceptors\n\nUse axios interceptors for custom request/response processing. Since clients are axios instances, you can use `client.interceptors` directly:\n\n```ts\nentityClient.interceptors.response.use((response) => {\n console.debug(`${response.config.method?.toUpperCase()} ${response.config.url}`, {\n status: response.status,\n data: response.data,\n })\n return response\n})\n```\n\nOr register global interceptors applied to all clients:\n\n```ts\nepilot.interceptors.request((config) => {\n config.headers['x-correlation-id'] = generateTraceId()\n return config\n})\n```\n\n## Auto-Retry (429 Too Many Requests)\n\nThe SDK automatically retries requests that receive a `429 Too Many Requests` response. It respects the `Retry-After` header (in seconds) to determine how long to wait before retrying.\n\nEnabled by default with up to 3 retries.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Customize retry behavior\nepilot.retry({ maxRetries: 5, defaultDelayMs: 2000 })\n\n// Disable retries\nepilot.retry({ maxRetries: 0 })\n```\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `maxRetries` | `3` | Maximum number of retries. Set to `0` to disable. |\n| `defaultDelayMs` | `1000` | Fallback delay in ms when `Retry-After` header is missing. |\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyRetryInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyRetryInterceptor({ client: entityClient, config: { maxRetries: 3 } })\n```\n\n## Large Response Handling (413 Payload Too Large)\n\nepilot APIs use a [large response middleware](https://github.com/epilot-dev/aws-lambda-utility-middlewares) to work around the AWS Lambda 6MB response limit. When a response exceeds ~5.1MB, the API uploads the payload to S3 and returns a presigned URL instead.\n\nThe SDK handles this transparently \u2014 it sends the opt-in `Accept` header and automatically fetches the full payload from S3 when a large response URL is returned. Enabled by default.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Disable large response handling\nepilot.largeResponse({ enabled: false })\n```\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyLargeResponseInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyLargeResponseInterceptor({ client: entityClient, config: { enabled: true } })\n```\n\n## Overrides & Custom APIs\n\nOverride built-in API specs or register custom APIs via `.epilot/sdk-overrides.json`. This is useful for testing new versions of an API spec or getting the latest types without waiting for an SDK release.\n\n```json\n{\n \"entity\": \"./specs/entity-openapi.json\",\n \"myNewApi\": \"./specs/my-new-api-openapi.json\"\n}\n```\n\n```ts\n// Built-in API with overridden spec\nconst { data } = await epilot.entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n### Override Commands\n\n```bash\n# Apply all overrides from .epilot/sdk-overrides.json\nnpx epilot-sdk override\n\n# Override a single API\nnpx epilot-sdk override entity ./my-local-entity-spec.yaml\n\n# Regenerate types after spec changes\nnpx epilot-sdk typegen\n```\n\n<details>\n<summary>Migration from <code>@epilot/*-client</code></summary>\n\nDrop-in replacement \u2014 just change the import path:\n\n```ts\n// Before\nimport { getClient, createClient, authorize } from '@epilot/entity-client'\nimport type { Client, Entity } from '@epilot/entity-client'\n\n// After\nimport { getClient, createClient, authorize } from '@epilot/sdk/entity'\nimport type { Client, Entity } from '@epilot/sdk/entity'\n```\n\n</details>\n\n<details>\n<summary>Client Lifecycle</summary>\n\nWhen you call `authorize()`, `headers()`, `retry()`, `largeResponse()`, or `interceptors`, the SDK invalidates all cached client instances. The next operation call creates a fresh client with the updated configuration.\n\n**Operation methods are always up to date** \u2014 calls like `epilot.entity.getEntity(...)` re-resolve the client on every invocation, so they always use the latest config.\n\n**Direct `getClient()` references can go stale** \u2014 if you hold a reference and then change config, your reference still points to the old client:\n\n```ts\nconst entityClient = epilot.entity.getClient()\n\nepilot.authorize('new-token') // invalidates all cached clients\n\n// entityClient still has the old token\n// epilot.entity.getEntity(...) will use a new client with the new token\n```\n\nIf you need a long-lived reference that survives config changes, call `getClient()` again after changing config, or use operation methods directly.\n\n</details>\n";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = README_default;
|
package/dist/README-JUWX7KNV.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/README.json
|
|
4
|
-
var README_default = "<h1 align=\"center\"><img alt=\"epilot\" src=\"https://raw.githubusercontent.com/epilot-dev/sdk-js/main/logo.png\" width=\"200\"><br>@epilot/sdk</h1>\n\n<p align=\"center\">\n <a href=\"https://github.com/epilot-dev/sdk-js/actions?query=workflow%3ACI\"><img src=\"https://github.com/epilot-dev/sdk-js/workflows/CI/badge.svg\" alt=\"CI\"></a>\n <a href=\"https://www.npmjs.com/package/@epilot/sdk\"><img src=\"https://img.shields.io/npm/v/@epilot/sdk.svg\" alt=\"npm version\"></a>\n <a href=\"https://github.com/epilot-dev/sdk-js/blob/main/\"><img src=\"http://img.shields.io/:license-mit-blue.svg\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">JavaScript/TypeScript SDK for epilot APIs. Full types, tree-shakeable imports, and lazy-loaded OpenAPI specs.</p>\n\n## Install\n\n```bash\nnpm i @epilot/sdk axios openapi-client-axios\n```\n\n## Quick Start\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-bearer-token>')\n\nconst { data: entity } = await epilot.entity.createEntity(\n { slug: 'contact' },\n { first_name: 'John', last_name: 'Doe' },\n)\n\nconst { data: file } = await epilot.file.getFile({ id: 'file-123' })\n\nconst { data: executions } = await epilot.workflow.getExecutions()\n```\n\nAPI clients are built on [openapi-client-axios](https://openapistack.co/docs/openapi-client-axios/intro/), which generates fully typed operation methods on top of regular [axios](https://axios-http.com/docs/intro) instances. All standard axios features (interceptors, defaults, config) work as expected. Each operation is forwarded to a lazy singleton \u2014 the spec is loaded and the client initialized on first use, then cached.\n\nFull API documentation: [https://docs.epilot.io/api](https://docs.epilot.io/api)\n\n## API Reference\n\n<!-- api-reference-table -->\n| API | Import | Docs |\n| --- | ------ | ---- |\n| `epilot.accessToken` | `@epilot/sdk/access-token` | [docs](./docs/access-token.md) |\n| `epilot.address` | `@epilot/sdk/address` | [docs](./docs/address.md) |\n| `epilot.addressSuggestions` | `@epilot/sdk/address-suggestions` | [docs](./docs/address-suggestions.md) |\n| `epilot.aiAgents` | `@epilot/sdk/ai-agents` | [docs](./docs/ai-agents.md) |\n| `epilot.app` | `@epilot/sdk/app` | [docs](./docs/app.md) |\n| `epilot.auditLogs` | `@epilot/sdk/audit-logs` | [docs](./docs/audit-logs.md) |\n| `epilot.automation` | `@epilot/sdk/automation` | [docs](./docs/automation.md) |\n| `epilot.billing` | `@epilot/sdk/billing` | [docs](./docs/billing.md) |\n| `epilot.blueprintManifest` | `@epilot/sdk/blueprint-manifest` | [docs](./docs/blueprint-manifest.md) |\n| `epilot.consent` | `@epilot/sdk/consent` | [docs](./docs/consent.md) |\n| `epilot.customerPortal` | `@epilot/sdk/customer-portal` | [docs](./docs/customer-portal.md) |\n| `epilot.dashboard` | `@epilot/sdk/dashboard` | [docs](./docs/dashboard.md) |\n| `epilot.dataManagement` | `@epilot/sdk/data-management` | [docs](./docs/data-management.md) |\n| `epilot.deduplication` | `@epilot/sdk/deduplication` | [docs](./docs/deduplication.md) |\n| `epilot.design` | `@epilot/sdk/design` | [docs](./docs/design.md) |\n| `epilot.document` | `@epilot/sdk/document` | [docs](./docs/document.md) |\n| `epilot.emailSettings` | `@epilot/sdk/email-settings` | [docs](./docs/email-settings.md) |\n| `epilot.emailTemplate` | `@epilot/sdk/email-template` | [docs](./docs/email-template.md) |\n| `epilot.entity` | `@epilot/sdk/entity` | [docs](./docs/entity.md) |\n| `epilot.entityMapping` | `@epilot/sdk/entity-mapping` | [docs](./docs/entity-mapping.md) |\n| `epilot.environments` | `@epilot/sdk/environments` | [docs](./docs/environments.md) |\n| `epilot.erpIntegration` | `@epilot/sdk/erp-integration` | [docs](./docs/erp-integration.md) |\n| `epilot.eventCatalog` | `@epilot/sdk/event-catalog` | [docs](./docs/event-catalog.md) |\n| `epilot.file` | `@epilot/sdk/file` | [docs](./docs/file.md) |\n| `epilot.iban` | `@epilot/sdk/iban` | [docs](./docs/iban.md) |\n| `epilot.journey` | `@epilot/sdk/journey` | [docs](./docs/journey.md) |\n| `epilot.kanban` | `@epilot/sdk/kanban` | [docs](./docs/kanban.md) |\n| `epilot.message` | `@epilot/sdk/message` | [docs](./docs/message.md) |\n| `epilot.metering` | `@epilot/sdk/metering` | [docs](./docs/metering.md) |\n| `epilot.notes` | `@epilot/sdk/notes` | [docs](./docs/notes.md) |\n| `epilot.notification` | `@epilot/sdk/notification` | [docs](./docs/notification.md) |\n| `epilot.organization` | `@epilot/sdk/organization` | [docs](./docs/organization.md) |\n| `epilot.partnerDirectory` | `@epilot/sdk/partner-directory` | [docs](./docs/partner-directory.md) |\n| `epilot.permissions` | `@epilot/sdk/permissions` | [docs](./docs/permissions.md) |\n| `epilot.pricing` | `@epilot/sdk/pricing` | [docs](./docs/pricing.md) |\n| `epilot.pricingTier` | `@epilot/sdk/pricing-tier` | [docs](./docs/pricing-tier.md) |\n| `epilot.purpose` | `@epilot/sdk/purpose` | [docs](./docs/purpose.md) |\n| `epilot.sandbox` | `@epilot/sdk/sandbox` | [docs](./docs/sandbox.md) |\n| `epilot.submission` | `@epilot/sdk/submission` | [docs](./docs/submission.md) |\n| `epilot.targeting` | `@epilot/sdk/targeting` | [docs](./docs/targeting.md) |\n| `epilot.templateVariables` | `@epilot/sdk/template-variables` | [docs](./docs/template-variables.md) |\n| `epilot.user` | `@epilot/sdk/user` | [docs](./docs/user.md) |\n| `epilot.validationRules` | `@epilot/sdk/validation-rules` | [docs](./docs/validation-rules.md) |\n| `epilot.webhooks` | `@epilot/sdk/webhooks` | [docs](./docs/webhooks.md) |\n| `epilot.workflow` | `@epilot/sdk/workflow` | [docs](./docs/workflow.md) |\n| `epilot.workflowDefinition` | `@epilot/sdk/workflow-definition` | [docs](./docs/workflow-definition.md) |\n<!-- /api-reference-table -->\n\n## OpenAPI Spec\n\nRetrieve the full OpenAPI specification for any API at runtime. The spec is lazy-loaded on first call and cached.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Via API handle\nconst entitySpec = await epilot.entity.openapi()\nconsole.log(entitySpec.info.title) // \"Entity API\"\nconsole.log(entitySpec.paths) // all paths with full schemas\n\n// Via top-level method\nconst spec = await epilot.openapi('entity')\n```\n\nFor tree-shakeable imports:\n\n```ts\nimport { openapi } from '@epilot/sdk/entity'\n\nconst spec = await openapi()\n```\n\n## Explicit Client Access\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\n\n// Get the cached singleton client\nconst entityClient = epilot.entity.getClient()\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Create a fresh (non-singleton) client instance\nconst freshClient = epilot.entity.createClient()\nauthorize(freshClient, () => '<my-token>')\n```\n\n## Tree-Shakeable Imports\n\nImport only what you need. Other APIs never touch your bundle.\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Or use the handle for direct operation forwarding\nimport { entity } from '@epilot/sdk/entity'\nconst { data } = await entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n## Types\n\nEach API subpath re-exports all schema types generated from the OpenAPI spec. Import them directly:\n\n```ts\nimport type { Entity, EntitySchema, RelationAttribute } from '@epilot/sdk/entity'\nimport type { FileItem } from '@epilot/sdk/file'\nimport type { AutomationFlow } from '@epilot/sdk/automation'\n```\n\nThe `Client`, `OperationMethods`, and `PathsDictionary` types are also available for typing client instances:\n\n```ts\nimport type { Client } from '@epilot/sdk/entity'\n\nconst entityClient: Client = epilot.entity.getClient()\n```\n\n## Headers\n\n### Global Headers\n\nSet default headers applied to all clients. Useful for `x-epilot-org-id`, `x-epilot-user-id`, etc.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.headers({\n 'x-epilot-org-id': 'org-123',\n 'x-epilot-user-id': 'user-456',\n})\n\nconst { data } = await epilot.entity.searchEntities(...)\n```\n\n### Standard Axios Headers\n\nUse standard axios `defaults.headers.common` on individual clients:\n\n```ts\nconst entityClient = epilot.entity.getClient()\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Auth Patterns\n\n`authorize()` accepts a string or a function. The function form is preferred \u2014 it is called on every request, so tokens stay fresh.\n\n```ts\nimport { authorize } from '@epilot/sdk'\nimport { getClient } from '@epilot/sdk/entity'\n\n// Per-client \u2014 function predicate (recommended)\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\n// Per-client \u2014 async function (e.g. OAuth / session)\nauthorize(entityClient, async () => {\n return await getTokenFromSession()\n})\n\n// Per-client \u2014 static string (sets default header once)\nauthorize(entityClient, 'my-static-api-token')\n```\n\n```ts\n// Global \u2014 applies to all clients resolved from the SDK\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.authorize(async () => await getTokenFromSession())\nepilot.authorize('my-static-api-token')\n```\n\n## Fresh Client Instance\n\n```ts\nimport { createClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = createClient()\nauthorize(entityClient, () => '<my-token>')\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Multiple SDK Instances\n\n```ts\nimport { createSDK } from '@epilot/sdk'\n\nconst sdk1 = createSDK()\nsdk1.authorize(() => '<token-for-org-1>')\nsdk1.headers({ 'x-epilot-org-id': 'org-1' })\n\nconst sdk2 = createSDK()\nsdk2.authorize(() => '<token-for-org-2>')\nsdk2.headers({ 'x-epilot-org-id': 'org-2' })\n```\n\n\n## Interceptors\n\nUse axios interceptors for custom request/response processing. Since clients are axios instances, you can use `client.interceptors` directly:\n\n```ts\nentityClient.interceptors.response.use((response) => {\n console.debug(`${response.config.method?.toUpperCase()} ${response.config.url}`, {\n status: response.status,\n data: response.data,\n })\n return response\n})\n```\n\nOr register global interceptors applied to all clients:\n\n```ts\nepilot.interceptors.request((config) => {\n config.headers['x-correlation-id'] = generateTraceId()\n return config\n})\n```\n\n## Auto-Retry (429 Too Many Requests)\n\nThe SDK automatically retries requests that receive a `429 Too Many Requests` response. It respects the `Retry-After` header (in seconds) to determine how long to wait before retrying.\n\nEnabled by default with up to 3 retries.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Customize retry behavior\nepilot.retry({ maxRetries: 5, defaultDelayMs: 2000 })\n\n// Disable retries\nepilot.retry({ maxRetries: 0 })\n```\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `maxRetries` | `3` | Maximum number of retries. Set to `0` to disable. |\n| `defaultDelayMs` | `1000` | Fallback delay in ms when `Retry-After` header is missing. |\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyRetryInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyRetryInterceptor({ client: entityClient, config: { maxRetries: 3 } })\n```\n\n## Large Response Handling (413 Payload Too Large)\n\nepilot APIs use a [large response middleware](https://github.com/epilot-dev/aws-lambda-utility-middlewares) to work around the AWS Lambda 6MB response limit. When a response exceeds ~5.1MB, the API uploads the payload to S3 and returns a presigned URL instead.\n\nThe SDK handles this transparently \u2014 it sends the opt-in `Accept` header and automatically fetches the full payload from S3 when a large response URL is returned. Enabled by default.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Disable large response handling\nepilot.largeResponse({ enabled: false })\n```\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyLargeResponseInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyLargeResponseInterceptor({ client: entityClient, config: { enabled: true } })\n```\n\n## Overrides & Custom APIs\n\nOverride built-in API specs or register custom APIs via `.epilot/sdk-overrides.json`. This is useful for testing new versions of an API spec or getting the latest types without waiting for an SDK release.\n\n```json\n{\n \"entity\": \"./specs/entity-openapi.json\",\n \"myNewApi\": \"./specs/my-new-api-openapi.json\"\n}\n```\n\n```ts\n// Built-in API with overridden spec\nconst { data } = await epilot.entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n### Override Commands\n\n```bash\n# Apply all overrides from .epilot/sdk-overrides.json\nnpx epilot-sdk override\n\n# Override a single API\nnpx epilot-sdk override entity ./my-local-entity-spec.yaml\n\n# Regenerate types after spec changes\nnpx epilot-sdk typegen\n```\n\n<details>\n<summary>Migration from <code>@epilot/*-client</code></summary>\n\nDrop-in replacement \u2014 just change the import path:\n\n```ts\n// Before\nimport { getClient, createClient, authorize } from '@epilot/entity-client'\nimport type { Client, Entity } from '@epilot/entity-client'\n\n// After\nimport { getClient, createClient, authorize } from '@epilot/sdk/entity'\nimport type { Client, Entity } from '@epilot/sdk/entity'\n```\n\n</details>\n\n<details>\n<summary>Client Lifecycle</summary>\n\nWhen you call `authorize()`, `headers()`, `retry()`, `largeResponse()`, or `interceptors`, the SDK invalidates all cached client instances. The next operation call creates a fresh client with the updated configuration.\n\n**Operation methods are always up to date** \u2014 calls like `epilot.entity.getEntity(...)` re-resolve the client on every invocation, so they always use the latest config.\n\n**Direct `getClient()` references can go stale** \u2014 if you hold a reference and then change config, your reference still points to the old client:\n\n```ts\nconst entityClient = epilot.entity.getClient()\n\nepilot.authorize('new-token') // invalidates all cached clients\n\n// entityClient still has the old token\n// epilot.entity.getEntity(...) will use a new client with the new token\n```\n\nIf you need a long-lived reference that survives config changes, call `getClient()` again after changing config, or use operation methods directly.\n\n</details>\n";
|
|
5
|
-
export {
|
|
6
|
-
README_default as default
|
|
7
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
-
|
|
3
|
-
var _chunk4BCQGZJBcjs = require('../chunk-4BCQGZJB.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkVUVWHQMPcjs = require('../chunk-VUVWHQMP.cjs');
|
|
10
|
-
require('../chunk-NJK5F5TF.cjs');
|
|
11
|
-
|
|
12
|
-
// src/apis/data-management.ts
|
|
13
|
-
var loadDefinition = () => {
|
|
14
|
-
const mod = _chunk4BCQGZJBcjs.require_data_management_runtime.call(void 0, );
|
|
15
|
-
return _chunkVUVWHQMPcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
|
|
16
|
-
};
|
|
17
|
-
var _instance = null;
|
|
18
|
-
var resolve = () => {
|
|
19
|
-
if (!_instance) {
|
|
20
|
-
const def = loadDefinition();
|
|
21
|
-
_instance = _chunkVUVWHQMPcjs.createApiClient.call(void 0, { definition: def, apiName: "dataManagement" });
|
|
22
|
-
}
|
|
23
|
-
return _instance;
|
|
24
|
-
};
|
|
25
|
-
var _handle = _chunkVUVWHQMPcjs.createApiHandle.call(void 0, {
|
|
26
|
-
resolveClient: resolve,
|
|
27
|
-
createClient: () => _chunkVUVWHQMPcjs.createApiClient.call(void 0, { definition: loadDefinition(), apiName: "dataManagement" }),
|
|
28
|
-
apiName: "dataManagement"
|
|
29
|
-
});
|
|
30
|
-
var getClient = _handle.getClient;
|
|
31
|
-
var createClient = _handle.createClient;
|
|
32
|
-
var dataManagement = _handle;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
exports.authorize = _chunkVUVWHQMPcjs.authorize; exports.createClient = createClient; exports.dataManagement = dataManagement; exports.getClient = getClient;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/automation.json
|
|
4
|
-
var automation_default = '# Automation API\n\n- **Base URL:** `https://automation.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/automation](https://docs.epilot.io/api/automation)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.automation.searchFlows(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/automation\'\n\nconst automationClient = getClient()\nauthorize(automationClient, () => \'<token>\')\nconst { data } = await automationClient.searchFlows(...)\n```\n\n## Operations\n\n**flows**\n- [`searchFlows`](#searchflows)\n- [`createFlow`](#createflow)\n- [`batchGetFlows`](#batchgetflows)\n- [`getFlow`](#getflow)\n- [`putFlow`](#putflow)\n- [`deleteFlow`](#deleteflow)\n\n**executions**\n- [`getExecutions`](#getexecutions)\n- [`startExecution`](#startexecution)\n- [`getExecution`](#getexecution)\n- [`cancelExecution`](#cancelexecution)\n- [`retriggerAction`](#retriggeraction)\n- [`resumeExecutionWithToken`](#resumeexecutionwithtoken)\n- [`cancelSchedule`](#cancelschedule)\n\n**bulk**\n- [`bulkTriggerExecutions`](#bulktriggerexecutions)\n- [`getBulkJob`](#getbulkjob)\n- [`patchBulkJob`](#patchbulkjob)\n\n**Schemas**\n- [`AutomationFlowId`](#automationflowid)\n- [`AutomationActionId`](#automationactionid)\n- [`AutomationFlow`](#automationflow)\n- [`WorkflowContextRole`](#workflowcontextrole)\n- [`SearchAutomationsResp`](#searchautomationsresp)\n- [`AnyTrigger`](#anytrigger)\n- [`AnyAction`](#anyaction)\n- [`AnyActionConfig`](#anyactionconfig)\n- [`AutomationActionConfig`](#automationactionconfig)\n- [`AutomationActionExecutionState`](#automationactionexecutionstate)\n- [`RetryStrategy`](#retrystrategy)\n- [`AutomationAction`](#automationaction)\n- [`ErrorOutput`](#erroroutput)\n- [`ErrorCode`](#errorcode)\n- [`ErrorDetail`](#errordetail)\n- [`CartCheckoutActionConfig`](#cartcheckoutactionconfig)\n- [`CartCheckoutAction`](#cartcheckoutaction)\n- [`CartCheckoutConfig`](#cartcheckoutconfig)\n- [`MapEntityActionConfig`](#mapentityactionconfig)\n- [`MapEntityAction`](#mapentityaction)\n- [`MapEntityConfig`](#mapentityconfig)\n- [`MappingConfigRef`](#mappingconfigref)\n- [`RelationAttribute`](#relationattribute)\n- [`MappingAttributeV2`](#mappingattributev2)\n- [`OperationNode`](#operationnode)\n- [`OperationObjectNode`](#operationobjectnode)\n- [`PrimitiveJSONValue`](#primitivejsonvalue)\n- [`MappingAttribute`](#mappingattribute)\n- [`MappingAttributeMode`](#mappingattributemode)\n- [`SetValueMapper`](#setvaluemapper)\n- [`CopyValueMapper`](#copyvaluemapper)\n- [`AppendValueMapper`](#appendvaluemapper)\n- [`MoveThreadAction`](#movethreadaction)\n- [`AssignThreadAction`](#assignthreadaction)\n- [`MoveThreadConfig`](#movethreadconfig)\n- [`AssignThreadConfig`](#assignthreadconfig)\n- [`SendEmailActionConfig`](#sendemailactionconfig)\n- [`SendEmailAction`](#sendemailaction)\n- [`SendEmailConfig`](#sendemailconfig)\n- [`SendEmailCondition`](#sendemailcondition)\n- [`CreateDocumentActionConfig`](#createdocumentactionconfig)\n- [`CreateDocumentAction`](#createdocumentaction)\n- [`CreateDocumentConfig`](#createdocumentconfig)\n- [`TriggerWorkflowActionConfig`](#triggerworkflowactionconfig)\n- [`TriggerWorkflowAction`](#triggerworkflowaction)\n- [`TriggerWorkflowConfig`](#triggerworkflowconfig)\n- [`TriggerWorkflowCondition`](#triggerworkflowcondition)\n- [`TriggerShareEntityActionConfig`](#triggershareentityactionconfig)\n- [`TriggerShareEntityAction`](#triggershareentityaction)\n- [`TriggerShareEntityConfig`](#triggershareentityconfig)\n- [`AssignUsersToStep`](#assignuserstostep)\n- [`CustomAction`](#customaction)\n- [`TriggerWebhookActionConfig`](#triggerwebhookactionconfig)\n- [`TriggerWebhookAction`](#triggerwebhookaction)\n- [`TriggerWebhookConfig`](#triggerwebhookconfig)\n- [`InformERPActionConfig`](#informerpactionconfig)\n- [`InformERPAction`](#informerpaction)\n- [`InformERPConfig`](#informerpconfig)\n- [`TriggerEventActionConfig`](#triggereventactionconfig)\n- [`TriggerEventAction`](#triggereventaction)\n- [`TriggerEventConfig`](#triggereventconfig)\n- [`FlowExecutionCancelActionConfig`](#flowexecutioncancelactionconfig)\n- [`FlowExecutionCancelAction`](#flowexecutioncancelaction)\n- [`FlowExecutionCancelConfig`](#flowexecutioncancelconfig)\n- [`CancellationReason`](#cancellationreason)\n- [`ConditionStatement`](#conditionstatement)\n- [`ActionCondition`](#actioncondition)\n- [`ActionScheduleSource`](#actionschedulesource)\n- [`ActionSchedule`](#actionschedule)\n- [`AutomationExecutionId`](#automationexecutionid)\n- [`AutomationExecution`](#automationexecution)\n- [`WorkflowExecutionContext`](#workflowexecutioncontext)\n- [`ExecutionChain`](#executionchain)\n- [`TriggerEventManual`](#triggereventmanual)\n- [`TriggerEventFlowAutomationTask`](#triggereventflowautomationtask)\n- [`TriggerEventEntityActivity`](#triggerevententityactivity)\n- [`TriggerEventMessaging`](#triggereventmessaging)\n- [`TriggerEventEntityOperation`](#triggerevententityoperation)\n- [`ApiCallerContext`](#apicallercontext)\n- [`ExecutionStatus`](#executionstatus)\n- [`GetExecutionsResp`](#getexecutionsresp)\n- [`StartExecutionRequest`](#startexecutionrequest)\n- [`PatchBulkJobRequest`](#patchbulkjobrequest)\n- [`BulkTriggerRequest`](#bulktriggerrequest)\n- [`EntityRef`](#entityref)\n- [`BulkTriggerJob`](#bulktriggerjob)\n- [`ExecItem`](#execitem)\n- [`JobId`](#jobid)\n- [`EntityId`](#entityid)\n- [`ActivityId`](#activityid)\n- [`OrganizationId`](#organizationid)\n- [`TriggerContext`](#triggercontext)\n- [`AutomationTrigger`](#automationtrigger)\n- [`FlowsTrigger`](#flowstrigger)\n- [`JourneySubmitTrigger`](#journeysubmittrigger)\n- [`FrontendSubmitTrigger`](#frontendsubmittrigger)\n- [`ApiSubmissionTrigger`](#apisubmissiontrigger)\n- [`NewEmailThreadTrigger`](#newemailthreadtrigger)\n- [`ReceivedEmailTrigger`](#receivedemailtrigger)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`ActivityTrigger`](#activitytrigger)\n- [`EntityOperation`](#entityoperation)\n- [`EntitySearchFilter`](#entitysearchfilter)\n- [`EntitySearchFilterValue`](#entitysearchfiltervalue)\n- [`EntityManualTrigger`](#entitymanualtrigger)\n- [`TriggerCondition`](#triggercondition)\n- [`Comparison`](#comparison)\n- [`FilterConditionOnEvent`](#filterconditiononevent)\n- [`EqualsIgnoreCaseCondition`](#equalsignorecasecondition)\n- [`AnythingButCondition`](#anythingbutcondition)\n- [`NumericCondition`](#numericcondition)\n- [`ExistsCondition`](#existscondition)\n- [`PrefixCondition`](#prefixcondition)\n- [`SuffixCondition`](#suffixcondition)\n- [`WildcardCondition`](#wildcardcondition)\n- [`OrCondition`](#orcondition)\n- [`DiffAdded`](#diffadded)\n- [`DiffUpdated`](#diffupdated)\n- [`DiffDeleted`](#diffdeleted)\n- [`OrConditionForDiff`](#orconditionfordiff)\n- [`EntityItemSnapshot`](#entityitemsnapshot)\n- [`RetryReq`](#retryreq)\n- [`ResumeToken`](#resumetoken)\n- [`ResumeReq`](#resumereq)\n- [`ResumeResp`](#resumeresp)\n- [`ErrorObject`](#errorobject)\n\n### `searchFlows`\n\nSearch available automation flows\n\n`GET /v1/automation/flows`\n\n```ts\nconst { data } = await client.searchFlows({\n schema: \'example\',\n size: 1,\n from: 1,\n trigger_source_id: \'example\',\n include_flows: true,\n})\n```\n\n---\n\n### `createFlow`\n\nCreate new automation flow\n\n`POST /v1/automation/flows`\n\n```ts\nconst { data } = await client.createFlow()\n```\n\n---\n\n### `batchGetFlows`\n\nGet multiple automation flows by their IDs\n\n`POST /v1/automation/flows:batchGet`\n\n```ts\nconst { data } = await client.batchGetFlows(\n null,\n {\n ids: [\'7791b04a-16d2-44a2-9af9-2d59c25c512f\']\n },\n)\n```\n\n---\n\n### `getFlow`\n\nList available automation flows\n\n`GET /v1/automation/flows/{flow_id}`\n\n```ts\nconst { data } = await client.getFlow({\n flow_id: \'example\',\n})\n```\n\n---\n\n### `putFlow`\n\nUpdate automation flow by id\n\n`PUT /v1/automation/flows/{flow_id}`\n\n```ts\nconst { data } = await client.putFlow({\n flow_id: \'example\',\n})\n```\n\n---\n\n### `deleteFlow`\n\nUpdate automation flow by id\n\n`DELETE /v1/automation/flows/{flow_id}`\n\n```ts\nconst { data } = await client.deleteFlow({\n flow_id: \'example\',\n})\n```\n\n---\n\n### `getExecutions`\n\nList automation executions\n\n`GET /v1/automation/executions`\n\n```ts\nconst { data } = await client.getExecutions({\n entity_id: \'example\',\n size: 1,\n from: 1,\n include_flows: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "total": 0,\n "results": [\n {\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {},\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [],\n "schedules": [],\n "actions": [],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {},\n "version": 2,\n "trigger_event": {},\n "workflow_context": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `startExecution`\n\nStart new automation execution\n\n`POST /v1/automation/executions`\n\n```ts\nconst { data } = await client.startExecution(\n null,\n {\n entity_id: \'e3d3ebac-baab-4395-abf4-50b5bf1f8b74\',\n flow_id: \'7791b04a-16d2-44a2-9af9-2d59c25c512f\',\n workflow_context: {\n workflow_exec_id: \'string\',\n workflow_exec_task_id: \'string\',\n workflow_role: \'trigger_workflow\',\n _execution_chain: {\n parent_execution_id: \'string\',\n parent_task_id: \'string\',\n depth: 0\n }\n },\n flow_execution_id: \'string\',\n flow_automation_task_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {\n "id": "string",\n "schedule_id": "string",\n "evaluationResult": true,\n "statements": []\n }\n ],\n "schedules": [\n {\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {}\n }\n ],\n "actions": [\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n },\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "trigger-workflow",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n }\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {\n "EpilotAuth": {}\n }\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {\n "parent_execution_id": "string",\n "parent_task_id": "string",\n "depth": 0\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `bulkTriggerExecutions`\n\nCreate a bulk job that triggers multiple automation executions\n\n`POST /v1/automation/executions/bulk-jobs`\n\n```ts\nconst { data } = await client.bulkTriggerExecutions(\n null,\n {\n flow_id: \'7791b04a-16d2-44a2-9af9-2d59c25c512f\',\n entities_refs: [\n {\n entity_id: \'e3d3ebac-baab-4395-abf4-50b5bf1f8b74\',\n entity_schema: \'string\'\n }\n ],\n trigger_context: {\n entity_id: \'a1b2c3d4-e5f6-7890-1234-567890abcdef\'\n }\n },\n)\n```\n\n---\n\n### `getBulkJob`\n\nGet the status of a bulk job that triggers multiple automation executions\n\n`GET /v1/automation/executions/bulk-jobs/{job_id}`\n\n```ts\nconst { data } = await client.getBulkJob({\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "status": "approval",\n "created_by": "1234",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "task_token": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "report_file_entity_id": "string",\n "entity_query": {\n "type": "refs",\n "data": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string"\n }\n ]\n },\n "pagination_state": {\n "page_size": 0,\n "pages_processed": 0,\n "total_processed": 0,\n "stable_query_id": "string",\n "search_after": ["string"],\n "has_more": true\n },\n "execution_summary": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string",\n "execution_id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "timestamp": "2025-10-30T15:56:47.842Z",\n "error": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `patchBulkJob`\n\nApprove / Cancel bulk job that triggers multiple automation executions\n\n`PATCH /v1/automation/executions/bulk-jobs/{job_id}`\n\n```ts\nconst { data } = await client.patchBulkJob(\n {\n job_id: \'example\',\n },\n {\n action: \'APPROVE\',\n task_token: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "status": "approval",\n "created_by": "1234",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "task_token": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "report_file_entity_id": "string",\n "entity_query": {\n "type": "refs",\n "data": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string"\n }\n ]\n },\n "pagination_state": {\n "page_size": 0,\n "pages_processed": 0,\n "total_processed": 0,\n "stable_query_id": "string",\n "search_after": ["string"],\n "has_more": true\n },\n "execution_summary": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string",\n "execution_id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "timestamp": "2025-10-30T15:56:47.842Z",\n "error": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getExecution`\n\nGet automation execution\n\n`GET /v1/automation/executions/{execution_id}`\n\n```ts\nconst { data } = await client.getExecution({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {\n "id": "string",\n "schedule_id": "string",\n "evaluationResult": true,\n "statements": []\n }\n ],\n "schedules": [\n {\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {}\n }\n ],\n "actions": [\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n },\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "trigger-workflow",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n }\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {\n "EpilotAuth": {}\n }\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {\n "parent_execution_id": "string",\n "parent_task_id": "string",\n "depth": 0\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `cancelExecution`\n\nCancel automation execution\n\n`DELETE /v1/automation/executions/{execution_id}`\n\n```ts\nconst { data } = await client.cancelExecution({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {\n "id": "string",\n "schedule_id": "string",\n "evaluationResult": true,\n "statements": []\n }\n ],\n "schedules": [\n {\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {}\n }\n ],\n "actions": [\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n },\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "trigger-workflow",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n }\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {\n "EpilotAuth": {}\n }\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {\n "parent_execution_id": "string",\n "parent_task_id": "string",\n "depth": 0\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `retriggerAction`\n\nRetry a specific automation execution action which failed / is stuck.\n\n`POST /v1/automation/executions/{execution_id}/{action_id}/retrigger`\n\n```ts\nconst { data } = await client.retriggerAction(\n {\n execution_id: \'example\',\n action_id: \'example\',\n },\n {\n condition_id: \'string\',\n retry_strategy: \'RETRY_AND_RESUME\'\n },\n)\n```\n\n---\n\n### `resumeExecutionWithToken`\n\nResume a paused automation execution using a unique resume token.\n\n`POST /v1/automation/public/executions:resume`\n\n```ts\nconst { data } = await client.resumeExecutionWithToken(\n null,\n {\n resume_token: \'eyJraWQiOiJrZXkifQ==\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution": {\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {}\n ],\n "schedules": [\n {}\n ],\n "actions": [\n {},\n {}\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {}\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {}\n }\n },\n "resumedAction": {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {\n "mapping_config": {},\n "target_schema": "string",\n "target_unique": ["string"],\n "mapping_attributes": [],\n "relation_attributes": [],\n "linkback_relation_attribute": "mapped_entities",\n "linkback_relation_tags": ["string"]\n },\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {\n "message": "There are no registered portal users for the given emails, hence skipping the action",\n "payload": {}\n },\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {\n "error_code": "MAPPING_ERROR",\n "error_reason": "string",\n "error_info": {}\n },\n "retry_strategy": "RETRY_AND_RESUME"\n }\n}\n```\n\n</details>\n\n---\n\n### `cancelSchedule`\n\nCancel a scheduled automation\n\n`DELETE /v1/automation/executions/{execution_id}/schedules/{schedule_id}`\n\n```ts\nconst { data } = await client.cancelSchedule({\n execution_id: \'example\',\n schedule_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {\n "id": "string",\n "origin": "trigger",\n "schema": "string",\n "attribute": "string"\n }\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `AutomationFlowId`\n\nID of the Automation Flow\n\n```ts\ntype AutomationFlowId = string\n```\n\n### `AutomationActionId`\n\n```ts\ntype AutomationActionId = string\n```\n\n### `AutomationFlow`\n\n```ts\ntype AutomationFlow = {\n id?: string\n flow_name: string\n enabled?: boolean\n disable_details?: {\n disabled_at: string // date-time\n disabled_by: "system" | "user"\n blame?: string\n }\n triggers: Array<{\n id?: string // uuid\n type: "frontend_submission"\n configuration: {\n source_id?: { ... }\n }\n } | {\n id?: string // uuid\n type: "journey_submission"\n configuration: {\n source_id: { ... }\n }\n } | {\n id?: string // uuid\n type: "api_submission"\n configuration: {\n source_id?: { ... }\n }\n } | {\n id?: string // uuid\n type: "entity_operation"\n configuration: {\n schema?: { ... }\n operations?: { ... }\n include_activities?: { ... }\n exclude_activities?: { ... }\n filter_config?: { ... }\n ecp_config?: { ... }\n }\n } | {\n id?: string // uuid\n type: "activity"\n configuration: {\n schema?: { ... }\n types?: { ... }\n }\n } | {\n id?: string // uuid\n type: "entity_manual"\n configuration: {\n schema?: { ... }\n }\n } | {\n id?: string // uuid\n type: "received_email"\n configuration: {\n message_type?: { ... }\n }\n } | {\n id?: string // uuid\n type: "new_email_thread"\n configuration: {\n shared_inbox_ids?: { ... }\n direction: { ... }\n }\n } | {\n id?: string // uuid\n type: "flows_trigger"\n configuration?: {\n journey_id?: { ... }\n }\n }>\n trigger_conditions?: Array<{\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n }>\n entity_schema?: string\n conditions?: Array<{\n id?: string\n schedule_id?: string\n evaluationResult?: boolean\n statements?: Array<{\n id?: { ... }\n source?: { ... }\n operation?: { ... }\n values?: { ... }\n }>\n }>\n schedules?: Array<{\n id: string\n scheduleApiId?: string\n numberOfUnits?: number\n timePeriod?: "minutes" | "hours" | "days" | "weeks" | "months"\n timeRelation?: "after" | "before"\n source: {\n id: { ... }\n origin: { ... }\n schema?: { ... }\n attribute?: { ... }\n }\n // ...\n}\n```\n\n### `WorkflowContextRole`\n\nThe role this automation plays in the workflow.\n\n```ts\ntype WorkflowContextRole = "trigger_workflow" | "run_task_automation"\n```\n\n### `SearchAutomationsResp`\n\n```ts\ntype SearchAutomationsResp = {\n total: number\n results: Array<{\n id?: string\n flow_name: string\n enabled?: boolean\n disable_details?: {\n disabled_at: { ... }\n disabled_by: { ... }\n blame?: { ... }\n }\n triggers: Array<{\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration?: { ... }\n }>\n trigger_conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n }>\n entity_schema?: string\n conditions?: Array<{\n id?: { ... }\n schedule_id?: { ... }\n evaluationResult?: { ... }\n statements?: { ... }\n }>\n schedules?: Array<{\n id: { ... }\n scheduleApiId?: { ... }\n numberOfUnits?: { ... }\n timePeriod?: { ... }\n timeRelation?: { ... }\n source: { ... }\n }>\n actions: Array<{\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n id?: { ... }\n // ...\n}\n```\n\n### `AnyTrigger`\n\n```ts\ntype AnyTrigger = {\n id?: string // uuid\n type: "frontend_submission"\n configuration: {\n source_id?: string\n }\n} | {\n id?: string // uuid\n type: "journey_submission"\n configuration: {\n source_id: string // uuid\n }\n} | {\n id?: string // uuid\n type: "api_submission"\n configuration: {\n source_id?: string\n }\n} | {\n id?: string // uuid\n type: "entity_operation"\n configuration: {\n schema?: string\n operations?: "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"[]\n include_activities?: string[]\n exclude_activities?: string[]\n filter_config?: {\n operation?: { ... }\n activity?: { ... }\n }\n ecp_config?: {\n origin?: { ... }\n portal_id?: { ... }\n file_config?: { ... }\n }\n }\n} | {\n id?: string // uuid\n type: "activity"\n configuration: {\n schema?: string\n types?: "CreateMeterReading" | "UpdateMeterReading" | "DocDownloadedFromPortal" | "PortalUserResetPassword" | "PortalUserResetForgotPassword" | "SelfAssignmentFromPortal" | string[]\n }\n} | {\n id?: string // uuid\n type: "entity_manual"\n configuration: {\n schema?: string\n }\n} | {\n id?: string // uuid\n type: "received_email"\n configuration: {\n message_type?: "RECEIVED"\n }\n} | {\n id?: string // uuid\n type: "new_email_thread"\n configuration: {\n shared_inbox_ids?: string[]\n direction: "INBOUND" | "OUTBOUND" | "BOTH"\n }\n} | {\n id?: string // uuid\n type: "flows_trigger"\n configuration?: {\n journey_id?: string // uuid\n }\n}\n```\n\n### `AnyAction`\n\n```ts\ntype AnyAction = {\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n} | {\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n} | {\n type?: "trigger-share-entity"\n config?: {\n partner_org_ids?: string[]\n }\n} | {\n type?: "trigger-webhook"\n config?: {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n} | {\n type?: "inform-erp"\n config?: {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n} | {\n type?: "trigger-event"\n config?: {\n event_name: string\n event_inputs?: Record<string, unknown>\n }\n} | {\n type?: "create-document"\n config?: {\n template_id?: string\n filename?: string\n }\n} | {\n type?: "send-email"\n config?: {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: { ... }\n }>\n // ...\n}\n```\n\n### `AnyActionConfig`\n\n```ts\ntype AnyActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n} | {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n} | {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n partner_org_ids?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n} | {\n id?: string\n // ...\n}\n```\n\n### `AutomationActionConfig`\n\n```ts\ntype AutomationActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: string\n config?: Record<string, unknown>\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `AutomationActionExecutionState`\n\n```ts\ntype AutomationActionExecutionState = {\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n started_at?: string\n updated_at?: string\n outputs?: Record<string, unknown>\n error_output?: {\n error_code: "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n error_reason: string\n error_info?: {\n details?: { ... }\n }\n }\n retry_strategy?: "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n}\n```\n\n### `RetryStrategy`\n\ndifferent behaviors for retrying failed execution actions.\n\n```ts\ntype RetryStrategy = "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n```\n\n### `AutomationAction`\n\n```ts\ntype AutomationAction = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: string\n config?: Record<string, unknown>\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n started_at?: string\n updated_at?: string\n outputs?: Record<string, unknown>\n error_output?: {\n error_code: "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n error_reason: string\n error_info?: {\n details?: { ... }\n }\n }\n retry_strategy?: "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n}\n```\n\n### `ErrorOutput`\n\n```ts\ntype ErrorOutput = {\n error_code: "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n error_reason: string\n error_info?: {\n details?: Array<{\n explanation: { ... }\n context?: { ... }\n id?: { ... }\n }>\n }\n}\n```\n\n### `ErrorCode`\n\n```ts\ntype ErrorCode = "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n```\n\n### `ErrorDetail`\n\n```ts\ntype ErrorDetail = {\n explanation: string\n context?: string\n id?: string\n}\n```\n\n### `CartCheckoutActionConfig`\n\n```ts\ntype CartCheckoutActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "cart-checkout"\n config?: {\n version?: string\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n target_unique?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `CartCheckoutAction`\n\n```ts\ntype CartCheckoutAction = {\n type?: "cart-checkout"\n config?: {\n version?: string\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n target_unique?: string[]\n }\n}\n```\n\n### `CartCheckoutConfig`\n\n```ts\ntype CartCheckoutConfig = {\n version?: string\n mapping_config?: {\n config_id: string\n target_id: string\n version?: number\n }\n relation_attributes?: Array<{\n target: string\n target_tags?: string[]\n target_tags_include_source?: boolean\n source_filter?: {\n limit?: { ... }\n schema?: { ... }\n attribute?: { ... }\n relation_tag?: { ... }\n tag?: { ... }\n self?: { ... }\n }\n related_to?: Record<string, unknown>\n mode: "append" | "prepend" | "set"\n }>\n mapping_attributes?: Array<{\n target?: string\n operation: {\n _set?: { ... }\n _append?: { ... }\n _uniq?: { ... }\n _copy?: { ... }\n } | unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n target_unique?: string[]\n}\n```\n\n### `MapEntityActionConfig`\n\n```ts\ntype MapEntityActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `MapEntityAction`\n\n```ts\ntype MapEntityAction = {\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n}\n```\n\n### `MapEntityConfig`\n\n```ts\ntype MapEntityConfig = {\n mapping_config?: {\n config_id: string\n target_id: string\n version?: number\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: string\n operation: {\n _set?: { ... }\n _append?: { ... }\n _uniq?: { ... }\n _copy?: { ... }\n } | unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n }>\n relation_attributes?: Array<{\n target: string\n target_tags?: string[]\n target_tags_include_source?: boolean\n source_filter?: {\n limit?: { ... }\n schema?: { ... }\n attribute?: { ... }\n relation_tag?: { ... }\n tag?: { ... }\n self?: { ... }\n }\n related_to?: Record<string, unknown>\n mode: "append" | "prepend" | "set"\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n}\n```\n\n### `MappingConfigRef`\n\n```ts\ntype MappingConfigRef = {\n config_id: string\n target_id: string\n version?: number\n}\n```\n\n### `RelationAttribute`\n\n```ts\ntype RelationAttribute = {\n target: string\n target_tags?: string[]\n target_tags_include_source?: boolean\n source_filter?: {\n limit?: number\n schema?: string\n attribute?: string\n relation_tag?: string\n tag?: string\n self?: boolean\n }\n related_to?: Record<string, unknown>\n mode: "append" | "prepend" | "set"\n}\n```\n\n### `MappingAttributeV2`\n\n```ts\ntype MappingAttributeV2 = {\n target?: string\n operation: {\n _set?: unknown\n _append?: unknown\n _uniq?: boolean | string[]\n _copy?: string\n } | unknown\n}\n```\n\n### `OperationNode`\n\nMapping operation nodes are either primitive values or operation node objects\n\n```ts\ntype OperationNode = {\n _set?: unknown\n _append?: unknown\n _uniq?: boolean | string[]\n _copy?: string\n} | unknown\n```\n\n### `OperationObjectNode`\n\n```ts\ntype OperationObjectNode = {\n _set?: unknown\n _append?: unknown\n _uniq?: boolean | string[]\n _copy?: string\n}\n```\n\n### `PrimitiveJSONValue`\n\n```ts\ntype PrimitiveJSONValue = unknown\n```\n\n### `MappingAttribute`\n\n```ts\ntype MappingAttribute = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n} | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n} | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n}\n```\n\n### `MappingAttributeMode`\n\n- copy_if_exists - it replaces the target attribute with the source value - append_if_exists - it currently replaces target attribute with array like values. Useful when you have multiple values to be added into one attribute. - set_value - it sets a value to a predefined value. Must be used togethe\n\n```ts\ntype MappingAttributeMode = "copy_if_exists" | "append_if_exists" | "set_value"\n```\n\n### `SetValueMapper`\n\n```ts\ntype SetValueMapper = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n}\n```\n\n### `CopyValueMapper`\n\n```ts\ntype CopyValueMapper = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n}\n```\n\n### `AppendValueMapper`\n\n```ts\ntype AppendValueMapper = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n}\n```\n\n### `MoveThreadAction`\n\n```ts\ntype MoveThreadAction = {\n type?: "move-thread"\n config?: {\n target_inbox_id?: string\n }\n}\n```\n\n### `AssignThreadAction`\n\n```ts\ntype AssignThreadAction = {\n type?: "assign-thread"\n config?: {\n remove?: string[]\n add?: string[]\n }\n}\n```\n\n### `MoveThreadConfig`\n\n```ts\ntype MoveThreadConfig = {\n target_inbox_id?: string\n}\n```\n\n### `AssignThreadConfig`\n\n```ts\ntype AssignThreadConfig = {\n remove?: string[]\n add?: string[]\n}\n```\n\n### `SendEmailActionConfig`\n\n```ts\ntype SendEmailActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "send-email"\n config?: {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: { ... }\n }>\n conditions?: Array<{\n _equals?: { ... }\n }>\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `SendEmailAction`\n\n```ts\ntype SendEmailAction = {\n type?: "send-email"\n config?: {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: { ... }\n }>\n conditions?: Array<{\n _equals?: { ... }\n }>\n }\n}\n```\n\n### `SendEmailConfig`\n\n```ts\ntype SendEmailConfig = {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: {\n limit?: { ... }\n filename_regex?: { ... }\n attribute?: { ... }\n relation_tag?: { ... }\n tag?: { ... }\n document_type?: { ... }\n self?: { ... }\n }\n }>\n conditions?: Array<{\n _equals?: {\n source?: { ... }\n value?: { ... }\n }\n }>\n}\n```\n\n### `SendEmailCondition`\n\n```ts\ntype SendEmailCondition = {\n _equals?: {\n source?: string\n value?: string\n }\n}\n```\n\n### `CreateDocumentActionConfig`\n\n```ts\ntype CreateDocumentActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "create-document"\n config?: {\n template_id?: string\n filename?: string\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `CreateDocumentAction`\n\n```ts\ntype CreateDocumentAction = {\n type?: "create-document"\n config?: {\n template_id?: string\n filename?: string\n }\n}\n```\n\n### `CreateDocumentConfig`\n\n```ts\ntype CreateDocumentConfig = {\n template_id?: string\n filename?: string\n}\n```\n\n### `TriggerWorkflowActionConfig`\n\n```ts\ntype TriggerWorkflowActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerWorkflowAction`\n\n```ts\ntype TriggerWorkflowAction = {\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n}\n```\n\n### `TriggerWorkflowConfig`\n\n```ts\ntype TriggerWorkflowConfig = {\n target_workflow?: string\n conditions?: Array<{\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n schema?: string\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: string\n step_name?: string\n user_ids?: number[]\n }>\n filter_with_purposes?: boolean\n}\n```\n\n### `TriggerWorkflowCondition`\n\n```ts\ntype TriggerWorkflowCondition = {\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n schema?: string\n}\n```\n\n### `TriggerShareEntityActionConfig`\n\n```ts\ntype TriggerShareEntityActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n partner_org_ids?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerShareEntityAction`\n\n```ts\ntype TriggerShareEntityAction = {\n type?: "trigger-share-entity"\n config?: {\n partner_org_ids?: string[]\n }\n}\n```\n\n### `TriggerShareEntityConfig`\n\n```ts\ntype TriggerShareEntityConfig = {\n partner_org_ids?: string[]\n}\n```\n\n### `AssignUsersToStep`\n\n```ts\ntype AssignUsersToStep = {\n step_id?: string\n step_name?: string\n user_ids?: number[]\n}\n```\n\n### `CustomAction`\n\n```ts\ntype CustomAction = {\n type?: "custom-action"\n config?: {\n name?: string\n description?: string\n app_id?: string\n component_id?: string\n wait_for_callback?: boolean\n }\n}\n```\n\n### `TriggerWebhookActionConfig`\n\n```ts\ntype TriggerWebhookActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-webhook"\n config?: {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerWebhookAction`\n\n```ts\ntype TriggerWebhookAction = {\n type?: "trigger-webhook"\n config?: {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n}\n```\n\n### `TriggerWebhookConfig`\n\n```ts\ntype TriggerWebhookConfig = {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n}\n```\n\n### `InformERPActionConfig`\n\n```ts\ntype InformERPActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "inform-erp"\n config?: {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `InformERPAction`\n\n```ts\ntype InformERPAction = {\n type?: "inform-erp"\n config?: {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n}\n```\n\n### `InformERPConfig`\n\n```ts\ntype InformERPConfig = {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n}\n```\n\n### `TriggerEventActionConfig`\n\n```ts\ntype TriggerEventActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-event"\n config?: {\n event_name: string\n event_inputs?: Record<string, unknown>\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerEventAction`\n\n```ts\ntype TriggerEventAction = {\n type?: "trigger-event"\n config?: {\n event_name: string\n event_inputs?: Record<string, unknown>\n }\n}\n```\n\n### `TriggerEventConfig`\n\nConfiguration for triggering an event catalog event\n\n```ts\ntype TriggerEventConfig = {\n event_name: string\n event_inputs?: Record<string, unknown>\n}\n```\n\n### `FlowExecutionCancelActionConfig`\n\n```ts\ntype FlowExecutionCancelActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "cancel-flow-execution"\n config?: {\n selected_reasons?: Array<{\n id: { ... }\n title: { ... }\n }>\n extra_description?: string\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `FlowExecutionCancelAction`\n\n```ts\ntype FlowExecutionCancelAction = {\n type?: "cancel-flow-execution"\n config?: {\n selected_reasons?: Array<{\n id: { ... }\n title: { ... }\n }>\n extra_description?: string\n }\n}\n```\n\n### `FlowExecutionCancelConfig`\n\nConfiguration for cancelling a flow execution with selected reasons\n\n```ts\ntype FlowExecutionCancelConfig = {\n selected_reasons?: Array<{\n id: string\n title: string\n }>\n extra_description?: string\n}\n```\n\n### `CancellationReason`\n\nA reason for cancelling a flow execution\n\n```ts\ntype CancellationReason = {\n id: string\n title: string\n}\n```\n\n### `ConditionStatement`\n\n```ts\ntype ConditionStatement = {\n id?: string // uuid\n source?: {\n id?: string\n origin?: "trigger" | "action"\n originType?: "entity" | "workflow" | "journey_block"\n schema?: string\n attribute?: string\n attributeType?: "string" | "text" | "number" | "boolean" | "date" | "datetime" | "tags" | "country" | "email" | "phone" | "product" | "price" | "status" | "relation" | "multiselect" | "select" | "radio" | "relation_user" | "purpose" | "label" | "payment" | "relation_payment_method"\n attributeRepeatable?: boolean\n repeatableItemOp?: boolean\n attributeOperation?: "all" | "updated" | "added" | "deleted"\n }\n operation?: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty" | "entity_exists" | "entity_does_not_exist"\n values?: string[]\n}\n```\n\n### `ActionCondition`\n\n```ts\ntype ActionCondition = {\n id?: string\n schedule_id?: string\n evaluationResult?: boolean\n statements?: Array<{\n id?: string // uuid\n source?: {\n id?: { ... }\n origin?: { ... }\n originType?: { ... }\n schema?: { ... }\n attribute?: { ... }\n attributeType?: { ... }\n attributeRepeatable?: { ... }\n repeatableItemOp?: { ... }\n attributeOperation?: { ... }\n }\n operation?: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty" | "entity_exists" | "entity_does_not_exist"\n values?: string[]\n }>\n}\n```\n\n### `ActionScheduleSource`\n\nThe source of the schedule_at timestamp that will be used to schedule the action\n\n```ts\ntype ActionScheduleSource = {\n id: string\n origin: "trigger" | "action" | "action_task" | "automation"\n schema?: string\n attribute?: string\n}\n```\n\n### `ActionSchedule`\n\n```ts\ntype ActionSchedule = {\n id: string\n scheduleApiId?: string\n numberOfUnits?: number\n timePeriod?: "minutes" | "hours" | "days" | "weeks" | "months"\n timeRelation?: "after" | "before"\n source: {\n id: string\n origin: "trigger" | "action" | "action_task" | "automation"\n schema?: string\n attribute?: string\n }\n}\n```\n\n### `AutomationExecutionId`\n\n```ts\ntype AutomationExecutionId = string\n```\n\n### `AutomationExecution`\n\n```ts\ntype AutomationExecution = {\n id: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n entity_id: string\n activity_id?: string\n entity_snapshot?: {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n }\n org_id: string\n flow_id: string\n flow_name?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n current_action_id?: string\n conditions?: Array<{\n id?: string\n schedule_id?: string\n evaluationResult?: boolean\n statements?: Array<{\n id?: { ... }\n source?: { ... }\n operation?: { ... }\n values?: { ... }\n }>\n }>\n schedules?: Array<{\n id: string\n scheduleApiId?: string\n numberOfUnits?: number\n timePeriod?: "minutes" | "hours" | "days" | "weeks" | "months"\n timeRelation?: "after" | "before"\n source: {\n id: { ... }\n origin: { ... }\n schema?: { ... }\n attribute?: { ... }\n }\n }>\n actions: Array<{\n type?: "map-entity"\n config?: {\n mapping_config?: { ... }\n target_schema: { ... }\n target_unique?: { ... }\n mapping_attributes?: { ... }\n relation_attributes?: { ... }\n linkback_relation_attribute?: { ... }\n linkback_relation_tags?: { ... }\n }\n } | {\n type?: "trigger-workflow"\n config?: {\n target_workflow?: { ... }\n conditions?: { ... }\n assignees?: { ... }\n assign_steps?: { ... }\n filter_with_purposes?: { ... }\n }\n } | {\n type?: "trigger-share-entity"\n config?: {\n partner_org_ids?: { ... }\n }\n } | {\n type?: "trigger-webhook"\n config?: {\n event_id?: { ... }\n entity_sources?: { ... }\n target_webhook_id?: { ... }\n sync?: { ... }\n }\n } | {\n type?: "inform-erp"\n config?: {\n entity_sources?: { ... }\n target_webhook_id?: { ... }\n sync?: { ... }\n }\n } | {\n type?: "trigger-event"\n config?: {\n event_name: { ... }\n event_inputs?: { ... }\n }\n } | {\n type?: "create-document"\n config?: {\n template_id?: { ... }\n filename?: { ... }\n }\n } | {\n type?: "send-email"\n config?: {\n email_template_id?: { ... }\n // ...\n}\n```\n\n### `WorkflowExecutionContext`\n\n```ts\ntype WorkflowExecutionContext = {\n workflow_exec_id: string\n workflow_exec_task_id?: string\n workflow_role: "trigger_workflow" | "run_task_automation"\n _execution_chain?: {\n parent_execution_id?: string\n parent_task_id?: string\n depth?: number\n }\n}\n```\n\n### `ExecutionChain`\n\n[Internal] Tracks execution chain for infinite loop prevention. This is an internal property and should not be used by external consumers.\n\n```ts\ntype ExecutionChain = {\n parent_execution_id?: string\n parent_task_id?: string\n depth?: number\n}\n```\n\n### `TriggerEventManual`\n\n```ts\ntype TriggerEventManual = {\n type?: "manual"\n org_id: string\n entity_id: string\n caller?: {\n EpilotAuth?: {\n claims?: { ... }\n userId?: { ... }\n organizationId?: { ... }\n token?: { ... }\n }\n }\n}\n```\n\n### `TriggerEventFlowAutomationTask`\n\n```ts\ntype TriggerEventFlowAutomationTask = {\n type?: "flow_automation_task"\n org_id: string\n entity_id: string\n flow_execution_id: string\n flow_automation_task_id: string // UUID\n caller?: {\n EpilotAuth?: {\n claims?: { ... }\n userId?: { ... }\n organizationId?: { ... }\n token?: { ... }\n }\n }\n}\n```\n\n### `TriggerEventEntityActivity`\n\n```ts\ntype TriggerEventEntityActivity = {\n type?: "entity_activity"\n org_id: string\n activity_id: string\n activity_type: string\n entity_id?: string\n}\n```\n\n### `TriggerEventMessaging`\n\n```ts\ntype TriggerEventMessaging = {\n type?: "new_email_thread"\n org_id: string\n thread_id: string\n message_id: string\n entity_id: string\n}\n```\n\n### `TriggerEventEntityOperation`\n\n```ts\ntype TriggerEventEntityOperation = {\n type?: "entity_operation"\n entity_id: string\n org_id: string\n activity_id: string\n operation_type: "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"\n}\n```\n\n### `ApiCallerContext`\n\n```ts\ntype ApiCallerContext = {\n EpilotAuth?: {\n claims?: {\n userId?: { ... }\n sub?: { ... }\n email?: { ... }\n cognito:username?: { ... }\n custom:ivy_user_id?: { ... }\n }\n userId?: string\n organizationId?: string\n token?: string\n }\n}\n```\n\n### `ExecutionStatus`\n\n```ts\ntype ExecutionStatus = "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n```\n\n### `GetExecutionsResp`\n\n```ts\ntype GetExecutionsResp = {\n total: number\n results: Array<{\n id: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n entity_id: string\n activity_id?: string\n entity_snapshot?: {\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n }\n org_id: string\n flow_id: string\n flow_name?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n current_action_id?: string\n conditions?: Array<{\n id?: { ... }\n schedule_id?: { ... }\n evaluationResult?: { ... }\n statements?: { ... }\n }>\n schedules?: Array<{\n id: { ... }\n scheduleApiId?: { ... }\n numberOfUnits?: { ... }\n timePeriod?: { ... }\n timeRelation?: { ... }\n source: { ... }\n }>\n actions: Array<{\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n id?: { ... }\n flow_action_id?: { ... }\n name?: { ... }\n type?: { ... }\n config?: { ... }\n allow_failure?: { ... }\n created_automatically?: { ... }\n is_bulk_action?: { ... }\n reason?: { ... }\n condition_id?: { ... }\n schedule_id?: { ... }\n execution_status?: { ... }\n started_at?: { ... }\n updated_at?: { ... }\n outputs?: { ... }\n error_output?: { ... }\n retry_strategy?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n }>\n resume_token?: string\n trigger_context?: Record<string, string>\n version?: number\n trigger_event?: {\n type?: { ... }\n org_id: { ... }\n entity_id: { ... }\n caller?: { ... }\n } | {\n type?: { ... }\n org_id: { ... }\n activity_id: { ... }\n // ...\n}\n```\n\n### `StartExecutionRequest`\n\n```ts\ntype StartExecutionRequest = {\n entity_id: string\n flow_id: string\n workflow_context?: {\n workflow_exec_id: string\n workflow_exec_task_id?: string\n workflow_role: "trigger_workflow" | "run_task_automation"\n _execution_chain?: {\n parent_execution_id?: { ... }\n parent_task_id?: { ... }\n depth?: { ... }\n }\n }\n flow_execution_id?: string\n flow_automation_task_id?: string\n}\n```\n\n### `PatchBulkJobRequest`\n\n```ts\ntype PatchBulkJobRequest = {\n action: "APPROVE" | "CANCEL"\n task_token: string\n}\n```\n\n### `BulkTriggerRequest`\n\n```ts\ntype BulkTriggerRequest = {\n flow_id: string\n entities_refs: Array<{\n entity_id: string\n entity_schema: string\n }>\n trigger_context?: Record<string, string>\n} | {\n flow_id: string\n entities_query: string\n trigger_context?: Record<string, string>\n} | {\n flow_id: string\n entities_filter: Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: { ... }\n }\n range?: Record<string, {\n gt?: { ... }\n gte?: { ... }\n lt?: { ... }\n lte?: { ... }\n format?: { ... }\n relation?: { ... }\n time_zone?: { ... }\n }>\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n trigger_context?: Record<string, string>\n}\n```\n\n### `EntityRef`\n\n```ts\ntype EntityRef = {\n entity_id: string\n entity_schema: string\n}\n```\n\n### `BulkTriggerJob`\n\n```ts\ntype BulkTriggerJob = {\n job_id: string\n org_id: string\n flow_id: string\n status: "approval" | "querying_entities" | "entities_loaded" | "executing" | "monitoring" | "send_report" | "finished" | "failed" | "cancelled"\n created_by: string\n created_at: string // date-time\n updated_at: string // date-time\n approved_at?: string // date-time\n trigger_context?: Record<string, string>\n task_token?: string\n report_file_entity_id?: string\n entity_query?: {\n type: "refs" | "query" | "filter"\n data: Array<{\n entity_id: { ... }\n entity_schema: { ... }\n }> | string | Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }\n pagination_state?: {\n page_size?: number\n pages_processed?: number\n total_processed?: number\n stable_query_id?: string\n search_after?: string | number[]\n has_more?: boolean\n }\n execution_summary?: Array<{\n entity_id: string\n entity_schema?: string\n execution_id?: string\n execution_status: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n timestamp?: string // date-time\n error?: string\n }>\n}\n```\n\n### `ExecItem`\n\nExecution item for bulk trigger automation. It maps each entity to its automation execution id & status\n\n```ts\ntype ExecItem = {\n entity_id: string\n entity_schema?: string\n execution_id?: string\n execution_status: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n timestamp?: string // date-time\n error?: string\n}\n```\n\n### `JobId`\n\nJob ID for tracking the status of bulk trigger automation executions\n\n```ts\ntype JobId = string\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `ActivityId`\n\n```ts\ntype ActivityId = string\n```\n\n### `OrganizationId`\n\n```ts\ntype OrganizationId = string\n```\n\n### `TriggerContext`\n\nAdditional contextual data for a bulk trigger automation. This would normally include additional entity IDs you\'d need after a listener picks up an event.\n\n```ts\ntype TriggerContext = Record<string, string>\n```\n\n### `AutomationTrigger`\n\n```ts\ntype AutomationTrigger = {\n id?: string // uuid\n}\n```\n\n### `FlowsTrigger`\n\n```ts\ntype FlowsTrigger = {\n id?: string // uuid\n type: "flows_trigger"\n configuration?: {\n journey_id?: string // uuid\n }\n}\n```\n\n### `JourneySubmitTrigger`\n\n```ts\ntype JourneySubmitTrigger = {\n id?: string // uuid\n type: "journey_submission"\n configuration: {\n source_id: string // uuid\n }\n}\n```\n\n### `FrontendSubmitTrigger`\n\n```ts\ntype FrontendSubmitTrigger = {\n id?: string // uuid\n type: "frontend_submission"\n configuration: {\n source_id?: string\n }\n}\n```\n\n### `ApiSubmissionTrigger`\n\n```ts\ntype ApiSubmissionTrigger = {\n id?: string // uuid\n type: "api_submission"\n configuration: {\n source_id?: string\n }\n}\n```\n\n### `NewEmailThreadTrigger`\n\n```ts\ntype NewEmailThreadTrigger = {\n id?: string // uuid\n type: "new_email_thread"\n configuration: {\n shared_inbox_ids?: string[]\n direction: "INBOUND" | "OUTBOUND" | "BOTH"\n }\n}\n```\n\n### `ReceivedEmailTrigger`\n\n```ts\ntype ReceivedEmailTrigger = {\n id?: string // uuid\n type: "received_email"\n configuration: {\n message_type?: "RECEIVED"\n }\n}\n```\n\n### `EntityOperationTrigger`\n\n- If provides filter_config, executes an automation based on the filtered configuration when an entity event occurs.\n- The conditions on a filter follows the event bridge patterns - `https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html`\n | Comparison | Example\n\n```ts\ntype EntityOperationTrigger = {\n id?: string // uuid\n type: "entity_operation"\n configuration: {\n schema?: string\n operations?: "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"[]\n include_activities?: string[]\n exclude_activities?: string[]\n filter_config?: {\n operation?: { ... }\n activity?: { ... }\n }\n ecp_config?: {\n origin?: { ... }\n portal_id?: { ... }\n file_config?: { ... }\n }\n }\n}\n```\n\n### `ActivityTrigger`\n\n```ts\ntype ActivityTrigger = {\n id?: string // uuid\n type: "activity"\n configuration: {\n schema?: string\n types?: "CreateMeterReading" | "UpdateMeterReading" | "DocDownloadedFromPortal" | "PortalUserResetPassword" | "PortalUserResetForgotPassword" | "SelfAssignmentFromPortal" | string[]\n }\n}\n```\n\n### `EntityOperation`\n\n```ts\ntype EntityOperation = "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"\n```\n\n### `EntitySearchFilter`\n\nA subset of simplified Elasticsearch query clauses. The default operator is a logical AND. Use nested $and, $or, $not to combine filters using different logical operators.\n\n```ts\ntype EntitySearchFilter = Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: string[]\n }\n range?: Record<string, {\n gt?: string | number | boolean\n gte?: string | number | boolean\n lt?: string | number | boolean\n lte?: string | number | boolean\n format?: string\n relation?: "INTERSECTS" | "CONTAINS" | "WITHIN"\n time_zone?: string\n }>\n exists?: {\n field: string\n }\n $and?: Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: { ... }\n }\n range?: Record<string, {\n gt?: { ... }\n gte?: { ... }\n lt?: { ... }\n lte?: { ... }\n format?: { ... }\n relation?: { ... }\n time_zone?: { ... }\n }>\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n $or?: Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: { ... }\n }\n range?: Record<string, {\n gt?: { ... }\n gte?: { ... }\n lt?: { ... }\n lte?: { ... }\n format?: { ... }\n relation?: { ... }\n time_zone?: { ... }\n }>\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n // ...\n}\n```\n\n### `EntitySearchFilterValue`\n\nA filter field value.\n\n```ts\ntype EntitySearchFilterValue = string | number | boolean\n```\n\n### `EntityManualTrigger`\n\n```ts\ntype EntityManualTrigger = {\n id?: string // uuid\n type: "entity_manual"\n configuration: {\n schema?: string\n }\n}\n```\n\n### `TriggerCondition`\n\n```ts\ntype TriggerCondition = {\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n}\n```\n\n### `Comparison`\n\n```ts\ntype Comparison = "equals" | "any_of" | "not_empty" | "is_empty"\n```\n\n### `FilterConditionOnEvent`\n\n```ts\ntype FilterConditionOnEvent = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `EqualsIgnoreCaseCondition`\n\n```ts\ntype EqualsIgnoreCaseCondition = {\n equals-ignore-case?: string\n}\n```\n\n### `AnythingButCondition`\n\n```ts\ntype AnythingButCondition = {\n anything-but?: string[]\n}\n```\n\n### `NumericCondition`\n\n```ts\ntype NumericCondition = {\n numeric?: string | number[]\n}\n```\n\n### `ExistsCondition`\n\n```ts\ntype ExistsCondition = {\n exists?: boolean\n}\n```\n\n### `PrefixCondition`\n\n```ts\ntype PrefixCondition = {\n prefix?: string\n}\n```\n\n### `SuffixCondition`\n\n```ts\ntype SuffixCondition = {\n suffix?: string\n}\n```\n\n### `WildcardCondition`\n\n```ts\ntype WildcardCondition = {\n wildcard?: string\n}\n```\n\n### `OrCondition`\n\n```ts\ntype OrCondition = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n}\n```\n\n### `DiffAdded`\n\n```ts\ntype DiffAdded = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `DiffUpdated`\n\n```ts\ntype DiffUpdated = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `DiffDeleted`\n\n```ts\ntype DiffDeleted = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `OrConditionForDiff`\n\n```ts\ntype OrConditionForDiff = {\n $or?: unknown | unknown | unknown[]\n}\n```\n\n### `EntityItemSnapshot`\n\n```ts\ntype EntityItemSnapshot = {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `RetryReq`\n\n```ts\ntype RetryReq = {\n condition_id?: string\n retry_strategy?: "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n}\n```\n\n### `ResumeToken`\n\nA unique token to resume a paused automation execution\n\n```ts\ntype ResumeToken = string\n```\n\n### `ResumeReq`\n\n```ts\ntype ResumeReq = {\n resume_token: string\n}\n```\n\n### `ResumeResp`\n\n```ts\ntype ResumeResp = {\n execution: {\n id: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n entity_id: string\n activity_id?: string\n entity_snapshot?: {\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n }\n org_id: string\n flow_id: string\n flow_name?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n current_action_id?: string\n conditions?: Array<{\n id?: { ... }\n schedule_id?: { ... }\n evaluationResult?: { ... }\n statements?: { ... }\n }>\n schedules?: Array<{\n id: { ... }\n scheduleApiId?: { ... }\n numberOfUnits?: { ... }\n timePeriod?: { ... }\n timeRelation?: { ... }\n source: { ... }\n }>\n actions: Array<{\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n id?: { ... }\n flow_action_id?: { ... }\n name?: { ... }\n type?: { ... }\n config?: { ... }\n allow_failure?: { ... }\n created_automatically?: { ... }\n is_bulk_action?: { ... }\n reason?: { ... }\n condition_id?: { ... }\n schedule_id?: { ... }\n execution_status?: { ... }\n started_at?: { ... }\n updated_at?: { ... }\n outputs?: { ... }\n error_output?: { ... }\n retry_strategy?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n }>\n resume_token?: string\n trigger_context?: Record<string, string>\n version?: number\n trigger_event?: {\n type?: { ... }\n org_id: { ... }\n entity_id: { ... }\n caller?: { ... }\n } | {\n type?: { ... }\n org_id: { ... }\n activity_id: { ... }\n activity_type: { ... }\n // ...\n}\n```\n\n### `ErrorObject`\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = automation_default;
|