@ashx-j/lunr-dev 0.2.13-dev.5.1 → 0.2.13-dev.8.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 (246) hide show
  1. package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
  2. package/dist/builtin-extensions/ashxj-tui.js +4 -4
  3. package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
  4. package/dist/builtin-extensions/index.d.ts.map +1 -1
  5. package/dist/builtin-extensions/index.js +2 -0
  6. package/dist/builtin-extensions/index.js.map +1 -1
  7. package/dist/builtin-extensions/lunr-settings-tools.d.ts +4 -0
  8. package/dist/builtin-extensions/lunr-settings-tools.d.ts.map +1 -0
  9. package/dist/builtin-extensions/lunr-settings-tools.js +120 -0
  10. package/dist/builtin-extensions/lunr-settings-tools.js.map +1 -0
  11. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts +2 -2
  12. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts.map +1 -1
  13. package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.js.map +1 -1
  14. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.d.ts.map +1 -1
  15. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js +3 -3
  16. package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js.map +1 -1
  17. package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts +2 -2
  18. package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts.map +1 -1
  19. package/dist/builtin-extensions/pi-subagents/src/api/delegation.js +1 -1
  20. package/dist/builtin-extensions/pi-subagents/src/api/delegation.js.map +1 -1
  21. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
  22. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +2 -1
  23. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
  24. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +5 -11
  25. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
  26. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +12 -15
  27. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
  28. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +3 -3
  29. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
  30. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +14 -27
  31. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
  32. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
  33. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +6 -4
  34. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
  35. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts.map +1 -1
  36. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js +2 -1
  37. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js.map +1 -1
  38. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
  39. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +6 -4
  40. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
  41. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts.map +1 -1
  42. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js +4 -2
  43. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js.map +1 -1
  44. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -1
  45. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js +3 -35
  46. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -1
  47. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
  48. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +5 -12
  49. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
  50. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  51. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +14 -31
  52. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
  53. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +2 -0
  54. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -1
  55. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +28 -22
  56. package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -1
  57. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +1 -0
  58. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
  59. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
  60. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -1
  61. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +9 -4
  62. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -1
  63. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts +1 -1
  64. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts.map +1 -1
  65. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js +2 -2
  66. package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js.map +1 -1
  67. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +4 -7
  68. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
  69. package/dist/builtin-extensions/pi-subagents/src/shared/types.js +1 -1
  70. package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
  71. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts +3 -3
  72. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts.map +1 -1
  73. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js +7 -6
  74. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js.map +1 -1
  75. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.d.ts.map +1 -1
  76. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js +3 -3
  77. package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js.map +1 -1
  78. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +1 -1
  79. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
  80. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +6 -4
  81. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
  82. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +1 -1
  83. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
  84. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +15 -10
  85. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
  86. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts.map +1 -1
  87. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js +3 -2
  88. package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js.map +1 -1
  89. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -2
  90. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
  91. package/dist/builtin-extensions/pi-subagents/src/tui/render.js +75 -43
  92. package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
  93. package/dist/catalog/models.json +1 -1
  94. package/dist/catalog/providers/amazon-bedrock.json +1 -1
  95. package/dist/catalog/providers/anthropic.json +1 -1
  96. package/dist/catalog/providers/azure-openai-responses.json +1 -1
  97. package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -1
  98. package/dist/catalog/providers/fireworks.json +1 -1
  99. package/dist/catalog/providers/github-copilot.json +1 -1
  100. package/dist/catalog/providers/google-vertex.json +1 -1
  101. package/dist/catalog/providers/google.json +1 -1
  102. package/dist/catalog/providers/huggingface.json +1 -1
  103. package/dist/catalog/providers/nvidia.json +1 -1
  104. package/dist/catalog/providers/openai-codex.json +1 -1
  105. package/dist/catalog/providers/openai.json +1 -1
  106. package/dist/catalog/providers/opencode-go.json +1 -1
  107. package/dist/catalog/providers/opencode.json +1 -1
  108. package/dist/catalog/providers/openrouter.json +1 -1
  109. package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
  110. package/dist/catalog/publication.json +131 -3
  111. package/dist/cli/list-models.d.ts.map +1 -1
  112. package/dist/cli/list-models.js +1 -0
  113. package/dist/cli/list-models.js.map +1 -1
  114. package/dist/core/agent-session-runtime.d.ts +5 -1
  115. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  116. package/dist/core/agent-session-runtime.js +7 -2
  117. package/dist/core/agent-session-runtime.js.map +1 -1
  118. package/dist/core/agent-session.d.ts +2 -0
  119. package/dist/core/agent-session.d.ts.map +1 -1
  120. package/dist/core/agent-session.js +20 -5
  121. package/dist/core/agent-session.js.map +1 -1
  122. package/dist/core/catalog-cache-scope.d.ts +3 -0
  123. package/dist/core/catalog-cache-scope.d.ts.map +1 -0
  124. package/dist/core/catalog-cache-scope.js +12 -0
  125. package/dist/core/catalog-cache-scope.js.map +1 -0
  126. package/dist/core/catalog-merge.d.ts +2 -0
  127. package/dist/core/catalog-merge.d.ts.map +1 -1
  128. package/dist/core/catalog-merge.js +29 -2
  129. package/dist/core/catalog-merge.js.map +1 -1
  130. package/dist/core/catalog-refresh-polling.d.ts +8 -0
  131. package/dist/core/catalog-refresh-polling.d.ts.map +1 -0
  132. package/dist/core/catalog-refresh-polling.js +30 -0
  133. package/dist/core/catalog-refresh-polling.js.map +1 -0
  134. package/dist/core/codex-catalog.d.ts +3 -0
  135. package/dist/core/codex-catalog.d.ts.map +1 -0
  136. package/dist/core/codex-catalog.js +15 -0
  137. package/dist/core/codex-catalog.js.map +1 -0
  138. package/dist/core/context-breakdown.d.ts +2 -0
  139. package/dist/core/context-breakdown.d.ts.map +1 -1
  140. package/dist/core/context-breakdown.js +6 -2
  141. package/dist/core/context-breakdown.js.map +1 -1
  142. package/dist/core/injected-prompt.d.ts +3 -3
  143. package/dist/core/injected-prompt.d.ts.map +1 -1
  144. package/dist/core/injected-prompt.js +2 -7
  145. package/dist/core/injected-prompt.js.map +1 -1
  146. package/dist/core/large-subagent-launch.d.ts +13 -0
  147. package/dist/core/large-subagent-launch.d.ts.map +1 -0
  148. package/dist/core/large-subagent-launch.js +54 -0
  149. package/dist/core/large-subagent-launch.js.map +1 -0
  150. package/dist/core/live-catalog.d.ts +5 -2
  151. package/dist/core/live-catalog.d.ts.map +1 -1
  152. package/dist/core/live-catalog.js +108 -27
  153. package/dist/core/live-catalog.js.map +1 -1
  154. package/dist/core/model-instructions.d.ts +24 -0
  155. package/dist/core/model-instructions.d.ts.map +1 -0
  156. package/dist/core/model-instructions.js +123 -0
  157. package/dist/core/model-instructions.js.map +1 -0
  158. package/dist/core/model-runtime.d.ts +8 -0
  159. package/dist/core/model-runtime.d.ts.map +1 -1
  160. package/dist/core/model-runtime.js +64 -12
  161. package/dist/core/model-runtime.js.map +1 -1
  162. package/dist/core/official-catalog.d.ts +4 -0
  163. package/dist/core/official-catalog.d.ts.map +1 -1
  164. package/dist/core/official-catalog.js +86 -21
  165. package/dist/core/official-catalog.js.map +1 -1
  166. package/dist/core/permissions.d.ts +11 -10
  167. package/dist/core/permissions.d.ts.map +1 -1
  168. package/dist/core/permissions.js +61 -45
  169. package/dist/core/permissions.js.map +1 -1
  170. package/dist/core/plan-mode.d.ts.map +1 -1
  171. package/dist/core/plan-mode.js +10 -1
  172. package/dist/core/plan-mode.js.map +1 -1
  173. package/dist/core/resource-loader.d.ts +3 -0
  174. package/dist/core/resource-loader.d.ts.map +1 -1
  175. package/dist/core/resource-loader.js +13 -4
  176. package/dist/core/resource-loader.js.map +1 -1
  177. package/dist/core/runtime-bridges.d.ts +4 -0
  178. package/dist/core/runtime-bridges.d.ts.map +1 -0
  179. package/dist/core/runtime-bridges.js +16 -0
  180. package/dist/core/runtime-bridges.js.map +1 -0
  181. package/dist/core/sdk.d.ts.map +1 -1
  182. package/dist/core/sdk.js +1 -0
  183. package/dist/core/sdk.js.map +1 -1
  184. package/dist/core/session-manager.d.ts.map +1 -1
  185. package/dist/core/session-manager.js +17 -16
  186. package/dist/core/session-manager.js.map +1 -1
  187. package/dist/core/settings-manager.d.ts +13 -0
  188. package/dist/core/settings-manager.d.ts.map +1 -1
  189. package/dist/core/settings-manager.js +32 -0
  190. package/dist/core/settings-manager.js.map +1 -1
  191. package/dist/core/settings-tools-bridge.d.ts +35 -0
  192. package/dist/core/settings-tools-bridge.d.ts.map +1 -0
  193. package/dist/core/settings-tools-bridge.js +56 -0
  194. package/dist/core/settings-tools-bridge.js.map +1 -0
  195. package/dist/core/swarm.d.ts +0 -31
  196. package/dist/core/swarm.d.ts.map +1 -1
  197. package/dist/core/swarm.js +2 -76
  198. package/dist/core/swarm.js.map +1 -1
  199. package/dist/core/system-prompt.d.ts.map +1 -1
  200. package/dist/core/system-prompt.js +1 -1
  201. package/dist/core/system-prompt.js.map +1 -1
  202. package/dist/gateway/agent-bridge.d.ts.map +1 -1
  203. package/dist/gateway/agent-bridge.js +3 -2
  204. package/dist/gateway/agent-bridge.js.map +1 -1
  205. package/dist/gateway/approval.d.ts.map +1 -1
  206. package/dist/gateway/approval.js +4 -3
  207. package/dist/gateway/approval.js.map +1 -1
  208. package/dist/gateway/cron.d.ts.map +1 -1
  209. package/dist/gateway/cron.js +3 -2
  210. package/dist/gateway/cron.js.map +1 -1
  211. package/dist/gateway/router.d.ts +1 -1
  212. package/dist/gateway/router.d.ts.map +1 -1
  213. package/dist/gateway/router.js +1 -1
  214. package/dist/gateway/router.js.map +1 -1
  215. package/dist/main.d.ts.map +1 -1
  216. package/dist/main.js +12 -9
  217. package/dist/main.js.map +1 -1
  218. package/dist/migrations.d.ts.map +1 -1
  219. package/dist/migrations.js +4 -0
  220. package/dist/migrations.js.map +1 -1
  221. package/dist/modes/interactive/components/injected-prompt-message.d.ts +1 -1
  222. package/dist/modes/interactive/components/injected-prompt-message.d.ts.map +1 -1
  223. package/dist/modes/interactive/components/injected-prompt-message.js +1 -1
  224. package/dist/modes/interactive/components/injected-prompt-message.js.map +1 -1
  225. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  226. package/dist/modes/interactive/components/model-selector.js +4 -1
  227. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  228. package/dist/modes/interactive/components/settings-selector.d.ts +8 -1
  229. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  230. package/dist/modes/interactive/components/settings-selector.js +61 -1
  231. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  232. package/dist/modes/interactive/interactive-mode.d.ts +2 -2
  233. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  234. package/dist/modes/interactive/interactive-mode.js +65 -99
  235. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  236. package/dist/startup/interactive-shell.d.ts.map +1 -1
  237. package/dist/startup/interactive-shell.js +2 -1
  238. package/dist/startup/interactive-shell.js.map +1 -1
  239. package/docs/features.md +7 -6
  240. package/docs/model-catalog.md +29 -0
  241. package/docs/quickstart.md +3 -2
  242. package/docs/settings.md +3 -1
  243. package/docs/termux.md +1 -1
  244. package/docs/usage.md +2 -1
  245. package/examples/extensions/subagent/README.md +1 -1
  246. package/package.json +4 -4
@@ -12,7 +12,7 @@ import { buildDoctorReport } from "../../extension/doctor.js";
12
12
  import { clearPendingForegroundControlNotices } from "../../extension/control-notices.js";
13
13
  import { runSync } from "./execution.js";
14
14
  import { handleWatchdogToolAction, WATCHDOG_TOOL_ACTIONS } from "../../watchdog/tool-actions.js";
15
- import { buildModelCandidates, captureModelSelection, resolveEffectiveSubagentModel, resolveTierModelOverride } from "../shared/model-fallback.js";
15
+ import { buildModelCandidates, captureModelSelection, resolveEffectiveSubagentModel, resolveRequiredTierModel } from "../shared/model-fallback.js";
16
16
  import { aggregateParallelOutputs } from "../shared/parallel-utils.js";
17
17
  import { recordRun } from "../shared/run-history.js";
18
18
  import { buildChainInstructions, writeInitialProgressFile, getStepAgents, isParallelStep, isDynamicParallelStep, resolveStepBehavior, suppressProgressForReadOnlyTask, taskDisallowsFileUpdates, } from "../../shared/settings.js";
@@ -1044,9 +1044,9 @@ async function resumeAsyncRun(input) {
1044
1044
  task: buildRevivedAsyncTask(target, followUp),
1045
1045
  description: recoveryDescriptor?.description ?? target.description ?? target.agent,
1046
1046
  permissions: recoveryDescriptor?.permissions ?? target.permissions ?? "read-only",
1047
- model: input.params.model ?? recoveryDescriptor?.model ?? target.model,
1048
- modelSelection: recoveryDescriptor?.modelSelection
1049
- ?? captureModelSelection({ model: input.params.model ?? recoveryDescriptor?.model ?? target.model, tier: input.params.tier }),
1047
+ model: recoveryDescriptor?.model ?? target.model,
1048
+ tier: input.params.tier ?? recoveryDescriptor?.tier ?? recoveryDescriptor?.modelSelection?.tier,
1049
+ modelSelection: recoveryDescriptor?.modelSelection,
1050
1050
  skill: recoveryDescriptor?.skills,
1051
1051
  cwd: effectiveCwd,
1052
1052
  output: recoveryDescriptor?.outputPath,
@@ -1089,8 +1089,8 @@ async function resumeAsyncRun(input) {
1089
1089
  sourceRunId: target.runId,
1090
1090
  ...(input.deps.state.currentSessionId ? { parentSessionId: input.deps.state.currentSessionId } : {}),
1091
1091
  },
1092
- modelOverride: input.params.model ?? recoveryDescriptor?.model ?? target.model,
1093
- thinkingOverride: input.params.model ? undefined : recoveryDescriptor?.thinking ?? target.thinking,
1092
+ modelOverride: recoveryDescriptor?.model ?? target.model,
1093
+ thinkingOverride: recoveryDescriptor?.thinking ?? target.thinking,
1094
1094
  outputBaseDir: resolveSingleRunOutputBaseDir(input.deps, artifactsDir, runId),
1095
1095
  maxSubagentDepth: recoveryDescriptor?.maxSubagentDepth ?? resolveCurrentMaxSubagentDepth(input.deps.config.maxSubagentDepth),
1096
1096
  waitToolEnabled: input.deps.waitToolEnabled,
@@ -1754,8 +1754,7 @@ function runAsyncPath(data, deps) {
1754
1754
  description: task.description,
1755
1755
  permissions: task.permissions,
1756
1756
  cwd: task.cwd,
1757
- ...(task.model !== undefined ? { model: task.model } : {}),
1758
- ...(task.tier !== undefined ? { tier: task.tier } : {}),
1757
+ tier: task.tier,
1759
1758
  ...(skillOverrides[index] !== undefined ? { skill: skillOverrides[index] } : {}),
1760
1759
  ...(task.output !== undefined && task.output !== true ? { output: task.output } : {}),
1761
1760
  ...(task.outputMode !== undefined ? { outputMode: task.outputMode } : {}),
@@ -1851,15 +1850,14 @@ function runAsyncPath(data, deps) {
1851
1850
  const normalizedSkills = normalizeSkillInput(params.skill);
1852
1851
  const skills = normalizedSkills === false ? [] : normalizedSkills;
1853
1852
  const maxSubagentDepth = resolveChildMaxSubagentDepth(currentMaxSubagentDepth, a.maxSubagentDepth);
1854
- // lunr: model tiers — explicit model wins; otherwise resolve params.tier via the tier bridge.
1855
- const modelOverride = resolveEffectiveSubagentModel(params.model ?? resolveTierModelOverride(params.tier), a.model, ctx.model, availableModels, currentProvider, { scope: data.modelScope });
1853
+ const modelOverride = resolveRequiredTierModel(params.tier, availableModels, currentProvider);
1856
1854
  const spec = normalizeChildSpec({
1857
1855
  task: shouldForkAgent(contextPolicy, params.agent) ? wrapForkTask(params.task ?? "") : (params.task ?? ""),
1858
1856
  description: params.description,
1859
1857
  permissions: params.permissions,
1860
1858
  model: modelOverride,
1861
1859
  tier: params.tier,
1862
- modelSelection: captureModelSelection({ model: params.model, tier: params.tier }),
1860
+ modelSelection: captureModelSelection({ tier: params.tier }),
1863
1861
  skill: params.skill,
1864
1862
  cwd: effectiveCwd,
1865
1863
  output: effectiveOutput,
@@ -2162,7 +2160,7 @@ async function runForegroundParallelTasks(input) {
2162
2160
  permissions: task.permissions,
2163
2161
  model: input.modelOverrides[index] ?? task.model,
2164
2162
  tier: task.tier,
2165
- modelSelection: input.modelSelections[index] ?? captureModelSelection({ model: task.model, tier: task.tier }),
2163
+ modelSelection: input.modelSelections[index] ?? captureModelSelection({ tier: task.tier }),
2166
2164
  skill: task.skill,
2167
2165
  cwd: taskCwd,
2168
2166
  output: task.output,
@@ -2302,12 +2300,9 @@ async function runParallelPath(data, deps) {
2302
2300
  ...(task.reads !== undefined && task.reads !== true ? { reads: task.reads } : {}),
2303
2301
  ...(task.progress !== undefined ? { progress: task.progress } : {}),
2304
2302
  ...(skillOverrides[index] !== undefined ? { skills: skillOverrides[index] } : {}),
2305
- ...(task.model !== undefined ? { model: task.model } : {}),
2306
2303
  }));
2307
- const modelOverrides = tasks.map((task, i) =>
2308
- // lunr: model tiers — explicit per-task model wins; otherwise resolve task.tier via the tier bridge.
2309
- resolveEffectiveSubagentModel(behaviorOverrides[i]?.model ?? resolveTierModelOverride(task.tier), agentConfigs[i]?.model, ctx.model, availableModels, currentProvider, { scope: data.modelScope }));
2310
- const modelSelections = tasks.map((task) => captureModelSelection({ model: task.model, tier: task.tier }));
2304
+ const modelOverrides = tasks.map((task, i) => resolveRequiredTierModel(task.tier, availableModels, currentProvider));
2305
+ const modelSelections = tasks.map((task) => captureModelSelection({ tier: task.tier }));
2311
2306
  if (params.clarify === true && ctx.hasUI) {
2312
2307
  const behaviors = agentConfigs.map((_c, i) => resolveStepBehavior(behaviorOverrides[i]));
2313
2308
  const availableSkills = discoverAvailableSkills(effectiveCwd);
@@ -2318,11 +2313,6 @@ async function runParallelPath(data, deps) {
2318
2313
  taskTexts = result.templates;
2319
2314
  for (let i = 0; i < result.behaviorOverrides.length; i++) {
2320
2315
  const override = result.behaviorOverrides[i];
2321
- if (override?.model !== undefined) {
2322
- modelOverrides[i] = resolveEffectiveSubagentModel(override.model, agentConfigs[i]?.model, ctx.model, availableModels, currentProvider, { scope: data.modelScope });
2323
- behaviorOverrides[i].model = override.model;
2324
- modelSelections[i] = captureModelSelection({ model: override.model });
2325
- }
2326
2316
  if (override?.output !== undefined)
2327
2317
  behaviorOverrides[i].output = override.output;
2328
2318
  if (override?.reads !== undefined)
@@ -2361,8 +2351,7 @@ async function runParallelPath(data, deps) {
2361
2351
  description: t.description,
2362
2352
  permissions: t.permissions,
2363
2353
  cwd: t.cwd,
2364
- ...(behaviorOverrides[i]?.model !== undefined ? { model: behaviorOverrides[i].model } : t.model !== undefined ? { model: t.model } : {}),
2365
- ...(behaviorOverrides[i]?.model === undefined && t.tier !== undefined ? { tier: t.tier } : {}),
2354
+ tier: t.tier,
2366
2355
  ...(skillOverrides[i] !== undefined ? { skill: skillOverrides[i] } : {}),
2367
2356
  ...(behaviorOverrides[i]?.output !== undefined ? { output: behaviorOverrides[i].output } : {}),
2368
2357
  ...(behaviorOverrides[i]?.outputMode !== undefined ? { outputMode: behaviorOverrides[i].outputMode } : {}),
@@ -2570,7 +2559,6 @@ async function runSinglePath(data, deps) {
2570
2559
  task: params.task,
2571
2560
  description: params.description,
2572
2561
  permissions: params.permissions,
2573
- model: params.model,
2574
2562
  tier: params.tier,
2575
2563
  skill: params.skill,
2576
2564
  cwd: effectiveCwd,
@@ -2608,8 +2596,7 @@ async function runSinglePath(data, deps) {
2608
2596
  const currentProvider = ctx.model?.provider;
2609
2597
  const availableModels = ctx.modelRegistry.getAvailable().map(toModelInfo);
2610
2598
  let task = params.task ?? "";
2611
- // lunr: model tiers — explicit model wins; otherwise resolve params.tier via the tier bridge.
2612
- let modelOverride = resolveEffectiveSubagentModel(params.model ?? resolveTierModelOverride(params.tier), agentConfig.model, ctx.model, availableModels, currentProvider, { scope: data.modelScope });
2599
+ let modelOverride = resolveRequiredTierModel(params.tier, availableModels, currentProvider);
2613
2600
  let skillOverride = normalizeSkillInput(params.skill);
2614
2601
  const rawOutput = params.output !== undefined ? params.output : agentConfig.output;
2615
2602
  let effectiveOutput = normalizeSingleOutputOverride(rawOutput, agentConfig.output);
@@ -2625,10 +2612,6 @@ async function runSinglePath(data, deps) {
2625
2612
  }
2626
2613
  task = result.templates[0];
2627
2614
  const override = result.behaviorOverrides[0];
2628
- if (override?.model !== undefined) {
2629
- modelOverride = resolveEffectiveSubagentModel(override.model, agentConfig.model, ctx.model, availableModels, currentProvider, { scope: data.modelScope });
2630
- spec = { ...spec, model: modelOverride, modelSelection: captureModelSelection({ model: override.model }) };
2631
- }
2632
2615
  if (override?.output !== undefined)
2633
2616
  effectiveOutput = normalizeSingleOutputOverride(override.output, agentConfig.output);
2634
2617
  if (override?.skills !== undefined)