@claude-view/plugin 0.26.1 → 0.28.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/.claude-plugin/plugin.json +2 -2
- package/README.md +65 -14
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +30 -0
- package/dist/client.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/generated/classify.d.ts +3 -0
- package/dist/tools/generated/classify.d.ts.map +1 -0
- package/dist/tools/generated/classify.js +48 -0
- package/dist/tools/generated/classify.js.map +1 -0
- package/dist/tools/generated/coaching.d.ts +3 -0
- package/dist/tools/generated/coaching.d.ts.map +1 -0
- package/dist/tools/generated/coaching.js +45 -0
- package/dist/tools/generated/coaching.js.map +1 -0
- package/dist/tools/generated/contributions.d.ts +3 -0
- package/dist/tools/generated/contributions.d.ts.map +1 -0
- package/dist/tools/generated/contributions.js +56 -0
- package/dist/tools/generated/contributions.js.map +1 -0
- package/dist/tools/generated/export.d.ts +3 -0
- package/dist/tools/generated/export.d.ts.map +1 -0
- package/dist/tools/generated/export.js +18 -0
- package/dist/tools/generated/export.js.map +1 -0
- package/dist/tools/generated/facets.d.ts +3 -0
- package/dist/tools/generated/facets.d.ts.map +1 -0
- package/dist/tools/generated/facets.js +48 -0
- package/dist/tools/generated/facets.js.map +1 -0
- package/dist/tools/generated/health.d.ts +3 -0
- package/dist/tools/generated/health.d.ts.map +1 -0
- package/dist/tools/generated/health.js +36 -0
- package/dist/tools/generated/health.js.map +1 -0
- package/dist/tools/generated/ide.d.ts +3 -0
- package/dist/tools/generated/ide.d.ts.map +1 -0
- package/dist/tools/generated/ide.js +30 -0
- package/dist/tools/generated/ide.js.map +1 -0
- package/dist/tools/generated/index.d.ts +3 -0
- package/dist/tools/generated/index.d.ts.map +1 -0
- package/dist/tools/generated/index.js +57 -0
- package/dist/tools/generated/index.js.map +1 -0
- package/dist/tools/generated/insights.d.ts +3 -0
- package/dist/tools/generated/insights.d.ts.map +1 -0
- package/dist/tools/generated/insights.js +73 -0
- package/dist/tools/generated/insights.js.map +1 -0
- package/dist/tools/generated/jobs.d.ts +3 -0
- package/dist/tools/generated/jobs.d.ts.map +1 -0
- package/dist/tools/generated/jobs.js +16 -0
- package/dist/tools/generated/jobs.js.map +1 -0
- package/dist/tools/generated/monitor.d.ts +3 -0
- package/dist/tools/generated/monitor.d.ts.map +1 -0
- package/dist/tools/generated/monitor.js +16 -0
- package/dist/tools/generated/monitor.js.map +1 -0
- package/dist/tools/generated/oauth.d.ts +3 -0
- package/dist/tools/generated/oauth.d.ts.map +1 -0
- package/dist/tools/generated/oauth.js +36 -0
- package/dist/tools/generated/oauth.js.map +1 -0
- package/dist/tools/generated/pairing.d.ts +3 -0
- package/dist/tools/generated/pairing.d.ts.map +1 -0
- package/dist/tools/generated/pairing.js +38 -0
- package/dist/tools/generated/pairing.js.map +1 -0
- package/dist/tools/generated/plans.d.ts +3 -0
- package/dist/tools/generated/plans.d.ts.map +1 -0
- package/dist/tools/generated/plans.js +18 -0
- package/dist/tools/generated/plans.js.map +1 -0
- package/dist/tools/generated/plugins.d.ts +3 -0
- package/dist/tools/generated/plugins.d.ts.map +1 -0
- package/dist/tools/generated/plugins.js +73 -0
- package/dist/tools/generated/plugins.js.map +1 -0
- package/dist/tools/generated/processes.d.ts +3 -0
- package/dist/tools/generated/processes.d.ts.map +1 -0
- package/dist/tools/generated/processes.js +32 -0
- package/dist/tools/generated/processes.js.map +1 -0
- package/dist/tools/generated/projects.d.ts +3 -0
- package/dist/tools/generated/projects.d.ts.map +1 -0
- package/dist/tools/generated/projects.js +45 -0
- package/dist/tools/generated/projects.js.map +1 -0
- package/dist/tools/generated/prompts.d.ts +3 -0
- package/dist/tools/generated/prompts.d.ts.map +1 -0
- package/dist/tools/generated/prompts.js +48 -0
- package/dist/tools/generated/prompts.js.map +1 -0
- package/dist/tools/generated/reports.d.ts +3 -0
- package/dist/tools/generated/reports.d.ts.map +1 -0
- package/dist/tools/generated/reports.js +53 -0
- package/dist/tools/generated/reports.js.map +1 -0
- package/dist/tools/generated/settings.d.ts +3 -0
- package/dist/tools/generated/settings.d.ts.map +1 -0
- package/dist/tools/generated/settings.js +41 -0
- package/dist/tools/generated/settings.js.map +1 -0
- package/dist/tools/generated/share.d.ts +3 -0
- package/dist/tools/generated/share.d.ts.map +1 -0
- package/dist/tools/generated/share.js +40 -0
- package/dist/tools/generated/share.js.map +1 -0
- package/dist/tools/generated/sync.d.ts +3 -0
- package/dist/tools/generated/sync.d.ts.map +1 -0
- package/dist/tools/generated/sync.js +36 -0
- package/dist/tools/generated/sync.js.map +1 -0
- package/dist/tools/generated/system.d.ts +3 -0
- package/dist/tools/generated/system.d.ts.map +1 -0
- package/dist/tools/generated/system.js +68 -0
- package/dist/tools/generated/system.js.map +1 -0
- package/dist/tools/generated/teams.d.ts +3 -0
- package/dist/tools/generated/teams.d.ts.map +1 -0
- package/dist/tools/generated/teams.js +40 -0
- package/dist/tools/generated/teams.js.map +1 -0
- package/dist/tools/generated/telemetry.d.ts +3 -0
- package/dist/tools/generated/telemetry.d.ts.map +1 -0
- package/dist/tools/generated/telemetry.js +18 -0
- package/dist/tools/generated/telemetry.js.map +1 -0
- package/dist/tools/generated/turns.d.ts +3 -0
- package/dist/tools/generated/turns.d.ts.map +1 -0
- package/dist/tools/generated/turns.js +18 -0
- package/dist/tools/generated/turns.js.map +1 -0
- package/dist/tools/generated/workflows.d.ts +3 -0
- package/dist/tools/generated/workflows.d.ts.map +1 -0
- package/dist/tools/generated/workflows.js +64 -0
- package/dist/tools/generated/workflows.js.map +1 -0
- package/dist/tools/live.d.ts +1 -10
- package/dist/tools/live.d.ts.map +1 -1
- package/dist/tools/live.js.map +1 -1
- package/dist/tools/sessions.d.ts +1 -10
- package/dist/tools/sessions.d.ts.map +1 -1
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/stats.d.ts +1 -10
- package/dist/tools/stats.d.ts.map +1 -1
- package/dist/tools/stats.js.map +1 -1
- package/dist/tools/types.d.ts +10 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/package.json +19 -7
- package/skills/coaching/SKILL.md +176 -0
- package/skills/coaching/SKILL.md.tmpl +52 -0
- package/skills/daily-cost/SKILL.md +132 -0
- package/skills/daily-cost/SKILL.md.tmpl +45 -0
- package/skills/export-data/SKILL.md +169 -0
- package/skills/export-data/SKILL.md.tmpl +45 -0
- package/skills/insights/SKILL.md +174 -0
- package/skills/insights/SKILL.md.tmpl +50 -0
- package/skills/project-overview/SKILL.md +181 -0
- package/skills/project-overview/SKILL.md.tmpl +57 -0
- package/skills/search/SKILL.md +167 -0
- package/skills/search/SKILL.md.tmpl +43 -0
- package/skills/session-recap/SKILL.md +131 -0
- package/skills/session-recap/SKILL.md.tmpl +42 -0
- package/skills/standup/SKILL.md +132 -0
- package/skills/standup/SKILL.md.tmpl +48 -0
- package/skills/team-status/SKILL.md +173 -0
- package/skills/team-status/SKILL.md.tmpl +49 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-view",
|
|
3
|
-
"description": "Mission Control for Claude Code — auto-starts a web dashboard, provides
|
|
4
|
-
"version": "0.
|
|
3
|
+
"description": "Mission Control for Claude Code — auto-starts a web dashboard, provides 90 MCP tools (sessions, stats, live monitoring, projects, teams, insights, coaching, and more), and adds 9 skills including /session-recap, /daily-cost, /standup, /coaching, /insights, and /team-status.",
|
|
4
|
+
"version": "0.28.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "tombelieber",
|
|
7
7
|
"email": "nicholasgee1997@gmail.com"
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<a href="https://github.com/tombelieber/claude-view/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
|
-
Mission Control plugin for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Auto-starts the [claude-view](https://claudeview.ai) web dashboard, provides
|
|
9
|
+
Mission Control plugin for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Auto-starts the [claude-view](https://claudeview.ai) web dashboard, provides 86 MCP tools across 30 categories, and adds 9 skills for common workflows.
|
|
10
10
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
@@ -34,24 +34,75 @@ Every time you start a Claude Code session, the plugin checks if the claude-view
|
|
|
34
34
|
is running. If not, it starts it in the background. Web dashboard appears at
|
|
35
35
|
`http://localhost:47892`.
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
## Tools (86)
|
|
38
|
+
|
|
39
|
+
### Hand-written (curated output) — 8 tools
|
|
40
|
+
|
|
41
|
+
These tools have hand-crafted response shaping for optimal Claude consumption.
|
|
42
|
+
|
|
43
|
+
| Tool | Description |
|
|
44
|
+
|------|-------------|
|
|
45
|
+
| `list_sessions` | List/filter/paginate sessions with summaries |
|
|
46
|
+
| `get_session` | Full session detail + commits + derived metrics |
|
|
47
|
+
| `search_sessions` | Full-text search across all sessions |
|
|
43
48
|
| `get_stats` | Dashboard overview: projects, skills, trends |
|
|
44
|
-
| `get_fluency_score` | AI Fluency Score (0-100) |
|
|
45
|
-
| `get_token_stats` | Token usage breakdown |
|
|
46
|
-
| `list_live_sessions` | Currently running sessions |
|
|
47
|
-
| `get_live_summary` | Aggregate: cost today, attention count |
|
|
49
|
+
| `get_fluency_score` | AI Fluency Score (0-100 composite) |
|
|
50
|
+
| `get_token_stats` | Token usage breakdown (input/output/cache) |
|
|
51
|
+
| `list_live_sessions` | Currently running sessions with real-time state |
|
|
52
|
+
| `get_live_summary` | Aggregate: cost today, attention count, tokens |
|
|
53
|
+
|
|
54
|
+
### Auto-generated (JSON passthrough) — 78 tools
|
|
55
|
+
|
|
56
|
+
Generated from the OpenAPI spec. 78 tools across 27 categories.
|
|
57
|
+
|
|
58
|
+
<details>
|
|
59
|
+
<summary>Show all generated tools</summary>
|
|
60
|
+
|
|
61
|
+
| Tag | Tools | Example |
|
|
62
|
+
|-----|-------|---------|
|
|
63
|
+
| classify | 4 | `classify_start_classification` |
|
|
64
|
+
| coaching | 3 | `coaching_list_rules` |
|
|
65
|
+
| contributions | 3 | `contributions_get_contributions` |
|
|
66
|
+
| export | 1 | `export_sessions` |
|
|
67
|
+
| facets | 4 | `facets_facet_badges` |
|
|
68
|
+
| health | 3 | `health_config` |
|
|
69
|
+
| ide | 2 | `ide_get_detect` |
|
|
70
|
+
| insights | 5 | `insights_get_insights` |
|
|
71
|
+
| jobs | 1 | `jobs_list_jobs` |
|
|
72
|
+
| models | 1 | `models_list_models` |
|
|
73
|
+
| monitor | 1 | `monitor_snapshot` |
|
|
74
|
+
| oauth | 3 | `oauth_get_auth_identity` |
|
|
75
|
+
| pairing | 3 | `pairing_list_devices` |
|
|
76
|
+
| plans | 1 | `plans_get_session_plans` |
|
|
77
|
+
| plugins | 6 | `plugins_list_plugins` |
|
|
78
|
+
| processes | 2 | `processes_cleanup_processes` |
|
|
79
|
+
| projects | 3 | `projects_list_projects` |
|
|
80
|
+
| prompts | 3 | `prompts_list_prompts` |
|
|
81
|
+
| reports | 4 | `reports_list_reports` |
|
|
82
|
+
| settings | 3 | `settings_get_settings` |
|
|
83
|
+
| share | 3 | `share_create_share` |
|
|
84
|
+
| sync | 3 | `sync_indexing_status` |
|
|
85
|
+
| system | 6 | `system_check_path` |
|
|
86
|
+
| teams | 3 | `teams_list_teams` |
|
|
87
|
+
| telemetry | 1 | `telemetry_set_consent` |
|
|
88
|
+
| turns | 1 | `turns_get_session_turns` |
|
|
89
|
+
| workflows | 5 | `workflows_list_workflows` |
|
|
90
|
+
|
|
91
|
+
</details>
|
|
92
|
+
|
|
93
|
+
### 9 Skills
|
|
48
94
|
|
|
49
|
-
### 3 Skills
|
|
50
95
|
| Skill | Trigger |
|
|
51
96
|
|-------|---------|
|
|
52
|
-
| `/session-recap` | "recap my last session", "
|
|
97
|
+
| `/session-recap` | "recap my last session", "session summary" |
|
|
53
98
|
| `/daily-cost` | "how much did I spend today", "cost report" |
|
|
54
|
-
| `/standup` | "standup update", "what did I work on" |
|
|
99
|
+
| `/standup` | "standup update", "what did I work on today" |
|
|
100
|
+
| `/coaching` | "how can I improve", "coaching tips", "add a coaching rule" |
|
|
101
|
+
| `/insights` | "what patterns do you see", "behavioral analysis" |
|
|
102
|
+
| `/project-overview` | "show me project X", "project summary" |
|
|
103
|
+
| `/search` | "find where I discussed X", "search for Y" |
|
|
104
|
+
| `/export-data` | "export my sessions", "download data", "export to CSV" |
|
|
105
|
+
| `/team-status` | "team status", "what's the team doing", "who's active" |
|
|
55
106
|
|
|
56
107
|
## Configuration
|
|
57
108
|
|
package/dist/client.d.ts
CHANGED
|
@@ -2,5 +2,10 @@ export declare class ClaudeViewClient {
|
|
|
2
2
|
readonly baseUrl: string;
|
|
3
3
|
constructor(port?: number);
|
|
4
4
|
get<T = unknown>(path: string, params?: Record<string, string | number | undefined>): Promise<T>;
|
|
5
|
+
request<T = unknown>(method: string, path: string, options?: {
|
|
6
|
+
params?: Record<string, string | number | undefined>;
|
|
7
|
+
body?: unknown;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
}): Promise<T>;
|
|
5
10
|
}
|
|
6
11
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,IAAI,CAAC,EAAE,MAAM;IAKnB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,IAAI,CAAC,EAAE,MAAM;IAKnB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC;IA8BP,OAAO,CAAC,CAAC,GAAG,OAAO,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;QACpD,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GACA,OAAO,CAAC,CAAC,CAAC;CAkCd"}
|
package/dist/client.js
CHANGED
|
@@ -29,5 +29,35 @@ export class ClaudeViewClient {
|
|
|
29
29
|
}
|
|
30
30
|
return response.json();
|
|
31
31
|
}
|
|
32
|
+
async request(method, path, options) {
|
|
33
|
+
const url = new URL(path, this.baseUrl);
|
|
34
|
+
if (options?.params) {
|
|
35
|
+
for (const [key, value] of Object.entries(options.params)) {
|
|
36
|
+
if (value !== undefined) {
|
|
37
|
+
url.searchParams.set(key, String(value));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
let response;
|
|
42
|
+
try {
|
|
43
|
+
const fetchOpts = {
|
|
44
|
+
method,
|
|
45
|
+
headers: { Accept: 'application/json', 'Content-Type': 'application/json' },
|
|
46
|
+
signal: AbortSignal.timeout(options?.timeout ?? 10_000),
|
|
47
|
+
};
|
|
48
|
+
if (options?.body !== undefined) {
|
|
49
|
+
fetchOpts.body = JSON.stringify(options.body);
|
|
50
|
+
}
|
|
51
|
+
response = await fetch(url.toString(), fetchOpts);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
throw new Error(`claude-view server not detected at ${this.baseUrl}. Start it with: npx claude-view`);
|
|
55
|
+
}
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
const body = await response.text().catch(() => '');
|
|
58
|
+
throw new Error(`claude-view API error ${response.status}: ${body}`);
|
|
59
|
+
}
|
|
60
|
+
return response.json();
|
|
61
|
+
}
|
|
32
62
|
}
|
|
33
63
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAClB,OAAO,CAAQ;IAExB,YAAY,IAAa;QACvB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAA;QAC5E,IAAI,CAAC,OAAO,GAAG,oBAAoB,YAAY,EAAE,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,MAAoD;QAEpD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAkB,CAAA;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACrC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,OAAO,kCAAkC,CACrF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;IACtC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAClB,OAAO,CAAQ;IAExB,YAAY,IAAa;QACvB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAA;QAC5E,IAAI,CAAC,OAAO,GAAG,oBAAoB,YAAY,EAAE,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,MAAoD;QAEpD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAkB,CAAA;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACrC,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,OAAO,kCAAkC,CACrF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,OAIC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAkB,CAAA;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,GAAgB;gBAC7B,MAAM;gBACN,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC3E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC;aACxD,CAAA;YACD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/C,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAA;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,CAAC,OAAO,kCAAkC,CACrF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;IACtC,CAAC;CACF"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAenE,eAAO,MAAM,UAAU,QAAmB,CAAA;AAE1C,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,aA+BzC"}
|
package/dist/server.js
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
1
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
3
|
import { ClaudeViewClient } from './client.js';
|
|
4
|
+
import { allGeneratedTools } from './tools/generated/index.js';
|
|
3
5
|
import { liveTools } from './tools/live.js';
|
|
4
6
|
import { sessionTools } from './tools/sessions.js';
|
|
5
7
|
import { statsTools } from './tools/stats.js';
|
|
6
|
-
const
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
const { version } = require('../package.json');
|
|
10
|
+
// Hand-written tools take precedence — dedup by name
|
|
11
|
+
const HAND_WRITTEN = [...sessionTools, ...statsTools, ...liveTools];
|
|
12
|
+
const handWrittenNames = new Set(HAND_WRITTEN.map(t => t.name));
|
|
13
|
+
const dedupedGenerated = allGeneratedTools.filter(t => !handWrittenNames.has(t.name));
|
|
14
|
+
const ALL_TOOLS = [...HAND_WRITTEN, ...dedupedGenerated];
|
|
7
15
|
export const TOOL_COUNT = ALL_TOOLS.length;
|
|
8
16
|
export function createServer(port) {
|
|
9
17
|
const client = new ClaudeViewClient(port);
|
|
10
18
|
const server = new McpServer({
|
|
11
19
|
name: 'claude-view',
|
|
12
|
-
version
|
|
20
|
+
version,
|
|
13
21
|
});
|
|
14
22
|
for (const tool of ALL_TOOLS) {
|
|
15
23
|
server.registerTool(tool.name, {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAA;AAErE,qDAAqD;AACrD,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAA;AACnE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACrF,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAA;AAE1C,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAEzC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,OAAO;KACR,CAAC,CAAA;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,YAAY,CACjB,IAAI,CAAC,IAAI,EACT;YACE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,EACD,KAAK,EAAE,IAAS,EAAE,EAAE;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;YAC/D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;oBACnE,OAAO,EAAE,IAAI;iBACd,CAAA;YACH,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/classify.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,sBAAsB,EAAE,OAAO,EA2C3C,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const classifyGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'classify_start_classification',
|
|
7
|
+
description: 'Trigger a classification job.',
|
|
8
|
+
inputSchema: z.object({}),
|
|
9
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
10
|
+
handler: async (client, args) => {
|
|
11
|
+
const result = await client.request('POST', '/api/classify');
|
|
12
|
+
return JSON.stringify(result, null, 2);
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'classify_cancel_classification',
|
|
17
|
+
description: 'Cancel a running classification job.',
|
|
18
|
+
inputSchema: z.object({}),
|
|
19
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
20
|
+
handler: async (client, args) => {
|
|
21
|
+
const result = await client.request('POST', '/api/classify/cancel');
|
|
22
|
+
return JSON.stringify(result, null, 2);
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'classify_single_session',
|
|
27
|
+
description: 'Classify a single session synchronously.',
|
|
28
|
+
inputSchema: z.object({
|
|
29
|
+
session_id: z.string(),
|
|
30
|
+
}),
|
|
31
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
32
|
+
handler: async (client, args) => {
|
|
33
|
+
const result = await client.request('POST', `/api/classify/single/${encodeURIComponent(String(args.session_id))}`);
|
|
34
|
+
return JSON.stringify(result, null, 2);
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'classify_get_classification_status',
|
|
39
|
+
description: 'Get classification status.',
|
|
40
|
+
inputSchema: z.object({}),
|
|
41
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
42
|
+
handler: async (client, args) => {
|
|
43
|
+
const result = await client.request('GET', '/api/classify/status');
|
|
44
|
+
return JSON.stringify(result, null, 2);
|
|
45
|
+
},
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
//# sourceMappingURL=classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/tools/generated/classify.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,CAAC,MAAM,sBAAsB,GAAc;IAC/C;QACE,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;YACnE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACvB,CAAC;QACA,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;YAClH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAA;YAClE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coaching.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/coaching.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,sBAAsB,EAAE,OAAO,EAwC3C,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const coachingGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'coaching_list_rules',
|
|
7
|
+
description: 'List all coaching rules from the rules directory.',
|
|
8
|
+
inputSchema: z.object({}),
|
|
9
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
10
|
+
handler: async (client, args) => {
|
|
11
|
+
const result = await client.request('GET', '/api/coaching/rules');
|
|
12
|
+
return JSON.stringify(result, null, 2);
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'coaching_apply_rule',
|
|
17
|
+
description: 'Create a new coaching rule file.',
|
|
18
|
+
inputSchema: z.object({
|
|
19
|
+
impactScore: z.number(),
|
|
20
|
+
patternId: z.string(),
|
|
21
|
+
recommendation: z.string(),
|
|
22
|
+
sampleSize: z.number(),
|
|
23
|
+
scope: z.string(),
|
|
24
|
+
title: z.string(),
|
|
25
|
+
}),
|
|
26
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
27
|
+
handler: async (client, args) => {
|
|
28
|
+
const result = await client.request('POST', '/api/coaching/rules', { body: { impactScore: args.impactScore, patternId: args.patternId, recommendation: args.recommendation, sampleSize: args.sampleSize, scope: args.scope, title: args.title } });
|
|
29
|
+
return JSON.stringify(result, null, 2);
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'coaching_remove_rule',
|
|
34
|
+
description: 'Remove a coaching rule file.',
|
|
35
|
+
inputSchema: z.object({
|
|
36
|
+
id: z.string(),
|
|
37
|
+
}),
|
|
38
|
+
annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: false },
|
|
39
|
+
handler: async (client, args) => {
|
|
40
|
+
const result = await client.request('DELETE', `/api/coaching/rules/${encodeURIComponent(String(args.id))}`);
|
|
41
|
+
return JSON.stringify(result, null, 2);
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
//# sourceMappingURL=coaching.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coaching.js","sourceRoot":"","sources":["../../../src/tools/generated/coaching.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,CAAC,MAAM,sBAAsB,GAAc;IAC/C;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;YACjE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;YAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC;QACA,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAClP,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,CAAC;QACA,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,uBAAuB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YAC3G,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/contributions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,2BAA2B,EAAE,OAAO,EAmDhD,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const contributionsGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'contributions_get_contributions',
|
|
7
|
+
description: 'Main contributions page data.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
range: z.string().optional(),
|
|
10
|
+
from: z.string().optional(),
|
|
11
|
+
to: z.string().optional(),
|
|
12
|
+
projectId: z.string().optional(),
|
|
13
|
+
branch: z.string().optional(),
|
|
14
|
+
}),
|
|
15
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
16
|
+
handler: async (client, args) => {
|
|
17
|
+
const result = await client.request('GET', '/api/contributions', { params: { range: args.range, from: args.from, to: args.to, projectId: args.projectId, branch: args.branch } });
|
|
18
|
+
return JSON.stringify(result, null, 2);
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'contributions_get_branch_sessions',
|
|
23
|
+
description: 'Sessions for a branch.',
|
|
24
|
+
inputSchema: z.object({
|
|
25
|
+
name: z.string(),
|
|
26
|
+
range: z.string().optional(),
|
|
27
|
+
from: z.string().optional(),
|
|
28
|
+
to: z.string().optional(),
|
|
29
|
+
projectId: z.string().optional(),
|
|
30
|
+
limit: z.number().optional(),
|
|
31
|
+
}),
|
|
32
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
33
|
+
handler: async (client, args) => {
|
|
34
|
+
const result = await client.request('GET', `/api/contributions/branches/${encodeURIComponent(String(args.name))}/sessions`, { params: { range: args.range, from: args.from, to: args.to, projectId: args.projectId, limit: args.limit } });
|
|
35
|
+
return JSON.stringify(result, null, 2);
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'contributions_get_session_contribution',
|
|
40
|
+
description: 'Session contribution detail.',
|
|
41
|
+
inputSchema: z.object({
|
|
42
|
+
id: z.string(),
|
|
43
|
+
range: z.string(),
|
|
44
|
+
from: z.string(),
|
|
45
|
+
to: z.string(),
|
|
46
|
+
projectId: z.string(),
|
|
47
|
+
branch: z.string(),
|
|
48
|
+
}),
|
|
49
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
50
|
+
handler: async (client, args) => {
|
|
51
|
+
const result = await client.request('GET', `/api/contributions/sessions/${encodeURIComponent(String(args.id))}`);
|
|
52
|
+
return JSON.stringify(result, null, 2);
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
//# sourceMappingURL=contributions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contributions.js","sourceRoot":"","sources":["../../../src/tools/generated/contributions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/export.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,EAAE,OAAO,EAazC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const exportGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'export_sessions',
|
|
7
|
+
description: 'Export all sessions.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
format: z.string().optional(),
|
|
10
|
+
}),
|
|
11
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
12
|
+
handler: async (client, args) => {
|
|
13
|
+
const result = await client.request('GET', '/api/export/sessions', { params: { format: args.format } });
|
|
14
|
+
return JSON.stringify(result, null, 2);
|
|
15
|
+
},
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/generated/export.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACA,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACvG,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/facets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,EAAE,OAAO,EA2CzC,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const facetsGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'facets_facet_badges',
|
|
7
|
+
description: 'Quality badges (outcome + satisfaction) for the requested session IDs. Returns a JSON map keyed by session ID.',
|
|
8
|
+
inputSchema: z.object({
|
|
9
|
+
ids: z.string().optional(),
|
|
10
|
+
}),
|
|
11
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
12
|
+
handler: async (client, args) => {
|
|
13
|
+
const result = await client.request('GET', '/api/facets/badges', { params: { ids: args.ids } });
|
|
14
|
+
return JSON.stringify(result, null, 2);
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'facets_trigger_facet_ingest',
|
|
19
|
+
description: 'Start facet ingest from the Claude Code insights cache. Returns immediately with `{"status": "started"}` or `{"status": "already_running"}` if an ingest is already in progress.',
|
|
20
|
+
inputSchema: z.object({}),
|
|
21
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
22
|
+
handler: async (client, args) => {
|
|
23
|
+
const result = await client.request('POST', '/api/facets/ingest/trigger');
|
|
24
|
+
return JSON.stringify(result, null, 2);
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'facets_pattern_alert',
|
|
29
|
+
description: 'Check the most recent sessions for a negative satisfaction pattern. Returns `{pattern, count, tip}` if a pattern is detected, or `{pattern: null}` otherwise.',
|
|
30
|
+
inputSchema: z.object({}),
|
|
31
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
32
|
+
handler: async (client, args) => {
|
|
33
|
+
const result = await client.request('GET', '/api/facets/pattern-alert');
|
|
34
|
+
return JSON.stringify(result, null, 2);
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'facets_facet_stats',
|
|
39
|
+
description: 'Aggregate statistics across all session facets.',
|
|
40
|
+
inputSchema: z.object({}),
|
|
41
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
42
|
+
handler: async (client, args) => {
|
|
43
|
+
const result = await client.request('GET', '/api/facets/stats');
|
|
44
|
+
return JSON.stringify(result, null, 2);
|
|
45
|
+
},
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
//# sourceMappingURL=facets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facets.js","sourceRoot":"","sources":["../../../src/tools/generated/facets.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,gHAAgH;QAC7H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC;QACA,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC/F,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,kLAAkL;QAC/L,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;YACzE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,+JAA+J;QAC5K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAA;YACvE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,iDAAiD;QAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;YAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/health.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,EAAE,OAAO,EA+BzC,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const healthGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'health_config',
|
|
7
|
+
description: 'Config (GET /api/config)',
|
|
8
|
+
inputSchema: z.object({}),
|
|
9
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
10
|
+
handler: async (client, args) => {
|
|
11
|
+
const result = await client.request('GET', '/api/config');
|
|
12
|
+
return JSON.stringify(result, null, 2);
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'health_check',
|
|
17
|
+
description: 'Health check endpoint.',
|
|
18
|
+
inputSchema: z.object({}),
|
|
19
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
20
|
+
handler: async (client, args) => {
|
|
21
|
+
const result = await client.request('GET', '/api/health');
|
|
22
|
+
return JSON.stringify(result, null, 2);
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'health_get_status',
|
|
27
|
+
description: 'Get index metadata and data freshness info.',
|
|
28
|
+
inputSchema: z.object({}),
|
|
29
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
30
|
+
handler: async (client, args) => {
|
|
31
|
+
const result = await client.request('GET', '/api/status');
|
|
32
|
+
return JSON.stringify(result, null, 2);
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/tools/generated/health.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/ide.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,iBAAiB,EAAE,OAAO,EAyBtC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// AUTO-GENERATED — DO NOT EDIT
|
|
2
|
+
// Generated from openapi.json by scripts/codegen-from-openapi.ts
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export const ideGeneratedTools = [
|
|
5
|
+
{
|
|
6
|
+
name: 'ide_get_detect',
|
|
7
|
+
description: '`GET /api/ide/detect` — return cached list of installed IDEs.',
|
|
8
|
+
inputSchema: z.object({}),
|
|
9
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
10
|
+
handler: async (client, args) => {
|
|
11
|
+
const result = await client.request('GET', '/api/ide/detect');
|
|
12
|
+
return JSON.stringify(result, null, 2);
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'ide_post_open',
|
|
17
|
+
description: '`POST /api/ide/open` — open a file in the requested IDE.',
|
|
18
|
+
inputSchema: z.object({
|
|
19
|
+
filePath: z.string().describe('Relative path to the file within the project (optional).').optional(),
|
|
20
|
+
ide: z.string().describe('The IDE id to open (must match an id from the detect response).'),
|
|
21
|
+
projectPath: z.string().describe('Absolute path to the project directory.'),
|
|
22
|
+
}),
|
|
23
|
+
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
24
|
+
handler: async (client, args) => {
|
|
25
|
+
const result = await client.request('POST', '/api/ide/open', { body: { filePath: args.filePath, ide: args.ide, projectPath: args.projectPath } });
|
|
26
|
+
return JSON.stringify(result, null, 2);
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=ide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide.js","sourceRoot":"","sources":["../../../src/tools/generated/ide.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,CAAC,MAAM,iBAAiB,GAAc;IAC1C;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;YAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CAAC,QAAQ,EAAE;YACpG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;YAC3F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SAC5E,CAAC;QACA,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACjJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/generated/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AA4B1C,eAAO,MAAM,iBAAiB,EAAE,OAAO,EA2BtC,CAAA"}
|