@agimon-ai/po-workflow 0.0.0-alpha.0 → 0.0.0-stage

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 CHANGED
@@ -1,146 +1,3 @@
1
- # @agimon-ai/po-workflow
1
+ # Temporary Holding Version
2
2
 
3
- Discover, launch, monitor, control, and recover asynchronous Po workflows.
4
-
5
- Part of the [Po distribution](https://www.npmjs.com/package/@agimon-ai/po).
6
-
7
- The integration embeds `@agimon-ai/workflow-mcp`. Workflow files describe job dependencies and
8
- host-executed steps, while Po provides session-scoped tools.
9
-
10
- > **Alpha:** workflow and recovery contracts may change between releases.
11
-
12
- ## Requirements
13
-
14
- - Node.js 24 or newer
15
-
16
- ## Install
17
-
18
- The seeded `modes.yaml` selects Workflow in `default.packages`. Keep it there or select it through
19
- a layer; its tools remain inactive until Workflow mode is enabled.
20
-
21
- ## Define a workflow
22
-
23
- Create a `*.workflow.yml` file:
24
-
25
- ```yaml
26
- name: verify
27
-
28
- jobs:
29
- test:
30
- steps:
31
- - name: Run tests
32
- run: pnpm test
33
-
34
- summarize:
35
- needs: test
36
- steps:
37
- - name: Record result
38
- run: node scripts/write-verification-summary.mjs
39
- ```
40
-
41
- `run` commands execute on the host with the workflow process's environment and privileges. There is
42
- no VM, container, or sandbox. Review workflow files as executable code. Runner-specific
43
- `interactiveRun` mappings are available for commands that require a TTY.
44
-
45
- A step can also declare `runConfig` (major mode, minor modes, profile, domains, model, thinking)
46
- and `customRun` (a prompt). Launched from the Po server, a `customRun` step runs as a child
47
- session of the launching session with those settings, until the agent has recorded what the step
48
- needs, and `run` and `interactiveRun` steps each get their own RMUX pane. Each run keeps its engine
49
- log in `engine.log` in its run directory. See `docs/automation.md` for the full contract and the
50
- CLI fallback.
51
-
52
- ## Launch and monitor
53
-
54
- Core tools are:
55
-
56
- - `list_workflows`: discover workflows.
57
- - `launch_workflow`: register and start an asynchronous run.
58
- - `workflow_run`: inspect or control a run through supported actions.
59
- - `workflow_tools` (server/web sessions): read failed-run recovery evidence or resume the existing run.
60
-
61
- Launch returns after the run is registered, not after all jobs complete. Use status for progress
62
- and wait for a completion notification.
63
-
64
- ## Storage, concurrency, and lifecycle
65
-
66
- Registry data defaults to `$HOME/.workflow-mcp`; set `WORKFLOW_MCP_HOME` to relocate it. Persisted
67
- records contain workflow and run identity, job and step state, ownership, output locations, and
68
- recovery evidence. The default concurrency ceiling is five runs.
69
-
70
- Runs launched through a terminal
71
- host such as tmux or cmux can have a different lifetime and remain manageable from the CLI. When
72
- Team is loaded, Workflow contributes active session runs through Team's `doom/background-work`
73
- service. That contribution reconnects after Team is replaced and is removed when Workflow unloads.
74
- Reconciliation distinguishes stale registry records from live processes; do not assume every run
75
- outlives its parent session.
76
-
77
- Each workflow or repair step can launch commands and model-backed agents, consuming provider quota
78
- and repeating external side effects.
79
-
80
- ## Recovery
81
-
82
- Recovery is available only for records in a terminal failure state. A recovery claim atomically
83
- adopts the eligible failure, validates the evidence, and transfers ownership to the replay session.
84
- Live controls remain scoped to the owning session. Recovery does not launch a second copy beside a
85
- still-running job and does not guarantee that parent-session work survives shutdown.
86
-
87
- The package publishes `workflow-recovery`, `po-author-workflow` for writing workflow
88
- definitions, and `po-use-workflow` for launching, monitoring, and recovering runs while Workflow
89
- mode is active. Deactivating Workflow mode hides them; cached files may remain.
90
-
91
- ## Workflow sessions
92
-
93
- In a server (web cockpit) session, a launch does not run in the session that asked for it. The
94
- session creates a child **workflow session** (provenance `workflow-session`), nested under it in the
95
- rail, and hands it the launch. The workflow session owns the run (`PI_SESSION_ID`), runs its step
96
- sessions, and has Workflow mode on, so its agent can troubleshoot and recover the run. The run's
97
- environment also carries `PO_WORKFLOW_LAUNCHER_SESSION_ID`, naming the launching session, which
98
- lists the run in its Activity group, is told when it ends, and may read its status.
99
-
100
- - The workflow session's rail row shows the run (`workflow · build › test · 4m`, or a failure or
101
- pause marked like a pending question) through the host's per-session activity line.
102
- - Success is posted without starting a turn. Failure wakes the workflow owner for local diagnosis;
103
- the launcher receives a notification only. The owner gets a live brief on every turn.
104
- - After a success, a workflow session nobody interacted with asks its launcher to release it, and it
105
- becomes `stopped · open to wake`. A session whose run failed or paused, or whose agent you
106
- prompted, stays live until you remove it. Removing or restarting a live workflow session stops its
107
- run.
108
- - Recovery is refused from any session other than the owner while the owner is live.
109
-
110
- ## Development
111
-
112
- ```bash
113
- pnpm build
114
- pnpm typecheck
115
- pnpm test
116
- pnpm lint
117
- ```
118
-
119
- Maintained by [Agimon](https://agimon.ai/about).
120
-
121
- ## Web cockpit plugin
122
-
123
- The `.web` routed files under `src/extensions/workspaces/sessions/(frontend)` are this package's
124
- Po web cockpit plugin: the `workflow` dock face beside Activity and Context (the owned run's
125
- jobs, active steps and artifacts, each opening its own tab), the workflow catalog and launch
126
- dialog in the overlay slot, the Activity group's run rows (a handed-off run opens its workflow
127
- session), their stores, and the `workflow_runs` session channel, compiled into the cockpit bundle
128
- by `po-web`'s build. Each surface keeps its components in a colocated `_components` folder and
129
- its stores and helpers in `_lib`.
130
- The hub-side data source ships behind the `./web-hub` subpath and reads the workflow registry
131
- (run.json plus progress.ndjson) exactly as the engine writes it. Both halves are declared by the
132
- `poWeb` block in package.json.
133
-
134
- ## License
135
-
136
- MIT, except this package's browser half (the `.web` routed files under `src/extensions` and the
137
- `_components` and `_lib` modules colocated with one), which is source available under the Po
138
- Web License (see `LICENSE.web`): free to use, including commercially, but not to redistribute.
139
-
140
- ## Native execution contract
141
-
142
- Agent steps require an effective `runConfig.majorMode`; delegated workflows require top-level `runConfig.majorMode` before their owner child is created. Selection projects major mode, minor modes, profile and domains, adding the workflow minor mode once. `subagentModel` and `subagentThinking` set Team preferences independently of the step model.
143
-
144
- The native host requires execution-state inspection before creating agent steps. After settlement it waits for idle, no pending messages and a known background snapshot without core holds or holding-provider errors before checking decisions. Unknown ownership waits closed without consuming reminders; stops interrupt reads and retry delays.
145
-
146
- Delegated successes are informational. Errors wake the workflow owner through durable custom-message admission; the launcher gets an error notification, not an agent-waking failure completion. Diagnosis stays local. Recovery, pause, resume and stop are request-driven. User-requested stops do not trigger diagnosis or automatic restart.
3
+ This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
package/package.json CHANGED
@@ -1,133 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/po-workflow",
3
- "version": "0.0.0-alpha.0",
4
- "description": "GitHub Actions-style workflow graphs, artifacts, recovery, and asynchronous runs for Po.",
5
- "keywords": [
6
- "ai",
7
- "automation",
8
- "coding-agent",
9
- "developer-tools",
10
- "github-actions",
11
- "pi-extension",
12
- "pi-package",
13
- "po",
14
- "workflow",
15
- "workflow-orchestration"
16
- ],
17
- "homepage": "https://agimon.ai",
18
- "bugs": {
19
- "url": "https://github.com/AgiFlow/po/issues"
20
- },
21
- "license": "MIT",
22
- "author": "Vuong Ngo",
23
- "repository": {
24
- "type": "git",
25
- "url": "git+https://github.com/AgiFlow/po.git",
26
- "directory": "packages/minor/po-workflow"
27
- },
28
- "files": [
29
- "dist",
30
- "llms.txt",
31
- "README.md",
32
- "src/prompts",
33
- "skills/workflow-recovery/SKILL.md",
34
- "src/types/webWorkflows.ts",
35
- "src/types/webWorkflowTerminal.ts"
36
- ],
37
- "type": "module",
38
- "main": "./dist/index.cjs",
39
- "module": "./dist/index.mjs",
40
- "types": "./dist/index.d.mts",
41
- "jsnext:main": "./dist/index.mjs",
42
- "exports": {
43
- ".": {
44
- "types": "./dist/index.d.mts",
45
- "import": "./dist/index.mjs",
46
- "require": "./dist/index.cjs"
47
- },
48
- "./extensions/server": {
49
- "types": "./dist/extensions/server.d.mts",
50
- "import": "./dist/extensions/server.mjs",
51
- "require": "./dist/extensions/server.cjs"
52
- },
53
- "./extensions/web": {
54
- "import": "./dist/extensions/web.mjs"
55
- },
56
- "./skills/workflow-recovery/SKILL.md": "./skills/workflow-recovery/SKILL.md",
57
- "./package.json": "./package.json"
58
- },
59
- "publishConfig": {
60
- "access": "public"
61
- },
62
- "dependencies": {
63
- "@agimon-ai/po-core": "0.0.0-alpha.0",
64
- "@agimon-ai/po-minor-mode": "0.0.0-alpha.0",
65
- "@agimon-ai/po-telemetry": "0.0.0-alpha.0",
66
- "@agimon-ai/po-ui": "0.0.0-alpha.0",
67
- "@agimon-ai/po-web-components": "0.0.0-alpha.0",
68
- "@agimon-ai/po-web-security": "0.0.0-alpha.0",
69
- "@agimon-ai/workflow-mcp": "0.24.12",
70
- "@deepseek-ai/cordis": "4.0.4",
71
- "@modelcontextprotocol/server": "2.2.0",
72
- "hono": "4.13.12",
73
- "typebox": "1.3.34",
74
- "zod": "4.6.5"
75
- },
76
- "devDependencies": {
77
- "@agimon-ai/po-build": "0.0.0-alpha.0",
78
- "@earendil-works/pi-coding-agent": "1.0.2",
79
- "@tanstack/react-store": "0.11.2",
80
- "@tanstack/store": "0.11.2",
81
- "@types/node": "26.6.4",
82
- "@types/react": "19.3.0",
83
- "@types/react-dom": "19.3.0",
84
- "@vitest/coverage-v8": "5.0.3",
85
- "react": "19.3.0",
86
- "react-dom": "19.3.0",
87
- "tsdown": "0.23.0",
88
- "typescript": "7.0.2",
89
- "vitest": "5.0.3"
90
- },
91
- "peerDependencies": {
92
- "@earendil-works/pi-coding-agent": "1.0.2"
93
- },
94
- "peerDependenciesMeta": {
95
- "@earendil-works/pi-coding-agent": {
96
- "optional": true
97
- }
98
- },
99
- "engines": {
100
- "node": ">=24"
101
- },
102
- "poServer": {
103
- "entry": "./generated/server.ts",
104
- "dist": "./dist/extensions/server.mjs",
105
- "scopes": [
106
- "global",
107
- "workspace",
108
- "session"
109
- ],
110
- "contracts": {
111
- "entry": "./src/exports/apiContracts.ts",
112
- "dist": "./dist/apiContracts.mjs"
113
- }
114
- },
115
- "poWeb": {
116
- "pluginId": "workflows",
117
- "channels": [
118
- "workflow_catalog",
119
- "workflow_runs"
120
- ],
121
- "client": "./dist/extensions/web.mjs",
122
- "scopes": [
123
- "session"
124
- ]
125
- },
126
- "scripts": {
127
- "build": "tsdown",
128
- "test": "vitest --run",
129
- "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.web.json",
130
- "lint": "oxlint . && oxfmt . --check",
131
- "fixcode": "oxlint . --fix && oxfmt ."
132
- }
3
+ "version": "0.0.0-stage",
4
+ "stub": true,
5
+ "description": "Temporary package placeholder for staged publishing"
133
6
  }
package/LICENSE DELETED
@@ -1,29 +0,0 @@
1
- Portions of this software are licensed as follows:
2
-
3
- * The browser half of this package, meaning every ".web" routed file under
4
- "src/extensions" and the "_components" and "_lib" modules colocated with
5
- one, is licensed under the Po Web License defined in "LICENSE.web":
6
- free to use, not to redistribute.
7
- * All other content is licensed under the MIT license below.
8
-
9
- MIT License
10
-
11
- Copyright (c) 2026 Vuong Ngo
12
-
13
- Permission is hereby granted, free of charge, to any person obtaining a copy
14
- of this software and associated documentation files (the "Software"), to deal
15
- in the Software without restriction, including without limitation the rights
16
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
- copies of the Software, and to permit persons to whom the Software is
18
- furnished to do so, subject to the following conditions:
19
-
20
- The above copyright notice and this permission notice shall be included in all
21
- copies or substantial portions of the Software.
22
-
23
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
- SOFTWARE.
package/LICENSE.web DELETED
@@ -1,29 +0,0 @@
1
- The Po Web License
2
-
3
- Copyright (c) 2026 Agimon Pty Ltd
4
-
5
- With regard to the Po Web Software:
6
-
7
- This software and associated documentation files (the "Software") may be
8
- used, free of charge, by any person or entity, for any purpose, including
9
- production and commercial use. You may copy the Software as reasonably
10
- necessary to install, run, develop against, test, and back it up. You are
11
- free to modify the Software for your own use and to publish patches to the
12
- Software. You agree that the licensor retains all right, title, and interest
13
- in and to the Software, and that your modifications and patches may only be
14
- used, copied, modified, displayed, distributed, or otherwise exploited
15
- together with the Software. You are not granted any other rights beyond what
16
- is expressly stated herein. Subject to the foregoing, it is forbidden to
17
- publish, distribute, sublicense, and/or sell the Software or any copy of it,
18
- or to offer the Software to third parties as a hosted or managed service.
19
-
20
- The above copyright notice and this permission notice shall be included in
21
- all copies or substantial portions of the Software.
22
-
23
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
29
- IN THE SOFTWARE.