@identikey/coding-mcp 2.0.4 → 2.1.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.
Files changed (40) hide show
  1. package/README.md +108 -103
  2. package/build/common/apiClient.d.ts +1 -1
  3. package/build/common/apiClient.d.ts.map +1 -1
  4. package/build/common/apiClient.js +31 -49
  5. package/build/core/CommandDispatcher.d.ts +3 -3
  6. package/build/core/CommandDispatcher.d.ts.map +1 -1
  7. package/build/core/CommandDispatcher.js +42 -32
  8. package/build/index.d.ts +2 -0
  9. package/build/index.d.ts.map +1 -1
  10. package/build/index.js +4 -1
  11. package/build/personas/charles/index.d.ts +1 -1
  12. package/build/personas/charles/index.d.ts.map +1 -1
  13. package/build/personas/charles/index.js +107 -62
  14. package/build/personas/router.d.ts.map +1 -1
  15. package/build/personas/router.js +33 -0
  16. package/build/personas/sterling/index.d.ts +14 -0
  17. package/build/personas/sterling/index.d.ts.map +1 -0
  18. package/build/personas/sterling/index.js +128 -0
  19. package/build/personas/xavier/index.js +2 -2
  20. package/build/prompts/architectPrompts.d.ts +1 -1
  21. package/build/prompts/architectPrompts.d.ts.map +1 -1
  22. package/build/prompts/architectPrompts.js +56 -53
  23. package/build/tools/architect.d.ts +6 -12
  24. package/build/tools/architect.d.ts.map +1 -1
  25. package/build/tools/ask.d.ts +4 -20
  26. package/build/tools/ask.d.ts.map +1 -1
  27. package/build/tools/codeReview.d.ts +1 -5
  28. package/build/tools/codeReview.d.ts.map +1 -1
  29. package/build/tools/codeadvice.d.ts +6 -10
  30. package/build/tools/codeadvice.d.ts.map +1 -1
  31. package/build/tools/discover.d.ts +11 -8
  32. package/build/tools/discover.d.ts.map +1 -1
  33. package/build/tools/discover.js +20 -5
  34. package/build/tools/persona.d.ts +29 -28
  35. package/build/tools/persona.d.ts.map +1 -1
  36. package/build/tools/researcher.d.ts +23 -20
  37. package/build/tools/researcher.d.ts.map +1 -1
  38. package/build/tools/screenshot.d.ts +1 -9
  39. package/build/tools/screenshot.d.ts.map +1 -1
  40. package/package.json +6 -7
@@ -1,58 +1,61 @@
1
1
  /**
2
2
  * System prompts for the architect tool
3
3
  */
4
- export const ARCHITECT_SYSTEM_PROMPT = `You are an expert software architect with deep knowledge of design patterns, anti-patterns, scalable software design principles, and modern development practices. Your task is to conduct a comprehensive architectural review and generate actionable improvement plans.
4
+ export const ARCHITECT_SYSTEM_PROMPT = `You are a pragmatic software architect who helps teams ship quality software fast. You know design patterns but favor simplicity over dogma. You've built systems from zero to scale and understand the real trade-offs.
5
+
6
+ ## Philosophy
7
+ - **Ship working software** over perfect architecture
8
+ - **Build for 10x growth** not 1000x until you need to
9
+ - **Refactor when it hurts** not because textbooks say so
10
+ - **Use patterns sparingly** - most code should be boring and obvious
11
+ - **Optimize for change** - wrong abstractions are worse than duplication
5
12
 
6
13
  ## Analysis Framework
7
- Structure your response with these sections:
8
-
9
- ### Executive Summary
10
- Provide a prioritized checklist of key recommendations with impact/urgency ratings.
11
-
12
- ### Architectural Overview
13
- Examine the overall system design, module interdependencies, and cross-cutting concerns. Consider:
14
- - Architecture patterns (monolithic, microservices, layered, etc.)
15
- - Technology stack appropriateness and constraints
16
- - Domain-specific requirements and regulatory considerations
17
- - Scalability and performance architecture
18
-
19
- ### Code Quality & Maintainability
20
- Analyze code structure, patterns, and anti-patterns:
21
- - SOLID, DRY, KISS, YAGNI principle adherence
22
- - Identify anti-patterns and deprecated practices with impact assessment
23
- - Code organization, naming conventions, and documentation quality
24
- - Modularity, coupling, cohesion, and separation of concerns
25
-
26
- ### Security & Performance
27
- Evaluate:
28
- - Security vulnerabilities and attack vectors
29
- - Performance bottlenecks and optimization opportunities
30
- - Resource utilization and scalability constraints
31
- - Error handling robustness and fault tolerance
32
-
33
- ### Testing & Documentation
34
- Assess:
35
- - Test coverage, strategy, and quality
36
- - Documentation completeness and accuracy
37
- - CI/CD integration and deployment practices
38
-
39
- ### Alternative Solutions
40
- For significant issues, provide multiple design options with trade-off analysis (maintainability vs performance, complexity vs scalability, etc.).
41
-
42
- ### Prioritized Action Plan
43
- Organize recommendations by:
44
- 1. **Critical/Immediate**: Security issues, major bugs
45
- 2. **High Impact/Medium Term**: Architecture improvements, performance optimizations
46
- 3. **Long Term/Strategic**: Major refactoring, technology upgrades
47
-
48
- For each action item, include:
49
- - Specific implementation steps
50
- - Estimated effort/complexity
51
- - Dependencies and prerequisites
52
- - Success criteria and validation methods
53
- - Fallback options if issues arise
54
-
55
- ## Context Adaptation
56
- Tailor recommendations based on project context (startup vs enterprise, legacy vs greenfield, team size, etc.). Ask clarifying questions if the task description lacks sufficient context for optimal recommendations.
57
-
58
- Provide both strategic architectural guidance and tactical code-level improvements that a coding agent can implement effectively.`;
14
+ Structure your response:
15
+
16
+ ### TL;DR
17
+ 3-5 bullet points of what actually matters right now. Be specific.
18
+
19
+ ### What's Working
20
+ Call out good decisions. Positive reinforcement matters.
21
+
22
+ ### Critical Issues (Fix This Week)
23
+ Security holes, data loss risks, blocking bugs. Must fix before shipping.
24
+
25
+ ### High-Impact Improvements (Next Sprint)
26
+ Changes that unlock velocity or prevent near-term pain:
27
+ - Code org that's actively slowing the team
28
+ - Performance issues users will notice
29
+ - Tech debt that's compounding
30
+
31
+ ### Future Considerations (When You Scale)
32
+ What to watch for and when to revisit:
33
+ - "This monolith will need splitting around 50k users"
34
+ - "This query will struggle past 10M rows"
35
+ - "Consider [pattern] when you have multiple teams"
36
+
37
+ ### Trade-Off Analysis
38
+ For any significant recommendation, be explicit:
39
+ - What you gain vs what you pay (complexity, time, flexibility)
40
+ - When it's worth it vs when it's not
41
+ - Simpler alternatives and why you didn't pick them
42
+
43
+ ## Context Matters
44
+ Default to startup/growth-stage context unless specified:
45
+ - Optimize for iteration speed and learning
46
+ - Avoid premature optimization and abstraction
47
+ - Use boring, proven tech over shiny new tools
48
+ - Make it work, make it right, make it fast - in that order
49
+
50
+ For enterprise/legacy context (specify if relevant):
51
+ - Zero-downtime constraints
52
+ - Regulatory/compliance requirements
53
+ - Large team coordination
54
+ - Backward compatibility obligations
55
+
56
+ ## Practical Guidance
57
+ - Give concrete, actionable steps not theory
58
+ - Estimate effort honestly (hours/days not "complexity points")
59
+ - Flag dependencies and prerequisites
60
+ - Suggest incremental paths when full rewrites are tempting
61
+ - Call out over-engineering as loudly as under-engineering`;
@@ -10,19 +10,13 @@ export declare const architectToolDescription = "Conducts comprehensive architec
10
10
  export declare const ArchitectToolSchema: z.ZodObject<{
11
11
  task: z.ZodString;
12
12
  code: z.ZodString;
13
- reasoning_effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
13
+ reasoning_effort: z.ZodOptional<z.ZodEnum<{
14
+ low: "low";
15
+ medium: "medium";
16
+ high: "high";
17
+ }>>;
14
18
  persona: z.ZodOptional<z.ZodString>;
15
- }, "strip", z.ZodTypeAny, {
16
- code: string;
17
- task: string;
18
- reasoning_effort?: "low" | "medium" | "high" | undefined;
19
- persona?: string | undefined;
20
- }, {
21
- code: string;
22
- task: string;
23
- reasoning_effort?: "low" | "medium" | "high" | undefined;
24
- persona?: string | undefined;
25
- }>;
19
+ }, z.core.$strip>;
26
20
  export declare function runArchitectTool(args: z.infer<typeof ArchitectToolSchema>): Promise<{
27
21
  content: {
28
22
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/tools/architect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;GAKG;AAEH,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,yGACmE,CAAC;AAEzG,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAiB9B,CAAC;AAEH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;GAiD1C"}
1
+ {"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/tools/architect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;GAKG;AAEH,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,yGACmE,CAAC;AAEzG,eAAO,MAAM,mBAAmB;;;;;;;;;iBAiB9B,CAAC;AAEH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;GAiD1C"}
@@ -6,30 +6,14 @@ import { z } from "zod";
6
6
  export declare const askToolName = "ask";
7
7
  export declare const askToolDescription = "Ask a question naturally and get routed to the best expert persona automatically. You can also address a persona directly, e.g., 'ask xavier: <your question>' or 'charles: <your question>' to force that persona.";
8
8
  export declare const AskToolSchema: z.ZodObject<{
9
- persona_id: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodString]>>>;
9
+ persona_id: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodString]>>>;
10
10
  query: z.ZodString;
11
11
  context: z.ZodOptional<z.ZodString>;
12
12
  hint: z.ZodOptional<z.ZodString>;
13
13
  explain_routing: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
- reasoning_effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">]>>;
15
- provider: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"xai">, z.ZodLiteral<"openai">]>>;
16
- }, "strip", z.ZodTypeAny, {
17
- query: string;
18
- persona_id: string;
19
- explain_routing: boolean;
20
- context?: string | undefined;
21
- reasoning_effort?: "low" | "medium" | "high" | undefined;
22
- hint?: string | undefined;
23
- provider?: "xai" | "openai" | undefined;
24
- }, {
25
- query: string;
26
- context?: string | undefined;
27
- reasoning_effort?: "low" | "medium" | "high" | undefined;
28
- persona_id?: string | undefined;
29
- hint?: string | undefined;
30
- explain_routing?: boolean | undefined;
31
- provider?: "xai" | "openai" | undefined;
32
- }>;
14
+ reasoning_effort: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">]>>;
15
+ provider: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"xai">, z.ZodLiteral<"openai">]>>;
16
+ }, z.core.$strip>;
33
17
  export declare function runAskTool(args: z.infer<typeof AskToolSchema>): Promise<{
34
18
  content: {
35
19
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;GAGG;AAEH,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,kBAAkB,wNACwL,CAAC;AAExN,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAsCxB,CAAC;AAEH,wBAAsB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC;;;;;GAiHnE"}
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;GAGG;AAEH,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,kBAAkB,wNACwL,CAAC;AAExN,eAAO,MAAM,aAAa;;;;;;;;iBAsCxB,CAAC;AAEH,wBAAsB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC;;;;;GAiHnE"}
@@ -8,11 +8,7 @@ export declare const codeReviewToolName = "code-review";
8
8
  export declare const codeReviewToolDescription = "Run a git diff against main on a specified file and provide instructions to review/fix issues.";
9
9
  export declare const CodeReviewToolSchema: z.ZodObject<{
10
10
  folderPath: z.ZodString;
11
- }, "strip", z.ZodTypeAny, {
12
- folderPath: string;
13
- }, {
14
- folderPath: string;
15
- }>;
11
+ }, z.core.$strip>;
16
12
  export declare function runCodeReviewTool(args: z.infer<typeof CodeReviewToolSchema>): Promise<{
17
13
  content: {
18
14
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"codeReview.d.ts","sourceRoot":"","sources":["../../src/tools/codeReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,yBAAyB,mGAC4D,CAAC;AAEnG,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAEH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GA2B3C"}
1
+ {"version":3,"file":"codeReview.d.ts","sourceRoot":"","sources":["../../src/tools/codeReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,yBAAyB,mGAC4D,CAAC;AAEnG,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GA2B3C"}
@@ -10,16 +10,12 @@ export declare const codeAdviceToolDescription = "Provides quick, focused coding
10
10
  export declare const CodeAdviceToolSchema: z.ZodObject<{
11
11
  task: z.ZodString;
12
12
  code: z.ZodString;
13
- reasoning_effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
14
- }, "strip", z.ZodTypeAny, {
15
- code: string;
16
- task: string;
17
- reasoning_effort?: "low" | "medium" | "high" | undefined;
18
- }, {
19
- code: string;
20
- task: string;
21
- reasoning_effort?: "low" | "medium" | "high" | undefined;
22
- }>;
13
+ reasoning_effort: z.ZodOptional<z.ZodEnum<{
14
+ low: "low";
15
+ medium: "medium";
16
+ high: "high";
17
+ }>>;
18
+ }, z.core.$strip>;
23
19
  export declare function runCodeAdviceTool(args: z.infer<typeof CodeAdviceToolSchema>): Promise<{
24
20
  content: {
25
21
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"codeadvice.d.ts","sourceRoot":"","sources":["../../src/tools/codeadvice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,yBAAyB,2FACoD,CAAC;AAE3F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAS/B,CAAC;AAEH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GAsC3C"}
1
+ {"version":3,"file":"codeadvice.d.ts","sourceRoot":"","sources":["../../src/tools/codeadvice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAChD,eAAO,MAAM,yBAAyB,2FACoD,CAAC;AAE3F,eAAO,MAAM,oBAAoB;;;;;;;;iBAS/B,CAAC;AAEH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GAsC3C"}
@@ -6,15 +6,18 @@ import { z } from "zod";
6
6
  export declare const discoverToolName = "discover";
7
7
  export declare const discoverToolDescription = "Discover available expert personas and their specialties";
8
8
  export declare const DiscoverToolSchema: z.ZodObject<{
9
- category: z.ZodDefault<z.ZodOptional<z.ZodEnum<["architecture", "algorithms", "security", "frontend", "backend", "data", "all"]>>>;
9
+ category: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
10
+ architecture: "architecture";
11
+ enterprise: "enterprise";
12
+ algorithms: "algorithms";
13
+ frontend: "frontend";
14
+ backend: "backend";
15
+ security: "security";
16
+ data: "data";
17
+ all: "all";
18
+ }>>>;
10
19
  verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
- }, "strip", z.ZodTypeAny, {
12
- category: "data" | "architecture" | "algorithms" | "frontend" | "backend" | "security" | "all";
13
- verbose: boolean;
14
- }, {
15
- category?: "data" | "architecture" | "algorithms" | "frontend" | "backend" | "security" | "all" | undefined;
16
- verbose?: boolean | undefined;
17
- }>;
20
+ }, z.core.$strip>;
18
21
  export declare function runDiscoverTool(args: z.infer<typeof DiscoverToolSchema>): Promise<{
19
22
  content: {
20
23
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/tools/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,uBAAuB,6DACwB,CAAC;AAE7D,eAAO,MAAM,kBAAkB;;;;;;;;;EAoB7B,CAAC;AAuIH,wBAAsB,eAAe,CACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;GAsGzC"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/tools/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,uBAAuB,6DACwB,CAAC;AAE7D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAqB7B,CAAC;AAuJH,wBAAsB,eAAe,CACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;GAsGzC"}
@@ -10,6 +10,7 @@ export const DiscoverToolSchema = z.object({
10
10
  category: z
11
11
  .enum([
12
12
  "architecture",
13
+ "enterprise",
13
14
  "algorithms",
14
15
  "security",
15
16
  "frontend",
@@ -32,11 +33,18 @@ export const DiscoverToolSchema = z.object({
32
33
  function getExampleQueries(personaId) {
33
34
  const examples = {
34
35
  charles: [
35
- "How should I structure my microservices architecture?",
36
- "What's the best pattern for this use case?",
37
- "Review my system design for scalability",
38
- "How do I reduce coupling between these modules?",
39
- "What's causing this technical debt?",
36
+ "How should I structure this for a startup moving fast?",
37
+ "What's the simplest pattern that works here?",
38
+ "Review my design - what's overkill vs what actually matters?",
39
+ "How do I reduce coupling without over-engineering?",
40
+ "Is this tech debt worth paying down now?",
41
+ ],
42
+ sterling: [
43
+ "Plan a zero-downtime migration for this legacy system",
44
+ "Design a phased rollout with rollback plan for this change",
45
+ "How do I ensure SOC2/HIPAA compliance for this feature?",
46
+ "Architecture for multi-team coordination with 50+ engineers",
47
+ "Backward compatibility strategy for this breaking change",
40
48
  ],
41
49
  ada: [
42
50
  "How can I optimize this algorithm?",
@@ -106,6 +114,13 @@ function getExampleQueries(personaId) {
106
114
  */
107
115
  function getPersonaCategory(persona) {
108
116
  const expertiseStr = persona.traits?.expertise?.join(" ").toLowerCase() || "";
117
+ // Check for enterprise first (more specific)
118
+ if (expertiseStr.includes("enterprise") ||
119
+ expertiseStr.includes("legacy") ||
120
+ expertiseStr.includes("zero-downtime") ||
121
+ expertiseStr.includes("compliance")) {
122
+ return "enterprise";
123
+ }
109
124
  if (expertiseStr.includes("architecture") ||
110
125
  expertiseStr.includes("system design")) {
111
126
  return "architecture";
@@ -9,36 +9,37 @@ export declare const PersonaToolSchema: z.ZodObject<{
9
9
  persona_id: z.ZodString;
10
10
  query: z.ZodString;
11
11
  context: z.ZodOptional<z.ZodString>;
12
- analysis_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["comprehensive", "advice", "research", "review"]>>>;
13
- reasoning_effort: z.ZodDefault<z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>>;
14
- tone_style: z.ZodOptional<z.ZodEnum<["concise", "detailed", "humorous", "straight"]>>;
15
- output_format: z.ZodOptional<z.ZodEnum<["tldr", "detailed", "dual"]>>;
16
- audience_level: z.ZodOptional<z.ZodEnum<["beginner", "intermediate", "expert", "auto"]>>;
12
+ analysis_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
13
+ comprehensive: "comprehensive";
14
+ advice: "advice";
15
+ research: "research";
16
+ review: "review";
17
+ }>>>;
18
+ reasoning_effort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
19
+ low: "low";
20
+ medium: "medium";
21
+ high: "high";
22
+ }>>>;
23
+ tone_style: z.ZodOptional<z.ZodEnum<{
24
+ concise: "concise";
25
+ detailed: "detailed";
26
+ humorous: "humorous";
27
+ straight: "straight";
28
+ }>>;
29
+ output_format: z.ZodOptional<z.ZodEnum<{
30
+ detailed: "detailed";
31
+ tldr: "tldr";
32
+ dual: "dual";
33
+ }>>;
34
+ audience_level: z.ZodOptional<z.ZodEnum<{
35
+ beginner: "beginner";
36
+ intermediate: "intermediate";
37
+ expert: "expert";
38
+ auto: "auto";
39
+ }>>;
17
40
  include_diagrams: z.ZodOptional<z.ZodBoolean>;
18
41
  user_constraints: z.ZodOptional<z.ZodString>;
19
- }, "strip", z.ZodTypeAny, {
20
- reasoning_effort: "low" | "medium" | "high";
21
- query: string;
22
- persona_id: string;
23
- analysis_type: "comprehensive" | "advice" | "research" | "review";
24
- context?: string | undefined;
25
- tone_style?: "concise" | "detailed" | "humorous" | "straight" | undefined;
26
- output_format?: "detailed" | "tldr" | "dual" | undefined;
27
- audience_level?: "beginner" | "intermediate" | "expert" | "auto" | undefined;
28
- include_diagrams?: boolean | undefined;
29
- user_constraints?: string | undefined;
30
- }, {
31
- query: string;
32
- persona_id: string;
33
- context?: string | undefined;
34
- reasoning_effort?: "low" | "medium" | "high" | undefined;
35
- analysis_type?: "comprehensive" | "advice" | "research" | "review" | undefined;
36
- tone_style?: "concise" | "detailed" | "humorous" | "straight" | undefined;
37
- output_format?: "detailed" | "tldr" | "dual" | undefined;
38
- audience_level?: "beginner" | "intermediate" | "expert" | "auto" | undefined;
39
- include_diagrams?: boolean | undefined;
40
- user_constraints?: string | undefined;
41
- }>;
42
+ }, z.core.$strip>;
42
43
  export declare function runPersonaTool(args: z.infer<typeof PersonaToolSchema>): Promise<{
43
44
  content: {
44
45
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/tools/persona.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AAEH,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,sBAAsB,sFACkD,CAAC;AAEtF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyD5B,CAAC;AAEH,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;GAuE3E"}
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/tools/persona.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AAEH,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,sBAAsB,sFACkD,CAAC;AAEtF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyD5B,CAAC;AAEH,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;GAuE3E"}
@@ -29,29 +29,32 @@ export interface ResearchResult {
29
29
  }
30
30
  export declare const ResearcherToolSchema: z.ZodObject<{
31
31
  query: z.ZodString;
32
- search_engines: z.ZodOptional<z.ZodArray<z.ZodEnum<["google", "xai", "arxiv", "wikipedia", "github", "stackexchange", "pubmed", "semantic_scholar"]>, "many">>;
32
+ search_engines: z.ZodOptional<z.ZodArray<z.ZodEnum<{
33
+ xai: "xai";
34
+ google: "google";
35
+ arxiv: "arxiv";
36
+ wikipedia: "wikipedia";
37
+ github: "github";
38
+ stackexchange: "stackexchange";
39
+ pubmed: "pubmed";
40
+ semantic_scholar: "semantic_scholar";
41
+ }>>>;
33
42
  max_results_per_engine: z.ZodOptional<z.ZodNumber>;
34
43
  deep_search: z.ZodOptional<z.ZodBoolean>;
35
44
  include_academic: z.ZodOptional<z.ZodBoolean>;
36
- reasoning_effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
37
- citation_style: z.ZodOptional<z.ZodEnum<["apa", "mla", "chicago", "ieee", "inline"]>>;
38
- }, "strip", z.ZodTypeAny, {
39
- query: string;
40
- reasoning_effort?: "low" | "medium" | "high" | undefined;
41
- search_engines?: ("xai" | "google" | "arxiv" | "wikipedia" | "github" | "stackexchange" | "pubmed" | "semantic_scholar")[] | undefined;
42
- max_results_per_engine?: number | undefined;
43
- deep_search?: boolean | undefined;
44
- include_academic?: boolean | undefined;
45
- citation_style?: "apa" | "mla" | "chicago" | "ieee" | "inline" | undefined;
46
- }, {
47
- query: string;
48
- reasoning_effort?: "low" | "medium" | "high" | undefined;
49
- search_engines?: ("xai" | "google" | "arxiv" | "wikipedia" | "github" | "stackexchange" | "pubmed" | "semantic_scholar")[] | undefined;
50
- max_results_per_engine?: number | undefined;
51
- deep_search?: boolean | undefined;
52
- include_academic?: boolean | undefined;
53
- citation_style?: "apa" | "mla" | "chicago" | "ieee" | "inline" | undefined;
54
- }>;
45
+ reasoning_effort: z.ZodOptional<z.ZodEnum<{
46
+ low: "low";
47
+ medium: "medium";
48
+ high: "high";
49
+ }>>;
50
+ citation_style: z.ZodOptional<z.ZodEnum<{
51
+ apa: "apa";
52
+ mla: "mla";
53
+ chicago: "chicago";
54
+ ieee: "ieee";
55
+ inline: "inline";
56
+ }>>;
57
+ }, z.core.$strip>;
55
58
  export declare function runResearcherTool(args: z.infer<typeof ResearcherToolSchema>): Promise<{
56
59
  content: {
57
60
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"researcher.d.ts","sourceRoot":"","sources":["../../src/tools/researcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,yBAAyB,2IACoG,CAAC;AAG3I,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;EA+C/B,CAAC;AAqPH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GAiI3C"}
1
+ {"version":3,"file":"researcher.d.ts","sourceRoot":"","sources":["../../src/tools/researcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,yBAAyB,2IACoG,CAAC;AAG3I,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+C/B,CAAC;AAqPH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GAiI3C"}
@@ -10,15 +10,7 @@ export declare const ScreenshotToolSchema: z.ZodObject<{
10
10
  url: z.ZodOptional<z.ZodString>;
11
11
  relativePath: z.ZodOptional<z.ZodString>;
12
12
  fullPathToScreenshot: z.ZodString;
13
- }, "strip", z.ZodTypeAny, {
14
- fullPathToScreenshot: string;
15
- url?: string | undefined;
16
- relativePath?: string | undefined;
17
- }, {
18
- fullPathToScreenshot: string;
19
- url?: string | undefined;
20
- relativePath?: string | undefined;
21
- }>;
13
+ }, z.core.$strip>;
22
14
  export declare function runScreenshotTool(args: z.infer<typeof ScreenshotToolSchema>): Promise<{
23
15
  content: {
24
16
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAC9C,eAAO,MAAM,yBAAyB,iGAC0D,CAAA;AAEhG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAA;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GA+B3C"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB;;;;GAIG;AAEH,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAC9C,eAAO,MAAM,yBAAyB,iGAC0D,CAAA;AAEhG,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAA;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;GA+B3C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@identikey/coding-mcp",
4
- "version": "2.0.4",
4
+ "version": "2.1.0",
5
5
  "description": "MCP Server with expert AI personas for code architecture, reviews, screenshots, and research",
6
6
  "type": "module",
7
7
  "main": "./build/index.js",
@@ -41,12 +41,11 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@ai-sdk/xai": "^1.2.18",
45
- "@modelcontextprotocol/sdk": "^1.4.1",
46
- "ai": "^4.3.19",
47
- "openai": "^4.82.0",
48
- "puppeteer": "^24.1.1",
49
- "zod": "^3.24.1"
44
+ "@ai-sdk/openai": "^3.0.1",
45
+ "@ai-sdk/xai": "^3.0.1",
46
+ "@modelcontextprotocol/sdk": "^1.25.1",
47
+ "ai": "^6.0.3",
48
+ "zod": "4"
50
49
  },
51
50
  "devDependencies": {
52
51
  "@types/bun": "^1.2.15",