mirror of
https://github.com/sveltejs/ai-tools.git
synced 2026-07-04 03:19:38 +08:00
Compare commits
12 Commits
teemingc-p
...
update-tmc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ad6bdf664 | ||
|
|
b3027fd815 | ||
|
|
849bf2ad49 | ||
|
|
314538c8e7 | ||
|
|
a9994310c0 | ||
|
|
9fb1a403b7 | ||
|
|
3c7b5033a4 | ||
|
|
b911a00bb7 | ||
|
|
f6ce89ff34 | ||
|
|
846514858e | ||
|
|
b69ea052bd | ||
|
|
e56159dda6 |
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@sveltejs/mcp': patch
|
||||
---
|
||||
|
||||
fix: add `preferred-frame-size` to UI resource
|
||||
@@ -2,4 +2,4 @@
|
||||
'@sveltejs/mcp': patch
|
||||
---
|
||||
|
||||
fix: add icons to `server.json`
|
||||
chore: update tmcp
|
||||
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
open_collective: svelte
|
||||
4
.github/workflows/check.yml
vendored
4
.github/workflows/check.yml
vendored
@@ -18,12 +18,12 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.19.0
|
||||
version: 10.20.0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22'
|
||||
node-version: '24'
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
4
.github/workflows/lint.yml
vendored
4
.github/workflows/lint.yml
vendored
@@ -18,12 +18,12 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.19.0
|
||||
version: 10.20.0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22'
|
||||
node-version: '24'
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@@ -18,12 +18,12 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.19.0
|
||||
version: 10.20.0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22'
|
||||
node-version: '24'
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
@@ -11,4 +11,5 @@ bun.lockb
|
||||
/**/.svelte-kit/*
|
||||
|
||||
# Claude Code
|
||||
.claude/
|
||||
.claude/
|
||||
.changeset/
|
||||
@@ -64,7 +64,8 @@
|
||||
"dependencies": {
|
||||
"@sveltejs/mcp-schema": "workspace:^",
|
||||
"@sveltejs/mcp-server": "workspace:^",
|
||||
"@tmcp/transport-http": "^0.7.1",
|
||||
"tmcp": "^1.15.3"
|
||||
"@tmcp/transport-http": "catalog:mcp",
|
||||
"@vercel/analytics": "^1.5.0",
|
||||
"tmcp": "catalog:mcp"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { dev } from '$app/environment';
|
||||
import { http_transport } from '$lib/mcp/index.js';
|
||||
import { db } from '$lib/server/db/index.js';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { track } from '@vercel/analytics/server';
|
||||
|
||||
export async function handle({ event, resolve }) {
|
||||
if (event.request.method === 'POST') {
|
||||
@@ -19,6 +21,12 @@ export async function handle({ event, resolve }) {
|
||||
}
|
||||
const mcp_response = await http_transport.respond(event.request, {
|
||||
db,
|
||||
// only add analytics in production
|
||||
track: dev
|
||||
? undefined
|
||||
: async (session_id, event, slug) => {
|
||||
await track(event, { session_id, ...(slug ? { slug } : {}) });
|
||||
},
|
||||
});
|
||||
// we are deploying on vercel the SSE connection will timeout after 5 minutes...for
|
||||
// the moment we are not sending back any notifications (logs, or list changed notifications)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import { createClient } from '@libsql/client';
|
||||
import { drizzle } from 'drizzle-orm/libsql';
|
||||
import * as schema from './schema.js';
|
||||
// let's disable it for the moment...i can't figure out a way to make it wotk with eslint
|
||||
// eslint-disable-next-line import/extensions
|
||||
import { DATABASE_TOKEN, DATABASE_URL } from '$env/static/private';
|
||||
if (!DATABASE_URL) throw new Error('DATABASE_URL is not set');
|
||||
if (!DATABASE_TOKEN) throw new Error('DATABASE_TOKEN is not set');
|
||||
|
||||
@@ -25,6 +25,7 @@ You are a Svelte expert tasked to build components and utilities for Svelte deve
|
||||
- title: drizzle, use_cases: database setup, sql queries, orm integration, data modeling, postgresql, mysql, sqlite, server-side data access, database migrations, type-safe queries, path: cli/drizzle
|
||||
- title: eslint, use_cases: code quality, linting, error detection, project setup, code standards, team collaboration, typescript projects, path: cli/eslint
|
||||
- title: lucia, use_cases: authentication, login systems, user management, registration pages, session handling, auth setup, path: cli/lucia
|
||||
- title: mcp, use_cases: use title and path to estimate use case, path: cli/mcp
|
||||
- title: mdsvex, use_cases: blog, content sites, markdown rendering, documentation sites, technical writing, cms integration, article pages, path: cli/mdsvex
|
||||
- title: paraglide, use_cases: internationalization, multi-language sites, i18n, translation, localization, language switching, global apps, multilingual content, path: cli/paraglide
|
||||
- title: playwright, use_cases: browser testing, e2e testing, integration testing, test automation, quality assurance, ci/cd pipelines, testing user flows, path: cli/playwright
|
||||
|
||||
@@ -13,7 +13,7 @@ const gitignore_path = fileURLToPath(new URL('./.gitignore', import.meta.url));
|
||||
export default /** @type {import("eslint").Linter.Config} */ ([
|
||||
includeIgnoreFile(gitignore_path),
|
||||
{
|
||||
ignores: ['.claude/**/*'],
|
||||
ignores: ['.claude/**/*', '.changeset/*'],
|
||||
},
|
||||
js.configs.recommended,
|
||||
...ts.configs.recommended,
|
||||
@@ -48,13 +48,17 @@ export default /** @type {import("eslint").Linter.Config} */ ([
|
||||
'import/no-unresolved': 'off', // this doesn't work well with typescript path mapping
|
||||
'import/extensions': [
|
||||
'error',
|
||||
'ignorePackages',
|
||||
{
|
||||
js: 'always',
|
||||
mjs: 'always',
|
||||
cjs: 'always',
|
||||
ts: 'always',
|
||||
svelte: 'always',
|
||||
ignorePackages: true,
|
||||
pattern: {
|
||||
js: 'always',
|
||||
mjs: 'always',
|
||||
cjs: 'always',
|
||||
ts: 'always',
|
||||
svelte: 'always',
|
||||
svg: 'always',
|
||||
json: 'always',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"version": "0.0.1",
|
||||
"description": "The official Svelte MCP server implementation",
|
||||
"type": "module",
|
||||
"packageManager": "pnpm@10.19.0",
|
||||
"packageManager": "pnpm@10.20.0",
|
||||
"scripts": {
|
||||
"build": "pnpm -r run build",
|
||||
"dev": "pnpm --filter @sveltejs/mcp-remote run dev",
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
"dependencies": {
|
||||
"@mcp-ui/server": "^5.12.0",
|
||||
"@sveltejs/mcp-schema": "workspace:^",
|
||||
"@tmcp/adapter-valibot": "^0.1.4",
|
||||
"@tmcp/adapter-valibot": "catalog:mcp",
|
||||
"@typescript-eslint/parser": "^8.44.0",
|
||||
"eslint": "^9.36.0",
|
||||
"eslint-plugin-svelte": "^3.12.3",
|
||||
"eslint-plugin-svelte": "^3.12.5",
|
||||
"svelte": "^5.39.2",
|
||||
"svelte-eslint-parser": "^1.3.2",
|
||||
"tmcp": "^1.15.3",
|
||||
"svelte-eslint-parser": "^1.4.0",
|
||||
"tmcp": "catalog:mcp",
|
||||
"ts-blank-space": "^0.6.2",
|
||||
"typescript-eslint": "^8.44.0",
|
||||
"valibot": "^1.1.0",
|
||||
@@ -36,7 +36,7 @@
|
||||
"zimmerframe": "^1.1.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@anthropic-ai/sdk": "^0.67.0",
|
||||
"@anthropic-ai/sdk": "^0.68.0",
|
||||
"@sveltejs/kit": "^2.42.2",
|
||||
"@types/eslint-scope": "^8.3.2",
|
||||
"@types/estree": "^1.0.8",
|
||||
|
||||
@@ -11,6 +11,7 @@ export const base_runes = [
|
||||
export const nested_runes = [
|
||||
'$state.raw',
|
||||
'$state.snapshot',
|
||||
'$state.eager',
|
||||
'$effect.pre',
|
||||
'$effect.tracking',
|
||||
'$effect.pending',
|
||||
|
||||
@@ -8,6 +8,7 @@ export function add_autofixers_issues(
|
||||
code: string,
|
||||
desired_svelte_version: number,
|
||||
filename = 'Component.svelte',
|
||||
async = false,
|
||||
) {
|
||||
const parsed = parse(code, filename);
|
||||
|
||||
@@ -15,7 +16,7 @@ export function add_autofixers_issues(
|
||||
for (const autofixer of Object.values(autofixers)) {
|
||||
walk(
|
||||
parsed.ast as unknown as Node,
|
||||
{ output: content, parsed, desired_svelte_version },
|
||||
{ output: content, parsed, desired_svelte_version, async },
|
||||
autofixer,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ export function add_compile_issues(
|
||||
code: string,
|
||||
desired_svelte_version: number,
|
||||
filename = 'Component.svelte',
|
||||
async = false,
|
||||
) {
|
||||
let compile = compile_component;
|
||||
const extension = extname(filename);
|
||||
@@ -27,6 +28,7 @@ export function add_compile_issues(
|
||||
filename: filename || 'Component.svelte',
|
||||
generate: false,
|
||||
runes: desired_svelte_version >= 5,
|
||||
experimental: { async },
|
||||
});
|
||||
|
||||
for (const warning of compilation_result.warnings) {
|
||||
|
||||
@@ -51,7 +51,7 @@ function base_config(svelte_config: Config): ESLint.Options['baseConfig'] {
|
||||
];
|
||||
}
|
||||
|
||||
function get_linter(version: number) {
|
||||
function get_linter(version: number, async = false) {
|
||||
if (version < 5) {
|
||||
return (svelte_4_linter ??= new ESLint({
|
||||
overrideConfigFile: true,
|
||||
@@ -67,6 +67,7 @@ function get_linter(version: number) {
|
||||
baseConfig: base_config({
|
||||
compilerOptions: {
|
||||
runes: true,
|
||||
experimental: { async },
|
||||
},
|
||||
}),
|
||||
}));
|
||||
@@ -77,8 +78,9 @@ export async function add_eslint_issues(
|
||||
code: string,
|
||||
desired_svelte_version: number,
|
||||
filename = 'Component.svelte',
|
||||
async = false,
|
||||
) {
|
||||
const eslint = get_linter(desired_svelte_version);
|
||||
const eslint = get_linter(desired_svelte_version, async);
|
||||
const results = await eslint.lintText(code, { filePath: filename || './Component.svelte' });
|
||||
|
||||
for (const message of results[0]?.messages ?? []) {
|
||||
|
||||
@@ -7,6 +7,7 @@ export type AutofixerState = {
|
||||
output: { issues: string[]; suggestions: string[] };
|
||||
parsed: ParseResult;
|
||||
desired_svelte_version: number;
|
||||
async?: boolean;
|
||||
};
|
||||
|
||||
export type Autofixer = Visitors<Node | AST.SvelteNode, AutofixerState>;
|
||||
|
||||
@@ -68,6 +68,9 @@ export function setup_svelte_task(server: SvelteMcp) {
|
||||
icons,
|
||||
},
|
||||
async ({ task }) => {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'svelte-task');
|
||||
}
|
||||
const available_docs = await format_sections_list();
|
||||
|
||||
return {
|
||||
|
||||
@@ -46,6 +46,13 @@ export async function list_sections(server: SvelteMcp) {
|
||||
icons,
|
||||
},
|
||||
async (uri, { slug }) => {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(
|
||||
server.ctx.sessionId,
|
||||
'svelte-doc-section',
|
||||
Array.isArray(slug) ? slug.join(',') : slug,
|
||||
);
|
||||
}
|
||||
const section = sections.find((section) => {
|
||||
return slug === section.slug;
|
||||
});
|
||||
|
||||
@@ -21,6 +21,9 @@ export function get_documentation(server: SvelteMcp) {
|
||||
icons,
|
||||
},
|
||||
async ({ section }) => {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'get-documentation');
|
||||
}
|
||||
let sections: string[];
|
||||
|
||||
if (Array.isArray(section)) {
|
||||
|
||||
@@ -12,6 +12,9 @@ export function list_sections(server: SvelteMcp) {
|
||||
icons,
|
||||
},
|
||||
async () => {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'list-sections');
|
||||
}
|
||||
const formatted_sections = await format_sections_list();
|
||||
|
||||
return {
|
||||
|
||||
@@ -59,6 +59,9 @@ export function playground_link(server: SvelteMcp) {
|
||||
icons,
|
||||
},
|
||||
async ({ files, name, tailwind }) => {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'playground-link');
|
||||
}
|
||||
const playground_base = new URL('https://svelte.dev/playground');
|
||||
const playground_files: File[] = [];
|
||||
|
||||
@@ -76,6 +79,9 @@ export function playground_link(server: SvelteMcp) {
|
||||
}
|
||||
|
||||
if (!has_app_svelte) {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'playground-link-no-app-svelte');
|
||||
}
|
||||
return {
|
||||
isError: true,
|
||||
content: [
|
||||
|
||||
@@ -8,7 +8,12 @@ function request<const T>(request: T) {
|
||||
return request;
|
||||
}
|
||||
|
||||
async function autofixer_tool_call(code: string, is_error = false, desired_svelte_version = 5) {
|
||||
async function autofixer_tool_call(
|
||||
code: string,
|
||||
is_error = false,
|
||||
desired_svelte_version = 5,
|
||||
async = false,
|
||||
) {
|
||||
const result = await server.receive({
|
||||
jsonrpc: '2.0',
|
||||
id: 2,
|
||||
@@ -19,6 +24,7 @@ async function autofixer_tool_call(code: string, is_error = false, desired_svelt
|
||||
code,
|
||||
desired_svelte_version,
|
||||
filename: 'App.svelte',
|
||||
async,
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -65,6 +71,61 @@ describe('svelte-autofixer tool', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should error out if async is true with a version less than 5', async () => {
|
||||
const content = await autofixer_tool_call(
|
||||
`<script>
|
||||
$state count = 0;
|
||||
</script>`,
|
||||
true,
|
||||
4,
|
||||
true,
|
||||
);
|
||||
expect(content.isError).toBeTruthy();
|
||||
expect(content.content[0]).toBeDefined();
|
||||
expect(content.content[0].text).toBe(
|
||||
'The async option can only be used with Svelte version 5 or higher.',
|
||||
);
|
||||
});
|
||||
|
||||
it('should not add suggestion/issues if async is true and await is used in the template/derived', async () => {
|
||||
const content = await autofixer_tool_call(
|
||||
`<script>
|
||||
import { slow_double } from './utils.js';
|
||||
let count = $state(0);
|
||||
let double = $derived(await slow_double(count));
|
||||
</script>
|
||||
|
||||
{double}
|
||||
{await slow_double(count)}`,
|
||||
false,
|
||||
5,
|
||||
true,
|
||||
);
|
||||
expect(content.issues).toHaveLength(0);
|
||||
expect(content.suggestions).toHaveLength(0);
|
||||
expect(content.require_another_tool_call_after_fixing).toBeFalsy();
|
||||
});
|
||||
|
||||
it('should add suggestion/issues if async is false and await is used in the template/derived', async () => {
|
||||
const content = await autofixer_tool_call(
|
||||
`<script>
|
||||
import { slow_double } from './utils.js';
|
||||
let count = $state(0);
|
||||
let double = $derived(await slow_double(count));
|
||||
</script>
|
||||
|
||||
{double}
|
||||
{await slow_double(count)}`,
|
||||
false,
|
||||
5,
|
||||
);
|
||||
expect(content.issues.length).toBeGreaterThanOrEqual(1);
|
||||
expect(content.issues).toEqual(
|
||||
expect.arrayContaining([expect.stringContaining('experimental_async')]),
|
||||
);
|
||||
expect(content.require_another_tool_call_after_fixing).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should add suggestions for css invalid identifier', async () => {
|
||||
const content = await autofixer_tool_call(`<script>
|
||||
let my_color = $state('red');
|
||||
|
||||
@@ -21,6 +21,12 @@ export function svelte_autofixer(server: SvelteMcp) {
|
||||
'The desired svelte version...if possible read this from the package.json of the user project, otherwise use some hint from the wording (if the user asks for runes it wants version 5). Default to 5 in case of doubt.',
|
||||
),
|
||||
),
|
||||
async: v.pipe(
|
||||
v.optional(v.boolean()),
|
||||
v.description(
|
||||
'If true the code is an async component/module and might use await in the markup or top-level awaits in the script tag. If possible check the svelte.config.js/svelte.config.ts to check if the option is enabled otherwise asks the user if they prefer using it or not. You can only use this option if the version is 5.',
|
||||
),
|
||||
),
|
||||
filename: v.pipe(
|
||||
v.optional(v.string()),
|
||||
v.description(
|
||||
@@ -45,13 +51,20 @@ export function svelte_autofixer(server: SvelteMcp) {
|
||||
code,
|
||||
filename: filename_or_path,
|
||||
desired_svelte_version: desired_svelte_version_unchecked,
|
||||
async,
|
||||
}) => {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'svelte-autofixer');
|
||||
}
|
||||
// we validate manually because some clients don't support union in the input schema (looking at you cursor)
|
||||
const parsed_version = v.safeParse(
|
||||
v.union([v.literal(4), v.literal(5), v.literal('4'), v.literal('5')]),
|
||||
desired_svelte_version_unchecked,
|
||||
);
|
||||
if (parsed_version.success === false) {
|
||||
if (server.ctx.sessionId && server.ctx.custom?.track) {
|
||||
await server.ctx.custom?.track?.(server.ctx.sessionId, 'svelte-autofixer-wrong-version');
|
||||
}
|
||||
return {
|
||||
isError: true,
|
||||
content: [
|
||||
@@ -65,6 +78,18 @@ export function svelte_autofixer(server: SvelteMcp) {
|
||||
|
||||
const desired_svelte_version = parsed_version.output;
|
||||
|
||||
if (async && +desired_svelte_version < 5) {
|
||||
return {
|
||||
isError: true,
|
||||
content: [
|
||||
{
|
||||
type: 'text',
|
||||
text: `The async option can only be used with Svelte version 5 or higher.`,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const content: {
|
||||
issues: string[];
|
||||
suggestions: string[];
|
||||
@@ -76,11 +101,11 @@ export function svelte_autofixer(server: SvelteMcp) {
|
||||
|
||||
const filename = filename_or_path ? basename(filename_or_path) : 'Component.svelte';
|
||||
|
||||
add_compile_issues(content, code, +desired_svelte_version, filename);
|
||||
add_compile_issues(content, code, +desired_svelte_version, filename, async);
|
||||
|
||||
add_autofixers_issues(content, code, +desired_svelte_version, filename);
|
||||
add_autofixers_issues(content, code, +desired_svelte_version, filename, async);
|
||||
|
||||
await add_eslint_issues(content, code, +desired_svelte_version, filename);
|
||||
await add_eslint_issues(content, code, +desired_svelte_version, filename, async);
|
||||
} catch (e: unknown) {
|
||||
const error = e as Error & { start?: { line: number; column: number } };
|
||||
content.issues.push(
|
||||
|
||||
@@ -24,7 +24,10 @@ export const server = new McpServer(
|
||||
instructions:
|
||||
'This is the official Svelte MCP server. It MUST be used whenever svelte development is involved. It can provide official documentation, code examples and correct your code. After you correct the component call this tool again to confirm all the issues are fixed.',
|
||||
},
|
||||
).withContext<{ db: LibSQLDatabase<Schema> }>();
|
||||
).withContext<{
|
||||
db: LibSQLDatabase<Schema>;
|
||||
track?: (sessionId: string, event: string, slug?: string) => Promise<void>;
|
||||
}>();
|
||||
|
||||
export type SvelteMcp = typeof server;
|
||||
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# @sveltejs/mcp
|
||||
|
||||
## 0.1.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- fix: add `async` parameter to `svelte-autofixer` ([#94](https://github.com/sveltejs/mcp/pull/94))
|
||||
|
||||
- fix: install latest eslint svelte packages to support `$state.eager` ([`f6ce89f`](https://github.com/sveltejs/mcp/commit/f6ce89ff34faabc3d746a350ea347298ecfed2ec))
|
||||
|
||||
## 0.1.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- fix: add icons to `server.json` ([`02c951b`](https://github.com/sveltejs/mcp/commit/02c951baa86ac8103ffc158a202c06cfe6b15c01))
|
||||
|
||||
- fix: add `preferred-frame-size` to UI resource ([`3fabcc0`](https://github.com/sveltejs/mcp/commit/3fabcc0f9bfee916c0deb9c2ffa931ed2168af2d))
|
||||
|
||||
- feat: support: `$state.eager` ([#90](https://github.com/sveltejs/mcp/pull/90))
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sveltejs/mcp",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.11",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"mcpName": "dev.svelte/mcp",
|
||||
@@ -32,7 +32,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/mcp-server": "workspace:^",
|
||||
"@tmcp/transport-stdio": "^0.3.1",
|
||||
"@tmcp/transport-stdio": "catalog:mcp",
|
||||
"@types/node": "^22.15.17",
|
||||
"publint": "^0.3.13",
|
||||
"tsdown": "^0.15.0",
|
||||
@@ -41,6 +41,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint": "^9.36.0",
|
||||
"tmcp": "^1.15.3"
|
||||
"tmcp": "catalog:mcp"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"subfolder": "packages/mcp-stdio",
|
||||
"source": "github"
|
||||
},
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.11",
|
||||
"websiteUrl": "https://svelte.dev/docs/mcp/overview",
|
||||
"icons": [
|
||||
{
|
||||
@@ -24,7 +24,7 @@
|
||||
{
|
||||
"registryType": "npm",
|
||||
"identifier": "@sveltejs/mcp",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.11",
|
||||
"runtimeHint": "npx",
|
||||
"transport": {
|
||||
"type": "stdio"
|
||||
|
||||
337
pnpm-lock.yaml
generated
337
pnpm-lock.yaml
generated
@@ -4,6 +4,21 @@ settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
catalogs:
|
||||
mcp:
|
||||
'@tmcp/adapter-valibot':
|
||||
specifier: ^0.1.4
|
||||
version: 0.1.4
|
||||
'@tmcp/transport-http':
|
||||
specifier: ^0.8.0
|
||||
version: 0.8.0
|
||||
'@tmcp/transport-stdio':
|
||||
specifier: ^0.4.0
|
||||
version: 0.4.0
|
||||
tmcp:
|
||||
specifier: ^1.16.0
|
||||
version: 1.16.0
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
@@ -31,7 +46,7 @@ importers:
|
||||
version: 10.1.8(eslint@9.36.0(jiti@2.6.0))
|
||||
eslint-plugin-import:
|
||||
specifier: ^2.32.0
|
||||
version: 2.32.0(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))
|
||||
version: 2.32.0(eslint@9.36.0(jiti@2.6.0))
|
||||
eslint-plugin-svelte:
|
||||
specifier: ^3.12.3
|
||||
version: 3.12.4(eslint@9.36.0(jiti@2.6.0))(svelte@5.39.6)(ts-node@10.9.2(@types/node@24.5.2)(typescript@5.9.2))
|
||||
@@ -69,11 +84,14 @@ importers:
|
||||
specifier: workspace:^
|
||||
version: link:../../packages/mcp-server
|
||||
'@tmcp/transport-http':
|
||||
specifier: ^0.7.1
|
||||
version: 0.7.1(tmcp@1.15.3(typescript@5.9.2))
|
||||
specifier: catalog:mcp
|
||||
version: 0.8.0(tmcp@1.16.0(typescript@5.9.2))
|
||||
'@vercel/analytics':
|
||||
specifier: ^1.5.0
|
||||
version: 1.5.0(@sveltejs/kit@2.43.5(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6)))(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6)))(react@18.3.1)(svelte@5.39.6)
|
||||
tmcp:
|
||||
specifier: ^1.15.3
|
||||
version: 1.15.3(typescript@5.9.2)
|
||||
specifier: catalog:mcp
|
||||
version: 1.16.0(typescript@5.9.2)
|
||||
devDependencies:
|
||||
'@eslint/compat':
|
||||
specifier: ^1.3.2
|
||||
@@ -160,8 +178,8 @@ importers:
|
||||
specifier: workspace:^
|
||||
version: link:../mcp-schema
|
||||
'@tmcp/adapter-valibot':
|
||||
specifier: ^0.1.4
|
||||
version: 0.1.4(tmcp@1.15.3(typescript@5.9.2))(valibot@1.1.0(typescript@5.9.2))
|
||||
specifier: catalog:mcp
|
||||
version: 0.1.4(tmcp@1.16.0(typescript@5.9.2))(valibot@1.1.0(typescript@5.9.2))
|
||||
'@typescript-eslint/parser':
|
||||
specifier: ^8.44.0
|
||||
version: 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)
|
||||
@@ -172,17 +190,17 @@ importers:
|
||||
specifier: ^9.36.0
|
||||
version: 9.36.0(jiti@2.6.0)
|
||||
eslint-plugin-svelte:
|
||||
specifier: ^3.12.3
|
||||
version: 3.12.4(eslint@9.36.0(jiti@2.6.0))(svelte@5.39.6)(ts-node@10.9.2(@types/node@24.5.2)(typescript@5.9.2))
|
||||
specifier: ^3.12.5
|
||||
version: 3.12.5(eslint@9.36.0(jiti@2.6.0))(svelte@5.39.6)(ts-node@10.9.2(@types/node@24.5.2)(typescript@5.9.2))
|
||||
svelte:
|
||||
specifier: ^5.39.2
|
||||
version: 5.39.6
|
||||
svelte-eslint-parser:
|
||||
specifier: ^1.3.2
|
||||
version: 1.3.3(svelte@5.39.6)
|
||||
specifier: ^1.4.0
|
||||
version: 1.4.0(svelte@5.39.6)
|
||||
tmcp:
|
||||
specifier: ^1.15.3
|
||||
version: 1.15.3(typescript@5.9.2)
|
||||
specifier: catalog:mcp
|
||||
version: 1.16.0(typescript@5.9.2)
|
||||
ts-blank-space:
|
||||
specifier: ^0.6.2
|
||||
version: 0.6.2
|
||||
@@ -200,8 +218,8 @@ importers:
|
||||
version: 1.1.4
|
||||
devDependencies:
|
||||
'@anthropic-ai/sdk':
|
||||
specifier: ^0.67.0
|
||||
version: 0.67.0(zod@3.25.76)
|
||||
specifier: ^0.68.0
|
||||
version: 0.68.0(zod@3.25.76)
|
||||
'@sveltejs/kit':
|
||||
specifier: ^2.42.2
|
||||
version: 2.43.5(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6)))(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6))
|
||||
@@ -224,15 +242,15 @@ importers:
|
||||
specifier: ^9.36.0
|
||||
version: 9.36.0(jiti@2.6.0)
|
||||
tmcp:
|
||||
specifier: ^1.15.3
|
||||
version: 1.15.3(typescript@5.9.2)
|
||||
specifier: catalog:mcp
|
||||
version: 1.16.0(typescript@5.9.2)
|
||||
devDependencies:
|
||||
'@sveltejs/mcp-server':
|
||||
specifier: workspace:^
|
||||
version: link:../mcp-server
|
||||
'@tmcp/transport-stdio':
|
||||
specifier: ^0.3.1
|
||||
version: 0.3.1(tmcp@1.15.3(typescript@5.9.2))
|
||||
specifier: catalog:mcp
|
||||
version: 0.4.0(tmcp@1.16.0(typescript@5.9.2))
|
||||
'@types/node':
|
||||
specifier: ^22.15.17
|
||||
version: 22.18.6
|
||||
@@ -251,8 +269,8 @@ importers:
|
||||
|
||||
packages:
|
||||
|
||||
'@anthropic-ai/sdk@0.67.0':
|
||||
resolution: {integrity: sha512-Buxbf6jYJ+pPtfCgXe1pcFtZmdXPrbdqhBjiscFt9irS1G0hCsmR/fPA+DwKTk4GPjqeNnnCYNecXH6uVZ4G/A==}
|
||||
'@anthropic-ai/sdk@0.68.0':
|
||||
resolution: {integrity: sha512-SMYAmbbiprG8k1EjEPMTwaTqssDT7Ae+jxcR5kWXiqTlbwMR2AthXtscEVWOHkRfyAV5+y3PFYTJRNa3OJWIEw==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
zod: ^3.25.0 || ^4.0.0
|
||||
@@ -1294,91 +1312,91 @@ packages:
|
||||
'@radix-ui/rect@1.1.1':
|
||||
resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
|
||||
|
||||
'@rolldown/binding-android-arm64@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-g9ejDOehJFhxC1DIXQuZQ9bKv4lRDioOTL42cJjFjqKPl1L7DVb9QQQE1FxokGEIMr6FezLipxwnzOXWe7DNPg==}
|
||||
'@rolldown/binding-android-arm64@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-bfgKYhFiXJALeA/riil908+2vlyWGdwa7Ju5S+JgWZYdR4jtiPOGdM6WLfso1dojCh+4ZWeiTwPeV9IKQEX+4g==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rolldown/binding-darwin-arm64@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-PxAW1PXLPmCzfhfKIS53kwpjLGTUdIfX4Ht+l9mj05C3lYCGaGowcNsYi2rdxWH24vSTmeK+ajDNRmmmrK0M7g==}
|
||||
'@rolldown/binding-darwin-arm64@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-xjCv4CRVsSnnIxTuyH1RDJl5OEQ1c9JYOwfDAHddjJDxCw46ZX9q80+xq7Eok7KC4bRSZudMJllkvOKv0T9SeA==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rolldown/binding-darwin-x64@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-/CtQqs1oO9uSb5Ju60rZvsdjE7Pzn8EK2ISAdl2jedjMzeD/4neNyCbwyJOAPzU+GIQTZVyrFZJX+t7HXR1R/g==}
|
||||
'@rolldown/binding-darwin-x64@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-ddcO9TD3D/CLUa/l8GO8LHzBOaZqWg5ClMy3jICoxwCuoz47h9dtqPsIeTiB6yR501LQTeDsjA4lIFd7u3Ljfw==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rolldown/binding-freebsd-x64@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-V5Q5W9c4+2GJ4QabmjmVV6alY97zhC/MZBaLkDtHwGy3qwzbM4DYgXUbun/0a8AH5hGhuU27tUIlYz6ZBlvgOA==}
|
||||
'@rolldown/binding-freebsd-x64@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-MBTWdrzW9w+UMYDUvnEuh0pQvLENkl2Sis15fHTfHVW7ClbGuez+RWopZudIDEGkpZXdeI4CkRXk+vdIIebrmg==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-X6adjkHeFqKsTU0FXdNN9HY4LDozPqIfHcnXovE5RkYLWIjMWuc489mIZ6iyhrMbCqMUla9IOsh5dvXSGT9o9A==}
|
||||
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-4YgoCFiki1HR6oSg+GxxfzfnVCesQxLF1LEnw9uXS/MpBmuog0EOO2rYfy69rWP4tFZL9IWp6KEfGZLrZ7aUog==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-kRRKGZI4DXWa6ANFr3dLA85aSVkwPdgXaRjfanwY84tfc3LncDiIjyWCb042e3ckPzYhHSZ3LmisO+cdOIYL6Q==}
|
||||
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-LE1gjAwQRrbCOorJJ7LFr10s5vqYf5a00V5Ea9wXcT2+56n5YosJkcp8eQ12FxRBv2YX8dsdQJb+ZTtYJwb6XQ==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-hMtiN9xX1NhxXBa2U3Up4XkVcsVp2h73yYtMDY59z9CDLEZLrik9RVLhBL5QtoX4zZKJ8HZKJtWuGYvtmkCbIQ==}
|
||||
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-tdy8ThO/fPp40B81v0YK3QC+KODOmzJzSUOO37DinQxzlTJ026gqUSOM8tzlVixRbQJltgVDCTYF8HNPRErQTA==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-rd1LzbpXQuR8MTG43JB9VyXDjG7ogSJbIkBpZEHJ8oMKzL6j47kQT5BpIXrg3b5UVygW9QCI2fpFdMocT5Kudg==}
|
||||
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-lS082ROBWdmOyVY/0YB3JmsiClaWoxvC+dA8/rbhyB9VLkvVEaihLEOr4CYmrMse151C4+S6hCw6oa1iewox7g==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rolldown/binding-linux-x64-musl@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-qI2IiPqmPRW25exXkuQr3TlweCDc05YvvbSDRPCuPsWkwb70dTiSoXn8iFxT4PWqTi71wWHg1Wyta9PlVhX5VA==}
|
||||
'@rolldown/binding-linux-x64-musl@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-Hi73aYY0cBkr1/SvNQqH8Cd+rSV6S9RB5izCv0ySBcRnd/Wfn5plguUoGYwBnhHgFbh6cPw9m2dUVBR6BG1gxA==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rolldown/binding-openharmony-arm64@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-+vHvEc1pL5iJRFlldLC8mjm6P4Qciyfh2bh5ZI6yxDQKbYhCHRKNURaKz1mFcwxhVL5YMYsLyaqM3qizVif9MQ==}
|
||||
'@rolldown/binding-openharmony-arm64@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-fljEqbO7RHHogNDxYtTzr+GNjlfOx21RUyGmF+NrkebZ8emYYiIqzPxsaMZuRx0rgZmVmliOzEp86/CQFDKhJQ==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [openharmony]
|
||||
|
||||
'@rolldown/binding-wasm32-wasi@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-XSgLxRrtFj6RpTeMYmmQDAwHjKseYGKUn5LPiIdW4Cq+f5SBSStL2ToBDxkbdxKPEbCZptnLPQ/nfKcAxrC8Xg==}
|
||||
'@rolldown/binding-wasm32-wasi@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-ZJDB7lkuZE9XUnWQSYrBObZxczut+8FZ5pdanm8nNS1DAo8zsrPuvGwn+U3fwU98WaiFsNrA4XHngesCGr8tEQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
cpu: [wasm32]
|
||||
|
||||
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-cF1LJdDIX02cJrFrX3wwQ6IzFM7I74BYeKFkzdcIA4QZ0+2WA7/NsKIgjvrunupepWb1Y6PFWdRlHSaz5AW1Wg==}
|
||||
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-zyzAjItHPUmxg6Z8SyRhLdXlJn3/D9KL5b9mObUrBHhWS/GwRH4665xCiFqeuktAhhWutqfc+rOV2LjK4VYQGQ==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-5uaJonDafhHiMn+iEh7qUp3QQ4Gihv3lEOxKfN8Vwadpy0e+5o28DWI42DpJ9YBYMrVy4JOWJ/3etB/sptpUwA==}
|
||||
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-wODcGzlfxqS6D7BR0srkJk3drPwXYLu7jPHN27ce2c4PUnVVmJnp9mJzUQGT4LpmHmmVdMZ+P6hKvyTGBzc1CA==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-vsqhWAFJkkmgfBN/lkLCWTXF1PuPhMjfnAyru48KvF7mVh2+K7WkKYHezF3Fjz4X/mPScOcIv+g6cf6wnI6eWg==}
|
||||
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-wiU40G1nQo9rtfvF9jLbl79lUgjfaD/LTyUEw2Wg/gdF5OhjzpKMVugZQngO+RNdwYaNj+Fs+kWBWfp4VXPMHA==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.44':
|
||||
resolution: {integrity: sha512-g6eW7Zwnr2c5RADIoqziHoVs6b3W5QTQ4+qbpfjbkMJ9x+8Og211VW/oot2dj9dVwaK/UyC6Yo+02gV+wWQVNg==}
|
||||
'@rolldown/pluginutils@1.0.0-beta.45':
|
||||
resolution: {integrity: sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA==}
|
||||
|
||||
'@rollup/pluginutils@5.3.0':
|
||||
resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
|
||||
@@ -1554,18 +1572,24 @@ packages:
|
||||
tmcp: ^1.10.2
|
||||
valibot: ^1.1.0
|
||||
|
||||
'@tmcp/session-manager@0.1.2':
|
||||
resolution: {integrity: sha512-hNkEeMt7/CdD8JdjPXMlIv5OMPTp5LnBqeo1Tb/AXcm31DpgwlNbf4voJ3CeWxWAZPPZ/MgHZ682TtgGhsvXiw==}
|
||||
|
||||
'@tmcp/transport-http@0.7.1':
|
||||
resolution: {integrity: sha512-Run9uMuARbCwAJQDWYvANXCsRAyJL/hUFfuD5eftU7mjarIjtwWQAXJ4NS7hKPsVf2g2GCF/XNNU+DGpdo3vYQ==}
|
||||
'@tmcp/session-manager@0.2.0':
|
||||
resolution: {integrity: sha512-/MjEFFvnvrV3DbnwEAXMBKhIFmm7z81EgazBtPhKP9i5pe37/iDkYHOa+SD6aaqT3V7gACQ1nmqoJH3MdrC7gQ==}
|
||||
peerDependencies:
|
||||
tmcp: ^1.15.3
|
||||
tmcp: ^1.16.0
|
||||
|
||||
'@tmcp/transport-stdio@0.3.1':
|
||||
resolution: {integrity: sha512-r+eiHa2URw5+lBMRI0t4D84LfcWHam3DsTog/lPZSALIjlYxlFUfAaJ8dgh5gdQnmXiFJfE9hzmN0gIrB6+Lzw==}
|
||||
'@tmcp/transport-http@0.8.0':
|
||||
resolution: {integrity: sha512-XkIFDIDr8zzQhJiwI+6He0pIGmEg0SAwHdsv914UtL0zqKuUfFvFLLARkryB95Rhp1ib4nVWAgLcV1FtdWGzIw==}
|
||||
peerDependencies:
|
||||
tmcp: ^1.14.0
|
||||
'@tmcp/auth': ^0.3.3
|
||||
tmcp: ^1.16.0
|
||||
peerDependenciesMeta:
|
||||
'@tmcp/auth':
|
||||
optional: true
|
||||
|
||||
'@tmcp/transport-stdio@0.4.0':
|
||||
resolution: {integrity: sha512-GPfYj8Yn7OqLv7yDzOzonZ2E9SyPphgmmiByBfhNYKBb5Mzp5aSVUJ3cjuiOOz4ZvpM9FzwMmxOt8wNURZxjmQ==}
|
||||
peerDependencies:
|
||||
tmcp: ^1.16.0
|
||||
|
||||
'@tsconfig/node10@1.0.11':
|
||||
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
|
||||
@@ -1685,6 +1709,32 @@ packages:
|
||||
peerDependencies:
|
||||
valibot: ^1.1.0
|
||||
|
||||
'@vercel/analytics@1.5.0':
|
||||
resolution: {integrity: sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g==}
|
||||
peerDependencies:
|
||||
'@remix-run/react': ^2
|
||||
'@sveltejs/kit': ^1 || ^2
|
||||
next: '>= 13'
|
||||
react: ^18 || ^19 || ^19.0.0-rc
|
||||
svelte: '>= 4'
|
||||
vue: ^3
|
||||
vue-router: ^4
|
||||
peerDependenciesMeta:
|
||||
'@remix-run/react':
|
||||
optional: true
|
||||
'@sveltejs/kit':
|
||||
optional: true
|
||||
next:
|
||||
optional: true
|
||||
react:
|
||||
optional: true
|
||||
svelte:
|
||||
optional: true
|
||||
vue:
|
||||
optional: true
|
||||
vue-router:
|
||||
optional: true
|
||||
|
||||
'@vercel/nft@0.30.1':
|
||||
resolution: {integrity: sha512-2mgJZv4AYBFkD/nJ4QmiX5Ymxi+AisPLPcS/KPXVqniyQNqKXX+wjieAbDXQP3HcogfEbpHoRMs49Cd4pfkk8g==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -2362,6 +2412,16 @@ packages:
|
||||
svelte:
|
||||
optional: true
|
||||
|
||||
eslint-plugin-svelte@3.12.5:
|
||||
resolution: {integrity: sha512-4KRG84eAHQfYd9OjZ1K7sCHy0nox+9KwT+s5WCCku3jTim5RV4tVENob274nCwIaApXsYPKAUAZFBxKZ3Wyfjw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.1 || ^9.0.0
|
||||
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
svelte:
|
||||
optional: true
|
||||
|
||||
eslint-scope@8.4.0:
|
||||
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@@ -3402,8 +3462,8 @@ packages:
|
||||
vue-tsc:
|
||||
optional: true
|
||||
|
||||
rolldown@1.0.0-beta.44:
|
||||
resolution: {integrity: sha512-gcqgyCi3g93Fhr49PKvymE8PoaGS0sf6ajQrsYaQ8o5de6aUEbD6rJZiJbhOfpcqOnycgsAsUNPYri1h25NgsQ==}
|
||||
rolldown@1.0.0-beta.45:
|
||||
resolution: {integrity: sha512-iMmuD72XXLf26Tqrv1cryNYLX6NNPLhZ3AmNkSf8+xda0H+yijjGJ+wVT9UdBUHOpKzq9RjKtQKRCWoEKQQBZQ==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
hasBin: true
|
||||
|
||||
@@ -3638,6 +3698,15 @@ packages:
|
||||
svelte:
|
||||
optional: true
|
||||
|
||||
svelte-eslint-parser@1.4.0:
|
||||
resolution: {integrity: sha512-fjPzOfipR5S7gQ/JvI9r2H8y9gMGXO3JtmrylHLLyahEMquXI0lrebcjT+9/hNgDej0H7abTyox5HpHmW1PSWA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.18.3}
|
||||
peerDependencies:
|
||||
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
svelte:
|
||||
optional: true
|
||||
|
||||
svelte@5.39.6:
|
||||
resolution: {integrity: sha512-bOJXmuwLNaoqPCTWO8mPu/fwxI5peGE5Efe7oo6Cakpz/G60vsnVF6mxbGODaxMUFUKEnjm6XOwHEqOht6cbvw==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -3670,8 +3739,8 @@ packages:
|
||||
resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
|
||||
tmcp@1.15.3:
|
||||
resolution: {integrity: sha512-woRK1qeUei0+3juJ3OS/LBFhKwg26YPGtQqJV8HwXqYP1sOHaOeLC/6jyZuBfmfXqZf1qUg8Dk3I/Wwm+WKZ1Q==}
|
||||
tmcp@1.16.0:
|
||||
resolution: {integrity: sha512-E2ypyH00XoNaliR+gilZAtWGQBkgfrCT2bjEcJsnlVwZfsHYOTMp9Q8K9G5JtDB/UaCP2TJyjp+UG5BumUc/4Q==}
|
||||
|
||||
to-regex-range@5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
@@ -4057,7 +4126,7 @@ packages:
|
||||
|
||||
snapshots:
|
||||
|
||||
'@anthropic-ai/sdk@0.67.0(zod@3.25.76)':
|
||||
'@anthropic-ai/sdk@0.68.0(zod@3.25.76)':
|
||||
dependencies:
|
||||
json-schema-to-ts: 3.1.1
|
||||
optionalDependencies:
|
||||
@@ -5073,51 +5142,51 @@ snapshots:
|
||||
|
||||
'@radix-ui/rect@1.1.1': {}
|
||||
|
||||
'@rolldown/binding-android-arm64@1.0.0-beta.44':
|
||||
'@rolldown/binding-android-arm64@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-darwin-arm64@1.0.0-beta.44':
|
||||
'@rolldown/binding-darwin-arm64@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-darwin-x64@1.0.0-beta.44':
|
||||
'@rolldown/binding-darwin-x64@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-freebsd-x64@1.0.0-beta.44':
|
||||
'@rolldown/binding-freebsd-x64@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.44':
|
||||
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.44':
|
||||
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.44':
|
||||
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.44':
|
||||
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-linux-x64-musl@1.0.0-beta.44':
|
||||
'@rolldown/binding-linux-x64-musl@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-openharmony-arm64@1.0.0-beta.44':
|
||||
'@rolldown/binding-openharmony-arm64@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-wasm32-wasi@1.0.0-beta.44':
|
||||
'@rolldown/binding-wasm32-wasi@1.0.0-beta.45':
|
||||
dependencies:
|
||||
'@napi-rs/wasm-runtime': 1.0.7
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.44':
|
||||
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.44':
|
||||
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.44':
|
||||
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.45':
|
||||
optional: true
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.44': {}
|
||||
'@rolldown/pluginutils@1.0.0-beta.45': {}
|
||||
|
||||
'@rollup/pluginutils@5.3.0(rollup@4.52.2)':
|
||||
dependencies:
|
||||
@@ -5258,24 +5327,26 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
|
||||
'@tmcp/adapter-valibot@0.1.4(tmcp@1.15.3(typescript@5.9.2))(valibot@1.1.0(typescript@5.9.2))':
|
||||
'@tmcp/adapter-valibot@0.1.4(tmcp@1.16.0(typescript@5.9.2))(valibot@1.1.0(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@standard-schema/spec': 1.0.0
|
||||
'@valibot/to-json-schema': 1.3.0(valibot@1.1.0(typescript@5.9.2))
|
||||
tmcp: 1.15.3(typescript@5.9.2)
|
||||
tmcp: 1.16.0(typescript@5.9.2)
|
||||
valibot: 1.1.0(typescript@5.9.2)
|
||||
|
||||
'@tmcp/session-manager@0.1.2': {}
|
||||
|
||||
'@tmcp/transport-http@0.7.1(tmcp@1.15.3(typescript@5.9.2))':
|
||||
'@tmcp/session-manager@0.2.0(tmcp@1.16.0(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@tmcp/session-manager': 0.1.2
|
||||
tmcp: 1.16.0(typescript@5.9.2)
|
||||
|
||||
'@tmcp/transport-http@0.8.0(tmcp@1.16.0(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@tmcp/session-manager': 0.2.0(tmcp@1.16.0(typescript@5.9.2))
|
||||
esm-env: 1.2.2
|
||||
tmcp: 1.15.3(typescript@5.9.2)
|
||||
tmcp: 1.16.0(typescript@5.9.2)
|
||||
|
||||
'@tmcp/transport-stdio@0.3.1(tmcp@1.15.3(typescript@5.9.2))':
|
||||
'@tmcp/transport-stdio@0.4.0(tmcp@1.16.0(typescript@5.9.2))':
|
||||
dependencies:
|
||||
tmcp: 1.15.3(typescript@5.9.2)
|
||||
tmcp: 1.16.0(typescript@5.9.2)
|
||||
|
||||
'@tsconfig/node10@1.0.11': {}
|
||||
|
||||
@@ -5429,6 +5500,12 @@ snapshots:
|
||||
dependencies:
|
||||
valibot: 1.1.0(typescript@5.9.2)
|
||||
|
||||
'@vercel/analytics@1.5.0(@sveltejs/kit@2.43.5(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6)))(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6)))(react@18.3.1)(svelte@5.39.6)':
|
||||
optionalDependencies:
|
||||
'@sveltejs/kit': 2.43.5(@sveltejs/vite-plugin-svelte@6.2.1(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6)))(svelte@5.39.6)(vite@7.1.7(@types/node@24.5.2)(jiti@2.6.0)(tsx@4.20.6))
|
||||
react: 18.3.1
|
||||
svelte: 5.39.6
|
||||
|
||||
'@vercel/nft@0.30.1(rollup@4.52.2)':
|
||||
dependencies:
|
||||
'@mapbox/node-pre-gyp': 2.0.0
|
||||
@@ -6071,17 +6148,16 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0(jiti@2.6.0)):
|
||||
eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint@9.36.0(jiti@2.6.0)):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)
|
||||
eslint: 9.36.0(jiti@2.6.0)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)):
|
||||
eslint-plugin-import@2.32.0(eslint@9.36.0(jiti@2.6.0)):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.9
|
||||
@@ -6092,7 +6168,7 @@ snapshots:
|
||||
doctrine: 2.1.0
|
||||
eslint: 9.36.0(jiti@2.6.0)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.36.0(jiti@2.6.0))
|
||||
eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint@9.36.0(jiti@2.6.0))
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
@@ -6103,8 +6179,6 @@ snapshots:
|
||||
semver: 6.3.1
|
||||
string.prototype.trimend: 1.0.9
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
@@ -6122,7 +6196,25 @@ snapshots:
|
||||
postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.5.2)(typescript@5.9.2))
|
||||
postcss-safe-parser: 7.0.1(postcss@8.5.6)
|
||||
semver: 7.7.2
|
||||
svelte-eslint-parser: 1.3.3(svelte@5.39.6)
|
||||
svelte-eslint-parser: 1.4.0(svelte@5.39.6)
|
||||
optionalDependencies:
|
||||
svelte: 5.39.6
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
eslint-plugin-svelte@3.12.5(eslint@9.36.0(jiti@2.6.0))(svelte@5.39.6)(ts-node@10.9.2(@types/node@24.5.2)(typescript@5.9.2)):
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0))
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
eslint: 9.36.0(jiti@2.6.0)
|
||||
esutils: 2.0.3
|
||||
globals: 16.4.0
|
||||
known-css-properties: 0.37.0
|
||||
postcss: 8.5.6
|
||||
postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.5.2)(typescript@5.9.2))
|
||||
postcss-safe-parser: 7.0.1(postcss@8.5.6)
|
||||
semver: 7.7.2
|
||||
svelte-eslint-parser: 1.4.0(svelte@5.39.6)
|
||||
optionalDependencies:
|
||||
svelte: 5.39.6
|
||||
transitivePeerDependencies:
|
||||
@@ -7135,7 +7227,7 @@ snapshots:
|
||||
|
||||
reusify@1.1.0: {}
|
||||
|
||||
rolldown-plugin-dts@0.16.11(rolldown@1.0.0-beta.44)(typescript@5.9.2):
|
||||
rolldown-plugin-dts@0.16.11(rolldown@1.0.0-beta.45)(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@babel/generator': 7.28.3
|
||||
'@babel/parser': 7.28.4
|
||||
@@ -7146,32 +7238,32 @@ snapshots:
|
||||
dts-resolver: 2.1.2
|
||||
get-tsconfig: 4.10.1
|
||||
magic-string: 0.30.19
|
||||
rolldown: 1.0.0-beta.44
|
||||
rolldown: 1.0.0-beta.45
|
||||
optionalDependencies:
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- oxc-resolver
|
||||
- supports-color
|
||||
|
||||
rolldown@1.0.0-beta.44:
|
||||
rolldown@1.0.0-beta.45:
|
||||
dependencies:
|
||||
'@oxc-project/types': 0.95.0
|
||||
'@rolldown/pluginutils': 1.0.0-beta.44
|
||||
'@rolldown/pluginutils': 1.0.0-beta.45
|
||||
optionalDependencies:
|
||||
'@rolldown/binding-android-arm64': 1.0.0-beta.44
|
||||
'@rolldown/binding-darwin-arm64': 1.0.0-beta.44
|
||||
'@rolldown/binding-darwin-x64': 1.0.0-beta.44
|
||||
'@rolldown/binding-freebsd-x64': 1.0.0-beta.44
|
||||
'@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.44
|
||||
'@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.44
|
||||
'@rolldown/binding-linux-arm64-musl': 1.0.0-beta.44
|
||||
'@rolldown/binding-linux-x64-gnu': 1.0.0-beta.44
|
||||
'@rolldown/binding-linux-x64-musl': 1.0.0-beta.44
|
||||
'@rolldown/binding-openharmony-arm64': 1.0.0-beta.44
|
||||
'@rolldown/binding-wasm32-wasi': 1.0.0-beta.44
|
||||
'@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.44
|
||||
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.44
|
||||
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.44
|
||||
'@rolldown/binding-android-arm64': 1.0.0-beta.45
|
||||
'@rolldown/binding-darwin-arm64': 1.0.0-beta.45
|
||||
'@rolldown/binding-darwin-x64': 1.0.0-beta.45
|
||||
'@rolldown/binding-freebsd-x64': 1.0.0-beta.45
|
||||
'@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.45
|
||||
'@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.45
|
||||
'@rolldown/binding-linux-arm64-musl': 1.0.0-beta.45
|
||||
'@rolldown/binding-linux-x64-gnu': 1.0.0-beta.45
|
||||
'@rolldown/binding-linux-x64-musl': 1.0.0-beta.45
|
||||
'@rolldown/binding-openharmony-arm64': 1.0.0-beta.45
|
||||
'@rolldown/binding-wasm32-wasi': 1.0.0-beta.45
|
||||
'@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.45
|
||||
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.45
|
||||
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.45
|
||||
|
||||
rollup@4.52.2:
|
||||
dependencies:
|
||||
@@ -7483,6 +7575,17 @@ snapshots:
|
||||
optionalDependencies:
|
||||
svelte: 5.39.6
|
||||
|
||||
svelte-eslint-parser@1.4.0(svelte@5.39.6):
|
||||
dependencies:
|
||||
eslint-scope: 8.4.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
espree: 10.4.0
|
||||
postcss: 8.5.6
|
||||
postcss-scss: 4.0.9(postcss@8.5.6)
|
||||
postcss-selector-parser: 7.1.0
|
||||
optionalDependencies:
|
||||
svelte: 5.39.6
|
||||
|
||||
svelte@5.39.6:
|
||||
dependencies:
|
||||
'@jridgewell/remapping': 2.3.5
|
||||
@@ -7525,7 +7628,7 @@ snapshots:
|
||||
|
||||
tinyrainbow@3.0.3: {}
|
||||
|
||||
tmcp@1.15.3(typescript@5.9.2):
|
||||
tmcp@1.16.0(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@standard-schema/spec': 1.0.0
|
||||
json-rpc-2.0: 1.7.1
|
||||
@@ -7591,8 +7694,8 @@ snapshots:
|
||||
diff: 8.0.2
|
||||
empathic: 2.0.0
|
||||
hookable: 5.5.3
|
||||
rolldown: 1.0.0-beta.44
|
||||
rolldown-plugin-dts: 0.16.11(rolldown@1.0.0-beta.44)(typescript@5.9.2)
|
||||
rolldown: 1.0.0-beta.45
|
||||
rolldown-plugin-dts: 0.16.11(rolldown@1.0.0-beta.45)(typescript@5.9.2)
|
||||
semver: 7.7.2
|
||||
tinyexec: 1.0.1
|
||||
tinyglobby: 0.2.15
|
||||
|
||||
@@ -3,3 +3,10 @@ packages:
|
||||
- './apps/*'
|
||||
|
||||
useNodeVersion: 22.19.0
|
||||
|
||||
catalogs:
|
||||
mcp:
|
||||
tmcp: '^1.16.0'
|
||||
'@tmcp/transport-http': '^0.8.0'
|
||||
'@tmcp/transport-stdio': '^0.4.0'
|
||||
'@tmcp/adapter-valibot': '^0.1.4'
|
||||
|
||||
Reference in New Issue
Block a user