crewly 1.20.387 → 1.20.389
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.
- package/config/skills/agent/core/app-comments/execute.sh +3 -2
- package/config/skills/agent/core/app-comments/execute.test.sh +1 -1
- package/config/skills/team-leader/propose-tier-change/SKILL.md +16 -10
- package/config/skills/team-leader/propose-tier-change/execute.sh +4 -3
- package/dist/backend/backend/src/constants.d.ts +20 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +20 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/apps/apps.controller.js +2 -2
- package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +8 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js +4 -1
- package/dist/backend/backend/src/controllers/orchestrator-onboarding/orchestrator-onboarding.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts +4 -3
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +7 -3
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.d.ts +2 -2
- package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.js +3 -3
- package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +30 -18
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/member-relaunch.d.ts +84 -0
- package/dist/backend/backend/src/services/agent/member-relaunch.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/member-relaunch.js +96 -0
- package/dist/backend/backend/src/services/agent/member-relaunch.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js +2 -0
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts +3 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.js +11 -4
- package/dist/backend/backend/src/services/ai/prompt-modules/model-tiers.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +2 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
- package/dist/backend/backend/src/services/apps/app-comment-room.service.d.ts +10 -1
- package/dist/backend/backend/src/services/apps/app-comment-room.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/app-comment-room.service.js +15 -1
- package/dist/backend/backend/src/services/apps/app-comment-room.service.js.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.service.d.ts +3 -2
- package/dist/backend/backend/src/services/apps/apps.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.service.js +3 -2
- package/dist/backend/backend/src/services/apps/apps.service.js.map +1 -1
- package/dist/backend/backend/src/services/apps/apps.wiring.js +2 -2
- package/dist/backend/backend/src/services/apps/apps.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +15 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +36 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +4 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts +14 -5
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.js +19 -3
- package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts +6 -1
- package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-agent.service.js +17 -0
- package/dist/backend/backend/src/services/drive/drive-agent.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +13 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +33 -2
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/model-tiers/model-tier.service.d.ts +107 -13
- package/dist/backend/backend/src/services/model-tiers/model-tier.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/model-tiers/model-tier.service.js +362 -37
- package/dist/backend/backend/src/services/model-tiers/model-tier.service.js.map +1 -1
- package/dist/backend/backend/src/services/model-tiers/model-tier.store.d.ts +7 -3
- package/dist/backend/backend/src/services/model-tiers/model-tier.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/model-tiers/model-tier.store.js.map +1 -1
- package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.d.ts +33 -2
- package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.js +73 -2
- package/dist/backend/backend/src/services/model-tiers/model-tier.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.d.ts +7 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.js +3 -2
- package/dist/backend/backend/src/services/orchestrator/onboarding/synthesize-hierarchy.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +8 -37
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +10 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +18 -8
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +7 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +16 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts +2 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/stall/stall-watcher.service.js +6 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.d.ts +14 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.js +18 -2
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.d.ts +28 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.js +40 -2
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-post-log.js.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts +40 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js +52 -4
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts +8 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js +17 -5
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +17 -2
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +9 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/utils/model-tier.utils.d.ts +23 -1
- package/dist/backend/backend/src/utils/model-tier.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/model-tier.utils.js +28 -0
- package/dist/backend/backend/src/utils/model-tier.utils.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +20 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +20 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js +2 -0
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts +3 -2
- package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.js +11 -4
- package/dist/cli/backend/src/services/ai/prompt-modules/model-tiers.module.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +2 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +15 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +36 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js +4 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts +14 -5
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.js +19 -3
- package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +13 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +33 -2
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +7 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +16 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/types/decision.types.d.ts +17 -2
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +9 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/utils/model-tier.utils.d.ts +23 -1
- package/dist/cli/backend/src/utils/model-tier.utils.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/model-tier.utils.js +28 -0
- package/dist/cli/backend/src/utils/model-tier.utils.js.map +1 -1
- package/frontend/dist/assets/{index-778ed2d9.js → index-d60af958.js} +237 -237
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ModelTierService — model tiers and "Optimize usage" (crewly#1173
|
|
3
|
-
* specs/2026-10-08-model-tiers.md).
|
|
2
|
+
* ModelTierService — model tiers and "Optimize usage" (crewly#1173 phases 1
|
|
3
|
+
* and 2, specs/2026-10-08-model-tiers.md).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Two change modes per team (`Team.tierChangeMode`, owner-only):
|
|
6
|
+
* `approve` (default) — the lead proposes, the owner approves each change;
|
|
7
|
+
* `auto` — the lead's changes apply at once and the owner gets a notice with
|
|
8
|
+
* one-tap Undo.
|
|
6
9
|
*
|
|
7
10
|
* 1. Review: weekly while a team has "Optimize usage" on (and on demand), the
|
|
8
11
|
* team lead gets a compact usage report per member and is asked to
|
|
9
12
|
* propose tier changes and task routing rules.
|
|
10
|
-
* 2. Proposal: the lead adds changes with `propose-tier-change` and submits
|
|
11
|
-
* ONE owner card per review carries them all (Apply / Keep
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* 2. Proposal: the lead adds changes with `propose-tier-change` and submits.
|
|
14
|
+
* Approve mode: ONE owner card per review carries them all (Apply / Keep
|
|
15
|
+
* as is). Auto mode: they apply right away, and ONE notice (Undo / Keep)
|
|
16
|
+
* goes to the same place.
|
|
17
|
+
* 3. Apply: the tiers are set (a member's fixed model is cleared so the tier
|
|
18
|
+
* takes effect). An idle member whose model changed is restarted so the
|
|
19
|
+
* new model takes effect now; a busy one picks it up at its next start.
|
|
15
20
|
* 4. Quality guard: a member moved down is watched over its next settled work
|
|
16
|
-
* items; when it is sent back clearly more often than before,
|
|
17
|
-
*
|
|
21
|
+
* items; when it is sent back clearly more often than before, approve mode
|
|
22
|
+
* sends a revert card, auto mode moves it back at once and tells the owner
|
|
23
|
+
* (with "Keep the lower tier" to undo the revert).
|
|
18
24
|
*
|
|
19
25
|
* @module services/model-tiers/model-tier.service
|
|
20
26
|
*/
|
|
21
|
-
import type { ModelTier, Team, TeamTierModels } from '../../types/index.js';
|
|
27
|
+
import type { ModelTier, Team, TeamTierModels, TierChangeMode } from '../../types/index.js';
|
|
22
28
|
import type { OwnerDecision, TierChangeEntry, TierChangeSubject } from '../../types/decision.types.js';
|
|
23
29
|
import type { WorkItem } from '../../types/v2/work-item.types.js';
|
|
24
30
|
import type { DecisionKindHandler, PrebuiltAsk } from '../decisions/decision.service.js';
|
|
@@ -40,6 +46,8 @@ export interface TierLogger {
|
|
|
40
46
|
info(msg: string, meta?: Record<string, unknown>): void;
|
|
41
47
|
warn(msg: string, meta?: Record<string, unknown>): void;
|
|
42
48
|
}
|
|
49
|
+
/** What restarting an idle member after an apply did. */
|
|
50
|
+
export type TierRestartOutcome = 'restarted' | 'busy' | 'not_running' | 'failed';
|
|
43
51
|
/** Collaborators. */
|
|
44
52
|
export interface ModelTierDeps {
|
|
45
53
|
store: ModelTierStore;
|
|
@@ -56,6 +64,12 @@ export interface ModelTierDeps {
|
|
|
56
64
|
teamChannelOf?: (teamId: string) => Promise<string | null>;
|
|
57
65
|
/** Absolute path of the team-leader skills */
|
|
58
66
|
tlSkillsPath: string;
|
|
67
|
+
/**
|
|
68
|
+
* Restart a member whose model changed when it is idle (no running turn,
|
|
69
|
+
* no claimed work in progress), so the new model takes effect now. Never
|
|
70
|
+
* stops a busy member. Absent = members pick up the model at their next start.
|
|
71
|
+
*/
|
|
72
|
+
restartIfIdle?: (session: string) => Promise<TierRestartOutcome>;
|
|
59
73
|
now?: () => Date;
|
|
60
74
|
logger?: TierLogger;
|
|
61
75
|
}
|
|
@@ -63,6 +77,8 @@ export interface ModelTierDeps {
|
|
|
63
77
|
export interface TierSettingsView {
|
|
64
78
|
teamId: string;
|
|
65
79
|
optimizeUsage: boolean;
|
|
80
|
+
/** `approve`: the owner approves each change; `auto`: the lead decides and tells the owner */
|
|
81
|
+
tierChangeMode: TierChangeMode;
|
|
66
82
|
tierModels: TeamTierModels;
|
|
67
83
|
routingRules: string[];
|
|
68
84
|
/** Effective tier → model per runtime of the team's members */
|
|
@@ -87,6 +103,8 @@ export interface TierSettingsView {
|
|
|
87
103
|
/** Settings patch (owner). */
|
|
88
104
|
export interface TierSettingsPatch {
|
|
89
105
|
optimizeUsage?: unknown;
|
|
106
|
+
/** `approve` | `auto` */
|
|
107
|
+
tierChangeMode?: unknown;
|
|
90
108
|
tierModels?: unknown;
|
|
91
109
|
/** memberId → tier, '' / null clears */
|
|
92
110
|
memberTiers?: unknown;
|
|
@@ -109,6 +127,8 @@ export declare class ModelTierService implements DecisionKindHandler {
|
|
|
109
127
|
private readonly deps;
|
|
110
128
|
private timer;
|
|
111
129
|
private ticking;
|
|
130
|
+
private restarts;
|
|
131
|
+
private readonly submitting;
|
|
112
132
|
constructor(deps: ModelTierDeps);
|
|
113
133
|
private now;
|
|
114
134
|
/** Start the hourly tick (due reviews, stale drafts, quality guard). */
|
|
@@ -176,6 +196,30 @@ export declare class ModelTierService implements DecisionKindHandler {
|
|
|
176
196
|
private entryFor;
|
|
177
197
|
private updateDraft;
|
|
178
198
|
private submit;
|
|
199
|
+
private submitOnce;
|
|
200
|
+
/**
|
|
201
|
+
* Auto mode: apply the lead's draft at once (the same apply path as the
|
|
202
|
+
* owner's Apply), then post ONE notice where the card would go, whose Undo
|
|
203
|
+
* puts back exactly these changes.
|
|
204
|
+
*
|
|
205
|
+
* @param ctx - The lead and its team
|
|
206
|
+
* @param draft - The submitted draft
|
|
207
|
+
* @returns What happened (for the skill output)
|
|
208
|
+
*/
|
|
209
|
+
private applyNow;
|
|
210
|
+
/**
|
|
211
|
+
* Post an auto-mode notice: the change already happened; its one action
|
|
212
|
+
* (`APPLY_KEY`) applies `subject` — the undo. Default and plain "yes" = keep.
|
|
213
|
+
*
|
|
214
|
+
* @param team - Team
|
|
215
|
+
* @param asker - The lead (its bot posts it, it gets the outcome)
|
|
216
|
+
* @param subject - The undo the action applies
|
|
217
|
+
* @param done - What happened (the lead's changes, or the guard's move back)
|
|
218
|
+
* @param routing - Routing rules that went in (applied notices)
|
|
219
|
+
* @param saving - Weekly saving estimate of the lead's changes, or null
|
|
220
|
+
* @returns The notice decision
|
|
221
|
+
*/
|
|
222
|
+
private postNotice;
|
|
179
223
|
/** Post the owner card for a draft (review) or a revert. */
|
|
180
224
|
private askOwner;
|
|
181
225
|
/**
|
|
@@ -198,13 +242,41 @@ export declare class ModelTierService implements DecisionKindHandler {
|
|
|
198
242
|
*/
|
|
199
243
|
onSettled(decision: OwnerDecision): Promise<string | null>;
|
|
200
244
|
/**
|
|
201
|
-
*
|
|
245
|
+
* An auto-mode notice settled: its one action undoes what the notice is
|
|
246
|
+
* about; anything else (Keep, the deadline, skip) leaves it as it is.
|
|
247
|
+
*
|
|
248
|
+
* @param decision - The settled notice
|
|
249
|
+
* @param s - Its subject (the undo)
|
|
250
|
+
* @returns Note for the lead, or null
|
|
251
|
+
*/
|
|
252
|
+
private onNoticeSettled;
|
|
253
|
+
/**
|
|
254
|
+
* Apply a subject to the team (owner's Apply, the lead's change in auto
|
|
255
|
+
* mode, an undo or a revert), record it for the guard, and restart idle
|
|
256
|
+
* members whose model changed.
|
|
257
|
+
*
|
|
258
|
+
* An `undo` changes only members still on the tier it expects (`from`): a
|
|
259
|
+
* member whose tier changed again since is left alone.
|
|
202
260
|
*
|
|
203
261
|
* @param s - Subject
|
|
204
|
-
* @param decisionId - The approving decision
|
|
262
|
+
* @param decisionId - The approving decision, or the batch id of an auto apply
|
|
205
263
|
* @returns The applied entries
|
|
206
264
|
*/
|
|
207
265
|
apply(s: TierChangeSubject, decisionId: string): Promise<TierChangeEntry[]>;
|
|
266
|
+
/**
|
|
267
|
+
* Restart, one after another in the background, each member whose model
|
|
268
|
+
* changed and that is idle; busy or stopped members pick the model up at
|
|
269
|
+
* their next start.
|
|
270
|
+
*
|
|
271
|
+
* @param sessions - Members whose effective model changed
|
|
272
|
+
*/
|
|
273
|
+
private restartIdle;
|
|
274
|
+
/**
|
|
275
|
+
* Resolves once the restarts scheduled so far are done (tests, shutdown).
|
|
276
|
+
*
|
|
277
|
+
* @returns Promise
|
|
278
|
+
*/
|
|
279
|
+
restartsSettled(): Promise<void>;
|
|
208
280
|
/**
|
|
209
281
|
* Hourly: start due weekly reviews, send drafts the lead never submitted,
|
|
210
282
|
* and run the quality guard.
|
|
@@ -216,6 +288,18 @@ export declare class ModelTierService implements DecisionKindHandler {
|
|
|
216
288
|
autoSubmitted: string[];
|
|
217
289
|
reverts: string[];
|
|
218
290
|
}>;
|
|
291
|
+
/**
|
|
292
|
+
* Auto mode: move a member whose work got worse back at once (the revert
|
|
293
|
+
* the approve-mode card would apply), tell the lead, and post the owner a
|
|
294
|
+
* notice whose one action — "Keep the lower tier" — undoes the move back.
|
|
295
|
+
*
|
|
296
|
+
* @param team - Team
|
|
297
|
+
* @param lead - Its lead (posts the notice)
|
|
298
|
+
* @param a - The watched change
|
|
299
|
+
* @param back - The reverse entry
|
|
300
|
+
* @returns The notice id, or null when it could not be posted / nothing moved
|
|
301
|
+
*/
|
|
302
|
+
private autoRevert;
|
|
219
303
|
/**
|
|
220
304
|
* Quality guard for one team: judge every watched (lowered) member and ask
|
|
221
305
|
* the owner to move back the ones whose work got worse.
|
|
@@ -225,6 +309,16 @@ export declare class ModelTierService implements DecisionKindHandler {
|
|
|
225
309
|
*/
|
|
226
310
|
guard(team: Team): Promise<string[]>;
|
|
227
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* The entry that puts a change back: from its target to the tier (and fixed
|
|
314
|
+
* model) the member had before it.
|
|
315
|
+
*
|
|
316
|
+
* @param c - The change to reverse
|
|
317
|
+
* @param team - Team (tier map)
|
|
318
|
+
* @param reason - Why it is put back
|
|
319
|
+
* @returns The reverse entry
|
|
320
|
+
*/
|
|
321
|
+
export declare function reverseEntry(c: TierChangeEntry, team: Pick<Team, 'members' | 'tierModels'>, reason: string): TierChangeEntry;
|
|
228
322
|
/**
|
|
229
323
|
* The tier a member effectively ran on before a change: its tier, else the
|
|
230
324
|
* tier whose model it ran (a reviewed member on the Sonnet default = mid),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-tier.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/model-tiers/model-tier.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-tier.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/model-tiers/model-tier.service.ts"],"names":[],"mappings":"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"}
|