@jaggerxtrm/specialists 3.17.0 → 3.18.1

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 (255) hide show
  1. package/README.md +268 -134
  2. package/config/mandatory-rules/executor-delivery.md +4 -0
  3. package/config/mandatory-rules/json-only-final-output.md +13 -0
  4. package/config/mandatory-rules/service-skills-diff-scan-mandatory.md +26 -0
  5. package/config/mandatory-rules/service-skills-gitnexus-triage.md +5 -0
  6. package/config/mandatory-rules/test-runner-execution-scope.md +4 -0
  7. package/config/skills/setup-specialists/SKILL.md +556 -0
  8. package/config/skills/specialists-creator/SKILL.md +132 -4
  9. package/config/skills/specialists-creator/scripts/audit-spec-uniformity.mjs +1 -1
  10. package/config/skills/using-specialists-v3/SKILL.md +80 -20
  11. package/config/specialists/bare.specialist.json +3 -3
  12. package/config/specialists/changelog-drafter.specialist.json +5 -4
  13. package/config/specialists/changelog-keeper.specialist.json +7 -6
  14. package/config/specialists/debugger.specialist.json +2 -2
  15. package/config/specialists/executor.specialist.json +2 -2
  16. package/config/specialists/explorer.specialist.json +4 -4
  17. package/config/specialists/memory-processor.specialist.json +3 -3
  18. package/config/specialists/node-coordinator.specialist.json +3 -3
  19. package/config/specialists/obligations-scanner.specialist.json +67 -17
  20. package/config/specialists/overthinker.specialist.json +3 -3
  21. package/config/specialists/planner.specialist.json +4 -4
  22. package/config/specialists/quant-methodologist.specialist.json +145 -0
  23. package/config/specialists/quant-researcher.specialist.json +144 -0
  24. package/config/specialists/researcher.specialist.json +5 -5
  25. package/config/specialists/reviewer.specialist.json +1 -1
  26. package/config/specialists/seconder.specialist.json +2 -2
  27. package/config/specialists/security-auditor.specialist.json +2 -2
  28. package/config/specialists/service-skills-sync.specialist.json +90 -75
  29. package/config/specialists/specialists-creator.specialist.json +4 -4
  30. package/config/specialists/sync-docs.specialist.json +4 -4
  31. package/config/specialists/test-engineer.specialist.json +3 -3
  32. package/config/specialists/test-runner.specialist.json +7 -7
  33. package/config/specialists/transcriber.specialist.json +3 -3
  34. package/config/specialists/xt-merge.specialist.json +4 -4
  35. package/dist/asset-contract.json +22 -3
  36. package/dist/index.js +28711 -18517
  37. package/dist/lib.js +10020 -6150
  38. package/dist/types/cli/console/components.d.ts +83 -0
  39. package/dist/types/cli/console/components.d.ts.map +1 -0
  40. package/dist/types/cli/console/config-source.d.ts +58 -0
  41. package/dist/types/cli/console/config-source.d.ts.map +1 -0
  42. package/dist/types/cli/console/forensic.d.ts +11 -0
  43. package/dist/types/cli/console/forensic.d.ts.map +1 -0
  44. package/dist/types/cli/console/git.d.ts +28 -0
  45. package/dist/types/cli/console/git.d.ts.map +1 -0
  46. package/dist/types/cli/console/help.d.ts +2 -0
  47. package/dist/types/cli/console/help.d.ts.map +1 -0
  48. package/dist/types/cli/console/log.d.ts +13 -0
  49. package/dist/types/cli/console/log.d.ts.map +1 -0
  50. package/dist/types/cli/console/repo-config.d.ts +26 -0
  51. package/dist/types/cli/console/repo-config.d.ts.map +1 -0
  52. package/dist/types/cli/console/repo-discovery.d.ts +12 -0
  53. package/dist/types/cli/console/repo-discovery.d.ts.map +1 -0
  54. package/dist/types/cli/console/runtime.d.ts +12 -0
  55. package/dist/types/cli/console/runtime.d.ts.map +1 -0
  56. package/dist/types/cli/console/subscribe-prototype.d.ts +18 -0
  57. package/dist/types/cli/console/subscribe-prototype.d.ts.map +1 -0
  58. package/dist/types/cli/console/theme.d.ts +91 -0
  59. package/dist/types/cli/console/theme.d.ts.map +1 -0
  60. package/dist/types/cli/console/types.d.ts +231 -0
  61. package/dist/types/cli/console/types.d.ts.map +1 -0
  62. package/dist/types/cli/console/view-model.d.ts +252 -0
  63. package/dist/types/cli/console/view-model.d.ts.map +1 -0
  64. package/dist/types/cli/console.d.ts +2 -0
  65. package/dist/types/cli/console.d.ts.map +1 -0
  66. package/dist/types/cli/db.d.ts.map +1 -1
  67. package/dist/types/cli/doctor.d.ts.map +1 -1
  68. package/dist/types/cli/edit.d.ts.map +1 -1
  69. package/dist/types/cli/epic.d.ts.map +1 -1
  70. package/dist/types/cli/feed.d.ts.map +1 -1
  71. package/dist/types/cli/forensic.d.ts +2 -0
  72. package/dist/types/cli/forensic.d.ts.map +1 -0
  73. package/dist/types/cli/format-helpers.d.ts +4 -2
  74. package/dist/types/cli/format-helpers.d.ts.map +1 -1
  75. package/dist/types/cli/help.d.ts.map +1 -1
  76. package/dist/types/cli/init.d.ts +10 -0
  77. package/dist/types/cli/init.d.ts.map +1 -1
  78. package/dist/types/cli/list.d.ts.map +1 -1
  79. package/dist/types/cli/log.d.ts.map +1 -1
  80. package/dist/types/cli/merge.d.ts.map +1 -1
  81. package/dist/types/cli/metrics.d.ts +2 -0
  82. package/dist/types/cli/metrics.d.ts.map +1 -0
  83. package/dist/types/cli/ps.d.ts.map +1 -1
  84. package/dist/types/cli/result.d.ts.map +1 -1
  85. package/dist/types/cli/run.d.ts +20 -0
  86. package/dist/types/cli/run.d.ts.map +1 -1
  87. package/dist/types/cli/script.d.ts +3 -0
  88. package/dist/types/cli/script.d.ts.map +1 -1
  89. package/dist/types/cli/serve.d.ts.map +1 -1
  90. package/dist/types/cli/setup.d.ts +19 -1
  91. package/dist/types/cli/setup.d.ts.map +1 -1
  92. package/dist/types/cli/status.d.ts.map +1 -1
  93. package/dist/types/cli/version-check.d.ts +1 -0
  94. package/dist/types/cli/version-check.d.ts.map +1 -1
  95. package/dist/types/index.d.ts +1 -1
  96. package/dist/types/pi/session.d.ts +12 -1
  97. package/dist/types/pi/session.d.ts.map +1 -1
  98. package/dist/types/server.d.ts +15 -0
  99. package/dist/types/server.d.ts.map +1 -1
  100. package/dist/types/specialist/benchmarks.d.ts +37 -0
  101. package/dist/types/specialist/benchmarks.d.ts.map +1 -0
  102. package/dist/types/specialist/chain-identity.d.ts +7 -1
  103. package/dist/types/specialist/chain-identity.d.ts.map +1 -1
  104. package/dist/types/specialist/control.d.ts.map +1 -1
  105. package/dist/types/specialist/dead-job-audit.d.ts +20 -0
  106. package/dist/types/specialist/dead-job-audit.d.ts.map +1 -0
  107. package/dist/types/specialist/forensic-events.d.ts +138 -0
  108. package/dist/types/specialist/forensic-events.d.ts.map +1 -0
  109. package/dist/types/specialist/forensic-renderer.d.ts +34 -0
  110. package/dist/types/specialist/forensic-renderer.d.ts.map +1 -0
  111. package/dist/types/specialist/git-diff-evidence.d.ts +28 -0
  112. package/dist/types/specialist/git-diff-evidence.d.ts.map +1 -0
  113. package/dist/types/specialist/global-config.d.ts +389 -0
  114. package/dist/types/specialist/global-config.d.ts.map +1 -0
  115. package/dist/types/specialist/launch.d.ts +9 -0
  116. package/dist/types/specialist/launch.d.ts.map +1 -1
  117. package/dist/types/specialist/live-aggregates.d.ts +46 -0
  118. package/dist/types/specialist/live-aggregates.d.ts.map +1 -0
  119. package/dist/types/specialist/loader.d.ts +50 -1
  120. package/dist/types/specialist/loader.d.ts.map +1 -1
  121. package/dist/types/specialist/model-chain.d.ts +7 -0
  122. package/dist/types/specialist/model-chain.d.ts.map +1 -0
  123. package/dist/types/specialist/model-probes.d.ts +28 -0
  124. package/dist/types/specialist/model-probes.d.ts.map +1 -0
  125. package/dist/types/specialist/node-contract.d.ts +18 -18
  126. package/dist/types/specialist/node-supervisor.d.ts.map +1 -1
  127. package/dist/types/specialist/observability-db.d.ts +1 -1
  128. package/dist/types/specialist/observability-db.d.ts.map +1 -1
  129. package/dist/types/specialist/observability-sqlite.d.ts +101 -0
  130. package/dist/types/specialist/observability-sqlite.d.ts.map +1 -1
  131. package/dist/types/specialist/pr-drift-refresh.d.ts +17 -0
  132. package/dist/types/specialist/pr-drift-refresh.d.ts.map +1 -0
  133. package/dist/types/specialist/preset-resolver.d.ts +56 -0
  134. package/dist/types/specialist/preset-resolver.d.ts.map +1 -0
  135. package/dist/types/specialist/prometheus-projection.d.ts +25 -0
  136. package/dist/types/specialist/prometheus-projection.d.ts.map +1 -0
  137. package/dist/types/specialist/runner.d.ts +29 -1
  138. package/dist/types/specialist/runner.d.ts.map +1 -1
  139. package/dist/types/specialist/schema.d.ts +163 -54
  140. package/dist/types/specialist/schema.d.ts.map +1 -1
  141. package/dist/types/specialist/script-runner.d.ts +5 -1
  142. package/dist/types/specialist/script-runner.d.ts.map +1 -1
  143. package/dist/types/specialist/snapshot-diff.d.ts +8 -0
  144. package/dist/types/specialist/snapshot-diff.d.ts.map +1 -0
  145. package/dist/types/specialist/source-queue.d.ts +13 -0
  146. package/dist/types/specialist/source-queue.d.ts.map +1 -0
  147. package/dist/types/specialist/status-load.d.ts.map +1 -1
  148. package/dist/types/specialist/supervisor.d.ts +25 -1
  149. package/dist/types/specialist/supervisor.d.ts.map +1 -1
  150. package/dist/types/specialist/timeline-events.d.ts +70 -1
  151. package/dist/types/specialist/timeline-events.d.ts.map +1 -1
  152. package/dist/types/tools/specialist/resume_specialist.tool.d.ts +4 -4
  153. package/dist/types/tools/specialist/specialist_status.tool.d.ts +1 -1
  154. package/dist/types/tools/specialist/steer_specialist.tool.d.ts +4 -4
  155. package/dist/types/tools/specialist/use_specialist.tool.d.ts +16 -16
  156. package/docs/ARCHITECTURE.md +1176 -0
  157. package/docs/TODO.md +9 -0
  158. package/docs/architecture.md +11 -0
  159. package/docs/archive/2026-03-13-bd-decision-context-template-plan.md +96 -0
  160. package/docs/archive/AGENT-HANDOFF.md +351 -0
  161. package/docs/archive/PARITY-ANALYSIS.md +296 -0
  162. package/docs/archive/SPECIALISTS_REFACTOR.md.md +30 -0
  163. package/docs/archive/cc-programmatic.md +216 -0
  164. package/docs/archive/claude-agent-sdk.md +594 -0
  165. package/docs/archive/decision-specialist-directory.md +41 -0
  166. package/docs/archive/discoveries.md +148 -0
  167. package/docs/archive/executor-benchmark-protocol.md +198 -0
  168. package/docs/archive/future-features.md +66 -0
  169. package/docs/archive/gzrx-completion-critique.md +183 -0
  170. package/docs/archive/gzrx-research-notes.md +401 -0
  171. package/docs/archive/gzrx-tool-catalog.md +760 -0
  172. package/docs/archive/iron-review-hardening-qa-chain-substrate.md +322 -0
  173. package/docs/archive/iron-review-hardening.html +1004 -0
  174. package/docs/archive/issuetracking.md +312 -0
  175. package/docs/archive/qa-v3.0.2.md +220 -0
  176. package/docs/archive/restructure.md +231 -0
  177. package/docs/archive/script-specialists.md +1254 -0
  178. package/docs/archive/spec-v3.md +792 -0
  179. package/docs/archive/specialist-stats.md +127 -0
  180. package/docs/archive/specialists-friction-audit.md +1347 -0
  181. package/docs/archive/specialists-runtime-critique.md +170 -0
  182. package/docs/archive/specialists-service-evaluation.md +713 -0
  183. package/docs/archive/specialists-substrate-alignment.md +255 -0
  184. package/docs/archive/substrate-review.md +1288 -0
  185. package/docs/archive/test-writer-specialist.md +254 -0
  186. package/docs/archive/using-specialists-v3-improvements-2026-05-09.md +600 -0
  187. package/docs/archive/xtrm-specialists-analysis.md +314 -0
  188. package/docs/authoring.md +701 -0
  189. package/docs/background-jobs.md +203 -0
  190. package/docs/bare-specialists.md +83 -0
  191. package/docs/benchmarks/executor-benchmark-runner.md +66 -0
  192. package/docs/bootstrap.md +161 -0
  193. package/docs/cli-reference.md +1645 -0
  194. package/docs/deploying-alongside.md +155 -0
  195. package/docs/design/README.md +36 -0
  196. package/docs/design/darth-feedor-migration.md +290 -0
  197. package/docs/design/roadmap/README.md +32 -0
  198. package/docs/design/roadmap/chain-templates/README.md +146 -0
  199. package/docs/design/roadmap/chain-templates/code-quick.formula.json +27 -0
  200. package/docs/design/roadmap/chain-templates/code-standard.formula.json +126 -0
  201. package/docs/design/roadmap/chain-templates/code-with-advisors.formula.json +128 -0
  202. package/docs/design/roadmap/chain-templates/code-with-tests.formula.json +76 -0
  203. package/docs/design/roadmap/chain-templates/debug.formula.json +128 -0
  204. package/docs/design/roadmap/chain-templates/doc-sync.formula.json +28 -0
  205. package/docs/design/roadmap/chain-templates/memory-hygiene.formula.json +27 -0
  206. package/docs/design/roadmap/chain-templates/planning.formula.json +27 -0
  207. package/docs/design/roadmap/chain-templates/premortem.formula.json +26 -0
  208. package/docs/design/roadmap/chain-templates/release-prep.formula.json +36 -0
  209. package/docs/design/roadmap/chain-templates/research-only.formula.json +28 -0
  210. package/docs/design/roadmap/chain-templates/restitch.formula.json +125 -0
  211. package/docs/design/roadmap/chain-templates/security-deep.formula.json +161 -0
  212. package/docs/design/roadmap/chain-templates/test-only.formula.json +52 -0
  213. package/docs/design/roadmap/chain-templates/triage.formula.json +35 -0
  214. package/docs/design/roadmap/history/handoff-from-substrate-design.md +87 -0
  215. package/docs/design/roadmap/history/substrate-reconciliation.md +105 -0
  216. package/docs/design/roadmap/specialists-roadmap.md +1261 -0
  217. package/docs/design/sp-console-subscribe-via-materializer.md +231 -0
  218. package/docs/design/sp-console-tui-mock-v2.html +293 -0
  219. package/docs/design/sp-console-tui-mock.html +120 -0
  220. package/docs/design/sp-console-tui.md +340 -0
  221. package/docs/design/specialist-agentops-suite.md +323 -0
  222. package/docs/design/substrate/channels.md +14 -0
  223. package/docs/design/substrate/devops-platform-engineering-prd.md +446 -0
  224. package/docs/design/substrate/html-design-example.md +339 -0
  225. package/docs/design/xtrm-tiers-architecture.svg +132 -0
  226. package/docs/devops/dependency-verdict-materialization.md +46 -0
  227. package/docs/epic-readiness.md +75 -0
  228. package/docs/examples/mercury-atomic-summarizer.specialist.json +26 -0
  229. package/docs/examples/smoke-echo-text-expected-keys.specialist.json +25 -0
  230. package/docs/examples/smoke-echo.specialist.json +25 -0
  231. package/docs/features.md +1577 -0
  232. package/docs/hooks.md +81 -0
  233. package/docs/installation.md +142 -0
  234. package/docs/manifest.md +184 -0
  235. package/docs/mcp-servers.md +73 -0
  236. package/docs/mcp-tools.md +71 -0
  237. package/docs/nodes.md +231 -0
  238. package/docs/observability-metrics.md +152 -0
  239. package/docs/operator/sp-console-v2-walkthrough.md +410 -0
  240. package/docs/overrides-guide.md +306 -0
  241. package/docs/pi-rpc-boundary.md +118 -0
  242. package/docs/pi-session.md +195 -0
  243. package/docs/release.md +22 -0
  244. package/docs/skills.md +132 -0
  245. package/docs/specialists/handoff-schema.md +181 -0
  246. package/docs/specialists-catalog.md +99 -0
  247. package/docs/specialists-service-install.md +226 -0
  248. package/docs/specialists-service.md +363 -0
  249. package/docs/surface-ownership.md +138 -0
  250. package/docs/upgrade-notes/kan-90-global-user-config.md +114 -0
  251. package/docs/upgrade-notes/kan-91-expanded-overrides.md +261 -0
  252. package/docs/workflow.md +114 -0
  253. package/docs/worktree.md +71 -0
  254. package/docs/worktrees.md +309 -0
  255. package/package.json +7 -4
@@ -25,8 +25,9 @@ export declare const SpecialistSchema: z.ZodObject<{
25
25
  }, z.ZodTypeAny, "passthrough">>;
26
26
  execution: z.ZodObject<{
27
27
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
28
- model: z.ZodString;
29
- fallback_model: z.ZodOptional<z.ZodString>;
28
+ model: z.ZodNullable<z.ZodString>;
29
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
30
31
  timeout_ms: z.ZodDefault<z.ZodNumber>;
31
32
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
32
33
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -68,8 +69,9 @@ export declare const SpecialistSchema: z.ZodObject<{
68
69
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
69
70
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
70
71
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
71
- model: z.ZodString;
72
- fallback_model: z.ZodOptional<z.ZodString>;
72
+ model: z.ZodNullable<z.ZodString>;
73
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
73
75
  timeout_ms: z.ZodDefault<z.ZodNumber>;
74
76
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
75
77
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -111,8 +113,9 @@ export declare const SpecialistSchema: z.ZodObject<{
111
113
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
112
114
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
113
115
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
114
- model: z.ZodString;
115
- fallback_model: z.ZodOptional<z.ZodString>;
116
+ model: z.ZodNullable<z.ZodString>;
117
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
118
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
116
119
  timeout_ms: z.ZodDefault<z.ZodNumber>;
117
120
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
118
121
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -263,6 +266,8 @@ export declare const SpecialistSchema: z.ZodObject<{
263
266
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
264
267
  /** ms in waiting state before emitting warning (default 3_600_000) */
265
268
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
269
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
270
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
266
271
  /** ms a single tool execution may run before warning (default 120_000) */
267
272
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
268
273
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -272,6 +277,8 @@ export declare const SpecialistSchema: z.ZodObject<{
272
277
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
273
278
  /** ms in waiting state before emitting warning (default 3_600_000) */
274
279
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
280
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
281
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
275
282
  /** ms a single tool execution may run before warning (default 120_000) */
276
283
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
277
284
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -281,6 +288,8 @@ export declare const SpecialistSchema: z.ZodObject<{
281
288
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
282
289
  /** ms in waiting state before emitting warning (default 3_600_000) */
283
290
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
291
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
292
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
284
293
  /** ms a single tool execution may run before warning (default 120_000) */
285
294
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
286
295
  }, z.ZodTypeAny, "passthrough">>>;
@@ -372,8 +381,9 @@ export declare const SpecialistSchema: z.ZodObject<{
372
381
  }, z.ZodTypeAny, "passthrough">>;
373
382
  execution: z.ZodObject<{
374
383
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
375
- model: z.ZodString;
376
- fallback_model: z.ZodOptional<z.ZodString>;
384
+ model: z.ZodNullable<z.ZodString>;
385
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
386
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
377
387
  timeout_ms: z.ZodDefault<z.ZodNumber>;
378
388
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
379
389
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -415,8 +425,9 @@ export declare const SpecialistSchema: z.ZodObject<{
415
425
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
416
426
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
417
427
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
418
- model: z.ZodString;
419
- fallback_model: z.ZodOptional<z.ZodString>;
428
+ model: z.ZodNullable<z.ZodString>;
429
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
430
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
420
431
  timeout_ms: z.ZodDefault<z.ZodNumber>;
421
432
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
422
433
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -458,8 +469,9 @@ export declare const SpecialistSchema: z.ZodObject<{
458
469
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
459
470
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
460
471
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
461
- model: z.ZodString;
462
- fallback_model: z.ZodOptional<z.ZodString>;
472
+ model: z.ZodNullable<z.ZodString>;
473
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
474
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
463
475
  timeout_ms: z.ZodDefault<z.ZodNumber>;
464
476
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
465
477
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -610,6 +622,8 @@ export declare const SpecialistSchema: z.ZodObject<{
610
622
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
611
623
  /** ms in waiting state before emitting warning (default 3_600_000) */
612
624
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
625
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
626
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
613
627
  /** ms a single tool execution may run before warning (default 120_000) */
614
628
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
615
629
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -619,6 +633,8 @@ export declare const SpecialistSchema: z.ZodObject<{
619
633
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
620
634
  /** ms in waiting state before emitting warning (default 3_600_000) */
621
635
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
636
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
637
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
622
638
  /** ms a single tool execution may run before warning (default 120_000) */
623
639
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
624
640
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -628,6 +644,8 @@ export declare const SpecialistSchema: z.ZodObject<{
628
644
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
629
645
  /** ms in waiting state before emitting warning (default 3_600_000) */
630
646
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
647
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
648
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
631
649
  /** ms a single tool execution may run before warning (default 120_000) */
632
650
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
633
651
  }, z.ZodTypeAny, "passthrough">>>;
@@ -719,8 +737,9 @@ export declare const SpecialistSchema: z.ZodObject<{
719
737
  }, z.ZodTypeAny, "passthrough">>;
720
738
  execution: z.ZodObject<{
721
739
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
722
- model: z.ZodString;
723
- fallback_model: z.ZodOptional<z.ZodString>;
740
+ model: z.ZodNullable<z.ZodString>;
741
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
742
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
724
743
  timeout_ms: z.ZodDefault<z.ZodNumber>;
725
744
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
726
745
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -762,8 +781,9 @@ export declare const SpecialistSchema: z.ZodObject<{
762
781
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
763
782
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
764
783
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
765
- model: z.ZodString;
766
- fallback_model: z.ZodOptional<z.ZodString>;
784
+ model: z.ZodNullable<z.ZodString>;
785
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
767
787
  timeout_ms: z.ZodDefault<z.ZodNumber>;
768
788
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
769
789
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -805,8 +825,9 @@ export declare const SpecialistSchema: z.ZodObject<{
805
825
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
806
826
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
807
827
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
808
- model: z.ZodString;
809
- fallback_model: z.ZodOptional<z.ZodString>;
828
+ model: z.ZodNullable<z.ZodString>;
829
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
830
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
810
831
  timeout_ms: z.ZodDefault<z.ZodNumber>;
811
832
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
812
833
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -957,6 +978,8 @@ export declare const SpecialistSchema: z.ZodObject<{
957
978
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
958
979
  /** ms in waiting state before emitting warning (default 3_600_000) */
959
980
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
981
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
982
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
960
983
  /** ms a single tool execution may run before warning (default 120_000) */
961
984
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
962
985
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -966,6 +989,8 @@ export declare const SpecialistSchema: z.ZodObject<{
966
989
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
967
990
  /** ms in waiting state before emitting warning (default 3_600_000) */
968
991
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
992
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
993
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
969
994
  /** ms a single tool execution may run before warning (default 120_000) */
970
995
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
971
996
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -975,6 +1000,8 @@ export declare const SpecialistSchema: z.ZodObject<{
975
1000
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
976
1001
  /** ms in waiting state before emitting warning (default 3_600_000) */
977
1002
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1003
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1004
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
978
1005
  /** ms a single tool execution may run before warning (default 120_000) */
979
1006
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
980
1007
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1068,8 +1095,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1068
1095
  }, z.ZodTypeAny, "passthrough">>;
1069
1096
  execution: z.ZodObject<{
1070
1097
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1071
- model: z.ZodString;
1072
- fallback_model: z.ZodOptional<z.ZodString>;
1098
+ model: z.ZodNullable<z.ZodString>;
1099
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1100
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1073
1101
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1074
1102
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1075
1103
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1111,8 +1139,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1111
1139
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1112
1140
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1113
1141
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1114
- model: z.ZodString;
1115
- fallback_model: z.ZodOptional<z.ZodString>;
1142
+ model: z.ZodNullable<z.ZodString>;
1143
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1144
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1116
1145
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1117
1146
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1118
1147
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1154,8 +1183,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1154
1183
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1155
1184
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1156
1185
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1157
- model: z.ZodString;
1158
- fallback_model: z.ZodOptional<z.ZodString>;
1186
+ model: z.ZodNullable<z.ZodString>;
1187
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1188
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1159
1189
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1160
1190
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1161
1191
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1306,6 +1336,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1306
1336
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1307
1337
  /** ms in waiting state before emitting warning (default 3_600_000) */
1308
1338
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1339
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1340
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1309
1341
  /** ms a single tool execution may run before warning (default 120_000) */
1310
1342
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1311
1343
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -1315,6 +1347,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1315
1347
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1316
1348
  /** ms in waiting state before emitting warning (default 3_600_000) */
1317
1349
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1350
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1351
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1318
1352
  /** ms a single tool execution may run before warning (default 120_000) */
1319
1353
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1320
1354
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -1324,6 +1358,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1324
1358
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1325
1359
  /** ms in waiting state before emitting warning (default 3_600_000) */
1326
1360
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1361
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1362
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1327
1363
  /** ms a single tool execution may run before warning (default 120_000) */
1328
1364
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1329
1365
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1415,8 +1451,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1415
1451
  }, z.ZodTypeAny, "passthrough">>;
1416
1452
  execution: z.ZodObject<{
1417
1453
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1418
- model: z.ZodString;
1419
- fallback_model: z.ZodOptional<z.ZodString>;
1454
+ model: z.ZodNullable<z.ZodString>;
1455
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1456
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1420
1457
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1421
1458
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1422
1459
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1458,8 +1495,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1458
1495
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1459
1496
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1460
1497
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1461
- model: z.ZodString;
1462
- fallback_model: z.ZodOptional<z.ZodString>;
1498
+ model: z.ZodNullable<z.ZodString>;
1499
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1500
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1463
1501
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1464
1502
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1465
1503
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1501,8 +1539,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1501
1539
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1502
1540
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1503
1541
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1504
- model: z.ZodString;
1505
- fallback_model: z.ZodOptional<z.ZodString>;
1542
+ model: z.ZodNullable<z.ZodString>;
1543
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1544
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1506
1545
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1507
1546
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1508
1547
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1653,6 +1692,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1653
1692
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1654
1693
  /** ms in waiting state before emitting warning (default 3_600_000) */
1655
1694
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1695
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1696
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1656
1697
  /** ms a single tool execution may run before warning (default 120_000) */
1657
1698
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1658
1699
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -1662,6 +1703,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1662
1703
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1663
1704
  /** ms in waiting state before emitting warning (default 3_600_000) */
1664
1705
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1706
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1707
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1665
1708
  /** ms a single tool execution may run before warning (default 120_000) */
1666
1709
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1667
1710
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -1671,6 +1714,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1671
1714
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1672
1715
  /** ms in waiting state before emitting warning (default 3_600_000) */
1673
1716
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1717
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1718
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1674
1719
  /** ms a single tool execution may run before warning (default 120_000) */
1675
1720
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1676
1721
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1762,8 +1807,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1762
1807
  }, z.ZodTypeAny, "passthrough">>;
1763
1808
  execution: z.ZodObject<{
1764
1809
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1765
- model: z.ZodString;
1766
- fallback_model: z.ZodOptional<z.ZodString>;
1810
+ model: z.ZodNullable<z.ZodString>;
1811
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1812
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1767
1813
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1768
1814
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1769
1815
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1805,8 +1851,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1805
1851
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1806
1852
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1807
1853
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1808
- model: z.ZodString;
1809
- fallback_model: z.ZodOptional<z.ZodString>;
1854
+ model: z.ZodNullable<z.ZodString>;
1855
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1856
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1810
1857
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1811
1858
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1812
1859
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1848,8 +1895,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1848
1895
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1849
1896
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1850
1897
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1851
- model: z.ZodString;
1852
- fallback_model: z.ZodOptional<z.ZodString>;
1898
+ model: z.ZodNullable<z.ZodString>;
1899
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1900
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1853
1901
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1854
1902
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1855
1903
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2000,6 +2048,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2000
2048
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2001
2049
  /** ms in waiting state before emitting warning (default 3_600_000) */
2002
2050
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2051
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2052
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2003
2053
  /** ms a single tool execution may run before warning (default 120_000) */
2004
2054
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2005
2055
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2009,6 +2059,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2009
2059
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2010
2060
  /** ms in waiting state before emitting warning (default 3_600_000) */
2011
2061
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2062
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2063
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2012
2064
  /** ms a single tool execution may run before warning (default 120_000) */
2013
2065
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2014
2066
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2018,6 +2070,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2018
2070
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2019
2071
  /** ms in waiting state before emitting warning (default 3_600_000) */
2020
2072
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2073
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2074
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2021
2075
  /** ms a single tool execution may run before warning (default 120_000) */
2022
2076
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2023
2077
  }, z.ZodTypeAny, "passthrough">>>;
@@ -2111,8 +2165,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2111
2165
  }, z.ZodTypeAny, "passthrough">>;
2112
2166
  execution: z.ZodObject<{
2113
2167
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2114
- model: z.ZodString;
2115
- fallback_model: z.ZodOptional<z.ZodString>;
2168
+ model: z.ZodNullable<z.ZodString>;
2169
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2170
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2116
2171
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2117
2172
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2118
2173
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2154,8 +2209,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2154
2209
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2155
2210
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2156
2211
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2157
- model: z.ZodString;
2158
- fallback_model: z.ZodOptional<z.ZodString>;
2212
+ model: z.ZodNullable<z.ZodString>;
2213
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2214
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2159
2215
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2160
2216
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2161
2217
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2197,8 +2253,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2197
2253
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2198
2254
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2199
2255
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2200
- model: z.ZodString;
2201
- fallback_model: z.ZodOptional<z.ZodString>;
2256
+ model: z.ZodNullable<z.ZodString>;
2257
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2258
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2202
2259
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2203
2260
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2204
2261
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2349,6 +2406,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2349
2406
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2350
2407
  /** ms in waiting state before emitting warning (default 3_600_000) */
2351
2408
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2409
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2410
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2352
2411
  /** ms a single tool execution may run before warning (default 120_000) */
2353
2412
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2354
2413
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2358,6 +2417,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2358
2417
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2359
2418
  /** ms in waiting state before emitting warning (default 3_600_000) */
2360
2419
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2420
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2421
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2361
2422
  /** ms a single tool execution may run before warning (default 120_000) */
2362
2423
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2363
2424
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2367,6 +2428,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2367
2428
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2368
2429
  /** ms in waiting state before emitting warning (default 3_600_000) */
2369
2430
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2431
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2432
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2370
2433
  /** ms a single tool execution may run before warning (default 120_000) */
2371
2434
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2372
2435
  }, z.ZodTypeAny, "passthrough">>>;
@@ -2458,8 +2521,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2458
2521
  }, z.ZodTypeAny, "passthrough">>;
2459
2522
  execution: z.ZodObject<{
2460
2523
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2461
- model: z.ZodString;
2462
- fallback_model: z.ZodOptional<z.ZodString>;
2524
+ model: z.ZodNullable<z.ZodString>;
2525
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2526
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2463
2527
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2464
2528
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2465
2529
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2501,8 +2565,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2501
2565
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2502
2566
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2503
2567
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2504
- model: z.ZodString;
2505
- fallback_model: z.ZodOptional<z.ZodString>;
2568
+ model: z.ZodNullable<z.ZodString>;
2569
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2570
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2506
2571
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2507
2572
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2508
2573
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2544,8 +2609,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2544
2609
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2545
2610
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2546
2611
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2547
- model: z.ZodString;
2548
- fallback_model: z.ZodOptional<z.ZodString>;
2612
+ model: z.ZodNullable<z.ZodString>;
2613
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2614
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2549
2615
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2550
2616
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2551
2617
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2696,6 +2762,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2696
2762
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2697
2763
  /** ms in waiting state before emitting warning (default 3_600_000) */
2698
2764
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2765
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2766
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2699
2767
  /** ms a single tool execution may run before warning (default 120_000) */
2700
2768
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2701
2769
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2705,6 +2773,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2705
2773
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2706
2774
  /** ms in waiting state before emitting warning (default 3_600_000) */
2707
2775
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2776
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2777
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2708
2778
  /** ms a single tool execution may run before warning (default 120_000) */
2709
2779
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2710
2780
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2714,6 +2784,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2714
2784
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2715
2785
  /** ms in waiting state before emitting warning (default 3_600_000) */
2716
2786
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2787
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2788
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2717
2789
  /** ms a single tool execution may run before warning (default 120_000) */
2718
2790
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2719
2791
  }, z.ZodTypeAny, "passthrough">>>;
@@ -2805,8 +2877,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2805
2877
  }, z.ZodTypeAny, "passthrough">>;
2806
2878
  execution: z.ZodObject<{
2807
2879
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2808
- model: z.ZodString;
2809
- fallback_model: z.ZodOptional<z.ZodString>;
2880
+ model: z.ZodNullable<z.ZodString>;
2881
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2882
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2810
2883
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2811
2884
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2812
2885
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2848,8 +2921,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2848
2921
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2849
2922
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2850
2923
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2851
- model: z.ZodString;
2852
- fallback_model: z.ZodOptional<z.ZodString>;
2924
+ model: z.ZodNullable<z.ZodString>;
2925
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2926
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2853
2927
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2854
2928
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2855
2929
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2891,8 +2965,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2891
2965
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2892
2966
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2893
2967
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2894
- model: z.ZodString;
2895
- fallback_model: z.ZodOptional<z.ZodString>;
2968
+ model: z.ZodNullable<z.ZodString>;
2969
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2970
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2896
2971
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2897
2972
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2898
2973
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -3043,6 +3118,8 @@ export declare const SpecialistSchema: z.ZodObject<{
3043
3118
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
3044
3119
  /** ms in waiting state before emitting warning (default 3_600_000) */
3045
3120
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
3121
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
3122
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3046
3123
  /** ms a single tool execution may run before warning (default 120_000) */
3047
3124
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
3048
3125
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -3052,6 +3129,8 @@ export declare const SpecialistSchema: z.ZodObject<{
3052
3129
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
3053
3130
  /** ms in waiting state before emitting warning (default 3_600_000) */
3054
3131
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
3132
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
3133
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3055
3134
  /** ms a single tool execution may run before warning (default 120_000) */
3056
3135
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
3057
3136
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -3061,6 +3140,8 @@ export declare const SpecialistSchema: z.ZodObject<{
3061
3140
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
3062
3141
  /** ms in waiting state before emitting warning (default 3_600_000) */
3063
3142
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
3143
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
3144
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3064
3145
  /** ms a single tool execution may run before warning (default 120_000) */
3065
3146
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
3066
3147
  }, z.ZodTypeAny, "passthrough">>>;
@@ -3135,6 +3216,34 @@ export type ScriptEntry = {
3135
3216
  phase: 'pre' | 'post';
3136
3217
  inject_output: boolean;
3137
3218
  };
3219
+ /** Flat execution sub-fields an override layer may set. */
3220
+ export declare const OVERRIDE_ALLOWED_EXECUTION_FIELDS: readonly ["model", "fallback_model", "fallback_models", "timeout_ms", "stall_timeout_ms", "interactive", "thinking_level", "max_retries", "prompt_limit_bytes", "stdout_limit_bytes"];
3221
+ /** Nested execution leaf paths an override layer may set. Relative to `specialist.execution`. */
3222
+ export declare const OVERRIDE_ALLOWED_NESTED_EXECUTION_PATHS: readonly ["extensions.serena", "extensions.gitnexus"];
3223
+ /** Nested stall-detection leaf paths an override layer may set. Relative to `specialist.stall_detection`. */
3224
+ export declare const OVERRIDE_ALLOWED_STALL_DETECTION_PATHS: readonly ["waiting_auto_close_ms"];
3225
+ /** Prompt sub-fields an override layer may set. Relative to `specialist.prompt`. */
3226
+ export declare const OVERRIDE_ALLOWED_PROMPT_FIELDS: readonly ["system_prompt_mode"];
3227
+ /** Top-level specialist fields an override layer may set. */
3228
+ export declare const OVERRIDE_ALLOWED_TOP_FIELDS: readonly ["beads_write_notes", "notes_mode", "output_file"];
3229
+ /**
3230
+ * Fields an override layer may NOT change. Dotted paths are schema-accurate.
3231
+ * `skills.paths` is exempt (append+dedup); `skills.scripts` is blocked.
3232
+ */
3233
+ export declare const BLOCKED_OVERRIDE_FIELDS: readonly ["execution.permission_required", "execution.auto_commit", "prompt.system", "prompt.output_schema", "skills.scripts", "mandatory_rules", "capabilities"];
3234
+ export type BlockedFieldSeverity = 'strip' | 'warn';
3235
+ /**
3236
+ * Recorded when an override layer attempts to set a blocked field.
3237
+ * - `strip` (global layer): value removed, NOT applied.
3238
+ * - `warn` (repo layer, v1): value applied but flagged for the doctor command.
3239
+ */
3240
+ export interface BlockedFieldWarning {
3241
+ specialist: string;
3242
+ field: string;
3243
+ source: 'global' | 'default' | 'user';
3244
+ severity: BlockedFieldSeverity;
3245
+ value: unknown;
3246
+ }
3138
3247
  export interface ValidationError {
3139
3248
  path: string;
3140
3249
  message: string;