@roarpeng/graphflow 0.6.5 → 0.6.14

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 (118) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +167 -289
  3. package/dist/config/defaults.d.ts +6 -0
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +20 -7
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/loader.d.ts +8 -0
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +42 -9
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/paths.d.ts.map +1 -1
  12. package/dist/config/paths.js +6 -5
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/config/resolve.d.ts +3 -0
  15. package/dist/config/resolve.d.ts.map +1 -1
  16. package/dist/config/resolve.js +58 -24
  17. package/dist/config/resolve.js.map +1 -1
  18. package/dist/config/secrets.d.ts +6 -1
  19. package/dist/config/secrets.d.ts.map +1 -1
  20. package/dist/config/secrets.js +9 -1
  21. package/dist/config/secrets.js.map +1 -1
  22. package/dist/core/errors.d.ts +28 -1
  23. package/dist/core/errors.d.ts.map +1 -1
  24. package/dist/core/errors.js +55 -2
  25. package/dist/core/errors.js.map +1 -1
  26. package/dist/graph/file-indexer.d.ts +2 -0
  27. package/dist/graph/file-indexer.d.ts.map +1 -1
  28. package/dist/graph/file-indexer.js +65 -36
  29. package/dist/graph/file-indexer.js.map +1 -1
  30. package/dist/graph/graph-utils.d.ts +4 -0
  31. package/dist/graph/graph-utils.d.ts.map +1 -0
  32. package/dist/graph/graph-utils.js +29 -0
  33. package/dist/graph/graph-utils.js.map +1 -0
  34. package/dist/graph/graphify-client.d.ts +2 -1
  35. package/dist/graph/graphify-client.d.ts.map +1 -1
  36. package/dist/graph/graphify-client.js +6 -17
  37. package/dist/graph/graphify-client.js.map +1 -1
  38. package/dist/graph/graphify-file-client.js +3 -3
  39. package/dist/graph/graphify-file-client.js.map +1 -1
  40. package/dist/graph/snapshot-view.d.ts +26 -0
  41. package/dist/graph/snapshot-view.d.ts.map +1 -0
  42. package/dist/graph/snapshot-view.js +228 -0
  43. package/dist/graph/snapshot-view.js.map +1 -0
  44. package/dist/index.d.ts +3 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +7 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/integrations/agent-mcp-installer.d.ts +3 -0
  49. package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
  50. package/dist/integrations/agent-mcp-installer.js +7 -5
  51. package/dist/integrations/agent-mcp-installer.js.map +1 -1
  52. package/dist/learning/episodic-memory.d.ts.map +1 -1
  53. package/dist/learning/episodic-memory.js +2 -8
  54. package/dist/learning/episodic-memory.js.map +1 -1
  55. package/dist/learning/reflector.d.ts.map +1 -1
  56. package/dist/learning/reflector.js +2 -8
  57. package/dist/learning/reflector.js.map +1 -1
  58. package/dist/learning/skill-evolution.d.ts +16 -0
  59. package/dist/learning/skill-evolution.d.ts.map +1 -0
  60. package/dist/learning/skill-evolution.js +154 -0
  61. package/dist/learning/skill-evolution.js.map +1 -0
  62. package/dist/learning/skill-flywheel.d.ts +4 -47
  63. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  64. package/dist/learning/skill-flywheel.js +44 -337
  65. package/dist/learning/skill-flywheel.js.map +1 -1
  66. package/dist/learning/skill-store.d.ts +20 -0
  67. package/dist/learning/skill-store.d.ts.map +1 -0
  68. package/dist/learning/skill-store.js +170 -0
  69. package/dist/learning/skill-store.js.map +1 -0
  70. package/dist/learning/skill-types.d.ts +43 -0
  71. package/dist/learning/skill-types.d.ts.map +1 -0
  72. package/dist/learning/skill-types.js +6 -0
  73. package/dist/learning/skill-types.js.map +1 -0
  74. package/dist/surfaces/cli/init.d.ts.map +1 -1
  75. package/dist/surfaces/cli/init.js +25 -39
  76. package/dist/surfaces/cli/init.js.map +1 -1
  77. package/dist/surfaces/cli/runtime/env.d.ts +8 -0
  78. package/dist/surfaces/cli/runtime/env.d.ts.map +1 -0
  79. package/dist/surfaces/cli/runtime/env.js +134 -0
  80. package/dist/surfaces/cli/runtime/env.js.map +1 -0
  81. package/dist/surfaces/cli/runtime/facade.d.ts +45 -0
  82. package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -0
  83. package/dist/surfaces/cli/runtime/facade.js +34 -0
  84. package/dist/surfaces/cli/runtime/facade.js.map +1 -0
  85. package/dist/surfaces/cli/runtime/graph.d.ts +25 -0
  86. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -0
  87. package/dist/surfaces/cli/runtime/graph.js +416 -0
  88. package/dist/surfaces/cli/runtime/graph.js.map +1 -0
  89. package/dist/surfaces/cli/runtime/helpers.d.ts +30 -0
  90. package/dist/surfaces/cli/runtime/helpers.d.ts.map +1 -0
  91. package/dist/surfaces/cli/runtime/helpers.js +159 -0
  92. package/dist/surfaces/cli/runtime/helpers.js.map +1 -0
  93. package/dist/surfaces/cli/runtime/panel.d.ts +5 -0
  94. package/dist/surfaces/cli/runtime/panel.d.ts.map +1 -0
  95. package/dist/surfaces/cli/runtime/panel.js +91 -0
  96. package/dist/surfaces/cli/runtime/panel.js.map +1 -0
  97. package/dist/surfaces/cli/runtime/routing.d.ts +11 -0
  98. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -0
  99. package/dist/surfaces/cli/runtime/routing.js +233 -0
  100. package/dist/surfaces/cli/runtime/routing.js.map +1 -0
  101. package/dist/surfaces/cli/runtime/settings.d.ts +6 -0
  102. package/dist/surfaces/cli/runtime/settings.d.ts.map +1 -0
  103. package/dist/surfaces/cli/runtime/settings.js +334 -0
  104. package/dist/surfaces/cli/runtime/settings.js.map +1 -0
  105. package/dist/surfaces/cli/runtime/types.d.ts +218 -0
  106. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -0
  107. package/dist/surfaces/cli/runtime/types.js +3 -0
  108. package/dist/surfaces/cli/runtime/types.js.map +1 -0
  109. package/dist/surfaces/cli/runtime.d.ts +8 -214
  110. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  111. package/dist/surfaces/cli/runtime.js +52 -1116
  112. package/dist/surfaces/cli/runtime.js.map +1 -1
  113. package/dist/utils/hash.d.ts +11 -0
  114. package/dist/utils/hash.d.ts.map +1 -0
  115. package/dist/utils/hash.js +27 -0
  116. package/dist/utils/hash.js.map +1 -0
  117. package/package.json +3 -1
  118. package/scripts/safe-postinstall.cjs +6 -0
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_EMBEDDING_MODEL = exports.SCAFFOLD_TIERS = void 0;
3
+ exports.LEGACY_MAX_CONTEXT_TOKENS = exports.DEFAULT_OUTPUT_DIR = exports.DEFAULT_MAX_CONTEXT_TOKENS = exports.DEFAULT_EMBEDDING_MODEL = exports.SCAFFOLD_TIERS = void 0;
4
+ exports.resolveMaxContextTokens = resolveMaxContextTokens;
4
5
  exports.getDefaultConfig = getDefaultConfig;
5
6
  exports.getDefaultOverlayConfig = getDefaultOverlayConfig;
6
7
  const loader_1 = require("./loader");
@@ -9,6 +10,17 @@ exports.SCAFFOLD_TIERS = {
9
10
  economy: { provider: "openai", model: "gpt-4.1-mini" },
10
11
  };
11
12
  exports.DEFAULT_EMBEDDING_MODEL = "Xenova/bge-base-zh-v1.5";
13
+ exports.DEFAULT_MAX_CONTEXT_TOKENS = 1500;
14
+ /** Unified output directory for all knowledge-graph artifacts. */
15
+ exports.DEFAULT_OUTPUT_DIR = "graphflow-out";
16
+ /** Pre-v0.6.9 default; upgraded automatically when still present in saved configs. */
17
+ exports.LEGACY_MAX_CONTEXT_TOKENS = 400;
18
+ function resolveMaxContextTokens(value) {
19
+ if (value === undefined || value === exports.LEGACY_MAX_CONTEXT_TOKENS) {
20
+ return exports.DEFAULT_MAX_CONTEXT_TOKENS;
21
+ }
22
+ return Math.max(1, Math.floor(value));
23
+ }
12
24
  function getDefaultConfig() {
13
25
  return (0, loader_1.validateConfig)({
14
26
  providers: {},
@@ -22,11 +34,12 @@ function getDefaultConfig() {
22
34
  enableNearLosslessMode: true,
23
35
  autoIndexOnPreview: true,
24
36
  autoIndexOnRun: true,
37
+ autoIndexOnSave: true,
25
38
  workspaceRoot: process.cwd(),
26
39
  includeExtensions: [".ts", ".tsx", ".js", ".jsx", ".md", ".json"],
27
40
  transport: "file",
28
- graphStorePath: "tmp/graphflow-graph.json",
29
- maxContextTokens: 400,
41
+ graphStorePath: `${exports.DEFAULT_OUTPUT_DIR}/graphflow-graph.json`,
42
+ maxContextTokens: 1500,
30
43
  layerQuota: { l1: 6, l2: 4, l3: 3 },
31
44
  semanticEnrichment: {
32
45
  enabled: true,
@@ -41,9 +54,9 @@ function getDefaultConfig() {
41
54
  enableFlywheel: true,
42
55
  trainingCadence: "nightly",
43
56
  canaryRatio: 10,
44
- exportPath: "tmp/learning-dataset.jsonl",
45
- eventsPath: "tmp/learning-events.jsonl",
46
- summaryPath: "tmp/learning-summary.json",
57
+ exportPath: `${exports.DEFAULT_OUTPUT_DIR}/learning-dataset.jsonl`,
58
+ eventsPath: `${exports.DEFAULT_OUTPUT_DIR}/learning-events.jsonl`,
59
+ summaryPath: `${exports.DEFAULT_OUTPUT_DIR}/learning-summary.json`,
47
60
  skillEvolution: {
48
61
  enabled: true,
49
62
  minCoOccur: 2,
@@ -64,7 +77,7 @@ function getDefaultConfig() {
64
77
  enabled: true,
65
78
  provider: "local",
66
79
  model: exports.DEFAULT_EMBEDDING_MODEL,
67
- vectorStorePath: ".graphflow-cache/vectors.db",
80
+ vectorStorePath: `${exports.DEFAULT_OUTPUT_DIR}/vectors.db`,
68
81
  topK: 8,
69
82
  minSimilarity: 0.05,
70
83
  },
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";;;AAUA,4CA4DC;AAGD,0DAUC;AAlFD,qCAA0C;AAE7B,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;CAC9C,CAAC;AAEE,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,uBAAc,EAAC;QACpB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,GAAG,sBAAc,CAAC,KAAK,EAAE;YAClC,OAAO,EAAE,EAAE,GAAG,sBAAc,CAAC,OAAO,EAAE;SACvC;QACD,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;QACnC,WAAW,EAAE;YACX,eAAe,EAAE,IAAI;YACrB,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;YAC5B,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;YACjE,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,0BAA0B;YAC1C,gBAAgB,EAAE,GAAG;YACrB,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACnC,kBAAkB,EAAE;gBAClB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;aACrB;SACF;QACD,cAAc,EAAE;YACd,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,SAAS;YAC1B,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,4BAA4B;YACxC,UAAU,EAAE,2BAA2B;YACvC,WAAW,EAAE,2BAA2B;YACxC,cAAc,EAAE;gBACd,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,kBAAkB,EAAE,IAAI;aACzB;SACF;QACD,aAAa,EAAE;YACb,oBAAoB,EAAE,IAAI;YAC1B,uBAAuB,EAAE,KAAK;YAC9B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;SAC1E;QACD,WAAW,EAAE;YACX,mBAAmB,EAAE,IAAI;YACzB,aAAa,EAAE,CAAC;SACjB;QACD,eAAe,EAAE;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,+BAAuB;YAC9B,eAAe,EAAE,6BAA6B;YAC9C,IAAI,EAAE,CAAC;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CAAC,CAAC;AACL,CAAC;AAED,8FAA8F;AAC9F,SAAgB,uBAAuB;IACrC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,OAAO,IAAA,uBAAc,EAAC;QACpB,GAAG,IAAI;QACP,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,GAAG,sBAAc,CAAC,KAAK,EAAE;YAClC,OAAO,EAAE,EAAE,GAAG,sBAAc,CAAC,OAAO,EAAE;SACvC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
1
  import type { GraphFlowConfig } from "./schema";
2
+ export interface LoadConfigResult {
3
+ config: GraphFlowConfig;
4
+ usedFallback: boolean;
5
+ configPath: string;
6
+ error?: string;
7
+ }
2
8
  export declare function loadConfig(path?: string): GraphFlowConfig;
9
+ /** Load config with fallback to defaults when JSON is missing, invalid, or fails validation. */
10
+ export declare function loadConfigSafe(path?: string): LoadConfigResult;
3
11
  export declare function validateConfig(input: GraphFlowConfig): GraphFlowConfig;
4
12
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAgB,UAAU,CAAC,IAAI,SAA0B,GAAG,eAAe,CAI1E;AA6BD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAoLtE"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,IAAI,SAA0B,GAAG,eAAe,CAE1E;AAED,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,IAAI,SAA0B,GAAG,gBAAgB,CA8B/E;AA6BD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAqLtE"}
@@ -1,14 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadConfig = loadConfig;
4
+ exports.loadConfigSafe = loadConfigSafe;
4
5
  exports.validateConfig = validateConfig;
5
6
  const node_fs_1 = require("node:fs");
6
7
  const node_path_1 = require("node:path");
7
8
  const secrets_1 = require("./secrets");
9
+ const defaults_1 = require("./defaults");
10
+ const logger_1 = require("../utils/logger");
8
11
  function loadConfig(path = "graphflow.config.json") {
9
- const raw = (0, node_fs_1.readFileSync)(path, "utf8");
10
- const parsed = resolveEnvTemplates(JSON.parse(raw));
11
- return validateConfig(parsed);
12
+ return loadConfigSafe(path).config;
13
+ }
14
+ /** Load config with fallback to defaults when JSON is missing, invalid, or fails validation. */
15
+ function loadConfigSafe(path = "graphflow.config.json") {
16
+ const resolvedPath = (0, node_path_1.resolve)(path);
17
+ if (!(0, node_fs_1.existsSync)(resolvedPath)) {
18
+ return {
19
+ config: (0, defaults_1.getDefaultConfig)(),
20
+ usedFallback: true,
21
+ configPath: resolvedPath,
22
+ error: "Config file not found",
23
+ };
24
+ }
25
+ try {
26
+ const raw = (0, node_fs_1.readFileSync)(resolvedPath, "utf8");
27
+ const parsed = resolveEnvTemplates(JSON.parse(raw));
28
+ return {
29
+ config: validateConfig(parsed),
30
+ usedFallback: false,
31
+ configPath: resolvedPath,
32
+ };
33
+ }
34
+ catch (error) {
35
+ const message = error instanceof Error ? error.message : String(error);
36
+ logger_1.logger.warn({ path: resolvedPath, error: message }, "Failed to load config; using defaults");
37
+ return {
38
+ config: (0, defaults_1.getDefaultConfig)(),
39
+ usedFallback: true,
40
+ configPath: resolvedPath,
41
+ error: message,
42
+ };
43
+ }
12
44
  }
13
45
  function trimOptional(value) {
14
46
  const trimmed = value?.trim();
@@ -121,12 +153,13 @@ function validateConfig(input) {
121
153
  enableNearLosslessMode: input.graphPolicy.enableNearLosslessMode ?? false,
122
154
  autoIndexOnPreview: input.graphPolicy.autoIndexOnPreview ?? true,
123
155
  autoIndexOnRun: input.graphPolicy.autoIndexOnRun ?? true,
124
- autoIndexOnSave: input.graphPolicy.autoIndexOnSave ?? false,
156
+ autoIndexOnSave: input.graphPolicy.autoIndexOnSave ?? true,
157
+ maxContextTokens: (0, defaults_1.resolveMaxContextTokens)(input.graphPolicy.maxContextTokens),
125
158
  workspaceRoot,
126
159
  graphStorePath: input.graphPolicy.graphStorePath ??
127
160
  (input.graphPolicy.transport === "sqlite"
128
- ? "tmp/graphflow-graph.sqlite"
129
- : "tmp/graphflow-graph.json"),
161
+ ? `${defaults_1.DEFAULT_OUTPUT_DIR}/graphflow-graph.sqlite`
162
+ : `${defaults_1.DEFAULT_OUTPUT_DIR}/graphflow-graph.json`),
130
163
  includeExtensions: input.graphPolicy.includeExtensions ?? [
131
164
  ".ts",
132
165
  ".tsx",
@@ -154,8 +187,8 @@ function validateConfig(input) {
154
187
  ...input.learningPolicy,
155
188
  trainingCadence: input.learningPolicy.trainingCadence ?? "nightly",
156
189
  canaryRatio: input.learningPolicy.canaryRatio ?? 10,
157
- eventsPath: input.learningPolicy.eventsPath ?? "tmp/learning-events.jsonl",
158
- summaryPath: input.learningPolicy.summaryPath ?? "tmp/learning-summary.json",
190
+ eventsPath: input.learningPolicy.eventsPath ?? `${defaults_1.DEFAULT_OUTPUT_DIR}/learning-events.jsonl`,
191
+ summaryPath: input.learningPolicy.summaryPath ?? `${defaults_1.DEFAULT_OUTPUT_DIR}/learning-summary.json`,
159
192
  skillEvolution: {
160
193
  enabled: input.learningPolicy.skillEvolution?.enabled ?? true,
161
194
  ...(skillEvolutionModel ? { model: skillEvolutionModel } : {}),
@@ -185,7 +218,7 @@ function validateConfig(input) {
185
218
  model: input.embeddingPolicy?.model ?? "Xenova/bge-base-zh-v1.5",
186
219
  ...(input.embeddingPolicy?.baseUrl ? { baseUrl: input.embeddingPolicy.baseUrl } : {}),
187
220
  ...(input.embeddingPolicy?.apiKey ? { apiKey: input.embeddingPolicy.apiKey } : {}),
188
- vectorStorePath: input.embeddingPolicy?.vectorStorePath ?? ".graphflow-cache/vectors.db",
221
+ vectorStorePath: input.embeddingPolicy?.vectorStorePath ?? `${defaults_1.DEFAULT_OUTPUT_DIR}/vectors.db`,
189
222
  topK: input.embeddingPolicy?.topK ?? 8,
190
223
  minSimilarity: input.embeddingPolicy?.minSimilarity ?? 0.05,
191
224
  },
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQrE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,YAAY,GAAG,YAAY,GAAG,aAAa,GAC/C,MAAM,CASR"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQrE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,YAAY,GAAG,YAAY,GAAG,aAAa,GAC/C,MAAM,CASR"}
@@ -4,6 +4,7 @@ exports.resolveWorkspacePath = resolveWorkspacePath;
4
4
  exports.resolveGraphStorePath = resolveGraphStorePath;
5
5
  exports.resolveLearningPath = resolveLearningPath;
6
6
  const node_path_1 = require("node:path");
7
+ const defaults_1 = require("./defaults");
7
8
  /** Resolve a config path relative to workspaceRoot (absolute paths pass through). */
8
9
  function resolveWorkspacePath(workspaceRoot, pathValue) {
9
10
  if ((0, node_path_1.isAbsolute)(pathValue)) {
@@ -15,16 +16,16 @@ function resolveGraphStorePath(config) {
15
16
  const root = config.graphPolicy.workspaceRoot ?? process.cwd();
16
17
  const storePath = config.graphPolicy.graphStorePath ??
17
18
  (config.graphPolicy.transport === "sqlite"
18
- ? "tmp/graphflow-graph.sqlite"
19
- : "tmp/graphflow-graph.json");
19
+ ? `${defaults_1.DEFAULT_OUTPUT_DIR}/graphflow-graph.sqlite`
20
+ : `${defaults_1.DEFAULT_OUTPUT_DIR}/graphflow-graph.json`);
20
21
  return resolveWorkspacePath(root, storePath);
21
22
  }
22
23
  function resolveLearningPath(config, key) {
23
24
  const root = config.graphPolicy.workspaceRoot ?? process.cwd();
24
25
  const defaults = {
25
- exportPath: "tmp/learning-dataset.jsonl",
26
- eventsPath: "tmp/learning-events.jsonl",
27
- summaryPath: "tmp/learning-summary.json",
26
+ exportPath: `${defaults_1.DEFAULT_OUTPUT_DIR}/learning-dataset.jsonl`,
27
+ eventsPath: `${defaults_1.DEFAULT_OUTPUT_DIR}/learning-events.jsonl`,
28
+ summaryPath: `${defaults_1.DEFAULT_OUTPUT_DIR}/learning-summary.json`,
28
29
  };
29
30
  const configured = config.learningPolicy[key] ?? defaults[key];
30
31
  return resolveWorkspacePath(root, configured);
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":";;AAIA,oDAKC;AAED,sDAQC;AAED,kDAYC;AAjCD,yCAAgD;AAGhD,qFAAqF;AACrF,SAAgB,oBAAoB,CAAC,aAAqB,EAAE,SAAiB;IAC3E,IAAI,IAAA,sBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAA,mBAAO,EAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAA,mBAAO,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAuB;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/D,MAAM,SAAS,GACb,MAAM,CAAC,WAAW,CAAC,cAAc;QACjC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,QAAQ;YACxC,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAClC,OAAO,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CACjC,MAAuB,EACvB,GAAgD;IAEhD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAA+B;QAC3C,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,2BAA2B;QACvC,WAAW,EAAE,2BAA2B;KACzC,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":";;AAKA,oDAKC;AAED,sDAQC;AAED,kDAYC;AAlCD,yCAAgD;AAEhD,yCAAgD;AAEhD,qFAAqF;AACrF,SAAgB,oBAAoB,CAAC,aAAqB,EAAE,SAAiB;IAC3E,IAAI,IAAA,sBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAA,mBAAO,EAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAA,mBAAO,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAuB;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/D,MAAM,SAAS,GACb,MAAM,CAAC,WAAW,CAAC,cAAc;QACjC,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,QAAQ;YACxC,CAAC,CAAC,GAAG,6BAAkB,yBAAyB;YAChD,CAAC,CAAC,GAAG,6BAAkB,uBAAuB,CAAC,CAAC;IACpD,OAAO,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CACjC,MAAuB,EACvB,GAAgD;IAEhD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAA+B;QAC3C,UAAU,EAAE,GAAG,6BAAkB,yBAAyB;QAC1D,UAAU,EAAE,GAAG,6BAAkB,wBAAwB;QACzD,WAAW,EAAE,GAAG,6BAAkB,wBAAwB;KAC3D,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { GraphFlowConfig } from "./schema";
2
+ /** Path used for reading settings metadata (most specific existing config). */
2
3
  export declare function resolveConfigPath(path?: string): string;
4
+ /** Path used when persisting settings; defaults to global unless a project root config already exists. */
5
+ export declare function resolveWritableConfigPath(path?: string): string;
3
6
  export declare function resolveConfig(path?: string): GraphFlowConfig;
4
7
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,wBAAgB,iBAAiB,CAAC,IAAI,SAA0B,GAAG,MAAM,CAwBxE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAA0B,GAAG,eAAe,CAgB7E"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAYhD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,SAA0B,GAAG,MAAM,CAqBxE;AAED,0GAA0G;AAC1G,wBAAgB,yBAAyB,CAAC,IAAI,SAA0B,GAAG,MAAM,CAWhF;AAED,wBAAgB,aAAa,CAAC,IAAI,SAA0B,GAAG,eAAe,CA6B7E"}
@@ -1,45 +1,79 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveConfigPath = resolveConfigPath;
4
+ exports.resolveWritableConfigPath = resolveWritableConfigPath;
4
5
  exports.resolveConfig = resolveConfig;
5
6
  const node_fs_1 = require("node:fs");
6
- const node_os_1 = require("node:os");
7
7
  const node_path_1 = require("node:path");
8
8
  const loader_1 = require("./loader");
9
9
  const merge_1 = require("./merge");
10
10
  const defaults_1 = require("./defaults");
11
- function resolveConfigPath(path = "graphflow.config.json") {
11
+ const scaffold_1 = require("./scaffold");
12
+ const logger_1 = require("../utils/logger");
13
+ function isDefaultProjectConfigPath(path) {
12
14
  const projectRootConfig = (0, node_path_1.resolve)("graphflow.config.json");
13
- const isDefaultProjectConfig = path === "graphflow.config.json" || (0, node_path_1.resolve)(path) === projectRootConfig;
14
- if (!isDefaultProjectConfig) {
15
+ return path === "graphflow.config.json" || (0, node_path_1.resolve)(path) === projectRootConfig;
16
+ }
17
+ /** Path used for reading settings metadata (most specific existing config). */
18
+ function resolveConfigPath(path = "graphflow.config.json") {
19
+ if (!isDefaultProjectConfigPath(path)) {
15
20
  return path;
16
21
  }
17
- const projectConfigPath = ".graphflow/config.json";
18
- if ((0, node_fs_1.existsSync)(projectConfigPath)) {
19
- return projectConfigPath;
20
- }
21
- if ((0, node_fs_1.existsSync)(path)) {
22
- return path;
22
+ const projectRootConfig = (0, node_path_1.resolve)("graphflow.config.json");
23
+ if ((0, node_fs_1.existsSync)(projectRootConfig)) {
24
+ return projectRootConfig;
23
25
  }
24
- const globalPath = (0, node_path_1.join)((0, node_os_1.homedir)(), ".graphflow.config.json");
26
+ const globalPath = (0, scaffold_1.resolveGlobalConfigPath)();
25
27
  if ((0, node_fs_1.existsSync)(globalPath)) {
26
28
  return globalPath;
27
29
  }
30
+ const overlayPath = (0, node_path_1.resolve)(".graphflow/config.json");
31
+ if ((0, node_fs_1.existsSync)(overlayPath)) {
32
+ return overlayPath;
33
+ }
28
34
  return path;
29
35
  }
36
+ /** Path used when persisting settings; defaults to global unless a project root config already exists. */
37
+ function resolveWritableConfigPath(path = "graphflow.config.json") {
38
+ if (!isDefaultProjectConfigPath(path)) {
39
+ return path;
40
+ }
41
+ const projectRootConfig = (0, node_path_1.resolve)("graphflow.config.json");
42
+ if ((0, node_fs_1.existsSync)(projectRootConfig)) {
43
+ return projectRootConfig;
44
+ }
45
+ return (0, scaffold_1.resolveGlobalConfigPath)();
46
+ }
30
47
  function resolveConfig(path = "graphflow.config.json") {
31
- const actualPath = resolveConfigPath(path);
32
- const normalizedActual = actualPath.replace(/\\/g, "/");
33
- const isProjectOverlay = normalizedActual.endsWith(".graphflow/config.json");
34
- const rootConfigPath = "graphflow.config.json";
35
- if (isProjectOverlay && (0, node_fs_1.existsSync)(rootConfigPath)) {
36
- const base = (0, loader_1.loadConfig)(rootConfigPath);
37
- const overlay = (0, node_fs_1.existsSync)(actualPath) ? (0, loader_1.loadConfig)(actualPath) : (0, defaults_1.getDefaultConfig)();
38
- return (0, merge_1.mergeGraphFlowConfig)(base, overlay);
39
- }
40
- if ((0, node_fs_1.existsSync)(actualPath)) {
41
- return (0, loader_1.loadConfig)(actualPath);
42
- }
43
- return (0, defaults_1.getDefaultConfig)();
48
+ if (!isDefaultProjectConfigPath(path)) {
49
+ const result = (0, loader_1.loadConfigSafe)(path);
50
+ if (result.usedFallback && result.error) {
51
+ logger_1.logger.warn({ path: result.configPath, error: result.error }, "Using default config for explicit path");
52
+ }
53
+ return result.config;
54
+ }
55
+ const globalPath = (0, scaffold_1.resolveGlobalConfigPath)();
56
+ const base = (0, node_fs_1.existsSync)(globalPath) ? loadLayer(globalPath) : (0, defaults_1.getDefaultConfig)();
57
+ const projectRoot = (0, node_path_1.resolve)("graphflow.config.json");
58
+ const overlayPath = (0, node_path_1.resolve)(".graphflow/config.json");
59
+ if ((0, node_fs_1.existsSync)(projectRoot) && (0, node_fs_1.existsSync)(overlayPath)) {
60
+ const withRoot = (0, merge_1.mergeGraphFlowConfig)(base, loadLayer(projectRoot));
61
+ return (0, merge_1.mergeGraphFlowConfig)(withRoot, loadLayer(overlayPath));
62
+ }
63
+ if ((0, node_fs_1.existsSync)(projectRoot)) {
64
+ return (0, merge_1.mergeGraphFlowConfig)(base, loadLayer(projectRoot));
65
+ }
66
+ if ((0, node_fs_1.existsSync)(overlayPath)) {
67
+ return (0, merge_1.mergeGraphFlowConfig)(base, loadLayer(overlayPath));
68
+ }
69
+ return base;
70
+ }
71
+ function loadLayer(path) {
72
+ const result = (0, loader_1.loadConfigSafe)(path);
73
+ if (result.usedFallback && result.error) {
74
+ logger_1.logger.warn({ path: result.configPath, error: result.error }, "Config layer ignored due to load failure");
75
+ return (0, defaults_1.getDefaultConfig)();
76
+ }
77
+ return result.config;
44
78
  }
45
79
  //# sourceMappingURL=resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":";;AAQA,8CAwBC;AAED,sCAgBC;AAlDD,qCAAqC;AACrC,qCAAkC;AAClC,yCAA0C;AAE1C,qCAAsC;AACtC,mCAA+C;AAC/C,yCAA8C;AAE9C,SAAgB,iBAAiB,CAAC,IAAI,GAAG,uBAAuB;IAC9D,MAAM,iBAAiB,GAAG,IAAA,mBAAO,EAAC,uBAAuB,CAAC,CAAC;IAC3D,MAAM,sBAAsB,GAC1B,IAAI,KAAK,uBAAuB,IAAI,IAAA,mBAAO,EAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC;IAE1E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;IACnD,IAAI,IAAA,oBAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,wBAAwB,CAAC,CAAC;IAC7D,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,aAAa,CAAC,IAAI,GAAG,uBAAuB;IAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,uBAAuB,CAAC;IAE/C,IAAI,gBAAgB,IAAI,IAAA,oBAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,cAAc,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAgB,GAAE,CAAC;QACrF,OAAO,IAAA,4BAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAA,2BAAgB,GAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  export declare function extractEnvPlaceholderName(value?: string): string | undefined;
2
2
  export declare function isEnvPlaceholder(value?: string): boolean;
3
- /** Resolve `${ENV_VAR}` from process.env; return direct secrets/values as-is. */
3
+ /**
4
+ * Resolve `${ENV_VAR}` from process.env; return direct secrets/values as-is.
5
+ * Supports auto-detection of environment variable placeholders formatted as `${ENV_VAR}`
6
+ * and extracts the corresponding value from process.env. If it's a plaintext key,
7
+ * it returns the value directly.
8
+ */
4
9
  export declare function resolveConfigSecret(value?: string): string | undefined;
5
10
  /** Persist user input: env var name → `${NAME}`, already-placeholder → unchanged, else direct key. */
6
11
  export declare function formatApiKeyForConfig(input: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/config/secrets.ts"],"names":[],"mappings":"AAGA,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAatE;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe3D;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOxE"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/config/secrets.ts"],"names":[],"mappings":"AAGA,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgBtE;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe3D;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOxE"}
@@ -17,17 +17,25 @@ function extractEnvPlaceholderName(value) {
17
17
  function isEnvPlaceholder(value) {
18
18
  return Boolean(extractEnvPlaceholderName(value));
19
19
  }
20
- /** Resolve `${ENV_VAR}` from process.env; return direct secrets/values as-is. */
20
+ /**
21
+ * Resolve `${ENV_VAR}` from process.env; return direct secrets/values as-is.
22
+ * Supports auto-detection of environment variable placeholders formatted as `${ENV_VAR}`
23
+ * and extracts the corresponding value from process.env. If it's a plaintext key,
24
+ * it returns the value directly.
25
+ */
21
26
  function resolveConfigSecret(value) {
22
27
  if (!value?.trim()) {
23
28
  return undefined;
24
29
  }
25
30
  const trimmed = value.trim();
31
+ // Auto-detect if the value is an environment variable placeholder like ${MY_KEY}
26
32
  const envName = extractEnvPlaceholderName(trimmed);
27
33
  if (envName) {
34
+ // Extract corresponding environment variable value from process.env
28
35
  const resolved = process.env[envName]?.trim();
29
36
  return resolved || undefined;
30
37
  }
38
+ // Fallback: return direct plaintext key
31
39
  return trimmed;
32
40
  }
33
41
  /** Persist user input: env var name → `${NAME}`, already-placeholder → unchanged, else direct key. */
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/config/secrets.ts"],"names":[],"mappings":";;AAGA,8DAMC;AAED,4CAEC;AAGD,kDAaC;AAGD,sDAeC;AAGD,0DAOC;AAzDD,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AACxD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC1D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,iFAAiF;AACjF,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9C,OAAO,QAAQ,IAAI,SAAS,CAAC;IAC/B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sGAAsG;AACtG,SAAgB,qBAAqB,CAAC,KAAa;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,OAAO,GAAG,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kFAAkF;AAClF,SAAgB,uBAAuB,CAAC,GAAY;IAClD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,OAAO,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/config/secrets.ts"],"names":[],"mappings":";;AAGA,8DAMC;AAED,4CAEC;AAQD,kDAgBC;AAGD,sDAeC;AAGD,0DAOC;AAjED,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AACxD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC1D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,iFAAiF;IACjF,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,oEAAoE;QACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9C,OAAO,QAAQ,IAAI,SAAS,CAAC;IAC/B,CAAC;IAED,wCAAwC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sGAAsG;AACtG,SAAgB,qBAAqB,CAAC,KAAa;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,OAAO,GAAG,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kFAAkF;AAClF,SAAgB,uBAAuB,CAAC,GAAY;IAClD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,OAAO,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,15 +1,42 @@
1
+ export declare enum ErrorCode {
2
+ UNKNOWN = "UNKNOWN",
3
+ CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
4
+ VALIDATION_ERROR = "VALIDATION_ERROR",
5
+ INDEXING_ERROR = "INDEXING_ERROR",
6
+ CONTEXT_ERROR = "CONTEXT_ERROR",
7
+ MODEL_CALL_ERROR = "MODEL_CALL_ERROR",
8
+ ROUTING_ERROR = "ROUTING_ERROR",
9
+ PLANNING_ERROR = "PLANNING_ERROR",
10
+ EXECUTION_ERROR = "EXECUTION_ERROR"
11
+ }
1
12
  export declare class GraphFlowError extends Error {
2
13
  readonly details?: unknown | undefined;
3
- constructor(message: string, details?: unknown | undefined);
14
+ readonly code: ErrorCode;
15
+ readonly recovery: string | undefined;
16
+ constructor(message: string, details?: unknown | undefined, code?: ErrorCode, recovery?: string);
4
17
  }
5
18
  export declare class IndexingError extends GraphFlowError {
19
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
6
20
  }
7
21
  export declare class ModelCallError extends GraphFlowError {
22
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
8
23
  }
9
24
  export declare class PlanningError extends GraphFlowError {
25
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
10
26
  }
11
27
  export declare class ConfigurationError extends GraphFlowError {
28
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
12
29
  }
13
30
  export declare class ExecutionError extends GraphFlowError {
31
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
32
+ }
33
+ export declare class RoutingError extends GraphFlowError {
34
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
35
+ }
36
+ export declare class ValidationError extends GraphFlowError {
37
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
38
+ }
39
+ export declare class ContextError extends GraphFlowError {
40
+ constructor(message: string, details?: unknown, code?: ErrorCode, recovery?: string);
14
41
  }
15
42
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;aACM,OAAO,CAAC,EAAE,OAAO;gBAAlD,OAAO,EAAE,MAAM,EAAkB,OAAO,CAAC,EAAE,OAAO,YAAA;CAK/D;AAED,qBAAa,aAAc,SAAQ,cAAc;CAAG;AACpD,qBAAa,cAAe,SAAQ,cAAc;CAAG;AACrD,qBAAa,aAAc,SAAQ,cAAc;CAAG;AACpD,qBAAa,kBAAmB,SAAQ,cAAc;CAAG;AACzD,qBAAa,cAAe,SAAQ,cAAc;CAAG"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IAEnB,OAAO,YAAY;IACnB,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IAGrC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAG/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;CACpC;AAED,qBAAa,cAAe,SAAQ,KAAK;aAMrB,OAAO,CAAC,EAAE,OAAO;IALnC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG3C,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,OAAO,YAAA,EACjC,IAAI,GAAE,SAA6B,EACnC,QAAQ,CAAC,EAAE,MAAM;CAQpB;AAED,qBAAa,aAAc,SAAQ,cAAc;gBAE7C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAoC,EAC1C,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,cAAe,SAAQ,cAAc;gBAE9C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAsC,EAC5C,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,aAAc,SAAQ,cAAc;gBAE7C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAoC,EAC1C,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBAElD,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAyC,EAC/C,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,cAAe,SAAQ,cAAc;gBAE9C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAqC,EAC3C,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAE5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAmC,EACzC,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBAE/C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAsC,EAC5C,QAAQ,CAAC,EAAE,MAAM;CAIpB;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAE5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,GAAE,SAAmC,EACzC,QAAQ,CAAC,EAAE,MAAM;CAIpB"}
@@ -1,29 +1,82 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecutionError = exports.ConfigurationError = exports.PlanningError = exports.ModelCallError = exports.IndexingError = exports.GraphFlowError = void 0;
3
+ exports.ContextError = exports.ValidationError = exports.RoutingError = exports.ExecutionError = exports.ConfigurationError = exports.PlanningError = exports.ModelCallError = exports.IndexingError = exports.GraphFlowError = exports.ErrorCode = void 0;
4
+ var ErrorCode;
5
+ (function (ErrorCode) {
6
+ // 通用与基础错误
7
+ ErrorCode["UNKNOWN"] = "UNKNOWN";
8
+ ErrorCode["CONFIGURATION_ERROR"] = "CONFIGURATION_ERROR";
9
+ ErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
10
+ // 索引与上下文错误
11
+ ErrorCode["INDEXING_ERROR"] = "INDEXING_ERROR";
12
+ ErrorCode["CONTEXT_ERROR"] = "CONTEXT_ERROR";
13
+ // 模型调用与路由错误
14
+ ErrorCode["MODEL_CALL_ERROR"] = "MODEL_CALL_ERROR";
15
+ ErrorCode["ROUTING_ERROR"] = "ROUTING_ERROR";
16
+ // 规划与执行错误
17
+ ErrorCode["PLANNING_ERROR"] = "PLANNING_ERROR";
18
+ ErrorCode["EXECUTION_ERROR"] = "EXECUTION_ERROR";
19
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
4
20
  class GraphFlowError extends Error {
5
21
  details;
6
- constructor(message, details) {
22
+ code;
23
+ recovery;
24
+ constructor(message, details, code = ErrorCode.UNKNOWN, recovery) {
7
25
  super(message);
8
26
  this.details = details;
9
27
  this.name = this.constructor.name;
28
+ this.code = code;
29
+ this.recovery = recovery;
10
30
  Error.captureStackTrace(this, this.constructor);
11
31
  }
12
32
  }
13
33
  exports.GraphFlowError = GraphFlowError;
14
34
  class IndexingError extends GraphFlowError {
35
+ constructor(message, details, code = ErrorCode.INDEXING_ERROR, recovery) {
36
+ super(message, details, code, recovery);
37
+ }
15
38
  }
16
39
  exports.IndexingError = IndexingError;
17
40
  class ModelCallError extends GraphFlowError {
41
+ constructor(message, details, code = ErrorCode.MODEL_CALL_ERROR, recovery) {
42
+ super(message, details, code, recovery);
43
+ }
18
44
  }
19
45
  exports.ModelCallError = ModelCallError;
20
46
  class PlanningError extends GraphFlowError {
47
+ constructor(message, details, code = ErrorCode.PLANNING_ERROR, recovery) {
48
+ super(message, details, code, recovery);
49
+ }
21
50
  }
22
51
  exports.PlanningError = PlanningError;
23
52
  class ConfigurationError extends GraphFlowError {
53
+ constructor(message, details, code = ErrorCode.CONFIGURATION_ERROR, recovery) {
54
+ super(message, details, code, recovery);
55
+ }
24
56
  }
25
57
  exports.ConfigurationError = ConfigurationError;
26
58
  class ExecutionError extends GraphFlowError {
59
+ constructor(message, details, code = ErrorCode.EXECUTION_ERROR, recovery) {
60
+ super(message, details, code, recovery);
61
+ }
27
62
  }
28
63
  exports.ExecutionError = ExecutionError;
64
+ class RoutingError extends GraphFlowError {
65
+ constructor(message, details, code = ErrorCode.ROUTING_ERROR, recovery) {
66
+ super(message, details, code, recovery);
67
+ }
68
+ }
69
+ exports.RoutingError = RoutingError;
70
+ class ValidationError extends GraphFlowError {
71
+ constructor(message, details, code = ErrorCode.VALIDATION_ERROR, recovery) {
72
+ super(message, details, code, recovery);
73
+ }
74
+ }
75
+ exports.ValidationError = ValidationError;
76
+ class ContextError extends GraphFlowError {
77
+ constructor(message, details, code = ErrorCode.CONTEXT_ERROR, recovery) {
78
+ super(message, details, code, recovery);
79
+ }
80
+ }
81
+ exports.ContextError = ContextError;
29
82
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,KAAK;IACM;IAA7C,YAAY,OAAe,EAAkB,OAAiB;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,YAAO,GAAP,OAAO,CAAU;QAE5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAND,wCAMC;AAED,MAAa,aAAc,SAAQ,cAAc;CAAG;AAApD,sCAAoD;AACpD,MAAa,cAAe,SAAQ,cAAc;CAAG;AAArD,wCAAqD;AACrD,MAAa,aAAc,SAAQ,cAAc;CAAG;AAApD,sCAAoD;AACpD,MAAa,kBAAmB,SAAQ,cAAc;CAAG;AAAzD,gDAAyD;AACzD,MAAa,cAAe,SAAQ,cAAc;CAAG;AAArD,wCAAqD"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}