@minicor/mcp-server 3.8.0 → 3.9.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.
Files changed (75) hide show
  1. package/README.md +33 -1
  2. package/dist/__tests__/builder-discovery.test.d.ts +2 -0
  3. package/dist/__tests__/builder-discovery.test.d.ts.map +1 -0
  4. package/dist/__tests__/builder-discovery.test.js +120 -0
  5. package/dist/__tests__/builder-discovery.test.js.map +1 -0
  6. package/dist/__tests__/codemode.test.js +35 -0
  7. package/dist/__tests__/codemode.test.js.map +1 -1
  8. package/dist/__tests__/config-stores.test.d.ts +2 -0
  9. package/dist/__tests__/config-stores.test.d.ts.map +1 -0
  10. package/dist/__tests__/config-stores.test.js +88 -0
  11. package/dist/__tests__/config-stores.test.js.map +1 -0
  12. package/dist/__tests__/dev-mode-draft.test.d.ts +2 -0
  13. package/dist/__tests__/dev-mode-draft.test.d.ts.map +1 -0
  14. package/dist/__tests__/dev-mode-draft.test.js +260 -0
  15. package/dist/__tests__/dev-mode-draft.test.js.map +1 -0
  16. package/dist/__tests__/disk-token-store.test.d.ts +2 -0
  17. package/dist/__tests__/disk-token-store.test.d.ts.map +1 -0
  18. package/dist/__tests__/disk-token-store.test.js +231 -0
  19. package/dist/__tests__/disk-token-store.test.js.map +1 -0
  20. package/dist/__tests__/laminar-client.test.js +130 -0
  21. package/dist/__tests__/laminar-client.test.js.map +1 -1
  22. package/dist/__tests__/lib-dev-mode.test.d.ts +2 -0
  23. package/dist/__tests__/lib-dev-mode.test.d.ts.map +1 -0
  24. package/dist/__tests__/lib-dev-mode.test.js +48 -0
  25. package/dist/__tests__/lib-dev-mode.test.js.map +1 -0
  26. package/dist/__tests__/server-profile.test.d.ts +2 -0
  27. package/dist/__tests__/server-profile.test.d.ts.map +1 -0
  28. package/dist/__tests__/server-profile.test.js +311 -0
  29. package/dist/__tests__/server-profile.test.js.map +1 -0
  30. package/dist/builder-index.d.ts +3 -0
  31. package/dist/builder-index.d.ts.map +1 -0
  32. package/dist/builder-index.js +5 -0
  33. package/dist/builder-index.js.map +1 -0
  34. package/dist/codemode.d.ts +3 -1
  35. package/dist/codemode.d.ts.map +1 -1
  36. package/dist/codemode.js +20 -6
  37. package/dist/codemode.js.map +1 -1
  38. package/dist/disk-token-store.d.ts +101 -0
  39. package/dist/disk-token-store.d.ts.map +1 -0
  40. package/dist/disk-token-store.js +398 -0
  41. package/dist/disk-token-store.js.map +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +64 -118
  44. package/dist/index.js.map +1 -1
  45. package/dist/laminar-client.d.ts +105 -0
  46. package/dist/laminar-client.d.ts.map +1 -1
  47. package/dist/laminar-client.js +41 -1
  48. package/dist/laminar-client.js.map +1 -1
  49. package/dist/lib.d.ts +4 -0
  50. package/dist/lib.d.ts.map +1 -1
  51. package/dist/lib.js +16 -51
  52. package/dist/lib.js.map +1 -1
  53. package/dist/server-profile.d.ts +11 -0
  54. package/dist/server-profile.d.ts.map +1 -0
  55. package/dist/server-profile.js +104 -0
  56. package/dist/server-profile.js.map +1 -0
  57. package/dist/setup.d.ts +1 -0
  58. package/dist/setup.d.ts.map +1 -1
  59. package/dist/setup.js +21 -47
  60. package/dist/setup.js.map +1 -1
  61. package/dist/tools/builder-discovery.d.ts +17 -0
  62. package/dist/tools/builder-discovery.d.ts.map +1 -0
  63. package/dist/tools/builder-discovery.js +131 -0
  64. package/dist/tools/builder-discovery.js.map +1 -0
  65. package/dist/tools/core.d.ts.map +1 -1
  66. package/dist/tools/core.js +5 -45
  67. package/dist/tools/core.js.map +1 -1
  68. package/dist/tools/dev-mode-draft.d.ts +3 -0
  69. package/dist/tools/dev-mode-draft.d.ts.map +1 -0
  70. package/dist/tools/dev-mode-draft.js +279 -0
  71. package/dist/tools/dev-mode-draft.js.map +1 -0
  72. package/dist/tools/vm.d.ts.map +1 -1
  73. package/dist/tools/vm.js +3 -35
  74. package/dist/tools/vm.js.map +1 -1
  75. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-mode-draft.test.js","sourceRoot":"","sources":["../../src/__tests__/dev-mode-draft.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=disk-token-store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-token-store.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/disk-token-store.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,231 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
5
+ import { DiskTokenStore, } from "../disk-token-store.js";
6
+ const NOW = 2_000_000_000_000;
7
+ function token(accessToken, overrides = {}) {
8
+ return {
9
+ access_token: accessToken,
10
+ refresh_token: `refresh-${accessToken}`,
11
+ expires_at: NOW + 60 * 60 * 1000,
12
+ ...overrides,
13
+ };
14
+ }
15
+ describe("DiskTokenStore", () => {
16
+ let root;
17
+ let legacyPath;
18
+ let writePath;
19
+ beforeEach(() => {
20
+ root = fs.mkdtempSync(path.join(os.tmpdir(), "minicor-token-store-"));
21
+ legacyPath = path.join(root, "legacy", "tokens.json");
22
+ writePath = path.join(root, "minicor", "tokens.json");
23
+ });
24
+ afterEach(() => {
25
+ fs.rmSync(root, { recursive: true, force: true });
26
+ });
27
+ function store(options = {}) {
28
+ return new DiskTokenStore({
29
+ readPath: legacyPath,
30
+ writePath,
31
+ now: () => NOW,
32
+ lockRetryMs: 1,
33
+ lockTimeoutMs: 2_000,
34
+ ...options,
35
+ });
36
+ }
37
+ function writeJson(filePath, value) {
38
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
39
+ fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`);
40
+ }
41
+ it("reads current multi-region files synchronously", () => {
42
+ const us = token("us-token", { region: "us" });
43
+ const ca = token("ca-token", { region: "ca" });
44
+ writeJson(legacyPath, { us, ca });
45
+ const tokens = store().readAll();
46
+ expect(tokens).toEqual({ us, ca });
47
+ expect(store().readRegion("ca")).toEqual(ca);
48
+ });
49
+ it("normalizes legacy flat files and infers their region", () => {
50
+ const legacy = token("legacy-token", {
51
+ api_base: "https://ca.api.laminar.run",
52
+ });
53
+ writeJson(legacyPath, legacy);
54
+ expect(store().readAll()).toEqual({ ca: legacy });
55
+ expect(store().readRegion("us")).toBeNull();
56
+ });
57
+ it("returns an empty store for missing or malformed files", () => {
58
+ expect(store().readAll()).toEqual({});
59
+ writeJson(legacyPath, "not a token document");
60
+ expect(store().readAll()).toEqual({});
61
+ fs.writeFileSync(legacyPath, "{invalid json");
62
+ expect(store().readAll()).toEqual({});
63
+ });
64
+ it("atomically migrates legacy reads and preserves other regions", async () => {
65
+ const us = token("us-token", { region: "us" });
66
+ const ca = token("ca-token", { region: "ca" });
67
+ writeJson(legacyPath, { us });
68
+ const tokenStore = store();
69
+ await tokenStore.writeRegion("ca", ca);
70
+ expect(JSON.parse(fs.readFileSync(writePath, "utf8"))).toEqual({ us, ca });
71
+ expect(tokenStore.readAll()).toEqual({ us, ca });
72
+ expect(fs.statSync(writePath).mode & 0o777).toBe(0o600);
73
+ expect(fs.readdirSync(path.dirname(writePath))).toEqual(["tokens.json"]);
74
+ });
75
+ it("clears current and legacy token files under the store lock", async () => {
76
+ writeJson(legacyPath, { us: token("legacy-token") });
77
+ writeJson(writePath, { ca: token("current-token") });
78
+ await store({
79
+ readPath: () => (fs.existsSync(writePath) ? writePath : legacyPath),
80
+ }).clear();
81
+ expect(fs.existsSync(legacyPath)).toBe(false);
82
+ expect(fs.existsSync(writePath)).toBe(false);
83
+ expect(fs.existsSync(`${writePath}.lock`)).toBe(false);
84
+ });
85
+ it("serializes concurrent writers so region updates are not lost", async () => {
86
+ const first = store();
87
+ const second = store();
88
+ const us = token("us-token", { region: "us" });
89
+ const ca = token("ca-token", { region: "ca" });
90
+ await Promise.all([
91
+ first.writeRegion("us", us),
92
+ second.writeRegion("ca", ca),
93
+ ]);
94
+ expect(first.readAll()).toEqual({ us, ca });
95
+ });
96
+ it("updates metadata from the latest locked token value", async () => {
97
+ writeJson(writePath, {
98
+ us: token("new-token", { refresh_token: "new-refresh" }),
99
+ });
100
+ const updated = await store().updateRegion("us", (current) => ({
101
+ ...current,
102
+ api_base: "https://custom.example.com",
103
+ }));
104
+ expect(updated).toMatchObject({
105
+ access_token: "new-token",
106
+ refresh_token: "new-refresh",
107
+ api_base: "https://custom.example.com",
108
+ });
109
+ expect(store().readRegion("us")).toEqual(updated);
110
+ });
111
+ it("lets only one process callback rotate a refresh token", async () => {
112
+ const expired = token("old-token", {
113
+ refresh_token: "old-refresh",
114
+ expires_at: NOW - 1,
115
+ region: "us",
116
+ });
117
+ writeJson(writePath, { us: expired });
118
+ const refresh = vi.fn(async ({ refreshToken }) => {
119
+ expect(refreshToken).toBe("old-refresh");
120
+ await new Promise((resolve) => setTimeout(resolve, 10));
121
+ return {
122
+ access_token: "new-token",
123
+ expires_at: NOW + 60 * 60 * 1000,
124
+ };
125
+ });
126
+ const [first, second] = await Promise.all([
127
+ store().refreshRegion("us", "old-token", refresh),
128
+ store().refreshRegion("us", "old-token", refresh),
129
+ ]);
130
+ expect(refresh).toHaveBeenCalledOnce();
131
+ expect([first?.source, second?.source].sort()).toEqual([
132
+ "adopted",
133
+ "refreshed",
134
+ ]);
135
+ expect(first?.tokens.access_token).toBe("new-token");
136
+ expect(second?.tokens.access_token).toBe("new-token");
137
+ expect(store().readRegion("us")).toMatchObject({
138
+ access_token: "new-token",
139
+ refresh_token: "old-refresh",
140
+ region: "us",
141
+ });
142
+ });
143
+ it("refreshes with the latest credentials when a changed token is stale", async () => {
144
+ const ca = token("ca-token", { region: "ca" });
145
+ writeJson(writePath, {
146
+ us: token("changed-but-stale", {
147
+ refresh_token: "latest-refresh",
148
+ expires_at: NOW + 60_000,
149
+ api_base: "https://custom.example.com",
150
+ region: "us",
151
+ }),
152
+ ca,
153
+ });
154
+ const refresh = vi.fn(async (context) => {
155
+ expect(context.tokens.access_token).toBe("changed-but-stale");
156
+ expect(context.refreshToken).toBe("latest-refresh");
157
+ return {
158
+ access_token: "finally-fresh",
159
+ refresh_token: "rotated-refresh",
160
+ expires_at: NOW + 60 * 60 * 1000,
161
+ };
162
+ });
163
+ const result = await store({ refreshBufferMs: 5 * 60 * 1000 }).refreshRegion("us", "original-token", refresh);
164
+ expect(result?.source).toBe("refreshed");
165
+ expect(result?.tokens).toMatchObject({
166
+ access_token: "finally-fresh",
167
+ refresh_token: "rotated-refresh",
168
+ api_base: "https://custom.example.com",
169
+ region: "us",
170
+ });
171
+ expect(store().readRegion("ca")).toEqual(ca);
172
+ });
173
+ it("does not modify the file when refresh fails", async () => {
174
+ const expired = token("old-token", {
175
+ expires_at: NOW - 1,
176
+ region: "us",
177
+ });
178
+ writeJson(writePath, { us: expired });
179
+ const before = fs.readFileSync(writePath, "utf8");
180
+ const result = await store().refreshRegion("us", "old-token", async () => null);
181
+ expect(result).toBeNull();
182
+ expect(fs.readFileSync(writePath, "utf8")).toBe(before);
183
+ expect(fs.existsSync(`${writePath}.lock`)).toBe(false);
184
+ });
185
+ it("recovers a stale lock left by a dead process", async () => {
186
+ fs.mkdirSync(path.dirname(writePath), { recursive: true });
187
+ const lockPath = `${writePath}.lock`;
188
+ writeJson(lockPath, { owner: "dead", pid: 2_147_483_647 });
189
+ const old = new Date(Date.now() - 60_000);
190
+ fs.utimesSync(lockPath, old, old);
191
+ await store({ staleLockMs: 1 }).writeRegion("us", token("us-token"));
192
+ expect(store().readRegion("us")?.access_token).toBe("us-token");
193
+ expect(fs.existsSync(lockPath)).toBe(false);
194
+ });
195
+ it("serializes concurrent recovery of the same stale lock", async () => {
196
+ fs.mkdirSync(path.dirname(writePath), { recursive: true });
197
+ const lockPath = `${writePath}.lock`;
198
+ writeJson(lockPath, { owner: "dead", pid: 2_147_483_647 });
199
+ const old = new Date(Date.now() - 60_000);
200
+ fs.utimesSync(lockPath, old, old);
201
+ await Promise.all([
202
+ store({ staleLockMs: 1 }).writeRegion("us", token("us-token")),
203
+ store({ staleLockMs: 1 }).writeRegion("ca", token("ca-token")),
204
+ ]);
205
+ expect(store().readAll()).toEqual({
206
+ us: token("us-token"),
207
+ ca: token("ca-token"),
208
+ });
209
+ expect(fs.existsSync(lockPath)).toBe(false);
210
+ expect(fs.existsSync(`${lockPath}.cleanup`)).toBe(false);
211
+ });
212
+ it("recovers an abandoned stale-lock cleanup guard", async () => {
213
+ fs.mkdirSync(path.dirname(writePath), { recursive: true });
214
+ const lockPath = `${writePath}.lock`;
215
+ const cleanupPath = `${lockPath}.cleanup`;
216
+ writeJson(lockPath, { owner: "dead-lock", pid: 2_147_483_647 });
217
+ writeJson(cleanupPath, {
218
+ owner: "dead-cleaner",
219
+ pid: 2_147_483_647,
220
+ createdAt: Date.now() - 60_000,
221
+ });
222
+ const old = new Date(Date.now() - 60_000);
223
+ fs.utimesSync(lockPath, old, old);
224
+ fs.utimesSync(cleanupPath, old, old);
225
+ await store({ staleLockMs: 1 }).writeRegion("us", token("us-token"));
226
+ expect(store().readRegion("us")?.access_token).toBe("us-token");
227
+ expect(fs.existsSync(lockPath)).toBe(false);
228
+ expect(fs.existsSync(cleanupPath)).toBe(false);
229
+ });
230
+ });
231
+ //# sourceMappingURL=disk-token-store.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-token-store.test.js","sourceRoot":"","sources":["../../src/__tests__/disk-token-store.test.ts"],"names":[],"mappings":"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"}
@@ -91,4 +91,134 @@ describe("LaminarClient recording endpoints", () => {
91
91
  await expect(client.getExecutionRecording(1, 2)).rejects.toThrow("failed (404)");
92
92
  });
93
93
  });
94
+ describe("LaminarClient Dev Mode endpoints", () => {
95
+ const workspaceId = 42;
96
+ const endpointCases = [
97
+ {
98
+ name: "loadDevModeDraft",
99
+ call: (client) => client.loadDevModeDraft(workspaceId, { workflowId: 7 }),
100
+ method: "POST",
101
+ path: "/dev-mode/load",
102
+ body: { workflowId: 7 },
103
+ },
104
+ {
105
+ name: "getDevModeWorkspace",
106
+ call: (client) => client.getDevModeWorkspace(workspaceId),
107
+ method: "GET",
108
+ path: "/dev-mode/workspace",
109
+ },
110
+ {
111
+ name: "listDevModeSteps",
112
+ call: (client) => client.listDevModeSteps(workspaceId),
113
+ method: "GET",
114
+ path: "/dev-mode/steps",
115
+ },
116
+ {
117
+ name: "getDevModeStep",
118
+ call: (client) => client.getDevModeStep(workspaceId, "folder/step 1"),
119
+ method: "GET",
120
+ path: "/dev-mode/steps/folder%2Fstep%201",
121
+ },
122
+ {
123
+ name: "addDevModeStep",
124
+ call: (client) => client.addDevModeStep(workspaceId, {
125
+ name: "New step",
126
+ flowType: "RPA",
127
+ folder: false,
128
+ }),
129
+ method: "POST",
130
+ path: "/dev-mode/steps",
131
+ body: { name: "New step", flowType: "RPA", folder: false },
132
+ },
133
+ {
134
+ name: "editDevModeStep",
135
+ call: (client) => client.editDevModeStep(workspaceId, "step-1", {
136
+ name: "Renamed step",
137
+ program: "return data;",
138
+ }),
139
+ method: "PUT",
140
+ path: "/dev-mode/steps/step-1",
141
+ body: { name: "Renamed step", program: "return data;" },
142
+ },
143
+ {
144
+ name: "removeDevModeStep",
145
+ call: (client) => client.removeDevModeStep(workspaceId, "step-1"),
146
+ method: "DELETE",
147
+ path: "/dev-mode/steps/step-1",
148
+ },
149
+ {
150
+ name: "reorderDevModeSteps",
151
+ call: (client) => client.reorderDevModeSteps(workspaceId, {
152
+ draggedKey: "step-2",
153
+ targetKey: "step-1",
154
+ }),
155
+ method: "POST",
156
+ path: "/dev-mode/reorder",
157
+ body: { draggedKey: "step-2", targetKey: "step-1" },
158
+ },
159
+ {
160
+ name: "runDevModeDraft",
161
+ call: (client) => client.runDevModeDraft(workspaceId, {
162
+ startStep: 1,
163
+ endStep: 3,
164
+ input: { customerId: 123 },
165
+ configurationExternalId: "test-config",
166
+ vmId: 99,
167
+ }),
168
+ method: "POST",
169
+ path: "/dev-mode/run",
170
+ body: {
171
+ startStep: 1,
172
+ endStep: 3,
173
+ input: { customerId: 123 },
174
+ configurationExternalId: "test-config",
175
+ vmId: 99,
176
+ },
177
+ },
178
+ {
179
+ name: "getDevModeRunStatus",
180
+ call: (client) => client.getDevModeRunStatus(workspaceId, 7),
181
+ method: "GET",
182
+ path: "/dev-mode/run/7/status",
183
+ },
184
+ {
185
+ name: "stopDevModeRun",
186
+ call: (client) => client.stopDevModeRun(workspaceId, 7),
187
+ method: "POST",
188
+ path: "/dev-mode/run/7/stop",
189
+ },
190
+ {
191
+ name: "publishDevModeDraft",
192
+ call: (client) => client.publishDevModeDraft(workspaceId),
193
+ method: "POST",
194
+ path: "/dev-mode/publish",
195
+ },
196
+ ];
197
+ for (const endpoint of endpointCases) {
198
+ it(`maps ${endpoint.name} to the backend endpoint`, async () => {
199
+ const client = new LaminarClient({ type: "bearer", token: "tok" }, "https://api.test.com");
200
+ fetchMock.mockResolvedValueOnce(jsonResponse(200, { ok: true }));
201
+ const result = await endpoint.call(client);
202
+ expect(result).toEqual({ ok: true });
203
+ expect(fetchMock).toHaveBeenCalledOnce();
204
+ const [url, init] = fetchMock.mock.calls[0];
205
+ expect(url).toBe(`https://api.test.com${endpoint.path}?workspaceId=${workspaceId}`);
206
+ expect(init.method).toBe(endpoint.method);
207
+ expect(init.headers.Authorization).toBe("Bearer tok");
208
+ expect(init.body).toBe(endpoint.body === undefined ? undefined : JSON.stringify(endpoint.body));
209
+ });
210
+ }
211
+ it("maps deleteDevModeDraft and accepts the backend's empty 204 response", async () => {
212
+ const client = new LaminarClient({ type: "bearer", token: "tok" }, "https://api.test.com");
213
+ fetchMock.mockResolvedValueOnce(new Response(null, { status: 204 }));
214
+ const result = await client.deleteDevModeDraft(workspaceId, 7);
215
+ expect(result).toBeUndefined();
216
+ expect(fetchMock).toHaveBeenCalledOnce();
217
+ const [url, init] = fetchMock.mock.calls[0];
218
+ expect(url).toBe(`https://api.test.com/dev-mode/drafts/7?workspaceId=${workspaceId}`);
219
+ expect(init.method).toBe("DELETE");
220
+ expect(init.headers.Authorization).toBe("Bearer tok");
221
+ expect(init.body).toBeUndefined();
222
+ });
223
+ });
94
224
  //# sourceMappingURL=laminar-client.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"laminar-client.test.js","sourceRoot":"","sources":["../../src/__tests__/laminar-client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"laminar-client.test.js","sourceRoot":"","sources":["../../src/__tests__/laminar-client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,IAAI,SAAmC,CAAC;AAExC,UAAU,CAAC,GAAG,EAAE;IACd,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,EAAE,CAAC,eAAe,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,MAAc,EAAE,IAAa;IACjD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC1C,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;SACjC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACpC,sBAAsB,EACtB,QAAQ,CACT,CAAC;QAEF,SAAS;aACN,qBAAqB,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;aACpE,qBAAqB,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACpC,sBAAsB,CACvB,CAAC;QAEF,SAAS,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE/E,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC1C,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;SACjC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACpC,sBAAsB,EACtB,QAAQ,CACT,CAAC;QAEF,SAAS;aACN,qBAAqB,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;aACpE,qBAAqB,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAExE,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC1C,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;SACjC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EACpC,sBAAsB,EACtB,QAAQ,CACT,CAAC;QAEF,SAAS;aACN,qBAAqB,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;aACpE,qBAAqB,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QAE9B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAChC,sBAAsB,CACvB,CAAC;QACF,SAAS,CAAC,qBAAqB,CAC7B,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,yCAAyC,EAAE,CAAC,CACtE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,yCAAyC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAChC,sBAAsB,CACvB,CAAC;QACF,SAAS,CAAC,qBAAqB,CAC7B,YAAY,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,yCAAyC,EAAE,CAAC,CACtE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,yCAAyC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,gEAAgE,CACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAChC,sBAAsB,CACvB,CAAC;QACF,SAAS,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC9D,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAShD,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAmB;QACpC;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACzE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;SACxB;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC;YACzD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,qBAAqB;SAC5B;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC;YACtD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB;SACxB;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC;YACrE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,mCAAmC;SAC1C;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE;gBACjC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;SAC3D;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE;gBAC5C,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,cAAc;aACxB,CAAC;YACJ,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE;SACxD;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC;YACjE,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBACtC,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,QAAQ;aACpB,CAAC;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;SACpD;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE;gBAClC,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;gBAC1B,uBAAuB,EAAE,aAAa;gBACtC,IAAI,EAAE,EAAE;aACT,CAAC;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE;gBACJ,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;gBAC1B,uBAAuB,EAAE,aAAa;gBACtC,IAAI,EAAE,EAAE;aACT;SACF;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;SAC7B;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC;YACzD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,mBAAmB;SAC1B;KACF,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,EAAE,CAAC,QAAQ,QAAQ,CAAC,IAAI,0BAA0B,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAChC,sBAAsB,CACvB,CAAC;YACF,SAAS,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE3C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,uBAAuB,QAAQ,CAAC,IAAI,gBAAgB,WAAW,EAAE,CAClE,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACpB,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAChC,sBAAsB,CACvB,CAAC;QACF,SAAS,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE/D,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,sDAAsD,WAAW,EAAE,CACpE,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lib-dev-mode.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-dev-mode.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/lib-dev-mode.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
+ import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
3
+ import { describe, expect, it } from "vitest";
4
+ import { createMinicorServer } from "../lib.js";
5
+ describe("embedded MCP Dev Mode registration", () => {
6
+ it("exposes Dev Mode tools from the package entry point", async () => {
7
+ const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
8
+ const embedded = await createMinicorServer(serverTransport, {
9
+ credentials: {
10
+ access_token: "test-token",
11
+ refresh_token: "test-refresh-token",
12
+ expires_at: Date.now() + 3_600_000,
13
+ },
14
+ baseUrl: "https://api.test.com",
15
+ codeMode: false,
16
+ });
17
+ const client = new Client({ name: "test-client", version: "1.0.0" });
18
+ try {
19
+ await client.connect(clientTransport);
20
+ const result = await client.listTools();
21
+ const names = result.tools.map((tool) => tool.name);
22
+ const run = result.tools.find((tool) => tool.name === "dev_mode_run");
23
+ const publish = result.tools.find((tool) => tool.name === "dev_mode_publish");
24
+ const deleteDraft = result.tools.find((tool) => tool.name === "dev_mode_delete_draft");
25
+ expect(names).toContain("dev_mode_load");
26
+ expect(names).toContain("dev_mode_run");
27
+ expect(names).toContain("dev_mode_get_run_status");
28
+ expect(names).toContain("dev_mode_stop_run");
29
+ expect(names).toContain("dev_mode_delete_draft");
30
+ expect(names).toContain("dev_mode_publish");
31
+ expect(names).toContain("run_job");
32
+ expect(names).toContain("session_start");
33
+ expect(names).toContain("vm_connect");
34
+ expect(names).not.toContain("dev_mode_current_draft");
35
+ expect(run?.inputSchema.required).toEqual(expect.arrayContaining(["workspaceId", "vmId"]));
36
+ expect(run?.inputSchema.properties).not.toHaveProperty("vmUrl");
37
+ expect(run?.inputSchema.properties).not.toHaveProperty("vmApiKey");
38
+ expect(run?.inputSchema.properties).not.toHaveProperty("vmServiceId");
39
+ expect(publish?.inputSchema.required).toEqual(expect.arrayContaining(["workspaceId", "confirm"]));
40
+ expect(deleteDraft?.inputSchema.required).toEqual(expect.arrayContaining(["workspaceId", "workflowId", "confirm"]));
41
+ }
42
+ finally {
43
+ await client.close();
44
+ await embedded.close();
45
+ }
46
+ });
47
+ });
48
+ //# sourceMappingURL=lib-dev-mode.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-dev-mode.test.js","sourceRoot":"","sources":["../../src/__tests__/lib-dev-mode.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=server-profile.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-profile.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/server-profile.test.ts"],"names":[],"mappings":""}