crewly 1.5.10 → 1.5.11

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.
@@ -0,0 +1,36 @@
1
+ # update-team-member
2
+
3
+ Update a team member's properties including name, role, runtimeType, systemPrompt, and other attributes.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ bash config/skills/orchestrator/update-team-member/execute.sh '{"teamId":"<team-uuid>","memberId":"<member-uuid>","runtimeType":"crewly-agent"}'
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Required | Description |
14
+ |-----------|----------|-------------|
15
+ | teamId | Yes | Team UUID or "orchestrator" |
16
+ | memberId | Yes | Member UUID |
17
+ | name | No | New display name |
18
+ | role | No | New role (e.g., "developer", "pm") |
19
+ | runtimeType | No | Runtime type: "claude-code", "gemini-cli", "codex-cli", "crewly-agent" |
20
+ | systemPrompt | No | New system prompt text |
21
+
22
+ ## Examples
23
+
24
+ ```bash
25
+ # Change runtime type
26
+ bash config/skills/orchestrator/update-team-member/execute.sh '{"teamId":"817a1aeb","memberId":"member-001","runtimeType":"gemini-cli"}'
27
+
28
+ # Update name and role
29
+ bash config/skills/orchestrator/update-team-member/execute.sh '{"teamId":"817a1aeb","memberId":"member-001","name":"New Name","role":"developer"}'
30
+ ```
31
+
32
+ ## Notes
33
+
34
+ - When only `runtimeType` is provided, the dedicated `/runtime` endpoint is used for stricter validation
35
+ - For other fields, the general member update endpoint is used
36
+ - The member must exist in the specified team
@@ -0,0 +1,25 @@
1
+ #!/bin/bash
2
+ # Update a team member's properties (name, role, runtimeType, systemPrompt, etc.)
3
+ # If only runtimeType is being updated, uses the dedicated runtime endpoint for validation.
4
+ set -euo pipefail
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ source "${SCRIPT_DIR}/../_common/lib.sh"
7
+
8
+ INPUT=$(read_json_input "${1:-}")
9
+ [ -z "$INPUT" ] && error_exit 'Usage: execute.sh '"'"'{"teamId":"uuid","memberId":"uuid","runtimeType":"claude-code"}'"'"''
10
+
11
+ TEAM_ID=$(printf '%s' "$INPUT" | jq -r '.teamId // empty')
12
+ MEMBER_ID=$(printf '%s' "$INPUT" | jq -r '.memberId // empty')
13
+ require_param "teamId" "$TEAM_ID"
14
+ require_param "memberId" "$MEMBER_ID"
15
+
16
+ # Remove teamId and memberId from the body (they go in the URL)
17
+ BODY=$(printf '%s' "$INPUT" | jq 'del(.teamId, .memberId)')
18
+
19
+ # Check if this is a runtime-only update (use the dedicated endpoint for validation)
20
+ KEYS=$(printf '%s' "$BODY" | jq -r 'keys[]')
21
+ if [ "$KEYS" = "runtimeType" ]; then
22
+ api_call PUT "/teams/$TEAM_ID/members/$MEMBER_ID/runtime" "$BODY"
23
+ else
24
+ api_call PUT "/teams/$TEAM_ID/members/$MEMBER_ID" "$BODY"
25
+ fi
@@ -1 +1 @@
1
- {"version":3,"file":"team.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/team/team.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/team/team.controller.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,21 @@ async function getDefaultRuntime() {
42
42
  return RUNTIME_TYPES.CLAUDE_CODE;
43
43
  }
44
44
  }
45
+ /**
46
+ * Check if the auditor is enabled in settings.
47
+ * Used to conditionally include the auditor member in the orchestrator team.
48
+ *
49
+ * @returns True if the auditor is enabled
50
+ */
51
+ async function isAuditorEnabled() {
52
+ try {
53
+ const settings = await getSettingsService().getSettings();
54
+ return settings.general.enableAuditor ?? false;
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ }
45
60
  /**
46
61
  * Computes the lastActivity timestamp for a team.
47
62
  *
@@ -84,60 +99,63 @@ function withLastActivity(team) {
84
99
  * @param overrides - Optional field overrides (e.g. projectIds for updates)
85
100
  * @returns A Team object representing the orchestrator
86
101
  */
87
- function buildOrchestratorTeam(actualAgentStatus, orchestratorStatus, overrides, inProcessRuntimeStatus) {
102
+ function buildOrchestratorTeam(actualAgentStatus, orchestratorStatus, overrides, inProcessRuntimeStatus, options) {
88
103
  const now = new Date().toISOString();
89
104
  // Resolve Assistant status: check in-process runtime active state
90
105
  const assistantInProcessActive = inProcessRuntimeStatus?.['crewly-orc-assistant'] ?? false;
91
106
  const assistantStatus = assistantInProcessActive
92
107
  ? CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE
93
108
  : CREWLY_CONSTANTS.AGENT_STATUSES.INACTIVE;
94
- // Resolve Auditor status: check in-process runtime active state
95
- const auditorInProcessActive = inProcessRuntimeStatus?.['crewly-auditor'] ?? false;
96
- const auditorStatus = auditorInProcessActive
97
- ? CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE
98
- : CREWLY_CONSTANTS.AGENT_STATUSES.INACTIVE;
109
+ const members = [
110
+ {
111
+ id: 'orchestrator-member',
112
+ name: 'Agentmux Orchestrator',
113
+ sessionName: CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME,
114
+ role: 'orchestrator',
115
+ systemPrompt: 'You are the Crewly Orchestrator responsible for coordinating teams and managing project workflows.',
116
+ agentStatus: actualAgentStatus,
117
+ workingStatus: (orchestratorStatus?.workingStatus || CREWLY_CONSTANTS.WORKING_STATUSES.IDLE),
118
+ runtimeType: (orchestratorStatus?.runtimeType || 'claude-code'),
119
+ createdAt: orchestratorStatus?.createdAt || now,
120
+ updatedAt: orchestratorStatus?.updatedAt || now
121
+ },
122
+ {
123
+ id: 'crewly-orc-assistant-member-001',
124
+ name: 'Assistant',
125
+ sessionName: 'crewly-orc-assistant',
126
+ role: 'orchestrator',
127
+ systemPrompt: 'Shadow orchestrator running in-process via Crewly Agent runtime (AI SDK)',
128
+ agentStatus: assistantStatus,
129
+ workingStatus: CREWLY_CONSTANTS.WORKING_STATUSES.IDLE,
130
+ runtimeType: 'crewly-agent',
131
+ createdAt: '2026-03-11T02:00:00.000Z',
132
+ updatedAt: now
133
+ },
134
+ ];
135
+ // Only include auditor member when auditor is enabled (default: include for backward compat)
136
+ if (options?.auditorEnabled !== false) {
137
+ const auditorInProcessActive = inProcessRuntimeStatus?.['crewly-auditor'] ?? false;
138
+ const auditorStatus = auditorInProcessActive
139
+ ? CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE
140
+ : CREWLY_CONSTANTS.AGENT_STATUSES.INACTIVE;
141
+ members.push({
142
+ id: 'e5f6a7b8-9012-3cde-f456-auditor00001',
143
+ name: 'Auditor',
144
+ sessionName: 'crewly-auditor',
145
+ role: 'auditor',
146
+ systemPrompt: 'Autonomous quality observer — monitors all agents, detects problems, writes audit reports',
147
+ agentStatus: auditorStatus,
148
+ workingStatus: CREWLY_CONSTANTS.WORKING_STATUSES.IDLE,
149
+ runtimeType: 'claude-code',
150
+ createdAt: '2026-03-11T02:10:00.000Z',
151
+ updatedAt: now
152
+ });
153
+ }
99
154
  return {
100
155
  id: 'orchestrator',
101
156
  name: 'Orchestrator Team',
102
157
  description: 'System orchestrator for project management',
103
- members: [
104
- {
105
- id: 'orchestrator-member',
106
- name: 'Agentmux Orchestrator',
107
- sessionName: CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME,
108
- role: 'orchestrator',
109
- systemPrompt: 'You are the Crewly Orchestrator responsible for coordinating teams and managing project workflows.',
110
- agentStatus: actualAgentStatus,
111
- workingStatus: (orchestratorStatus?.workingStatus || CREWLY_CONSTANTS.WORKING_STATUSES.IDLE),
112
- runtimeType: (orchestratorStatus?.runtimeType || 'claude-code'),
113
- createdAt: orchestratorStatus?.createdAt || now,
114
- updatedAt: orchestratorStatus?.updatedAt || now
115
- },
116
- {
117
- id: 'crewly-orc-assistant-member-001',
118
- name: 'Assistant',
119
- sessionName: 'crewly-orc-assistant',
120
- role: 'orchestrator',
121
- systemPrompt: 'Shadow orchestrator running in-process via Crewly Agent runtime (AI SDK)',
122
- agentStatus: assistantStatus,
123
- workingStatus: CREWLY_CONSTANTS.WORKING_STATUSES.IDLE,
124
- runtimeType: 'crewly-agent',
125
- createdAt: '2026-03-11T02:00:00.000Z',
126
- updatedAt: now
127
- },
128
- {
129
- id: 'e5f6a7b8-9012-3cde-f456-auditor00001',
130
- name: 'Auditor',
131
- sessionName: 'crewly-auditor',
132
- role: 'auditor',
133
- systemPrompt: 'Autonomous quality observer — monitors all agents, detects problems, writes audit reports',
134
- agentStatus: auditorStatus,
135
- workingStatus: CREWLY_CONSTANTS.WORKING_STATUSES.IDLE,
136
- runtimeType: 'claude-code',
137
- createdAt: '2026-03-11T02:10:00.000Z',
138
- updatedAt: now
139
- }
140
- ],
158
+ members,
141
159
  projectIds: [],
142
160
  createdAt: orchestratorStatus?.createdAt || now,
143
161
  updatedAt: orchestratorStatus?.updatedAt || now,
@@ -678,7 +696,8 @@ export async function getTeams(req, res) {
678
696
  const actualOrchestratorStatus = resolveAgentStatus(orchestratorStatus?.agentStatus, orchestratorSessionExists);
679
697
  // Check in-process runtime status for virtual team members (Assistant, Auditor)
680
698
  const inProcessRuntimeStatus = getInProcessRuntimeStatusMap(this.agentRegistrationService);
681
- const orchestratorTeam = buildOrchestratorTeam(actualOrchestratorStatus, orchestratorStatus, undefined, inProcessRuntimeStatus);
699
+ const auditorEnabled = await isAuditorEnabled();
700
+ const orchestratorTeam = buildOrchestratorTeam(actualOrchestratorStatus, orchestratorStatus, undefined, inProcessRuntimeStatus, { auditorEnabled });
682
701
  // Load working status data from ActivityMonitorService
683
702
  let workingStatusData;
684
703
  try {
@@ -732,7 +751,8 @@ export async function getTeam(req, res) {
732
751
  const orchestratorSessionExists = backend?.sessionExists(CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME) || false;
733
752
  const actualOrchestratorStatus = resolveAgentStatus(orchestratorStatus?.agentStatus, orchestratorSessionExists);
734
753
  const inProcessStatus = getInProcessRuntimeStatusMap(this.agentRegistrationService);
735
- const orchestratorTeam = buildOrchestratorTeam(actualOrchestratorStatus, orchestratorStatus, undefined, inProcessStatus);
754
+ const auditorEnabled = await isAuditorEnabled();
755
+ const orchestratorTeam = buildOrchestratorTeam(actualOrchestratorStatus, orchestratorStatus, undefined, inProcessStatus, { auditorEnabled });
736
756
  res.json({ success: true, data: withLastActivity(orchestratorTeam) });
737
757
  return;
738
758
  }