@studio-foundation/engine 0.8.2 → 0.8.3

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 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,WAAW,EACX,kBAAkB,EAClB,UAAU,EAEV,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAItB,MAAM,2BAA2B,CAAC;AAUnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUhD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgED,qBAAa,cAAc;IASvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM,CAAC;IATjB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;gBAGjC,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,YAAY,YAAA;IAoCzB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAochD,uDAAuD;IACvD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,aAAa,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;YAM/D,aAAa;CAc5B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,WAAW,EACX,kBAAkB,EAClB,UAAU,EAEV,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAItB,MAAM,2BAA2B,CAAC;AAUnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUhD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgED,qBAAa,cAAc;IASvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM,CAAC;IATjB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;gBAGjC,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,YAAY,YAAA;IAoCzB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAychD,uDAAuD;IACvD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,aAAa,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;YAM/D,aAAa;CAc5B"}
package/dist/engine.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // Main pipeline engine — the orchestrator
2
2
  // Connects ralph (retry loop) + runner (agent execution) + contracts (validation)
3
3
  import { randomUUID } from 'node:crypto';
4
+ import os from 'node:os';
4
5
  import { isStageGroup, isMapStage, isCallStage } from '@studio-foundation/contracts';
5
6
  import { AnonymizationMiddleware, createStudioRunTool, STUDIO_RUN_PROMPT_SNIPPET, } from '@studio-foundation/runner';
6
7
  import { loadPipelineByName } from './pipeline/loader.js';
@@ -143,6 +144,11 @@ export class PipelineEngine {
143
144
  status: 'running',
144
145
  started_at: new Date().toISOString(),
145
146
  stages: [],
147
+ // Owner identity so a reader can detect this row if the process dies
148
+ // without writing a terminal status (STU-625). Children (map/call) run
149
+ // in this same process, so they inherit the same pid and reconcile together.
150
+ pid: process.pid,
151
+ hostname: os.hostname(),
146
152
  ...(typeof userInputValue === 'object' && userInputValue !== null
147
153
  ? { input: userInputValue }
148
154
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export { isValidTransition, transition } from './state/state-machine.js';
13
13
  export type { StageLifecycleState } from './state/state-machine.js';
14
14
  export { InMemoryRunStore, SQLiteRunStore, PgRunStore } from './state/run-store.js';
15
15
  export type { RunStore, AsyncRunStore, AnyRunStore } from './state/run-store.js';
16
+ export { isRunOrphaned, reconcileOrphan } from './state/orphan.js';
16
17
  export { loadPipeline, loadPipelineByName, parsePipelineYaml } from './pipeline/loader.js';
17
18
  export { loadAgentProfile, parseAgentYaml } from './pipeline/agent-loader.js';
18
19
  export { loadContract, parseContractYaml } from './pipeline/contract-loader.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGhF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGvG,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGhF,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGvG,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ export { deriveStageStatus } from './state/status-derivation.js';
13
13
  export { isValidTransition, transition } from './state/state-machine.js';
14
14
  // Run store
15
15
  export { InMemoryRunStore, SQLiteRunStore, PgRunStore } from './state/run-store.js';
16
+ export { isRunOrphaned, reconcileOrphan } from './state/orphan.js';
16
17
  // Pipeline loaders
17
18
  export { loadPipeline, loadPipelineByName, parsePipelineYaml } from './pipeline/loader.js';
18
19
  export { loadAgentProfile, parseAgentYaml } from './pipeline/agent-loader.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,SAAS;AACT,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAwBnD,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,8BAA8B,CAAC;AAGtC,mCAAmC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGzE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGpF,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEhF,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAG3C,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,SAAS;AACT,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAwBnD,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,YAAY,GACb,MAAM,8BAA8B,CAAC;AAGtC,mCAAmC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGzE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEnE,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEhF,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAG3C,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { PipelineRun } from '@studio-foundation/contracts';
2
+ /**
3
+ * A `running` row is orphaned when it was owned by this host and its process is
4
+ * gone. Runs from another host, or without owner info, can't be judged — leave
5
+ * them as-is rather than risk a false `interrupted`.
6
+ */
7
+ export declare function isRunOrphaned(run: PipelineRun): boolean;
8
+ /** Returns an `interrupted` copy if the run is orphaned, else the run unchanged. */
9
+ export declare function reconcileOrphan(run: PipelineRun): PipelineRun;
10
+ //# sourceMappingURL=orphan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan.d.ts","sourceRoot":"","sources":["../../src/state/orphan.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAYhE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAKvD;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAO7D"}
@@ -0,0 +1,42 @@
1
+ // Orphaned-run reconciliation.
2
+ //
3
+ // A run row is left at `status: running` when its owning process dies without
4
+ // writing a terminal status — SIGKILL, OOM, a force-quit that skips cleanup.
5
+ // The row then lies about the run forever. Since children (`map`/`call`) run
6
+ // in the same OS process, they carry the same pid and are reconciled together.
7
+ import os from 'node:os';
8
+ function isProcessAlive(pid) {
9
+ try {
10
+ process.kill(pid, 0);
11
+ return true;
12
+ }
13
+ catch (err) {
14
+ // EPERM: process exists but isn't ours to signal — still alive.
15
+ return err.code === 'EPERM';
16
+ }
17
+ }
18
+ /**
19
+ * A `running` row is orphaned when it was owned by this host and its process is
20
+ * gone. Runs from another host, or without owner info, can't be judged — leave
21
+ * them as-is rather than risk a false `interrupted`.
22
+ */
23
+ export function isRunOrphaned(run) {
24
+ if (run.status !== 'running')
25
+ return false;
26
+ if (typeof run.pid !== 'number')
27
+ return false;
28
+ if (run.hostname && run.hostname !== os.hostname())
29
+ return false;
30
+ return !isProcessAlive(run.pid);
31
+ }
32
+ /** Returns an `interrupted` copy if the run is orphaned, else the run unchanged. */
33
+ export function reconcileOrphan(run) {
34
+ if (!isRunOrphaned(run))
35
+ return run;
36
+ return {
37
+ ...run,
38
+ status: 'interrupted',
39
+ completed_at: run.completed_at ?? new Date().toISOString(),
40
+ };
41
+ }
42
+ //# sourceMappingURL=orphan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan.js","sourceRoot":"","sources":["../../src/state/orphan.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAE/E,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gEAAgE;QAChE,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,EAAE;QAAE,OAAO,KAAK,CAAC;IACjE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO;QACL,GAAG,GAAG;QACN,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC3D,CAAC;AACJ,CAAC"}
@@ -28,6 +28,7 @@ export declare class InMemoryRunStore implements RunStore {
28
28
  private runs;
29
29
  private logPaths;
30
30
  savePipelineRun(run: PipelineRun): void;
31
+ private reconcile;
31
32
  getPipelineRun(id: string): PipelineRun | null;
32
33
  listPipelineRuns(options?: {
33
34
  limit?: number;
@@ -42,6 +43,7 @@ export declare class SQLiteRunStore implements RunStore {
42
43
  constructor(dbPath: string);
43
44
  private initSchema;
44
45
  savePipelineRun(run: PipelineRun): void;
46
+ private reconcile;
45
47
  getPipelineRun(id: string): PipelineRun | null;
46
48
  listPipelineRuns(options?: {
47
49
  limit?: number;
@@ -59,6 +61,7 @@ export declare class PgRunStore implements AsyncRunStore {
59
61
  private ensureSchema;
60
62
  private initSchema;
61
63
  savePipelineRun(run: PipelineRun): Promise<void>;
64
+ private reconcile;
62
65
  getPipelineRun(id: string): Promise<PipelineRun | null>;
63
66
  listPipelineRuns(options?: {
64
67
  limit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../../src/state/run-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../../src/state/run-store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  // Persistence layer for pipeline runs
2
2
  // Three implementations: InMemoryRunStore (tests), SQLiteRunStore (local), PgRunStore (postgres)
3
3
  import { createRequire } from 'node:module';
4
+ import { reconcileOrphan } from './orphan.js';
4
5
  // In-memory store for tests and simple usage
5
6
  export class InMemoryRunStore {
6
7
  runs = new Map();
@@ -8,12 +9,18 @@ export class InMemoryRunStore {
8
9
  savePipelineRun(run) {
9
10
  this.runs.set(run.id, structuredClone(run));
10
11
  }
12
+ reconcile(run) {
13
+ const fixed = reconcileOrphan(run);
14
+ if (fixed !== run)
15
+ this.savePipelineRun(fixed);
16
+ return fixed;
17
+ }
11
18
  getPipelineRun(id) {
12
19
  const run = this.runs.get(id);
13
- return run ? structuredClone(run) : null;
20
+ return run ? this.reconcile(structuredClone(run)) : null;
14
21
  }
15
22
  listPipelineRuns(options) {
16
- let runs = Array.from(this.runs.values());
23
+ let runs = Array.from(this.runs.values()).map(r => this.reconcile(structuredClone(r)));
17
24
  if (options?.status) {
18
25
  runs = runs.filter(r => r.status === options.status);
19
26
  }
@@ -22,7 +29,7 @@ export class InMemoryRunStore {
22
29
  if (options?.limit) {
23
30
  runs = runs.slice(0, options.limit);
24
31
  }
25
- return runs.map(r => structuredClone(r));
32
+ return runs;
26
33
  }
27
34
  getLatestRun(pipelineName) {
28
35
  let runs = Array.from(this.runs.values());
@@ -32,7 +39,7 @@ export class InMemoryRunStore {
32
39
  if (runs.length === 0)
33
40
  return null;
34
41
  runs.sort((a, b) => b.started_at.localeCompare(a.started_at));
35
- return structuredClone(runs[0]);
42
+ return this.reconcile(structuredClone(runs[0]));
36
43
  }
37
44
  saveLogPath(runId, logPath) {
38
45
  this.logPaths.set(runId, logPath);
@@ -100,11 +107,17 @@ export class SQLiteRunStore {
100
107
  parent_run_id = excluded.parent_run_id
101
108
  `).run(run.id, run.pipeline_name, run.status, JSON.stringify(run), run.started_at, run.completed_at ?? null, run.parent_run_id ?? null);
102
109
  }
110
+ reconcile(run) {
111
+ const fixed = reconcileOrphan(run);
112
+ if (fixed !== run)
113
+ this.savePipelineRun(fixed);
114
+ return fixed;
115
+ }
103
116
  getPipelineRun(id) {
104
117
  const row = this.db.prepare('SELECT result FROM pipeline_runs WHERE id = ?').get(id);
105
118
  if (!row)
106
119
  return null;
107
- return JSON.parse(row.result);
120
+ return this.reconcile(JSON.parse(row.result));
108
121
  }
109
122
  listPipelineRuns(options) {
110
123
  let sql = 'SELECT result FROM pipeline_runs';
@@ -119,7 +132,11 @@ export class SQLiteRunStore {
119
132
  params.push(options.limit);
120
133
  }
121
134
  const rows = this.db.prepare(sql).all(...params);
122
- return rows.map(row => JSON.parse(row.result));
135
+ let runs = rows.map(row => this.reconcile(JSON.parse(row.result)));
136
+ // Re-filter: a reconciled row's status may no longer match the requested one.
137
+ if (options?.status)
138
+ runs = runs.filter(r => r.status === options.status);
139
+ return runs;
123
140
  }
124
141
  getLatestRun(pipelineName) {
125
142
  let sql = 'SELECT result FROM pipeline_runs';
@@ -132,7 +149,7 @@ export class SQLiteRunStore {
132
149
  const row = this.db.prepare(sql).get(...params);
133
150
  if (!row)
134
151
  return null;
135
- return JSON.parse(row.result);
152
+ return this.reconcile(JSON.parse(row.result));
136
153
  }
137
154
  saveLogPath(runId, logPath) {
138
155
  this.db.prepare('UPDATE pipeline_runs SET log_path = ? WHERE id = ?').run(logPath, runId);
@@ -211,12 +228,18 @@ export class PgRunStore {
211
228
  run.parent_run_id ?? null,
212
229
  ]);
213
230
  }
231
+ async reconcile(run) {
232
+ const fixed = reconcileOrphan(run);
233
+ if (fixed !== run)
234
+ await this.savePipelineRun(fixed);
235
+ return fixed;
236
+ }
214
237
  async getPipelineRun(id) {
215
238
  await this.ensureSchema();
216
239
  const res = await this.pool.query('SELECT result FROM studio_pipeline_runs WHERE id = $1', [id]);
217
240
  if (res.rows.length === 0)
218
241
  return null;
219
- return JSON.parse(res.rows[0].result);
242
+ return this.reconcile(JSON.parse(res.rows[0].result));
220
243
  }
221
244
  async listPipelineRuns(options) {
222
245
  await this.ensureSchema();
@@ -232,7 +255,11 @@ export class PgRunStore {
232
255
  sql += ` LIMIT $${params.length}`;
233
256
  }
234
257
  const res = await this.pool.query(sql, params);
235
- return res.rows.map((r) => JSON.parse(r.result));
258
+ let runs = await Promise.all(res.rows.map((r) => this.reconcile(JSON.parse(r.result))));
259
+ // Re-filter: a reconciled row's status may no longer match the requested one.
260
+ if (options?.status)
261
+ runs = runs.filter((r) => r.status === options.status);
262
+ return runs;
236
263
  }
237
264
  async getLatestRun(pipelineName) {
238
265
  await this.ensureSchema();
@@ -246,7 +273,7 @@ export class PgRunStore {
246
273
  const res = await this.pool.query(sql, params);
247
274
  if (res.rows.length === 0)
248
275
  return null;
249
- return JSON.parse(res.rows[0].result);
276
+ return this.reconcile(JSON.parse(res.rows[0].result));
250
277
  }
251
278
  async saveLogPath(runId, logPath) {
252
279
  await this.ensureSchema();
@@ -1 +1 @@
1
- {"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../src/state/run-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../src/state/run-store.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iGAAiG;AAEjG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAwB9C,6CAA6C;AAC7C,MAAM,OAAO,gBAAgB;IACnB,IAAI,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC3C,QAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC;IAElD,eAAe,CAAC,GAAgB;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,SAAS,CAAC,GAAgB;QAChC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,GAAG;YAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,gBAAgB,CAAC,OAA6C;QAC5D,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9D,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,YAAqB;QAChC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE1C,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,OAAe;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAC1C,CAAC;CACF;AAED,0CAA0C;AAC1C,2DAA2D;AAC3D,yFAAyF;AACzF,MAAM,OAAO,cAAc;IACjB,EAAE,CAAoC;IAE9C,YAAY,MAAc;QACxB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAA4D,CAAC;QACvG,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;KAgBZ,CAAC,CAAC;QAEH,uDAAuD;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACxE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,GAAgB;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;KAUf,CAAC,CAAC,GAAG,CACJ,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,MAAM,EACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EACnB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,YAAY,IAAI,IAAI,EACxB,GAAG,CAAC,aAAa,IAAI,IAAI,CAC1B,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAgB;QAChC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,GAAG;YAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,EAAE,CAEtE,CAAC;QAEd,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,gBAAgB,CAAC,OAA6C;QAC5D,IAAI,GAAG,GAAG,kCAAkC,CAAC;QAC7C,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,GAAG,IAAI,2BAA2B,CAAC;QAEnC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,GAAG,IAAI,UAAU,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAA8B,CAAC;QAC9E,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC,CAAC,CAAC;QAClF,8EAA8E;QAC9E,IAAI,OAAO,EAAE,MAAM;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,YAAqB;QAChC,IAAI,GAAG,GAAG,kCAAkC,CAAC;QAC7C,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,IAAI,0BAA0B,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,GAAG,IAAI,mCAAmC,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAC;QAClF,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,OAAe;QACxC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,KAAK,CAE3E,CAAC;QACd,OAAO,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF;AAED,mEAAmE;AACnE,wGAAwG;AACxG,sFAAsF;AACtF,iFAAiF;AACjF,MAAM,OAAO,UAAU;IACb,IAAI,CAAoB;IACxB,WAAW,GAAyB,IAAI,CAAC;IAEjD,YAAY,gBAAwB;QAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAwB,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;KAYrB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;KAGrB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;KAGrB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;KAGrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAgB;QACpC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;;;;;;;;gDAS0C,EAC1C;YACE,GAAG,CAAC,EAAE;YACN,GAAG,CAAC,aAAa;YACjB,GAAG,CAAC,MAAM;YACV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACnB,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,YAAY,IAAI,IAAI;YACxB,GAAG,CAAC,aAAa,IAAI,IAAI;SAC1B,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAgB;QACtC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,GAAG;YAAE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAC/B,uDAAuD,EACvD,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAgB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA6C;QAClE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,yCAAyC,CAAC;QAEpD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,IAAI,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,CAAC;QAED,GAAG,IAAI,2BAA2B,CAAC;QAEnC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,GAAG,IAAI,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAqB,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAgB,CAAC,CAAC,CACzE,CAAC;QACF,8EAA8E;QAC9E,IAAI,OAAO,EAAE,MAAM;YAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAqB;QACtC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,yCAAyC,CAAC;QAEpD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1B,GAAG,IAAI,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,CAAC;QAED,GAAG,IAAI,mCAAmC,CAAC;QAE3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAqB,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAgB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAAe;QAC9C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,6DAA6D,EAC7D,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAC/B,yDAAyD,EACzD,CAAC,KAAK,CAAC,CACR,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/D,CAAC;CACF"}
@@ -1,5 +1,9 @@
1
1
  import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import { SQLiteRunStore, PgRunStore } from './run-store.js';
2
+ import os from 'node:os';
3
+ import { SQLiteRunStore, PgRunStore, InMemoryRunStore } from './run-store.js';
4
+ // A pid beyond Linux pid_max can never name a live process, so kill(pid, 0)
5
+ // reports ESRCH — a deterministic stand-in for a dead owner.
6
+ const DEAD_PID = 2 ** 31 - 2;
3
7
  function makeRun(overrides) {
4
8
  return {
5
9
  id: 'run-1',
@@ -53,6 +57,57 @@ describe('SQLiteRunStore', () => {
53
57
  expect(retrieved?.parent_run_id).toBe('parent-456');
54
58
  });
55
59
  });
60
+ describe('orphaned-run reconciliation (STU-625)', () => {
61
+ const orphan = (overrides) => makeRun({ status: 'running', pid: DEAD_PID, hostname: os.hostname(), ...overrides });
62
+ it('reports an orphaned running row as interrupted', () => {
63
+ const store = new SQLiteRunStore(':memory:');
64
+ store.savePipelineRun(orphan());
65
+ expect(store.getPipelineRun('run-1')?.status).toBe('interrupted');
66
+ });
67
+ it('persists the reconciliation so a status filter no longer sees it as running', () => {
68
+ const store = new SQLiteRunStore(':memory:');
69
+ store.savePipelineRun(orphan());
70
+ store.getPipelineRun('run-1');
71
+ expect(store.listPipelineRuns({ status: 'running' })).toHaveLength(0);
72
+ expect(store.listPipelineRuns({ status: 'interrupted' })).toHaveLength(1);
73
+ });
74
+ it('reconciles via listPipelineRuns and getLatestRun too', () => {
75
+ const store = new SQLiteRunStore(':memory:');
76
+ store.savePipelineRun(orphan());
77
+ expect(store.listPipelineRuns()[0].status).toBe('interrupted');
78
+ expect(store.getLatestRun()?.status).toBe('interrupted');
79
+ });
80
+ it('closes out orphaned child rows the same way', () => {
81
+ const store = new SQLiteRunStore(':memory:');
82
+ store.savePipelineRun(orphan({ id: 'child-1', parent_run_id: 'run-1' }));
83
+ expect(store.getPipelineRun('child-1')?.status).toBe('interrupted');
84
+ });
85
+ it('leaves a live running row alone', () => {
86
+ const store = new SQLiteRunStore(':memory:');
87
+ store.savePipelineRun(orphan({ pid: process.pid }));
88
+ expect(store.getPipelineRun('run-1')?.status).toBe('running');
89
+ });
90
+ it('does not judge a run from another host', () => {
91
+ const store = new SQLiteRunStore(':memory:');
92
+ store.savePipelineRun(orphan({ hostname: 'some-other-host' }));
93
+ expect(store.getPipelineRun('run-1')?.status).toBe('running');
94
+ });
95
+ it('leaves a running row with no owner info alone', () => {
96
+ const store = new SQLiteRunStore(':memory:');
97
+ store.savePipelineRun(makeRun({ status: 'running' }));
98
+ expect(store.getPipelineRun('run-1')?.status).toBe('running');
99
+ });
100
+ it('never touches a terminal row', () => {
101
+ const store = new SQLiteRunStore(':memory:');
102
+ store.savePipelineRun(makeRun({ status: 'success', pid: DEAD_PID, hostname: os.hostname() }));
103
+ expect(store.getPipelineRun('run-1')?.status).toBe('success');
104
+ });
105
+ it('applies to the in-memory store as well', () => {
106
+ const store = new InMemoryRunStore();
107
+ store.savePipelineRun(orphan());
108
+ expect(store.getPipelineRun('run-1')?.status).toBe('interrupted');
109
+ });
110
+ });
56
111
  });
57
112
  const TEST_PG_URL = process.env.TEST_DATABASE_URL;
58
113
  describe.skipIf(!TEST_PG_URL)('PgRunStore', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"run-store.test.js","sourceRoot":"","sources":["../../src/state/run-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-store.test.js","sourceRoot":"","sources":["../../src/state/run-store.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-foundation/engine",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "Pipeline orchestration, state machine, and lifecycle hooks for Studio",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,9 +26,9 @@
26
26
  "better-sqlite3": "^9.0.0",
27
27
  "js-yaml": "^4.1.0",
28
28
  "pg": "^8.19.0",
29
- "@studio-foundation/contracts": "0.8.2",
30
- "@studio-foundation/ralph": "0.8.2",
31
- "@studio-foundation/runner": "0.8.2"
29
+ "@studio-foundation/contracts": "0.8.3",
30
+ "@studio-foundation/ralph": "0.8.3",
31
+ "@studio-foundation/runner": "0.8.3"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/better-sqlite3": "^7.6.8",