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.
Files changed (137) hide show
  1. package/config/orchestrator_tasks/prompts/orchestrator-prompt.md +11 -11
  2. package/config/roles/architect/prompt.md +1 -5
  3. package/config/roles/backend-developer/prompt.md +1 -5
  4. package/config/roles/content-strategist/prompt.md +1 -5
  5. package/config/roles/designer/prompt.md +1 -5
  6. package/config/roles/developer/prompt.md +1 -7
  7. package/config/roles/developer/soul.md +18 -0
  8. package/config/roles/frontend-developer/prompt.md +1 -5
  9. package/config/roles/fullstack-dev/prompt.md +1 -5
  10. package/config/roles/generalist/prompt.md +1 -7
  11. package/config/roles/ops/prompt.md +1 -7
  12. package/config/roles/orchestrator/fragments/communication.md +117 -0
  13. package/config/roles/orchestrator/fragments/lifecycle.md +112 -0
  14. package/config/roles/orchestrator/fragments/recovery.md +47 -0
  15. package/config/roles/orchestrator/prompt.md +44 -44
  16. package/config/roles/orchestrator/soul.md +18 -0
  17. package/config/roles/product-manager/prompt.md +1 -5
  18. package/config/roles/qa/prompt.md +1 -5
  19. package/config/roles/qa-engineer/prompt.md +1 -5
  20. package/config/roles/researcher/prompt.md +1 -5
  21. package/config/roles/researcher/soul.md +18 -0
  22. package/config/roles/sales/prompt.md +1 -5
  23. package/config/roles/support/prompt.md +1 -5
  24. package/config/roles/team-leader/prompt.md +2 -6
  25. package/config/roles/tpm/prompt.md +1 -5
  26. package/config/roles/ux-designer/prompt.md +1 -5
  27. package/config/souls/developer.md +30 -0
  28. package/config/souls/orchestrator.md +30 -0
  29. package/config/souls/researcher.md +30 -0
  30. package/config/templates/agent-claude-md.md +1 -1
  31. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  32. package/dist/backend/backend/src/services/agent/agent-registration.service.js +18 -7
  33. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  34. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +16 -4
  36. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +11 -0
  39. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  40. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  41. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +5 -0
  42. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  43. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +46 -0
  44. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -0
  45. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +151 -0
  46. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -0
  47. package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.d.ts +145 -0
  48. package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.d.ts.map +1 -0
  49. package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.js +232 -0
  50. package/dist/backend/backend/src/services/ai/prompt-modules/context-assembly.service.js.map +1 -0
  51. package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.d.ts +28 -0
  52. package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.d.ts.map +1 -0
  53. package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.js +47 -0
  54. package/dist/backend/backend/src/services/ai/prompt-modules/identity.module.js.map +1 -0
  55. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +22 -0
  56. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -0
  57. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +26 -0
  58. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -0
  59. package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts +28 -0
  60. package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.d.ts.map +1 -0
  61. package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.js +55 -0
  62. package/dist/backend/backend/src/services/ai/prompt-modules/learning-reference.module.js.map +1 -0
  63. package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts +44 -0
  64. package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.d.ts.map +1 -0
  65. package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.js +120 -0
  66. package/dist/backend/backend/src/services/ai/prompt-modules/lifecycle.module.js.map +1 -0
  67. package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts +28 -0
  68. package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.d.ts.map +1 -0
  69. package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.js +46 -0
  70. package/dist/backend/backend/src/services/ai/prompt-modules/memory-reference.module.js.map +1 -0
  71. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.d.ts +29 -0
  72. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.d.ts.map +1 -0
  73. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js +50 -0
  74. package/dist/backend/backend/src/services/ai/prompt-modules/project-reference.module.js.map +1 -0
  75. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts +103 -0
  76. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -0
  77. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +305 -0
  78. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -0
  79. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +135 -0
  80. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js +46 -0
  82. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -0
  83. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts +34 -0
  84. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -0
  85. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +69 -0
  86. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -0
  87. package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.d.ts +55 -0
  88. package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.d.ts.map +1 -0
  89. package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.js +96 -0
  90. package/dist/backend/backend/src/services/ai/prompt-modules/scheduled-messages.loader.js.map +1 -0
  91. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts +28 -0
  92. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -0
  93. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +65 -0
  94. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -0
  95. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts +70 -0
  96. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.d.ts.map +1 -0
  97. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js +166 -0
  98. package/dist/backend/backend/src/services/ai/prompt-modules/soul.module.js.map +1 -0
  99. package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.d.ts +54 -0
  100. package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.d.ts.map +1 -0
  101. package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.js +149 -0
  102. package/dist/backend/backend/src/services/ai/prompt-modules/team-reference.module.js.map +1 -0
  103. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +28 -0
  104. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -0
  105. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +53 -0
  106. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -0
  107. package/dist/backend/backend/src/services/ai/self-improvement/attention.service.d.ts +74 -0
  108. package/dist/backend/backend/src/services/ai/self-improvement/attention.service.d.ts.map +1 -0
  109. package/dist/backend/backend/src/services/ai/self-improvement/attention.service.js +132 -0
  110. package/dist/backend/backend/src/services/ai/self-improvement/attention.service.js.map +1 -0
  111. package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.d.ts +81 -0
  112. package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.d.ts.map +1 -0
  113. package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.js +135 -0
  114. package/dist/backend/backend/src/services/ai/self-improvement/growth-areas.service.js.map +1 -0
  115. package/dist/backend/backend/src/services/ai/self-improvement/index.d.ts +13 -0
  116. package/dist/backend/backend/src/services/ai/self-improvement/index.d.ts.map +1 -0
  117. package/dist/backend/backend/src/services/ai/self-improvement/index.js +13 -0
  118. package/dist/backend/backend/src/services/ai/self-improvement/index.js.map +1 -0
  119. package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.d.ts +107 -0
  120. package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.d.ts.map +1 -0
  121. package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.js +183 -0
  122. package/dist/backend/backend/src/services/ai/self-improvement/memory-consolidation.service.js.map +1 -0
  123. package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.d.ts +97 -0
  124. package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.d.ts.map +1 -0
  125. package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.js +128 -0
  126. package/dist/backend/backend/src/services/ai/self-improvement/prediction-calibration.service.js.map +1 -0
  127. package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.d.ts +95 -0
  128. package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.d.ts.map +1 -0
  129. package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.js +116 -0
  130. package/dist/backend/backend/src/services/ai/self-improvement/self-model.service.js.map +1 -0
  131. package/dist/backend/backend/src/services/prompt/prompt-generator.service.d.ts.map +1 -1
  132. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js +9 -11
  133. package/dist/backend/backend/src/services/prompt/prompt-generator.service.js.map +1 -1
  134. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  135. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +3 -1
  136. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  137. 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"}