@chllming/wave-orchestration 0.5.1
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/CHANGELOG.md +41 -0
- package/README.md +549 -0
- package/docs/agents/wave-deploy-verifier-role.md +34 -0
- package/docs/agents/wave-documentation-role.md +30 -0
- package/docs/agents/wave-evaluator-role.md +43 -0
- package/docs/agents/wave-infra-role.md +34 -0
- package/docs/agents/wave-integration-role.md +32 -0
- package/docs/agents/wave-launcher-role.md +37 -0
- package/docs/context7/bundles.json +91 -0
- package/docs/plans/component-cutover-matrix.json +112 -0
- package/docs/plans/component-cutover-matrix.md +49 -0
- package/docs/plans/context7-wave-orchestrator.md +130 -0
- package/docs/plans/current-state.md +44 -0
- package/docs/plans/master-plan.md +16 -0
- package/docs/plans/migration.md +23 -0
- package/docs/plans/wave-orchestrator.md +254 -0
- package/docs/plans/waves/wave-0.md +165 -0
- package/docs/reference/github-packages-setup.md +52 -0
- package/docs/reference/migration-0.2-to-0.5.md +622 -0
- package/docs/reference/npmjs-trusted-publishing.md +55 -0
- package/docs/reference/repository-guidance.md +18 -0
- package/docs/reference/runtime-config/README.md +85 -0
- package/docs/reference/runtime-config/claude.md +105 -0
- package/docs/reference/runtime-config/codex.md +81 -0
- package/docs/reference/runtime-config/opencode.md +93 -0
- package/docs/research/agent-context-sources.md +57 -0
- package/docs/roadmap.md +626 -0
- package/package.json +53 -0
- package/releases/manifest.json +101 -0
- package/scripts/context7-api-check.sh +21 -0
- package/scripts/context7-export-env.sh +52 -0
- package/scripts/research/agent-context-archive.mjs +472 -0
- package/scripts/research/generate-agent-context-indexes.mjs +85 -0
- package/scripts/research/import-agent-context-archive.mjs +793 -0
- package/scripts/research/manifests/harness-and-blackboard-2026-03-21.mjs +201 -0
- package/scripts/wave-autonomous.mjs +13 -0
- package/scripts/wave-cli-bootstrap.mjs +27 -0
- package/scripts/wave-dashboard.mjs +11 -0
- package/scripts/wave-human-feedback.mjs +11 -0
- package/scripts/wave-launcher.mjs +11 -0
- package/scripts/wave-local-executor.mjs +13 -0
- package/scripts/wave-orchestrator/agent-state.mjs +416 -0
- package/scripts/wave-orchestrator/autonomous.mjs +367 -0
- package/scripts/wave-orchestrator/clarification-triage.mjs +605 -0
- package/scripts/wave-orchestrator/config.mjs +848 -0
- package/scripts/wave-orchestrator/context7.mjs +464 -0
- package/scripts/wave-orchestrator/coord-cli.mjs +286 -0
- package/scripts/wave-orchestrator/coordination-store.mjs +987 -0
- package/scripts/wave-orchestrator/coordination.mjs +768 -0
- package/scripts/wave-orchestrator/dashboard-renderer.mjs +254 -0
- package/scripts/wave-orchestrator/dashboard-state.mjs +473 -0
- package/scripts/wave-orchestrator/dep-cli.mjs +219 -0
- package/scripts/wave-orchestrator/docs-queue.mjs +75 -0
- package/scripts/wave-orchestrator/executors.mjs +385 -0
- package/scripts/wave-orchestrator/feedback.mjs +372 -0
- package/scripts/wave-orchestrator/install.mjs +540 -0
- package/scripts/wave-orchestrator/launcher.mjs +3879 -0
- package/scripts/wave-orchestrator/ledger.mjs +332 -0
- package/scripts/wave-orchestrator/local-executor.mjs +263 -0
- package/scripts/wave-orchestrator/replay.mjs +246 -0
- package/scripts/wave-orchestrator/roots.mjs +10 -0
- package/scripts/wave-orchestrator/routing-state.mjs +542 -0
- package/scripts/wave-orchestrator/shared.mjs +405 -0
- package/scripts/wave-orchestrator/terminals.mjs +209 -0
- package/scripts/wave-orchestrator/traces.mjs +1094 -0
- package/scripts/wave-orchestrator/wave-files.mjs +1923 -0
- package/scripts/wave.mjs +103 -0
- package/wave.config.json +115 -0
package/scripts/wave.mjs
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { bootstrapWaveArgs } from "./wave-cli-bootstrap.mjs";
|
|
4
|
+
|
|
5
|
+
const argv = bootstrapWaveArgs(process.argv.slice(2));
|
|
6
|
+
const subcommand = String(argv[0] || "")
|
|
7
|
+
.trim()
|
|
8
|
+
.toLowerCase();
|
|
9
|
+
const rest = argv.slice(1);
|
|
10
|
+
|
|
11
|
+
function printHelp() {
|
|
12
|
+
console.log(`Usage:
|
|
13
|
+
wave init [options]
|
|
14
|
+
wave upgrade [options]
|
|
15
|
+
wave changelog [options]
|
|
16
|
+
wave doctor [options]
|
|
17
|
+
wave launch [launcher options]
|
|
18
|
+
wave autonomous [autonomous options]
|
|
19
|
+
wave feedback [feedback options]
|
|
20
|
+
wave dashboard [dashboard options]
|
|
21
|
+
wave local [local executor options]
|
|
22
|
+
wave coord [coordination options]
|
|
23
|
+
wave dep [dependency options]
|
|
24
|
+
|
|
25
|
+
Global options:
|
|
26
|
+
--repo-root <path> Run the command against a target workspace root
|
|
27
|
+
`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (!subcommand || subcommand === "--help" || subcommand === "-h" || subcommand === "help") {
|
|
31
|
+
printHelp();
|
|
32
|
+
process.exit(0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (["init", "upgrade", "changelog", "doctor"].includes(subcommand)) {
|
|
36
|
+
try {
|
|
37
|
+
const { runInstallCli } = await import("./wave-orchestrator/install.mjs");
|
|
38
|
+
await runInstallCli([subcommand, ...rest]);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
41
|
+
process.exit(Number.isInteger(error?.exitCode) ? error.exitCode : 1);
|
|
42
|
+
}
|
|
43
|
+
} else if (subcommand === "launch") {
|
|
44
|
+
try {
|
|
45
|
+
const { runLauncherCli } = await import("./wave-orchestrator/launcher.mjs");
|
|
46
|
+
await runLauncherCli(rest);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
49
|
+
process.exit(Number.isInteger(error?.exitCode) ? error.exitCode : 1);
|
|
50
|
+
}
|
|
51
|
+
} else if (subcommand === "autonomous") {
|
|
52
|
+
const { runAutonomousCli } = await import("./wave-orchestrator/autonomous.mjs");
|
|
53
|
+
try {
|
|
54
|
+
runAutonomousCli(rest);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
} else if (subcommand === "feedback") {
|
|
60
|
+
try {
|
|
61
|
+
const { runFeedbackCli } = await import("./wave-orchestrator/feedback.mjs");
|
|
62
|
+
await runFeedbackCli(rest);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
} else if (subcommand === "dashboard") {
|
|
68
|
+
try {
|
|
69
|
+
const { runDashboardCli } = await import("./wave-orchestrator/dashboard-renderer.mjs");
|
|
70
|
+
await runDashboardCli(rest);
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
} else if (subcommand === "local") {
|
|
76
|
+
const { runLocalExecutorCli } = await import("./wave-orchestrator/local-executor.mjs");
|
|
77
|
+
try {
|
|
78
|
+
runLocalExecutorCli(rest);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
} else if (subcommand === "coord") {
|
|
84
|
+
try {
|
|
85
|
+
const { runCoordinationCli } = await import("./wave-orchestrator/coord-cli.mjs");
|
|
86
|
+
await runCoordinationCli(rest);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
} else if (subcommand === "dep") {
|
|
92
|
+
try {
|
|
93
|
+
const { runDependencyCli } = await import("./wave-orchestrator/dep-cli.mjs");
|
|
94
|
+
await runDependencyCli(rest);
|
|
95
|
+
} catch (error) {
|
|
96
|
+
console.error(`[wave] ${error instanceof Error ? error.message : String(error)}`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
} else {
|
|
100
|
+
console.error(`[wave] Unknown subcommand: ${subcommand}`);
|
|
101
|
+
printHelp();
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
package/wave.config.json
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"projectName": "Wave Orchestration",
|
|
4
|
+
"repoMode": "single-repo",
|
|
5
|
+
"defaultLane": "main",
|
|
6
|
+
"paths": {
|
|
7
|
+
"docsDir": "docs",
|
|
8
|
+
"stateRoot": ".tmp",
|
|
9
|
+
"orchestratorStateDir": ".tmp/wave-orchestrator",
|
|
10
|
+
"terminalsPath": ".vscode/terminals.json",
|
|
11
|
+
"context7BundleIndexPath": "docs/context7/bundles.json",
|
|
12
|
+
"componentCutoverMatrixDocPath": "docs/plans/component-cutover-matrix.md",
|
|
13
|
+
"componentCutoverMatrixJsonPath": "docs/plans/component-cutover-matrix.json"
|
|
14
|
+
},
|
|
15
|
+
"roles": {
|
|
16
|
+
"rolePromptDir": "docs/agents",
|
|
17
|
+
"evaluatorAgentId": "A0",
|
|
18
|
+
"integrationAgentId": "A8",
|
|
19
|
+
"documentationAgentId": "A9",
|
|
20
|
+
"evaluatorRolePromptPath": "docs/agents/wave-evaluator-role.md",
|
|
21
|
+
"integrationRolePromptPath": "docs/agents/wave-integration-role.md",
|
|
22
|
+
"documentationRolePromptPath": "docs/agents/wave-documentation-role.md"
|
|
23
|
+
},
|
|
24
|
+
"executors": {
|
|
25
|
+
"default": "codex",
|
|
26
|
+
"profiles": {
|
|
27
|
+
"implement-fast": {
|
|
28
|
+
"id": "codex",
|
|
29
|
+
"tags": ["implementation"],
|
|
30
|
+
"budget": {
|
|
31
|
+
"turns": 12,
|
|
32
|
+
"minutes": 45
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"deep-review": {
|
|
36
|
+
"id": "claude",
|
|
37
|
+
"tags": ["integration", "review"],
|
|
38
|
+
"budget": {
|
|
39
|
+
"turns": 10,
|
|
40
|
+
"minutes": 30
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"docs-pass": {
|
|
44
|
+
"id": "claude",
|
|
45
|
+
"tags": ["documentation"],
|
|
46
|
+
"budget": {
|
|
47
|
+
"turns": 8,
|
|
48
|
+
"minutes": 20
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"ops-triage": {
|
|
52
|
+
"id": "opencode",
|
|
53
|
+
"tags": ["ops", "research"],
|
|
54
|
+
"budget": {
|
|
55
|
+
"turns": 8,
|
|
56
|
+
"minutes": 20
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"codex": {
|
|
61
|
+
"command": "codex",
|
|
62
|
+
"sandbox": "danger-full-access"
|
|
63
|
+
},
|
|
64
|
+
"claude": {
|
|
65
|
+
"command": "claude",
|
|
66
|
+
"appendSystemPromptMode": "append",
|
|
67
|
+
"outputFormat": "text"
|
|
68
|
+
},
|
|
69
|
+
"opencode": {
|
|
70
|
+
"command": "opencode",
|
|
71
|
+
"format": "default"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"sharedPlanDocs": [
|
|
75
|
+
"docs/plans/current-state.md",
|
|
76
|
+
"docs/plans/master-plan.md",
|
|
77
|
+
"docs/plans/migration.md"
|
|
78
|
+
],
|
|
79
|
+
"validation": {
|
|
80
|
+
"requiredPromptReferences": [
|
|
81
|
+
"docs/reference/repository-guidance.md",
|
|
82
|
+
"docs/research/agent-context-sources.md"
|
|
83
|
+
],
|
|
84
|
+
"requireDocumentationStewardFromWave": 0,
|
|
85
|
+
"requireContext7DeclarationsFromWave": 6,
|
|
86
|
+
"requireExitContractsFromWave": 6,
|
|
87
|
+
"requireIntegrationStewardFromWave": 0,
|
|
88
|
+
"requireComponentPromotionsFromWave": 0,
|
|
89
|
+
"requireAgentComponentsFromWave": 0
|
|
90
|
+
},
|
|
91
|
+
"capabilityRouting": {
|
|
92
|
+
"preferredAgents": {}
|
|
93
|
+
},
|
|
94
|
+
"lanes": {
|
|
95
|
+
"main": {
|
|
96
|
+
"runtimePolicy": {
|
|
97
|
+
"runtimeMixTargets": {
|
|
98
|
+
"codex": 3,
|
|
99
|
+
"claude": 3,
|
|
100
|
+
"opencode": 2
|
|
101
|
+
},
|
|
102
|
+
"defaultExecutorByRole": {
|
|
103
|
+
"implementation": "codex",
|
|
104
|
+
"integration": "claude",
|
|
105
|
+
"documentation": "claude",
|
|
106
|
+
"evaluator": "claude",
|
|
107
|
+
"research": "opencode",
|
|
108
|
+
"infra": "opencode",
|
|
109
|
+
"deploy": "opencode"
|
|
110
|
+
},
|
|
111
|
+
"fallbackExecutorOrder": ["claude", "opencode", "codex"]
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|