@prismatic-io/lux 0.0.2-preview.18 → 0.0.2-preview.21

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 (244) hide show
  1. package/lib/answerers/persona/index.d.ts +5 -1
  2. package/lib/answerers/persona/index.d.ts.map +1 -1
  3. package/lib/assertions/rubric/index.d.ts +3 -1
  4. package/lib/assertions/rubric/index.d.ts.map +1 -1
  5. package/lib/authoring.d.ts +3 -1
  6. package/lib/authoring.d.ts.map +1 -1
  7. package/lib/authoring.js +2 -1
  8. package/lib/authoring.js.map +1 -1
  9. package/lib/cli/harness-plan.d.ts +26 -0
  10. package/lib/cli/harness-plan.d.ts.map +1 -0
  11. package/lib/cli/harness-plan.js +75 -0
  12. package/lib/cli/harness-plan.js.map +1 -0
  13. package/lib/cli/init-templates.d.ts +2 -2
  14. package/lib/cli/init-templates.d.ts.map +1 -1
  15. package/lib/cli/init-templates.js +11 -4
  16. package/lib/cli/init-templates.js.map +1 -1
  17. package/lib/cli/init.d.ts +2 -0
  18. package/lib/cli/init.d.ts.map +1 -1
  19. package/lib/cli/init.js +6 -3
  20. package/lib/cli/init.js.map +1 -1
  21. package/lib/cli/output-schemas.d.ts +7 -0
  22. package/lib/cli/output-schemas.d.ts.map +1 -1
  23. package/lib/cli/program.d.ts +5 -10
  24. package/lib/cli/program.d.ts.map +1 -1
  25. package/lib/cli/program.js +44 -77
  26. package/lib/cli/program.js.map +1 -1
  27. package/lib/cli/run-options.d.ts +19 -0
  28. package/lib/cli/run-options.d.ts.map +1 -1
  29. package/lib/cli/run-options.js +92 -0
  30. package/lib/cli/run-options.js.map +1 -1
  31. package/lib/core/case.d.ts +2 -0
  32. package/lib/core/case.d.ts.map +1 -1
  33. package/lib/core/case.js +3 -0
  34. package/lib/core/case.js.map +1 -1
  35. package/lib/core/driver.d.ts +13 -0
  36. package/lib/core/driver.d.ts.map +1 -1
  37. package/lib/core/driver.js +10 -0
  38. package/lib/core/driver.js.map +1 -1
  39. package/lib/core/harness-catalog.d.ts +35 -0
  40. package/lib/core/harness-catalog.d.ts.map +1 -0
  41. package/lib/core/harness-catalog.js +45 -0
  42. package/lib/core/harness-catalog.js.map +1 -0
  43. package/lib/core/harness-catalogs/antigravity.d.ts +11 -0
  44. package/lib/core/harness-catalogs/antigravity.d.ts.map +1 -0
  45. package/lib/core/harness-catalogs/antigravity.js +23 -0
  46. package/lib/core/harness-catalogs/antigravity.js.map +1 -0
  47. package/lib/core/harness-catalogs/claude-code.d.ts +12 -0
  48. package/lib/core/harness-catalogs/claude-code.d.ts.map +1 -0
  49. package/lib/core/harness-catalogs/claude-code.js +24 -0
  50. package/lib/core/harness-catalogs/claude-code.js.map +1 -0
  51. package/lib/core/harness-catalogs/codex.d.ts +11 -0
  52. package/lib/core/harness-catalogs/codex.d.ts.map +1 -0
  53. package/lib/core/harness-catalogs/codex.js +26 -0
  54. package/lib/core/harness-catalogs/codex.js.map +1 -0
  55. package/lib/core/harness-catalogs/copilot.d.ts +29 -0
  56. package/lib/core/harness-catalogs/copilot.d.ts.map +1 -0
  57. package/lib/core/harness-catalogs/copilot.js +45 -0
  58. package/lib/core/harness-catalogs/copilot.js.map +1 -0
  59. package/lib/core/harness-catalogs/cursor.d.ts +2 -0
  60. package/lib/core/harness-catalogs/cursor.d.ts.map +1 -0
  61. package/lib/core/harness-catalogs/cursor.js +13 -0
  62. package/lib/core/harness-catalogs/cursor.js.map +1 -0
  63. package/lib/core/harness-catalogs/index.d.ts +67 -0
  64. package/lib/core/harness-catalogs/index.d.ts.map +1 -0
  65. package/lib/core/harness-catalogs/index.js +15 -0
  66. package/lib/core/harness-catalogs/index.js.map +1 -0
  67. package/lib/core/harness-matrix.d.ts +70 -0
  68. package/lib/core/harness-matrix.d.ts.map +1 -0
  69. package/lib/core/harness-matrix.js +194 -0
  70. package/lib/core/harness-matrix.js.map +1 -0
  71. package/lib/core/index.d.ts +3 -0
  72. package/lib/core/index.d.ts.map +1 -1
  73. package/lib/core/index.js +3 -0
  74. package/lib/core/index.js.map +1 -1
  75. package/lib/core/model-cli.d.ts +4 -11
  76. package/lib/core/model-cli.d.ts.map +1 -1
  77. package/lib/core/model-cli.js +23 -17
  78. package/lib/core/model-cli.js.map +1 -1
  79. package/lib/core/platform-process.d.ts +1 -0
  80. package/lib/core/platform-process.d.ts.map +1 -1
  81. package/lib/core/platform-process.js +1 -1
  82. package/lib/core/platform-process.js.map +1 -1
  83. package/lib/core/run.d.ts +4 -0
  84. package/lib/core/run.d.ts.map +1 -1
  85. package/lib/core/run.js +2 -0
  86. package/lib/core/run.js.map +1 -1
  87. package/lib/drivers/antigravity/config.d.ts +46 -0
  88. package/lib/drivers/antigravity/config.d.ts.map +1 -0
  89. package/lib/drivers/antigravity/config.js +39 -0
  90. package/lib/drivers/antigravity/config.js.map +1 -0
  91. package/lib/drivers/antigravity/events.d.ts +4 -0
  92. package/lib/drivers/antigravity/events.d.ts.map +1 -0
  93. package/lib/drivers/antigravity/events.js +193 -0
  94. package/lib/drivers/antigravity/events.js.map +1 -0
  95. package/lib/drivers/antigravity/index.d.ts +60 -0
  96. package/lib/drivers/antigravity/index.d.ts.map +1 -0
  97. package/lib/drivers/antigravity/index.js +90 -0
  98. package/lib/drivers/antigravity/index.js.map +1 -0
  99. package/lib/drivers/claude-code/index.d.ts +93 -7
  100. package/lib/drivers/claude-code/index.d.ts.map +1 -1
  101. package/lib/drivers/claude-code/index.js +14 -8
  102. package/lib/drivers/claude-code/index.js.map +1 -1
  103. package/lib/drivers/codex/config.d.ts +61 -4
  104. package/lib/drivers/codex/config.d.ts.map +1 -1
  105. package/lib/drivers/codex/config.js +19 -5
  106. package/lib/drivers/codex/config.js.map +1 -1
  107. package/lib/drivers/codex/index.d.ts +63 -5
  108. package/lib/drivers/codex/index.d.ts.map +1 -1
  109. package/lib/drivers/codex/index.js +11 -3
  110. package/lib/drivers/codex/index.js.map +1 -1
  111. package/lib/drivers/copilot/config.d.ts +81 -0
  112. package/lib/drivers/copilot/config.d.ts.map +1 -0
  113. package/lib/drivers/copilot/config.js +54 -0
  114. package/lib/drivers/copilot/config.js.map +1 -0
  115. package/lib/drivers/copilot/index.d.ts +103 -0
  116. package/lib/drivers/copilot/index.d.ts.map +1 -0
  117. package/lib/drivers/copilot/index.js +256 -0
  118. package/lib/drivers/copilot/index.js.map +1 -0
  119. package/lib/drivers/cursor/config.d.ts +6 -1
  120. package/lib/drivers/cursor/config.d.ts.map +1 -1
  121. package/lib/drivers/cursor/config.js +2 -3
  122. package/lib/drivers/cursor/config.js.map +1 -1
  123. package/lib/drivers/cursor/index.d.ts +7 -2
  124. package/lib/drivers/cursor/index.d.ts.map +1 -1
  125. package/lib/drivers/cursor/index.js +9 -6
  126. package/lib/drivers/cursor/index.js.map +1 -1
  127. package/lib/drivers/cursor/interaction.d.ts +1 -2
  128. package/lib/drivers/cursor/interaction.d.ts.map +1 -1
  129. package/lib/drivers/cursor/interaction.js +3 -14
  130. package/lib/drivers/cursor/interaction.js.map +1 -1
  131. package/lib/drivers/{cursor/events.d.ts → shared/acp-events.d.ts} +5 -3
  132. package/lib/drivers/shared/acp-events.d.ts.map +1 -0
  133. package/lib/drivers/{cursor/events.js → shared/acp-events.js} +20 -10
  134. package/lib/drivers/shared/acp-events.js.map +1 -0
  135. package/lib/drivers/shared/acp-interaction.d.ts +7 -0
  136. package/lib/drivers/shared/acp-interaction.d.ts.map +1 -0
  137. package/lib/drivers/shared/acp-interaction.js +20 -0
  138. package/lib/drivers/shared/acp-interaction.js.map +1 -0
  139. package/lib/drivers/{cursor → shared}/acp-transport.d.ts +2 -0
  140. package/lib/drivers/shared/acp-transport.d.ts.map +1 -0
  141. package/lib/drivers/{cursor → shared}/acp-transport.js +10 -10
  142. package/lib/drivers/shared/acp-transport.js.map +1 -0
  143. package/lib/index.d.ts +7 -2
  144. package/lib/index.d.ts.map +1 -1
  145. package/lib/index.js +7 -2
  146. package/lib/index.js.map +1 -1
  147. package/lib/optimization/reflective.d.ts +2 -0
  148. package/lib/optimization/reflective.d.ts.map +1 -1
  149. package/lib/orchestrator/comparison-identity.d.ts.map +1 -1
  150. package/lib/orchestrator/comparison-identity.js +1 -0
  151. package/lib/orchestrator/comparison-identity.js.map +1 -1
  152. package/lib/orchestrator/config.d.ts +7 -0
  153. package/lib/orchestrator/config.d.ts.map +1 -1
  154. package/lib/orchestrator/config.js +8 -1
  155. package/lib/orchestrator/config.js.map +1 -1
  156. package/lib/orchestrator/doctor.d.ts.map +1 -1
  157. package/lib/orchestrator/doctor.js +72 -2
  158. package/lib/orchestrator/doctor.js.map +1 -1
  159. package/lib/orchestrator/experiment-context.d.ts +1 -1
  160. package/lib/orchestrator/harness-catalog-drift.d.ts +22 -0
  161. package/lib/orchestrator/harness-catalog-drift.d.ts.map +1 -0
  162. package/lib/orchestrator/harness-catalog-drift.js +90 -0
  163. package/lib/orchestrator/harness-catalog-drift.js.map +1 -0
  164. package/lib/orchestrator/orchestrator.d.ts +9 -1
  165. package/lib/orchestrator/orchestrator.d.ts.map +1 -1
  166. package/lib/orchestrator/orchestrator.js +14 -22
  167. package/lib/orchestrator/orchestrator.js.map +1 -1
  168. package/lib/orchestrator/run-dir.d.ts +2 -0
  169. package/lib/orchestrator/run-dir.d.ts.map +1 -1
  170. package/lib/orchestrator/run-dir.js +1 -1
  171. package/lib/orchestrator/run-dir.js.map +1 -1
  172. package/lib/orchestrator/run-execution.d.ts +1 -0
  173. package/lib/orchestrator/run-execution.d.ts.map +1 -1
  174. package/lib/orchestrator/run-execution.js +2 -0
  175. package/lib/orchestrator/run-execution.js.map +1 -1
  176. package/lib/orchestrator/suite-compare.d.ts +3 -0
  177. package/lib/orchestrator/suite-compare.d.ts.map +1 -1
  178. package/lib/orchestrator/suite-compare.js +27 -17
  179. package/lib/orchestrator/suite-compare.js.map +1 -1
  180. package/lib/orchestrator/suite-runs.d.ts +3 -0
  181. package/lib/orchestrator/suite-runs.d.ts.map +1 -1
  182. package/lib/orchestrator/suite-runs.js +2 -0
  183. package/lib/orchestrator/suite-runs.js.map +1 -1
  184. package/lib/orchestrator/suite-summary.d.ts +9 -0
  185. package/lib/orchestrator/suite-summary.d.ts.map +1 -1
  186. package/lib/orchestrator/suite-summary.js +14 -4
  187. package/lib/orchestrator/suite-summary.js.map +1 -1
  188. package/package.json +1 -1
  189. package/skills/lux-answerer/SKILL.md +1 -1
  190. package/src/authoring.ts +10 -3
  191. package/src/cli/harness-plan.ts +117 -0
  192. package/src/cli/init-templates.ts +12 -5
  193. package/src/cli/init.ts +12 -5
  194. package/src/cli/program.ts +50 -92
  195. package/src/cli/run-options.ts +123 -0
  196. package/src/core/case.ts +3 -0
  197. package/src/core/driver.ts +26 -0
  198. package/src/core/harness-catalog.ts +100 -0
  199. package/src/core/harness-catalogs/antigravity.ts +24 -0
  200. package/src/core/harness-catalogs/claude-code.ts +25 -0
  201. package/src/core/harness-catalogs/codex.ts +27 -0
  202. package/src/core/harness-catalogs/copilot.ts +46 -0
  203. package/src/core/harness-catalogs/cursor.ts +13 -0
  204. package/src/core/harness-catalogs/index.ts +22 -0
  205. package/src/core/harness-matrix.ts +298 -0
  206. package/src/core/index.ts +3 -0
  207. package/src/core/model-cli.ts +38 -21
  208. package/src/core/platform-process.ts +4 -4
  209. package/src/core/run.ts +2 -0
  210. package/src/drivers/antigravity/README.md +46 -0
  211. package/src/drivers/antigravity/config.ts +44 -0
  212. package/src/drivers/antigravity/events.ts +235 -0
  213. package/src/drivers/antigravity/index.ts +109 -0
  214. package/src/drivers/claude-code/index.ts +18 -7
  215. package/src/drivers/codex/config.ts +23 -5
  216. package/src/drivers/codex/index.ts +15 -2
  217. package/src/drivers/copilot/README.md +52 -0
  218. package/src/drivers/copilot/config.ts +58 -0
  219. package/src/drivers/copilot/index.ts +292 -0
  220. package/src/drivers/cursor/README.md +9 -6
  221. package/src/drivers/cursor/config.ts +2 -3
  222. package/src/drivers/cursor/index.ts +10 -6
  223. package/src/drivers/cursor/interaction.ts +3 -19
  224. package/src/drivers/{cursor/events.ts → shared/acp-events.ts} +20 -9
  225. package/src/drivers/shared/acp-interaction.ts +27 -0
  226. package/src/drivers/{cursor → shared}/acp-transport.ts +15 -10
  227. package/src/index.ts +44 -3
  228. package/src/orchestrator/comparison-identity.ts +1 -0
  229. package/src/orchestrator/config.ts +8 -0
  230. package/src/orchestrator/doctor.ts +125 -3
  231. package/src/orchestrator/harness-catalog-drift.ts +132 -0
  232. package/src/orchestrator/orchestrator.ts +31 -26
  233. package/src/orchestrator/run-dir.ts +8 -1
  234. package/src/orchestrator/run-execution.ts +3 -0
  235. package/src/orchestrator/suite-compare.ts +29 -19
  236. package/src/orchestrator/suite-runs.ts +3 -1
  237. package/src/orchestrator/suite-summary.ts +19 -4
  238. package/lib/drivers/cursor/acp-transport.d.ts.map +0 -1
  239. package/lib/drivers/cursor/acp-transport.js.map +0 -1
  240. package/lib/drivers/cursor/events.d.ts.map +0 -1
  241. package/lib/drivers/cursor/events.js.map +0 -1
  242. package/skills/lux/SKILL.md +0 -89
  243. package/skills/lux/references/cli.md +0 -128
  244. package/skills/lux/references/eval-authoring.md +0 -266
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { EventHandler } from "./emitter.js";
3
3
  import type { Answer, Done, ErrorEvent, Interrupt, Progress, ReadyState } from "./events.js";
4
+ import type { ReasoningEffort } from "./harness-catalog.js";
4
5
  import type { FixtureValueBinding } from "./lifecycle-hooks.js";
5
6
  export declare const ArtifactSchema: z.ZodObject<{
6
7
  path: z.ZodString;
@@ -84,6 +85,11 @@ export type DriverExperiment<Cfg> = {
84
85
  rootDir: string;
85
86
  }): unknown | Promise<unknown>;
86
87
  };
88
+ /** Model and reasoning effort chosen by a harness matrix permutation. */
89
+ export type HarnessSelection = {
90
+ model?: string | undefined;
91
+ effort?: ReasoningEffort | undefined;
92
+ };
87
93
  export type DriverPlugin<Cfg = unknown> = {
88
94
  name: string;
89
95
  configSchema?: z.ZodTypeAny;
@@ -91,7 +97,14 @@ export type DriverPlugin<Cfg = unknown> = {
91
97
  runtime?: (config: Cfg) => DriverRuntime;
92
98
  /** Ordinary runs remain supported when controlled experiments are not declared. */
93
99
  experiment?: DriverExperiment<Cfg>;
100
+ /**
101
+ * Apply a matrix selection to raw (unvalidated) configuration. Drivers
102
+ * without a model concept leave this undefined and reject selection.
103
+ */
104
+ selectHarness?: (config: unknown, selection: HarnessSelection) => unknown;
94
105
  };
106
+ /** Selection for drivers whose configuration uses `model` and `reasoningEffort`. */
107
+ export declare const selectModelAndReasoningEffort: (config: unknown, selection: HarnessSelection) => unknown;
95
108
  export declare const defineDriver: <S extends z.ZodType>(definition: Omit<DriverPlugin<z.output<S>>, "configSchema"> & {
96
109
  configSchema: S;
97
110
  }) => Omit<DriverPlugin<z.output<S>>, "configSchema"> & {
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,eAAO,MAAM,cAAc;;;;;;iBAWzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,MAAM,MAAM,YAAY,GAAG;IACzB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,sDAAsD;IACtD,aAAa,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC3D,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7F,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9F,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;;OAIG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;EASjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,GAAG,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjF,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,GAAG,GAAG,OAAO,IAAI;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,aAAa,CAAC;IACzC,mFAAmF;IACnF,UAAU,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC;CAC3E,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,6BAA6B,WAChC,OAAO,aACJ,gBAAgB,KAC1B,OAQD,CAAC;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,cAClC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG;IAAE,YAAY,EAAE,CAAC,CAAA;CAAE,KAChF,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG;IAAE,YAAY,EAAE,CAAC,CAAA;CAAgB,CAAC;AAEvF,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,UACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,CAAC,CAAA;CAAE,UACjC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;CAAqC,CAAC"}
@@ -25,6 +25,16 @@ export const DriverCapabilitySchema = z.enum([
25
25
  "cost",
26
26
  "isolation",
27
27
  ]);
28
+ /** Selection for drivers whose configuration uses `model` and `reasoningEffort`. */
29
+ export const selectModelAndReasoningEffort = (config, selection) => ({
30
+ ...(config && typeof config === "object" && !Array.isArray(config)
31
+ ? config
32
+ : {}),
33
+ ...(selection.model !== undefined ? { model: selection.model } : {}),
34
+ ...(selection.effort !== undefined || selection.model !== undefined
35
+ ? { reasoningEffort: selection.effort }
36
+ : {}),
37
+ });
28
38
  export const defineDriver = (definition) => definition;
29
39
  export const driverRef = (plugin, config) => ({ name: plugin.name, config });
30
40
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAmDH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AA0BH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAiF,EACV,EAAE,CAAC,UAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyC,EACzC,MAAkB,EACoB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAmDH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAqCH,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAe,EACf,SAA2B,EAClB,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,CAAC,CAAE,MAAkC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QACjE,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE;QACvC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAiF,EACV,EAAE,CAAC,UAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyC,EACzC,MAAkB,EACoB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ export declare const HARNESS_EFFORTS: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max", "ultra"];
3
+ export declare const ReasoningEffortSchema: z.ZodEnum<{
4
+ high: "high";
5
+ low: "low";
6
+ max: "max";
7
+ medium: "medium";
8
+ minimal: "minimal";
9
+ none: "none";
10
+ ultra: "ultra";
11
+ xhigh: "xhigh";
12
+ }>;
13
+ export type ReasoningEffort = z.infer<typeof ReasoningEffortSchema>;
14
+ export type CatalogModels = Readonly<Record<string, readonly ReasoningEffort[]>>;
15
+ export type HarnessCatalog<D extends string = string, E extends readonly ReasoningEffort[] = readonly ReasoningEffort[], M extends CatalogModels | undefined = CatalogModels | undefined> = {
16
+ readonly driver: D;
17
+ readonly verified: string;
18
+ readonly sources: readonly string[];
19
+ readonly efforts: E;
20
+ readonly models: M;
21
+ };
22
+ export type ClosedHarnessCatalog = HarnessCatalog<string, readonly ReasoningEffort[], CatalogModels>;
23
+ export declare const defineHarnessCatalog: <const D extends string, const E extends readonly ReasoningEffort[], const M extends CatalogModels | undefined>(catalog: HarnessCatalog<D, E, M>) => HarnessCatalog<D, E, M>;
24
+ export declare const isClosedCatalog: (catalog: HarnessCatalog) => catalog is ClosedHarnessCatalog;
25
+ export declare const catalogModelIds: (catalog: HarnessCatalog) => string[];
26
+ export declare const catalogEfforts: (catalog: HarnessCatalog, model: string) => readonly ReasoningEffort[] | undefined;
27
+ export declare const defaultCatalogEffort: (catalog: HarnessCatalog, model: string) => ReasoningEffort | undefined;
28
+ export declare const describeAcceptedEfforts: (catalog: HarnessCatalog, model: string, accepted: readonly ReasoningEffort[]) => string;
29
+ export declare const effortIssue: (catalog: HarnessCatalog, model: string, effort: ReasoningEffort | undefined) => string | undefined;
30
+ export type CatalogEffortConfig = {
31
+ model: string;
32
+ reasoningEffort?: ReasoningEffort | undefined;
33
+ };
34
+ export declare const applyCatalogEffort: (catalog: HarnessCatalog) => <C extends CatalogEffortConfig>(config: C, ctx: z.RefinementCtx) => C;
35
+ //# sourceMappingURL=harness-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-catalog.d.ts","sourceRoot":"","sources":["../../src/core/harness-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,YAC1B,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,CACC,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;;;;;EAA0B,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,SAAS,eAAe,EAAE,GAAG,SAAS,eAAe,EAAE,EACjE,CAAC,SAAS,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,IAC7D;IACF,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAC/C,MAAM,EACN,SAAS,eAAe,EAAE,EAC1B,aAAa,CACd,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,KAAK,CAAC,CAAC,SAAS,MAAM,EACtB,KAAK,CAAC,CAAC,SAAS,SAAS,eAAe,EAAE,EAC1C,KAAK,CAAC,CAAC,SAAS,aAAa,GAAG,SAAS,WAEhC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC/B,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAY,CAAC;AAEtC,eAAO,MAAM,eAAe,YAAa,cAAc,KAAG,OAAO,IAAI,oBACvC,CAAC;AAE/B,eAAO,MAAM,eAAe,YAAa,cAAc,KAAG,MAAM,EAC7B,CAAC;AAEpC,eAAO,MAAM,cAAc,YAChB,cAAc,SAChB,MAAM,KACZ,SAAS,eAAe,EAAE,GAAG,SAAoC,CAAC;AAErE,eAAO,MAAM,oBAAoB,YACtB,cAAc,SAChB,MAAM,KACZ,eAAe,GAAG,SAIpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACzB,cAAc,SAChB,MAAM,YACH,SAAS,eAAe,EAAE,KACnC,MAG0F,CAAC;AAE9F,eAAO,MAAM,WAAW,YACb,cAAc,SAChB,MAAM,UACL,eAAe,GAAG,SAAS,KAClC,MAAM,GAAG,SAKX,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACnB,cAAc,MACvB,CAAC,SAAS,mBAAmB,UAAU,CAAC,OAAO,CAAC,CAAC,aAAa,KAAG,CASjE,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ export const HARNESS_EFFORTS = [
3
+ "none",
4
+ "minimal",
5
+ "low",
6
+ "medium",
7
+ "high",
8
+ "xhigh",
9
+ "max",
10
+ "ultra",
11
+ ];
12
+ export const ReasoningEffortSchema = z.enum(HARNESS_EFFORTS);
13
+ export const defineHarnessCatalog = (catalog) => catalog;
14
+ export const isClosedCatalog = (catalog) => catalog.models !== undefined;
15
+ export const catalogModelIds = (catalog) => Object.keys(catalog.models ?? {});
16
+ export const catalogEfforts = (catalog, model) => catalog.models?.[model];
17
+ export const defaultCatalogEffort = (catalog, model) => {
18
+ if (!isClosedCatalog(catalog))
19
+ return undefined;
20
+ const accepted = catalog.models[model] ?? catalog.efforts;
21
+ return accepted.includes("low") ? "low" : accepted[0];
22
+ };
23
+ export const describeAcceptedEfforts = (catalog, model, accepted) => accepted.length === 0
24
+ ? `model '${model}' has no reasoning effort in ${catalog.driver}`
25
+ : `model '${model}' accepts reasoning effort ${accepted.join(", ")} in ${catalog.driver}`;
26
+ export const effortIssue = (catalog, model, effort) => {
27
+ if (effort === undefined)
28
+ return undefined;
29
+ const accepted = catalogEfforts(catalog, model);
30
+ if (accepted === undefined || accepted.includes(effort))
31
+ return undefined;
32
+ return describeAcceptedEfforts(catalog, model, accepted);
33
+ };
34
+ export const applyCatalogEffort = (catalog) => (config, ctx) => {
35
+ const issue = effortIssue(catalog, config.model, config.reasoningEffort);
36
+ if (issue) {
37
+ ctx.addIssue({ code: "custom", path: ["reasoningEffort"], message: issue });
38
+ return config;
39
+ }
40
+ if (config.reasoningEffort !== undefined)
41
+ return config;
42
+ const effort = defaultCatalogEffort(catalog, config.model);
43
+ return effort === undefined ? config : { ...config, reasoningEffort: effort };
44
+ };
45
+ //# sourceMappingURL=harness-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-catalog.js","sourceRoot":"","sources":["../../src/core/harness-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const antigravityCatalog: import("../harness-catalog.js").HarnessCatalog<"antigravity", readonly ["low", "medium", "high"], {
2
+ readonly "gemini-3.8-flash": readonly ["low", "medium", "high"];
3
+ readonly "gemini-3.7-flash": readonly ["low", "medium", "high"];
4
+ readonly "gemini-3.6-flash": readonly ["low", "medium", "high"];
5
+ readonly "gemini-3.5-flash": readonly ["low", "medium", "high"];
6
+ readonly "gemini-3.1-pro": readonly ["low", "high"];
7
+ readonly "claude-sonnet-4-6": readonly [];
8
+ readonly "claude-opus-4-6-thinking": readonly [];
9
+ readonly "gpt-oss-120b-medium": readonly [];
10
+ }>;
11
+ //# sourceMappingURL=antigravity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../../src/core/harness-catalogs/antigravity.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;;;;;;;;EAmB7B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineHarnessCatalog } from "../harness-catalog.js";
2
+ const flash = ["low", "medium", "high"];
3
+ export const antigravityCatalog = defineHarnessCatalog({
4
+ driver: "antigravity",
5
+ verified: "2026-09-18",
6
+ sources: [
7
+ "https://antigravity.google/docs/models/",
8
+ "https://antigravity.google/docs/cli/headless/",
9
+ "agy models (needs a login)",
10
+ ],
11
+ efforts: flash,
12
+ models: {
13
+ "gemini-3.8-flash": flash,
14
+ "gemini-3.7-flash": flash,
15
+ "gemini-3.6-flash": flash,
16
+ "gemini-3.5-flash": flash,
17
+ "gemini-3.1-pro": ["low", "high"],
18
+ "claude-sonnet-4-6": [],
19
+ "claude-opus-4-6-thinking": [],
20
+ "gpt-oss-120b-medium": [],
21
+ },
22
+ });
23
+ //# sourceMappingURL=antigravity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;IACrD,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,yCAAyC;QACzC,+CAA+C;QAC/C,4BAA4B;KAC7B;IACD,OAAO,EAAE,KAAK;IACd,MAAM,EAAE;QACN,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACjC,mBAAmB,EAAE,EAAE;QACvB,0BAA0B,EAAE,EAAE;QAC9B,qBAAqB,EAAE,EAAE;KAC1B;CACF,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const claudeCodeCatalog: import("../harness-catalog.js").HarnessCatalog<"claude-code", readonly ["low", "medium", "high", "xhigh", "max"], {
2
+ readonly "claude-fable-5-1": readonly ["low", "medium", "high", "xhigh", "max"];
3
+ readonly "claude-fable-5": readonly ["low", "medium", "high", "xhigh", "max"];
4
+ readonly "claude-opus-5": readonly ["low", "medium", "high", "xhigh", "max"];
5
+ readonly "claude-opus-4-8": readonly ["low", "medium", "high", "xhigh", "max"];
6
+ readonly "claude-opus-4-7": readonly ["low", "medium", "high", "xhigh", "max"];
7
+ readonly "claude-sonnet-5": readonly ["low", "medium", "high", "xhigh", "max"];
8
+ readonly "claude-opus-4-6": readonly ["low", "medium", "high", "max"];
9
+ readonly "claude-sonnet-4-6": readonly ["low", "medium", "high", "max"];
10
+ readonly "claude-haiku-4-5": readonly [];
11
+ }>;
12
+ //# sourceMappingURL=claude-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/core/harness-catalogs/claude-code.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB;;;;;;;;;;EAmB5B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { defineHarnessCatalog } from "../harness-catalog.js";
2
+ const full = ["low", "medium", "high", "xhigh", "max"];
3
+ const withoutXhigh = ["low", "medium", "high", "max"];
4
+ export const claudeCodeCatalog = defineHarnessCatalog({
5
+ driver: "claude-code",
6
+ verified: "2026-09-18",
7
+ sources: [
8
+ "https://code.claude.com/docs/en/model-config",
9
+ "https://platform.claude.com/docs/en/about-claude/models/overview",
10
+ ],
11
+ efforts: full,
12
+ models: {
13
+ "claude-fable-5-1": full,
14
+ "claude-fable-5": full,
15
+ "claude-opus-5": full,
16
+ "claude-opus-4-8": full,
17
+ "claude-opus-4-7": full,
18
+ "claude-sonnet-5": full,
19
+ "claude-opus-4-6": withoutXhigh,
20
+ "claude-sonnet-4-6": withoutXhigh,
21
+ "claude-haiku-4-5": [],
22
+ },
23
+ });
24
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAChE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;IACpD,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,8CAA8C;QAC9C,kEAAkE;KACnE;IACD,OAAO,EAAE,IAAI;IACb,MAAM,EAAE;QACN,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,YAAY;QAC/B,mBAAmB,EAAE,YAAY;QACjC,kBAAkB,EAAE,EAAE;KACvB;CACF,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const codexCatalog: import("../harness-catalog.js").HarnessCatalog<"codex", readonly ["none", "low", "medium", "high", "xhigh", "max", "ultra"], {
2
+ readonly "gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
3
+ readonly "gpt-5.6-sol": readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
4
+ readonly "gpt-5.6-terra": readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
5
+ readonly "gpt-5.6-luna": readonly ["low", "medium", "high", "xhigh", "max"];
6
+ readonly "gpt-5.5": readonly ["low", "medium", "high", "xhigh"];
7
+ readonly "gpt-5.4": readonly ["none", "low", "medium", "high", "xhigh"];
8
+ readonly "gpt-5.4-mini": readonly ["none", "low", "medium", "high", "xhigh"];
9
+ readonly "gpt-5.3-codex": readonly ["low", "medium", "high", "xhigh"];
10
+ }>;
11
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/core/harness-catalogs/codex.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;EAmBvB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { defineHarnessCatalog } from "../harness-catalog.js";
2
+ const throughUltra = ["low", "medium", "high", "xhigh", "max", "ultra"];
3
+ const throughMax = ["low", "medium", "high", "xhigh", "max"];
4
+ const throughXhigh = ["low", "medium", "high", "xhigh"];
5
+ const noneThroughXhigh = ["none", "low", "medium", "high", "xhigh"];
6
+ export const codexCatalog = defineHarnessCatalog({
7
+ driver: "codex",
8
+ verified: "2026-09-18",
9
+ sources: [
10
+ "https://learn.chatgpt.com/docs/models",
11
+ "https://developers.openai.com/api/docs/guides/reasoning",
12
+ "codex app-server model/list (mirrored in $CODEX_HOME/models_cache.json)",
13
+ ],
14
+ efforts: ["none", "low", "medium", "high", "xhigh", "max", "ultra"],
15
+ models: {
16
+ "gpt-6-astra": throughUltra,
17
+ "gpt-5.6-sol": throughUltra,
18
+ "gpt-5.6-terra": throughUltra,
19
+ "gpt-5.6-luna": throughMax,
20
+ "gpt-5.5": throughXhigh,
21
+ "gpt-5.4": noneThroughXhigh,
22
+ "gpt-5.4-mini": noneThroughXhigh,
23
+ "gpt-5.3-codex": throughXhigh,
24
+ },
25
+ });
26
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC;AACjF,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AACtE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AACjE,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC/C,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,uCAAuC;QACvC,yDAAyD;QACzD,yEAAyE;KAC1E;IACD,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IACnE,MAAM,EAAE;QACN,aAAa,EAAE,YAAY;QAC3B,aAAa,EAAE,YAAY;QAC3B,eAAe,EAAE,YAAY;QAC7B,cAAc,EAAE,UAAU;QAC1B,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,gBAAgB;QAC3B,cAAc,EAAE,gBAAgB;QAChC,eAAe,EAAE,YAAY;KAC9B;CACF,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ export declare const copilotCatalog: import("../harness-catalog.js").HarnessCatalog<"copilot", readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"], {
2
+ readonly "claude-sonnet-5": readonly ["low", "medium", "high", "xhigh", "max"];
3
+ readonly "claude-fable-5.1": readonly ["low", "medium", "high", "xhigh", "max"];
4
+ readonly "claude-fable-5": readonly ["low", "medium", "high", "xhigh", "max"];
5
+ readonly "claude-opus-5": readonly ["low", "medium", "high", "xhigh", "max"];
6
+ readonly "claude-opus-4.8": readonly ["low", "medium", "high", "xhigh", "max"];
7
+ readonly "claude-opus-4.8-fast": readonly ["low", "medium", "high", "xhigh", "max"];
8
+ readonly "claude-opus-4.7": readonly ["low", "medium", "high", "xhigh", "max"];
9
+ readonly "claude-sonnet-4.6": readonly ["low", "medium", "high", "max"];
10
+ readonly "claude-haiku-4.5": readonly [];
11
+ readonly "gpt-5.6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
12
+ readonly "gpt-5.6-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
13
+ readonly "gpt-5.6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
14
+ readonly "gpt-5.5": readonly ["none", "low", "medium", "high", "xhigh"];
15
+ readonly "gpt-5.4": readonly ["none", "low", "medium", "high", "xhigh"];
16
+ readonly "gpt-5.4-mini": readonly ["none", "low", "medium", "high", "xhigh"];
17
+ readonly "gpt-5.3-codex": readonly ["low", "medium", "high", "xhigh"];
18
+ readonly "gpt-5-mini": readonly [];
19
+ readonly "mai-code-1.1-flash": readonly [];
20
+ readonly "mai-code-1-flash-picker": readonly [];
21
+ readonly "gemini-3.8-flash": readonly [];
22
+ readonly "gemini-3.7-flash": readonly [];
23
+ readonly "gemini-3.6-flash": readonly [];
24
+ readonly "gemini-3.5-flash": readonly [];
25
+ readonly "grok-4.5": readonly [];
26
+ readonly "kimi-k3": readonly [];
27
+ readonly "kimi-k2.7-code": readonly [];
28
+ }>;
29
+ //# sourceMappingURL=copilot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../../src/core/harness-catalogs/copilot.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCzB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { defineHarnessCatalog } from "../harness-catalog.js";
2
+ const claude = ["low", "medium", "high", "xhigh", "max"];
3
+ const claudeWithoutXhigh = ["low", "medium", "high", "max"];
4
+ const gptThroughMax = ["none", "low", "medium", "high", "xhigh", "max"];
5
+ const gptThroughXhigh = ["none", "low", "medium", "high", "xhigh"];
6
+ const fixed = [];
7
+ export const copilotCatalog = defineHarnessCatalog({
8
+ driver: "copilot",
9
+ verified: "2026-09-18",
10
+ sources: [
11
+ "copilot help config (model values)",
12
+ "https://docs.github.com/en/copilot/reference/ai-models/supported-models",
13
+ "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-programmatic-reference",
14
+ ],
15
+ efforts: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
16
+ models: {
17
+ "claude-sonnet-5": claude,
18
+ "claude-fable-5.1": claude,
19
+ "claude-fable-5": claude,
20
+ "claude-opus-5": claude,
21
+ "claude-opus-4.8": claude,
22
+ "claude-opus-4.8-fast": claude,
23
+ "claude-opus-4.7": claude,
24
+ "claude-sonnet-4.6": claudeWithoutXhigh,
25
+ "claude-haiku-4.5": fixed,
26
+ "gpt-5.6-sol": gptThroughMax,
27
+ "gpt-5.6-terra": gptThroughMax,
28
+ "gpt-5.6-luna": gptThroughMax,
29
+ "gpt-5.5": gptThroughXhigh,
30
+ "gpt-5.4": gptThroughXhigh,
31
+ "gpt-5.4-mini": gptThroughXhigh,
32
+ "gpt-5.3-codex": ["low", "medium", "high", "xhigh"],
33
+ "gpt-5-mini": fixed,
34
+ "mai-code-1.1-flash": fixed,
35
+ "mai-code-1-flash-picker": fixed,
36
+ "gemini-3.8-flash": fixed,
37
+ "gemini-3.7-flash": fixed,
38
+ "gemini-3.6-flash": fixed,
39
+ "gemini-3.5-flash": fixed,
40
+ "grok-4.5": fixed,
41
+ "kimi-k3": fixed,
42
+ "kimi-k2.7-code": fixed,
43
+ },
44
+ });
45
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAClE,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AACrE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AACjF,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAC5E,MAAM,KAAK,GAAG,EAAW,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;IACjD,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,oCAAoC;QACpC,yEAAyE;QACzE,+FAA+F;KAChG;IACD,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;IACrE,MAAM,EAAE;QACN,iBAAiB,EAAE,MAAM;QACzB,kBAAkB,EAAE,MAAM;QAC1B,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,MAAM;QACvB,iBAAiB,EAAE,MAAM;QACzB,sBAAsB,EAAE,MAAM;QAC9B,iBAAiB,EAAE,MAAM;QACzB,mBAAmB,EAAE,kBAAkB;QACvC,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,aAAa;QAC9B,cAAc,EAAE,aAAa;QAC7B,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,eAAe;QAC1B,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;QACnD,YAAY,EAAE,KAAK;QACnB,oBAAoB,EAAE,KAAK;QAC3B,yBAAyB,EAAE,KAAK;QAChC,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,KAAK;QACzB,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,gBAAgB,EAAE,KAAK;KACxB;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const cursorCatalog: import("../harness-catalog.js").HarnessCatalog<"cursor", readonly ["low", "medium", "high", "xhigh"], undefined>;
2
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/core/harness-catalogs/cursor.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,kHAUxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { defineHarnessCatalog } from "../harness-catalog.js";
2
+ export const cursorCatalog = defineHarnessCatalog({
3
+ driver: "cursor",
4
+ verified: "2026-09-18",
5
+ sources: [
6
+ "agent --list-models (account-scoped, needs a login)",
7
+ "https://cursor.com/docs/models",
8
+ "https://cursor.com/docs/cli/acp",
9
+ ],
10
+ efforts: ["low", "medium", "high", "xhigh"],
11
+ models: undefined,
12
+ });
13
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;IAChD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,qDAAqD;QACrD,gCAAgC;QAChC,iCAAiC;KAClC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { HarnessCatalog } from "../harness-catalog.js";
2
+ import { antigravityCatalog } from "./antigravity.js";
3
+ import { claudeCodeCatalog } from "./claude-code.js";
4
+ import { codexCatalog } from "./codex.js";
5
+ import { copilotCatalog } from "./copilot.js";
6
+ import { cursorCatalog } from "./cursor.js";
7
+ export { antigravityCatalog, claudeCodeCatalog, codexCatalog, copilotCatalog, cursorCatalog };
8
+ export declare const builtInHarnessCatalogs: readonly [HarnessCatalog<"claude-code", readonly ["low", "medium", "high", "xhigh", "max"], {
9
+ readonly "claude-fable-5-1": readonly ["low", "medium", "high", "xhigh", "max"];
10
+ readonly "claude-fable-5": readonly ["low", "medium", "high", "xhigh", "max"];
11
+ readonly "claude-opus-5": readonly ["low", "medium", "high", "xhigh", "max"];
12
+ readonly "claude-opus-4-8": readonly ["low", "medium", "high", "xhigh", "max"];
13
+ readonly "claude-opus-4-7": readonly ["low", "medium", "high", "xhigh", "max"];
14
+ readonly "claude-sonnet-5": readonly ["low", "medium", "high", "xhigh", "max"];
15
+ readonly "claude-opus-4-6": readonly ["low", "medium", "high", "max"];
16
+ readonly "claude-sonnet-4-6": readonly ["low", "medium", "high", "max"];
17
+ readonly "claude-haiku-4-5": readonly [];
18
+ }>, HarnessCatalog<"codex", readonly ["none", "low", "medium", "high", "xhigh", "max", "ultra"], {
19
+ readonly "gpt-6-astra": readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
20
+ readonly "gpt-5.6-sol": readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
21
+ readonly "gpt-5.6-terra": readonly ["low", "medium", "high", "xhigh", "max", "ultra"];
22
+ readonly "gpt-5.6-luna": readonly ["low", "medium", "high", "xhigh", "max"];
23
+ readonly "gpt-5.5": readonly ["low", "medium", "high", "xhigh"];
24
+ readonly "gpt-5.4": readonly ["none", "low", "medium", "high", "xhigh"];
25
+ readonly "gpt-5.4-mini": readonly ["none", "low", "medium", "high", "xhigh"];
26
+ readonly "gpt-5.3-codex": readonly ["low", "medium", "high", "xhigh"];
27
+ }>, HarnessCatalog<"copilot", readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"], {
28
+ readonly "claude-sonnet-5": readonly ["low", "medium", "high", "xhigh", "max"];
29
+ readonly "claude-fable-5.1": readonly ["low", "medium", "high", "xhigh", "max"];
30
+ readonly "claude-fable-5": readonly ["low", "medium", "high", "xhigh", "max"];
31
+ readonly "claude-opus-5": readonly ["low", "medium", "high", "xhigh", "max"];
32
+ readonly "claude-opus-4.8": readonly ["low", "medium", "high", "xhigh", "max"];
33
+ readonly "claude-opus-4.8-fast": readonly ["low", "medium", "high", "xhigh", "max"];
34
+ readonly "claude-opus-4.7": readonly ["low", "medium", "high", "xhigh", "max"];
35
+ readonly "claude-sonnet-4.6": readonly ["low", "medium", "high", "max"];
36
+ readonly "claude-haiku-4.5": readonly [];
37
+ readonly "gpt-5.6-sol": readonly ["none", "low", "medium", "high", "xhigh", "max"];
38
+ readonly "gpt-5.6-terra": readonly ["none", "low", "medium", "high", "xhigh", "max"];
39
+ readonly "gpt-5.6-luna": readonly ["none", "low", "medium", "high", "xhigh", "max"];
40
+ readonly "gpt-5.5": readonly ["none", "low", "medium", "high", "xhigh"];
41
+ readonly "gpt-5.4": readonly ["none", "low", "medium", "high", "xhigh"];
42
+ readonly "gpt-5.4-mini": readonly ["none", "low", "medium", "high", "xhigh"];
43
+ readonly "gpt-5.3-codex": readonly ["low", "medium", "high", "xhigh"];
44
+ readonly "gpt-5-mini": readonly [];
45
+ readonly "mai-code-1.1-flash": readonly [];
46
+ readonly "mai-code-1-flash-picker": readonly [];
47
+ readonly "gemini-3.8-flash": readonly [];
48
+ readonly "gemini-3.7-flash": readonly [];
49
+ readonly "gemini-3.6-flash": readonly [];
50
+ readonly "gemini-3.5-flash": readonly [];
51
+ readonly "grok-4.5": readonly [];
52
+ readonly "kimi-k3": readonly [];
53
+ readonly "kimi-k2.7-code": readonly [];
54
+ }>, HarnessCatalog<"cursor", readonly ["low", "medium", "high", "xhigh"], undefined>, HarnessCatalog<"antigravity", readonly ["low", "medium", "high"], {
55
+ readonly "gemini-3.8-flash": readonly ["low", "medium", "high"];
56
+ readonly "gemini-3.7-flash": readonly ["low", "medium", "high"];
57
+ readonly "gemini-3.6-flash": readonly ["low", "medium", "high"];
58
+ readonly "gemini-3.5-flash": readonly ["low", "medium", "high"];
59
+ readonly "gemini-3.1-pro": readonly ["low", "high"];
60
+ readonly "claude-sonnet-4-6": readonly [];
61
+ readonly "claude-opus-4-6-thinking": readonly [];
62
+ readonly "gpt-oss-120b-medium": readonly [];
63
+ }>];
64
+ export type BuiltInHarnessCatalog = (typeof builtInHarnessCatalogs)[number];
65
+ export type BuiltInHarnessDriver = BuiltInHarnessCatalog["driver"];
66
+ export declare const harnessCatalogFor: (driver: string) => HarnessCatalog | undefined;
67
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/harness-catalogs/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAE9F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMzB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEnE,eAAO,MAAM,iBAAiB,WAAY,MAAM,KAAG,cAAc,GAAG,SACC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { antigravityCatalog } from "./antigravity.js";
2
+ import { claudeCodeCatalog } from "./claude-code.js";
3
+ import { codexCatalog } from "./codex.js";
4
+ import { copilotCatalog } from "./copilot.js";
5
+ import { cursorCatalog } from "./cursor.js";
6
+ export { antigravityCatalog, claudeCodeCatalog, codexCatalog, copilotCatalog, cursorCatalog };
7
+ export const builtInHarnessCatalogs = [
8
+ claudeCodeCatalog,
9
+ codexCatalog,
10
+ copilotCatalog,
11
+ cursorCatalog,
12
+ antigravityCatalog,
13
+ ];
14
+ export const harnessCatalogFor = (driver) => builtInHarnessCatalogs.find((catalog) => catalog.driver === driver);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAE9F,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,aAAa;IACb,kBAAkB;CACV,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAA8B,EAAE,CAC9E,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { z } from "zod";
2
+ import type { DriverRef } from "./case.js";
3
+ import type { DriverPlugin } from "./driver.js";
4
+ import { type CatalogModels, type HarnessCatalog, type ReasoningEffort } from "./harness-catalog.js";
5
+ import { type BuiltInHarnessCatalog, type BuiltInHarnessDriver } from "./harness-catalogs/index.js";
6
+ type CatalogEntry<C extends HarnessCatalog> = {
7
+ driver: C["driver"];
8
+ models: C["models"] extends CatalogModels ? (keyof C["models"] & string)[] : string[];
9
+ efforts?: C["efforts"][number][];
10
+ config?: unknown;
11
+ };
12
+ export type BuiltInHarnessMatrixEntry = {
13
+ [K in BuiltInHarnessCatalog["driver"]]: CatalogEntry<Extract<BuiltInHarnessCatalog, {
14
+ driver: K;
15
+ }>>;
16
+ }[BuiltInHarnessDriver];
17
+ export type CustomHarnessMatrixEntry = {
18
+ driver: string;
19
+ models?: string[];
20
+ efforts?: ReasoningEffort[];
21
+ config?: unknown;
22
+ };
23
+ export type HarnessMatrixEntry = BuiltInHarnessMatrixEntry | CustomHarnessMatrixEntry;
24
+ export declare const BuiltInHarnessMatrixEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
25
+ driver: z.ZodLiteral<string>;
26
+ models: z.ZodArray<z.ZodEnum<{
27
+ [x: string]: string;
28
+ }> | z.ZodString>;
29
+ efforts: z.ZodOptional<z.ZodArray<z.ZodEnum<{
30
+ [x: string]: string;
31
+ }>>>;
32
+ config: z.ZodOptional<z.ZodUnknown>;
33
+ }, z.core.$strict>, ...z.ZodObject<{
34
+ driver: z.ZodLiteral<string>;
35
+ models: z.ZodArray<z.ZodEnum<{
36
+ [x: string]: string;
37
+ }> | z.ZodString>;
38
+ efforts: z.ZodOptional<z.ZodArray<z.ZodEnum<{
39
+ [x: string]: string;
40
+ }>>>;
41
+ config: z.ZodOptional<z.ZodUnknown>;
42
+ }, z.core.$strict>[]], "driver">;
43
+ export declare const HarnessMatrixEntrySchema: z.ZodCustom<HarnessMatrixEntry, HarnessMatrixEntry>;
44
+ export type HarnessPermutation = {
45
+ driver: string;
46
+ model?: string | undefined;
47
+ effort?: ReasoningEffort | undefined;
48
+ config?: unknown;
49
+ };
50
+ export declare const permutationId: (permutation: HarnessPermutation) => string;
51
+ export declare const HarnessMatrixSchema: z.ZodArray<z.ZodCustom<HarnessMatrixEntry, HarnessMatrixEntry>>;
52
+ export type HarnessMatrix = z.infer<typeof HarnessMatrixSchema>;
53
+ export declare const expandHarnessMatrix: (matrix: readonly HarnessMatrixEntry[]) => HarnessPermutation[];
54
+ export type HarnessFocus = {
55
+ driver?: string | undefined;
56
+ model?: string | undefined;
57
+ effort?: ReasoningEffort | undefined;
58
+ };
59
+ export declare const hasHarnessFocus: (focus: HarnessFocus) => boolean;
60
+ export declare const focusHarnessPermutations: (permutations: readonly HarnessPermutation[], focus: HarnessFocus) => HarnessPermutation[];
61
+ export declare const driverNameOf: (ref: DriverRef) => string;
62
+ export declare const driverConfigOf: (ref: DriverRef) => unknown;
63
+ export declare const mergePluginConfig: (base: unknown, local: unknown) => unknown;
64
+ export declare const casePermutations: (evalCase: {
65
+ driver?: DriverRef | undefined;
66
+ matrix?: readonly HarnessMatrixEntry[] | undefined;
67
+ }, projectMatrix: readonly HarnessMatrixEntry[] | undefined) => HarnessPermutation[];
68
+ export declare const permutationDriverRef: (selected: HarnessPermutation, fallback: DriverRef | undefined, plugin: Pick<DriverPlugin, "name" | "selectHarness"> | undefined) => DriverRef;
69
+ export {};
70
+ //# sourceMappingURL=harness-matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-matrix.d.ts","sourceRoot":"","sources":["../../src/core/harness-matrix.ts"],"names":[],"mappings":"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"}