@smithers-orchestrator/scheduler 0.16.9 → 0.17.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithers-orchestrator/scheduler",
3
- "version": "0.16.9",
3
+ "version": "0.17.0",
4
4
  "description": "Pure decision engine: session, scheduler, and task state management for Smithers workflows",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -176,8 +176,8 @@
176
176
  ],
177
177
  "dependencies": {
178
178
  "effect": "^3.21.1",
179
- "@smithers-orchestrator/graph": "0.16.9",
180
- "@smithers-orchestrator/errors": "0.16.9"
179
+ "@smithers-orchestrator/errors": "0.17.0",
180
+ "@smithers-orchestrator/graph": "0.17.0"
181
181
  },
182
182
  "devDependencies": {
183
183
  "@types/bun": "latest",
@@ -185,6 +185,7 @@
185
185
  },
186
186
  "scripts": {
187
187
  "build": "tsup --dts-only",
188
+ "test": "bun test tests",
188
189
  "typecheck": "tsc -p tsconfig.json --noEmit"
189
190
  }
190
191
  }
@@ -269,7 +269,7 @@ export function makeWorkflowSession(options = {}) {
269
269
  state.plan = plan;
270
270
  if (opts.pruneUnmounted) {
271
271
  const mounted = new Set(graph.mountedTaskIds);
272
- for (const [key, taskState] of [...state.states.entries()]) {
272
+ for (const [key, taskState] of state.states.entries()) {
273
273
  if (mounted.has(key))
274
274
  continue;
275
275
  if (taskState === "in-progress") {
@@ -1,4 +1,4 @@
1
- import { Effect, Schedule, ScheduleDecision, ScheduleIntervals } from "effect";
1
+ import { Effect, ScheduleDecision, ScheduleIntervals } from "effect";
2
2
  /**
3
3
  * @param {Schedule.Schedule<unknown>} schedule
4
4
  * @param {number} attempt
@@ -102,7 +102,7 @@ export function scheduleTasks(plan, states, descriptors, ralphState, retryWait,
102
102
  state === "failed" ||
103
103
  Boolean(descriptor.waitAsync &&
104
104
  (state === "waiting-approval" || state === "waiting-event"));
105
- return { terminal, failed: state === "failed" };
105
+ return { terminal, failed: state === "failed" && !descriptor.continueOnFail };
106
106
  }
107
107
  case "sequence":
108
108
  case "group": {