crewly 1.4.43 → 1.4.45
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/constants.ts +4 -0
- package/config/skills/agent/core/schedule-check/execute.sh +43 -4
- package/config/skills/orchestrator/cancel-cron/execute.sh +13 -0
- package/config/skills/orchestrator/create-cron/execute.sh +26 -0
- package/config/skills/orchestrator/list-cron/execute.sh +17 -0
- package/config/skills/orchestrator/schedule-check/execute.sh +46 -7
- package/config/skills/orchestrator/update-cron/execute.sh +16 -0
- package/dist/backend/backend/src/constants.d.ts +2 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts +25 -0
- package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/system/cron-task.controller.js +99 -0
- package/dist/backend/backend/src/controllers/system/cron-task.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 +2 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/cron-task.routes.d.ts +3 -0
- package/dist/backend/backend/src/routes/modules/cron-task.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/routes/modules/cron-task.routes.js +8 -0
- package/dist/backend/backend/src/routes/modules/cron-task.routes.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +15 -5
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +8 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +43 -13
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts +114 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +303 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -0
- package/dist/backend/backend/src/types/cron-task.types.d.ts +63 -0
- package/dist/backend/backend/src/types/cron-task.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/cron-task.types.js +10 -0
- package/dist/backend/backend/src/types/cron-task.types.js.map +1 -0
- package/dist/backend/config/constants.d.ts +4 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +4 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +2 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.d.ts +4 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +4 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/package.json +1 -1
package/config/constants.ts
CHANGED
|
@@ -867,6 +867,10 @@ export const AGENT_SUSPEND_CONSTANTS = {
|
|
|
867
867
|
EXEMPT_ROLES: ['orchestrator'] as const,
|
|
868
868
|
/** Idle timeout for agents stuck in 'started' status (minutes) */
|
|
869
869
|
STARTED_AGENT_IDLE_TIMEOUT_MINUTES: 15,
|
|
870
|
+
/** Roles that should never be auto-stopped (always-on) */
|
|
871
|
+
ALWAYS_ON_ROLES: ['orchestrator', 'auditor'] as const,
|
|
872
|
+
/** Idle timeout in ms before a worker agent is stopped (default 10 min) */
|
|
873
|
+
AGENT_IDLE_STOP_TIMEOUT_MS: 600_000,
|
|
870
874
|
} as const;
|
|
871
875
|
|
|
872
876
|
// ========================= SERVER PROCESS CONSTANTS =========================
|
|
@@ -1,24 +1,63 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Schedule a future check-in reminder for yourself (#233)
|
|
3
|
-
#
|
|
2
|
+
# Schedule a future check-in reminder for yourself (#233, #237)
|
|
3
|
+
# Supports time-based frequency for market hours vs off-hours
|
|
4
4
|
set -euo pipefail
|
|
5
5
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
6
|
source "${SCRIPT_DIR}/../../_common/lib.sh"
|
|
7
7
|
|
|
8
8
|
INPUT="${1:-}"
|
|
9
|
-
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"minutes\":20,\"message\":\"Run supervision
|
|
9
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"minutes\":20,\"message\":\"Run supervision\",\"recurring\":true}'
|
|
10
|
+
Time-based: '{\"message\":\"Supervise\",\"recurring\":true,\"marketHoursMinutes\":5,\"offHoursMinutes\":20,\"marketHours\":\"09:30-11:30,13:00-15:00\",\"timezone\":\"Asia/Shanghai\"}'"
|
|
10
11
|
|
|
11
12
|
MINUTES=$(echo "$INPUT" | jq -r '.minutes // empty')
|
|
12
13
|
MESSAGE=$(echo "$INPUT" | jq -r '.message // empty')
|
|
13
14
|
RECURRING=$(echo "$INPUT" | jq -r '.recurring // false')
|
|
14
15
|
MAX_OCCURRENCES=$(echo "$INPUT" | jq -r '.maxOccurrences // empty')
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
# #237: Time-based frequency parameters
|
|
18
|
+
MARKET_HOURS_MIN=$(echo "$INPUT" | jq -r '.marketHoursMinutes // empty')
|
|
19
|
+
OFF_HOURS_MIN=$(echo "$INPUT" | jq -r '.offHoursMinutes // empty')
|
|
20
|
+
MARKET_HOURS=$(echo "$INPUT" | jq -r '.marketHours // empty')
|
|
21
|
+
TIMEZONE=$(echo "$INPUT" | jq -r '.timezone // empty')
|
|
22
|
+
|
|
16
23
|
require_param "message" "$MESSAGE"
|
|
17
24
|
|
|
18
25
|
# Default target to the calling agent's own session
|
|
19
26
|
TARGET_SESSION="${CREWLY_SESSION_NAME:-}"
|
|
20
27
|
[ -z "$TARGET_SESSION" ] && error_exit "CREWLY_SESSION_NAME not set — cannot determine target session"
|
|
21
28
|
|
|
29
|
+
# #237: If time-based frequency is specified, calculate effective interval
|
|
30
|
+
if [ -n "$MARKET_HOURS_MIN" ] && [ -n "$OFF_HOURS_MIN" ]; then
|
|
31
|
+
MARKET_HOURS="${MARKET_HOURS:-09:30-11:30,13:00-15:00}"
|
|
32
|
+
TIMEZONE="${TIMEZONE:-Asia/Shanghai}"
|
|
33
|
+
|
|
34
|
+
CURRENT_TIME=$(TZ="$TIMEZONE" date +%H:%M 2>/dev/null || date +%H:%M)
|
|
35
|
+
CURRENT_MINS=$((10#${CURRENT_TIME%%:*} * 60 + 10#${CURRENT_TIME##*:}))
|
|
36
|
+
|
|
37
|
+
IS_MARKET=false
|
|
38
|
+
IFS=',' read -ra RANGES <<< "$MARKET_HOURS"
|
|
39
|
+
for range in "${RANGES[@]}"; do
|
|
40
|
+
START_TIME="${range%%-*}"
|
|
41
|
+
END_TIME="${range##*-}"
|
|
42
|
+
START_MINS=$((10#${START_TIME%%:*} * 60 + 10#${START_TIME##*:}))
|
|
43
|
+
END_MINS=$((10#${END_TIME%%:*} * 60 + 10#${END_TIME##*:}))
|
|
44
|
+
if [ "$CURRENT_MINS" -ge "$START_MINS" ] && [ "$CURRENT_MINS" -lt "$END_MINS" ]; then
|
|
45
|
+
IS_MARKET=true
|
|
46
|
+
break
|
|
47
|
+
fi
|
|
48
|
+
done
|
|
49
|
+
|
|
50
|
+
if [ "$IS_MARKET" = true ]; then
|
|
51
|
+
MINUTES="$MARKET_HOURS_MIN"
|
|
52
|
+
else
|
|
53
|
+
MINUTES="$OFF_HOURS_MIN"
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
RECURRING="true"
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
require_param "minutes" "$MINUTES"
|
|
60
|
+
|
|
22
61
|
if [ "$RECURRING" = "true" ]; then
|
|
23
62
|
BODY=$(jq -n --arg target "$TARGET_SESSION" --arg minutes "$MINUTES" --arg message "$MESSAGE" \
|
|
24
63
|
'{targetSession: $target, minutes: ($minutes | tonumber), intervalMinutes: ($minutes | tonumber), message: $message, isRecurring: true}')
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Cancel (delete) a cron task — user/orchestrator only
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
|
+
|
|
7
|
+
INPUT="${1:-}"
|
|
8
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"id\":\"cron-xxx\"}'"
|
|
9
|
+
|
|
10
|
+
ID=$(echo "$INPUT" | jq -r '.id // empty')
|
|
11
|
+
require_param "id" "$ID"
|
|
12
|
+
|
|
13
|
+
api_call DELETE "/cron-tasks/${ID}"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Create a recurring cron task for an agent
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
|
+
|
|
7
|
+
INPUT="${1:-}"
|
|
8
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"cronExpression\":\"0 9 * * *\",\"timezone\":\"Asia/Shanghai\",\"targetAgent\":\"agent-session\",\"targetTeamId\":\"team-id\",\"taskDescription\":\"Daily report\"}'"
|
|
9
|
+
|
|
10
|
+
CRON=$(echo "$INPUT" | jq -r '.cronExpression // empty')
|
|
11
|
+
TZ_VAL=$(echo "$INPUT" | jq -r '.timezone // "UTC"')
|
|
12
|
+
TARGET=$(echo "$INPUT" | jq -r '.targetAgent // empty')
|
|
13
|
+
TEAM=$(echo "$INPUT" | jq -r '.targetTeamId // empty')
|
|
14
|
+
DESC=$(echo "$INPUT" | jq -r '.taskDescription // empty')
|
|
15
|
+
require_param "cronExpression" "$CRON"
|
|
16
|
+
require_param "targetAgent" "$TARGET"
|
|
17
|
+
require_param "targetTeamId" "$TEAM"
|
|
18
|
+
require_param "taskDescription" "$DESC"
|
|
19
|
+
|
|
20
|
+
BODY=$(jq -n \
|
|
21
|
+
--arg cron "$CRON" --arg tz "$TZ_VAL" \
|
|
22
|
+
--arg target "$TARGET" --arg team "$TEAM" \
|
|
23
|
+
--arg desc "$DESC" \
|
|
24
|
+
'{cronExpression: $cron, timezone: $tz, targetAgent: $target, targetTeamId: $team, taskDescription: $desc, createdBy: "orchestrator"}')
|
|
25
|
+
|
|
26
|
+
api_call POST "/cron-tasks" "$BODY"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# List all cron tasks
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
|
+
|
|
7
|
+
INPUT="${1:-}"
|
|
8
|
+
QUERY=""
|
|
9
|
+
|
|
10
|
+
if [ -n "$INPUT" ]; then
|
|
11
|
+
TARGET=$(echo "$INPUT" | jq -r '.targetAgent // empty')
|
|
12
|
+
ENABLED=$(echo "$INPUT" | jq -r '.enabled // empty')
|
|
13
|
+
[ -n "$TARGET" ] && QUERY="?targetAgent=${TARGET}"
|
|
14
|
+
[ -n "$ENABLED" ] && QUERY="${QUERY:+${QUERY}&}${QUERY:+}${QUERY:-?}enabled=${ENABLED}"
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
api_call GET "/cron-tasks${QUERY}"
|
|
@@ -1,29 +1,68 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Schedule a future check-in reminder
|
|
2
|
+
# Schedule a future check-in reminder with optional time-based frequency (#237)
|
|
3
3
|
set -euo pipefail
|
|
4
4
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
5
|
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
6
|
|
|
7
7
|
INPUT="${1:-}"
|
|
8
|
-
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"minutes\":5,\"message\":\"Check on agent
|
|
8
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"minutes\":5,\"message\":\"Check on agent\",\"recurring\":true}'
|
|
9
|
+
Time-based: '{\"message\":\"Supervise\",\"recurring\":true,\"marketHoursMinutes\":5,\"offHoursMinutes\":20,\"marketHours\":\"09:30-11:30,13:00-15:00\",\"timezone\":\"Asia/Shanghai\"}'"
|
|
9
10
|
|
|
10
11
|
MINUTES=$(echo "$INPUT" | jq -r '.minutes // empty')
|
|
11
12
|
MESSAGE=$(echo "$INPUT" | jq -r '.message // empty')
|
|
12
13
|
TARGET=$(echo "$INPUT" | jq -r '.target // empty')
|
|
13
14
|
RECURRING=$(echo "$INPUT" | jq -r '.recurring // false')
|
|
14
15
|
MAX_OCCURRENCES=$(echo "$INPUT" | jq -r '.maxOccurrences // empty')
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
# #237: Time-based frequency parameters
|
|
18
|
+
MARKET_HOURS_MIN=$(echo "$INPUT" | jq -r '.marketHoursMinutes // empty')
|
|
19
|
+
OFF_HOURS_MIN=$(echo "$INPUT" | jq -r '.offHoursMinutes // empty')
|
|
20
|
+
MARKET_HOURS=$(echo "$INPUT" | jq -r '.marketHours // empty')
|
|
21
|
+
TIMEZONE=$(echo "$INPUT" | jq -r '.timezone // empty')
|
|
22
|
+
|
|
16
23
|
require_param "message" "$MESSAGE"
|
|
17
24
|
|
|
18
|
-
#
|
|
25
|
+
# #237: If time-based frequency is specified, calculate effective interval
|
|
26
|
+
if [ -n "$MARKET_HOURS_MIN" ] && [ -n "$OFF_HOURS_MIN" ]; then
|
|
27
|
+
# Default market hours: China A-shares (09:30-11:30, 13:00-15:00 CST)
|
|
28
|
+
MARKET_HOURS="${MARKET_HOURS:-09:30-11:30,13:00-15:00}"
|
|
29
|
+
TIMEZONE="${TIMEZONE:-Asia/Shanghai}"
|
|
30
|
+
|
|
31
|
+
# Get current time in the specified timezone (HH:MM format)
|
|
32
|
+
CURRENT_TIME=$(TZ="$TIMEZONE" date +%H:%M 2>/dev/null || date +%H:%M)
|
|
33
|
+
CURRENT_MINS=$((10#${CURRENT_TIME%%:*} * 60 + 10#${CURRENT_TIME##*:}))
|
|
34
|
+
|
|
35
|
+
IS_MARKET=false
|
|
36
|
+
IFS=',' read -ra RANGES <<< "$MARKET_HOURS"
|
|
37
|
+
for range in "${RANGES[@]}"; do
|
|
38
|
+
START_TIME="${range%%-*}"
|
|
39
|
+
END_TIME="${range##*-}"
|
|
40
|
+
START_MINS=$((10#${START_TIME%%:*} * 60 + 10#${START_TIME##*:}))
|
|
41
|
+
END_MINS=$((10#${END_TIME%%:*} * 60 + 10#${END_TIME##*:}))
|
|
42
|
+
if [ "$CURRENT_MINS" -ge "$START_MINS" ] && [ "$CURRENT_MINS" -lt "$END_MINS" ]; then
|
|
43
|
+
IS_MARKET=true
|
|
44
|
+
break
|
|
45
|
+
fi
|
|
46
|
+
done
|
|
47
|
+
|
|
48
|
+
if [ "$IS_MARKET" = true ]; then
|
|
49
|
+
MINUTES="$MARKET_HOURS_MIN"
|
|
50
|
+
else
|
|
51
|
+
MINUTES="$OFF_HOURS_MIN"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# Force recurring for time-based schedules
|
|
55
|
+
RECURRING="true"
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
require_param "minutes" "$MINUTES"
|
|
59
|
+
|
|
60
|
+
# Default target to the caller's own session
|
|
19
61
|
TARGET_SESSION="${TARGET:-${CREWLY_SESSION_NAME:-crewly-orc}}"
|
|
20
62
|
|
|
21
|
-
# API expects: targetSession, minutes, message
|
|
22
|
-
# When recurring, also send isRecurring, intervalMinutes, and optional maxOccurrences
|
|
23
63
|
if [ "$RECURRING" = "true" ]; then
|
|
24
64
|
BODY=$(jq -n --arg target "$TARGET_SESSION" --arg minutes "$MINUTES" --arg message "$MESSAGE" \
|
|
25
65
|
'{targetSession: $target, minutes: ($minutes | tonumber), intervalMinutes: ($minutes | tonumber), message: $message, isRecurring: true}')
|
|
26
|
-
# Add maxOccurrences if provided
|
|
27
66
|
if [ -n "$MAX_OCCURRENCES" ]; then
|
|
28
67
|
BODY=$(echo "$BODY" | jq --arg max "$MAX_OCCURRENCES" '. + {maxOccurrences: ($max | tonumber)}')
|
|
29
68
|
fi
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Update a cron task (change schedule, description, or enable/disable)
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
source "${SCRIPT_DIR}/../_common/lib.sh"
|
|
6
|
+
|
|
7
|
+
INPUT="${1:-}"
|
|
8
|
+
[ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"id\":\"cron-xxx\",\"taskDescription\":\"Updated task\"}'"
|
|
9
|
+
|
|
10
|
+
ID=$(echo "$INPUT" | jq -r '.id // empty')
|
|
11
|
+
require_param "id" "$ID"
|
|
12
|
+
|
|
13
|
+
# Build body with only provided fields
|
|
14
|
+
BODY=$(echo "$INPUT" | jq 'del(.id)')
|
|
15
|
+
|
|
16
|
+
api_call PATCH "/cron-tasks/${ID}" "$BODY"
|
|
@@ -159,6 +159,8 @@ export declare const AGENT_SUSPEND_CONSTANTS: {
|
|
|
159
159
|
readonly REHYDRATION_TIMEOUT_MS: 45000;
|
|
160
160
|
readonly EXEMPT_ROLES: readonly ["orchestrator"];
|
|
161
161
|
readonly STARTED_AGENT_IDLE_TIMEOUT_MINUTES: 15;
|
|
162
|
+
readonly ALWAYS_ON_ROLES: readonly ["orchestrator", "auditor"];
|
|
163
|
+
readonly AGENT_IDLE_STOP_TIMEOUT_MS: 600000;
|
|
162
164
|
};
|
|
163
165
|
export declare const VERSION_CHECK_CONSTANTS: {
|
|
164
166
|
readonly NPM_REGISTRY_URL: "https://registry.npmjs.org/crewly/latest";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,eAAO,MAAM,kBAAkB;;;;CAA4B,CAAC;AAC5D,eAAO,MAAM,wBAAwB;;;;;;CAAkC,CAAC;AACxE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AACxD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AACxD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACpE,eAAO,MAAM,8BAA8B;;;;CAAwC,CAAC;AACpF,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron Task API Controller
|
|
3
|
+
*
|
|
4
|
+
* Handlers for cron task CRUD operations.
|
|
5
|
+
*
|
|
6
|
+
* @module controllers/system/cron-task.controller
|
|
7
|
+
*/
|
|
8
|
+
import type { Request, Response } from 'express';
|
|
9
|
+
/**
|
|
10
|
+
* POST /api/cron-tasks — Create a new cron task.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createCronTask(req: Request, res: Response): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* GET /api/cron-tasks — List cron tasks, optionally filtered.
|
|
15
|
+
*/
|
|
16
|
+
export declare function listCronTasks(req: Request, res: Response): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* PATCH /api/cron-tasks/:id — Update a cron task.
|
|
19
|
+
*/
|
|
20
|
+
export declare function updateCronTask(req: Request, res: Response): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* DELETE /api/cron-tasks/:id — Delete a cron task (user/orchestrator only).
|
|
23
|
+
*/
|
|
24
|
+
export declare function deleteCronTask(req: Request, res: Response): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=cron-task.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-task.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/cron-task.controller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB/E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron Task API Controller
|
|
3
|
+
*
|
|
4
|
+
* Handlers for cron task CRUD operations.
|
|
5
|
+
*
|
|
6
|
+
* @module controllers/system/cron-task.controller
|
|
7
|
+
*/
|
|
8
|
+
import { CronTaskService } from '../../services/workflow/cron-task.service.js';
|
|
9
|
+
/**
|
|
10
|
+
* POST /api/cron-tasks — Create a new cron task.
|
|
11
|
+
*/
|
|
12
|
+
export async function createCronTask(req, res) {
|
|
13
|
+
try {
|
|
14
|
+
const { cronExpression, timezone, targetAgent, targetTeamId, taskDescription, createdBy } = req.body;
|
|
15
|
+
if (!cronExpression || !targetAgent || !targetTeamId || !taskDescription) {
|
|
16
|
+
res.status(400).json({
|
|
17
|
+
error: 'Missing required fields: cronExpression, targetAgent, targetTeamId, taskDescription',
|
|
18
|
+
});
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const task = await CronTaskService.getInstance().create({
|
|
22
|
+
cronExpression,
|
|
23
|
+
timezone,
|
|
24
|
+
targetAgent,
|
|
25
|
+
targetTeamId,
|
|
26
|
+
taskDescription,
|
|
27
|
+
createdBy: createdBy || 'user',
|
|
28
|
+
});
|
|
29
|
+
res.status(201).json(task);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
res.status(500).json({
|
|
33
|
+
error: error instanceof Error ? error.message : 'Failed to create cron task',
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* GET /api/cron-tasks — List cron tasks, optionally filtered.
|
|
39
|
+
*/
|
|
40
|
+
export async function listCronTasks(req, res) {
|
|
41
|
+
try {
|
|
42
|
+
const targetAgent = req.query.targetAgent;
|
|
43
|
+
const enabled = req.query.enabled !== undefined
|
|
44
|
+
? req.query.enabled === 'true'
|
|
45
|
+
: undefined;
|
|
46
|
+
const tasks = await CronTaskService.getInstance().list({ targetAgent, enabled });
|
|
47
|
+
res.json({ tasks });
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
res.status(500).json({
|
|
51
|
+
error: error instanceof Error ? error.message : 'Failed to list cron tasks',
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* PATCH /api/cron-tasks/:id — Update a cron task.
|
|
57
|
+
*/
|
|
58
|
+
export async function updateCronTask(req, res) {
|
|
59
|
+
try {
|
|
60
|
+
const { id } = req.params;
|
|
61
|
+
const { cronExpression, timezone, taskDescription, enabled } = req.body;
|
|
62
|
+
const task = await CronTaskService.getInstance().update(id, {
|
|
63
|
+
cronExpression,
|
|
64
|
+
timezone,
|
|
65
|
+
taskDescription,
|
|
66
|
+
enabled,
|
|
67
|
+
});
|
|
68
|
+
if (!task) {
|
|
69
|
+
res.status(404).json({ error: `Cron task ${id} not found` });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
res.json(task);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
res.status(500).json({
|
|
76
|
+
error: error instanceof Error ? error.message : 'Failed to update cron task',
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* DELETE /api/cron-tasks/:id — Delete a cron task (user/orchestrator only).
|
|
82
|
+
*/
|
|
83
|
+
export async function deleteCronTask(req, res) {
|
|
84
|
+
try {
|
|
85
|
+
const { id } = req.params;
|
|
86
|
+
const deleted = await CronTaskService.getInstance().delete(id);
|
|
87
|
+
if (!deleted) {
|
|
88
|
+
res.status(404).json({ error: `Cron task ${id} not found` });
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
res.json({ success: true, id });
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
res.status(500).json({
|
|
95
|
+
error: error instanceof Error ? error.message : 'Failed to delete cron task',
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=cron-task.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-task.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/cron-task.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.routes.d.ts","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.routes.d.ts","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AA6BjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAyFpE"}
|
|
@@ -9,6 +9,7 @@ import { registerErrorRoutes } from './modules/errors.routes.js';
|
|
|
9
9
|
import { registerScheduledMessageRoutes } from './modules/scheduled-messages.routes.js';
|
|
10
10
|
import { registerDeliveryLogRoutes } from './modules/delivery-logs.routes.js';
|
|
11
11
|
import { registerConfigRoutes } from './modules/config.routes.js';
|
|
12
|
+
import { registerCronTaskRoutes } from './modules/cron-task.routes.js';
|
|
12
13
|
import { createFactoryRoutes } from './factory.routes.js';
|
|
13
14
|
import { selfImprovementRouter } from '../controllers/self-improvement/index.js';
|
|
14
15
|
import { createMessagingRouter } from '../controllers/messaging/messaging.routes.js';
|
|
@@ -96,6 +97,7 @@ export function createApiRoutes(apiController) {
|
|
|
96
97
|
registerScheduledMessageRoutes(router, apiController);
|
|
97
98
|
registerDeliveryLogRoutes(router, apiController);
|
|
98
99
|
registerConfigRoutes(router, apiController);
|
|
100
|
+
registerCronTaskRoutes(router);
|
|
99
101
|
return router;
|
|
100
102
|
}
|
|
101
103
|
//# sourceMappingURL=api.routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-task.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/routes/modules/cron-task.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as cronTaskHandlers from '../../controllers/system/cron-task.controller.js';
|
|
2
|
+
export function registerCronTaskRoutes(router) {
|
|
3
|
+
router.post('/cron-tasks', cronTaskHandlers.createCronTask);
|
|
4
|
+
router.get('/cron-tasks', cronTaskHandlers.listCronTasks);
|
|
5
|
+
router.patch('/cron-tasks/:id', cronTaskHandlers.updateCronTask);
|
|
6
|
+
router.delete('/cron-tasks/:id', cronTaskHandlers.deleteCronTask);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=cron-task.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-task.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/routes/modules/cron-task.routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kDAAkD,CAAC;AAErF,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACpD,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2232,16 +2232,26 @@ After checking in, just say "Ready for tasks" and wait for me to send you work.`
|
|
|
2232
2232
|
const maxDeliveryAttempts = runtimeType === RUNTIME_TYPES.GEMINI_CLI ? 2 : 3;
|
|
2233
2233
|
const delivered = await this.sendMessageWithRetry(sessionName, message, maxDeliveryAttempts, runtimeType);
|
|
2234
2234
|
if (!delivered) {
|
|
2235
|
-
// Check if the agent is actively processing (busy) —
|
|
2236
|
-
// processor can re-queue instead of permanently failing the message.
|
|
2235
|
+
// Check if the agent is actively processing (busy) — queue for later delivery.
|
|
2237
2236
|
// Use PTY idle time instead of regex patterns for robust cross-runtime detection.
|
|
2238
2237
|
const idleMs = PtyActivityTrackerService.getInstance().getIdleTimeMs(sessionName);
|
|
2239
2238
|
const isBusy = idleMs < SESSION_COMMAND_DELAYS.AGENT_BUSY_IDLE_THRESHOLD_MS;
|
|
2239
|
+
if (isBusy) {
|
|
2240
|
+
// #236: Queue message for delivery when agent becomes idle
|
|
2241
|
+
SubAgentMessageQueue.getInstance().enqueue(sessionName, message);
|
|
2242
|
+
this.logger.info('Agent busy — message queued for later delivery', {
|
|
2243
|
+
sessionName,
|
|
2244
|
+
messageLength: message.length,
|
|
2245
|
+
});
|
|
2246
|
+
return {
|
|
2247
|
+
success: true,
|
|
2248
|
+
queued: true,
|
|
2249
|
+
message: '[AGENT_BUSY] Message queued for delivery when agent becomes idle',
|
|
2250
|
+
};
|
|
2251
|
+
}
|
|
2240
2252
|
return {
|
|
2241
2253
|
success: false,
|
|
2242
|
-
error:
|
|
2243
|
-
? '[AGENT_BUSY] Failed to deliver message — agent is actively processing'
|
|
2244
|
-
: 'Failed to deliver message after multiple attempts',
|
|
2254
|
+
error: 'Failed to deliver message after multiple attempts',
|
|
2245
2255
|
};
|
|
2246
2256
|
}
|
|
2247
2257
|
this.logger.info('Message sent to agent successfully', {
|