@tasker-systems/tasker 0.1.4 → 0.1.5

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.
@@ -1,287 +1,389 @@
1
- import { T as TaskerRuntime, B as BaseTaskerRuntime, e as BootstrapConfig, f as BootstrapResult, W as WorkerStatus, q as StopResult, l as FfiStepEvent, F as FfiDomainEvent, p as StepExecutionResult, t as CheckpointYieldData, k as FfiDispatchMetrics, L as LogFields, h as ClientResult } from '../runtime-interface-D940vUzy.js';
2
- export { D as DependencyResult, u as FfiDomainEventMetadata, m as HandlerDefinition, O as OrchestrationMetadata, R as RetryConfiguration, S as StepDefinition, n as StepExecutionError, o as StepExecutionMetadata, r as Task, s as WorkflowStep } from '../runtime-interface-D940vUzy.js';
1
+ /* auto-generated by NAPI-RS */
2
+ /* eslint-disable */
3
+ /** Configuration for bootstrapping the worker. */
4
+ interface BootstrapConfig {
5
+ namespace?: string
6
+ configPath?: string
7
+ }
8
+
9
+ /** Result of bootstrapping the worker. */
10
+ interface BootstrapResult {
11
+ success: boolean
12
+ status: string
13
+ message: string
14
+ workerId?: string
15
+ }
16
+
17
+ /** Checkpoint yield data for batch processing (TAS-125). */
18
+ interface NapiCheckpointYieldData {
19
+ stepUuid: string
20
+ cursor: any
21
+ itemsProcessed: number
22
+ accumulatedResults?: any
23
+ }
3
24
 
4
25
  /**
5
- * Runtime detection for TypeScript/JavaScript workers.
26
+ * Client operation result.
6
27
  *
7
- * Detects whether the code is running in Bun, Node.js, Deno, or an unknown runtime.
8
- */
9
- /**
10
- * Supported JavaScript/TypeScript runtimes
28
+ * Maintains the existing TypeScript API surface with success/data/error envelope.
11
29
  */
12
- type RuntimeType = 'bun' | 'node' | 'deno' | 'unknown';
13
- /**
14
- * Runtime information including version details
15
- */
16
- interface RuntimeInfo {
17
- type: RuntimeType;
18
- version: string;
19
- platform: string;
20
- arch: string;
30
+ interface NapiClientResult {
31
+ success: boolean
32
+ data?: any
33
+ error?: string
34
+ recoverable?: boolean
35
+ }
36
+
37
+ interface NapiDependencyResult {
38
+ stepUuid: string
39
+ success: boolean
40
+ result: any
41
+ status: string
42
+ errorMessage?: string
43
+ errorType?: string
44
+ errorRetryable?: boolean
45
+ }
46
+
47
+ /** FFI dispatch metrics. */
48
+ interface NapiDispatchMetrics {
49
+ pendingCount: number
50
+ starvationDetected: boolean
51
+ starvingEventCount: number
52
+ oldestPendingAgeMs?: number
53
+ newestPendingAgeMs?: number
54
+ oldestEventId?: string
55
+ }
56
+
57
+ /** Domain event from in-process event bus (fast path). */
58
+ interface NapiDomainEvent {
59
+ eventId: string
60
+ eventName: string
61
+ eventVersion: string
62
+ metadata: NapiDomainEventMetadata
63
+ payload: any
64
+ }
65
+
66
+ /** Metadata attached to domain events. */
67
+ interface NapiDomainEventMetadata {
68
+ taskUuid: string
69
+ stepUuid?: string
70
+ stepName?: string
71
+ namespace: string
72
+ correlationId: string
73
+ firedAt: string
74
+ firedBy?: string
75
+ }
76
+
77
+ /** Parameters for listing tasks. */
78
+ interface NapiListTasksParams {
79
+ limit?: number
80
+ offset?: number
81
+ namespace?: string
82
+ status?: string
83
+ }
84
+
85
+ interface NapiStepDefinition {
86
+ name: string
87
+ description?: string
88
+ handlerCallable: string
89
+ handlerMethod?: string
90
+ handlerResolver?: string
91
+ handlerInitialization: any
92
+ systemDependency?: string
93
+ dependencies: Array<string>
94
+ timeoutSeconds?: number
95
+ retryRetryable: boolean
96
+ retryMaxAttempts: number
97
+ retryBackoff: string
98
+ retryBackoffBaseMs?: number
99
+ retryMaxBackoffMs?: number
21
100
  }
101
+
102
+ /** A step event dispatched to the TypeScript handler. */
103
+ interface NapiStepEvent {
104
+ eventId: string
105
+ taskUuid: string
106
+ stepUuid: string
107
+ correlationId: string
108
+ traceId?: string
109
+ spanId?: string
110
+ taskCorrelationId: string
111
+ parentCorrelationId?: string
112
+ task: NapiTaskInfo
113
+ workflowStep: NapiWorkflowStep
114
+ stepDefinition: NapiStepDefinition
115
+ dependencyResults: Record<string, NapiDependencyResult>
116
+ }
117
+
118
+ interface NapiTaskInfo {
119
+ taskUuid: string
120
+ namedTaskUuid: string
121
+ name: string
122
+ namespace: string
123
+ version: string
124
+ context?: any
125
+ correlationId: string
126
+ parentCorrelationId?: string
127
+ complete: boolean
128
+ priority: number
129
+ initiator?: string
130
+ sourceSystem?: string
131
+ reason?: string
132
+ tags?: any
133
+ identityHash: string
134
+ createdAt: string
135
+ updatedAt: string
136
+ requestedAt: string
137
+ }
138
+
22
139
  /**
23
- * Detect the current JavaScript/TypeScript runtime.
140
+ * Task creation request crosses FFI as native JS object.
24
141
  *
25
- * @returns The detected runtime type
26
- */
27
- declare function detectRuntime(): RuntimeType;
28
- /**
29
- * Check if running in Bun
142
+ * In koffi, this was serialized to JSON and parsed with
143
+ * `serde_json::Deserializer::from_str` to tolerate trailing bytes.
144
+ * In napi-rs, no serialization needed. No trailing bytes. No TAS-283.
30
145
  */
31
- declare function isBun(): boolean;
32
- /**
33
- * Check if running in Node.js
34
- */
35
- declare function isNode(): boolean;
36
- /**
37
- * Check if running in Deno
38
- */
39
- declare function isDeno(): boolean;
146
+ interface NapiTaskRequest {
147
+ name: string
148
+ namespace: string
149
+ version: string
150
+ /** Native JS object — napi-rs handles this via serde-json feature */
151
+ context: any
152
+ initiator: string
153
+ sourceSystem: string
154
+ reason: string
155
+ tags?: Array<string>
156
+ priority?: number
157
+ correlationId?: string
158
+ parentCorrelationId?: string
159
+ idempotencyKey?: string
160
+ }
161
+
162
+ interface NapiWorkflowStep {
163
+ workflowStepUuid: string
164
+ taskUuid: string
165
+ namedStepUuid: string
166
+ name: string
167
+ templateStepName: string
168
+ retryable: boolean
169
+ maxAttempts: number
170
+ attempts: number
171
+ inProcess: boolean
172
+ processed: boolean
173
+ inputs?: any
174
+ results?: any
175
+ backoffRequestSeconds?: number
176
+ processedAt?: string
177
+ lastAttemptedAt?: string
178
+ createdAt: string
179
+ updatedAt: string
180
+ checkpoint?: any
181
+ }
182
+
183
+ /** Worker status information. */
184
+ interface WorkerStatus {
185
+ success: boolean
186
+ running: boolean
187
+ workerId?: string
188
+ status?: string
189
+ environment?: string
190
+ }
191
+
40
192
  /**
41
- * Get detailed runtime information
193
+ * Step execution result sent back to Rust from TypeScript handlers.
194
+ *
195
+ * Mirrors: bridge.rs `NapiStepExecutionResult` with `#[napi(object)]`.
196
+ * Uses `| null` instead of `?:` because we explicitly construct these.
42
197
  */
43
- declare function getRuntimeInfo(): RuntimeInfo;
198
+ interface NapiStepExecutionResult {
199
+ stepUuid: string;
200
+ success: boolean;
201
+ result: unknown;
202
+ status: 'completed' | 'failed' | 'error';
203
+ metadata: NapiStepExecutionMetadata;
204
+ error?: NapiStepExecutionError;
205
+ orchestrationMetadata?: NapiOrchestrationMetadata;
206
+ }
207
+ interface NapiStepExecutionMetadata {
208
+ executionTimeMs: number;
209
+ workerId?: string;
210
+ completedAt: string;
211
+ retryable?: boolean;
212
+ errorType?: string;
213
+ errorCode?: string;
214
+ custom?: Record<string, unknown>;
215
+ }
216
+ interface NapiStepExecutionError {
217
+ message: string;
218
+ errorType?: string;
219
+ retryable?: boolean;
220
+ statusCode?: number;
221
+ backtrace?: string[];
222
+ context?: Record<string, unknown>;
223
+ }
44
224
  /**
45
- * Get the path to the native library.
225
+ * Orchestration metadata for workflow coordination hints.
46
226
  *
47
- * REQUIRES: TASKER_FFI_LIBRARY_PATH environment variable to be set,
48
- * OR an explicit basePath parameter must be provided.
227
+ * Handlers can return this to influence orchestration decisions — e.g.,
228
+ * passing Retry-After headers from external APIs, requesting explicit
229
+ * backoff, or providing domain-specific routing hints.
49
230
  *
50
- * This explicit requirement prevents confusion from automatic debug/release
51
- * library discovery and ensures intentional configuration at build/runtime.
231
+ * Matches: tasker_shared::messaging::message::OrchestrationMetadata
232
+ */
233
+ interface NapiOrchestrationMetadata {
234
+ headers?: Record<string, string>;
235
+ errorContext?: string | null;
236
+ backoffHint?: NapiBackoffHint | null;
237
+ custom?: Record<string, unknown>;
238
+ }
239
+ /**
240
+ * Backoff hint from handler to orchestration system.
52
241
  *
53
- * @param basePath Optional explicit base path to the library directory
54
- * @returns Path to the native library
55
- * @throws Error if TASKER_FFI_LIBRARY_PATH is not set and no basePath provided
242
+ * Matches: tasker_shared::messaging::message::BackoffHint
56
243
  */
57
- declare function getLibraryPath(basePath?: string): string;
244
+ interface NapiBackoffHint {
245
+ backoffType: string;
246
+ delaySeconds: number;
247
+ context?: string | null;
248
+ }
249
+ /** @deprecated Use NapiStepEvent directly */
250
+ type FfiStepEvent = NapiStepEvent;
251
+ /** @deprecated Use NapiDispatchMetrics directly */
252
+ type FfiDispatchMetrics = NapiDispatchMetrics;
253
+ /** @deprecated Use NapiDomainEvent directly */
254
+ type FfiDomainEvent = NapiDomainEvent;
255
+ /** @deprecated Use NapiDomainEventMetadata directly */
256
+ type FfiDomainEventMetadata = NapiDomainEventMetadata;
257
+ /** @deprecated Use NapiStepExecutionResult directly */
258
+ type StepExecutionResult = NapiStepExecutionResult;
259
+ /** Log fields for structured logging */
260
+ interface LogFields {
261
+ [key: string]: string | number | boolean | null;
262
+ }
263
+ /** Checkpoint yield data alias */
264
+ type CheckpointYieldData = NapiCheckpointYieldData;
265
+ /** Stop result alias */
266
+ type StopResult = WorkerStatus;
58
267
 
59
268
  /**
60
- * FfiLayer - Owns FFI runtime loading and lifecycle.
61
- *
62
- * This class encapsulates the FFI runtime management:
63
- * - Runtime detection (Node.js, Bun, Deno)
64
- * - Library path discovery
65
- * - Runtime loading and unloading
269
+ * FfiLayer - Owns napi-rs module loading and lifecycle.
66
270
  *
67
- * Both Node.js and Bun use koffi (Node-API) for stable FFI.
271
+ * TAS-290: Simplified from the multi-runtime koffi approach.
272
+ * The napi-rs `.node` file IS the runtime — no runtime detection,
273
+ * no NodeRuntime/DenoRuntime adapters, no JSON serialization.
68
274
  *
69
275
  * Design principles:
70
276
  * - Explicit construction: No singleton pattern
71
- * - Clear ownership: Owns the runtime instance
277
+ * - Clear ownership: Owns the napi module instance
72
278
  * - Explicit lifecycle: load() and unload() methods
73
279
  */
74
280
 
281
+ /**
282
+ * Interface for the napi-rs native module.
283
+ *
284
+ * These are the functions exported by the Rust `#[napi]` bindings.
285
+ * Function names are auto-camelCased by napi-rs from Rust snake_case.
286
+ */
287
+ interface NapiModule {
288
+ getVersion(): string;
289
+ getRustVersion(): string;
290
+ healthCheck(): boolean;
291
+ bootstrapWorker(config: BootstrapConfig): BootstrapResult;
292
+ isWorkerRunning(): boolean;
293
+ getWorkerStatus(): WorkerStatus;
294
+ stopWorker(): WorkerStatus;
295
+ transitionToGracefulShutdown(): WorkerStatus;
296
+ pollStepEvents(): NapiStepEvent | null;
297
+ completeStepEvent(eventId: string, result: NapiStepExecutionResult): boolean;
298
+ pollInProcessEvents(): NapiDomainEvent | null;
299
+ checkpointYieldStepEvent(eventId: string, checkpoint: NapiCheckpointYieldData): boolean;
300
+ getFfiDispatchMetrics(): NapiDispatchMetrics;
301
+ checkStarvationWarnings(): void;
302
+ cleanupTimeouts(): void;
303
+ clientCreateTask(request: NapiTaskRequest): NapiClientResult;
304
+ clientGetTask(taskUuid: string): NapiClientResult;
305
+ clientListTasks(params: NapiListTasksParams): NapiClientResult;
306
+ clientCancelTask(taskUuid: string): NapiClientResult;
307
+ clientListTaskSteps(taskUuid: string): NapiClientResult;
308
+ clientGetStep(taskUuid: string, stepUuid: string): NapiClientResult;
309
+ clientGetStepAuditHistory(taskUuid: string, stepUuid: string): NapiClientResult;
310
+ clientHealthCheck(): NapiClientResult;
311
+ logError(message: string, fields?: Record<string, unknown>): void;
312
+ logWarn(message: string, fields?: Record<string, unknown>): void;
313
+ logInfo(message: string, fields?: Record<string, unknown>): void;
314
+ logDebug(message: string, fields?: Record<string, unknown>): void;
315
+ logTrace(message: string, fields?: Record<string, unknown>): void;
316
+ }
75
317
  /**
76
318
  * Configuration for FfiLayer.
77
319
  */
78
320
  interface FfiLayerConfig {
79
- /** Override runtime detection */
80
- runtimeType?: RuntimeType;
81
- /** Custom library path (overrides discovery) */
82
- libraryPath?: string;
321
+ /** Custom module path (overrides discovery) */
322
+ modulePath?: string;
83
323
  }
84
324
  /**
85
- * Owns FFI runtime loading and lifecycle.
86
- *
87
- * Unlike RuntimeFactory, this class:
88
- * - Is NOT a singleton - created and passed explicitly
89
- * - Owns the runtime instance directly
90
- * - Has clear load/unload lifecycle
325
+ * Owns napi-rs module loading and lifecycle.
91
326
  *
92
327
  * @example
93
328
  * ```typescript
94
329
  * const ffiLayer = new FfiLayer();
95
330
  * await ffiLayer.load();
96
- * const runtime = ffiLayer.getRuntime();
97
- * // ... use runtime ...
331
+ * const module = ffiLayer.getModule();
332
+ * const result = module.bootstrapWorker({ namespace: 'default' });
98
333
  * await ffiLayer.unload();
99
334
  * ```
100
335
  */
101
336
  declare class FfiLayer {
102
- private runtime;
103
- private libraryPath;
104
- private readonly runtimeType;
105
- private readonly configuredLibraryPath;
106
- /**
107
- * Create a new FfiLayer.
108
- *
109
- * @param config - Optional configuration for runtime type and library path
110
- */
337
+ private module;
338
+ private modulePath;
339
+ private readonly configuredModulePath;
111
340
  constructor(config?: FfiLayerConfig);
112
341
  /**
113
- * Load the FFI library.
114
- *
115
- * Discovers and loads the native library for the current runtime.
342
+ * Load the napi-rs native module.
116
343
  *
117
- * @param customPath - Optional override for library path (takes precedence over config)
118
- * @throws Error if library not found or failed to load
344
+ * @param customPath - Optional override for module path
345
+ * @throws Error if module not found or failed to load
119
346
  */
120
347
  load(customPath?: string): Promise<void>;
121
348
  /**
122
- * Unload the FFI library and release resources.
123
- *
124
- * Safe to call even if not loaded.
349
+ * Unload the native module and release resources.
125
350
  */
126
351
  unload(): Promise<void>;
127
352
  /**
128
- * Check if the FFI library is loaded.
353
+ * Check if the native module is loaded.
129
354
  */
130
355
  isLoaded(): boolean;
131
356
  /**
132
- * Get the loaded runtime.
357
+ * Get the loaded napi-rs module.
133
358
  *
134
- * @throws Error if runtime is not loaded
135
- */
136
- getRuntime(): TaskerRuntime;
137
- /**
138
- * Get the path to the loaded library.
139
- */
140
- getLibraryPath(): string | null;
141
- /**
142
- * Get the detected runtime type.
359
+ * @throws Error if module is not loaded
143
360
  */
144
- getRuntimeType(): RuntimeType;
361
+ getModule(): NapiModule;
145
362
  /**
146
- * Find the FFI library path.
363
+ * Backward-compatible alias for getModule().
147
364
  *
148
- * Static method for finding the library path without creating an instance.
149
- * Useful for test utilities and pre-flight checks.
150
- *
151
- * Resolution order:
152
- * 1. TASKER_FFI_LIBRARY_PATH environment variable (explicit override)
153
- * 2. Bundled native library in the package's native/ directory
154
- *
155
- * @param _callerDir Deprecated parameter, kept for API compatibility
156
- * @returns Path to the library if found and exists, null otherwise
365
+ * @deprecated Use getModule() instead
157
366
  */
158
- static findLibraryPath(_callerDir?: string): string | null;
367
+ getRuntime(): NapiModule;
159
368
  /**
160
- * Discover the FFI library path.
161
- *
162
- * Instance method that delegates to the static findLibraryPath.
369
+ * Get the path to the loaded module.
163
370
  */
164
- private discoverLibraryPath;
371
+ getModulePath(): string | null;
165
372
  /**
166
- * Create a runtime adapter for the configured runtime type.
373
+ * Find the napi-rs module path.
167
374
  *
168
- * NOTE: We use koffi (NodeRuntime) for both Node.js and Bun.
169
- * koffi is stable and works with both runtimes via Node-API.
170
- * See: https://bun.sh/docs/runtime/node-api
171
- */
172
- private createRuntime;
173
- }
174
-
175
- /**
176
- * Deno FFI runtime adapter using Deno.dlopen.
177
- *
178
- * This adapter uses Deno's built-in FFI to interface with the Rust native library.
179
- * It requires --unstable-ffi and --allow-ffi flags.
180
- */
181
-
182
- /**
183
- * Deno FFI runtime implementation using Deno.dlopen
184
- */
185
- declare class DenoRuntime extends BaseTaskerRuntime {
186
- readonly name = "deno";
187
- private lib;
188
- private encoder;
189
- get isLoaded(): boolean;
190
- load(libraryPath: string): Promise<void>;
191
- unload(): void;
192
- private ensureLoaded;
193
- /**
194
- * Creates a null-terminated C string buffer.
195
- * With 'buffer' FFI type, we return Uint8Array directly.
375
+ * Resolution order:
376
+ * 1. TASKER_FFI_MODULE_PATH environment variable (explicit override, for unusual setups)
377
+ * 2. Bundled .node file in package directory (standard path — `napi build --platform` places it here)
196
378
  */
197
- private toCString;
198
- private fromCString;
199
- getVersion(): string;
200
- getRustVersion(): string;
201
- healthCheck(): boolean;
202
- bootstrapWorker(config?: BootstrapConfig): BootstrapResult;
203
- isWorkerRunning(): boolean;
204
- getWorkerStatus(): WorkerStatus;
205
- stopWorker(): StopResult;
206
- transitionToGracefulShutdown(): StopResult;
207
- pollStepEvents(): FfiStepEvent | null;
208
- pollInProcessEvents(): FfiDomainEvent | null;
209
- completeStepEvent(eventId: string, result: StepExecutionResult): boolean;
210
- checkpointYieldStepEvent(eventId: string, checkpointData: CheckpointYieldData): boolean;
211
- getFfiDispatchMetrics(): FfiDispatchMetrics;
212
- checkStarvationWarnings(): void;
213
- cleanupTimeouts(): void;
214
- logError(message: string, fields?: LogFields): void;
215
- logWarn(message: string, fields?: LogFields): void;
216
- logInfo(message: string, fields?: LogFields): void;
217
- logDebug(message: string, fields?: LogFields): void;
218
- logTrace(message: string, fields?: LogFields): void;
219
- private parseClientResult;
220
- clientCreateTask(requestJson: string): ClientResult;
221
- clientGetTask(taskUuid: string): ClientResult;
222
- clientListTasks(paramsJson: string): ClientResult;
223
- clientCancelTask(taskUuid: string): ClientResult;
224
- clientListTaskSteps(taskUuid: string): ClientResult;
225
- clientGetStep(taskUuid: string, stepUuid: string): ClientResult;
226
- clientGetStepAuditHistory(taskUuid: string, stepUuid: string): ClientResult;
227
- clientHealthCheck(): ClientResult;
228
- }
229
-
230
- /**
231
- * Node.js FFI runtime adapter using koffi.
232
- *
233
- * This adapter uses the koffi package to interface with the Rust native library.
234
- * Koffi is a modern, actively maintained FFI library with prebuilt binaries.
235
- *
236
- * Install: npm install koffi
237
- */
238
-
239
- /**
240
- * Node.js FFI runtime implementation using koffi
241
- */
242
- declare class NodeRuntime extends BaseTaskerRuntime {
243
- readonly name: string;
244
- private lib;
245
- private koffi;
246
- get isLoaded(): boolean;
247
- load(libraryPath: string): Promise<void>;
248
- unload(): void;
249
- private ensureLoaded;
379
+ static findModulePath(): string | null;
250
380
  /**
251
- * Read a C string from a pointer and free the Rust-allocated memory.
381
+ * Backward-compatible alias for findModulePath().
252
382
  *
253
- * Uses koffi.decode with 'char' type and -1 length for null-terminated strings.
383
+ * @deprecated Use findModulePath() instead
254
384
  */
255
- private readAndFreeRustString;
256
- getVersion(): string;
257
- getRustVersion(): string;
258
- healthCheck(): boolean;
259
- bootstrapWorker(config?: BootstrapConfig): BootstrapResult;
260
- isWorkerRunning(): boolean;
261
- getWorkerStatus(): WorkerStatus;
262
- stopWorker(): StopResult;
263
- transitionToGracefulShutdown(): StopResult;
264
- pollStepEvents(): FfiStepEvent | null;
265
- pollInProcessEvents(): FfiDomainEvent | null;
266
- completeStepEvent(eventId: string, result: StepExecutionResult): boolean;
267
- checkpointYieldStepEvent(eventId: string, checkpointData: CheckpointYieldData): boolean;
268
- getFfiDispatchMetrics(): FfiDispatchMetrics;
269
- checkStarvationWarnings(): void;
270
- cleanupTimeouts(): void;
271
- logError(message: string, fields?: LogFields): void;
272
- logWarn(message: string, fields?: LogFields): void;
273
- logInfo(message: string, fields?: LogFields): void;
274
- logDebug(message: string, fields?: LogFields): void;
275
- logTrace(message: string, fields?: LogFields): void;
276
- private parseClientResult;
277
- clientCreateTask(requestJson: string): ClientResult;
278
- clientGetTask(taskUuid: string): ClientResult;
279
- clientListTasks(paramsJson: string): ClientResult;
280
- clientCancelTask(taskUuid: string): ClientResult;
281
- clientListTaskSteps(taskUuid: string): ClientResult;
282
- clientGetStep(taskUuid: string, stepUuid: string): ClientResult;
283
- clientGetStepAuditHistory(taskUuid: string, stepUuid: string): ClientResult;
284
- clientHealthCheck(): ClientResult;
385
+ static findLibraryPath(_callerDir?: string): string | null;
386
+ private discoverModulePath;
285
387
  }
286
388
 
287
- export { BaseTaskerRuntime, BootstrapConfig, BootstrapResult, DenoRuntime, FfiDispatchMetrics, FfiDomainEvent, FfiLayer, type FfiLayerConfig, FfiStepEvent, LogFields, NodeRuntime, type RuntimeInfo, type RuntimeType, StepExecutionResult, StopResult, TaskerRuntime, WorkerStatus, detectRuntime, getLibraryPath, getRuntimeInfo, isBun, isDeno, isNode };
389
+ export { type BootstrapConfig, type BootstrapResult, type CheckpointYieldData, type FfiDispatchMetrics, type FfiDomainEvent, type FfiDomainEventMetadata, FfiLayer, type FfiLayerConfig, type FfiStepEvent, type LogFields, type NapiBackoffHint, type NapiCheckpointYieldData, type NapiClientResult, type NapiDependencyResult, type NapiDispatchMetrics, type NapiDomainEvent, type NapiDomainEventMetadata, type NapiListTasksParams, type NapiModule, type NapiOrchestrationMetadata, type NapiStepDefinition, type NapiStepEvent, type NapiStepExecutionError, type NapiStepExecutionMetadata, type NapiStepExecutionResult, type NapiTaskInfo, type NapiTaskRequest, type NapiWorkflowStep, type StepExecutionResult, type StopResult, type WorkerStatus };