crewly 1.4.62 → 1.4.64
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/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts +91 -0
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js +290 -0
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js.map +1 -0
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +3 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts +27 -0
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js +40 -0
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js.map +1 -0
- package/dist/backend/backend/src/services/index.d.ts +1 -0
- package/dist/backend/backend/src/services/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/index.js +1 -0
- package/dist/backend/backend/src/services/index.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts +234 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js +636 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js.map +1 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts +156 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js +81 -0
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js.map +1 -0
- package/dist/cli/cli/src/commands/cloud.d.ts +18 -2
- package/dist/cli/cli/src/commands/cloud.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/cloud.js +72 -16
- package/dist/cli/cli/src/commands/cloud.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the Unified Scheduler Service.
|
|
3
|
+
*
|
|
4
|
+
* The Unified Scheduler consolidates cron, interval, and idle-based
|
|
5
|
+
* scheduling into a single interface with persistent storage and
|
|
6
|
+
* agent auto-start capabilities.
|
|
7
|
+
*
|
|
8
|
+
* @module services/workflow/unified-scheduler.types
|
|
9
|
+
*/
|
|
10
|
+
/** Supported schedule trigger types. */
|
|
11
|
+
export type ScheduleType = 'cron' | 'interval' | 'idle';
|
|
12
|
+
/** Runtime status of a schedule. */
|
|
13
|
+
export type ScheduleStatus = 'active' | 'paused' | 'completed' | 'error';
|
|
14
|
+
/**
|
|
15
|
+
* A unified schedule definition.
|
|
16
|
+
*
|
|
17
|
+
* Combines cron expressions, fixed intervals, and idle detection
|
|
18
|
+
* into a single structure. Only the fields relevant to the `type`
|
|
19
|
+
* are used at runtime:
|
|
20
|
+
* - type=cron: uses `cron`
|
|
21
|
+
* - type=interval: uses `intervalMinutes`
|
|
22
|
+
* - type=idle: uses `idleTimeoutMinutes`
|
|
23
|
+
*/
|
|
24
|
+
export interface UnifiedSchedule {
|
|
25
|
+
/** Unique schedule identifier (UUID) */
|
|
26
|
+
id: string;
|
|
27
|
+
/** Target agent session name */
|
|
28
|
+
target: string;
|
|
29
|
+
/** Schedule type determines which timing field is used */
|
|
30
|
+
type: ScheduleType;
|
|
31
|
+
/** Cron expression (5-field, e.g., "0 8,14,20 * * *") — required when type=cron */
|
|
32
|
+
cron?: string;
|
|
33
|
+
/** Interval in minutes between triggers — required when type=interval */
|
|
34
|
+
intervalMinutes?: number;
|
|
35
|
+
/** Minutes of idle time before triggering — required when type=idle */
|
|
36
|
+
idleTimeoutMinutes?: number;
|
|
37
|
+
/** Message to send to the target agent when triggered */
|
|
38
|
+
message: string;
|
|
39
|
+
/** Whether the schedule is actively running */
|
|
40
|
+
enabled: boolean;
|
|
41
|
+
/** Auto-start the target agent if it's offline when triggered */
|
|
42
|
+
autoStart: boolean;
|
|
43
|
+
/** Maximum consecutive triggers before auto-pausing (default: 10) */
|
|
44
|
+
maxConsecutiveTriggers: number;
|
|
45
|
+
/** ISO timestamp of creation */
|
|
46
|
+
createdAt: string;
|
|
47
|
+
/** ISO timestamp of last modification */
|
|
48
|
+
updatedAt: string;
|
|
49
|
+
/** ISO timestamp of last trigger, or null if never triggered */
|
|
50
|
+
lastTriggeredAt: string | null;
|
|
51
|
+
/** Total number of times this schedule has triggered */
|
|
52
|
+
triggerCount: number;
|
|
53
|
+
/** Consecutive triggers since last agent activity/response */
|
|
54
|
+
consecutiveTriggers: number;
|
|
55
|
+
/** Current runtime status */
|
|
56
|
+
status: ScheduleStatus;
|
|
57
|
+
/** Error message if status is 'error' */
|
|
58
|
+
error?: string;
|
|
59
|
+
}
|
|
60
|
+
/** Request body for creating a new schedule. */
|
|
61
|
+
export interface CreateScheduleRequest {
|
|
62
|
+
/** Target agent session name */
|
|
63
|
+
target: string;
|
|
64
|
+
/** Schedule type */
|
|
65
|
+
type: ScheduleType;
|
|
66
|
+
/** Cron expression (required when type=cron) */
|
|
67
|
+
cron?: string;
|
|
68
|
+
/** Interval in minutes (required when type=interval) */
|
|
69
|
+
intervalMinutes?: number;
|
|
70
|
+
/** Idle timeout in minutes (required when type=idle) */
|
|
71
|
+
idleTimeoutMinutes?: number;
|
|
72
|
+
/** Message to send to the agent */
|
|
73
|
+
message: string;
|
|
74
|
+
/** Whether to activate immediately (default: true) */
|
|
75
|
+
enabled?: boolean;
|
|
76
|
+
/** Auto-start agent if offline (default: true) */
|
|
77
|
+
autoStart?: boolean;
|
|
78
|
+
/** Max consecutive triggers before auto-pause (default: 10) */
|
|
79
|
+
maxConsecutiveTriggers?: number;
|
|
80
|
+
}
|
|
81
|
+
/** Request body for updating an existing schedule. */
|
|
82
|
+
export interface UpdateScheduleRequest {
|
|
83
|
+
/** Updated cron expression */
|
|
84
|
+
cron?: string;
|
|
85
|
+
/** Updated interval */
|
|
86
|
+
intervalMinutes?: number;
|
|
87
|
+
/** Updated idle timeout */
|
|
88
|
+
idleTimeoutMinutes?: number;
|
|
89
|
+
/** Updated message */
|
|
90
|
+
message?: string;
|
|
91
|
+
/** Enable/disable */
|
|
92
|
+
enabled?: boolean;
|
|
93
|
+
/** Auto-start toggle */
|
|
94
|
+
autoStart?: boolean;
|
|
95
|
+
/** Updated max consecutive triggers */
|
|
96
|
+
maxConsecutiveTriggers?: number;
|
|
97
|
+
}
|
|
98
|
+
/** Persistent storage format for ~/.crewly/unified-schedules.json */
|
|
99
|
+
export interface UnifiedScheduleStore {
|
|
100
|
+
/** Schema version for future migrations */
|
|
101
|
+
version: string;
|
|
102
|
+
/** Last persistence timestamp */
|
|
103
|
+
updatedAt: string;
|
|
104
|
+
/** All schedule definitions */
|
|
105
|
+
schedules: UnifiedSchedule[];
|
|
106
|
+
}
|
|
107
|
+
/** Scheduler health/stats response. */
|
|
108
|
+
export interface SchedulerHealth {
|
|
109
|
+
/** Whether the scheduler loop is running */
|
|
110
|
+
running: boolean;
|
|
111
|
+
/** Number of active schedules */
|
|
112
|
+
activeCount: number;
|
|
113
|
+
/** Number of paused schedules */
|
|
114
|
+
pausedCount: number;
|
|
115
|
+
/** Total schedules (all statuses) */
|
|
116
|
+
totalCount: number;
|
|
117
|
+
/** Total triggers executed since service start */
|
|
118
|
+
totalTriggers: number;
|
|
119
|
+
/** Timestamp of last evaluation cycle */
|
|
120
|
+
lastEvaluatedAt: string | null;
|
|
121
|
+
/** Schedules grouped by type */
|
|
122
|
+
byType: Record<ScheduleType, number>;
|
|
123
|
+
}
|
|
124
|
+
/** Default values for the unified scheduler. */
|
|
125
|
+
export declare const UNIFIED_SCHEDULER_CONSTANTS: {
|
|
126
|
+
/** Evaluation loop interval (60 seconds — matches cron granularity) */
|
|
127
|
+
readonly EVAL_INTERVAL_MS: 60000;
|
|
128
|
+
/** Storage file path (relative to ~/.crewly/) */
|
|
129
|
+
readonly STORAGE_FILE: "unified-schedules.json";
|
|
130
|
+
/** Default max consecutive triggers before auto-pause */
|
|
131
|
+
readonly DEFAULT_MAX_CONSECUTIVE: 10;
|
|
132
|
+
/** Storage schema version */
|
|
133
|
+
readonly SCHEMA_VERSION: "1.0.0";
|
|
134
|
+
/** Default idle timeout if not specified (30 minutes) */
|
|
135
|
+
readonly DEFAULT_IDLE_TIMEOUT_MINUTES: 30;
|
|
136
|
+
};
|
|
137
|
+
/** Valid schedule types for request validation. */
|
|
138
|
+
export declare const VALID_SCHEDULE_TYPES: ReadonlySet<string>;
|
|
139
|
+
/**
|
|
140
|
+
* Validate a cron expression (basic 5-field format).
|
|
141
|
+
*
|
|
142
|
+
* Checks that the expression has exactly 5 space-separated fields
|
|
143
|
+
* and each field contains only valid cron characters.
|
|
144
|
+
*
|
|
145
|
+
* @param expr - Cron expression to validate
|
|
146
|
+
* @returns True if valid
|
|
147
|
+
*/
|
|
148
|
+
export declare function isValidCronExpression(expr: string): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Validate a CreateScheduleRequest.
|
|
151
|
+
*
|
|
152
|
+
* @param req - Request to validate
|
|
153
|
+
* @returns Error message or null if valid
|
|
154
|
+
*/
|
|
155
|
+
export declare function validateCreateRequest(req: CreateScheduleRequest): string | null;
|
|
156
|
+
//# sourceMappingURL=unified-scheduler.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-scheduler.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/workflow/unified-scheduler.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the Unified Scheduler Service.
|
|
3
|
+
*
|
|
4
|
+
* The Unified Scheduler consolidates cron, interval, and idle-based
|
|
5
|
+
* scheduling into a single interface with persistent storage and
|
|
6
|
+
* agent auto-start capabilities.
|
|
7
|
+
*
|
|
8
|
+
* @module services/workflow/unified-scheduler.types
|
|
9
|
+
*/
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Constants
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/** Default values for the unified scheduler. */
|
|
14
|
+
export const UNIFIED_SCHEDULER_CONSTANTS = {
|
|
15
|
+
/** Evaluation loop interval (60 seconds — matches cron granularity) */
|
|
16
|
+
EVAL_INTERVAL_MS: 60_000,
|
|
17
|
+
/** Storage file path (relative to ~/.crewly/) */
|
|
18
|
+
STORAGE_FILE: 'unified-schedules.json',
|
|
19
|
+
/** Default max consecutive triggers before auto-pause */
|
|
20
|
+
DEFAULT_MAX_CONSECUTIVE: 10,
|
|
21
|
+
/** Storage schema version */
|
|
22
|
+
SCHEMA_VERSION: '1.0.0',
|
|
23
|
+
/** Default idle timeout if not specified (30 minutes) */
|
|
24
|
+
DEFAULT_IDLE_TIMEOUT_MINUTES: 30,
|
|
25
|
+
};
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// Validation
|
|
28
|
+
// =============================================================================
|
|
29
|
+
/** Valid schedule types for request validation. */
|
|
30
|
+
export const VALID_SCHEDULE_TYPES = new Set(['cron', 'interval', 'idle']);
|
|
31
|
+
/**
|
|
32
|
+
* Validate a cron expression (basic 5-field format).
|
|
33
|
+
*
|
|
34
|
+
* Checks that the expression has exactly 5 space-separated fields
|
|
35
|
+
* and each field contains only valid cron characters.
|
|
36
|
+
*
|
|
37
|
+
* @param expr - Cron expression to validate
|
|
38
|
+
* @returns True if valid
|
|
39
|
+
*/
|
|
40
|
+
export function isValidCronExpression(expr) {
|
|
41
|
+
const fields = expr.trim().split(/\s+/);
|
|
42
|
+
if (fields.length !== 5)
|
|
43
|
+
return false;
|
|
44
|
+
const validChars = /^[\d,\-\*\/]+$/;
|
|
45
|
+
return fields.every(f => validChars.test(f));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Validate a CreateScheduleRequest.
|
|
49
|
+
*
|
|
50
|
+
* @param req - Request to validate
|
|
51
|
+
* @returns Error message or null if valid
|
|
52
|
+
*/
|
|
53
|
+
export function validateCreateRequest(req) {
|
|
54
|
+
if (!req.target || typeof req.target !== 'string')
|
|
55
|
+
return 'target is required';
|
|
56
|
+
if (!req.message || typeof req.message !== 'string')
|
|
57
|
+
return 'message is required';
|
|
58
|
+
if (!req.type || !VALID_SCHEDULE_TYPES.has(req.type)) {
|
|
59
|
+
return `type must be one of: ${[...VALID_SCHEDULE_TYPES].join(', ')}`;
|
|
60
|
+
}
|
|
61
|
+
switch (req.type) {
|
|
62
|
+
case 'cron':
|
|
63
|
+
if (!req.cron)
|
|
64
|
+
return 'cron expression is required when type=cron';
|
|
65
|
+
if (!isValidCronExpression(req.cron))
|
|
66
|
+
return `Invalid cron expression: ${req.cron}`;
|
|
67
|
+
break;
|
|
68
|
+
case 'interval':
|
|
69
|
+
if (!req.intervalMinutes || req.intervalMinutes <= 0) {
|
|
70
|
+
return 'intervalMinutes must be a positive number when type=interval';
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
case 'idle':
|
|
74
|
+
if (!req.idleTimeoutMinutes || req.idleTimeoutMinutes <= 0) {
|
|
75
|
+
return 'idleTimeoutMinutes must be a positive number when type=idle';
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=unified-scheduler.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-scheduler.types.js","sourceRoot":"","sources":["../../../../../../backend/src/services/workflow/unified-scheduler.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2IH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,gDAAgD;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,uEAAuE;IACvE,gBAAgB,EAAE,MAAM;IACxB,iDAAiD;IACjD,YAAY,EAAE,wBAAwB;IACtC,yDAAyD;IACzD,uBAAuB,EAAE,EAAE;IAC3B,6BAA6B;IAC7B,cAAc,EAAE,OAAO;IACvB,yDAAyD;IACzD,4BAA4B,EAAE,EAAE;CACxB,CAAC;AAEX,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/F;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAA0B;IAC9D,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC;IAC/E,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,qBAAqB,CAAC;IAClF,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,wBAAwB,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,4CAA4C,CAAC;YACnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,4BAA4B,GAAG,CAAC,IAAI,EAAE,CAAC;YACpF,MAAM;QACR,KAAK,UAAU;YACb,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;gBACrD,OAAO,8DAA8D,CAAC;YACxE,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,IAAI,CAAC,EAAE,CAAC;gBAC3D,OAAO,6DAA6D,CAAC;YACvE,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -19,11 +19,18 @@ import http from 'http';
|
|
|
19
19
|
interface LoginOptions {
|
|
20
20
|
token?: string;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Shape of the credentials saved to config.json.
|
|
24
|
+
*
|
|
25
|
+
* Must match PersistedCloudConfig in cloud-client.service.ts so the backend
|
|
26
|
+
* can load credentials saved by the CLI (and vice versa).
|
|
27
|
+
*/
|
|
23
28
|
interface CloudCredentials {
|
|
29
|
+
cloudUrl: string;
|
|
24
30
|
token: string;
|
|
25
31
|
refreshToken?: string;
|
|
26
|
-
|
|
32
|
+
tier: string;
|
|
33
|
+
connectedAt: string;
|
|
27
34
|
}
|
|
28
35
|
/**
|
|
29
36
|
* Save cloud credentials to ~/.crewly/cloud/config.json.
|
|
@@ -33,6 +40,15 @@ interface CloudCredentials {
|
|
|
33
40
|
* @param token - JWT access token
|
|
34
41
|
* @param refreshToken - Optional refresh token
|
|
35
42
|
*/
|
|
43
|
+
/**
|
|
44
|
+
* Save cloud credentials to ~/.crewly/cloud/config.json.
|
|
45
|
+
*
|
|
46
|
+
* Creates the directory hierarchy if it does not exist. The format matches
|
|
47
|
+
* PersistedCloudConfig so the backend's loadPersistedConfig() can read it.
|
|
48
|
+
*
|
|
49
|
+
* @param token - JWT access token
|
|
50
|
+
* @param refreshToken - Optional refresh token for auto-renewal
|
|
51
|
+
*/
|
|
36
52
|
export declare function saveCloudCredentials(token: string, refreshToken?: string): void;
|
|
37
53
|
/**
|
|
38
54
|
* Load cloud credentials from ~/.crewly/cloud/config.json.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,IAAI,MAAM,MAAM,CAAC;AA0CxB,uCAAuC;AACvC,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD;;;;;;;GAOG;AACH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAyB/E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAG7C;AAiCD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE,CAsDA;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDvE;AA0DD;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCnD;AAMD;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBnD"}
|
|
@@ -25,15 +25,17 @@ import { DEFAULT_WEB_PORT } from '../constants.js';
|
|
|
25
25
|
// ---------------------------------------------------------------------------
|
|
26
26
|
// Constants
|
|
27
27
|
// ---------------------------------------------------------------------------
|
|
28
|
-
/** Backend base URL */
|
|
28
|
+
/** Backend base URL (local Crewly backend for connect/status/disconnect) */
|
|
29
29
|
const BACKEND_URL = `http://localhost:${DEFAULT_WEB_PORT}`;
|
|
30
|
-
/** Cloud
|
|
30
|
+
/** CrewlyAI Cloud API base URL (where OAuth happens — NOT local backend) */
|
|
31
|
+
const CLOUD_API_URL = process.env['CREWLY_CLOUD_URL'] || 'https://api.crewlyai.com';
|
|
32
|
+
/** Cloud connect endpoint (local backend) */
|
|
31
33
|
const CLOUD_CONNECT_ENDPOINT = '/api/cloud/connect';
|
|
32
|
-
/** Cloud disconnect endpoint */
|
|
34
|
+
/** Cloud disconnect endpoint (local backend) */
|
|
33
35
|
const CLOUD_DISCONNECT_ENDPOINT = '/api/cloud/disconnect';
|
|
34
|
-
/** Cloud status endpoint */
|
|
36
|
+
/** Cloud status endpoint (local backend) */
|
|
35
37
|
const CLOUD_STATUS_ENDPOINT = '/api/cloud/status';
|
|
36
|
-
/** Google OAuth start endpoint */
|
|
38
|
+
/** Google OAuth start endpoint (on Cloud API, NOT local backend) */
|
|
37
39
|
const GOOGLE_OAUTH_START_ENDPOINT = '/api/cloud/google/start';
|
|
38
40
|
/** Timeout for backend API requests (ms) */
|
|
39
41
|
const API_TIMEOUT_MS = 15_000;
|
|
@@ -52,14 +54,37 @@ const CLOUD_CONFIG_FILE = join(CLOUD_CONFIG_DIR, 'config.json');
|
|
|
52
54
|
* @param token - JWT access token
|
|
53
55
|
* @param refreshToken - Optional refresh token
|
|
54
56
|
*/
|
|
57
|
+
/**
|
|
58
|
+
* Save cloud credentials to ~/.crewly/cloud/config.json.
|
|
59
|
+
*
|
|
60
|
+
* Creates the directory hierarchy if it does not exist. The format matches
|
|
61
|
+
* PersistedCloudConfig so the backend's loadPersistedConfig() can read it.
|
|
62
|
+
*
|
|
63
|
+
* @param token - JWT access token
|
|
64
|
+
* @param refreshToken - Optional refresh token for auto-renewal
|
|
65
|
+
*/
|
|
55
66
|
export function saveCloudCredentials(token, refreshToken) {
|
|
56
67
|
if (!existsSync(CLOUD_CONFIG_DIR)) {
|
|
57
68
|
mkdirSync(CLOUD_CONFIG_DIR, { recursive: true });
|
|
58
69
|
}
|
|
70
|
+
// Merge with existing config to preserve fields the backend may have written
|
|
71
|
+
let existing = {};
|
|
72
|
+
try {
|
|
73
|
+
if (existsSync(CLOUD_CONFIG_FILE)) {
|
|
74
|
+
existing = JSON.parse(readFileSync(CLOUD_CONFIG_FILE, 'utf-8'));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// Ignore parse errors — overwrite with new credentials
|
|
79
|
+
}
|
|
59
80
|
const credentials = {
|
|
81
|
+
cloudUrl: existing.cloudUrl || CLOUD_API_URL,
|
|
60
82
|
token,
|
|
61
|
-
|
|
62
|
-
|
|
83
|
+
tier: existing.tier || 'pro',
|
|
84
|
+
connectedAt: new Date().toISOString(),
|
|
85
|
+
...(refreshToken && { refreshToken }),
|
|
86
|
+
// Preserve existing refreshToken if new one not provided
|
|
87
|
+
...(!refreshToken && existing.refreshToken && { refreshToken: existing.refreshToken }),
|
|
63
88
|
};
|
|
64
89
|
writeFileSync(CLOUD_CONFIG_FILE, JSON.stringify(credentials, null, 2), 'utf-8');
|
|
65
90
|
}
|
|
@@ -198,24 +223,35 @@ export async function loginCommand(options) {
|
|
|
198
223
|
await connectWithToken(options.token);
|
|
199
224
|
return;
|
|
200
225
|
}
|
|
201
|
-
// Browser-based OAuth flow
|
|
226
|
+
// Browser-based OAuth flow — redirects to crewlyai.com (Cloud), NOT local backend.
|
|
227
|
+
// The Cloud server handles Google OAuth and redirects back to our local callback
|
|
228
|
+
// with token + refreshToken as query parameters.
|
|
202
229
|
console.log('');
|
|
203
230
|
console.log(chalk.blue('CrewlyAI Cloud Login'));
|
|
204
231
|
console.log(chalk.gray('─'.repeat(40)));
|
|
205
232
|
console.log('');
|
|
206
|
-
console.log(chalk.white('Opening browser for Google OAuth...'));
|
|
207
233
|
const { server, port: portPromise, credentials } = startCallbackServer();
|
|
208
234
|
try {
|
|
209
235
|
const port = await portPromise;
|
|
210
236
|
const redirectUrl = `http://localhost:${port}/callback`;
|
|
211
|
-
|
|
237
|
+
// Build OAuth URL pointing to Cloud API (crewlyai.com), not local backend.
|
|
238
|
+
// The Cloud server has Google OAuth credentials configured — local backend does not.
|
|
239
|
+
const oauthUrl = `${CLOUD_API_URL}${GOOGLE_OAUTH_START_ENDPOINT}?redirect=${encodeURIComponent(redirectUrl)}`;
|
|
240
|
+
console.log(chalk.white('Opening browser for Google OAuth...'));
|
|
241
|
+
console.log(chalk.gray(` Auth server: ${CLOUD_API_URL}`));
|
|
242
|
+
console.log(chalk.gray(` Callback: http://localhost:${port}/callback`));
|
|
212
243
|
openBrowser(oauthUrl);
|
|
213
|
-
console.log(chalk.gray(` Callback server listening on port ${port}`));
|
|
214
244
|
console.log(chalk.gray(' Waiting for OAuth callback...'));
|
|
215
245
|
console.log('');
|
|
216
246
|
const creds = await credentials;
|
|
217
247
|
saveCloudCredentials(creds.token, creds.refreshToken);
|
|
218
248
|
console.log(chalk.green(' ✓ Credentials saved'));
|
|
249
|
+
if (creds.refreshToken) {
|
|
250
|
+
console.log(chalk.green(' ✓ Refresh token saved (enables auto-renewal)'));
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
console.log(chalk.yellow(' ⚠ No refresh token received — token will expire without auto-renewal'));
|
|
254
|
+
}
|
|
219
255
|
await connectWithToken(creds.token, creds.refreshToken);
|
|
220
256
|
}
|
|
221
257
|
catch (error) {
|
|
@@ -233,24 +269,44 @@ export async function loginCommand(options) {
|
|
|
233
269
|
* @param token - JWT access token
|
|
234
270
|
* @param refreshToken - Optional refresh token
|
|
235
271
|
*/
|
|
272
|
+
/**
|
|
273
|
+
* Connect to CrewlyAI Cloud by calling POST /api/cloud/connect on the local backend.
|
|
274
|
+
*
|
|
275
|
+
* If the local backend is not running, saves credentials locally and informs the user
|
|
276
|
+
* that the connection will be established on next `crewly start`.
|
|
277
|
+
*
|
|
278
|
+
* @param token - JWT access token
|
|
279
|
+
* @param refreshToken - Optional refresh token for auto-renewal
|
|
280
|
+
*/
|
|
236
281
|
async function connectWithToken(token, refreshToken) {
|
|
282
|
+
// Always save credentials first — even if backend is down, next start will use them
|
|
283
|
+
saveCloudCredentials(token, refreshToken);
|
|
237
284
|
try {
|
|
238
285
|
const response = await axios.post(`${BACKEND_URL}${CLOUD_CONNECT_ENDPOINT}`, { token, refreshToken }, { timeout: API_TIMEOUT_MS });
|
|
239
286
|
if (response.data?.success) {
|
|
240
287
|
console.log(chalk.green(' ✓ Connected to CrewlyAI Cloud'));
|
|
241
288
|
const tier = response.data.data?.tier || response.data.tier || 'unknown';
|
|
242
289
|
console.log(chalk.green(` ✓ Tier: ${tier}`));
|
|
243
|
-
saveCloudCredentials(token, refreshToken);
|
|
244
|
-
console.log(chalk.green(' ✓ Credentials saved'));
|
|
245
290
|
}
|
|
246
291
|
else {
|
|
247
292
|
const msg = response.data?.error || 'Unknown error';
|
|
248
|
-
console.log(chalk.
|
|
249
|
-
|
|
293
|
+
console.log(chalk.yellow(` ⚠ Backend connect returned: ${msg}`));
|
|
294
|
+
console.log(chalk.gray(' Credentials saved — connection will activate on next crewly start'));
|
|
250
295
|
}
|
|
251
296
|
}
|
|
252
297
|
catch (error) {
|
|
253
|
-
|
|
298
|
+
if (axios.isAxiosError(error) && error.code === 'ECONNREFUSED') {
|
|
299
|
+
// Backend not running — this is OK, credentials are saved
|
|
300
|
+
console.log(chalk.green(' ✓ Credentials saved to ~/.crewly/cloud/config.json'));
|
|
301
|
+
console.log(chalk.gray(' Backend not running — Cloud will connect automatically on next crewly start'));
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
const msg = axios.isAxiosError(error)
|
|
305
|
+
? (error.response?.data?.error || error.message)
|
|
306
|
+
: (error instanceof Error ? error.message : String(error));
|
|
307
|
+
console.log(chalk.yellow(` ⚠ Backend connect failed: ${msg}`));
|
|
308
|
+
console.log(chalk.gray(' Credentials saved — connection will activate on next crewly start'));
|
|
309
|
+
}
|
|
254
310
|
}
|
|
255
311
|
}
|
|
256
312
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,uBAAuB;AACvB,MAAM,WAAW,GAAG,oBAAoB,gBAAgB,EAAE,CAAC;AAE3D,6BAA6B;AAC7B,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAEpD,gCAAgC;AAChC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAE1D,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAElD,kCAAkC;AAClC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AAE9D,4CAA4C;AAC5C,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,sCAAsC;AACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAE7D,gCAAgC;AAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AA0BhE,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,YAAqB;IACvE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,WAAW,GAAqB;QACpC,KAAK;QACL,YAAY;QACZ,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IACF,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,GAAG,GAAG,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1D,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,KAAc,EAAE,MAAc;IACpD,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,kCAAkC,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,cAAc,CAAC;YACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB;IAKjC,IAAI,WAAmC,CAAC;IACxC,IAAI,YAAuE,CAAC;IAC5E,IAAI,WAAiC,CAAC;IAEtC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAClD,WAAW,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,OAAO,CAA2C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7F,YAAY,GAAG,OAAO,CAAC;QACvB,WAAW,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACxD,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;YAEvE,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;gBAC9F,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;gBACpF,WAAW,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,kCAAkC;YAClC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,WAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,WAAY,CAAC,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAC;IACvF,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,4CAA4C;IAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAElF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC7D,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAEhE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC/B,MAAM,WAAW,GAAG,oBAAoB,IAAI,WAAW,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,WAAW,GAAG,2BAA2B,aAAa,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QAE5G,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;QAChC,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAElD,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,YAAqB;IAClE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,WAAW,GAAG,sBAAsB,EAAE,EACzC,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,EAAE,OAAO,EAAE,cAAc,EAAE,CAC5B,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,WAAW,GAAG,qBAAqB,EAAE,EACxC,EAAE,OAAO,EAAE,cAAc,EAAE,CAC5B,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;YAE9C,wBAAwB;YACxB,IAAI,aAAqB,CAAC;YAC1B,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBACtC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,WAAW,GAAG,yBAAyB,EAAE,EAC5C,EAAE,EACF,EAAE,OAAO,EAAE,cAAc,EAAE,CAC5B,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../cli/src/commands/cloud.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crewly",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.64",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Multi-agent orchestration platform for AI coding teams — coordinates Claude Code, Gemini CLI, and Codex agents with a real-time web dashboard",
|
|
6
6
|
"main": "dist/cli/cli/src/index.js",
|