@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
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
export const paperManifest = [
|
|
2
|
+
{
|
|
3
|
+
title: "Harness engineering: leveraging Codex in an agent-first world",
|
|
4
|
+
slug: "harness-engineering-leveraging-codex-in-an-agent-first-world",
|
|
5
|
+
kind: "article",
|
|
6
|
+
year: 2026,
|
|
7
|
+
venue: "OpenAI",
|
|
8
|
+
researchBucket: "Practice and harness patterns",
|
|
9
|
+
mapsTo: "Reviewer loops, agent legibility, repository-as-record, and environment design for agent-first teams.",
|
|
10
|
+
fit: "Direct practical guidance for designing a long-running coding-agent harness around explicit feedback loops instead of prompt-only control.",
|
|
11
|
+
sourcePage: "https://openai.com/index/harness-engineering/",
|
|
12
|
+
textSourceUrl: "https://r.jina.ai/http://https://openai.com/index/harness-engineering/",
|
|
13
|
+
textSourceFormat: "jina-markdown",
|
|
14
|
+
textStartMarker: "February 11, 2026",
|
|
15
|
+
skipSourcePageFetch: true,
|
|
16
|
+
notes:
|
|
17
|
+
"Extracted text fetched via r.jina.ai because the canonical OpenAI page blocks automated retrieval.",
|
|
18
|
+
topics: ["harnesses-and-practice"],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: "Unlocking the Codex harness: how we built the App Server",
|
|
22
|
+
slug: "unlocking-the-codex-harness-how-we-built-the-app-server",
|
|
23
|
+
kind: "article",
|
|
24
|
+
year: 2026,
|
|
25
|
+
venue: "OpenAI",
|
|
26
|
+
researchBucket: "Practice and harness patterns",
|
|
27
|
+
mapsTo: "Shared protocol design, workspace exploration, progress streaming, and diff emission across Codex clients.",
|
|
28
|
+
fit: "Useful for standardizing a reusable harness protocol instead of coupling orchestration behavior to one client surface.",
|
|
29
|
+
sourcePage: "https://openai.com/index/unlocking-the-codex-harness/",
|
|
30
|
+
textSourceUrl:
|
|
31
|
+
"https://r.jina.ai/http://https://openai.com/index/unlocking-the-codex-harness/",
|
|
32
|
+
textSourceFormat: "jina-markdown",
|
|
33
|
+
textStartMarker: "February 4, 2026",
|
|
34
|
+
skipSourcePageFetch: true,
|
|
35
|
+
notes:
|
|
36
|
+
"Extracted text fetched via r.jina.ai because the canonical OpenAI page blocks automated retrieval.",
|
|
37
|
+
topics: ["harnesses-and-practice"],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
title: "Effective harnesses for long-running agents",
|
|
41
|
+
slug: "effective-harnesses-for-long-running-agents",
|
|
42
|
+
kind: "article",
|
|
43
|
+
preferHtml: true,
|
|
44
|
+
year: 2025,
|
|
45
|
+
venue: "Anthropic Engineering",
|
|
46
|
+
researchBucket: "Practice and harness patterns",
|
|
47
|
+
mapsTo: "Initializers, resumability, artifact discipline, and long-running harness ergonomics.",
|
|
48
|
+
fit: "Documents the operational patterns that make long-running agents inspectable and recoverable.",
|
|
49
|
+
sourcePage: "https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",
|
|
50
|
+
topics: ["harnesses-and-practice", "long-running-agents-and-compaction"],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
title:
|
|
54
|
+
"Building Effective AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering, and Lessons Learned",
|
|
55
|
+
slug: "building-effective-ai-coding-agents-for-the-terminal-scaffolding-harness-context-engineering-and-lessons-learned",
|
|
56
|
+
kind: "paper",
|
|
57
|
+
year: 2026,
|
|
58
|
+
venue: "arXiv 2603.05344",
|
|
59
|
+
researchBucket: "P0 direct hits",
|
|
60
|
+
mapsTo: "Terminal-native agent scaffolding, harness construction, and context engineering for long-running coding work.",
|
|
61
|
+
fit: "One of the closest research-style papers to the repo's terminal-first orchestration goals.",
|
|
62
|
+
sourcePage: "https://arxiv.org/abs/2603.05344",
|
|
63
|
+
sourcePdf: "https://arxiv.org/pdf/2603.05344.pdf",
|
|
64
|
+
topics: ["harnesses-and-practice", "long-running-agents-and-compaction"],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
title: "VeRO: An Evaluation Harness for Agents to Optimize Agents",
|
|
68
|
+
slug: "vero-an-evaluation-harness-for-agents-to-optimize-agents",
|
|
69
|
+
kind: "paper",
|
|
70
|
+
authors: "Varun Ursekar, Apaar Shanker, Veronica Chatrath, Yuan (Emily) Xue, Sam Denton",
|
|
71
|
+
year: 2026,
|
|
72
|
+
venue: "arXiv 2602.22480",
|
|
73
|
+
researchBucket: "P0 direct hits",
|
|
74
|
+
mapsTo: "Versioned traces, controlled budgets, and reproducible edit-execute-evaluate loops.",
|
|
75
|
+
fit: "Anchors harness design in experimental infrastructure instead of ad hoc runtime glue.",
|
|
76
|
+
sourcePage: "https://arxiv.org/abs/2602.22480",
|
|
77
|
+
sourcePdf: "https://arxiv.org/pdf/2602.22480.pdf",
|
|
78
|
+
topics: ["long-running-agents-and-compaction", "repo-context-and-evaluation"],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
title: "EvoClaw: Evaluating AI Agents on Continuous Software Evolution",
|
|
82
|
+
slug: "evoclaw-evaluating-ai-agents-on-continuous-software-evolution",
|
|
83
|
+
kind: "paper",
|
|
84
|
+
year: 2026,
|
|
85
|
+
venue: "arXiv 2603.13428",
|
|
86
|
+
researchBucket: "P0 direct hits",
|
|
87
|
+
mapsTo: "Continuous software evolution benchmarks, temporal tasks, and long-horizon coding-agent evaluation.",
|
|
88
|
+
fit: "Directly addresses the weakness of one-shot coding benchmarks for long-running agents.",
|
|
89
|
+
sourcePage: "https://arxiv.org/abs/2603.13428",
|
|
90
|
+
sourcePdf: "https://arxiv.org/pdf/2603.13428.pdf",
|
|
91
|
+
topics: ["long-running-agents-and-compaction", "repo-context-and-evaluation"],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
title: "Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?",
|
|
95
|
+
slug: "evaluating-agents-md-are-repository-level-context-files-helpful-for-coding-agents",
|
|
96
|
+
kind: "paper",
|
|
97
|
+
authors: "Thibaud Gloaguen, Niels Mundler, Mark Muller, Veselin Raychev, Martin Vechev",
|
|
98
|
+
year: 2026,
|
|
99
|
+
venue: "ICML 2026 / arXiv 2602.11988",
|
|
100
|
+
researchBucket: "P1 strong adjacent work",
|
|
101
|
+
mapsTo: "Minimal repository context, cost-quality tradeoffs, and context-file failure modes.",
|
|
102
|
+
fit: "Provides a concrete check against bloated repository instructions and supports keeping repo context minimal and high-signal.",
|
|
103
|
+
sourcePage: "https://arxiv.org/html/2602.11988v1",
|
|
104
|
+
sourcePdf: "https://arxiv.org/pdf/2602.11988v1.pdf",
|
|
105
|
+
topics: ["repo-context-and-evaluation"],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
title: "LLM-based Multi-Agent Blackboard System for Information Discovery in Data Science",
|
|
109
|
+
slug: "llm-based-multi-agent-blackboard-system-for-information-discovery-in-data-science",
|
|
110
|
+
kind: "paper",
|
|
111
|
+
year: 2025,
|
|
112
|
+
venue: "arXiv 2510.01285",
|
|
113
|
+
researchBucket: "P0 direct hits",
|
|
114
|
+
mapsTo: "Shared blackboard requests, capability-driven volunteering, and coordination without a fully informed central controller.",
|
|
115
|
+
fit: "The strongest direct modern blackboard reference for shared-workspace coordination.",
|
|
116
|
+
sourcePage: "https://arxiv.org/abs/2510.01285",
|
|
117
|
+
sourcePdf: "https://arxiv.org/pdf/2510.01285.pdf",
|
|
118
|
+
topics: ["blackboard-and-shared-workspaces"],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
title: "Exploring Advanced LLM Multi-Agent Systems Based on Blackboard Architecture",
|
|
122
|
+
slug: "exploring-advanced-llm-multi-agent-systems-based-on-blackboard-architecture",
|
|
123
|
+
kind: "paper",
|
|
124
|
+
year: 2025,
|
|
125
|
+
venue: "arXiv 2507.01701",
|
|
126
|
+
researchBucket: "P0 direct hits",
|
|
127
|
+
mapsTo: "Shared global information, dynamic agent selection, and repeated consensus rounds over a blackboard.",
|
|
128
|
+
fit: "Adds a modern blackboard coordination loop with explicit next-actor selection based on workspace state.",
|
|
129
|
+
sourcePage: "https://arxiv.org/abs/2507.01701",
|
|
130
|
+
sourcePdf: "https://arxiv.org/pdf/2507.01701.pdf",
|
|
131
|
+
topics: ["blackboard-and-shared-workspaces"],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
title: "DOVA: Deliberation-First Multi-Agent Orchestration for Autonomous Research Automation",
|
|
135
|
+
slug: "dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation",
|
|
136
|
+
kind: "paper",
|
|
137
|
+
year: 2026,
|
|
138
|
+
venue: "arXiv 2603.13327",
|
|
139
|
+
researchBucket: "P0 direct hits",
|
|
140
|
+
mapsTo: "Deliberation-first orchestration, iterative refinement, and transparent coordination for autonomous research.",
|
|
141
|
+
fit: "Useful as a modern hybrid between harness design and blackboard-style coordination.",
|
|
142
|
+
sourcePage: "https://arxiv.org/abs/2603.13327",
|
|
143
|
+
sourcePdf: "https://arxiv.org/pdf/2603.13327.pdf",
|
|
144
|
+
topics: ["blackboard-and-shared-workspaces", "harnesses-and-practice"],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
title: "SYMPHONY: Synergistic Multi-agent Planning with Heterogeneous Language Model Assembly",
|
|
148
|
+
slug: "symphony-synergistic-multi-agent-planning-with-heterogeneous-language-model-assembly",
|
|
149
|
+
kind: "paper",
|
|
150
|
+
year: 2026,
|
|
151
|
+
venue: "arXiv 2601.22623",
|
|
152
|
+
researchBucket: "P1 strong adjacent work",
|
|
153
|
+
mapsTo: "Heterogeneous agent pools, multi-agent planning, and coordination advantages from model diversity.",
|
|
154
|
+
fit: "Broadens the coordination design space beyond pure blackboard systems while staying relevant to shared-workspace orchestration.",
|
|
155
|
+
sourcePage: "https://arxiv.org/abs/2601.22623",
|
|
156
|
+
sourcePdf: "https://arxiv.org/pdf/2601.22623.pdf",
|
|
157
|
+
topics: ["blackboard-and-shared-workspaces"],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
title: "Silo-Bench: A Scalable Environment for Evaluating Distributed Coordination in Multi-Agent LLM Systems",
|
|
161
|
+
slug: "silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems",
|
|
162
|
+
kind: "paper",
|
|
163
|
+
year: 2026,
|
|
164
|
+
venue: "arXiv 2603.01045",
|
|
165
|
+
researchBucket: "P0 direct hits",
|
|
166
|
+
mapsTo: "Distributed coordination benchmarks, communication-reasoning gaps, and evidence on integration failures in multi-agent systems.",
|
|
167
|
+
fit: "A concrete benchmark for testing whether shared-workspace coordination actually improves reasoning integration.",
|
|
168
|
+
sourcePage: "https://arxiv.org/abs/2603.01045",
|
|
169
|
+
sourcePdf: "https://arxiv.org/pdf/2603.01045.pdf",
|
|
170
|
+
topics: ["blackboard-and-shared-workspaces", "repo-context-and-evaluation"],
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
title: "Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers",
|
|
174
|
+
slug: "memory-for-autonomous-llm-agents-mechanisms-evaluation-and-emerging-frontiers",
|
|
175
|
+
kind: "paper",
|
|
176
|
+
year: 2026,
|
|
177
|
+
venue: "arXiv 2603.07670",
|
|
178
|
+
researchBucket: "P1 strong adjacent work",
|
|
179
|
+
mapsTo: "Memory architecture, compaction, retrieval, reflection, and policy-aware context management.",
|
|
180
|
+
fit: "Extends the archive with a current survey of long-running agent memory and compaction design.",
|
|
181
|
+
sourcePage: "https://arxiv.org/abs/2603.07670",
|
|
182
|
+
sourcePdf: "https://arxiv.org/pdf/2603.07670.pdf",
|
|
183
|
+
topics: ["long-running-agents-and-compaction"],
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
title: "An Open Agent Architecture",
|
|
187
|
+
slug: "an-open-agent-architecture",
|
|
188
|
+
kind: "paper",
|
|
189
|
+
authors: "Philip R. Cohen, Adam Cheyer, Michelle Wang, Soon Cheol Baeg",
|
|
190
|
+
year: 1994,
|
|
191
|
+
venue: "AAAI Spring Symposium 1994",
|
|
192
|
+
researchBucket: "P2 lineage and older references",
|
|
193
|
+
mapsTo: "Blackboard servers, delegation, concurrency, and early open agent coordination patterns.",
|
|
194
|
+
fit: "Provides the older blackboard lineage behind current shared-workspace orchestration ideas.",
|
|
195
|
+
sourcePage: "https://cdn.aaai.org/Symposia/Spring/1994/SS-94-03/SS94-03-001.pdf",
|
|
196
|
+
sourcePdf: "https://cdn.aaai.org/Symposia/Spring/1994/SS-94-03/SS94-03-001.pdf",
|
|
197
|
+
topics: ["blackboard-and-shared-workspaces"],
|
|
198
|
+
},
|
|
199
|
+
];
|
|
200
|
+
|
|
201
|
+
export default paperManifest;
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { runAutonomousCli } = await import("./wave-orchestrator/autonomous.mjs");
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
runAutonomousCli(argv);
|
|
10
|
+
} catch (error) {
|
|
11
|
+
console.error(`[wave-autonomous] ${error instanceof Error ? error.message : String(error)}`);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
|
|
3
|
+
function stripRepoRootArg(argv) {
|
|
4
|
+
const normalizedArgs = [];
|
|
5
|
+
let repoRoot = null;
|
|
6
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
7
|
+
const arg = argv[index];
|
|
8
|
+
if (arg === "--repo-root") {
|
|
9
|
+
repoRoot = path.resolve(process.cwd(), String(argv[index + 1] || ""));
|
|
10
|
+
index += 1;
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if (String(arg).startsWith("--repo-root=")) {
|
|
14
|
+
repoRoot = path.resolve(process.cwd(), String(arg).slice("--repo-root=".length));
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
normalizedArgs.push(arg);
|
|
18
|
+
}
|
|
19
|
+
if (repoRoot) {
|
|
20
|
+
process.env.WAVE_REPO_ROOT = repoRoot;
|
|
21
|
+
}
|
|
22
|
+
return normalizedArgs;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function bootstrapWaveArgs(argv) {
|
|
26
|
+
return stripRepoRootArg(Array.isArray(argv) ? argv : []);
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
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 { runDashboardCli } = await import("./wave-orchestrator/dashboard-renderer.mjs");
|
|
7
|
+
|
|
8
|
+
runDashboardCli(argv).catch((error) => {
|
|
9
|
+
console.error(`[wave-dashboard] ${error instanceof Error ? error.message : String(error)}`);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
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 { runFeedbackCli } = await import("./wave-orchestrator/feedback.mjs");
|
|
7
|
+
|
|
8
|
+
runFeedbackCli(argv).catch((error) => {
|
|
9
|
+
console.error(`[wave-human-feedback] ${error instanceof Error ? error.message : String(error)}`);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
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 { runLauncherCli } = await import("./wave-orchestrator/launcher.mjs");
|
|
7
|
+
|
|
8
|
+
runLauncherCli(argv).catch((error) => {
|
|
9
|
+
console.error(`\n[wave-launcher] ${error instanceof Error ? error.message : String(error)}`);
|
|
10
|
+
process.exit(Number.isInteger(error?.exitCode) ? error.exitCode : 1);
|
|
11
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { runLocalExecutorCli } = await import("./wave-orchestrator/local-executor.mjs");
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
runLocalExecutorCli(argv);
|
|
10
|
+
} catch (error) {
|
|
11
|
+
console.error(`[wave-local-executor] ${error instanceof Error ? error.message : String(error)}`);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|