@rryando/arcs 3.3.2 → 3.4.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 +17 -14
- package/dist/cli/arcs-orchestrate.d.ts +1 -1
- package/dist/cli/arcs-orchestrate.d.ts.map +1 -1
- package/dist/cli/arcs-orchestrate.js +5 -3
- package/dist/cli/arcs-orchestrate.js.map +1 -1
- package/dist/cli/bundle-installer.d.ts.map +1 -1
- package/dist/cli/bundle-installer.js +32 -0
- package/dist/cli/bundle-installer.js.map +1 -1
- package/dist/cli/commands/maintenance.js +26 -24
- package/dist/cli/commands/maintenance.js.map +1 -1
- package/dist/cli/commands/project.js +49 -26
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/proposal.js +12 -11
- package/dist/cli/commands/proposal.js.map +1 -1
- package/dist/cli/config.d.ts +19 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +23 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/instructions.d.ts.map +1 -1
- package/dist/cli/instructions.js +14 -0
- package/dist/cli/instructions.js.map +1 -1
- package/dist/cli/setup.d.ts +6 -3
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +125 -70
- package/dist/cli/setup.js.map +1 -1
- package/dist/utils/codegraph-install.d.ts +16 -0
- package/dist/utils/codegraph-install.d.ts.map +1 -0
- package/dist/utils/codegraph-install.js +81 -0
- package/dist/utils/codegraph-install.js.map +1 -0
- package/dist/utils/codegraph-knowledge.d.ts +22 -0
- package/dist/utils/codegraph-knowledge.d.ts.map +1 -0
- package/dist/utils/codegraph-knowledge.js +47 -0
- package/dist/utils/codegraph-knowledge.js.map +1 -0
- package/dist/utils/codegraph.d.ts +101 -0
- package/dist/utils/codegraph.d.ts.map +1 -0
- package/dist/utils/codegraph.js +383 -0
- package/dist/utils/codegraph.js.map +1 -0
- package/dist/utils/json-schemas.d.ts +84 -84
- package/dist/utils/json-schemas.d.ts.map +1 -1
- package/dist/utils/json-schemas.js +11 -9
- package/dist/utils/json-schemas.js.map +1 -1
- package/dist/utils/proposal-store.d.ts +2 -2
- package/dist/utils/proposal-store.d.ts.map +1 -1
- package/dist/utils/proposal-store.js +34 -7
- package/dist/utils/proposal-store.js.map +1 -1
- package/opencode/arcs/bundle-runtime.json +2 -2
- package/opencode/arcs/manifest.json +1 -1
- package/opencode/arcs/prompts/arcs-orchestrate-caveman.txt +5 -3
- package/opencode/arcs/prompts/arcs-orchestrate.txt +5 -3
- package/opencode/arcs/prompts/code-reviewer.txt +2 -0
- package/opencode/arcs/prompts/docs-researcher.txt +1 -1
- package/opencode/arcs/prompts/graph-explorer.txt +36 -202
- package/opencode/arcs/prompts/oncall-ops.txt +2 -0
- package/opencode/arcs/prompts/system-architect.txt +2 -0
- package/opencode/arcs/prompts/tech-architect.txt +2 -0
- package/opencode/arcs/skills/deep-pr-review/SKILL.md +5 -5
- package/opencode/arcs/skills/deep-pr-review/{graphify-diff.md → codegraph-diff.md} +27 -31
- package/opencode/arcs/skills/deep-pr-review/review-template.md +2 -2
- package/opencode/arcs/skills/{enriching-graphify-proposals → enriching-codegraph-proposals}/SKILL.md +8 -8
- package/opencode/arcs/skills/init-project/SKILL.md +38 -38
- package/package.json +2 -2
- package/scripts/build-opencode-bundle.mjs +4 -3
- package/scripts/deploy-claudecode-bundle.mjs +8 -1
- package/scripts/deploy-opencode-bundle.mjs +8 -1
- package/scripts/lib/bundle-helpers.mjs +17 -0
- package/scripts/lint-bundle.mjs +5 -2
- package/skills/init-project.md +25 -25
package/dist/cli/setup.js
CHANGED
|
@@ -3,10 +3,10 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import * as p from "@clack/prompts";
|
|
5
5
|
import color from "picocolors";
|
|
6
|
-
import {
|
|
6
|
+
import { detectCodegraph } from "../utils/codegraph.js";
|
|
7
7
|
import { PACKAGE_ROOT } from "../utils/paths.js";
|
|
8
8
|
import { detectArcsBundleInstall, installArcsBundle } from "./bundle-installer.js";
|
|
9
|
-
import { extractModelPreFills, getAvailableModels, getClaudeCodeModels, readClaudeCodeCurrentModel,
|
|
9
|
+
import { diagnoseOpenCodeConfig, extractModelPreFills, getAvailableModels, getClaudeCodeModels, readClaudeCodeCurrentModel, writeConfig, } from "./config.js";
|
|
10
10
|
import { applyAgentModelConfig, displayPath, opencodeHasAgent, writeOpencodeAgent, } from "./instructions.js";
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
12
12
|
// TUI Wizard
|
|
@@ -103,11 +103,15 @@ export async function runSetup(mode) {
|
|
|
103
103
|
// ── OpenCode configuration and installation flow ──────────────────────────
|
|
104
104
|
if (selectedOpenCode) {
|
|
105
105
|
// ── Model configuration ───────────────────────────────────────────────────
|
|
106
|
-
const
|
|
106
|
+
const configDiagnosis = await diagnoseOpenCodeConfig();
|
|
107
|
+
const openCodeConfig = configDiagnosis.status === "ok" ? configDiagnosis.config : null;
|
|
107
108
|
const preFills = extractModelPreFills(openCodeConfig);
|
|
108
|
-
if (
|
|
109
|
+
if (configDiagnosis.status === "ok") {
|
|
109
110
|
p.note(`Found models:\n model: ${preFills.heavy || "(not set)"}\n small_model: ${preFills.light || "(not set)"}`, "OpenCode Config");
|
|
110
111
|
}
|
|
112
|
+
else if (configDiagnosis.status === "corrupt") {
|
|
113
|
+
p.note(`Config exists at ${configDiagnosis.path} but failed to parse:\n ${configDiagnosis.error}\n\nFix the JSON syntax error and re-run, or enter model identifiers manually below to continue.`, "OpenCode Config — INVALID JSON");
|
|
114
|
+
}
|
|
111
115
|
else {
|
|
112
116
|
p.note("No opencode config found at ~/.config/opencode/opencode.json\nEnter model identifiers manually below.", "OpenCode Config");
|
|
113
117
|
}
|
|
@@ -354,8 +358,13 @@ export async function runSetup(mode) {
|
|
|
354
358
|
sWrite.start("Writing configuration…");
|
|
355
359
|
writeConfig(config);
|
|
356
360
|
sWrite.stop("Configuration saved.");
|
|
357
|
-
// ── Optional
|
|
358
|
-
|
|
361
|
+
// ── Optional codegraph installation ─────────────────────────────────────────
|
|
362
|
+
// Derive codegraph install targets from the platforms the user selected.
|
|
363
|
+
// platform "claudecode" maps to codegraph's "claude" target. Never use
|
|
364
|
+
// "auto" — that would wire unselected hosts (Cursor/Codex/Hermes).
|
|
365
|
+
const codegraphTargets = [selectedOpenCode && "opencode", selectedClaudeCode && "claude"].filter(Boolean).join(",") ||
|
|
366
|
+
"opencode";
|
|
367
|
+
await promptCodegraphInstall(codegraphTargets);
|
|
359
368
|
p.outro(color.green("Done!") +
|
|
360
369
|
" You can re-run this setup at any time with " +
|
|
361
370
|
color.cyan("npm run init"));
|
|
@@ -485,97 +494,143 @@ async function selectModel(message, availableModels, currentValue) {
|
|
|
485
494
|
return selected;
|
|
486
495
|
}
|
|
487
496
|
// ---------------------------------------------------------------------------
|
|
488
|
-
//
|
|
497
|
+
// Codegraph Installation Prompt
|
|
489
498
|
// ---------------------------------------------------------------------------
|
|
499
|
+
const CODEGRAPH_URL = "https://github.com/colbymchenry/codegraph";
|
|
490
500
|
/**
|
|
491
|
-
*
|
|
492
|
-
*
|
|
501
|
+
* Wires codegraph into opencode (MCP) and builds the index for the current
|
|
502
|
+
* project. All steps are best-effort and non-fatal — a failure at any
|
|
503
|
+
* sub-step shows a note and continues. Never throws.
|
|
493
504
|
*/
|
|
494
|
-
function
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
const major = Number.parseInt(match[1], 10);
|
|
505
|
-
const minor = Number.parseInt(match[2], 10);
|
|
506
|
-
if (major >= 3 && minor >= 10) {
|
|
507
|
-
return { version: `${major}.${minor}.${match[3]}`, command: cmd };
|
|
508
|
-
}
|
|
509
|
-
}
|
|
505
|
+
function wireCodegraph(targets) {
|
|
506
|
+
// (a) Wire codegraph MCP into the selected host(s) non-interactively.
|
|
507
|
+
try {
|
|
508
|
+
const wire = spawnSync("codegraph", ["install", `--target=${targets}`, "--yes"], {
|
|
509
|
+
encoding: "utf-8",
|
|
510
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
511
|
+
timeout: 120_000,
|
|
512
|
+
});
|
|
513
|
+
if (wire.status === 0) {
|
|
514
|
+
p.log.info(color.dim(`${color.green("✔")} Wired codegraph MCP into ${targets}`));
|
|
510
515
|
}
|
|
511
|
-
|
|
512
|
-
|
|
516
|
+
else {
|
|
517
|
+
p.note([
|
|
518
|
+
`${color.yellow("⚠")} Could not wire codegraph into ${targets} automatically.`,
|
|
519
|
+
`Run manually: ${color.dim(`codegraph install --target=${targets} --yes`)}`,
|
|
520
|
+
].join("\n"), "Optional: Codegraph");
|
|
513
521
|
}
|
|
514
522
|
}
|
|
515
|
-
|
|
523
|
+
catch {
|
|
524
|
+
p.note([
|
|
525
|
+
`${color.yellow("⚠")} Could not wire codegraph into ${targets} automatically.`,
|
|
526
|
+
`Run manually: ${color.dim(`codegraph install --target=${targets} --yes`)}`,
|
|
527
|
+
].join("\n"), "Optional: Codegraph");
|
|
528
|
+
}
|
|
529
|
+
// (b) Build the index for the current project.
|
|
530
|
+
try {
|
|
531
|
+
const index = spawnSync("codegraph", ["index", process.cwd(), "--force", "--quiet"], {
|
|
532
|
+
encoding: "utf-8",
|
|
533
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
534
|
+
timeout: 120_000,
|
|
535
|
+
});
|
|
536
|
+
if (index.status === 0) {
|
|
537
|
+
p.log.info(color.dim(`${color.green("✔")} Indexed current project`));
|
|
538
|
+
}
|
|
539
|
+
else {
|
|
540
|
+
p.note([
|
|
541
|
+
`${color.yellow("⚠")} Could not index the current project automatically.`,
|
|
542
|
+
`Run manually: ${color.dim(`codegraph index ${process.cwd()} --force --quiet`)}`,
|
|
543
|
+
].join("\n"), "Optional: Codegraph");
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
catch {
|
|
547
|
+
p.note([
|
|
548
|
+
`${color.yellow("⚠")} Could not index the current project automatically.`,
|
|
549
|
+
`Run manually: ${color.dim(`codegraph index ${process.cwd()} --force --quiet`)}`,
|
|
550
|
+
].join("\n"), "Optional: Codegraph");
|
|
551
|
+
}
|
|
552
|
+
// (c) Summarize what was wired.
|
|
553
|
+
const final = detectCodegraph();
|
|
554
|
+
p.note([
|
|
555
|
+
`${color.green("✔")} Codegraph${final.version ? ` v${final.version}` : ""} ready`,
|
|
556
|
+
`${color.green("✔")} ${targets} MCP wired`,
|
|
557
|
+
`${color.green("✔")} Current project indexed`,
|
|
558
|
+
].join("\n"), "Codegraph");
|
|
516
559
|
}
|
|
517
|
-
const GRAPHIFY_URL = "https://github.com/safishamsi/graphify";
|
|
518
560
|
/**
|
|
519
|
-
* Prompts the user to install
|
|
520
|
-
*
|
|
561
|
+
* Prompts the user to install codegraph if it's not already available,
|
|
562
|
+
* using a platform-based installer. Once available (freshly installed or
|
|
563
|
+
* pre-existing), wires the codegraph MCP into opencode and indexes the
|
|
564
|
+
* current project. Gracefully handles all decline/failure paths — never
|
|
565
|
+
* throws and never exits the wizard.
|
|
521
566
|
*/
|
|
522
|
-
export async function
|
|
523
|
-
const info =
|
|
524
|
-
if (info.available)
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
if (!python) {
|
|
528
|
-
p.note([
|
|
529
|
-
"Graphify enables automatic codebase graph analysis.",
|
|
530
|
-
"AI agents get richer structural context without scanning from scratch each session.",
|
|
531
|
-
"",
|
|
532
|
-
`${color.yellow("Requirement not met:")} Python 3.10+ is required but was not found.`,
|
|
533
|
-
"",
|
|
534
|
-
"To enable this capability, install Python 3.10+ then follow:",
|
|
535
|
-
color.cyan(GRAPHIFY_URL),
|
|
536
|
-
"",
|
|
537
|
-
`Then run: ${color.dim("uv tool install graphifyy")} (or pipx / pip)`,
|
|
538
|
-
].join("\n"), "Optional: Graphify");
|
|
567
|
+
export async function promptCodegraphInstall(targets) {
|
|
568
|
+
const info = detectCodegraph();
|
|
569
|
+
if (info.available) {
|
|
570
|
+
// Already installed — skip install but still ensure host wiring + project init.
|
|
571
|
+
wireCodegraph(targets);
|
|
539
572
|
return;
|
|
540
573
|
}
|
|
541
574
|
p.note([
|
|
542
|
-
"
|
|
543
|
-
"
|
|
575
|
+
"Codegraph gives agents a pre-indexed code graph for efficient exploration",
|
|
576
|
+
"without full file reads (MCP-based). 100% local.",
|
|
544
577
|
"",
|
|
545
|
-
color.cyan(
|
|
546
|
-
].join("\n"), "Optional:
|
|
578
|
+
color.cyan(CODEGRAPH_URL),
|
|
579
|
+
].join("\n"), "Optional: Codegraph");
|
|
547
580
|
const shouldInstall = await p.confirm({
|
|
548
|
-
message:
|
|
581
|
+
message: "Install codegraph now?",
|
|
549
582
|
initialValue: false,
|
|
550
583
|
});
|
|
551
584
|
if (p.isCancel(shouldInstall) || !shouldInstall) {
|
|
552
|
-
p.log.info(color.dim(`Install later:
|
|
585
|
+
p.log.info(color.dim(`Install later: npx @colbymchenry/codegraph | ${CODEGRAPH_URL}`));
|
|
553
586
|
return;
|
|
554
587
|
}
|
|
555
|
-
const installCommands = [
|
|
556
|
-
"uv tool install graphifyy",
|
|
557
|
-
"pipx install graphifyy",
|
|
558
|
-
"pip install graphifyy",
|
|
559
|
-
];
|
|
560
588
|
const s = p.spinner();
|
|
561
|
-
s.start("Installing
|
|
562
|
-
|
|
589
|
+
s.start("Installing codegraph…");
|
|
590
|
+
let installed = false;
|
|
591
|
+
// ── Platform-based install ────────────────────────────────────────────────
|
|
592
|
+
try {
|
|
593
|
+
const platformInstall = process.platform === "win32"
|
|
594
|
+
? spawnSync("powershell", [
|
|
595
|
+
"-Command",
|
|
596
|
+
"irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex",
|
|
597
|
+
], { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 120_000 })
|
|
598
|
+
: spawnSync("sh", [
|
|
599
|
+
"-c",
|
|
600
|
+
"curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh",
|
|
601
|
+
], { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 120_000 });
|
|
602
|
+
if (platformInstall.status === 0) {
|
|
603
|
+
installed = true;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
catch {
|
|
607
|
+
// Fall through to npm fallback.
|
|
608
|
+
}
|
|
609
|
+
// ── Fallback: npm global install ──────────────────────────────────────────
|
|
610
|
+
if (!installed) {
|
|
563
611
|
try {
|
|
564
|
-
|
|
612
|
+
const npmInstall = spawnSync("npm", ["i", "-g", "@colbymchenry/codegraph"], {
|
|
565
613
|
encoding: "utf-8",
|
|
566
614
|
stdio: ["pipe", "pipe", "pipe"],
|
|
567
|
-
timeout:
|
|
615
|
+
timeout: 120_000,
|
|
568
616
|
});
|
|
569
|
-
|
|
570
|
-
|
|
617
|
+
if (npmInstall.status === 0) {
|
|
618
|
+
installed = true;
|
|
619
|
+
}
|
|
571
620
|
}
|
|
572
621
|
catch {
|
|
573
|
-
//
|
|
622
|
+
// All installers failed.
|
|
574
623
|
}
|
|
575
624
|
}
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
625
|
+
if (!installed) {
|
|
626
|
+
s.stop([
|
|
627
|
+
`${color.yellow("⚠")} Could not install codegraph — all installers failed.`,
|
|
628
|
+
`Install manually: ${color.cyan(CODEGRAPH_URL)}`,
|
|
629
|
+
].join("\n"));
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
632
|
+
s.stop(`${color.green("✔")} Codegraph installed`);
|
|
633
|
+
// After a successful install, wire the selected host(s) + index the project.
|
|
634
|
+
wireCodegraph(targets);
|
|
580
635
|
}
|
|
581
636
|
//# sourceMappingURL=setup.js.map
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactively offers to install codegraph when it is absent.
|
|
3
|
+
*
|
|
4
|
+
* Shows a note about what codegraph provides, then prompts for install. On
|
|
5
|
+
* confirmation it tries the platform installer (curl/powershell) and falls
|
|
6
|
+
* back to a global npm install. Returns `true` only when a fresh install
|
|
7
|
+
* succeeded; returns `false` when the user declines or every installer fails
|
|
8
|
+
* (logging a manual-install hint in that case).
|
|
9
|
+
*
|
|
10
|
+
* Unlike the setup wizard's prompt, this does NOT wire the codegraph MCP into
|
|
11
|
+
* a host — MCP wiring is irrelevant during `arcs project init`, which only
|
|
12
|
+
* needs the binary present so it can build the index and seed proposals.
|
|
13
|
+
* Never throws.
|
|
14
|
+
*/
|
|
15
|
+
export declare function promptAndInstallCodegraph(): Promise<boolean>;
|
|
16
|
+
//# sourceMappingURL=codegraph-install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegraph-install.d.ts","sourceRoot":"","sources":["../../src/utils/codegraph-install.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAiFlE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import * as p from "@clack/prompts";
|
|
3
|
+
import color from "picocolors";
|
|
4
|
+
const CODEGRAPH_URL = "https://github.com/colbymchenry/codegraph";
|
|
5
|
+
/**
|
|
6
|
+
* Interactively offers to install codegraph when it is absent.
|
|
7
|
+
*
|
|
8
|
+
* Shows a note about what codegraph provides, then prompts for install. On
|
|
9
|
+
* confirmation it tries the platform installer (curl/powershell) and falls
|
|
10
|
+
* back to a global npm install. Returns `true` only when a fresh install
|
|
11
|
+
* succeeded; returns `false` when the user declines or every installer fails
|
|
12
|
+
* (logging a manual-install hint in that case).
|
|
13
|
+
*
|
|
14
|
+
* Unlike the setup wizard's prompt, this does NOT wire the codegraph MCP into
|
|
15
|
+
* a host — MCP wiring is irrelevant during `arcs project init`, which only
|
|
16
|
+
* needs the binary present so it can build the index and seed proposals.
|
|
17
|
+
* Never throws.
|
|
18
|
+
*/
|
|
19
|
+
export async function promptAndInstallCodegraph() {
|
|
20
|
+
p.note([
|
|
21
|
+
"Codegraph gives agents a pre-indexed code graph for efficient exploration",
|
|
22
|
+
"without full file reads (MCP-based). 100% local.",
|
|
23
|
+
"",
|
|
24
|
+
color.cyan(CODEGRAPH_URL),
|
|
25
|
+
].join("\n"), "Optional: Codegraph");
|
|
26
|
+
const shouldInstall = await p.confirm({
|
|
27
|
+
message: "Install codegraph now?",
|
|
28
|
+
initialValue: false,
|
|
29
|
+
});
|
|
30
|
+
if (p.isCancel(shouldInstall) || !shouldInstall) {
|
|
31
|
+
p.log.info(color.dim(`Install later: npx @colbymchenry/codegraph | ${CODEGRAPH_URL}`));
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const s = p.spinner();
|
|
35
|
+
s.start("Installing codegraph…");
|
|
36
|
+
let installed = false;
|
|
37
|
+
// ── Platform-based install ────────────────────────────────────────────────
|
|
38
|
+
try {
|
|
39
|
+
const platformInstall = process.platform === "win32"
|
|
40
|
+
? spawnSync("powershell", [
|
|
41
|
+
"-Command",
|
|
42
|
+
"irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex",
|
|
43
|
+
], { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 120_000 })
|
|
44
|
+
: spawnSync("sh", [
|
|
45
|
+
"-c",
|
|
46
|
+
"curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh",
|
|
47
|
+
], { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 120_000 });
|
|
48
|
+
if (platformInstall.status === 0) {
|
|
49
|
+
installed = true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Fall through to npm fallback.
|
|
54
|
+
}
|
|
55
|
+
// ── Fallback: npm global install ──────────────────────────────────────────
|
|
56
|
+
if (!installed) {
|
|
57
|
+
try {
|
|
58
|
+
const npmInstall = spawnSync("npm", ["i", "-g", "@colbymchenry/codegraph"], {
|
|
59
|
+
encoding: "utf-8",
|
|
60
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
61
|
+
timeout: 120_000,
|
|
62
|
+
});
|
|
63
|
+
if (npmInstall.status === 0) {
|
|
64
|
+
installed = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// All installers failed.
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (!installed) {
|
|
72
|
+
s.stop([
|
|
73
|
+
`${color.yellow("⚠")} Could not install codegraph — all installers failed.`,
|
|
74
|
+
`Install manually: ${color.cyan(CODEGRAPH_URL)}`,
|
|
75
|
+
].join("\n"));
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
s.stop(`${color.green("✔")} Codegraph installed`);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=codegraph-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegraph-install.js","sourceRoot":"","sources":["../../src/utils/codegraph-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { KnowledgeProposal } from "./codegraph.js";
|
|
2
|
+
/**
|
|
3
|
+
* Convert codegraph ingestion output into the proposals file payload
|
|
4
|
+
* and persist it through `proposal-store.writeProposals()`.
|
|
5
|
+
*
|
|
6
|
+
* Replaces the legacy direct-write path that used to populate
|
|
7
|
+
* `knowledge/index.json` and `knowledge/<id>.md` at ingest time. Codegraph
|
|
8
|
+
* proposals now sit in the proposals gate until a skill-aware host enriches
|
|
9
|
+
* them into durable knowledge entries.
|
|
10
|
+
*
|
|
11
|
+
* Merge semantics: if a proposals file already exists, proposals from the
|
|
12
|
+
* existing file with ids NOT present in the new extraction are preserved.
|
|
13
|
+
* This protects backfilled proposals (with empty structuralFacts) and any
|
|
14
|
+
* other pending entries from being clobbered when codegraph re-runs. The new
|
|
15
|
+
* extraction wins on collisions — a fresh extraction produces fresher facts.
|
|
16
|
+
*/
|
|
17
|
+
export declare function writeProposalsFile(slug: string, proposals: KnowledgeProposal[], graphJsonContent: string): Promise<{
|
|
18
|
+
written: number;
|
|
19
|
+
fingerprint: string;
|
|
20
|
+
preserved: number;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=codegraph-knowledge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegraph-knowledge.d.ts","sourceRoot":"","sources":["../../src/utils/codegraph-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUxD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,EAAE,EAC9B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAmCtE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { annotateDedupCandidates, computeGraphFingerprint, readProposals, writeProposals, } from "./proposal-store.js";
|
|
2
|
+
/**
|
|
3
|
+
* Convert codegraph ingestion output into the proposals file payload
|
|
4
|
+
* and persist it through `proposal-store.writeProposals()`.
|
|
5
|
+
*
|
|
6
|
+
* Replaces the legacy direct-write path that used to populate
|
|
7
|
+
* `knowledge/index.json` and `knowledge/<id>.md` at ingest time. Codegraph
|
|
8
|
+
* proposals now sit in the proposals gate until a skill-aware host enriches
|
|
9
|
+
* them into durable knowledge entries.
|
|
10
|
+
*
|
|
11
|
+
* Merge semantics: if a proposals file already exists, proposals from the
|
|
12
|
+
* existing file with ids NOT present in the new extraction are preserved.
|
|
13
|
+
* This protects backfilled proposals (with empty structuralFacts) and any
|
|
14
|
+
* other pending entries from being clobbered when codegraph re-runs. The new
|
|
15
|
+
* extraction wins on collisions — a fresh extraction produces fresher facts.
|
|
16
|
+
*/
|
|
17
|
+
export async function writeProposalsFile(slug, proposals, graphJsonContent) {
|
|
18
|
+
// Map ingestion shape → storage shape. The storage `Proposal` adds an
|
|
19
|
+
// initially-empty `suggestedDedupCandidates`; `annotateDedupCandidates`
|
|
20
|
+
// populates it from the existing knowledge index.
|
|
21
|
+
const draft = proposals.map((p) => ({
|
|
22
|
+
id: p.id,
|
|
23
|
+
kind: p.kind,
|
|
24
|
+
label: p.label,
|
|
25
|
+
structuralFacts: p.structuralFacts,
|
|
26
|
+
sourceFiles: p.sourceFiles,
|
|
27
|
+
suggestedDedupCandidates: [],
|
|
28
|
+
}));
|
|
29
|
+
const annotated = await annotateDedupCandidates(slug, draft);
|
|
30
|
+
// Preserve existing proposals not present in the new extraction. This
|
|
31
|
+
// protects the lossy backfill payload (structuralFacts: {}) and any other
|
|
32
|
+
// pending agent-enrichment work from being silently dropped on the next
|
|
33
|
+
// sync. New extraction wins on id collisions.
|
|
34
|
+
const existing = await readProposals(slug);
|
|
35
|
+
const newIds = new Set(annotated.map((p) => p.id));
|
|
36
|
+
const preserved = existing ? existing.proposals.filter((p) => !newIds.has(p.id)) : [];
|
|
37
|
+
const fingerprint = computeGraphFingerprint(graphJsonContent);
|
|
38
|
+
const payload = {
|
|
39
|
+
version: 1,
|
|
40
|
+
generatedAt: new Date().toISOString(),
|
|
41
|
+
graphFingerprint: fingerprint,
|
|
42
|
+
proposals: [...annotated, ...preserved],
|
|
43
|
+
};
|
|
44
|
+
await writeProposals(slug, payload);
|
|
45
|
+
return { written: proposals.length, fingerprint, preserved: preserved.length };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=codegraph-knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegraph-knowledge.js","sourceRoot":"","sources":["../../src/utils/codegraph-knowledge.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAGvB,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,SAA8B,EAC9B,gBAAwB;IAExB,sEAAsE;IACtE,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,KAAK,GAAe,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,eAAe,EAAE,CAAC,CAAC,eAAqD;QACxE,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,wBAAwB,EAAE,EAAE;KAC7B,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE7D,sEAAsE;IACtE,0EAA0E;IAC1E,wEAAwE;IACxE,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,MAAM,WAAW,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,gBAAgB,EAAE,WAAW;QAC7B,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC;KACxC,CAAC;IAEF,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export interface CodegraphInfo {
|
|
2
|
+
available: boolean;
|
|
3
|
+
version?: string;
|
|
4
|
+
path?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function detectCodegraph(): CodegraphInfo;
|
|
7
|
+
export interface CodegraphStatus {
|
|
8
|
+
initialized: boolean;
|
|
9
|
+
nodeCount: number;
|
|
10
|
+
edgeCount: number;
|
|
11
|
+
fileCount: number;
|
|
12
|
+
nodesByKind: Record<string, number>;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
export interface ExtractionResult {
|
|
16
|
+
success: true;
|
|
17
|
+
status: CodegraphStatus;
|
|
18
|
+
}
|
|
19
|
+
export interface ExtractionError {
|
|
20
|
+
success: false;
|
|
21
|
+
error: string;
|
|
22
|
+
code?: string;
|
|
23
|
+
}
|
|
24
|
+
export type ExtractionOutcome = ExtractionResult | ExtractionError;
|
|
25
|
+
/**
|
|
26
|
+
* A codegraph-derived knowledge proposal.
|
|
27
|
+
*
|
|
28
|
+
* Carries STRUCTURAL FACTS only — not prose. The calling agent (which has LLM
|
|
29
|
+
* tokens) is responsible for producing the final `title`/`summary`/`keywords`
|
|
30
|
+
* during the proposal-promote step. See plan
|
|
31
|
+
* `2026-06-02-graphify-proposal-gate-implementation-plan` §Proposal Shape.
|
|
32
|
+
*
|
|
33
|
+
* `suggestedDedupCandidates` is intentionally NOT on this type — that's
|
|
34
|
+
* computed by the proposal-store layer when proposals are written to disk,
|
|
35
|
+
* not at ingest time.
|
|
36
|
+
*/
|
|
37
|
+
export interface KnowledgeProposal {
|
|
38
|
+
/** Stable id, e.g. "codegraph-cluster-src-utils". */
|
|
39
|
+
id: string;
|
|
40
|
+
kind: "architecture" | "module" | "gotcha" | "pattern";
|
|
41
|
+
/** Human-friendly label. Agents will write the final title. */
|
|
42
|
+
label: string;
|
|
43
|
+
structuralFacts: ProposalStructuralFacts;
|
|
44
|
+
sourceFiles: Array<{
|
|
45
|
+
path: string;
|
|
46
|
+
anchor?: string;
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
49
|
+
export interface ProposalStructuralFacts {
|
|
50
|
+
memberCount?: number;
|
|
51
|
+
fileCount?: number;
|
|
52
|
+
/** e.g. { code: 260, document: 0 } */
|
|
53
|
+
fileTypeBreakdown?: Record<string, number>;
|
|
54
|
+
topHubs?: Array<{
|
|
55
|
+
label: string;
|
|
56
|
+
file: string;
|
|
57
|
+
in: number;
|
|
58
|
+
out: number;
|
|
59
|
+
}>;
|
|
60
|
+
topFilesByEntityCount?: Array<{
|
|
61
|
+
file: string;
|
|
62
|
+
count: number;
|
|
63
|
+
}>;
|
|
64
|
+
incomingFromOtherClusters?: number;
|
|
65
|
+
outgoingToOtherClusters?: number;
|
|
66
|
+
nodeFile?: string;
|
|
67
|
+
nodeIn?: number;
|
|
68
|
+
nodeOut?: number;
|
|
69
|
+
topCallers?: Array<{
|
|
70
|
+
label: string;
|
|
71
|
+
file: string;
|
|
72
|
+
}>;
|
|
73
|
+
topCallees?: Array<{
|
|
74
|
+
label: string;
|
|
75
|
+
file: string;
|
|
76
|
+
}>;
|
|
77
|
+
couplingA?: {
|
|
78
|
+
label: string;
|
|
79
|
+
file: string;
|
|
80
|
+
degree: number;
|
|
81
|
+
};
|
|
82
|
+
couplingB?: {
|
|
83
|
+
label: string;
|
|
84
|
+
file: string;
|
|
85
|
+
degree: number;
|
|
86
|
+
};
|
|
87
|
+
/** Edge relation types (e.g. ["imports_from", "calls"]). */
|
|
88
|
+
relations?: string[];
|
|
89
|
+
}
|
|
90
|
+
export interface IngestionResult {
|
|
91
|
+
proposals: KnowledgeProposal[];
|
|
92
|
+
stats: {
|
|
93
|
+
godNodes: number;
|
|
94
|
+
communities: number;
|
|
95
|
+
crossModuleCouplings: number;
|
|
96
|
+
totalProposals: number;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export declare function runIndex(workspacePath: string): ExtractionOutcome;
|
|
100
|
+
export declare function ingestGraph(_workspacePath: string, _slug: string): IngestionResult;
|
|
101
|
+
//# sourceMappingURL=codegraph.d.ts.map
|