codingbuddy 4.2.0 → 4.3.0
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/dist/src/cli/cli.d.ts +2 -2
- package/dist/src/cli/cli.js +4 -2
- package/dist/src/cli/cli.js.map +1 -1
- package/dist/src/cli/cli.types.d.ts +3 -0
- package/dist/src/cli/init/prompts/agent-prompt.d.ts +1 -1
- package/dist/src/cli/restart-tui.d.ts +9 -0
- package/dist/src/cli/restart-tui.js +30 -0
- package/dist/src/cli/restart-tui.js.map +1 -0
- package/dist/src/cli/run-tui.d.ts +3 -1
- package/dist/src/cli/run-tui.js +13 -1
- package/dist/src/cli/run-tui.js.map +1 -1
- package/dist/src/keyword/keyword.types.d.ts +3 -3
- package/dist/src/keyword/keyword.types.js +31 -1
- package/dist/src/keyword/keyword.types.js.map +1 -1
- package/dist/src/keyword/patterns/backend.patterns.js +10 -0
- package/dist/src/keyword/patterns/backend.patterns.js.map +1 -1
- package/dist/src/keyword/patterns/context.patterns.js +1 -1
- package/dist/src/keyword/patterns/data-science.patterns.d.ts +2 -0
- package/dist/src/keyword/patterns/data-science.patterns.js +71 -0
- package/dist/src/keyword/patterns/data-science.patterns.js.map +1 -0
- package/dist/src/keyword/patterns/index.d.ts +3 -0
- package/dist/src/keyword/patterns/index.js +7 -1
- package/dist/src/keyword/patterns/index.js.map +1 -1
- package/dist/src/keyword/patterns/intent-pattern-checks.js +24 -0
- package/dist/src/keyword/patterns/intent-pattern-checks.js.map +1 -1
- package/dist/src/keyword/patterns/security.patterns.d.ts +2 -0
- package/dist/src/keyword/patterns/security.patterns.js +106 -0
- package/dist/src/keyword/patterns/security.patterns.js.map +1 -0
- package/dist/src/keyword/patterns/systems.patterns.d.ts +2 -0
- package/dist/src/keyword/patterns/systems.patterns.js +101 -0
- package/dist/src/keyword/patterns/systems.patterns.js.map +1 -0
- package/dist/src/keyword/patterns/test.patterns.d.ts +2 -0
- package/dist/src/keyword/patterns/test.patterns.js +71 -0
- package/dist/src/keyword/patterns/test.patterns.js.map +1 -0
- package/dist/src/keyword/strategies/__tests__/strategy-test.utils.d.ts +1 -1
- package/dist/src/keyword/strategies/__tests__/strategy-test.utils.js +4 -0
- package/dist/src/keyword/strategies/__tests__/strategy-test.utils.js.map +1 -1
- package/dist/src/keyword/strategies/act-agent.strategy.js +2 -2
- package/dist/src/keyword/strategies/act-agent.strategy.js.map +1 -1
- package/dist/src/mcp/handlers/index.d.ts +1 -0
- package/dist/src/mcp/handlers/index.js +3 -1
- package/dist/src/mcp/handlers/index.js.map +1 -1
- package/dist/src/mcp/handlers/mode.handler.js +15 -1
- package/dist/src/mcp/handlers/mode.handler.js.map +1 -1
- package/dist/src/mcp/handlers/tui.handler.d.ts +8 -0
- package/dist/src/mcp/handlers/tui.handler.js +50 -0
- package/dist/src/mcp/handlers/tui.handler.js.map +1 -0
- package/dist/src/mcp/mcp.module.js +1 -0
- package/dist/src/mcp/mcp.module.js.map +1 -1
- package/dist/src/shared/version.d.ts +1 -0
- package/dist/src/shared/version.js +5 -0
- package/dist/src/shared/version.js.map +1 -0
- package/dist/src/shared/version.utils.js +2 -14
- package/dist/src/shared/version.utils.js.map +1 -1
- package/dist/src/tui/__perf__/rendering-performance.spec.js +4 -4
- package/dist/src/tui/__perf__/rendering-performance.spec.js.map +1 -1
- package/dist/src/tui/components/ActivityVisualizer.d.ts +7 -3
- package/dist/src/tui/components/ActivityVisualizer.js +8 -9
- package/dist/src/tui/components/ActivityVisualizer.js.map +1 -1
- package/dist/src/tui/components/ActivityVisualizer.spec.js +73 -27
- package/dist/src/tui/components/ActivityVisualizer.spec.js.map +1 -1
- package/dist/src/tui/components/ChecklistPanel.d.ts +10 -0
- package/dist/src/tui/components/ChecklistPanel.js +19 -0
- package/dist/src/tui/components/ChecklistPanel.js.map +1 -0
- package/dist/src/tui/components/ChecklistPanel.spec.d.ts +1 -0
- package/dist/src/tui/components/ChecklistPanel.spec.js +45 -0
- package/dist/src/tui/components/ChecklistPanel.spec.js.map +1 -0
- package/dist/src/tui/components/FocusedAgentPanel.d.ts +2 -8
- package/dist/src/tui/components/FocusedAgentPanel.js +1 -14
- package/dist/src/tui/components/FocusedAgentPanel.js.map +1 -1
- package/dist/src/tui/components/FocusedAgentPanel.spec.js +20 -51
- package/dist/src/tui/components/FocusedAgentPanel.spec.js.map +1 -1
- package/dist/src/tui/components/HeaderBar.d.ts +1 -2
- package/dist/src/tui/components/HeaderBar.js +3 -7
- package/dist/src/tui/components/HeaderBar.js.map +1 -1
- package/dist/src/tui/components/HeaderBar.spec.js +13 -13
- package/dist/src/tui/components/HeaderBar.spec.js.map +1 -1
- package/dist/src/tui/components/StageHealthBar.d.ts +3 -1
- package/dist/src/tui/components/StageHealthBar.js +10 -4
- package/dist/src/tui/components/StageHealthBar.js.map +1 -1
- package/dist/src/tui/components/StageHealthBar.spec.js +21 -7
- package/dist/src/tui/components/StageHealthBar.spec.js.map +1 -1
- package/dist/src/tui/components/activity-visualizer.pure.d.ts +3 -8
- package/dist/src/tui/components/activity-visualizer.pure.js +113 -50
- package/dist/src/tui/components/activity-visualizer.pure.js.map +1 -1
- package/dist/src/tui/components/checklist-panel.pure.d.ts +2 -0
- package/dist/src/tui/components/checklist-panel.pure.js +18 -0
- package/dist/src/tui/components/checklist-panel.pure.js.map +1 -0
- package/dist/src/tui/components/flow-map.pure.d.ts +2 -2
- package/dist/src/tui/components/flow-map.pure.js +120 -29
- package/dist/src/tui/components/flow-map.pure.js.map +1 -1
- package/dist/src/tui/components/focused-agent.pure.d.ts +0 -14
- package/dist/src/tui/components/focused-agent.pure.js +0 -45
- package/dist/src/tui/components/focused-agent.pure.js.map +1 -1
- package/dist/src/tui/components/grid-layout.pure.js +26 -4
- package/dist/src/tui/components/grid-layout.pure.js.map +1 -1
- package/dist/src/tui/components/index.d.ts +4 -2
- package/dist/src/tui/components/index.js +7 -7
- package/dist/src/tui/components/index.js.map +1 -1
- package/dist/src/tui/components/stage-health.pure.d.ts +1 -0
- package/dist/src/tui/components/stage-health.pure.js +4 -0
- package/dist/src/tui/components/stage-health.pure.js.map +1 -1
- package/dist/src/tui/dashboard-app.d.ts +2 -1
- package/dist/src/tui/dashboard-app.js +12 -15
- package/dist/src/tui/dashboard-app.js.map +1 -1
- package/dist/src/tui/dashboard-app.spec.js +11 -3
- package/dist/src/tui/dashboard-app.spec.js.map +1 -1
- package/dist/src/tui/dashboard-types.d.ts +6 -0
- package/dist/src/tui/dashboard-types.js +1 -0
- package/dist/src/tui/dashboard-types.js.map +1 -1
- package/dist/src/tui/eventbus-ui.integration.spec.js +1 -0
- package/dist/src/tui/eventbus-ui.integration.spec.js.map +1 -1
- package/dist/src/tui/events/parse-agent.js +0 -26
- package/dist/src/tui/events/parse-agent.js.map +1 -1
- package/dist/src/tui/events/response-event-extractor.js +33 -7
- package/dist/src/tui/events/response-event-extractor.js.map +1 -1
- package/dist/src/tui/hooks/use-dashboard-state.d.ts +6 -0
- package/dist/src/tui/hooks/use-dashboard-state.js +68 -18
- package/dist/src/tui/hooks/use-dashboard-state.js.map +1 -1
- package/dist/src/tui/multi-session-app.js +6 -1
- package/dist/src/tui/multi-session-app.js.map +1 -1
- package/dist/src/tui-bundle.mjs +615 -333
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/src/cli/cli.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import type { InitOptions } from './cli.types';
|
|
2
|
+
import type { InitOptions, TuiOptions } from './cli.types';
|
|
3
3
|
export interface ParsedArgs {
|
|
4
4
|
command: 'init' | 'mcp' | 'tui' | 'help' | 'version';
|
|
5
|
-
options: Partial<InitOptions>;
|
|
5
|
+
options: Partial<InitOptions> & Partial<TuiOptions>;
|
|
6
6
|
}
|
|
7
7
|
export declare function parseArgs(args: string[]): ParsedArgs;
|
|
8
8
|
export declare function printUsage(): void;
|
package/dist/src/cli/cli.js
CHANGED
|
@@ -25,7 +25,8 @@ function parseArgs(args) {
|
|
|
25
25
|
return { command: 'mcp', options };
|
|
26
26
|
}
|
|
27
27
|
if (command === 'tui') {
|
|
28
|
-
|
|
28
|
+
const restart = args.includes('--restart');
|
|
29
|
+
return { command: 'tui', options: { ...options, restart } };
|
|
29
30
|
}
|
|
30
31
|
if (command !== 'init') {
|
|
31
32
|
return { command: 'help', options };
|
|
@@ -55,6 +56,7 @@ Usage:
|
|
|
55
56
|
codingbuddy init [path] [options] Initialize configuration
|
|
56
57
|
codingbuddy mcp Start MCP server (stdio mode)
|
|
57
58
|
codingbuddy tui Monitor agent execution in real-time
|
|
59
|
+
codingbuddy tui --restart Restart TUI client (fixes blank screen)
|
|
58
60
|
codingbuddy --help Show this help
|
|
59
61
|
codingbuddy --version Show version
|
|
60
62
|
|
|
@@ -111,7 +113,7 @@ async function main(args = process.argv.slice(2)) {
|
|
|
111
113
|
break;
|
|
112
114
|
case 'tui': {
|
|
113
115
|
const { runTui } = await Promise.resolve().then(() => require('./run-tui'));
|
|
114
|
-
await runTui();
|
|
116
|
+
await runTui({ restart: options.restart ?? false });
|
|
115
117
|
break;
|
|
116
118
|
}
|
|
117
119
|
case 'init': {
|
package/dist/src/cli/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":";;;AAuBA,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,6 @@ export interface AgentChoice {
|
|
|
4
4
|
value: ActPrimaryAgent;
|
|
5
5
|
description?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const DEFAULT_PRIMARY_AGENT: "
|
|
7
|
+
export declare const DEFAULT_PRIMARY_AGENT: "software-engineer";
|
|
8
8
|
export declare function getPrimaryAgentChoices(): AgentChoice[];
|
|
9
9
|
export declare function promptPrimaryAgentSelection(message?: string): Promise<ActPrimaryAgent>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restartTui = restartTui;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const ipc_types_1 = require("../tui/ipc/ipc.types");
|
|
6
|
+
const instance_registry_1 = require("../tui/ipc/instance-registry");
|
|
7
|
+
const tui_auto_launcher_1 = require("../tui/ipc/tui-auto-launcher");
|
|
8
|
+
async function restartTui(options = {}) {
|
|
9
|
+
(0, child_process_1.spawnSync)('pkill', ['-f', 'codingbuddy.*tui$'], { stdio: 'ignore' });
|
|
10
|
+
const registry = new instance_registry_1.InstanceRegistry((0, ipc_types_1.getInstancesFilePath)());
|
|
11
|
+
registry.prune();
|
|
12
|
+
const instances = registry.list();
|
|
13
|
+
if (instances.length === 0) {
|
|
14
|
+
return {
|
|
15
|
+
success: false,
|
|
16
|
+
reason: 'No running MCP server found. Start your AI tool (Claude Code, Cursor, etc.) first.',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const launcher = new tui_auto_launcher_1.TuiAutoLauncher({
|
|
20
|
+
enabled: true,
|
|
21
|
+
delayMs: 0,
|
|
22
|
+
codingbuddyBin: options.codingbuddyBin ?? 'codingbuddy',
|
|
23
|
+
});
|
|
24
|
+
const result = await launcher.launch({ clientCount: () => 0 });
|
|
25
|
+
if (!result.launched) {
|
|
26
|
+
return { success: false, reason: result.reason };
|
|
27
|
+
}
|
|
28
|
+
return { success: true, reason: result.reason, pid: result.pid };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=restart-tui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-tui.js","sourceRoot":"","sources":["../../../src/cli/restart-tui.ts"],"names":[],"mappings":";;AAwBA,gCAiCC;AAzDD,iDAA0C;AAC1C,oDAA4D;AAC5D,oEAAgE;AAChE,oEAA+D;AAqBxD,KAAK,UAAU,UAAU,CAAC,UAA0B,EAAE;IAE3D,IAAA,yBAAS,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAGrE,MAAM,QAAQ,GAAG,IAAI,oCAAgB,CAAC,IAAA,gCAAoB,GAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,CAAC;IAGjB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,oFAAoF;SAC7F,CAAC;IACJ,CAAC;IAKD,MAAM,QAAQ,GAAG,IAAI,mCAAe,CAAC;QACnC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;QACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,aAAa;KACxD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AACnE,CAAC"}
|
package/dist/src/cli/run-tui.js
CHANGED
|
@@ -3,8 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.runTui = runTui;
|
|
4
4
|
const ipc_types_1 = require("../tui/ipc/ipc.types");
|
|
5
5
|
const instance_registry_1 = require("../tui/ipc/instance-registry");
|
|
6
|
+
const restart_tui_1 = require("./restart-tui");
|
|
6
7
|
const CLIENT_SHUTDOWN_TIMEOUT_MS = 3000;
|
|
7
|
-
async function runTui() {
|
|
8
|
+
async function runTui(options = {}) {
|
|
9
|
+
if (options.restart) {
|
|
10
|
+
const result = await (0, restart_tui_1.restartTui)();
|
|
11
|
+
if (result.success) {
|
|
12
|
+
process.stderr.write(`TUI restarted successfully (pid: ${result.pid ?? 'unknown'}).\n`);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
process.stderr.write(`Failed to restart TUI: ${result.reason}\n`);
|
|
16
|
+
process.exitCode = 1;
|
|
17
|
+
}
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
8
20
|
const registry = new instance_registry_1.InstanceRegistry((0, ipc_types_1.getInstancesFilePath)());
|
|
9
21
|
registry.prune();
|
|
10
22
|
const instances = registry.list();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-tui.js","sourceRoot":"","sources":["../../../src/cli/run-tui.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"run-tui.js","sourceRoot":"","sources":["../../../src/cli/run-tui.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ export declare const KEYWORDS: readonly ["PLAN", "ACT", "EVAL", "AUTO"];
|
|
|
2
2
|
export type Mode = (typeof KEYWORDS)[number];
|
|
3
3
|
export declare const MODE_AGENTS: readonly ["plan-mode", "act-mode", "eval-mode", "auto-mode"];
|
|
4
4
|
export declare const PLAN_PRIMARY_AGENTS: readonly ["solution-architect", "technical-planner"];
|
|
5
|
-
export declare const ACT_PRIMARY_AGENTS: readonly ["tooling-engineer", "platform-engineer", "data-engineer", "mobile-developer", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect"];
|
|
5
|
+
export declare const ACT_PRIMARY_AGENTS: readonly ["tooling-engineer", "platform-engineer", "data-engineer", "data-scientist", "ai-ml-engineer", "mobile-developer", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect", "test-engineer", "security-engineer", "systems-developer", "software-engineer"];
|
|
6
6
|
export declare const EVAL_PRIMARY_AGENT: "code-reviewer";
|
|
7
|
-
export declare const DEFAULT_ACT_AGENT: "
|
|
8
|
-
export declare const ALL_PRIMARY_AGENTS: readonly ["solution-architect", "technical-planner", "tooling-engineer", "platform-engineer", "data-engineer", "mobile-developer", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect", "code-reviewer"];
|
|
7
|
+
export declare const DEFAULT_ACT_AGENT: "software-engineer";
|
|
8
|
+
export declare const ALL_PRIMARY_AGENTS: readonly ["solution-architect", "technical-planner", "tooling-engineer", "platform-engineer", "data-engineer", "data-scientist", "ai-ml-engineer", "mobile-developer", "frontend-developer", "backend-developer", "devops-engineer", "agent-architect", "test-engineer", "security-engineer", "systems-developer", "software-engineer", "code-reviewer"];
|
|
9
9
|
export type ActPrimaryAgent = (typeof ACT_PRIMARY_AGENTS)[number];
|
|
10
10
|
export type PrimaryAgent = (typeof ALL_PRIMARY_AGENTS)[number];
|
|
11
11
|
export interface AgentDisplayInfo {
|
|
@@ -8,14 +8,20 @@ exports.ACT_PRIMARY_AGENTS = [
|
|
|
8
8
|
'tooling-engineer',
|
|
9
9
|
'platform-engineer',
|
|
10
10
|
'data-engineer',
|
|
11
|
+
'data-scientist',
|
|
12
|
+
'ai-ml-engineer',
|
|
11
13
|
'mobile-developer',
|
|
12
14
|
'frontend-developer',
|
|
13
15
|
'backend-developer',
|
|
14
16
|
'devops-engineer',
|
|
15
17
|
'agent-architect',
|
|
18
|
+
'test-engineer',
|
|
19
|
+
'security-engineer',
|
|
20
|
+
'systems-developer',
|
|
21
|
+
'software-engineer',
|
|
16
22
|
];
|
|
17
23
|
exports.EVAL_PRIMARY_AGENT = 'code-reviewer';
|
|
18
|
-
exports.DEFAULT_ACT_AGENT = '
|
|
24
|
+
exports.DEFAULT_ACT_AGENT = 'software-engineer';
|
|
19
25
|
exports.ALL_PRIMARY_AGENTS = [
|
|
20
26
|
...exports.PLAN_PRIMARY_AGENTS,
|
|
21
27
|
...exports.ACT_PRIMARY_AGENTS,
|
|
@@ -34,6 +40,14 @@ exports.ACT_AGENT_DISPLAY_INFO = {
|
|
|
34
40
|
name: 'Data Engineer',
|
|
35
41
|
description: 'Database, schema design, migrations, analytics',
|
|
36
42
|
},
|
|
43
|
+
'data-scientist': {
|
|
44
|
+
name: 'Data Scientist',
|
|
45
|
+
description: 'EDA, statistical analysis, ML modeling, data visualization, Jupyter notebooks',
|
|
46
|
+
},
|
|
47
|
+
'ai-ml-engineer': {
|
|
48
|
+
name: 'AI/ML Engineer',
|
|
49
|
+
description: 'ML frameworks, LLM integration, embeddings, fine-tuning',
|
|
50
|
+
},
|
|
37
51
|
'mobile-developer': {
|
|
38
52
|
name: 'Mobile Developer',
|
|
39
53
|
description: 'React Native, Flutter, iOS, Android',
|
|
@@ -54,6 +68,22 @@ exports.ACT_AGENT_DISPLAY_INFO = {
|
|
|
54
68
|
name: 'Agent Architect',
|
|
55
69
|
description: 'AI agent systems, MCP servers, LLM integration',
|
|
56
70
|
},
|
|
71
|
+
'test-engineer': {
|
|
72
|
+
name: 'Test Engineer',
|
|
73
|
+
description: 'TDD, unit/integration/e2e testing, coverage improvement',
|
|
74
|
+
},
|
|
75
|
+
'security-engineer': {
|
|
76
|
+
name: 'Security Engineer',
|
|
77
|
+
description: 'Security implementation, vulnerability fixes, auth/authz, encryption',
|
|
78
|
+
},
|
|
79
|
+
'systems-developer': {
|
|
80
|
+
name: 'Systems Developer',
|
|
81
|
+
description: 'Rust, C, C++, FFI, WASM, embedded, low-level performance',
|
|
82
|
+
},
|
|
83
|
+
'software-engineer': {
|
|
84
|
+
name: 'Software Engineer',
|
|
85
|
+
description: 'General-purpose engineer — any language, any domain, TDD-first',
|
|
86
|
+
},
|
|
57
87
|
};
|
|
58
88
|
exports.LOCALIZED_KEYWORD_MAP = {
|
|
59
89
|
계획: 'PLAN',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.types.js","sourceRoot":"","sources":["../../../src/keyword/keyword.types.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAKpD,QAAA,WAAW,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAG3E,QAAA,mBAAmB,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"keyword.types.js","sourceRoot":"","sources":["../../../src/keyword/keyword.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,5 +87,15 @@ exports.BACKEND_INTENT_PATTERNS = [
|
|
|
87
87
|
confidence: 0.85,
|
|
88
88
|
description: 'Microservice',
|
|
89
89
|
},
|
|
90
|
+
{
|
|
91
|
+
pattern: /리팩토링|refactor/i,
|
|
92
|
+
confidence: 0.75,
|
|
93
|
+
description: 'Refactoring',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
pattern: /타입\s*추가|type\s*definition/i,
|
|
97
|
+
confidence: 0.8,
|
|
98
|
+
description: 'TypeScript Type Definition',
|
|
99
|
+
},
|
|
90
100
|
];
|
|
91
101
|
//# sourceMappingURL=backend.patterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/backend.patterns.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"backend.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/backend.patterns.ts"],"names":[],"mappings":";;;AAsBa,QAAA,uBAAuB,GAAiC;IAEnE;QACE,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,SAAS;KACvB;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,mBAAmB;KACjC;IAED;QACE,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,kBAAkB;KAChC;IAED;QACE,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,aAAa;KAC3B;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,OAAO,EAAE,0BAA0B;QACnC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,eAAe;KAC7B;IAED;QACE,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,UAAU;KACxB;IACD;QACE,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,SAAS;KACvB;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,MAAM;KACpB;IAED;QACE,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,OAAO,EAAE,iDAAiD;QAC1D,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,OAAO,EAAE,uDAAuD;QAChE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,OAAO,EAAE,kCAAkC;QAC3C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,aAAa;KAC3B;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,WAAW;KACzB;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,cAAc;KAC5B;IAGD;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,aAAa;KAC3B;IACD;QACE,OAAO,EAAE,4BAA4B;QACrC,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,4BAA4B;KAC1C;CACF,CAAC"}
|
|
@@ -74,7 +74,7 @@ exports.CONTEXT_PATTERNS = [
|
|
|
74
74
|
{ pattern: /\.go$/i, agent: 'backend-developer', confidence: 0.85 },
|
|
75
75
|
{ pattern: /\.py$/i, agent: 'backend-developer', confidence: 0.85 },
|
|
76
76
|
{ pattern: /\.java$/i, agent: 'backend-developer', confidence: 0.85 },
|
|
77
|
-
{ pattern: /\.rs$/i, agent: '
|
|
77
|
+
{ pattern: /\.rs$/i, agent: 'systems-developer', confidence: 0.85 },
|
|
78
78
|
{ pattern: /\.tsx?$/i, agent: 'frontend-developer', confidence: 0.7 },
|
|
79
79
|
{ pattern: /\.jsx?$/i, agent: 'frontend-developer', confidence: 0.7 },
|
|
80
80
|
{ pattern: /agents?.*\.json$/i, agent: 'agent-architect', confidence: 0.8 },
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DATA_SCIENCE_INTENT_PATTERNS = void 0;
|
|
4
|
+
exports.DATA_SCIENCE_INTENT_PATTERNS = [
|
|
5
|
+
{
|
|
6
|
+
pattern: /pandas|numpy|matplotlib|seaborn|plotly/i,
|
|
7
|
+
confidence: 0.95,
|
|
8
|
+
description: 'Data science libraries (pandas/numpy/matplotlib/seaborn/plotly)',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
pattern: /jupyter|\.ipynb|주피터/i,
|
|
12
|
+
confidence: 0.95,
|
|
13
|
+
description: 'Jupyter notebook (incl. Korean: 주피터)',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
pattern: /scikit.?learn|sklearn/i,
|
|
17
|
+
confidence: 0.95,
|
|
18
|
+
description: 'scikit-learn ML library',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
pattern: /탐색적\s*분석|EDA|exploratory\s*data\s*analysis/i,
|
|
22
|
+
confidence: 0.95,
|
|
23
|
+
description: 'Exploratory data analysis (EDA)',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
pattern: /데이터\s*분석\s*(스크립트|코드|구현|작성)|data\s*analysis\s*(script|code|implement)/i,
|
|
27
|
+
confidence: 0.95,
|
|
28
|
+
description: 'Data analysis script/code',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
pattern: /데이터\s*시각화|data\s*visualization/i,
|
|
32
|
+
confidence: 0.9,
|
|
33
|
+
description: 'Data visualization',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
pattern: /통계\s*(분석|모델|검정)|statistical\s*(analysis|model|test)/i,
|
|
37
|
+
confidence: 0.9,
|
|
38
|
+
description: 'Statistical analysis/modeling',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
pattern: /상관관계\s*분석|correlation\s*analysis/i,
|
|
42
|
+
confidence: 0.9,
|
|
43
|
+
description: 'Correlation analysis',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
pattern: /회귀\s*(분석|모델)|regression\s*(analysis|model)/i,
|
|
47
|
+
confidence: 0.9,
|
|
48
|
+
description: 'Regression analysis/modeling',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
pattern: /분류\s*(모델|알고리즘)|classification\s*(model|algorithm)/i,
|
|
52
|
+
confidence: 0.9,
|
|
53
|
+
description: 'Classification modeling',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
pattern: /피처\s*엔지니어링|feature\s*engineering/i,
|
|
57
|
+
confidence: 0.9,
|
|
58
|
+
description: 'Feature engineering',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
pattern: /scipy|statsmodels/i,
|
|
62
|
+
confidence: 0.9,
|
|
63
|
+
description: 'Scientific computing libraries (scipy/statsmodels)',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
pattern: /데이터\s*분석/i,
|
|
67
|
+
confidence: 0.85,
|
|
68
|
+
description: 'Data analysis (Korean, standalone)',
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
//# sourceMappingURL=data-science.patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-science.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/data-science.patterns.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,4BAA4B,GAAiC;IAExE;QACE,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,iEAAiE;KAC/E;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,yBAAyB;KACvC;IAED;QACE,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,iCAAiC;KAC/C;IACD;QACE,OAAO,EAAE,uEAAuE;QAChF,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,2BAA2B;KACzC;IAED;QACE,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oBAAoB;KAClC;IAED;QACE,OAAO,EAAE,sDAAsD;QAC/D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,+BAA+B;KAC7C;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,sBAAsB;KACpC;IAED;QACE,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,qBAAqB;KACnC;IAED;QACE,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oDAAoD;KAClE;IAED;QACE,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,oCAAoC;KAClD;CACF,CAAC"}
|
|
@@ -2,11 +2,14 @@ export type { IntentPattern, IntentPatternCheck, ContextPattern } from './intent
|
|
|
2
2
|
export { EXPLICIT_PATTERNS } from './explicit.patterns';
|
|
3
3
|
export { AGENT_INTENT_PATTERNS } from './agent.patterns';
|
|
4
4
|
export { AI_ML_INTENT_PATTERNS } from './ai-ml.patterns';
|
|
5
|
+
export { TEST_INTENT_PATTERNS } from './test.patterns';
|
|
5
6
|
export { BACKEND_INTENT_PATTERNS } from './backend.patterns';
|
|
6
7
|
export { DATA_INTENT_PATTERNS } from './data.patterns';
|
|
7
8
|
export { MOBILE_INTENT_PATTERNS } from './mobile.patterns';
|
|
8
9
|
export { PLATFORM_INTENT_PATTERNS } from './platform.patterns';
|
|
9
10
|
export { TOOLING_INTENT_PATTERNS } from './tooling.patterns';
|
|
11
|
+
export { SECURITY_INTENT_PATTERNS } from './security.patterns';
|
|
12
|
+
export { SYSTEMS_INTENT_PATTERNS } from './systems.patterns';
|
|
10
13
|
export { INTENT_PATTERN_CHECKS } from './intent-pattern-checks';
|
|
11
14
|
export { CONTEXT_PATTERNS } from './context.patterns';
|
|
12
15
|
export { META_AGENT_DISCUSSION_PATTERNS } from './meta-discussion.patterns';
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.META_AGENT_DISCUSSION_PATTERNS = exports.CONTEXT_PATTERNS = exports.INTENT_PATTERN_CHECKS = exports.TOOLING_INTENT_PATTERNS = exports.PLATFORM_INTENT_PATTERNS = exports.MOBILE_INTENT_PATTERNS = exports.DATA_INTENT_PATTERNS = exports.BACKEND_INTENT_PATTERNS = exports.AI_ML_INTENT_PATTERNS = exports.AGENT_INTENT_PATTERNS = exports.EXPLICIT_PATTERNS = void 0;
|
|
3
|
+
exports.META_AGENT_DISCUSSION_PATTERNS = exports.CONTEXT_PATTERNS = exports.INTENT_PATTERN_CHECKS = exports.SYSTEMS_INTENT_PATTERNS = exports.SECURITY_INTENT_PATTERNS = exports.TOOLING_INTENT_PATTERNS = exports.PLATFORM_INTENT_PATTERNS = exports.MOBILE_INTENT_PATTERNS = exports.DATA_INTENT_PATTERNS = exports.BACKEND_INTENT_PATTERNS = exports.TEST_INTENT_PATTERNS = exports.AI_ML_INTENT_PATTERNS = exports.AGENT_INTENT_PATTERNS = exports.EXPLICIT_PATTERNS = void 0;
|
|
4
4
|
var explicit_patterns_1 = require("./explicit.patterns");
|
|
5
5
|
Object.defineProperty(exports, "EXPLICIT_PATTERNS", { enumerable: true, get: function () { return explicit_patterns_1.EXPLICIT_PATTERNS; } });
|
|
6
6
|
var agent_patterns_1 = require("./agent.patterns");
|
|
7
7
|
Object.defineProperty(exports, "AGENT_INTENT_PATTERNS", { enumerable: true, get: function () { return agent_patterns_1.AGENT_INTENT_PATTERNS; } });
|
|
8
8
|
var ai_ml_patterns_1 = require("./ai-ml.patterns");
|
|
9
9
|
Object.defineProperty(exports, "AI_ML_INTENT_PATTERNS", { enumerable: true, get: function () { return ai_ml_patterns_1.AI_ML_INTENT_PATTERNS; } });
|
|
10
|
+
var test_patterns_1 = require("./test.patterns");
|
|
11
|
+
Object.defineProperty(exports, "TEST_INTENT_PATTERNS", { enumerable: true, get: function () { return test_patterns_1.TEST_INTENT_PATTERNS; } });
|
|
10
12
|
var backend_patterns_1 = require("./backend.patterns");
|
|
11
13
|
Object.defineProperty(exports, "BACKEND_INTENT_PATTERNS", { enumerable: true, get: function () { return backend_patterns_1.BACKEND_INTENT_PATTERNS; } });
|
|
12
14
|
var data_patterns_1 = require("./data.patterns");
|
|
@@ -17,6 +19,10 @@ var platform_patterns_1 = require("./platform.patterns");
|
|
|
17
19
|
Object.defineProperty(exports, "PLATFORM_INTENT_PATTERNS", { enumerable: true, get: function () { return platform_patterns_1.PLATFORM_INTENT_PATTERNS; } });
|
|
18
20
|
var tooling_patterns_1 = require("./tooling.patterns");
|
|
19
21
|
Object.defineProperty(exports, "TOOLING_INTENT_PATTERNS", { enumerable: true, get: function () { return tooling_patterns_1.TOOLING_INTENT_PATTERNS; } });
|
|
22
|
+
var security_patterns_1 = require("./security.patterns");
|
|
23
|
+
Object.defineProperty(exports, "SECURITY_INTENT_PATTERNS", { enumerable: true, get: function () { return security_patterns_1.SECURITY_INTENT_PATTERNS; } });
|
|
24
|
+
var systems_patterns_1 = require("./systems.patterns");
|
|
25
|
+
Object.defineProperty(exports, "SYSTEMS_INTENT_PATTERNS", { enumerable: true, get: function () { return systems_patterns_1.SYSTEMS_INTENT_PATTERNS; } });
|
|
20
26
|
var intent_pattern_checks_1 = require("./intent-pattern-checks");
|
|
21
27
|
Object.defineProperty(exports, "INTENT_PATTERN_CHECKS", { enumerable: true, get: function () { return intent_pattern_checks_1.INTENT_PATTERN_CHECKS; } });
|
|
22
28
|
var context_patterns_1 = require("./context.patterns");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/index.ts"],"names":[],"mappings":";;;AAiBA,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAG1B,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAC9B,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAC9B,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA;AAChC,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA;AAC7B,qDAA2D;AAAlD,yHAAA,sBAAsB,OAAA;AAC/B,yDAA+D;AAAtD,6HAAA,wBAAwB,OAAA;AACjC,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA;AAGhC,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAG9B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAGzB,uEAA4E;AAAnE,0IAAA,8BAA8B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/index.ts"],"names":[],"mappings":";;;AAiBA,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAG1B,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAC9B,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAC9B,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA;AAC7B,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA;AAChC,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA;AAC7B,qDAA2D;AAAlD,yHAAA,sBAAsB,OAAA;AAC/B,yDAA+D;AAAtD,6HAAA,wBAAwB,OAAA;AACjC,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA;AAChC,yDAA+D;AAAtD,6HAAA,wBAAwB,OAAA;AACjC,uDAA6D;AAApD,2HAAA,uBAAuB,OAAA;AAGhC,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAG9B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAGzB,uEAA4E;AAAnE,0IAAA,8BAA8B,OAAA"}
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.INTENT_PATTERN_CHECKS = void 0;
|
|
4
4
|
const agent_patterns_1 = require("./agent.patterns");
|
|
5
|
+
const test_patterns_1 = require("./test.patterns");
|
|
5
6
|
const tooling_patterns_1 = require("./tooling.patterns");
|
|
6
7
|
const platform_patterns_1 = require("./platform.patterns");
|
|
8
|
+
const security_patterns_1 = require("./security.patterns");
|
|
9
|
+
const systems_patterns_1 = require("./systems.patterns");
|
|
7
10
|
const data_patterns_1 = require("./data.patterns");
|
|
11
|
+
const data_science_patterns_1 = require("./data-science.patterns");
|
|
8
12
|
const ai_ml_patterns_1 = require("./ai-ml.patterns");
|
|
9
13
|
const backend_patterns_1 = require("./backend.patterns");
|
|
10
14
|
const frontend_patterns_1 = require("./frontend.patterns");
|
|
@@ -16,6 +20,11 @@ exports.INTENT_PATTERN_CHECKS = [
|
|
|
16
20
|
patterns: agent_patterns_1.AGENT_INTENT_PATTERNS,
|
|
17
21
|
category: 'Agent',
|
|
18
22
|
},
|
|
23
|
+
{
|
|
24
|
+
agent: 'test-engineer',
|
|
25
|
+
patterns: test_patterns_1.TEST_INTENT_PATTERNS,
|
|
26
|
+
category: 'Test',
|
|
27
|
+
},
|
|
19
28
|
{
|
|
20
29
|
agent: 'tooling-engineer',
|
|
21
30
|
patterns: tooling_patterns_1.TOOLING_INTENT_PATTERNS,
|
|
@@ -26,11 +35,26 @@ exports.INTENT_PATTERN_CHECKS = [
|
|
|
26
35
|
patterns: platform_patterns_1.PLATFORM_INTENT_PATTERNS,
|
|
27
36
|
category: 'Platform',
|
|
28
37
|
},
|
|
38
|
+
{
|
|
39
|
+
agent: 'security-engineer',
|
|
40
|
+
patterns: security_patterns_1.SECURITY_INTENT_PATTERNS,
|
|
41
|
+
category: 'Security',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
agent: 'systems-developer',
|
|
45
|
+
patterns: systems_patterns_1.SYSTEMS_INTENT_PATTERNS,
|
|
46
|
+
category: 'Systems',
|
|
47
|
+
},
|
|
29
48
|
{
|
|
30
49
|
agent: 'data-engineer',
|
|
31
50
|
patterns: data_patterns_1.DATA_INTENT_PATTERNS,
|
|
32
51
|
category: 'Data',
|
|
33
52
|
},
|
|
53
|
+
{
|
|
54
|
+
agent: 'data-scientist',
|
|
55
|
+
patterns: data_science_patterns_1.DATA_SCIENCE_INTENT_PATTERNS,
|
|
56
|
+
category: 'DataScience',
|
|
57
|
+
},
|
|
34
58
|
{
|
|
35
59
|
agent: 'ai-ml-engineer',
|
|
36
60
|
patterns: ai_ml_patterns_1.AI_ML_INTENT_PATTERNS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-pattern-checks.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/intent-pattern-checks.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"intent-pattern-checks.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/intent-pattern-checks.ts"],"names":[],"mappings":";;;AAuBA,qDAAyD;AACzD,mDAAuD;AACvD,yDAA6D;AAC7D,2DAA+D;AAC/D,2DAA+D;AAC/D,yDAA6D;AAC7D,mDAAuD;AACvD,mEAAuE;AACvE,qDAAyD;AACzD,yDAA6D;AAC7D,2DAA+D;AAC/D,uDAA2D;AAC3D,uDAA2D;AAE9C,QAAA,qBAAqB,GAAsC;IAEtE;QACE,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,sCAAqB;QAC/B,QAAQ,EAAE,OAAO;KAClB;IAED;QACE,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,oCAAoB;QAC9B,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,0CAAuB;QACjC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,4CAAwB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,4CAAwB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,0CAAuB;QACjC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,oCAAoB;QAC9B,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,oDAA4B;QACtC,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,sCAAqB;QAC/B,QAAQ,EAAE,OAAO;KAClB;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,0CAAuB;QACjC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,4CAAwB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,wCAAsB;QAChC,QAAQ,EAAE,QAAQ;KACnB;IAED;QACE,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,wCAAsB;QAChC,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SECURITY_INTENT_PATTERNS = void 0;
|
|
4
|
+
exports.SECURITY_INTENT_PATTERNS = [
|
|
5
|
+
{
|
|
6
|
+
pattern: /SQL\s*(injection|인젝션)/i,
|
|
7
|
+
confidence: 0.95,
|
|
8
|
+
description: 'SQL Injection vulnerability',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
pattern: /XSS\s*(방어|방지|수정|취약점|fix|prevent|vulnerabilit)/i,
|
|
12
|
+
confidence: 0.95,
|
|
13
|
+
description: 'XSS vulnerability',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
pattern: /CSRF\s*(방어|방지|토큰|fix|prevent|token)/i,
|
|
17
|
+
confidence: 0.95,
|
|
18
|
+
description: 'CSRF vulnerability',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
pattern: /JWT\s*(구현|인증|토큰\s*생성|implement|auth)/i,
|
|
22
|
+
confidence: 0.95,
|
|
23
|
+
description: 'JWT implementation',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
pattern: /OAuth\s*(구현|2\.0|플로우|implement|flow)/i,
|
|
27
|
+
confidence: 0.95,
|
|
28
|
+
description: 'OAuth implementation',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
pattern: /bcrypt|argon2|password\s*hash(ing)?/i,
|
|
32
|
+
confidence: 0.95,
|
|
33
|
+
description: 'Password hashing',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
pattern: /보안\s*(취약점|버그|이슈)\s*(수정|패치|fix|해결)/i,
|
|
37
|
+
confidence: 0.95,
|
|
38
|
+
description: 'Korean: Fix security vulnerability',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
pattern: /security\s*(vulnerabilit\w*|bug|issue)\s*(fix|patch|resolv)/i,
|
|
42
|
+
confidence: 0.95,
|
|
43
|
+
description: 'Fix security vulnerability (EN)',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
pattern: /OWASP\s*(구현|적용|준수\s*구현|implement|apply|remedi)/i,
|
|
47
|
+
confidence: 0.9,
|
|
48
|
+
description: 'OWASP guideline implementation',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
pattern: /인증\s*(구현|개발|시스템\s*(구현|개발))/i,
|
|
52
|
+
confidence: 0.9,
|
|
53
|
+
description: 'Korean: Auth implementation',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
pattern: /authentication\s*(implement|develop|system)/i,
|
|
57
|
+
confidence: 0.9,
|
|
58
|
+
description: 'Authentication implementation (EN)',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
pattern: /인가\s*(구현|로직)|authorization\s*(implement|logic)/i,
|
|
62
|
+
confidence: 0.9,
|
|
63
|
+
description: 'Authorization implementation',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
pattern: /RBAC|role[-\s]?based\s*access(\s*control)?/i,
|
|
67
|
+
confidence: 0.9,
|
|
68
|
+
description: 'Role-based access control',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
pattern: /암호화\s*(구현|추가|적용)|encrypt(ion)?\s*(implement|add|apply)/i,
|
|
72
|
+
confidence: 0.9,
|
|
73
|
+
description: 'Encryption implementation',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
pattern: /secrets?\s*(관리|management)/i,
|
|
77
|
+
confidence: 0.9,
|
|
78
|
+
description: 'Secrets management',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
pattern: /rate\s*limit\s*(구현|추가|implement|add)/i,
|
|
82
|
+
confidence: 0.9,
|
|
83
|
+
description: 'Rate limiting implementation',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
pattern: /sanitiz(e|ation)|입력\s*검증\s*(구현|추가)/i,
|
|
87
|
+
confidence: 0.78,
|
|
88
|
+
description: 'Input sanitization implementation',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
pattern: /CORS\s*(설정|구현|정책|configuration|policy|implement)/i,
|
|
92
|
+
confidence: 0.9,
|
|
93
|
+
description: 'CORS configuration',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
pattern: /CSP|Content[-\s]Security[-\s]Policy|security\s*header/i,
|
|
97
|
+
confidence: 0.9,
|
|
98
|
+
description: 'Security headers / CSP',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
pattern: /HSTS|Strict[-\s]Transport[-\s]Security/i,
|
|
102
|
+
confidence: 0.88,
|
|
103
|
+
description: 'HSTS / Strict-Transport-Security',
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
//# sourceMappingURL=security.patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/security.patterns.ts"],"names":[],"mappings":";;;AAuBa,QAAA,wBAAwB,GAAiC;IAEpE;QACE,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,OAAO,EAAE,gDAAgD;QACzD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,oBAAoB;KAClC;IAED;QACE,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,sBAAsB;KACpC;IAED;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,kBAAkB;KAChC;IAED;QACE,OAAO,EAAE,oCAAoC;QAC7C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,OAAO,EAAE,8DAA8D;QACvE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,iCAAiC;KAC/C;IAED;QACE,OAAO,EAAE,iDAAiD;QAC1D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,gCAAgC;KAC9C;IAED;QACE,OAAO,EAAE,6BAA6B;QACtC,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oCAAoC;KAClD;IAED;QACE,OAAO,EAAE,iDAAiD;QAC1D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,2BAA2B;KACzC;IAED;QACE,OAAO,EAAE,yDAAyD;QAClE,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,2BAA2B;KACzC;IAED;QACE,OAAO,EAAE,6BAA6B;QACtC,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oBAAoB;KAClC;IAED;QACE,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,8BAA8B;KAC5C;IAED;QACE,OAAO,EAAE,qCAAqC;QAC9C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,mCAAmC;KACjD;IAED;QACE,OAAO,EAAE,mDAAmD;QAC5D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oBAAoB;KAClC;IAED;QACE,OAAO,EAAE,wDAAwD;QACjE,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC"}
|