@cat-factory/orchestration 0.192.0 → 0.193.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/container/dependencies.d.ts +5 -1
  2. package/dist/container/dependencies.d.ts.map +1 -1
  3. package/dist/container/engine-collaborators.d.ts.map +1 -1
  4. package/dist/container/engine-collaborators.js +4 -7
  5. package/dist/container/engine-collaborators.js.map +1 -1
  6. package/dist/container/execution-service.d.ts.map +1 -1
  7. package/dist/container/execution-service.js +3 -0
  8. package/dist/container/execution-service.js.map +1 -1
  9. package/dist/container/inline-model-deps.d.ts +20 -0
  10. package/dist/container/inline-model-deps.d.ts.map +1 -0
  11. package/dist/container/inline-model-deps.js +38 -0
  12. package/dist/container/inline-model-deps.js.map +1 -0
  13. package/dist/container/modules.d.ts.map +1 -1
  14. package/dist/container/modules.js +23 -39
  15. package/dist/container/modules.js.map +1 -1
  16. package/dist/container/review-modules.d.ts.map +1 -1
  17. package/dist/container/review-modules.js +10 -28
  18. package/dist/container/review-modules.js.map +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/inlineBlockModel.d.ts +51 -0
  24. package/dist/inlineBlockModel.d.ts.map +1 -0
  25. package/dist/inlineBlockModel.js +31 -0
  26. package/dist/inlineBlockModel.js.map +1 -0
  27. package/dist/modules/bugHunt/BugHuntAssessorService.d.ts +8 -4
  28. package/dist/modules/bugHunt/BugHuntAssessorService.d.ts.map +1 -1
  29. package/dist/modules/bugHunt/BugHuntAssessorService.js +6 -10
  30. package/dist/modules/bugHunt/BugHuntAssessorService.js.map +1 -1
  31. package/dist/modules/docInterview/DocInterviewService.d.ts +8 -4
  32. package/dist/modules/docInterview/DocInterviewService.d.ts.map +1 -1
  33. package/dist/modules/docInterview/DocInterviewService.js +4 -13
  34. package/dist/modules/docInterview/DocInterviewService.js.map +1 -1
  35. package/dist/modules/execution/AgentContextBuilder.d.ts +14 -12
  36. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  37. package/dist/modules/execution/AgentContextBuilder.js +8 -28
  38. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  39. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +19 -3
  40. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
  41. package/dist/modules/execution/ForkChatService.d.ts +8 -4
  42. package/dist/modules/execution/ForkChatService.d.ts.map +1 -1
  43. package/dist/modules/execution/ForkChatService.js +4 -13
  44. package/dist/modules/execution/ForkChatService.js.map +1 -1
  45. package/dist/modules/execution/JudgeService.d.ts +8 -4
  46. package/dist/modules/execution/JudgeService.d.ts.map +1 -1
  47. package/dist/modules/execution/JudgeService.js +4 -13
  48. package/dist/modules/execution/JudgeService.js.map +1 -1
  49. package/dist/modules/execution/RunAdmission.d.ts +1 -1
  50. package/dist/modules/execution/RunAdmission.d.ts.map +1 -1
  51. package/dist/modules/execution/RunAdmission.js +5 -2
  52. package/dist/modules/execution/RunAdmission.js.map +1 -1
  53. package/dist/modules/execution/RunDispatcher.d.ts +1 -1
  54. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  55. package/dist/modules/execution/RunDispatcher.js +1 -1
  56. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  57. package/dist/modules/execution/TesterQualityReviewService.d.ts +8 -4
  58. package/dist/modules/execution/TesterQualityReviewService.d.ts.map +1 -1
  59. package/dist/modules/execution/TesterQualityReviewService.js +4 -13
  60. package/dist/modules/execution/TesterQualityReviewService.js.map +1 -1
  61. package/dist/modules/execution/dispatchPromptSettings.d.ts +42 -2
  62. package/dist/modules/execution/dispatchPromptSettings.d.ts.map +1 -1
  63. package/dist/modules/execution/dispatchPromptSettings.js +37 -0
  64. package/dist/modules/execution/dispatchPromptSettings.js.map +1 -1
  65. package/dist/modules/execution/run-context-admission.d.ts +1 -1
  66. package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
  67. package/dist/modules/execution/run-context-admission.js +2 -0
  68. package/dist/modules/execution/run-context-admission.js.map +1 -1
  69. package/dist/modules/initiative/InitiativeInterviewService.d.ts +8 -4
  70. package/dist/modules/initiative/InitiativeInterviewService.d.ts.map +1 -1
  71. package/dist/modules/initiative/InitiativeInterviewService.js +4 -13
  72. package/dist/modules/initiative/InitiativeInterviewService.js.map +1 -1
  73. package/dist/modules/kaizen/KaizenService.d.ts +14 -9
  74. package/dist/modules/kaizen/KaizenService.d.ts.map +1 -1
  75. package/dist/modules/kaizen/KaizenService.js +11 -16
  76. package/dist/modules/kaizen/KaizenService.js.map +1 -1
  77. package/dist/modules/modelPresets/ModelPresetService.d.ts +54 -2
  78. package/dist/modules/modelPresets/ModelPresetService.d.ts.map +1 -1
  79. package/dist/modules/modelPresets/ModelPresetService.js +103 -4
  80. package/dist/modules/modelPresets/ModelPresetService.js.map +1 -1
  81. package/dist/modules/review/IterativeReviewService.d.ts +8 -4
  82. package/dist/modules/review/IterativeReviewService.d.ts.map +1 -1
  83. package/dist/modules/review/IterativeReviewService.js +4 -13
  84. package/dist/modules/review/IterativeReviewService.js.map +1 -1
  85. package/package.json +11 -11
@@ -1,5 +1,6 @@
1
1
  import type { BlockRepository, Clock, ExecutionEventPublisher, ExecutionInstance, IdGenerator, KaizenGrading, KaizenGradingRepository, KaizenOverview, KaizenVerifiedComboRepository, LlmCallMetricRepository, ModelProvider, ModelProviderResolver, ModelRef, WorkspaceSettingsRepository } from '@cat-factory/kernel';
2
2
  import type { AgentContextObservabilityService } from '../observability/AgentContextObservabilityService.js';
3
+ import { type InlineBlockModelDeps } from '../../inlineBlockModel.js';
3
4
  export interface KaizenServiceDependencies {
4
5
  kaizenGradingRepository: KaizenGradingRepository;
5
6
  kaizenVerifiedComboRepository: KaizenVerifiedComboRepository;
@@ -19,15 +20,18 @@ export interface KaizenServiceDependencies {
19
20
  modelProvider?: ModelProvider;
20
21
  /** Default model ref when nothing else resolves — the agents' routing default. */
21
22
  modelRef?: ModelRef;
22
- /** Resolve a pinned model id to a ref (the deployment-aware resolver). */
23
- resolveBlockModel?: (modelId: string | undefined) => ModelRef | undefined;
23
+ /** Resolve a pinned model id to a ref, under the preset's route order. */
24
+ resolveBlockModel?: InlineBlockModelDeps['resolveBlockModel'];
24
25
  /**
25
26
  * Whether a subscription harness ref can run as an INLINE call in this deployment (local
26
27
  * mode's ambient CLI). Keeps it instead of degrading to the routing default. Absent → degrade.
27
28
  */
28
29
  runsInline?: (ref: ModelRef) => boolean;
29
- /** Resolve the workspace's per-kind default model id for the `kaizen` kind. */
30
- resolveWorkspaceModelDefault?: (workspaceId: string, agentKind: string, modelPresetId?: string) => Promise<string | undefined>;
30
+ /**
31
+ * The workspace's per-kind default MODEL for `kaizen` and the ROUTE order the preset in force
32
+ * states, from ONE read. Absent ⇒ block pin plus the routing default, on the default order.
33
+ */
34
+ resolvePresetRouting?: InlineBlockModelDeps['resolvePresetRouting'];
31
35
  }
32
36
  /**
33
37
  * The Kaizen agent: after a run completes, it grades each completed agent step by how
@@ -68,11 +72,12 @@ export declare class KaizenService {
68
72
  private snapshotForStep;
69
73
  private resolveModel;
70
74
  /**
71
- * The grader's model. Kaizen grading is just another inline LLM step, so it resolves its
72
- * model through the SAME shared seam every inline agent uses ({@link resolveInlineModelRef}
73
- * block pin > workspace per-kind default > routing default, keeping an ambient-eligible
74
- * subscription harness ref instead of degrading it) rather than re-deriving that precedence
75
- * here. Returns undefined only when no routing default is wired (grader disabled).
75
+ * The grader's model. Kaizen grading is just another inline LLM step, so it resolves its model
76
+ * through the SAME shared seam every inline agent uses ({@link resolveInlineBlockModelRef}
77
+ * block pin > workspace per-kind default > routing default, under the preset's route order,
78
+ * keeping an ambient-eligible subscription harness ref instead of degrading it) rather than
79
+ * re-deriving that precedence here. Returns undefined only when no routing default is wired
80
+ * (grader disabled), which is why the guard short-circuits the block read.
76
81
  */
77
82
  private modelFor;
78
83
  private updateCombo;
@@ -1 +1 @@
1
- {"version":3,"file":"KaizenService.d.ts","sourceRoot":"","sources":["../../../src/modules/kaizen/KaizenService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,6BAA6B,EAE7B,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAER,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAa5B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAA;AAS5G,MAAM,WAAW,yBAAyB;IACxC,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,eAAe,EAAE,eAAe,CAAA;IAChC,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,6FAA6F;IAC7F,yBAAyB,EAAE,gCAAgC,CAAA;IAC3D,gFAAgF;IAChF,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,qFAAqF;IACrF,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,kFAAkF;IAClF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAA;IACzE;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAA;IACvC,+EAA+E;IAC/E,4BAA4B,CAAC,EAAE,CAC7B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACjC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,yBAAyB,EAAI;IAEhE,qFAAqF;IACrF,IAAI,OAAO,IAAI,OAAO,CAErB;IAID;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDpF;IAID;;;OAGG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBpE;IAED,+FAA+F;IACzF,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E3E;IAID,8EAA8E;IACxE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAM3E;IAED,8EAA8E;IAC9E,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAEnF;YAIa,aAAa;IAM3B,yFAAyF;IACzF,OAAO,CAAC,WAAW;YAIL,eAAe;YAef,YAAY;IAe1B;;;;;;OAMG;YACW,QAAQ;YAmBR,WAAW;YAaX,IAAI;YAWJ,IAAI;CAOnB"}
1
+ {"version":3,"file":"KaizenService.d.ts","sourceRoot":"","sources":["../../../src/modules/kaizen/KaizenService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,6BAA6B,EAE7B,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAER,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAY5B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAA;AAC5G,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2BAA2B,CAAA;AASjG,MAAM,WAAW,yBAAyB;IACxC,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,eAAe,EAAE,eAAe,CAAA;IAChC,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,6FAA6F;IAC7F,yBAAyB,EAAE,gCAAgC,CAAA;IAC3D,gFAAgF;IAChF,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,qFAAqF;IACrF,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,kFAAkF;IAClF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAA;IAC7D;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAA;IACvC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;CACpE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,yBAAyB,EAAI;IAEhE,qFAAqF;IACrF,IAAI,OAAO,IAAI,OAAO,CAErB;IAID;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDpF;IAID;;;OAGG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBpE;IAED,+FAA+F;IACzF,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E3E;IAID,8EAA8E;IACxE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAM3E;IAED,8EAA8E;IAC9E,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAEnF;YAIa,aAAa;IAM3B,yFAAyF;IACzF,OAAO,CAAC,WAAW;YAIL,eAAe;YAef,YAAY;IAe1B;;;;;;;OAOG;YACW,QAAQ;YASR,WAAW;YAaX,IAAI;YAWJ,IAAI;CAOnB"}
@@ -1,6 +1,7 @@
1
1
  import { DEFAULT_WORKSPACE_SETTINGS, extractJson, resolveScopedModelProvider, } from '@cat-factory/kernel';
2
2
  import { generateText } from 'ai';
3
- import { catFactoryObservability, KAIZEN_SYSTEM_PROMPT, promptVersionForKind, resolveInlineModelRef, } from '@cat-factory/agents';
3
+ import { catFactoryObservability, KAIZEN_SYSTEM_PROMPT, promptVersionForKind, } from '@cat-factory/agents';
4
+ import { resolveInlineBlockModelRef } from '../../inlineBlockModel.js';
4
5
  import { comboKeyFor, isVerified, nextComboState } from './kaizen.logic.js';
5
6
  /** The agent kind keying the workspace default model + observability for the grader. */
6
7
  const KAIZEN_AGENT_KIND = 'kaizen';
@@ -209,26 +210,20 @@ export class KaizenService {
209
210
  return { provider, ref };
210
211
  }
211
212
  /**
212
- * The grader's model. Kaizen grading is just another inline LLM step, so it resolves its
213
- * model through the SAME shared seam every inline agent uses ({@link resolveInlineModelRef}
214
- * block pin > workspace per-kind default > routing default, keeping an ambient-eligible
215
- * subscription harness ref instead of degrading it) rather than re-deriving that precedence
216
- * here. Returns undefined only when no routing default is wired (grader disabled).
213
+ * The grader's model. Kaizen grading is just another inline LLM step, so it resolves its model
214
+ * through the SAME shared seam every inline agent uses ({@link resolveInlineBlockModelRef}
215
+ * block pin > workspace per-kind default > routing default, under the preset's route order,
216
+ * keeping an ambient-eligible subscription harness ref instead of degrading it) rather than
217
+ * re-deriving that precedence here. Returns undefined only when no routing default is wired
218
+ * (grader disabled), which is why the guard short-circuits the block read.
217
219
  */
218
220
  async modelFor(workspaceId, blockId) {
219
221
  if (!this.deps.modelRef)
220
222
  return undefined;
221
223
  const block = await this.deps.blockRepository.get(workspaceId, blockId);
222
- return resolveInlineModelRef({
223
- agentRouting: { default: { ref: this.deps.modelRef }, byKind: {} },
224
- resolveBlockModel: this.deps.resolveBlockModel ?? (() => undefined),
225
- resolveWorkspaceModelDefault: this.deps.resolveWorkspaceModelDefault,
226
- ...(this.deps.runsInline ? { runsInline: this.deps.runsInline } : {}),
227
- }, {
228
- agentKind: KAIZEN_AGENT_KIND,
229
- blockModelId: block?.modelId,
230
- modelPresetId: block?.modelPresetId,
231
- workspaceId,
224
+ return resolveInlineBlockModelRef(this.deps, workspaceId, KAIZEN_AGENT_KIND, {
225
+ ...(block?.modelId ? { modelId: block.modelId } : {}),
226
+ ...(block?.modelPresetId ? { modelPresetId: block.modelPresetId } : {}),
232
227
  });
233
228
  }
234
229
  async updateCombo(workspaceId, grading, now) {
@@ -1 +1 @@
1
- {"version":3,"file":"KaizenService.js","sourceRoot":"","sources":["../../../src/modules/kaizen/KaizenService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KaizenService.js","sourceRoot":"","sources":["../../../src/modules/kaizen/KaizenService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Clock, CreateModelPresetInput, IdGenerator, ModelPreset, ModelPresetRepository, UpdateModelPresetInput, WorkspaceRepository } from '@cat-factory/kernel';
1
+ import type { Clock, CreateModelPresetInput, GroupCacheHandle, IdGenerator, ModelFlavor, ModelPreset, ModelPresetCacheValue, ModelPresetRepository, UpdateModelPresetInput, WorkspaceRepository } from '@cat-factory/kernel';
2
2
  export interface ModelPresetServiceDependencies {
3
3
  modelPresetRepository: ModelPresetRepository;
4
4
  workspaceRepository: WorkspaceRepository;
@@ -11,6 +11,13 @@ export interface ModelPresetServiceDependencies {
11
11
  * choice is always preserved. Defaults to {@link DEFAULT_MODEL_PRESET_ID} (Kimi).
12
12
  */
13
13
  defaultPresetId?: string;
14
+ /**
15
+ * Optional: the `AppCaches.modelPreset` slice the run path resolves a block's preset through
16
+ * (its model for the kind AND its route order). Every write below invalidates the workspace
17
+ * group so a preset edit is visible on the very next dispatch. Absent → the run path reads live
18
+ * (tests / no cache wired).
19
+ */
20
+ modelPresetCache?: GroupCacheHandle<ModelPresetCacheValue>;
14
21
  }
15
22
  /**
16
23
  * CRUD for a workspace's model presets (the library a task picks its model→agent
@@ -30,7 +37,20 @@ export declare class ModelPresetService {
30
37
  private readonly idGenerator;
31
38
  private readonly clock;
32
39
  private readonly defaultPresetId;
40
+ private readonly cache?;
33
41
  constructor(deps: ModelPresetServiceDependencies);
42
+ /**
43
+ * Drop the workspace's cached preset library after a write commits. Coarse (one group == one
44
+ * workspace) because a write can flip which preset is the default, so a single edit's blast
45
+ * radius is the whole library — over-invalidation is always safe (CLAUDE.md caching rule).
46
+ */
47
+ private invalidate;
48
+ /**
49
+ * The route order the preset in force states, for a caller that holds the service rather than
50
+ * the repository (the `/models` catalog). Side-effect-free and never seeds, like the free
51
+ * function it delegates to — see {@link resolvePresetProviderPreference}.
52
+ */
53
+ providerPreferenceFor(workspaceId: string, modelPresetId?: string): Promise<readonly ModelFlavor[] | undefined>;
34
54
  /** List a workspace's presets, seeding the built-in presets if none exist yet. */
35
55
  list(workspaceId: string): Promise<ModelPreset[]>;
36
56
  /** Create a new preset. The first one (or one flagged default) becomes the default. */
@@ -46,6 +66,9 @@ export declare class ModelPresetService {
46
66
  * old presets but not the new one). The canonical base model / overrides / `version`
47
67
  * overwrite (or create) the stored row; an existing copy's `isDefault` + `createdAt` are
48
68
  * preserved so reseeding never silently changes which preset is the default or its ordering.
69
+ * A built-in declares no route preference, so a reseed also RESETS one the workspace had set on
70
+ * it — the same disposition as its base model and overrides, which is what "restore the canonical
71
+ * definition" means (a workspace wanting to keep a route order copies the preset instead).
49
72
  * When re-materialising a built-in the workspace had deleted, it only (re)claims the default
50
73
  * if the seed is THIS deployment's default preset AND the workspace currently has none — so
51
74
  * reseeding never steals the default away from the user's chosen preset. Rejects an id not in
@@ -73,5 +96,34 @@ export declare class ModelPresetService {
73
96
  * (never seeds), so it's safe on the hot dispatch path. Shared by both runtime facades
74
97
  * to back `resolveWorkspaceModelDefault`.
75
98
  */
76
- export declare function resolvePresetModelForKind(repo: ModelPresetRepository, workspaceId: string, agentKind: string, modelPresetId?: string): Promise<string>;
99
+ export declare function resolvePresetModelForKind(repo: ModelPresetRepository, workspaceId: string, agentKind: string, modelPresetId?: string, cache?: GroupCacheHandle<ModelPresetCacheValue>): Promise<string>;
100
+ /**
101
+ * The route order the preset in force states, or undefined for the deployment's default order.
102
+ * The `providerPreference` sibling of {@link resolvePresetModelForKind}: same preset selection
103
+ * (selected id else the workspace default), same side-effect-free contract, so the hot dispatch
104
+ * path and the start guard resolve the order from the same row the model id came from.
105
+ *
106
+ * Undefined covers three facts that need no distinguishing, because all three mean "nothing
107
+ * reorders the routes": the preset states no preference, the library is not yet seeded, and the
108
+ * selected id no longer exists.
109
+ */
110
+ export declare function resolvePresetProviderPreference(repo: ModelPresetRepository, workspaceId: string, modelPresetId?: string, cache?: GroupCacheHandle<ModelPresetCacheValue>): Promise<readonly ModelFlavor[] | undefined>;
111
+ /** Both preset-derived facts a resolution needs, from ONE row. */
112
+ export interface PresetRouting {
113
+ /** The model id `agentKind` resolves to (`overrides[kind] ?? baseModelId`). */
114
+ modelId: string;
115
+ /** The preset's route order; undefined ⇒ the deployment's default order. */
116
+ providerPreference?: readonly ModelFlavor[];
117
+ }
118
+ /**
119
+ * The model a kind runs AND the order that model's routes are tried in, resolved from a SINGLE
120
+ * read of the preset in force.
121
+ *
122
+ * The two facts live in one row and every caller on the run path wants both, so asking for them
123
+ * separately ({@link resolvePresetModelForKind} then {@link resolvePresetProviderPreference}) reads
124
+ * that row twice per resolution. Those two remain for the callers that genuinely want one half —
125
+ * the facade-wired `resolveWorkspaceModelDefault` closure, whose signature the executors share, and
126
+ * the `/models` catalog, which resolves no kind — and both are now folds over this.
127
+ */
128
+ export declare function resolvePresetRouting(repo: ModelPresetRepository, workspaceId: string, agentKind: string, modelPresetId?: string, cache?: GroupCacheHandle<ModelPresetCacheValue>): Promise<PresetRouting>;
77
129
  //# sourceMappingURL=ModelPresetService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPresetService.d.ts","sourceRoot":"","sources":["../../../src/modules/modelPresets/ModelPresetService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAY5B,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IAExC,YAAY,IAAI,EAAE,8BAA8B,EAe/C;IAED,kFAAkF;IAC5E,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAItD;IAED,uFAAuF;IACjF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAcrF;IAED,+EAA+E;IACzE,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAetB;IAED,6DAA6D;IACvD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3D;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuBlE;IAED;;;;;;;;OAQG;YACW,YAAY;IAe1B,mGAAmG;IACnG,OAAO,CAAC,QAAQ;CASjB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAKjB"}
1
+ {"version":3,"file":"ModelPresetService.d.ts","sourceRoot":"","sources":["../../../src/modules/modelPresets/ModelPresetService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAY5B,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAA;CAC3D;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAyC;IAEhE,YAAY,IAAI,EAAE,8BAA8B,EAgB/C;IAED;;;;OAIG;YACW,UAAU;IAIxB;;;;OAIG;IACH,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC,CAE7C;IAED,kFAAkF;IAC5E,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAItD;IAED,uFAAuF;IACjF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBrF;IAED,+EAA+E;IACzE,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,WAAW,CAAC,CA2BtB;IAED,6DAA6D;IACvD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;IAED;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBlE;IAED;;;;;;;;OAQG;YACW,YAAY;IAkB1B,mGAAmG;IACnG,OAAO,CAAC,QAAQ;CASjB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAC9C,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAC9C,OAAO,CAAC,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC,CAE7C;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,CAOxB"}
@@ -17,11 +17,13 @@ export class ModelPresetService {
17
17
  idGenerator;
18
18
  clock;
19
19
  defaultPresetId;
20
+ cache;
20
21
  constructor(deps) {
21
22
  this.presets = deps.modelPresetRepository;
22
23
  this.workspaceRepository = deps.workspaceRepository;
23
24
  this.idGenerator = deps.idGenerator;
24
25
  this.clock = deps.clock;
26
+ this.cache = deps.modelPresetCache;
25
27
  // Resolve the deployment's seeded-default id to a REAL catalog id up front. Only a
26
28
  // built-in can be seeded as the first-seed default, so a `defaultPresetId` that matches no
27
29
  // catalog seed (a stale/mistyped value from a deploy-app wrapper) is a misconfiguration:
@@ -33,6 +35,22 @@ export class ModelPresetService {
33
35
  ? requested
34
36
  : DEFAULT_MODEL_PRESET_ID;
35
37
  }
38
+ /**
39
+ * Drop the workspace's cached preset library after a write commits. Coarse (one group == one
40
+ * workspace) because a write can flip which preset is the default, so a single edit's blast
41
+ * radius is the whole library — over-invalidation is always safe (CLAUDE.md caching rule).
42
+ */
43
+ async invalidate(workspaceId) {
44
+ await this.cache?.invalidateGroup(workspaceId);
45
+ }
46
+ /**
47
+ * The route order the preset in force states, for a caller that holds the service rather than
48
+ * the repository (the `/models` catalog). Side-effect-free and never seeds, like the free
49
+ * function it delegates to — see {@link resolvePresetProviderPreference}.
50
+ */
51
+ providerPreferenceFor(workspaceId, modelPresetId) {
52
+ return resolvePresetProviderPreference(this.presets, workspaceId, modelPresetId, this.cache);
53
+ }
36
54
  /** List a workspace's presets, seeding the built-in presets if none exist yet. */
37
55
  async list(workspaceId) {
38
56
  await requireWorkspace(this.workspaceRepository, workspaceId);
@@ -50,9 +68,13 @@ export class ModelPresetService {
50
68
  overrides: input.overrides,
51
69
  // The very first preset must be the default; otherwise honour the request.
52
70
  isDefault: existing.length === 0 ? true : input.isDefault,
71
+ // An empty list is the same statement as no list — "use the default order" — so it is
72
+ // normalised away here rather than persisted as an order over no routes.
73
+ ...(input.providerPreference?.length ? { providerPreference: input.providerPreference } : {}),
53
74
  createdAt: this.clock.now(),
54
75
  };
55
76
  await this.presets.upsert(workspaceId, preset);
77
+ await this.invalidate(workspaceId);
56
78
  return preset;
57
79
  }
58
80
  /** Patch a preset. Demoting the only default is rejected (one must remain). */
@@ -68,8 +90,20 @@ export class ModelPresetService {
68
90
  ...(patch.baseModelId !== undefined ? { baseModelId: patch.baseModelId } : {}),
69
91
  ...(patch.overrides !== undefined ? { overrides: patch.overrides } : {}),
70
92
  ...(patch.isDefault !== undefined ? { isDefault: patch.isDefault } : {}),
93
+ // Three distinct patches, and the empty one is the reason this is not a plain spread: an
94
+ // ABSENT `providerPreference` leaves the stored order alone, a non-empty one replaces it,
95
+ // and an EMPTY one resets the preset to the default order (so "reset" needs no route of
96
+ // its own). `undefined` is written, not omitted, so the reset actually clears the column.
97
+ ...(patch.providerPreference !== undefined
98
+ ? {
99
+ providerPreference: patch.providerPreference.length
100
+ ? patch.providerPreference
101
+ : undefined,
102
+ }
103
+ : {}),
71
104
  };
72
105
  await this.presets.upsert(workspaceId, updated);
106
+ await this.invalidate(workspaceId);
73
107
  return updated;
74
108
  }
75
109
  /** Remove a preset. The default preset cannot be removed. */
@@ -80,6 +114,7 @@ export class ModelPresetService {
80
114
  throw new ConflictError('Cannot delete the default preset; promote another preset first.');
81
115
  }
82
116
  await this.presets.remove(workspaceId, id);
117
+ await this.invalidate(workspaceId);
83
118
  }
84
119
  /**
85
120
  * Restore a built-in preset to its current catalog definition ({@link seedModelPresets}).
@@ -88,6 +123,9 @@ export class ModelPresetService {
88
123
  * old presets but not the new one). The canonical base model / overrides / `version`
89
124
  * overwrite (or create) the stored row; an existing copy's `isDefault` + `createdAt` are
90
125
  * preserved so reseeding never silently changes which preset is the default or its ordering.
126
+ * A built-in declares no route preference, so a reseed also RESETS one the workspace had set on
127
+ * it — the same disposition as its base model and overrides, which is what "restore the canonical
128
+ * definition" means (a workspace wanting to keep a route order copies the preset instead).
91
129
  * When re-materialising a built-in the workspace had deleted, it only (re)claims the default
92
130
  * if the seed is THIS deployment's default preset AND the workspace currently has none — so
93
131
  * reseeding never steals the default away from the user's chosen preset. Rejects an id not in
@@ -113,6 +151,7 @@ export class ModelPresetService {
113
151
  createdAt: existing?.createdAt ?? this.clock.now(),
114
152
  };
115
153
  await this.presets.upsert(workspaceId, preset);
154
+ await this.invalidate(workspaceId);
116
155
  return preset;
117
156
  }
118
157
  /**
@@ -138,6 +177,9 @@ export class ModelPresetService {
138
177
  createdAt: now + offset++,
139
178
  });
140
179
  }
180
+ // A dispatch that resolved before first-use seeding cached the null default; drop it so the
181
+ // very next one sees the seeded library rather than the deployment's routing fallback.
182
+ await this.invalidate(workspaceId);
141
183
  }
142
184
  /** A catalog seed as a persisted preset (its stable id + version, without `createdAt`/default). */
143
185
  fromSeed(seed) {
@@ -158,9 +200,66 @@ export class ModelPresetService {
158
200
  * (never seeds), so it's safe on the hot dispatch path. Shared by both runtime facades
159
201
  * to back `resolveWorkspaceModelDefault`.
160
202
  */
161
- export async function resolvePresetModelForKind(repo, workspaceId, agentKind, modelPresetId) {
162
- const preset = (modelPresetId ? await repo.get(workspaceId, modelPresetId) : null) ??
163
- (await repo.getDefault(workspaceId));
164
- return modelForKindFromPreset(preset, agentKind);
203
+ export async function resolvePresetModelForKind(repo, workspaceId, agentKind, modelPresetId, cache) {
204
+ return (await resolvePresetRouting(repo, workspaceId, agentKind, modelPresetId, cache)).modelId;
205
+ }
206
+ /**
207
+ * The route order the preset in force states, or undefined for the deployment's default order.
208
+ * The `providerPreference` sibling of {@link resolvePresetModelForKind}: same preset selection
209
+ * (selected id else the workspace default), same side-effect-free contract, so the hot dispatch
210
+ * path and the start guard resolve the order from the same row the model id came from.
211
+ *
212
+ * Undefined covers three facts that need no distinguishing, because all three mean "nothing
213
+ * reorders the routes": the preset states no preference, the library is not yet seeded, and the
214
+ * selected id no longer exists.
215
+ */
216
+ export async function resolvePresetProviderPreference(repo, workspaceId, modelPresetId, cache) {
217
+ return preferenceOf(await presetInForce(repo, workspaceId, modelPresetId, cache));
218
+ }
219
+ /**
220
+ * The model a kind runs AND the order that model's routes are tried in, resolved from a SINGLE
221
+ * read of the preset in force.
222
+ *
223
+ * The two facts live in one row and every caller on the run path wants both, so asking for them
224
+ * separately ({@link resolvePresetModelForKind} then {@link resolvePresetProviderPreference}) reads
225
+ * that row twice per resolution. Those two remain for the callers that genuinely want one half —
226
+ * the facade-wired `resolveWorkspaceModelDefault` closure, whose signature the executors share, and
227
+ * the `/models` catalog, which resolves no kind — and both are now folds over this.
228
+ */
229
+ export async function resolvePresetRouting(repo, workspaceId, agentKind, modelPresetId, cache) {
230
+ const preset = await presetInForce(repo, workspaceId, modelPresetId, cache);
231
+ const preference = preferenceOf(preset);
232
+ return {
233
+ modelId: modelForKindFromPreset(preset, agentKind),
234
+ ...(preference ? { providerPreference: preference } : {}),
235
+ };
236
+ }
237
+ /** An empty stored order is the same statement as none: "walk the deployment's default". */
238
+ function preferenceOf(preset) {
239
+ const preference = preset?.providerPreference;
240
+ return preference?.length ? preference : undefined;
241
+ }
242
+ /**
243
+ * The preset a block resolves under: its selected one, else the workspace default.
244
+ *
245
+ * Read through the `AppCaches.modelPreset` slice when one is wired, keyed per resolved id so a
246
+ * selected preset and the default cache separately, grouped by workspace so one write drops the
247
+ * whole library. A null (deleted selected id / unseeded default) caches as a VALUE and still falls
248
+ * through, exactly as an uncached read would — the `ModelPresetCacheValue` wrapper, since
249
+ * layered-loader treats a bare null as unresolved. The shape is `RunMergePolicy.resolve`'s, one
250
+ * row over.
251
+ */
252
+ async function presetInForce(repo, workspaceId, modelPresetId, cache) {
253
+ const read = async (key, load) => {
254
+ if (!cache)
255
+ return load();
256
+ return (await cache.get(key, workspaceId, async () => ({ preset: await load() }))).preset;
257
+ };
258
+ if (modelPresetId) {
259
+ const picked = await read(`picked:${modelPresetId}`, () => repo.get(workspaceId, modelPresetId));
260
+ if (picked)
261
+ return picked;
262
+ }
263
+ return read('default', () => repo.getDefault(workspaceId));
165
264
  }
166
265
  //# sourceMappingURL=ModelPresetService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPresetService.js","sourceRoot":"","sources":["../../../src/modules/modelPresets/ModelPresetService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelPresetService.js","sourceRoot":"","sources":["../../../src/modules/modelPresets/ModelPresetService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Block, BlockRepository, Clock, IdGenerator, ModelProvider, ModelProviderResolver, ModelRef, NotificationType, OwnServiceContext, RequirementConcernLevel, RequirementReviewItem, RequirementReviewStatus, ReviewItemStatus } from '@cat-factory/kernel';
2
2
  import { type BespokeSystemPrompt } from '@cat-factory/agents';
3
3
  import { type ResolveBlockRunContext } from '../../inlineScope.js';
4
+ import { type InlineBlockModelDeps } from '../../inlineBlockModel.js';
4
5
  import type { NotificationService } from '../notifications/NotificationService.js';
5
6
  /** The fields every review (requirements or clarity) shares; the doc field is per-kind. */
6
7
  export interface ReviewCommon {
@@ -42,8 +43,8 @@ export interface IterativeReviewDeps {
42
43
  modelProvider?: ModelProvider;
43
44
  /** Default model ref when the block pins none — the agents' routing default. */
44
45
  modelRef?: ModelRef;
45
- /** Resolve a block's selected model id to a ref (the deployment-aware resolver). */
46
- resolveBlockModel?: (modelId: string | undefined) => ModelRef | undefined;
46
+ /** Resolve a block's selected model id to a ref, under the preset's route order. */
47
+ resolveBlockModel?: InlineBlockModelDeps['resolveBlockModel'];
47
48
  /**
48
49
  * Whether a container-only subscription harness ref can run as an INLINE call in this
49
50
  * deployment (local mode's ambient CLI). Keeps an ambient-eligible harness ref instead of
@@ -51,8 +52,11 @@ export interface IterativeReviewDeps {
51
52
  * reviewer/rework on a subscription model. Absent → always degrade (Node/Worker).
52
53
  */
53
54
  runsInline?: (ref: ModelRef) => boolean;
54
- /** Resolve the workspace's per-agent-kind default model id (consulted when the block pins none). */
55
- resolveWorkspaceModelDefault?: (workspaceId: string, agentKind: string, modelPresetId?: string) => Promise<string | undefined>;
55
+ /**
56
+ * The workspace's per-kind default MODEL and the ROUTE order the preset in force states, from
57
+ * ONE read. Absent ⇒ block pin plus the routing default, on the deployment's default order.
58
+ */
59
+ resolvePresetRouting?: InlineBlockModelDeps['resolvePresetRouting'];
56
60
  /**
57
61
  * Resolve the run/execution + initiator a reviewer pass belongs to, from the block under
58
62
  * review. Threaded into the model scope so a facade that serves an inline subscription ref
@@ -1 +1 @@
1
- {"version":3,"file":"IterativeReviewService.d.ts","sourceRoot":"","sources":["../../../src/modules/review/IterativeReviewService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,KAAK,EACL,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAW5B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,sBAAsB,EAAoB,MAAM,sBAAsB,CAAA;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAuBlF,2FAA2F;AAC3F,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,uBAAuB,CAAA;IAC/B,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACzE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC7D,yFAAyF;IACzF,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,2FAA2F;IAC3F,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrE;AAWD,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,2FAA2F;IAC3F,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAA;IACzE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAA;IACvC,oGAAoG;IACpG,4BAA4B,CAAC,EAAE,CAC7B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAChC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAA;IAC1C,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACjC;AAeD;;;;;;;;;;;;;GAaG;AACH,8BAAsB,sBAAsB,CAC1C,OAAO,SAAS,YAAY,EAC5B,QAAQ,EAGR,aAAa,GAAG,OAAO;IAEX,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAAxD,YAA+B,IAAI,EAAE,mBAAmB,EAAI;IAI5D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjE,8EAA8E;IAC9E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC9C,0FAA0F;IAC1F,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IACjD,sGAAsG;IACtG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IACnD,4EAA4E;IAC5E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAA;IAC7D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAA;IAC7D,gEAAgE;IAChE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAClD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAChD,gFAAgF;IAChF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC/C,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IACrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC9D,6FAA6F;IAC7F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;IAC1D,qFAAqF;IACrF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IAEvD,6EAA6E;IAC7E,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAA;IAC3F,oFAAoF;IACpF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACzE,8EAA8E;IAC9E,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvE,0DAA0D;IAC1D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;IAC1D,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACjE,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA;IAI3D,uDAAuD;IACvD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,oEAAoE;IAC9D,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAE/E;IAED;;;;;OAKG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;KAC3C,GAAG,aAGa,GAChB,OAAO,CAAC,OAAO,CAAC,CAclB;IAED;;;;;;;OAOG;IACH,UAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,qBAAqB,EAAE,EAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,uBAAuB,CAAA;KAAE,GACzE,OAAO,CAAC,OAAO,CAAC,CA2BlB;IAED;;;;;;OAMG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;KAAO,GACxD,OAAO,CAAC,OAAO,CAAC,CAuClB;IAED,uEAAuE;IACjE,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAMlB;IAED,yDAAyD;IACnD,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CAKlB;IAED;;;;;;OAMG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAA2D,GACxF,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CA2D9B;IAED;;;OAGG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK9E;IAED,wFAAwF;IAClF,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM7E;IAED,0FAA0F;IACpF,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/E;IAED,gGAAgG;IAC1F,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7E;IAID;;;;OAIG;IACH,UAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGpC;IAED;;;;;;OAMG;IACH,UAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAezF;IAED,kGAAkG;IAClG;;;;;;;;;;OAUG;IACH;;;;;;;OAOG;IACH,UAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO/F;IAED,UAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAGjB;IAED,UAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC;QAAE,aAAa,EAAE,aAAa,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAA;KAAE,CAAC,CAO1D;IAED,OAAO,CAAC,cAAc;IAQtB,4FAA4F;IAC5F,UAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,qBAAqB,EAAE,CAAA;KAAE,CAAC,CAwB5D;IAED;;;OAGG;IACH,UAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Bf;YAEa,IAAI;IAIlB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvD,OAAO,CAAC,OAAO,CAAC,CAMlB;IAED;;;;;OAKG;IACH,UAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAUzB;IAED,UAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAClC,OAAO,CAAC,OAAO,CAAC,CAQlB;YAEa,UAAU;CAezB"}
1
+ {"version":3,"file":"IterativeReviewService.d.ts","sourceRoot":"","sources":["../../../src/modules/review/IterativeReviewService.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { generateText } from 'ai';
2
- import { assertFound, describeOwnService, resolveServiceFrameBlock, ReviewContendedError, DEFAULT_MAX_REQUIREMENT_ITERATIONS, inlineModelRef, resolveScopedModelProvider, ValidationError, } from '@cat-factory/kernel';
2
+ import { assertFound, describeOwnService, resolveServiceFrameBlock, ReviewContendedError, DEFAULT_MAX_REQUIREMENT_ITERATIONS, resolveScopedModelProvider, ValidationError, } from '@cat-factory/kernel';
3
3
  import { catFactoryObservability, composeBespokePrompt, } from '@cat-factory/agents';
4
4
  import { scopeForBlockRun } from '../../inlineScope.js';
5
+ import { resolveInlineBlockModelRef } from '../../inlineBlockModel.js';
5
6
  import { coerceReviewItems, disposeReview, extractJson, } from '../requirements/requirements.logic.js';
6
7
  /**
7
8
  * How many times a contended {@link IterativeReviewService.mutateReview} reloads and re-applies
@@ -272,18 +273,8 @@ export class IterativeReviewService {
272
273
  * because the reviewer is an INLINE LLM call with no provider key for the container harness
273
274
  * — the same seam the inline agent executor uses, so the two can't drift.
274
275
  */
275
- async modelFor(workspaceId, block) {
276
- const fallback = this.deps.modelRef;
277
- const runsInline = this.deps.runsInline;
278
- const resolve = (ref) => inlineModelRef(ref, fallback ?? ref, runsInline ? { runsInline } : {});
279
- const fromBlock = this.deps.resolveBlockModel?.(block.modelId);
280
- if (fromBlock)
281
- return resolve(fromBlock);
282
- const defaultId = await this.deps.resolveWorkspaceModelDefault?.(workspaceId, this.reviewAgentKind, block.modelPresetId);
283
- const fromDefault = this.deps.resolveBlockModel?.(defaultId);
284
- if (fromDefault)
285
- return resolve(fromDefault);
286
- return fallback;
276
+ modelFor(workspaceId, block) {
277
+ return resolveInlineBlockModelRef(this.deps, workspaceId, this.reviewAgentKind, block);
287
278
  }
288
279
  /** Resolve the provider + ref, throwing the kind's "no model configured" error if unavailable. */
289
280
  /**