@cat-factory/orchestration 0.191.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 (116) hide show
  1. package/dist/container/dependencies.d.ts +19 -2
  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/platform-modules.d.ts.map +1 -1
  17. package/dist/container/platform-modules.js +1 -0
  18. package/dist/container/platform-modules.js.map +1 -1
  19. package/dist/container/review-modules.d.ts.map +1 -1
  20. package/dist/container/review-modules.js +10 -28
  21. package/dist/container/review-modules.js.map +1 -1
  22. package/dist/index.d.ts +5 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +5 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/inlineBlockModel.d.ts +51 -0
  27. package/dist/inlineBlockModel.d.ts.map +1 -0
  28. package/dist/inlineBlockModel.js +31 -0
  29. package/dist/inlineBlockModel.js.map +1 -0
  30. package/dist/modules/bugHunt/BugHuntAssessorService.d.ts +8 -4
  31. package/dist/modules/bugHunt/BugHuntAssessorService.d.ts.map +1 -1
  32. package/dist/modules/bugHunt/BugHuntAssessorService.js +6 -10
  33. package/dist/modules/bugHunt/BugHuntAssessorService.js.map +1 -1
  34. package/dist/modules/docInterview/DocInterviewService.d.ts +8 -4
  35. package/dist/modules/docInterview/DocInterviewService.d.ts.map +1 -1
  36. package/dist/modules/docInterview/DocInterviewService.js +4 -13
  37. package/dist/modules/docInterview/DocInterviewService.js.map +1 -1
  38. package/dist/modules/execution/AgentContextBuilder.d.ts +14 -12
  39. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  40. package/dist/modules/execution/AgentContextBuilder.js +8 -28
  41. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  42. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +26 -3
  43. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
  44. package/dist/modules/execution/ForkChatService.d.ts +8 -4
  45. package/dist/modules/execution/ForkChatService.d.ts.map +1 -1
  46. package/dist/modules/execution/ForkChatService.js +4 -13
  47. package/dist/modules/execution/ForkChatService.js.map +1 -1
  48. package/dist/modules/execution/GateStepController.d.ts +15 -0
  49. package/dist/modules/execution/GateStepController.d.ts.map +1 -1
  50. package/dist/modules/execution/GateStepController.js +19 -0
  51. package/dist/modules/execution/GateStepController.js.map +1 -1
  52. package/dist/modules/execution/JudgeService.d.ts +8 -4
  53. package/dist/modules/execution/JudgeService.d.ts.map +1 -1
  54. package/dist/modules/execution/JudgeService.js +4 -13
  55. package/dist/modules/execution/JudgeService.js.map +1 -1
  56. package/dist/modules/execution/PollRunningController.d.ts +8 -0
  57. package/dist/modules/execution/PollRunningController.d.ts.map +1 -1
  58. package/dist/modules/execution/PollRunningController.js +14 -0
  59. package/dist/modules/execution/PollRunningController.js.map +1 -1
  60. package/dist/modules/execution/RunAdmission.d.ts +1 -1
  61. package/dist/modules/execution/RunAdmission.d.ts.map +1 -1
  62. package/dist/modules/execution/RunAdmission.js +5 -2
  63. package/dist/modules/execution/RunAdmission.js.map +1 -1
  64. package/dist/modules/execution/RunDispatcher.d.ts +7 -21
  65. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  66. package/dist/modules/execution/RunDispatcher.js +30 -7
  67. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  68. package/dist/modules/execution/TesterQualityReviewService.d.ts +8 -4
  69. package/dist/modules/execution/TesterQualityReviewService.d.ts.map +1 -1
  70. package/dist/modules/execution/TesterQualityReviewService.js +4 -13
  71. package/dist/modules/execution/TesterQualityReviewService.js.map +1 -1
  72. package/dist/modules/execution/dispatchPromptSettings.d.ts +42 -2
  73. package/dist/modules/execution/dispatchPromptSettings.d.ts.map +1 -1
  74. package/dist/modules/execution/dispatchPromptSettings.js +37 -0
  75. package/dist/modules/execution/dispatchPromptSettings.js.map +1 -1
  76. package/dist/modules/execution/run-context-admission.d.ts +1 -1
  77. package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
  78. package/dist/modules/execution/run-context-admission.js +2 -0
  79. package/dist/modules/execution/run-context-admission.js.map +1 -1
  80. package/dist/modules/initiative/InitiativeInterviewService.d.ts +8 -4
  81. package/dist/modules/initiative/InitiativeInterviewService.d.ts.map +1 -1
  82. package/dist/modules/initiative/InitiativeInterviewService.js +4 -13
  83. package/dist/modules/initiative/InitiativeInterviewService.js.map +1 -1
  84. package/dist/modules/kaizen/KaizenService.d.ts +14 -9
  85. package/dist/modules/kaizen/KaizenService.d.ts.map +1 -1
  86. package/dist/modules/kaizen/KaizenService.js +11 -16
  87. package/dist/modules/kaizen/KaizenService.js.map +1 -1
  88. package/dist/modules/modelPresets/ModelPresetService.d.ts +54 -2
  89. package/dist/modules/modelPresets/ModelPresetService.d.ts.map +1 -1
  90. package/dist/modules/modelPresets/ModelPresetService.js +103 -4
  91. package/dist/modules/modelPresets/ModelPresetService.js.map +1 -1
  92. package/dist/modules/observability/GateOutcomeRecorder.d.ts +33 -0
  93. package/dist/modules/observability/GateOutcomeRecorder.d.ts.map +1 -0
  94. package/dist/modules/observability/GateOutcomeRecorder.js +45 -0
  95. package/dist/modules/observability/GateOutcomeRecorder.js.map +1 -0
  96. package/dist/modules/observability/PlatformObservabilityService.d.ts +32 -1
  97. package/dist/modules/observability/PlatformObservabilityService.d.ts.map +1 -1
  98. package/dist/modules/observability/PlatformObservabilityService.js +71 -10
  99. package/dist/modules/observability/PlatformObservabilityService.js.map +1 -1
  100. package/dist/modules/observability/platform-health.logic.d.ts +35 -4
  101. package/dist/modules/observability/platform-health.logic.d.ts.map +1 -1
  102. package/dist/modules/observability/platform-health.logic.js +45 -0
  103. package/dist/modules/observability/platform-health.logic.js.map +1 -1
  104. package/dist/modules/observability/platform-observability.logic.d.ts +41 -4
  105. package/dist/modules/observability/platform-observability.logic.d.ts.map +1 -1
  106. package/dist/modules/observability/platform-observability.logic.js +88 -6
  107. package/dist/modules/observability/platform-observability.logic.js.map +1 -1
  108. package/dist/modules/observability/retentionPass.d.ts +22 -0
  109. package/dist/modules/observability/retentionPass.d.ts.map +1 -1
  110. package/dist/modules/observability/retentionPass.js +12 -0
  111. package/dist/modules/observability/retentionPass.js.map +1 -1
  112. package/dist/modules/review/IterativeReviewService.d.ts +8 -4
  113. package/dist/modules/review/IterativeReviewService.d.ts.map +1 -1
  114. package/dist/modules/review/IterativeReviewService.js +4 -13
  115. package/dist/modules/review/IterativeReviewService.js.map +1 -1
  116. 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":"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"}
@@ -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":"AAYA,OAAO,EACL,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAwB5B;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAAuB;IAC9B,mBAAmB,CAAqB;IACxC,WAAW,CAAa;IACxB,KAAK,CAAO;IACZ,eAAe,CAAQ;IACvB,KAAK,CAA0C;IAEhE,YAAY,IAAoC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAA;QACzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAClC,mFAAmF;QACnF,2FAA2F;QAC3F,yFAAyF;QACzF,0FAA0F;QAC1F,uFAAuF;QACvF,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,uBAAuB,CAAA;QACjE,IAAI,CAAC,eAAe,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC;YACvE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,uBAAuB,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CAAC,WAAmB;QAC1C,MAAM,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,WAAmB,EACnB,aAAsB;QAEtB,OAAO,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9F,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC5B,MAAM,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvC,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,KAA6B;QAC7D,MAAM,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACrD,MAAM,MAAM,GAAgB;YAC1B,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,2EAA2E;YAC3E,SAAS,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;YACzD,sFAAsF;YACtF,yEAAyE;YACzE,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SAC5B,CAAA;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,MAAM,CACV,WAAmB,EACnB,EAAU,EACV,KAA6B;QAE7B,MAAM,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;QACxF,IAAI,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACpD,MAAM,IAAI,aAAa,CAAC,kEAAkE,CAAC,CAAA;QAC7F,CAAC;QACD,MAAM,OAAO,GAAgB;YAC3B,GAAG,QAAQ;YACX,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,yFAAyF;YACzF,0FAA0F;YAC1F,wFAAwF;YACxF,0FAA0F;YAC1F,GAAG,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS;gBACxC,CAAC,CAAC;oBACE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,MAAM;wBACjD,CAAC,CAAC,KAAK,CAAC,kBAAkB;wBAC1B,CAAC,CAAC,SAAS;iBACd;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAA;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAClC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,EAAU;QAC1C,MAAM,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACxD,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CAAC,iEAAiE,CAAC,CAAA;QAC5F,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,EAAU;QAC1C,MAAM,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAC7D,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,eAAe,CACvB,iBAAiB,EAAE,oGAAoG,CACxH,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACxD,oFAAoF;QACpF,0FAA0F;QAC1F,qFAAqF;QACrF,yBAAyB;QACzB,MAAM,SAAS,GAAG,QAAQ;YACxB,CAAC,CAAC,QAAQ,CAAC,SAAS;YACpB,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,CAAA;QAC7F,MAAM,MAAM,GAAgB;YAC1B,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtB,SAAS;YACT,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SACnD,CAAA;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,mFAAmF;QACnF,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;gBACrC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe;gBAC3C,SAAS,EAAE,GAAG,GAAG,MAAM,EAAE;aAC1B,CAAC,CAAA;QACJ,CAAC;QACD,4FAA4F;QAC5F,uFAAuF;QACvF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mGAAmG;IAC3F,QAAQ,CAAC,IAAqB;QACpC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;IACH,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAA2B,EAC3B,WAAmB,EACnB,SAAiB,EACjB,aAAsB,EACtB,KAA+C;IAE/C,OAAO,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;AACjG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,IAA2B,EAC3B,WAAmB,EACnB,aAAsB,EACtB,KAA+C;IAE/C,OAAO,YAAY,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAA;AACnF,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA2B,EAC3B,WAAmB,EACnB,SAAiB,EACjB,aAAsB,EACtB,KAA+C;IAE/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;IAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACvC,OAAO;QACL,OAAO,EAAE,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC;QAClD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,4FAA4F;AAC5F,SAAS,YAAY,CAAC,MAA0B;IAC9C,MAAM,UAAU,GAAG,MAAM,EAAE,kBAAkB,CAAA;IAC7C,OAAO,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAC1B,IAA2B,EAC3B,WAAmB,EACnB,aAAsB,EACtB,KAA+C;IAE/C,MAAM,IAAI,GAAG,KAAK,EAChB,GAAW,EACX,IAAuC,EACV,EAAE;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,EAAE,CAAA;QACzB,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC3F,CAAC,CAAA;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;QAChG,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;AAC5D,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { ExecutionInstance, GateOutcomeKind, GateOutcomeRepository, Logger, PipelineStep } from '@cat-factory/kernel';
2
+ /** What the caller knows at the moment a gate settles. */
3
+ export interface SettledGate {
4
+ workspaceId: string;
5
+ instance: ExecutionInstance;
6
+ step: PipelineStep;
7
+ /** The gate step's index, which (with the run) gives the row its replay-stable identity. */
8
+ stepIndex: number;
9
+ /** The helper agent kind this gate escalates to, or null when it has none. */
10
+ helperKind: string | null;
11
+ outcome: GateOutcomeKind;
12
+ }
13
+ export interface GateOutcomeRecorderDeps {
14
+ gateOutcomeRepository: GateOutcomeRepository;
15
+ now: () => number;
16
+ logger?: Logger;
17
+ }
18
+ export declare class GateOutcomeRecorder {
19
+ private readonly deps;
20
+ constructor(deps: GateOutcomeRecorderDeps);
21
+ /**
22
+ * Record a gate's terminal verdict. Never throws.
23
+ *
24
+ * The row id is DERIVED (`<runId>:<stepIndex>:<outcome>`) rather than minted, because the
25
+ * durable drivers replay: a minted id would let one settle become two rows and inflate every
26
+ * statistic the projection exists to report. Deriving it makes the write idempotent under
27
+ * replay while still letting a step that is RE-RUN and ends DIFFERENTLY record that second,
28
+ * genuinely different verdict. A re-run that ends the same way collapses onto the first row,
29
+ * which is the honest reading: the gate settled that way, once, on this step.
30
+ */
31
+ record(settled: SettledGate): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=GateOutcomeRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GateOutcomeRecorder.d.ts","sourceRoot":"","sources":["../../../src/modules/observability/GateOutcomeRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,MAAM,EACN,YAAY,EACb,MAAM,qBAAqB,CAAA;AAY5B,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,eAAe,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,uBAAuB,EAAI;IAE9D;;;;;;;;;OASG;IACG,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhD;CACF"}
@@ -0,0 +1,45 @@
1
+ import { noopLogger, runBestEffort } from '@cat-factory/kernel';
2
+ export class GateOutcomeRecorder {
3
+ deps;
4
+ constructor(deps) {
5
+ this.deps = deps;
6
+ }
7
+ /**
8
+ * Record a gate's terminal verdict. Never throws.
9
+ *
10
+ * The row id is DERIVED (`<runId>:<stepIndex>:<outcome>`) rather than minted, because the
11
+ * durable drivers replay: a minted id would let one settle become two rows and inflate every
12
+ * statistic the projection exists to report. Deriving it makes the write idempotent under
13
+ * replay while still letting a step that is RE-RUN and ends DIFFERENTLY record that second,
14
+ * genuinely different verdict. A re-run that ends the same way collapses onto the first row,
15
+ * which is the honest reading: the gate settled that way, once, on this step.
16
+ */
17
+ async record(settled) {
18
+ const { workspaceId, instance, step, stepIndex, helperKind, outcome } = settled;
19
+ const gate = step.gate;
20
+ if (!gate)
21
+ return;
22
+ const now = this.deps.now();
23
+ // A gate that never dispatched a helper has no attempt log; the count of FAILED entries is
24
+ // what separates "the fixer keeps crashing" from "the fixer cannot fix it".
25
+ const helperFailures = (gate.attemptLog ?? []).filter((a) => a.outcome === 'failed').length;
26
+ await runBestEffort(this.deps.logger ?? noopLogger, 'gate-outcome: record settled gate', () => this.deps.gateOutcomeRepository.record({
27
+ id: `${instance.id}:${stepIndex}:${outcome}`,
28
+ workspaceId,
29
+ executionId: instance.id,
30
+ blockId: instance.blockId,
31
+ gateKind: step.agentKind,
32
+ helperKind,
33
+ outcome,
34
+ attempts: gate.attempts,
35
+ maxAttempts: gate.maxAttempts,
36
+ helperFailures,
37
+ // `watchSince` is stamped on every gate's first entry (not only the time-windowed
38
+ // ones), so it is the gate's own start. Null rather than 0 when it is somehow unset:
39
+ // a duration of zero would read as an instant gate, which is a different claim.
40
+ durationMs: gate.watchSince != null ? Math.max(0, now - gate.watchSince) : null,
41
+ createdAt: now,
42
+ }), { workspaceId, executionId: instance.id, gateKind: step.agentKind, outcome });
43
+ }
44
+ }
45
+ //# sourceMappingURL=GateOutcomeRecorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GateOutcomeRecorder.js","sourceRoot":"","sources":["../../../src/modules/observability/GateOutcomeRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA6B/D,MAAM,OAAO,mBAAmB;IACD,IAAI;IAAjC,YAA6B,IAA6B;oBAA7B,IAAI;IAA4B,CAAC;IAE9D;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,OAAoB;QAC/B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,2FAA2F;QAC3F,4EAA4E;QAC5E,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;QAC3F,MAAM,aAAa,CACjB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,EAC9B,mCAAmC,EACnC,GAAG,EAAE,CACH,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;YACrC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,SAAS,IAAI,OAAO,EAAE;YAC5C,WAAW;YACX,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU;YACV,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc;YACd,kFAAkF;YAClF,qFAAqF;YACrF,gFAAgF;YAChF,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/E,SAAS,EAAE,GAAG;SACf,CAAC,EACJ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAC7E,CAAA;IACH,CAAC;CACF"}
@@ -1,7 +1,14 @@
1
- import type { Clock, PlatformMetricsRepository } from '@cat-factory/kernel';
1
+ import type { Clock, GateOutcomeRepository, PlatformMetricsRepository } from '@cat-factory/kernel';
2
2
  import type { PlatformObservability, PlatformObservabilityWindow } from '@cat-factory/contracts';
3
3
  export interface PlatformObservabilityServiceDependencies {
4
4
  platformMetricsRepository: PlatformMetricsRepository;
5
+ /**
6
+ * The settled-gate projection behind the attempt statistics. Optional so a facade that has
7
+ * not wired it (or a test) degrades to an EMPTY gate list rather than failing the whole
8
+ * dashboard read: the projection is the newest of the sinks and the only one whose absence
9
+ * costs a section rather than the page.
10
+ */
11
+ gateOutcomeRepository?: GateOutcomeRepository;
5
12
  clock: Clock;
6
13
  }
7
14
  /**
@@ -9,10 +16,34 @@ export interface PlatformObservabilityServiceDependencies {
9
16
  * behind {@link PlatformMetricsRepository} into the dashboard's windowed projection. Each
10
17
  * rollup is one SQL GROUP BY, run in parallel (independent aggregates, NOT an N+1); the
11
18
  * reshaping into totals / trend is the pure logic in `platform-observability.logic.ts`.
19
+ *
20
+ * Two windows' worth of routing lives here: `1h`/`24h`/`7d` scan `agent_runs` live, while
21
+ * `30d`/`90d` read the daily rollup the retention sweep materialises. The projection SAYS
22
+ * which answered (`source`) and, on the rollup path, how far the rollup actually reaches
23
+ * (`rolledUpThrough`), because an un-materialised rollup and an idle quarter produce the same
24
+ * empty series and are opposite facts.
12
25
  */
13
26
  export declare class PlatformObservabilityService {
14
27
  private readonly deps;
15
28
  constructor(deps: PlatformObservabilityServiceDependencies);
16
29
  summarize(accountId: string, window: PlatformObservabilityWindow): Promise<PlatformObservability>;
30
+ /**
31
+ * A bounded, per-workspace-capped sample of the account's recently FAILED runs since
32
+ * `sinceEpochMs`: the evidence a `platform_health` alert card deep-links to.
33
+ *
34
+ * On the service rather than read straight off the port because the alert sweep is a
35
+ * consumer of this module, not of the store: everything else it needs already arrives
36
+ * through `summarize`, and reaching past the service for one query is how a second,
37
+ * differently-scoped copy of the account filter gets written.
38
+ */
39
+ failingRuns(accountId: string, sinceEpochMs: number, perWorkspaceLimit: number): Promise<import("@cat-factory/kernel").PlatformFailedRunRef[]>;
40
+ /** The live path: three independent aggregates over `agent_runs`. */
41
+ private summarizeFromRuns;
42
+ /**
43
+ * The long-window path: ONE read of the daily rollup serves the totals, the trend and the
44
+ * failure taxonomy alike (each rollup row carries the day, the status and, for a failure,
45
+ * its kind), plus the watermark read that says how far the rollup reaches.
46
+ */
47
+ private summarizeFromRollup;
17
48
  }
18
49
  //# sourceMappingURL=PlatformObservabilityService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformObservabilityService.d.ts","sourceRoot":"","sources":["../../../src/modules/observability/PlatformObservabilityService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAGhG,MAAM,WAAW,wCAAwC;IACvD,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,wCAAwC,EAAI;IAEzE,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;CACF"}
1
+ {"version":3,"file":"PlatformObservabilityService.d.ts","sourceRoot":"","sources":["../../../src/modules/observability/PlatformObservabilityService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAUhG,MAAM,WAAW,wCAAwC;IACvD,yBAAyB,EAAE,yBAAyB,CAAA;IACpD;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,wCAAwC,EAAI;IAEzE,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,qBAAqB,CAAC,CA6BhC;IAED;;;;;;;;OAQG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,iEAMnF;IAED,qEAAqE;YACvD,iBAAiB;IAuB/B;;;;OAIG;YACW,mBAAmB;CAkBlC"}