openlore 2.0.8 → 2.0.10

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 (91) hide show
  1. package/README.md +51 -6
  2. package/dist/api/init.d.ts.map +1 -1
  3. package/dist/api/init.js +9 -2
  4. package/dist/api/init.js.map +1 -1
  5. package/dist/cli/commands/analyze.d.ts.map +1 -1
  6. package/dist/cli/commands/analyze.js +5 -3
  7. package/dist/cli/commands/analyze.js.map +1 -1
  8. package/dist/cli/commands/decisions.d.ts +0 -1
  9. package/dist/cli/commands/decisions.d.ts.map +1 -1
  10. package/dist/cli/commands/decisions.js +19 -31
  11. package/dist/cli/commands/decisions.js.map +1 -1
  12. package/dist/cli/commands/doctor.d.ts.map +1 -1
  13. package/dist/cli/commands/doctor.js +85 -23
  14. package/dist/cli/commands/doctor.js.map +1 -1
  15. package/dist/cli/commands/init.d.ts.map +1 -1
  16. package/dist/cli/commands/init.js +16 -3
  17. package/dist/cli/commands/init.js.map +1 -1
  18. package/dist/cli/commands/mcp.d.ts +85 -0
  19. package/dist/cli/commands/mcp.d.ts.map +1 -1
  20. package/dist/cli/commands/mcp.js +69 -53
  21. package/dist/cli/commands/mcp.js.map +1 -1
  22. package/dist/cli/commands/orient.d.ts.map +1 -1
  23. package/dist/cli/commands/orient.js +31 -2
  24. package/dist/cli/commands/orient.js.map +1 -1
  25. package/dist/cli/commands/prove.d.ts +29 -0
  26. package/dist/cli/commands/prove.d.ts.map +1 -0
  27. package/dist/cli/commands/prove.js +160 -0
  28. package/dist/cli/commands/prove.js.map +1 -0
  29. package/dist/cli/commands/setup.d.ts.map +1 -1
  30. package/dist/cli/commands/setup.js +5 -3
  31. package/dist/cli/commands/setup.js.map +1 -1
  32. package/dist/cli/index.js +2 -0
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/cli/install/adapters/claude-code.d.ts +8 -2
  35. package/dist/cli/install/adapters/claude-code.d.ts.map +1 -1
  36. package/dist/cli/install/adapters/claude-code.js +99 -35
  37. package/dist/cli/install/adapters/claude-code.js.map +1 -1
  38. package/dist/cli/install/detect.d.ts.map +1 -1
  39. package/dist/cli/install/detect.js +14 -0
  40. package/dist/cli/install/detect.js.map +1 -1
  41. package/dist/cli/install/templates/agent-instructions.md +2 -2
  42. package/dist/constants.d.ts +10 -3
  43. package/dist/constants.d.ts.map +1 -1
  44. package/dist/constants.js +10 -3
  45. package/dist/constants.js.map +1 -1
  46. package/dist/core/agent-eval/measure.d.ts +57 -0
  47. package/dist/core/agent-eval/measure.d.ts.map +1 -0
  48. package/dist/core/agent-eval/measure.js +85 -0
  49. package/dist/core/agent-eval/measure.js.map +1 -0
  50. package/dist/core/agent-eval/scorecard.d.ts +37 -0
  51. package/dist/core/agent-eval/scorecard.d.ts.map +1 -0
  52. package/dist/core/agent-eval/scorecard.js +70 -0
  53. package/dist/core/agent-eval/scorecard.js.map +1 -0
  54. package/dist/core/agent-eval/tasks.d.ts +37 -0
  55. package/dist/core/agent-eval/tasks.d.ts.map +1 -0
  56. package/dist/core/agent-eval/tasks.js +76 -0
  57. package/dist/core/agent-eval/tasks.js.map +1 -0
  58. package/dist/core/analyzer/architecture-writer.d.ts +5 -3
  59. package/dist/core/analyzer/architecture-writer.d.ts.map +1 -1
  60. package/dist/core/analyzer/architecture-writer.js +6 -4
  61. package/dist/core/analyzer/architecture-writer.js.map +1 -1
  62. package/dist/core/analyzer/call-graph.d.ts.map +1 -1
  63. package/dist/core/analyzer/call-graph.js +3 -1
  64. package/dist/core/analyzer/call-graph.js.map +1 -1
  65. package/dist/core/analyzer/spec-vector-index.d.ts.map +1 -1
  66. package/dist/core/analyzer/spec-vector-index.js +6 -2
  67. package/dist/core/analyzer/spec-vector-index.js.map +1 -1
  68. package/dist/core/services/config-manager.d.ts +17 -0
  69. package/dist/core/services/config-manager.d.ts.map +1 -1
  70. package/dist/core/services/config-manager.js +35 -1
  71. package/dist/core/services/config-manager.js.map +1 -1
  72. package/dist/core/services/mcp-handlers/orient.d.ts +1 -1
  73. package/dist/core/services/mcp-handlers/orient.d.ts.map +1 -1
  74. package/dist/core/services/mcp-handlers/orient.js +146 -109
  75. package/dist/core/services/mcp-handlers/orient.js.map +1 -1
  76. package/dist/core/services/mcp-handlers/progressive.d.ts +46 -0
  77. package/dist/core/services/mcp-handlers/progressive.d.ts.map +1 -0
  78. package/dist/core/services/mcp-handlers/progressive.js +0 -0
  79. package/dist/core/services/mcp-handlers/progressive.js.map +1 -0
  80. package/dist/core/services/mcp-handlers/semantic.d.ts +1 -1
  81. package/dist/core/services/mcp-handlers/semantic.d.ts.map +1 -1
  82. package/dist/core/services/mcp-handlers/semantic.js +39 -26
  83. package/dist/core/services/mcp-handlers/semantic.js.map +1 -1
  84. package/dist/core/services/mcp-watcher.d.ts +7 -0
  85. package/dist/core/services/mcp-watcher.d.ts.map +1 -1
  86. package/dist/core/services/mcp-watcher.js +38 -1
  87. package/dist/core/services/mcp-watcher.js.map +1 -1
  88. package/dist/core/services/project-detector.d.ts.map +1 -1
  89. package/dist/core/services/project-detector.js +45 -2
  90. package/dist/core/services/project-detector.js.map +1 -1
  91. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Handles reading/writing .openlore/config.json and openspec/config.yaml
5
5
  */
6
- import { mkdir, readFile, writeFile } from 'node:fs/promises';
6
+ import { mkdir, readFile, writeFile, readdir } from 'node:fs/promises';
7
7
  import { join } from 'node:path';
8
8
  import YAML from 'yaml';
9
9
  import { logger } from '../../utils/logger.js';
@@ -127,6 +127,40 @@ export async function createOpenSpecStructure(openspecPath) {
127
127
  await ensureDir(openspecPath);
128
128
  await ensureDir(join(openspecPath, 'specs'));
129
129
  }
130
+ /**
131
+ * Detect an existing specs directory so `init` does not create an empty
132
+ * `openspec/` blind to specs that already live in `docs/specs/` or `specs/`
133
+ * (Spec 26 B5). Candidate openspec-roots are scanned in priority order; the
134
+ * first whose `<root>/specs` contains at least one `*.md` wins. Returns null
135
+ * when nothing is found.
136
+ */
137
+ export async function detectExistingSpecDir(rootPath) {
138
+ // root (relative) → specs live at `<root>/specs`. '.' covers a bare `specs/`.
139
+ const candidateRoots = ['openspec', 'docs', '.'];
140
+ for (const root of candidateRoots) {
141
+ const specsRel = root === '.' ? 'specs' : `${root}/specs`;
142
+ const specsDir = join(rootPath, specsRel);
143
+ let count = 0;
144
+ try {
145
+ const stack = [specsDir];
146
+ while (stack.length) {
147
+ const dir = stack.pop();
148
+ for (const d of await readdir(dir, { withFileTypes: true })) {
149
+ if (d.isDirectory())
150
+ stack.push(join(dir, d.name));
151
+ else if (d.name.endsWith('.md'))
152
+ count++;
153
+ }
154
+ }
155
+ }
156
+ catch {
157
+ continue; // specs dir doesn't exist — try the next candidate
158
+ }
159
+ if (count > 0)
160
+ return { root, specsRel, count };
161
+ }
162
+ return null;
163
+ }
130
164
  /**
131
165
  * Merge existing OpenSpec config with openlore metadata
132
166
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/core/services/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/core/services/config-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAiB5D;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,OAAe;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qCAAqC;QACrC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAwB,EAAE,YAAoB;IAC7E,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,WAAW;QACX,YAAY;QACZ,QAAQ,EAAE;YACR,QAAQ,EAAE,iBAAiB;YAC3B,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,EAAE;SACpB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,MAAM;SAChB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAC1E,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+CAA+C;IAC9D,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,CAAC,mBAAmB,UAAU,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,UAAU,wBAAwB,0CAA0C,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,MAAsB;IAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAE7D,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3B,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAAoB;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAChE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,mDAAmD;IAClE,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,CAAC,mBAAmB,UAAU,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAAoB,EACpB,MAAsB;IAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAEhE,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,YAAoB;IAC1D,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,YAAoB;IAC7D,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,YAAoB;IAChE,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,8EAA8E;IAC9E,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,CAAC,WAAW,EAAE;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;yBAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,KAAK,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,mDAAmD;QAC/D,CAAC;QACD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA+B,EAC/B,YAAwC;IAExC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE;gBACV,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACvB,GAAG,YAAY;aAChB;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,YAAY;KACzB,CAAC;AACJ,CAAC"}
@@ -13,5 +13,5 @@
13
13
  * replacing the need to chain analyze_codebase → search_code → search_specs
14
14
  * → suggest_insertion_points manually.
15
15
  */
16
- export declare function handleOrient(directory: string, task: string, limit?: number): Promise<unknown>;
16
+ export declare function handleOrient(directory: string, task: string, limit?: number, tokenBudget?: number, lean?: boolean): Promise<unknown>;
17
17
  //# sourceMappingURL=orient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../../../src/core/services/mcp-handlers/orient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwIH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,GACR,OAAO,CAAC,OAAO,CAAC,CAgalB"}
1
+ {"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../../../src/core/services/mcp-handlers/orient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA6IH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,EACT,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,UAAQ,GACX,OAAO,CAAC,OAAO,CAAC,CAmclB"}
@@ -16,6 +16,7 @@
16
16
  import { join } from 'node:path';
17
17
  import { readFile, stat } from 'node:fs/promises';
18
18
  import { validateDirectory, loadMappingIndex, specsForFile, functionsForDomain, readCachedContext } from './utils.js';
19
+ import { expandHandle, applyTokenBudget, collapseExactDuplicates, omissionNote } from './progressive.js';
19
20
  import { readOpenLoreConfig } from '../config-manager.js';
20
21
  import { isIacLanguage } from '../../analyzer/iac/types.js';
21
22
  import { OPENSPEC_DIR, ARTIFACT_RAG_MANIFEST } from '../../../constants.js';
@@ -63,7 +64,7 @@ async function loadCondensedCached(cache, absSpecPath, specPath) {
63
64
  // ============================================================================
64
65
  // HANDLER
65
66
  // ============================================================================
66
- export async function handleOrient(directory, task, limit = 5) {
67
+ export async function handleOrient(directory, task, limit = 5, tokenBudget, lean = false) {
67
68
  const absDir = await validateDirectory(directory);
68
69
  const outputDir = join(absDir, '.openlore', 'analysis');
69
70
  const { VectorIndex } = await import('../../analyzer/vector-index.js');
@@ -105,10 +106,11 @@ export async function handleOrient(directory, task, limit = 5) {
105
106
  const topResults = rawResults
106
107
  .filter(r => r.record.filePath !== 'external' && !r.record.id?.startsWith('external::'))
107
108
  .slice(0, clampedLimit);
108
- const relevantFunctions = topResults.map(r => ({
109
+ const relevantFunctionsAll = topResults.map(r => ({
109
110
  name: r.record.name,
110
111
  filePath: r.record.filePath,
111
112
  score: parseFloat(r.score.toFixed(3)),
113
+ expand: expandHandle(r.record.name, r.record.filePath),
112
114
  signature: r.record.signature || undefined,
113
115
  docstring: r.record.docstring || undefined,
114
116
  language: r.record.language,
@@ -118,10 +120,18 @@ export async function handleOrient(directory, task, limit = 5) {
118
120
  isEntryPoint: r.record.isEntryPoint,
119
121
  linkedSpecs: mappingIdx ? specsForFile(mappingIdx, r.record.filePath) : [],
120
122
  }));
123
+ // Progressive disclosure (Spec 25 P2–P4): when a tokenBudget is set, collapse
124
+ // exact duplicates then greedily keep the highest-scored functions that fit.
125
+ // Default (no budget) is unchanged. The `expand` handle on every kept item
126
+ // means a dropped/collapsed body is one cheap get_function_body call away.
127
+ const budgeted = tokenBudget
128
+ ? applyTokenBudget(collapseExactDuplicates(relevantFunctionsAll), tokenBudget)
129
+ : { kept: relevantFunctionsAll, omitted: 0 };
130
+ const relevantFunctions = budgeted.kept;
121
131
  // ── Relevant files (deduplicated) ─────────────────────────────────────────
122
132
  const relevantFiles = [...new Set(relevantFunctions.map(f => f.filePath))];
123
133
  const specLinkedFunctions = [];
124
- if (mappingIdx && relevantFunctions.length > 0) {
134
+ if (!lean && mappingIdx && relevantFunctions.length > 0) {
125
135
  const seedDomains = new Set();
126
136
  for (const fn of relevantFunctions) {
127
137
  for (const spec of fn.linkedSpecs)
@@ -193,9 +203,17 @@ export async function handleOrient(directory, task, limit = 5) {
193
203
  const insertionPoints = insertionCandidates
194
204
  .slice(0, 3)
195
205
  .map((c, i) => ({ rank: i + 1, ...c, score: parseFloat(c.score.toFixed(3)) }));
206
+ // ── Enrichment (Spec 27, deepened) ─────────────────────────────────────────
207
+ // Everything from here down is dropped by lean mode (it returns the navigation
208
+ // `core` only). Spec 27 P1 trimmed the lean *payload* but still computed this
209
+ // enrichment and threw it away — an extra embedding search (matchingSpecs),
210
+ // manifest + spec-file reads (inlineSpecs), a decision-store load, git-derived
211
+ // blocks, and a dependency-graph scan, all wasted on a shallow lookup. Each
212
+ // block is now guarded by `!lean`, so lean skips the *work*, not just the
213
+ // bytes: it makes the shallow-task path measurably faster, not only smaller.
196
214
  // ── Spec search (best-effort — skipped if spec index not available) ────────
197
215
  let matchingSpecs;
198
- if (hasSpecIndex && embedSvc) {
216
+ if (!lean && hasSpecIndex && embedSvc) {
199
217
  try {
200
218
  const specResults = await SpecVectorIndex.search(outputDir, task, embedSvc, { limit: 3 });
201
219
  matchingSpecs = specResults.map(r => ({
@@ -212,7 +230,7 @@ export async function handleOrient(directory, task, limit = 5) {
212
230
  }
213
231
  // ── Inline spec purpose from RAG manifest ─────────────────────────────────
214
232
  let inlineSpecs;
215
- if (specDomains.length > 0) {
233
+ if (!lean && specDomains.length > 0) {
216
234
  try {
217
235
  const cfg = await readOpenLoreConfig(absDir);
218
236
  const openspecRelPath = cfg?.openspecPath ?? OPENSPEC_DIR;
@@ -252,136 +270,141 @@ export async function handleOrient(directory, task, limit = 5) {
252
270
  }
253
271
  }
254
272
  let pendingDecisions;
255
- try {
256
- const { loadDecisionStore, INACTIVE_STATUSES } = await import('../../decisions/store.js');
257
- const store = await loadDecisionStore(absDir);
258
- const relevantDomainSet = new Set(specDomains.map((s) => s.domain));
259
- const relevantFileSet = new Set(relevantFiles);
260
- const active = store.decisions.filter((d) => {
261
- if (INACTIVE_STATUSES.has(d.status))
273
+ if (!lean)
274
+ try {
275
+ const { loadDecisionStore, INACTIVE_STATUSES } = await import('../../decisions/store.js');
276
+ const store = await loadDecisionStore(absDir);
277
+ const relevantDomainSet = new Set(specDomains.map((s) => s.domain));
278
+ const relevantFileSet = new Set(relevantFiles);
279
+ const active = store.decisions.filter((d) => {
280
+ if (INACTIVE_STATUSES.has(d.status))
281
+ return false;
282
+ // Surface if it touches a domain or file the orient task identified
283
+ if (d.affectedDomains.some((dom) => relevantDomainSet.has(dom)))
284
+ return true;
285
+ if (d.affectedFiles.some((f) => relevantFileSet.has(f)))
286
+ return true;
287
+ // Always surface approved decisions — agent must sync before committing
288
+ if (d.status === 'approved')
289
+ return true;
262
290
  return false;
263
- // Surface if it touches a domain or file the orient task identified
264
- if (d.affectedDomains.some((dom) => relevantDomainSet.has(dom)))
265
- return true;
266
- if (d.affectedFiles.some((f) => relevantFileSet.has(f)))
267
- return true;
268
- // Always surface approved decisions — agent must sync before committing
269
- if (d.status === 'approved')
270
- return true;
271
- return false;
272
- });
273
- if (active.length > 0) {
274
- pendingDecisions = active.map((d) => ({
275
- id: d.id,
276
- title: d.title,
277
- status: d.status,
278
- affectedDomains: d.affectedDomains,
279
- }));
291
+ });
292
+ if (active.length > 0) {
293
+ pendingDecisions = active.map((d) => ({
294
+ id: d.id,
295
+ title: d.title,
296
+ status: d.status,
297
+ affectedDomains: d.affectedDomains,
298
+ }));
299
+ }
300
+ }
301
+ catch {
302
+ // non-fatal decisions feature may not be initialised
280
303
  }
281
- }
282
- catch {
283
- // non-fatal — decisions feature may not be initialised
284
- }
285
304
  // ── Governing decisions (graph-derived, spec-16) ───────────────────────────
286
305
  // The `affects`-edge join: decisions that govern the files this task touches,
287
306
  // resolved deterministically from the projected decision graph rather than a
288
307
  // runtime set-membership scan. Additive alongside pendingDecisions — this field
289
308
  // also reports *which* files each decision governs (file-level provenance).
290
309
  let governingDecisions;
291
- try {
292
- const es = llmCtx?.edgeStore;
293
- if (es && relevantFiles.length > 0) {
294
- const govs = es.getDecisionsForFiles(relevantFiles);
295
- if (govs.length > 0) {
296
- governingDecisions = govs.map((d) => ({
297
- id: d.decisionId,
298
- title: d.title,
299
- status: d.status,
300
- governs: d.affectedFiles,
301
- }));
310
+ if (!lean)
311
+ try {
312
+ const es = llmCtx?.edgeStore;
313
+ if (es && relevantFiles.length > 0) {
314
+ const govs = es.getDecisionsForFiles(relevantFiles);
315
+ if (govs.length > 0) {
316
+ governingDecisions = govs.map((d) => ({
317
+ id: d.decisionId,
318
+ title: d.title,
319
+ status: d.status,
320
+ governs: d.affectedFiles,
321
+ }));
322
+ }
302
323
  }
303
324
  }
304
- }
305
- catch {
306
- // non-fatal — decision projection is additive
307
- }
325
+ catch {
326
+ // non-fatal — decision projection is additive
327
+ }
308
328
  // ── Provenance (local git/gh, spec-18) ─────────────────────────────────────
309
329
  // "Last changed by X in PR #N" for the files this task touches — derived from
310
330
  // local git history (and local gh if present). Additive, local-only, no upload.
311
331
  let provenance;
312
- try {
313
- const es = llmCtx?.edgeStore;
314
- if (es && relevantFiles.length > 0) {
315
- const records = es.getProvenanceForFiles(relevantFiles);
316
- if (records.length > 0) {
317
- provenance = records.slice(0, 10).map((r) => {
318
- const topPr = r.prs[0];
319
- return {
320
- file: r.filePath,
321
- lastAuthor: r.lastAuthor.name || r.lastAuthor.email,
322
- ...(r.lastDate ? { lastDate: r.lastDate } : {}),
323
- ...(topPr ? { lastPr: topPr.number } : {}),
324
- ...(topPr?.title ? { lastPrTitle: topPr.title } : {}),
325
- };
326
- });
332
+ if (!lean)
333
+ try {
334
+ const es = llmCtx?.edgeStore;
335
+ if (es && relevantFiles.length > 0) {
336
+ const records = es.getProvenanceForFiles(relevantFiles);
337
+ if (records.length > 0) {
338
+ provenance = records.slice(0, 10).map((r) => {
339
+ const topPr = r.prs[0];
340
+ return {
341
+ file: r.filePath,
342
+ lastAuthor: r.lastAuthor.name || r.lastAuthor.email,
343
+ ...(r.lastDate ? { lastDate: r.lastDate } : {}),
344
+ ...(topPr ? { lastPr: topPr.number } : {}),
345
+ ...(topPr?.title ? { lastPrTitle: topPr.title } : {}),
346
+ };
347
+ });
348
+ }
327
349
  }
328
350
  }
329
- }
330
- catch {
331
- // non-fatal — provenance is additive and local-only
332
- }
351
+ catch {
352
+ // non-fatal — provenance is additive and local-only
353
+ }
333
354
  // ── Change coupling & volatility (local git, spec-22) ──────────────────────
334
355
  // Caution signals mined from git history: "frequently changes with …" surfaces
335
356
  // invisible coupling (no import/call edge), "volatility: high" flags risky churn.
336
357
  // Additive, advisory — correlation, not a rule.
337
358
  let changeCoupling;
338
- try {
339
- const es = llmCtx?.edgeStore;
340
- if (es && relevantFiles.length > 0) {
341
- const { volatilityLevel } = await import('../../provenance/change-coupling.js');
342
- const records = es.getChangeCouplingForFiles(relevantFiles)
343
- .filter((r) => r.churn > 0 && (volatilityLevel(r.churn) !== 'low' || r.coupledWith.length > 0));
344
- if (records.length > 0) {
345
- changeCoupling = records.slice(0, 10).map((r) => ({
346
- file: r.filePath,
347
- volatility: volatilityLevel(r.churn),
348
- changes: r.churn,
349
- frequentlyChangesWith: r.coupledWith.slice(0, 5).map((c) => ({ file: c.file, confidence: c.confidence })),
350
- }));
359
+ if (!lean)
360
+ try {
361
+ const es = llmCtx?.edgeStore;
362
+ if (es && relevantFiles.length > 0) {
363
+ const { volatilityLevel } = await import('../../provenance/change-coupling.js');
364
+ const records = es.getChangeCouplingForFiles(relevantFiles)
365
+ .filter((r) => r.churn > 0 && (volatilityLevel(r.churn) !== 'low' || r.coupledWith.length > 0));
366
+ if (records.length > 0) {
367
+ changeCoupling = records.slice(0, 10).map((r) => ({
368
+ file: r.filePath,
369
+ volatility: volatilityLevel(r.churn),
370
+ changes: r.churn,
371
+ frequentlyChangesWith: r.coupledWith.slice(0, 5).map((c) => ({ file: c.file, confidence: c.confidence })),
372
+ }));
373
+ }
351
374
  }
352
375
  }
353
- }
354
- catch {
355
- // non-fatal — change coupling is additive and local-only
356
- }
376
+ catch {
377
+ // non-fatal — change coupling is additive and local-only
378
+ }
357
379
  // ── Architecture invariants (spec-23, additive) ─────────────────────────────
358
380
  // Only when the repo declares rules AND a relevant file participates in a
359
381
  // violation. Fully omitted otherwise — inert by default.
360
382
  let architectureViolations;
361
- try {
362
- const rules = await loadArchitectureRules(absDir);
363
- if (rules.rules.length > 0 && relevantFiles.length > 0) {
364
- const depRaw = await readFile(join(outputDir, 'dependency-graph.json'), 'utf-8').catch(() => null);
365
- if (depRaw) {
366
- const depGraph = JSON.parse(depRaw);
367
- const norm = (p) => p.replace(/\\/g, '/').replace(/^\.\//, '');
368
- const rels = relevantFiles.map(norm);
369
- const involvesRelevant = (vf) => {
370
- const b = norm(vf);
371
- return rels.some(a => a === b || a.endsWith('/' + b) || b.endsWith('/' + a));
372
- };
373
- const scoped = scanViolations(depGraph, rules).violations.filter(v => involvesRelevant(v.from) || involvesRelevant(v.to));
374
- if (scoped.length > 0) {
375
- architectureViolations = scoped.slice(0, 10).map(v => ({
376
- from: v.from, to: v.to, kind: v.kind, reason: v.reason,
377
- }));
383
+ if (!lean)
384
+ try {
385
+ const rules = await loadArchitectureRules(absDir);
386
+ if (rules.rules.length > 0 && relevantFiles.length > 0) {
387
+ const depRaw = await readFile(join(outputDir, 'dependency-graph.json'), 'utf-8').catch(() => null);
388
+ if (depRaw) {
389
+ const depGraph = JSON.parse(depRaw);
390
+ const norm = (p) => p.replace(/\\/g, '/').replace(/^\.\//, '');
391
+ const rels = relevantFiles.map(norm);
392
+ const involvesRelevant = (vf) => {
393
+ const b = norm(vf);
394
+ return rels.some(a => a === b || a.endsWith('/' + b) || b.endsWith('/' + a));
395
+ };
396
+ const scoped = scanViolations(depGraph, rules).violations.filter(v => involvesRelevant(v.from) || involvesRelevant(v.to));
397
+ if (scoped.length > 0) {
398
+ architectureViolations = scoped.slice(0, 10).map(v => ({
399
+ from: v.from, to: v.to, kind: v.kind, reason: v.reason,
400
+ }));
401
+ }
378
402
  }
379
403
  }
380
404
  }
381
- }
382
- catch {
383
- // non-fatal — architecture guardrail is additive and opt-in
384
- }
405
+ catch {
406
+ // non-fatal — architecture guardrail is additive and opt-in
407
+ }
385
408
  // ── Suggested tools (portable discovery for non-Claude Code clients) ─────
386
409
  // Derived from what orient already knows — no extra I/O.
387
410
  const _suggested = ['record_decision'];
@@ -426,7 +449,8 @@ export async function handleOrient(directory, task, limit = 5) {
426
449
  // not yet re-analyzed): call paths, provenance, decisions, and change-coupling all
427
450
  // depend on it, so flag it rather than silently returning a thinner result.
428
451
  const graphIndexStale = relevantFunctions.length > 0 && !llmCtx?.edgeStore;
429
- return {
452
+ // Minimal-sufficient navigation core — always returned (Spec 27).
453
+ const core = {
430
454
  task,
431
455
  searchMode,
432
456
  ...(searchMode === 'bm25_fallback'
@@ -437,10 +461,24 @@ export async function handleOrient(directory, task, limit = 5) {
437
461
  : {}),
438
462
  relevantFiles,
439
463
  relevantFunctions,
440
- ...(specLinkedFunctions.length > 0 ? { specLinkedFunctions } : {}),
464
+ ...(budgeted.omitted > 0
465
+ ? { relevantFunctionsOmitted: omissionNote(budgeted.omitted, 'raise tokenBudget, increase limit, or call search_code') }
466
+ : {}),
441
467
  specDomains,
442
- ...(inlineSpecs !== undefined ? { inlineSpecs } : {}),
443
468
  callPaths,
469
+ suggestedTools,
470
+ };
471
+ // Lean mode (Spec 27): return the navigation core only. The enrichment blocks
472
+ // below are pure overhead on a shallow "who calls X" lookup and each is one
473
+ // exact `expand` handle or one dedicated tool call away — so we trim bytes per
474
+ // turn without forcing a follow-up round-trip. The rich default is unchanged.
475
+ if (lean) {
476
+ return { ...core, lean: true };
477
+ }
478
+ return {
479
+ ...core,
480
+ ...(specLinkedFunctions.length > 0 ? { specLinkedFunctions } : {}),
481
+ ...(inlineSpecs !== undefined ? { inlineSpecs } : {}),
444
482
  insertionPoints,
445
483
  ...(matchingSpecs !== undefined ? { matchingSpecs } : {}),
446
484
  ...(pendingDecisions !== undefined ? { pendingDecisions } : {}),
@@ -448,7 +486,6 @@ export async function handleOrient(directory, task, limit = 5) {
448
486
  ...(provenance !== undefined ? { provenance } : {}),
449
487
  ...(changeCoupling !== undefined ? { changeCoupling } : {}),
450
488
  ...(architectureViolations !== undefined ? { architectureViolations } : {}),
451
- suggestedTools,
452
489
  nextSteps,
453
490
  };
454
491
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orient.js","sourceRoot":"","sources":["../../../../src/core/services/mcp-handlers/orient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orient.js","sourceRoot":"","sources":["../../../../src/core/services/mcp-handlers/orient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAmBvB,wEAAwE;AACxE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;AAExD,2EAA2E;AAC3E,KAAK,UAAU,kBAAkB,CAAC,YAAoB,EAAE,QAAgB;IACtE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QACjD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAkB;YAC3B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB;YACxC,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE;SAC1C,CAAC;QACF,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,KAAK,UAAU,mBAAmB,CAAC,KAAoB,EAAE,WAAmB,EAAE,QAAgB;IAC5F,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAClC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAkED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,IAAY,EACZ,KAAK,GAAG,CAAC,EACT,WAAoB,EACpB,IAAI,GAAG,KAAK;IAEZ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAExD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IACvE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;IACjF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;IAEhF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,KAAK,EAAE,kDAAkD;YACzD,IAAI,EAAE,2HAA2H;SAClI,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,IAAI,QAAQ,GAAiD,IAAI,CAAC;IAClE,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,CAAC;QACH,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,eAAe,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtD,8EAA8E;IAC9E,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,CAAC,EAAE,CAAC;QAC1E,gBAAgB,CAAC,MAAM,CAAC;QACxB,iBAAiB,CAAC,MAAM,CAAC;KAC1B,CAAC,CAAC;IAGH,6EAA6E;IAC7E,8FAA8F;IAC9F,MAAM,UAAU,GAAG,UAAU;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;SACvF,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAE1B,MAAM,oBAAoB,GAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;QAC3B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS;QAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS;QAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;QACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;QACnC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;KAC3E,CAAC,CAAC,CAAC;IAEJ,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC;QAC9E,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC/C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAExC,6EAA6E;IAC7E,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAM3E,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoD,CAAC;IACjF,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;gBACnF,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;SAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;SACjD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAEnF,6EAA6E;IAC7E,MAAM,SAAS,GAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACrD,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5F,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QAC5B,uFAAuF;QACvF,MAAM,WAAW,GAAG,CAAC,CAAgC,EAAwB,EAAE,CAC7E,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;YAChB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAC5G,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,iFAAiF;IACjF,8FAA8F;IAC9F,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC7C,MAAM,IAAI,GAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAM,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;YAC3B,IAAI,EAAE,QAAQ,EAAE,KAAK;YACrB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;SACpF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,eAAe,GAA2B,mBAAmB;SAChE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjF,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAE7E,8EAA8E;IAC9E,IAAI,aAA4C,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1F,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gBACvB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;gBACzB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;gBACrB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,WAAqC,CAAC;IAC1C,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,eAAe,GAAG,GAAG,EAAE,YAAY,IAAI,YAAY,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;YAC1E,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;oBACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC7F,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBACxB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACtF,IAAI,CAAC,OAAO;wBAAE,OAAO,IAAI,CAAC;oBAC1B,MAAM,gBAAgB,GAAG,CAAC,CAAC;oBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;oBACF,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,gBAAgB;wBACpD,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,SAAS,QAAQ,CAAC,MAAM,GAAG,gBAAgB,OAAO,CAAC;wBAC9F,CAAC,CAAC,QAAQ,CAAC;oBACb,OAAO;wBACL,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,WAAW;wBACX,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,OAAO;qBACa,CAAC;gBACzB,CAAC,CAAC,CACH,CAAC;gBACF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,WAAW,GAAG,QAAQ,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IAWD,IAAI,gBAA+C,CAAC;IACpD,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC;YACd,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC1F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAClD,oEAAoE;gBACpE,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC7E,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrE,wEAAwE;gBACxE,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;oBAAE,OAAO,IAAI,CAAC;gBACzC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,eAAe,EAAE,CAAC,CAAC,eAAe;iBACnC,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,gFAAgF;IAChF,4EAA4E;IAC5E,IAAI,kBAES,CAAC;IACd,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC;YAC7B,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpC,EAAE,EAAE,CAAC,CAAC,UAAU;wBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,OAAO,EAAE,CAAC,CAAC,aAAa;qBACzB,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,IAAI,UAES,CAAC;IACd,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC;YAC7B,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACvB,OAAO;4BACL,IAAI,EAAE,CAAC,CAAC,QAAQ;4BAChB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK;4BACnD,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC/C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC1C,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACtD,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,kFAAkF;IAClF,gDAAgD;IAChD,IAAI,cAES,CAAC;IACd,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC;YACd,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC;YAC7B,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;gBAChF,MAAM,OAAO,GAAG,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC;qBACxD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChD,IAAI,EAAE,CAAC,CAAC,QAAQ;wBAChB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;wBACpC,OAAO,EAAE,CAAC,CAAC,KAAK;wBAChB,qBAAqB,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;qBAC1G,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IAED,+EAA+E;IAC/E,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,sBAAqG,CAAC;IAC1G,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnG,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACvE,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACrC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE;wBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/E,CAAC,CAAC;oBACF,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CACxD,CAAC;oBACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACrD,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;yBACvD,CAAC,CAAC,CAAC;oBACN,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IAED,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,UAAU,GAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,sBAAsB,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAChF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,+CAA+C,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC5G,IAAI,uDAAuD,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpH,IAAI,oDAAoD,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChH,IAAI,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5F,IAAI,wCAAwC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrG,IAAI,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3F,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7F,6EAA6E;IAC7E,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,SAAS,CAAC,IAAI,CACZ,2HAA2H,CAC5H,CAAC;IACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CACZ,sBAAsB,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,oCAAoC,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,WAAW;YACtB,CAAC,CAAC,4DAA4D,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,gDAAgD;YACnI,CAAC,CAAC,kBAAkB,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,8CAA8C,CAAC;QAC1F,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAE/F,kFAAkF;IAClF,mFAAmF;IACnF,4EAA4E;IAC5E,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3E,kEAAkE;IAClE,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,UAAU;QACV,GAAG,CAAC,UAAU,KAAK,eAAe;YAChC,CAAC,CAAC,EAAE,IAAI,EAAE,kHAAkH,EAAE;YAC9H,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC,EAAE,cAAc,EAAE,uMAAuM,EAAE;YAC7N,CAAC,CAAC,EAAE,CAAC;QACP,aAAa;QACb,iBAAiB;QACjB,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC;YACtB,CAAC,CAAC,EAAE,wBAAwB,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,wDAAwD,CAAC,EAAE;YACxH,CAAC,CAAC,EAAE,CAAC;QACP,WAAW;QACX,SAAS;QACT,cAAc;KACf,CAAC;IAEF,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,eAAe;QACf,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,SAAS;KACV,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,CAAC,EAAE,CAAC;IACvD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Progressive-disclosure helpers (Spec 25 Phase C / P2–P5).
3
+ *
4
+ * OpenLore's answer to headroom's reversible compression: return the smallest
5
+ * sufficient structural fact plus an *exact* expansion handle, and let a caller
6
+ * fit the result to a token budget deterministically. Because our IDs are
7
+ * deterministic, expansion is exact (call `get_function_body(directory,
8
+ * filePath, name)`), never a fuzzy re-search.
9
+ */
10
+ /**
11
+ * Uniform expansion handle attached to every disclosable item: `name::filePath`.
12
+ * An agent expands exactly one body with `get_function_body` only if it needs
13
+ * the implementation — turning a would-be follow-up read into a cheap, optional,
14
+ * one-shot call instead of a blind re-search (the P2 contract).
15
+ */
16
+ export declare function expandHandle(name: string, filePath: string): string;
17
+ export interface BudgetOutcome<T> {
18
+ kept: T[];
19
+ /** How many items were dropped to fit the budget (0 when none / no budget). */
20
+ omitted: number;
21
+ }
22
+ /**
23
+ * Greedily keep score-ordered items until `budget` tokens are exhausted (P4).
24
+ * Items are assumed already importance-ranked by the caller; at least one item
25
+ * is always kept so a tiny budget still yields a usable answer. Deterministic:
26
+ * same items + budget → same output (uses the char-based `estimateTokens`).
27
+ */
28
+ export declare function applyTokenBudget<T>(items: T[], budget: number | undefined): BudgetOutcome<T>;
29
+ /**
30
+ * Collapse *exact* duplicates — same name AND signature AND docstring — to one
31
+ * exemplar that lists the other locations in `duplicateOf` (P3, conservative).
32
+ * Requiring an exact triple match means two genuinely different functions that
33
+ * merely share a name are never merged; only true copies (generated code,
34
+ * vendored duplicates, re-exports) collapse. Order is preserved.
35
+ */
36
+ export declare function collapseExactDuplicates<T extends {
37
+ name: string;
38
+ filePath: string;
39
+ signature?: string;
40
+ docstring?: string;
41
+ }>(items: T[]): Array<T & {
42
+ duplicateOf?: string[];
43
+ }>;
44
+ /** The omission note appended when a token budget drops items (P4). */
45
+ export declare function omissionNote(omitted: number, expandHint: string): string;
46
+ //# sourceMappingURL=progressive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressive.d.ts","sourceRoot":"","sources":["../../../../src/core/services/mcp-handlers/progressive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAW5F;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACpF,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAenD;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAExE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressive.js","sourceRoot":"","sources":["../../../../src/core/services/mcp-handlers/progressive.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAgB;IACzD,OAAO,GAAG,IAAI,KAAK,QAAQ,EAAE,CAAC;AAChC,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAI,KAAU,EAAE,MAA0B;IACxE,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACrF,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,MAAM;YAAE,MAAM,CAAC,iBAAiB;QACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAErC,KAAU;IACV,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0C,CAAC;IAC/D,MAAM,GAAG,GAA0C,EAAE,CAAC;IACtD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,EAAoC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,UAAkB;IAC9D,OAAO,GAAG,OAAO,gDAAgD,UAAU,EAAE,CAAC;AAChF,CAAC"}
@@ -40,7 +40,7 @@ export declare function compositeScore(semanticRelevance: number, role: Insertio
40
40
  * - callers / callees from the call graph (graph-first context)
41
41
  * - linkedSpecs from mapping.json (bidirectional code↔spec linking)
42
42
  */
43
- export declare function handleSearchCode(directory: string, query: string, limit?: number, language?: string, minFanIn?: number): Promise<unknown>;
43
+ export declare function handleSearchCode(directory: string, query: string, limit?: number, language?: string, minFanIn?: number, tokenBudget?: number): Promise<unknown>;
44
44
  /**
45
45
  * Find the best places in the codebase to implement a new feature.
46
46
  */