/** * Ductape Features Module * * Provides code-first feature API for building durable features * with automatic state persistence, retries, and rollbacks. * * @example * ```ts * import { FeatureService, FeatureBuilder } from '@ductape/sdk'; * * // Code-first registration * const features = new FeatureService(config); * await features.define({ * product: 'my-product', * tag: 'my-feature', * name: 'My Feature', * handler: async (ctx) => ctx.step('work', async () => ({ ok: true })), * }); * * // Using the builder * const feature = new FeatureBuilder('order-fulfillment') * .name('Order Fulfillment') * .step('validate') * .action('orders', 'validate') * .done() * .build(); * ``` */ export { FeatureService, FeatureError, FeatureCompilationError, featureService, IDefinedFeature } from './features.service'; export { default as FeatureServiceDefault } from './features.service'; export { FeatureBuilder, createFeature } from './feature-builder'; export { default as FeatureBuilderDefault } from './feature-builder'; export { FeatureExecutor, IResumeOptions } from './feature-executor'; export { default as FeatureExecutorDefault } from './feature-executor'; export * from './types'; export * from '../functions';