@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.
Files changed (67) hide show
  1. package/README.md +17 -14
  2. package/dist/cli/arcs-orchestrate.d.ts +1 -1
  3. package/dist/cli/arcs-orchestrate.d.ts.map +1 -1
  4. package/dist/cli/arcs-orchestrate.js +5 -3
  5. package/dist/cli/arcs-orchestrate.js.map +1 -1
  6. package/dist/cli/bundle-installer.d.ts.map +1 -1
  7. package/dist/cli/bundle-installer.js +32 -0
  8. package/dist/cli/bundle-installer.js.map +1 -1
  9. package/dist/cli/commands/maintenance.js +26 -24
  10. package/dist/cli/commands/maintenance.js.map +1 -1
  11. package/dist/cli/commands/project.js +49 -26
  12. package/dist/cli/commands/project.js.map +1 -1
  13. package/dist/cli/commands/proposal.js +12 -11
  14. package/dist/cli/commands/proposal.js.map +1 -1
  15. package/dist/cli/config.d.ts +19 -0
  16. package/dist/cli/config.d.ts.map +1 -1
  17. package/dist/cli/config.js +23 -0
  18. package/dist/cli/config.js.map +1 -1
  19. package/dist/cli/instructions.d.ts.map +1 -1
  20. package/dist/cli/instructions.js +14 -0
  21. package/dist/cli/instructions.js.map +1 -1
  22. package/dist/cli/setup.d.ts +6 -3
  23. package/dist/cli/setup.d.ts.map +1 -1
  24. package/dist/cli/setup.js +125 -70
  25. package/dist/cli/setup.js.map +1 -1
  26. package/dist/utils/codegraph-install.d.ts +16 -0
  27. package/dist/utils/codegraph-install.d.ts.map +1 -0
  28. package/dist/utils/codegraph-install.js +81 -0
  29. package/dist/utils/codegraph-install.js.map +1 -0
  30. package/dist/utils/codegraph-knowledge.d.ts +22 -0
  31. package/dist/utils/codegraph-knowledge.d.ts.map +1 -0
  32. package/dist/utils/codegraph-knowledge.js +47 -0
  33. package/dist/utils/codegraph-knowledge.js.map +1 -0
  34. package/dist/utils/codegraph.d.ts +101 -0
  35. package/dist/utils/codegraph.d.ts.map +1 -0
  36. package/dist/utils/codegraph.js +383 -0
  37. package/dist/utils/codegraph.js.map +1 -0
  38. package/dist/utils/json-schemas.d.ts +84 -84
  39. package/dist/utils/json-schemas.d.ts.map +1 -1
  40. package/dist/utils/json-schemas.js +11 -9
  41. package/dist/utils/json-schemas.js.map +1 -1
  42. package/dist/utils/proposal-store.d.ts +2 -2
  43. package/dist/utils/proposal-store.d.ts.map +1 -1
  44. package/dist/utils/proposal-store.js +34 -7
  45. package/dist/utils/proposal-store.js.map +1 -1
  46. package/opencode/arcs/bundle-runtime.json +2 -2
  47. package/opencode/arcs/manifest.json +1 -1
  48. package/opencode/arcs/prompts/arcs-orchestrate-caveman.txt +5 -3
  49. package/opencode/arcs/prompts/arcs-orchestrate.txt +5 -3
  50. package/opencode/arcs/prompts/code-reviewer.txt +2 -0
  51. package/opencode/arcs/prompts/docs-researcher.txt +1 -1
  52. package/opencode/arcs/prompts/graph-explorer.txt +36 -202
  53. package/opencode/arcs/prompts/oncall-ops.txt +2 -0
  54. package/opencode/arcs/prompts/system-architect.txt +2 -0
  55. package/opencode/arcs/prompts/tech-architect.txt +2 -0
  56. package/opencode/arcs/skills/deep-pr-review/SKILL.md +5 -5
  57. package/opencode/arcs/skills/deep-pr-review/{graphify-diff.md → codegraph-diff.md} +27 -31
  58. package/opencode/arcs/skills/deep-pr-review/review-template.md +2 -2
  59. package/opencode/arcs/skills/{enriching-graphify-proposals → enriching-codegraph-proposals}/SKILL.md +8 -8
  60. package/opencode/arcs/skills/init-project/SKILL.md +38 -38
  61. package/package.json +2 -2
  62. package/scripts/build-opencode-bundle.mjs +4 -3
  63. package/scripts/deploy-claudecode-bundle.mjs +8 -1
  64. package/scripts/deploy-opencode-bundle.mjs +8 -1
  65. package/scripts/lib/bundle-helpers.mjs +17 -0
  66. package/scripts/lint-bundle.mjs +5 -2
  67. 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 { detectGraphify } from "../utils/graphify.js";
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, readOpenCodeConfig, writeConfig, } from "./config.js";
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 openCodeConfig = await readOpenCodeConfig();
106
+ const configDiagnosis = await diagnoseOpenCodeConfig();
107
+ const openCodeConfig = configDiagnosis.status === "ok" ? configDiagnosis.config : null;
107
108
  const preFills = extractModelPreFills(openCodeConfig);
108
- if (openCodeConfig) {
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 graphify installation ──────────────────────────────────────────
358
- await promptGraphifyInstall();
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
- // Graphify Installation Prompt
497
+ // Codegraph Installation Prompt
489
498
  // ---------------------------------------------------------------------------
499
+ const CODEGRAPH_URL = "https://github.com/colbymchenry/codegraph";
490
500
  /**
491
- * Detects Python 3.10+ availability and returns the major.minor version,
492
- * or null if Python is not found or version is insufficient.
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 detectPython310() {
495
- for (const cmd of ["python3", "python"]) {
496
- try {
497
- const output = execSync(`${cmd} --version`, {
498
- encoding: "utf-8",
499
- stdio: ["pipe", "pipe", "pipe"],
500
- timeout: 5000,
501
- }).trim();
502
- const match = output.match(/(\d+)\.(\d+)\.(\d+)/);
503
- if (match) {
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
- catch {
512
- // Command not found or failed, try next
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
- return null;
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 graphify if it's not already available
520
- * and Python 3.10+ is detected. Gracefully handles all decline/failure paths.
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 promptGraphifyInstall() {
523
- const info = detectGraphify();
524
- if (info.available)
525
- return;
526
- const python = detectPython310();
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
- "Graphify enables automatic codebase graph analysis.",
543
- "AI agents get richer structural context without scanning from scratch each session.",
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(GRAPHIFY_URL),
546
- ].join("\n"), "Optional: Graphify");
578
+ color.cyan(CODEGRAPH_URL),
579
+ ].join("\n"), "Optional: Codegraph");
547
580
  const shouldInstall = await p.confirm({
548
- message: `Install graphify now? (Python ${python.version} detected)`,
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: uv tool install graphifyy | ${GRAPHIFY_URL}`));
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 graphify…");
562
- for (const cmd of installCommands) {
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
- execSync(cmd, {
612
+ const npmInstall = spawnSync("npm", ["i", "-g", "@colbymchenry/codegraph"], {
565
613
  encoding: "utf-8",
566
614
  stdio: ["pipe", "pipe", "pipe"],
567
- timeout: 60_000,
615
+ timeout: 120_000,
568
616
  });
569
- s.stop(`${color.green("✔")} Graphify installed via ${color.dim(cmd.split(" ")[0])}`);
570
- return;
617
+ if (npmInstall.status === 0) {
618
+ installed = true;
619
+ }
571
620
  }
572
621
  catch {
573
- // Try next installer
622
+ // All installers failed.
574
623
  }
575
624
  }
576
- s.stop([
577
- `${color.yellow("⚠")} Could not install graphify — all installers failed.`,
578
- `Install manually: ${color.cyan(GRAPHIFY_URL)}`,
579
- ].join("\n"));
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
@@ -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