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.
- package/config/domain-sops/EXAMPLE.sop.md +21 -0
- package/config/overlays/can-decide.md +5 -0
- package/config/overlays/can-delegate.md +5 -0
- package/config/overlays/can-user-reply.md +5 -0
- package/config/overlays/can-verify.md +5 -0
- package/config/risk-policies/EXAMPLE.policy.md +22 -0
- package/config/roles/developer/fragments/role-boundary.md +30 -0
- package/config/roles/orchestrator/fragments/role-boundary.md +25 -0
- package/config/roles/orchestrator/prompt.md +40 -6
- package/config/roles/team-leader/fragments/role-boundary.md +22 -0
- package/config/skills/agent/core/get-my-tasks/execute.sh +16 -0
- package/config/skills/agent/core/save-working-state/execute.sh +19 -0
- package/config/skills/agent/core/update-user-profile/execute.sh +13 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +34 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +107 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.js +5 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/index.d.ts +1 -1
- package/dist/backend/backend/src/controllers/chat/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/index.js +1 -1
- package/dist/backend/backend/src/controllers/chat/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/index.d.ts +1 -1
- package/dist/backend/backend/src/controllers/memory/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/index.js +1 -1
- package/dist/backend/backend/src/controllers/memory/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +35 -0
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js +61 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +2 -0
- package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.js +5 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts +1 -0
- package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/cron-task.controller.js +12 -6
- package/dist/backend/backend/src/controllers/system/cron-task.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +24 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +107 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +49 -0
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +46 -42
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.js +5 -0
- package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +24 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +104 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts +33 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.js +70 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts +35 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.js +50 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts +46 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.js +44 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +13 -3
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +22 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js +2 -11
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +10 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts +35 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.js +50 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts +67 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +172 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +5 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +18 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +9 -2
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +11 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.js +41 -5
- package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +22 -0
- package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/agent-memory.service.js +103 -6
- package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/index.d.ts +2 -1
- package/dist/backend/backend/src/services/memory/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/index.js +1 -0
- package/dist/backend/backend/src/services/memory/index.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +43 -0
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +96 -0
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/user-profile.service.d.ts +77 -0
- package/dist/backend/backend/src/services/memory/user-profile.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/user-profile.service.js +171 -0
- package/dist/backend/backend/src/services/memory/user-profile.service.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +8 -3
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +41 -16
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +144 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +259 -2
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +58 -2
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +189 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +12 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +14 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +12 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
- package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/memory.types.js.map +1 -1
- package/dist/backend/backend/src/types/task-tracking.types.d.ts +28 -1
- package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
- package/dist/backend/backend/src/types/thread-status.types.d.ts +4 -0
- package/dist/backend/backend/src/types/thread-status.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/thread-status.types.js +4 -1
- package/dist/backend/backend/src/types/thread-status.types.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +157 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +37 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +22 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/agent-memory.service.js +103 -6
- package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/goal-tracking.service.d.ts +239 -0
- package/dist/cli/backend/src/services/memory/goal-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/goal-tracking.service.js +353 -0
- package/dist/cli/backend/src/services/memory/goal-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +43 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +96 -0
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +171 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.js +725 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +12 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/memory.types.js.map +1 -1
- package/dist/cli/backend/src/types/task-tracking.types.d.ts +206 -0
- package/dist/cli/backend/src/types/task-tracking.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/task-tracking.types.js +5 -0
- package/dist/cli/backend/src/types/task-tracking.types.js.map +1 -0
- package/dist/cli/backend/src/types/thread-status.types.d.ts +4 -0
- package/dist/cli/backend/src/types/thread-status.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/thread-status.types.js +4 -1
- package/dist/cli/backend/src/types/thread-status.types.js.map +1 -1
- package/frontend/dist/assets/index-512efc8e.js +4921 -0
- package/frontend/dist/assets/{index-975ccc95.css → index-dc6ac165.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- 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;
|
|
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;
|
|
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"}
|
package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
*
|
|
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 =
|
|
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":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAMN,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,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;
|
|
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
|
package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map
CHANGED
|
@@ -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":"
|
|
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
|
-
*
|
|
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
|
|
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;
|
|
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:
|
|
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
|
|
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
|
|
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"}
|