crewly 1.20.187 → 1.20.189
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/project-tickets/SKILL.md +3 -2
- package/config/skills/agent/core/project-tickets/execute.sh +4 -4
- package/config/skills/agent/core/project-tickets/execute.test.sh +2 -2
- package/dist/backend/backend/src/constants.d.ts +70 -12
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +70 -12
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +5 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +1 -1
- package/dist/backend/backend/src/controllers/system/usage.controller.d.ts +46 -0
- package/dist/backend/backend/src/controllers/system/usage.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/system/usage.controller.js +181 -0
- package/dist/backend/backend/src/controllers/system/usage.controller.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts +7 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +59 -4
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/system.routes.js +3 -3
- package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
- package/dist/backend/backend/src/scripts/repair-orphan-superseded-decisions.d.ts +56 -0
- package/dist/backend/backend/src/scripts/repair-orphan-superseded-decisions.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/repair-orphan-superseded-decisions.js +114 -0
- package/dist/backend/backend/src/scripts/repair-orphan-superseded-decisions.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +7 -7
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.js +21 -10
- package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts +4 -2
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +6 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +2 -2
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +4 -2
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.d.ts +130 -0
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.js +274 -0
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.d.ts +152 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.js +311 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +53 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js +51 -3
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +4 -4
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts +4 -3
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +7 -4
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +40 -9
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +68 -20
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap-command.d.ts +48 -18
- package/dist/backend/backend/src/services/spend/spend-cap-command.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap-command.js +195 -62
- package/dist/backend/backend/src/services/spend/spend-cap-command.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.gate.d.ts +11 -15
- package/dist/backend/backend/src/services/spend/spend-cap.gate.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.gate.js +8 -13
- package/dist/backend/backend/src/services/spend/spend-cap.gate.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts +179 -64
- package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.service.js +406 -149
- package/dist/backend/backend/src/services/spend/spend-cap.service.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.store.d.ts +52 -11
- package/dist/backend/backend/src/services/spend/spend-cap.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.store.js +67 -21
- package/dist/backend/backend/src/services/spend/spend-cap.store.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.d.ts +3 -1
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.js +21 -7
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-ledger.service.d.ts +57 -36
- package/dist/backend/backend/src/services/spend/spend-ledger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-ledger.service.js +80 -55
- package/dist/backend/backend/src/services/spend/spend-ledger.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/work-item-usage.d.ts +10 -1
- package/dist/backend/backend/src/services/task-pool/work-item-usage.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/work-item-usage.js +2 -0
- package/dist/backend/backend/src/services/task-pool/work-item-usage.js.map +1 -1
- package/dist/backend/backend/src/services/usage/token-format.d.ts +49 -0
- package/dist/backend/backend/src/services/usage/token-format.d.ts.map +1 -0
- package/dist/backend/backend/src/services/usage/token-format.js +81 -0
- package/dist/backend/backend/src/services/usage/token-format.js.map +1 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +132 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.js +226 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -0
- package/dist/backend/backend/src/types/decision.types.d.ts +2 -2
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +24 -7
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.js +29 -13
- package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +70 -12
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +70 -12
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +7 -7
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.js +21 -10
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts +4 -2
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +6 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js +2 -2
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +4 -2
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +53 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js +51 -3
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/cli/backend/src/services/spend/spend-cap.gate.d.ts +11 -15
- package/dist/cli/backend/src/services/spend/spend-cap.gate.d.ts.map +1 -1
- package/dist/cli/backend/src/services/spend/spend-cap.gate.js +8 -13
- package/dist/cli/backend/src/services/spend/spend-cap.gate.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/work-item-usage.d.ts +10 -1
- package/dist/cli/backend/src/services/task-pool/work-item-usage.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/work-item-usage.js +2 -0
- package/dist/cli/backend/src/services/task-pool/work-item-usage.js.map +1 -1
- package/dist/cli/backend/src/services/usage/token-format.d.ts +49 -0
- package/dist/cli/backend/src/services/usage/token-format.d.ts.map +1 -0
- package/dist/cli/backend/src/services/usage/token-format.js +81 -0
- package/dist/cli/backend/src/services/usage/token-format.js.map +1 -0
- package/dist/cli/backend/src/types/decision.types.d.ts +2 -2
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +24 -7
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.js +29 -13
- package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/frontend/dist/assets/{index-15c2faf2.js → index-49f50b45.js} +276 -276
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/backend/backend/src/controllers/system/spend.controller.d.ts +0 -32
- package/dist/backend/backend/src/controllers/system/spend.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/system/spend.controller.js +0 -100
- package/dist/backend/backend/src/controllers/system/spend.controller.js.map +0 -1
|
@@ -13,9 +13,17 @@ export interface TicketAutopilotSettings {
|
|
|
13
13
|
/** Session that triages; absent = the lead of the project's team */
|
|
14
14
|
driver?: string;
|
|
15
15
|
/**
|
|
16
|
-
* Daily
|
|
17
|
-
* which the autopilot pauses for the rest of the
|
|
18
|
-
*
|
|
16
|
+
* Daily tokens (input incl. cached + output) of the project's team agents
|
|
17
|
+
* since local midnight at which the autopilot pauses for the rest of the
|
|
18
|
+
* day. Absent = the default
|
|
19
|
+
* ({@link TICKET_AUTOPILOT_CONSTANTS.DEFAULT_DAILY_BUDGET_TOKENS}). A usage
|
|
20
|
+
* boost on the project's teams raises it for the day.
|
|
21
|
+
*/
|
|
22
|
+
dailyBudgetTokens?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Pre-token budget in USD. Read only to migrate it: converted with
|
|
25
|
+
* {@link USAGE_CONSTANTS.TOKENS_PER_USD} (see {@link legacyBudgetTokens}).
|
|
26
|
+
* @deprecated
|
|
19
27
|
*/
|
|
20
28
|
dailyBudgetUsd?: number;
|
|
21
29
|
/** In-progress tickets one member may hold at a time (default 1) */
|
|
@@ -26,7 +34,7 @@ export interface ResolvedTicketAutopilotSettings {
|
|
|
26
34
|
enabled: boolean;
|
|
27
35
|
/** The configured driver, or null (= the project team's lead) */
|
|
28
36
|
driver: string | null;
|
|
29
|
-
|
|
37
|
+
dailyBudgetTokens: number;
|
|
30
38
|
maxInFlightPerMember: number;
|
|
31
39
|
}
|
|
32
40
|
/** A change request for the settings (API / skill body). */
|
|
@@ -34,7 +42,9 @@ export interface TicketAutopilotSettingsInput {
|
|
|
34
42
|
enabled?: unknown;
|
|
35
43
|
/** A session name; `null` or `''` resets to the team lead */
|
|
36
44
|
driver?: unknown;
|
|
37
|
-
/**
|
|
45
|
+
/** Tokens: a positive number or text like "20M"; `null` resets to the default */
|
|
46
|
+
dailyBudgetTokens?: unknown;
|
|
47
|
+
/** Rejected: budgets are in tokens now */
|
|
38
48
|
dailyBudgetUsd?: unknown;
|
|
39
49
|
/** An integer 1..limit; `null` resets to the default */
|
|
40
50
|
maxInFlightPerMember?: unknown;
|
|
@@ -53,6 +63,13 @@ export type TicketAutopilotInputResult = {
|
|
|
53
63
|
* @param stored - `Project.ticketAutopilot` (may be undefined or partial)
|
|
54
64
|
* @returns Settings with defaults
|
|
55
65
|
*/
|
|
66
|
+
/**
|
|
67
|
+
* The token budget a stored pre-token USD budget converts to, or null.
|
|
68
|
+
*
|
|
69
|
+
* @param stored - Stored settings
|
|
70
|
+
* @returns Tokens (USD × TOKENS_PER_USD), or null when there is no USD budget
|
|
71
|
+
*/
|
|
72
|
+
export declare function legacyBudgetTokens(stored: Partial<TicketAutopilotSettings> | undefined | null): number | null;
|
|
56
73
|
export declare function resolveTicketAutopilotSettings(stored: Partial<TicketAutopilotSettings> | undefined | null): ResolvedTicketAutopilotSettings;
|
|
57
74
|
/**
|
|
58
75
|
* Apply a change request to the stored settings, validating every field.
|
|
@@ -65,8 +82,8 @@ export declare function resolveTicketAutopilotSettings(stored: Partial<TicketAut
|
|
|
65
82
|
*
|
|
66
83
|
* @example
|
|
67
84
|
* ```typescript
|
|
68
|
-
* applyTicketAutopilotInput(undefined, { enabled: true,
|
|
69
|
-
* // → { ok: true, settings: { enabled: true,
|
|
85
|
+
* applyTicketAutopilotInput(undefined, { enabled: true, dailyBudgetTokens: '10M' });
|
|
86
|
+
* // → { ok: true, settings: { enabled: true, dailyBudgetTokens: 10000000 } }
|
|
70
87
|
* ```
|
|
71
88
|
*/
|
|
72
89
|
export declare function applyTicketAutopilotInput(current: Partial<TicketAutopilotSettings> | undefined | null, input: TicketAutopilotSettingsInput): TicketAutopilotInputResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-autopilot.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/ticket-autopilot.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"ticket-autopilot.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/ticket-autopilot.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,+EAA+E;AAC/E,MAAM,WAAW,uBAAuB;IACtC,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,6CAA6C;AAC7C,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,4DAA4D;AAC5D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,oDAAoD;AACpD,MAAM,MAAM,0BAA0B,GAClC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;GAKG;AACH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG7G;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,+BAA+B,CAY3I;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,SAAS,GAAG,IAAI,EAC5D,KAAK,EAAE,4BAA4B,GAClC,0BAA0B,CAuC5B"}
|
|
@@ -6,20 +6,31 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module types/ticket-autopilot.types
|
|
8
8
|
*/
|
|
9
|
-
import { TICKET_AUTOPILOT_CONSTANTS } from '../constants.js';
|
|
9
|
+
import { TICKET_AUTOPILOT_CONSTANTS, USAGE_CONSTANTS } from '../constants.js';
|
|
10
|
+
import { parseTokenAmount } from '../services/usage/token-format.js';
|
|
10
11
|
/**
|
|
11
12
|
* Fill in the defaults of stored (possibly absent) settings.
|
|
12
13
|
*
|
|
13
14
|
* @param stored - `Project.ticketAutopilot` (may be undefined or partial)
|
|
14
15
|
* @returns Settings with defaults
|
|
15
16
|
*/
|
|
17
|
+
/**
|
|
18
|
+
* The token budget a stored pre-token USD budget converts to, or null.
|
|
19
|
+
*
|
|
20
|
+
* @param stored - Stored settings
|
|
21
|
+
* @returns Tokens (USD × TOKENS_PER_USD), or null when there is no USD budget
|
|
22
|
+
*/
|
|
23
|
+
export function legacyBudgetTokens(stored) {
|
|
24
|
+
const usd = stored?.dailyBudgetUsd;
|
|
25
|
+
return typeof usd === 'number' && Number.isFinite(usd) && usd > 0 ? Math.round(usd * USAGE_CONSTANTS.TOKENS_PER_USD) : null;
|
|
26
|
+
}
|
|
16
27
|
export function resolveTicketAutopilotSettings(stored) {
|
|
17
|
-
const budget = stored?.
|
|
28
|
+
const budget = stored?.dailyBudgetTokens ?? legacyBudgetTokens(stored) ?? undefined;
|
|
18
29
|
const cap = stored?.maxInFlightPerMember;
|
|
19
30
|
return {
|
|
20
31
|
enabled: stored?.enabled === true,
|
|
21
32
|
driver: typeof stored?.driver === 'string' && stored.driver.trim() ? stored.driver.trim() : null,
|
|
22
|
-
|
|
33
|
+
dailyBudgetTokens: typeof budget === 'number' && Number.isFinite(budget) && budget > 0 ? budget : TICKET_AUTOPILOT_CONSTANTS.DEFAULT_DAILY_BUDGET_TOKENS,
|
|
23
34
|
maxInFlightPerMember: typeof cap === 'number' && Number.isInteger(cap) && cap >= 1 && cap <= TICKET_AUTOPILOT_CONSTANTS.MAX_IN_FLIGHT_PER_MEMBER_LIMIT
|
|
24
35
|
? cap
|
|
25
36
|
: TICKET_AUTOPILOT_CONSTANTS.DEFAULT_MAX_IN_FLIGHT_PER_MEMBER,
|
|
@@ -36,16 +47,18 @@ export function resolveTicketAutopilotSettings(stored) {
|
|
|
36
47
|
*
|
|
37
48
|
* @example
|
|
38
49
|
* ```typescript
|
|
39
|
-
* applyTicketAutopilotInput(undefined, { enabled: true,
|
|
40
|
-
* // → { ok: true, settings: { enabled: true,
|
|
50
|
+
* applyTicketAutopilotInput(undefined, { enabled: true, dailyBudgetTokens: '10M' });
|
|
51
|
+
* // → { ok: true, settings: { enabled: true, dailyBudgetTokens: 10000000 } }
|
|
41
52
|
* ```
|
|
42
53
|
*/
|
|
43
54
|
export function applyTicketAutopilotInput(current, input) {
|
|
44
55
|
const next = { enabled: current?.enabled === true };
|
|
45
56
|
if (typeof current?.driver === 'string' && current.driver.trim())
|
|
46
57
|
next.driver = current.driver.trim();
|
|
47
|
-
if (typeof current?.
|
|
48
|
-
next.
|
|
58
|
+
if (typeof current?.dailyBudgetTokens === 'number')
|
|
59
|
+
next.dailyBudgetTokens = current.dailyBudgetTokens;
|
|
60
|
+
else if (legacyBudgetTokens(current) !== null)
|
|
61
|
+
next.dailyBudgetTokens = legacyBudgetTokens(current);
|
|
49
62
|
if (typeof current?.maxInFlightPerMember === 'number')
|
|
50
63
|
next.maxInFlightPerMember = current.maxInFlightPerMember;
|
|
51
64
|
if (input.enabled !== undefined) {
|
|
@@ -62,13 +75,16 @@ export function applyTicketAutopilotInput(current, input) {
|
|
|
62
75
|
return { ok: false, error: 'driver must be a session name (or null for the team lead)' };
|
|
63
76
|
}
|
|
64
77
|
if (input.dailyBudgetUsd !== undefined) {
|
|
65
|
-
|
|
66
|
-
|
|
78
|
+
return { ok: false, error: 'Budgets are in tokens now: send dailyBudgetTokens (e.g. 20000000 or "20M") instead of dailyBudgetUsd' };
|
|
79
|
+
}
|
|
80
|
+
if (input.dailyBudgetTokens !== undefined) {
|
|
81
|
+
if (input.dailyBudgetTokens === null)
|
|
82
|
+
delete next.dailyBudgetTokens;
|
|
67
83
|
else {
|
|
68
|
-
const n =
|
|
69
|
-
if (
|
|
70
|
-
return { ok: false, error: '
|
|
71
|
-
next.
|
|
84
|
+
const n = parseTokenAmount(input.dailyBudgetTokens);
|
|
85
|
+
if (n === null)
|
|
86
|
+
return { ok: false, error: 'dailyBudgetTokens must be a positive number of tokens (e.g. 20000000 or "20M")' };
|
|
87
|
+
next.dailyBudgetTokens = n;
|
|
72
88
|
}
|
|
73
89
|
}
|
|
74
90
|
if (input.maxInFlightPerMember !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket-autopilot.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/ticket-autopilot.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ticket-autopilot.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/ticket-autopilot.types.ts"],"names":[],"mappings":"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"}
|