crewly 1.4.61 → 1.4.63
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/content-calendar/execute.sh +2 -2
- package/config/skills/agent/marketing/brand-onboarding/SKILL.md +76 -0
- package/config/skills/agent/marketing/brand-onboarding/execute.sh +312 -0
- package/config/skills/agent/marketing/submit-for-approval/SKILL.md +73 -0
- package/config/skills/agent/marketing/submit-for-approval/execute.sh +138 -0
- package/config/skills/agent/marketing/weekly-content-planning/SKILL.md +52 -0
- package/config/skills/agent/marketing/weekly-content-planning/execute.sh +202 -0
- package/config/skills/agent/marketing/weekly-content-planning/execute.test.sh +151 -0
- package/config/skills/agent/marketing/weekly-marketing-report/SKILL.md +51 -0
- package/config/skills/agent/marketing/weekly-marketing-report/execute.sh +190 -0
- package/config/skills/agent/marketing/weekly-marketing-report/execute.test.sh +241 -0
- package/config/skills/orchestrator/send-to-remote/SKILL.md +51 -0
- package/config/skills/orchestrator/send-to-remote/execute.sh +114 -0
- package/config/templates/marketing-team/README.md +42 -0
- package/config/templates/marketing-team/goals.md +21 -0
- package/config/templates/marketing-team/knowledge/docs/brand-voice-guide.md +61 -0
- package/config/templates/marketing-team/knowledge/docs/content-best-practices.md +64 -0
- package/config/templates/marketing-team/knowledge/index.json +24 -0
- package/config/templates/marketing-team/learned-patterns.json +5 -0
- package/config/templates/marketing-team/norms/brand-consistency.md +40 -0
- package/config/templates/marketing-team/norms/content-quality-checklist.md +45 -0
- package/config/templates/marketing-team/quality-gates.yaml +47 -0
- package/config/templates/marketing-team/roles/analyst.md +63 -0
- package/config/templates/marketing-team/roles/strategist.md +26 -0
- package/config/templates/marketing-team/roles/writer.md +58 -0
- package/config/templates/marketing-team/template.json +90 -0
- package/config/templates/marketing-team/workflows/weekly-content-cycle.yaml +48 -0
- package/dist/backend/backend/src/constants.d.ts +9 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +9 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/cross-machine/cross-machine.controller.d.ts +16 -0
- package/dist/backend/backend/src/controllers/cross-machine/cross-machine.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cross-machine/cross-machine.controller.js +140 -0
- package/dist/backend/backend/src/controllers/cross-machine/cross-machine.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/cross-machine/index.d.ts +7 -0
- package/dist/backend/backend/src/controllers/cross-machine/index.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/cross-machine/index.js +7 -0
- package/dist/backend/backend/src/controllers/cross-machine/index.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/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +46 -6
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +13 -0
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js +50 -5
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts +8 -0
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js +52 -3
- package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +5 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.js +14 -2
- package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/index.d.ts +2 -0
- package/dist/backend/backend/src/services/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/index.js +2 -0
- package/dist/backend/backend/src/services/index.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.d.ts +155 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.js +469 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.service.js.map +1 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.d.ts +107 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.js +104 -0
- package/dist/backend/backend/src/services/onboarding/brand-onboarding.types.js.map +1 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.service.d.ts +124 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.service.js +256 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.service.js.map +1 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.types.d.ts +80 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.types.js +16 -0
- package/dist/backend/backend/src/services/onboarding/content-approval.types.js.map +1 -0
- package/dist/backend/backend/src/services/onboarding/index.d.ts +12 -0
- package/dist/backend/backend/src/services/onboarding/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/onboarding/index.js +10 -0
- package/dist/backend/backend/src/services/onboarding/index.js.map +1 -0
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts +147 -0
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.js +306 -0
- package/dist/backend/backend/src/services/slack/cross-machine-message.service.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +7 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +76 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +8 -2
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/types/cross-machine.types.d.ts +103 -0
- package/dist/backend/backend/src/types/cross-machine.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/cross-machine.types.js +47 -0
- package/dist/backend/backend/src/types/cross-machine.types.js.map +1 -0
- package/dist/cli/backend/src/constants.d.ts +9 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +9 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- 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,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Machine Controller
|
|
3
|
+
*
|
|
4
|
+
* REST API endpoints for cross-machine communication via Slack.
|
|
5
|
+
* Provides send, configure, and status endpoints.
|
|
6
|
+
*
|
|
7
|
+
* @module controllers/cross-machine
|
|
8
|
+
*/
|
|
9
|
+
import { Router } from 'express';
|
|
10
|
+
import { getCrossMachineMessageService, } from '../../services/slack/cross-machine-message.service.js';
|
|
11
|
+
/**
|
|
12
|
+
* Create the cross-machine router.
|
|
13
|
+
*
|
|
14
|
+
* @returns Express router with cross-machine endpoints
|
|
15
|
+
*/
|
|
16
|
+
export function createCrossMachineRouter() {
|
|
17
|
+
const router = Router();
|
|
18
|
+
/**
|
|
19
|
+
* GET /api/cross-machine/status
|
|
20
|
+
*
|
|
21
|
+
* Get cross-machine messaging status including device identity and config.
|
|
22
|
+
*/
|
|
23
|
+
router.get('/status', async (_req, res) => {
|
|
24
|
+
try {
|
|
25
|
+
const service = getCrossMachineMessageService();
|
|
26
|
+
const config = service.getConfig();
|
|
27
|
+
const identity = service.getIdentity();
|
|
28
|
+
res.json({
|
|
29
|
+
success: true,
|
|
30
|
+
enabled: service.isEnabled(),
|
|
31
|
+
config,
|
|
32
|
+
identity: identity ? {
|
|
33
|
+
deviceId: identity.deviceId,
|
|
34
|
+
deviceName: identity.deviceName,
|
|
35
|
+
} : null,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
res.status(500).json({
|
|
40
|
+
success: false,
|
|
41
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* POST /api/cross-machine/configure
|
|
47
|
+
*
|
|
48
|
+
* Configure cross-machine messaging with a Slack channel ID.
|
|
49
|
+
*
|
|
50
|
+
* @body {string} channelId - Slack channel ID for cross-machine messages
|
|
51
|
+
* @body {boolean} enabled - Whether to enable cross-machine messaging
|
|
52
|
+
*/
|
|
53
|
+
router.post('/configure', async (req, res) => {
|
|
54
|
+
try {
|
|
55
|
+
const { channelId, enabled } = req.body;
|
|
56
|
+
if (!channelId) {
|
|
57
|
+
res.status(400).json({ success: false, error: 'channelId is required' });
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const service = getCrossMachineMessageService();
|
|
61
|
+
await service.initialize();
|
|
62
|
+
const config = {
|
|
63
|
+
channelId,
|
|
64
|
+
enabled: enabled !== false, // Default to true
|
|
65
|
+
};
|
|
66
|
+
await service.configure(config);
|
|
67
|
+
res.json({ success: true, config });
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
res.status(500).json({
|
|
71
|
+
success: false,
|
|
72
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* POST /api/cross-machine/send
|
|
78
|
+
*
|
|
79
|
+
* Send a cross-machine message via Slack.
|
|
80
|
+
*
|
|
81
|
+
* @body {string} targetMachine - Target device ID (or "*" for broadcast)
|
|
82
|
+
* @body {string} type - Message type (delegate-task, send-message, status-request, ping)
|
|
83
|
+
* @body {object} payload - Message payload
|
|
84
|
+
*/
|
|
85
|
+
router.post('/send', async (req, res) => {
|
|
86
|
+
try {
|
|
87
|
+
const { targetMachine, type, payload, message } = req.body;
|
|
88
|
+
if (!targetMachine) {
|
|
89
|
+
res.status(400).json({ success: false, error: 'targetMachine is required' });
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (!type) {
|
|
93
|
+
res.status(400).json({ success: false, error: 'type is required' });
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const validTypes = [
|
|
97
|
+
'delegate-task', 'send-message', 'status-request', 'status-response', 'ping', 'pong',
|
|
98
|
+
];
|
|
99
|
+
if (!validTypes.includes(type)) {
|
|
100
|
+
res.status(400).json({
|
|
101
|
+
success: false,
|
|
102
|
+
error: `Invalid type. Must be one of: ${validTypes.join(', ')}`,
|
|
103
|
+
});
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const service = getCrossMachineMessageService();
|
|
107
|
+
if (!service.isEnabled()) {
|
|
108
|
+
// Try to initialize — config may have been added since startup
|
|
109
|
+
await service.initialize();
|
|
110
|
+
if (!service.isEnabled()) {
|
|
111
|
+
res.status(409).json({
|
|
112
|
+
success: false,
|
|
113
|
+
error: 'Cross-machine messaging is not configured. POST /api/cross-machine/configure first.',
|
|
114
|
+
});
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Build payload — include message text if provided
|
|
119
|
+
const fullPayload = { ...payload };
|
|
120
|
+
if (message) {
|
|
121
|
+
fullPayload.message = message;
|
|
122
|
+
}
|
|
123
|
+
const result = await service.sendMessage(targetMachine, type, fullPayload);
|
|
124
|
+
if (result.success) {
|
|
125
|
+
res.json({ success: true, slackTs: result.slackTs });
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
res.status(500).json({ success: false, error: result.error });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
res.status(500).json({
|
|
133
|
+
success: false,
|
|
134
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return router;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=cross-machine.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-machine.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cross-machine/cross-machine.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cross-machine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/cross-machine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -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;AA+BjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CA+FpE"}
|
|
@@ -27,6 +27,7 @@ import { createCloudRouter, createRelayRouter } from '../controllers/cloud/index
|
|
|
27
27
|
import { createPrReviewRouter } from '../controllers/pr-review/pr-review.routes.js';
|
|
28
28
|
import { createApprovalsRouter } from '../controllers/approvals/approvals.routes.js';
|
|
29
29
|
import { createBrowserRouter } from '../controllers/browser/browser.routes.js';
|
|
30
|
+
import { createCrossMachineRouter } from '../controllers/cross-machine/index.js';
|
|
30
31
|
/**
|
|
31
32
|
* Creates API routes using the new organized controller structure
|
|
32
33
|
* @param apiController - Legacy API controller (for backward compatibility)
|
|
@@ -89,6 +90,8 @@ export function createApiRoutes(apiController) {
|
|
|
89
90
|
router.use('/approvals', createApprovalsRouter());
|
|
90
91
|
// Browser Bridge routes for Chrome Extension remote browser control
|
|
91
92
|
router.use('/browser', createBrowserRouter());
|
|
93
|
+
// Cross-machine communication routes for Slack-based inter-machine messaging
|
|
94
|
+
router.use('/cross-machine', createCrossMachineRouter());
|
|
92
95
|
// Keep legacy modular routes for handlers not yet migrated (for backward compatibility)
|
|
93
96
|
// Note: Project routes consolidated into new architecture - no longer needed here
|
|
94
97
|
registerTaskManagementRoutes(router, apiController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAmB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAmB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,aAA4B;IAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,kEAAkE;IAClE,MAAM,OAAO,GAAe;QAC1B,cAAc,EAAE,aAAa,CAAC,cAAc;QAC5C,WAAW,EAAE,aAAa,CAAC,WAAW;QACtC,wBAAwB,EAAE,aAAa,CAAC,wBAAwB;QAChE,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,uBAAuB,EAAE,aAAa,CAAC,uBAAuB;QAC9D,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;QAC1D,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;QAC1D,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;QAC1D,mBAAmB,EAAE,aAAa,CAAC,mBAAmB;QACtD,+BAA+B,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE;YAC3D,gEAAgE;YAChE,MAAM,EAAE,+BAA+B,EAAE,GAAG,MAAM,MAAM,CAAC,8CAA8C,CAAC,CAAC;YACzG,OAAO,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;IAEF,6CAA6C;IAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1C,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE9C,kEAAkE;IAClE,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IAEvD,uBAAuB;IACvB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAElD,kCAAkC;IAClC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEvD,gCAAgC;IAChC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAE9C,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAExD,kEAAkE;IAClE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAE5C,wEAAwE;IACxE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAExD,8EAA8E;IAC9E,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEtD,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAElD,iEAAiE;IACjE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEjD,sDAAsD;IACtD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE9C,kEAAkE;IAClE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE9C,sFAAsF;IACtF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAE1C,qFAAqF;IACrF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAE1C,gEAAgE;IAChE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEjD,sEAAsE;IACtE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAElD,oEAAoE;IACpE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE9C,6EAA6E;IAC7E,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEzD,wFAAwF;IACxF,kFAAkF;IAClF,4BAA4B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5C,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,8BAA8B,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5C,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACN,gBAAgB,EAMhB,WAAW,EAOX,MAAM,oBAAoB,CAAC;
|
|
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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"}
|
|
@@ -16,6 +16,7 @@ import { OAuthReloginMonitorService } from './oauth-relogin-monitor.service.js';
|
|
|
16
16
|
import { SubAgentMessageQueue } from '../messaging/sub-agent-message-queue.service.js';
|
|
17
17
|
import { AgentSuspendService } from './agent-suspend.service.js';
|
|
18
18
|
import { PromptBuilderService } from '../ai/prompt-builder.service.js';
|
|
19
|
+
import { PromptAssemblyService } from '../ai/prompt-modules/prompt-assembly.service.js';
|
|
19
20
|
import { stripAnsiCodes } from '../../utils/terminal-output.utils.js';
|
|
20
21
|
import { isPromptLine, containsSpinnerOrWorkingIndicator, containsProcessingIndicator, containsBusyStatusBar, containsRewindMode, extractChatPrefix, stripTuiLineBorders, matchTuiPromptLine, } from '../../utils/terminal-string-ops.js';
|
|
21
22
|
import { PtyActivityTrackerService } from './pty-activity-tracker.service.js';
|
|
@@ -1238,12 +1239,51 @@ export class AgentRegistrationService {
|
|
|
1238
1239
|
});
|
|
1239
1240
|
}
|
|
1240
1241
|
}
|
|
1241
|
-
//
|
|
1242
|
-
// When CREWLY_USE_MODULAR_PROMPTS=true,
|
|
1243
|
-
//
|
|
1244
|
-
//
|
|
1245
|
-
|
|
1246
|
-
|
|
1242
|
+
// Phase 5: Use modular prompt assembly when feature flag is enabled.
|
|
1243
|
+
// When CREWLY_USE_MODULAR_PROMPTS=true, replaces the entire monolithic template
|
|
1244
|
+
// with PromptAssemblyService — handling identity, skills, communication, recovery,
|
|
1245
|
+
// lifecycle, memory, soul, and team-reference modules with token budget enforcement.
|
|
1246
|
+
if (process.env.CREWLY_USE_MODULAR_PROMPTS === 'true') {
|
|
1247
|
+
this.logger.info('Using modular prompt assembly (Phase 5)', { sessionName, role });
|
|
1248
|
+
const agentSkillsPath = path.join(this.projectRoot, 'config', 'skills', 'agent');
|
|
1249
|
+
const tlSkillsPath = path.join(this.projectRoot, 'config', 'skills', 'team-leader');
|
|
1250
|
+
const moduleConfig = {
|
|
1251
|
+
sessionName,
|
|
1252
|
+
memberId: memberId ?? foundMember?.id ?? '',
|
|
1253
|
+
role,
|
|
1254
|
+
teamId: foundTeam?.id,
|
|
1255
|
+
projectPath,
|
|
1256
|
+
runtimeType: runtimeType,
|
|
1257
|
+
canDelegate: foundMember?.canDelegate,
|
|
1258
|
+
subordinates: foundMember?.subordinateIds
|
|
1259
|
+
?.map((subId) => {
|
|
1260
|
+
const subMember = foundTeam?.members?.find((m) => m.id === subId);
|
|
1261
|
+
if (!subMember)
|
|
1262
|
+
return null;
|
|
1263
|
+
return {
|
|
1264
|
+
name: subMember.name,
|
|
1265
|
+
sessionName: subMember.sessionName || '',
|
|
1266
|
+
role: subMember.role || 'developer',
|
|
1267
|
+
memberId: subMember.id || subId,
|
|
1268
|
+
};
|
|
1269
|
+
})
|
|
1270
|
+
.filter((s) => s !== null),
|
|
1271
|
+
agentSkillsPath,
|
|
1272
|
+
tlSkillsPath,
|
|
1273
|
+
projectRoot: this.projectRoot,
|
|
1274
|
+
};
|
|
1275
|
+
const assembler = new PromptAssemblyService();
|
|
1276
|
+
const { prompt: modularPrompt, report } = await assembler.assemble(moduleConfig);
|
|
1277
|
+
this.logger.info('Modular prompt assembled for registration', {
|
|
1278
|
+
sessionName,
|
|
1279
|
+
role,
|
|
1280
|
+
totalTokens: report.totalTokens,
|
|
1281
|
+
moduleCount: report.moduleBreakdown.length,
|
|
1282
|
+
truncatedCount: report.truncated.length,
|
|
1283
|
+
modules: report.moduleBreakdown.map(m => m.name),
|
|
1284
|
+
});
|
|
1285
|
+
return modularPrompt;
|
|
1286
|
+
}
|
|
1247
1287
|
return prompt;
|
|
1248
1288
|
}
|
|
1249
1289
|
catch (error) {
|