@mgcrea/mcp-ios-simulator 0.3.1 → 0.4.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/dist/cli.js +2 -3
- package/dist/{config-D0JgmT_U.js → config-HmqayUrt.js} +140 -88
- package/dist/config-HmqayUrt.js.map +1 -0
- package/dist/index.d.ts +48 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/package.json +13 -13
- package/dist/config-D0JgmT_U.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import { CommandError, CommandTimeoutError, DisplayInfo, ExecImpl, IosError, IosError as IosError$1, Logger, ScreenHost, ToolchainError, WdaClient, WdaError, WdaUnavailableError } from "@mgcrea/mcp-ios-core";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
//#region src/client/logs.d.ts
|
|
5
4
|
/**
|
|
6
5
|
* The log captures this server has started, newest per simulator and app.
|
|
7
6
|
*
|
|
@@ -49,8 +48,6 @@ declare class LaunchCaptures {
|
|
|
49
48
|
*/
|
|
50
49
|
running(capture: Capture): boolean;
|
|
51
50
|
}
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/client/simctl.d.ts
|
|
54
51
|
/**
|
|
55
52
|
* `xcrun simctl` — Apple's own simulator tool, and the half of this server that
|
|
56
53
|
* needs nothing installed and nothing signed.
|
|
@@ -122,7 +119,7 @@ type RawSimApp = {
|
|
|
122
119
|
* Without this the message a caller sees is the first line, which names a
|
|
123
120
|
* numeric code and says nothing about what to do.
|
|
124
121
|
*/
|
|
125
|
-
declare const parseSimctlError: (stderr: string) => {
|
|
122
|
+
export declare const parseSimctlError: (stderr: string) => {
|
|
126
123
|
domain?: string;
|
|
127
124
|
code?: number;
|
|
128
125
|
message: string;
|
|
@@ -136,12 +133,18 @@ declare const parseSimctlError: (stderr: string) => {
|
|
|
136
133
|
* forward, so it is refused here as well as in the resolver — the resolver is
|
|
137
134
|
* where it should be caught, and this is where it cannot be missed.
|
|
138
135
|
*/
|
|
139
|
-
declare const assertNotBulkTarget: (udid: string) => void;
|
|
140
|
-
declare class Simctl {
|
|
136
|
+
export declare const assertNotBulkTarget: (udid: string) => void;
|
|
137
|
+
export declare class Simctl {
|
|
141
138
|
private readonly opts;
|
|
142
139
|
private readonly exec;
|
|
143
140
|
/** Device types change only when Xcode is updated; re-reading is pure cost. */
|
|
144
141
|
private deviceTypes;
|
|
142
|
+
/**
|
|
143
|
+
* Read once, like device types: both change only when Xcode or a runtime is
|
|
144
|
+
* installed, and every tool call resolves a simulator. The cost is that a
|
|
145
|
+
* runtime added or deleted while this server runs is seen after a restart.
|
|
146
|
+
*/
|
|
147
|
+
private runtimes;
|
|
145
148
|
constructor(opts: SimctlOptions);
|
|
146
149
|
/** Raw stdout, for the subcommands that answer in prose. */
|
|
147
150
|
private run;
|
|
@@ -165,6 +168,13 @@ declare class Simctl {
|
|
|
165
168
|
listRuntimes(): Promise<RawRuntime[]>;
|
|
166
169
|
listDeviceTypes(): Promise<RawDeviceType[]>;
|
|
167
170
|
boot(udid: string): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Wait until a booting simulator has finished, or `timeoutMs` passes (a
|
|
173
|
+
* `CommandTimeoutError`). Not the state in `list`: measured on an iOS 27.0
|
|
174
|
+
* runtime, that reads "Booted" 0.4s after `boot` returns, while this returns
|
|
175
|
+
* 17s later, once the system is up.
|
|
176
|
+
*/
|
|
177
|
+
bootstatus(udid: string, timeoutMs: number): Promise<void>;
|
|
168
178
|
shutdown(udid: string): Promise<void>;
|
|
169
179
|
erase(udid: string): Promise<void>;
|
|
170
180
|
/**
|
|
@@ -261,8 +271,6 @@ declare class Simctl {
|
|
|
261
271
|
*/
|
|
262
272
|
push(udid: string, bundleId: string, payload: unknown): Promise<void>;
|
|
263
273
|
}
|
|
264
|
-
//#endregion
|
|
265
|
-
//#region src/client/shape.d.ts
|
|
266
274
|
type SimulatorSummary = {
|
|
267
275
|
/**
|
|
268
276
|
* The UDID. Called `id` because that is the name the shared `ScreenHost`
|
|
@@ -301,7 +309,7 @@ type SimulatorSummary = {
|
|
|
301
309
|
* primary key: it is joined against `list runtimes` for a display name, 0..n
|
|
302
310
|
* matches tolerated, and carried through verbatim besides.
|
|
303
311
|
*/
|
|
304
|
-
declare const summarizeDevices: (devices: Record<string, RawSim[]>, runtimes: RawRuntime[], deviceTypes: RawDeviceType[]) => SimulatorSummary[];
|
|
312
|
+
export declare const summarizeDevices: (devices: Record<string, RawSim[]>, runtimes: RawRuntime[], deviceTypes: RawDeviceType[]) => SimulatorSummary[];
|
|
305
313
|
type SimAppSummary = {
|
|
306
314
|
bundleId: string;
|
|
307
315
|
name: string | undefined;
|
|
@@ -316,13 +324,11 @@ type SimAppSummary = {
|
|
|
316
324
|
bundlePath: string | undefined;
|
|
317
325
|
dataContainer: string | undefined;
|
|
318
326
|
};
|
|
319
|
-
declare const summarizeApps: (apps: Record<string, RawSimApp>, opts?: {
|
|
327
|
+
export declare const summarizeApps: (apps: Record<string, RawSimApp>, opts?: {
|
|
320
328
|
includeAll?: boolean;
|
|
321
329
|
}) => SimAppSummary[];
|
|
322
330
|
/** The public shape of one row of `ios_simulator_list`. */
|
|
323
|
-
declare const toListRow: (sim: SimulatorSummary) => Record<string, unknown>;
|
|
324
|
-
//#endregion
|
|
325
|
-
//#region src/client/simulator.d.ts
|
|
331
|
+
export declare const toListRow: (sim: SimulatorSummary) => Record<string, unknown>;
|
|
326
332
|
type SimulatorClientOptions = {
|
|
327
333
|
xcrunPath: string;
|
|
328
334
|
sipsPath: string;
|
|
@@ -343,7 +349,7 @@ type SimulatorClientOptions = {
|
|
|
343
349
|
processAlive?: ProcessAlive | undefined;
|
|
344
350
|
logger?: Logger | undefined;
|
|
345
351
|
};
|
|
346
|
-
declare class SimulatorClient implements ScreenHost<SimulatorSummary> {
|
|
352
|
+
export declare class SimulatorClient implements ScreenHost<SimulatorSummary> {
|
|
347
353
|
readonly simctl: Simctl;
|
|
348
354
|
readonly exec: ExecImpl;
|
|
349
355
|
readonly sipsPath: string;
|
|
@@ -360,6 +366,11 @@ declare class SimulatorClient implements ScreenHost<SimulatorSummary> {
|
|
|
360
366
|
listSimulators(opts?: {
|
|
361
367
|
fresh?: boolean;
|
|
362
368
|
}): Promise<SimulatorSummary[]>;
|
|
369
|
+
/**
|
|
370
|
+
* Drop the cached list. Called after a tool changes a simulator's state, so
|
|
371
|
+
* the next call within the cache window does not act on the state before it.
|
|
372
|
+
*/
|
|
373
|
+
forgetSimulators(): void;
|
|
363
374
|
/**
|
|
364
375
|
* Resolve a hint to exactly one simulator, or refuse.
|
|
365
376
|
*
|
|
@@ -429,11 +440,11 @@ declare class SimulatorClient implements ScreenHost<SimulatorSummary> {
|
|
|
429
440
|
* reports which simulator actually owns the port.
|
|
430
441
|
*/
|
|
431
442
|
wdaUrl(): string;
|
|
443
|
+
/** The simulator `resolveTarget` falls back to when no hint is given. */
|
|
444
|
+
get defaultSimulatorId(): string | undefined;
|
|
432
445
|
get wdaPort(): number;
|
|
433
446
|
wda(_target: SimulatorSummary): WdaClient;
|
|
434
447
|
}
|
|
435
|
-
//#endregion
|
|
436
|
-
//#region src/config.d.ts
|
|
437
448
|
/**
|
|
438
449
|
* There are no credentials here, and unlike the device server there is barely
|
|
439
450
|
* any setup either. Two lanes reach a simulator and both are local:
|
|
@@ -462,25 +473,21 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
462
473
|
openPath: z.ZodDefault<z.ZodString>;
|
|
463
474
|
}, z.core.$strict>;
|
|
464
475
|
type Config = z.infer<typeof ConfigSchema>;
|
|
465
|
-
declare const defaultConfigPath: (env?: NodeJS.ProcessEnv) => string;
|
|
476
|
+
export declare const defaultConfigPath: (env?: NodeJS.ProcessEnv) => string;
|
|
466
477
|
/**
|
|
467
478
|
* Environment first, config file second, **per field** — not whole-source.
|
|
468
479
|
* A one-off `IOS_SIMULATOR_ALLOW_WRITES=0` has to beat a file that says `true`,
|
|
469
480
|
* while a file that sets `simulatorId` keeps working when the environment says
|
|
470
481
|
* nothing about it. Merging field by field is the only rule that gives both.
|
|
471
482
|
*/
|
|
472
|
-
declare const loadConfig: (env?: NodeJS.ProcessEnv, configPath?: string) => Config;
|
|
473
|
-
//#endregion
|
|
474
|
-
//#region src/tools/runner.d.ts
|
|
483
|
+
export declare const loadConfig: (env?: NodeJS.ProcessEnv, configPath?: string) => Config;
|
|
475
484
|
/** Injected in tests so no xcodebuild is ever started by the suite. */
|
|
476
485
|
type SpawnRunner = (command: string, args: string[], opts: {
|
|
477
486
|
env: Record<string, string>;
|
|
478
487
|
logPath: string;
|
|
479
488
|
}) => Promise<number | undefined>;
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
declare const SERVER_NAME: string;
|
|
483
|
-
declare const SERVER_VERSION: string;
|
|
489
|
+
export declare const SERVER_NAME: string;
|
|
490
|
+
export declare const SERVER_VERSION: string;
|
|
484
491
|
type CreateServerOptions = {
|
|
485
492
|
config: Config;
|
|
486
493
|
/** Override the process boundary (tests): `xcrun`, `plutil` and `sips` never run. */
|
|
@@ -504,9 +511,7 @@ type CreatedServer = {
|
|
|
504
511
|
* no Xcode, no WebDriverAgent and no process left running.
|
|
505
512
|
* Nothing below `config.ts` reads `process.env`.
|
|
506
513
|
*/
|
|
507
|
-
declare const createServer: (opts: CreateServerOptions) => CreatedServer;
|
|
508
|
-
//#endregion
|
|
509
|
-
//#region src/client/display.d.ts
|
|
514
|
+
export declare const createServer: (opts: CreateServerOptions) => CreatedServer;
|
|
510
515
|
type ScreenProfile = {
|
|
511
516
|
mainScreenWidth?: number;
|
|
512
517
|
mainScreenHeight?: number;
|
|
@@ -517,7 +522,7 @@ type PlistOpts = {
|
|
|
517
522
|
exec: ExecImpl;
|
|
518
523
|
timeoutMs: number;
|
|
519
524
|
};
|
|
520
|
-
declare const readScreenProfile: (deviceType: RawDeviceType, opts: PlistOpts) => Promise<ScreenProfile>;
|
|
525
|
+
export declare const readScreenProfile: (deviceType: RawDeviceType, opts: PlistOpts) => Promise<ScreenProfile>;
|
|
521
526
|
/**
|
|
522
527
|
* Width and height straight out of a PNG's IHDR.
|
|
523
528
|
*
|
|
@@ -525,7 +530,7 @@ declare const readScreenProfile: (deviceType: RawDeviceType, opts: PlistOpts) =>
|
|
|
525
530
|
* and the bytes are already in hand: the signature is fixed, `IHDR` is always
|
|
526
531
|
* the first chunk, and the two dimensions are big-endian at offsets 16 and 20.
|
|
527
532
|
*/
|
|
528
|
-
declare const pngDimensions: (png: Buffer) => {
|
|
533
|
+
export declare const pngDimensions: (png: Buffer) => {
|
|
529
534
|
width: number;
|
|
530
535
|
height: number;
|
|
531
536
|
} | undefined;
|
|
@@ -541,15 +546,13 @@ declare const pngDimensions: (png: Buffer) => {
|
|
|
541
546
|
* `io enumerate`'s `Power state` is about the framebuffer port rather than the
|
|
542
547
|
* screen, so mapping it would be a lie.
|
|
543
548
|
*/
|
|
544
|
-
declare const toDisplayInfo: (profile: ScreenProfile, capture?: {
|
|
549
|
+
export declare const toDisplayInfo: (profile: ScreenProfile, capture?: {
|
|
545
550
|
width: number;
|
|
546
551
|
height: number;
|
|
547
552
|
}) => DisplayInfo;
|
|
548
|
-
//#endregion
|
|
549
|
-
//#region src/client/errors.d.ts
|
|
550
553
|
/** Raising the budget, or noticing the simulator died mid-call. */
|
|
551
|
-
declare const TIMEOUT_REMEDY: string;
|
|
552
|
-
declare const TOOLCHAIN_REMEDY: string;
|
|
554
|
+
export declare const TIMEOUT_REMEDY: string;
|
|
555
|
+
export declare const TOOLCHAIN_REMEDY: string;
|
|
553
556
|
/**
|
|
554
557
|
* How to get the runner up, from a shell.
|
|
555
558
|
*
|
|
@@ -562,9 +565,9 @@ declare const TOOLCHAIN_REMEDY: string;
|
|
|
562
565
|
* needs — but a remedy that sends a caller holding ios_simulator_restart_wda out
|
|
563
566
|
* to a terminal is a remedy that wastes the tool it already has.
|
|
564
567
|
*/
|
|
565
|
-
declare const START_RUNNER_SCRIPT_REMEDY: string;
|
|
568
|
+
export declare const START_RUNNER_SCRIPT_REMEDY: string;
|
|
566
569
|
/** The same thing, done with this server's own tool. */
|
|
567
|
-
declare const START_RUNNER_TOOL_REMEDY: string;
|
|
570
|
+
export declare const START_RUNNER_TOOL_REMEDY: string;
|
|
568
571
|
/**
|
|
569
572
|
* How to get the runner up, in whichever way the caller can actually reach.
|
|
570
573
|
*
|
|
@@ -572,11 +575,11 @@ declare const START_RUNNER_TOOL_REMEDY: string;
|
|
|
572
575
|
* it unconditionally would be the same mistake this fixes, pointed the other
|
|
573
576
|
* way: a remedy naming a tool that is not in the list.
|
|
574
577
|
*/
|
|
575
|
-
declare const startRunnerRemedy: (allowWrites: boolean) => string;
|
|
578
|
+
export declare const startRunnerRemedy: (allowWrites: boolean) => string;
|
|
576
579
|
/** What to do when WebDriverAgent does not answer at all. */
|
|
577
|
-
declare const wdaUnavailableRemedy: (allowWrites: boolean) => string;
|
|
580
|
+
export declare const wdaUnavailableRemedy: (allowWrites: boolean) => string;
|
|
578
581
|
/** No simulator matched, or several did and none was named. */
|
|
579
|
-
declare class SimulatorNotFoundError extends IosError$1 {
|
|
582
|
+
export declare class SimulatorNotFoundError extends IosError$1 {
|
|
580
583
|
readonly name = "SimulatorNotFoundError";
|
|
581
584
|
constructor(message: string, remedy: string);
|
|
582
585
|
}
|
|
@@ -588,7 +591,7 @@ declare class SimulatorNotFoundError extends IosError$1 {
|
|
|
588
591
|
* "it is shut down" would otherwise be buried in a CoreSimulator envelope that
|
|
589
592
|
* reads like a lookup bug.
|
|
590
593
|
*/
|
|
591
|
-
declare class SimulatorNotBootedError extends IosError$1 {
|
|
594
|
+
export declare class SimulatorNotBootedError extends IosError$1 {
|
|
592
595
|
readonly name = "SimulatorNotBootedError";
|
|
593
596
|
constructor(name: string, udid: string);
|
|
594
597
|
}
|
|
@@ -599,26 +602,23 @@ declare class SimulatorNotBootedError extends IosError$1 {
|
|
|
599
602
|
* at all: `simctl io` against one of these aborts with an uncaught
|
|
600
603
|
* NSInternalInconsistencyException and a thirty-line stack trace.
|
|
601
604
|
*/
|
|
602
|
-
declare class RuntimeUnavailableError extends IosError$1 {
|
|
605
|
+
export declare class RuntimeUnavailableError extends IosError$1 {
|
|
603
606
|
readonly name = "RuntimeUnavailableError";
|
|
604
607
|
constructor(name: string, reason: string | undefined);
|
|
605
608
|
}
|
|
606
609
|
/** Thrown when a write path is reached while IOS_SIMULATOR_ALLOW_WRITES is off. */
|
|
607
|
-
declare class WritesDisabledError extends IosError$1 {
|
|
610
|
+
export declare class WritesDisabledError extends IosError$1 {
|
|
608
611
|
readonly name = "WritesDisabledError";
|
|
609
612
|
constructor(what: string);
|
|
610
613
|
}
|
|
611
614
|
/** A shut-down simulator captures nothing, and that is the usual cause here. */
|
|
612
|
-
declare const EMPTY_SCREENSHOT_REMEDY: string;
|
|
613
|
-
//#endregion
|
|
614
|
-
//#region src/build-info.d.ts
|
|
615
|
+
export declare const EMPTY_SCREENSHOT_REMEDY: string;
|
|
615
616
|
type BuildInfo = {
|
|
616
617
|
name: string;
|
|
617
618
|
version: string;
|
|
618
619
|
gitCommit: string;
|
|
619
620
|
gitCommitDate: string;
|
|
620
621
|
};
|
|
621
|
-
declare const BUILD_INFO: BuildInfo;
|
|
622
|
-
|
|
623
|
-
export { BUILD_INFO, CommandError, CommandTimeoutError, type Config, type CreateServerOptions, type CreatedServer, EMPTY_SCREENSHOT_REMEDY, IosError, type RawDeviceType, type RawRuntime, type RawSim, type RawSimApp, RuntimeUnavailableError, SERVER_NAME, SERVER_VERSION, START_RUNNER_SCRIPT_REMEDY, START_RUNNER_TOOL_REMEDY, type SimAppSummary, Simctl, SimulatorClient, SimulatorNotBootedError, SimulatorNotFoundError, type SimulatorSummary, TIMEOUT_REMEDY, TOOLCHAIN_REMEDY, ToolchainError, WdaError, WdaUnavailableError, WritesDisabledError, assertNotBulkTarget, createServer, defaultConfigPath, loadConfig, parseSimctlError, pngDimensions, readScreenProfile, startRunnerRemedy, summarizeApps, summarizeDevices, toDisplayInfo, toListRow, wdaUnavailableRemedy };
|
|
622
|
+
export declare const BUILD_INFO: BuildInfo;
|
|
623
|
+
export { CommandError, CommandTimeoutError, type Config, type CreateServerOptions, type CreatedServer, IosError, type RawDeviceType, type RawRuntime, type RawSim, type RawSimApp, type SimAppSummary, type SimulatorSummary, ToolchainError, WdaError, WdaUnavailableError };
|
|
624
624
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/client/logs.ts","../src/client/simctl.ts","../src/client/shape.ts","../src/client/simulator.ts","../src/config.ts","../src/tools/runner.ts","../src/server.ts","../src/client/display.ts","../src/client/errors.ts","../src/build-info.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["IosError"],"sources":["../src/client/logs.ts","../src/client/simctl.ts","../src/client/shape.ts","../src/client/simulator.ts","../src/config.ts","../src/tools/runner.ts","../src/server.ts","../src/client/display.ts","../src/client/errors.ts","../src/build-info.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { BUILD_INFO, CommandError, CommandTimeoutError, EMPTY_SCREENSHOT_REMEDY, IosError, RuntimeUnavailableError, SERVER_NAME, SERVER_VERSION, START_RUNNER_SCRIPT_REMEDY, START_RUNNER_TOOL_REMEDY, Simctl, SimulatorClient, SimulatorNotBootedError, SimulatorNotFoundError, TIMEOUT_REMEDY, TOOLCHAIN_REMEDY, ToolchainError, WdaError, WdaUnavailableError, WritesDisabledError, assertNotBulkTarget, createServer, defaultConfigPath, loadConfig, parseSimctlError, pngDimensions, readScreenProfile, startRunnerRemedy, summarizeApps, summarizeDevices, toDisplayInfo, toListRow, wdaUnavailableRemedy };
|
|
1
|
+
export { N as BUILD_INFO, g as CommandError, _ as CommandTimeoutError, v as EMPTY_SCREENSHOT_REMEDY, y as IosError, b as RuntimeUnavailableError, r as SERVER_NAME, i as SERVER_VERSION, x as START_RUNNER_SCRIPT_REMEDY, S as START_RUNNER_TOOL_REMEDY, s as Simctl, o as SimulatorClient, C as SimulatorNotBootedError, w as SimulatorNotFoundError, T as TIMEOUT_REMEDY, E as TOOLCHAIN_REMEDY, D as ToolchainError, O as WdaError, k as WdaUnavailableError, A as WritesDisabledError, c as assertNotBulkTarget, a as createServer, t as defaultConfigPath, n as loadConfig, l as parseSimctlError, p as pngDimensions, m as readScreenProfile, j as startRunnerRemedy, u as summarizeApps, d as summarizeDevices, h as toDisplayInfo, f as toListRow, M as wdaUnavailableRemedy } from "./config-HmqayUrt.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mgcrea/mcp-ios-simulator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Model Context Protocol server for driving iOS Simulators: screenshots, UI tree, taps, app lifecycle and device staging",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ios",
|
|
@@ -60,23 +60,23 @@
|
|
|
60
60
|
"prepublishOnly": "pnpm build"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@mgcrea/mcp-ios-core": "^0.
|
|
64
|
-
"@modelcontextprotocol/server": "^2.
|
|
65
|
-
"zod": "^4.
|
|
63
|
+
"@mgcrea/mcp-ios-core": "^0.4.0",
|
|
64
|
+
"@modelcontextprotocol/server": "^2.4.0",
|
|
65
|
+
"zod": "^4.6.7"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@modelcontextprotocol/client": "^2.
|
|
69
|
-
"@types/node": "^26.
|
|
70
|
-
"oxfmt": "^0.
|
|
71
|
-
"oxlint": "^1.
|
|
72
|
-
"tsdown": "^0.
|
|
73
|
-
"tsx": "^4.23.
|
|
68
|
+
"@modelcontextprotocol/client": "^2.4.0",
|
|
69
|
+
"@types/node": "^26.6.5",
|
|
70
|
+
"oxfmt": "^0.75.0",
|
|
71
|
+
"oxlint": "^1.90.0",
|
|
72
|
+
"tsdown": "^0.23.3",
|
|
73
|
+
"tsx": "^4.23.15",
|
|
74
74
|
"typescript": "^7.0.2",
|
|
75
|
-
"vite": "^8.
|
|
76
|
-
"vitest": "^
|
|
75
|
+
"vite": "^8.3.5",
|
|
76
|
+
"vitest": "^5.0.5"
|
|
77
77
|
},
|
|
78
78
|
"engines": {
|
|
79
79
|
"node": ">=22"
|
|
80
80
|
},
|
|
81
|
-
"packageManager": "pnpm@
|
|
81
|
+
"packageManager": "pnpm@12.10.1"
|
|
82
82
|
}
|