@chllming/wave-orchestration 0.6.2 → 0.7.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/CHANGELOG.md +64 -1
- package/README.md +44 -8
- package/docs/agents/wave-orchestrator-role.md +50 -0
- package/docs/agents/wave-planner-role.md +39 -0
- package/docs/context7/bundles.json +9 -0
- package/docs/context7/planner-agent/README.md +25 -0
- package/docs/context7/planner-agent/manifest.json +83 -0
- package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +3283 -0
- package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +1699 -0
- package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +2251 -0
- package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +1729 -0
- package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +3747 -0
- package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +1675 -0
- package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +1173 -0
- package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +5211 -0
- package/docs/context7/planner-agent/topics/planning-and-orchestration.md +24 -0
- package/docs/evals/README.md +96 -1
- package/docs/evals/arm-templates/README.md +13 -0
- package/docs/evals/arm-templates/full-wave.json +15 -0
- package/docs/evals/arm-templates/single-agent.json +15 -0
- package/docs/evals/benchmark-catalog.json +7 -0
- package/docs/evals/cases/README.md +47 -0
- package/docs/evals/cases/wave-blackboard-inbox-targeting.json +73 -0
- package/docs/evals/cases/wave-contradiction-conflict.json +104 -0
- package/docs/evals/cases/wave-expert-routing-preservation.json +69 -0
- package/docs/evals/cases/wave-hidden-profile-private-evidence.json +81 -0
- package/docs/evals/cases/wave-premature-closure-guard.json +71 -0
- package/docs/evals/cases/wave-silo-cross-agent-state.json +77 -0
- package/docs/evals/cases/wave-simultaneous-lockstep.json +92 -0
- package/docs/evals/cooperbench/real-world-mitigation.md +341 -0
- package/docs/evals/external-benchmarks.json +85 -0
- package/docs/evals/external-command-config.sample.json +9 -0
- package/docs/evals/external-command-config.swe-bench-pro.json +8 -0
- package/docs/evals/pilots/README.md +47 -0
- package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +64 -0
- package/docs/evals/pilots/swe-bench-pro-public-pilot.json +111 -0
- package/docs/evals/wave-benchmark-program.md +302 -0
- package/docs/guides/planner.md +48 -11
- package/docs/plans/context7-wave-orchestrator.md +20 -0
- package/docs/plans/current-state.md +9 -1
- package/docs/plans/examples/wave-benchmark-improvement.md +108 -0
- package/docs/plans/examples/wave-example-live-proof.md +1 -1
- package/docs/plans/examples/wave-example-rollout-fidelity.md +340 -0
- package/docs/plans/wave-orchestrator.md +73 -11
- package/docs/plans/waves/reviews/wave-1-benchmark-operator.md +118 -0
- package/docs/reference/coordination-and-closure.md +436 -0
- package/docs/reference/live-proof-waves.md +25 -3
- package/docs/reference/npmjs-trusted-publishing.md +3 -3
- package/docs/reference/proof-metrics.md +90 -0
- package/docs/reference/runtime-config/README.md +61 -0
- package/docs/reference/sample-waves.md +29 -18
- package/docs/reference/wave-control.md +164 -0
- package/docs/reference/wave-planning-lessons.md +131 -0
- package/package.json +5 -4
- package/releases/manifest.json +33 -0
- package/scripts/research/agent-context-archive.mjs +18 -0
- package/scripts/research/manifests/agent-context-expanded-2026-03-22.mjs +17 -0
- package/scripts/research/sync-planner-context7-bundle.mjs +133 -0
- package/scripts/wave-autonomous.mjs +2 -4
- package/scripts/wave-orchestrator/adhoc.mjs +32 -11
- package/scripts/wave-orchestrator/artifact-schemas.mjs +232 -0
- package/scripts/wave-orchestrator/autonomous.mjs +27 -6
- package/scripts/wave-orchestrator/benchmark-cases.mjs +374 -0
- package/scripts/wave-orchestrator/benchmark-external.mjs +1384 -0
- package/scripts/wave-orchestrator/benchmark.mjs +972 -0
- package/scripts/wave-orchestrator/clarification-triage.mjs +78 -12
- package/scripts/wave-orchestrator/config.mjs +175 -0
- package/scripts/wave-orchestrator/control-cli.mjs +1123 -0
- package/scripts/wave-orchestrator/control-plane.mjs +697 -0
- package/scripts/wave-orchestrator/coord-cli.mjs +360 -2
- package/scripts/wave-orchestrator/coordination-store.mjs +211 -9
- package/scripts/wave-orchestrator/coordination.mjs +84 -0
- package/scripts/wave-orchestrator/dashboard-renderer.mjs +38 -3
- package/scripts/wave-orchestrator/dashboard-state.mjs +22 -0
- package/scripts/wave-orchestrator/evals.mjs +23 -0
- package/scripts/wave-orchestrator/executors.mjs +3 -2
- package/scripts/wave-orchestrator/feedback.mjs +55 -0
- package/scripts/wave-orchestrator/install.mjs +253 -26
- package/scripts/wave-orchestrator/launcher-closure.mjs +4 -1
- package/scripts/wave-orchestrator/launcher-runtime.mjs +24 -21
- package/scripts/wave-orchestrator/launcher.mjs +800 -35
- package/scripts/wave-orchestrator/package-update-notice.mjs +230 -0
- package/scripts/wave-orchestrator/package-version.mjs +32 -0
- package/scripts/wave-orchestrator/planner-context.mjs +75 -0
- package/scripts/wave-orchestrator/planner.mjs +2270 -136
- package/scripts/wave-orchestrator/proof-cli.mjs +195 -0
- package/scripts/wave-orchestrator/proof-registry.mjs +317 -0
- package/scripts/wave-orchestrator/replay.mjs +10 -4
- package/scripts/wave-orchestrator/retry-cli.mjs +184 -0
- package/scripts/wave-orchestrator/retry-control.mjs +225 -0
- package/scripts/wave-orchestrator/shared.mjs +26 -0
- package/scripts/wave-orchestrator/swe-bench-pro-task.mjs +1004 -0
- package/scripts/wave-orchestrator/traces.mjs +157 -2
- package/scripts/wave-orchestrator/wave-control-client.mjs +532 -0
- package/scripts/wave-orchestrator/wave-control-schema.mjs +309 -0
- package/scripts/wave-orchestrator/wave-files.mjs +17 -5
- package/scripts/wave.mjs +39 -2
- package/skills/repo-coding-rules/SKILL.md +1 -0
- package/skills/role-cont-eval/SKILL.md +1 -0
- package/skills/role-cont-qa/SKILL.md +13 -6
- package/skills/role-deploy/SKILL.md +1 -0
- package/skills/role-documentation/SKILL.md +4 -0
- package/skills/role-implementation/SKILL.md +4 -0
- package/skills/role-infra/SKILL.md +2 -1
- package/skills/role-integration/SKILL.md +15 -8
- package/skills/role-planner/SKILL.md +39 -0
- package/skills/role-planner/skill.json +21 -0
- package/skills/role-research/SKILL.md +1 -0
- package/skills/role-security/SKILL.md +2 -2
- package/skills/runtime-claude/SKILL.md +2 -1
- package/skills/runtime-codex/SKILL.md +1 -0
- package/skills/runtime-local/SKILL.md +2 -0
- package/skills/runtime-opencode/SKILL.md +1 -0
- package/skills/wave-core/SKILL.md +25 -6
- package/skills/wave-core/references/marker-syntax.md +16 -8
- package/wave.config.json +45 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { ensureDirectory, readJsonOrNull, REPO_ROOT, writeJsonAtomic } from "./shared.mjs";
|
|
4
|
+
import {
|
|
5
|
+
compareVersions,
|
|
6
|
+
readInstalledPackageMetadata,
|
|
7
|
+
WAVE_PACKAGE_NAME,
|
|
8
|
+
} from "./package-version.mjs";
|
|
9
|
+
|
|
10
|
+
export const PACKAGE_UPDATE_CHECK_SCHEMA_VERSION = 1;
|
|
11
|
+
export const PACKAGE_UPDATE_CHECK_PATH = path.join(REPO_ROOT, ".wave", "package-update-check.json");
|
|
12
|
+
export const PACKAGE_UPDATE_CHECK_TTL_MS = 6 * 60 * 60 * 1000;
|
|
13
|
+
export const PACKAGE_UPDATE_CHECK_TIMEOUT_MS = 2000;
|
|
14
|
+
export const WAVE_SKIP_UPDATE_CHECK_ENV = "WAVE_SKIP_UPDATE_CHECK";
|
|
15
|
+
export const WAVE_SUPPRESS_UPDATE_NOTICE_ENV = "WAVE_SUPPRESS_UPDATE_NOTICE";
|
|
16
|
+
export const NPM_REGISTRY_LATEST_URL = "https://registry.npmjs.org";
|
|
17
|
+
|
|
18
|
+
function isTruthyEnvValue(value) {
|
|
19
|
+
const normalized = String(value ?? "")
|
|
20
|
+
.trim()
|
|
21
|
+
.toLowerCase();
|
|
22
|
+
return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function parsePackageManagerId(value) {
|
|
26
|
+
const normalized = String(value || "")
|
|
27
|
+
.trim()
|
|
28
|
+
.toLowerCase();
|
|
29
|
+
if (normalized.startsWith("pnpm@")) {
|
|
30
|
+
return "pnpm";
|
|
31
|
+
}
|
|
32
|
+
if (normalized.startsWith("npm@")) {
|
|
33
|
+
return "npm";
|
|
34
|
+
}
|
|
35
|
+
if (normalized.startsWith("yarn@")) {
|
|
36
|
+
return "yarn";
|
|
37
|
+
}
|
|
38
|
+
if (normalized.startsWith("bun@")) {
|
|
39
|
+
return "bun";
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function runtimeSelfUpdateCommand(workspaceRoot = REPO_ROOT) {
|
|
45
|
+
const workspacePackage = readJsonOrNull(path.join(workspaceRoot, "package.json"));
|
|
46
|
+
const packageManagerId = parsePackageManagerId(workspacePackage?.packageManager);
|
|
47
|
+
if (packageManagerId === "pnpm") {
|
|
48
|
+
return "pnpm exec wave self-update";
|
|
49
|
+
}
|
|
50
|
+
if (packageManagerId === "npm") {
|
|
51
|
+
return "npm exec -- wave self-update";
|
|
52
|
+
}
|
|
53
|
+
if (packageManagerId === "yarn") {
|
|
54
|
+
return "yarn exec wave self-update";
|
|
55
|
+
}
|
|
56
|
+
if (packageManagerId === "bun") {
|
|
57
|
+
return "bun x wave self-update";
|
|
58
|
+
}
|
|
59
|
+
if (fs.existsSync(path.join(workspaceRoot, "pnpm-lock.yaml"))) {
|
|
60
|
+
return "pnpm exec wave self-update";
|
|
61
|
+
}
|
|
62
|
+
if (fs.existsSync(path.join(workspaceRoot, "yarn.lock"))) {
|
|
63
|
+
return "yarn exec wave self-update";
|
|
64
|
+
}
|
|
65
|
+
if (fs.existsSync(path.join(workspaceRoot, "bun.lock")) || fs.existsSync(path.join(workspaceRoot, "bun.lockb"))) {
|
|
66
|
+
return "bun x wave self-update";
|
|
67
|
+
}
|
|
68
|
+
return "npm exec -- wave self-update";
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function buildPackageLatestUrl(packageName) {
|
|
72
|
+
return `${NPM_REGISTRY_LATEST_URL}/${encodeURIComponent(String(packageName || WAVE_PACKAGE_NAME)).replace("%40", "@")}/latest`;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function readUpdateCheckCache(cachePath = PACKAGE_UPDATE_CHECK_PATH) {
|
|
76
|
+
const payload = readJsonOrNull(cachePath);
|
|
77
|
+
return payload && typeof payload === "object" ? payload : null;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function writeUpdateCheckCache(cachePath, payload) {
|
|
81
|
+
ensureDirectory(path.dirname(cachePath));
|
|
82
|
+
writeJsonAtomic(cachePath, payload);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function buildNoticeLines(packageName, currentVersion, latestVersion, workspaceRoot = REPO_ROOT) {
|
|
86
|
+
return [
|
|
87
|
+
`[wave:update] newer ${packageName} available: installed ${currentVersion}, latest ${latestVersion}`,
|
|
88
|
+
`[wave:update] update now with: ${runtimeSelfUpdateCommand(workspaceRoot)}`,
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function emitNotice(packageName, currentVersion, latestVersion, emit = console.error, workspaceRoot = REPO_ROOT) {
|
|
93
|
+
for (const line of buildNoticeLines(packageName, currentVersion, latestVersion, workspaceRoot)) {
|
|
94
|
+
emit(line);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export async function fetchLatestPackageVersion(
|
|
99
|
+
packageName = WAVE_PACKAGE_NAME,
|
|
100
|
+
{
|
|
101
|
+
fetchImpl = globalThis.fetch,
|
|
102
|
+
timeoutMs = PACKAGE_UPDATE_CHECK_TIMEOUT_MS,
|
|
103
|
+
} = {},
|
|
104
|
+
) {
|
|
105
|
+
if (typeof fetchImpl !== "function") {
|
|
106
|
+
throw new Error("Package update check is unavailable in this Node runtime.");
|
|
107
|
+
}
|
|
108
|
+
const abortController = new AbortController();
|
|
109
|
+
const timer = setTimeout(() => abortController.abort(), timeoutMs);
|
|
110
|
+
try {
|
|
111
|
+
const response = await fetchImpl(buildPackageLatestUrl(packageName), {
|
|
112
|
+
signal: abortController.signal,
|
|
113
|
+
headers: {
|
|
114
|
+
Accept: "application/json",
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
if (!response?.ok) {
|
|
118
|
+
throw new Error(`Upstream package check failed with status ${response?.status || "unknown"}.`);
|
|
119
|
+
}
|
|
120
|
+
const payload = await response.json();
|
|
121
|
+
const latestVersion = String(payload?.version || "").trim();
|
|
122
|
+
if (!latestVersion) {
|
|
123
|
+
throw new Error("Upstream package check returned no version.");
|
|
124
|
+
}
|
|
125
|
+
return latestVersion;
|
|
126
|
+
} finally {
|
|
127
|
+
clearTimeout(timer);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export async function maybeAnnouncePackageUpdate(options = {}) {
|
|
132
|
+
const env = options.env || process.env;
|
|
133
|
+
if (
|
|
134
|
+
isTruthyEnvValue(env[WAVE_SKIP_UPDATE_CHECK_ENV]) ||
|
|
135
|
+
isTruthyEnvValue(env[WAVE_SUPPRESS_UPDATE_NOTICE_ENV])
|
|
136
|
+
) {
|
|
137
|
+
return {
|
|
138
|
+
skipped: true,
|
|
139
|
+
reason: "disabled",
|
|
140
|
+
updateAvailable: false,
|
|
141
|
+
latestVersion: null,
|
|
142
|
+
currentVersion: null,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const metadata = options.packageMetadata || readInstalledPackageMetadata();
|
|
147
|
+
const packageName = String(metadata.name || WAVE_PACKAGE_NAME);
|
|
148
|
+
const currentVersion = String(metadata.version || "").trim();
|
|
149
|
+
const cachePath = options.cachePath || PACKAGE_UPDATE_CHECK_PATH;
|
|
150
|
+
const workspaceRoot = options.workspaceRoot || REPO_ROOT;
|
|
151
|
+
const cacheTtlMs = options.cacheTtlMs ?? PACKAGE_UPDATE_CHECK_TTL_MS;
|
|
152
|
+
const nowMs = options.nowMs ?? Date.now();
|
|
153
|
+
const emit = options.emit || console.error;
|
|
154
|
+
const cache = readUpdateCheckCache(cachePath);
|
|
155
|
+
const cachedCheckedAtMs = Date.parse(String(cache?.checkedAt || ""));
|
|
156
|
+
const cacheMatchesCurrentVersion = cache?.currentVersion === currentVersion;
|
|
157
|
+
const cachedUpdateAvailable =
|
|
158
|
+
cacheMatchesCurrentVersion &&
|
|
159
|
+
typeof cache?.latestVersion === "string" &&
|
|
160
|
+
compareVersions(cache.latestVersion, currentVersion) > 0;
|
|
161
|
+
const cacheFresh =
|
|
162
|
+
cacheMatchesCurrentVersion &&
|
|
163
|
+
Number.isFinite(cachedCheckedAtMs) &&
|
|
164
|
+
nowMs - cachedCheckedAtMs <= cacheTtlMs;
|
|
165
|
+
let emitted = false;
|
|
166
|
+
|
|
167
|
+
if (cachedUpdateAvailable) {
|
|
168
|
+
emitNotice(packageName, currentVersion, cache.latestVersion, emit, workspaceRoot);
|
|
169
|
+
emitted = true;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (cacheFresh) {
|
|
173
|
+
return {
|
|
174
|
+
skipped: false,
|
|
175
|
+
source: "cache",
|
|
176
|
+
updateAvailable: cachedUpdateAvailable,
|
|
177
|
+
latestVersion: cache?.latestVersion || currentVersion,
|
|
178
|
+
currentVersion,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
const latestVersion = await fetchLatestPackageVersion(packageName, options);
|
|
184
|
+
const updateAvailable = compareVersions(latestVersion, currentVersion) > 0;
|
|
185
|
+
writeUpdateCheckCache(cachePath, {
|
|
186
|
+
schemaVersion: PACKAGE_UPDATE_CHECK_SCHEMA_VERSION,
|
|
187
|
+
packageName,
|
|
188
|
+
checkedAt: new Date(nowMs).toISOString(),
|
|
189
|
+
currentVersion,
|
|
190
|
+
latestVersion,
|
|
191
|
+
updateAvailable,
|
|
192
|
+
lastErrorAt: null,
|
|
193
|
+
lastErrorMessage: null,
|
|
194
|
+
});
|
|
195
|
+
if (updateAvailable && !emitted) {
|
|
196
|
+
emitNotice(packageName, currentVersion, latestVersion, emit, workspaceRoot);
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
skipped: false,
|
|
200
|
+
source: "network",
|
|
201
|
+
updateAvailable,
|
|
202
|
+
latestVersion,
|
|
203
|
+
currentVersion,
|
|
204
|
+
};
|
|
205
|
+
} catch (error) {
|
|
206
|
+
writeUpdateCheckCache(cachePath, {
|
|
207
|
+
schemaVersion: PACKAGE_UPDATE_CHECK_SCHEMA_VERSION,
|
|
208
|
+
packageName,
|
|
209
|
+
checkedAt: new Date(nowMs).toISOString(),
|
|
210
|
+
currentVersion,
|
|
211
|
+
latestVersion:
|
|
212
|
+
cacheMatchesCurrentVersion && typeof cache?.latestVersion === "string"
|
|
213
|
+
? cache.latestVersion
|
|
214
|
+
: currentVersion,
|
|
215
|
+
updateAvailable: cachedUpdateAvailable,
|
|
216
|
+
lastErrorAt: new Date(nowMs).toISOString(),
|
|
217
|
+
lastErrorMessage: error instanceof Error ? error.message : String(error),
|
|
218
|
+
});
|
|
219
|
+
return {
|
|
220
|
+
skipped: false,
|
|
221
|
+
source: "error",
|
|
222
|
+
updateAvailable: cachedUpdateAvailable,
|
|
223
|
+
latestVersion:
|
|
224
|
+
cacheMatchesCurrentVersion && typeof cache?.latestVersion === "string"
|
|
225
|
+
? cache.latestVersion
|
|
226
|
+
: currentVersion,
|
|
227
|
+
currentVersion,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { PACKAGE_ROOT, readJsonOrNull } from "./shared.mjs";
|
|
3
|
+
|
|
4
|
+
export const WAVE_PACKAGE_NAME = "@chllming/wave-orchestration";
|
|
5
|
+
export const PACKAGE_METADATA_PATH = path.join(PACKAGE_ROOT, "package.json");
|
|
6
|
+
|
|
7
|
+
export function readInstalledPackageMetadata(metadataPath = PACKAGE_METADATA_PATH) {
|
|
8
|
+
const payload = readJsonOrNull(metadataPath);
|
|
9
|
+
if (!payload?.name || !payload?.version) {
|
|
10
|
+
throw new Error(`Invalid package metadata: ${metadataPath}`);
|
|
11
|
+
}
|
|
12
|
+
return payload;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function normalizeVersionParts(version) {
|
|
16
|
+
return String(version || "")
|
|
17
|
+
.split(".")
|
|
18
|
+
.map((part) => Number.parseInt(part.replace(/[^0-9].*$/, ""), 10) || 0);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function compareVersions(a, b) {
|
|
22
|
+
const left = normalizeVersionParts(a);
|
|
23
|
+
const right = normalizeVersionParts(b);
|
|
24
|
+
const length = Math.max(left.length, right.length);
|
|
25
|
+
for (let index = 0; index < length; index += 1) {
|
|
26
|
+
const diff = (left[index] || 0) - (right[index] || 0);
|
|
27
|
+
if (diff !== 0) {
|
|
28
|
+
return diff;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export const PLANNER_CONTEXT7_BUNDLE_ID = "planner-agentic";
|
|
2
|
+
export const PLANNER_CONTEXT7_LIBRARY_NAME = "wave-planner-agentic";
|
|
3
|
+
export const PLANNER_CONTEXT7_SOURCE_DIR = "docs/context7/planner-agent";
|
|
4
|
+
export const PLANNER_CONTEXT7_DEFAULT_QUERY =
|
|
5
|
+
"Wave planning best practices, maturity alignment, closure gates, proof surfaces, rollout evidence, and coordination failure prevention";
|
|
6
|
+
|
|
7
|
+
export const PLANNER_CONTEXT7_SOURCE_FILES = [
|
|
8
|
+
{
|
|
9
|
+
sourcePath: "docs/research/agent-context-cache/topics/planning-and-orchestration.md",
|
|
10
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/topics/planning-and-orchestration.md`,
|
|
11
|
+
kind: "topic",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
sourcePath:
|
|
15
|
+
"docs/research/agent-context-cache/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md",
|
|
16
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md`,
|
|
17
|
+
kind: "paper",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
sourcePath:
|
|
21
|
+
"docs/research/agent-context-cache/papers/todoevolve-learning-to-architect-agent-planning-systems.md",
|
|
22
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/todoevolve-learning-to-architect-agent-planning-systems.md`,
|
|
23
|
+
kind: "paper",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
sourcePath:
|
|
27
|
+
"docs/research/agent-context-cache/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md",
|
|
28
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md`,
|
|
29
|
+
kind: "paper",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
sourcePath:
|
|
33
|
+
"docs/research/agent-context-cache/papers/why-do-multi-agent-llm-systems-fail.md",
|
|
34
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/why-do-multi-agent-llm-systems-fail.md`,
|
|
35
|
+
kind: "paper",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
sourcePath:
|
|
39
|
+
"docs/research/agent-context-cache/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md",
|
|
40
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md`,
|
|
41
|
+
kind: "paper",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
sourcePath:
|
|
45
|
+
"docs/research/agent-context-cache/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md",
|
|
46
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md`,
|
|
47
|
+
kind: "paper",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
sourcePath:
|
|
51
|
+
"docs/research/agent-context-cache/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md",
|
|
52
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md`,
|
|
53
|
+
kind: "paper",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
sourcePath:
|
|
57
|
+
"docs/research/agent-context-cache/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md",
|
|
58
|
+
targetPath: `${PLANNER_CONTEXT7_SOURCE_DIR}/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md`,
|
|
59
|
+
kind: "paper",
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
export const PLANNER_CONTEXT7_TEMPLATE_PATHS = [
|
|
64
|
+
`${PLANNER_CONTEXT7_SOURCE_DIR}/README.md`,
|
|
65
|
+
`${PLANNER_CONTEXT7_SOURCE_DIR}/manifest.json`,
|
|
66
|
+
...PLANNER_CONTEXT7_SOURCE_FILES.map((entry) => entry.targetPath),
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
export const PLANNER_CONTEXT7_RESEARCH_TOPIC_PATHS = PLANNER_CONTEXT7_SOURCE_FILES.filter(
|
|
70
|
+
(entry) => entry.kind === "topic",
|
|
71
|
+
).map((entry) => entry.targetPath);
|
|
72
|
+
|
|
73
|
+
export const PLANNER_CONTEXT7_PAPER_PATHS = PLANNER_CONTEXT7_SOURCE_FILES.filter(
|
|
74
|
+
(entry) => entry.kind === "paper",
|
|
75
|
+
).map((entry) => entry.targetPath);
|