@revisium/orchestrator 0.1.0-alpha.2 → 0.1.0-alpha.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.
- package/control-plane/bootstrap.config.json +47 -2
- package/control-plane/default-playbook/catalog/pipelines.json +329 -0
- package/control-plane/default-playbook/catalog/roles.json +56 -0
- package/control-plane/default-playbook/package.json +5 -0
- package/control-plane/default-playbook/playbook.json +13 -0
- package/control-plane/default-playbook/prompts/analyst.md +27 -0
- package/control-plane/default-playbook/prompts/developer.md +25 -0
- package/control-plane/default-playbook/prompts/integrator.md +20 -0
- package/control-plane/default-playbook/prompts/orchestrator.md +23 -0
- package/control-plane/default-playbook/prompts/reviewer.md +27 -0
- package/control-plane/default-playbook/prompts/watcher.md +24 -0
- package/dist/cli/commands/bootstrap.js +68 -7
- package/dist/cli/commands/bootstrap.js.map +1 -1
- package/dist/cli/commands/inbox.js +0 -21
- package/dist/cli/commands/inbox.js.map +1 -1
- package/dist/cli/commands/run.js +76 -49
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/needs-host.js +7 -8
- package/dist/cli/needs-host.js.map +1 -1
- package/dist/cli/program.js +0 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/config.js +18 -1
- package/dist/config.js.map +1 -1
- package/dist/control-plane/client-transport.js +73 -40
- package/dist/control-plane/client-transport.js.map +1 -1
- package/dist/control-plane/data-access.js +3 -2
- package/dist/control-plane/data-access.js.map +1 -1
- package/dist/control-plane/definitions.js +1 -1
- package/dist/control-plane/definitions.js.map +1 -1
- package/dist/control-plane/json-fields.js +1 -0
- package/dist/control-plane/json-fields.js.map +1 -1
- package/dist/control-plane/schema-migration.js +79 -0
- package/dist/control-plane/schema-migration.js.map +1 -0
- package/dist/control-plane/seed-default-playbook.js +71 -0
- package/dist/control-plane/seed-default-playbook.js.map +1 -0
- package/dist/e2e/kit/agents.js +113 -0
- package/dist/e2e/kit/agents.js.map +1 -0
- package/dist/e2e/kit/assertions.js +119 -0
- package/dist/e2e/kit/assertions.js.map +1 -0
- package/dist/e2e/kit/crash.js +44 -0
- package/dist/e2e/kit/crash.js.map +1 -0
- package/dist/e2e/kit/drive.js +49 -0
- package/dist/e2e/kit/drive.js.map +1 -0
- package/dist/e2e/kit/env.js +16 -0
- package/dist/e2e/kit/env.js.map +1 -0
- package/dist/e2e/kit/fake-integrator.js +42 -0
- package/dist/e2e/kit/fake-integrator.js.map +1 -0
- package/dist/e2e/kit/gh-emulator.js +49 -0
- package/dist/e2e/kit/gh-emulator.js.map +1 -0
- package/dist/e2e/kit/git-target-repo.js +83 -0
- package/dist/e2e/kit/git-target-repo.js.map +1 -0
- package/dist/e2e/kit/harness.js +59 -0
- package/dist/e2e/kit/harness.js.map +1 -0
- package/dist/e2e/kit/index.js +14 -0
- package/dist/e2e/kit/index.js.map +1 -0
- package/dist/e2e/kit/mcp.js +32 -0
- package/dist/e2e/kit/mcp.js.map +1 -0
- package/dist/e2e/kit/scenarios.js +196 -0
- package/dist/e2e/kit/scenarios.js.map +1 -0
- package/dist/e2e/recovery-crash-child.js +29 -0
- package/dist/e2e/recovery-crash-child.js.map +1 -0
- package/dist/e2e/recovery-dd-crash-child.js +42 -0
- package/dist/e2e/recovery-dd-crash-child.js.map +1 -0
- package/dist/engine/ensure-postgres.js +13 -1
- package/dist/engine/ensure-postgres.js.map +1 -1
- package/dist/mcp/mcp-capabilities.js +1 -0
- package/dist/mcp/mcp-capabilities.js.map +1 -1
- package/dist/mcp/mcp-facade.service.js +24 -3
- package/dist/mcp/mcp-facade.service.js.map +1 -1
- package/dist/mcp/mcp-tools.js +16 -7
- package/dist/mcp/mcp-tools.js.map +1 -1
- package/dist/pipeline/data-driven-task.workflow.js +403 -0
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -0
- package/dist/pipeline/data-driven-template.js +57 -0
- package/dist/pipeline/data-driven-template.js.map +1 -0
- package/dist/pipeline/develop-task.workflow.js +150 -316
- package/dist/pipeline/develop-task.workflow.js.map +1 -1
- package/dist/pipeline/pipeline.module.js +1 -1
- package/dist/pipeline/route-contract.js +82 -0
- package/dist/pipeline/route-contract.js.map +1 -0
- package/dist/pipeline-core/index.js +16 -0
- package/dist/pipeline-core/index.js.map +1 -0
- package/dist/pipeline-core/interpret.js +351 -0
- package/dist/pipeline-core/interpret.js.map +1 -0
- package/dist/pipeline-core/kit/assertions.js +61 -0
- package/dist/pipeline-core/kit/assertions.js.map +1 -0
- package/dist/pipeline-core/kit/builders.js +134 -0
- package/dist/pipeline-core/kit/builders.js.map +1 -0
- package/dist/pipeline-core/kit/drive.js +96 -0
- package/dist/pipeline-core/kit/drive.js.map +1 -0
- package/dist/pipeline-core/kit/fixtures.js +248 -0
- package/dist/pipeline-core/kit/fixtures.js.map +1 -0
- package/dist/pipeline-core/kit/index.js +13 -0
- package/dist/pipeline-core/kit/index.js.map +1 -0
- package/dist/pipeline-core/types.js +124 -0
- package/dist/pipeline-core/types.js.map +1 -0
- package/dist/pipeline-core/validate.js +1032 -0
- package/dist/pipeline-core/validate.js.map +1 -0
- package/dist/playbook/catalog-loader.js +14 -1
- package/dist/playbook/catalog-loader.js.map +1 -1
- package/dist/playbook/import-mapper.js +14 -38
- package/dist/playbook/import-mapper.js.map +1 -1
- package/dist/playbook/manifest.js +1 -1
- package/dist/revisium/playbooks.service.js +95 -17
- package/dist/revisium/playbooks.service.js.map +1 -1
- package/dist/revisium/roles.service.js +1 -1
- package/dist/revisium/roles.service.js.map +1 -1
- package/dist/revisium/run.service.js +8 -0
- package/dist/revisium/run.service.js.map +1 -1
- package/dist/run/append-event.js +24 -1
- package/dist/run/append-event.js.map +1 -1
- package/dist/run/block-run.js +17 -0
- package/dist/run/block-run.js.map +1 -0
- package/dist/run/create-run.js +28 -5
- package/dist/run/create-run.js.map +1 -1
- package/dist/run/inspect-run.js +9 -0
- package/dist/run/inspect-run.js.map +1 -1
- package/dist/run/terminal-run-status.js +89 -7
- package/dist/run/terminal-run-status.js.map +1 -1
- package/dist/runners/claude-code.service.js +4 -0
- package/dist/runners/claude-code.service.js.map +1 -1
- package/dist/runners/integrator.js +25 -9
- package/dist/runners/integrator.js.map +1 -1
- package/dist/task-control-plane/task-control-plane-api.service.js +247 -28
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/dist/worker/artifact-store.js +111 -0
- package/dist/worker/artifact-store.js.map +1 -0
- package/dist/worker/claude-code-runner.js +44 -5
- package/dist/worker/claude-code-runner.js.map +1 -1
- package/dist/worker/process-executor.js +23 -2
- package/dist/worker/process-executor.js.map +1 -1
- package/dist/worker/runner-dispatch.js +1 -0
- package/dist/worker/runner-dispatch.js.map +1 -1
- package/dist/worker/runner.js +11 -1
- package/dist/worker/runner.js.map +1 -1
- package/dist/worker/stub-runner.js +7 -45
- package/dist/worker/stub-runner.js.map +1 -1
- package/package.json +3 -1
- package/dist/cli/commands/work.js +0 -149
- package/dist/cli/commands/work.js.map +0 -1
- package/dist/worker/git-worktree-manager.js +0 -84
- package/dist/worker/git-worktree-manager.js.map +0 -1
- package/dist/worker/loop.js +0 -122
- package/dist/worker/loop.js.map +0 -1
- package/dist/worker/script-runner.js +0 -28
- package/dist/worker/script-runner.js.map +0 -1
- package/dist/worker/worker-id.js +0 -18
- package/dist/worker/worker-id.js.map +0 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pipeline-core/types.ts — the pure, framework-free data model for plan 0015.
|
|
3
|
+
*
|
|
4
|
+
* Spec: docs/plans/0015-pipeline-state-machine.md (§1 nodes, §3 transitions+guards, §4 fork/join,
|
|
5
|
+
* §6 failure model, §7 scoped counters, §8 verdicts, §10 Decision + RunState).
|
|
6
|
+
*
|
|
7
|
+
* ZERO imports from NestJS / DBOS / Revisium / runners / any I/O. Everything here is plain data.
|
|
8
|
+
*/
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
|
+
// §8 Verdicts — two tiers
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
/**
|
|
13
|
+
* CORE verdicts are carried by `specVersion` (§8). The engine acts on these STRUCTURALLY
|
|
14
|
+
* (catch / onFailure / terminal / timeout) — they NEVER appear in a branch guard (§3/§6).
|
|
15
|
+
*/
|
|
16
|
+
export const CORE_VERDICTS = ['succeeded', 'failed', 'errored', 'timed_out'];
|
|
17
|
+
/** Terminal run statuses a `terminal` node may carry, and the `complete` Decision reports (§1/§10). */
|
|
18
|
+
export const TERMINAL_STATUSES = ['succeeded', 'failed', 'blocked'];
|
|
19
|
+
/** Every `Condition` op tag — used by validation to reject anything outside the v1 grammar. */
|
|
20
|
+
export const CONDITION_OPS = [
|
|
21
|
+
'verdict.eq',
|
|
22
|
+
'verdict.in',
|
|
23
|
+
'counter.lt',
|
|
24
|
+
'counter.gte',
|
|
25
|
+
'all',
|
|
26
|
+
'any',
|
|
27
|
+
'not',
|
|
28
|
+
];
|
|
29
|
+
export function isDefaultBranch(b) {
|
|
30
|
+
return 'default' in b;
|
|
31
|
+
}
|
|
32
|
+
export function isGuardedBranch(b) {
|
|
33
|
+
return 'when' in b;
|
|
34
|
+
}
|
|
35
|
+
export const FAILURE_POLICIES = ['abort', 'route', 'escalate'];
|
|
36
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
37
|
+
// §1/§3/§4 Node — the closed 8-kind discriminated union.
|
|
38
|
+
//
|
|
39
|
+
// Node ids, scope ids, role/script capability handles and result-schema handles are all plain
|
|
40
|
+
// strings; the field and parameter names below carry their domain meaning. (A roleRef/scriptRef is an
|
|
41
|
+
// opaque capability handle the adapter resolves — the engine holds no role-ids, §1; a resultSchema is
|
|
42
|
+
// validated at the ADAPTER boundary, never in the core, §10.)
|
|
43
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
44
|
+
export const NODE_KINDS = [
|
|
45
|
+
'agent',
|
|
46
|
+
'script',
|
|
47
|
+
'humanGate',
|
|
48
|
+
'choice',
|
|
49
|
+
'parallel',
|
|
50
|
+
'join',
|
|
51
|
+
'wait',
|
|
52
|
+
'terminal',
|
|
53
|
+
];
|
|
54
|
+
export const JOIN_MODE_KINDS = ['all', 'any', 'quorum'];
|
|
55
|
+
export const MERGE_REDUCERS = ['overwrite', 'appendByBranchOrder'];
|
|
56
|
+
/** True for a well-formed reserved engine error code. */
|
|
57
|
+
export function isRevoErrorCode(value) {
|
|
58
|
+
return /^revo\.[A-Za-z][A-Za-z0-9]*$/.test(value);
|
|
59
|
+
}
|
|
60
|
+
/** Stable diagnostic codes — one per §12 rule (+ sub-codes), referenced by tests and the adapter. */
|
|
61
|
+
export const DIAGNOSTIC_CODES = [
|
|
62
|
+
// 1 single entry
|
|
63
|
+
'ENTRY_MISSING',
|
|
64
|
+
'ENTRY_UNRESOLVED',
|
|
65
|
+
// 2 references resolve
|
|
66
|
+
'REF_UNRESOLVED',
|
|
67
|
+
// 3 terminals / non-terminals
|
|
68
|
+
'TERMINAL_BAD_STATUS',
|
|
69
|
+
'TERMINAL_HAS_EXIT',
|
|
70
|
+
'NONTERMINAL_NO_EXIT',
|
|
71
|
+
// 4 total routing
|
|
72
|
+
'ROUTING_NO_DEFAULT',
|
|
73
|
+
'ROUTING_GUARD_AFTER_DEFAULT',
|
|
74
|
+
'ROUTING_MULTIPLE_DEFAULT',
|
|
75
|
+
// 5 reachability
|
|
76
|
+
'UNREACHABLE_NODE',
|
|
77
|
+
// 6 loop-cap presence
|
|
78
|
+
'LOOP_UNBOUNDED',
|
|
79
|
+
// 7 counter-scope well-formedness
|
|
80
|
+
'SCOPE_UNDECLARED',
|
|
81
|
+
'SCOPE_PARENT_UNRESOLVED',
|
|
82
|
+
'SCOPE_CYCLE',
|
|
83
|
+
'SCOPE_NOT_STRICT_ANCESTOR',
|
|
84
|
+
'SCOPE_SPANS_PARALLEL',
|
|
85
|
+
// 8 parallel/join well-formedness
|
|
86
|
+
'PARALLEL_JOIN_UNRESOLVED',
|
|
87
|
+
'PARALLEL_JOIN_KIND',
|
|
88
|
+
'JOIN_MULTIPLE_PARALLELS',
|
|
89
|
+
'BRANCH_MEMBERSHIP',
|
|
90
|
+
'BRANCH_CROSS_GOTO',
|
|
91
|
+
'JOIN_UNREACHABLE_BRANCH',
|
|
92
|
+
'QUORUM_K_GT_N',
|
|
93
|
+
'MERGE_MISSING',
|
|
94
|
+
'MERGE_LASTWRITE_REJECTED',
|
|
95
|
+
// 9 verdict-vocabulary closure
|
|
96
|
+
'VERDICT_UNDECLARED',
|
|
97
|
+
'VERDICT_CORE_IN_GUARD',
|
|
98
|
+
'VERDICT_DOMAIN_SHADOWS_CORE',
|
|
99
|
+
'VERDICT_DECLARED_UNUSED',
|
|
100
|
+
'GATE_OUTCOME_NOT_SUBSET',
|
|
101
|
+
// 10 conflict-matrix
|
|
102
|
+
'CONFLICT_SAME_ACTOR',
|
|
103
|
+
'CONFLICT_REF_INVALID',
|
|
104
|
+
// 11 id/namespace hygiene
|
|
105
|
+
'ID_DUPLICATE',
|
|
106
|
+
'ID_BAD_PATTERN',
|
|
107
|
+
'REVO_CODE_COLLIDES_VERDICT',
|
|
108
|
+
// 12 capability-ref shape
|
|
109
|
+
'CAPABILITY_REF_SHAPE',
|
|
110
|
+
// 6 failure policy well-formedness (validated structurally alongside refs)
|
|
111
|
+
'FAILURE_ROUTE_NO_CATCH',
|
|
112
|
+
'FAILURE_ESCALATE_NO_TARGET',
|
|
113
|
+
'CATCH_BAD_CODE',
|
|
114
|
+
// grammar / shape sanity (feeds rules 2/4/9 — a malformed Condition can't be evaluated)
|
|
115
|
+
'CONDITION_BAD_OP',
|
|
116
|
+
'CONDITION_BAD_SHAPE',
|
|
117
|
+
// 13 diff classifier
|
|
118
|
+
'DIFF_UNCLASSIFIED',
|
|
119
|
+
'DIFF_NODE_DELETED',
|
|
120
|
+
'DIFF_NODE_KIND_CHANGED',
|
|
121
|
+
'DIFF_NODE_TOPOLOGY_CHANGED',
|
|
122
|
+
'DIFF_ID_REUSED_INCOMPATIBLE',
|
|
123
|
+
];
|
|
124
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline-core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAGtF,uGAAuG;AACvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAoB7E,+FAA+F;AAC/F,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAaX,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,SAAS,IAAI,CAAC,CAAC;AACxB,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,MAAM,IAAI,CAAC,CAAC;AACrB,CAAC;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAKxE,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,8FAA8F;AAC9F,sGAAsG;AACtG,sGAAsG;AACtG,8DAA8D;AAC9D,gFAAgF;AAEhF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,UAAU;CACF,CAAC;AAiDX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAC;AAGjE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAU,CAAC;AA0D5E,yDAAyD;AACzD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC;AAqFD,qGAAqG;AACrG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,uBAAuB;IACvB,gBAAgB;IAChB,8BAA8B;IAC9B,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,0BAA0B;IAC1B,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;IACtB,gBAAgB;IAChB,kCAAkC;IAClC,kBAAkB;IAClB,yBAAyB;IACzB,aAAa;IACb,2BAA2B;IAC3B,sBAAsB;IACtB,kCAAkC;IAClC,0BAA0B;IAC1B,oBAAoB;IACpB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,yBAAyB;IACzB,eAAe;IACf,eAAe;IACf,0BAA0B;IAC1B,+BAA+B;IAC/B,oBAAoB;IACpB,uBAAuB;IACvB,6BAA6B;IAC7B,yBAAyB;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,0BAA0B;IAC1B,cAAc;IACd,gBAAgB;IAChB,4BAA4B;IAC5B,0BAA0B;IAC1B,sBAAsB;IACtB,2EAA2E;IAC3E,wBAAwB;IACxB,4BAA4B;IAC5B,gBAAgB;IAChB,wFAAwF;IACxF,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,wBAAwB;IACxB,4BAA4B;IAC5B,6BAA6B;CACrB,CAAC"}
|