@vitest-agent/mcp 5.2.6 → 5.2.8

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 (52) hide show
  1. package/annotations.js +1 -2
  2. package/bin/vitest-agent-mcp.js +1 -2
  3. package/idempotency.js +1 -2
  4. package/index.d.ts +0 -68
  5. package/main.d.ts +0 -2
  6. package/main.js +1 -2
  7. package/package.json +10 -10
  8. package/prompts/explain-failure.js +1 -2
  9. package/prompts/layer.js +1 -2
  10. package/prompts/regression-since-pass.js +1 -2
  11. package/prompts/tdd-resume.js +1 -2
  12. package/prompts/triage.js +1 -2
  13. package/prompts/why-flaky.js +1 -2
  14. package/prompts/wrapup.js +1 -2
  15. package/server.js +1 -2
  16. package/session.js +1 -2
  17. package/toolkit.js +1 -2
  18. package/tools/_project-groups.js +1 -2
  19. package/tools/_tdd-error-envelope.js +1 -2
  20. package/tools/acceptance-metrics.js +1 -2
  21. package/tools/cache-health.js +1 -2
  22. package/tools/commit-changes.js +1 -2
  23. package/tools/configure.js +1 -2
  24. package/tools/coverage.js +1 -2
  25. package/tools/errors.js +1 -2
  26. package/tools/failure-signature-get.js +1 -2
  27. package/tools/file-coverage.js +1 -2
  28. package/tools/help.js +1 -2
  29. package/tools/history.js +1 -2
  30. package/tools/hypothesis.js +1 -2
  31. package/tools/inventory.js +1 -2
  32. package/tools/note.js +1 -2
  33. package/tools/overview.js +1 -2
  34. package/tools/ping.js +1 -2
  35. package/tools/register-agent.js +1 -2
  36. package/tools/run-tests.js +1 -2
  37. package/tools/settings-list.js +1 -2
  38. package/tools/status.js +1 -2
  39. package/tools/tdd-artifact.js +1 -2
  40. package/tools/tdd-behavior.js +1 -2
  41. package/tools/tdd-goal.js +1 -2
  42. package/tools/tdd-phase-transition-request.js +1 -2
  43. package/tools/tdd-progress-push.js +1 -2
  44. package/tools/tdd-task.js +1 -2
  45. package/tools/test.js +1 -2
  46. package/tools/trends.js +1 -2
  47. package/tools/triage-brief.js +1 -2
  48. package/tools/turn-search.js +1 -2
  49. package/tools/wrapup-prompt.js +1 -2
  50. package/utils/replay-marker.js +1 -2
  51. package/utils/safe-format-fatal-error.js +1 -2
  52. package/version.js +2 -3
package/annotations.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Context } from "effect";
2
2
 
3
- //#region src/annotations.ts
3
+ // src/annotations.ts
4
4
  /**
5
5
  * Formerly rendered a tool's encoded result as a markdown `content[0].text`
6
6
  * channel. The server no longer reads it: every successful result carries
@@ -14,5 +14,4 @@ import { Context } from "effect";
14
14
  */
15
15
  const RenderText = Context.Reference("@vitest-agent/mcp/RenderText", { defaultValue: () => void 0 });
16
16
 
17
- //#endregion
18
17
  export { RenderText };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { main } from "../main.js";
3
3
 
4
- //#region src/bin.ts
4
+ // src/bin.ts
5
5
  /**
6
6
  * MCP server entry point for vitest-agent. Thin shim over `main.ts` — the
7
7
  * assembled program that owns the process.
@@ -10,5 +10,4 @@ import { main } from "../main.js";
10
10
  */
11
11
  main();
12
12
 
13
- //#endregion
14
13
  export { };
package/idempotency.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Effect, Option } from "effect";
2
2
  import { DataReader, DataStore } from "@vitest-agent/engine";
3
3
 
4
- //#region src/idempotency.ts
4
+ // src/idempotency.ts
5
5
  /**
6
6
  * Narrow a raw tool payload to the action-shaped object every consolidated
7
7
  * spec keys on: a non-null object carrying an `action` key. Anything else
@@ -120,5 +120,4 @@ const withIdempotency = (path, handler) => (params) => Effect.gen(function* () {
120
120
  return result;
121
121
  });
122
122
 
123
- //#endregion
124
123
  export { idempotencyKeys, withIdempotency };
package/index.d.ts CHANGED
@@ -5,7 +5,6 @@ import { Toolkit } from "effect/ai";
5
5
  import "@effected/git";
6
6
  import "@vitest-agent/sdk";
7
7
  import { Remediation } from "@effected/engine";
8
- //#region src/annotations.d.ts
9
8
  /**
10
9
  * Formerly rendered a tool's encoded result as a markdown `content[0].text`
11
10
  * channel. The server no longer reads it: every successful result carries
@@ -18,8 +17,6 @@ import { Remediation } from "@effected/engine";
18
17
  * @public
19
18
  */
20
19
  export declare const RenderText: Context.Reference<((result: unknown) => string | undefined) | undefined>;
21
- //#endregion
22
- //#region src/idempotency.d.ts
23
20
  /**
24
21
  * Wraps `handler` with idempotent-response caching keyed on `path`.
25
22
  *
@@ -51,8 +48,6 @@ export declare const RenderText: Context.Reference<((result: unknown) => string
51
48
  export declare const withIdempotency: <P, R, E, S>(path: string, handler: (params: P) => Effect.Effect<R, E, S>) => (params: P) => Effect.Effect<R | (R & {
52
49
  _idempotentReplay: true;
53
50
  }), E, S | DataReader | DataStore>;
54
- //#endregion
55
- //#region src/session.d.ts
56
51
  /**
57
52
  * Mutable holder for the MCP server's currently-associated host chat
58
53
  * id (the per-process CC chat UUID).
@@ -149,8 +144,6 @@ export declare class McpSession extends McpSession_base {
149
144
  */
150
145
  static readonly layerTest: (overrides: Pick<McpSessionOptions, "cwd"> & Partial<McpSessionOptions>) => Layer.Layer<McpSession>;
151
146
  }
152
- //#endregion
153
- //#region src/prompts/layer.d.ts
154
147
  /**
155
148
  * Every framing prompt as one layer; merged into `ServerLayer` beside the
156
149
  * toolkit registration. Requires `McpSession` for `tdd-resume`'s default.
@@ -158,8 +151,6 @@ export declare class McpSession extends McpSession_base {
158
151
  * @public
159
152
  */
160
153
  export declare const PromptsLayer: Layer.Layer<never, never, McpSession>;
161
- //#endregion
162
- //#region src/server.d.ts
163
154
  /**
164
155
  * The platform services the stdio transport needs.
165
156
  *
@@ -201,8 +192,6 @@ export declare const SERVER_INSTRUCTIONS: string;
201
192
  * @public
202
193
  */
203
194
  export declare const ServerLayer: (options: ServerLayerOptions) => Layer.Layer<never, never, PlatformServices | McpSession | DataReader | DataStore | ProjectDiscovery>;
204
- //#endregion
205
- //#region src/tools/ping.d.ts
206
195
  /**
207
196
  * The `ping` tool's success payload.
208
197
  *
@@ -221,8 +210,6 @@ export declare const PingResult: Schema.Struct<{
221
210
  * @public
222
211
  */
223
212
  type PingResultType = Schema.Schema.Type<typeof PingResult>;
224
- //#endregion
225
- //#region src/tools/help.d.ts
226
213
  /**
227
214
  * The `help` tool's success payload.
228
215
  *
@@ -237,8 +224,6 @@ export declare const HelpResult: Schema.Struct<{
237
224
  * @public
238
225
  */
239
226
  type HelpResultType = Schema.Schema.Type<typeof HelpResult>;
240
- //#endregion
241
- //#region src/tools/status.d.ts
242
227
  /**
243
228
  * The `test_status` tool's success payload.
244
229
  *
@@ -280,8 +265,6 @@ export declare const TestStatusInput: Schema.Struct<{
280
265
  * @public
281
266
  */
282
267
  type TestStatusInputType = Schema.Schema.Type<typeof TestStatusInput>;
283
- //#endregion
284
- //#region src/tools/overview.d.ts
285
268
  /**
286
269
  * The `test_overview` tool's success payload.
287
270
  *
@@ -324,8 +307,6 @@ export declare const TestOverviewInput: Schema.Struct<{
324
307
  * @public
325
308
  */
326
309
  type TestOverviewInputType = Schema.Schema.Type<typeof TestOverviewInput>;
327
- //#endregion
328
- //#region src/tools/coverage.d.ts
329
310
  /**
330
311
  * The `test_coverage` tool's success payload.
331
312
  *
@@ -466,8 +447,6 @@ export declare const TestCoverageInput: Schema.Struct<{
466
447
  * @public
467
448
  */
468
449
  type TestCoverageInputType = Schema.Schema.Type<typeof TestCoverageInput>;
469
- //#endregion
470
- //#region src/tools/history.d.ts
471
450
  /**
472
451
  * The `test_history` tool's success payload.
473
452
  *
@@ -535,8 +514,6 @@ export declare const TestHistoryInput: Schema.Struct<{
535
514
  * @public
536
515
  */
537
516
  type TestHistoryInputType = Schema.Schema.Type<typeof TestHistoryInput>;
538
- //#endregion
539
- //#region src/tools/trends.d.ts
540
517
  /**
541
518
  * The `test_trends` tool's success payload.
542
519
  *
@@ -589,8 +566,6 @@ export declare const TestTrendsInput: Schema.Struct<{
589
566
  * @public
590
567
  */
591
568
  type TestTrendsInputType = Schema.Schema.Type<typeof TestTrendsInput>;
592
- //#endregion
593
- //#region src/tools/errors.d.ts
594
569
  /**
595
570
  * The `test_errors` tool's success payload — populates `structuredContent`.
596
571
  *
@@ -644,8 +619,6 @@ export declare const TestErrorsInput: Schema.Struct<{
644
619
  * @public
645
620
  */
646
621
  type TestErrorsInputType = Schema.Schema.Type<typeof TestErrorsInput>;
647
- //#endregion
648
- //#region src/tools/file-coverage.d.ts
649
622
  /**
650
623
  * The `file_coverage` tool's success payload.
651
624
  *
@@ -708,8 +681,6 @@ export declare const FileCoverageInput: Schema.Struct<{
708
681
  * @public
709
682
  */
710
683
  type FileCoverageInputType = Schema.Schema.Type<typeof FileCoverageInput>;
711
- //#endregion
712
- //#region src/tools/settings-list.d.ts
713
684
  /**
714
685
  * The `settings_list` tool's success payload.
715
686
  *
@@ -728,8 +699,6 @@ export declare const SettingsListResult: Schema.Struct<{
728
699
  * @public
729
700
  */
730
701
  type SettingsListResultType = Schema.Schema.Type<typeof SettingsListResult>;
731
- //#endregion
732
- //#region src/tools/cache-health.d.ts
733
702
  /**
734
703
  * The `cache_health` tool's success payload.
735
704
  *
@@ -759,8 +728,6 @@ export declare const CacheHealthResult: Schema.Union<readonly [Schema.Struct<{
759
728
  * @public
760
729
  */
761
730
  type CacheHealthResultType = Schema.Schema.Type<typeof CacheHealthResult>;
762
- //#endregion
763
- //#region src/tools/configure.d.ts
764
731
  /**
765
732
  * The `configure` tool's success payload.
766
733
  *
@@ -808,8 +775,6 @@ export declare const ConfigureInput: Schema.Struct<{
808
775
  * @public
809
776
  */
810
777
  type ConfigureInputType = Schema.Schema.Type<typeof ConfigureInput>;
811
- //#endregion
812
- //#region src/tools/commit-changes.d.ts
813
778
  /**
814
779
  * The `commit_changes` tool's success payload.
815
780
  *
@@ -851,8 +816,6 @@ export declare const CommitChangesInput: Schema.Struct<{
851
816
  * @public
852
817
  */
853
818
  type CommitChangesInputType = Schema.Schema.Type<typeof CommitChangesInput>;
854
- //#endregion
855
- //#region src/tools/turn-search.d.ts
856
819
  /**
857
820
  * The `turn_search` tool's success payload.
858
821
  *
@@ -892,8 +855,6 @@ export declare const TurnSearchInput: Schema.Struct<{
892
855
  * @public
893
856
  */
894
857
  type TurnSearchInputType = Schema.Schema.Type<typeof TurnSearchInput>;
895
- //#endregion
896
- //#region src/tools/failure-signature-get.d.ts
897
858
  /**
898
859
  * The `failure_signature_get` tool's success payload.
899
860
  *
@@ -935,8 +896,6 @@ export declare const FailureSignatureGetInput: Schema.Struct<{
935
896
  * @public
936
897
  */
937
898
  type FailureSignatureGetInputType = Schema.Schema.Type<typeof FailureSignatureGetInput>;
938
- //#endregion
939
- //#region src/tools/acceptance-metrics.d.ts
940
899
  /**
941
900
  * The `acceptance_metrics` tool's success payload.
942
901
  *
@@ -970,8 +929,6 @@ export declare const AcceptanceMetricsResult: Schema.Struct<{
970
929
  * @public
971
930
  */
972
931
  type AcceptanceMetricsResultType = Schema.Schema.Type<typeof AcceptanceMetricsResult>;
973
- //#endregion
974
- //#region src/tools/triage-brief.d.ts
975
932
  /**
976
933
  * The `triage_brief` tool's success payload.
977
934
  *
@@ -1002,8 +959,6 @@ export declare const TriageBriefInput: Schema.Struct<{
1002
959
  * @public
1003
960
  */
1004
961
  type TriageBriefInputType = Schema.Schema.Type<typeof TriageBriefInput>;
1005
- //#endregion
1006
- //#region src/tools/wrapup-prompt.d.ts
1007
962
  /**
1008
963
  * The `wrapup_prompt` tool's success payload.
1009
964
  *
@@ -1037,8 +992,6 @@ export declare const WrapupPromptInput: Schema.Struct<{
1037
992
  * @public
1038
993
  */
1039
994
  type WrapupPromptInputType = Schema.Schema.Type<typeof WrapupPromptInput>;
1040
- //#endregion
1041
- //#region src/tools/register-agent.d.ts
1042
995
  /**
1043
996
  * The `register_agent` tool's parameters.
1044
997
  *
@@ -1086,8 +1039,6 @@ export declare const RegisterAgentResult: Schema.Union<readonly [Schema.Struct<{
1086
1039
  * @public
1087
1040
  */
1088
1041
  type RegisterAgentOutput = Schema.Schema.Type<typeof RegisterAgentResult>;
1089
- //#endregion
1090
- //#region src/tools/tdd-phase-transition-request.d.ts
1091
1042
  /**
1092
1043
  * The `tdd_phase_transition_request` tool's success payload.
1093
1044
  *
@@ -1144,8 +1095,6 @@ export declare const PhaseTransitionInput: Schema.Struct<{
1144
1095
  * @public
1145
1096
  */
1146
1097
  type PhaseTransitionInputType = Schema.Schema.Type<typeof PhaseTransitionInput>;
1147
- //#endregion
1148
- //#region src/tools/tdd-artifact.d.ts
1149
1098
  /**
1150
1099
  * The `tdd_artifact_list` tool's success payload.
1151
1100
  *
@@ -1197,8 +1146,6 @@ export declare const TddArtifactListInput: Schema.Struct<{
1197
1146
  * @public
1198
1147
  */
1199
1148
  type TddArtifactListInputType = Schema.Schema.Type<typeof TddArtifactListInput>;
1200
- //#endregion
1201
- //#region src/tools/tdd-progress-push.d.ts
1202
1149
  /**
1203
1150
  * The `tdd_progress_push` tool's parameters.
1204
1151
  *
@@ -1227,8 +1174,6 @@ export declare const TddProgressPushResult: Schema.Struct<{
1227
1174
  * @public
1228
1175
  */
1229
1176
  type TddProgressPushResultType = Schema.Schema.Type<typeof TddProgressPushResult>;
1230
- //#endregion
1231
- //#region src/tools/run-tests.d.ts
1232
1177
  /**
1233
1178
  * The `run_tests` tool's success payload.
1234
1179
  *
@@ -1492,8 +1437,6 @@ export declare const RunTestsInput: Schema.Struct<{
1492
1437
  * @public
1493
1438
  */
1494
1439
  type RunTestsInputType = Schema.Schema.Type<typeof RunTestsInput>;
1495
- //#endregion
1496
- //#region src/toolkit.d.ts
1497
1440
  /**
1498
1441
  * Every tool the server registers.
1499
1442
  *
@@ -5602,8 +5545,6 @@ export declare const ToolsLayer: import("effect/Layer").Layer<import("effect/ai/
5602
5545
  readonly failureMode: "error";
5603
5546
  }, import("@vitest-agent/engine").DataReader>;
5604
5547
  }>, never, never>;
5605
- //#endregion
5606
- //#region src/tools/_tdd-error-envelope.d.ts
5607
5548
  /**
5608
5549
  * Success-shaped envelope returned by TDD CRUD tools when a known TDD error occurs.
5609
5550
  *
@@ -5621,8 +5562,6 @@ interface TddErrorEnvelope {
5621
5562
  readonly [key: string]: unknown;
5622
5563
  };
5623
5564
  }
5624
- //#endregion
5625
- //#region src/tools/inventory.d.ts
5626
5565
  /**
5627
5566
  * The `inventory` tool's success payload.
5628
5567
  *
@@ -5763,8 +5702,6 @@ export declare const InventoryInput: Schema.Union<readonly [Schema.Struct<{
5763
5702
  * @public
5764
5703
  */
5765
5704
  type InventoryInputType = Schema.Schema.Type<typeof InventoryInput>;
5766
- //#endregion
5767
- //#region src/tools/note.d.ts
5768
5705
  /**
5769
5706
  * The `note` tool's success payload.
5770
5707
  *
@@ -5890,8 +5827,6 @@ export declare const NoteParams: Schema.Union<readonly [Schema.Struct<{
5890
5827
  * @public
5891
5828
  */
5892
5829
  type NoteParamsType = Schema.Schema.Type<typeof NoteParams>;
5893
- //#endregion
5894
- //#region src/tools/test.d.ts
5895
5830
  /**
5896
5831
  * The `test` tool's success payload.
5897
5832
  *
@@ -6067,8 +6002,6 @@ export declare const TestInput: Schema.Union<readonly [Schema.Struct<{
6067
6002
  * @public
6068
6003
  */
6069
6004
  type TestInputType = Schema.Schema.Type<typeof TestInput>;
6070
- //#endregion
6071
- //#region src/version.d.ts
6072
6005
  /**
6073
6006
  * The version of this package, inlined at build time from
6074
6007
  * `package.json#version` via the bundler's `__PACKAGE_VERSION__` substitution.
@@ -6078,6 +6011,5 @@ type TestInputType = Schema.Schema.Type<typeof TestInput>;
6078
6011
  * @public
6079
6012
  */
6080
6013
  export declare const CURRENT_MCP_VERSION: string;
6081
- //#endregion
6082
6014
  export { type AcceptanceMetricsResultType, type CacheHealthResultType, type CommitChangesInputType, type CommitChangesResultType, type ConfigureInputType, type ConfigureResultType, type CurrentSessionIdRef, type FailureSignatureGetInputType, type FailureSignatureGetResultType, type FileCoverageInputType, type FileCoverageResultType, type HelpResultType, type InventoryInputType, type InventoryResultType, type McpSessionOptions, type NoteParamsType, type NoteResultType, type PhaseTransitionInputType, type PhaseTransitionResultType, type PingResultType, type PlatformServices, type RegisterAgentInputType, type RegisterAgentOutput, type Remediation, type RunTestsInputType, type RunTestsResultType, type ServerLayerOptions, type SessionContext, type SessionContextRef, type SettingsListResultType, type TddArtifactListInputType, type TddArtifactListResultType, type TddErrorEnvelope, type TddProgressPushInputType, type TddProgressPushResultType, type TestCoverageInputType, type TestCoverageResultType, type TestErrorsInputType, type TestErrorsResultType, type TestHistoryInputType, type TestHistoryResultType, type TestInputType, type TestOverviewInputType, type TestOverviewResultType, type TestResultType, type TestStatusInputType, type TestStatusResultType, type TestTrendsInputType, type TestTrendsResultType, ToolRefusal, type TriageBriefInputType, type TriageBriefResultType, type TurnSearchInputType, type TurnSearchResultType, type WrapupPromptInputType, type WrapupPromptResultType };
6083
6015
  //# 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
  *
@@ -26,5 +25,4 @@ export interface MainOptions {
26
25
  * @public
27
26
  */
28
27
  export declare const main: (options?: MainOptions) => Promise<void>;
29
- //#endregion
30
28
  //# sourceMappingURL=main.d.ts.map
package/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { McpGuard } from "@effected/mcp/guard";
2
2
 
3
- //#region src/main.ts
3
+ // src/main.ts
4
4
  /**
5
5
  * Optional first positional argument: an initial Claude Code chat UUID (the
6
6
  * host's `chatId`) to seed the MCP server's session association. Claude Code
@@ -102,5 +102,4 @@ const main = (options = {}) => McpGuard.run({
102
102
  }
103
103
  });
104
104
 
105
- //#endregion
106
105
  export { main };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitest-agent/mcp",
3
- "version": "5.2.6",
3
+ "version": "5.2.8",
4
4
  "private": false,
5
5
  "description": "Model Context Protocol server for vitest-agent. Exposes 30 tools for agent access to test data, TDD lifecycle, and session management.",
6
6
  "keywords": [
@@ -43,15 +43,15 @@
43
43
  "vitest-agent-mcp": "bin/vitest-agent-mcp.js"
44
44
  },
45
45
  "dependencies": {
46
- "@effect/platform-node": "^4.0.5",
47
- "@effect/sql-sqlite-node": "^4.0.5",
48
- "@effected/engine": "^0.7.0",
49
- "@effected/git": "^0.23.0",
50
- "@effected/mcp": "^0.8.0",
51
- "@effected/walker": "^0.18.0",
52
- "@vitest-agent/engine": "1.0.6",
53
- "@vitest-agent/sdk": "7.0.4",
54
- "effect": "^4.0.5"
46
+ "@effect/platform-node": "^4.0.6",
47
+ "@effect/sql-sqlite-node": "^4.0.6",
48
+ "@effected/engine": "^0.8.0",
49
+ "@effected/git": "^0.24.0",
50
+ "@effected/mcp": "^0.9.0",
51
+ "@effected/walker": "^0.19.0",
52
+ "@vitest-agent/engine": "1.1.1",
53
+ "@vitest-agent/sdk": "7.0.5",
54
+ "effect": "^4.0.6"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "vitest": "^5.0.0"
@@ -1,4 +1,4 @@
1
- //#region src/prompts/explain-failure.ts
1
+ // src/prompts/explain-failure.ts
2
2
  function explainFailurePrompt(args) {
3
3
  return { messages: [{
4
4
  role: "user",
@@ -23,5 +23,4 @@ function explainFailurePrompt(args) {
23
23
  }] };
24
24
  }
25
25
 
26
- //#endregion
27
26
  export { explainFailurePrompt };
package/prompts/layer.js CHANGED
@@ -8,7 +8,7 @@ import { wrapupPrompt } from "./wrapup.js";
8
8
  import { Effect, Layer, Schema } from "effect";
9
9
  import { McpSchema, McpServer } from "effect/ai";
10
10
 
11
- //#region src/prompts/layer.ts
11
+ // src/prompts/layer.ts
12
12
  /**
13
13
  * The six prompt names `PromptsLayer` registers, in registration order.
14
14
  * Pinned against the `help` text by `__test__/help-drift.test.ts`.
@@ -110,5 +110,4 @@ const Wrapup = McpServer.prompt({
110
110
  */
111
111
  const PromptsLayer = Layer.mergeAll(Triage, WhyFlaky, RegressionSincePass, ExplainFailure, TddResume, Wrapup);
112
112
 
113
- //#endregion
114
113
  export { PROMPT_NAMES, PromptsLayer, WRAPUP_KINDS };
@@ -1,4 +1,4 @@
1
- //#region src/prompts/regression-since-pass.ts
1
+ // src/prompts/regression-since-pass.ts
2
2
  function regressionSincePassPrompt(args) {
3
3
  const projectClause = args.project ? ` in project \`${args.project}\`` : "";
4
4
  return { messages: [{
@@ -24,5 +24,4 @@ function regressionSincePassPrompt(args) {
24
24
  }] };
25
25
  }
26
26
 
27
- //#endregion
28
27
  export { regressionSincePassPrompt };
@@ -1,4 +1,4 @@
1
- //#region src/prompts/tdd-resume.ts
1
+ // src/prompts/tdd-resume.ts
2
2
  function tddResumePrompt(args) {
3
3
  return { messages: [{
4
4
  role: "user",
@@ -24,5 +24,4 @@ function tddResumePrompt(args) {
24
24
  }] };
25
25
  }
26
26
 
27
- //#endregion
28
27
  export { tddResumePrompt };
package/prompts/triage.js CHANGED
@@ -1,4 +1,4 @@
1
- //#region src/prompts/triage.ts
1
+ // src/prompts/triage.ts
2
2
  function triagePrompt(args) {
3
3
  return { messages: [{
4
4
  role: "user",
@@ -20,5 +20,4 @@ function triagePrompt(args) {
20
20
  }] };
21
21
  }
22
22
 
23
- //#endregion
24
23
  export { triagePrompt };
@@ -1,4 +1,4 @@
1
- //#region src/prompts/why-flaky.ts
1
+ // src/prompts/why-flaky.ts
2
2
  function whyFlakyPrompt(args) {
3
3
  const projectClause = args.project ? ` in project \`${args.project}\`` : "";
4
4
  return { messages: [{
@@ -26,5 +26,4 @@ function whyFlakyPrompt(args) {
26
26
  }] };
27
27
  }
28
28
 
29
- //#endregion
30
29
  export { whyFlakyPrompt };
package/prompts/wrapup.js CHANGED
@@ -1,4 +1,4 @@
1
- //#region src/prompts/wrapup.ts
1
+ // src/prompts/wrapup.ts
2
2
  function wrapupPrompt(args) {
3
3
  return { messages: [{
4
4
  role: "user",
@@ -15,5 +15,4 @@ function wrapupPrompt(args) {
15
15
  }] };
16
16
  }
17
17
 
18
- //#endregion
19
18
  export { wrapupPrompt };
package/server.js CHANGED
@@ -3,7 +3,7 @@ import { Kit, ToolsLayer } from "./toolkit.js";
3
3
  import { McpStdio, McpToolkit } from "@effected/mcp";
4
4
  import { Layer } from "effect";
5
5
 
6
- //#region src/server.ts
6
+ // src/server.ts
7
7
  /** One-line human summary agents see on `serverInfo.description`. */
8
8
  const DESCRIPTION = "vitest-agent MCP server: test results, coverage, history and TDD lifecycle for LLM coding agents.";
9
9
  /**
@@ -45,5 +45,4 @@ const ServerLayer = (options) => Layer.mergeAll(McpToolkit.layer(Kit).pipe(Layer
45
45
  instructions: SERVER_INSTRUCTIONS
46
46
  })));
47
47
 
48
- //#endregion
49
48
  export { SERVER_INSTRUCTIONS, ServerLayer };
package/session.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Context, Layer, MutableRef } from "effect";
2
2
 
3
- //#region src/session.ts
3
+ // src/session.ts
4
4
  /**
5
5
  * Creates a new `CurrentSessionIdRef` with an optional initial value.
6
6
  *
@@ -98,5 +98,4 @@ var McpSession = class McpSession extends Context.Service()("@vitest-agent/mcp/M
98
98
  });
99
99
  };
100
100
 
101
- //#endregion
102
101
  export { McpSession, createCurrentSessionIdRef, createSessionContextRef, sessionContextFromEnv };
package/toolkit.js CHANGED
@@ -32,7 +32,7 @@ import { handleWrapupPrompt, wrapupPromptTool } from "./tools/wrapup-prompt.js";
32
32
  import { McpToolkit } from "@effected/mcp";
33
33
  import { Toolkit } from "effect/ai";
34
34
 
35
- //#region src/toolkit.ts
35
+ // src/toolkit.ts
36
36
  /**
37
37
  * Every tool the server registers.
38
38
  *
@@ -86,5 +86,4 @@ const toolHandlers = {
86
86
  */
87
87
  const ToolsLayer = Kit.toLayer(toolHandlers);
88
88
 
89
- //#endregion
90
89
  export { Kit, ToolsLayer, toolHandlers };
@@ -1,6 +1,6 @@
1
1
  import { Effect } from "effect";
2
2
 
3
- //#region src/tools/_project-groups.ts
3
+ // src/tools/_project-groups.ts
4
4
  const resolveProjectTargets = (project, listProjects) => project ? Effect.succeed([{ project }]) : Effect.map(listProjects(), (runs) => runs.map((run) => ({ project: run.project })));
5
5
  const collectProjectRows = (targets, listRows) => Effect.gen(function* () {
6
6
  const groups = [];
@@ -20,5 +20,4 @@ const collectProjectRows = (targets, listRows) => Effect.gen(function* () {
20
20
  };
21
21
  });
22
22
 
23
- //#endregion
24
23
  export { collectProjectRows, resolveProjectTargets };
@@ -1,7 +1,7 @@
1
1
  import { Effect } from "effect";
2
2
  import { BehaviorNotFoundError, GoalNotFoundError, IllegalStatusTransitionError, TddTaskAlreadyEndedError, TddTaskNotFoundError } from "@vitest-agent/sdk";
3
3
 
4
- //#region src/tools/_tdd-error-envelope.ts
4
+ // src/tools/_tdd-error-envelope.ts
5
5
  const goalNotFound = (e) => ({
6
6
  ok: false,
7
7
  error: {
@@ -85,5 +85,4 @@ const tddErrorToEnvelope = (e) => {
85
85
  };
86
86
  const catchTddErrorsAsEnvelope = (effect) => effect.pipe(Effect.catch((e) => isKnownTddError(e) ? Effect.succeed(tddErrorToEnvelope(e)) : Effect.fail(e)));
87
87
 
88
- //#endregion
89
88
  export { catchTddErrorsAsEnvelope };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/acceptance-metrics.ts
5
+ // src/tools/acceptance-metrics.ts
6
6
  const totalAnnotation = { description: "Sample size — number of observations the metric ratio is computed over." };
7
7
  const ratioAnnotation = { description: "Compliance ratio in [0, 1]. Multiply by 100 for the percentage form." };
8
8
  /**
@@ -68,5 +68,4 @@ const acceptanceMetricsTool = Tool.make("acceptance_metrics", {
68
68
  dependencies: [DataReader]
69
69
  }).annotate(Tool.Title, "Acceptance metrics").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
70
70
 
71
- //#endregion
72
71
  export { AcceptanceMetricsResult, acceptanceMetricsTool, handleAcceptanceMetrics };
@@ -4,7 +4,7 @@ import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
  import { CacheManifest } from "@vitest-agent/sdk";
6
6
 
7
- //#region src/tools/cache-health.ts
7
+ // src/tools/cache-health.ts
8
8
  const ManifestPresent = Schema.Struct({
9
9
  manifestPresent: Schema.Literal(true).annotate({ description: "Discriminant — `true` when a cache manifest exists." }),
10
10
  manifest: CacheManifest.annotate({ description: "Full cache manifest content as written by the reporter." }),
@@ -58,5 +58,4 @@ const cacheHealthTool = Tool.make("cache_health", {
58
58
  dependencies: [DataReader]
59
59
  }).annotate(Tool.Title, "Cache health").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
60
60
 
61
- //#endregion
62
61
  export { CacheHealthResult, cacheHealthTool, handleCacheHealth };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/commit-changes.ts
5
+ // src/tools/commit-changes.ts
6
6
  const FileRow = Schema.Struct({
7
7
  filePath: Schema.String.annotate({ description: "Repo-relative path of the changed file." }),
8
8
  changeKind: Schema.Literals([
@@ -67,5 +67,4 @@ const commitChangesTool = Tool.make("commit_changes", {
67
67
  dependencies: [DataReader]
68
68
  }).annotate(Tool.Title, "Commit changes").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
69
69
 
70
- //#endregion
71
70
  export { CommitChangesInput, CommitChangesResult, commitChangesTool, handleCommitChanges };
@@ -3,7 +3,7 @@ import { Effect, Option, Schema } from "effect";
3
3
  import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
 
6
- //#region src/tools/configure.ts
6
+ // src/tools/configure.ts
7
7
  const SettingsRowSchema = Schema.Struct({
8
8
  hash: Schema.String.annotate({ description: "Stable SHA-1 of the captured Vitest settings; `test_runs.settings_hash` foreign key." }),
9
9
  reporters: Schema.NullOr(Schema.String).annotate({ description: "Comma-separated reporter list as resolved from the user's vitest config." }),
@@ -88,5 +88,4 @@ const configureTool = Tool.make("configure", {
88
88
  dependencies: [DataReader]
89
89
  }).annotate(Tool.Title, "Configure").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
90
90
 
91
- //#endregion
92
91
  export { ConfigureInput, ConfigureResult, configureTool, handleConfigure };
package/tools/coverage.js CHANGED
@@ -4,7 +4,7 @@ import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
  import { CoverageReport } from "@vitest-agent/sdk";
6
6
 
7
- //#region src/tools/coverage.ts
7
+ // src/tools/coverage.ts
8
8
  const CoverageAvailable = Schema.Struct({
9
9
  dataAvailable: Schema.Literal(true),
10
10
  project: Schema.String,
@@ -61,5 +61,4 @@ const testCoverageTool = Tool.make("test_coverage", {
61
61
  dependencies: [DataReader]
62
62
  }).annotate(Tool.Title, "Test coverage").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
63
63
 
64
- //#endregion
65
64
  export { TestCoverageInput, TestCoverageResult, handleTestCoverage, testCoverageTool };
package/tools/errors.js CHANGED
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/errors.ts
5
+ // src/tools/errors.ts
6
6
  /** One annotation attached to a failing test, surfaced with its error. */
7
7
  const TestErrorAnnotation = Schema.Struct({
8
8
  type: Schema.String.annotate({ description: "Annotation type as the test author wrote it — an arbitrary string, not an enum." }),
@@ -123,5 +123,4 @@ const testErrorsTool = Tool.make("test_errors", {
123
123
  dependencies: [DataReader]
124
124
  }).annotate(Tool.Title, "Test errors").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
125
125
 
126
- //#endregion
127
126
  export { TestErrorAnnotation, TestErrorRow, TestErrorsInput, TestErrorsResult, handleTestErrors, testErrorsTool };
@@ -3,7 +3,7 @@ import { Effect, Option, Schema } from "effect";
3
3
  import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
 
6
- //#region src/tools/failure-signature-get.ts
6
+ // src/tools/failure-signature-get.ts
7
7
  const RecentError = Schema.Struct({
8
8
  runId: Schema.Number,
9
9
  errorName: Schema.NullOr(Schema.String),
@@ -69,5 +69,4 @@ const failureSignatureGetTool = Tool.make("failure_signature_get", {
69
69
  dependencies: [DataReader]
70
70
  }).annotate(Tool.Title, "Failure signature").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
71
71
 
72
- //#endregion
73
72
  export { FailureSignatureGetInput, FailureSignatureGetResult, failureSignatureGetTool, handleFailureSignatureGet };
@@ -4,7 +4,7 @@ import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
  import { CoverageTotals, FileCoverageReport } from "@vitest-agent/sdk";
6
6
 
7
- //#region src/tools/file-coverage.ts
7
+ // src/tools/file-coverage.ts
8
8
  const CoverageGlobalThresholds = Schema.Struct({
9
9
  statements: Schema.optional(Schema.Number),
10
10
  branches: Schema.optional(Schema.Number),
@@ -98,5 +98,4 @@ const fileCoverageTool = Tool.make("file_coverage", {
98
98
  dependencies: [DataReader]
99
99
  }).annotate(Tool.Title, "File coverage").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
100
100
 
101
- //#endregion
102
101
  export { FileCoverageInput, FileCoverageResult, fileCoverageTool, handleFileCoverage };
package/tools/help.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  import { Tool } from "effect/ai";
3
3
 
4
- //#region src/tools/help.ts
4
+ // src/tools/help.ts
5
5
  /**
6
6
  * The `help` tool's success payload.
7
7
  *
@@ -184,5 +184,4 @@ const helpTool = Tool.make("help", {
184
184
  */
185
185
  const handleHelp = () => Effect.succeed({ helpText: HELP_TEXT });
186
186
 
187
- //#endregion
188
187
  export { HELP_TEXT, HelpResult, handleHelp, helpTool };
package/tools/history.js CHANGED
@@ -3,7 +3,7 @@ import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
  import { HistoryRecord } from "@vitest-agent/sdk";
5
5
 
6
- //#region src/tools/history.ts
6
+ // src/tools/history.ts
7
7
  const FlakyTestRow = Schema.Struct({
8
8
  fullName: Schema.String.annotate({ description: "Full hierarchical test name (`describe > it`)." }),
9
9
  modulePath: Schema.String.annotate({ description: "Project-relative test module path -- disambiguates same-named tests across files." }),
@@ -117,5 +117,4 @@ const testHistoryTool = Tool.make("test_history", {
117
117
  dependencies: [DataReader]
118
118
  }).annotate(Tool.Title, "Test history").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
119
119
 
120
- //#endregion
121
120
  export { TestHistoryInput, TestHistoryResult, handleTestHistory, testHistoryTool };
@@ -5,7 +5,7 @@ import { Effect, Match, Option, Schema } from "effect";
5
5
  import { DataReader, DataStore } from "@vitest-agent/engine";
6
6
  import { Tool } from "effect/ai";
7
7
 
8
- //#region src/tools/hypothesis.ts
8
+ // src/tools/hypothesis.ts
9
9
  const HypothesisRowSchema = Schema.Struct({
10
10
  id: Schema.Number,
11
11
  sessionId: Schema.Number,
@@ -180,5 +180,4 @@ const hypothesisTool = McpToolkit.unionTool("hypothesis", {
180
180
  failure: ToolRefusal
181
181
  }).addDependency(DataReader).addDependency(DataStore).addDependency(McpSession).annotate(Tool.Title, "Hypothesis").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, false);
182
182
 
183
- //#endregion
184
183
  export { HypothesisInput, HypothesisResult, handleHypothesis, hypothesisTool };
@@ -4,7 +4,7 @@ import { Effect, Match, Option, Schema } from "effect";
4
4
  import { DataReader } from "@vitest-agent/engine";
5
5
  import { Tool } from "effect/ai";
6
6
 
7
- //#region src/tools/inventory.ts
7
+ // src/tools/inventory.ts
8
8
  const ProjectRunSummary = Schema.Struct({
9
9
  project: Schema.String,
10
10
  lastRun: Schema.NullOr(Schema.String),
@@ -299,5 +299,4 @@ const inventoryTool = McpToolkit.unionTool("inventory", {
299
299
  failure: ToolRefusal
300
300
  }).addDependency(DataReader).annotate(Tool.Title, "Inventory").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
301
301
 
302
- //#endregion
303
302
  export { InventoryInput, InventoryResult, handleInventory, inventoryTool };
package/tools/note.js CHANGED
@@ -3,7 +3,7 @@ import { Effect, Match, Option, Schema } from "effect";
3
3
  import { DataReader, DataStore } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
 
6
- //#region src/tools/note.ts
6
+ // src/tools/note.ts
7
7
  const NoteScope = Schema.Literals([
8
8
  "global",
9
9
  "project",
@@ -218,5 +218,4 @@ const noteTool = McpToolkit.unionTool("note", {
218
218
  failure: ToolRefusal
219
219
  }).addDependency(DataReader).addDependency(DataStore).annotate(Tool.Title, "Note").annotate(Tool.Readonly, false).annotate(Tool.Destructive, true).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, false);
220
220
 
221
- //#endregion
222
221
  export { NoteParams, NoteResult, handleNote, noteTool };
package/tools/overview.js CHANGED
@@ -3,7 +3,7 @@ import { Effect, Option, Schema } from "effect";
3
3
  import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
 
6
- //#region src/tools/overview.ts
6
+ // src/tools/overview.ts
7
7
  const ProjectRunSummary = Schema.Struct({
8
8
  project: Schema.String,
9
9
  lastRun: Schema.NullOr(Schema.String),
@@ -83,5 +83,4 @@ const testOverviewTool = Tool.make("test_overview", {
83
83
  dependencies: [DataReader]
84
84
  }).annotate(Tool.Title, "Test overview").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
85
85
 
86
- //#endregion
87
86
  export { TestOverviewInput, TestOverviewResult, handleTestOverview, testOverviewTool };
package/tools/ping.js CHANGED
@@ -2,7 +2,7 @@ import { Effect, Option, Schema } from "effect";
2
2
  import { Tool } from "effect/ai";
3
3
  import { CurrentDistribution, DistributionField } from "@effected/engine";
4
4
 
5
- //#region src/tools/ping.ts
5
+ // src/tools/ping.ts
6
6
  /**
7
7
  * The `ping` tool's success payload.
8
8
  *
@@ -40,5 +40,4 @@ const handlePing = () => Effect.gen(function* () {
40
40
  };
41
41
  });
42
42
 
43
- //#endregion
44
43
  export { PingResult, handlePing, pingTool };
@@ -3,7 +3,7 @@ import { Effect, Option, Schema } from "effect";
3
3
  import { DataReader, DataStore, deriveIdempotencyKey } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
 
6
- //#region src/tools/register-agent.ts
6
+ // src/tools/register-agent.ts
7
7
  /**
8
8
  * `register_agent` MCP tool.
9
9
  *
@@ -163,5 +163,4 @@ const registerAgentTool = Tool.make("register_agent", {
163
163
  dependencies: [DataReader, DataStore]
164
164
  }).annotate(Tool.Title, "Register agent").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
165
165
 
166
- //#endregion
167
166
  export { RegisterAgentInput, RegisterAgentResult, handleRegisterAgent, registerAgentTool };
@@ -18,7 +18,7 @@ import * as NodePath from "@effect/platform-node/NodePath";
18
18
  import { Git } from "@effected/git";
19
19
  import { Walker } from "@effected/walker";
20
20
 
21
- //#region src/tools/run-tests.ts
21
+ // src/tools/run-tests.ts
22
22
  const TagFilter = Schema.Struct({
23
23
  all: Schema.optionalKey(Schema.Array(Schema.String)).annotate({ description: "Require every listed tag" }),
24
24
  any: Schema.optionalKey(Schema.Array(Schema.String)).annotate({ description: "Require at least one listed tag" }),
@@ -712,5 +712,4 @@ const runTestsTool = Tool.make("run_tests", {
712
712
  ]
713
713
  }).annotate(Tool.Title, "Run tests").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, false);
714
714
 
715
- //#endregion
716
715
  export { RunTestsInput, RunTestsResult, coerceErrors, composeTagExpression, deriveRunScope, handleRunTests, isNoMatch, makeBestEffortFork, makeCoverageDirOverride, readDiscoveryLastScannedAt, resolveAnchoredConfigFile, resolveConfigAnchoredRoot, resolveVitestNodeEntry, runTestsSemaphore, runTestsTool, sanitizeTestArgs, staleInstallMessage, toNoMatch, toOkPayload, validateProjectRoot, vitestLoader, withStdioCaptured };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/settings-list.ts
5
+ // src/tools/settings-list.ts
6
6
  const SettingsRow = Schema.Struct({
7
7
  hash: Schema.String.annotate({ description: "Stable SHA-1 of the captured Vitest settings; FK target on test_runs." }),
8
8
  capturedAt: Schema.String.annotate({ description: "ISO-8601 timestamp the settings row was first written." })
@@ -44,5 +44,4 @@ const settingsListTool = Tool.make("settings_list", {
44
44
  dependencies: [DataReader]
45
45
  }).annotate(Tool.Title, "Settings list").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
46
46
 
47
- //#endregion
48
47
  export { SettingsListResult, handleSettingsList, settingsListTool };
package/tools/status.js CHANGED
@@ -4,7 +4,7 @@ import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
  import { CacheManifestEntry } from "@vitest-agent/sdk";
6
6
 
7
- //#region src/tools/status.ts
7
+ // src/tools/status.ts
8
8
  const StatusAvailable = Schema.Struct({
9
9
  dataAvailable: Schema.Literal(true).annotate({ description: "Discriminant — `true` when at least one project entry exists in the manifest." }),
10
10
  manifestUpdatedAt: Schema.String,
@@ -71,5 +71,4 @@ const testStatusTool = Tool.make("test_status", {
71
71
  dependencies: [DataReader]
72
72
  }).annotate(Tool.Title, "Test status").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
73
73
 
74
- //#endregion
75
74
  export { TestStatusInput, TestStatusResult, handleTestStatus, testStatusTool };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/tdd-artifact.ts
5
+ // src/tools/tdd-artifact.ts
6
6
  const ArtifactKindSchema = Schema.Literals([
7
7
  "test_written",
8
8
  "test_failed_run",
@@ -104,5 +104,4 @@ const tddArtifactListTool = Tool.make("tdd_artifact_list", {
104
104
  dependencies: [DataReader]
105
105
  }).annotate(Tool.Title, "TDD artifact list").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
106
106
 
107
- //#endregion
108
107
  export { TddArtifactListInput, TddArtifactListResult, handleTddArtifactList, tddArtifactListTool };
@@ -7,7 +7,7 @@ import { Tool } from "effect/ai";
7
7
  import { BehaviorDetail, BehaviorRow } from "@vitest-agent/sdk";
8
8
  import { Remediation } from "@effected/engine";
9
9
 
10
- //#region src/tools/tdd-behavior.ts
10
+ // src/tools/tdd-behavior.ts
11
11
  /**
12
12
  * Consolidated `tdd_behavior` MCP tool.
13
13
  *
@@ -215,5 +215,4 @@ const tddBehaviorTool = McpToolkit.unionTool("tdd_behavior", {
215
215
  failure: ToolRefusal
216
216
  }).addDependency(DataReader).addDependency(DataStore).annotate(Tool.Title, "TDD behavior").annotate(Tool.Readonly, false).annotate(Tool.Destructive, true).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, false);
217
217
 
218
- //#endregion
219
218
  export { TddBehaviorInput, TddBehaviorResult, handleTddBehavior, tddBehaviorTool };
package/tools/tdd-goal.js CHANGED
@@ -7,7 +7,7 @@ import { Tool } from "effect/ai";
7
7
  import { GoalDetail, GoalRow } from "@vitest-agent/sdk";
8
8
  import { Remediation } from "@effected/engine";
9
9
 
10
- //#region src/tools/tdd-goal.ts
10
+ // src/tools/tdd-goal.ts
11
11
  /**
12
12
  * Consolidated `tdd_goal` MCP tool.
13
13
  *
@@ -183,5 +183,4 @@ const tddGoalTool = McpToolkit.unionTool("tdd_goal", {
183
183
  failure: ToolRefusal
184
184
  }).addDependency(DataReader).addDependency(DataStore).annotate(Tool.Title, "TDD goal").annotate(Tool.Readonly, false).annotate(Tool.Destructive, true).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, false);
185
185
 
186
- //#endregion
187
186
  export { TddGoalInput, TddGoalResult, handleTddGoal, tddGoalTool };
@@ -5,7 +5,7 @@ import { Tool } from "effect/ai";
5
5
  import { requiredArtifactForTransition, transitionEnforcesBehaviorMatch, validatePhaseTransition } from "@vitest-agent/sdk";
6
6
  import { Remediation } from "@effected/engine";
7
7
 
8
- //#region src/tools/tdd-phase-transition-request.ts
8
+ // src/tools/tdd-phase-transition-request.ts
9
9
  /**
10
10
  * Lookback window for the missing_artifact_evidence cross-session
11
11
  * diagnostic (issue #144). Wide enough to catch a subagent dispatch
@@ -302,5 +302,4 @@ const tddPhaseTransitionRequestTool = Tool.make("tdd_phase_transition_request",
302
302
  dependencies: [DataReader, DataStore]
303
303
  }).annotate(Tool.Title, "TDD phase transition request").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
304
304
 
305
- //#endregion
306
305
  export { PhaseTransitionInput, PhaseTransitionResult, handlePhaseTransitionRequest, tddPhaseTransitionRequestTool };
@@ -3,7 +3,7 @@ import { DataReader } from "@vitest-agent/engine";
3
3
  import { McpServer, Tool } from "effect/ai";
4
4
  import { ChannelEvent } from "@vitest-agent/sdk";
5
5
 
6
- //#region src/tools/tdd-progress-push.ts
6
+ // src/tools/tdd-progress-push.ts
7
7
  /**
8
8
  * The `tdd_progress_push` tool's parameters.
9
9
  *
@@ -97,5 +97,4 @@ const tddProgressPushTool = Tool.make("tdd_progress_push", {
97
97
  dependencies: [DataReader, McpServer.McpServer]
98
98
  }).annotate(Tool.Title, "TDD progress push").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, false);
99
99
 
100
- //#endregion
101
100
  export { CHANNEL_LOGGER, TddProgressPushInput, TddProgressPushResult, handleTddProgressPush, resolveChannelEvent, tddProgressPushTool };
package/tools/tdd-task.js CHANGED
@@ -5,7 +5,7 @@ import { DataReader, DataStore } from "@vitest-agent/engine";
5
5
  import { Tool } from "effect/ai";
6
6
  import { GoalDetail } from "@vitest-agent/sdk";
7
7
 
8
- //#region src/tools/tdd-task.ts
8
+ // src/tools/tdd-task.ts
9
9
  const TddPhaseRow = Schema.Struct({
10
10
  id: Schema.Number,
11
11
  behaviorId: Schema.NullOr(Schema.Number),
@@ -259,5 +259,4 @@ const tddTaskTool = McpToolkit.unionTool("tdd_task", {
259
259
  failure: ToolRefusal
260
260
  }).addDependency(DataReader).addDependency(DataStore).annotate(Tool.Title, "TDD task").annotate(Tool.Readonly, false).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
261
261
 
262
- //#endregion
263
262
  export { TddTaskInput, TddTaskResult, handleTddTask, tddTaskTool };
package/tools/test.js CHANGED
@@ -4,7 +4,7 @@ import { Effect, Match, Option, Schema } from "effect";
4
4
  import { DataReader } from "@vitest-agent/engine";
5
5
  import { Tool } from "effect/ai";
6
6
 
7
- //#region src/tools/test.ts
7
+ // src/tools/test.ts
8
8
  const TestRowSchema = Schema.Struct({
9
9
  id: Schema.Number,
10
10
  fullName: Schema.String,
@@ -343,5 +343,4 @@ const testTool = McpToolkit.unionTool("test", {
343
343
  failure: ToolRefusal
344
344
  }).addDependency(DataReader).annotate(Tool.Title, "Test").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
345
345
 
346
- //#endregion
347
346
  export { TestInput, TestResult, handleTest, testTool };
package/tools/trends.js CHANGED
@@ -4,7 +4,7 @@ import { DataReader } from "@vitest-agent/engine";
4
4
  import { Tool } from "effect/ai";
5
5
  import { TrendRecord } from "@vitest-agent/sdk";
6
6
 
7
- //#region src/tools/trends.ts
7
+ // src/tools/trends.ts
8
8
  const TrendsAvailable = Schema.Struct({
9
9
  dataAvailable: Schema.Literal(true).annotate({ description: "Discriminant — `true` when at least one trend entry exists for the project." }),
10
10
  project: Schema.String,
@@ -62,5 +62,4 @@ const testTrendsTool = Tool.make("test_trends", {
62
62
  dependencies: [DataReader]
63
63
  }).annotate(Tool.Title, "Test trends").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
64
64
 
65
- //#endregion
66
65
  export { TestTrendsInput, TestTrendsResult, handleTestTrends, testTrendsTool };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader, formatTriageEffect } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/triage-brief.ts
5
+ // src/tools/triage-brief.ts
6
6
  /**
7
7
  * The `triage_brief` tool's success payload.
8
8
  *
@@ -55,5 +55,4 @@ const triageBriefTool = Tool.make("triage_brief", {
55
55
  dependencies: [DataReader]
56
56
  }).annotate(Tool.Title, "Triage brief").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
57
57
 
58
- //#endregion
59
58
  export { TriageBriefInput, TriageBriefResult, handleTriageBrief, triageBriefTool };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/turn-search.ts
5
+ // src/tools/turn-search.ts
6
6
  const TurnRow = Schema.Struct({
7
7
  id: Schema.Finite.annotate({ description: "Numeric primary key of this turn row." }),
8
8
  sessionId: Schema.Finite.annotate({ description: "Owning `sessions.id` (integer FK)." }),
@@ -75,5 +75,4 @@ const turnSearchTool = Tool.make("turn_search", {
75
75
  dependencies: [DataReader]
76
76
  }).annotate(Tool.Title, "Turn search").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
77
77
 
78
- //#endregion
79
78
  export { TurnSearchInput, TurnSearchResult, handleTurnSearch, turnSearchTool };
@@ -2,7 +2,7 @@ import { Effect, Schema } from "effect";
2
2
  import { DataReader, formatWrapupEffect } from "@vitest-agent/engine";
3
3
  import { Tool } from "effect/ai";
4
4
 
5
- //#region src/tools/wrapup-prompt.ts
5
+ // src/tools/wrapup-prompt.ts
6
6
  /**
7
7
  * The `wrapup_prompt` tool's success payload.
8
8
  *
@@ -75,5 +75,4 @@ const wrapupPromptTool = Tool.make("wrapup_prompt", {
75
75
  dependencies: [DataReader]
76
76
  }).annotate(Tool.Title, "Wrap-up prompt").annotate(Tool.Readonly, true).annotate(Tool.Destructive, false).annotate(Tool.OpenWorld, false).annotate(Tool.Idempotent, true);
77
77
 
78
- //#endregion
79
78
  export { WrapupPromptInput, WrapupPromptResult, handleWrapupPrompt, wrapupPromptTool };
@@ -1,6 +1,6 @@
1
1
  import { Schema } from "effect";
2
2
 
3
- //#region src/utils/replay-marker.ts
3
+ // src/utils/replay-marker.ts
4
4
  /**
5
5
  * Fields to spread into a replayable success struct.
6
6
  *
@@ -8,5 +8,4 @@ import { Schema } from "effect";
8
8
  */
9
9
  const IdempotentReplayMarker = { _idempotentReplay: Schema.optionalKey(Schema.Literal(true)).annotate({ description: "Present (true) when this response was replayed from the idempotency cache instead of re-running the mutation." }) };
10
10
 
11
- //#endregion
12
11
  export { IdempotentReplayMarker };
@@ -1,6 +1,6 @@
1
1
  import { formatFatalError } from "@vitest-agent/sdk";
2
2
 
3
- //#region src/utils/safe-format-fatal-error.ts
3
+ // src/utils/safe-format-fatal-error.ts
4
4
  /**
5
5
  * Fixed fallback emitted when the formatter itself throws. Deliberately a
6
6
  * constant: anything derived from the offending value could throw again
@@ -24,5 +24,4 @@ function safeFormatFatalError(err) {
24
24
  }
25
25
  }
26
26
 
27
- //#endregion
28
27
  export { UNFORMATTABLE_ERROR_TEXT, safeFormatFatalError };
package/version.js CHANGED
@@ -1,4 +1,4 @@
1
- //#region src/version.ts
1
+ // src/version.ts
2
2
  /**
3
3
  * The version of this package, inlined at build time from
4
4
  * `package.json#version` via the bundler's `__PACKAGE_VERSION__` substitution.
@@ -7,7 +7,6 @@
7
7
  *
8
8
  * @public
9
9
  */
10
- const CURRENT_MCP_VERSION = "5.2.6";
10
+ const CURRENT_MCP_VERSION = "5.2.8";
11
11
 
12
- //#endregion
13
12
  export { CURRENT_MCP_VERSION };