@helmai/cli 1.0.14 → 1.0.17
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.
- package/bin/helm.js +0 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +24 -24
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/inject.d.ts.map +1 -1
- package/dist/commands/inject.js +73 -21
- package/dist/commands/inject.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/branding.d.ts +30 -0
- package/dist/lib/branding.d.ts.map +1 -0
- package/dist/lib/branding.js +112 -0
- package/dist/lib/branding.js.map +1 -0
- package/dist/lib/capability-router.d.ts +8 -1
- package/dist/lib/capability-router.d.ts.map +1 -1
- package/dist/lib/capability-router.js +100 -17
- package/dist/lib/capability-router.js.map +1 -1
- package/dist/lib/codebase-scan.d.ts +13 -1
- package/dist/lib/codebase-scan.d.ts.map +1 -1
- package/dist/lib/codebase-scan.js +118 -0
- package/dist/lib/codebase-scan.js.map +1 -1
- package/dist/lib/complexity.d.ts +9 -0
- package/dist/lib/complexity.d.ts.map +1 -0
- package/dist/lib/complexity.js +50 -0
- package/dist/lib/complexity.js.map +1 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +32 -2
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/knowledge.d.ts +1 -0
- package/dist/lib/knowledge.d.ts.map +1 -1
- package/dist/lib/knowledge.js +36 -0
- package/dist/lib/knowledge.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.printBanner = printBanner;
|
|
7
|
+
exports.stderrHeader = stderrHeader;
|
|
8
|
+
exports.stderrSuccess = stderrSuccess;
|
|
9
|
+
exports.stderrInfo = stderrInfo;
|
|
10
|
+
exports.stderrWarn = stderrWarn;
|
|
11
|
+
exports.injectionPreamble = injectionPreamble;
|
|
12
|
+
exports.injectionFooter = injectionFooter;
|
|
13
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
14
|
+
/**
|
|
15
|
+
* Large ASCII art banner for helm init and other hero moments.
|
|
16
|
+
*/
|
|
17
|
+
const HELM_ASCII = `
|
|
18
|
+
██╗ ██╗ ███████╗ ██╗ ███╗ ███╗
|
|
19
|
+
██║ ██║ ██╔════╝ ██║ ████╗ ████║
|
|
20
|
+
███████║ █████╗ ██║ ██╔████╔██║
|
|
21
|
+
██╔══██║ ██╔══╝ ██║ ██║╚██╔╝██║
|
|
22
|
+
██║ ██║ ███████╗ ███████╗ ██║ ╚═╝ ██║
|
|
23
|
+
╚═╝ ╚═╝ ╚══════╝ ╚══════╝ ╚═╝ ╚═╝`;
|
|
24
|
+
const TAGLINE = 'Take the helm.';
|
|
25
|
+
/**
|
|
26
|
+
* Print the large HELM banner with tagline. Used during `helm init`.
|
|
27
|
+
*/
|
|
28
|
+
function printBanner() {
|
|
29
|
+
console.log(chalk_1.default.cyan(HELM_ASCII));
|
|
30
|
+
console.log(chalk_1.default.white.bold(`\n ${TAGLINE}\n`));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Compact one-line header for stderr during inject and other background operations.
|
|
34
|
+
*/
|
|
35
|
+
function stderrHeader(detail) {
|
|
36
|
+
const base = chalk_1.default.cyan.bold('⎈ Helm');
|
|
37
|
+
const line = detail ? `${base} ${chalk_1.default.gray('—')} ${chalk_1.default.white(detail)}` : base;
|
|
38
|
+
process.stderr.write(`${line}\n`);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Branded success line for stderr.
|
|
42
|
+
*/
|
|
43
|
+
function stderrSuccess(message) {
|
|
44
|
+
process.stderr.write(`${chalk_1.default.cyan('⎈')} ${chalk_1.default.green('✓')} ${message}\n`);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Branded info line for stderr.
|
|
48
|
+
*/
|
|
49
|
+
function stderrInfo(message) {
|
|
50
|
+
process.stderr.write(`${chalk_1.default.cyan('⎈')} ${chalk_1.default.gray(message)}\n`);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Branded warning line for stderr.
|
|
54
|
+
*/
|
|
55
|
+
function stderrWarn(message) {
|
|
56
|
+
process.stderr.write(`${chalk_1.default.cyan('⎈')} ${chalk_1.default.yellow('⚠')} ${message}\n`);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The injection preamble — tells the agent what Helm is and how to use it.
|
|
60
|
+
* This is the opening block inside <helm> tags.
|
|
61
|
+
*/
|
|
62
|
+
function injectionPreamble() {
|
|
63
|
+
return `# ⎈ Helm — Context Active
|
|
64
|
+
|
|
65
|
+
**Helm has enhanced this prompt.** Rules, knowledge, relevant files, and project structure have been injected below. This context represents decisions already made for this project — follow them without asking.
|
|
66
|
+
|
|
67
|
+
## What Helm Did
|
|
68
|
+
Helm analyzed your prompt and automatically:
|
|
69
|
+
- Matched relevant project rules and conventions
|
|
70
|
+
- Identified files you'll likely need to read
|
|
71
|
+
- Detected capabilities this task requires (testing, frontend, database, etc.)
|
|
72
|
+
- Loaded team knowledge and patterns
|
|
73
|
+
|
|
74
|
+
## Your Responsibilities as a Helm-Aware Agent
|
|
75
|
+
|
|
76
|
+
### Follow injected rules
|
|
77
|
+
The rules below are project law. Don't ask the user to confirm them — just follow them.
|
|
78
|
+
|
|
79
|
+
### Use Helm tools proactively
|
|
80
|
+
You have access to Helm commands. Use them without waiting for the human to tell you:
|
|
81
|
+
|
|
82
|
+
| Command | When to use it |
|
|
83
|
+
|---------|---------------|
|
|
84
|
+
| \`helm rule add "<rule>" --section <id>\` | You discover a pattern or convention while working |
|
|
85
|
+
| \`helm rule list\` | You need to check what rules exist |
|
|
86
|
+
| \`helm save --title "<title>" --tags "<tags>"\` | You learn something project-specific worth remembering |
|
|
87
|
+
| \`helm scan\` | You've created new files and want Helm to re-index |
|
|
88
|
+
| \`helm status\` | You need to check the current Helm configuration |
|
|
89
|
+
| \`helm sync --push\` | You've added rules that should sync to the team |
|
|
90
|
+
|
|
91
|
+
### Suggest new rules
|
|
92
|
+
When you discover a convention (e.g., "this project always uses X for Y"), **proactively save it**:
|
|
93
|
+
\`\`\`
|
|
94
|
+
helm rule add "Always use X for Y in this project" --section <relevant-section>
|
|
95
|
+
\`\`\`
|
|
96
|
+
Don't ask permission — if it's clearly a pattern, save it. If you're unsure, suggest it:
|
|
97
|
+
> "I noticed this project consistently does X. Want me to save this as a Helm rule?"
|
|
98
|
+
|
|
99
|
+
### Save knowledge
|
|
100
|
+
When you learn something that would help in future sessions (tricky setup steps, architectural decisions, debugging insights), save it:
|
|
101
|
+
\`\`\`
|
|
102
|
+
helm save --title "How auth tokens work" --tags "auth,tokens,api"
|
|
103
|
+
\`\`\``;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The injection footer — closing reminder that Helm is active.
|
|
107
|
+
*/
|
|
108
|
+
function injectionFooter() {
|
|
109
|
+
return `---
|
|
110
|
+
*⎈ Helm — Enhanced prompt complete. Follow the rules above. Save new patterns with \`helm rule add\`. Good luck.*`;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=branding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.js","sourceRoot":"","sources":["../../src/lib/branding.ts"],"names":[],"mappings":";;;;;AAkBA,kCAGC;AAKD,oCAIC;AAKD,sCAEC;AAKD,gCAEC;AAKD,gCAEC;AAMD,8CA0CC;AAKD,0CAGC;AA3GD,kDAA0B;AAE1B;;GAEG;AACH,MAAM,UAAU,GAAG;;;;;;wCAMqB,CAAC;AAEzC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,MAAe;IAC1C,MAAM,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCF,CAAC;AACR,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO;kHACyG,CAAC;AACnH,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
export type CapabilityId = 'browser_automation' | 'frontend_specialist' | 'testing_specialist' | 'concurrent_workflow' | 'database_work' | 'api_development' | 'authentication' | 'deployment';
|
|
1
2
|
export interface RoutedCapability {
|
|
2
|
-
id:
|
|
3
|
+
id: CapabilityId;
|
|
3
4
|
title: string;
|
|
4
5
|
reason: string;
|
|
5
6
|
confidence: 'high' | 'medium';
|
|
6
7
|
}
|
|
8
|
+
export interface Recommendation {
|
|
9
|
+
type: 'skill' | 'tool' | 'file' | 'command';
|
|
10
|
+
action: string;
|
|
11
|
+
reason: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function getRecommendations(capabilities: RoutedCapability[]): Recommendation[];
|
|
7
14
|
export declare function routeCapabilities(prompt: string, stack: string[]): RoutedCapability[];
|
|
8
15
|
export declare function persistCapabilities(cwd: string, capabilities: RoutedCapability[]): void;
|
|
9
16
|
//# sourceMappingURL=capability-router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-router.d.ts","sourceRoot":"","sources":["../../src/lib/capability-router.ts"],"names":[],"mappings":"AAGA,MAAM,
|
|
1
|
+
{"version":3,"file":"capability-router.d.ts","sourceRoot":"","sources":["../../src/lib/capability-router.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAE/L,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAmCD,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAgBrF;AAkBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAqErF;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAiCvF"}
|
|
@@ -33,39 +33,122 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getRecommendations = getRecommendations;
|
|
36
37
|
exports.routeCapabilities = routeCapabilities;
|
|
37
38
|
exports.persistCapabilities = persistCapabilities;
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
39
40
|
const path = __importStar(require("path"));
|
|
41
|
+
const CAPABILITY_RECOMMENDATIONS = {
|
|
42
|
+
browser_automation: [
|
|
43
|
+
{ type: 'tool', action: 'Ensure Playwright MCP server is configured', reason: 'Prompt requires browser interaction or visual verification.' },
|
|
44
|
+
],
|
|
45
|
+
frontend_specialist: [
|
|
46
|
+
{ type: 'skill', action: 'Activate `inertia-react-development` skill', reason: 'Frontend work needs Inertia + React patterns.' },
|
|
47
|
+
{ type: 'skill', action: 'Activate `tailwindcss-development` skill', reason: 'Styling work needs Tailwind v4 patterns.' },
|
|
48
|
+
{ type: 'skill', action: 'Activate `wayfinder-development` skill if referencing backend routes', reason: 'Frontend-backend route binding needs Wayfinder.' },
|
|
49
|
+
],
|
|
50
|
+
testing_specialist: [
|
|
51
|
+
{ type: 'skill', action: 'Activate `pest-testing` skill', reason: 'Tests must use Pest framework.' },
|
|
52
|
+
{ type: 'file', action: 'Check existing test files in `tests/` for conventions', reason: 'Follow existing test patterns.' },
|
|
53
|
+
],
|
|
54
|
+
concurrent_workflow: [
|
|
55
|
+
{ type: 'command', action: 'Run `helm status` to check active sessions', reason: 'Verify concurrent session state before creating worktrees.' },
|
|
56
|
+
],
|
|
57
|
+
database_work: [
|
|
58
|
+
{ type: 'tool', action: 'Use `database-schema` tool to inspect tables before writing migrations', reason: 'Understand current schema before modifying it.' },
|
|
59
|
+
{ type: 'file', action: 'Check existing migrations in `database/migrations/` for naming conventions', reason: 'Follow existing migration patterns.' },
|
|
60
|
+
],
|
|
61
|
+
api_development: [
|
|
62
|
+
{ type: 'file', action: 'Check `routes/api.php` for existing API structure and versioning', reason: 'Follow existing API conventions.' },
|
|
63
|
+
{ type: 'file', action: 'Check existing API Resources in `app/Http/Resources/`', reason: 'Reuse or follow existing resource patterns.' },
|
|
64
|
+
],
|
|
65
|
+
authentication: [
|
|
66
|
+
{ type: 'skill', action: 'Activate `developing-with-fortify` skill', reason: 'Auth features use Laravel Fortify.' },
|
|
67
|
+
{ type: 'file', action: 'Check `config/fortify.php` for enabled features', reason: 'Understand which auth features are configured.' },
|
|
68
|
+
],
|
|
69
|
+
deployment: [
|
|
70
|
+
{ type: 'file', action: 'Check `.github/workflows/` or deployment config', reason: 'Understand existing CI/CD pipeline.' },
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
function getRecommendations(capabilities) {
|
|
74
|
+
const recommendations = [];
|
|
75
|
+
const seen = new Set();
|
|
76
|
+
for (const cap of capabilities) {
|
|
77
|
+
const recs = CAPABILITY_RECOMMENDATIONS[cap.id] ?? [];
|
|
78
|
+
for (const rec of recs) {
|
|
79
|
+
const key = `${rec.type}:${rec.action}`;
|
|
80
|
+
if (!seen.has(key)) {
|
|
81
|
+
seen.add(key);
|
|
82
|
+
recommendations.push(rec);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return recommendations;
|
|
87
|
+
}
|
|
40
88
|
function routeCapabilities(prompt, stack) {
|
|
41
89
|
const promptLower = prompt.toLowerCase();
|
|
42
90
|
const capabilities = [];
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
91
|
+
const signals = [
|
|
92
|
+
{
|
|
93
|
+
test: /\b(worktree|concurrent|parallel|same (codebase|branch|repo)|multiple (sessions?|agents?|terminals?)|someone else|team.*(work|code|branch)|conflict|simultaneous)\b/,
|
|
94
|
+
id: 'concurrent_workflow',
|
|
95
|
+
title: 'Concurrent Workflow',
|
|
96
|
+
reason: 'Prompt references parallel development, worktrees, or concurrent sessions.',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
test: /\b(screenshot|visual|browser|playwright|ui flow|pixel|rendering|look(s| like)|check the page)\b/,
|
|
48
100
|
id: 'browser_automation',
|
|
49
101
|
title: 'Browser Automation',
|
|
50
102
|
reason: 'Prompt references screenshots, visual checks, or browser interaction.',
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (hasFrontendSignal) {
|
|
55
|
-
capabilities.push({
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
test: /\b(css|tailwind|style|styling|layout|responsive|ui|component|frontend|page|form|button|modal|card|hero|nav|sidebar)\b/,
|
|
56
106
|
id: 'frontend_specialist',
|
|
57
107
|
title: 'Frontend Specialist',
|
|
58
108
|
reason: 'Prompt references UI, layout, or styling work.',
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
capabilities.push({
|
|
109
|
+
stackBoost: ['react', 'inertia', 'tailwind'],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
test: /\b(test|tests|testing|pest|phpunit|assert|coverage|spec|tdd)\b/,
|
|
64
113
|
id: 'testing_specialist',
|
|
65
114
|
title: 'Testing Specialist',
|
|
66
115
|
reason: 'Prompt references tests or assertions.',
|
|
67
|
-
|
|
68
|
-
}
|
|
116
|
+
stackBoost: ['pest'],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
test: /\b(migration|column|table|index|foreign key|schema|database|model|eloquent|relationship|has(Many|One|BelongsTo)|pivot)\b/,
|
|
120
|
+
id: 'database_work',
|
|
121
|
+
title: 'Database Specialist',
|
|
122
|
+
reason: 'Prompt references database schema, migrations, or model relationships.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
test: /\b(api|endpoint|resource|json|rest|graphql|route.*api|api.*route|sanctum|token|bearer)\b/,
|
|
126
|
+
id: 'api_development',
|
|
127
|
+
title: 'API Development',
|
|
128
|
+
reason: 'Prompt references API endpoints, resources, or authentication tokens.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
test: /\b(auth|login|logout|register|password|2fa|two.factor|verification|verify email|forgot password|reset password|guard|policy|gate|permission)\b/,
|
|
132
|
+
id: 'authentication',
|
|
133
|
+
title: 'Authentication & Authorization',
|
|
134
|
+
reason: 'Prompt references authentication, authorization, or access control.',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
test: /\b(deploy|ci\/cd|pipeline|github action|workflow|staging|production|docker|forge|vapor|envoyer)\b/,
|
|
138
|
+
id: 'deployment',
|
|
139
|
+
title: 'Deployment & CI/CD',
|
|
140
|
+
reason: 'Prompt references deployment, pipelines, or infrastructure.',
|
|
141
|
+
},
|
|
142
|
+
];
|
|
143
|
+
for (const signal of signals) {
|
|
144
|
+
if (signal.test.test(promptLower)) {
|
|
145
|
+
capabilities.push({
|
|
146
|
+
id: signal.id,
|
|
147
|
+
title: signal.title,
|
|
148
|
+
reason: signal.reason,
|
|
149
|
+
confidence: signal.stackBoost?.some(s => stack.includes(s)) ? 'high' : 'high',
|
|
150
|
+
});
|
|
151
|
+
}
|
|
69
152
|
}
|
|
70
153
|
return dedupeCapabilities(capabilities);
|
|
71
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-router.js","sourceRoot":"","sources":["../../src/lib/capability-router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"capability-router.js","sourceRoot":"","sources":["../../src/lib/capability-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface FileEntry {
|
|
1
|
+
export interface FileEntry {
|
|
2
2
|
path: string;
|
|
3
3
|
type: string;
|
|
4
4
|
name: string;
|
|
@@ -20,5 +20,17 @@ export declare function scanCodebase(cwd: string): CodebaseMap;
|
|
|
20
20
|
* Generate a compact text summary suitable for prompt injection
|
|
21
21
|
*/
|
|
22
22
|
export declare function generateStructureSummary(map: CodebaseMap): string;
|
|
23
|
+
export interface RelevantFile {
|
|
24
|
+
path: string;
|
|
25
|
+
type: string;
|
|
26
|
+
name: string;
|
|
27
|
+
reason: string;
|
|
28
|
+
score: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Smart file matching: given a prompt, active capabilities, and the codebase map,
|
|
32
|
+
* returns the most relevant files the agent should look at.
|
|
33
|
+
*/
|
|
34
|
+
export declare function matchRelevantFiles(prompt: string, capabilityIds: string[], map: CodebaseMap, maxFiles?: number): RelevantFile[];
|
|
23
35
|
export {};
|
|
24
36
|
//# sourceMappingURL=codebase-scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-scan.d.ts","sourceRoot":"","sources":["../../src/lib/codebase-scan.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"codebase-scan.d.ts","sourceRoot":"","sources":["../../src/lib/codebase-scan.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AA2FD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CA+ErD;AA6CD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CA4DjE;AAsBD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AA4BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EAAE,EACvB,GAAG,EAAE,WAAW,EAChB,QAAQ,SAAI,GACX,YAAY,EAAE,CAmEhB"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.scanCodebase = scanCodebase;
|
|
37
37
|
exports.generateStructureSummary = generateStructureSummary;
|
|
38
|
+
exports.matchRelevantFiles = matchRelevantFiles;
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
39
40
|
const path = __importStar(require("path"));
|
|
40
41
|
const IGNORE_DIRS = new Set([
|
|
@@ -343,4 +344,121 @@ function matchesPattern(filePath, pattern) {
|
|
|
343
344
|
const cleanPattern = pattern.replace(/^\//, '').replace(/\/$/, '');
|
|
344
345
|
return filePath.startsWith(cleanPattern + '/') || filePath === cleanPattern;
|
|
345
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* Type affinity: maps capability IDs to the file types most likely needed.
|
|
349
|
+
*/
|
|
350
|
+
const CAPABILITY_TYPE_AFFINITY = {
|
|
351
|
+
testing_specialist: ['test', 'factory'],
|
|
352
|
+
database_work: ['model', 'migration', 'factory', 'seeder'],
|
|
353
|
+
frontend_specialist: ['page', 'component', 'react-component', 'layout', 'blade-view', 'blade-component'],
|
|
354
|
+
api_development: ['controller', 'form-request', 'route', 'middleware'],
|
|
355
|
+
authentication: ['controller', 'middleware', 'policy', 'config'],
|
|
356
|
+
browser_automation: ['page', 'component', 'react-component', 'test'],
|
|
357
|
+
deployment: ['config'],
|
|
358
|
+
concurrent_workflow: [],
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* Related file types: when a file of one type is matched, also suggest these sibling types.
|
|
362
|
+
*/
|
|
363
|
+
const RELATED_TYPE_MAP = {
|
|
364
|
+
model: ['factory', 'migration', 'controller', 'test', 'policy'],
|
|
365
|
+
controller: ['form-request', 'test', 'model'],
|
|
366
|
+
page: ['component', 'layout'],
|
|
367
|
+
migration: ['model', 'factory'],
|
|
368
|
+
factory: ['model', 'test'],
|
|
369
|
+
test: ['model', 'controller'],
|
|
370
|
+
};
|
|
371
|
+
/**
|
|
372
|
+
* Smart file matching: given a prompt, active capabilities, and the codebase map,
|
|
373
|
+
* returns the most relevant files the agent should look at.
|
|
374
|
+
*/
|
|
375
|
+
function matchRelevantFiles(prompt, capabilityIds, map, maxFiles = 8) {
|
|
376
|
+
const scores = new Map();
|
|
377
|
+
const promptLower = prompt.toLowerCase();
|
|
378
|
+
const words = extractPromptWords(promptLower);
|
|
379
|
+
// 1. Type affinity — score files whose type matches active capabilities
|
|
380
|
+
const affinityTypes = new Set();
|
|
381
|
+
for (const capId of capabilityIds) {
|
|
382
|
+
const types = CAPABILITY_TYPE_AFFINITY[capId] ?? [];
|
|
383
|
+
for (const t of types) {
|
|
384
|
+
affinityTypes.add(t);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
for (const file of map.key_files) {
|
|
388
|
+
if (affinityTypes.has(file.type)) {
|
|
389
|
+
addScore(scores, file, 2, `type matches ${file.type} capability`);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
// 2. Name matching — extract 4+ char words from prompt, match against file names
|
|
393
|
+
for (const file of map.key_files) {
|
|
394
|
+
const nameLower = file.name.toLowerCase();
|
|
395
|
+
for (const word of words) {
|
|
396
|
+
if (nameLower === word) {
|
|
397
|
+
addScore(scores, file, 3, `name matches "${word}"`);
|
|
398
|
+
}
|
|
399
|
+
else if (nameLower.includes(word) || word.includes(nameLower)) {
|
|
400
|
+
addScore(scores, file, 2, `name contains "${word}"`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
// 3. Related file expansion — if a file scored via name match, also suggest related types
|
|
405
|
+
const nameMatchedFiles = [...scores.entries()]
|
|
406
|
+
.filter(([, v]) => v.reasons.some(r => r.startsWith('name ')))
|
|
407
|
+
.map(([, v]) => v.file);
|
|
408
|
+
for (const matchedFile of nameMatchedFiles) {
|
|
409
|
+
const relatedTypes = RELATED_TYPE_MAP[matchedFile.type] ?? [];
|
|
410
|
+
if (relatedTypes.length === 0)
|
|
411
|
+
continue;
|
|
412
|
+
const nameLower = matchedFile.name.toLowerCase();
|
|
413
|
+
for (const file of map.key_files) {
|
|
414
|
+
if (file.path === matchedFile.path)
|
|
415
|
+
continue;
|
|
416
|
+
if (!relatedTypes.includes(file.type))
|
|
417
|
+
continue;
|
|
418
|
+
// Only expand if the related file shares a name fragment with the matched file
|
|
419
|
+
const relNameLower = file.name.toLowerCase();
|
|
420
|
+
if (relNameLower.includes(nameLower) || nameLower.includes(relNameLower)) {
|
|
421
|
+
addScore(scores, file, 1, `related ${file.type} for ${matchedFile.name}`);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
// Sort by score descending, dedupe, take top N
|
|
426
|
+
const sorted = [...scores.values()]
|
|
427
|
+
.sort((a, b) => b.score - a.score)
|
|
428
|
+
.slice(0, maxFiles);
|
|
429
|
+
return sorted.map(({ file, score, reasons }) => ({
|
|
430
|
+
path: file.path,
|
|
431
|
+
type: file.type,
|
|
432
|
+
name: file.name,
|
|
433
|
+
reason: reasons[0],
|
|
434
|
+
score,
|
|
435
|
+
}));
|
|
436
|
+
}
|
|
437
|
+
function addScore(scores, file, points, reason) {
|
|
438
|
+
const existing = scores.get(file.path);
|
|
439
|
+
if (existing) {
|
|
440
|
+
existing.score += points;
|
|
441
|
+
existing.reasons.push(reason);
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
scores.set(file.path, { file, score: points, reasons: [reason] });
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Extract meaningful words (4+ chars) from a prompt for file name matching.
|
|
449
|
+
*/
|
|
450
|
+
function extractPromptWords(promptLower) {
|
|
451
|
+
const stopWords = new Set([
|
|
452
|
+
'that', 'this', 'with', 'from', 'have', 'will', 'what', 'when', 'where',
|
|
453
|
+
'which', 'their', 'there', 'them', 'then', 'than', 'they', 'been', 'being',
|
|
454
|
+
'some', 'such', 'each', 'make', 'like', 'just', 'also', 'into', 'over',
|
|
455
|
+
'only', 'very', 'after', 'before', 'should', 'could', 'would', 'about',
|
|
456
|
+
'does', 'want', 'need', 'please', 'help',
|
|
457
|
+
]);
|
|
458
|
+
return promptLower
|
|
459
|
+
.replace(/[^a-z0-9\s]/g, ' ')
|
|
460
|
+
.split(/\s+/)
|
|
461
|
+
.filter(w => w.length >= 4 && !stopWords.has(w))
|
|
462
|
+
.filter((w, i, arr) => arr.indexOf(w) === i);
|
|
463
|
+
}
|
|
346
464
|
//# sourceMappingURL=codebase-scan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-scan.js","sourceRoot":"","sources":["../../src/lib/codebase-scan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codebase-scan.js","sourceRoot":"","sources":["../../src/lib/codebase-scan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,oCA+EC;AAgDD,4DA4DC;AA4DD,gDAwEC;AA/aD,uCAAyB;AACzB,2CAA6B;AAsB7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;IACrE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO;IACnE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ;CACxD,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IACvE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAClE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;CAC9B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAsE;IACvF,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,YAAY,CAAC;QAC5D,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,cAAc,CAAC;QAC3D,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,YAAY,CAAC;QAC3D,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,QAAQ,CAAC;QACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,UAAU,CAAC;QACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,SAAS,CAAC;QACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,UAAU,CAAC;QACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAAE,OAAO,cAAc,CAAC;QAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,mBAAmB,CAAC;QAClG,IAAI,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAAE,OAAO,WAAW,CAAC;QAClE,IAAI,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/D,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC5D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,OAAO,CAAC;QACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,QAAQ,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;QAClB,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,WAAW,CAAC;QAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACjF,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QACnB,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC;QAChD,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,WAAW,CAAC;QAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe;IAC7B,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;QACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,iBAAiB,CAAC;QAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,cAAc,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,KAAK,cAAc;YAAE,OAAO,gBAAgB,CAAC;QACrD,IAAI,IAAI,KAAK,eAAe;YAAE,OAAO,gBAAgB,CAAC;QACtD,IAAI,IAAI,KAAK,eAAe;YAAE,OAAO,QAAQ,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,iBAAiB;IAChC,CAAC;IACD,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QACjB,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,wBAAwB;CAC7C,CAAC;AAEF,SAAS,WAAW,CAAC,QAAgB,EAAE,IAAY;IACjD,6CAA6C;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElD,0BAA0B;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW;IACtC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAqC,EAAE,CAAC;IAC1D,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAErD,SAAS,IAAI,CAAC,GAAW,EAAE,KAAa;QACtC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,oBAAoB;QAE3C,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAElD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACrE,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAE3E,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,SAAS,EAAE,CAAC;gBACZ,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;gBAEhF,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,IAAI;oBACJ,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;gBAEH,qBAAqB;gBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACvD,CAAC;gBACD,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAC3C,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEb,sBAAsB;IACtB,MAAM,UAAU,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACrG,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC9F,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,sBAAsB,CAAC,YAAY,CAAC;QACjD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAsC;IACpE,MAAM,YAAY,GAAqC,EAAE,CAAC;IAE1D,yCAAyC;IACzC,MAAM,MAAM,GAAqE,EAAE,CAAC;IAEpF,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,+CAA+C;QAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAgB,CAAC;QAErB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC7G,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACtB,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,GAAgB;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,iDAAiD;IACjD,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAA2B;QACzC,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,eAAe;QAC/B,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,YAAY;QACzB,iBAAiB,EAAE,kBAAkB;QACrC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,QAAQ;QAClB,mBAAmB,EAAE,oBAAoB;KAC1C,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ;QACvE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ;QAClE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ;KACvE,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAE3C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACvC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC,MAAM,GAAG,CAAC,QAAQ;YAC7E,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,YAAY,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7C,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;aAC3C,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACvD,0EAA0E;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,YAAY,CAAC;AAC9E,CAAC;AAUD;;GAEG;AACH,MAAM,wBAAwB,GAA6B;IACzD,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;IACvC,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;IAC1D,mBAAmB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC;IACxG,eAAe,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC;IACtE,cAAc,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAChE,kBAAkB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,CAAC;IACpE,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,mBAAmB,EAAE,EAAE;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB,GAA6B;IACjD,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC/D,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC;IAC7C,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC7B,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC/B,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,SAAgB,kBAAkB,CAChC,MAAc,EACd,aAAuB,EACvB,GAAgB,EAChB,QAAQ,GAAG,CAAC;IAEZ,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiE,CAAC;IAExF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE9C,wEAAwE;IACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,iBAAiB,IAAI,GAAG,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,kBAAkB,IAAI,GAAG,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1B,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAExC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;gBAAE,SAAS;YAC7C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEhD,+EAA+E;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,IAAI,CAAC,IAAI,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClB,KAAK;KACN,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CACf,MAA0E,EAC1E,IAAe,EACf,MAAc,EACd,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;QACvE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;QAC1E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QACtE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;QACtE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;KACzC,CAAC,CAAC;IAEH,OAAO,WAAW;SACf,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RoutedCapability } from './capability-router.js';
|
|
2
|
+
export type ComplexityLevel = 'simple' | 'moderate' | 'complex';
|
|
3
|
+
export interface ComplexityResult {
|
|
4
|
+
level: ComplexityLevel;
|
|
5
|
+
guidance: string;
|
|
6
|
+
signals: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function detectComplexity(prompt: string, capabilities: RoutedCapability[]): ComplexityResult;
|
|
9
|
+
//# sourceMappingURL=complexity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complexity.d.ts","sourceRoot":"","sources":["../../src/lib/complexity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAKD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,gBAAgB,EAAE,GAC/B,gBAAgB,CA+ClB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectComplexity = detectComplexity;
|
|
4
|
+
const COMPLEX_VERBS = /\b(refactor|restructure|redesign|rewrite|overhaul|rearchitect|migrate)\b/i;
|
|
5
|
+
const ACTION_VERBS = /\b(add|create|fix|update|remove|delete|build|implement|change|move|rename|write|modify|configure|deploy|test|refactor|restructure|optimize)\b/gi;
|
|
6
|
+
function detectComplexity(prompt, capabilities) {
|
|
7
|
+
const signals = [];
|
|
8
|
+
const charCount = prompt.length;
|
|
9
|
+
const actionVerbs = new Set((prompt.match(ACTION_VERBS) ?? []).map(v => v.toLowerCase()));
|
|
10
|
+
const capabilityCount = capabilities.length;
|
|
11
|
+
const hasComplexVerb = COMPLEX_VERBS.test(prompt);
|
|
12
|
+
// Complex signals
|
|
13
|
+
if (hasComplexVerb)
|
|
14
|
+
signals.push('complex-verb');
|
|
15
|
+
if (charCount > 500)
|
|
16
|
+
signals.push('long-prompt');
|
|
17
|
+
if (capabilityCount >= 3)
|
|
18
|
+
signals.push('many-capabilities');
|
|
19
|
+
if (actionVerbs.size >= 3)
|
|
20
|
+
signals.push('multiple-actions');
|
|
21
|
+
// Simple signals
|
|
22
|
+
if (charCount < 120)
|
|
23
|
+
signals.push('short-prompt');
|
|
24
|
+
if (capabilityCount <= 1)
|
|
25
|
+
signals.push('few-capabilities');
|
|
26
|
+
if (actionVerbs.size <= 1)
|
|
27
|
+
signals.push('single-action');
|
|
28
|
+
const complexSignals = signals.filter(s => ['complex-verb', 'long-prompt', 'many-capabilities', 'multiple-actions'].includes(s));
|
|
29
|
+
const simpleSignals = signals.filter(s => ['short-prompt', 'few-capabilities', 'single-action'].includes(s));
|
|
30
|
+
if (complexSignals.length >= 2) {
|
|
31
|
+
return {
|
|
32
|
+
level: 'complex',
|
|
33
|
+
guidance: 'This is a complex task. **Plan before executing**: outline your approach, identify affected files, and consider edge cases before writing code.',
|
|
34
|
+
signals,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (simpleSignals.length >= 2 && complexSignals.length === 0) {
|
|
38
|
+
return {
|
|
39
|
+
level: 'simple',
|
|
40
|
+
guidance: 'This is a straightforward task. Execute directly — no planning overhead needed.',
|
|
41
|
+
signals,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
level: 'moderate',
|
|
46
|
+
guidance: '',
|
|
47
|
+
signals,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=complexity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/lib/complexity.ts"],"names":[],"mappings":";;AAaA,4CAkDC;AArDD,MAAM,aAAa,GAAG,2EAA2E,CAAC;AAClG,MAAM,YAAY,GAAG,iJAAiJ,CAAC;AAEvK,SAAgB,gBAAgB,CAC9B,MAAc,EACd,YAAgC;IAEhC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1F,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC;IAC5C,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAElD,kBAAkB;IAClB,IAAI,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,GAAG;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5D,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE5D,iBAAiB;IACjB,IAAI,SAAS,GAAG,GAAG;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrF,CAAC;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClE,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,iJAAiJ;YAC3J,OAAO;SACR,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,iFAAiF;YAC3F,OAAO;SACR,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,EAAE;QACZ,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/lib/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AA+BvC,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAU5E;AAyKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAoC9E"}
|