@pumped-fn/core-next 0.5.91 → 0.5.93

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 CHANGED
@@ -1,5 +1,85 @@
1
1
  # @pumped-fn/core-next
2
2
 
3
+ ## 0.5.93
4
+
5
+ ### Patch Changes
6
+
7
+ - 7c00672: ## Breaking Changes
8
+
9
+ ### File Consolidation (21 → 11 files)
10
+
11
+ - `tag-types.ts` + `tag-executors.ts` + `tags/merge.ts` → `tag.ts`
12
+ - `promises.ts` + `ssch.ts` → `primitives.ts`
13
+ - `flow-execution.ts` → merged into `flow.ts`
14
+ - `extension.ts` → merged into `helpers.ts`
15
+ - `internal/` directory → inlined into main modules
16
+
17
+ ### API Changes
18
+
19
+ **ctx.exec()**: Changed from positional params to config object
20
+
21
+ ```typescript
22
+ // Before
23
+ ctx.exec(myFlow, input);
24
+
25
+ // After
26
+ ctx.exec({ flow: myFlow, input });
27
+ ```
28
+
29
+ **Promised**: Removed 9 methods, simplified to core functionality
30
+
31
+ - Removed: `switch`, `switchError`, `fulfilled`, `rejected`, `firstFulfilled`, `findFulfilled`, `mapFulfilled`, `assertAllFulfilled`
32
+ - Kept: `map`, `mapError`, `partition`
33
+
34
+ **Extension.ExecutionOperation**: Flattened structure
35
+
36
+ - Removed nested `target` object
37
+ - Added flat `mode` field: `"sequential" | "parallel" | "parallel-settled"`
38
+ - Check `operation.flow` instead of `operation.target.type === "flow"`
39
+
40
+ **Tag**: Removed `injectTo` alias and `partial` method
41
+
42
+ **FlowDefinition**: Removed builder pattern (`.handler()` chaining)
43
+
44
+ See `packages/next/MIGRATION.md` for detailed migration guide.
45
+
46
+ ## 0.5.92
47
+
48
+ ### Patch Changes
49
+
50
+ - 9bb928b: Add ExecutionContext lifecycle management
51
+
52
+ **New Features:**
53
+
54
+ - `ExecutionContext.state` property with states: `'active'` | `'closing'` | `'closed'`
55
+ - `ExecutionContext.closed` convenience boolean for quick state checks
56
+ - `ExecutionContext.close(options?)` method with graceful (default) and abort modes
57
+ - `ExecutionContext.onStateChange(callback)` subscription returning cleanup function
58
+ - `ExecutionContextClosedError` thrown when operations attempted on closed context
59
+ - `ContextLifecycleOperation` extension hook for observing context lifecycle events
60
+
61
+ **Graceful mode (default):**
62
+
63
+ - Waits for all in-flight executions to complete
64
+ - Cascades close to child contexts
65
+ - Returns single promise for idempotent calls
66
+
67
+ **Abort mode:**
68
+
69
+ - Signals abort to in-flight executions via `AbortController`
70
+ - Collects errors into `AggregateError` if any operations fail
71
+ - Useful for timeout or cancellation scenarios
72
+
73
+ **Extension Integration:**
74
+
75
+ - Extensions receive `context-lifecycle` operations with phases: `create`, `closing`, `closed`
76
+ - Enables middleware patterns: tracing, logging, metrics collection
77
+
78
+ **Bug Fixes:**
79
+
80
+ - Fixed 33 unhandled promise rejections in test suite
81
+ - Added vitest setup file for unhandled rejection detection
82
+
3
83
  ## 0.5.91
4
84
 
5
85
  ### Patch Changes