@ashx-j/lunr-dev 0.2.13-dev.4.1 → 0.2.13-dev.7.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 (208) 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/cloudflare-ai-gateway.json +1 -1
  97. package/dist/catalog/providers/fireworks.json +1 -1
  98. package/dist/catalog/providers/github-copilot.json +1 -1
  99. package/dist/catalog/providers/google-vertex.json +1 -1
  100. package/dist/catalog/providers/google.json +1 -1
  101. package/dist/catalog/providers/huggingface.json +1 -1
  102. package/dist/catalog/providers/nvidia.json +1 -1
  103. package/dist/catalog/providers/opencode-go.json +1 -1
  104. package/dist/catalog/providers/opencode.json +1 -1
  105. package/dist/catalog/providers/openrouter.json +1 -1
  106. package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
  107. package/dist/catalog/publication.json +3 -3
  108. package/dist/core/agent-session-runtime.d.ts +5 -1
  109. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  110. package/dist/core/agent-session-runtime.js +7 -2
  111. package/dist/core/agent-session-runtime.js.map +1 -1
  112. package/dist/core/agent-session.d.ts +2 -0
  113. package/dist/core/agent-session.d.ts.map +1 -1
  114. package/dist/core/agent-session.js +20 -5
  115. package/dist/core/agent-session.js.map +1 -1
  116. package/dist/core/context-breakdown.d.ts +2 -0
  117. package/dist/core/context-breakdown.d.ts.map +1 -1
  118. package/dist/core/context-breakdown.js +6 -2
  119. package/dist/core/context-breakdown.js.map +1 -1
  120. package/dist/core/injected-prompt.d.ts +3 -3
  121. package/dist/core/injected-prompt.d.ts.map +1 -1
  122. package/dist/core/injected-prompt.js +2 -7
  123. package/dist/core/injected-prompt.js.map +1 -1
  124. package/dist/core/large-subagent-launch.d.ts +13 -0
  125. package/dist/core/large-subagent-launch.d.ts.map +1 -0
  126. package/dist/core/large-subagent-launch.js +54 -0
  127. package/dist/core/large-subagent-launch.js.map +1 -0
  128. package/dist/core/model-instructions.d.ts +24 -0
  129. package/dist/core/model-instructions.d.ts.map +1 -0
  130. package/dist/core/model-instructions.js +123 -0
  131. package/dist/core/model-instructions.js.map +1 -0
  132. package/dist/core/permissions.d.ts +11 -10
  133. package/dist/core/permissions.d.ts.map +1 -1
  134. package/dist/core/permissions.js +61 -45
  135. package/dist/core/permissions.js.map +1 -1
  136. package/dist/core/plan-mode.d.ts.map +1 -1
  137. package/dist/core/plan-mode.js +10 -1
  138. package/dist/core/plan-mode.js.map +1 -1
  139. package/dist/core/resource-loader.d.ts +3 -0
  140. package/dist/core/resource-loader.d.ts.map +1 -1
  141. package/dist/core/resource-loader.js +13 -4
  142. package/dist/core/resource-loader.js.map +1 -1
  143. package/dist/core/runtime-bridges.d.ts +4 -0
  144. package/dist/core/runtime-bridges.d.ts.map +1 -0
  145. package/dist/core/runtime-bridges.js +16 -0
  146. package/dist/core/runtime-bridges.js.map +1 -0
  147. package/dist/core/sdk.d.ts.map +1 -1
  148. package/dist/core/sdk.js +1 -0
  149. package/dist/core/sdk.js.map +1 -1
  150. package/dist/core/session-manager.d.ts.map +1 -1
  151. package/dist/core/session-manager.js +17 -16
  152. package/dist/core/session-manager.js.map +1 -1
  153. package/dist/core/settings-manager.d.ts +13 -0
  154. package/dist/core/settings-manager.d.ts.map +1 -1
  155. package/dist/core/settings-manager.js +32 -0
  156. package/dist/core/settings-manager.js.map +1 -1
  157. package/dist/core/settings-tools-bridge.d.ts +35 -0
  158. package/dist/core/settings-tools-bridge.d.ts.map +1 -0
  159. package/dist/core/settings-tools-bridge.js +56 -0
  160. package/dist/core/settings-tools-bridge.js.map +1 -0
  161. package/dist/core/swarm.d.ts +0 -31
  162. package/dist/core/swarm.d.ts.map +1 -1
  163. package/dist/core/swarm.js +2 -76
  164. package/dist/core/swarm.js.map +1 -1
  165. package/dist/core/system-prompt.d.ts.map +1 -1
  166. package/dist/core/system-prompt.js +1 -1
  167. package/dist/core/system-prompt.js.map +1 -1
  168. package/dist/gateway/agent-bridge.d.ts.map +1 -1
  169. package/dist/gateway/agent-bridge.js +3 -2
  170. package/dist/gateway/agent-bridge.js.map +1 -1
  171. package/dist/gateway/approval.d.ts.map +1 -1
  172. package/dist/gateway/approval.js +4 -3
  173. package/dist/gateway/approval.js.map +1 -1
  174. package/dist/gateway/cron.d.ts.map +1 -1
  175. package/dist/gateway/cron.js +3 -2
  176. package/dist/gateway/cron.js.map +1 -1
  177. package/dist/gateway/router.d.ts +1 -1
  178. package/dist/gateway/router.d.ts.map +1 -1
  179. package/dist/gateway/router.js +1 -1
  180. package/dist/gateway/router.js.map +1 -1
  181. package/dist/main.d.ts.map +1 -1
  182. package/dist/main.js +3 -9
  183. package/dist/main.js.map +1 -1
  184. package/dist/migrations.d.ts.map +1 -1
  185. package/dist/migrations.js +4 -0
  186. package/dist/migrations.js.map +1 -1
  187. package/dist/modes/interactive/components/injected-prompt-message.d.ts +1 -1
  188. package/dist/modes/interactive/components/injected-prompt-message.d.ts.map +1 -1
  189. package/dist/modes/interactive/components/injected-prompt-message.js +1 -1
  190. package/dist/modes/interactive/components/injected-prompt-message.js.map +1 -1
  191. package/dist/modes/interactive/components/settings-selector.d.ts +8 -1
  192. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  193. package/dist/modes/interactive/components/settings-selector.js +61 -1
  194. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  195. package/dist/modes/interactive/interactive-mode.d.ts +1 -1
  196. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  197. package/dist/modes/interactive/interactive-mode.js +31 -23
  198. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  199. package/dist/startup/interactive-shell.d.ts.map +1 -1
  200. package/dist/startup/interactive-shell.js +2 -1
  201. package/dist/startup/interactive-shell.js.map +1 -1
  202. package/docs/features.md +7 -6
  203. package/docs/quickstart.md +3 -2
  204. package/docs/settings.md +3 -1
  205. package/docs/termux.md +1 -1
  206. package/docs/usage.md +2 -1
  207. package/examples/extensions/subagent/README.md +1 -1
  208. 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)