@revisium/orchestrator 0.1.0 → 0.2.0-alpha.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 +78 -0
- package/control-plane/bootstrap.config.json +43 -1
- package/control-plane/default-playbook/catalog/pipelines.json +941 -3
- package/control-plane/default-playbook/catalog/roles.json +54 -0
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
- package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
- package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
- package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js +0 -4
- package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
- package/dist/cli/commands/doctor-report.js +0 -18
- package/dist/cli/commands/doctor-report.js.map +1 -1
- package/dist/cli/commands/lifecycle.js +3 -71
- package/dist/cli/commands/lifecycle.js.map +1 -1
- package/dist/cli/commands/mcp.js +0 -14
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/process-tree.js +4 -26
- package/dist/cli/commands/process-tree.js.map +1 -1
- package/dist/cli/commands/revisium-helpers.js +0 -6
- package/dist/cli/commands/revisium-helpers.js.map +1 -1
- package/dist/cli/commands/rogue-reaper.js +0 -34
- package/dist/cli/commands/rogue-reaper.js.map +1 -1
- package/dist/cli/index.js +0 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/program.js +0 -5
- package/dist/cli/program.js.map +1 -1
- package/dist/config.js +0 -25
- package/dist/config.js.map +1 -1
- package/dist/control-plane/bootstrap.js +0 -28
- package/dist/control-plane/bootstrap.js.map +1 -1
- package/dist/control-plane/change-notifications.js +0 -1
- package/dist/control-plane/change-notifications.js.map +1 -1
- package/dist/control-plane/client-transport.js +0 -11
- package/dist/control-plane/client-transport.js.map +1 -1
- package/dist/control-plane/definitions.js +8 -17
- package/dist/control-plane/definitions.js.map +1 -1
- package/dist/control-plane/inbox.js +2 -120
- package/dist/control-plane/inbox.js.map +1 -1
- package/dist/control-plane/resolve-cwd.js +0 -61
- package/dist/control-plane/resolve-cwd.js.map +1 -1
- package/dist/control-plane/schema-migration.js +0 -9
- package/dist/control-plane/schema-migration.js.map +1 -1
- package/dist/control-plane/seed-default-playbook.js +5 -70
- package/dist/control-plane/seed-default-playbook.js.map +1 -1
- package/dist/control-plane/steps.js +0 -15
- package/dist/control-plane/steps.js.map +1 -1
- package/dist/e2e/kit/assertions.js +1 -1
- package/dist/e2e/kit/assertions.js.map +1 -1
- package/dist/engine/dbos.service.js +9 -179
- package/dist/engine/dbos.service.js.map +1 -1
- package/dist/engine/ensure-postgres.js +0 -48
- package/dist/engine/ensure-postgres.js.map +1 -1
- package/dist/host/daemon.js +2 -21
- package/dist/host/daemon.js.map +1 -1
- package/dist/host/dbos-identity.js +0 -31
- package/dist/host/dbos-identity.js.map +1 -1
- package/dist/host/ensure-host.js +1 -37
- package/dist/host/ensure-host.js.map +1 -1
- package/dist/host/ensure-revisium.js +1 -135
- package/dist/host/ensure-revisium.js.map +1 -1
- package/dist/host/host-runtime.js +0 -28
- package/dist/host/host-runtime.js.map +1 -1
- package/dist/host/host.lifecycle.js +0 -27
- package/dist/host/host.lifecycle.js.map +1 -1
- package/dist/host/queue-ownership.js +0 -42
- package/dist/host/queue-ownership.js.map +1 -1
- package/dist/host/queue-poller-census.js +1 -28
- package/dist/host/queue-poller-census.js.map +1 -1
- package/dist/http/graphql-host.module.js +0 -3
- package/dist/http/graphql-host.module.js.map +1 -1
- package/dist/mcp/mcp-capabilities.js +19 -14
- package/dist/mcp/mcp-capabilities.js.map +1 -1
- package/dist/mcp/mcp-facade.service.js +41 -23
- package/dist/mcp/mcp-facade.service.js.map +1 -1
- package/dist/mcp/mcp-http.service.js +0 -18
- package/dist/mcp/mcp-http.service.js.map +1 -1
- package/dist/mcp/mcp-tools.js +18 -40
- package/dist/mcp/mcp-tools.js.map +1 -1
- package/dist/observability/activity-signal.js +0 -4
- package/dist/observability/activity-signal.js.map +1 -1
- package/dist/observability/agent-activity-reporter.js +0 -4
- package/dist/observability/agent-activity-reporter.js.map +1 -1
- package/dist/pipeline/await-human.js +0 -40
- package/dist/pipeline/await-human.js.map +1 -1
- package/dist/pipeline/data-driven-task.workflow.js +106 -236
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
- package/dist/pipeline/data-driven-template.js +0 -25
- package/dist/pipeline/data-driven-template.js.map +1 -1
- package/dist/pipeline/pipeline.module.js +0 -12
- package/dist/pipeline/pipeline.module.js.map +1 -1
- package/dist/pipeline/pipeline.service.js +10 -99
- package/dist/pipeline/pipeline.service.js.map +1 -1
- package/dist/pipeline-core/index.js +1 -13
- package/dist/pipeline-core/index.js.map +1 -1
- package/dist/pipeline-core/interpret.js +21 -94
- package/dist/pipeline-core/interpret.js.map +1 -1
- package/dist/pipeline-core/kit/assertions.js +0 -19
- package/dist/pipeline-core/kit/assertions.js.map +1 -1
- package/dist/pipeline-core/kit/builders.js +1 -21
- package/dist/pipeline-core/kit/builders.js.map +1 -1
- package/dist/pipeline-core/kit/drive.js +1 -31
- package/dist/pipeline-core/kit/drive.js.map +1 -1
- package/dist/pipeline-core/kit/fixtures.js +8 -82
- package/dist/pipeline-core/kit/fixtures.js.map +1 -1
- package/dist/pipeline-core/kit/index.js +0 -8
- package/dist/pipeline-core/kit/index.js.map +1 -1
- package/dist/pipeline-core/types.js +13 -52
- package/dist/pipeline-core/types.js.map +1 -1
- package/dist/pipeline-core/validate-capability.js +0 -3
- package/dist/pipeline-core/validate-capability.js.map +1 -1
- package/dist/pipeline-core/validate-conflicts.js +0 -9
- package/dist/pipeline-core/validate-conflicts.js.map +1 -1
- package/dist/pipeline-core/validate-dataflow.js +0 -17
- package/dist/pipeline-core/validate-dataflow.js.map +1 -1
- package/dist/pipeline-core/validate-diff.js +3 -36
- package/dist/pipeline-core/validate-diff.js.map +1 -1
- package/dist/pipeline-core/validate-edges.js +0 -6
- package/dist/pipeline-core/validate-edges.js.map +1 -1
- package/dist/pipeline-core/validate-graph.js +0 -11
- package/dist/pipeline-core/validate-graph.js.map +1 -1
- package/dist/pipeline-core/validate-loops.js +37 -44
- package/dist/pipeline-core/validate-loops.js.map +1 -1
- package/dist/pipeline-core/validate-parallel.js +9 -15
- package/dist/pipeline-core/validate-parallel.js.map +1 -1
- package/dist/pipeline-core/validate-sink.js +0 -7
- package/dist/pipeline-core/validate-sink.js.map +1 -1
- package/dist/pipeline-core/validate-topology.js +1 -20
- package/dist/pipeline-core/validate-topology.js.map +1 -1
- package/dist/pipeline-core/validate-verdict.js +52 -7
- package/dist/pipeline-core/validate-verdict.js.map +1 -1
- package/dist/pipeline-core/validate.js +5 -29
- package/dist/pipeline-core/validate.js.map +1 -1
- package/dist/playbook/catalog-loader.js +8 -3
- package/dist/playbook/catalog-loader.js.map +1 -1
- package/dist/playbook/import-mapper.js +1 -9
- package/dist/playbook/import-mapper.js.map +1 -1
- package/dist/poller/pr-readiness-core.js +0 -74
- package/dist/poller/pr-readiness-core.js.map +1 -1
- package/dist/revisium/inbox.service.js +0 -24
- package/dist/revisium/inbox.service.js.map +1 -1
- package/dist/revisium/playbooks.service.js +2 -4
- package/dist/revisium/playbooks.service.js.map +1 -1
- package/dist/revisium/revisium.module.js +0 -12
- package/dist/revisium/revisium.module.js.map +1 -1
- package/dist/revisium/roles.service.js +0 -6
- package/dist/revisium/roles.service.js.map +1 -1
- package/dist/revisium/run.service.js +1 -75
- package/dist/revisium/run.service.js.map +1 -1
- package/dist/revisium/tokens.js +0 -4
- package/dist/revisium/tokens.js.map +1 -1
- package/dist/run/append-event.js +0 -34
- package/dist/run/append-event.js.map +1 -1
- package/dist/run/block-run.js.map +1 -1
- package/dist/run/cancel-run.js +0 -33
- package/dist/run/cancel-run.js.map +1 -1
- package/dist/run/complete-run.js.map +1 -1
- package/dist/run/create-run.js +0 -7
- package/dist/run/create-run.js.map +1 -1
- package/dist/run/fail-run.js +0 -3
- package/dist/run/fail-run.js.map +1 -1
- package/dist/run/inspect-run.js +0 -26
- package/dist/run/inspect-run.js.map +1 -1
- package/dist/run/run-outputs.js +0 -19
- package/dist/run/run-outputs.js.map +1 -1
- package/dist/run/terminal-run-status.js +0 -12
- package/dist/run/terminal-run-status.js.map +1 -1
- package/dist/runners/claude-code.service.js +0 -11
- package/dist/runners/claude-code.service.js.map +1 -1
- package/dist/runners/codex.service.js +0 -9
- package/dist/runners/codex.service.js.map +1 -1
- package/dist/runners/gh-identity.js +0 -52
- package/dist/runners/gh-identity.js.map +1 -1
- package/dist/runners/integrator-branch-naming.js +3 -11
- package/dist/runners/integrator-branch-naming.js.map +1 -1
- package/dist/runners/integrator-git.js +0 -25
- package/dist/runners/integrator-git.js.map +1 -1
- package/dist/runners/integrator-remote.js +0 -2
- package/dist/runners/integrator-remote.js.map +1 -1
- package/dist/runners/integrator-types.js +0 -7
- package/dist/runners/integrator-types.js.map +1 -1
- package/dist/runners/integrator.js +3 -167
- package/dist/runners/integrator.js.map +1 -1
- package/dist/runners/runner.module.js +0 -6
- package/dist/runners/runner.module.js.map +1 -1
- package/dist/runners/tokens.js +0 -4
- package/dist/runners/tokens.js.map +1 -1
- package/dist/runners/worktree.service.js +1 -17
- package/dist/runners/worktree.service.js.map +1 -1
- package/dist/task-control-plane/run-watch.service.js +49 -173
- package/dist/task-control-plane/run-watch.service.js.map +1 -1
- package/dist/task-control-plane/task-control-plane-api.service.js +15 -17
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/dist/worker/build-context.js +0 -16
- package/dist/worker/build-context.js.map +1 -1
- package/dist/worker/claude-code-runner.js +9 -42
- package/dist/worker/claude-code-runner.js.map +1 -1
- package/dist/worker/codex-runner.js +88 -22
- package/dist/worker/codex-runner.js.map +1 -1
- package/dist/worker/git-worktree-manager.js +20 -67
- package/dist/worker/git-worktree-manager.js.map +1 -1
- package/dist/worker/process-executor.js +0 -12
- package/dist/worker/process-executor.js.map +1 -1
- package/dist/worker/result-envelope.js +33 -49
- package/dist/worker/result-envelope.js.map +1 -1
- package/dist/worker/runner-dispatch.js +0 -3
- package/dist/worker/runner-dispatch.js.map +1 -1
- package/dist/worker/runner.js.map +1 -1
- package/dist/worker/stub-runner.js +0 -7
- package/dist/worker/stub-runner.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -131,6 +131,7 @@ data directory, and DBOS database.
|
|
|
131
131
|
|
|
132
132
|
```sh
|
|
133
133
|
pnpm install
|
|
134
|
+
pnpm run build
|
|
134
135
|
pnpm run revo -- start --profile dev
|
|
135
136
|
pnpm run revo -- status --profile dev
|
|
136
137
|
pnpm run revo -- doctor --profile dev
|
|
@@ -148,16 +149,93 @@ pnpm run revo -- stop --profile dev
|
|
|
148
149
|
Explicit environment variables override the profile: `REVO_DATA_DIR`, `REVO_PORT`, `REVO_PG_PORT`,
|
|
149
150
|
`REVO_GRAPHQL_PORT`, and `REVO_DBOS_DB`.
|
|
150
151
|
|
|
152
|
+
### Build and globally install a local Revo
|
|
153
|
+
|
|
154
|
+
This workflow is for local development/testing of the CLI and MCP server, **not** for publishing a release.
|
|
155
|
+
|
|
156
|
+
**Build from the orchestrator checkout:**
|
|
157
|
+
|
|
158
|
+
```sh
|
|
159
|
+
pnpm install --frozen-lockfile
|
|
160
|
+
pnpm run build
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Pack a tarball** (preferred over a directory-symlink install):
|
|
164
|
+
|
|
165
|
+
```sh
|
|
166
|
+
npm pack --pack-destination /private/tmp
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
This emits `/private/tmp/revisium-orchestrator-0.0.0.tgz` (filename tracks `package.json` `version`).
|
|
170
|
+
|
|
171
|
+
**Identify the active Node prefix that owns the `revo` binary:**
|
|
172
|
+
|
|
173
|
+
```sh
|
|
174
|
+
which revo
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Resolve the symlink and pick the prefix that contains both `bin/revo` and
|
|
178
|
+
`lib/node_modules/@revisium/orchestrator`. `npm prefix -g` may point to a *different* prefix than the active
|
|
179
|
+
`revo` binary (common under nvm), so derive the prefix from `which revo`, not from `npm prefix -g`.
|
|
180
|
+
|
|
181
|
+
**Install the tarball globally into that prefix:**
|
|
182
|
+
|
|
183
|
+
```sh
|
|
184
|
+
npm install -g --prefix <active-node-prefix> /private/tmp/revisium-orchestrator-0.0.0.tgz
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
For nvm installs, the active prefix is usually the parent directory that contains both `bin/revo` and
|
|
188
|
+
`lib/node_modules/@revisium/orchestrator`. Use that prefix consistently for both `npm` and `revo`.
|
|
189
|
+
|
|
190
|
+
> **Warning:** do not use `npm install -g <local-dir>` from a temporary worktree. npm may install a symlink to
|
|
191
|
+
> that directory; if the worktree is later removed, the global `revo` binary breaks. The tarball install copies
|
|
192
|
+
> files and avoids this.
|
|
193
|
+
|
|
194
|
+
**Restart and verify health:**
|
|
195
|
+
|
|
196
|
+
```sh
|
|
197
|
+
revo restart
|
|
198
|
+
revo status
|
|
199
|
+
revo doctor
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Verify the MCP tool surface after a global tool/schema change:**
|
|
203
|
+
|
|
204
|
+
Restart the Codex session so MCP tool schemas are reloaded. `get_capabilities` should list:
|
|
205
|
+
`get_run_attention`, `get_run_status`, `get_run_digest`, `get_run_events`, `get_agent_activity`,
|
|
206
|
+
`get_agent_log`, `watch_run_changes`. Legacy observation tools are absent from the current contract.
|
|
207
|
+
|
|
208
|
+
If Codex cannot expose `mcp__revo` tools after restart, check `~/.codex/config.toml`: use an absolute path to
|
|
209
|
+
the active `revo` binary, for example `command = "<active-node-prefix>/bin/revo"`, rather than
|
|
210
|
+
`command = "revo"` — the Codex process PATH may not include nvm.
|
|
211
|
+
|
|
151
212
|
## Front Doors
|
|
152
213
|
|
|
153
214
|
`revo mcp` is the agent front door. It is a local stdio bridge to the daemon and exposes product-level tools for
|
|
154
215
|
runs, gates, repository diagnostics, method discovery, and PR readiness.
|
|
155
216
|
|
|
217
|
+
For source-iteration MCP testing, point the MCP client at the `pnpm run revo` script:
|
|
218
|
+
|
|
156
219
|
```sh
|
|
157
220
|
codex mcp add --env REVO_PROFILE=dev revo-dev -- pnpm --dir /abs/path/to/orchestrator run revo -- mcp
|
|
158
221
|
claude mcp add -e REVO_PROFILE=dev revo-dev -- pnpm --dir /abs/path/to/orchestrator run revo -- mcp
|
|
159
222
|
```
|
|
160
223
|
|
|
224
|
+
For testing the same built entrypoint that the package uses, point the MCP client at `bin/revo.js`:
|
|
225
|
+
|
|
226
|
+
```sh
|
|
227
|
+
pnpm run build
|
|
228
|
+
REVO_PROFILE=dev ./bin/revo.js restart --profile dev
|
|
229
|
+
REVO_PROFILE=dev ./bin/revo.js doctor --profile dev
|
|
230
|
+
codex mcp add --env REVO_PROFILE=dev revo-dev -- /abs/path/to/orchestrator/bin/revo.js mcp
|
|
231
|
+
claude mcp add -e REVO_PROFILE=dev revo-dev -- /abs/path/to/orchestrator/bin/revo.js mcp
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
`bin/revo.js` imports `dist/cli/index.js`, so it does not see source edits until `pnpm run build` runs. After
|
|
235
|
+
changing MCP tools or capabilities, rebuild, restart the `dev` stack, and reconnect or restart the MCP client session
|
|
236
|
+
so the client refreshes its tool list. A built MCP smoke should confirm `get_capabilities.tools` contains
|
|
237
|
+
`get_run_attention`, `get_run_status`, and `watch_run_changes`, with no legacy observation tools.
|
|
238
|
+
|
|
161
239
|
For the `dev` profile, GraphQL is available at `http://127.0.0.1:19623/graphql`.
|
|
162
240
|
|
|
163
241
|
## Verification
|
|
@@ -703,7 +703,7 @@
|
|
|
703
703
|
"level": {
|
|
704
704
|
"type": "string",
|
|
705
705
|
"default": "",
|
|
706
|
-
"description": "cheap|standard|deep"
|
|
706
|
+
"description": "cheap|standard|deep|codex-cheap|codex-standard|codex-deep"
|
|
707
707
|
},
|
|
708
708
|
"provider": {
|
|
709
709
|
"type": "string",
|
|
@@ -1017,6 +1017,48 @@
|
|
|
1017
1017
|
"updated_at": "2026-06-03T00:00:00.000Z"
|
|
1018
1018
|
}
|
|
1019
1019
|
},
|
|
1020
|
+
{
|
|
1021
|
+
"tableId": "model_profiles",
|
|
1022
|
+
"rowId": "codex-standard",
|
|
1023
|
+
"data": {
|
|
1024
|
+
"id": "codex-standard",
|
|
1025
|
+
"level": "codex-standard",
|
|
1026
|
+
"provider": "openai",
|
|
1027
|
+
"model_id": "gpt-5.5",
|
|
1028
|
+
"params": "{}",
|
|
1029
|
+
"cost_per_input": 2.0,
|
|
1030
|
+
"cost_per_output": 8.0,
|
|
1031
|
+
"updated_at": "2026-06-03T00:00:00.000Z"
|
|
1032
|
+
}
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
"tableId": "model_profiles",
|
|
1036
|
+
"rowId": "codex-cheap",
|
|
1037
|
+
"data": {
|
|
1038
|
+
"id": "codex-cheap",
|
|
1039
|
+
"level": "codex-cheap",
|
|
1040
|
+
"provider": "openai",
|
|
1041
|
+
"model_id": "gpt-5.5",
|
|
1042
|
+
"params": "{}",
|
|
1043
|
+
"cost_per_input": 2.0,
|
|
1044
|
+
"cost_per_output": 8.0,
|
|
1045
|
+
"updated_at": "2026-06-03T00:00:00.000Z"
|
|
1046
|
+
}
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
"tableId": "model_profiles",
|
|
1050
|
+
"rowId": "codex-deep",
|
|
1051
|
+
"data": {
|
|
1052
|
+
"id": "codex-deep",
|
|
1053
|
+
"level": "codex-deep",
|
|
1054
|
+
"provider": "openai",
|
|
1055
|
+
"model_id": "gpt-5.5",
|
|
1056
|
+
"params": "{}",
|
|
1057
|
+
"cost_per_input": 2.0,
|
|
1058
|
+
"cost_per_output": 8.0,
|
|
1059
|
+
"updated_at": "2026-06-03T00:00:00.000Z"
|
|
1060
|
+
}
|
|
1061
|
+
},
|
|
1020
1062
|
{
|
|
1021
1063
|
"tableId": "routing_policy",
|
|
1022
1064
|
"rowId": "pipeline",
|