@vitest-agent/mcp 1.0.1 → 1.2.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 (229) hide show
  1. package/README.md +1 -2
  2. package/bin/vitest-agent-mcp.js +1 -17
  3. package/index.d.ts +324 -315
  4. package/index.js +2 -4
  5. package/middleware/idempotency.js +1 -1
  6. package/package.json +2 -2
  7. package/server.js +2 -4
  8. package/tools/acceptance-metrics.js +1 -1
  9. package/tools/cache-health.js +1 -1
  10. package/tools/commit-changes.js +1 -1
  11. package/tools/configure.js +1 -1
  12. package/tools/coverage.js +1 -1
  13. package/tools/errors.js +1 -1
  14. package/tools/failure-signature-get.js +1 -1
  15. package/tools/file-coverage.js +1 -1
  16. package/tools/history.js +1 -1
  17. package/tools/inventory.js +1 -1
  18. package/tools/overview.js +1 -1
  19. package/tools/run-tests.js +15 -3
  20. package/tools/settings-list.js +1 -1
  21. package/tools/status.js +1 -1
  22. package/tools/tdd-artifact.js +1 -1
  23. package/tools/tdd-task.js +1 -1
  24. package/tools/test.js +1 -1
  25. package/tools/trends.js +1 -1
  26. package/tools/turn-search.js +1 -1
  27. package/public/patterns/_meta.json +0 -67
  28. package/public/patterns/authoring-a-custom-vitest-agent-reporter.md +0 -82
  29. package/public/patterns/known-issues-and-caveats.md +0 -52
  30. package/public/patterns/operating-vitest-agent-as-an-agent.md +0 -53
  31. package/public/patterns/running-tests-via-mcp.md +0 -58
  32. package/public/patterns/silencing-leaking-output-in-tests.md +0 -91
  33. package/public/patterns/testing-effect-schema-definitions.md +0 -71
  34. package/public/patterns/testing-effect-services-with-mock-layers.md +0 -63
  35. package/public/vendor/vitest-docs/ATTRIBUTION.md +0 -5
  36. package/public/vendor/vitest-docs/api/advanced/artifacts.md +0 -189
  37. package/public/vendor/vitest-docs/api/advanced/metadata.md +0 -68
  38. package/public/vendor/vitest-docs/api/advanced/plugin.md +0 -168
  39. package/public/vendor/vitest-docs/api/advanced/reporters.md +0 -342
  40. package/public/vendor/vitest-docs/api/advanced/runner.md +0 -334
  41. package/public/vendor/vitest-docs/api/advanced/test-case.md +0 -302
  42. package/public/vendor/vitest-docs/api/advanced/test-collection.md +0 -89
  43. package/public/vendor/vitest-docs/api/advanced/test-module.md +0 -140
  44. package/public/vendor/vitest-docs/api/advanced/test-project.md +0 -321
  45. package/public/vendor/vitest-docs/api/advanced/test-specification.md +0 -96
  46. package/public/vendor/vitest-docs/api/advanced/test-suite.md +0 -230
  47. package/public/vendor/vitest-docs/api/advanced/vitest.md +0 -684
  48. package/public/vendor/vitest-docs/api/assert-type.md +0 -22
  49. package/public/vendor/vitest-docs/api/assert.md +0 -1960
  50. package/public/vendor/vitest-docs/api/browser/assertions.md +0 -1277
  51. package/public/vendor/vitest-docs/api/browser/commands.md +0 -154
  52. package/public/vendor/vitest-docs/api/browser/context.md +0 -338
  53. package/public/vendor/vitest-docs/api/browser/interactivity.md +0 -681
  54. package/public/vendor/vitest-docs/api/browser/locators.md +0 -1171
  55. package/public/vendor/vitest-docs/api/browser/react.md +0 -346
  56. package/public/vendor/vitest-docs/api/browser/svelte.md +0 -292
  57. package/public/vendor/vitest-docs/api/browser/vue.md +0 -222
  58. package/public/vendor/vitest-docs/api/describe.md +0 -374
  59. package/public/vendor/vitest-docs/api/expect-typeof.md +0 -571
  60. package/public/vendor/vitest-docs/api/expect.md +0 -2304
  61. package/public/vendor/vitest-docs/api/hooks.md +0 -463
  62. package/public/vendor/vitest-docs/api/mock.md +0 -701
  63. package/public/vendor/vitest-docs/api/test.md +0 -926
  64. package/public/vendor/vitest-docs/api/vi.md +0 -1372
  65. package/public/vendor/vitest-docs/config/alias.md +0 -13
  66. package/public/vendor/vitest-docs/config/allowonly.md +0 -32
  67. package/public/vendor/vitest-docs/config/api.md +0 -27
  68. package/public/vendor/vitest-docs/config/attachmentsdir.md +0 -6
  69. package/public/vendor/vitest-docs/config/bail.md +0 -9
  70. package/public/vendor/vitest-docs/config/benchmark.md +0 -65
  71. package/public/vendor/vitest-docs/config/browser/api.md +0 -23
  72. package/public/vendor/vitest-docs/config/browser/commands.md +0 -6
  73. package/public/vendor/vitest-docs/config/browser/connecttimeout.md +0 -10
  74. package/public/vendor/vitest-docs/config/browser/detailspanelposition.md +0 -38
  75. package/public/vendor/vitest-docs/config/browser/enabled.md +0 -40
  76. package/public/vendor/vitest-docs/config/browser/expect.md +0 -250
  77. package/public/vendor/vitest-docs/config/browser/headless.md +0 -7
  78. package/public/vendor/vitest-docs/config/browser/instances.md +0 -47
  79. package/public/vendor/vitest-docs/config/browser/isolate.md +0 -11
  80. package/public/vendor/vitest-docs/config/browser/locators.md +0 -24
  81. package/public/vendor/vitest-docs/config/browser/orchestratorscripts.md +0 -39
  82. package/public/vendor/vitest-docs/config/browser/playwright.md +0 -214
  83. package/public/vendor/vitest-docs/config/browser/preview.md +0 -32
  84. package/public/vendor/vitest-docs/config/browser/provider.md +0 -79
  85. package/public/vendor/vitest-docs/config/browser/screenshotdirectory.md +0 -6
  86. package/public/vendor/vitest-docs/config/browser/screenshotfailures.md +0 -6
  87. package/public/vendor/vitest-docs/config/browser/testerhtmlpath.md +0 -5
  88. package/public/vendor/vitest-docs/config/browser/trace.md +0 -43
  89. package/public/vendor/vitest-docs/config/browser/trackunhandlederrors.md +0 -10
  90. package/public/vendor/vitest-docs/config/browser/ui.md +0 -7
  91. package/public/vendor/vitest-docs/config/browser/viewport.md +0 -6
  92. package/public/vendor/vitest-docs/config/browser/webdriverio.md +0 -64
  93. package/public/vendor/vitest-docs/config/cache.md +0 -26
  94. package/public/vendor/vitest-docs/config/chaiconfig.md +0 -29
  95. package/public/vendor/vitest-docs/config/clearmocks.md +0 -22
  96. package/public/vendor/vitest-docs/config/coverage.md +0 -455
  97. package/public/vendor/vitest-docs/config/css.md +0 -47
  98. package/public/vendor/vitest-docs/config/dangerouslyignoreunhandlederrors.md +0 -23
  99. package/public/vendor/vitest-docs/config/deps.md +0 -127
  100. package/public/vendor/vitest-docs/config/detectasyncleaks.md +0 -39
  101. package/public/vendor/vitest-docs/config/diff.md +0 -96
  102. package/public/vendor/vitest-docs/config/dir.md +0 -7
  103. package/public/vendor/vitest-docs/config/disableconsoleintercept.md +0 -15
  104. package/public/vendor/vitest-docs/config/env.md +0 -5
  105. package/public/vendor/vitest-docs/config/environment.md +0 -96
  106. package/public/vendor/vitest-docs/config/environmentoptions.md +0 -30
  107. package/public/vendor/vitest-docs/config/exclude.md +0 -49
  108. package/public/vendor/vitest-docs/config/execargv.md +0 -10
  109. package/public/vendor/vitest-docs/config/expandsnapshotdiff.md +0 -7
  110. package/public/vendor/vitest-docs/config/expect.md +0 -38
  111. package/public/vendor/vitest-docs/config/experimental.md +0 -510
  112. package/public/vendor/vitest-docs/config/faketimers.md +0 -51
  113. package/public/vendor/vitest-docs/config/fileparallelism.md +0 -11
  114. package/public/vendor/vitest-docs/config/forcereruntriggers.md +0 -19
  115. package/public/vendor/vitest-docs/config/globals.md +0 -42
  116. package/public/vendor/vitest-docs/config/globalsetup.md +0 -72
  117. package/public/vendor/vitest-docs/config/hideskippedtests.md +0 -7
  118. package/public/vendor/vitest-docs/config/hooktimeout.md +0 -7
  119. package/public/vendor/vitest-docs/config/include-source.md +0 -115
  120. package/public/vendor/vitest-docs/config/include.md +0 -71
  121. package/public/vendor/vitest-docs/config/includetasklocation.md +0 -17
  122. package/public/vendor/vitest-docs/config/index.md +0 -85
  123. package/public/vendor/vitest-docs/config/isolate.md +0 -13
  124. package/public/vendor/vitest-docs/config/logheapusage.md +0 -7
  125. package/public/vendor/vitest-docs/config/maxconcurrency.md +0 -9
  126. package/public/vendor/vitest-docs/config/maxworkers.md +0 -49
  127. package/public/vendor/vitest-docs/config/mockreset.md +0 -22
  128. package/public/vendor/vitest-docs/config/mode.md +0 -7
  129. package/public/vendor/vitest-docs/config/name.md +0 -111
  130. package/public/vendor/vitest-docs/config/onconsolelog.md +0 -25
  131. package/public/vendor/vitest-docs/config/onstacktrace.md +0 -32
  132. package/public/vendor/vitest-docs/config/onunhandlederror.md +0 -35
  133. package/public/vendor/vitest-docs/config/open.md +0 -7
  134. package/public/vendor/vitest-docs/config/outputfile.md +0 -7
  135. package/public/vendor/vitest-docs/config/passwithnotests.md +0 -7
  136. package/public/vendor/vitest-docs/config/pool.md +0 -45
  137. package/public/vendor/vitest-docs/config/printconsoletrace.md +0 -6
  138. package/public/vendor/vitest-docs/config/projects.md +0 -6
  139. package/public/vendor/vitest-docs/config/provide.md +0 -45
  140. package/public/vendor/vitest-docs/config/reporters.md +0 -69
  141. package/public/vendor/vitest-docs/config/resolvesnapshotpath.md +0 -36
  142. package/public/vendor/vitest-docs/config/restoremocks.md +0 -22
  143. package/public/vendor/vitest-docs/config/retry.md +0 -140
  144. package/public/vendor/vitest-docs/config/root.md +0 -6
  145. package/public/vendor/vitest-docs/config/runner.md +0 -6
  146. package/public/vendor/vitest-docs/config/sequence.md +0 -158
  147. package/public/vendor/vitest-docs/config/server.md +0 -68
  148. package/public/vendor/vitest-docs/config/setupfiles.md +0 -40
  149. package/public/vendor/vitest-docs/config/silent.md +0 -9
  150. package/public/vendor/vitest-docs/config/slowtestthreshold.md +0 -7
  151. package/public/vendor/vitest-docs/config/snapshotenvironment.md +0 -27
  152. package/public/vendor/vitest-docs/config/snapshotformat.md +0 -28
  153. package/public/vendor/vitest-docs/config/snapshotserializers.md +0 -6
  154. package/public/vendor/vitest-docs/config/stricttags.md +0 -30
  155. package/public/vendor/vitest-docs/config/tags.md +0 -141
  156. package/public/vendor/vitest-docs/config/teardowntimeout.md +0 -7
  157. package/public/vendor/vitest-docs/config/testnamepattern.md +0 -21
  158. package/public/vendor/vitest-docs/config/testtimeout.md +0 -7
  159. package/public/vendor/vitest-docs/config/typecheck.md +0 -77
  160. package/public/vendor/vitest-docs/config/ui.md +0 -15
  161. package/public/vendor/vitest-docs/config/unstubenvs.md +0 -20
  162. package/public/vendor/vitest-docs/config/unstubglobals.md +0 -20
  163. package/public/vendor/vitest-docs/config/update.md +0 -16
  164. package/public/vendor/vitest-docs/config/vmmemorylimit.md +0 -30
  165. package/public/vendor/vitest-docs/config/watch.md +0 -11
  166. package/public/vendor/vitest-docs/config/watchtriggerpatterns.md +0 -29
  167. package/public/vendor/vitest-docs/guide/advanced/index.md +0 -147
  168. package/public/vendor/vitest-docs/guide/advanced/pool.md +0 -148
  169. package/public/vendor/vitest-docs/guide/advanced/reporters.md +0 -93
  170. package/public/vendor/vitest-docs/guide/advanced/tests.md +0 -125
  171. package/public/vendor/vitest-docs/guide/browser/aria-snapshots.md +0 -470
  172. package/public/vendor/vitest-docs/guide/browser/component-testing.md +0 -571
  173. package/public/vendor/vitest-docs/guide/browser/index.md +0 -630
  174. package/public/vendor/vitest-docs/guide/browser/multiple-setups.md +0 -121
  175. package/public/vendor/vitest-docs/guide/browser/trace-view.md +0 -126
  176. package/public/vendor/vitest-docs/guide/browser/visual-regression-testing.md +0 -734
  177. package/public/vendor/vitest-docs/guide/cli-generated.md +0 -972
  178. package/public/vendor/vitest-docs/guide/cli.md +0 -234
  179. package/public/vendor/vitest-docs/guide/common-errors.md +0 -163
  180. package/public/vendor/vitest-docs/guide/coverage.md +0 -515
  181. package/public/vendor/vitest-docs/guide/debugging.md +0 -127
  182. package/public/vendor/vitest-docs/guide/environment.md +0 -101
  183. package/public/vendor/vitest-docs/guide/extending-matchers.md +0 -160
  184. package/public/vendor/vitest-docs/guide/features.md +0 -310
  185. package/public/vendor/vitest-docs/guide/filtering.md +0 -175
  186. package/public/vendor/vitest-docs/guide/ide.md +0 -43
  187. package/public/vendor/vitest-docs/guide/improving-performance.md +0 -245
  188. package/public/vendor/vitest-docs/guide/in-source.md +0 -159
  189. package/public/vendor/vitest-docs/guide/index.md +0 -128
  190. package/public/vendor/vitest-docs/guide/learn/async.md +0 -147
  191. package/public/vendor/vitest-docs/guide/learn/debugging-tests.md +0 -210
  192. package/public/vendor/vitest-docs/guide/learn/matchers.md +0 -277
  193. package/public/vendor/vitest-docs/guide/learn/mock-functions.md +0 -277
  194. package/public/vendor/vitest-docs/guide/learn/setup-teardown.md +0 -240
  195. package/public/vendor/vitest-docs/guide/learn/snapshots.md +0 -166
  196. package/public/vendor/vitest-docs/guide/learn/testing-in-practice.md +0 -430
  197. package/public/vendor/vitest-docs/guide/learn/writing-tests-with-ai.md +0 -127
  198. package/public/vendor/vitest-docs/guide/learn/writing-tests.md +0 -231
  199. package/public/vendor/vitest-docs/guide/lifecycle.md +0 -379
  200. package/public/vendor/vitest-docs/guide/migration.md +0 -863
  201. package/public/vendor/vitest-docs/guide/mocking/classes.md +0 -158
  202. package/public/vendor/vitest-docs/guide/mocking/dates.md +0 -52
  203. package/public/vendor/vitest-docs/guide/mocking/file-system.md +0 -74
  204. package/public/vendor/vitest-docs/guide/mocking/functions.md +0 -61
  205. package/public/vendor/vitest-docs/guide/mocking/globals.md +0 -20
  206. package/public/vendor/vitest-docs/guide/mocking/modules.md +0 -414
  207. package/public/vendor/vitest-docs/guide/mocking/requests.md +0 -114
  208. package/public/vendor/vitest-docs/guide/mocking/timers.md +0 -48
  209. package/public/vendor/vitest-docs/guide/mocking.md +0 -239
  210. package/public/vendor/vitest-docs/guide/open-telemetry.md +0 -156
  211. package/public/vendor/vitest-docs/guide/parallelism.md +0 -82
  212. package/public/vendor/vitest-docs/guide/profiling-test-performance.md +0 -243
  213. package/public/vendor/vitest-docs/guide/projects.md +0 -291
  214. package/public/vendor/vitest-docs/guide/recipes.md +0 -59
  215. package/public/vendor/vitest-docs/guide/reporters.md +0 -723
  216. package/public/vendor/vitest-docs/guide/snapshot.md +0 -620
  217. package/public/vendor/vitest-docs/guide/test-annotations.md +0 -103
  218. package/public/vendor/vitest-docs/guide/test-context.md +0 -902
  219. package/public/vendor/vitest-docs/guide/test-tags.md +0 -314
  220. package/public/vendor/vitest-docs/guide/testing-types.md +0 -149
  221. package/public/vendor/vitest-docs/guide/ui.md +0 -160
  222. package/public/vendor/vitest-docs/guide/using-plugins.md +0 -5
  223. package/public/vendor/vitest-docs/manifest.json +0 -1691
  224. package/resources/index.js +0 -166
  225. package/resources/indexes.js +0 -77
  226. package/resources/manifest-schema.js +0 -46
  227. package/resources/paths.js +0 -20
  228. package/resources/patterns.js +0 -22
  229. package/resources/upstream-docs.js +0 -22
package/index.d.ts CHANGED
@@ -108,7 +108,7 @@ declare const createCallerFactory: import("@trpc/server").TRPCRouterCallerFactor
108
108
  * @returns an Effect Layer providing all MCP runtime services
109
109
  * @public
110
110
  */
111
- declare const McpLive: (dbPath: string, logLevel?: LogLevel.LogLevel, logFile?: string) => Layer.Layer<import("@vitest-agent/sdk").DataReader | import("@effect/sql/SqlClient").SqlClient | import("@vitest-agent/sdk").DataStore | import("@vitest-agent/sdk").ProjectDiscovery | import("@vitest-agent/sdk").FormatSelector | import("@vitest-agent/sdk").ExecutorResolver | import("@vitest-agent/sdk").DetailResolver | import("@vitest-agent/sdk").EnvironmentDetector | import("@vitest-agent/sdk").OutputRenderer | import("@effect/sql-sqlite-node/SqliteClient").SqliteClient | NodeContext.NodeContext, import("@effect/sql/SqlError").SqlError | SqliteMigrator.MigrationError | import("effect/ConfigError").ConfigError, never>;
111
+ declare const McpLive: (dbPath: string, logLevel?: LogLevel.LogLevel, logFile?: string) => Layer.Layer<import("@vitest-agent/sdk").DataReader | import("@vitest-agent/sdk").DataStore | import("@vitest-agent/sdk").DetailResolver | import("@vitest-agent/sdk").EnvironmentDetector | import("@vitest-agent/sdk").ExecutorResolver | import("@vitest-agent/sdk").FormatSelector | import("@vitest-agent/sdk").OutputRenderer | import("@vitest-agent/sdk").ProjectDiscovery | import("@effect/sql/SqlClient").SqlClient | import("@effect/sql-sqlite-node/SqliteClient").SqliteClient | NodeContext.NodeContext, SqliteMigrator.MigrationError | import("@effect/sql/SqlError").SqlError | import("effect/ConfigError").ConfigError, never>;
112
112
  //#endregion
113
113
  //#region src/router.d.ts
114
114
  /**
@@ -137,20 +137,20 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
137
137
  readonly project?: string | undefined;
138
138
  };
139
139
  output: {
140
+ readonly dataAvailable: true;
141
+ readonly manifestUpdatedAt: string;
142
+ readonly projectFilter?: string | undefined;
140
143
  readonly entries: readonly {
141
144
  readonly project: string;
142
145
  readonly reportFile: string;
143
146
  readonly historyFile?: string | undefined;
144
147
  readonly lastRun: string | null;
145
- readonly lastResult: "passed" | "failed" | "interrupted" | null;
148
+ readonly lastResult: "failed" | "interrupted" | "passed" | null;
146
149
  }[];
147
- readonly dataAvailable: true;
148
- readonly manifestUpdatedAt: string;
149
- readonly projectFilter?: string | undefined;
150
150
  } | {
151
- readonly reason: "no_manifest" | "project_filter_empty";
152
151
  readonly dataAvailable: false;
153
152
  readonly projectFilter?: string | undefined;
153
+ readonly reason: "no_manifest" | "project_filter_empty";
154
154
  };
155
155
  meta: object;
156
156
  }>;
@@ -164,16 +164,16 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
164
164
  readonly runs: readonly {
165
165
  readonly project: string;
166
166
  readonly lastRun: string | null;
167
- readonly lastResult: "passed" | "failed" | "interrupted" | null;
167
+ readonly lastResult: "failed" | "interrupted" | "passed" | null;
168
+ readonly total: number;
168
169
  readonly passed: number;
169
170
  readonly failed: number;
170
- readonly total: number;
171
171
  readonly skipped: number;
172
172
  }[];
173
173
  } | {
174
- readonly reason: "project_filter_empty" | "no_runs";
175
174
  readonly dataAvailable: false;
176
175
  readonly projectFilter?: string | undefined;
176
+ readonly reason: "no_runs" | "project_filter_empty";
177
177
  };
178
178
  meta: object;
179
179
  }>;
@@ -182,8 +182,8 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
182
182
  readonly project?: string | undefined;
183
183
  };
184
184
  output: {
185
- readonly project: string;
186
185
  readonly dataAvailable: true;
186
+ readonly project: string;
187
187
  readonly coverage: {
188
188
  readonly totals: {
189
189
  readonly statements: number;
@@ -193,44 +193,44 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
193
193
  };
194
194
  readonly thresholds: {
195
195
  readonly global: {
196
- readonly statements?: number | undefined;
197
- readonly branches?: number | undefined;
198
- readonly functions?: number | undefined;
199
196
  readonly lines?: number | undefined;
197
+ readonly functions?: number | undefined;
198
+ readonly branches?: number | undefined;
199
+ readonly statements?: number | undefined;
200
200
  };
201
201
  readonly patterns: readonly (readonly [string, {
202
- readonly statements?: number | undefined;
203
- readonly branches?: number | undefined;
204
- readonly functions?: number | undefined;
205
202
  readonly lines?: number | undefined;
203
+ readonly functions?: number | undefined;
204
+ readonly branches?: number | undefined;
205
+ readonly statements?: number | undefined;
206
206
  }])[];
207
207
  };
208
208
  readonly targets?: {
209
209
  readonly global: {
210
- readonly statements?: number | undefined;
211
- readonly branches?: number | undefined;
212
- readonly functions?: number | undefined;
213
210
  readonly lines?: number | undefined;
211
+ readonly functions?: number | undefined;
212
+ readonly branches?: number | undefined;
213
+ readonly statements?: number | undefined;
214
214
  };
215
215
  readonly patterns: readonly (readonly [string, {
216
- readonly statements?: number | undefined;
217
- readonly branches?: number | undefined;
218
- readonly functions?: number | undefined;
219
216
  readonly lines?: number | undefined;
217
+ readonly functions?: number | undefined;
218
+ readonly branches?: number | undefined;
219
+ readonly statements?: number | undefined;
220
220
  }])[];
221
221
  } | undefined;
222
222
  readonly baselines?: {
223
223
  readonly global: {
224
- readonly statements?: number | undefined;
225
- readonly branches?: number | undefined;
226
- readonly functions?: number | undefined;
227
224
  readonly lines?: number | undefined;
225
+ readonly functions?: number | undefined;
226
+ readonly branches?: number | undefined;
227
+ readonly statements?: number | undefined;
228
228
  };
229
229
  readonly patterns: readonly (readonly [string, {
230
- readonly statements?: number | undefined;
231
- readonly branches?: number | undefined;
232
- readonly functions?: number | undefined;
233
230
  readonly lines?: number | undefined;
231
+ readonly functions?: number | undefined;
232
+ readonly branches?: number | undefined;
233
+ readonly statements?: number | undefined;
234
234
  }])[];
235
235
  } | undefined;
236
236
  readonly scoped: boolean;
@@ -259,8 +259,8 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
259
259
  readonly belowTargetFiles?: readonly string[] | undefined;
260
260
  };
261
261
  } | {
262
- readonly project: string;
263
262
  readonly dataAvailable: false;
263
+ readonly project: string;
264
264
  };
265
265
  meta: object;
266
266
  }>;
@@ -275,24 +275,24 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
275
275
  readonly project: string;
276
276
  readonly updatedAt: string;
277
277
  readonly tests: readonly {
278
+ readonly fullName: string;
278
279
  readonly runs: readonly {
279
280
  readonly timestamp: string;
280
- readonly state: "passed" | "failed";
281
+ readonly state: "failed" | "passed";
281
282
  }[];
282
- readonly fullName: string;
283
283
  }[];
284
284
  };
285
285
  readonly flaky: readonly {
286
- readonly project: string;
287
286
  readonly fullName: string;
287
+ readonly project: string;
288
288
  readonly passCount: number;
289
289
  readonly failCount: number;
290
- readonly lastState: "passed" | "failed";
290
+ readonly lastState: "failed" | "passed";
291
291
  readonly lastTimestamp: string;
292
292
  }[];
293
293
  readonly persistent: readonly {
294
- readonly project: string;
295
294
  readonly fullName: string;
295
+ readonly project: string;
296
296
  readonly consecutiveFailures: number;
297
297
  readonly firstFailedAt: string;
298
298
  readonly lastFailedAt: string;
@@ -300,28 +300,28 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
300
300
  }[];
301
301
  readonly recovered: readonly {
302
302
  readonly fullName: string;
303
- readonly recentRuns: readonly ("passed" | "failed")[];
303
+ readonly recentRuns: readonly ("failed" | "passed")[];
304
304
  }[];
305
305
  };
306
306
  meta: object;
307
307
  }>;
308
308
  test_trends: import("@trpc/server").TRPCQueryProcedure<{
309
309
  input: {
310
- readonly project: string;
311
310
  readonly limit?: number | undefined;
311
+ readonly project: string;
312
312
  };
313
313
  output: {
314
- readonly project: string;
315
314
  readonly dataAvailable: true;
315
+ readonly project: string;
316
316
  readonly trends: {
317
317
  readonly entries: readonly {
318
+ readonly timestamp: string;
318
319
  readonly coverage: {
319
320
  readonly statements: number;
320
321
  readonly branches: number;
321
322
  readonly functions: number;
322
323
  readonly lines: number;
323
324
  };
324
- readonly timestamp: string;
325
325
  readonly delta: {
326
326
  readonly statements: number;
327
327
  readonly branches: number;
@@ -333,30 +333,30 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
333
333
  }[];
334
334
  };
335
335
  } | {
336
- readonly project: string;
337
336
  readonly dataAvailable: false;
337
+ readonly project: string;
338
338
  };
339
339
  meta: object;
340
340
  }>;
341
341
  test_errors: import("@trpc/server").TRPCQueryProcedure<{
342
342
  input: {
343
- readonly project: string;
344
343
  readonly errorName?: string | undefined;
344
+ readonly project: string;
345
345
  };
346
346
  output: {
347
347
  readonly project: string;
348
348
  readonly errorName?: string | undefined;
349
349
  readonly count: number;
350
350
  readonly errors: readonly {
351
- readonly message: string;
352
351
  readonly id: number;
353
352
  readonly topStackFrameId: number | null;
354
353
  readonly name: string | null;
354
+ readonly message: string;
355
355
  readonly diff: string | null;
356
356
  readonly actual: string | null;
357
357
  readonly expected: string | null;
358
358
  readonly stack: string | null;
359
- readonly scope: "test" | "suite" | "module" | "unhandled";
359
+ readonly scope: "module" | "suite" | "test" | "unhandled";
360
360
  readonly testFullName: string | null;
361
361
  readonly moduleFile: string | null;
362
362
  }[];
@@ -366,80 +366,80 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
366
366
  test: import("@trpc/server").TRPCQueryProcedure<{
367
367
  input: {
368
368
  readonly action: "list";
369
- readonly project?: string | undefined;
370
- readonly state?: string | undefined;
371
369
  readonly limit?: number | undefined;
372
370
  readonly module?: string | undefined;
371
+ readonly project?: string | undefined;
372
+ readonly state?: string | undefined;
373
373
  } | {
374
- readonly fullName: string;
375
374
  readonly action: "get";
375
+ readonly fullName: string;
376
376
  readonly project?: string | undefined;
377
377
  } | {
378
378
  readonly action: "for_file";
379
379
  readonly filePath: string;
380
380
  } | {
381
381
  readonly action: "for_tag";
382
- readonly tag: string;
383
382
  readonly project?: string | undefined;
383
+ readonly tag: string;
384
384
  };
385
385
  output: {
386
- readonly count: number;
387
386
  readonly action: "list";
387
+ readonly count: number;
388
388
  readonly groups: readonly {
389
389
  readonly project: string;
390
390
  readonly tests: readonly {
391
+ readonly id: number;
391
392
  readonly fullName: string;
392
393
  readonly state: string;
393
- readonly id: number;
394
- readonly module: string;
395
394
  readonly duration: number | null;
395
+ readonly module: string;
396
396
  readonly classification: string | null;
397
397
  }[];
398
398
  }[];
399
399
  } | {
400
+ readonly action: "get";
401
+ readonly found: true;
400
402
  readonly project: string;
401
- readonly runs: readonly {
402
- readonly timestamp: string;
403
- readonly state: "passed" | "failed";
404
- }[];
405
403
  readonly test: {
404
+ readonly id: number;
406
405
  readonly fullName: string;
407
406
  readonly state: string;
408
- readonly id: number;
409
- readonly module: string;
410
407
  readonly duration: number | null;
408
+ readonly module: string;
411
409
  readonly classification: string | null;
412
410
  };
413
411
  readonly errors: readonly {
414
- readonly message: string;
415
412
  readonly name: string | null;
413
+ readonly message: string;
416
414
  readonly diff: string | null;
417
415
  readonly stack: string | null;
418
416
  }[];
419
- readonly action: "get";
420
- readonly found: true;
417
+ readonly runs: readonly {
418
+ readonly state: "failed" | "passed";
419
+ readonly timestamp: string;
420
+ }[];
421
421
  } | {
422
- readonly project: string;
423
- readonly fullName: string;
424
422
  readonly action: "get";
425
423
  readonly found: false;
424
+ readonly project: string;
425
+ readonly fullName: string;
426
426
  } | {
427
- readonly count: number;
428
427
  readonly action: "for_file";
429
428
  readonly filePath: string;
429
+ readonly count: number;
430
430
  readonly testFiles: readonly string[];
431
431
  } | {
432
- readonly count: number;
433
432
  readonly action: "for_tag";
434
433
  readonly tag: string;
434
+ readonly count: number;
435
435
  readonly groups: readonly {
436
436
  readonly project: string;
437
437
  readonly tests: readonly {
438
+ readonly id: number;
438
439
  readonly fullName: string;
439
440
  readonly state: string;
440
- readonly id: number;
441
- readonly module: string;
442
441
  readonly duration: number | null;
442
+ readonly module: string;
443
443
  readonly classification: string | null;
444
444
  }[];
445
445
  }[];
@@ -453,8 +453,8 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
453
453
  };
454
454
  output: {
455
455
  readonly dataAvailable: true;
456
- readonly filePath: string;
457
456
  readonly matched: true;
457
+ readonly filePath: string;
458
458
  readonly report: {
459
459
  readonly file: string;
460
460
  readonly summary: {
@@ -474,14 +474,14 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
474
474
  readonly relatedTestFiles: readonly string[];
475
475
  } | {
476
476
  readonly dataAvailable: true;
477
+ readonly matched: false;
478
+ readonly filePath: string;
477
479
  readonly totals: {
478
480
  readonly statements: number;
479
481
  readonly branches: number;
480
482
  readonly functions: number;
481
483
  readonly lines: number;
482
484
  };
483
- readonly filePath: string;
484
- readonly matched: false;
485
485
  readonly relatedTestFiles: readonly string[];
486
486
  } | {
487
487
  readonly dataAvailable: false;
@@ -491,61 +491,71 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
491
491
  }>;
492
492
  run_tests: import("@trpc/server").TRPCMutationProcedure<{
493
493
  input: {
494
- readonly project?: string | undefined;
494
+ readonly _sessionContext?: {
495
+ readonly chatId: string;
496
+ readonly conversationId: string;
497
+ readonly mainAgentId: string;
498
+ } | undefined;
495
499
  readonly files?: readonly string[] | undefined;
500
+ readonly passWithNoTests?: boolean | undefined;
501
+ readonly project?: string | undefined;
496
502
  readonly tags?: {
497
503
  readonly all?: readonly string[] | undefined;
498
504
  readonly any?: readonly string[] | undefined;
499
505
  readonly none?: readonly string[] | undefined;
500
506
  } | undefined;
501
- readonly passWithNoTests?: boolean | undefined;
502
507
  readonly timeout?: number | undefined;
503
- readonly _sessionContext?: {
504
- readonly chatId: string;
505
- readonly conversationId: string;
506
- readonly mainAgentId: string;
507
- } | undefined;
508
508
  };
509
509
  output: {
510
+ readonly kind: "ok";
510
511
  readonly project?: string | undefined;
511
512
  readonly report: {
512
- readonly reason: "passed" | "failed" | "interrupted";
513
+ readonly timestamp: string;
513
514
  readonly project?: string | undefined;
515
+ readonly reason: "failed" | "interrupted" | "passed";
516
+ readonly summary: {
517
+ readonly total: number;
518
+ readonly passed: number;
519
+ readonly failed: number;
520
+ readonly skipped: number;
521
+ readonly duration: number;
522
+ };
514
523
  readonly failed: readonly {
515
524
  readonly file: string;
525
+ readonly state: "failed" | "passed" | "pending" | "skipped";
526
+ readonly duration?: number | undefined;
527
+ readonly errors?: readonly {
528
+ readonly message: string;
529
+ readonly stack?: string | undefined;
530
+ readonly diff?: string | undefined;
531
+ readonly expected?: string | undefined;
532
+ readonly received?: string | undefined;
533
+ }[] | undefined;
516
534
  readonly tests: readonly {
535
+ readonly name: string;
517
536
  readonly fullName: string;
518
- readonly state: "passed" | "failed" | "skipped" | "pending";
537
+ readonly state: "failed" | "passed" | "pending" | "skipped";
538
+ readonly duration?: number | undefined;
519
539
  readonly flaky?: boolean | undefined;
520
- readonly name: string;
540
+ readonly slow?: boolean | undefined;
521
541
  readonly errors?: readonly {
522
542
  readonly message: string;
543
+ readonly stack?: string | undefined;
523
544
  readonly diff?: string | undefined;
524
545
  readonly expected?: string | undefined;
525
- readonly stack?: string | undefined;
526
546
  readonly received?: string | undefined;
527
547
  }[] | undefined;
528
- readonly duration?: number | undefined;
529
- readonly classification?: "flaky" | "persistent" | "recovered" | "stable" | "new-failure" | undefined;
530
- readonly slow?: boolean | undefined;
548
+ readonly classification?: "flaky" | "new-failure" | "persistent" | "recovered" | "stable" | undefined;
531
549
  }[];
532
- readonly state: "passed" | "failed" | "skipped" | "pending";
533
- readonly errors?: readonly {
534
- readonly message: string;
535
- readonly diff?: string | undefined;
536
- readonly expected?: string | undefined;
537
- readonly stack?: string | undefined;
538
- readonly received?: string | undefined;
539
- }[] | undefined;
540
- readonly duration?: number | undefined;
541
550
  }[];
542
- readonly summary: {
543
- readonly passed: number;
544
- readonly failed: number;
545
- readonly total: number;
546
- readonly skipped: number;
547
- readonly duration: number;
548
- };
551
+ readonly unhandledErrors: readonly {
552
+ readonly message: string;
553
+ readonly stack?: string | undefined;
554
+ readonly diff?: string | undefined;
555
+ readonly expected?: string | undefined;
556
+ readonly received?: string | undefined;
557
+ }[];
558
+ readonly failedFiles: readonly string[];
549
559
  readonly coverage?: {
550
560
  readonly totals: {
551
561
  readonly statements: number;
@@ -555,44 +565,44 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
555
565
  };
556
566
  readonly thresholds: {
557
567
  readonly global: {
558
- readonly statements?: number | undefined;
559
- readonly branches?: number | undefined;
560
- readonly functions?: number | undefined;
561
568
  readonly lines?: number | undefined;
569
+ readonly functions?: number | undefined;
570
+ readonly branches?: number | undefined;
571
+ readonly statements?: number | undefined;
562
572
  };
563
573
  readonly patterns: readonly (readonly [string, {
564
- readonly statements?: number | undefined;
565
- readonly branches?: number | undefined;
566
- readonly functions?: number | undefined;
567
574
  readonly lines?: number | undefined;
575
+ readonly functions?: number | undefined;
576
+ readonly branches?: number | undefined;
577
+ readonly statements?: number | undefined;
568
578
  }])[];
569
579
  };
570
580
  readonly targets?: {
571
581
  readonly global: {
572
- readonly statements?: number | undefined;
573
- readonly branches?: number | undefined;
574
- readonly functions?: number | undefined;
575
582
  readonly lines?: number | undefined;
583
+ readonly functions?: number | undefined;
584
+ readonly branches?: number | undefined;
585
+ readonly statements?: number | undefined;
576
586
  };
577
587
  readonly patterns: readonly (readonly [string, {
578
- readonly statements?: number | undefined;
579
- readonly branches?: number | undefined;
580
- readonly functions?: number | undefined;
581
588
  readonly lines?: number | undefined;
589
+ readonly functions?: number | undefined;
590
+ readonly branches?: number | undefined;
591
+ readonly statements?: number | undefined;
582
592
  }])[];
583
593
  } | undefined;
584
594
  readonly baselines?: {
585
595
  readonly global: {
586
- readonly statements?: number | undefined;
587
- readonly branches?: number | undefined;
588
- readonly functions?: number | undefined;
589
596
  readonly lines?: number | undefined;
597
+ readonly functions?: number | undefined;
598
+ readonly branches?: number | undefined;
599
+ readonly statements?: number | undefined;
590
600
  };
591
601
  readonly patterns: readonly (readonly [string, {
592
- readonly statements?: number | undefined;
593
- readonly branches?: number | undefined;
594
- readonly functions?: number | undefined;
595
602
  readonly lines?: number | undefined;
603
+ readonly functions?: number | undefined;
604
+ readonly branches?: number | undefined;
605
+ readonly statements?: number | undefined;
596
606
  }])[];
597
607
  } | undefined;
598
608
  readonly scoped: boolean;
@@ -620,15 +630,6 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
620
630
  }[] | undefined;
621
631
  readonly belowTargetFiles?: readonly string[] | undefined;
622
632
  } | undefined;
623
- readonly timestamp: string;
624
- readonly unhandledErrors: readonly {
625
- readonly message: string;
626
- readonly diff?: string | undefined;
627
- readonly expected?: string | undefined;
628
- readonly stack?: string | undefined;
629
- readonly received?: string | undefined;
630
- }[];
631
- readonly failedFiles: readonly string[];
632
633
  readonly tagCounts?: {
633
634
  readonly [x: string]: {
634
635
  readonly passed?: number | undefined;
@@ -636,8 +637,18 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
636
637
  readonly skipped?: number | undefined;
637
638
  };
638
639
  } | undefined;
640
+ readonly consoleLeaks?: {
641
+ readonly total: number;
642
+ readonly byFile: readonly {
643
+ readonly file: string;
644
+ readonly stdout: number;
645
+ readonly stderr: number;
646
+ readonly tests?: readonly string[] | undefined;
647
+ readonly sample?: string | undefined;
648
+ }[];
649
+ readonly truncated?: boolean | undefined;
650
+ } | undefined;
639
651
  };
640
- readonly kind: "ok";
641
652
  readonly classifications: {
642
653
  readonly [x: string]: string;
643
654
  };
@@ -645,9 +656,10 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
645
656
  readonly kind: "timeout";
646
657
  readonly timeoutSeconds: number;
647
658
  } | {
648
- readonly message: string;
649
659
  readonly kind: "error";
660
+ readonly message: string;
650
661
  } | {
662
+ readonly kind: "no-match";
651
663
  readonly filter: {
652
664
  readonly project: string | null;
653
665
  readonly files: readonly string[];
@@ -658,32 +670,31 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
658
670
  } | null;
659
671
  readonly resolvedExpression: string | null;
660
672
  };
661
- readonly kind: "no-match";
662
673
  };
663
674
  meta: object;
664
675
  }>;
665
676
  register_agent: import("@trpc/server").TRPCMutationProcedure<{
666
677
  input: {
667
- readonly chatId: string;
668
678
  readonly agentType: string;
679
+ readonly chatId: string;
680
+ readonly clientNonce?: string | undefined;
669
681
  readonly conversationId?: string | undefined;
670
682
  readonly hostKind?: string | undefined;
671
683
  readonly parentAgentId?: string | undefined;
672
- readonly clientNonce?: string | undefined;
673
684
  readonly startGitBranch?: string | undefined;
674
685
  readonly startGitCommitSha?: string | undefined;
675
686
  readonly startWorktreeDir?: string | undefined;
676
687
  };
677
688
  output: {
678
- readonly conversationId: string | null;
679
689
  readonly ok: true;
680
690
  readonly agentId: string;
691
+ readonly conversationId: string | null;
681
692
  readonly idempotencyKey: string;
682
693
  } | {
683
694
  readonly ok: false;
684
695
  readonly error: {
696
+ readonly code: "AGENT_ALREADY_REGISTERED" | "INVALID_AGENT_TYPE_PREFIX" | "PARENT_AGENT_NOT_FOUND" | "SESSION_NOT_FOUND";
685
697
  readonly message: string;
686
- readonly code: "AGENT_ALREADY_REGISTERED" | "PARENT_AGENT_NOT_FOUND" | "SESSION_NOT_FOUND" | "INVALID_AGENT_TYPE_PREFIX";
687
698
  readonly existingAgentId?: string | undefined;
688
699
  readonly expectedPrefix?: string | undefined;
689
700
  };
@@ -702,7 +713,7 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
702
713
  readonly reportFile: string;
703
714
  readonly historyFile?: string | undefined;
704
715
  readonly lastRun: string | null;
705
- readonly lastResult: "passed" | "failed" | "interrupted" | null;
716
+ readonly lastResult: "failed" | "interrupted" | "passed" | null;
706
717
  }[];
707
718
  };
708
719
  readonly ageMs: number;
@@ -718,9 +729,8 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
718
729
  };
719
730
  output: {
720
731
  readonly found: true;
721
- readonly source: "requested" | "latest";
732
+ readonly source: "latest" | "requested";
722
733
  readonly settings: {
723
- readonly project: string | null;
724
734
  readonly hash: string;
725
735
  readonly reporters: string | null;
726
736
  readonly coverageEnabled: boolean;
@@ -729,6 +739,7 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
729
739
  readonly coverageTargets: string | null;
730
740
  readonly pool: string | null;
731
741
  readonly shard: string | null;
742
+ readonly project: string | null;
732
743
  readonly environment: string | null;
733
744
  readonly envVars: {
734
745
  readonly [x: string]: string;
@@ -737,7 +748,7 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
737
748
  };
738
749
  } | {
739
750
  readonly found: false;
740
- readonly source: "requested" | "latest";
751
+ readonly source: "latest" | "requested";
741
752
  readonly requestedHash?: string | undefined;
742
753
  };
743
754
  meta: object;
@@ -750,86 +761,86 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
750
761
  readonly project?: string | undefined;
751
762
  } | {
752
763
  readonly kind: "suite";
753
- readonly project?: string | undefined;
754
764
  readonly module?: string | undefined;
765
+ readonly project?: string | undefined;
755
766
  } | {
767
+ readonly agentKind?: "main" | "subagent" | undefined;
768
+ readonly id?: number | undefined;
756
769
  readonly kind: "session";
757
- readonly project?: string | undefined;
758
770
  readonly limit?: number | undefined;
759
- readonly id?: number | undefined;
760
- readonly agentKind?: "main" | "subagent" | undefined;
771
+ readonly project?: string | undefined;
761
772
  } | {
762
773
  readonly kind: "tag";
763
774
  readonly project?: string | undefined;
764
775
  };
765
776
  output: {
777
+ readonly inventoryKind: "project";
766
778
  readonly count: number;
767
779
  readonly projects: readonly {
768
780
  readonly project: string;
769
781
  readonly lastRun: string | null;
770
- readonly lastResult: "passed" | "failed" | "interrupted" | null;
782
+ readonly lastResult: "failed" | "interrupted" | "passed" | null;
783
+ readonly total: number;
771
784
  readonly passed: number;
772
785
  readonly failed: number;
773
- readonly total: number;
774
786
  readonly skipped: number;
775
787
  }[];
776
- readonly inventoryKind: "project";
777
788
  } | {
789
+ readonly inventoryKind: "module";
778
790
  readonly count: number;
779
791
  readonly groups: readonly {
780
792
  readonly project: string;
781
793
  readonly modules: readonly {
794
+ readonly id: number;
782
795
  readonly file: string;
783
796
  readonly state: string;
784
- readonly id: number;
785
- readonly duration: number | null;
786
797
  readonly testCount: number;
798
+ readonly duration: number | null;
787
799
  }[];
788
800
  }[];
789
- readonly inventoryKind: "module";
790
801
  } | {
802
+ readonly inventoryKind: "suite";
791
803
  readonly count: number;
792
804
  readonly groups: readonly {
793
805
  readonly project: string;
794
806
  readonly suites: readonly {
795
- readonly state: string;
796
807
  readonly id: number;
797
808
  readonly name: string;
798
809
  readonly module: string;
810
+ readonly state: string;
799
811
  readonly testCount: number;
800
812
  }[];
801
813
  }[];
802
- readonly inventoryKind: "suite";
803
814
  } | {
815
+ readonly inventoryKind: "session_detail";
804
816
  readonly found: true;
805
817
  readonly session: {
806
- readonly project: string;
807
- readonly cwd: string;
808
818
  readonly id: number;
809
819
  readonly chatId: string;
810
- readonly agentType: string | null;
820
+ readonly project: string;
821
+ readonly cwd: string;
811
822
  readonly agentKind: "main" | "subagent";
823
+ readonly agentType: string | null;
812
824
  readonly parentSessionId: number | null;
813
825
  readonly triageWasNonEmpty: boolean;
814
826
  readonly startedAt: string;
815
827
  readonly endedAt: string | null;
816
828
  readonly endReason: string | null;
817
829
  };
818
- readonly inventoryKind: "session_detail";
819
830
  } | {
820
- readonly id: number;
821
- readonly found: false;
822
831
  readonly inventoryKind: "session_detail";
832
+ readonly found: false;
833
+ readonly id: number;
823
834
  } | {
824
- readonly count: number;
825
835
  readonly inventoryKind: "session_list";
836
+ readonly count: number;
826
837
  readonly sessions: readonly {
827
- readonly project: string;
828
- readonly cwd: string;
829
838
  readonly id: number;
830
839
  readonly chatId: string;
831
- readonly agentType: string | null;
840
+ readonly project: string;
841
+ readonly cwd: string;
832
842
  readonly agentKind: "main" | "subagent";
843
+ readonly agentType: string | null;
833
844
  readonly parentSessionId: number | null;
834
845
  readonly triageWasNonEmpty: boolean;
835
846
  readonly startedAt: string;
@@ -837,27 +848,27 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
837
848
  readonly endReason: string | null;
838
849
  }[];
839
850
  } | {
851
+ readonly inventoryKind: "tag_scoped";
840
852
  readonly project: string;
841
853
  readonly count: number;
842
854
  readonly tags: readonly {
843
855
  readonly tag: string;
844
- readonly testCount: number;
845
856
  readonly moduleCount: number;
857
+ readonly testCount: number;
846
858
  }[];
847
- readonly inventoryKind: "tag_scoped";
848
859
  } | {
860
+ readonly inventoryKind: "tag_unscoped";
849
861
  readonly count: number;
850
862
  readonly tags: readonly {
851
863
  readonly tag: string;
852
- readonly testCount: number;
853
864
  readonly moduleCount: number;
865
+ readonly testCount: number;
854
866
  readonly byProject: readonly {
855
867
  readonly project: string;
856
- readonly testCount: number;
857
868
  readonly moduleCount: number;
869
+ readonly testCount: number;
858
870
  }[];
859
871
  }[];
860
- readonly inventoryKind: "tag_unscoped";
861
872
  };
862
873
  meta: object;
863
874
  }>;
@@ -874,82 +885,82 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
874
885
  }>;
875
886
  note: import("@trpc/server").TRPCMutationProcedure<{
876
887
  input: {
877
- readonly title: string;
878
- readonly scope: "project" | "global" | "test" | "suite" | "module" | "note";
879
888
  readonly action: "create";
880
889
  readonly content: string;
881
- readonly project?: string | undefined;
882
- readonly testFullName?: string | undefined;
883
- readonly modulePath?: string | undefined;
884
- readonly parentNoteId?: number | undefined;
885
890
  readonly createdBy?: string | undefined;
886
891
  readonly expiresAt?: string | undefined;
892
+ readonly modulePath?: string | undefined;
893
+ readonly parentNoteId?: number | undefined;
887
894
  readonly pinned?: boolean | undefined;
895
+ readonly project?: string | undefined;
896
+ readonly scope: "global" | "module" | "note" | "project" | "suite" | "test";
897
+ readonly testFullName?: string | undefined;
898
+ readonly title: string;
888
899
  } | {
889
900
  readonly action: "list";
890
901
  readonly project?: string | undefined;
891
902
  readonly scope?: string | undefined;
892
903
  readonly testFullName?: string | undefined;
893
904
  } | {
894
- readonly id: number;
895
905
  readonly action: "get";
896
- } | {
897
906
  readonly id: number;
907
+ } | {
898
908
  readonly action: "update";
899
- readonly title?: string | undefined;
900
909
  readonly content?: string | undefined;
901
910
  readonly expiresAt?: string | undefined;
911
+ readonly id: number;
902
912
  readonly pinned?: boolean | undefined;
913
+ readonly title?: string | undefined;
903
914
  } | {
904
- readonly id: number;
905
915
  readonly action: "delete";
916
+ readonly id: number;
906
917
  } | {
907
- readonly query: string;
908
918
  readonly action: "search";
919
+ readonly query: string;
909
920
  };
910
921
  output: {
911
- readonly id: number;
912
922
  readonly action: "create";
923
+ readonly id: number;
913
924
  } | {
914
- readonly count: number;
915
925
  readonly action: "list";
926
+ readonly count: number;
916
927
  readonly notes: readonly {
917
- readonly project: string | null;
918
- readonly updatedAt: string;
919
- readonly title: string;
920
928
  readonly id: number;
921
- readonly scope: "project" | "global" | "test" | "suite" | "module" | "note";
922
- readonly testFullName: string | null;
929
+ readonly title: string;
923
930
  readonly content: string;
931
+ readonly scope: "global" | "module" | "note" | "project" | "suite" | "test";
932
+ readonly project: string | null;
933
+ readonly testFullName: string | null;
924
934
  readonly modulePath: string | null;
925
935
  readonly parentNoteId: number | null;
926
936
  readonly createdBy: string | null;
927
937
  readonly expiresAt: string | null;
928
938
  readonly pinned: boolean;
929
939
  readonly createdAt: string;
940
+ readonly updatedAt: string;
930
941
  }[];
931
942
  } | {
932
943
  readonly action: "get";
933
944
  readonly found: true;
934
945
  readonly note: {
935
- readonly project: string | null;
936
- readonly updatedAt: string;
937
- readonly title: string;
938
946
  readonly id: number;
939
- readonly scope: "project" | "global" | "test" | "suite" | "module" | "note";
940
- readonly testFullName: string | null;
947
+ readonly title: string;
941
948
  readonly content: string;
949
+ readonly scope: "global" | "module" | "note" | "project" | "suite" | "test";
950
+ readonly project: string | null;
951
+ readonly testFullName: string | null;
942
952
  readonly modulePath: string | null;
943
953
  readonly parentNoteId: number | null;
944
954
  readonly createdBy: string | null;
945
955
  readonly expiresAt: string | null;
946
956
  readonly pinned: boolean;
947
957
  readonly createdAt: string;
958
+ readonly updatedAt: string;
948
959
  };
949
960
  } | {
950
- readonly id: number;
951
961
  readonly action: "get";
952
962
  readonly found: false;
963
+ readonly id: number;
953
964
  } | {
954
965
  readonly action: "update";
955
966
  readonly success: true;
@@ -957,23 +968,23 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
957
968
  readonly action: "delete";
958
969
  readonly success: true;
959
970
  } | {
971
+ readonly action: "search";
960
972
  readonly query: string;
961
973
  readonly count: number;
962
- readonly action: "search";
963
974
  readonly notes: readonly {
964
- readonly project: string | null;
965
- readonly updatedAt: string;
966
- readonly title: string;
967
975
  readonly id: number;
968
- readonly scope: "project" | "global" | "test" | "suite" | "module" | "note";
969
- readonly testFullName: string | null;
976
+ readonly title: string;
970
977
  readonly content: string;
978
+ readonly scope: "global" | "module" | "note" | "project" | "suite" | "test";
979
+ readonly project: string | null;
980
+ readonly testFullName: string | null;
971
981
  readonly modulePath: string | null;
972
982
  readonly parentNoteId: number | null;
973
983
  readonly createdBy: string | null;
974
984
  readonly expiresAt: string | null;
975
985
  readonly pinned: boolean;
976
986
  readonly createdAt: string;
987
+ readonly updatedAt: string;
977
988
  }[];
978
989
  };
979
990
  meta: object;
@@ -983,15 +994,15 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
983
994
  readonly limit?: number | undefined;
984
995
  readonly sessionId?: number | undefined;
985
996
  readonly since?: string | undefined;
986
- readonly type?: "note" | "user_prompt" | "tool_call" | "tool_result" | "file_edit" | "hook_fire" | "hypothesis" | undefined;
997
+ readonly type?: "file_edit" | "hook_fire" | "hypothesis" | "note" | "tool_call" | "tool_result" | "user_prompt" | undefined;
987
998
  };
988
999
  output: {
989
1000
  readonly count: number;
990
1001
  readonly turns: readonly {
991
1002
  readonly id: number;
992
1003
  readonly sessionId: number;
993
- readonly type: string;
994
1004
  readonly turnNo: number;
1005
+ readonly type: string;
995
1006
  readonly payload: string;
996
1007
  readonly occurredAt: string;
997
1008
  }[];
@@ -1010,9 +1021,9 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1010
1021
  readonly lastSeenAt: string | null;
1011
1022
  readonly occurrenceCount: number;
1012
1023
  readonly recentErrors: readonly {
1013
- readonly message: string;
1014
- readonly errorName: string | null;
1015
1024
  readonly runId: number;
1025
+ readonly errorName: string | null;
1026
+ readonly message: string;
1016
1027
  }[];
1017
1028
  } | {
1018
1029
  readonly found: false;
@@ -1023,17 +1034,17 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1023
1034
  tdd_task: import("@trpc/server").TRPCMutationProcedure<{
1024
1035
  input: {
1025
1036
  readonly action: "start";
1026
- readonly goal: string;
1027
1037
  readonly chatId?: string | undefined;
1028
- readonly startedAt?: string | undefined;
1029
- readonly sessionId?: number | undefined;
1030
- readonly runId?: string | undefined;
1038
+ readonly goal: string;
1031
1039
  readonly parentTddTaskId?: number | undefined;
1040
+ readonly runId?: string | undefined;
1041
+ readonly sessionId?: number | undefined;
1042
+ readonly startedAt?: string | undefined;
1032
1043
  } | {
1033
1044
  readonly action: "end";
1034
- readonly tddTaskId: number;
1035
- readonly outcome: "succeeded" | "blocked" | "abandoned";
1045
+ readonly outcome: "abandoned" | "blocked" | "succeeded";
1036
1046
  readonly summaryNoteId?: number | undefined;
1047
+ readonly tddTaskId: number;
1037
1048
  } | {
1038
1049
  readonly action: "get";
1039
1050
  readonly tddTaskId: number;
@@ -1043,47 +1054,47 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1043
1054
  };
1044
1055
  output: {
1045
1056
  readonly action: "start";
1046
- readonly runId?: string | undefined;
1047
- readonly goal: string;
1048
1057
  readonly tddTaskId: number;
1058
+ readonly goal: string;
1059
+ readonly runId?: string | undefined;
1049
1060
  } | {
1050
1061
  readonly action: "end";
1051
1062
  readonly tddTaskId: number;
1052
- readonly outcome: "succeeded" | "blocked" | "abandoned";
1063
+ readonly outcome: "abandoned" | "blocked" | "succeeded";
1053
1064
  } | {
1054
1065
  readonly action: "get";
1055
1066
  readonly found: true;
1056
1067
  readonly task: {
1057
- readonly startedAt: string;
1058
- readonly endedAt: string | null;
1068
+ readonly tddTaskId: number;
1059
1069
  readonly sessionId: number;
1060
- readonly runId: string | null;
1061
1070
  readonly goal: string;
1062
- readonly tddTaskId: number;
1071
+ readonly startedAt: string;
1072
+ readonly endedAt: string | null;
1063
1073
  readonly outcome: string | null;
1074
+ readonly runId: string | null;
1064
1075
  readonly goals: readonly {
1065
1076
  readonly id: number;
1066
- readonly createdAt: string;
1067
1077
  readonly sessionId: number;
1078
+ readonly ordinal: number;
1068
1079
  readonly goal: string;
1080
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1081
+ readonly createdAt: string;
1069
1082
  readonly behaviors: readonly {
1070
1083
  readonly id: number;
1071
- readonly createdAt: string;
1072
- readonly ordinal: number;
1073
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1074
1084
  readonly goalId: number;
1085
+ readonly ordinal: number;
1075
1086
  readonly behavior: string;
1076
1087
  readonly suggestedTestName: string | null;
1088
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1089
+ readonly createdAt: string;
1077
1090
  }[];
1078
- readonly ordinal: number;
1079
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1080
1091
  }[];
1081
1092
  readonly phases: readonly {
1082
1093
  readonly id: number;
1083
- readonly startedAt: string;
1084
- readonly endedAt: string | null;
1085
1094
  readonly behaviorId: number | null;
1086
1095
  readonly phase: string;
1096
+ readonly startedAt: string;
1097
+ readonly endedAt: string | null;
1087
1098
  readonly transitionReason: string | null;
1088
1099
  }[];
1089
1100
  readonly artifacts: readonly {
@@ -1097,9 +1108,9 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1097
1108
  };
1098
1109
  readonly currentPhase: {
1099
1110
  readonly id: number;
1111
+ readonly phase: string;
1100
1112
  readonly startedAt: string;
1101
1113
  readonly behaviorId: number | null;
1102
- readonly phase: string;
1103
1114
  } | null;
1104
1115
  } | {
1105
1116
  readonly action: "get";
@@ -1108,14 +1119,14 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1108
1119
  } | {
1109
1120
  readonly action: "resume";
1110
1121
  readonly found: true;
1111
- readonly goal: string;
1112
1122
  readonly tddTaskId: number;
1123
+ readonly goal: string;
1113
1124
  readonly status: string;
1114
1125
  readonly currentPhase: {
1115
1126
  readonly id: number;
1127
+ readonly phase: string;
1116
1128
  readonly startedAt: string;
1117
1129
  readonly behaviorId: number | null;
1118
- readonly phase: string;
1119
1130
  } | null;
1120
1131
  readonly phasesRecorded: number;
1121
1132
  readonly artifactsRecorded: number;
@@ -1128,13 +1139,13 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1128
1139
  }>;
1129
1140
  tdd_phase_transition_request: import("@trpc/server").TRPCMutationProcedure<{
1130
1141
  input: {
1131
- readonly tddTaskId: number;
1132
- readonly goalId: number;
1133
- readonly requestedPhase: "spike" | "red" | "red.triangulate" | "green" | "green.fake-it" | "refactor" | "extended-red" | "green-without-red";
1134
- readonly reason?: string | undefined;
1135
1142
  readonly behaviorId?: number | undefined;
1136
1143
  readonly citedArtifactId?: number | undefined;
1137
- readonly citedArtifactKind?: "refactor" | "test_written" | "test_failed_run" | "code_written" | "test_passed_run" | "test_weakened" | undefined;
1144
+ readonly citedArtifactKind?: "code_written" | "refactor" | "test_failed_run" | "test_passed_run" | "test_weakened" | "test_written" | undefined;
1145
+ readonly goalId: number;
1146
+ readonly reason?: string | undefined;
1147
+ readonly requestedPhase: "extended-red" | "green" | "green-without-red" | "green.fake-it" | "red" | "red.triangulate" | "refactor" | "spike";
1148
+ readonly tddTaskId: number;
1138
1149
  };
1139
1150
  output: {
1140
1151
  readonly accepted: false;
@@ -1142,12 +1153,12 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1142
1153
  readonly denialReason: import("@vitest-agent/sdk").DenialReason;
1143
1154
  readonly remediation: import("@vitest-agent/sdk").Remediation;
1144
1155
  } | {
1145
- citedArtifactId?: number | undefined;
1146
- citedArtifactSource?: "none" | "explicit-id" | "explicit-kind" | "transition-derived" | undefined;
1147
1156
  accepted: true;
1148
1157
  phase: import("@vitest-agent/sdk").Phase;
1149
1158
  newPhaseId: number;
1150
1159
  previousPhaseId: number | null;
1160
+ citedArtifactId?: number | undefined;
1161
+ citedArtifactSource?: "explicit-id" | "explicit-kind" | "none" | "transition-derived" | undefined;
1151
1162
  };
1152
1163
  meta: object;
1153
1164
  }>;
@@ -1157,16 +1168,16 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1157
1168
  readonly goal: string;
1158
1169
  readonly tddTaskId: number;
1159
1170
  } | {
1160
- readonly id: number;
1161
1171
  readonly action: "update";
1162
1172
  readonly goal?: string | undefined;
1163
- readonly status?: "pending" | "abandoned" | "in_progress" | "done" | undefined;
1164
- } | {
1165
1173
  readonly id: number;
1166
- readonly action: "delete";
1174
+ readonly status?: "abandoned" | "done" | "in_progress" | "pending" | undefined;
1167
1175
  } | {
1176
+ readonly action: "delete";
1168
1177
  readonly id: number;
1178
+ } | {
1169
1179
  readonly action: "get";
1180
+ readonly id: number;
1170
1181
  } | {
1171
1182
  readonly action: "list";
1172
1183
  readonly tddTaskId: number;
@@ -1176,22 +1187,22 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1176
1187
  action: "create";
1177
1188
  goal: {
1178
1189
  readonly id: number;
1179
- readonly createdAt: string;
1180
1190
  readonly sessionId: number;
1181
- readonly goal: string;
1182
1191
  readonly ordinal: number;
1183
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1192
+ readonly goal: string;
1193
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1194
+ readonly createdAt: string;
1184
1195
  };
1185
1196
  } | {
1186
1197
  ok: true;
1187
1198
  action: "update";
1188
1199
  goal: {
1189
1200
  readonly id: number;
1190
- readonly createdAt: string;
1191
1201
  readonly sessionId: number;
1192
- readonly goal: string;
1193
1202
  readonly ordinal: number;
1194
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1203
+ readonly goal: string;
1204
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1205
+ readonly createdAt: string;
1195
1206
  };
1196
1207
  } | {
1197
1208
  ok: true;
@@ -1203,46 +1214,46 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1203
1214
  id: number;
1204
1215
  goal?: undefined;
1205
1216
  } | {
1217
+ id?: undefined;
1206
1218
  action: "get";
1207
1219
  found: true;
1208
1220
  goal: {
1209
1221
  readonly id: number;
1210
- readonly createdAt: string;
1211
1222
  readonly sessionId: number;
1223
+ readonly ordinal: number;
1212
1224
  readonly goal: string;
1225
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1226
+ readonly createdAt: string;
1213
1227
  readonly behaviors: readonly {
1214
1228
  readonly id: number;
1215
- readonly createdAt: string;
1216
- readonly ordinal: number;
1217
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1218
1229
  readonly goalId: number;
1230
+ readonly ordinal: number;
1219
1231
  readonly behavior: string;
1220
1232
  readonly suggestedTestName: string | null;
1233
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1234
+ readonly createdAt: string;
1221
1235
  }[];
1222
- readonly ordinal: number;
1223
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1224
1236
  };
1225
- id?: undefined;
1226
1237
  } | {
1227
1238
  ok: true;
1228
1239
  action: "list";
1229
1240
  tddTaskId: number;
1230
1241
  goals: readonly {
1231
1242
  readonly id: number;
1232
- readonly createdAt: string;
1233
1243
  readonly sessionId: number;
1244
+ readonly ordinal: number;
1234
1245
  readonly goal: string;
1246
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1247
+ readonly createdAt: string;
1235
1248
  readonly behaviors: readonly {
1236
1249
  readonly id: number;
1237
- readonly createdAt: string;
1238
- readonly ordinal: number;
1239
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1240
1250
  readonly goalId: number;
1251
+ readonly ordinal: number;
1241
1252
  readonly behavior: string;
1242
1253
  readonly suggestedTestName: string | null;
1254
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1255
+ readonly createdAt: string;
1243
1256
  }[];
1244
- readonly ordinal: number;
1245
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1246
1257
  }[];
1247
1258
  };
1248
1259
  meta: object;
@@ -1250,23 +1261,23 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1250
1261
  tdd_behavior: import("@trpc/server").TRPCMutationProcedure<{
1251
1262
  input: {
1252
1263
  readonly action: "create";
1253
- readonly goalId: number;
1254
1264
  readonly behavior: string;
1255
- readonly suggestedTestName?: string | undefined;
1256
1265
  readonly dependsOnBehaviorIds?: readonly number[] | undefined;
1266
+ readonly goalId: number;
1267
+ readonly suggestedTestName?: string | undefined;
1257
1268
  } | {
1258
- readonly id: number;
1259
1269
  readonly action: "update";
1260
- readonly status?: "pending" | "abandoned" | "in_progress" | "done" | undefined;
1261
1270
  readonly behavior?: string | undefined;
1262
- readonly suggestedTestName?: string | null | undefined;
1263
1271
  readonly dependsOnBehaviorIds?: readonly number[] | undefined;
1264
- } | {
1265
1272
  readonly id: number;
1266
- readonly action: "delete";
1273
+ readonly status?: "abandoned" | "done" | "in_progress" | "pending" | undefined;
1274
+ readonly suggestedTestName?: string | null | undefined;
1267
1275
  } | {
1276
+ readonly action: "delete";
1268
1277
  readonly id: number;
1278
+ } | {
1269
1279
  readonly action: "get";
1280
+ readonly id: number;
1270
1281
  } | {
1271
1282
  readonly action: "list_by_goal";
1272
1283
  readonly goalId: number;
@@ -1279,24 +1290,24 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1279
1290
  action: "create";
1280
1291
  behavior: {
1281
1292
  readonly id: number;
1282
- readonly createdAt: string;
1283
- readonly ordinal: number;
1284
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1285
1293
  readonly goalId: number;
1294
+ readonly ordinal: number;
1286
1295
  readonly behavior: string;
1287
1296
  readonly suggestedTestName: string | null;
1297
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1298
+ readonly createdAt: string;
1288
1299
  };
1289
1300
  } | {
1290
1301
  ok: true;
1291
1302
  action: "update";
1292
1303
  behavior: {
1293
1304
  readonly id: number;
1294
- readonly createdAt: string;
1295
- readonly ordinal: number;
1296
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1297
1305
  readonly goalId: number;
1306
+ readonly ordinal: number;
1298
1307
  readonly behavior: string;
1299
1308
  readonly suggestedTestName: string | null;
1309
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1310
+ readonly createdAt: string;
1300
1311
  };
1301
1312
  } | {
1302
1313
  ok: true;
@@ -1312,25 +1323,25 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1312
1323
  found: true;
1313
1324
  behavior: {
1314
1325
  readonly id: number;
1315
- readonly createdAt: string;
1316
- readonly ordinal: number;
1317
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1318
1326
  readonly goalId: number;
1327
+ readonly ordinal: number;
1319
1328
  readonly behavior: string;
1320
1329
  readonly suggestedTestName: string | null;
1330
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1331
+ readonly createdAt: string;
1321
1332
  readonly parentGoal: {
1322
1333
  readonly id: number;
1323
1334
  readonly goal: string;
1324
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1335
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1325
1336
  };
1326
1337
  readonly dependencies: readonly {
1327
1338
  readonly id: number;
1328
- readonly createdAt: string;
1329
- readonly ordinal: number;
1330
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1331
1339
  readonly goalId: number;
1340
+ readonly ordinal: number;
1332
1341
  readonly behavior: string;
1333
1342
  readonly suggestedTestName: string | null;
1343
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1344
+ readonly createdAt: string;
1334
1345
  }[];
1335
1346
  };
1336
1347
  id?: undefined;
@@ -1340,12 +1351,12 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1340
1351
  goalId: number;
1341
1352
  behaviors: readonly {
1342
1353
  readonly id: number;
1343
- readonly createdAt: string;
1344
- readonly ordinal: number;
1345
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1346
1354
  readonly goalId: number;
1355
+ readonly ordinal: number;
1347
1356
  readonly behavior: string;
1348
1357
  readonly suggestedTestName: string | null;
1358
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1359
+ readonly createdAt: string;
1349
1360
  }[];
1350
1361
  } | {
1351
1362
  ok: true;
@@ -1353,83 +1364,83 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1353
1364
  tddTaskId: number;
1354
1365
  behaviors: readonly {
1355
1366
  readonly id: number;
1356
- readonly createdAt: string;
1357
- readonly ordinal: number;
1358
- readonly status: "pending" | "abandoned" | "in_progress" | "done";
1359
1367
  readonly goalId: number;
1368
+ readonly ordinal: number;
1360
1369
  readonly behavior: string;
1361
1370
  readonly suggestedTestName: string | null;
1371
+ readonly status: "abandoned" | "done" | "in_progress" | "pending";
1372
+ readonly createdAt: string;
1362
1373
  }[];
1363
1374
  };
1364
1375
  meta: object;
1365
1376
  }>;
1366
1377
  tdd_artifact_list: import("@trpc/server").TRPCQueryProcedure<{
1367
1378
  input: {
1368
- readonly tddTaskId: number;
1369
- readonly limit?: number | undefined;
1379
+ readonly artifactKind?: "code_written" | "refactor" | "test_failed_run" | "test_passed_run" | "test_weakened" | "test_written" | undefined;
1370
1380
  readonly behaviorId?: number | undefined;
1381
+ readonly limit?: number | undefined;
1371
1382
  readonly phaseId?: number | undefined;
1372
- readonly artifactKind?: "refactor" | "test_written" | "test_failed_run" | "code_written" | "test_passed_run" | "test_weakened" | undefined;
1383
+ readonly tddTaskId: number;
1373
1384
  };
1374
1385
  output: {
1375
- readonly count: number;
1376
1386
  readonly tddTaskId: number;
1387
+ readonly filters: {
1388
+ readonly artifactKind?: "code_written" | "refactor" | "test_failed_run" | "test_passed_run" | "test_weakened" | "test_written" | undefined;
1389
+ readonly phaseId?: number | undefined;
1390
+ readonly behaviorId?: number | undefined;
1391
+ };
1392
+ readonly count: number;
1377
1393
  readonly artifacts: readonly {
1378
1394
  readonly id: number;
1379
1395
  readonly tddTaskId: number;
1380
- readonly behaviorId: number | null;
1381
1396
  readonly phaseId: number;
1382
- readonly artifactKind: "refactor" | "test_written" | "test_failed_run" | "code_written" | "test_passed_run" | "test_weakened";
1397
+ readonly phaseName: "extended-red" | "green" | "green-without-red" | "green.fake-it" | "red" | "red.triangulate" | "refactor" | "spike";
1398
+ readonly artifactKind: "code_written" | "refactor" | "test_failed_run" | "test_passed_run" | "test_weakened" | "test_written";
1399
+ readonly behaviorId: number | null;
1383
1400
  readonly testCaseId: number | null;
1384
1401
  readonly testRunId: number | null;
1385
- readonly recordedAt: string;
1386
- readonly phaseName: "spike" | "red" | "red.triangulate" | "green" | "green.fake-it" | "refactor" | "extended-red" | "green-without-red";
1387
1402
  readonly testFirstFailureRunId: number | null;
1403
+ readonly recordedAt: string;
1388
1404
  }[];
1389
- readonly filters: {
1390
- readonly behaviorId?: number | undefined;
1391
- readonly phaseId?: number | undefined;
1392
- readonly artifactKind?: "refactor" | "test_written" | "test_failed_run" | "code_written" | "test_passed_run" | "test_weakened" | undefined;
1393
- };
1394
1405
  };
1395
1406
  meta: object;
1396
1407
  }>;
1397
1408
  hypothesis: import("@trpc/server").TRPCMutationProcedure<{
1398
1409
  input: {
1399
1410
  readonly action: "record";
1411
+ readonly citedStackFrameId?: number | undefined;
1412
+ readonly citedTestErrorId?: number | undefined;
1400
1413
  readonly content: string;
1401
- readonly sessionId?: number | undefined;
1402
1414
  readonly createdTurnId?: number | undefined;
1403
- readonly citedTestErrorId?: number | undefined;
1404
- readonly citedStackFrameId?: number | undefined;
1415
+ readonly sessionId?: number | undefined;
1405
1416
  } | {
1406
- readonly id: number;
1407
1417
  readonly action: "validate";
1418
+ readonly id: number;
1408
1419
  readonly outcome: "abandoned" | "confirmed" | "refuted";
1409
1420
  readonly validatedAt: string;
1410
1421
  readonly validatedTurnId?: number | undefined;
1411
1422
  } | {
1412
1423
  readonly action: "list";
1413
1424
  readonly limit?: number | undefined;
1425
+ readonly outcome?: "abandoned" | "confirmed" | "open" | "refuted" | undefined;
1414
1426
  readonly sessionId?: number | undefined;
1415
- readonly outcome?: "open" | "abandoned" | "confirmed" | "refuted" | undefined;
1416
1427
  };
1417
1428
  output: {
1418
- readonly id: number;
1419
1429
  readonly action: "record";
1430
+ readonly id: number;
1420
1431
  } | {
1421
1432
  readonly action: "validate";
1422
1433
  } | {
1423
- readonly count: number;
1424
1434
  readonly action: "list";
1435
+ readonly count: number;
1425
1436
  readonly hypotheses: readonly {
1426
1437
  readonly id: number;
1427
- readonly content: string;
1428
1438
  readonly sessionId: number;
1439
+ readonly content: string;
1429
1440
  readonly citedTestErrorId: number | null;
1430
1441
  readonly citedStackFrameId: number | null;
1431
- readonly validatedAt: string | null;
1432
1442
  readonly validationOutcome: "abandoned" | "confirmed" | "refuted" | null;
1443
+ readonly validatedAt: string | null;
1433
1444
  }[];
1434
1445
  };
1435
1446
  meta: object;
@@ -1444,26 +1455,26 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1444
1455
  };
1445
1456
  readonly complianceHookResponsiveness: {
1446
1457
  readonly total: number;
1447
- readonly ratio: number;
1448
1458
  readonly withFollowup: number;
1459
+ readonly ratio: number;
1449
1460
  };
1450
1461
  readonly orientationUsefulness: {
1451
1462
  readonly total: number;
1452
- readonly ratio: number;
1453
1463
  readonly referencedCount: number;
1464
+ readonly ratio: number;
1454
1465
  };
1455
1466
  readonly antiPatternDetectionRate: {
1456
1467
  readonly total: number;
1457
- readonly ratio: number;
1458
1468
  readonly cleanSessions: number;
1469
+ readonly ratio: number;
1459
1470
  };
1460
1471
  };
1461
1472
  meta: object;
1462
1473
  }>;
1463
1474
  triage_brief: import("@trpc/server").TRPCQueryProcedure<{
1464
1475
  input: {
1465
- readonly project?: string | undefined;
1466
1476
  readonly maxLines?: number | undefined;
1477
+ readonly project?: string | undefined;
1467
1478
  };
1468
1479
  output: {
1469
1480
  readonly hasContent: boolean;
@@ -1474,13 +1485,13 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1474
1485
  wrapup_prompt: import("@trpc/server").TRPCQueryProcedure<{
1475
1486
  input: {
1476
1487
  readonly chatId?: string | undefined;
1477
- readonly kind?: "stop" | "session_end" | "pre_compact" | "tdd_handoff" | "user_prompt_nudge" | undefined;
1488
+ readonly kind?: "pre_compact" | "session_end" | "stop" | "tdd_handoff" | "user_prompt_nudge" | undefined;
1478
1489
  readonly sessionId?: number | undefined;
1479
1490
  readonly userPromptHint?: string | undefined;
1480
1491
  };
1481
1492
  output: {
1482
- readonly kind: "stop" | "session_end" | "pre_compact" | "tdd_handoff" | "user_prompt_nudge";
1483
1493
  readonly hasContent: boolean;
1494
+ readonly kind: "pre_compact" | "session_end" | "stop" | "tdd_handoff" | "user_prompt_nudge";
1484
1495
  readonly markdown: string;
1485
1496
  };
1486
1497
  meta: object;
@@ -1490,19 +1501,19 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1490
1501
  readonly sha?: string | undefined;
1491
1502
  };
1492
1503
  output: {
1493
- readonly count: number;
1494
1504
  readonly filterSha?: string | undefined;
1505
+ readonly count: number;
1495
1506
  readonly commits: readonly {
1496
- readonly message: string | null;
1497
- readonly files: readonly {
1498
- readonly filePath: string;
1499
- readonly changeKind: "added" | "modified" | "deleted" | "renamed" | "untracked-modified";
1500
- }[];
1501
1507
  readonly sha: string;
1502
1508
  readonly parentSha: string | null;
1509
+ readonly message: string | null;
1503
1510
  readonly author: string | null;
1504
1511
  readonly committedAt: string | null;
1505
1512
  readonly branch: string | null;
1513
+ readonly files: readonly {
1514
+ readonly filePath: string;
1515
+ readonly changeKind: "added" | "deleted" | "modified" | "renamed" | "untracked-modified";
1516
+ }[];
1506
1517
  }[];
1507
1518
  };
1508
1519
  meta: object;
@@ -1518,10 +1529,10 @@ declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1518
1529
  //#endregion
1519
1530
  //#region src/server.d.ts
1520
1531
  /**
1521
- * Starts the MCP server over stdio, registering all tools, resources, and prompts.
1532
+ * Starts the MCP server over stdio, registering all tools and prompts.
1522
1533
  *
1523
1534
  * Constructs the MCP server instance, registers all tRPC-backed tools (wired through
1524
- * `ctx.runtime`), calls `registerAllResources` and `registerAllPrompts`, then connects
1535
+ * `ctx.runtime`), calls `registerAllPrompts`, then connects
1525
1536
  * a `StdioServerTransport`. Returns when the transport disconnects.
1526
1537
  *
1527
1538
  * @param ctx - the MCP context carrying the shared ManagedRuntime and session refs
@@ -1565,9 +1576,7 @@ interface TddErrorEnvelope {
1565
1576
  /**
1566
1577
  * The version of this package, inlined at build time from
1567
1578
  * package.json#version via rslib-builder's __PACKAGE_VERSION__ substitution.
1568
- * Compared against CURRENT_SDK_VERSION at MCP bin init to surface
1569
- * partially-upgraded installs as a single stderr warning. See the root
1570
- * CLAUDE.md "Cross-package version drift" section.
1579
+ * Exported for version introspection by downstream tooling.
1571
1580
  *
1572
1581
  * @public
1573
1582
  */