codingbuddy 2.4.0 → 2.4.2

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 (89) hide show
  1. package/README.md +70 -0
  2. package/dist/src/cli/init/prompts/tech-stack-prompt.d.ts +1 -0
  3. package/dist/src/cli/init/prompts/tech-stack-prompt.js +1 -0
  4. package/dist/src/cli/init/prompts/tech-stack-prompt.js.map +1 -1
  5. package/dist/src/cli/init/prompts/test-strategy-prompt.d.ts +1 -0
  6. package/dist/src/cli/init/prompts/test-strategy-prompt.js +9 -7
  7. package/dist/src/cli/init/prompts/test-strategy-prompt.js.map +1 -1
  8. package/dist/src/keyword/patterns/agent.patterns.d.ts +2 -0
  9. package/dist/src/keyword/patterns/agent.patterns.js +91 -0
  10. package/dist/src/keyword/patterns/agent.patterns.js.map +1 -0
  11. package/dist/src/keyword/patterns/ai-ml.patterns.d.ts +2 -0
  12. package/dist/src/keyword/patterns/ai-ml.patterns.js +81 -0
  13. package/dist/src/keyword/patterns/ai-ml.patterns.js.map +1 -0
  14. package/dist/src/keyword/patterns/backend.patterns.d.ts +2 -0
  15. package/dist/src/keyword/patterns/backend.patterns.js +91 -0
  16. package/dist/src/keyword/patterns/backend.patterns.js.map +1 -0
  17. package/dist/src/keyword/patterns/context.patterns.d.ts +2 -0
  18. package/dist/src/keyword/patterns/context.patterns.js +82 -0
  19. package/dist/src/keyword/patterns/context.patterns.js.map +1 -0
  20. package/dist/src/keyword/patterns/data.patterns.d.ts +2 -0
  21. package/dist/src/keyword/patterns/data.patterns.js +47 -0
  22. package/dist/src/keyword/patterns/data.patterns.js.map +1 -0
  23. package/dist/src/keyword/patterns/explicit.patterns.d.ts +1 -0
  24. package/dist/src/keyword/patterns/explicit.patterns.js +10 -0
  25. package/dist/src/keyword/patterns/explicit.patterns.js.map +1 -0
  26. package/dist/src/keyword/patterns/index.d.ts +12 -0
  27. package/dist/src/keyword/patterns/index.js +26 -0
  28. package/dist/src/keyword/patterns/index.js.map +1 -0
  29. package/dist/src/keyword/patterns/intent-pattern-checks.d.ts +2 -0
  30. package/dist/src/keyword/patterns/intent-pattern-checks.js +48 -0
  31. package/dist/src/keyword/patterns/intent-pattern-checks.js.map +1 -0
  32. package/dist/src/keyword/patterns/intent-patterns.types.d.ts +15 -0
  33. package/dist/src/keyword/patterns/intent-patterns.types.js +3 -0
  34. package/dist/src/keyword/patterns/intent-patterns.types.js.map +1 -0
  35. package/dist/src/keyword/patterns/meta-discussion.patterns.d.ts +1 -0
  36. package/dist/src/keyword/patterns/meta-discussion.patterns.js +11 -0
  37. package/dist/src/keyword/patterns/meta-discussion.patterns.js.map +1 -0
  38. package/dist/src/keyword/patterns/mobile.patterns.d.ts +2 -0
  39. package/dist/src/keyword/patterns/mobile.patterns.js +35 -0
  40. package/dist/src/keyword/patterns/mobile.patterns.js.map +1 -0
  41. package/dist/src/keyword/patterns/platform.patterns.d.ts +2 -0
  42. package/dist/src/keyword/patterns/platform.patterns.js +72 -0
  43. package/dist/src/keyword/patterns/platform.patterns.js.map +1 -0
  44. package/dist/src/keyword/patterns/tooling.patterns.d.ts +2 -0
  45. package/dist/src/keyword/patterns/tooling.patterns.js +78 -0
  46. package/dist/src/keyword/patterns/tooling.patterns.js.map +1 -0
  47. package/dist/src/keyword/primary-agent-resolver.d.ts +6 -32
  48. package/dist/src/keyword/primary-agent-resolver.js +24 -738
  49. package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
  50. package/dist/src/keyword/strategies/__tests__/strategy-test.utils.d.ts +8 -0
  51. package/dist/src/keyword/strategies/__tests__/strategy-test.utils.js +45 -0
  52. package/dist/src/keyword/strategies/__tests__/strategy-test.utils.js.map +1 -0
  53. package/dist/src/keyword/strategies/act-agent.strategy.d.ts +10 -0
  54. package/dist/src/keyword/strategies/act-agent.strategy.js +125 -0
  55. package/dist/src/keyword/strategies/act-agent.strategy.js.map +1 -0
  56. package/dist/src/keyword/strategies/eval-agent.strategy.d.ts +5 -0
  57. package/dist/src/keyword/strategies/eval-agent.strategy.js +19 -0
  58. package/dist/src/keyword/strategies/eval-agent.strategy.js.map +1 -0
  59. package/dist/src/keyword/strategies/index.d.ts +4 -0
  60. package/dist/src/keyword/strategies/index.js +10 -0
  61. package/dist/src/keyword/strategies/index.js.map +1 -0
  62. package/dist/src/keyword/strategies/plan-agent.strategy.d.ts +6 -0
  63. package/dist/src/keyword/strategies/plan-agent.strategy.js +68 -0
  64. package/dist/src/keyword/strategies/plan-agent.strategy.js.map +1 -0
  65. package/dist/src/keyword/strategies/resolution-strategy.interface.d.ts +20 -0
  66. package/dist/src/keyword/strategies/resolution-strategy.interface.js +3 -0
  67. package/dist/src/keyword/strategies/resolution-strategy.interface.js.map +1 -0
  68. package/dist/src/mcp/handlers/config.handler.js +2 -1
  69. package/dist/src/mcp/handlers/config.handler.js.map +1 -1
  70. package/dist/src/mcp/mcp.service.d.ts +4 -0
  71. package/dist/src/mcp/mcp.service.js +35 -2
  72. package/dist/src/mcp/mcp.service.js.map +1 -1
  73. package/dist/src/session/__tests__/session-test.utils.d.ts +5 -0
  74. package/dist/src/session/__tests__/session-test.utils.js +59 -0
  75. package/dist/src/session/__tests__/session-test.utils.js.map +1 -0
  76. package/dist/src/session/session.cache.d.ts +19 -0
  77. package/dist/src/session/session.cache.js +83 -0
  78. package/dist/src/session/session.cache.js.map +1 -0
  79. package/dist/src/session/session.parser.d.ts +22 -0
  80. package/dist/src/session/session.parser.js +273 -0
  81. package/dist/src/session/session.parser.js.map +1 -0
  82. package/dist/src/session/session.serializer.d.ts +6 -0
  83. package/dist/src/session/session.serializer.js +84 -0
  84. package/dist/src/session/session.serializer.js.map +1 -0
  85. package/dist/src/session/session.service.d.ts +1 -12
  86. package/dist/src/session/session.service.js +19 -403
  87. package/dist/src/session/session.service.js.map +1 -1
  88. package/dist/tsconfig.build.tsbuildinfo +1 -1
  89. package/package.json +2 -2
package/README.md CHANGED
@@ -338,6 +338,76 @@ When you use an AI assistant with this MCP server:
338
338
  3. **Architecture**: AI suggests structures following your patterns
339
339
  4. **Conventions**: AI follows your naming and style rules
340
340
 
341
+ ## Architecture Overview
342
+
343
+ The MCP server follows a modular architecture with clear separation of concerns:
344
+
345
+ ```
346
+ src/
347
+ ├── mcp/ # MCP protocol handlers (resources, tools, prompts)
348
+ ├── keyword/ # Workflow mode processing (PLAN/ACT/EVAL/AUTO)
349
+ │ ├── strategies/ # Mode-specific agent resolution (Strategy pattern)
350
+ │ └── patterns/ # Intent detection patterns
351
+ ├── session/ # Session document management
352
+ │ ├── session.parser.ts # Document parsing
353
+ │ ├── session.serializer.ts # Document serialization
354
+ │ └── session.cache.ts # In-memory caching
355
+ ├── context/ # Context document management
356
+ ├── config/ # Configuration loading and validation
357
+ ├── rules/ # AI rules file management
358
+ ├── agent/ # Agent profiles and system prompts
359
+ ├── checklist/ # Quality checklists by domain
360
+ ├── analyzer/ # Project analysis utilities
361
+ ├── skill/ # Skill recommendation engine
362
+ ├── cli/ # CLI command handlers
363
+ └── shared/ # Shared utilities (async, security, validation)
364
+ ```
365
+
366
+ ### Key Design Patterns
367
+
368
+ | Pattern | Usage | Location |
369
+ |---------|-------|----------|
370
+ | Strategy | Mode-specific agent resolution | `keyword/strategies/` |
371
+ | Builder | Activation message construction | `keyword/activation-message.builder.ts` |
372
+ | Repository | Session document persistence | `session/session.service.ts` |
373
+ | Factory | Handler creation | `mcp/handlers/` |
374
+
375
+ ### Module Dependencies
376
+
377
+ ```
378
+ mcp/ → keyword/ → config/
379
+ ↓ ↓
380
+ session/ → shared/
381
+
382
+ context/
383
+ ```
384
+
385
+ ## Code Quality
386
+
387
+ ### Test Coverage Goals
388
+
389
+ | Metric | Target |
390
+ |--------|--------|
391
+ | Statement coverage | 90%+ |
392
+ | Branch coverage | 85%+ |
393
+ | Function coverage | 90%+ |
394
+
395
+ ### Running Quality Checks
396
+
397
+ ```bash
398
+ # Full test suite with coverage
399
+ yarn workspace codingbuddy test --coverage
400
+
401
+ # Lint check
402
+ yarn workspace codingbuddy lint
403
+
404
+ # Type check
405
+ yarn workspace codingbuddy typecheck
406
+
407
+ # Build
408
+ yarn workspace codingbuddy build
409
+ ```
410
+
341
411
  ## Development
342
412
 
343
413
  ```bash
@@ -19,4 +19,5 @@ export interface TechStackPromptOptions {
19
19
  detectedBackend?: string[];
20
20
  detectedTools?: string[];
21
21
  }
22
+ export declare function getChoicesWithDefaults(choices: StackChoice[], detected?: string[]): StackChoice[];
22
23
  export declare function promptTechStackSettings(options?: TechStackPromptOptions): Promise<TechStackSettings>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TOOL_CHOICES = exports.BACKEND_CHOICES = exports.FRONTEND_CHOICES = exports.LANGUAGE_CHOICES = void 0;
4
+ exports.getChoicesWithDefaults = getChoicesWithDefaults;
4
5
  exports.promptTechStackSettings = promptTechStackSettings;
5
6
  const prompts_1 = require("@inquirer/prompts");
6
7
  exports.LANGUAGE_CHOICES = [
@@ -1 +1 @@
1
- {"version":3,"file":"tech-stack-prompt.js","sourceRoot":"","sources":["../../../../../src/cli/init/prompts/tech-stack-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tech-stack-prompt.js","sourceRoot":"","sources":["../../../../../src/cli/init/prompts/tech-stack-prompt.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface TestStrategySettings {
9
9
  mockingStrategy: 'minimal' | 'extensive' | 'no-mocks';
10
10
  }
11
11
  export declare const DEFAULT_COVERAGE = 90;
12
+ export declare function validateCoverage(value: string): true | string;
12
13
  export declare const APPROACH_CHOICES: TestChoice<TestStrategySettings['approach']>[];
13
14
  export declare const MOCKING_STRATEGY_CHOICES: TestChoice<TestStrategySettings['mockingStrategy']>[];
14
15
  export interface TestStrategyPromptOptions {
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MOCKING_STRATEGY_CHOICES = exports.APPROACH_CHOICES = exports.DEFAULT_COVERAGE = void 0;
4
+ exports.validateCoverage = validateCoverage;
4
5
  exports.promptTestStrategySettings = promptTestStrategySettings;
5
6
  const prompts_1 = require("@inquirer/prompts");
6
7
  exports.DEFAULT_COVERAGE = 90;
8
+ function validateCoverage(value) {
9
+ const num = parseInt(value, 10);
10
+ if (isNaN(num) || num < 0 || num > 100) {
11
+ return 'Please enter a number between 0 and 100';
12
+ }
13
+ return true;
14
+ }
7
15
  exports.APPROACH_CHOICES = [
8
16
  {
9
17
  name: 'TDD (Test-Driven Development)',
@@ -52,13 +60,7 @@ async function promptTestStrategySettings(options = {}) {
52
60
  const coverageInput = await (0, prompts_1.input)({
53
61
  message: 'Target test coverage (%):',
54
62
  default: String(options.detectedCoverage ?? exports.DEFAULT_COVERAGE),
55
- validate: value => {
56
- const num = parseInt(value, 10);
57
- if (isNaN(num) || num < 0 || num > 100) {
58
- return 'Please enter a number between 0 and 100';
59
- }
60
- return true;
61
- },
63
+ validate: validateCoverage,
62
64
  });
63
65
  const coverage = parseInt(coverageInput, 10);
64
66
  const mockingStrategy = await (0, prompts_1.select)({
@@ -1 +1 @@
1
- {"version":3,"file":"test-strategy-prompt.js","sourceRoot":"","sources":["../../../../../src/cli/init/prompts/test-strategy-prompt.ts"],"names":[],"mappings":";;;AAgGA,gEAiCC;AA3HD,+CAAkD;AAuBrC,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAKtB,QAAA,gBAAgB,GAC3B;IACE;QACE,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,kCAAkC;KAChD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,kCAAkC;KAChD;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,uCAAuC;KACrD;CACF,CAAC;AAKS,QAAA,wBAAwB,GAE/B;IACJ;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,6CAA6C;KAC3D;CACF,CAAC;AAiBK,KAAK,UAAU,0BAA0B,CAC9C,UAAqC,EAAE;IAEvC,MAAM,QAAQ,GAAG,MAAM,IAAA,gBAAM,EAAC;QAC5B,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,wBAAgB;QACzB,OAAO,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;KAC3C,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,IAAA,eAAK,EAAC;QAChC,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,wBAAgB,CAAC;QAC7D,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;gBACvC,OAAO,yCAAyC,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,MAAM,IAAA,gBAAM,EAAC;QACnC,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,gCAAwB;QACjC,OAAO,EAAE,OAAO,CAAC,uBAAuB,IAAI,SAAS;KACtD,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"test-strategy-prompt.js","sourceRoot":"","sources":["../../../../../src/cli/init/prompts/test-strategy-prompt.ts"],"names":[],"mappings":";;;AAoCA,4CAMC;AAmED,gEA2BC;AAlID,+CAAkD;AAuBrC,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAOnC,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACvC,OAAO,yCAAyC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAKY,QAAA,gBAAgB,GAC3B;IACE;QACE,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,kCAAkC;KAChD;IACD;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,kCAAkC;KAChD;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,uCAAuC;KACrD;CACF,CAAC;AAKS,QAAA,wBAAwB,GAE/B;IACJ;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,2CAA2C;KACzD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,6CAA6C;KAC3D;CACF,CAAC;AAiBK,KAAK,UAAU,0BAA0B,CAC9C,UAAqC,EAAE;IAEvC,MAAM,QAAQ,GAAG,MAAM,IAAA,gBAAM,EAAC;QAC5B,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,wBAAgB;QACzB,OAAO,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;KAC3C,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,IAAA,eAAK,EAAC;QAChC,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,wBAAgB,CAAC;QAC7D,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,MAAM,IAAA,gBAAM,EAAC;QACnC,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,gCAAwB;QACjC,OAAO,EAAE,OAAO,CAAC,uBAAuB,IAAI,SAAS;KACtD,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IntentPattern } from './intent-patterns.types';
2
+ export declare const AGENT_INTENT_PATTERNS: ReadonlyArray<IntentPattern>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGENT_INTENT_PATTERNS = void 0;
4
+ exports.AGENT_INTENT_PATTERNS = [
5
+ {
6
+ pattern: /MCP\s*(서버|server|tool|도구)/i,
7
+ confidence: 0.95,
8
+ description: 'MCP Server',
9
+ },
10
+ {
11
+ pattern: /model\s*context\s*protocol/i,
12
+ confidence: 0.95,
13
+ description: 'Model Context Protocol',
14
+ },
15
+ {
16
+ pattern: /에이전트\s*(설계|개발|구현|아키텍처)/i,
17
+ confidence: 0.95,
18
+ description: 'Korean: Agent Development',
19
+ },
20
+ {
21
+ pattern: /agent\s*(design|develop|architect|framework)/i,
22
+ confidence: 0.95,
23
+ description: 'Agent Development',
24
+ },
25
+ {
26
+ pattern: /claude\s*(code|에이전트|agent|sdk)/i,
27
+ confidence: 0.95,
28
+ description: 'Claude Agent',
29
+ },
30
+ {
31
+ pattern: /agent.?를?\s*만[들드]/i,
32
+ confidence: 0.9,
33
+ description: 'Korean: Creating Agent (with English)',
34
+ },
35
+ {
36
+ pattern: /에이전트\s*만[들드]/i,
37
+ confidence: 0.9,
38
+ description: 'Korean: Creating Agent (native)',
39
+ },
40
+ {
41
+ pattern: /\.json\s*(에이전트|agent)|agent.*\.json/i,
42
+ confidence: 0.9,
43
+ description: 'Agent JSON Definition',
44
+ },
45
+ {
46
+ pattern: /specialist.*agent|agent.*specialist/i,
47
+ confidence: 0.9,
48
+ description: 'Specialist Agent',
49
+ },
50
+ {
51
+ pattern: /primary.*agent|agent.*resolver|agent.*select/i,
52
+ confidence: 0.9,
53
+ description: 'Agent Resolution',
54
+ },
55
+ {
56
+ pattern: /워크플로우\s*(자동화|설계|구현)/i,
57
+ confidence: 0.9,
58
+ description: 'Korean: Workflow Automation',
59
+ },
60
+ {
61
+ pattern: /workflow\s*(automat|design|orchestrat)/i,
62
+ confidence: 0.9,
63
+ description: 'Workflow Automation',
64
+ },
65
+ {
66
+ pattern: /LLM\s*(체인|chain|오케스트레이션|orchestrat)/i,
67
+ confidence: 0.9,
68
+ description: 'LLM Orchestration',
69
+ },
70
+ {
71
+ pattern: /AI\s*에이전트\s*(설계|개발)|AI\s*agent\s*(design|develop)/i,
72
+ confidence: 0.9,
73
+ description: 'AI Agent Design',
74
+ },
75
+ {
76
+ pattern: /자동화\s*(파이프라인|pipeline|시스템)/i,
77
+ confidence: 0.85,
78
+ description: 'Automation Pipeline',
79
+ },
80
+ {
81
+ pattern: /tool\s*(use|calling|호출)|function\s*calling/i,
82
+ confidence: 0.85,
83
+ description: 'Tool Calling',
84
+ },
85
+ {
86
+ pattern: /멀티\s*에이전트|multi.?agent/i,
87
+ confidence: 0.85,
88
+ description: 'Multi-Agent',
89
+ },
90
+ ];
91
+ //# sourceMappingURL=agent.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/agent.patterns.ts"],"names":[],"mappings":";;;AAqBa,QAAA,qBAAqB,GAAiC;IAEjE;QACE,OAAO,EAAE,4BAA4B;QACrC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,OAAO,EAAE,6BAA6B;QACtC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,wBAAwB;KACtC;IAED;QACE,OAAO,EAAE,yBAAyB;QAClC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,cAAc;KAC5B;IAED;QACE,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,iCAAiC;KAC/C;IAED;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,uBAAuB;KACrC;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,OAAO,EAAE,+CAA+C;QACxD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,kBAAkB;KAChC;IAED;QACE,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,iBAAiB;KAC/B;IAED;QACE,OAAO,EAAE,6BAA6B;QACtC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,aAAa;KAC3B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IntentPattern } from './intent-patterns.types';
2
+ export declare const AI_ML_INTENT_PATTERNS: ReadonlyArray<IntentPattern>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AI_ML_INTENT_PATTERNS = void 0;
4
+ exports.AI_ML_INTENT_PATTERNS = [
5
+ {
6
+ pattern: /pytorch|tensorflow|keras|jax/i,
7
+ confidence: 0.95,
8
+ description: 'ML Framework',
9
+ },
10
+ {
11
+ pattern: /hugging\s*face|transformers|diffusers/i,
12
+ confidence: 0.95,
13
+ description: 'HuggingFace',
14
+ },
15
+ {
16
+ pattern: /langchain|llama.?index|llamaindex/i,
17
+ confidence: 0.95,
18
+ description: 'LLM Framework',
19
+ },
20
+ {
21
+ pattern: /openai\s*(api|sdk)|anthropic\s*(api|sdk)/i,
22
+ confidence: 0.95,
23
+ description: 'LLM API',
24
+ },
25
+ {
26
+ pattern: /machine\s*learning|ML\s*(모델|model|파이프라인|pipeline)/i,
27
+ confidence: 0.9,
28
+ description: 'Machine Learning',
29
+ },
30
+ {
31
+ pattern: /딥\s*러닝|deep\s*learning|신경망|neural\s*network/i,
32
+ confidence: 0.9,
33
+ description: 'Deep Learning',
34
+ },
35
+ {
36
+ pattern: /모델\s*학습|train.*model|fine.?tun|파인\s*튜닝/i,
37
+ confidence: 0.9,
38
+ description: 'Model Training',
39
+ },
40
+ {
41
+ pattern: /RAG|retrieval.*augment|검색\s*증강/i,
42
+ confidence: 0.9,
43
+ description: 'RAG',
44
+ },
45
+ {
46
+ pattern: /프롬프트\s*엔지니어링|prompt\s*engineer/i,
47
+ confidence: 0.9,
48
+ description: 'Prompt Engineering',
49
+ },
50
+ {
51
+ pattern: /LLM\s*(개발|develop|구현|implement|통합|integrat)/i,
52
+ confidence: 0.9,
53
+ description: 'LLM Development',
54
+ },
55
+ {
56
+ pattern: /임베딩|embedding|벡터\s*(DB|database|저장)/i,
57
+ confidence: 0.85,
58
+ description: 'Embeddings',
59
+ },
60
+ {
61
+ pattern: /추론|inference|predict|예측\s*모델/i,
62
+ confidence: 0.85,
63
+ description: 'Inference',
64
+ },
65
+ {
66
+ pattern: /AI\s*(모델|model|에이전트|agent|챗봇|chatbot)/i,
67
+ confidence: 0.85,
68
+ description: 'AI Model/Agent',
69
+ },
70
+ {
71
+ pattern: /자연어\s*처리|NLP|텍스트\s*분석/i,
72
+ confidence: 0.85,
73
+ description: 'NLP',
74
+ },
75
+ {
76
+ pattern: /컴퓨터\s*비전|computer\s*vision|이미지\s*인식/i,
77
+ confidence: 0.85,
78
+ description: 'Computer Vision',
79
+ },
80
+ ];
81
+ //# sourceMappingURL=ai-ml.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-ml.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/ai-ml.patterns.ts"],"names":[],"mappings":";;;AAoBa,QAAA,qBAAqB,GAAiC;IAEjE;QACE,OAAO,EAAE,+BAA+B;QACxC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,aAAa;KAC3B;IACD;QACE,OAAO,EAAE,oCAAoC;QAC7C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,OAAO,EAAE,2CAA2C;QACpD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,SAAS;KACvB;IAED;QACE,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,KAAK;KACnB;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,iBAAiB;KAC/B;IAED;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,OAAO,EAAE,+BAA+B;QACxC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,WAAW;KACzB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,gBAAgB;KAC9B;IAED;QACE,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,KAAK;KACnB;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,iBAAiB;KAC/B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IntentPattern } from './intent-patterns.types';
2
+ export declare const BACKEND_INTENT_PATTERNS: ReadonlyArray<IntentPattern>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BACKEND_INTENT_PATTERNS = void 0;
4
+ exports.BACKEND_INTENT_PATTERNS = [
5
+ {
6
+ pattern: /nestjs|nest\.js/i,
7
+ confidence: 0.95,
8
+ description: 'NestJS',
9
+ },
10
+ {
11
+ pattern: /express\.js|express\s+서버|express\s+server/i,
12
+ confidence: 0.95,
13
+ description: 'Express',
14
+ },
15
+ {
16
+ pattern: /fastify|koa\.js|hapi/i,
17
+ confidence: 0.95,
18
+ description: 'Node.js Framework',
19
+ },
20
+ {
21
+ pattern: /django|flask|fastapi/i,
22
+ confidence: 0.95,
23
+ description: 'Python Framework',
24
+ },
25
+ {
26
+ pattern: /spring\s*boot|spring\s*framework/i,
27
+ confidence: 0.95,
28
+ description: 'Spring Boot',
29
+ },
30
+ {
31
+ pattern: /gin|echo|fiber/i,
32
+ confidence: 0.9,
33
+ description: 'Go Framework',
34
+ },
35
+ {
36
+ pattern: /rails|ruby\s+on\s+rails/i,
37
+ confidence: 0.95,
38
+ description: 'Ruby on Rails',
39
+ },
40
+ {
41
+ pattern: /REST\s*API|RESTful/i,
42
+ confidence: 0.9,
43
+ description: 'REST API',
44
+ },
45
+ {
46
+ pattern: /GraphQL\s*(API|서버|server|스키마|schema)/i,
47
+ confidence: 0.9,
48
+ description: 'GraphQL',
49
+ },
50
+ {
51
+ pattern: /gRPC|protobuf/i,
52
+ confidence: 0.9,
53
+ description: 'gRPC',
54
+ },
55
+ {
56
+ pattern: /API\s*(설계|개발|구현|design|develop|implement)/i,
57
+ confidence: 0.9,
58
+ description: 'API Development',
59
+ },
60
+ {
61
+ pattern: /서버\s*(개발|구현|로직)|server.?side\s*(logic|develop)/i,
62
+ confidence: 0.85,
63
+ description: 'Server Development',
64
+ },
65
+ {
66
+ pattern: /백엔드\s*(개발|구현|로직)|backend\s*(develop|logic|implement)/i,
67
+ confidence: 0.85,
68
+ description: 'Backend Development',
69
+ },
70
+ {
71
+ pattern: /미들웨어|middleware/i,
72
+ confidence: 0.85,
73
+ description: 'Middleware',
74
+ },
75
+ {
76
+ pattern: /인증\s*서버|auth.*server|OAuth\s*서버/i,
77
+ confidence: 0.85,
78
+ description: 'Auth Server',
79
+ },
80
+ {
81
+ pattern: /웹소켓|websocket|socket\.io/i,
82
+ confidence: 0.85,
83
+ description: 'WebSocket',
84
+ },
85
+ {
86
+ pattern: /마이크로서비스|microservice/i,
87
+ confidence: 0.85,
88
+ description: 'Microservice',
89
+ },
90
+ ];
91
+ //# sourceMappingURL=backend.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/backend.patterns.ts"],"names":[],"mappings":";;;AAoBa,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;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ContextPattern } from './intent-patterns.types';
2
+ export declare const CONTEXT_PATTERNS: ReadonlyArray<ContextPattern>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONTEXT_PATTERNS = void 0;
4
+ exports.CONTEXT_PATTERNS = [
5
+ {
6
+ pattern: /react-native\.config\.js$/i,
7
+ agent: 'mobile-developer',
8
+ confidence: 0.95,
9
+ },
10
+ {
11
+ pattern: /metro\.config\.js$/i,
12
+ agent: 'mobile-developer',
13
+ confidence: 0.95,
14
+ },
15
+ { pattern: /app\.json$/i, agent: 'mobile-developer', confidence: 0.85 },
16
+ { pattern: /pubspec\.yaml$/i, agent: 'mobile-developer', confidence: 0.95 },
17
+ { pattern: /\.dart$/i, agent: 'mobile-developer', confidence: 0.9 },
18
+ { pattern: /Podfile$/i, agent: 'mobile-developer', confidence: 0.9 },
19
+ { pattern: /\.swift$/i, agent: 'mobile-developer', confidence: 0.9 },
20
+ {
21
+ pattern: /build\.gradle(\.kts)?$/i,
22
+ agent: 'mobile-developer',
23
+ confidence: 0.85,
24
+ },
25
+ {
26
+ pattern: /AndroidManifest\.xml$/i,
27
+ agent: 'mobile-developer',
28
+ confidence: 0.9,
29
+ },
30
+ { pattern: /\.kt$/i, agent: 'mobile-developer', confidence: 0.85 },
31
+ { pattern: /\.sql$/i, agent: 'data-engineer', confidence: 0.9 },
32
+ { pattern: /schema\.prisma$/i, agent: 'data-engineer', confidence: 0.95 },
33
+ { pattern: /migrations?\//i, agent: 'data-engineer', confidence: 0.9 },
34
+ { pattern: /\.entity\.ts$/i, agent: 'data-engineer', confidence: 0.85 },
35
+ { pattern: /\.tf$/i, agent: 'platform-engineer', confidence: 0.95 },
36
+ { pattern: /\.tfvars$/i, agent: 'platform-engineer', confidence: 0.95 },
37
+ {
38
+ pattern: /terragrunt\.hcl$/i,
39
+ agent: 'platform-engineer',
40
+ confidence: 0.95,
41
+ },
42
+ { pattern: /Chart\.yaml$/i, agent: 'platform-engineer', confidence: 0.95 },
43
+ { pattern: /values\.yaml$/i, agent: 'platform-engineer', confidence: 0.75 },
44
+ {
45
+ pattern: /helm.*templates\/|charts\/.*templates\//i,
46
+ agent: 'platform-engineer',
47
+ confidence: 0.9,
48
+ },
49
+ {
50
+ pattern: /kustomization\.ya?ml$/i,
51
+ agent: 'platform-engineer',
52
+ confidence: 0.95,
53
+ },
54
+ {
55
+ pattern: /Pulumi\.ya?ml$/i,
56
+ agent: 'platform-engineer',
57
+ confidence: 0.95,
58
+ },
59
+ {
60
+ pattern: /argocd\/|argo-cd\//i,
61
+ agent: 'platform-engineer',
62
+ confidence: 0.9,
63
+ },
64
+ {
65
+ pattern: /flux-system\//i,
66
+ agent: 'platform-engineer',
67
+ confidence: 0.9,
68
+ },
69
+ {
70
+ pattern: /Dockerfile|docker-compose/i,
71
+ agent: 'devops-engineer',
72
+ confidence: 0.9,
73
+ },
74
+ { pattern: /\.go$/i, agent: 'backend-developer', confidence: 0.85 },
75
+ { pattern: /\.py$/i, agent: 'backend-developer', confidence: 0.85 },
76
+ { pattern: /\.java$/i, agent: 'backend-developer', confidence: 0.85 },
77
+ { pattern: /\.rs$/i, agent: 'backend-developer', confidence: 0.85 },
78
+ { pattern: /\.tsx?$/i, agent: 'frontend-developer', confidence: 0.7 },
79
+ { pattern: /\.jsx?$/i, agent: 'frontend-developer', confidence: 0.7 },
80
+ { pattern: /agents?.*\.json$/i, agent: 'agent-architect', confidence: 0.8 },
81
+ ];
82
+ //# sourceMappingURL=context.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/context.patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { IntentPattern } from './intent-patterns.types';
2
+ export declare const DATA_INTENT_PATTERNS: ReadonlyArray<IntentPattern>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATA_INTENT_PATTERNS = void 0;
4
+ exports.DATA_INTENT_PATTERNS = [
5
+ {
6
+ pattern: /schema\.prisma/i,
7
+ confidence: 0.95,
8
+ description: 'Prisma schema',
9
+ },
10
+ {
11
+ pattern: /migration/i,
12
+ confidence: 0.9,
13
+ description: 'Database migration',
14
+ },
15
+ { pattern: /\.sql$/i, confidence: 0.9, description: 'SQL file' },
16
+ {
17
+ pattern: /database|데이터베이스|DB\s*(설계|스키마|마이그레이션)/i,
18
+ confidence: 0.9,
19
+ description: 'Database design',
20
+ },
21
+ {
22
+ pattern: /스키마|schema\s*design/i,
23
+ confidence: 0.9,
24
+ description: 'Schema design',
25
+ },
26
+ {
27
+ pattern: /ERD|entity.?relationship/i,
28
+ confidence: 0.9,
29
+ description: 'ERD design',
30
+ },
31
+ {
32
+ pattern: /쿼리\s*최적화|query\s*optim/i,
33
+ confidence: 0.85,
34
+ description: 'Query optimization',
35
+ },
36
+ {
37
+ pattern: /인덱스|index(ing)?/i,
38
+ confidence: 0.85,
39
+ description: 'Indexing',
40
+ },
41
+ {
42
+ pattern: /정규화|normaliz/i,
43
+ confidence: 0.85,
44
+ description: 'Normalization',
45
+ },
46
+ ];
47
+ //# sourceMappingURL=data.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/data.patterns.ts"],"names":[],"mappings":";;;AAmBa,QAAA,oBAAoB,GAAiC;IAEhE;QACE,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,oBAAoB;KAClC;IACD,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE;IAEhE;QACE,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,eAAe;KAC7B;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,UAAU;KACxB;IACD;QACE,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,eAAe;KAC7B;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const EXPLICIT_PATTERNS: ReadonlyArray<RegExp>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXPLICIT_PATTERNS = void 0;
4
+ exports.EXPLICIT_PATTERNS = [
5
+ /(\w+-\w+)(?:로|으로)\s*(?:작업|개발|해)/i,
6
+ /(?:use|using)\s+(\w+-\w+)(?:\s+agent)?/i,
7
+ /as\s+(\w+-\w+)/i,
8
+ /(\w+-\w+)\s+agent(?:로|으로)/i,
9
+ ];
10
+ //# sourceMappingURL=explicit.patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explicit.patterns.js","sourceRoot":"","sources":["../../../../src/keyword/patterns/explicit.patterns.ts"],"names":[],"mappings":";;;AAWa,QAAA,iBAAiB,GAA0B;IAEtD,kCAAkC;IAElC,yCAAyC;IAEzC,iBAAiB;IAEjB,4BAA4B;CAC7B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type { IntentPattern, IntentPatternCheck, ContextPattern, } from './intent-patterns.types';
2
+ export { EXPLICIT_PATTERNS } from './explicit.patterns';
3
+ export { AGENT_INTENT_PATTERNS } from './agent.patterns';
4
+ export { AI_ML_INTENT_PATTERNS } from './ai-ml.patterns';
5
+ export { BACKEND_INTENT_PATTERNS } from './backend.patterns';
6
+ export { DATA_INTENT_PATTERNS } from './data.patterns';
7
+ export { MOBILE_INTENT_PATTERNS } from './mobile.patterns';
8
+ export { PLATFORM_INTENT_PATTERNS } from './platform.patterns';
9
+ export { TOOLING_INTENT_PATTERNS } from './tooling.patterns';
10
+ export { INTENT_PATTERN_CHECKS } from './intent-pattern-checks';
11
+ export { CONTEXT_PATTERNS } from './context.patterns';
12
+ export { META_AGENT_DISCUSSION_PATTERNS } from './meta-discussion.patterns';