crewly 1.4.82 → 1.5.0

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 (189) hide show
  1. package/config/domain-sops/EXAMPLE.sop.md +21 -0
  2. package/config/overlays/can-decide.md +5 -0
  3. package/config/overlays/can-delegate.md +5 -0
  4. package/config/overlays/can-user-reply.md +5 -0
  5. package/config/overlays/can-verify.md +5 -0
  6. package/config/risk-policies/EXAMPLE.policy.md +22 -0
  7. package/config/roles/developer/fragments/role-boundary.md +30 -0
  8. package/config/roles/orchestrator/fragments/role-boundary.md +25 -0
  9. package/config/roles/orchestrator/prompt.md +40 -6
  10. package/config/roles/team-leader/fragments/role-boundary.md +22 -0
  11. package/config/skills/agent/core/get-my-tasks/execute.sh +16 -0
  12. package/config/skills/agent/core/save-working-state/execute.sh +19 -0
  13. package/config/skills/agent/core/update-user-profile/execute.sh +13 -0
  14. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +34 -0
  15. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  16. package/dist/backend/backend/src/controllers/chat/chat.controller.js +107 -0
  17. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  18. package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/chat/chat.routes.js +5 -1
  20. package/dist/backend/backend/src/controllers/chat/chat.routes.js.map +1 -1
  21. package/dist/backend/backend/src/controllers/chat/index.d.ts +1 -1
  22. package/dist/backend/backend/src/controllers/chat/index.d.ts.map +1 -1
  23. package/dist/backend/backend/src/controllers/chat/index.js +1 -1
  24. package/dist/backend/backend/src/controllers/chat/index.js.map +1 -1
  25. package/dist/backend/backend/src/controllers/memory/index.d.ts +1 -1
  26. package/dist/backend/backend/src/controllers/memory/index.d.ts.map +1 -1
  27. package/dist/backend/backend/src/controllers/memory/index.js +1 -1
  28. package/dist/backend/backend/src/controllers/memory/index.js.map +1 -1
  29. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +35 -0
  30. package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
  31. package/dist/backend/backend/src/controllers/memory/memory.controller.js +61 -1
  32. package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
  33. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +2 -0
  34. package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
  35. package/dist/backend/backend/src/controllers/memory/memory.routes.js +5 -1
  36. package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -1
  37. package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts +1 -0
  38. package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts.map +1 -1
  39. package/dist/backend/backend/src/controllers/system/cron-task.controller.js +12 -6
  40. package/dist/backend/backend/src/controllers/system/cron-task.controller.js.map +1 -1
  41. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +24 -0
  42. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  43. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +107 -0
  44. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  45. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  46. package/dist/backend/backend/src/controllers/team/team.controller.js +49 -0
  47. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  48. package/dist/backend/backend/src/index.d.ts.map +1 -1
  49. package/dist/backend/backend/src/index.js +46 -42
  50. package/dist/backend/backend/src/index.js.map +1 -1
  51. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  52. package/dist/backend/backend/src/routes/modules/task-management.routes.js +5 -0
  53. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  54. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +24 -0
  55. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/agent/agent-registration.service.js +104 -2
  57. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  58. package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts +33 -0
  59. package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts.map +1 -0
  60. package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.js +70 -0
  61. package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.js.map +1 -0
  62. package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts +35 -0
  63. package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts.map +1 -0
  64. package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.js +50 -0
  65. package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.js.map +1 -0
  66. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
  67. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  68. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
  69. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  70. package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts +46 -0
  71. package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts.map +1 -0
  72. package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.js +44 -0
  73. package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.js.map +1 -0
  74. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +13 -3
  76. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  77. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +22 -0
  78. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
  79. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js +2 -11
  80. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
  81. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
  82. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +10 -2
  83. package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
  84. package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts +35 -0
  85. package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts.map +1 -0
  86. package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.js +50 -0
  87. package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.js.map +1 -0
  88. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts +67 -0
  89. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -0
  90. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +172 -0
  91. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -0
  92. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +5 -1
  93. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -1
  94. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +18 -2
  95. package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -1
  96. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  97. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +9 -2
  98. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  99. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +11 -0
  100. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
  101. package/dist/backend/backend/src/services/cloud/relay-client.service.js +41 -5
  102. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
  103. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +22 -0
  104. package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  105. package/dist/backend/backend/src/services/memory/agent-memory.service.js +103 -6
  106. package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
  107. package/dist/backend/backend/src/services/memory/index.d.ts +2 -1
  108. package/dist/backend/backend/src/services/memory/index.d.ts.map +1 -1
  109. package/dist/backend/backend/src/services/memory/index.js +1 -0
  110. package/dist/backend/backend/src/services/memory/index.js.map +1 -1
  111. package/dist/backend/backend/src/services/memory/memory.service.d.ts +43 -0
  112. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/memory/memory.service.js +96 -0
  114. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  115. package/dist/backend/backend/src/services/memory/user-profile.service.d.ts +77 -0
  116. package/dist/backend/backend/src/services/memory/user-profile.service.d.ts.map +1 -0
  117. package/dist/backend/backend/src/services/memory/user-profile.service.js +171 -0
  118. package/dist/backend/backend/src/services/memory/user-profile.service.js.map +1 -0
  119. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +8 -3
  120. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  121. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +41 -16
  122. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  123. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +144 -1
  124. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
  125. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +259 -2
  126. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
  127. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +58 -2
  128. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
  129. package/dist/backend/backend/src/services/project/task-tracking.service.js +189 -1
  130. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
  131. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  132. package/dist/backend/backend/src/services/workflow/cron-task.service.js +12 -0
  133. package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
  134. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  135. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  136. package/dist/backend/backend/src/types/event-bus.types.js +14 -0
  137. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  138. package/dist/backend/backend/src/types/index.d.ts +12 -0
  139. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  140. package/dist/backend/backend/src/types/index.js.map +1 -1
  141. package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
  142. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  143. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  144. package/dist/backend/backend/src/types/task-tracking.types.d.ts +28 -1
  145. package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
  146. package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
  147. package/dist/backend/backend/src/types/thread-status.types.d.ts +4 -0
  148. package/dist/backend/backend/src/types/thread-status.types.d.ts.map +1 -1
  149. package/dist/backend/backend/src/types/thread-status.types.js +4 -1
  150. package/dist/backend/backend/src/types/thread-status.types.js.map +1 -1
  151. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +157 -0
  152. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -0
  153. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +37 -0
  154. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -0
  155. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +22 -0
  156. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
  157. package/dist/cli/backend/src/services/memory/agent-memory.service.js +103 -6
  158. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
  159. package/dist/cli/backend/src/services/memory/goal-tracking.service.d.ts +239 -0
  160. package/dist/cli/backend/src/services/memory/goal-tracking.service.d.ts.map +1 -0
  161. package/dist/cli/backend/src/services/memory/goal-tracking.service.js +353 -0
  162. package/dist/cli/backend/src/services/memory/goal-tracking.service.js.map +1 -0
  163. package/dist/cli/backend/src/services/memory/memory.service.d.ts +43 -0
  164. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  165. package/dist/cli/backend/src/services/memory/memory.service.js +96 -0
  166. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  167. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +171 -0
  168. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -0
  169. package/dist/cli/backend/src/services/project/task-tracking.service.js +725 -0
  170. package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -0
  171. package/dist/cli/backend/src/types/index.d.ts +12 -0
  172. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  173. package/dist/cli/backend/src/types/index.js.map +1 -1
  174. package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
  175. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  176. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  177. package/dist/cli/backend/src/types/task-tracking.types.d.ts +206 -0
  178. package/dist/cli/backend/src/types/task-tracking.types.d.ts.map +1 -0
  179. package/dist/cli/backend/src/types/task-tracking.types.js +5 -0
  180. package/dist/cli/backend/src/types/task-tracking.types.js.map +1 -0
  181. package/dist/cli/backend/src/types/thread-status.types.d.ts +4 -0
  182. package/dist/cli/backend/src/types/thread-status.types.d.ts.map +1 -1
  183. package/dist/cli/backend/src/types/thread-status.types.js +4 -1
  184. package/dist/cli/backend/src/types/thread-status.types.js.map +1 -1
  185. package/frontend/dist/assets/index-512efc8e.js +4921 -0
  186. package/frontend/dist/assets/{index-975ccc95.css → index-dc6ac165.css} +1 -1
  187. package/frontend/dist/index.html +2 -2
  188. package/package.json +1 -1
  189. package/frontend/dist/assets/index-d28d1135.js +0 -5215
@@ -0,0 +1,70 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ /**
4
+ * Capability Overlay module — generates a Decision Rights Matrix and loads capability overlays.
5
+ *
6
+ * Produces autonomy-level-specific decision rights and loads optional
7
+ * capability overlay files from config/overlays/{capability}.md.
8
+ * V1 is a CONSTRAINT layer, not an action authorization layer.
9
+ */
10
+ export class CapabilityOverlayModule {
11
+ name = 'capability-overlay';
12
+ priority = 7;
13
+ maxTokens = 600;
14
+ compactable = true;
15
+ /**
16
+ * Include when autonomyLevel is not 'directed' (and not undefined),
17
+ * or when capabilities array has entries.
18
+ *
19
+ * @param config - Module configuration with optional autonomyLevel and capabilities
20
+ * @returns True if the module should be included in the prompt
21
+ */
22
+ shouldInclude(config) {
23
+ const hasCapabilities = Array.isArray(config.capabilities) && config.capabilities.length > 0;
24
+ const hasNonDirectedAutonomy = !!config.autonomyLevel && config.autonomyLevel !== 'directed';
25
+ return hasNonDirectedAutonomy || hasCapabilities;
26
+ }
27
+ /**
28
+ * Build the capability overlay section with decision rights and capability files.
29
+ *
30
+ * Generates a Decision Rights Matrix based on the configured autonomy level,
31
+ * then appends any capability overlay files found in config/overlays/.
32
+ *
33
+ * @param config - Module configuration containing autonomyLevel, capabilities, and projectRoot
34
+ * @returns Formatted markdown section with decision rights and capability overlays
35
+ */
36
+ async build(config) {
37
+ // V1 is a CONSTRAINT layer, not an action authorization layer
38
+ const sections = ['## Capability Overlay'];
39
+ if (config.autonomyLevel === 'bounded') {
40
+ sections.push(`### Decision Rights: Bounded Autonomy
41
+ - Make decisions within your assigned task and domain scope
42
+ - Log your reasoning for every non-trivial decision
43
+ - Escalate when risk or ambiguity exceeds your domain boundaries
44
+ - You may NOT: auto-deploy, modify production, or communicate directly with users`);
45
+ }
46
+ else if (config.autonomyLevel === 'domain_autonomous') {
47
+ sections.push(`### Decision Rights: Domain Autonomous
48
+ - Monitor your domain continuously
49
+ - Make pre-approved decisions within your domain without waiting for delegation
50
+ - Log reasoning AND outcome for every autonomous decision
51
+ - Escalate: anomalies, threshold breaches, anything outside defined domain scope
52
+ - You may NOT: take actions outside your domain SOP, skip logging, ignore risk policy`);
53
+ }
54
+ if (Array.isArray(config.capabilities) && config.capabilities.length > 0) {
55
+ sections.push('### Capability Overlays');
56
+ for (const capability of config.capabilities) {
57
+ const overlayPath = path.join(config.projectRoot, 'config', 'overlays', `${capability}.md`);
58
+ try {
59
+ const content = fs.readFileSync(overlayPath, 'utf-8').trim();
60
+ sections.push(content);
61
+ }
62
+ catch {
63
+ sections.push(`- **${capability}**: (no overlay file found)`);
64
+ }
65
+ }
66
+ }
67
+ return sections.join('\n\n');
68
+ }
69
+ }
70
+ //# sourceMappingURL=capability-overlay.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-overlay.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/capability-overlay.module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IACnC,IAAI,GAAG,oBAAoB,CAAC;IAC5B,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,IAAI,CAAC;IAEnB;;;;;;OAMG;IACH,aAAa,CAAC,MAAoB;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7F,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,CAAC;QAC7F,OAAO,sBAAsB,IAAI,eAAe,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,8DAA8D;QAC9D,MAAM,QAAQ,GAAa,CAAC,uBAAuB,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC;;;;kFAIiE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC;;;;;sFAKqE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACzC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC;gBAC5F,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7D,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACR,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,6BAA6B,CAAC,CAAC;gBAC/D,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACD"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Domain SOP module — loads domain-specific standard operating procedures.
3
+ *
4
+ * Reads a markdown SOP file from config/domain-sops/{domainSOP}.sop.md
5
+ * and injects it into the agent prompt as a constraint and procedure layer.
6
+ * V1 scope: constraint and procedure layer only.
7
+ *
8
+ * Delegates to buildMarkdownFileModule for the shared read-file-and-format logic.
9
+ */
10
+ import type { PromptModule, ModuleConfig } from './prompt-module.interface.js';
11
+ /**
12
+ * Prompt module that loads domain-specific SOPs from disk.
13
+ * Instantiable class wrapper around the shared markdown-file helper.
14
+ */
15
+ export declare class DomainSOPModule implements PromptModule {
16
+ name: string;
17
+ priority: number;
18
+ maxTokens: number;
19
+ compactable: boolean;
20
+ /**
21
+ * Include this module only when a domainSOP name is configured.
22
+ *
23
+ * @param config - Module configuration with optional domainSOP field
24
+ * @returns True if domainSOP is set, false otherwise
25
+ */
26
+ shouldInclude(config: ModuleConfig): boolean;
27
+ /**
28
+ * Build the domain SOP section by loading the corresponding markdown file.
29
+ *
30
+ * @param config - Module configuration containing domainSOP name and projectRoot
31
+ * @returns Formatted markdown section with SOP content or fallback message
32
+ */
33
+ build(config: ModuleConfig): Promise<string>;
34
+ }
35
+ //# sourceMappingURL=domain-sop.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-sop.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/domain-sop.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAc/E;;;GAGG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACnD,IAAI,SAAiB;IACrB,QAAQ,SAAqB;IAC7B,SAAS,SAAsB;IAC/B,WAAW,UAAwB;IAEnC;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI5C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CAGlD"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Domain SOP module — loads domain-specific standard operating procedures.
3
+ *
4
+ * Reads a markdown SOP file from config/domain-sops/{domainSOP}.sop.md
5
+ * and injects it into the agent prompt as a constraint and procedure layer.
6
+ * V1 scope: constraint and procedure layer only.
7
+ *
8
+ * Delegates to buildMarkdownFileModule for the shared read-file-and-format logic.
9
+ */
10
+ import { buildMarkdownFileModule } from './markdown-file-module.js';
11
+ const delegate = buildMarkdownFileModule({
12
+ name: 'domain-sop',
13
+ priority: 9,
14
+ maxTokens: 800,
15
+ compactable: true,
16
+ configSubDir: 'domain-sops',
17
+ fileExtension: '.sop.md',
18
+ headingLabel: 'Domain SOP',
19
+ missingFileHint: 'SOP file not found at',
20
+ getConfigValue: (config) => config.domainSOP,
21
+ });
22
+ /**
23
+ * Prompt module that loads domain-specific SOPs from disk.
24
+ * Instantiable class wrapper around the shared markdown-file helper.
25
+ */
26
+ export class DomainSOPModule {
27
+ name = delegate.name;
28
+ priority = delegate.priority;
29
+ maxTokens = delegate.maxTokens;
30
+ compactable = delegate.compactable;
31
+ /**
32
+ * Include this module only when a domainSOP name is configured.
33
+ *
34
+ * @param config - Module configuration with optional domainSOP field
35
+ * @returns True if domainSOP is set, false otherwise
36
+ */
37
+ shouldInclude(config) {
38
+ return delegate.shouldInclude(config);
39
+ }
40
+ /**
41
+ * Build the domain SOP section by loading the corresponding markdown file.
42
+ *
43
+ * @param config - Module configuration containing domainSOP name and projectRoot
44
+ * @returns Formatted markdown section with SOP content or fallback message
45
+ */
46
+ async build(config) {
47
+ return delegate.build(config);
48
+ }
49
+ }
50
+ //# sourceMappingURL=domain-sop.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-sop.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/domain-sop.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,YAAY;IAC1B,eAAe,EAAE,uBAAuB;IACxC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS;CAC5C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,OAAO,eAAe;IAC3B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC7B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC/B,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IAEnC;;;;;OAKG;IACH,aAAa,CAAC,MAAoB;QACjC,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACD"}
@@ -16,6 +16,7 @@ export { LearningReferenceModule } from './learning-reference.module.js';
16
16
  export { CommunicationModule } from './communication.module.js';
17
17
  export { RecoveryModule } from './recovery.module.js';
18
18
  export { LifecycleModule } from './lifecycle.module.js';
19
+ export { RoleBoundaryModule } from './role-boundary.module.js';
19
20
  export { createScheduledMessagesLoader, ScheduledCheckInfo, ScheduledChecksProvider, } from './scheduled-messages.loader.js';
20
21
  export { PromptAssemblyService } from './prompt-assembly.service.js';
21
22
  export { ContextAssemblyService } from './context-assembly.service.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACN,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EACN,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -18,6 +18,7 @@ export { LearningReferenceModule } from './learning-reference.module.js';
18
18
  export { CommunicationModule } from './communication.module.js';
19
19
  export { RecoveryModule } from './recovery.module.js';
20
20
  export { LifecycleModule } from './lifecycle.module.js';
21
+ export { RoleBoundaryModule } from './role-boundary.module.js';
21
22
  // Context loaders
22
23
  export { createScheduledMessagesLoader, } from './scheduled-messages.loader.js';
23
24
  // Assembly services
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EAON,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAEtC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,kBAAkB;AAClB,OAAO,EACN,6BAA6B,GAG7B,MAAM,gCAAgC,CAAC;AAExC,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EAON,cAAc,EACd,gBAAgB,GAChB,MAAM,8BAA8B,CAAC;AAEtC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,kBAAkB;AAClB,OAAO,EACN,6BAA6B,GAG7B,MAAM,gCAAgC,CAAC;AAExC,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Base helper for prompt modules that load a markdown file from disk.
3
+ *
4
+ * DomainSOPModule and RiskPolicyModule share identical structure:
5
+ * 1. Check a config key to decide shouldInclude
6
+ * 2. Build a path from projectRoot + subDir + configValue
7
+ * 3. Read the file, format with a heading, or return a fallback
8
+ *
9
+ * This helper captures that pattern so each concrete module only
10
+ * supplies metadata (name, priority, heading label, config key, etc.).
11
+ *
12
+ * @module services/ai/prompt-modules/markdown-file-module
13
+ */
14
+ import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
15
+ /**
16
+ * Descriptor for a markdown-file-based prompt module.
17
+ * Concrete modules provide this to buildMarkdownFileModule().
18
+ */
19
+ export interface MarkdownFileModuleDescriptor {
20
+ /** Module name used for logging */
21
+ name: string;
22
+ /** Assembly priority (lower = earlier) */
23
+ priority: number;
24
+ /** Token soft cap */
25
+ maxTokens: number;
26
+ /** Whether the module can be trimmed under token pressure */
27
+ compactable: boolean;
28
+ /** Sub-directory under config/ where files live (e.g. 'domain-sops') */
29
+ configSubDir: string;
30
+ /** File extension including the dot (e.g. '.sop.md') */
31
+ fileExtension: string;
32
+ /** Heading label used in output (e.g. 'Domain SOP') */
33
+ headingLabel: string;
34
+ /** Fallback description shown when file is missing */
35
+ missingFileHint: string;
36
+ /** Extracts the config value that determines inclusion and file lookup */
37
+ getConfigValue: (config: ModuleConfig) => string | undefined;
38
+ }
39
+ /**
40
+ * Build a PromptModule from a MarkdownFileModuleDescriptor.
41
+ *
42
+ * @param descriptor - Module metadata and behavior hooks
43
+ * @returns A fully implemented PromptModule
44
+ */
45
+ export declare function buildMarkdownFileModule(descriptor: MarkdownFileModuleDescriptor): PromptModule;
46
+ //# sourceMappingURL=markdown-file-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-file-module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/markdown-file-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC5C,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,4BAA4B,GAAG,YAAY,CA4B9F"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Base helper for prompt modules that load a markdown file from disk.
3
+ *
4
+ * DomainSOPModule and RiskPolicyModule share identical structure:
5
+ * 1. Check a config key to decide shouldInclude
6
+ * 2. Build a path from projectRoot + subDir + configValue
7
+ * 3. Read the file, format with a heading, or return a fallback
8
+ *
9
+ * This helper captures that pattern so each concrete module only
10
+ * supplies metadata (name, priority, heading label, config key, etc.).
11
+ *
12
+ * @module services/ai/prompt-modules/markdown-file-module
13
+ */
14
+ import * as fs from 'fs';
15
+ import * as path from 'path';
16
+ /**
17
+ * Build a PromptModule from a MarkdownFileModuleDescriptor.
18
+ *
19
+ * @param descriptor - Module metadata and behavior hooks
20
+ * @returns A fully implemented PromptModule
21
+ */
22
+ export function buildMarkdownFileModule(descriptor) {
23
+ return {
24
+ name: descriptor.name,
25
+ priority: descriptor.priority,
26
+ maxTokens: descriptor.maxTokens,
27
+ compactable: descriptor.compactable,
28
+ shouldInclude(config) {
29
+ return !!descriptor.getConfigValue(config);
30
+ },
31
+ async build(config) {
32
+ const value = descriptor.getConfigValue(config);
33
+ const filePath = path.join(config.projectRoot, 'config', descriptor.configSubDir, `${value}${descriptor.fileExtension}`);
34
+ try {
35
+ const content = fs.readFileSync(filePath, 'utf-8').trim();
36
+ return `## ${descriptor.headingLabel}: ${value}\n\n${content}`;
37
+ }
38
+ catch {
39
+ return `## ${descriptor.headingLabel}: ${value}\n\n_${descriptor.missingFileHint} ${filePath}. Create it to define ${descriptor.headingLabel.toLowerCase()}-specific procedures._`;
40
+ }
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=markdown-file-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-file-module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/markdown-file-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AA4B7B;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAwC;IAC/E,OAAO;QACN,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;QAEnC,aAAa,CAAC,MAAoB;YACjC,OAAO,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,MAAoB;YAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACzB,MAAM,CAAC,WAAW,EAClB,QAAQ,EACR,UAAU,CAAC,YAAY,EACvB,GAAG,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CACrC,CAAC;YAEF,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,OAAO,MAAM,UAAU,CAAC,YAAY,KAAK,KAAK,OAAO,OAAO,EAAE,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,MAAM,UAAU,CAAC,YAAY,KAAK,KAAK,QAAQ,UAAU,CAAC,eAAe,IAAI,QAAQ,yBAAyB,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,wBAAwB,CAAC;YACpL,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -1 +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"}
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;AA2CtC;;;;;;;;;;;;;;;;;;;;;;;;;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;IAoB9B;;;;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"}
@@ -11,11 +11,17 @@ import { LearningReferenceModule } from './learning-reference.module.js';
11
11
  import { CommunicationModule } from './communication.module.js';
12
12
  import { RecoveryModule } from './recovery.module.js';
13
13
  import { LifecycleModule } from './lifecycle.module.js';
14
+ import { RoleBoundaryModule } from './role-boundary.module.js';
15
+ import { CapabilityOverlayModule } from './capability-overlay.module.js';
16
+ import { DomainSOPModule } from './domain-sop.module.js';
17
+ import { RiskPolicyModule } from './risk-policy.module.js';
14
18
  /**
15
19
  * Default total token budget for all prompt modules combined.
16
- * Modules exceeding this budget are truncated or skipped (compactable ones only).
20
+ * Increased from 25000 to 28000 for Architecture Upgrade modules.
21
+ * Role Boundary (~800 tokens, non-compactable) is the only guaranteed addition.
22
+ * SOP/Risk/Capability are conditional and compactable.
17
23
  */
18
- const DEFAULT_TOKEN_BUDGET = 25000;
24
+ const DEFAULT_TOKEN_BUDGET = 28000;
19
25
  /**
20
26
  * Separator between prompt modules in assembled output.
21
27
  */
@@ -68,14 +74,18 @@ export class PromptAssemblyService {
68
74
  this.modules = [
69
75
  new IdentityModule(),
70
76
  new SoulModule(),
77
+ new RecoveryModule(),
78
+ new RoleBoundaryModule(),
71
79
  new MemoryReferenceModule(),
72
80
  new SkillsReferenceModule(),
73
81
  new TeamReferenceModule(),
82
+ new CapabilityOverlayModule(),
74
83
  new ProjectReferenceModule(),
75
84
  new CommunicationModule(),
85
+ new DomainSOPModule(),
76
86
  new UserProfileReferenceModule(),
87
+ new RiskPolicyModule(),
77
88
  new LearningReferenceModule(),
78
- new RecoveryModule(),
79
89
  new LifecycleModule(),
80
90
  ];
81
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-assembly.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-assembly.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-assembly.service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,18 @@
11
11
  * Configuration passed to each prompt module during assembly.
12
12
  * Contains all the context needed to build module-specific content.
13
13
  */
14
+ /**
15
+ * Organizational role derived from team hierarchy.
16
+ * Determines role boundary rules and event subscriptions.
17
+ */
18
+ export type OrgRole = 'orchestrator' | 'team-lead' | 'executor';
19
+ /**
20
+ * Autonomy level controls the decision rights matrix.
21
+ * - directed: Execute assigned tasks only, escalate all ambiguity.
22
+ * - bounded: Make decisions within task/domain scope, log rationale.
23
+ * - domain_autonomous: Monitor domain continuously, make approved decisions without waiting.
24
+ */
25
+ export type AutonomyLevel = 'directed' | 'bounded' | 'domain_autonomous';
14
26
  export interface ModuleConfig {
15
27
  /** Agent's session name (e.g. 'crewly-product-sam-217bfbbf') */
16
28
  sessionName: string;
@@ -34,6 +46,16 @@ export interface ModuleConfig {
34
46
  tlSkillsPath: string;
35
47
  /** Absolute path to the project root (where config/ lives) */
36
48
  projectRoot: string;
49
+ /** Organizational role derived from team hierarchy (orchestrator, team-lead, executor) */
50
+ orgRole?: OrgRole;
51
+ /** Autonomy level controlling the decision rights matrix */
52
+ autonomyLevel?: AutonomyLevel;
53
+ /** Capability flags (e.g., ['can-decide', 'can-verify']) */
54
+ capabilities?: string[];
55
+ /** Domain SOP name — loads config/domain-sops/{domainSOP}.sop.md */
56
+ domainSOP?: string;
57
+ /** Risk policy name — loads config/risk-policies/{riskPolicy}.policy.md */
58
+ riskPolicy?: string;
37
59
  }
38
60
  /**
39
61
  * Subordinate info compatible with the existing SubordinateInfo type
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-module.interface.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-module.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;IACtE,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,WAAW,EAAE,OAAO,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAC7C,8CAA8C;IAC9C,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,2DAA2D;IAC3D,SAAS,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAYf;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD"}
1
+ {"version":3,"file":"prompt-module.interface.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-module.interface.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,5 @@
1
- /**
2
- * Interface for modular prompt components.
3
- *
4
- * Each module is responsible for one concern (identity, skills, team, etc.)
5
- * and produces a markdown string that gets assembled into the final agent prompt.
6
- *
7
- * Modules are assembled in priority order (1 = highest, assembled first).
8
- * Non-compactable modules are never truncated when token budget is tight.
9
- */
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
10
3
  /**
11
4
  * Load a role-specific fragment file from config/roles/{role}/fragments/{fragmentName}.md.
12
5
  * Returns null if the file doesn't exist.
@@ -18,8 +11,6 @@
18
11
  */
19
12
  export function loadRoleFragment(projectRoot, role, fragmentName) {
20
13
  try {
21
- const fs = require('fs');
22
- const path = require('path');
23
14
  const fragmentPath = path.join(projectRoot, 'config', 'roles', role, 'fragments', `${fragmentName}.md`);
24
15
  if (fs.existsSync(fragmentPath)) {
25
16
  return fs.readFileSync(fragmentPath, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-module.interface.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-module.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmHH;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC/B,WAAmB,EACnB,IAAY,EACZ,YAAoB;IAEpB,IAAI,CAAC;QACJ,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC;QACxG,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,mDAAmD;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,iEAAiE;IACjE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"prompt-module.interface.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/prompt-module.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAwJ7B;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC/B,WAAmB,EACnB,IAAY,EACZ,YAAoB;IAEpB,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC;QACxG,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,mDAAmD;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,iEAAiE;IACjE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/recovery.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,YAAY;IAClD,IAAI,SAAc;IAClB,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CA0ClD"}
1
+ {"version":3,"file":"recovery.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/recovery.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,YAAY;IAClD,IAAI,SAAc;IAClB,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CAkDlD"}
@@ -57,13 +57,21 @@ bash ${skillsPath}/core/recall/execute.sh '{"agentId":"${agentId}","context":"${
57
57
  bash ${skillsPath}/core/get-my-context/execute.sh '{"agentId":"${agentId}","agentRole":"${role}","projectPath":"${projectPath}"}'
58
58
  \`\`\`
59
59
 
60
- ### Step 3: Register yourself as active
60
+ ### Step 3: Check for pending tasks
61
+ \`\`\`bash
62
+ bash ${skillsPath}/core/get-my-tasks/execute.sh '{"sessionName":"${agentId}"}'
63
+ \`\`\`
64
+ If you have assigned tasks from a previous session, review and accept them using the accept-task endpoint.
65
+ If any task has workingNotes, read them carefully — they contain your previous working state
66
+ (current hypothesis, what you've tried, where you left off). Resume from there, don't restart from scratch.
67
+
68
+ ### Step 4: Register yourself as active
61
69
  **CRITICAL:** You MUST call register-self to transition your status from "started" to "active". The system will NOT deliver any messages (Slack, tasks, etc.) to you until you register. Run this BEFORE reporting status:
62
70
  \`\`\`bash
63
71
  bash ${skillsPath}/core/register-self/execute.sh '{"sessionName":"${agentId}","role":"${role}"}'
64
72
  \`\`\`
65
73
 
66
- ### Step 4: Assess and report
74
+ ### Step 5: Assess and report
67
75
  After reviewing the results from Steps 1-3:
68
76
  1. **Check for unfinished work** — If you find tasks that were in progress but not completed, note them
69
77
  2. **Check for pending blockers** — If previous sessions recorded blockers, note them
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/recovery.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAc;IAC1B,IAAI,GAAG,UAAU,CAAC;IAClB,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;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,iFAAiF;QACjF,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/E,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,QAAQ,CAAC;YACjB,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAE1C,OAAO;;;;;;OAMF,UAAU,wCAAwC,OAAO,gBAAgB,IAAI,4FAA4F,WAAW;;;;;OAKpL,UAAU,gDAAgD,OAAO,kBAAkB,IAAI,oBAAoB,WAAW;;;;;;OAMtH,UAAU,mDAAmD,OAAO,aAAa,IAAI;;;;;;;;;8GASkB,CAAC;IAC9G,CAAC;CACD"}
1
+ {"version":3,"file":"recovery.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/recovery.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAc;IAC1B,IAAI,GAAG,UAAU,CAAC;IAClB,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;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,iFAAiF;QACjF,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/E,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,QAAQ,CAAC;YACjB,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAE1C,OAAO;;;;;;OAMF,UAAU,wCAAwC,OAAO,gBAAgB,IAAI,4FAA4F,WAAW;;;;;OAKpL,UAAU,gDAAgD,OAAO,kBAAkB,IAAI,oBAAoB,WAAW;;;;;OAKtH,UAAU,kDAAkD,OAAO;;;;;;;;;OASnE,UAAU,mDAAmD,OAAO,aAAa,IAAI;;;;;;;;;8GASkB,CAAC;IAC9G,CAAC;CACD"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Risk Policy module — loads risk-specific policy documents.
3
+ *
4
+ * Reads a markdown policy file from config/risk-policies/{riskPolicy}.policy.md
5
+ * and injects it into the agent prompt as a constraint layer.
6
+ * V1 scope: constraint and procedure layer only.
7
+ *
8
+ * Delegates to buildMarkdownFileModule for the shared read-file-and-format logic.
9
+ */
10
+ import type { PromptModule, ModuleConfig } from './prompt-module.interface.js';
11
+ /**
12
+ * Prompt module that loads risk-specific policies from disk.
13
+ * Instantiable class wrapper around the shared markdown-file helper.
14
+ */
15
+ export declare class RiskPolicyModule implements PromptModule {
16
+ name: string;
17
+ priority: number;
18
+ maxTokens: number;
19
+ compactable: boolean;
20
+ /**
21
+ * Include this module only when a riskPolicy name is configured.
22
+ *
23
+ * @param config - Module configuration with optional riskPolicy field
24
+ * @returns True if riskPolicy is set, false otherwise
25
+ */
26
+ shouldInclude(config: ModuleConfig): boolean;
27
+ /**
28
+ * Build the risk policy section by loading the corresponding markdown file.
29
+ *
30
+ * @param config - Module configuration containing riskPolicy name and projectRoot
31
+ * @returns Formatted markdown section with policy content or fallback message
32
+ */
33
+ build(config: ModuleConfig): Promise<string>;
34
+ }
35
+ //# sourceMappingURL=risk-policy.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-policy.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/risk-policy.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAc/E;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACpD,IAAI,SAAiB;IACrB,QAAQ,SAAqB;IAC7B,SAAS,SAAsB;IAC/B,WAAW,UAAwB;IAEnC;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI5C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CAGlD"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Risk Policy module — loads risk-specific policy documents.
3
+ *
4
+ * Reads a markdown policy file from config/risk-policies/{riskPolicy}.policy.md
5
+ * and injects it into the agent prompt as a constraint layer.
6
+ * V1 scope: constraint and procedure layer only.
7
+ *
8
+ * Delegates to buildMarkdownFileModule for the shared read-file-and-format logic.
9
+ */
10
+ import { buildMarkdownFileModule } from './markdown-file-module.js';
11
+ const delegate = buildMarkdownFileModule({
12
+ name: 'risk-policy',
13
+ priority: 10,
14
+ maxTokens: 800,
15
+ compactable: true,
16
+ configSubDir: 'risk-policies',
17
+ fileExtension: '.policy.md',
18
+ headingLabel: 'Risk Policy',
19
+ missingFileHint: 'Policy file not found at',
20
+ getConfigValue: (config) => config.riskPolicy,
21
+ });
22
+ /**
23
+ * Prompt module that loads risk-specific policies from disk.
24
+ * Instantiable class wrapper around the shared markdown-file helper.
25
+ */
26
+ export class RiskPolicyModule {
27
+ name = delegate.name;
28
+ priority = delegate.priority;
29
+ maxTokens = delegate.maxTokens;
30
+ compactable = delegate.compactable;
31
+ /**
32
+ * Include this module only when a riskPolicy name is configured.
33
+ *
34
+ * @param config - Module configuration with optional riskPolicy field
35
+ * @returns True if riskPolicy is set, false otherwise
36
+ */
37
+ shouldInclude(config) {
38
+ return delegate.shouldInclude(config);
39
+ }
40
+ /**
41
+ * Build the risk policy section by loading the corresponding markdown file.
42
+ *
43
+ * @param config - Module configuration containing riskPolicy name and projectRoot
44
+ * @returns Formatted markdown section with policy content or fallback message
45
+ */
46
+ async build(config) {
47
+ return delegate.build(config);
48
+ }
49
+ }
50
+ //# sourceMappingURL=risk-policy.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-policy.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/risk-policy.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;IACxC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,YAAY;IAC3B,YAAY,EAAE,aAAa;IAC3B,eAAe,EAAE,0BAA0B;IAC3C,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU;CAC7C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAC5B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC7B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC/B,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IAEnC;;;;;OAKG;IACH,aAAa,CAAC,MAAoB;QACjC,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC/B,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACD"}