@skedulo/integration-sdk 0.2.4 → 0.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/CHANGELOG.md +43 -1
- package/README.md +9 -0
- package/dist/adapters/adapter-registry.d.ts +9 -0
- package/dist/adapters/adapter-registry.d.ts.map +1 -0
- package/dist/adapters/adapter-registry.js +34 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/base-adapter-handler.d.ts +105 -0
- package/dist/adapters/base-adapter-handler.d.ts.map +1 -0
- package/dist/adapters/base-adapter-handler.js +379 -0
- package/dist/adapters/base-adapter-handler.js.map +1 -0
- package/dist/adapters/base.adapter.d.ts +38 -17
- package/dist/adapters/base.adapter.d.ts.map +1 -1
- package/dist/adapters/base.adapter.js +80 -22
- package/dist/adapters/base.adapter.js.map +1 -1
- package/dist/adapters/helpers.d.ts +15 -0
- package/dist/adapters/helpers.d.ts.map +1 -0
- package/dist/adapters/helpers.js +55 -0
- package/dist/adapters/helpers.js.map +1 -0
- package/dist/adapters/skedulo-metadata-adapter.d.ts +3 -0
- package/dist/adapters/skedulo-metadata-adapter.d.ts.map +1 -0
- package/dist/adapters/skedulo-metadata-adapter.js +57 -0
- package/dist/adapters/skedulo-metadata-adapter.js.map +1 -0
- package/dist/adapters/skedulo-metadata.adapter.d.ts +3 -0
- package/dist/adapters/skedulo-metadata.adapter.d.ts.map +1 -0
- package/dist/adapters/skedulo-metadata.adapter.js +57 -0
- package/dist/adapters/skedulo-metadata.adapter.js.map +1 -0
- package/dist/adapters/skedulo.adapter.d.ts +11 -0
- package/dist/adapters/skedulo.adapter.d.ts.map +1 -1
- package/dist/adapters/skedulo.adapter.js +31 -7
- package/dist/adapters/skedulo.adapter.js.map +1 -1
- package/dist/adapters/upsert-harness.d.ts +15 -0
- package/dist/adapters/upsert-harness.d.ts.map +1 -0
- package/dist/adapters/upsert-harness.js +55 -0
- package/dist/adapters/upsert-harness.js.map +1 -0
- package/dist/clients/dataflow-client.d.ts +18 -0
- package/dist/clients/dataflow-client.d.ts.map +1 -0
- package/dist/clients/dataflow-client.js +43 -0
- package/dist/clients/dataflow-client.js.map +1 -0
- package/dist/clients/dataflow.client.js +2 -2
- package/dist/clients/dataflow.client.js.map +1 -1
- package/dist/clients/proxy-client.d.ts +13 -0
- package/dist/clients/proxy-client.d.ts.map +1 -0
- package/dist/clients/proxy-client.js +20 -0
- package/dist/clients/proxy-client.js.map +1 -0
- package/dist/clients/proxy.client.d.ts +11 -1
- package/dist/clients/proxy.client.d.ts.map +1 -1
- package/dist/clients/proxy.client.js.map +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/context.d.ts +5 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +9 -0
- package/dist/context.js.map +1 -1
- package/dist/dist/adapters/skedulo-metadata-adapter.d.ts +3 -0
- package/dist/dist/adapters/skedulo-metadata-adapter.d.ts.map +1 -0
- package/dist/dist/adapters/skedulo-metadata-adapter.js +57 -0
- package/dist/dist/adapters/skedulo-metadata-adapter.js.map +1 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.d.ts +3 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.d.ts.map +1 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.js +57 -0
- package/dist/dist/adapters/skedulo-metadata.adapter.js.map +1 -0
- package/dist/dist/adapters/skedulo.adapter.d.ts +15 -0
- package/dist/dist/adapters/skedulo.adapter.d.ts.map +1 -0
- package/dist/dist/adapters/skedulo.adapter.js +213 -0
- package/dist/dist/adapters/skedulo.adapter.js.map +1 -0
- package/dist/dist/browser.d.ts +12 -0
- package/dist/dist/browser.d.ts.map +1 -0
- package/dist/dist/browser.js +9 -0
- package/dist/dist/browser.js.map +1 -0
- package/dist/dist/clients/dataflow-client.d.ts +18 -0
- package/dist/dist/clients/dataflow-client.d.ts.map +1 -0
- package/dist/dist/clients/dataflow-client.js +43 -0
- package/dist/dist/clients/dataflow-client.js.map +1 -0
- package/dist/dist/clients/dataflow.client.d.ts +19 -0
- package/dist/dist/clients/dataflow.client.d.ts.map +1 -0
- package/dist/dist/clients/dataflow.client.js +28 -0
- package/dist/dist/clients/dataflow.client.js.map +1 -0
- package/dist/dist/clients/proxy-client.d.ts +13 -0
- package/dist/dist/clients/proxy-client.d.ts.map +1 -0
- package/dist/dist/clients/proxy-client.js +20 -0
- package/dist/dist/clients/proxy-client.js.map +1 -0
- package/dist/dist/clients/proxy.client.d.ts +13 -0
- package/dist/dist/clients/proxy.client.d.ts.map +1 -0
- package/dist/dist/clients/proxy.client.js +21 -0
- package/dist/dist/clients/proxy.client.js.map +1 -0
- package/dist/dist/constants.d.ts +17 -0
- package/dist/dist/constants.d.ts.map +1 -0
- package/dist/dist/constants.js +20 -0
- package/dist/dist/constants.js.map +1 -0
- package/dist/dist/context.d.ts +19 -0
- package/dist/dist/context.d.ts.map +1 -0
- package/dist/dist/context.js +40 -0
- package/dist/dist/context.js.map +1 -0
- package/dist/dist/handlers/metadata.handler.d.ts +17 -0
- package/dist/dist/handlers/metadata.handler.d.ts.map +1 -0
- package/dist/dist/handlers/metadata.handler.js +50 -0
- package/dist/dist/handlers/metadata.handler.js.map +1 -0
- package/dist/dist/index.d.ts +18 -0
- package/dist/dist/index.d.ts.map +1 -0
- package/dist/dist/index.js +48 -0
- package/dist/dist/index.js.map +1 -0
- package/dist/dist/interfaces/adapter.interface.d.ts +122 -0
- package/dist/dist/interfaces/adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/adapter.interface.js +3 -0
- package/dist/dist/interfaces/adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/data-flow-spec.interface.d.ts +22 -0
- package/dist/dist/interfaces/data-flow-spec.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/data-flow-spec.interface.js +3 -0
- package/dist/dist/interfaces/data-flow-spec.interface.js.map +1 -0
- package/dist/dist/interfaces/field-mapping.interface.d.ts +26 -0
- package/dist/dist/interfaces/field-mapping.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/field-mapping.interface.js +3 -0
- package/dist/dist/interfaces/field-mapping.interface.js.map +1 -0
- package/dist/dist/interfaces/filter.interface.d.ts +19 -0
- package/dist/dist/interfaces/filter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/filter.interface.js +20 -0
- package/dist/dist/interfaces/filter.interface.js.map +1 -0
- package/dist/dist/interfaces/integration-capabilities.interface.d.ts +13 -0
- package/dist/dist/interfaces/integration-capabilities.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/integration-capabilities.interface.js +3 -0
- package/dist/dist/interfaces/integration-capabilities.interface.js.map +1 -0
- package/dist/dist/interfaces/lookup-rule.interface.d.ts +14 -0
- package/dist/dist/interfaces/lookup-rule.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/lookup-rule.interface.js +3 -0
- package/dist/dist/interfaces/lookup-rule.interface.js.map +1 -0
- package/dist/dist/interfaces/mapped-event.interface.d.ts +9 -0
- package/dist/dist/interfaces/mapped-event.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/mapped-event.interface.js +3 -0
- package/dist/dist/interfaces/mapped-event.interface.js.map +1 -0
- package/dist/dist/interfaces/mapping-config.interface.d.ts +26 -0
- package/dist/dist/interfaces/mapping-config.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/mapping-config.interface.js +3 -0
- package/dist/dist/interfaces/mapping-config.interface.js.map +1 -0
- package/dist/dist/interfaces/metadata-adapter.interface.d.ts +26 -0
- package/dist/dist/interfaces/metadata-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/metadata-adapter.interface.js +3 -0
- package/dist/dist/interfaces/metadata-adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/pull-adapter.interface.d.ts +50 -0
- package/dist/dist/interfaces/pull-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/pull-adapter.interface.js +3 -0
- package/dist/dist/interfaces/pull-adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/push-adapter.interface.d.ts +28 -0
- package/dist/dist/interfaces/push-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/push-adapter.interface.js +3 -0
- package/dist/dist/interfaces/push-adapter.interface.js.map +1 -0
- package/dist/dist/interfaces/sample-fetcher.interface.d.ts +4 -0
- package/dist/dist/interfaces/sample-fetcher.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/sample-fetcher.interface.js +3 -0
- package/dist/dist/interfaces/sample-fetcher.interface.js.map +1 -0
- package/dist/dist/interfaces/sync-result.interface.d.ts +19 -0
- package/dist/dist/interfaces/sync-result.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/sync-result.interface.js +3 -0
- package/dist/dist/interfaces/sync-result.interface.js.map +1 -0
- package/dist/dist/interfaces/target-adapter.interface.d.ts +10 -0
- package/dist/dist/interfaces/target-adapter.interface.d.ts.map +1 -0
- package/dist/dist/interfaces/target-adapter.interface.js +3 -0
- package/dist/dist/interfaces/target-adapter.interface.js.map +1 -0
- package/dist/dist/mocks/hubspot.d.ts +4 -0
- package/dist/dist/mocks/hubspot.d.ts.map +1 -0
- package/dist/dist/mocks/hubspot.js +61 -0
- package/dist/dist/mocks/hubspot.js.map +1 -0
- package/dist/dist/provenance.d.ts +3 -0
- package/dist/dist/provenance.d.ts.map +1 -0
- package/dist/dist/provenance.js +12 -0
- package/dist/dist/provenance.js.map +1 -0
- package/dist/dist/services/dataflow-service.d.ts +21 -0
- package/dist/dist/services/dataflow-service.d.ts.map +1 -0
- package/dist/dist/services/dataflow-service.js +47 -0
- package/dist/dist/services/dataflow-service.js.map +1 -0
- package/dist/dist/services/dataflow.service.d.ts +20 -0
- package/dist/dist/services/dataflow.service.d.ts.map +1 -0
- package/dist/dist/services/dataflow.service.js +52 -0
- package/dist/dist/services/dataflow.service.js.map +1 -0
- package/dist/dist/services/eql.d.ts +2 -0
- package/dist/dist/services/eql.d.ts.map +1 -0
- package/dist/dist/services/eql.js +10 -0
- package/dist/dist/services/eql.js.map +1 -0
- package/dist/dist/services/mapping-service.d.ts +14 -0
- package/dist/dist/services/mapping-service.d.ts.map +1 -0
- package/dist/dist/services/mapping-service.js +88 -0
- package/dist/dist/services/mapping-service.js.map +1 -0
- package/dist/dist/services/mapping.service.d.ts +14 -0
- package/dist/dist/services/mapping.service.d.ts.map +1 -0
- package/dist/dist/services/mapping.service.js +89 -0
- package/dist/dist/services/mapping.service.js.map +1 -0
- package/dist/dist/services/outbound-service.d.ts +14 -0
- package/dist/dist/services/outbound-service.d.ts.map +1 -0
- package/dist/dist/services/outbound-service.js +65 -0
- package/dist/dist/services/outbound-service.js.map +1 -0
- package/dist/dist/services/paragon-workflow-service.d.ts +7 -0
- package/dist/dist/services/paragon-workflow-service.d.ts.map +1 -0
- package/dist/dist/services/paragon-workflow-service.js +68 -0
- package/dist/dist/services/paragon-workflow-service.js.map +1 -0
- package/dist/dist/services/paragon-workflow.service.d.ts +8 -0
- package/dist/dist/services/paragon-workflow.service.d.ts.map +1 -0
- package/dist/dist/services/paragon-workflow.service.js +31 -0
- package/dist/dist/services/paragon-workflow.service.js.map +1 -0
- package/dist/dist/services/preview-service.d.ts +11 -0
- package/dist/dist/services/preview-service.d.ts.map +1 -0
- package/dist/dist/services/preview-service.js +66 -0
- package/dist/dist/services/preview-service.js.map +1 -0
- package/dist/dist/services/preview.service.d.ts +11 -0
- package/dist/dist/services/preview.service.d.ts.map +1 -0
- package/dist/dist/services/preview.service.js +74 -0
- package/dist/dist/services/preview.service.js.map +1 -0
- package/dist/dist/services/pull-service.d.ts +9 -0
- package/dist/dist/services/pull-service.d.ts.map +1 -0
- package/dist/dist/services/pull-service.js +207 -0
- package/dist/dist/services/pull-service.js.map +1 -0
- package/dist/dist/services/pull.service.d.ts +11 -0
- package/dist/dist/services/pull.service.d.ts.map +1 -0
- package/dist/dist/services/pull.service.js +200 -0
- package/dist/dist/services/pull.service.js.map +1 -0
- package/dist/dist/services/push-service.d.ts +16 -0
- package/dist/dist/services/push-service.d.ts.map +1 -0
- package/dist/dist/services/push-service.js +76 -0
- package/dist/dist/services/push-service.js.map +1 -0
- package/dist/dist/services/push.service.d.ts +19 -0
- package/dist/dist/services/push.service.d.ts.map +1 -0
- package/dist/dist/services/push.service.js +186 -0
- package/dist/dist/services/push.service.js.map +1 -0
- package/dist/dist/services/scheduled-pull-service.d.ts +7 -0
- package/dist/dist/services/scheduled-pull-service.d.ts.map +1 -0
- package/dist/dist/services/scheduled-pull-service.js +58 -0
- package/dist/dist/services/scheduled-pull-service.js.map +1 -0
- package/dist/dist/services/split-filter.d.ts +3 -0
- package/dist/dist/services/split-filter.d.ts.map +1 -0
- package/dist/dist/services/split-filter.js +50 -0
- package/dist/dist/services/split-filter.js.map +1 -0
- package/dist/dist/services/sync-runner.d.ts +22 -0
- package/dist/dist/services/sync-runner.d.ts.map +1 -0
- package/dist/dist/services/sync-runner.js +110 -0
- package/dist/dist/services/sync-runner.js.map +1 -0
- package/dist/dist/services/sync.service.d.ts +21 -0
- package/dist/dist/services/sync.service.d.ts.map +1 -0
- package/dist/dist/services/sync.service.js +166 -0
- package/dist/dist/services/sync.service.js.map +1 -0
- package/dist/dist/types.d.ts +11 -0
- package/dist/dist/types.d.ts.map +1 -0
- package/dist/dist/types.js +6 -0
- package/dist/dist/types.js.map +1 -0
- package/dist/dist/utils/compileFilter.d.ts +3 -0
- package/dist/dist/utils/compileFilter.d.ts.map +1 -0
- package/dist/dist/utils/compileFilter.js +73 -0
- package/dist/dist/utils/compileFilter.js.map +1 -0
- package/dist/dist/utils/normalizeDataFlow.d.ts +3 -0
- package/dist/dist/utils/normalizeDataFlow.d.ts.map +1 -0
- package/dist/dist/utils/normalizeDataFlow.js +30 -0
- package/dist/dist/utils/normalizeDataFlow.js.map +1 -0
- package/dist/dist/utils.d.ts +2 -0
- package/dist/dist/utils.d.ts.map +1 -0
- package/dist/dist/utils.js +10 -0
- package/dist/dist/utils.js.map +1 -0
- package/dist/handlers/metadata.handler.d.ts +0 -4
- package/dist/handlers/metadata.handler.d.ts.map +1 -1
- package/dist/handlers/metadata.handler.js +8 -12
- package/dist/handlers/metadata.handler.js.map +1 -1
- package/dist/index.d.ts +15 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/dist/interfaces/adapter.interface.d.ts +62 -0
- package/dist/interfaces/adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/integration-capabilities.interface.d.ts +4 -9
- package/dist/interfaces/integration-capabilities.interface.d.ts.map +1 -1
- package/dist/interfaces/mapping-config.interface.d.ts +26 -0
- package/dist/interfaces/mapping-config.interface.d.ts.map +1 -0
- package/dist/interfaces/mapping-config.interface.js +3 -0
- package/dist/interfaces/mapping-config.interface.js.map +1 -0
- package/dist/interfaces/metadata-adapter.interface.d.ts +26 -0
- package/dist/interfaces/metadata-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/metadata-adapter.interface.js +3 -0
- package/dist/interfaces/metadata-adapter.interface.js.map +1 -0
- package/dist/interfaces/pull-adapter.interface.d.ts +50 -0
- package/dist/interfaces/pull-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/pull-adapter.interface.js +3 -0
- package/dist/interfaces/pull-adapter.interface.js.map +1 -0
- package/dist/interfaces/push-adapter.interface.d.ts +28 -0
- package/dist/interfaces/push-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/push-adapter.interface.js +3 -0
- package/dist/interfaces/push-adapter.interface.js.map +1 -0
- package/dist/interfaces/sync-flow-strategy.interface.d.ts +2 -1
- package/dist/interfaces/sync-flow-strategy.interface.d.ts.map +1 -1
- package/dist/interfaces/target-adapter.interface.d.ts +10 -0
- package/dist/interfaces/target-adapter.interface.d.ts.map +1 -0
- package/dist/interfaces/target-adapter.interface.js +3 -0
- package/dist/interfaces/target-adapter.interface.js.map +1 -0
- package/dist/mocks/hubspot.d.ts +4 -0
- package/dist/mocks/hubspot.d.ts.map +1 -0
- package/dist/mocks/hubspot.js +61 -0
- package/dist/mocks/hubspot.js.map +1 -0
- package/dist/provenance.d.ts +3 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +12 -0
- package/dist/provenance.js.map +1 -0
- package/dist/services/dataflow-service.d.ts +21 -0
- package/dist/services/dataflow-service.d.ts.map +1 -0
- package/dist/services/dataflow-service.js +47 -0
- package/dist/services/dataflow-service.js.map +1 -0
- package/dist/services/eql.d.ts +2 -0
- package/dist/services/eql.d.ts.map +1 -0
- package/dist/services/eql.js +10 -0
- package/dist/services/eql.js.map +1 -0
- package/dist/services/external-id-sync.strategy.d.ts +1 -1
- package/dist/services/external-id-sync.strategy.d.ts.map +1 -1
- package/dist/services/external-id-sync.strategy.js +18 -9
- package/dist/services/external-id-sync.strategy.js.map +1 -1
- package/dist/services/id-mapping-sync.strategy.d.ts.map +1 -1
- package/dist/services/id-mapping-sync.strategy.js +86 -22
- package/dist/services/id-mapping-sync.strategy.js.map +1 -1
- package/dist/services/id-mapping.service.js +11 -11
- package/dist/services/id-mapping.service.js.map +1 -1
- package/dist/services/mapping-service.d.ts +14 -0
- package/dist/services/mapping-service.d.ts.map +1 -0
- package/dist/services/mapping-service.js +88 -0
- package/dist/services/mapping-service.js.map +1 -0
- package/dist/services/mapping.service.d.ts +14 -0
- package/dist/services/mapping.service.d.ts.map +1 -0
- package/dist/services/mapping.service.js +89 -0
- package/dist/services/mapping.service.js.map +1 -0
- package/dist/services/outbound-service.d.ts +14 -0
- package/dist/services/outbound-service.d.ts.map +1 -0
- package/dist/services/outbound-service.js +65 -0
- package/dist/services/outbound-service.js.map +1 -0
- package/dist/services/paragon-workflow-service.d.ts +7 -0
- package/dist/services/paragon-workflow-service.d.ts.map +1 -0
- package/dist/services/paragon-workflow-service.js +68 -0
- package/dist/services/paragon-workflow-service.js.map +1 -0
- package/dist/services/paragon-workflow.service.d.ts +8 -0
- package/dist/services/paragon-workflow.service.d.ts.map +1 -0
- package/dist/services/paragon-workflow.service.js +31 -0
- package/dist/services/paragon-workflow.service.js.map +1 -0
- package/dist/services/preview-service.d.ts +11 -0
- package/dist/services/preview-service.d.ts.map +1 -0
- package/dist/services/preview-service.js +66 -0
- package/dist/services/preview-service.js.map +1 -0
- package/dist/services/pull-service.d.ts +9 -0
- package/dist/services/pull-service.d.ts.map +1 -0
- package/dist/services/pull-service.js +207 -0
- package/dist/services/pull-service.js.map +1 -0
- package/dist/services/pull.service.d.ts +11 -0
- package/dist/services/pull.service.d.ts.map +1 -0
- package/dist/services/pull.service.js +200 -0
- package/dist/services/pull.service.js.map +1 -0
- package/dist/services/push-service.d.ts +16 -0
- package/dist/services/push-service.d.ts.map +1 -0
- package/dist/services/push-service.js +76 -0
- package/dist/services/push-service.js.map +1 -0
- package/dist/services/push.service.d.ts +19 -0
- package/dist/services/push.service.d.ts.map +1 -0
- package/dist/services/push.service.js +186 -0
- package/dist/services/push.service.js.map +1 -0
- package/dist/services/routes.factory.d.ts +19 -0
- package/dist/services/routes.factory.d.ts.map +1 -0
- package/dist/services/routes.factory.js +352 -0
- package/dist/services/routes.factory.js.map +1 -0
- package/dist/services/scheduled-pull-service.d.ts +7 -0
- package/dist/services/scheduled-pull-service.d.ts.map +1 -0
- package/dist/services/scheduled-pull-service.js +58 -0
- package/dist/services/scheduled-pull-service.js.map +1 -0
- package/dist/services/split-filter.d.ts +3 -0
- package/dist/services/split-filter.d.ts.map +1 -0
- package/dist/services/split-filter.js +50 -0
- package/dist/services/split-filter.js.map +1 -0
- package/dist/services/sync-runner.d.ts +6 -0
- package/dist/services/sync-runner.d.ts.map +1 -1
- package/dist/services/sync-runner.js +46 -20
- package/dist/services/sync-runner.js.map +1 -1
- package/dist/testing/adapter-contract.d.ts +24 -0
- package/dist/testing/adapter-contract.d.ts.map +1 -0
- package/dist/testing/adapter-contract.js +82 -0
- package/dist/testing/adapter-contract.js.map +1 -0
- package/dist/utils/auth.d.ts +6 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +18 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/helpers.d.ts +23 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +118 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/http-response.d.ts +16 -0
- package/dist/utils/http-response.d.ts.map +1 -0
- package/dist/utils/http-response.js +36 -0
- package/dist/utils/http-response.js.map +1 -0
- package/dist/utils/query-string.d.ts +2 -0
- package/dist/utils/query-string.d.ts.map +1 -0
- package/dist/utils/query-string.js +13 -0
- package/dist/utils/query-string.js.map +1 -0
- package/dist/utils/sked-handler.d.ts +22 -0
- package/dist/utils/sked-handler.d.ts.map +1 -0
- package/dist/utils/sked-handler.js +41 -0
- package/dist/utils/sked-handler.js.map +1 -0
- package/dist/utils/strings.d.ts +2 -0
- package/dist/utils/strings.d.ts.map +1 -0
- package/dist/utils/strings.js +14 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/unwrap-proxy.d.ts +2 -0
- package/dist/utils/unwrap-proxy.d.ts.map +1 -0
- package/dist/utils/unwrap-proxy.js +12 -0
- package/dist/utils/unwrap-proxy.js.map +1 -0
- package/package.json +1 -1
- package/yarn.lock +5 -0
- package/.claude/worktrees/agent-a16acadaf5412dffd/jest.config.js +0 -12
- package/.claude/worktrees/agent-a33c3e4636d488e49/jest.config.js +0 -12
- package/.claude/worktrees/agent-a5b1d2ffa4ceef4a6/jest.config.js +0 -12
- package/.claude/worktrees/agent-aa1db4c22eabbde8e/jest.config.js +0 -12
- package/.claude/worktrees/agent-ac197ae8c69d7061c/jest.config.js +0 -12
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
import type { IntegrationContext } from '../context';
|
|
2
|
+
import type { AdapterRole } from '../constants';
|
|
2
3
|
import type { DataFlow } from './data-flow-spec.interface';
|
|
3
4
|
import type { FilterSpec } from './filter.interface';
|
|
4
5
|
import type { MappingConfigDto } from './field-mapping.interface';
|
|
6
|
+
import type { IntegrationCapabilities } from './integration-capabilities.interface';
|
|
7
|
+
import type { MappedEvent } from './mapped-event.interface';
|
|
8
|
+
/**
|
|
9
|
+
* Result of parsing a vendor change-event webhook envelope. Either a
|
|
10
|
+
* normalized `MappedEvent` ready for the sync runner, or a validation
|
|
11
|
+
* error message the handler turns into a 400 response.
|
|
12
|
+
*/
|
|
13
|
+
export type ParsedChangeEvent = {
|
|
14
|
+
event: MappedEvent;
|
|
15
|
+
} | {
|
|
16
|
+
error: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Declarative capability description for an Adapter. Extends
|
|
20
|
+
* `IntegrationCapabilities` so the adapter is the single source of truth —
|
|
21
|
+
* the consumer's `GET /capabilities` route just returns `adapter.capabilities`.
|
|
22
|
+
*/
|
|
23
|
+
export interface AdapterCapabilities extends IntegrationCapabilities {
|
|
24
|
+
/**
|
|
25
|
+
* Which sync roles this adapter supports. Source-only systems (e.g. Workday)
|
|
26
|
+
* declare `[AdapterRole.SOURCE]`; target-only systems declare
|
|
27
|
+
* `[AdapterRole.TARGET]`; bidirectional adapters declare both.
|
|
28
|
+
* When omitted, the SDK defaults to `[AdapterRole.SOURCE, AdapterRole.TARGET]`
|
|
29
|
+
* for backwards compatibility with existing adapters.
|
|
30
|
+
*/
|
|
31
|
+
roles: readonly AdapterRole[];
|
|
32
|
+
}
|
|
5
33
|
export interface UpsertOutcome {
|
|
6
34
|
status: 'ok' | 'transient' | 'permanent' | 'precondition';
|
|
7
35
|
/** Adapter-specific result data (e.g. Skedulo UID, HubSpot ID). Shape is not assumed by the SDK. */
|
|
@@ -50,6 +78,15 @@ export interface DataFlowTemplate {
|
|
|
50
78
|
name: string;
|
|
51
79
|
/** Short human-readable description shown in the template picker. */
|
|
52
80
|
description?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Source integrationType. Required for adapters whose templates cover both
|
|
83
|
+
* inbound and outbound flows (e.g. Salesforce has SF→Skedulo and Skedulo→SF
|
|
84
|
+
* templates in the same list); omit for single-direction integrations where
|
|
85
|
+
* the UI infers it from `adapter.integrationType`.
|
|
86
|
+
*/
|
|
87
|
+
sourceSystem?: string;
|
|
88
|
+
/** Target integrationType. See `sourceSystem` notes. */
|
|
89
|
+
targetSystem?: string;
|
|
53
90
|
sourceObject: string;
|
|
54
91
|
targetObject: string;
|
|
55
92
|
mappingConfig: MappingConfigDto;
|
|
@@ -65,6 +102,18 @@ export interface SampleAPI {
|
|
|
65
102
|
description?: string;
|
|
66
103
|
}
|
|
67
104
|
export interface Adapter<TRecord = Record<string, unknown>> {
|
|
105
|
+
/**
|
|
106
|
+
* Canonical system name this adapter speaks for — e.g. "microsoftDynamics",
|
|
107
|
+
* "hubspot", "skedulo". Matches `flow.sourceSystem` / `flow.targetSystem` and
|
|
108
|
+
* the key used in `AdapterRegistry`. Lets the SDK derive userAgent labels,
|
|
109
|
+
* request sources, and auto-built registries from the adapter alone.
|
|
110
|
+
*/
|
|
111
|
+
integrationType: string;
|
|
112
|
+
/**
|
|
113
|
+
* Optional declarative capabilities. When omitted, the SDK treats the adapter
|
|
114
|
+
* as supporting both SOURCE and TARGET roles for backwards compatibility.
|
|
115
|
+
*/
|
|
116
|
+
capabilities?: AdapterCapabilities;
|
|
68
117
|
/**
|
|
69
118
|
* Called per raw record immediately after fetch(), before beforeMap().
|
|
70
119
|
* Return false to skip the record (counted as skipped, not filtered).
|
|
@@ -91,6 +140,19 @@ export interface Adapter<TRecord = Record<string, unknown>> {
|
|
|
91
140
|
* SyncService applies spec.filter locally as a safety net after normalization.
|
|
92
141
|
*/
|
|
93
142
|
fetch?(ctx: IntegrationContext, flow: DataFlow, since: Date | null, filter: FilterSpec | null): AsyncIterable<TRecord[]>;
|
|
143
|
+
/**
|
|
144
|
+
* Parse a vendor's inbound change-event webhook envelope into a `MappedEvent`.
|
|
145
|
+
* Called by `BaseAdapterHandler.onChangeEvent` — implement when your function
|
|
146
|
+
* exposes the `/on-change-event` route (i.e. real-time inbound sync).
|
|
147
|
+
*
|
|
148
|
+
* Return `{ event }` when the envelope is valid, or `{ error }` to short-circuit
|
|
149
|
+
* with a 400 response — the handler does the HTTP work.
|
|
150
|
+
*
|
|
151
|
+
* The envelope shape is vendor-specific (Dynamics wraps it in a JSON string in
|
|
152
|
+
* `body.data`; HubSpot ships a `subscriptionType` discriminator) which is why
|
|
153
|
+
* this lives on the adapter rather than the handler.
|
|
154
|
+
*/
|
|
155
|
+
parseChangeEvent?(body: unknown): ParsedChangeEvent;
|
|
94
156
|
/** Before FME mapping. Add synthetic fields to ctx.pipeline.data[].raw. */
|
|
95
157
|
beforeMap?(ctx: IntegrationContext): Promise<void>;
|
|
96
158
|
/** After FME mapping. ctx.pipeline.data[].mapped is populated. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/adapter.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
|
+
import type { LookupStrategy } from '../constants';
|
|
1
2
|
export interface IntegrationCapabilities {
|
|
2
|
-
/**
|
|
3
|
-
* Whether the integration supports creating custom fields in the external system
|
|
4
|
-
* when pushing data from Skedulo (e.g. HubSpot custom properties).
|
|
5
|
-
*/
|
|
6
|
-
allowCustomFields: boolean;
|
|
7
3
|
/**
|
|
8
4
|
* Whether users are allowed to create new data flows for this integration.
|
|
9
5
|
* Set to false for read-only or tightly scoped integrations (e.g. Workday).
|
|
10
6
|
*/
|
|
11
7
|
allowNewDataFlows: boolean;
|
|
12
8
|
/**
|
|
13
|
-
* Identity resolution strategy used by this integration.
|
|
14
|
-
*
|
|
15
|
-
* 'idMapping': uses IntegrationIdMapping custom object as a bi-directional identity store.
|
|
9
|
+
* Identity resolution strategy used by this integration. Defaults to ExternalId.
|
|
10
|
+
* See `LookupStrategy` enum for the available values and their meaning.
|
|
16
11
|
*/
|
|
17
|
-
lookupStrategy?:
|
|
12
|
+
lookupStrategy?: LookupStrategy;
|
|
18
13
|
/**
|
|
19
14
|
* Whether this integration exposes data flows.
|
|
20
15
|
* When false (or absent), the Data Flows tab is hidden in the UI.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-capabilities.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/integration-capabilities.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"integration-capabilities.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/integration-capabilities.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type ValidationAction = 'SKIP' | 'ERROR' | 'WARN';
|
|
2
|
+
export interface TranslationTable {
|
|
3
|
+
name: string;
|
|
4
|
+
mappings: Record<string, string>;
|
|
5
|
+
}
|
|
6
|
+
export interface MappingConfigMapping {
|
|
7
|
+
target: string;
|
|
8
|
+
expression: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface MappingConfigDto {
|
|
12
|
+
mappings: MappingConfigMapping[];
|
|
13
|
+
version?: string;
|
|
14
|
+
translations?: TranslationTable[];
|
|
15
|
+
variables?: Array<{
|
|
16
|
+
name: string;
|
|
17
|
+
expression: string;
|
|
18
|
+
}>;
|
|
19
|
+
validations?: Array<{
|
|
20
|
+
condition: string;
|
|
21
|
+
action: ValidationAction;
|
|
22
|
+
label?: string;
|
|
23
|
+
message?: string;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=mapping-config.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping-config.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/mapping-config.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping-config.interface.js","sourceRoot":"","sources":["../../src/interfaces/mapping-config.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IntegrationContext } from '../context';
|
|
2
|
+
export interface ObjectInfo {
|
|
3
|
+
name: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface FieldInfo {
|
|
7
|
+
name: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type: string;
|
|
10
|
+
/** Optional JSONata path used by the mapping editor. Defaults to `name`. */
|
|
11
|
+
expression?: string;
|
|
12
|
+
/** UI excludes read-only fields from the target field picker. */
|
|
13
|
+
readOnly?: boolean;
|
|
14
|
+
/** UI warns if a required field has no corresponding mapping rule. */
|
|
15
|
+
required?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface SampleRecord {
|
|
18
|
+
id: string;
|
|
19
|
+
properties: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface MetadataAdapter {
|
|
22
|
+
listObjects(ctx: IntegrationContext): Promise<ObjectInfo[]>;
|
|
23
|
+
listFields(ctx: IntegrationContext, objectName: string): Promise<FieldInfo[]>;
|
|
24
|
+
fetchSampleRecords(ctx: IntegrationContext, objectName: string, properties: string[], limit: number): Promise<SampleRecord[]>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=metadata-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-adapter.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/metadata-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9E,kBAAkB,CAChB,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-adapter.interface.js","sourceRoot":"","sources":["../../src/interfaces/metadata-adapter.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { IntegrationContext } from '../context';
|
|
2
|
+
import type { DataFlowSpec } from './data-flow-spec.interface';
|
|
3
|
+
import type { FilterSpec } from './filter.interface';
|
|
4
|
+
export interface EnrichmentPair {
|
|
5
|
+
/** Normalized vendor record — output of normalize() (or fetch() if normalize is absent). */
|
|
6
|
+
raw: Record<string, unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* Mapped Skedulo record with lookup UIDs already resolved.
|
|
9
|
+
* Length and order must be preserved if returned from `enrich`.
|
|
10
|
+
*/
|
|
11
|
+
mapped: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface PullAdapter<TRecord = Record<string, unknown>> {
|
|
14
|
+
/**
|
|
15
|
+
* Yield batches of records from the source system.
|
|
16
|
+
* since=null → initial sync (all records); since=Date → delta (modified since).
|
|
17
|
+
* The adapter receives the full FilterSpec and decides internally what to push
|
|
18
|
+
* to the vendor API (e.g. lastmodifieddate range) vs. what to ignore.
|
|
19
|
+
* Records yielded here are the raw vendor response — normalize() converts them
|
|
20
|
+
* to the canonical shape before local filtering and mapping.
|
|
21
|
+
*/
|
|
22
|
+
fetch(ctx: IntegrationContext, flow: DataFlowSpec, since: Date | null, filter: FilterSpec | null): AsyncIterable<TRecord[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Optional. Called once per batch immediately after fetch(), before local
|
|
25
|
+
* filtering and field mapping.
|
|
26
|
+
*
|
|
27
|
+
* Responsible for two things:
|
|
28
|
+
* 1. Structural normalization — convert the vendor format to a flat
|
|
29
|
+
* Record<string, unknown> the mapping engine can operate on.
|
|
30
|
+
* Examples: XML → JSON, flatten HubSpot `properties.*` to top-level keys.
|
|
31
|
+
* 2. Transformation — inject synthetic / computed fields that mapping
|
|
32
|
+
* expressions can reference but that don't exist in the vendor payload.
|
|
33
|
+
*
|
|
34
|
+
* The output is the canonical record shape. This is also the shape that
|
|
35
|
+
* fetchSampleRecords should return, so field names visible in the mapping UI
|
|
36
|
+
* match what arrives here at runtime.
|
|
37
|
+
*
|
|
38
|
+
* Must return one record per input, same order.
|
|
39
|
+
*/
|
|
40
|
+
normalize?(ctx: IntegrationContext, spec: DataFlowSpec, records: TRecord[]): Promise<Record<string, unknown>[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Optional. Called once per batch after lookup resolution, before upsert.
|
|
43
|
+
* Receives (normalized vendor record, mapped Skedulo record with lookup UIDs
|
|
44
|
+
* already resolved) pairs. Must return one enriched record per input pair,
|
|
45
|
+
* same order. Length mismatch is a programming error and causes an upsert
|
|
46
|
+
* shape mismatch.
|
|
47
|
+
*/
|
|
48
|
+
enrich?(ctx: IntegrationContext, spec: DataFlowSpec, pairs: EnrichmentPair[]): Promise<Record<string, unknown>[]>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=pull-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-adapter.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/pull-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,4FAA4F;IAC5F,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D;;;;;;;OAOG;IACH,KAAK,CACH,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,IAAI,GAAG,IAAI,EAClB,MAAM,EAAE,UAAU,GAAG,IAAI,GACxB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5B;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,CACR,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,MAAM,CAAC,CACL,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,cAAc,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-adapter.interface.js","sourceRoot":"","sources":["../../src/interfaces/pull-adapter.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { IntegrationContext } from '../context';
|
|
2
|
+
import type { DataFlowSpec } from './data-flow-spec.interface';
|
|
3
|
+
export type PushClassification = 'ok' | 'transient' | 'permanent';
|
|
4
|
+
export interface PushOutcome {
|
|
5
|
+
status: PushClassification;
|
|
6
|
+
externalId?: string;
|
|
7
|
+
error?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PushAdapter {
|
|
10
|
+
/**
|
|
11
|
+
* Upsert/delete one record on the vendor side.
|
|
12
|
+
* Adapter classifies failures: `transient` (retry-worthy — 429/5xx/network)
|
|
13
|
+
* vs `permanent` (4xx validation, malformed payload).
|
|
14
|
+
*/
|
|
15
|
+
pushOne(ctx: IntegrationContext, flow: DataFlowSpec, sourceRecordId: string, operation: 'INSERT' | 'UPDATE' | 'DELETE', mappedRecord: Record<string, unknown> | null): Promise<PushOutcome>;
|
|
16
|
+
/**
|
|
17
|
+
* Optional. Batch upsert of multiple records in one vendor API call.
|
|
18
|
+
* When defined, PushService.runFlow() uses this instead of per-record pushOne()
|
|
19
|
+
* calls for better throughput. The returned array must preserve input order;
|
|
20
|
+
* length mismatch is a programming error.
|
|
21
|
+
*
|
|
22
|
+
* Adapters that support bulk APIs (e.g. HubSpot batch create/update) should
|
|
23
|
+
* implement this. Adapters without bulk support can omit it — PushService
|
|
24
|
+
* falls back to calling pushOne() per record.
|
|
25
|
+
*/
|
|
26
|
+
upsert?(ctx: IntegrationContext, flow: DataFlowSpec, records: Record<string, unknown>[]): Promise<PushOutcome[]>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=push-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-adapter.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/push-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CACL,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,YAAY,EAClB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACzC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;;;;;OASG;IACH,MAAM,CAAC,CACL,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-adapter.interface.js","sourceRoot":"","sources":["../../src/interfaces/push-adapter.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LookupStrategy } from '../constants';
|
|
1
2
|
import type { IntegrationContext } from '../context';
|
|
2
3
|
import type { Adapter } from './adapter.interface';
|
|
3
4
|
import type { DataFlow } from './data-flow-spec.interface';
|
|
@@ -5,7 +6,7 @@ import type { FilterSpec } from './filter.interface';
|
|
|
5
6
|
import type { MappedEvent } from './mapped-event.interface';
|
|
6
7
|
import type { BatchResult, SyncResult } from './sync-result.interface';
|
|
7
8
|
export interface SyncRunOptions {
|
|
8
|
-
lookupStrategy?:
|
|
9
|
+
lookupStrategy?: LookupStrategy;
|
|
9
10
|
/**
|
|
10
11
|
* How far back from lastRunAt to set the effective cursor (milliseconds).
|
|
11
12
|
* Covers records modified during the tail of the previous run.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-flow-strategy.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/sync-flow-strategy.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"sync-flow-strategy.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/sync-flow-strategy.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,MAAM,EAAE,UAAU,GAAG,IAAI,GACxB,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,iBAAiB,CACf,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB,iBAAiB,CACf,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IntegrationContext } from '../context';
|
|
2
|
+
import type { DataFlowSpec } from './data-flow-spec.interface';
|
|
3
|
+
export interface TargetAdapter {
|
|
4
|
+
/**
|
|
5
|
+
* Upsert a batch of mapped records into the target system.
|
|
6
|
+
* Called by PullService after lookup resolution and optional enrich().
|
|
7
|
+
*/
|
|
8
|
+
upsert(ctx: IntegrationContext, spec: DataFlowSpec, records: Record<string, unknown>[]): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=target-adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-adapter.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/target-adapter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,MAAM,CACJ,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-adapter.interface.js","sourceRoot":"","sources":["../../src/interfaces/target-adapter.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubspot.d.ts","sourceRoot":"","sources":["../../src/mocks/hubspot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,YA6BlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YA0BlC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HUBSPOT_ACCOUNT_SPEC = exports.HUBSPOT_CONTACT_SPEC = void 0;
|
|
4
|
+
exports.HUBSPOT_CONTACT_SPEC = {
|
|
5
|
+
id: 1,
|
|
6
|
+
name: 'HubSpot Contacts → Skedulo Contacts',
|
|
7
|
+
tenantIntegrationId: 1,
|
|
8
|
+
integrationType: 'hubspot',
|
|
9
|
+
sourceObject: 'contacts',
|
|
10
|
+
targetObject: 'Contacts',
|
|
11
|
+
direction: 'INBOUND',
|
|
12
|
+
strategy: 'PARAGON_WORKFLOW',
|
|
13
|
+
mappingConfig: {
|
|
14
|
+
mappings: [
|
|
15
|
+
{ target: 'ExternalId', expression: '`id`', label: 'HubSpot contact ID' },
|
|
16
|
+
{ target: 'FirstName', expression: 'properties.firstname', label: 'First name' },
|
|
17
|
+
{ target: 'LastName', expression: 'properties.lastname', label: 'Last name' },
|
|
18
|
+
{ target: 'Email', expression: 'properties.email', label: 'Email address' },
|
|
19
|
+
{ target: 'Phone', expression: 'properties.phone', label: 'Phone' },
|
|
20
|
+
{ target: 'MobilePhone', expression: 'properties.mobilephone', label: 'Mobile phone' },
|
|
21
|
+
{ target: 'Title', expression: 'properties.jobtitle', label: 'Title' },
|
|
22
|
+
{ target: 'MailingCity', expression: 'properties.city', label: 'Mailing city' },
|
|
23
|
+
{ target: 'MailingState', expression: 'properties.state', label: 'Mailing state' },
|
|
24
|
+
{ target: 'MailingStreet', expression: 'properties.address', label: 'Mailing street' },
|
|
25
|
+
{ target: 'MailingPostalCode', expression: 'properties.zip', label: 'Mailing postal code' },
|
|
26
|
+
],
|
|
27
|
+
validations: [
|
|
28
|
+
{ condition: '$not($exists(`id`))', action: 'ERROR', label: 'required_id', message: 'Required field id is missing' },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
matchKeyField: 'ExternalId',
|
|
32
|
+
provenanceMarker: 'hubspot-sync',
|
|
33
|
+
};
|
|
34
|
+
exports.HUBSPOT_ACCOUNT_SPEC = {
|
|
35
|
+
id: 2,
|
|
36
|
+
name: 'HubSpot Companies → Skedulo Accounts',
|
|
37
|
+
tenantIntegrationId: 1,
|
|
38
|
+
integrationType: 'hubspot',
|
|
39
|
+
sourceObject: 'companies',
|
|
40
|
+
targetObject: 'Accounts',
|
|
41
|
+
direction: 'INBOUND',
|
|
42
|
+
strategy: 'PARAGON_WORKFLOW',
|
|
43
|
+
mappingConfig: {
|
|
44
|
+
mappings: [
|
|
45
|
+
{ target: 'ExternalId', expression: '`id`', label: 'HubSpot company ID' },
|
|
46
|
+
{ target: 'Name', expression: 'properties.name', label: 'Company name' },
|
|
47
|
+
{ target: 'Phone', expression: 'properties.phone', label: 'Phone' },
|
|
48
|
+
{ target: 'BillingStreet', expression: 'properties.address', label: 'Billing street' },
|
|
49
|
+
{ target: 'BillingCity', expression: 'properties.city', label: 'Billing city' },
|
|
50
|
+
{ target: 'BillingState', expression: 'properties.state', label: 'Billing state' },
|
|
51
|
+
{ target: 'BillingPostalCode', expression: 'properties.zip', label: 'Billing postal code' },
|
|
52
|
+
],
|
|
53
|
+
validations: [
|
|
54
|
+
{ condition: '$not($exists(`id`))', action: 'ERROR', label: 'required_id', message: 'Required field id is missing' },
|
|
55
|
+
{ condition: '$not($exists(properties.name))', action: 'ERROR', label: 'required_name', message: 'Required field name is missing' },
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
matchKeyField: 'ExternalId',
|
|
59
|
+
provenanceMarker: 'hubspot-sync',
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=hubspot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubspot.js","sourceRoot":"","sources":["../../src/mocks/hubspot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,GACb,CAAC,CAEH;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAET"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyProvenance = applyProvenance;
|
|
4
|
+
exports.hasOwnProvenance = hasOwnProvenance;
|
|
5
|
+
const PROVENANCE_KEY = '__skedulo_provenance';
|
|
6
|
+
function applyProvenance(record, marker) {
|
|
7
|
+
return Object.assign(Object.assign({}, record), { [PROVENANCE_KEY]: marker });
|
|
8
|
+
}
|
|
9
|
+
function hasOwnProvenance(payload, marker) {
|
|
10
|
+
return payload[PROVENANCE_KEY] === marker;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":";;AAEA,0CAKC;AAED,4CAKC;AAdD,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C,SAAgB,eAAe,CAC7B,MAAS,EACT,MAAc;IAEd,uCAAY,MAAM,KAAE,CAAC,cAAc,CAAC,EAAE,MAAM,IAAG;AACjD,CAAC;AAED,SAAgB,gBAAgB,CAC9B,OAAgC,EAChC,MAAc;IAEd,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DataFlowClient } from '../clients/dataflow-client';
|
|
2
|
+
import type { DataFlowSpec } from '../types';
|
|
3
|
+
export declare class DataFlowService {
|
|
4
|
+
private readonly client;
|
|
5
|
+
private static _mockSpecs;
|
|
6
|
+
static registerMockSpec(spec: DataFlowSpec): void;
|
|
7
|
+
static clearMockSpecs(): void;
|
|
8
|
+
constructor(client: DataFlowClient);
|
|
9
|
+
getSpecByFilter(args: {
|
|
10
|
+
integrationType: string;
|
|
11
|
+
sourceObject: string;
|
|
12
|
+
strategy: DataFlowSpec['strategy'];
|
|
13
|
+
projectId?: string;
|
|
14
|
+
}): Promise<DataFlowSpec | null>;
|
|
15
|
+
getSpecById(id: number): Promise<DataFlowSpec | null>;
|
|
16
|
+
listActive(filter: {
|
|
17
|
+
integrationType: string;
|
|
18
|
+
strategy?: DataFlowSpec['strategy'];
|
|
19
|
+
}): Promise<DataFlowSpec[]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=dataflow-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow-service.d.ts","sourceRoot":"","sources":["../../src/services/dataflow-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,qBAAa,eAAe;IAiBd,OAAO,CAAC,QAAQ,CAAC,MAAM;IAfnC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAsB;IAE/C,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IASjD,MAAM,CAAC,cAAc,IAAI,IAAI;gBAIA,MAAM,EAAE,cAAc;IAE7C,eAAe,CAAC,IAAI,EAAE;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QACnC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAgB1B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIrD,UAAU,CAAC,MAAM,EAAE;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;KACrC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAU5B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataFlowService = void 0;
|
|
4
|
+
class DataFlowService {
|
|
5
|
+
static registerMockSpec(spec) {
|
|
6
|
+
const idx = DataFlowService._mockSpecs.findIndex(s => s.id === spec.id);
|
|
7
|
+
if (idx >= 0) {
|
|
8
|
+
DataFlowService._mockSpecs[idx] = spec;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
DataFlowService._mockSpecs.push(spec);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
static clearMockSpecs() {
|
|
15
|
+
DataFlowService._mockSpecs = [];
|
|
16
|
+
}
|
|
17
|
+
constructor(client) {
|
|
18
|
+
this.client = client;
|
|
19
|
+
}
|
|
20
|
+
async getSpecByFilter(args) {
|
|
21
|
+
const list = await this.client.list({
|
|
22
|
+
integrationType: args.integrationType,
|
|
23
|
+
sourceObject: args.sourceObject,
|
|
24
|
+
strategy: args.strategy,
|
|
25
|
+
status: 'ACTIVE',
|
|
26
|
+
projectId: args.projectId,
|
|
27
|
+
});
|
|
28
|
+
if (list && list.length > 0) {
|
|
29
|
+
return this.client.getById(list[0].id);
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
async getSpecById(id) {
|
|
34
|
+
return this.client.getById(id);
|
|
35
|
+
}
|
|
36
|
+
async listActive(filter) {
|
|
37
|
+
const list = await this.client.list(Object.assign(Object.assign({ integrationType: filter.integrationType }, (filter.strategy ? { strategy: filter.strategy } : {})), { status: 'ACTIVE' }));
|
|
38
|
+
if (!list || list.length === 0)
|
|
39
|
+
return [];
|
|
40
|
+
const specs = await Promise.all(list.map((item) => this.client.getById(item.id)));
|
|
41
|
+
return specs.filter((s) => s !== null);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.DataFlowService = DataFlowService;
|
|
45
|
+
// TODO: remove when integration service has real data flows
|
|
46
|
+
DataFlowService._mockSpecs = [];
|
|
47
|
+
//# sourceMappingURL=dataflow-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow-service.js","sourceRoot":"","sources":["../../src/services/dataflow-service.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAI1B,MAAM,CAAC,gBAAgB,CAAC,IAAkB;QACxC,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,eAAe,CAAC,UAAU,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK,CAAC,eAAe,CAAC,IAKrB;QACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAGhB;QACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,+BACjC,eAAe,EAAE,MAAM,CAAC,eAAe,IACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,MAAM,EAAE,QAAQ,IAChB,CAAC;QACH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC;;AAxDH,0CAyDC;AAxDC,4DAA4D;AAC7C,0BAAU,GAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eql.d.ts","sourceRoot":"","sources":["../../src/services/eql.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeEqlString = escapeEqlString;
|
|
4
|
+
// EQL string literals use single quotes; the resulting filter is embedded in a
|
|
5
|
+
// GraphQL string literal that uses double quotes. Escape backslashes and single
|
|
6
|
+
// quotes only.
|
|
7
|
+
function escapeEqlString(value) {
|
|
8
|
+
return value.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=eql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eql.js","sourceRoot":"","sources":["../../src/services/eql.ts"],"names":[],"mappings":";;AAGA,0CAEC;AALD,+EAA+E;AAC/E,gFAAgF;AAChF,eAAe;AACf,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -8,6 +8,6 @@ import type { SyncFlowStrategy } from '../interfaces/sync-flow-strategy.interfac
|
|
|
8
8
|
export declare class ExternalIdSyncStrategy implements SyncFlowStrategy {
|
|
9
9
|
processBatch(ctx: IntegrationContext, flow: DataFlow, source: Adapter | null, target: Adapter, records: Record<string, unknown>[], localFilter: FilterSpec | null): Promise<BatchResult>;
|
|
10
10
|
handleDeleteEvent(ctx: IntegrationContext, flow: DataFlow, target: Adapter, recordId: string): Promise<SyncResult>;
|
|
11
|
-
handleUpsertEvent(ctx: IntegrationContext, flow: DataFlow,
|
|
11
|
+
handleUpsertEvent(ctx: IntegrationContext, flow: DataFlow, source: Adapter | null, target: Adapter, event: MappedEvent): Promise<SyncResult>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=external-id-sync.strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-id-sync.strategy.d.ts","sourceRoot":"","sources":["../../src/services/external-id-sync.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAQnF,qBAAa,sBAAuB,YAAW,gBAAgB;IACvD,YAAY,CAChB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,WAAW,EAAE,UAAU,GAAG,IAAI,GAC7B,OAAO,CAAC,WAAW,CAAC;IAkFjB,iBAAiB,CACrB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAiBhB,iBAAiB,CACrB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,
|
|
1
|
+
{"version":3,"file":"external-id-sync.strategy.d.ts","sourceRoot":"","sources":["../../src/services/external-id-sync.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAQnF,qBAAa,sBAAuB,YAAW,gBAAgB;IACvD,YAAY,CAChB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,WAAW,EAAE,UAAU,GAAG,IAAI,GAC7B,OAAO,CAAC,WAAW,CAAC;IAkFjB,iBAAiB,CACrB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAiBhB,iBAAiB,CACrB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,CAAC;CA0CvB"}
|