@aws/durable-execution-sdk-js 0.0.1 → 1.0.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 +365 -0
- package/dist/index.mjs +4628 -0
- package/dist/index.mjs.map +1 -0
- package/dist-cjs/index.js +4646 -0
- package/dist-cjs/index.js.map +1 -0
- package/dist-types/context/durable-context/durable-context.d.ts +70 -0
- package/dist-types/context/durable-context/durable-context.d.ts.map +1 -0
- package/dist-types/context/durable-context/durable-context.integration.test.d.ts +2 -0
- package/dist-types/context/durable-context/durable-context.integration.test.d.ts.map +1 -0
- package/dist-types/context/durable-context/durable-context.unit.test.d.ts +2 -0
- package/dist-types/context/durable-context/durable-context.unit.test.d.ts.map +1 -0
- package/dist-types/context/durable-context/logger-mode-aware.test.d.ts +2 -0
- package/dist-types/context/durable-context/logger-mode-aware.test.d.ts.map +1 -0
- package/dist-types/context/durable-context/logger-property.test.d.ts +2 -0
- package/dist-types/context/durable-context/logger-property.test.d.ts.map +1 -0
- package/dist-types/context/durable-context/mode-management/mode-management.d.ts +13 -0
- package/dist-types/context/durable-context/mode-management/mode-management.d.ts.map +1 -0
- package/dist-types/context/durable-context/mode-management/mode-management.test.d.ts +2 -0
- package/dist-types/context/durable-context/mode-management/mode-management.test.d.ts.map +1 -0
- package/dist-types/context/execution-context/execution-context.d.ts +9 -0
- package/dist-types/context/execution-context/execution-context.d.ts.map +1 -0
- package/dist-types/context/execution-context/execution-context.test.d.ts +2 -0
- package/dist-types/context/execution-context/execution-context.test.d.ts.map +1 -0
- package/dist-types/durable-execution-api-client/durable-execution-api-client-caching.test.d.ts +2 -0
- package/dist-types/durable-execution-api-client/durable-execution-api-client-caching.test.d.ts.map +1 -0
- package/dist-types/durable-execution-api-client/durable-execution-api-client.d.ts +29 -0
- package/dist-types/durable-execution-api-client/durable-execution-api-client.d.ts.map +1 -0
- package/dist-types/durable-execution-api-client/durable-execution-api-client.test.d.ts +2 -0
- package/dist-types/durable-execution-api-client/durable-execution-api-client.test.d.ts.map +1 -0
- package/dist-types/errors/callback-error/callback-error.test.d.ts +2 -0
- package/dist-types/errors/callback-error/callback-error.test.d.ts.map +1 -0
- package/dist-types/errors/checkpoint-errors/checkpoint-errors.d.ts +21 -0
- package/dist-types/errors/checkpoint-errors/checkpoint-errors.d.ts.map +1 -0
- package/dist-types/errors/checkpoint-errors/checkpoint-errors.test.d.ts +2 -0
- package/dist-types/errors/checkpoint-errors/checkpoint-errors.test.d.ts.map +1 -0
- package/dist-types/errors/durable-error/durable-error-coverage.test.d.ts +2 -0
- package/dist-types/errors/durable-error/durable-error-coverage.test.d.ts.map +1 -0
- package/dist-types/errors/durable-error/durable-error.d.ts +61 -0
- package/dist-types/errors/durable-error/durable-error.d.ts.map +1 -0
- package/dist-types/errors/durable-error/durable-error.test.d.ts +2 -0
- package/dist-types/errors/durable-error/durable-error.test.d.ts.map +1 -0
- package/dist-types/errors/durable-error/error-determinism.integration.test.d.ts +2 -0
- package/dist-types/errors/durable-error/error-determinism.integration.test.d.ts.map +1 -0
- package/dist-types/errors/non-deterministic-error/non-deterministic-error.d.ts +10 -0
- package/dist-types/errors/non-deterministic-error/non-deterministic-error.d.ts.map +1 -0
- package/dist-types/errors/serdes-errors/serdes-errors.d.ts +27 -0
- package/dist-types/errors/serdes-errors/serdes-errors.d.ts.map +1 -0
- package/dist-types/errors/serdes-errors/serdes-errors.test.d.ts +2 -0
- package/dist-types/errors/serdes-errors/serdes-errors.test.d.ts.map +1 -0
- package/dist-types/errors/step-errors/step-errors.d.ts +9 -0
- package/dist-types/errors/step-errors/step-errors.d.ts.map +1 -0
- package/dist-types/errors/unrecoverable-error/unrecoverable-error.d.ts +41 -0
- package/dist-types/errors/unrecoverable-error/unrecoverable-error.d.ts.map +1 -0
- package/dist-types/errors/unrecoverable-error/unrecoverable-error.test.d.ts +2 -0
- package/dist-types/errors/unrecoverable-error/unrecoverable-error.test.d.ts.map +1 -0
- package/dist-types/handlers/callback-handler/callback-promise.d.ts +5 -0
- package/dist-types/handlers/callback-handler/callback-promise.d.ts.map +1 -0
- package/dist-types/handlers/callback-handler/callback-promise.test.d.ts +2 -0
- package/dist-types/handlers/callback-handler/callback-promise.test.d.ts.map +1 -0
- package/dist-types/handlers/callback-handler/callback.d.ts +6 -0
- package/dist-types/handlers/callback-handler/callback.d.ts.map +1 -0
- package/dist-types/handlers/callback-handler/callback.test.d.ts +2 -0
- package/dist-types/handlers/callback-handler/callback.test.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/batch-result.d.ts +35 -0
- package/dist-types/handlers/concurrent-execution-handler/batch-result.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/batch-result.test.d.ts +2 -0
- package/dist-types/handlers/concurrent-execution-handler/batch-result.test.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.d.ts +13 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.integration.test.d.ts +2 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.integration.test.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.replay.test.d.ts +2 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.replay.test.d.ts.map +1 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.test.d.ts +2 -0
- package/dist-types/handlers/concurrent-execution-handler/concurrent-execution-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/invoke-handler/invoke-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/invoke-handler/invoke-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/invoke-handler/invoke-handler.d.ts +7 -0
- package/dist-types/handlers/invoke-handler/invoke-handler.d.ts.map +1 -0
- package/dist-types/handlers/invoke-handler/invoke-handler.test.d.ts +2 -0
- package/dist-types/handlers/invoke-handler/invoke-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/map-handler/map-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/map-handler/map-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/map-handler/map-handler.d.ts +3 -0
- package/dist-types/handlers/map-handler/map-handler.d.ts.map +1 -0
- package/dist-types/handlers/map-handler/map-handler.test.d.ts +2 -0
- package/dist-types/handlers/map-handler/map-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/parallel-handler/parallel-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/parallel-handler/parallel-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/parallel-handler/parallel-handler.d.ts +3 -0
- package/dist-types/handlers/parallel-handler/parallel-handler.d.ts.map +1 -0
- package/dist-types/handlers/parallel-handler/parallel-handler.test.d.ts +2 -0
- package/dist-types/handlers/parallel-handler/parallel-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/promise-handler/promise-handler.d.ts +8 -0
- package/dist-types/handlers/promise-handler/promise-handler.d.ts.map +1 -0
- package/dist-types/handlers/promise-handler/promise-handler.test.d.ts +2 -0
- package/dist-types/handlers/promise-handler/promise-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.d.ts +10 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.d.ts.map +1 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.test.d.ts +2 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-integration.test.d.ts +2 -0
- package/dist-types/handlers/run-in-child-context-handler/run-in-child-context-integration.test.d.ts.map +1 -0
- package/dist-types/handlers/step-handler/step-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/step-handler/step-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/step-handler/step-handler.d.ts +6 -0
- package/dist-types/handlers/step-handler/step-handler.d.ts.map +1 -0
- package/dist-types/handlers/step-handler/step-handler.test.d.ts +2 -0
- package/dist-types/handlers/step-handler/step-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/step-handler/step-handler.timing.test.d.ts +2 -0
- package/dist-types/handlers/step-handler/step-handler.timing.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.d.ts +3 -0
- package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.d.ts.map +1 -0
- package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.test.d.ts +2 -0
- package/dist-types/handlers/wait-for-callback-handler/wait-for-callback-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.d.ts +5 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.d.ts.map +1 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.test.d.ts +2 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.timing.test.d.ts +2 -0
- package/dist-types/handlers/wait-for-condition-handler/wait-for-condition-handler.timing.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-handler/wait-handler-comparison.test.d.ts +2 -0
- package/dist-types/handlers/wait-handler/wait-handler-comparison.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-handler/wait-handler-two-phase.test.d.ts +2 -0
- package/dist-types/handlers/wait-handler/wait-handler-two-phase.test.d.ts.map +1 -0
- package/dist-types/handlers/wait-handler/wait-handler.d.ts +8 -0
- package/dist-types/handlers/wait-handler/wait-handler.d.ts.map +1 -0
- package/dist-types/handlers/wait-handler/wait-handler.test.d.ts +2 -0
- package/dist-types/handlers/wait-handler/wait-handler.test.d.ts.map +1 -0
- package/dist-types/index.d.ts +12 -0
- package/dist-types/index.d.ts.map +1 -0
- package/dist-types/run-durable.d.ts +2 -0
- package/dist-types/run-durable.d.ts.map +1 -0
- package/dist-types/termination-manager/termination-manager-checkpoint.test.d.ts +2 -0
- package/dist-types/termination-manager/termination-manager-checkpoint.test.d.ts.map +1 -0
- package/dist-types/termination-manager/termination-manager.d.ts +15 -0
- package/dist-types/termination-manager/termination-manager.d.ts.map +1 -0
- package/dist-types/termination-manager/termination-manager.test.d.ts +2 -0
- package/dist-types/termination-manager/termination-manager.test.d.ts.map +1 -0
- package/dist-types/termination-manager/types.d.ts +26 -0
- package/dist-types/termination-manager/types.d.ts.map +1 -0
- package/dist-types/testing/create-test-checkpoint-manager.d.ts +5 -0
- package/dist-types/testing/create-test-checkpoint-manager.d.ts.map +1 -0
- package/dist-types/testing/create-test-durable-context.d.ts +32 -0
- package/dist-types/testing/create-test-durable-context.d.ts.map +1 -0
- package/dist-types/testing/mock-batch-result.d.ts +26 -0
- package/dist-types/testing/mock-batch-result.d.ts.map +1 -0
- package/dist-types/testing/mock-checkpoint-manager.d.ts +20 -0
- package/dist-types/testing/mock-checkpoint-manager.d.ts.map +1 -0
- package/dist-types/testing/mock-checkpoint.d.ts +13 -0
- package/dist-types/testing/mock-checkpoint.d.ts.map +1 -0
- package/dist-types/testing/mock-context.d.ts +10 -0
- package/dist-types/testing/mock-context.d.ts.map +1 -0
- package/dist-types/testing/test-constants.d.ts +59 -0
- package/dist-types/testing/test-constants.d.ts.map +1 -0
- package/dist-types/types/batch.d.ts +185 -0
- package/dist-types/types/batch.d.ts.map +1 -0
- package/dist-types/types/callback.d.ts +48 -0
- package/dist-types/types/callback.d.ts.map +1 -0
- package/dist-types/types/child-context.d.ts +24 -0
- package/dist-types/types/child-context.d.ts.map +1 -0
- package/dist-types/types/core.d.ts +313 -0
- package/dist-types/types/core.d.ts.map +1 -0
- package/dist-types/types/durable-context.d.ts +669 -0
- package/dist-types/types/durable-context.d.ts.map +1 -0
- package/dist-types/types/durable-execution.d.ts +192 -0
- package/dist-types/types/durable-execution.d.ts.map +1 -0
- package/dist-types/types/durable-logger.d.ts +69 -0
- package/dist-types/types/durable-logger.d.ts.map +1 -0
- package/dist-types/types/durable-promise.d.ts +80 -0
- package/dist-types/types/durable-promise.d.ts.map +1 -0
- package/dist-types/types/index.d.ts +15 -0
- package/dist-types/types/index.d.ts.map +1 -0
- package/dist-types/types/invoke.d.ts +12 -0
- package/dist-types/types/invoke.d.ts.map +1 -0
- package/dist-types/types/logger.d.ts +63 -0
- package/dist-types/types/logger.d.ts.map +1 -0
- package/dist-types/types/operation-lifecycle-state.d.ts +27 -0
- package/dist-types/types/operation-lifecycle-state.d.ts.map +1 -0
- package/dist-types/types/operation-lifecycle.d.ts +27 -0
- package/dist-types/types/operation-lifecycle.d.ts.map +1 -0
- package/dist-types/types/step.d.ts +76 -0
- package/dist-types/types/step.d.ts.map +1 -0
- package/dist-types/types/wait-condition.d.ts +46 -0
- package/dist-types/types/wait-condition.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-ancestor.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-ancestor.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-central-termination.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-central-termination.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-error-classification.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-error-classification.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-helper.d.ts +47 -0
- package/dist-types/utils/checkpoint/checkpoint-helper.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-integration.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-integration.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-manager.d.ts +78 -0
- package/dist-types/utils/checkpoint/checkpoint-manager.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-queue-completion.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-queue-completion.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-stepdata-update.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-stepdata-update.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint-termination.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint-termination.test.d.ts.map +1 -0
- package/dist-types/utils/checkpoint/checkpoint.test.d.ts +2 -0
- package/dist-types/utils/checkpoint/checkpoint.test.d.ts.map +1 -0
- package/dist-types/utils/constants/constants.d.ts +9 -0
- package/dist-types/utils/constants/constants.d.ts.map +1 -0
- package/dist-types/utils/context-tracker/context-tracker.d.ts +13 -0
- package/dist-types/utils/context-tracker/context-tracker.d.ts.map +1 -0
- package/dist-types/utils/context-tracker/context-tracker.test.d.ts +2 -0
- package/dist-types/utils/context-tracker/context-tracker.test.d.ts.map +1 -0
- package/dist-types/utils/durable-execution-invocation-input/durable-execution-invocation-input.d.ts +22 -0
- package/dist-types/utils/durable-execution-invocation-input/durable-execution-invocation-input.d.ts.map +1 -0
- package/dist-types/utils/durable-execution-invocation-input/durable-execution-invocation-input.test.d.ts +2 -0
- package/dist-types/utils/durable-execution-invocation-input/durable-execution-invocation-input.test.d.ts.map +1 -0
- package/dist-types/utils/duration/duration.d.ts +8 -0
- package/dist-types/utils/duration/duration.d.ts.map +1 -0
- package/dist-types/utils/duration/duration.test.d.ts +2 -0
- package/dist-types/utils/duration/duration.test.d.ts.map +1 -0
- package/dist-types/utils/error-object/error-object-coverage.test.d.ts +2 -0
- package/dist-types/utils/error-object/error-object-coverage.test.d.ts.map +1 -0
- package/dist-types/utils/error-object/error-object.d.ts +3 -0
- package/dist-types/utils/error-object/error-object.d.ts.map +1 -0
- package/dist-types/utils/error-object/error-object.test.d.ts +2 -0
- package/dist-types/utils/error-object/error-object.test.d.ts.map +1 -0
- package/dist-types/utils/logger/default-logger.d.ts +51 -0
- package/dist-types/utils/logger/default-logger.d.ts.map +1 -0
- package/dist-types/utils/logger/default-logger.test.d.ts +2 -0
- package/dist-types/utils/logger/default-logger.test.d.ts.map +1 -0
- package/dist-types/utils/logger/logger.d.ts +2 -0
- package/dist-types/utils/logger/logger.d.ts.map +1 -0
- package/dist-types/utils/logger/logger.test.d.ts +2 -0
- package/dist-types/utils/logger/logger.test.d.ts.map +1 -0
- package/dist-types/utils/logger/structured-logger-integration.test.d.ts +2 -0
- package/dist-types/utils/logger/structured-logger-integration.test.d.ts.map +1 -0
- package/dist-types/utils/replay-validation/replay-validation.d.ts +8 -0
- package/dist-types/utils/replay-validation/replay-validation.d.ts.map +1 -0
- package/dist-types/utils/replay-validation/replay-validation.test.d.ts +2 -0
- package/dist-types/utils/replay-validation/replay-validation.test.d.ts.map +1 -0
- package/dist-types/utils/retry/retry-config/index.d.ts +167 -0
- package/dist-types/utils/retry/retry-config/index.d.ts.map +1 -0
- package/dist-types/utils/retry/retry-config/index.test.d.ts +2 -0
- package/dist-types/utils/retry/retry-config/index.test.d.ts.map +1 -0
- package/dist-types/utils/retry/retry-presets/retry-presets.d.ts +35 -0
- package/dist-types/utils/retry/retry-presets/retry-presets.d.ts.map +1 -0
- package/dist-types/utils/safe-stringify/safe-stringify.d.ts +2 -0
- package/dist-types/utils/safe-stringify/safe-stringify.d.ts.map +1 -0
- package/dist-types/utils/safe-stringify/safe-stringify.test.d.ts +2 -0
- package/dist-types/utils/safe-stringify/safe-stringify.test.d.ts.map +1 -0
- package/dist-types/utils/serdes/serdes.d.ts +152 -0
- package/dist-types/utils/serdes/serdes.d.ts.map +1 -0
- package/dist-types/utils/serdes/serdes.test.d.ts +2 -0
- package/dist-types/utils/serdes/serdes.test.d.ts.map +1 -0
- package/dist-types/utils/step-id-utils/step-id-utils.d.ts +16 -0
- package/dist-types/utils/step-id-utils/step-id-utils.d.ts.map +1 -0
- package/dist-types/utils/step-id-utils/step-id-utils.test.d.ts +2 -0
- package/dist-types/utils/step-id-utils/step-id-utils.test.d.ts.map +1 -0
- package/dist-types/utils/summary-generators/summary-generators.d.ts +10 -0
- package/dist-types/utils/summary-generators/summary-generators.d.ts.map +1 -0
- package/dist-types/utils/summary-generators/summary-generators.test.d.ts +2 -0
- package/dist-types/utils/summary-generators/summary-generators.test.d.ts.map +1 -0
- package/dist-types/utils/termination-helper/termination-deferral.test.d.ts +2 -0
- package/dist-types/utils/termination-helper/termination-deferral.test.d.ts.map +1 -0
- package/dist-types/utils/termination-helper/termination-helper.d.ts +11 -0
- package/dist-types/utils/termination-helper/termination-helper.d.ts.map +1 -0
- package/dist-types/utils/termination-helper/termination-helper.test.d.ts +2 -0
- package/dist-types/utils/termination-helper/termination-helper.test.d.ts.map +1 -0
- package/dist-types/utils/wait-strategy/wait-strategy-config.d.ts +19 -0
- package/dist-types/utils/wait-strategy/wait-strategy-config.d.ts.map +1 -0
- package/dist-types/utils/wait-strategy/wait-strategy-config.test.d.ts +2 -0
- package/dist-types/utils/wait-strategy/wait-strategy-config.test.d.ts.map +1 -0
- package/dist-types/with-durable-execution-queue-completion.test.d.ts +2 -0
- package/dist-types/with-durable-execution-queue-completion.test.d.ts.map +1 -0
- package/dist-types/with-durable-execution.d.ts +75 -0
- package/dist-types/with-durable-execution.d.ts.map +1 -0
- package/dist-types/with-durable-execution.test.d.ts +2 -0
- package/dist-types/with-durable-execution.test.d.ts.map +1 -0
- package/package.json +69 -3
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-configured retry strategies for common use cases
|
|
3
|
+
* @example
|
|
4
|
+
* ```typescript
|
|
5
|
+
* // Use default retry preset (3 attempts with exponential backoff)
|
|
6
|
+
* await context.step('my-step', async () => {
|
|
7
|
+
* return await someOperation();
|
|
8
|
+
* }, { retryStrategy: retryPresets.default });
|
|
9
|
+
*
|
|
10
|
+
* // Use no-retry preset (fail immediately on error)
|
|
11
|
+
* await context.step('critical-step', async () => {
|
|
12
|
+
* return await criticalOperation();
|
|
13
|
+
* }, { retryStrategy: retryPresets.noRetry });
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare const retryPresets: {
|
|
19
|
+
/**
|
|
20
|
+
* Default retry strategy with exponential backoff
|
|
21
|
+
* - 6 total attempts (1 initial + 5 retries)
|
|
22
|
+
* - Initial delay: 5 seconds
|
|
23
|
+
* - Max delay: 60 seconds
|
|
24
|
+
* - Backoff rate: 2x
|
|
25
|
+
* - Jitter: FULL (randomizes delay between 0 and calculated delay)
|
|
26
|
+
* - Total max wait time less than 150 seconds (2:30)
|
|
27
|
+
*/
|
|
28
|
+
default: (error: Error, attemptsMade: number) => import("../../..").RetryDecision;
|
|
29
|
+
/**
|
|
30
|
+
* No retry strategy - fails immediately on first error
|
|
31
|
+
* - 1 total attempt (no retries)
|
|
32
|
+
*/
|
|
33
|
+
noRetry: (error: Error, attemptsMade: number) => import("../../..").RetryDecision;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=retry-presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-presets.d.ts","sourceRoot":"","sources":["../../../../src/utils/retry/retry-presets/retry-presets.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;;;;OAQG;;IASH;;;OAGG;;CAIJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-stringify.d.ts","sourceRoot":"","sources":["../../../src/utils/safe-stringify/safe-stringify.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,MA2B7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-stringify.test.d.ts","sourceRoot":"","sources":["../../../src/utils/safe-stringify/safe-stringify.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context information passed to Serdes for external storage operations
|
|
3
|
+
*
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface SerdesContext {
|
|
7
|
+
/** Unique identifier for the step/entity being serialized */
|
|
8
|
+
entityId: string;
|
|
9
|
+
/** ARN of the durable execution to avoid collisions between executions */
|
|
10
|
+
durableExecutionArn: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Serdes (Serialization/Deserialization) interface for durable functions.
|
|
14
|
+
* This interface allows customizing how data is serialized and deserialized
|
|
15
|
+
* when persisting state in durable functions.
|
|
16
|
+
*
|
|
17
|
+
* Both methods are async to support custom implementations that need to
|
|
18
|
+
* interact with external services (e.g., AWS S3, DynamoDB, etc.)
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export interface Serdes<T> {
|
|
23
|
+
/**
|
|
24
|
+
* Serializes a value to a string representation
|
|
25
|
+
* @param value - The value to serialize
|
|
26
|
+
* @param context - Context information for external storage (entityId, durableExecutionArn)
|
|
27
|
+
* @returns A Promise that resolves to a string representation of the value or pointer
|
|
28
|
+
*/
|
|
29
|
+
serialize: (value: T | undefined, context: SerdesContext) => Promise<string | undefined>;
|
|
30
|
+
/**
|
|
31
|
+
* Deserializes a string back to the original value
|
|
32
|
+
* @param data - The string to deserialize (could be actual data or a pointer)
|
|
33
|
+
* @param context - Context information for external storage (entityId, durableExecutionArn)
|
|
34
|
+
* @returns A Promise that resolves to the deserialized value
|
|
35
|
+
*/
|
|
36
|
+
deserialize: (data: string | undefined, context: SerdesContext) => Promise<T | undefined>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Default Serdes implementation using JSON.stringify and JSON.parse
|
|
40
|
+
* Wrapped in Promise.resolve() to maintain async interface compatibility
|
|
41
|
+
* Ignores context parameter since it uses inline JSON serialization
|
|
42
|
+
*
|
|
43
|
+
* Note: Uses 'any' type intentionally as this is a generic serializer that must
|
|
44
|
+
* handle arbitrary JavaScript values. JSON.stringify/parse work with any type,
|
|
45
|
+
* and using more restrictive types would break compatibility with the generic
|
|
46
|
+
* Serdes<T> interface when T can be any type.
|
|
47
|
+
*
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
export declare const defaultSerdes: Serdes<any>;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a Serdes for a specific class that preserves the class type. This implementation
|
|
53
|
+
* is a basic class wrapper and does not support any complex class structures. If you need
|
|
54
|
+
* custom serialization, it is recommended to create your own custom serdes.
|
|
55
|
+
*
|
|
56
|
+
* @param cls - The class constructor (must have no required parameters)
|
|
57
|
+
* @returns A Serdes that maintains the class type during serialization/deserialization
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* class User {
|
|
62
|
+
* name: string = "";
|
|
63
|
+
* age: number = 0;
|
|
64
|
+
*
|
|
65
|
+
* greet() {
|
|
66
|
+
* return `Hello, ${this.name}`;
|
|
67
|
+
* }
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* const userSerdes = createClassSerdes(User);
|
|
71
|
+
*
|
|
72
|
+
* // In a durable function:
|
|
73
|
+
* const user = await context.step("create-user", async () => {
|
|
74
|
+
* const u = new User();
|
|
75
|
+
* u.name = "Alice";
|
|
76
|
+
* u.age = 30;
|
|
77
|
+
* return u;
|
|
78
|
+
* }, { serdes: userSerdes });
|
|
79
|
+
*
|
|
80
|
+
* console.log(user.greet()); // "Hello, Alice" - methods are preserved
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* Limitations:
|
|
84
|
+
* - Class instances becomes plain objects and loses all class information
|
|
85
|
+
* - Constructor must have no parameters
|
|
86
|
+
* - Constructor side-effects will re-run during deserialization
|
|
87
|
+
* - Private fields (#field) cannot be serialized
|
|
88
|
+
* - Getters/setters are not preserved
|
|
89
|
+
* - Nested class instances lose their prototype
|
|
90
|
+
*
|
|
91
|
+
* For classes with Date properties, use createClassSerdesWithDates instead.
|
|
92
|
+
*
|
|
93
|
+
* @beta
|
|
94
|
+
*/
|
|
95
|
+
export declare function createClassSerdes<T extends object>(cls: new () => T): Serdes<T>;
|
|
96
|
+
/**
|
|
97
|
+
* Creates a custom Serdes for a class with special handling for Date properties. This implementation
|
|
98
|
+
* is a basic class wrapper and does not support any complex class structures. If you need
|
|
99
|
+
* custom serialization, it is recommended to create your own custom serdes.
|
|
100
|
+
*
|
|
101
|
+
* @param cls - The class constructor (must have no required parameters)
|
|
102
|
+
* @param dateProps - Array of property paths that should be converted to Date objects (supports nested paths like "metadata.createdAt")
|
|
103
|
+
* @returns A Serdes that maintains the class type and converts specified properties to Date objects
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* class Article {
|
|
108
|
+
* title: string = "";
|
|
109
|
+
* createdAt: Date = new Date();
|
|
110
|
+
* metadata: {
|
|
111
|
+
* publishedAt: Date;
|
|
112
|
+
* updatedAt: Date;
|
|
113
|
+
* } = {
|
|
114
|
+
* publishedAt: new Date(),
|
|
115
|
+
* updatedAt: new Date()
|
|
116
|
+
* };
|
|
117
|
+
*
|
|
118
|
+
* getAge() {
|
|
119
|
+
* return Date.now() - this.createdAt.getTime();
|
|
120
|
+
* }
|
|
121
|
+
* }
|
|
122
|
+
*
|
|
123
|
+
* const articleSerdes = createClassSerdesWithDates(Article, [
|
|
124
|
+
* "createdAt",
|
|
125
|
+
* "metadata.publishedAt",
|
|
126
|
+
* "metadata.updatedAt"
|
|
127
|
+
* ]);
|
|
128
|
+
*
|
|
129
|
+
* // In a durable function:
|
|
130
|
+
* const article = await context.step("create-article", async () => {
|
|
131
|
+
* const a = new Article();
|
|
132
|
+
* a.title = "My Article";
|
|
133
|
+
* return a;
|
|
134
|
+
* }, { serdes: articleSerdes });
|
|
135
|
+
*
|
|
136
|
+
* console.log(article.getAge()); // Works! Dates are properly restored
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* Limitations:
|
|
140
|
+
* - Class instances becomes plain objects and loses all class information
|
|
141
|
+
* - Constructor must have no parameters
|
|
142
|
+
* - Constructor side-effects will re-run during deserialization
|
|
143
|
+
* - Private fields (#field) cannot be serialized
|
|
144
|
+
* - Getters/setters are not preserved
|
|
145
|
+
* - Nested class instances lose their prototype
|
|
146
|
+
*
|
|
147
|
+
* For classes with Date properties, use createClassSerdesWithDates instead.
|
|
148
|
+
*
|
|
149
|
+
* @beta
|
|
150
|
+
*/
|
|
151
|
+
export declare function createClassSerdesWithDates<T extends object>(cls: new () => T, dateProps: string[]): Serdes<T>;
|
|
152
|
+
//# sourceMappingURL=serdes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serdes.d.ts","sourceRoot":"","sources":["../../../src/utils/serdes/serdes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB;;;;;OAKG;IACH,SAAS,EAAE,CACT,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,GAAG,CAYrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,GAAG,EAAE,UAAU,CAAC,GACf,MAAM,CAAC,CAAC,CAAC,CAeX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,EACzD,GAAG,EAAE,UAAU,CAAC,EAChB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,CAAC,CAAC,CA2CX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serdes.test.d.ts","sourceRoot":"","sources":["../../../src/utils/serdes/serdes.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Operation } from "@aws-sdk/client-lambda";
|
|
2
|
+
/**
|
|
3
|
+
* Creates an MD5 hash of the input string for better performance than SHA-256
|
|
4
|
+
* @param input - The string to hash
|
|
5
|
+
* @returns The truncated hexadecimal hash string
|
|
6
|
+
*/
|
|
7
|
+
export declare const hashId: (input: string) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to get step data using the original stepId
|
|
10
|
+
* This function handles the hashing internally so callers don't need to worry about it
|
|
11
|
+
* @param stepData - The stepData record from context
|
|
12
|
+
* @param stepId - The original stepId (will be hashed internally)
|
|
13
|
+
* @returns The operation data or undefined if not found
|
|
14
|
+
*/
|
|
15
|
+
export declare const getStepData: (stepData: Record<string, Operation>, stepId: string) => Operation | undefined;
|
|
16
|
+
//# sourceMappingURL=step-id-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-id-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/step-id-utils/step-id-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,KAAG,MAKtC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GACtB,UAAU,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACnC,QAAQ,MAAM,KACb,SAAS,GAAG,SAGd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-id-utils.test.d.ts","sourceRoot":"","sources":["../../../src/utils/step-id-utils/step-id-utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BatchResult } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a predefined summary generator for parallel operations
|
|
4
|
+
*/
|
|
5
|
+
export declare const createParallelSummaryGenerator: <T>() => (result: BatchResult<T>) => string;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a predefined summary generator for map operations
|
|
8
|
+
*/
|
|
9
|
+
export declare const createMapSummaryGenerator: <T>() => (result: BatchResult<T>) => string;
|
|
10
|
+
//# sourceMappingURL=summary-generators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-generators.d.ts","sourceRoot":"","sources":["../../../src/utils/summary-generators/summary-generators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACxC,CAAC,QACD,QAAQ,WAAW,CAAC,CAAC,CAAC,KAAG,MAUzB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACnC,CAAC,QACD,QAAQ,WAAW,CAAC,CAAC,CAAC,KAAG,MASzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-generators.test.d.ts","sourceRoot":"","sources":["../../../src/utils/summary-generators/summary-generators.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"termination-deferral.test.d.ts","sourceRoot":"","sources":["../../../src/utils/termination-helper/termination-deferral.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ExecutionContext } from "../../types";
|
|
2
|
+
import { UnrecoverableError } from "../../errors/unrecoverable-error/unrecoverable-error";
|
|
3
|
+
/**
|
|
4
|
+
* Terminates execution for unrecoverable errors and returns a never-resolving promise
|
|
5
|
+
* @param context - The execution context containing the termination manager
|
|
6
|
+
* @param error - The unrecoverable error that caused termination
|
|
7
|
+
* @param stepIdentifier - The step name or ID for error messaging
|
|
8
|
+
* @returns A never-resolving promise
|
|
9
|
+
*/
|
|
10
|
+
export declare function terminateForUnrecoverableError<T>(context: ExecutionContext, error: UnrecoverableError, stepIdentifier: string): Promise<T>;
|
|
11
|
+
//# sourceMappingURL=termination-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"termination-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/termination-helper/termination-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAE1F;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAC9C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,CAAC,CAAC,CAOZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"termination-helper.test.d.ts","sourceRoot":"","sources":["../../../src/utils/termination-helper/termination-helper.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WaitForConditionDecision, JitterStrategy, Duration } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
interface WaitStrategyConfig<T> {
|
|
6
|
+
maxAttempts?: number;
|
|
7
|
+
initialDelay?: Duration;
|
|
8
|
+
maxDelay?: Duration;
|
|
9
|
+
backoffRate?: number;
|
|
10
|
+
jitter?: JitterStrategy;
|
|
11
|
+
shouldContinuePolling: (result: T) => boolean;
|
|
12
|
+
timeoutSeconds?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare const createWaitStrategy: <T>(config: WaitStrategyConfig<T>) => (result: T, attemptsMade: number) => WaitForConditionDecision;
|
|
18
|
+
export type { WaitStrategyConfig };
|
|
19
|
+
//# sourceMappingURL=wait-strategy-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-strategy-config.d.ts","sourceRoot":"","sources":["../../../src/utils/wait-strategy/wait-strategy-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACT,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,UAAU,kBAAkB,CAAC,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,qBAAqB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwBD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,kBAAkB,CAAC,CAAC,CAAC,MAMzD,QAAQ,CAAC,EAAE,cAAc,MAAM,KAAG,wBA8B3C,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-strategy-config.test.d.ts","sourceRoot":"","sources":["../../../src/utils/wait-strategy/wait-strategy-config.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-durable-execution-queue-completion.test.d.ts","sourceRoot":"","sources":["../src/with-durable-execution-queue-completion.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { DurableLogger } from "./types";
|
|
2
|
+
import { DurableExecutionConfig, DurableExecutionHandler, DurableLambdaHandler } from "./types/durable-execution";
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a durable handler function to create a handler with automatic state persistence,
|
|
5
|
+
* retry logic, and workflow orchestration capabilities.
|
|
6
|
+
*
|
|
7
|
+
* This function transforms your durable handler into a function that integrates
|
|
8
|
+
* with the AWS Durable Execution service. The wrapped handler automatically manages execution state
|
|
9
|
+
* and checkpointing.
|
|
10
|
+
*
|
|
11
|
+
* @typeParam TEvent - The type of the input event your handler expects (defaults to any)
|
|
12
|
+
* @typeParam TResult - The type of the result your handler returns (defaults to any)
|
|
13
|
+
* @typeParam TLogger - The type of custom logger implementation (defaults to DurableLogger)
|
|
14
|
+
*
|
|
15
|
+
* @param handler - Your durable handler function that uses the DurableContext for operations
|
|
16
|
+
* @param config - Optional configuration for custom advanced settings
|
|
17
|
+
*
|
|
18
|
+
* @returns A handler function that automatically manages durability
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* **Basic Usage:**
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import { withDurableExecution, DurableExecutionHandler } from '@aws/durable-execution-sdk-js';
|
|
24
|
+
*
|
|
25
|
+
* const durableHandler: DurableExecutionHandler<MyEvent, MyResult> = async (event, context) => {
|
|
26
|
+
* // Execute durable operations with automatic retry and checkpointing
|
|
27
|
+
* const userData = await context.step("fetch-user", async () =>
|
|
28
|
+
* fetchUserFromDB(event.userId)
|
|
29
|
+
* );
|
|
30
|
+
*
|
|
31
|
+
* // Wait for external approval
|
|
32
|
+
* const approval = await context.waitForCallback("user-approval", async (callbackId) => {
|
|
33
|
+
* await sendApprovalEmail(callbackId, userData);
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Process in parallel
|
|
37
|
+
* const results = await context.parallel("process-data", [
|
|
38
|
+
* async (ctx) => ctx.step("validate", () => validateData(userData)),
|
|
39
|
+
* async (ctx) => ctx.step("transform", () => transformData(userData))
|
|
40
|
+
* ]);
|
|
41
|
+
*
|
|
42
|
+
* return { success: true, results };
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* export const handler = withDurableExecution(durableHandler);
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* **With Custom Configuration:**
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import { LambdaClient } from '@aws-sdk/client-lambda';
|
|
52
|
+
*
|
|
53
|
+
* const customClient = new LambdaClient({
|
|
54
|
+
* region: 'us-west-2',
|
|
55
|
+
* maxAttempts: 5
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* export const handler = withDurableExecution(durableHandler, {
|
|
59
|
+
* client: customClient
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* **Passed Directly to the Handler:**
|
|
65
|
+
* ```typescript
|
|
66
|
+
* export const handler = withDurableExecution(async (event, context) => {
|
|
67
|
+
* const result = await context.step(async () => processEvent(event));
|
|
68
|
+
* return result;
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
export declare const withDurableExecution: <TEvent = any, TResult = any, TLogger extends DurableLogger = DurableLogger>(handler: DurableExecutionHandler<TEvent, TResult, TLogger>, config?: DurableExecutionConfig) => DurableLambdaHandler;
|
|
75
|
+
//# sourceMappingURL=with-durable-execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-durable-execution.d.ts","sourceRoot":"","sources":["../src/with-durable-execution.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,aAAa,EAMd,MAAM,SAAS,CAAC;AAKjB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AA+PnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,oBAAoB,GAE/B,MAAM,GAAG,GAAG,EAEZ,OAAO,GAAG,GAAG,EACb,OAAO,SAAS,aAAa,GAAG,aAAa,EAE7C,SAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAC1D,SAAS,sBAAsB,KAC9B,oBAuBF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-durable-execution.test.d.ts","sourceRoot":"","sources":["../src/with-durable-execution.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,73 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/durable-execution-sdk-js",
|
|
3
|
-
"
|
|
3
|
+
"description": "AWS Durable Execution Language SDK for TypeScript",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"version": "1.0.1",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+ssh://git@github.com/aws/aws-durable-execution-sdk-js.git",
|
|
9
|
+
"directory": "packages/aws-durable-execution-sdk-js"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/aws/aws-durable-execution-sdk-js/tree/main/packages/aws-durable-execution-sdk-js",
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=22"
|
|
14
|
+
},
|
|
15
|
+
"main": "./dist-cjs/index.js",
|
|
16
|
+
"module": "./dist/index.mjs",
|
|
17
|
+
"types": "./dist-types/index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist-types/index.d.ts",
|
|
21
|
+
"import": "./dist/index.mjs",
|
|
22
|
+
"require": "./dist-cjs/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist/",
|
|
27
|
+
"dist-cjs/",
|
|
28
|
+
"dist-types/"
|
|
29
|
+
],
|
|
4
30
|
"scripts": {
|
|
5
|
-
"
|
|
6
|
-
|
|
31
|
+
"prebuild": "npm run lint:fix",
|
|
32
|
+
"build": "concurrently npm:build:esm npm:build:cjs npm:build:types",
|
|
33
|
+
"build:esm": "rollup --config rollup.config.mjs --environment MODE:esm",
|
|
34
|
+
"build:cjs": "rollup --config rollup.config.mjs --environment MODE:cjs",
|
|
35
|
+
"build:types": "tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist-types",
|
|
36
|
+
"test": "jest",
|
|
37
|
+
"test:watch": "jest --watch",
|
|
38
|
+
"test:coverage": "jest --coverage",
|
|
39
|
+
"test:scripts": "jest --config jest.scripts.config.js",
|
|
40
|
+
"test:scripts:watch": "jest --config jest.scripts.config.js --watch",
|
|
41
|
+
"test:scripts:coverage": "jest --config jest.scripts.config.js --coverage",
|
|
42
|
+
"test:all": "jest --config jest.all.config.js",
|
|
43
|
+
"test:all:coverage": "jest --config jest.all.config.js --coverage",
|
|
44
|
+
"lint": "eslint src --ext .ts",
|
|
45
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
46
|
+
"prepublishOnly": "npm test && npm run lint && npm run build",
|
|
47
|
+
"run-locally": "tsx ./src/run-durable.ts",
|
|
48
|
+
"clean": "rm -rf node_modules dist dist-cjs dist-types coverage .tsbuildinfo .rollup.cache",
|
|
49
|
+
"prepack": "npm run build"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
53
|
+
"@eslint/js": "^9.29.0",
|
|
54
|
+
"@microsoft/api-extractor": "^7.55.1",
|
|
55
|
+
"@types/aws-lambda": "^8.10.147",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^8.25.0",
|
|
57
|
+
"@typescript-eslint/parser": "^8.25.0",
|
|
58
|
+
"aws-lambda": "^1.0.7",
|
|
59
|
+
"eslint": "^9.21.0",
|
|
60
|
+
"eslint-plugin-filename-convention": "file:scripts/eslint-plugin-filename-convention",
|
|
61
|
+
"eslint-plugin-tsdoc": "^0.4.0",
|
|
62
|
+
"jest": "^29.7.0",
|
|
63
|
+
"prettier": "^3.5.2",
|
|
64
|
+
"rimraf": "^5.0.10",
|
|
65
|
+
"ts-jest": "^29.2.6",
|
|
66
|
+
"tsx": "^4.19.3",
|
|
67
|
+
"typescript": "^5.7.3"
|
|
68
|
+
},
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"@aws-sdk/client-lambda": "^3.943.0"
|
|
71
|
+
},
|
|
72
|
+
"private": false
|
|
7
73
|
}
|