@roarpeng/graphflow 1.0.8 → 1.0.9

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 (128) hide show
  1. package/AGENTS.md +8 -0
  2. package/CHANGELOG.md +25 -0
  3. package/CLAUDE.md +2 -1
  4. package/README.md +12 -10
  5. package/dist/agents/insight.d.ts +7 -0
  6. package/dist/agents/insight.d.ts.map +1 -1
  7. package/dist/agents/insight.js +44 -0
  8. package/dist/agents/insight.js.map +1 -1
  9. package/dist/config/defaults.d.ts.map +1 -1
  10. package/dist/config/defaults.js +6 -1
  11. package/dist/config/defaults.js.map +1 -1
  12. package/dist/config/include-extensions.d.ts +17 -0
  13. package/dist/config/include-extensions.d.ts.map +1 -0
  14. package/dist/config/include-extensions.js +50 -0
  15. package/dist/config/include-extensions.js.map +1 -0
  16. package/dist/config/llm-availability.d.ts +7 -0
  17. package/dist/config/llm-availability.d.ts.map +1 -0
  18. package/dist/config/llm-availability.js +37 -0
  19. package/dist/config/llm-availability.js.map +1 -0
  20. package/dist/config/loader.d.ts.map +1 -1
  21. package/dist/config/loader.js +2 -8
  22. package/dist/config/loader.js.map +1 -1
  23. package/dist/config/scaffold.d.ts +9 -0
  24. package/dist/config/scaffold.d.ts.map +1 -1
  25. package/dist/config/scaffold.js +28 -0
  26. package/dist/config/scaffold.js.map +1 -1
  27. package/dist/config/schema.d.ts +1 -1
  28. package/dist/config/schema.d.ts.map +1 -1
  29. package/dist/config/workspace-packages.d.ts +8 -0
  30. package/dist/config/workspace-packages.d.ts.map +1 -0
  31. package/dist/config/workspace-packages.js +157 -0
  32. package/dist/config/workspace-packages.js.map +1 -0
  33. package/dist/core/agent-delegation.d.ts +24 -0
  34. package/dist/core/agent-delegation.d.ts.map +1 -0
  35. package/dist/core/agent-delegation.js +98 -0
  36. package/dist/core/agent-delegation.js.map +1 -0
  37. package/dist/core/merge-agent-insight.d.ts +20 -0
  38. package/dist/core/merge-agent-insight.d.ts.map +1 -0
  39. package/dist/core/merge-agent-insight.js +167 -0
  40. package/dist/core/merge-agent-insight.js.map +1 -0
  41. package/dist/core/orchestrator.d.ts +3 -1
  42. package/dist/core/orchestrator.d.ts.map +1 -1
  43. package/dist/core/orchestrator.js +66 -7
  44. package/dist/core/orchestrator.js.map +1 -1
  45. package/dist/core/submit-agent-insight.d.ts +33 -0
  46. package/dist/core/submit-agent-insight.d.ts.map +1 -0
  47. package/dist/core/submit-agent-insight.js +88 -0
  48. package/dist/core/submit-agent-insight.js.map +1 -0
  49. package/dist/core/types.d.ts +10 -0
  50. package/dist/core/types.d.ts.map +1 -1
  51. package/dist/graph/context-slicer.d.ts.map +1 -1
  52. package/dist/graph/context-slicer.js +92 -0
  53. package/dist/graph/context-slicer.js.map +1 -1
  54. package/dist/graph/file-indexer.d.ts +7 -0
  55. package/dist/graph/file-indexer.d.ts.map +1 -1
  56. package/dist/graph/file-indexer.js +23 -3
  57. package/dist/graph/file-indexer.js.map +1 -1
  58. package/dist/graph/language-indexers/c-cpp.d.ts.map +1 -1
  59. package/dist/graph/language-indexers/c-cpp.js +10 -2
  60. package/dist/graph/language-indexers/c-cpp.js.map +1 -1
  61. package/dist/graph/language-indexers/index.d.ts.map +1 -1
  62. package/dist/graph/language-indexers/index.js +4 -0
  63. package/dist/graph/language-indexers/index.js.map +1 -1
  64. package/dist/graph/language-indexers/kotlin.d.ts +8 -0
  65. package/dist/graph/language-indexers/kotlin.d.ts.map +1 -0
  66. package/dist/graph/language-indexers/kotlin.js +193 -0
  67. package/dist/graph/language-indexers/kotlin.js.map +1 -0
  68. package/dist/graph/language-indexers/swift.d.ts +8 -0
  69. package/dist/graph/language-indexers/swift.d.ts.map +1 -0
  70. package/dist/graph/language-indexers/swift.js +156 -0
  71. package/dist/graph/language-indexers/swift.js.map +1 -0
  72. package/dist/graph/language-indexers/tree-sitter-loader.d.ts +6 -1
  73. package/dist/graph/language-indexers/tree-sitter-loader.d.ts.map +1 -1
  74. package/dist/graph/language-indexers/tree-sitter-loader.js +49 -52
  75. package/dist/graph/language-indexers/tree-sitter-loader.js.map +1 -1
  76. package/dist/graph/snapshot-view.d.ts +10 -3
  77. package/dist/graph/snapshot-view.d.ts.map +1 -1
  78. package/dist/graph/snapshot-view.js +76 -12
  79. package/dist/graph/snapshot-view.js.map +1 -1
  80. package/dist/index.d.ts +4 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +11 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  85. package/dist/learning/skill-flywheel.js +57 -13
  86. package/dist/learning/skill-flywheel.js.map +1 -1
  87. package/dist/surfaces/cli/index.js +2 -1
  88. package/dist/surfaces/cli/index.js.map +1 -1
  89. package/dist/surfaces/cli/runtime/facade.d.ts +3 -1
  90. package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -1
  91. package/dist/surfaces/cli/runtime/facade.js.map +1 -1
  92. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  93. package/dist/surfaces/cli/runtime/graph.js +9 -1
  94. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  95. package/dist/surfaces/cli/runtime/routing.d.ts +10 -0
  96. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  97. package/dist/surfaces/cli/runtime/routing.js +42 -3
  98. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  99. package/dist/surfaces/cli/runtime.d.ts +1 -1
  100. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  101. package/dist/surfaces/cli/runtime.js +3 -1
  102. package/dist/surfaces/cli/runtime.js.map +1 -1
  103. package/dist/surfaces/mcp/server.d.ts +6 -28
  104. package/dist/surfaces/mcp/server.d.ts.map +1 -1
  105. package/dist/surfaces/mcp/server.js +16 -433
  106. package/dist/surfaces/mcp/server.js.map +1 -1
  107. package/dist/surfaces/mcp/tool-definitions.d.ts +12 -0
  108. package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -0
  109. package/dist/surfaces/mcp/tool-definitions.js +278 -0
  110. package/dist/surfaces/mcp/tool-definitions.js.map +1 -0
  111. package/dist/surfaces/mcp/tool-handlers.d.ts +22 -0
  112. package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -0
  113. package/dist/surfaces/mcp/tool-handlers.js +174 -0
  114. package/dist/surfaces/mcp/tool-handlers.js.map +1 -0
  115. package/dist/surfaces/mcp/version.d.ts +3 -0
  116. package/dist/surfaces/mcp/version.d.ts.map +1 -0
  117. package/dist/surfaces/mcp/version.js +26 -0
  118. package/dist/surfaces/mcp/version.js.map +1 -0
  119. package/package.json +6 -4
  120. package/wasm/tree-sitter-c.wasm +0 -0
  121. package/wasm/tree-sitter-cpp.wasm +0 -0
  122. package/wasm/tree-sitter-go.wasm +0 -0
  123. package/wasm/tree-sitter-java.wasm +0 -0
  124. package/wasm/tree-sitter-kotlin.wasm +0 -0
  125. package/wasm/tree-sitter-python.wasm +0 -0
  126. package/wasm/tree-sitter-ruby.wasm +0 -0
  127. package/wasm/tree-sitter-rust.wasm +0 -0
  128. package/wasm/tree-sitter-swift.wasm +0 -0
@@ -2,21 +2,49 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveGlobalConfigPath = resolveGlobalConfigPath;
4
4
  exports.resolveWorkspaceOverlayPath = resolveWorkspaceOverlayPath;
5
+ exports.migrateGlobalGraphFlowConfig = migrateGlobalGraphFlowConfig;
5
6
  exports.ensureGlobalGraphFlowConfig = ensureGlobalGraphFlowConfig;
6
7
  exports.ensureWorkspaceGraphFlowConfig = ensureWorkspaceGraphFlowConfig;
7
8
  const node_fs_1 = require("node:fs");
8
9
  const node_os_1 = require("node:os");
9
10
  const node_path_1 = require("node:path");
10
11
  const defaults_1 = require("./defaults");
12
+ const include_extensions_js_1 = require("./include-extensions.js");
11
13
  function resolveGlobalConfigPath() {
12
14
  return (0, node_path_1.join)((0, node_os_1.homedir)(), ".graphflow.config.json");
13
15
  }
14
16
  function resolveWorkspaceOverlayPath(workspaceRoot) {
15
17
  return (0, node_path_1.join)(workspaceRoot, ".graphflow", "config.json");
16
18
  }
19
+ /** Upgrade legacy web-only includeExtensions in an existing global config file. */
20
+ function migrateGlobalGraphFlowConfig(options) {
21
+ const path = options?.configPath ?? resolveGlobalConfigPath();
22
+ if (!(0, node_fs_1.existsSync)(path)) {
23
+ return { path, status: "skipped", message: "config not found" };
24
+ }
25
+ try {
26
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, "utf8"));
27
+ const current = parsed.graphPolicy?.includeExtensions;
28
+ if (!current || !(0, include_extensions_js_1.isLegacyWebOnlyExtensions)(current)) {
29
+ return { path, status: "skipped", message: "no migration needed" };
30
+ }
31
+ const upgraded = (0, include_extensions_js_1.resolveIncludeExtensions)(current);
32
+ parsed.graphPolicy = {
33
+ ...parsed.graphPolicy,
34
+ includeExtensions: upgraded,
35
+ };
36
+ (0, node_fs_1.writeFileSync)(path, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
37
+ return { path, status: "migrated", message: `includeExtensions upgraded (${current.length} → ${upgraded.length})` };
38
+ }
39
+ catch (error) {
40
+ const message = error instanceof Error ? error.message : String(error);
41
+ return { path, status: "skipped", message };
42
+ }
43
+ }
17
44
  function ensureGlobalGraphFlowConfig(options) {
18
45
  const path = options?.configPath ?? resolveGlobalConfigPath();
19
46
  if ((0, node_fs_1.existsSync)(path)) {
47
+ migrateGlobalGraphFlowConfig({ configPath: path });
20
48
  return { path, status: "skipped" };
21
49
  }
22
50
  const config = (0, defaults_1.getDefaultConfig)();
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/config/scaffold.ts"],"names":[],"mappings":";;AAUA,0DAEC;AAED,kEAEC;AAED,kEAkBC;AAED,wEAaC;AAnDD,qCAA+D;AAC/D,qCAAkC;AAClC,yCAAiC;AACjC,yCAAuE;AAOvE,SAAgB,uBAAuB;IACrC,OAAO,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,wBAAwB,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,2BAA2B,CAAC,aAAqB;IAC/D,OAAO,IAAA,gBAAI,EAAC,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,2BAA2B,CAAC,OAAiC;IAC3E,MAAM,IAAI,GAAG,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,CAAC;IAC9D,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAClC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IACvE,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAA,mBAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAA,uBAAa,EACX,IAAI,EACJ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAC1D,MAAM,CACP,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAED,SAAgB,8BAA8B,CAAC,aAAqB;IAClE,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC5C,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAA,mBAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAA,uBAAa,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,kCAAuB,GAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/config/scaffold.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ export interface GraphFlowConfig {
89
89
  enableGraphCompression?: boolean;
90
90
  /** Return module-level RepoMap overview when budget is tight (<1000 tokens). Default false. */
91
91
  enableRepoMapFallback?: boolean;
92
- /** Adaptively size the token budget from task complexity. Default false. */
92
+ /** Adaptively size token budget from task complexity. Default true; complex tasks auto-enable even when unset. Set false to disable. */
93
93
  enableAdaptiveBudget?: boolean;
94
94
  /** Use HNSW ANN index for large candidate sets (>=200 nodes). Default true. */
95
95
  enableHnsw?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Workspace package roots relative to rootDir; always includes "." for the root package. */
2
+ export declare function discoverWorkspacePackages(rootDir: string): string[];
3
+ /** Innermost workspace package root containing relPath, or undefined when not under a listed package. */
4
+ export declare function findWorkspacePackageRoot(relPath: string, packageRoots: string[]): string | undefined;
5
+ /** Workspace package name from package.json, or the package folder name. */
6
+ export declare function packageLabelForPath(rootDir: string, filePath: string): string;
7
+ export declare function workspacePackageForPath(rootDir: string, relPath: string, packageRoots?: string[]): string | undefined;
8
+ //# sourceMappingURL=workspace-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-packages.d.ts","sourceRoot":"","sources":["../../src/config/workspace-packages.ts"],"names":[],"mappings":"AAsDA,6FAA6F;AAC7F,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBnE;AAwBD,yGAAyG;AACzG,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,GAAG,SAAS,CA8BpB;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuB7E;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,GAAG,SAAS,CAUpB"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.discoverWorkspacePackages = discoverWorkspacePackages;
4
+ exports.findWorkspacePackageRoot = findWorkspacePackageRoot;
5
+ exports.packageLabelForPath = packageLabelForPath;
6
+ exports.workspacePackageForPath = workspacePackageForPath;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_path_1 = require("node:path");
9
+ function normalizeRelPath(path) {
10
+ return path.replace(/\\/g, "/");
11
+ }
12
+ function readWorkspacesPatterns(rootDir) {
13
+ const pkgPath = (0, node_path_1.join)(rootDir, "package.json");
14
+ if (!(0, node_fs_1.existsSync)(pkgPath)) {
15
+ return [];
16
+ }
17
+ try {
18
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, "utf8"));
19
+ const workspaces = parsed.workspaces;
20
+ if (Array.isArray(workspaces)) {
21
+ return workspaces.filter((entry) => typeof entry === "string");
22
+ }
23
+ if (workspaces && typeof workspaces === "object" && Array.isArray(workspaces.packages)) {
24
+ return workspaces.packages.filter((entry) => typeof entry === "string");
25
+ }
26
+ }
27
+ catch {
28
+ // ignore invalid package.json
29
+ }
30
+ return [];
31
+ }
32
+ function resolveWorkspacePattern(rootDir, pattern) {
33
+ const normalized = normalizeRelPath(pattern);
34
+ if (normalized.endsWith("/*")) {
35
+ const parentRel = normalized.slice(0, -2);
36
+ const parentAbs = (0, node_path_1.join)(rootDir, parentRel);
37
+ if (!(0, node_fs_1.existsSync)(parentAbs)) {
38
+ return [];
39
+ }
40
+ const found = [];
41
+ for (const entry of (0, node_fs_1.readdirSync)(parentAbs)) {
42
+ const subAbs = (0, node_path_1.join)(parentAbs, entry);
43
+ if ((0, node_fs_1.existsSync)((0, node_path_1.join)(subAbs, "package.json"))) {
44
+ found.push(normalizeRelPath((0, node_path_1.relative)(rootDir, subAbs)));
45
+ }
46
+ }
47
+ return found.sort();
48
+ }
49
+ const abs = (0, node_path_1.join)(rootDir, normalized);
50
+ if ((0, node_fs_1.existsSync)((0, node_path_1.join)(abs, "package.json"))) {
51
+ return [normalized];
52
+ }
53
+ return [];
54
+ }
55
+ /** Workspace package roots relative to rootDir; always includes "." for the root package. */
56
+ function discoverWorkspacePackages(rootDir) {
57
+ const resolved = (0, node_path_1.resolve)(rootDir);
58
+ const patterns = readWorkspacesPatterns(resolved);
59
+ const packages = new Set(["."]);
60
+ for (const pattern of patterns) {
61
+ for (const pkgRoot of resolveWorkspacePattern(resolved, pattern)) {
62
+ packages.add(pkgRoot === "" ? "." : pkgRoot);
63
+ }
64
+ }
65
+ return Array.from(packages).sort((a, b) => {
66
+ if (a === ".") {
67
+ return -1;
68
+ }
69
+ if (b === ".") {
70
+ return 1;
71
+ }
72
+ return a.localeCompare(b);
73
+ });
74
+ }
75
+ function readPackageName(packageJsonPath) {
76
+ if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
77
+ return undefined;
78
+ }
79
+ try {
80
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, "utf8"));
81
+ return typeof parsed.name === "string" && parsed.name.length > 0 ? parsed.name : undefined;
82
+ }
83
+ catch {
84
+ return undefined;
85
+ }
86
+ }
87
+ function toRelativePath(rootDir, filePath) {
88
+ const resolvedRoot = (0, node_path_1.resolve)(rootDir);
89
+ const resolvedPath = (0, node_path_1.resolve)(filePath);
90
+ if (resolvedPath.startsWith(resolvedRoot + "/") || resolvedPath === resolvedRoot) {
91
+ const rel = normalizeRelPath((0, node_path_1.relative)(resolvedRoot, resolvedPath));
92
+ return rel.length === 0 ? "." : rel;
93
+ }
94
+ return normalizeRelPath(filePath);
95
+ }
96
+ /** Innermost workspace package root containing relPath, or undefined when not under a listed package. */
97
+ function findWorkspacePackageRoot(relPath, packageRoots) {
98
+ const normalized = normalizeRelPath(relPath);
99
+ if (normalized === "." || normalized === "") {
100
+ return packageRoots.includes(".") ? "." : undefined;
101
+ }
102
+ let best;
103
+ let bestLen = -1;
104
+ for (const root of packageRoots) {
105
+ if (root === ".") {
106
+ continue;
107
+ }
108
+ const rootNorm = normalizeRelPath(root);
109
+ if (normalized === rootNorm || normalized.startsWith(`${rootNorm}/`)) {
110
+ if (rootNorm.length > bestLen) {
111
+ best = rootNorm;
112
+ bestLen = rootNorm.length;
113
+ }
114
+ }
115
+ }
116
+ if (best) {
117
+ return best;
118
+ }
119
+ if (!normalized.includes("/") && packageRoots.includes(".")) {
120
+ return ".";
121
+ }
122
+ return undefined;
123
+ }
124
+ /** Workspace package name from package.json, or the package folder name. */
125
+ function packageLabelForPath(rootDir, filePath) {
126
+ const rel = toRelativePath(rootDir, filePath);
127
+ const packageRoots = discoverWorkspacePackages(rootDir);
128
+ const pkgRoot = findWorkspacePackageRoot(rel, packageRoots);
129
+ if (pkgRoot && pkgRoot !== ".") {
130
+ const name = readPackageName((0, node_path_1.join)(rootDir, pkgRoot, "package.json"));
131
+ if (name) {
132
+ return name;
133
+ }
134
+ return (0, node_path_1.basename)(pkgRoot);
135
+ }
136
+ const rootName = readPackageName((0, node_path_1.join)(rootDir, "package.json"));
137
+ if (rootName) {
138
+ return rootName;
139
+ }
140
+ const parts = rel.split("/").filter(Boolean);
141
+ if (parts.length <= 1) {
142
+ return ".";
143
+ }
144
+ return parts[0] ?? ".";
145
+ }
146
+ function workspacePackageForPath(rootDir, relPath, packageRoots) {
147
+ const roots = packageRoots ?? discoverWorkspacePackages(rootDir);
148
+ const pkgRoot = findWorkspacePackageRoot(normalizeRelPath(relPath), roots);
149
+ if (!pkgRoot) {
150
+ return undefined;
151
+ }
152
+ if (pkgRoot === ".") {
153
+ return readPackageName((0, node_path_1.join)(rootDir, "package.json")) ?? ".";
154
+ }
155
+ return readPackageName((0, node_path_1.join)(rootDir, pkgRoot, "package.json")) ?? (0, node_path_1.basename)(pkgRoot);
156
+ }
157
+ //# sourceMappingURL=workspace-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-packages.js","sourceRoot":"","sources":["../../src/config/workspace-packages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type SixHatsInsight } from "../agents/insight";
2
+ import type { TaskNode } from "./types";
3
+ export interface AgentWorkItem {
4
+ id: string;
5
+ kind: "six-hats" | "five-whys" | "plan-refinement";
6
+ hat?: string;
7
+ prompt: string;
8
+ expectedFormat: "json";
9
+ responseSchema: Record<string, unknown>;
10
+ }
11
+ export type AgentDelegationMode = "llm" | "agent-delegated" | "heuristic";
12
+ export interface AgentDelegatedPlanInsight {
13
+ mode: AgentDelegationMode;
14
+ insight: SixHatsInsight;
15
+ plan: TaskNode[];
16
+ agentWorkItems?: AgentWorkItem[];
17
+ agentInstructions?: string;
18
+ }
19
+ export declare function buildAgentInsightWorkItems(task: string): AgentWorkItem[];
20
+ export declare function buildAgentDelegationInstructions(task: string, workItems: AgentWorkItem[]): string;
21
+ export declare function buildHeuristicPlanFromInsight(task: string, insight: SixHatsInsight): TaskNode[];
22
+ export declare function buildAgentDelegatedPlanInsight(task: string): AgentDelegatedPlanInsight;
23
+ export declare function summarizeInsightForContext(insight: SixHatsInsight): string;
24
+ //# sourceMappingURL=agent-delegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-delegation.d.ts","sourceRoot":"","sources":["../../src/core/agent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CA4BxE;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,EAAE,GACzB,MAAM,CAgBR;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,QAAQ,EAAE,CAwB/F;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAYtF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAO1E"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildAgentInsightWorkItems = buildAgentInsightWorkItems;
4
+ exports.buildAgentDelegationInstructions = buildAgentDelegationInstructions;
5
+ exports.buildHeuristicPlanFromInsight = buildHeuristicPlanFromInsight;
6
+ exports.buildAgentDelegatedPlanInsight = buildAgentDelegatedPlanInsight;
7
+ exports.summarizeInsightForContext = summarizeInsightForContext;
8
+ const insight_1 = require("../agents/insight");
9
+ const planner_1 = require("../agents/planner");
10
+ const HAT_RESPONSE_SCHEMA = {
11
+ observation: "string — single key observation from this hat",
12
+ certainty: "number 0.0-1.0",
13
+ criticalInsight: "string — what this hat contributes",
14
+ };
15
+ function buildAgentInsightWorkItems(task) {
16
+ const items = insight_1.SIX_HATS.map((hat, index) => ({
17
+ id: `hat-${index + 1}-${hat.color}`,
18
+ kind: "six-hats",
19
+ hat: hat.name,
20
+ prompt: (0, insight_1.buildHatAnalysisPrompt)(task, hat),
21
+ expectedFormat: "json",
22
+ responseSchema: HAT_RESPONSE_SCHEMA,
23
+ }));
24
+ items.push({
25
+ id: "plan-refinement",
26
+ kind: "plan-refinement",
27
+ prompt: [
28
+ `Task: ${task}`,
29
+ "",
30
+ "Using your Six Hats analysis (if completed), refine the DAG plan.",
31
+ "Return ONLY a JSON array: [{id, description, dependencies}]",
32
+ "- Max 8 tasks",
33
+ "- Address black-hat risks and yellow-hat value explicitly",
34
+ ].join("\n"),
35
+ expectedFormat: "json",
36
+ responseSchema: {
37
+ items: { id: "string", description: "string", dependencies: "string[]" },
38
+ },
39
+ });
40
+ return items;
41
+ }
42
+ function buildAgentDelegationInstructions(task, workItems) {
43
+ const lines = [
44
+ "[AGENT-DELEGATED LLM] No external GraphFlow API key is configured.",
45
+ "Use your own model to complete the analysis prompts below, then execute the heuristic plan.",
46
+ "Optional: incorporate your answers into implementation; call graphflow_report_outcome when done.",
47
+ "",
48
+ `Task: ${task}`,
49
+ "",
50
+ "Work items:",
51
+ ];
52
+ for (const item of workItems) {
53
+ lines.push(`- ${item.id} (${item.kind}${item.hat ? ` / ${item.hat}` : ""})`);
54
+ }
55
+ return lines.join("\n");
56
+ }
57
+ function buildHeuristicPlanFromInsight(task, insight) {
58
+ const baseTask = insight.refinedTaskStatement || task;
59
+ const base = (0, planner_1.planTasks)(baseTask);
60
+ if (insight.criticalRisks.length === 0 && insight.rootCauses.length === 0) {
61
+ return base;
62
+ }
63
+ const riskTask = {
64
+ id: "task-risk-mitigation",
65
+ description: `Mitigate risks: ${insight.criticalRisks.join("; ") || insight.rootCauses.join("; ")}`,
66
+ dependencies: base.filter((n) => n.id !== `task-${base.length}`).map((n) => n.id),
67
+ status: "PENDING",
68
+ contextQuery: "risk mitigation",
69
+ retryCount: 0,
70
+ };
71
+ const integrate = base[base.length - 1];
72
+ if (!integrate) {
73
+ return [...base, riskTask];
74
+ }
75
+ integrate.dependencies = [...new Set([...integrate.dependencies, riskTask.id])];
76
+ return [...base.slice(0, -1), riskTask, integrate];
77
+ }
78
+ function buildAgentDelegatedPlanInsight(task) {
79
+ const insight = (0, insight_1.analyzeWithSixHatsHeuristic)(task);
80
+ const agentWorkItems = buildAgentInsightWorkItems(task);
81
+ const plan = buildHeuristicPlanFromInsight(task, insight);
82
+ return {
83
+ mode: "agent-delegated",
84
+ insight,
85
+ plan,
86
+ agentWorkItems,
87
+ agentInstructions: buildAgentDelegationInstructions(task, agentWorkItems),
88
+ };
89
+ }
90
+ function summarizeInsightForContext(insight) {
91
+ return [
92
+ `refined=${insight.refinedTaskStatement}`,
93
+ `risks=${insight.criticalRisks.join("|") || "none"}`,
94
+ `roots=${insight.rootCauses.join("|") || "none"}`,
95
+ `value=${insight.coreValue || "none"}`,
96
+ ].join("; ");
97
+ }
98
+ //# sourceMappingURL=agent-delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-delegation.js","sourceRoot":"","sources":["../../src/core/agent-delegation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type SixHatsInsight } from "../agents/insight";
2
+ import type { GraphClient } from "../graph/client-factory";
3
+ import type { TaskNode } from "./types";
4
+ export interface AgentInsightRecord {
5
+ workItemId: string;
6
+ hat?: string;
7
+ parsed: Record<string, unknown>;
8
+ nodeId: string;
9
+ }
10
+ export interface MergeAgentInsightsResult {
11
+ insight: SixHatsInsight;
12
+ plan: TaskNode[];
13
+ complete: boolean;
14
+ missing: string[];
15
+ submittedCount: number;
16
+ }
17
+ export declare function loadAgentInsightRecords(client: GraphClient, task: string): Promise<AgentInsightRecord[]>;
18
+ export declare function mergeAgentInsights(task: string, records: AgentInsightRecord[]): MergeAgentInsightsResult;
19
+ export declare function mergeAgentInsightsFromGraph(client: GraphClient, task: string): Promise<MergeAgentInsightsResult>;
20
+ //# sourceMappingURL=merge-agent-insight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-agent-insight.d.ts","sourceRoot":"","sources":["../../src/core/merge-agent-insight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAKxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAuCD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAc/B;AA+DD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAAE,GAC5B,wBAAwB,CA+D1B;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,CAAC,CAGnC"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadAgentInsightRecords = loadAgentInsightRecords;
4
+ exports.mergeAgentInsights = mergeAgentInsights;
5
+ exports.mergeAgentInsightsFromGraph = mergeAgentInsightsFromGraph;
6
+ const insight_1 = require("../agents/insight");
7
+ const agent_delegation_1 = require("./agent-delegation");
8
+ const graphify_client_1 = require("../graph/graphify-client");
9
+ const submit_agent_insight_1 = require("./submit-agent-insight");
10
+ function normalizeTask(task) {
11
+ return task.trim().toLowerCase();
12
+ }
13
+ function parseRecord(node) {
14
+ const meta = node.metadata;
15
+ if (!meta || meta.kind !== "agent-insight") {
16
+ return null;
17
+ }
18
+ const workItemId = typeof meta.workItemId === "string" ? meta.workItemId : undefined;
19
+ if (!workItemId) {
20
+ return null;
21
+ }
22
+ const response = typeof meta.response === "string" ? meta.response : "";
23
+ const parsedResult = (0, submit_agent_insight_1.parseAgentInsightResponse)(response);
24
+ if (!parsedResult.ok) {
25
+ return null;
26
+ }
27
+ const hat = typeof meta.hat === "string" ? meta.hat : undefined;
28
+ return {
29
+ workItemId,
30
+ ...(hat ? { hat } : {}),
31
+ parsed: parsedResult.parsed,
32
+ nodeId: node.id,
33
+ };
34
+ }
35
+ async function loadAllNodes(client) {
36
+ if (client instanceof graphify_client_1.GraphifyClient) {
37
+ return client.snapshot().nodes;
38
+ }
39
+ if (client.readSnapshot) {
40
+ return client.readSnapshot().nodes;
41
+ }
42
+ return client.queryByKeyword("agent-insight");
43
+ }
44
+ async function loadAgentInsightRecords(client, task) {
45
+ const nodes = await loadAllNodes(client);
46
+ const normalizedTask = normalizeTask(task);
47
+ return nodes
48
+ .filter((node) => node.type === "Decision" &&
49
+ node.metadata?.kind === "agent-insight" &&
50
+ typeof node.metadata.task === "string" &&
51
+ normalizeTask(node.metadata.task) === normalizedTask)
52
+ .map(parseRecord)
53
+ .filter((record) => record !== null);
54
+ }
55
+ function readHatFields(parsed) {
56
+ const observation = typeof parsed.observation === "string" ? parsed.observation.trim() : "";
57
+ const certainty = typeof parsed.certainty === "number" && Number.isFinite(parsed.certainty)
58
+ ? Math.min(1, Math.max(0, parsed.certainty))
59
+ : 0.5;
60
+ const criticalInsight = typeof parsed.criticalInsight === "string" ? parsed.criticalInsight.trim() : observation;
61
+ return { observation, certainty, criticalInsight };
62
+ }
63
+ function buildRefinedStatement(task, hatResults) {
64
+ const rootCauses = hatResults
65
+ .filter((hat) => hat.whyChain !== null)
66
+ .map((hat) => hat.whyChain.rootCause)
67
+ .join("; ");
68
+ const value = hatResults.find((hat) => hat.hat.color === "yellow")?.observation ?? "";
69
+ if (!rootCauses && !value) {
70
+ return task;
71
+ }
72
+ return `核心问题: ${rootCauses || "待探索"} | 核心价值: ${value || "待发现"}`;
73
+ }
74
+ function parsePlanItems(parsed) {
75
+ const raw = parsed.items;
76
+ if (!Array.isArray(raw)) {
77
+ return [];
78
+ }
79
+ const items = [];
80
+ for (let i = 0; i < raw.length; i++) {
81
+ const entry = raw[i];
82
+ if (!entry || typeof entry !== "object") {
83
+ continue;
84
+ }
85
+ const id = typeof entry.id === "string" ? entry.id.trim() : `task-${i + 1}`;
86
+ const description = typeof entry.description === "string" ? entry.description.trim() : "";
87
+ if (!description) {
88
+ continue;
89
+ }
90
+ const depsRaw = entry.dependencies;
91
+ const dependencies = Array.isArray(depsRaw)
92
+ ? depsRaw.filter((dep) => typeof dep === "string")
93
+ : [];
94
+ items.push({
95
+ id,
96
+ description,
97
+ dependencies,
98
+ status: "PENDING",
99
+ contextQuery: description,
100
+ retryCount: 0,
101
+ });
102
+ }
103
+ return items.length > 0 ? items.slice(0, 8) : [];
104
+ }
105
+ function mergeAgentInsights(task, records) {
106
+ const expectedIds = (0, agent_delegation_1.buildAgentInsightWorkItems)(task).map((item) => item.id);
107
+ const byWorkItem = new Map();
108
+ for (const record of records) {
109
+ byWorkItem.set(record.workItemId, record);
110
+ }
111
+ const submittedIds = expectedIds.filter((id) => byWorkItem.has(id));
112
+ const missing = expectedIds.filter((id) => !byWorkItem.has(id));
113
+ const complete = missing.length === 0;
114
+ const hatResults = [];
115
+ for (const hat of insight_1.SIX_HATS) {
116
+ const workItemId = `hat-${insight_1.SIX_HATS.indexOf(hat) + 1}-${hat.color}`;
117
+ const record = byWorkItem.get(workItemId);
118
+ if (!record) {
119
+ continue;
120
+ }
121
+ const fields = readHatFields(record.parsed);
122
+ hatResults.push({
123
+ hat,
124
+ observation: fields.observation,
125
+ certainty: fields.certainty,
126
+ whyChain: null,
127
+ criticalInsight: fields.criticalInsight,
128
+ });
129
+ }
130
+ const blueHatSynthesis = hatResults.find((hat) => hat.hat.color === "blue")?.criticalInsight ?? "";
131
+ const rootCauses = hatResults
132
+ .filter((hat) => hat.whyChain !== null)
133
+ .map((hat) => hat.whyChain.rootCause)
134
+ .filter((value) => value.length > 0);
135
+ const criticalRisks = hatResults
136
+ .filter((hat) => hat.hat.color === "black")
137
+ .map((hat) => hat.observation)
138
+ .filter((value) => value.length > 0);
139
+ const coreValue = hatResults
140
+ .filter((hat) => hat.hat.color === "yellow")
141
+ .map((hat) => hat.observation)
142
+ .join("; ");
143
+ const insight = {
144
+ task,
145
+ hats: hatResults,
146
+ blueHatSynthesis,
147
+ rootCauses: [...new Set(rootCauses)],
148
+ criticalRisks,
149
+ coreValue,
150
+ refinedTaskStatement: buildRefinedStatement(task, hatResults),
151
+ };
152
+ const planRecord = byWorkItem.get("plan-refinement");
153
+ const planFromAgent = planRecord ? parsePlanItems(planRecord.parsed) : [];
154
+ const plan = planFromAgent.length > 0 ? planFromAgent : (0, agent_delegation_1.buildHeuristicPlanFromInsight)(task, insight);
155
+ return {
156
+ insight,
157
+ plan,
158
+ complete,
159
+ missing,
160
+ submittedCount: submittedIds.length,
161
+ };
162
+ }
163
+ async function mergeAgentInsightsFromGraph(client, task) {
164
+ const records = await loadAgentInsightRecords(client, task);
165
+ return mergeAgentInsights(task, records);
166
+ }
167
+ //# sourceMappingURL=merge-agent-insight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-agent-insight.js","sourceRoot":"","sources":["../../src/core/merge-agent-insight.ts"],"names":[],"mappings":";;AA8DA,0DAiBC;AA+DD,gDAkEC;AAED,kEAMC;AAxND,+CAAwF;AACxF,yDAG4B;AAE5B,8DAA0D;AAE1D,iEAAmE;AAiBnE,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,IAAe;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,YAAY,GAAG,IAAA,gDAAyB,EAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,OAAO;QACL,UAAU;QACV,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;KAChB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAmB;IAC7C,IAAI,MAAM,YAAY,gCAAc,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,MAAmB,EACnB,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,KAAK;SACT,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,UAAU;QACxB,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACtC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,cAAc,CACvD;SACA,GAAG,CAAC,WAAW,CAAC;SAChB,MAAM,CAAC,CAAC,MAAM,EAAgC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B;IAKpD,MAAM,WAAW,GACf,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QACvE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC;IACV,MAAM,eAAe,GACnB,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,UAA6B;IACxE,MAAM,UAAU,GAAG,UAAU;SAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;SACtC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAS,CAAC,SAAS,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;IACtF,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,UAAU,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAA4B,CAAC;QAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;YACjE,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,IAAI,CAAC;YACT,EAAE;YACF,WAAW;YACX,YAAY;YACZ,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EACZ,OAA6B;IAE7B,MAAM,WAAW,GAAG,IAAA,6CAA0B,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,kBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,UAAU,CAAC,IAAI,CAAC;YACd,GAAG;YACH,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,eAAe,IAAI,EAAE,CAAC;IACnG,MAAM,UAAU,GAAG,UAAU;SAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;SACtC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAS,CAAC,SAAS,CAAC;SACrC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,UAAU;SAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC;SAC1C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;SAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU;SACzB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC;SAC3C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;SAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,OAAO,GAAmB;QAC9B,IAAI;QACJ,IAAI,EAAE,UAAU;QAChB,gBAAgB;QAChB,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,aAAa;QACb,SAAS;QACT,oBAAoB,EAAE,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC;KAC9D,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,gDAA6B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAErG,OAAO;QACL,OAAO;QACP,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,cAAc,EAAE,YAAY,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,MAAmB,EACnB,IAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC"}
@@ -29,10 +29,12 @@ export interface OrchestrateOptions {
29
29
  executionMode?: "bridge" | "llm";
30
30
  /** Enable zero-cost graph-structure compression (edge weights + PageRank). Default true. */
31
31
  enableGraphCompression?: boolean;
32
- /** Adaptively size the context token budget from task complexity. Default false. */
32
+ /** Adaptively size the context token budget from task complexity. Auto-enabled for complex tasks unless false. */
33
33
  enableAdaptiveBudget?: boolean;
34
34
  /** Return module-level RepoMap overview when budget is tight. Default false. */
35
35
  enableRepoMapFallback?: boolean;
36
+ /** Run Six Hats plan_insight before complex DAG planning. Default true for complex tasks. */
37
+ enablePlanInsight?: boolean;
36
38
  }
37
39
  export declare function orchestrate(input: OrchestrationInput, options?: OrchestrateOptions): Promise<TaskRunResult>;
38
40
  //# sourceMappingURL=orchestrator.d.ts.map