@nanonets/graft 0.6.0 → 0.7.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.
Files changed (71) hide show
  1. package/README.md +93 -52
  2. package/dist/ai/llm/types.d.ts +2 -2
  3. package/dist/ai/llm/types.js +1 -1
  4. package/dist/ask/ask.d.ts +49 -1
  5. package/dist/ask/ask.d.ts.map +1 -1
  6. package/dist/ask/ask.js +270 -68
  7. package/dist/ask/ask.js.map +1 -1
  8. package/dist/ask/fuse.d.ts +59 -17
  9. package/dist/ask/fuse.d.ts.map +1 -1
  10. package/dist/ask/fuse.js +51 -25
  11. package/dist/ask/fuse.js.map +1 -1
  12. package/dist/ask/graphrank.d.ts +6 -0
  13. package/dist/ask/graphrank.d.ts.map +1 -1
  14. package/dist/ask/graphrank.js +5 -1
  15. package/dist/ask/graphrank.js.map +1 -1
  16. package/dist/claude/format.d.ts +0 -1
  17. package/dist/claude/format.d.ts.map +1 -1
  18. package/dist/claude/format.js +18 -21
  19. package/dist/claude/format.js.map +1 -1
  20. package/dist/claude/hooks.d.ts +16 -0
  21. package/dist/claude/hooks.d.ts.map +1 -1
  22. package/dist/claude/hooks.js +79 -2
  23. package/dist/claude/hooks.js.map +1 -1
  24. package/dist/claude/settings-merge.d.ts.map +1 -1
  25. package/dist/claude/settings-merge.js +13 -6
  26. package/dist/claude/settings-merge.js.map +1 -1
  27. package/dist/claude/skill-template.d.ts.map +1 -1
  28. package/dist/claude/skill-template.js +117 -76
  29. package/dist/claude/skill-template.js.map +1 -1
  30. package/dist/cli-epilogue.js +1 -1
  31. package/dist/cli-epilogue.js.map +1 -1
  32. package/dist/cli.d.ts +3 -15
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +79 -45
  35. package/dist/cli.js.map +1 -1
  36. package/dist/context/node-file.d.ts +10 -0
  37. package/dist/context/node-file.d.ts.map +1 -1
  38. package/dist/context/node-file.js +34 -1
  39. package/dist/context/node-file.js.map +1 -1
  40. package/dist/context/savings.d.ts +6 -0
  41. package/dist/context/savings.d.ts.map +1 -1
  42. package/dist/context/savings.js +9 -1
  43. package/dist/context/savings.js.map +1 -1
  44. package/dist/engine.d.ts +1 -0
  45. package/dist/engine.d.ts.map +1 -1
  46. package/dist/engine.js +7 -1
  47. package/dist/engine.js.map +1 -1
  48. package/dist/graph/build.d.ts.map +1 -1
  49. package/dist/graph/build.js +37 -1
  50. package/dist/graph/build.js.map +1 -1
  51. package/dist/graph/map.d.ts +34 -2
  52. package/dist/graph/map.d.ts.map +1 -1
  53. package/dist/graph/map.js +107 -23
  54. package/dist/graph/map.js.map +1 -1
  55. package/dist/graph/types.d.ts +12 -0
  56. package/dist/graph/types.d.ts.map +1 -1
  57. package/dist/graph/workspace-cli.d.ts +37 -0
  58. package/dist/graph/workspace-cli.d.ts.map +1 -0
  59. package/dist/graph/workspace-cli.js +74 -0
  60. package/dist/graph/workspace-cli.js.map +1 -0
  61. package/dist/graph/workspace.d.ts +116 -124
  62. package/dist/graph/workspace.d.ts.map +1 -1
  63. package/dist/graph/workspace.js +353 -297
  64. package/dist/graph/workspace.js.map +1 -1
  65. package/dist/hosts/instructions.d.ts.map +1 -1
  66. package/dist/hosts/instructions.js +3 -0
  67. package/dist/hosts/instructions.js.map +1 -1
  68. package/dist/mcp/tools.d.ts.map +1 -1
  69. package/dist/mcp/tools.js +61 -1
  70. package/dist/mcp/tools.js.map +1 -1
  71. package/package.json +1 -2
@@ -1,136 +1,128 @@
1
- import { type AskIndex } from "../ask/index-file.js";
2
- import { type GraphBuildResult } from "./build.js";
3
- import { type GraphCheckResult } from "./check.js";
4
- import { type RepoMap } from "./map.js";
1
+ import { type Direction } from "./traverse.js";
5
2
  import type { GraphV1 } from "./types.js";
6
- /** The parent-side manifest — the ONLY thing a workspace parent's graft/ holds. */
3
+ import { type AskResult } from "../ask/ask.js";
4
+ import { type GrepResult } from "../search/grep.js";
5
+ import { formatGrepResult, zeroHitNote } from "../search/grep-cli.js";
6
+ /** The parent index written to `<parent>/graft/workspace.json`. Nodes/edges
7
+ * never live at the parent — they live in each child's own `graft/`. */
7
8
  export interface WorkspaceV1 {
8
9
  version: 1;
9
- /** Immediate child git repos, as dir names, sorted. */
10
+ /** Immediate child dir names that are git repos, sorted. */
10
11
  children: string[];
11
12
  }
12
- export declare const WORKSPACE_FILE = "workspace.json";
13
- /** `<contextDir>/workspace.json` — sibling of where `.graph/` would live. */
14
- export declare function workspacePath(outDir: string): string;
15
- /** Read the workspace manifest for the repo/parent at `root` (respecting the
16
- * `--dir` override like every other reader). Null when absent or malformed —
17
- * a non-workspace root costs one `existsSync`. */
18
- export declare function readWorkspace(root: string, contextDirOverride?: string): WorkspaceV1 | null;
19
- /** Write the manifest (children sorted; deterministic bytes, like writeGraph). */
20
- export declare function writeWorkspace(outDir: string, ws: WorkspaceV1): string;
21
- /** Build-time workspace detection: `root` has NO `.git` of its own and >=2
22
- * immediate git children (a `.git` FILE — worktree/submodule — counts).
23
- * Returns the sorted child names, or null when `root` is a normal repo/dir. */
24
- export declare function isWorkspaceRoot(root: string): string[] | null;
13
+ /** Absolute path to the workspace index for a parent root (`<dir>/graft/workspace.json`). */
14
+ export declare function workspacePath(root: string, override?: string): string;
15
+ /** Read the workspace index, or null when the parent has none (not a workspace,
16
+ * or unparseable/foreign json — treated the same as absent). */
17
+ export declare function readWorkspace(root: string, override?: string): WorkspaceV1 | null;
18
+ /** Write the workspace index, sorting children for a stable, minimal git diff. */
19
+ export declare function writeWorkspace(root: string, ws: WorkspaceV1, override?: string): string;
20
+ /** A parent is a workspace BUILD target when it has no own `.git` and ≥2 git
21
+ * children — or it was already split (a `workspace.json` is present). The
22
+ * no-own-`.git` guard keeps a normal repo with git submodules from being
23
+ * mistaken for a workspace. */
24
+ export declare function isWorkspaceBuildRoot(root: string, override?: string): boolean;
25
+ /** True when the parent has a mega-graph from an older single-graph build
26
+ * (`graft/.graph/wiring.json`) — the thing a workspace build migrates away. */
27
+ export declare function hasMegaGraph(root: string, override?: string): boolean;
28
+ /** The EXACT split warning printed once, when a mega-graph parent is first
29
+ * built as a workspace. Templated on the child list so it names the real repos. */
30
+ export declare function migrationNote(children: string[]): string;
31
+ /** Remove the parent's entire `graft/` tree — the mega-graph, its `.cache`, and
32
+ * any stale cards — so after `writeWorkspace` the parent holds ONLY
33
+ * workspace.json. Child graphs live in sibling `<child>/graft/`, never under
34
+ * this dir, so they are untouched. */
35
+ export declare function clearParentGraft(root: string, override?: string): void;
36
+ export interface LoadedChild {
37
+ child: string;
38
+ graph: GraphV1;
39
+ }
25
40
  export interface WorkspaceGraphs {
26
- /** All children listed in the manifest. */
27
- children: string[];
28
- /** Children with a built graph, in manifest order. Each child's graph and
29
- * sidecar come from ITS OWN `graft/` via the shared caches. */
30
- built: {
31
- child: string;
32
- contextDir: string;
33
- graph: GraphV1;
34
- askIndex: AskIndex | null;
35
- }[];
36
- /** Children without a built graph — surfaced, never silently skipped. */
37
- unbuilt: string[];
38
- /** The surfacing line, set whenever `unbuilt` is non-empty. */
39
- note?: string;
41
+ /** Children (from workspace.json when present, else discovered) that have a
42
+ * built graph, in sorted child order. */
43
+ loaded: LoadedChild[];
44
+ /** Listed children with no built graph yet — surfaced, never silently skipped. */
45
+ missing: string[];
40
46
  }
41
- /** Load every child's graph via `loadGraphCached` (the only graph loader).
42
- * Null when `root` is not a workspace (no manifest). */
43
- export declare function loadWorkspaceGraphs(root: string, contextDirOverride?: string): WorkspaceGraphs | null;
44
- /** Merge the built children into one virtual graph whose scopes are each
45
- * child's scopes prefixed `<child>/` (child root scope → `<child>`). With >=2
46
- * built children this is always multi-scope, so `ask` takes its per-scope
47
- * RRF path and labels every hit with its repo. Null when nothing is built. */
48
- export declare function mergeWorkspaceGraphs(built: WorkspaceGraphs["built"]): GraphV1 | null;
49
- /** Merge the children's build-time ask sidecars to match the merged graph:
50
- * doc ids prefixed, and each doc's path bag gains the child dir's tokens —
51
- * exactly what live tokenization of the prefixed path would produce, so the
52
- * sidecar stays a provably exact cache. `df`/`docCount`/`avgBodyLen` are
53
- * recomputed over the merged docs. Null (→ live-tokenization fallback, same
54
- * degradation as any stale sidecar) unless EVERY built child has a sidecar
55
- * that exactly covers its graph. */
56
- export declare function mergeWorkspaceAskIndexes(built: WorkspaceGraphs["built"]): AskIndex | null;
57
- /** One-call federation for graph-consuming commands (grep, callers/callees,
58
- * impact, MCP): null when `root` is not a workspace; otherwise the merged
59
- * graph (null when no child is built) plus the unbuilt-children note. */
60
- export declare function loadFederatedGraph(root: string, contextDirOverride?: string): {
61
- graph: GraphV1 | null;
62
- note?: string;
63
- } | null;
64
- /** Federation inputs for `ask`: the merged graph + merged sidecar + each built
65
- * child's context dir (for its concept nodes). `ask` feeds the merged graph to
66
- * its existing multi-scope pipeline, so `rankScopesAndFuse` does the fair
67
- * cross-repo fusion with `<child>/`-prefixed scope labels. */
68
- export declare function federateAsk(root: string, contextDirOverride?: string): {
69
- graph: GraphV1 | null;
70
- askIndex: AskIndex | null;
71
- built: {
72
- child: string;
73
- contextDir: string;
74
- }[];
75
- note?: string;
76
- } | null;
77
- /** EXACT migration wording (asserted by tests) for a parent whose old combined
78
- * graph is being replaced by the workspace manifest. */
79
- export declare function migrationNote(children: string[]): string;
80
- export interface WorkspaceBuildResult {
81
- children: {
82
- child: string;
83
- result: GraphBuildResult;
84
- }[];
85
- workspacePath: string;
86
- /** True when a pre-existing combined graph at the parent was replaced. */
87
- migrated: boolean;
88
- /** The exact {@link migrationNote} wording, set only when `migrated`. */
89
- migrationNote?: string;
47
+ /** Load each child's graph via `loadGraphCached`. Children come from
48
+ * workspace.json when present, otherwise from live git-child discovery (a
49
+ * not-yet-built workspace). A child without a built graph is counted into
50
+ * `missing`, not dropped. */
51
+ export declare function loadWorkspaceGraphs(root: string, override?: string): WorkspaceGraphs;
52
+ /** "2 of 3 workspace repos have graphs; run graft build to cover repoC" — the
53
+ * coverage line federated commands append when some listed child is unbuilt.
54
+ * Empty string when every child has a graph. */
55
+ export declare function coverageNote(g: WorkspaceGraphs): string;
56
+ export interface FederateAskOptions {
57
+ limit?: number;
58
+ source?: boolean;
59
+ full?: boolean;
60
+ graphRank?: boolean;
61
+ /** Narrow to one child (`repoA`) or a sub-scope within it (`repoA/backend`).
62
+ * A prefix matching NO child throws, listing the repos. */
63
+ in?: string;
90
64
  }
91
65
  /**
92
- * `graft build` at a workspace parent: build each child's graph into the child
93
- * (plain `buildGraph(childDir)` — nothing parent-side touches it, which is what
94
- * makes the result byte-identical to a standalone build), then write the
95
- * parent manifest. A pre-existing mega-graph (`graft/.graph/wiring.json` at
96
- * the parent) is replaced: its `.graph/` and `.cache/` are deleted AFTER the
97
- * children built successfully, so a failed child build never destroys the old
98
- * (still-working) graph.
66
+ * Federated `ask` across a workspace: run each child's own per-scope ask
67
+ * pipeline, then fuse ALL the children's scope lists with the same
68
+ * `fuseScopes` used inside a single multi-scope repo. Each child contributes
69
+ * one fusion scope per intra-child scope, labeled `<child>/<scope>` (or just
70
+ * `<child>` for a child's root scope), so a big repo can't drown a small one —
71
+ * rank positions are comparable across repos where raw scores are not.
72
+ *
73
+ * Returns a normal `AskResult`; `formatAsk` renders it unchanged, labeling each
74
+ * hit `[<child>/…]` via the standard multi-scope path.
99
75
  */
100
- export declare function buildWorkspace(root: string, opts?: {
101
- contextDir?: string;
102
- }): Promise<WorkspaceBuildResult>;
103
- /** Human report for a workspace build — the migration note (when migrating)
104
- * first, then one ✓ line per child, then where the manifest went. */
105
- export declare function formatWorkspaceBuild(r: WorkspaceBuildResult): string;
106
- export interface WorkspaceCheck {
107
- children: {
108
- child: string;
109
- missing: boolean;
110
- ok: boolean;
111
- summary: string;
112
- result: GraphCheckResult;
113
- }[];
114
- /** True when any child that HAS a graph is stale — unbuilt alone never fails. */
115
- failed: boolean;
116
- }
117
- /** Per-child drift check ({@link checkGraph} in each child repo). */
118
- export declare function checkWorkspace(root: string, contextDirOverride?: string): WorkspaceCheck;
119
- export declare function formatWorkspaceCheck(c: WorkspaceCheck): string;
120
- export interface WorkspaceMap {
121
- children: {
122
- child: string;
123
- map: RepoMap;
124
- }[];
125
- note?: string;
126
- }
127
- /** Per-child repo maps, the directory budget split evenly across the built
128
- * children. Null when `root` is not a workspace. */
129
- export declare function buildWorkspaceMap(root: string, opts?: {
76
+ export declare function federateAsk(root: string, override: string | undefined, query: string, opts?: FederateAskOptions): AskResult;
77
+ /** Merge every child's `GrepResult` into one, prefixing group paths with the
78
+ * child dir and re-sorting by coupling (inDegree desc, path asc) across repos.
79
+ * In-degree stays each child's own — it comes from that child's graph. */
80
+ export declare function federateGrep(root: string, override: string | undefined, pattern: string, opts?: {
81
+ ignoreCase?: boolean;
82
+ fixed?: boolean;
83
+ }): {
84
+ result: GrepResult;
85
+ coverage: string;
86
+ };
87
+ /** One `graft map` section per child (each child's own map, budget split evenly
88
+ * across the loaded children), joined under `<child>/` headers. */
89
+ export declare function federateMap(root: string, override: string | undefined, opts?: {
130
90
  maxDirs?: number;
131
- contextDir?: string;
132
- }): WorkspaceMap | null;
133
- /** One section per child (its own `formatRepoMap` report under a `<child>/`
134
- * heading), plus the unbuilt-children note when present. */
135
- export declare function formatWorkspaceMap(m: WorkspaceMap): string;
91
+ }): string;
92
+ /** Per-child drift status. `ok` is false when any BUILT child is stale — an
93
+ * unbuilt child is surfaced (coverage), never a failure. */
94
+ export declare function federateCheck(root: string, override?: string): {
95
+ text: string;
96
+ ok: boolean;
97
+ };
98
+ /** Resolve a symbol across every child, grouped per child. Reuses the shared
99
+ * traverse-cli formatters so each block reads exactly like `graft callers`. */
100
+ export declare function federateCallers(root: string, override: string | undefined, symbol: string, opts?: {
101
+ direction?: Direction;
102
+ depth?: number;
103
+ in?: string;
104
+ }): {
105
+ text: string;
106
+ found: boolean;
107
+ };
108
+ /**
109
+ * Split a parent into a workspace: build each git child (via the supplied
110
+ * `buildChild` callback, so this stays free of any engine/LLM dependency),
111
+ * then REPLACE the parent's `graft/` with just `workspace.json`. `onStart`
112
+ * fires once — before any child is built — carrying whether this build is a
113
+ * mega-graph migration, so the caller can print the one-time split warning
114
+ * first, exactly as the spec requires.
115
+ *
116
+ * The child build writes into `<child>/graft/` and is byte-identical to
117
+ * building that child standalone (`buildChild` is just `buildGraph(childDir)`),
118
+ * because nothing about the parent path enters the child's build.
119
+ */
120
+ export declare function splitWorkspace(root: string, override: string | undefined, buildChild: (childDir: string, childName: string) => Promise<void>, onStart?: (info: {
121
+ children: string[];
122
+ migrated: boolean;
123
+ }) => void): Promise<{
124
+ children: string[];
125
+ migrated: boolean;
126
+ }>;
127
+ export { formatGrepResult, zeroHitNote };
136
128
  //# sourceMappingURL=workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/graph/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/graph/workspace.ts"],"names":[],"mappings":"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"}