@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.
- package/README.md +108 -103
- package/build/common/apiClient.d.ts +1 -1
- package/build/common/apiClient.d.ts.map +1 -1
- package/build/common/apiClient.js +31 -49
- package/build/core/CommandDispatcher.d.ts +3 -3
- package/build/core/CommandDispatcher.d.ts.map +1 -1
- package/build/core/CommandDispatcher.js +42 -32
- package/build/index.d.ts +2 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -1
- package/build/personas/charles/index.d.ts +1 -1
- package/build/personas/charles/index.d.ts.map +1 -1
- package/build/personas/charles/index.js +107 -62
- package/build/personas/router.d.ts.map +1 -1
- package/build/personas/router.js +33 -0
- package/build/personas/sterling/index.d.ts +14 -0
- package/build/personas/sterling/index.d.ts.map +1 -0
- package/build/personas/sterling/index.js +128 -0
- package/build/personas/xavier/index.js +2 -2
- package/build/prompts/architectPrompts.d.ts +1 -1
- package/build/prompts/architectPrompts.d.ts.map +1 -1
- package/build/prompts/architectPrompts.js +56 -53
- package/build/tools/architect.d.ts +6 -12
- package/build/tools/architect.d.ts.map +1 -1
- package/build/tools/ask.d.ts +4 -20
- package/build/tools/ask.d.ts.map +1 -1
- package/build/tools/codeReview.d.ts +1 -5
- package/build/tools/codeReview.d.ts.map +1 -1
- package/build/tools/codeadvice.d.ts +6 -10
- package/build/tools/codeadvice.d.ts.map +1 -1
- package/build/tools/discover.d.ts +11 -8
- package/build/tools/discover.d.ts.map +1 -1
- package/build/tools/discover.js +20 -5
- package/build/tools/persona.d.ts +29 -28
- package/build/tools/persona.d.ts.map +1 -1
- package/build/tools/researcher.d.ts +23 -20
- package/build/tools/researcher.d.ts.map +1 -1
- package/build/tools/screenshot.d.ts +1 -9
- package/build/tools/screenshot.d.ts.map +1 -1
- 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
|
|
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
|
|
8
|
-
|
|
9
|
-
###
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
###
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
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<
|
|
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
|
-
},
|
|
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
|
|
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"}
|
package/build/tools/ask.d.ts
CHANGED
|
@@ -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
|
-
},
|
|
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;
|
package/build/tools/ask.d.ts.map
CHANGED
|
@@ -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
|
|
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
|
-
},
|
|
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
|
|
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<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
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<
|
|
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
|
-
},
|
|
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
|
|
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"}
|
package/build/tools/discover.js
CHANGED
|
@@ -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
|
|
36
|
-
"What's the
|
|
37
|
-
"Review my
|
|
38
|
-
"How do I reduce coupling
|
|
39
|
-
"
|
|
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";
|
package/build/tools/persona.d.ts
CHANGED
|
@@ -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<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
},
|
|
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
|
|
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<
|
|
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<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
|
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
|
-
},
|
|
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
|
|
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
|
+
"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/
|
|
45
|
-
"@
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
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",
|