crewly 1.4.40 → 1.4.42
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/orchestrator_tasks/prompts/orchestrator-prompt.md +11 -11
- package/config/roles/architect/prompt.md +1 -5
- package/config/roles/backend-developer/prompt.md +1 -5
- package/config/roles/content-strategist/prompt.md +1 -5
- package/config/roles/designer/prompt.md +1 -5
- package/config/roles/developer/prompt.md +1 -7
- package/config/roles/developer/soul.md +18 -0
- package/config/roles/frontend-developer/prompt.md +1 -5
- package/config/roles/fullstack-dev/prompt.md +1 -5
- package/config/roles/generalist/prompt.md +1 -7
- package/config/roles/ops/prompt.md +1 -7
- package/config/roles/orchestrator/fragments/communication.md +117 -0
- package/config/roles/orchestrator/fragments/lifecycle.md +112 -0
- package/config/roles/orchestrator/fragments/recovery.md +47 -0
- package/config/roles/orchestrator/prompt.md +44 -44
- package/config/roles/orchestrator/soul.md +18 -0
- package/config/roles/product-manager/prompt.md +1 -5
- package/config/roles/qa/prompt.md +1 -5
- package/config/roles/qa-engineer/prompt.md +1 -5
- package/config/roles/researcher/prompt.md +1 -5
- package/config/roles/researcher/soul.md +18 -0
- package/config/roles/sales/prompt.md +1 -5
- package/config/roles/support/prompt.md +1 -5
- package/config/roles/team-leader/prompt.md +2 -6
- package/config/roles/tpm/prompt.md +1 -5
- package/config/roles/ux-designer/prompt.md +1 -5
- package/config/souls/developer.md +30 -0
- package/config/souls/orchestrator.md +30 -0
- package/config/souls/researcher.md +30 -0
- package/config/templates/agent-claude-md.md +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 +18 -7
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +16 -4
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +11 -0
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- 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 +5 -0
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +46 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +151 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.d.ts +145 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.js +232 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.d.ts +28 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.js +47 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +22 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js +26 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts +28 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.js +55 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts +44 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.js +120 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts +28 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.js +46 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.d.ts +29 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js +50 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts +103 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +305 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +135 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js +46 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts +34 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +69 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.d.ts +55 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.js +96 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts +28 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +65 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts +70 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js +166 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.d.ts +54 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.js +149 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +28 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +53 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/attention.service.d.ts +74 -0
- package/dist/backend/backend/src/services/ai/self-improvement/attention.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/attention.service.js +132 -0
- package/dist/backend/backend/src/services/ai/self-improvement/attention.service.js.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.d.ts +81 -0
- package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.js +135 -0
- package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.js.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/index.d.ts +13 -0
- package/dist/backend/backend/src/services/ai/self-improvement/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/index.js +13 -0
- package/dist/backend/backend/src/services/ai/self-improvement/index.js.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.d.ts +107 -0
- package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.js +183 -0
- package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.js.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.d.ts +97 -0
- package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.js +128 -0
- package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.js.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.d.ts +95 -0
- package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.js +116 -0
- package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.js.map +1 -0
- package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +9 -11
- package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js +3 -1
- package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Lifecycle module — agent lifecycle behaviors and cognitive loop.
|
|
4
|
+
*
|
|
5
|
+
* Consolidates proactive monitoring, auto progress heartbeat,
|
|
6
|
+
* work rhythm, session management, and the 4-stage cognitive
|
|
7
|
+
* lifecycle (Intent → Observation → Strategy → Adaptation).
|
|
8
|
+
*
|
|
9
|
+
* Orchestrator/TL agents get the full lifecycle spec including
|
|
10
|
+
* proactive monitoring and event subscription patterns.
|
|
11
|
+
* Workers get a compact work-rhythm-only version.
|
|
12
|
+
*
|
|
13
|
+
* Sources: orchestrator prompt.md §Proactive Monitoring,
|
|
14
|
+
* §Auto Progress Heartbeat, §Session Management,
|
|
15
|
+
* developer prompt.md §Work Rhythm.
|
|
16
|
+
*/
|
|
17
|
+
export declare class LifecycleModule implements PromptModule {
|
|
18
|
+
name: string;
|
|
19
|
+
priority: number;
|
|
20
|
+
maxTokens: number;
|
|
21
|
+
compactable: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Always included — all agents need lifecycle guidance.
|
|
24
|
+
*/
|
|
25
|
+
shouldInclude(_config: ModuleConfig): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Build the lifecycle section.
|
|
28
|
+
* Orchestrators/TLs get the full spec; workers get a compact version.
|
|
29
|
+
*
|
|
30
|
+
* @param config - Module configuration with agent details
|
|
31
|
+
* @returns Formatted markdown lifecycle section
|
|
32
|
+
*/
|
|
33
|
+
build(config: ModuleConfig): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Full lifecycle for orchestrators and team leaders —
|
|
36
|
+
* includes proactive monitoring, cognitive loop, heartbeat, and session management.
|
|
37
|
+
*/
|
|
38
|
+
private buildFullLifecycle;
|
|
39
|
+
/**
|
|
40
|
+
* Compact lifecycle for workers — work rhythm and context management only.
|
|
41
|
+
*/
|
|
42
|
+
private buildWorkerLifecycle;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=lifecycle.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/lifecycle.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACnD,IAAI,SAAe;IACnB,QAAQ,SAAM;IACd,SAAS,SAAO;IAChB,WAAW,UAAQ;IAEnB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBlD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAwB5B"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { loadRoleFragment } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Lifecycle module — agent lifecycle behaviors and cognitive loop.
|
|
4
|
+
*
|
|
5
|
+
* Consolidates proactive monitoring, auto progress heartbeat,
|
|
6
|
+
* work rhythm, session management, and the 4-stage cognitive
|
|
7
|
+
* lifecycle (Intent → Observation → Strategy → Adaptation).
|
|
8
|
+
*
|
|
9
|
+
* Orchestrator/TL agents get the full lifecycle spec including
|
|
10
|
+
* proactive monitoring and event subscription patterns.
|
|
11
|
+
* Workers get a compact work-rhythm-only version.
|
|
12
|
+
*
|
|
13
|
+
* Sources: orchestrator prompt.md §Proactive Monitoring,
|
|
14
|
+
* §Auto Progress Heartbeat, §Session Management,
|
|
15
|
+
* developer prompt.md §Work Rhythm.
|
|
16
|
+
*/
|
|
17
|
+
export class LifecycleModule {
|
|
18
|
+
name = 'lifecycle';
|
|
19
|
+
priority = 11;
|
|
20
|
+
maxTokens = 800;
|
|
21
|
+
compactable = true;
|
|
22
|
+
/**
|
|
23
|
+
* Always included — all agents need lifecycle guidance.
|
|
24
|
+
*/
|
|
25
|
+
shouldInclude(_config) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Build the lifecycle section.
|
|
30
|
+
* Orchestrators/TLs get the full spec; workers get a compact version.
|
|
31
|
+
*
|
|
32
|
+
* @param config - Module configuration with agent details
|
|
33
|
+
* @returns Formatted markdown lifecycle section
|
|
34
|
+
*/
|
|
35
|
+
async build(config) {
|
|
36
|
+
const isOrchestrator = config.role === 'orchestrator';
|
|
37
|
+
const isTL = config.canDelegate === true;
|
|
38
|
+
// Try loading role-specific fragment
|
|
39
|
+
if (isOrchestrator) {
|
|
40
|
+
const fragment = loadRoleFragment(config.projectRoot, config.role, 'lifecycle');
|
|
41
|
+
if (fragment) {
|
|
42
|
+
return fragment;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (isOrchestrator || isTL) {
|
|
46
|
+
return this.buildFullLifecycle(config);
|
|
47
|
+
}
|
|
48
|
+
return this.buildWorkerLifecycle(config);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Full lifecycle for orchestrators and team leaders —
|
|
52
|
+
* includes proactive monitoring, cognitive loop, heartbeat, and session management.
|
|
53
|
+
*/
|
|
54
|
+
buildFullLifecycle(config) {
|
|
55
|
+
const skillsPath = config.agentSkillsPath;
|
|
56
|
+
const sessionName = config.sessionName;
|
|
57
|
+
const projectPath = config.projectPath || config.projectRoot;
|
|
58
|
+
return `## Lifecycle Management
|
|
59
|
+
|
|
60
|
+
### Cognitive Lifecycle (4 Stages)
|
|
61
|
+
Continuously cycle through these stages during operation:
|
|
62
|
+
|
|
63
|
+
1. **Intent** — Determine what needs to happen next (read tasks, check goals)
|
|
64
|
+
2. **Observation** — Gather current state (team status, blockers, progress)
|
|
65
|
+
3. **Strategy** — Decide the best approach (delegate, implement, escalate)
|
|
66
|
+
4. **Adaptation** — Learn from results, adjust approach for next cycle
|
|
67
|
+
|
|
68
|
+
### Proactive Monitoring
|
|
69
|
+
- Periodically check team member status for idle/error states
|
|
70
|
+
- Use \`schedule-check\` to set follow-up reminders after delegations
|
|
71
|
+
- Monitor for stale tasks — if no progress in 15 minutes, investigate
|
|
72
|
+
- Track context window usage — save progress before running low
|
|
73
|
+
|
|
74
|
+
### Auto Progress Heartbeat
|
|
75
|
+
Report your status periodically to maintain visibility:
|
|
76
|
+
\`\`\`bash
|
|
77
|
+
bash ${skillsPath}/core/report-status/execute.sh '{"sessionName":"${sessionName}","status":"in_progress","summary":"<current activity>","projectPath":"${projectPath}"}'
|
|
78
|
+
\`\`\`
|
|
79
|
+
|
|
80
|
+
### Session Management
|
|
81
|
+
- **On startup**: Execute recovery protocol, load context, check pending work
|
|
82
|
+
- **During work**: Report progress, save learnings, delegate effectively
|
|
83
|
+
- **Before context runs low**: Save current state via \`record-learning\`
|
|
84
|
+
- **On shutdown**: Generate session summary for next session handoff
|
|
85
|
+
|
|
86
|
+
### Daily Workflow
|
|
87
|
+
1. Start → Recovery protocol → Check pending tasks
|
|
88
|
+
2. Process incoming messages and events
|
|
89
|
+
3. Execute cognitive lifecycle loop (Intent → Observation → Strategy → Adaptation)
|
|
90
|
+
4. Report progress at natural milestones
|
|
91
|
+
5. Save learnings and handoff summary before session ends`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Compact lifecycle for workers — work rhythm and context management only.
|
|
95
|
+
*/
|
|
96
|
+
buildWorkerLifecycle(config) {
|
|
97
|
+
const skillsPath = config.agentSkillsPath;
|
|
98
|
+
const sessionName = config.sessionName;
|
|
99
|
+
const projectPath = config.projectPath || config.projectRoot;
|
|
100
|
+
return `## Work Rhythm
|
|
101
|
+
|
|
102
|
+
### On Session Start
|
|
103
|
+
1. Execute recovery protocol (recall + get-my-context)
|
|
104
|
+
2. Review recovered context for unfinished work or blockers
|
|
105
|
+
3. Report readiness to team leader
|
|
106
|
+
|
|
107
|
+
### During Work
|
|
108
|
+
- Report progress periodically so your team leader stays informed
|
|
109
|
+
- When you discover important patterns or gotchas, call \`record-learning\` immediately
|
|
110
|
+
- If you feel your context window is getting large, save progress:
|
|
111
|
+
\`\`\`bash
|
|
112
|
+
bash ${skillsPath}/core/record-learning/execute.sh '{"agentId":"${sessionName}","agentRole":"${config.role}","projectPath":"${projectPath}","learning":"Current progress: [what was done]. Remaining: [what is left]. Key findings: [important notes]"}'
|
|
113
|
+
\`\`\`
|
|
114
|
+
|
|
115
|
+
### Before Context Runs Low
|
|
116
|
+
- Proactively save your progress via \`record-learning\`
|
|
117
|
+
- Report current status so the team leader can reassign if needed`;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=lifecycle.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/lifecycle.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,eAAe;IAC3B,IAAI,GAAG,WAAW,CAAC;IACnB,QAAQ,GAAG,EAAE,CAAC;IACd,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,IAAI,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;QAEzC,qCAAqC;QACrC,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,QAAQ,CAAC;YACjB,CAAC;QACF,CAAC;QACD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,MAAoB;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAE7D,OAAO;;;;;;;;;;;;;;;;;;;OAmBF,UAAU,mDAAmD,WAAW,0EAA0E,WAAW;;;;;;;;;;;;;;0DAc1G,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAoB;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAE7D,OAAO;;;;;;;;;;;;OAYF,UAAU,iDAAiD,WAAW,kBAAkB,MAAM,CAAC,IAAI,oBAAoB,WAAW;;;;;kEAKvE,CAAC;IAClE,CAAC;CACD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Memory reference module — tells the agent how to access and store memories.
|
|
4
|
+
*
|
|
5
|
+
* Consolidates memory routing rules and session recovery protocol
|
|
6
|
+
* into a single module. Contains "how-to" instructions, not actual data.
|
|
7
|
+
*
|
|
8
|
+
* Sources: Path A Steps 8+9, Path B Section 7.
|
|
9
|
+
*/
|
|
10
|
+
export declare class MemoryReferenceModule implements PromptModule {
|
|
11
|
+
name: string;
|
|
12
|
+
priority: number;
|
|
13
|
+
maxTokens: number;
|
|
14
|
+
compactable: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Always included — memory access is fundamental to agent continuity.
|
|
17
|
+
*/
|
|
18
|
+
shouldInclude(_config: ModuleConfig): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Build the memory reference section with routing rules
|
|
21
|
+
* that tell the agent where to store different types of knowledge.
|
|
22
|
+
*
|
|
23
|
+
* @param config - Module configuration
|
|
24
|
+
* @returns Formatted markdown memory reference section
|
|
25
|
+
*/
|
|
26
|
+
build(_config: ModuleConfig): Promise<string>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=memory-reference.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/memory-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;GAOG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CAkBnD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory reference module — tells the agent how to access and store memories.
|
|
3
|
+
*
|
|
4
|
+
* Consolidates memory routing rules and session recovery protocol
|
|
5
|
+
* into a single module. Contains "how-to" instructions, not actual data.
|
|
6
|
+
*
|
|
7
|
+
* Sources: Path A Steps 8+9, Path B Section 7.
|
|
8
|
+
*/
|
|
9
|
+
export class MemoryReferenceModule {
|
|
10
|
+
name = 'memory_references';
|
|
11
|
+
priority = 4;
|
|
12
|
+
maxTokens = 500;
|
|
13
|
+
compactable = false;
|
|
14
|
+
/**
|
|
15
|
+
* Always included — memory access is fundamental to agent continuity.
|
|
16
|
+
*/
|
|
17
|
+
shouldInclude(_config) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Build the memory reference section with routing rules
|
|
22
|
+
* that tell the agent where to store different types of knowledge.
|
|
23
|
+
*
|
|
24
|
+
* @param config - Module configuration
|
|
25
|
+
* @returns Formatted markdown memory reference section
|
|
26
|
+
*/
|
|
27
|
+
async build(_config) {
|
|
28
|
+
return `## Memory Routing Rules
|
|
29
|
+
|
|
30
|
+
When you learn something worth remembering, store it in the **right place**:
|
|
31
|
+
|
|
32
|
+
| What you learned | Where to store it | How |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| Team conventions, coding standards, project patterns, shared decisions | Crewly knowledge (project-wide) | \`remember\` with \`scope: "project"\`, \`category: "pattern"\` or \`"decision"\` |
|
|
35
|
+
| User preferences, working style, role-specific tips | Crewly knowledge (agent-specific) | \`remember\` with \`scope: "agent"\`, \`category: "preference"\` or \`"fact"\` |
|
|
36
|
+
| Gotchas, bugs, workarounds discovered during work | Crewly knowledge (project-wide) | \`remember\` with \`scope: "project"\`, \`category: "gotcha"\` |
|
|
37
|
+
| Temporary task notes, in-progress state, scratch data | Project files or Claude native memory | Write to a file in the project, or keep in your conversation context |
|
|
38
|
+
|
|
39
|
+
**Rules of thumb:**
|
|
40
|
+
- If another agent or a future session would benefit → use \`remember\` with \`scope: "project"\`
|
|
41
|
+
- If only YOU would benefit in future sessions → use \`remember\` with \`scope: "agent"\`
|
|
42
|
+
- If it's only useful right now → keep it in your conversation context or a scratch file
|
|
43
|
+
- **Never store secrets, credentials, or tokens** in any memory system`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=memory-reference.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/memory-reference.module.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACjC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,KAAK,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAChC,OAAO;;;;;;;;;;;;;;;uEAe8D,CAAC;IACvE,CAAC;CACD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Project reference module — tells the agent how to access project knowledge.
|
|
4
|
+
*
|
|
5
|
+
* Provides references to SOPs, OKR, tasks/tickets, and project specs.
|
|
6
|
+
* Contains "how-to" instructions only — actual SOP content is loaded
|
|
7
|
+
* as context at runtime.
|
|
8
|
+
*
|
|
9
|
+
* Sources: Path B Section 3 (SOP context reference).
|
|
10
|
+
*/
|
|
11
|
+
export declare class ProjectReferenceModule implements PromptModule {
|
|
12
|
+
name: string;
|
|
13
|
+
priority: number;
|
|
14
|
+
maxTokens: number;
|
|
15
|
+
compactable: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Include when agent has a project path.
|
|
18
|
+
*/
|
|
19
|
+
shouldInclude(config: ModuleConfig): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Build the project reference section with instructions on
|
|
22
|
+
* how to access SOPs, project goals, and specifications.
|
|
23
|
+
*
|
|
24
|
+
* @param config - Module configuration with project path
|
|
25
|
+
* @returns Formatted markdown project reference section
|
|
26
|
+
*/
|
|
27
|
+
build(config: ModuleConfig): Promise<string>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=project-reference.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/project-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,YAAW,YAAY;IAC1D,IAAI,SAAwB;IAC5B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAQ;IAEnB;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI5C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CAqBlD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project reference module — tells the agent how to access project knowledge.
|
|
3
|
+
*
|
|
4
|
+
* Provides references to SOPs, OKR, tasks/tickets, and project specs.
|
|
5
|
+
* Contains "how-to" instructions only — actual SOP content is loaded
|
|
6
|
+
* as context at runtime.
|
|
7
|
+
*
|
|
8
|
+
* Sources: Path B Section 3 (SOP context reference).
|
|
9
|
+
*/
|
|
10
|
+
export class ProjectReferenceModule {
|
|
11
|
+
name = 'project_references';
|
|
12
|
+
priority = 7;
|
|
13
|
+
maxTokens = 400;
|
|
14
|
+
compactable = true;
|
|
15
|
+
/**
|
|
16
|
+
* Include when agent has a project path.
|
|
17
|
+
*/
|
|
18
|
+
shouldInclude(config) {
|
|
19
|
+
return !!config.projectPath;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the project reference section with instructions on
|
|
23
|
+
* how to access SOPs, project goals, and specifications.
|
|
24
|
+
*
|
|
25
|
+
* @param config - Module configuration with project path
|
|
26
|
+
* @returns Formatted markdown project reference section
|
|
27
|
+
*/
|
|
28
|
+
async build(config) {
|
|
29
|
+
return `## Project References
|
|
30
|
+
|
|
31
|
+
### Standards
|
|
32
|
+
- Follow established code style and conventions
|
|
33
|
+
- TypeScript strict mode, aim for 80%+ test coverage
|
|
34
|
+
- Follow secure coding practices (parameterized queries, input sanitization, output encoding)
|
|
35
|
+
- Descriptive commit messages, atomic commits
|
|
36
|
+
|
|
37
|
+
### SOPs
|
|
38
|
+
Load relevant Standard Operating Procedures for your current task:
|
|
39
|
+
\`\`\`bash
|
|
40
|
+
bash ${config.agentSkillsPath}/core/get-sops/execute.sh '{"context":"<describe your current task>","role":"${config.role}"}'
|
|
41
|
+
\`\`\`
|
|
42
|
+
|
|
43
|
+
### Project Knowledge
|
|
44
|
+
- Project specs: \`${config.projectPath}/.crewly/specs/\`
|
|
45
|
+
- Active goals: \`${config.projectPath}/.crewly/goals/goals.md\`
|
|
46
|
+
- Task management: \`${config.projectPath}/.crewly/tasks/\`
|
|
47
|
+
- Knowledge base: \`${config.projectPath}/.crewly/knowledge/\``;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=project-reference.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/project-reference.module.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IAClC,IAAI,GAAG,oBAAoB,CAAC;IAC5B,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,IAAI,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,MAAoB;QACjC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,OAAO;;;;;;;;;;;OAWF,MAAM,CAAC,eAAe,gFAAgF,MAAM,CAAC,IAAI;;;;qBAInG,MAAM,CAAC,WAAW;oBACnB,MAAM,CAAC,WAAW;uBACf,MAAM,CAAC,WAAW;sBACnB,MAAM,CAAC,WAAW,uBAAuB,CAAC;IAC/D,CAAC;CACD"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { PromptModule, ModuleConfig, ModuleBuildResult, AssemblyReport, TruncatedModuleInfo } from './prompt-module.interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Service that orchestrates the assembly of prompt modules into a complete agent prompt.
|
|
4
|
+
*
|
|
5
|
+
* Responsibilities:
|
|
6
|
+
* - Registers and manages prompt modules
|
|
7
|
+
* - Assembles modules in priority order
|
|
8
|
+
* - Enforces per-module and total token budgets with 2-stage truncation:
|
|
9
|
+
* 1. First pass: build all Trusted Zone (non-compactable) + Flexible Zone modules
|
|
10
|
+
* 2. If over budget: trim lowest-priority compactable modules to 50% of maxTokens
|
|
11
|
+
* 3. If still over budget: remove lowest-priority compactable modules entirely
|
|
12
|
+
* - Returns AssemblyReport with token breakdown and truncation details
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const assembler = new PromptAssemblyService();
|
|
17
|
+
* const { prompt, report } = await assembler.assemble({
|
|
18
|
+
* sessionName: 'crewly-dev-001',
|
|
19
|
+
* memberId: 'uuid-123',
|
|
20
|
+
* role: 'developer',
|
|
21
|
+
* projectPath: '/path/to/project',
|
|
22
|
+
* agentSkillsPath: '/path/to/skills/agent',
|
|
23
|
+
* tlSkillsPath: '/path/to/skills/team-leader',
|
|
24
|
+
* projectRoot: '/path/to/project',
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class PromptAssemblyService {
|
|
29
|
+
private logger;
|
|
30
|
+
private modules;
|
|
31
|
+
private totalTokenBudget;
|
|
32
|
+
constructor(tokenBudget?: number);
|
|
33
|
+
/**
|
|
34
|
+
* Register the default set of prompt modules.
|
|
35
|
+
* Called automatically in constructor. Additional modules
|
|
36
|
+
* can be added via addModule().
|
|
37
|
+
*/
|
|
38
|
+
private registerDefaultModules;
|
|
39
|
+
/**
|
|
40
|
+
* Add a custom prompt module to the assembly pipeline.
|
|
41
|
+
*
|
|
42
|
+
* @param module - Module to add
|
|
43
|
+
*/
|
|
44
|
+
addModule(module: PromptModule): void;
|
|
45
|
+
/**
|
|
46
|
+
* Remove a module by name.
|
|
47
|
+
*
|
|
48
|
+
* @param name - Name of the module to remove
|
|
49
|
+
*/
|
|
50
|
+
removeModule(name: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Get all registered modules (for inspection/testing).
|
|
53
|
+
*
|
|
54
|
+
* @returns Array of registered prompt modules
|
|
55
|
+
*/
|
|
56
|
+
getModules(): PromptModule[];
|
|
57
|
+
/**
|
|
58
|
+
* Get or set the total token budget.
|
|
59
|
+
*
|
|
60
|
+
* @param budget - Optional new budget to set
|
|
61
|
+
* @returns Current token budget
|
|
62
|
+
*/
|
|
63
|
+
tokenBudget(budget?: number): number;
|
|
64
|
+
/**
|
|
65
|
+
* Assemble all applicable prompt modules into a single prompt string.
|
|
66
|
+
*
|
|
67
|
+
* Uses 2-stage truncation for compactable modules when over budget:
|
|
68
|
+
* 1. Trim lowest-priority compactable modules to 50% of their content
|
|
69
|
+
* 2. Remove lowest-priority compactable modules entirely
|
|
70
|
+
*
|
|
71
|
+
* Trusted Zone (non-compactable) modules are never truncated or removed.
|
|
72
|
+
*
|
|
73
|
+
* @param config - Configuration with all context needed by modules
|
|
74
|
+
* @returns Object with assembled prompt string and budget report
|
|
75
|
+
*/
|
|
76
|
+
assemble(config: ModuleConfig): Promise<{
|
|
77
|
+
prompt: string;
|
|
78
|
+
report: AssemblyReport;
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* Assemble modules and return detailed results with per-module metadata.
|
|
82
|
+
* Convenience wrapper that returns just the report (same as assemble().report).
|
|
83
|
+
*
|
|
84
|
+
* @param config - Configuration with all context needed by modules
|
|
85
|
+
* @returns Assembly details with prompt, modules, and total tokens
|
|
86
|
+
*/
|
|
87
|
+
assembleWithDetails(config: ModuleConfig): Promise<{
|
|
88
|
+
prompt: string;
|
|
89
|
+
modules: ModuleBuildResult[];
|
|
90
|
+
totalTokens: number;
|
|
91
|
+
truncated: TruncatedModuleInfo[];
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* Trim content to a target fraction of its original length.
|
|
95
|
+
* Trims at line boundaries to avoid cutting mid-sentence.
|
|
96
|
+
*
|
|
97
|
+
* @param content - Original content string
|
|
98
|
+
* @param fraction - Target fraction (e.g., 0.5 for 50%)
|
|
99
|
+
* @returns Trimmed content
|
|
100
|
+
*/
|
|
101
|
+
private trimContent;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=prompt-assembly.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-assembly.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EAEnB,MAAM,8BAA8B,CAAC;AAqCtC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,WAAW,GAAE,MAA6B;IAMtD;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIrC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;OAIG;IACH,UAAU,IAAI,YAAY,EAAE;IAI5B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAOpC;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAsJzF;;;;;;OAMG;IACG,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;QACxD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,mBAAmB,EAAE,CAAC;KACjC,CAAC;IAUF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;CAkBnB"}
|