crewly 1.0.7 → 1.0.8
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/LICENSE +1 -1
- package/README.md +50 -3
- package/config/roles/architect/prompt.md +11 -0
- package/config/roles/backend-developer/prompt.md +11 -0
- package/config/roles/designer/prompt.md +11 -0
- package/config/roles/developer/prompt.md +18 -4
- package/config/roles/frontend-developer/prompt.md +11 -0
- package/config/roles/fullstack-dev/prompt.md +11 -0
- package/config/roles/generalist/prompt.md +11 -0
- package/config/roles/orchestrator/prompt.md +27 -0
- package/config/roles/product-manager/prompt.md +18 -4
- package/config/roles/qa/prompt.md +11 -0
- package/config/roles/qa-engineer/prompt.md +11 -0
- package/config/roles/sales/prompt.md +11 -0
- package/config/roles/support/prompt.md +11 -0
- package/config/roles/tpm/prompt.md +11 -0
- package/config/skills/orchestrator/complete-task/execute.sh +1 -0
- package/config/templates/agent-claude-md.md +16 -0
- package/config/templates/research-team.json +22 -0
- package/config/templates/startup-team.json +22 -0
- package/config/templates/web-dev-team.json +22 -0
- package/dist/backend/backend/src/constants.d.ts +61 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +65 -7
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +7 -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 +174 -4
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +34 -0
- 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 +2 -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 +8 -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 +75 -17
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +222 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +621 -0
- package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
- package/dist/backend/backend/src/services/index.d.ts +3 -0
- package/dist/backend/backend/src/services/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/index.js +5 -0
- package/dist/backend/backend/src/services/index.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-client.d.ts +233 -0
- package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-client.js +297 -0
- package/dist/backend/backend/src/services/mcp-client.js.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts +167 -0
- package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -0
- package/dist/backend/backend/src/services/mcp-server.js +586 -0
- package/dist/backend/backend/src/services/mcp-server.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +2 -0
- package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.js +6 -1
- package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +10 -0
- 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 +94 -38
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/quality/index.d.ts +1 -0
- package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/quality/index.js +1 -0
- package/dist/backend/backend/src/services/quality/index.js.map +1 -1
- package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts +84 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.js +163 -0
- package/dist/backend/backend/src/services/quality/task-output-validator.service.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-adapter.d.ts +234 -0
- package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-adapter.js +180 -0
- package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -0
- package/dist/backend/backend/src/types/event-bus.types.d.ts +2 -2
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +2 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +1 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js +2 -0
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.d.ts +9 -6
- package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/messaging.types.js +10 -3
- package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
- package/dist/backend/backend/src/types/task-output.types.d.ts +78 -0
- package/dist/backend/backend/src/types/task-output.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/task-output.types.js +27 -0
- package/dist/backend/backend/src/types/task-output.types.js.map +1 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +13 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -0
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +751 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -0
- package/dist/cli/backend/src/constants.js +550 -0
- package/dist/cli/backend/src/constants.js.map +1 -0
- package/dist/cli/backend/src/models/Project.d.ts +18 -0
- package/dist/cli/backend/src/models/Project.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Project.js +70 -0
- package/dist/cli/backend/src/models/Project.js.map +1 -0
- package/dist/cli/backend/src/models/ScheduledMessage.d.ts +27 -0
- package/dist/cli/backend/src/models/ScheduledMessage.d.ts.map +1 -0
- package/dist/cli/backend/src/models/ScheduledMessage.js +50 -0
- package/dist/cli/backend/src/models/ScheduledMessage.js.map +1 -0
- package/dist/cli/backend/src/models/Team.d.ts +20 -0
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Team.js +120 -0
- package/dist/cli/backend/src/models/Team.js.map +1 -0
- package/dist/cli/backend/src/models/Ticket.d.ts +24 -0
- package/dist/cli/backend/src/models/Ticket.d.ts.map +1 -0
- package/dist/cli/backend/src/models/Ticket.js +102 -0
- package/dist/cli/backend/src/models/Ticket.js.map +1 -0
- package/dist/cli/backend/src/models/index.d.ts +5 -0
- package/dist/cli/backend/src/models/index.d.ts.map +1 -0
- package/dist/cli/backend/src/models/index.js +5 -0
- package/dist/cli/backend/src/models/index.js.map +1 -0
- package/dist/cli/backend/src/services/core/config.service.d.ts +91 -0
- package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/config.service.js +246 -0
- package/dist/cli/backend/src/services/core/config.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts +70 -0
- package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/logger.service.js +350 -0
- package/dist/cli/backend/src/services/core/logger.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts +269 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/storage.service.js +1406 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +92 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.js +120 -0
- package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +247 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js +409 -0
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts +167 -0
- package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -0
- package/dist/cli/backend/src/services/mcp-server.js +586 -0
- package/dist/cli/backend/src/services/mcp-server.js.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +259 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.js +539 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +306 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.js +517 -0
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +252 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.js +600 -0
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
- package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
- package/dist/cli/backend/src/types/budget.types.d.ts +217 -0
- package/dist/cli/backend/src/types/budget.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/budget.types.js +82 -0
- package/dist/cli/backend/src/types/budget.types.js.map +1 -0
- package/dist/cli/backend/src/types/chat.types.d.ts +550 -0
- package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/chat.types.js +743 -0
- package/dist/cli/backend/src/types/chat.types.js.map +1 -0
- package/dist/cli/backend/src/types/continuation.types.d.ts +237 -0
- package/dist/cli/backend/src/types/continuation.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/continuation.types.js +10 -0
- package/dist/cli/backend/src/types/continuation.types.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +164 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -0
- package/dist/cli/backend/src/types/index.js +25 -0
- package/dist/cli/backend/src/types/index.js.map +1 -0
- package/dist/cli/backend/src/types/knowledge.types.d.ts +195 -0
- package/dist/cli/backend/src/types/knowledge.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/knowledge.types.js +38 -0
- package/dist/cli/backend/src/types/knowledge.types.js.map +1 -0
- package/dist/cli/backend/src/types/memory.types.d.ts +587 -0
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/memory.types.js +47 -0
- package/dist/cli/backend/src/types/memory.types.js.map +1 -0
- package/dist/cli/backend/src/types/quality-gate.types.d.ts +171 -0
- package/dist/cli/backend/src/types/quality-gate.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/quality-gate.types.js +42 -0
- package/dist/cli/backend/src/types/quality-gate.types.js.map +1 -0
- package/dist/cli/backend/src/types/role.types.d.ts +260 -0
- package/dist/cli/backend/src/types/role.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/role.types.js +238 -0
- package/dist/cli/backend/src/types/role.types.js.map +1 -0
- package/dist/cli/backend/src/types/scheduler.types.d.ts +254 -0
- package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/scheduler.types.js +32 -0
- package/dist/cli/backend/src/types/scheduler.types.js.map +1 -0
- package/dist/cli/backend/src/types/settings.types.d.ts +178 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/settings.types.js +206 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -0
- package/dist/cli/backend/src/types/skill.types.d.ts +515 -0
- package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/skill.types.js +481 -0
- package/dist/cli/backend/src/types/skill.types.js.map +1 -0
- package/dist/cli/backend/src/types/sop.types.d.ts +224 -0
- package/dist/cli/backend/src/types/sop.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/sop.types.js +85 -0
- package/dist/cli/backend/src/types/sop.types.js.map +1 -0
- package/dist/cli/backend/src/types/task-output.types.d.ts +78 -0
- package/dist/cli/backend/src/types/task-output.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/task-output.types.js +27 -0
- package/dist/cli/backend/src/types/task-output.types.js.map +1 -0
- package/dist/cli/backend/src/utils/file-io.utils.d.ts +102 -0
- package/dist/cli/backend/src/utils/file-io.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/file-io.utils.js +214 -0
- package/dist/cli/backend/src/utils/file-io.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +54 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.js +97 -0
- package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -0
- package/dist/cli/cli/src/commands/mcp-server.d.ts +38 -0
- package/dist/cli/cli/src/commands/mcp-server.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/mcp-server.js +49 -0
- package/dist/cli/cli/src/commands/mcp-server.js.map +1 -0
- package/dist/cli/cli/src/commands/onboard.d.ts +61 -7
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +192 -19
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/commands/publish.d.ts +27 -0
- package/dist/cli/cli/src/commands/publish.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/publish.js +69 -0
- package/dist/cli/cli/src/commands/publish.js.map +1 -0
- package/dist/cli/cli/src/index.js +14 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/archive-creator.d.ts +82 -0
- package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/archive-creator.js +105 -0
- package/dist/cli/cli/src/utils/archive-creator.js.map +1 -0
- package/dist/cli/cli/src/utils/package-validator.d.ts +62 -0
- package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/package-validator.js +122 -0
- package/dist/cli/cli/src/utils/package-validator.js.map +1 -0
- package/dist/cli/cli/src/utils/templates.d.ts +71 -0
- package/dist/cli/cli/src/utils/templates.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/templates.js +91 -0
- package/dist/cli/cli/src/utils/templates.js.map +1 -0
- package/frontend/dist/assets/{index-523c7fce.js → index-68d1eb5a.js} +71 -71
- package/frontend/dist/assets/{index-4c050f52.css → index-c5043a83.css} +1 -1
- package/frontend/dist/assets/nunito-cyrillic-400-normal-e44e669f.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-500-normal-2159679b.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-500-normal-61a3b80e.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-600-normal-ac046097.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-600-normal-e61eb97b.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-700-normal-b9684104.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-800-normal-40253beb.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-800-normal-d80292de.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-16197abd.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-9dcfe9b5.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2 +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff +0 -0
- package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-400-normal-a5906e15.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-400-normal-b51e7635.woff +0 -0
- package/frontend/dist/assets/nunito-latin-500-normal-23ae3083.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-500-normal-be14dbc6.woff +0 -0
- package/frontend/dist/assets/nunito-latin-600-normal-06a9c8b3.woff +0 -0
- package/frontend/dist/assets/nunito-latin-600-normal-45f437de.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-700-normal-ce9107dc.woff +0 -0
- package/frontend/dist/assets/nunito-latin-700-normal-fa89300b.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-800-normal-0ca02785.woff +0 -0
- package/frontend/dist/assets/nunito-latin-800-normal-2363d3ed.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-400-normal-67250a41.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-400-normal-d7e2415e.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-500-normal-06f35d1c.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-500-normal-343e7adc.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-600-normal-5a8efd17.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-700-normal-0c607961.woff +0 -0
- package/frontend/dist/assets/nunito-latin-ext-800-normal-39f54b55.woff2 +0 -0
- package/frontend/dist/assets/nunito-latin-ext-800-normal-466d0211.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-400-normal-2a755616.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-400-normal-9c01ea9f.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-500-normal-452e5e08.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-500-normal-dc98d965.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-600-normal-2ffbb85f.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-600-normal-cf95b95d.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-700-normal-0e29c28c.woff2 +0 -0
- package/frontend/dist/assets/nunito-vietnamese-700-normal-7793b75e.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-800-normal-5baf507e.woff +0 -0
- package/frontend/dist/assets/nunito-vietnamese-800-normal-fac6740e.woff2 +0 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +15 -5
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Memory Service
|
|
3
|
+
*
|
|
4
|
+
* Manages agent-level persistent memory stored in ~/.crewly/agents/{agentId}/
|
|
5
|
+
* Provides storage for role knowledge, preferences, and performance metrics.
|
|
6
|
+
*
|
|
7
|
+
* @module services/memory/agent-memory.service
|
|
8
|
+
*/
|
|
9
|
+
import { AgentMemory, AgentPreferences, RoleKnowledgeEntry, PerformanceMetrics, type RoleKnowledgeCategory } from '../../types/memory.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Metrics recorded when a task is completed
|
|
12
|
+
*/
|
|
13
|
+
export interface TaskCompletionMetrics {
|
|
14
|
+
/** Number of iterations to complete the task */
|
|
15
|
+
iterations: number;
|
|
16
|
+
/** Whether quality gates passed on first try */
|
|
17
|
+
qualityGatePassed: boolean;
|
|
18
|
+
/** Time to complete in minutes */
|
|
19
|
+
completionTimeMinutes?: number;
|
|
20
|
+
/** Type of task (e.g., 'bug-fix', 'feature', 'refactor') */
|
|
21
|
+
taskType?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Interface for the Agent Memory Service
|
|
25
|
+
*/
|
|
26
|
+
export interface IAgentMemoryService {
|
|
27
|
+
initializeAgent(agentId: string, role: string): Promise<void>;
|
|
28
|
+
addRoleKnowledge(agentId: string, entry: Omit<RoleKnowledgeEntry, 'id' | 'createdAt'>): Promise<string>;
|
|
29
|
+
getRoleKnowledge(agentId: string, category?: RoleKnowledgeCategory): Promise<RoleKnowledgeEntry[]>;
|
|
30
|
+
reinforceKnowledge(agentId: string, entryId: string): Promise<void>;
|
|
31
|
+
updatePreferences(agentId: string, preferences: Partial<AgentPreferences>): Promise<void>;
|
|
32
|
+
getPreferences(agentId: string): Promise<AgentPreferences>;
|
|
33
|
+
recordTaskCompletion(agentId: string, metrics: TaskCompletionMetrics): Promise<void>;
|
|
34
|
+
recordError(agentId: string, errorPattern: string, resolution?: string): Promise<void>;
|
|
35
|
+
getPerformanceMetrics(agentId: string): Promise<PerformanceMetrics>;
|
|
36
|
+
generateAgentContext(agentId: string): Promise<string>;
|
|
37
|
+
pruneStaleEntries(agentId: string, olderThanDays: number): Promise<number>;
|
|
38
|
+
getAgentMemory(agentId: string): Promise<AgentMemory | null>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Service for managing agent-level persistent memory
|
|
42
|
+
*
|
|
43
|
+
* Follows singleton pattern for consistent state management.
|
|
44
|
+
* Uses atomic file writes to prevent data corruption.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const memoryService = AgentMemoryService.getInstance();
|
|
49
|
+
* await memoryService.initializeAgent('dev-001', 'developer');
|
|
50
|
+
* await memoryService.addRoleKnowledge('dev-001', {
|
|
51
|
+
* category: 'best-practice',
|
|
52
|
+
* content: 'Always run tests before committing',
|
|
53
|
+
* confidence: 0.5
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare class AgentMemoryService implements IAgentMemoryService {
|
|
58
|
+
private static instance;
|
|
59
|
+
private static instanceHome;
|
|
60
|
+
private readonly basePath;
|
|
61
|
+
private readonly logger;
|
|
62
|
+
private readonly memoryCache;
|
|
63
|
+
private readonly CACHE_TTL_MS;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a new AgentMemoryService instance
|
|
66
|
+
*
|
|
67
|
+
* @param crewlyHome - Optional custom path for crewly home directory
|
|
68
|
+
*/
|
|
69
|
+
constructor(crewlyHome?: string);
|
|
70
|
+
/**
|
|
71
|
+
* Gets the singleton instance of AgentMemoryService
|
|
72
|
+
*
|
|
73
|
+
* @param crewlyHome - Optional custom path for crewly home directory
|
|
74
|
+
* @returns The singleton AgentMemoryService instance
|
|
75
|
+
*/
|
|
76
|
+
static getInstance(crewlyHome?: string): AgentMemoryService;
|
|
77
|
+
/**
|
|
78
|
+
* Clears the singleton instance (useful for testing)
|
|
79
|
+
*/
|
|
80
|
+
static clearInstance(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Ensures the base agents directory exists
|
|
83
|
+
*/
|
|
84
|
+
private ensureBaseDirectory;
|
|
85
|
+
/**
|
|
86
|
+
* Gets the path to an agent's memory directory
|
|
87
|
+
*
|
|
88
|
+
* @param agentId - The agent's unique identifier
|
|
89
|
+
* @returns Absolute path to the agent's memory directory
|
|
90
|
+
*/
|
|
91
|
+
private getAgentPath;
|
|
92
|
+
/**
|
|
93
|
+
* Gets the path to a specific memory file for an agent
|
|
94
|
+
*
|
|
95
|
+
* @param agentId - The agent's unique identifier
|
|
96
|
+
* @param fileName - The memory file name
|
|
97
|
+
* @returns Absolute path to the memory file
|
|
98
|
+
*/
|
|
99
|
+
private getFilePath;
|
|
100
|
+
/**
|
|
101
|
+
* Ensures an agent's directory structure exists
|
|
102
|
+
*
|
|
103
|
+
* @param agentId - The agent's unique identifier
|
|
104
|
+
*/
|
|
105
|
+
private ensureAgentDirectory;
|
|
106
|
+
/**
|
|
107
|
+
* Invalidates the cache for an agent
|
|
108
|
+
*
|
|
109
|
+
* @param agentId - The agent's unique identifier
|
|
110
|
+
*/
|
|
111
|
+
private invalidateCache;
|
|
112
|
+
/**
|
|
113
|
+
* Gets cached agent memory or loads from disk
|
|
114
|
+
*
|
|
115
|
+
* @param agentId - The agent's unique identifier
|
|
116
|
+
* @returns Agent memory or null if not found
|
|
117
|
+
*/
|
|
118
|
+
private getCachedMemory;
|
|
119
|
+
/**
|
|
120
|
+
* Loads agent memory from disk
|
|
121
|
+
*
|
|
122
|
+
* @param agentId - The agent's unique identifier
|
|
123
|
+
* @returns Agent memory or null if not initialized
|
|
124
|
+
*/
|
|
125
|
+
private loadAgentMemory;
|
|
126
|
+
/**
|
|
127
|
+
* Saves agent memory to disk
|
|
128
|
+
*
|
|
129
|
+
* @param agentId - The agent's unique identifier
|
|
130
|
+
* @param memory - Memory data to save
|
|
131
|
+
*/
|
|
132
|
+
private saveAgentMemory;
|
|
133
|
+
/**
|
|
134
|
+
* Finds a similar existing knowledge entry to avoid duplicates
|
|
135
|
+
*
|
|
136
|
+
* @param knowledge - Existing knowledge entries
|
|
137
|
+
* @param content - Content to check for similarity
|
|
138
|
+
* @returns Matching entry or undefined
|
|
139
|
+
*/
|
|
140
|
+
private findSimilarEntry;
|
|
141
|
+
/**
|
|
142
|
+
* Formats agent preferences for context output
|
|
143
|
+
*
|
|
144
|
+
* @param preferences - Agent preferences to format
|
|
145
|
+
* @returns Formatted string
|
|
146
|
+
*/
|
|
147
|
+
private formatPreferences;
|
|
148
|
+
/**
|
|
149
|
+
* Initializes memory storage for a new agent
|
|
150
|
+
*
|
|
151
|
+
* @param agentId - Unique identifier for the agent
|
|
152
|
+
* @param role - Agent's role (e.g., 'developer', 'qa', 'pm')
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* await memoryService.initializeAgent('frontend-dev-001', 'frontend-developer');
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
initializeAgent(agentId: string, role: string): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* Adds a new role knowledge entry
|
|
162
|
+
*
|
|
163
|
+
* If similar content already exists, reinforces the existing entry instead.
|
|
164
|
+
*
|
|
165
|
+
* @param agentId - Agent's unique identifier
|
|
166
|
+
* @param entry - Knowledge entry (without id and createdAt)
|
|
167
|
+
* @returns ID of the created or reinforced entry
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const entryId = await memoryService.addRoleKnowledge('dev-001', {
|
|
172
|
+
* category: 'best-practice',
|
|
173
|
+
* content: 'Always validate user input before processing',
|
|
174
|
+
* confidence: 0.6,
|
|
175
|
+
* learnedFrom: 'TICKET-456'
|
|
176
|
+
* });
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
addRoleKnowledge(agentId: string, entry: Omit<RoleKnowledgeEntry, 'id' | 'createdAt'>): Promise<string>;
|
|
180
|
+
/**
|
|
181
|
+
* Gets role knowledge entries, optionally filtered by category
|
|
182
|
+
*
|
|
183
|
+
* @param agentId - Agent's unique identifier
|
|
184
|
+
* @param category - Optional category filter
|
|
185
|
+
* @returns Array of knowledge entries sorted by confidence (descending)
|
|
186
|
+
*/
|
|
187
|
+
getRoleKnowledge(agentId: string, category?: RoleKnowledgeCategory): Promise<RoleKnowledgeEntry[]>;
|
|
188
|
+
/**
|
|
189
|
+
* Reinforces a knowledge entry by increasing its confidence
|
|
190
|
+
*
|
|
191
|
+
* @param agentId - Agent's unique identifier
|
|
192
|
+
* @param entryId - ID of the entry to reinforce
|
|
193
|
+
*/
|
|
194
|
+
reinforceKnowledge(agentId: string, entryId: string): Promise<void>;
|
|
195
|
+
/**
|
|
196
|
+
* Updates agent preferences (partial update supported)
|
|
197
|
+
*
|
|
198
|
+
* @param agentId - Agent's unique identifier
|
|
199
|
+
* @param preferences - Partial preferences to update
|
|
200
|
+
*/
|
|
201
|
+
updatePreferences(agentId: string, preferences: Partial<AgentPreferences>): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Gets the current agent preferences
|
|
204
|
+
*
|
|
205
|
+
* @param agentId - Agent's unique identifier
|
|
206
|
+
* @returns Agent preferences or defaults
|
|
207
|
+
*/
|
|
208
|
+
getPreferences(agentId: string): Promise<AgentPreferences>;
|
|
209
|
+
/**
|
|
210
|
+
* Records a task completion and updates performance metrics
|
|
211
|
+
*
|
|
212
|
+
* @param agentId - Agent's unique identifier
|
|
213
|
+
* @param metrics - Task completion metrics
|
|
214
|
+
*/
|
|
215
|
+
recordTaskCompletion(agentId: string, metrics: TaskCompletionMetrics): Promise<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Records an error pattern encountered by the agent
|
|
218
|
+
*
|
|
219
|
+
* @param agentId - Agent's unique identifier
|
|
220
|
+
* @param errorPattern - Description of the error pattern
|
|
221
|
+
* @param resolution - Optional known resolution
|
|
222
|
+
*/
|
|
223
|
+
recordError(agentId: string, errorPattern: string, resolution?: string): Promise<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Gets the current performance metrics for an agent
|
|
226
|
+
*
|
|
227
|
+
* @param agentId - Agent's unique identifier
|
|
228
|
+
* @returns Performance metrics
|
|
229
|
+
*/
|
|
230
|
+
getPerformanceMetrics(agentId: string): Promise<PerformanceMetrics>;
|
|
231
|
+
/**
|
|
232
|
+
* Generates a context string for prompt injection
|
|
233
|
+
*
|
|
234
|
+
* Compiles relevant agent memories, preferences, and performance data
|
|
235
|
+
* into a formatted string suitable for inclusion in agent prompts.
|
|
236
|
+
*
|
|
237
|
+
* @param agentId - Agent's unique identifier
|
|
238
|
+
* @returns Formatted context string
|
|
239
|
+
*/
|
|
240
|
+
generateAgentContext(agentId: string): Promise<string>;
|
|
241
|
+
/**
|
|
242
|
+
* Prunes stale entries older than specified days
|
|
243
|
+
*
|
|
244
|
+
* Removes low-confidence entries that haven't been used recently.
|
|
245
|
+
*
|
|
246
|
+
* @param agentId - Agent's unique identifier
|
|
247
|
+
* @param olderThanDays - Number of days threshold
|
|
248
|
+
* @returns Number of entries removed
|
|
249
|
+
*/
|
|
250
|
+
pruneStaleEntries(agentId: string, olderThanDays: number): Promise<number>;
|
|
251
|
+
/**
|
|
252
|
+
* Gets the complete agent memory object
|
|
253
|
+
*
|
|
254
|
+
* @param agentId - Agent's unique identifier
|
|
255
|
+
* @returns Full agent memory or null if not initialized
|
|
256
|
+
*/
|
|
257
|
+
getAgentMemory(agentId: string): Promise<AgentMemory | null>;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=agent-memory.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-memory.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/memory/agent-memory.service.ts"],"names":[],"mappings":"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"}
|