@savvy-web/mcp 3.4.12 → 3.4.14
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/bin/savvy-mcp.js +1 -2
- package/errors.js +1 -2
- package/index.d.ts +0 -30
- package/main.d.ts +0 -2
- package/main.js +1 -2
- package/package.json +10 -10
- package/runtime.js +1 -2
- package/server.js +1 -2
- package/toolkit.js +1 -2
- package/tools/biome-check.js +1 -2
- package/tools/changeset-deps-detect.js +1 -2
- package/tools/changeset-deps-regen.js +1 -2
- package/tools/changeset-inspect.js +1 -2
- package/tools/changeset-preview.js +1 -2
- package/tools/changeset-validate.js +1 -2
- package/tools/repos-inspect.js +1 -2
- package/tools/repos-manage.js +1 -2
- package/tools/turbo-inspect.js +1 -2
- package/tools/workspace-info.js +1 -2
- package/version.js +2 -3
package/bin/savvy-mcp.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { main } from "../main.js";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/bin.ts
|
|
5
5
|
/**
|
|
6
6
|
* Binary entrypoint for the `savvy-mcp` server. Owns nothing itself — see
|
|
7
7
|
* `main.ts` for the process bootstrap.
|
|
@@ -10,5 +10,4 @@ import { main } from "../main.js";
|
|
|
10
10
|
*/
|
|
11
11
|
await main();
|
|
12
12
|
|
|
13
|
-
//#endregion
|
|
14
13
|
export { };
|
package/errors.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ToolFailure, ToolRefusal } from "@effected/mcp";
|
|
2
2
|
import { Schema } from "effect";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/errors.ts
|
|
5
5
|
/**
|
|
6
6
|
* No workspace root was found walking up from the requested directory.
|
|
7
7
|
* `message` is composed through `ToolFailure.message` at construction, so it
|
|
@@ -98,5 +98,4 @@ const engineError = (cause, remediation) => {
|
|
|
98
98
|
*/
|
|
99
99
|
const mapEngineError = (requestedCwd, remediation) => (cause) => cause._tag === "WorkspaceRootNotFoundError" ? workspaceNotFound(requestedCwd) : engineError(cause, remediation);
|
|
100
100
|
|
|
101
|
-
//#endregion
|
|
102
101
|
export { BiomeFailed, EngineError, McpToolError, WorkspaceNotFound, engineError, mapEngineError, workspaceNotFound };
|
package/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
5
5
|
import { Changesets, Repos, SilkWorkspaceAnalyzer, Turbo } from "@savvy-web/silk-effects";
|
|
6
6
|
import { ChildProcessSpawner } from "effect/process";
|
|
7
7
|
import { Tool, Toolkit } from "effect/ai";
|
|
8
|
-
//#region src/errors.d.ts
|
|
9
8
|
declare const WorkspaceNotFound_base: Schema.Class<WorkspaceNotFound, Schema.TaggedStruct<"WorkspaceNotFound", {
|
|
10
9
|
readonly message: Schema.String;
|
|
11
10
|
readonly remediation: Schema.Struct<{
|
|
@@ -62,8 +61,6 @@ export declare class BiomeFailed extends BiomeFailed_base {}
|
|
|
62
61
|
export declare const McpToolError: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof ToolRefusal]>;
|
|
63
62
|
/** @public */
|
|
64
63
|
export type McpToolError = typeof McpToolError.Type;
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region src/runtime.d.ts
|
|
67
64
|
/**
|
|
68
65
|
* Every service the MCP runtime provides to the tool handlers.
|
|
69
66
|
*
|
|
@@ -103,8 +100,6 @@ type McpServices = SilkWorkspaceAnalyzer | WorkspaceRoot | Turbo.TurboInspector
|
|
|
103
100
|
* ignored", identical to the savvy CLI).
|
|
104
101
|
*/
|
|
105
102
|
export declare const makeSilkRuntimeLayer: (cwd: string) => Layer.Layer<McpServices, never, FileSystem.FileSystem | Path.Path | ChildProcessSpawner.ChildProcessSpawner>;
|
|
106
|
-
//#endregion
|
|
107
|
-
//#region src/server.d.ts
|
|
108
103
|
/**
|
|
109
104
|
* Everything {@link ServerLayer} still needs from the platform: the three
|
|
110
105
|
* services `makeSilkRuntimeLayer` requires, plus `Stdio`, which
|
|
@@ -140,8 +135,6 @@ interface ServerOptions {
|
|
|
140
135
|
* @public
|
|
141
136
|
*/
|
|
142
137
|
export declare const ServerLayer: (cwd: string, options?: ServerOptions) => Layer.Layer<never, never, PlatformServices>;
|
|
143
|
-
//#endregion
|
|
144
|
-
//#region src/tools/biome-check.d.ts
|
|
145
138
|
/**
|
|
146
139
|
* The `biome_check` tool value. Mutating when `write`/`unsafe` is set, so it is
|
|
147
140
|
* annotated non-read-only and non-idempotent; `dependencies` is empty because
|
|
@@ -178,8 +171,6 @@ declare const biomeCheckTool: Tool.Tool<"biome_check", {
|
|
|
178
171
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof ToolRefusal]>;
|
|
179
172
|
readonly failureMode: "error";
|
|
180
173
|
}, never>;
|
|
181
|
-
//#endregion
|
|
182
|
-
//#region src/tools/changeset-deps-detect.d.ts
|
|
183
174
|
/** The `changeset_deps_detect` tool value. */
|
|
184
175
|
declare const changesetDepsDetectTool: Tool.Tool<"changeset_deps_detect", {
|
|
185
176
|
readonly parameters: Schema.Struct<{
|
|
@@ -210,8 +201,6 @@ declare const changesetDepsDetectTool: Tool.Tool<"changeset_deps_detect", {
|
|
|
210
201
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
211
202
|
readonly failureMode: "error";
|
|
212
203
|
}, Changesets.DepsRegen | WorkspaceRoot>;
|
|
213
|
-
//#endregion
|
|
214
|
-
//#region src/tools/changeset-deps-regen.d.ts
|
|
215
204
|
/** The `changeset_deps_regen` tool value. Mutating: not read-only, not idempotent. */
|
|
216
205
|
declare const changesetDepsRegenTool: Tool.Tool<"changeset_deps_regen", {
|
|
217
206
|
readonly parameters: Schema.Struct<{
|
|
@@ -236,8 +225,6 @@ declare const changesetDepsRegenTool: Tool.Tool<"changeset_deps_regen", {
|
|
|
236
225
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
237
226
|
readonly failureMode: "error";
|
|
238
227
|
}, Changesets.DepsRegen | WorkspaceRoot>;
|
|
239
|
-
//#endregion
|
|
240
|
-
//#region src/tools/changeset-inspect.d.ts
|
|
241
228
|
/** The `changeset_inspect` tool value. */
|
|
242
229
|
declare const changesetInspectTool: Tool.Tool<"changeset_inspect", {
|
|
243
230
|
readonly parameters: Schema.Struct<{
|
|
@@ -312,8 +299,6 @@ declare const changesetInspectTool: Tool.Tool<"changeset_inspect", {
|
|
|
312
299
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
313
300
|
readonly failureMode: "error";
|
|
314
301
|
}, Changesets.BranchAnalyzer | Changesets.ConfigInspector | WorkspaceRoot>;
|
|
315
|
-
//#endregion
|
|
316
|
-
//#region src/tools/changeset-preview.d.ts
|
|
317
302
|
/** The `changeset_preview` tool value. */
|
|
318
303
|
declare const changesetPreviewTool: Tool.Tool<"changeset_preview", {
|
|
319
304
|
readonly parameters: Schema.Struct<{
|
|
@@ -341,8 +326,6 @@ declare const changesetPreviewTool: Tool.Tool<"changeset_preview", {
|
|
|
341
326
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
342
327
|
readonly failureMode: "error";
|
|
343
328
|
}, Changesets.ReleasePlanner | WorkspaceRoot>;
|
|
344
|
-
//#endregion
|
|
345
|
-
//#region src/tools/changeset-validate.d.ts
|
|
346
329
|
/** The `changeset_validate` tool value. */
|
|
347
330
|
declare const changesetValidateTool: Tool.Tool<"changeset_validate", {
|
|
348
331
|
readonly parameters: Schema.Struct<{
|
|
@@ -364,8 +347,6 @@ declare const changesetValidateTool: Tool.Tool<"changeset_validate", {
|
|
|
364
347
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof ToolRefusal]>;
|
|
365
348
|
readonly failureMode: "error";
|
|
366
349
|
}, WorkspaceRoot>;
|
|
367
|
-
//#endregion
|
|
368
|
-
//#region src/tools/repos-inspect.d.ts
|
|
369
350
|
/** The `repos_inspect` tool value. */
|
|
370
351
|
declare const reposInspectTool: Tool.Tool<"repos_inspect", {
|
|
371
352
|
readonly parameters: Schema.Struct<{
|
|
@@ -429,8 +410,6 @@ declare const reposInspectTool: Tool.Tool<"repos_inspect", {
|
|
|
429
410
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
430
411
|
readonly failureMode: "error";
|
|
431
412
|
}, FileSystem.FileSystem | Path.Path | Repos.ReposConfigStore | Repos.ReposDrift | Repos.ReposManager | WorkspaceRoot>;
|
|
432
|
-
//#endregion
|
|
433
|
-
//#region src/tools/repos-manage.d.ts
|
|
434
413
|
/**
|
|
435
414
|
* The `repos_manage` tool value: a `McpToolkit.unionTool`, so the served input
|
|
436
415
|
* schema is the request union's strict `oneOf` keyed by `action`, and a bad
|
|
@@ -574,8 +553,6 @@ declare const reposManageTool: import("@effected/mcp").UnionTool<"repos_manage",
|
|
|
574
553
|
readonly removedKeys: Schema.$Array<Schema.String>;
|
|
575
554
|
}>;
|
|
576
555
|
}>]>, Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof ToolRefusal]>, Repos.ReposManager | WorkspaceRoot>;
|
|
577
|
-
//#endregion
|
|
578
|
-
//#region src/tools/turbo-inspect.d.ts
|
|
579
556
|
/** The `turbo_inspect` tool value. */
|
|
580
557
|
declare const turboInspectTool: Tool.Tool<"turbo_inspect", {
|
|
581
558
|
readonly parameters: Schema.Struct<{
|
|
@@ -638,8 +615,6 @@ declare const turboInspectTool: Tool.Tool<"turbo_inspect", {
|
|
|
638
615
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
639
616
|
readonly failureMode: "error";
|
|
640
617
|
}, Turbo.TurboInspector | WorkspaceRoot>;
|
|
641
|
-
//#endregion
|
|
642
|
-
//#region src/tools/workspace-info.d.ts
|
|
643
618
|
/**
|
|
644
619
|
* The `workspace_info` tool value. `dependencies` names the two services the
|
|
645
620
|
* handler yields so `Tool.HandlerServices` carries them (without it the
|
|
@@ -675,8 +650,6 @@ declare const workspaceInfoTool: Tool.Tool<"workspace_info", {
|
|
|
675
650
|
readonly failure: Schema.Union<readonly [typeof WorkspaceNotFound, typeof EngineError, typeof BiomeFailed, typeof import("@effected/mcp").ToolRefusal]>;
|
|
676
651
|
readonly failureMode: "error";
|
|
677
652
|
}, SilkWorkspaceAnalyzer | WorkspaceRoot>;
|
|
678
|
-
//#endregion
|
|
679
|
-
//#region src/toolkit.d.ts
|
|
680
653
|
/**
|
|
681
654
|
* The served tool record, keyed by wire name. Spelled out through the
|
|
682
655
|
* exported `Toolkit.ToolsByName` (rather than inferred through
|
|
@@ -704,8 +677,6 @@ export declare const SilkToolkit: Toolkit.Toolkit<SilkTools>;
|
|
|
704
677
|
* @public
|
|
705
678
|
*/
|
|
706
679
|
export declare const ToolsLayer: (cwd: string) => Layer.Layer<Tool.HandlersFor<SilkTools>>;
|
|
707
|
-
//#endregion
|
|
708
|
-
//#region src/version.d.ts
|
|
709
680
|
/**
|
|
710
681
|
* The package version, replaced at build time. `0.0.0` in dev/test indicates
|
|
711
682
|
* an unbuilt source run. Kept in its own module so both `server.ts` and the
|
|
@@ -714,6 +685,5 @@ export declare const ToolsLayer: (cwd: string) => Layer.Layer<Tool.HandlersFor<S
|
|
|
714
685
|
* @packageDocumentation
|
|
715
686
|
*/
|
|
716
687
|
export declare const CURRENT_MCP_VERSION: any;
|
|
717
|
-
//#endregion
|
|
718
688
|
export type { McpServices, PlatformServices, ServerOptions, SilkTools };
|
|
719
689
|
//# sourceMappingURL=index.d.ts.map
|
package/main.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Distribution } from "@effected/engine";
|
|
2
|
-
//#region src/main.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* Options for {@link main}.
|
|
5
4
|
*
|
|
@@ -27,5 +26,4 @@ export interface MainOptions {
|
|
|
27
26
|
* @public
|
|
28
27
|
*/
|
|
29
28
|
export declare const main: (options?: MainOptions) => Promise<void>;
|
|
30
|
-
//#endregion
|
|
31
29
|
//# sourceMappingURL=main.d.ts.map
|
package/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { McpGuard } from "@effected/mcp/guard";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/main.ts
|
|
4
4
|
/**
|
|
5
5
|
* Run the savvy MCP server over stdio. Owns the process.
|
|
6
6
|
*
|
|
@@ -36,5 +36,4 @@ const main = (options = {}) => McpGuard.run({
|
|
|
36
36
|
});
|
|
37
37
|
/* v8 ignore stop */
|
|
38
38
|
|
|
39
|
-
//#endregion
|
|
40
39
|
export { main };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@savvy-web/mcp",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.14",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The savvy MCP server — Silk Suite tooling and library knowledge for coding agents",
|
|
6
6
|
"homepage": "https://github.com/savvy-web/systems/tree/main/packages/mcp",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"savvy-mcp": "bin/savvy-mcp.js"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@effect/platform-node": "^4.0.
|
|
40
|
-
"@effected/commands": "^0.
|
|
41
|
-
"@effected/engine": "^0.
|
|
42
|
-
"@effected/git": "^0.
|
|
43
|
-
"@effected/mcp": "^0.
|
|
44
|
-
"@effected/templates": "^0.
|
|
45
|
-
"@effected/workspaces": "^0.
|
|
46
|
-
"@savvy-web/silk-effects": "9.
|
|
47
|
-
"effect": "^4.0.
|
|
39
|
+
"@effect/platform-node": "^4.0.6",
|
|
40
|
+
"@effected/commands": "^0.15.0",
|
|
41
|
+
"@effected/engine": "^0.8.0",
|
|
42
|
+
"@effected/git": "^0.24.0",
|
|
43
|
+
"@effected/mcp": "^0.9.0",
|
|
44
|
+
"@effected/templates": "^0.14.0",
|
|
45
|
+
"@effected/workspaces": "^0.36.1",
|
|
46
|
+
"@savvy-web/silk-effects": "^9.6.0",
|
|
47
|
+
"effect": "^4.0.6"
|
|
48
48
|
}
|
|
49
49
|
}
|
package/runtime.js
CHANGED
|
@@ -3,7 +3,7 @@ import { ToolDiscovery } from "@effected/commands";
|
|
|
3
3
|
import { Workspaces } from "@effected/workspaces";
|
|
4
4
|
import { ChangesetConfig, ChangesetConfigReader, Changesets, Repos, SilkPublishability, SilkWorkspaceAnalyzer, Turbo } from "@savvy-web/silk-effects";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/runtime.ts
|
|
7
7
|
/**
|
|
8
8
|
* Composes the long-lived Effect runtime layer for the MCP server.
|
|
9
9
|
*
|
|
@@ -76,5 +76,4 @@ const makeSilkRuntimeLayer = (cwd) => {
|
|
|
76
76
|
return Layer.mergeAll(SilkWorkspaceAnalyzer.layer.pipe(Layer.provide(analyzerDeps)), Turbo.TurboInspector.layer.pipe(Layer.provide(toolDiscovery)), inspectorAndAnalyzer, depsRegen, repos, platformPassthrough).pipe(Layer.provideMerge(kitGraph));
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
-
//#endregion
|
|
80
79
|
export { makeSilkRuntimeLayer };
|
package/server.js
CHANGED
|
@@ -5,7 +5,7 @@ import { McpStdio, McpToolkit } from "@effected/mcp";
|
|
|
5
5
|
import { Layer, Option } from "effect";
|
|
6
6
|
import { distributionSuffix } from "@effected/engine";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/server.ts
|
|
9
9
|
/**
|
|
10
10
|
* The agent-facing orientation every client receives: in the `initialize`
|
|
11
11
|
* result on the stateful protocols and in the `server/discover` result on
|
|
@@ -51,5 +51,4 @@ const ServerLayer = (cwd, options = {}) => SilkToolsLayer(cwd).pipe(Layer.provid
|
|
|
51
51
|
instructions: SERVER_INSTRUCTIONS
|
|
52
52
|
})));
|
|
53
53
|
|
|
54
|
-
//#endregion
|
|
55
54
|
export { SERVER_INSTRUCTIONS, ServerLayer };
|
package/toolkit.js
CHANGED
|
@@ -10,7 +10,7 @@ import { handleTurboInspect, turboInspectTool } from "./tools/turbo-inspect.js";
|
|
|
10
10
|
import { handleWorkspaceInfo, workspaceInfoTool } from "./tools/workspace-info.js";
|
|
11
11
|
import { Toolkit } from "effect/ai";
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
// src/toolkit.ts
|
|
14
14
|
/**
|
|
15
15
|
* The ten savvy-mcp tools — seven read-only, three mutating (`biome_check`
|
|
16
16
|
* with `write`/`unsafe`, `changeset_deps_regen`, `repos_manage`) — in the
|
|
@@ -40,5 +40,4 @@ const ToolsLayer = (cwd) => SilkToolkit.toLayer({
|
|
|
40
40
|
biome_check: (params) => handleBiomeCheck(cwd, params)
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
//#endregion
|
|
44
43
|
export { SilkToolkit, ToolsLayer };
|
package/tools/biome-check.js
CHANGED
|
@@ -7,7 +7,7 @@ import { spawnSync } from "node:child_process";
|
|
|
7
7
|
import { realpathSync } from "node:fs";
|
|
8
8
|
import { relative, resolve, sep } from "node:path";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// src/tools/biome-check.ts
|
|
11
11
|
/**
|
|
12
12
|
* The `biome_check` MCP tool: a thin proxy that runs Biome over a path with the
|
|
13
13
|
* gitlab reporter, parses it into a typed result, and can apply fixes. Unlike the
|
|
@@ -318,5 +318,4 @@ const handleBiomeCheck = (fallbackCwd, params) => Effect.tryPromise({
|
|
|
318
318
|
catch: (cause) => isMcpToolError(cause) ? cause : biomeFailed(`Biome check failed: ${cause instanceof Error ? cause.message : String(cause)}`)
|
|
319
319
|
});
|
|
320
320
|
|
|
321
|
-
//#endregion
|
|
322
321
|
export { BiomeCheckParams, BiomeCheckResult, BiomeDiagnostic, BiomeSeverity, biomeCheckTool, buildBiomeResult, handleBiomeCheck, parseBiomeGitlab, resolveContainmentRoot, runBiomeCheck };
|
|
@@ -4,7 +4,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
4
4
|
import { Changesets } from "@savvy-web/silk-effects";
|
|
5
5
|
import { Tool } from "effect/ai";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/tools/changeset-deps-detect.ts
|
|
8
8
|
/** One affected workspace package's resolved dependency diff. */
|
|
9
9
|
const ChangesetDepsDetectPackage = Schema.Struct({
|
|
10
10
|
package: Schema.String,
|
|
@@ -82,5 +82,4 @@ const changesetDepsDetectTool = Tool.make("changeset_deps_detect", {
|
|
|
82
82
|
/** Wire handler: {@link changesetDepsDetect} with its error channel mapped onto {@link McpToolError}. */
|
|
83
83
|
const handleChangesetDepsDetect = (fallbackCwd, params) => changesetDepsDetect(params, fallbackCwd).pipe(Effect.mapError(mapEngineError(params.cwd ?? fallbackCwd, REMEDIATION)));
|
|
84
84
|
|
|
85
|
-
//#endregion
|
|
86
85
|
export { ChangesetDepsDetectCoexisting, ChangesetDepsDetectPackage, ChangesetDepsDetectParams, ChangesetDepsDetectResult, changesetDepsDetect, changesetDepsDetectTool, handleChangesetDepsDetect };
|
|
@@ -4,7 +4,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
4
4
|
import { Changesets } from "@savvy-web/silk-effects";
|
|
5
5
|
import { Tool } from "effect/ai";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/tools/changeset-deps-regen.ts
|
|
8
8
|
/**
|
|
9
9
|
* An untouched prose-only changeset releasing a package in scope for the run
|
|
10
10
|
* (#279) — informational, so the result accounts for every changeset touching
|
|
@@ -91,5 +91,4 @@ const changesetDepsRegenTool = Tool.make("changeset_deps_regen", {
|
|
|
91
91
|
/** Wire handler: {@link changesetDepsRegen} with its error channel mapped onto {@link McpToolError}. */
|
|
92
92
|
const handleChangesetDepsRegen = (fallbackCwd, params) => changesetDepsRegen(params, fallbackCwd).pipe(Effect.mapError(mapEngineError(params.cwd ?? fallbackCwd, REMEDIATION)));
|
|
93
93
|
|
|
94
|
-
//#endregion
|
|
95
94
|
export { ChangesetCoexistingEntry, ChangesetDepsRegenParams, ChangesetDepsRegenResult, changesetDepsRegen, changesetDepsRegenTool, handleChangesetDepsRegen };
|
|
@@ -5,7 +5,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
5
5
|
import { Changesets } from "@savvy-web/silk-effects";
|
|
6
6
|
import { Tool } from "effect/ai";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/tools/changeset-inspect.ts
|
|
9
9
|
/**
|
|
10
10
|
* The `changeset_inspect` MCP tool: a discriminated-union result keyed by `mode`
|
|
11
11
|
* (branch | config), each variant embedding the corresponding resolved-output
|
|
@@ -94,5 +94,4 @@ const changesetInspectTool = Tool.make("changeset_inspect", {
|
|
|
94
94
|
/** Wire handler: {@link changesetInspect} with its error channel mapped onto {@link McpToolError}. */
|
|
95
95
|
const handleChangesetInspect = (fallbackCwd, params) => changesetInspect(params, fallbackCwd).pipe(Effect.mapError(mapEngineError(params.cwd ?? fallbackCwd, REMEDIATION)));
|
|
96
96
|
|
|
97
|
-
//#endregion
|
|
98
97
|
export { ChangesetBranchResult, ChangesetClassifyResult, ChangesetConfigResult, ChangesetInspectParams, ChangesetInspectResult, changesetInspect, changesetInspectTool, handleChangesetInspect };
|
|
@@ -4,7 +4,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
4
4
|
import { Changesets } from "@savvy-web/silk-effects";
|
|
5
5
|
import { Tool } from "effect/ai";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/tools/changeset-preview.ts
|
|
8
8
|
/** The `changeset_preview` result — the silk-effects preview shape. */
|
|
9
9
|
const ChangesetPreviewResult = Changesets.ChangesetPreviewSchema.annotate({
|
|
10
10
|
identifier: "ChangesetPreviewResult",
|
|
@@ -36,5 +36,4 @@ const changesetPreviewTool = Tool.make("changeset_preview", {
|
|
|
36
36
|
/** Wire handler: {@link changesetPreview} with its error channel mapped onto {@link McpToolError}. */
|
|
37
37
|
const handleChangesetPreview = (fallbackCwd, params) => changesetPreview(params, fallbackCwd).pipe(Effect.mapError(mapEngineError(params.cwd ?? fallbackCwd, REMEDIATION)));
|
|
38
38
|
|
|
39
|
-
//#endregion
|
|
40
39
|
export { ChangesetPreviewParams, ChangesetPreviewResult, changesetPreview, changesetPreviewTool, handleChangesetPreview };
|
|
@@ -6,7 +6,7 @@ import { Changesets } from "@savvy-web/silk-effects";
|
|
|
6
6
|
import { Tool } from "effect/ai";
|
|
7
7
|
import { resolve } from "node:path";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// src/tools/changeset-validate.ts
|
|
10
10
|
/**
|
|
11
11
|
* The `changeset_validate` MCP tool: structured changeset-file validation over
|
|
12
12
|
* silk-effects' pure ChangesetLinter, returning typed diagnostics plus a
|
|
@@ -83,5 +83,4 @@ const changesetValidateTool = Tool.make("changeset_validate", {
|
|
|
83
83
|
const handleChangesetValidate = (fallbackCwd, params) => changesetValidate(params, fallbackCwd).pipe(Effect.mapError((error) => error._tag === "ChangesetValidateError" ? ToolRefusal.refuse(`Changeset directory "${ToolFailure.truncate(error.dir)}" could not be validated: ${describeCause(error.cause)}`, DIR_REMEDIATION) : mapEngineError(params.cwd ?? fallbackCwd, DIR_REMEDIATION)(error)));
|
|
84
84
|
const describeCause = (cause) => cause instanceof Error ? ToolFailure.truncate(cause.message) : ToolFailure.truncate(String(cause));
|
|
85
85
|
|
|
86
|
-
//#endregion
|
|
87
86
|
export { ChangesetLintMessage, ChangesetValidateError, ChangesetValidateParams, ChangesetValidateResult, changesetValidate, changesetValidateTool, handleChangesetValidate };
|
package/tools/repos-inspect.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Repos } from "@savvy-web/silk-effects";
|
|
|
6
6
|
import { Tool } from "effect/ai";
|
|
7
7
|
import { Gitmodules } from "@effected/git";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// src/tools/repos-inspect.ts
|
|
10
10
|
/**
|
|
11
11
|
* The `repos_inspect` MCP tool: a discriminated-union result keyed by `mode`
|
|
12
12
|
* (status | config), each variant embedding the corresponding resolved-output
|
|
@@ -149,5 +149,4 @@ const reposInspectTool = Tool.make("repos_inspect", {
|
|
|
149
149
|
/** Wire handler: {@link reposInspect} with its error channel mapped onto {@link McpToolError}. */
|
|
150
150
|
const handleReposInspect = (fallbackCwd, params) => reposInspect(params, fallbackCwd).pipe(Effect.mapError(mapEngineError(params.cwd ?? fallbackCwd, REMEDIATION)));
|
|
151
151
|
|
|
152
|
-
//#endregion
|
|
153
152
|
export { ReposConfigResult, ReposDriftResult, ReposGitmodulesResult, ReposInspectMode, ReposInspectParams, ReposInspectResult, ReposStatusResult, handleReposInspect, reposInspect, reposInspectTool };
|
package/tools/repos-manage.js
CHANGED
|
@@ -5,7 +5,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
5
5
|
import { Repos } from "@savvy-web/silk-effects";
|
|
6
6
|
import { Tool } from "effect/ai";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/tools/repos-manage.ts
|
|
9
9
|
/**
|
|
10
10
|
* The `repos_manage` MCP tool: one action-discriminated mutating tool
|
|
11
11
|
* covering `sync`, `pin`, `add`, `note`, `remove`, `rename`, `restore`, and
|
|
@@ -268,5 +268,4 @@ const reposManageTool = McpToolkit.unionTool("repos_manage", {
|
|
|
268
268
|
*/
|
|
269
269
|
const handleReposManage = (fallbackCwd) => McpToolkit.unionHandler(reposManageTool, (request) => reposManage(request, fallbackCwd).pipe(Effect.mapError((error) => error._tag === "ToolRefusal" ? error : mapEngineError(request.cwd ?? fallbackCwd, REMEDIATION)(error))));
|
|
270
270
|
|
|
271
|
-
//#endregion
|
|
272
271
|
export { ReposManageAddResult, ReposManageDeregisterResult, ReposManageNoteResult, ReposManagePinResult, ReposManageRemoveResult, ReposManageRenameResult, ReposManageRequest, ReposManageRestoreResult, ReposManageResult, ReposManageSyncResult, handleReposManage, reposManage, reposManageTool };
|
package/tools/turbo-inspect.js
CHANGED
|
@@ -5,7 +5,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
5
5
|
import { Turbo } from "@savvy-web/silk-effects";
|
|
6
6
|
import { Tool } from "effect/ai";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/tools/turbo-inspect.ts
|
|
9
9
|
/**
|
|
10
10
|
* The `turbo_inspect` MCP tool: a discriminated-union result schema keyed by
|
|
11
11
|
* `mode` (cache | graph | affected), each variant embedding the corresponding
|
|
@@ -87,5 +87,4 @@ const turboInspectTool = Tool.make("turbo_inspect", {
|
|
|
87
87
|
/** Wire handler: {@link turboInspect} with its error channel mapped onto {@link McpToolError}. */
|
|
88
88
|
const handleTurboInspect = (fallbackCwd, params) => turboInspect(params, fallbackCwd).pipe(Effect.mapError(mapEngineError(params.cwd ?? fallbackCwd, REMEDIATION)));
|
|
89
89
|
|
|
90
|
-
//#endregion
|
|
91
90
|
export { TurboAffectedResult, TurboCacheResult, TurboGraphResult, TurboInspectParams, TurboInspectResult, handleTurboInspect, turboInspect, turboInspectTool };
|
package/tools/workspace-info.js
CHANGED
|
@@ -4,7 +4,7 @@ import { WorkspaceRoot } from "@effected/workspaces";
|
|
|
4
4
|
import { SilkWorkspaceAnalyzer } from "@savvy-web/silk-effects";
|
|
5
5
|
import { Tool } from "effect/ai";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/tools/workspace-info.ts
|
|
8
8
|
/** A flattened, non-recursive summary of one analyzed workspace. */
|
|
9
9
|
const WorkspaceSummary = Schema.Struct({
|
|
10
10
|
name: Schema.String,
|
|
@@ -95,5 +95,4 @@ const handleWorkspaceInfo = (fallbackCwd, params) => {
|
|
|
95
95
|
return workspaceInfo(cwd).pipe(Effect.mapError(mapEngineError(cwd, REMEDIATION)));
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
-
//#endregion
|
|
99
98
|
export { WorkspaceInfoParams, WorkspaceInfoResult, WorkspaceSummary, handleWorkspaceInfo, toWorkspaceInfoResult, workspaceInfo, workspaceInfoTool };
|
package/version.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/version.ts
|
|
2
2
|
/**
|
|
3
3
|
* The package version, replaced at build time. `0.0.0` in dev/test indicates
|
|
4
4
|
* an unbuilt source run. Kept in its own module so both `server.ts` and the
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
|
-
const CURRENT_MCP_VERSION = "3.4.
|
|
9
|
+
const CURRENT_MCP_VERSION = "3.4.14";
|
|
10
10
|
|
|
11
|
-
//#endregion
|
|
12
11
|
export { CURRENT_MCP_VERSION };
|