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,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Budget Service Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Types for API usage tracking and budget management.
|
|
5
|
+
*
|
|
6
|
+
* @module types/budget.types
|
|
7
|
+
*/
|
|
8
|
+
// ======================
|
|
9
|
+
// Constants
|
|
10
|
+
// ======================
|
|
11
|
+
/**
|
|
12
|
+
* Budget-related constants
|
|
13
|
+
*/
|
|
14
|
+
export const BUDGET_CONSTANTS = {
|
|
15
|
+
/** Default configuration values */
|
|
16
|
+
DEFAULTS: {
|
|
17
|
+
DAILY_LIMIT: 50.0,
|
|
18
|
+
WEEKLY_LIMIT: 200.0,
|
|
19
|
+
MONTHLY_LIMIT: 500.0,
|
|
20
|
+
WARNING_THRESHOLD: 0.8,
|
|
21
|
+
MAX_TOKENS_PER_TASK: 100000,
|
|
22
|
+
},
|
|
23
|
+
/** Token cost rates by model (USD per token) */
|
|
24
|
+
TOKEN_COSTS: {
|
|
25
|
+
'claude-3-opus': { input: 0.000015, output: 0.000075 },
|
|
26
|
+
'claude-3-5-sonnet': { input: 0.000003, output: 0.000015 },
|
|
27
|
+
'claude-3-sonnet': { input: 0.000003, output: 0.000015 },
|
|
28
|
+
'claude-3-haiku': { input: 0.00000025, output: 0.00000125 },
|
|
29
|
+
'claude-opus-4': { input: 0.000015, output: 0.000075 },
|
|
30
|
+
'claude-sonnet-4': { input: 0.000003, output: 0.000015 },
|
|
31
|
+
default: { input: 0.000003, output: 0.000015 },
|
|
32
|
+
},
|
|
33
|
+
/** File paths */
|
|
34
|
+
PATHS: {
|
|
35
|
+
USAGE_DIR: 'usage',
|
|
36
|
+
BUDGETS_FILE: 'budgets.json',
|
|
37
|
+
BUDGETS_YAML_FILE: 'budgets.yaml',
|
|
38
|
+
},
|
|
39
|
+
/** Operation types */
|
|
40
|
+
OPERATIONS: {
|
|
41
|
+
TASK: 'task',
|
|
42
|
+
CONTINUATION: 'continuation',
|
|
43
|
+
MEMORY: 'memory',
|
|
44
|
+
SOP: 'sop',
|
|
45
|
+
QUALITY_GATE: 'quality_gate',
|
|
46
|
+
PROMPT_BUILDING: 'prompt_building',
|
|
47
|
+
OTHER: 'other',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Default global budget configuration
|
|
52
|
+
*/
|
|
53
|
+
export const DEFAULT_BUDGET_CONFIG = {
|
|
54
|
+
scope: 'global',
|
|
55
|
+
scopeId: 'global',
|
|
56
|
+
dailyLimit: BUDGET_CONSTANTS.DEFAULTS.DAILY_LIMIT,
|
|
57
|
+
weeklyLimit: BUDGET_CONSTANTS.DEFAULTS.WEEKLY_LIMIT,
|
|
58
|
+
monthlyLimit: BUDGET_CONSTANTS.DEFAULTS.MONTHLY_LIMIT,
|
|
59
|
+
maxTokensPerTask: BUDGET_CONSTANTS.DEFAULTS.MAX_TOKENS_PER_TASK,
|
|
60
|
+
warningThreshold: BUDGET_CONSTANTS.DEFAULTS.WARNING_THRESHOLD,
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* All budget operation types
|
|
64
|
+
*/
|
|
65
|
+
export const ALL_BUDGET_OPERATIONS = [
|
|
66
|
+
'task',
|
|
67
|
+
'continuation',
|
|
68
|
+
'memory',
|
|
69
|
+
'sop',
|
|
70
|
+
'quality_gate',
|
|
71
|
+
'prompt_building',
|
|
72
|
+
'other',
|
|
73
|
+
];
|
|
74
|
+
/**
|
|
75
|
+
* All budget scopes
|
|
76
|
+
*/
|
|
77
|
+
export const ALL_BUDGET_SCOPES = ['global', 'project', 'agent'];
|
|
78
|
+
/**
|
|
79
|
+
* All budget periods
|
|
80
|
+
*/
|
|
81
|
+
export const ALL_BUDGET_PERIODS = ['day', 'week', 'month'];
|
|
82
|
+
//# sourceMappingURL=budget.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/budget.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyLH,yBAAyB;AACzB,YAAY;AACZ,yBAAyB;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mCAAmC;IACnC,QAAQ,EAAE;QACR,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,GAAG;QACtB,mBAAmB,EAAE,MAAM;KAC5B;IAED,gDAAgD;IAChD,WAAW,EAAE;QACX,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QACtD,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC1D,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QACxD,gBAAgB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;QAC3D,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QACtD,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;KACb;IAEnC,iBAAiB;IACjB,KAAK,EAAE;QACL,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,cAAc;QAC5B,iBAAiB,EAAE,cAAc;KAClC;IAED,sBAAsB;IACtB,UAAU,EAAE;QACV,IAAI,EAAE,MAA6B;QACnC,YAAY,EAAE,cAAqC;QACnD,MAAM,EAAE,QAA+B;QACvC,GAAG,EAAE,KAA4B;QACjC,YAAY,EAAE,cAAqC;QACnD,eAAe,EAAE,iBAAwC;QACzD,KAAK,EAAE,OAA8B;KACtC;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,WAAW;IACjD,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,YAAY;IACnD,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,aAAa;IACrD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB;IAC/D,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,MAAM;IACN,cAAc;IACd,QAAQ;IACR,KAAK;IACL,cAAc;IACd,iBAAiB;IACjB,OAAO;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Types Module
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the chat-based dashboard. Provides a conversational
|
|
5
|
+
* interface with the Orchestrator, transforming raw terminal output into
|
|
6
|
+
* clean, formatted chat messages.
|
|
7
|
+
*
|
|
8
|
+
* @module types/chat
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Valid sender types for chat messages
|
|
12
|
+
*/
|
|
13
|
+
export declare const CHAT_SENDER_TYPES: readonly ["user", "orchestrator", "agent", "system"];
|
|
14
|
+
/**
|
|
15
|
+
* Valid content types for chat messages
|
|
16
|
+
*/
|
|
17
|
+
export declare const CHAT_CONTENT_TYPES: readonly ["text", "status", "task", "error", "system", "code", "markdown"];
|
|
18
|
+
/**
|
|
19
|
+
* Valid message status values
|
|
20
|
+
*/
|
|
21
|
+
export declare const CHAT_MESSAGE_STATUSES: readonly ["sending", "sent", "delivered", "error"];
|
|
22
|
+
/**
|
|
23
|
+
* Chat-related constants
|
|
24
|
+
*/
|
|
25
|
+
export declare const CHAT_CONSTANTS: {
|
|
26
|
+
/** Default limits */
|
|
27
|
+
readonly DEFAULTS: {
|
|
28
|
+
/** Default message limit for pagination */
|
|
29
|
+
readonly MESSAGE_LIMIT: 100;
|
|
30
|
+
/** Default conversation limit for pagination */
|
|
31
|
+
readonly CONVERSATION_LIMIT: 50;
|
|
32
|
+
/** Maximum content length for last message preview */
|
|
33
|
+
readonly PREVIEW_LENGTH: 100;
|
|
34
|
+
};
|
|
35
|
+
/** Response extraction patterns */
|
|
36
|
+
readonly PATTERNS: {
|
|
37
|
+
/** Pattern names */
|
|
38
|
+
readonly EXPLICIT: "explicit";
|
|
39
|
+
readonly CHAT: "chat";
|
|
40
|
+
readonly CODEBLOCK: "codeblock";
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Sender type for chat messages
|
|
45
|
+
*/
|
|
46
|
+
export type ChatSenderType = (typeof CHAT_SENDER_TYPES)[number];
|
|
47
|
+
/**
|
|
48
|
+
* Message content type
|
|
49
|
+
*/
|
|
50
|
+
export type ChatContentType = (typeof CHAT_CONTENT_TYPES)[number];
|
|
51
|
+
/**
|
|
52
|
+
* Message delivery status
|
|
53
|
+
*/
|
|
54
|
+
export type ChatMessageStatus = (typeof CHAT_MESSAGE_STATUSES)[number];
|
|
55
|
+
/**
|
|
56
|
+
* Sender information for a chat message
|
|
57
|
+
*/
|
|
58
|
+
export interface ChatSender {
|
|
59
|
+
/** Type of sender */
|
|
60
|
+
type: ChatSenderType;
|
|
61
|
+
/** ID of the agent/session if applicable */
|
|
62
|
+
id?: string;
|
|
63
|
+
/** Display name */
|
|
64
|
+
name?: string;
|
|
65
|
+
/** Role name if sender is an agent */
|
|
66
|
+
role?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Valid Slack delivery statuses for NOTIFY reconciliation
|
|
70
|
+
*/
|
|
71
|
+
export declare const SLACK_DELIVERY_STATUSES: readonly ["pending", "delivered", "failed"];
|
|
72
|
+
/**
|
|
73
|
+
* Slack delivery status type
|
|
74
|
+
*/
|
|
75
|
+
export type SlackDeliveryStatus = (typeof SLACK_DELIVERY_STATUSES)[number];
|
|
76
|
+
/**
|
|
77
|
+
* Metadata attached to a chat message
|
|
78
|
+
*/
|
|
79
|
+
export interface ChatMessageMetadata {
|
|
80
|
+
/** ID of skill used to generate this response */
|
|
81
|
+
skillUsed?: string;
|
|
82
|
+
/** ID of task created as a result of this message */
|
|
83
|
+
taskCreated?: string;
|
|
84
|
+
/** ID of project created */
|
|
85
|
+
projectCreated?: string;
|
|
86
|
+
/** Original raw terminal output (for debugging) */
|
|
87
|
+
rawOutput?: string;
|
|
88
|
+
/** Agent session ID that generated this message */
|
|
89
|
+
sessionId?: string;
|
|
90
|
+
/** Time taken to generate response in ms */
|
|
91
|
+
responseTimeMs?: number;
|
|
92
|
+
/** Slack delivery status for NOTIFY reconciliation */
|
|
93
|
+
slackDeliveryStatus?: SlackDeliveryStatus;
|
|
94
|
+
/** ISO timestamp of last Slack delivery attempt */
|
|
95
|
+
slackDeliveryAttemptedAt?: string;
|
|
96
|
+
/** Number of Slack delivery attempts */
|
|
97
|
+
slackDeliveryAttempts?: number;
|
|
98
|
+
/** Error message from last failed Slack delivery attempt */
|
|
99
|
+
slackDeliveryError?: string;
|
|
100
|
+
/** Slack channel ID for delivery/reconciliation */
|
|
101
|
+
slackChannelId?: string;
|
|
102
|
+
/** Slack thread timestamp for threaded replies */
|
|
103
|
+
slackThreadTs?: string;
|
|
104
|
+
/** NOTIFY type (e.g. task_completed, agent_error) */
|
|
105
|
+
notifyType?: string;
|
|
106
|
+
/** NOTIFY title header */
|
|
107
|
+
notifyTitle?: string;
|
|
108
|
+
/** NOTIFY urgency level */
|
|
109
|
+
notifyUrgency?: string;
|
|
110
|
+
/** Additional custom metadata */
|
|
111
|
+
[key: string]: unknown;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* A single chat message
|
|
115
|
+
*/
|
|
116
|
+
export interface ChatMessage {
|
|
117
|
+
/** Unique message ID */
|
|
118
|
+
id: string;
|
|
119
|
+
/** Conversation this message belongs to */
|
|
120
|
+
conversationId: string;
|
|
121
|
+
/** Sender information */
|
|
122
|
+
from: ChatSender;
|
|
123
|
+
/** Message content (may be markdown formatted) */
|
|
124
|
+
content: string;
|
|
125
|
+
/** Type of content */
|
|
126
|
+
contentType: ChatContentType;
|
|
127
|
+
/** Optional metadata */
|
|
128
|
+
metadata?: ChatMessageMetadata;
|
|
129
|
+
/** Delivery status */
|
|
130
|
+
status: ChatMessageStatus;
|
|
131
|
+
/** ISO timestamp */
|
|
132
|
+
timestamp: string;
|
|
133
|
+
/** Parent message ID for threading (optional) */
|
|
134
|
+
parentId?: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Last message preview in a conversation
|
|
138
|
+
*/
|
|
139
|
+
export interface LastMessagePreview {
|
|
140
|
+
/** Truncated content preview */
|
|
141
|
+
content: string;
|
|
142
|
+
/** ISO timestamp of the message */
|
|
143
|
+
timestamp: string;
|
|
144
|
+
/** Sender information */
|
|
145
|
+
from: ChatSender;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* A chat conversation (collection of messages)
|
|
149
|
+
*/
|
|
150
|
+
export interface ChatConversation {
|
|
151
|
+
/** Unique conversation ID */
|
|
152
|
+
id: string;
|
|
153
|
+
/** Conversation title (auto-generated or user-set) */
|
|
154
|
+
title?: string;
|
|
155
|
+
/** IDs of participants (user, orchestrator, agents) */
|
|
156
|
+
participantIds: string[];
|
|
157
|
+
/** ISO timestamp of creation */
|
|
158
|
+
createdAt: string;
|
|
159
|
+
/** ISO timestamp of last update */
|
|
160
|
+
updatedAt: string;
|
|
161
|
+
/** Whether this conversation is archived */
|
|
162
|
+
isArchived: boolean;
|
|
163
|
+
/** Number of messages in conversation */
|
|
164
|
+
messageCount: number;
|
|
165
|
+
/** Last message preview */
|
|
166
|
+
lastMessage?: LastMessagePreview;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Input for sending a new message
|
|
170
|
+
*/
|
|
171
|
+
export interface SendMessageInput {
|
|
172
|
+
/** Message content */
|
|
173
|
+
content: string;
|
|
174
|
+
/** Conversation ID (creates new if not provided) */
|
|
175
|
+
conversationId?: string;
|
|
176
|
+
/** Optional metadata to attach */
|
|
177
|
+
metadata?: Record<string, unknown>;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Response from sending a message
|
|
181
|
+
*/
|
|
182
|
+
export interface SendMessageResult {
|
|
183
|
+
/** The sent message */
|
|
184
|
+
message: ChatMessage;
|
|
185
|
+
/** The conversation (may be newly created) */
|
|
186
|
+
conversation: ChatConversation;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Filter options for listing messages
|
|
190
|
+
*/
|
|
191
|
+
export interface ChatMessageFilter {
|
|
192
|
+
/** Filter by conversation */
|
|
193
|
+
conversationId?: string;
|
|
194
|
+
/** Filter by sender type */
|
|
195
|
+
senderType?: ChatSenderType;
|
|
196
|
+
/** Filter by content type */
|
|
197
|
+
contentType?: ChatContentType;
|
|
198
|
+
/** Messages after this timestamp */
|
|
199
|
+
after?: string;
|
|
200
|
+
/** Messages before this timestamp */
|
|
201
|
+
before?: string;
|
|
202
|
+
/** Maximum number of messages to return */
|
|
203
|
+
limit?: number;
|
|
204
|
+
/** Offset for pagination */
|
|
205
|
+
offset?: number;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Filter options for listing conversations
|
|
209
|
+
*/
|
|
210
|
+
export interface ConversationFilter {
|
|
211
|
+
/** Include archived conversations */
|
|
212
|
+
includeArchived?: boolean;
|
|
213
|
+
/** Search in title and messages */
|
|
214
|
+
search?: string;
|
|
215
|
+
/** Limit number of results */
|
|
216
|
+
limit?: number;
|
|
217
|
+
/** Offset for pagination */
|
|
218
|
+
offset?: number;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Response extraction pattern configuration
|
|
222
|
+
*/
|
|
223
|
+
export interface ResponsePattern {
|
|
224
|
+
/** Pattern name for identification */
|
|
225
|
+
name: string;
|
|
226
|
+
/** Regex pattern to match */
|
|
227
|
+
pattern: RegExp;
|
|
228
|
+
/** Extraction group index (default 1) */
|
|
229
|
+
groupIndex?: number;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Chat message WebSocket event
|
|
233
|
+
*/
|
|
234
|
+
export interface ChatMessageEvent {
|
|
235
|
+
type: 'chat_message';
|
|
236
|
+
data: ChatMessage;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Typing indicator WebSocket event
|
|
240
|
+
*/
|
|
241
|
+
export interface ChatTypingEvent {
|
|
242
|
+
type: 'chat_typing';
|
|
243
|
+
data: {
|
|
244
|
+
conversationId: string;
|
|
245
|
+
sender: ChatSender;
|
|
246
|
+
isTyping: boolean;
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Message status update WebSocket event
|
|
251
|
+
*/
|
|
252
|
+
export interface ChatStatusEvent {
|
|
253
|
+
type: 'chat_status';
|
|
254
|
+
data: {
|
|
255
|
+
messageId: string;
|
|
256
|
+
status: ChatMessageStatus;
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Conversation update WebSocket event
|
|
261
|
+
*/
|
|
262
|
+
export interface ConversationUpdatedEvent {
|
|
263
|
+
type: 'conversation_updated';
|
|
264
|
+
data: ChatConversation;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Union type for all chat WebSocket events
|
|
268
|
+
*/
|
|
269
|
+
export type ChatWebSocketEvent = ChatMessageEvent | ChatTypingEvent | ChatStatusEvent | ConversationUpdatedEvent;
|
|
270
|
+
/**
|
|
271
|
+
* Input for creating a chat message
|
|
272
|
+
*/
|
|
273
|
+
export interface CreateChatMessageInput {
|
|
274
|
+
/** Conversation ID */
|
|
275
|
+
conversationId: string;
|
|
276
|
+
/** Message content */
|
|
277
|
+
content: string;
|
|
278
|
+
/** Sender information */
|
|
279
|
+
from: ChatSender;
|
|
280
|
+
/** Optional content type (defaults to 'text') */
|
|
281
|
+
contentType?: ChatContentType;
|
|
282
|
+
/** Optional status (defaults to 'sent') */
|
|
283
|
+
status?: ChatMessageStatus;
|
|
284
|
+
/** Optional metadata */
|
|
285
|
+
metadata?: ChatMessageMetadata;
|
|
286
|
+
/** Optional timestamp (defaults to now) */
|
|
287
|
+
timestamp?: string;
|
|
288
|
+
/** Optional parent message ID for threading */
|
|
289
|
+
parentId?: string;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Urgency levels for notifications
|
|
293
|
+
*/
|
|
294
|
+
export declare const NOTIFY_URGENCY_LEVELS: readonly ["low", "normal", "high", "critical"];
|
|
295
|
+
/**
|
|
296
|
+
* Urgency level type
|
|
297
|
+
*/
|
|
298
|
+
export type NotifyUrgency = (typeof NOTIFY_URGENCY_LEVELS)[number];
|
|
299
|
+
/**
|
|
300
|
+
* Unified notification payload from [NOTIFY]...[/NOTIFY] markers.
|
|
301
|
+
*
|
|
302
|
+
* The orchestrator outputs header+body content inside [NOTIFY] markers to route
|
|
303
|
+
* messages to chat, Slack, or both depending on which header fields are present:
|
|
304
|
+
* - `conversationId` present → route to chat UI
|
|
305
|
+
* - `channelId` present → route to Slack
|
|
306
|
+
* - Both → both (common case)
|
|
307
|
+
* - Neither + activeConversationId exists → fallback to chat
|
|
308
|
+
*
|
|
309
|
+
* Format:
|
|
310
|
+
* ```
|
|
311
|
+
* [NOTIFY]
|
|
312
|
+
* conversationId: conv-abc123
|
|
313
|
+
* channelId: D0AC7NF5N7L
|
|
314
|
+
* type: task_completed
|
|
315
|
+
* ---
|
|
316
|
+
* ## Message body here
|
|
317
|
+
* [/NOTIFY]
|
|
318
|
+
* ```
|
|
319
|
+
*/
|
|
320
|
+
export interface NotifyPayload {
|
|
321
|
+
/** Required — markdown content for the notification */
|
|
322
|
+
message: string;
|
|
323
|
+
/** Route to chat UI conversation (copied from incoming [CHAT:convId]) */
|
|
324
|
+
conversationId?: string;
|
|
325
|
+
/** Route to Slack channel */
|
|
326
|
+
channelId?: string;
|
|
327
|
+
/** Slack thread timestamp for threaded replies */
|
|
328
|
+
threadTs?: string;
|
|
329
|
+
/** Notification type (e.g. task_completed, agent_error, project_update) */
|
|
330
|
+
type?: string;
|
|
331
|
+
/** Header text for Slack notifications */
|
|
332
|
+
title?: string;
|
|
333
|
+
/** Urgency level for notification routing */
|
|
334
|
+
urgency?: NotifyUrgency;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Check if a value is a valid NotifyPayload
|
|
338
|
+
*
|
|
339
|
+
* Validates that the payload has a required `message` string field
|
|
340
|
+
* and that optional fields have correct types when present.
|
|
341
|
+
*
|
|
342
|
+
* @param value - Value to check
|
|
343
|
+
* @returns True if value is a valid NotifyPayload
|
|
344
|
+
*/
|
|
345
|
+
export declare function isValidNotifyPayload(value: unknown): value is NotifyPayload;
|
|
346
|
+
/**
|
|
347
|
+
* Parse raw content from a [NOTIFY]...[/NOTIFY] block into a NotifyPayload.
|
|
348
|
+
*
|
|
349
|
+
* Supports three formats:
|
|
350
|
+
* 1. **Header+body with `---`** (preferred): key-value headers before a `---` separator,
|
|
351
|
+
* with the message body after it. Headers are short (~25 chars), so they are
|
|
352
|
+
* never corrupted by PTY line-wrapping.
|
|
353
|
+
* 2. **Header+body with blank line** (fallback): same as above but with a blank
|
|
354
|
+
* line instead of `---`. Activated only when the first line is a known header.
|
|
355
|
+
* 3. **Legacy JSON** (fallback): if the content starts with `{`, it is parsed as
|
|
356
|
+
* JSON with PTY artifact cleanup for backward compatibility.
|
|
357
|
+
*
|
|
358
|
+
* @param raw - Raw content between [NOTIFY] and [/NOTIFY] markers
|
|
359
|
+
* @returns Parsed NotifyPayload or null if content is invalid
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* ```typescript
|
|
363
|
+
* // Header+body format
|
|
364
|
+
* const payload = parseNotifyContent(
|
|
365
|
+
* 'conversationId: conv-abc\ntype: task_completed\n---\n## Done\nTask finished.'
|
|
366
|
+
* );
|
|
367
|
+
* // => { message: '## Done\nTask finished.', conversationId: 'conv-abc', type: 'task_completed' }
|
|
368
|
+
*
|
|
369
|
+
* // Legacy JSON format (auto-detected)
|
|
370
|
+
* const legacy = parseNotifyContent('{"message":"Hello","conversationId":"conv-1"}');
|
|
371
|
+
* // => { message: 'Hello', conversationId: 'conv-1' }
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
export declare function parseNotifyContent(raw: string): NotifyPayload | null;
|
|
375
|
+
/**
|
|
376
|
+
* Storage format for chat data
|
|
377
|
+
*/
|
|
378
|
+
export interface ChatStorageFormat {
|
|
379
|
+
/** The conversation */
|
|
380
|
+
conversation: ChatConversation;
|
|
381
|
+
/** Messages in the conversation */
|
|
382
|
+
messages: ChatMessage[];
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Check if a value is a valid sender type
|
|
386
|
+
*
|
|
387
|
+
* @param value - Value to check
|
|
388
|
+
* @returns True if value is a valid ChatSenderType
|
|
389
|
+
*/
|
|
390
|
+
export declare function isValidSenderType(value: string): value is ChatSenderType;
|
|
391
|
+
/**
|
|
392
|
+
* Check if a value is a valid content type
|
|
393
|
+
*
|
|
394
|
+
* @param value - Value to check
|
|
395
|
+
* @returns True if value is a valid ChatContentType
|
|
396
|
+
*/
|
|
397
|
+
export declare function isValidContentType(value: string): value is ChatContentType;
|
|
398
|
+
/**
|
|
399
|
+
* Check if a value is a valid message status
|
|
400
|
+
*
|
|
401
|
+
* @param value - Value to check
|
|
402
|
+
* @returns True if value is a valid ChatMessageStatus
|
|
403
|
+
*/
|
|
404
|
+
export declare function isValidMessageStatus(value: string): value is ChatMessageStatus;
|
|
405
|
+
/**
|
|
406
|
+
* Check if an object is a valid ChatSender
|
|
407
|
+
*
|
|
408
|
+
* @param value - Value to check
|
|
409
|
+
* @returns True if value is a valid ChatSender object
|
|
410
|
+
*/
|
|
411
|
+
export declare function isValidChatSender(value: unknown): value is ChatSender;
|
|
412
|
+
/**
|
|
413
|
+
* Check if an object is a valid ChatMessage
|
|
414
|
+
*
|
|
415
|
+
* @param value - Value to check
|
|
416
|
+
* @returns True if value is a valid ChatMessage object
|
|
417
|
+
*/
|
|
418
|
+
export declare function isValidChatMessage(value: unknown): value is ChatMessage;
|
|
419
|
+
/**
|
|
420
|
+
* Check if an object is a valid ChatConversation
|
|
421
|
+
*
|
|
422
|
+
* @param value - Value to check
|
|
423
|
+
* @returns True if value is a valid ChatConversation object
|
|
424
|
+
*/
|
|
425
|
+
export declare function isValidChatConversation(value: unknown): value is ChatConversation;
|
|
426
|
+
/**
|
|
427
|
+
* Generate a unique ID for chat entities
|
|
428
|
+
*
|
|
429
|
+
* @returns A unique identifier string
|
|
430
|
+
*/
|
|
431
|
+
export declare function generateChatId(): string;
|
|
432
|
+
/**
|
|
433
|
+
* Create a chat message with defaults
|
|
434
|
+
*
|
|
435
|
+
* @param input - Partial message input with required fields
|
|
436
|
+
* @returns A complete ChatMessage object
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
* ```typescript
|
|
440
|
+
* const message = createChatMessage({
|
|
441
|
+
* conversationId: 'conv-1',
|
|
442
|
+
* content: 'Hello!',
|
|
443
|
+
* from: { type: 'user' },
|
|
444
|
+
* });
|
|
445
|
+
* ```
|
|
446
|
+
*/
|
|
447
|
+
export declare function createChatMessage(input: CreateChatMessageInput): ChatMessage;
|
|
448
|
+
/**
|
|
449
|
+
* Create a conversation with defaults
|
|
450
|
+
*
|
|
451
|
+
* @param title - Optional title for the conversation
|
|
452
|
+
* @returns A new ChatConversation object
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* ```typescript
|
|
456
|
+
* const conversation = createConversation('Project Discussion');
|
|
457
|
+
* ```
|
|
458
|
+
*/
|
|
459
|
+
export declare function createConversation(title?: string, idOverride?: string): ChatConversation;
|
|
460
|
+
/**
|
|
461
|
+
* Format message content by cleaning terminal output
|
|
462
|
+
*
|
|
463
|
+
* Removes ANSI escape codes, control characters, carriage returns (which cause
|
|
464
|
+
* text to overwrite itself in terminals), and trims whitespace.
|
|
465
|
+
*
|
|
466
|
+
* @param content - Raw content to format
|
|
467
|
+
* @returns Cleaned content string
|
|
468
|
+
*
|
|
469
|
+
* @example
|
|
470
|
+
* ```typescript
|
|
471
|
+
* const clean = formatMessageContent('\x1b[32mGreen text\x1b[0m');
|
|
472
|
+
* // Returns: 'Green text'
|
|
473
|
+
* ```
|
|
474
|
+
*/
|
|
475
|
+
export declare function formatMessageContent(content: string): string;
|
|
476
|
+
/**
|
|
477
|
+
* Default response extraction patterns
|
|
478
|
+
*/
|
|
479
|
+
export declare const DEFAULT_RESPONSE_PATTERNS: ResponsePattern[];
|
|
480
|
+
/**
|
|
481
|
+
* Extract response from raw output using patterns
|
|
482
|
+
*
|
|
483
|
+
* Tries multiple patterns to extract the clean response from
|
|
484
|
+
* raw terminal output. Returns the original output if no pattern matches.
|
|
485
|
+
*
|
|
486
|
+
* @param rawOutput - Raw terminal output
|
|
487
|
+
* @param customPatterns - Optional custom patterns to use instead of defaults
|
|
488
|
+
* @returns Extracted response content
|
|
489
|
+
*
|
|
490
|
+
* @example
|
|
491
|
+
* ```typescript
|
|
492
|
+
* const response = extractResponseFromOutput(
|
|
493
|
+
* 'some text [RESPONSE]Hello World[/RESPONSE] more text'
|
|
494
|
+
* );
|
|
495
|
+
* // Returns: 'Hello World'
|
|
496
|
+
* ```
|
|
497
|
+
*/
|
|
498
|
+
export declare function extractResponseFromOutput(rawOutput: string, customPatterns?: ResponsePattern[]): string;
|
|
499
|
+
/**
|
|
500
|
+
* Detect the content type of a message based on its content
|
|
501
|
+
*
|
|
502
|
+
* @param content - Message content to analyze
|
|
503
|
+
* @returns Detected content type
|
|
504
|
+
*
|
|
505
|
+
* @example
|
|
506
|
+
* ```typescript
|
|
507
|
+
* const type = detectContentType('## Heading\n- Item');
|
|
508
|
+
* // Returns: 'markdown'
|
|
509
|
+
* ```
|
|
510
|
+
*/
|
|
511
|
+
export declare function detectContentType(content: string): ChatContentType;
|
|
512
|
+
/**
|
|
513
|
+
* Create a last message preview from a chat message
|
|
514
|
+
*
|
|
515
|
+
* @param message - The chat message to create preview from
|
|
516
|
+
* @param maxLength - Maximum content length (default: CHAT_CONSTANTS.DEFAULTS.PREVIEW_LENGTH)
|
|
517
|
+
* @returns A LastMessagePreview object
|
|
518
|
+
*/
|
|
519
|
+
export declare function createLastMessagePreview(message: ChatMessage, maxLength?: number): LastMessagePreview;
|
|
520
|
+
/**
|
|
521
|
+
* Validate SendMessageInput
|
|
522
|
+
*
|
|
523
|
+
* @param input - Input to validate
|
|
524
|
+
* @returns Object with valid flag and optional error message
|
|
525
|
+
*/
|
|
526
|
+
export declare function validateSendMessageInput(input: unknown): {
|
|
527
|
+
valid: boolean;
|
|
528
|
+
error?: string;
|
|
529
|
+
};
|
|
530
|
+
/**
|
|
531
|
+
* Validate ChatMessageFilter
|
|
532
|
+
*
|
|
533
|
+
* @param filter - Filter to validate
|
|
534
|
+
* @returns Object with valid flag and optional error message
|
|
535
|
+
*/
|
|
536
|
+
export declare function validateChatMessageFilter(filter: unknown): {
|
|
537
|
+
valid: boolean;
|
|
538
|
+
error?: string;
|
|
539
|
+
};
|
|
540
|
+
/**
|
|
541
|
+
* Validate ConversationFilter
|
|
542
|
+
*
|
|
543
|
+
* @param filter - Filter to validate
|
|
544
|
+
* @returns Object with valid flag and optional error message
|
|
545
|
+
*/
|
|
546
|
+
export declare function validateConversationFilter(filter: unknown): {
|
|
547
|
+
valid: boolean;
|
|
548
|
+
error?: string;
|
|
549
|
+
};
|
|
550
|
+
//# sourceMappingURL=chat.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/chat.types.ts"],"names":[],"mappings":"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"}
|