@osolmaz/pi-workflows 0.1.0 → 0.3.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/README.md +107 -26
- package/dist/builtins/monitor.workflow.d.ts +71 -0
- package/dist/builtins/monitor.workflow.js +234 -0
- package/dist/builtins/monitor.workflow.js.map +1 -0
- package/dist/controllers/conditions.d.ts +6 -0
- package/dist/controllers/conditions.js +68 -0
- package/dist/controllers/conditions.js.map +1 -0
- package/dist/controllers/definition.d.ts +6 -0
- package/dist/controllers/definition.js +45 -0
- package/dist/controllers/definition.js.map +1 -0
- package/dist/controllers/effects.d.ts +14 -0
- package/dist/controllers/effects.js +104 -0
- package/dist/controllers/effects.js.map +1 -0
- package/dist/controllers/errors.d.ts +12 -0
- package/dist/controllers/errors.js +25 -0
- package/dist/controllers/errors.js.map +1 -0
- package/dist/controllers/index.d.ts +13 -0
- package/dist/controllers/index.js +13 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/json.d.ts +5 -0
- package/dist/controllers/json.js +57 -0
- package/dist/controllers/json.js.map +1 -0
- package/dist/controllers/loader.d.ts +23 -0
- package/dist/controllers/loader.js +74 -0
- package/dist/controllers/loader.js.map +1 -0
- package/dist/controllers/manager.d.ts +58 -0
- package/dist/controllers/manager.js +399 -0
- package/dist/controllers/manager.js.map +1 -0
- package/dist/controllers/results.d.ts +5 -0
- package/dist/controllers/results.js +32 -0
- package/dist/controllers/results.js.map +1 -0
- package/dist/controllers/sqlite.d.ts +212 -0
- package/dist/controllers/sqlite.js +1009 -0
- package/dist/controllers/sqlite.js.map +1 -0
- package/dist/controllers/store.d.ts +112 -0
- package/dist/controllers/store.js +32 -0
- package/dist/controllers/store.js.map +1 -0
- package/dist/controllers/types.d.ts +159 -0
- package/dist/controllers/types.js +2 -0
- package/dist/controllers/types.js.map +1 -0
- package/dist/controllers/workflow-engine-scheduler.d.ts +25 -0
- package/dist/controllers/workflow-engine-scheduler.js +93 -0
- package/dist/controllers/workflow-engine-scheduler.js.map +1 -0
- package/dist/controllers/workflows.d.ts +27 -0
- package/dist/controllers/workflows.js +109 -0
- package/dist/controllers/workflows.js.map +1 -0
- package/dist/extension/controller-host.d.ts +47 -0
- package/dist/extension/controller-host.js +110 -0
- package/dist/extension/controller-host.js.map +1 -0
- package/dist/extension/executor.d.ts +14 -1
- package/dist/extension/executor.js +12 -2
- package/dist/extension/executor.js.map +1 -1
- package/dist/extension/index.d.ts +7 -0
- package/dist/extension/index.js +1118 -89
- package/dist/extension/index.js.map +1 -1
- package/dist/extension/recorder.d.ts +91 -0
- package/dist/extension/recorder.js +537 -0
- package/dist/extension/recorder.js.map +1 -0
- package/dist/extension/session-events.d.ts +134 -0
- package/dist/extension/session-events.js +60 -0
- package/dist/extension/session-events.js.map +1 -0
- package/dist/extension/widget.js +25 -24
- package/dist/extension/widget.js.map +1 -1
- package/dist/extension/workflow-tool.d.ts +28 -0
- package/dist/extension/workflow-tool.js +33 -0
- package/dist/extension/workflow-tool.js.map +1 -0
- package/dist/host/processes.d.ts +24 -0
- package/dist/host/processes.js +114 -0
- package/dist/host/processes.js.map +1 -0
- package/dist/host/rpc-bridge.d.ts +9 -0
- package/dist/host/rpc-bridge.js +39 -0
- package/dist/host/rpc-bridge.js.map +1 -0
- package/dist/host/rpc-executor.d.ts +38 -0
- package/dist/host/rpc-executor.js +254 -0
- package/dist/host/rpc-executor.js.map +1 -0
- package/dist/host/runner.d.ts +49 -0
- package/dist/host/runner.js +350 -0
- package/dist/host/runner.js.map +1 -0
- package/dist/render/canvas.d.ts +1 -1
- package/dist/render/canvas.js +5 -0
- package/dist/render/canvas.js.map +1 -1
- package/dist/render/graph-render.d.ts +5 -0
- package/dist/render/graph-render.js +211 -48
- package/dist/render/graph-render.js.map +1 -1
- package/dist/viewer/cli.d.ts +7 -3
- package/dist/viewer/cli.js +150 -19
- package/dist/viewer/cli.js.map +1 -1
- package/dist/viewer/render.js +19 -3
- package/dist/viewer/render.js.map +1 -1
- package/dist/viewer/session-reducer.d.ts +45 -0
- package/dist/viewer/session-reducer.js +266 -0
- package/dist/viewer/session-reducer.js.map +1 -0
- package/dist/workflows/artifacts.d.ts +40 -0
- package/dist/workflows/artifacts.js +155 -0
- package/dist/workflows/artifacts.js.map +1 -0
- package/dist/workflows/engine.d.ts +38 -0
- package/dist/workflows/engine.js +281 -20
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/errors.d.ts +23 -0
- package/dist/workflows/errors.js +38 -0
- package/dist/workflows/errors.js.map +1 -1
- package/dist/workflows/graph.js +0 -5
- package/dist/workflows/graph.js.map +1 -1
- package/dist/workflows/index.d.ts +3 -2
- package/dist/workflows/index.js +2 -1
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/loader.d.ts +5 -3
- package/dist/workflows/loader.js +10 -1
- package/dist/workflows/loader.js.map +1 -1
- package/dist/workflows/schema.js +1 -1
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/store.d.ts +98 -10
- package/dist/workflows/store.js +921 -46
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +136 -3
- package/docs/CONTROLLERS.md +215 -0
- package/docs/development.md +51 -24
- package/docs/live-replay-protocol.md +155 -0
- package/docs/plans/2026-08-04-controller-runtime-plan.md +169 -0
- package/docs/plans/2026-08-05-always-on-workflows-plan.md +125 -0
- package/docs/plans/2026-08-10-agent-managed-monitor-workflows-plan.md +184 -0
- package/docs/plans/piw-viewer-experience-implementation-plan.md +674 -0
- package/docs/plans/replayable-run-bundles-implementation-plan.md +65 -0
- package/docs/plans/session-event-replay-implementation-plan.md +494 -0
- package/docs/plans/tui-viewer-implementation-plan.md +64 -0
- package/docs/run-bundles.md +359 -55
- package/docs/session-event-journal.md +470 -0
- package/docs/tui-viewer.md +218 -0
- package/docs/workflows.md +131 -11
- package/examples/controllers/pull-request.controller.ts +215 -0
- package/package.json +11 -2
- package/src/builtins/monitor.workflow.ts +278 -0
- package/src/controllers/conditions.ts +110 -0
- package/src/controllers/definition.ts +65 -0
- package/src/controllers/effects.ts +123 -0
- package/src/controllers/errors.ts +27 -0
- package/src/controllers/index.ts +90 -0
- package/src/controllers/json.ts +62 -0
- package/src/controllers/loader.ts +104 -0
- package/src/controllers/manager.ts +533 -0
- package/src/controllers/results.ts +46 -0
- package/src/controllers/sqlite.ts +1427 -0
- package/src/controllers/store.ts +160 -0
- package/src/controllers/types.ts +183 -0
- package/src/controllers/workflow-engine-scheduler.ts +145 -0
- package/src/controllers/workflows.ts +152 -0
- package/src/extension/controller-host.ts +163 -0
- package/src/extension/executor.ts +29 -2
- package/src/extension/index.ts +1315 -109
- package/src/extension/recorder.ts +662 -0
- package/src/extension/session-events.ts +119 -0
- package/src/extension/widget.ts +26 -24
- package/src/extension/workflow-tool.ts +59 -0
- package/src/host/processes.ts +119 -0
- package/src/host/rpc-bridge.ts +44 -0
- package/src/host/rpc-executor.ts +299 -0
- package/src/host/runner.ts +406 -0
- package/src/render/canvas.ts +19 -1
- package/src/render/graph-render.ts +277 -44
- package/src/viewer/cli.ts +167 -21
- package/src/viewer/render.ts +21 -3
- package/src/viewer/session-reducer.ts +347 -0
- package/src/workflows/artifacts.ts +188 -0
- package/src/workflows/engine.ts +365 -19
- package/src/workflows/errors.ts +45 -0
- package/src/workflows/graph.ts +0 -5
- package/src/workflows/index.ts +15 -0
- package/src/workflows/loader.ts +13 -3
- package/src/workflows/schema.ts +1 -1
- package/src/workflows/store.ts +1157 -48
- package/src/workflows/types.ts +151 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/workflows/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAAqC,CAAC;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAAsC,CAAC;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,qCAA8C,CAAC;AAEzF,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAC/C,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,UAAU,GAAG,cAAc,CAAC;AAElC,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAW,EAAE,CAAC,OAAO,EAAE;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB,EAAE,GAAG,GAAS,IAAI,IAAI,EAAE;IACtE,MAAM,KAAK,GAAG,GAAG;SACd,WAAW,EAAE;SACb,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,YAAY;SACtB,WAAW,EAAE;SACb,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;SAC9B,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;SAC1B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAClB,UAAU,CAAS;IACX,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEtE,YAAY,UAAU,GAAW,mBAAmB,EAAE;QACpD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAA4B,EAC5B,KAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAElC,MAAM,eAAe,CACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,EACzC,wBAAwB,CAAC,QAAQ,CAAC,CACnC,CAAC;QACF,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,KAAuB,EACvB,KAA8B;QAE9B,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,KAAuB,EACvB,KAA8B;QAE9B,MAAM,UAAU,GAAuB;YACrC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC9B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,KAAK;SACT,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,KAAc;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACxE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACtC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACrC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;gBACrD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,OAAO,CAAC;IAChB,CAAC;CACF;AASD,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAsB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,YAAY,CAAmB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAC1C,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAI,QAAgB;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAuB;IAC7C,OAAO;QACL,MAAM,EAAE,iBAAiB;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,kBAAkB;QAC/B,KAAK,EAAE;YACL,QAAQ,EAAE,sBAAsB;YAChC,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;SAClB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAA4B;IACnE,OAAO;QACL,MAAM,EAAE,0BAA0B;QAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CACrF;QACD,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAA4B;IAChD,MAAM,MAAM,GAAyB;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,KAAc;IAC7D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAClE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/workflows/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,6 +130,33 @@ export type WorkflowDefinition = {
|
|
|
130
130
|
maxSteps?: number;
|
|
131
131
|
};
|
|
132
132
|
export type WorkflowNodeOutcome = "ok" | "timed_out" | "failed" | "cancelled";
|
|
133
|
+
/**
|
|
134
|
+
* Reference to a content-addressed file under the bundle's `artifacts/`
|
|
135
|
+
* directory. Large string leaves inside persisted values are replaced by
|
|
136
|
+
* `{ "$artifact": ArtifactRef }` at write time (see `docs/run-bundles.md`).
|
|
137
|
+
*/
|
|
138
|
+
export type ArtifactRef = {
|
|
139
|
+
/** Bundle-relative path, `artifacts/sha256-<64 hex>.txt`. */
|
|
140
|
+
path: string;
|
|
141
|
+
mediaType: string;
|
|
142
|
+
bytes: number;
|
|
143
|
+
/** Hex digest of the artifact bytes. */
|
|
144
|
+
sha256: string;
|
|
145
|
+
};
|
|
146
|
+
/** The sentinel wrapper that replaces an externalized value. */
|
|
147
|
+
export type ArtifactValue = {
|
|
148
|
+
$artifact: ArtifactRef;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Explicit linkage from a workflow attempt to the Pi conversation slice it
|
|
152
|
+
* produced. Ids address entries in `session/entries.ndjson` by Pi entry id.
|
|
153
|
+
*/
|
|
154
|
+
export type ConversationRange = {
|
|
155
|
+
/** First Pi session entry id of the attempt. */
|
|
156
|
+
firstEntryId: string;
|
|
157
|
+
/** Last Pi session entry id of the attempt, inclusive. */
|
|
158
|
+
lastEntryId: string;
|
|
159
|
+
};
|
|
133
160
|
export type WorkflowNodeResult = {
|
|
134
161
|
attemptId: string;
|
|
135
162
|
nodeId: string;
|
|
@@ -157,17 +184,40 @@ export type WorkflowStepRecord = {
|
|
|
157
184
|
outcome: WorkflowNodeOutcome;
|
|
158
185
|
startedAt: string;
|
|
159
186
|
finishedAt: string;
|
|
160
|
-
|
|
187
|
+
/**
|
|
188
|
+
* Full prompt text for agent steps, `null` for other node types. In a
|
|
189
|
+
* persisted bundle a large prompt may be an `ArtifactValue`.
|
|
190
|
+
*/
|
|
191
|
+
prompt: string | ArtifactValue | null;
|
|
161
192
|
output: unknown;
|
|
162
193
|
error?: string;
|
|
163
194
|
action?: WorkflowActionReceipt;
|
|
195
|
+
/** For agent steps recorded inside a Pi conversation. */
|
|
196
|
+
conversation?: ConversationRange;
|
|
164
197
|
};
|
|
165
198
|
export type WorkflowRunStatus = "running" | "waiting" | "completed" | "failed" | "timed_out" | "cancelled";
|
|
166
199
|
export type WorkflowRunState = {
|
|
200
|
+
schema: "pi-workflows.run-state.v1";
|
|
201
|
+
/**
|
|
202
|
+
* `seq` of the trace event this projection reflects. `trace.ndjson` is the
|
|
203
|
+
* source of truth; a state whose `traceSeq` is older than the trace tail is
|
|
204
|
+
* a stale projection.
|
|
205
|
+
*/
|
|
206
|
+
traceSeq: number;
|
|
167
207
|
runId: string;
|
|
168
208
|
workflowName: string;
|
|
209
|
+
/** Set on continuation runs: the checkpointed run this one carries forward. */
|
|
210
|
+
parentRunId?: string;
|
|
211
|
+
/**
|
|
212
|
+
* Steps carried from the parent at continuation start. Steps beyond this
|
|
213
|
+
* count were recorded by this run itself; resume uses it to tell a
|
|
214
|
+
* carried checkpoint from this run's own.
|
|
215
|
+
*/
|
|
216
|
+
carriedStepCount?: number;
|
|
169
217
|
runTitle?: string;
|
|
170
218
|
workflowPath?: string;
|
|
219
|
+
/** SHA-256 of the workflow source at run start; resume refuses mismatches. */
|
|
220
|
+
workflowHash?: string;
|
|
171
221
|
startedAt: string;
|
|
172
222
|
finishedAt?: string;
|
|
173
223
|
updatedAt: string;
|
|
@@ -178,7 +228,6 @@ export type WorkflowRunState = {
|
|
|
178
228
|
steps: WorkflowStepRecord[];
|
|
179
229
|
currentNode?: string;
|
|
180
230
|
currentAttemptId?: string;
|
|
181
|
-
currentNodeType?: WorkflowNodeDefinition["nodeType"];
|
|
182
231
|
currentNodeStartedAt?: string;
|
|
183
232
|
statusDetail?: string;
|
|
184
233
|
/** True while the run is held at a step boundary by a pause request. */
|
|
@@ -205,13 +254,70 @@ export type WorkflowDefinitionSnapshot = {
|
|
|
205
254
|
export type WorkflowTraceEvent = {
|
|
206
255
|
seq: number;
|
|
207
256
|
at: string;
|
|
208
|
-
scope: "run" | "node" | "agent" | "action";
|
|
257
|
+
scope: "run" | "node" | "agent" | "action" | "session";
|
|
209
258
|
type: string;
|
|
210
259
|
runId: string;
|
|
211
260
|
nodeId?: string;
|
|
212
261
|
attemptId?: string;
|
|
213
262
|
payload: Record<string, unknown>;
|
|
214
263
|
};
|
|
264
|
+
/** `session/binding.json`: written once when a run binds to a conversation. */
|
|
265
|
+
export type WorkflowSessionBinding = {
|
|
266
|
+
schema: "pi-workflows.session-binding.v1";
|
|
267
|
+
runId: string;
|
|
268
|
+
/** Pi session UUID. */
|
|
269
|
+
piSessionId: string;
|
|
270
|
+
/**
|
|
271
|
+
* Absolute path of the Pi session file; provenance only, never read back.
|
|
272
|
+
* Absent for in-memory sessions.
|
|
273
|
+
*/
|
|
274
|
+
piSessionFile?: string;
|
|
275
|
+
/** Working directory of the conversation. */
|
|
276
|
+
cwd: string;
|
|
277
|
+
boundAt: string;
|
|
278
|
+
};
|
|
279
|
+
/**
|
|
280
|
+
* One line of `session/entries.ndjson`: a verbatim Pi session entry recorded
|
|
281
|
+
* while the run was active. The inner entry shape is owned by Pi.
|
|
282
|
+
*/
|
|
283
|
+
export type WorkflowSessionEntryRecord = {
|
|
284
|
+
/** Starts at 1, increases by exactly 1 within the file. */
|
|
285
|
+
seq: number;
|
|
286
|
+
/** When the entry was recorded into the bundle. */
|
|
287
|
+
at: string;
|
|
288
|
+
/** Verbatim Pi session entry (has its own id/parentId/timestamp). */
|
|
289
|
+
entry: Record<string, unknown>;
|
|
290
|
+
};
|
|
291
|
+
export type WorkflowSessionEventType = "turn_started" | "turn_finished" | "message_started" | "assistant_event" | "message_finished" | "tool_execution_started" | "tool_execution_updated" | "tool_execution_finished";
|
|
292
|
+
/** One normalized temporal Pi event in `session/events.ndjson`. */
|
|
293
|
+
export type WorkflowSessionEventRecord = {
|
|
294
|
+
/** Starts at 1 and increases by exactly 1 within the file. */
|
|
295
|
+
seq: number;
|
|
296
|
+
/** Time when the extension received the public Pi event. */
|
|
297
|
+
at: string;
|
|
298
|
+
nodeId: string;
|
|
299
|
+
attemptId: string;
|
|
300
|
+
turnId?: string;
|
|
301
|
+
messageId?: string;
|
|
302
|
+
toolCallId?: string;
|
|
303
|
+
type: WorkflowSessionEventType;
|
|
304
|
+
payload: Record<string, unknown>;
|
|
305
|
+
};
|
|
306
|
+
export type WorkflowSessionCaptureFailure = {
|
|
307
|
+
failedAt: string;
|
|
308
|
+
code: string;
|
|
309
|
+
message: string;
|
|
310
|
+
};
|
|
311
|
+
/** Atomic integrity projection for the temporal session journal. */
|
|
312
|
+
export type WorkflowSessionCapture = {
|
|
313
|
+
schema: "pi-workflows.session-capture.v1";
|
|
314
|
+
eventSchema: "pi-workflows.session-event.v1";
|
|
315
|
+
status: "recording" | "complete" | "failed";
|
|
316
|
+
eventCount: number;
|
|
317
|
+
entryCount: number;
|
|
318
|
+
lastEventSeq: number;
|
|
319
|
+
failure?: WorkflowSessionCaptureFailure;
|
|
320
|
+
};
|
|
215
321
|
export type WorkflowTraceEventDraft = Omit<WorkflowTraceEvent, "seq" | "at" | "runId">;
|
|
216
322
|
export type WorkflowRunManifest = {
|
|
217
323
|
schema: "pi-workflows.run-bundle.v1";
|
|
@@ -227,6 +333,10 @@ export type WorkflowRunManifest = {
|
|
|
227
333
|
workflow: string;
|
|
228
334
|
state: string;
|
|
229
335
|
trace: string;
|
|
336
|
+
/** Bundle-relative session directory, present once a session is bound. */
|
|
337
|
+
session?: string;
|
|
338
|
+
/** Bundle-relative artifacts directory, present once a value was externalized. */
|
|
339
|
+
artifacts?: string;
|
|
230
340
|
};
|
|
231
341
|
};
|
|
232
342
|
export type WorkflowRunResult = {
|
|
@@ -258,6 +368,11 @@ export type AgentStepRequest = {
|
|
|
258
368
|
};
|
|
259
369
|
export type AgentStepSubmission = {
|
|
260
370
|
output: unknown;
|
|
371
|
+
/**
|
|
372
|
+
* The Pi conversation slice this step produced, when the executor records
|
|
373
|
+
* one. Persisted verbatim into the step record and terminal node event.
|
|
374
|
+
*/
|
|
375
|
+
conversation?: ConversationRange;
|
|
261
376
|
};
|
|
262
377
|
/**
|
|
263
378
|
* Runs one agent step to completion. Implementations deliver the prompt to
|
|
@@ -271,6 +386,24 @@ export type WorkflowEngineOptions = {
|
|
|
271
386
|
executor: AgentStepExecutor;
|
|
272
387
|
/** Root directory for run bundles. Defaults to `~/.pi/agent/workflows/runs`. */
|
|
273
388
|
outputRoot?: string;
|
|
389
|
+
/**
|
|
390
|
+
* Shared run store. Pass the same instance used by a session recorder so
|
|
391
|
+
* trace sequence numbers stay single-writer. Defaults to a new store on
|
|
392
|
+
* `outputRoot`.
|
|
393
|
+
*/
|
|
394
|
+
store?: import("./store.js").WorkflowRunStore;
|
|
395
|
+
/**
|
|
396
|
+
* Awaited after `run_started` is persisted, before any node executes. This
|
|
397
|
+
* is where a session recorder binds, so `session_bound` lands at the start
|
|
398
|
+
* of the trace and can never trail the terminal event.
|
|
399
|
+
*/
|
|
400
|
+
onRunStarted?: (runDir: string, state: WorkflowRunState) => MaybePromise<void>;
|
|
401
|
+
/**
|
|
402
|
+
* Awaited before the terminal snapshot is persisted. This is where a
|
|
403
|
+
* session recorder stops and drains, so the bundle is immutable the moment
|
|
404
|
+
* the terminal event exists. Errors are swallowed: finishing the run wins.
|
|
405
|
+
*/
|
|
406
|
+
onRunFinishing?: (runDir: string, state: WorkflowRunState) => MaybePromise<void>;
|
|
274
407
|
/** Default per-node timeout. Defaults to 15 minutes. */
|
|
275
408
|
defaultNodeTimeoutMs?: number;
|
|
276
409
|
/** Guard against unbounded graph loops. Defaults to 100 executed steps. */
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# Controller runtime specification
|
|
2
|
+
|
|
3
|
+
Pi Workflows runs finite TypeScript graphs. A graph starts with an input, follows explicit edges, and ends with a result or checkpoint. This works well for one bounded task.
|
|
4
|
+
|
|
5
|
+
Long-running automation has a different job. It must keep comparing a requested state with the current state of another system. Events can arrive more than once, processes can stop between an external request and its local receipt, and the external state can change while work is running.
|
|
6
|
+
|
|
7
|
+
This specification adds a Kubernetes-style controller runtime to Pi Workflows. The controller runtime sits beside the graph engine. Controllers manage durable resources, while workflows remain finite jobs that a controller can start and observe.
|
|
8
|
+
|
|
9
|
+
The design follows the Kubernetes [controller pattern](https://kubernetes.io/docs/concepts/architecture/controller/), its [`spec` and `status` split](https://kubernetes.io/docs/concepts/overview/working-with-objects/), and the [idempotent reconciliation guidance](https://book.kubebuilder.io/reference/good-practices).
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
The controller runtime provides:
|
|
14
|
+
|
|
15
|
+
- Durable desired and observed state.
|
|
16
|
+
- Level-based reconciliation from current facts.
|
|
17
|
+
- A deduplicated work queue with delayed retries.
|
|
18
|
+
- Compare-and-swap writes for concurrent workers.
|
|
19
|
+
- Recoverable records for external effects.
|
|
20
|
+
- Child workflow runs with stable request keys.
|
|
21
|
+
- Conditions and generations, with cleanup and structured events.
|
|
22
|
+
- Local interactive use through the Pi extension and headless use through the engine API.
|
|
23
|
+
|
|
24
|
+
The first production use case is pull request automation. A controller can observe a pull request, start a review or repair workflow, wait for checks, validate the current head, and apply an approved change through deterministic code.
|
|
25
|
+
|
|
26
|
+
## Boundaries
|
|
27
|
+
|
|
28
|
+
The graph engine remains the execution layer for finite work. It does not import the controller runtime. The controller runtime may start workflows through a narrow scheduler interface.
|
|
29
|
+
|
|
30
|
+
The Pi extension is a host. It discovers definitions, displays status, and supplies the conversation-backed agent executor while Pi is running. A headless host can use the same controller runtime with another `AgentStepExecutor`.
|
|
31
|
+
|
|
32
|
+
External events are wake-up hints. An event enqueues a resource key and carries no transition command. The reconciler reloads the resource and the external system before deciding what to do.
|
|
33
|
+
|
|
34
|
+
## Resource model
|
|
35
|
+
|
|
36
|
+
A resource is the durable record of one requested outcome. The controller owns `status`; callers own `spec`.
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
export type ControllerResource<TSpec, TStatus> = {
|
|
40
|
+
metadata: {
|
|
41
|
+
uid: string;
|
|
42
|
+
controller: string;
|
|
43
|
+
key: string;
|
|
44
|
+
resourceVersion: number;
|
|
45
|
+
generation: number;
|
|
46
|
+
deletionTimestamp?: string;
|
|
47
|
+
finalizers: string[];
|
|
48
|
+
};
|
|
49
|
+
spec: TSpec;
|
|
50
|
+
status: {
|
|
51
|
+
observedGeneration: number;
|
|
52
|
+
conditions: ControllerCondition[];
|
|
53
|
+
workflowRun?: {
|
|
54
|
+
requestId: string;
|
|
55
|
+
runId?: string;
|
|
56
|
+
state: "pending" | "running" | "waiting" | "succeeded" | "failed" | "interrupted";
|
|
57
|
+
attempt: number;
|
|
58
|
+
};
|
|
59
|
+
controllerStatus: TStatus;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export type ControllerCondition = {
|
|
64
|
+
type: string;
|
|
65
|
+
status: true | false | "unknown";
|
|
66
|
+
reason: string;
|
|
67
|
+
message?: string;
|
|
68
|
+
observedGeneration: number;
|
|
69
|
+
lastTransitionTime: string;
|
|
70
|
+
};
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
`uid` stays stable for the life of the resource and is never reused. `resourceVersion` changes after every write and acts as the compare-and-swap token. `generation` changes only when `spec` changes. A condition describes the latest known state for one stable condition type.
|
|
74
|
+
|
|
75
|
+
`observedGeneration` shows which desired state produced the current status. A controller must not report a resource as ready when its conditions came from an older generation.
|
|
76
|
+
|
|
77
|
+
## Controller contract
|
|
78
|
+
|
|
79
|
+
A controller receives the latest resource, a cancellation signal, and runtime services. It returns after one bounded reconciliation pass.
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
import { conditionFalse, conditionTrue, defineController } from "@osolmaz/pi-workflows/controllers";
|
|
83
|
+
|
|
84
|
+
export default defineController<PullRequestSpec, PullRequestStatus>({
|
|
85
|
+
name: "pull-request",
|
|
86
|
+
initialStatus: () => ({ phase: "observing" }),
|
|
87
|
+
|
|
88
|
+
async reconcile(ctx, resource) {
|
|
89
|
+
const pullRequest = await github.getPullRequest(resource.spec, ctx.signal);
|
|
90
|
+
|
|
91
|
+
if (pullRequest.merged) {
|
|
92
|
+
return ctx.settled({
|
|
93
|
+
controllerStatus: { phase: "merged" },
|
|
94
|
+
conditions: [conditionTrue("Ready", "Merged")],
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (pullRequest.headSha !== resource.spec.expectedHeadSha) {
|
|
98
|
+
return ctx.settled({
|
|
99
|
+
controllerStatus: { phase: "blocked" },
|
|
100
|
+
conditions: [conditionFalse("Ready", "HeadChanged")],
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const run = await ctx.workflows.ensure({
|
|
105
|
+
requestKey: `repair:${resource.metadata.generation}:${pullRequest.headSha}`,
|
|
106
|
+
workflow: "repair-pull-request",
|
|
107
|
+
input: { repository: resource.spec.repository, number: pullRequest.number },
|
|
108
|
+
});
|
|
109
|
+
if (run.state !== "succeeded") {
|
|
110
|
+
return ctx.requeueAfter(30_000);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
await ctx.effects.ensure({
|
|
114
|
+
key: `merge:${resource.metadata.generation}:${pullRequest.headSha}`,
|
|
115
|
+
kind: "github-merge",
|
|
116
|
+
request: { number: pullRequest.number, expectedHeadSha: pullRequest.headSha },
|
|
117
|
+
observe: (signal) => github.observeMerge(resource.spec, signal),
|
|
118
|
+
apply: (signal) => github.merge(resource.spec, pullRequest.headSha, signal),
|
|
119
|
+
});
|
|
120
|
+
return ctx.requeue();
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
The runtime supports three normal results. `settled` removes the key from the queue until another event arrives. `requeue` asks for another pass as soon as capacity is available. `requeueAfter` schedules a later pass.
|
|
126
|
+
|
|
127
|
+
A returned error receives exponential backoff with jitter. A controller records a durable condition and returns `settled` for a problem that requires new input. Reconciliation retries do not depend on the event that caused the first attempt.
|
|
128
|
+
|
|
129
|
+
## Work queue
|
|
130
|
+
|
|
131
|
+
The queue contains one row for each controller and resource key. Repeated enqueue calls update that row instead of adding copies. A worker claims a key with an opaque claim token and an expiry time. The runtime prevents concurrent reconciliation of the same key.
|
|
132
|
+
|
|
133
|
+
A claim that expires returns to the queue. A successful settled result removes the queue row. A requested delay updates its available time. Consecutive errors increase an internal retry counter used for backoff.
|
|
134
|
+
|
|
135
|
+
The local implementation uses `better-sqlite3` in WAL mode. Transactions cover resource compare-and-swap writes, queue claims, and effect claims. `ControllerStore` remains an interface so another host can supply a remote implementation. Pi hosts use a store scoped to the canonical project directory, which prevents a same-named controller in another project from claiming its resources. The store limits each resource spec and status value to 1 MiB. Event payloads are limited to 64 KiB.
|
|
136
|
+
|
|
137
|
+
The resource store is the source of truth. Queue rows only describe delivery. A repair can rebuild the queue by enqueuing every resource; each reconciler then computes any needed delay again.
|
|
138
|
+
|
|
139
|
+
## External effects
|
|
140
|
+
|
|
141
|
+
An external effect can succeed while the local process is unable to save the response. The runtime records each effect before calling the provider.
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
export type EffectRecord = {
|
|
145
|
+
key: string;
|
|
146
|
+
resourceUid: string;
|
|
147
|
+
generation: number;
|
|
148
|
+
requestFingerprint: string;
|
|
149
|
+
state: "pending" | "applied" | "rejected" | "indeterminate";
|
|
150
|
+
externalRef?: string;
|
|
151
|
+
startedAt: string;
|
|
152
|
+
completedAt?: string;
|
|
153
|
+
};
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The key names one intended effect. Reusing the key with another request fingerprint is an error. The next reconciliation observes the external system before retrying an existing pending or indeterminate effect. The effect can be treated as effectively once when the provider offers an idempotency token, a conditional request, or a reliable way to observe the requested result. The runtime does not promise generic exactly-once execution.
|
|
157
|
+
|
|
158
|
+
Mutation policy stays in deterministic effect drivers. Agent workflows return findings or artifacts for deterministic code to check and apply. The in-process Pi host shares its process environment with agent tools, so it does not provide credential isolation. Deployments that require that boundary should put authenticated effects behind a separate broker or controller host.
|
|
159
|
+
|
|
160
|
+
## Child workflows
|
|
161
|
+
|
|
162
|
+
`ctx.workflows.ensure()` creates or finds a workflow run by a stable request key and input fingerprint. Repeated reconciliations find the same active or completed request. A changed input must use a new key. The controller store reserves and saves each attempt's run ID before the scheduler starts it, so restart recovery can find the bundle.
|
|
163
|
+
|
|
164
|
+
A child run is one immutable attempt. Its existing run bundle remains the execution record. The parent resource points to the current run, and workflow completion enqueues the parent key. A host restart can record an abandoned attempt and create another attempt for the same stable request.
|
|
165
|
+
|
|
166
|
+
The workflow scheduler records an abandoned running bundle as `failed` with a final `run_interrupted` trace event. The controller store treats that child attempt as `interrupted`, so the next reconciliation starts another immutable attempt. Compute work can run again, while consequential external actions belong in the effect API so recovery observes them before retrying.
|
|
167
|
+
|
|
168
|
+
## Deletion and cleanup
|
|
169
|
+
|
|
170
|
+
Setting `deletionTimestamp` requests deletion. A controller with a finalizer first removes external resources it owns, then removes its finalizer. The store deletes the resource after the finalizer list becomes empty.
|
|
171
|
+
|
|
172
|
+
Controllers should add finalizers only when they own something that needs cleanup, such as an isolated worktree or a remote action session. Ordinary completed resources can remain as history or be removed by a separate retention policy.
|
|
173
|
+
|
|
174
|
+
## Sources and workers
|
|
175
|
+
|
|
176
|
+
A source maps an external event to one or more resource keys. Sources include filesystem watches, webhooks, scheduled polling, and child workflow completion. They share the same enqueue API.
|
|
177
|
+
|
|
178
|
+
`ControllerManager` sets global and per-controller worker limits. A reconciliation deadline stops lease renewal and requeues the key even when controller code ignores its abort signal. JavaScript cannot stop that non-cooperative promise, so reconciler code must pass the signal to provider calls and keep consequential writes inside guarded effect drivers. The local store supports expiring claims from the start, while the first release can run one process. Leader election belongs in a remote store implementation if several hosts later share the same resources.
|
|
179
|
+
|
|
180
|
+
The Pi extension starts local workers during `session_start` and closes them during `session_shutdown`. It can reconcile only while Pi is running. Another program can host `ControllerManager` through the public engine API. The package does not install a service.
|
|
181
|
+
|
|
182
|
+
## Observability
|
|
183
|
+
|
|
184
|
+
Every reconciliation emits structured records with the controller name, resource key, generation, reconcile ID, outcome and duration, plus the requeue reason. Effect state changes and child workflow links are also recorded. Logs and viewer projections remain secondary to the resource and effect stores.
|
|
185
|
+
|
|
186
|
+
`pi-workflows controllers` lists resources and their current readiness condition. `pi-workflows controller <controller> <key>` prints one resource together with its effects, child workflows, and recent events. Existing run views continue to read immutable bundles.
|
|
187
|
+
|
|
188
|
+
## Safety rules
|
|
189
|
+
|
|
190
|
+
A production controller must follow these rules:
|
|
191
|
+
|
|
192
|
+
- Read current external state on every reconciliation.
|
|
193
|
+
- Check authorization and target boundaries in deterministic code.
|
|
194
|
+
- Use provider-side preconditions for consequential writes when available.
|
|
195
|
+
- Save status with the resource version that was read.
|
|
196
|
+
- Reconcile again after each consequential external effect.
|
|
197
|
+
- Keep model output separate from mutation authority.
|
|
198
|
+
- Bound worker counts and retry rates. Also bound timeouts and stored payload sizes.
|
|
199
|
+
- Redact credentials and private provider responses from logs and run bundles.
|
|
200
|
+
|
|
201
|
+
## Package and Pi integration
|
|
202
|
+
|
|
203
|
+
The controller API is exported from `@osolmaz/pi-workflows/controllers`. Controller definitions use a `.controller.ts` suffix. Project definitions live under `.pi/controllers/`; global definitions live under `~/.pi/agent/controllers/`.
|
|
204
|
+
|
|
205
|
+
The implementation uses documented Pi extension APIs only. Commands and tools use `registerCommand` and `registerTool`. Session lifecycle uses `session_start` and `session_shutdown`. Workflow prompts use `sendUserMessage`, while status uses `setWidget` and `setStatus`.
|
|
206
|
+
|
|
207
|
+
The `/controller` command lists and inspects resources, applies specs, requests reconciliation or deletion, and starts or stops local workers. Stopping workers records an active child as interrupted, so starting workers again can create another attempt. Project stores live under `~/.pi/agent/workflows/controllers/projects/<scope>/controller.sqlite`. The scope is a hash of the canonical project directory. `PI_WORKFLOWS_CONTROLLER_DIR` overrides the controller root while preserving project scopes.
|
|
208
|
+
|
|
209
|
+
The same store also backs the standalone host (`pi-workflows host`). The host reconciles controllers without a Pi session and claims parked interactive runs from the `workflow_run_queue` table. Conversation children execute in headless `pi --mode rpc` sessions. A Pi session and the host can share one store safely because claims and compare-and-swap writes arbitrate, but run only one set of controller workers at a time to avoid competing work. The host takes an advisory lock against other hosts; the embedded runner in Pi does not take it.
|
|
210
|
+
|
|
211
|
+
Normal workflow prompts, tool calls, and replies remain part of the Pi session. Controller resources, queue rows, and effects live in the controller store. No Pi internal type, private API, or persistent Pi schema changes.
|
|
212
|
+
|
|
213
|
+
## Exclusions
|
|
214
|
+
|
|
215
|
+
This specification does not add Kubernetes API compatibility, YAML resources, a cluster scheduler, or a general distributed database. GitHub policy and credentials belong in a provider adapter, leaving the controller core independent of GitHub. The first release also excludes automatic service installation and generic exactly-once claims.
|
package/docs/development.md
CHANGED
|
@@ -6,15 +6,20 @@ authoring workflows, see [workflows.md](workflows.md).
|
|
|
6
6
|
## Layout and boundaries
|
|
7
7
|
|
|
8
8
|
```
|
|
9
|
-
src/workflows/ engine
|
|
10
|
-
src/
|
|
11
|
-
src/
|
|
9
|
+
src/workflows/ finite graph engine: definitions, execution, bundles, loader
|
|
10
|
+
src/builtins/ default workflows shipped at lowest discovery precedence
|
|
11
|
+
src/controllers/ durable resources, queue, reconciliation, effects, child runs
|
|
12
|
+
src/extension/ pi integration: commands, workflow tool, controller host, widget
|
|
13
|
+
src/viewer/ standalone read-only views over runs and controller resources
|
|
14
|
+
tui/ Rust piw viewer and live replay server
|
|
12
15
|
```
|
|
13
16
|
|
|
14
17
|
The dependency direction is enforced by `slophammer.yml`. `src/workflows`
|
|
15
|
-
imports nothing outside itself and never imports
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
imports nothing outside itself and never imports Pi. `src/controllers` may
|
|
19
|
+
import the public workflow engine for child-run scheduling. `src/extension`
|
|
20
|
+
and `src/viewer` may import both layers and never each other. The viewer reads
|
|
21
|
+
run bundles and opens the controller SQLite database read-only, so it works
|
|
22
|
+
from any process.
|
|
18
23
|
|
|
19
24
|
Within `src/render`, `graph.ts` computes a pure layered layout (ported from
|
|
20
25
|
the acpx replay viewer: labelled switch expansion, DFS back-edge detection,
|
|
@@ -31,6 +36,14 @@ in `src/viewer`
|
|
|
31
36
|
composes the full detail view (header, graph, step timeline, step inspector)
|
|
32
37
|
and stays pure so tests can assert on rendered lines.
|
|
33
38
|
|
|
39
|
+
The Rust viewer keeps graph layout and plain rendering in parity with
|
|
40
|
+
`src/render`, then applies ratatui-only presentation through semantic canvas
|
|
41
|
+
roles and `tui/src/theme`. Catppuccin is the default. Theme colors must be
|
|
42
|
+
chosen in the theme layer rather than directly in UI components. Graph node
|
|
43
|
+
surfaces are intentional styled spaces, so changing the sparse canvas must
|
|
44
|
+
preserve those spaces as well as box connectivity. Text or geometry changes
|
|
45
|
+
still belong in both renderers and require regenerated fixtures.
|
|
46
|
+
|
|
34
47
|
The renderer is built so that overlaps cannot corrupt the drawing: every
|
|
35
48
|
back edge owns exclusive lane rows and an exclusive gutter column, multiple
|
|
36
49
|
edges leaving one node fan out over separate exit columns, and labels are
|
|
@@ -50,6 +63,18 @@ The extension implements it on top of the live conversation
|
|
|
50
63
|
(`test/helpers.ts`). Anything that would couple the engine to pi belongs on
|
|
51
64
|
the extension side of that seam.
|
|
52
65
|
|
|
66
|
+
Temporal session capture follows the same boundary. `src/extension` listens to
|
|
67
|
+
Pi's documented `turn_*`, `message_*`, and `tool_execution_*` hooks and
|
|
68
|
+
normalizes them before passing records to `WorkflowRunStore`. The workflows layer owns persisted shapes and schema validation. It also owns
|
|
69
|
+
ordered append chains but never imports Pi types. High-rate hooks only stamp and enqueue bounded records;
|
|
70
|
+
disk writes run on a separate chain. Capture failures are explicit in
|
|
71
|
+
`session/capture.json` and never fail workflow execution.
|
|
72
|
+
|
|
73
|
+
`src/viewer/session-reducer.ts` and `tui/src/session.rs` implement the same
|
|
74
|
+
sequence-ordered fold. Shared fixtures in `fixtures/session-events/` pin their
|
|
75
|
+
output. Seeking uses viewer-only checkpoints every 256 events and an in-memory
|
|
76
|
+
timestamp index. Neither cache is persisted.
|
|
77
|
+
|
|
53
78
|
## Toolchain
|
|
54
79
|
|
|
55
80
|
Node 22+, ESM, TypeScript strict (including `exactOptionalPropertyTypes`).
|
|
@@ -90,34 +115,36 @@ the real pi CLI from `devDependencies` in RPC mode with:
|
|
|
90
115
|
- the extension loaded from source with `-e src/extension/index.ts`.
|
|
91
116
|
|
|
92
117
|
It drives `/workflow` over the RPC protocol and asserts on the resulting run
|
|
93
|
-
bundle,
|
|
94
|
-
|
|
118
|
+
bundle, including temporal events, final entry linkage, capture integrity, and
|
|
119
|
+
terminal immutability, then renders the finished run through the viewer CLI.
|
|
120
|
+
Nothing outside the temp directories is touched, and no real model is called.
|
|
95
121
|
|
|
96
122
|
## Publishing
|
|
97
123
|
|
|
98
|
-
The npm package is `@osolmaz/pi-workflows`. The
|
|
99
|
-
|
|
100
|
-
|
|
124
|
+
The npm package is `@osolmaz/pi-workflows`. The crates.io package is
|
|
125
|
+
`pi-workflows`, and it installs the `piw` executable. Keep both package versions
|
|
126
|
+
in sync so one GitHub Release can publish both artifacts.
|
|
101
127
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
```
|
|
128
|
+
Trusted publishing uses separate GitHub environments and workflows. Neither
|
|
129
|
+
workflow stores a long-lived registry token:
|
|
105
130
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
131
|
+
- npm: repository `osolmaz/pi-workflows`, workflow
|
|
132
|
+
`.github/workflows/publish.yml`, environment `npm`;
|
|
133
|
+
- crates.io: repository owner `osolmaz`, repository `pi-workflows`, workflow
|
|
134
|
+
`publish-crate.yml`, environment `crates-io`.
|
|
109
135
|
|
|
110
136
|
For later versions:
|
|
111
137
|
|
|
112
|
-
1. Update `version` in `package.json
|
|
113
|
-
change into the default branch.
|
|
138
|
+
1. Update `version` in `package.json`, `package-lock.json`, `tui/Cargo.toml`,
|
|
139
|
+
and `tui/Cargo.lock`, then merge that change into the default branch.
|
|
114
140
|
2. Publish a GitHub Release whose tag is `v<version>`, such as `v0.2.0`.
|
|
115
|
-
3. Wait for the **Publish npm package**
|
|
116
|
-
|
|
141
|
+
3. Wait for the **Publish npm package** and **Publish crates.io package**
|
|
142
|
+
workflows to finish.
|
|
143
|
+
4. Verify the version on both npm and crates.io.
|
|
117
144
|
|
|
118
|
-
|
|
119
|
-
versions already present
|
|
120
|
-
before
|
|
145
|
+
Both workflows reject mismatched tags, commits outside the default branch, and
|
|
146
|
+
versions already present in their registry. They run their package checks
|
|
147
|
+
before publishing.
|
|
121
148
|
|
|
122
149
|
## Conventions
|
|
123
150
|
|