@swmansion/argent 0.5.2 → 0.6.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +21 -15
  2. package/bin/ax-service +0 -0
  3. package/bin/simulator-server +0 -0
  4. package/dist/bundled-paths.d.ts +2 -0
  5. package/dist/bundled-paths.js +9 -0
  6. package/dist/bundled-paths.js.map +1 -0
  7. package/dist/cli-cmds.mjs +729 -0
  8. package/dist/cli.d.ts +15 -6
  9. package/dist/cli.js +59 -12
  10. package/dist/cli.js.map +1 -1
  11. package/dist/installer.mjs +14730 -0
  12. package/dist/mcp-server.mjs +14352 -0
  13. package/dist/preview-ui/index.html +799 -0
  14. package/dist/tool-server.cjs +4243 -1176
  15. package/dylibs/libArgentInjectionBootstrap.dylib +0 -0
  16. package/dylibs/libKeyboardPatch.dylib +0 -0
  17. package/dylibs/libNativeDevtoolsIos.dylib +0 -0
  18. package/package.json +16 -10
  19. package/skills/argent-react-native-profiler/SKILL.md +16 -12
  20. package/dist/auto-screenshot.d.ts +0 -22
  21. package/dist/auto-screenshot.js +0 -79
  22. package/dist/auto-screenshot.js.map +0 -1
  23. package/dist/cli/constants.d.ts +0 -6
  24. package/dist/cli/constants.js +0 -12
  25. package/dist/cli/constants.js.map +0 -1
  26. package/dist/cli/init.d.ts +0 -2
  27. package/dist/cli/init.js +0 -476
  28. package/dist/cli/init.js.map +0 -1
  29. package/dist/cli/mcp-configs.d.ts +0 -38
  30. package/dist/cli/mcp-configs.js +0 -724
  31. package/dist/cli/mcp-configs.js.map +0 -1
  32. package/dist/cli/uninstall.d.ts +0 -13
  33. package/dist/cli/uninstall.js +0 -389
  34. package/dist/cli/uninstall.js.map +0 -1
  35. package/dist/cli/update.d.ts +0 -1
  36. package/dist/cli/update.js +0 -126
  37. package/dist/cli/update.js.map +0 -1
  38. package/dist/cli/utils.d.ts +0 -27
  39. package/dist/cli/utils.js +0 -158
  40. package/dist/cli/utils.js.map +0 -1
  41. package/dist/content.d.ts +0 -31
  42. package/dist/content.js +0 -59
  43. package/dist/content.js.map +0 -1
  44. package/dist/launcher.d.ts +0 -8
  45. package/dist/launcher.js +0 -183
  46. package/dist/launcher.js.map +0 -1
  47. package/dist/mcp-server.d.ts +0 -1
  48. package/dist/mcp-server.js +0 -228
  49. package/dist/mcp-server.js.map +0 -1
package/dist/cli/utils.js DELETED
@@ -1,158 +0,0 @@
1
- import * as fs from "node:fs";
2
- import * as path from "node:path";
3
- import { execSync } from "node:child_process";
4
- import { PACKAGE_NAME, NPM_REGISTRY } from "./constants.js";
5
- import { parse as parseToml, stringify as stringifyToml } from "smol-toml";
6
- // ── Package root resolution ───────────────────────────────────────────────────
7
- // tsc compiles src/cli/utils.ts -> dist/cli/utils.js.
8
- // The package root (containing skills/, rules/, agents/) is two levels up.
9
- // This is deterministic — tsc preserves directory structure, and npm packages
10
- // keep their internal layout regardless of hoisting or monorepo setup.
11
- /**
12
- * Given the __dirname of a file inside dist/cli/, return the package root.
13
- * Exported so it can be tested against simulated directory structures.
14
- */
15
- export function resolvePackageRoot(dirname) {
16
- return path.resolve(dirname, "..", "..");
17
- }
18
- export const PACKAGE_ROOT = resolvePackageRoot(import.meta.dirname);
19
- function resolveBundledDir(dirName) {
20
- const packagedDir = path.join(PACKAGE_ROOT, dirName);
21
- if (fs.existsSync(packagedDir))
22
- return packagedDir;
23
- // In the monorepo source tree, these assets live under packages/skills/.
24
- return path.resolve(PACKAGE_ROOT, "..", "skills", dirName);
25
- }
26
- export const SKILLS_DIR = resolveBundledDir("skills");
27
- export const RULES_DIR = resolveBundledDir("rules");
28
- export const AGENTS_DIR = resolveBundledDir("agents");
29
- const PROJECT_ROOT_MARKERS = [
30
- ".mcp.json",
31
- ".claude",
32
- ".cursor",
33
- ".vscode",
34
- ".gemini",
35
- ".codex",
36
- ".agents",
37
- ".zed",
38
- "skills-lock.json",
39
- ];
40
- export function resolveProjectRoot(startDir) {
41
- const initialDir = path.resolve(startDir);
42
- let currentDir = initialDir;
43
- while (true) {
44
- if (PROJECT_ROOT_MARKERS.some((marker) => fs.existsSync(path.join(currentDir, marker)))) {
45
- return currentDir;
46
- }
47
- if (fs.existsSync(path.join(currentDir, ".git"))) {
48
- return currentDir;
49
- }
50
- const parentDir = path.dirname(currentDir);
51
- if (parentDir === currentDir) {
52
- return initialDir;
53
- }
54
- currentDir = parentDir;
55
- }
56
- }
57
- // ── TOML helpers ─────────────────────────────────────────────────────────────
58
- export function readToml(filePath) {
59
- if (!fs.existsSync(filePath))
60
- return {};
61
- try {
62
- return parseToml(fs.readFileSync(filePath, "utf8"));
63
- }
64
- catch {
65
- return {};
66
- }
67
- }
68
- export function writeToml(filePath, data) {
69
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
70
- fs.writeFileSync(filePath, stringifyToml(data) + "\n");
71
- }
72
- // ── JSON helpers ──────────────────────────────────────────────────────────────
73
- export function readJson(filePath) {
74
- if (!fs.existsSync(filePath))
75
- return {};
76
- try {
77
- return JSON.parse(fs.readFileSync(filePath, "utf8"));
78
- }
79
- catch {
80
- return {};
81
- }
82
- }
83
- export function writeJson(filePath, data) {
84
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
85
- fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + "\n");
86
- }
87
- // ── Directory helpers ─────────────────────────────────────────────────────────
88
- export function copyDir(src, dest) {
89
- if (!fs.existsSync(src))
90
- return false;
91
- fs.mkdirSync(dest, { recursive: true });
92
- fs.cpSync(src, dest, { recursive: true });
93
- return true;
94
- }
95
- export function dirExists(p) {
96
- try {
97
- return fs.statSync(p).isDirectory();
98
- }
99
- catch {
100
- return false;
101
- }
102
- }
103
- // ── Version helpers ───────────────────────────────────────────────────────────
104
- export function getInstalledVersion() {
105
- try {
106
- const pkgPath = path.join(PACKAGE_ROOT, "package.json");
107
- const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
108
- return pkg.version ?? null;
109
- }
110
- catch {
111
- return null;
112
- }
113
- }
114
- export function getLatestVersion() {
115
- const result = execSync(`npm view ${PACKAGE_NAME} version --registry ${NPM_REGISTRY}`, {
116
- encoding: "utf8",
117
- });
118
- return result.trim();
119
- }
120
- export function formatShellCommand(cmd) {
121
- const parts = [cmd.bin, ...cmd.args.map((a) => (a.includes(" ") ? `"${a}"` : a))];
122
- return parts.join(" ");
123
- }
124
- export function detectPackageManager() {
125
- const agent = process.env.npm_config_user_agent ?? "";
126
- if (agent.startsWith("yarn"))
127
- return "yarn";
128
- if (agent.startsWith("pnpm"))
129
- return "pnpm";
130
- if (agent.startsWith("bun"))
131
- return "bun";
132
- return "npm";
133
- }
134
- export function globalInstallCommand(pm, pkg) {
135
- switch (pm) {
136
- case "yarn":
137
- return { bin: "yarn", args: ["global", "add", pkg] };
138
- case "pnpm":
139
- return { bin: "pnpm", args: ["add", "-g", pkg] };
140
- case "bun":
141
- return { bin: "bun", args: ["add", "-g", pkg] };
142
- default:
143
- return { bin: "npm", args: ["install", "-g", pkg] };
144
- }
145
- }
146
- export function globalUninstallCommand(pm, pkg) {
147
- switch (pm) {
148
- case "yarn":
149
- return { bin: "yarn", args: ["global", "remove", pkg] };
150
- case "pnpm":
151
- return { bin: "pnpm", args: ["remove", "-g", pkg] };
152
- case "bun":
153
- return { bin: "bun", args: ["remove", "-g", pkg] };
154
- default:
155
- return { bin: "npm", args: ["uninstall", "-g", pkg] };
156
- }
157
- }
158
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
package/dist/content.d.ts DELETED
@@ -1,31 +0,0 @@
1
- /**
2
- * Convert raw tool results into MCP content blocks (text / image).
3
- *
4
- * Extracted so it can be tested independently of the MCP server wiring.
5
- */
6
- export type ContentBlock = {
7
- type: "text";
8
- text: string;
9
- } | {
10
- type: "image";
11
- data: string;
12
- mimeType: string;
13
- };
14
- export declare function toMcpContent(result: unknown, outputHint?: string): Promise<ContentBlock[]>;
15
- export type FlowExecuteResult = {
16
- flow: string;
17
- executionPrerequisite?: string;
18
- steps: {
19
- kind: string;
20
- tool?: string;
21
- message?: string;
22
- result?: unknown;
23
- outputHint?: string;
24
- error?: string;
25
- }[];
26
- };
27
- /**
28
- * Unpack flow-execute's structured step results into MCP content blocks.
29
- * Each step carries its own outputHint so toMcpContent handles images correctly.
30
- */
31
- export declare function flowRunToMcpContent(result: FlowExecuteResult): Promise<ContentBlock[]>;
package/dist/content.js DELETED
@@ -1,59 +0,0 @@
1
- /**
2
- * Convert raw tool results into MCP content blocks (text / image).
3
- *
4
- * Extracted so it can be tested independently of the MCP server wiring.
5
- */
6
- export async function toMcpContent(result, outputHint) {
7
- if (outputHint === "image" && result && typeof result === "object" && "url" in result) {
8
- const imgRes = await fetch(result.url);
9
- const buf = Buffer.from(await imgRes.arrayBuffer());
10
- const filePath = result.path ?? "";
11
- return [
12
- {
13
- type: "image",
14
- data: buf.toString("base64"),
15
- mimeType: "image/png",
16
- },
17
- { type: "text", text: `Saved: ${filePath}` },
18
- ];
19
- }
20
- return [{ type: "text", text: JSON.stringify(result, null, 2) }];
21
- }
22
- /**
23
- * Unpack flow-execute's structured step results into MCP content blocks.
24
- * Each step carries its own outputHint so toMcpContent handles images correctly.
25
- */
26
- export async function flowRunToMcpContent(result) {
27
- const blocks = [];
28
- if (result.executionPrerequisite) {
29
- blocks.push({
30
- type: "text",
31
- text: `Prerequisite: ${result.executionPrerequisite}`,
32
- });
33
- }
34
- blocks.push({
35
- type: "text",
36
- text: `Running flow "${result.flow}" (${result.steps.length} steps)`,
37
- });
38
- for (let i = 0; i < result.steps.length; i++) {
39
- const step = result.steps[i];
40
- const num = i + 1;
41
- if (step.kind === "echo") {
42
- blocks.push({ type: "text", text: `[${num}] ${step.message}` });
43
- }
44
- else if ("error" in step && step.error) {
45
- blocks.push({
46
- type: "text",
47
- text: `[${num}] ${step.tool} ERROR: ${step.error}`,
48
- });
49
- }
50
- else {
51
- blocks.push({ type: "text", text: `[${num}] ${step.tool}` });
52
- const stepContent = await toMcpContent(step.result, step.outputHint);
53
- blocks.push(...stepContent);
54
- }
55
- }
56
- blocks.push({ type: "text", text: `Flow "${result.flow}" complete.` });
57
- return blocks;
58
- }
59
- //# sourceMappingURL=content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAe,EAAE,UAAmB;IACrE,IAAI,UAAU,KAAK,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACtF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAE,MAA0B,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAI,MAA4B,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1D,OAAO;YACL;gBACE,IAAI,EAAE,OAAgB;gBACtB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC5B,QAAQ,EAAE,WAAoB;aAC/B;YACD,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,QAAQ,EAAE,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAeD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAyB;IACjE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,iBAAiB,MAAM,CAAC,qBAAqB,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS;KACrE,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,KAAK,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare const BUNDLED_RUNTIME_PATHS: {
2
- bundlePath: string;
3
- simulatorServerDir: string;
4
- nativeDevtoolsDir: string;
5
- };
6
- export declare function buildToolsServerEnv(port: number, baseEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
7
- export declare function killToolServer(): Promise<void>;
8
- export declare function ensureToolsServer(): Promise<string>;
package/dist/launcher.js DELETED
@@ -1,183 +0,0 @@
1
- import * as net from "node:net";
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import * as readline from "node:readline";
5
- import { homedir } from "node:os";
6
- import { spawn } from "node:child_process";
7
- import { mkdir, writeFile, readFile, unlink } from "node:fs/promises";
8
- const STATE_DIR = path.join(homedir(), ".argent");
9
- const STATE_FILE = path.join(STATE_DIR, "tool-server.json");
10
- const LOG_FILE = path.join(STATE_DIR, "tool-server.log");
11
- // __dirname in ESM (compiled from TS) will be dist/
12
- export const BUNDLED_RUNTIME_PATHS = {
13
- bundlePath: path.join(import.meta.dirname, "tool-server.cjs"),
14
- simulatorServerDir: path.join(import.meta.dirname, "..", "bin"),
15
- nativeDevtoolsDir: path.join(import.meta.dirname, "..", "dylibs"),
16
- };
17
- const BUNDLE_PATH = BUNDLED_RUNTIME_PATHS.bundlePath;
18
- export function buildToolsServerEnv(port, baseEnv = process.env) {
19
- return {
20
- ...baseEnv,
21
- PORT: String(port),
22
- ARGENT_SIMULATOR_SERVER_DIR: BUNDLED_RUNTIME_PATHS.simulatorServerDir,
23
- ARGENT_NATIVE_DEVTOOLS_DIR: BUNDLED_RUNTIME_PATHS.nativeDevtoolsDir,
24
- };
25
- }
26
- function findFreePort() {
27
- return new Promise((resolve, reject) => {
28
- const srv = net.createServer();
29
- srv.listen(0, "127.0.0.1", () => {
30
- const addr = srv.address();
31
- if (!addr || typeof addr !== "object") {
32
- srv.close(() => reject(new Error("Could not bind to find free port")));
33
- return;
34
- }
35
- const port = addr.port;
36
- srv.close((err) => {
37
- if (err)
38
- reject(err);
39
- else
40
- resolve(port);
41
- });
42
- });
43
- srv.on("error", reject);
44
- });
45
- }
46
- function isProcessAlive(pid) {
47
- try {
48
- process.kill(pid, 0);
49
- return true;
50
- }
51
- catch {
52
- return false;
53
- }
54
- }
55
- async function isHealthy(port) {
56
- const controller = new AbortController();
57
- const timer = setTimeout(() => controller.abort(), 2000);
58
- try {
59
- const res = await fetch(`http://127.0.0.1:${port}/tools`, {
60
- signal: controller.signal,
61
- });
62
- return res.ok;
63
- }
64
- catch {
65
- return false;
66
- }
67
- finally {
68
- clearTimeout(timer);
69
- }
70
- }
71
- function spawnToolsServer(port) {
72
- return new Promise((resolve, reject) => {
73
- let logFd;
74
- try {
75
- fs.mkdirSync(STATE_DIR, { recursive: true });
76
- logFd = fs.openSync(LOG_FILE, "a");
77
- }
78
- catch {
79
- logFd = fs.openSync("/dev/null", "w");
80
- }
81
- const child = spawn("node", [BUNDLE_PATH, "start"], {
82
- detached: true,
83
- stdio: ["ignore", "pipe", logFd],
84
- env: buildToolsServerEnv(port),
85
- });
86
- child.unref();
87
- const pid = child.pid;
88
- if (!pid) {
89
- reject(new Error("Failed to get PID of spawned tools server"));
90
- return;
91
- }
92
- let settled = false;
93
- const settle = (fn) => {
94
- if (settled)
95
- return;
96
- settled = true;
97
- fn();
98
- };
99
- const rl = readline.createInterface({ input: child.stdout });
100
- rl.on("line", (line) => {
101
- // Match: "Tools server listening on http://127.0.0.1:<port>"
102
- const match = line.match(/Tools server listening on http:\/\/127\.0\.0\.1:(\d+)/);
103
- if (match) {
104
- const actualPort = parseInt(match[1], 10);
105
- rl.close();
106
- // Resume stdout so the pipe stays open and the child's console.log calls
107
- // don't fail with EPIPE once the readline interface stops consuming it.
108
- child.stdout?.resume();
109
- settle(() => resolve({ port: actualPort, pid }));
110
- }
111
- });
112
- child.on("error", (err) => {
113
- rl.close();
114
- settle(() => reject(err));
115
- });
116
- child.on("exit", (code) => {
117
- rl.close();
118
- settle(() => reject(new Error(`tool-server exited with code ${code} before becoming ready`)));
119
- });
120
- const timer = setTimeout(() => {
121
- rl.close();
122
- settle(() => reject(new Error("Timed out waiting for tools server to become ready")));
123
- }, 15_000);
124
- rl.on("close", () => clearTimeout(timer));
125
- });
126
- }
127
- async function readState() {
128
- try {
129
- const raw = await readFile(STATE_FILE, "utf8");
130
- return JSON.parse(raw);
131
- }
132
- catch {
133
- return null;
134
- }
135
- }
136
- async function writeState(state) {
137
- await mkdir(STATE_DIR, { recursive: true });
138
- await writeFile(STATE_FILE, JSON.stringify(state, null, 2) + "\n", "utf8");
139
- }
140
- async function clearState() {
141
- try {
142
- await unlink(STATE_FILE);
143
- }
144
- catch {
145
- // already gone
146
- }
147
- }
148
- export async function killToolServer() {
149
- const state = await readState();
150
- if (!state)
151
- return;
152
- try {
153
- process.kill(state.pid, "SIGTERM");
154
- }
155
- catch {
156
- // already gone
157
- }
158
- await clearState();
159
- }
160
- export async function ensureToolsServer() {
161
- const state = await readState();
162
- if (state) {
163
- const alive = isProcessAlive(state.pid);
164
- if (alive) {
165
- const healthy = await isHealthy(state.port);
166
- if (healthy) {
167
- return `http://127.0.0.1:${state.port}`;
168
- }
169
- }
170
- await clearState();
171
- }
172
- // Spawn a new server
173
- const port = await findFreePort();
174
- const { port: actualPort, pid } = await spawnToolsServer(port);
175
- await writeState({
176
- port: actualPort,
177
- pid,
178
- startedAt: new Date().toISOString(),
179
- bundlePath: BUNDLE_PATH,
180
- });
181
- return `http://127.0.0.1:${actualPort}`;
182
- }
183
- //# sourceMappingURL=launcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function startMcpServer(): Promise<void>;