@pumped-fn/core-next 0.5.90 → 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 +94 -0
- package/dist/index.cjs +786 -914
- package/dist/index.d.cts +250 -303
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +250 -302
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +786 -915
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,99 @@
|
|
|
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
|
+
|
|
83
|
+
## 0.5.91
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- ec181f8: Fix tag resolution to use execution context instead of scope
|
|
88
|
+
|
|
89
|
+
- Tags in flow dependencies now correctly resolve from execution context, not scope
|
|
90
|
+
- Added `executionContext` parameter to `scope.resolve()` for context-specific resolution
|
|
91
|
+
- Added type-safe `hasTagStore()` type guard replacing `any` casts
|
|
92
|
+
- Added error cleanup for `contextResolvedValue` on resolution failure
|
|
93
|
+
- Optimized constructor to skip cache operations for execution context accessors
|
|
94
|
+
- Added memory profiling tests validating ~5KB per context overhead
|
|
95
|
+
- Added comprehensive test coverage for concurrent and nested context scenarios
|
|
96
|
+
|
|
3
97
|
## 0.5.90
|
|
4
98
|
|
|
5
99
|
### Patch Changes
|