crewly 1.20.186 → 1.20.188
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/skills/agent/core/project-tickets/SKILL.md +3 -2
- package/config/skills/agent/core/project-tickets/execute.sh +4 -4
- package/config/skills/agent/core/project-tickets/execute.test.sh +2 -2
- package/config/skills/agent/core/remember/SKILL.md +1 -0
- package/config/skills/agent/core/remember/execute.sh +12 -0
- package/config/skills/agent/core/report-status/SKILL.md +7 -1
- package/config/skills/agent/core/report-status/execute.sh +41 -0
- package/config/skills/agent/core/slack-post/SKILL.md +1 -0
- package/config/skills/agent/core/slack-post/execute.sh +9 -2
- package/config/skills/team-leader/_common/lib.sh +45 -0
- package/config/skills/team-leader/start-agent/SKILL.md +6 -6
- package/config/skills/team-leader/start-agent/execute.sh +3 -12
- package/config/skills/team-leader/stop-agent/SKILL.md +6 -6
- package/config/skills/team-leader/stop-agent/execute.sh +3 -12
- package/dist/backend/backend/src/constants.d.ts +114 -2
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +114 -2
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +62 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +5 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +1 -1
- package/dist/backend/backend/src/controllers/request/open-items.controller.js +1 -1
- package/dist/backend/backend/src/controllers/request/open-items.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +4 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts +18 -1
- package/dist/backend/backend/src/controllers/standing/standing.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/standing/standing.controller.js +77 -4
- package/dist/backend/backend/src/controllers/standing/standing.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.d.ts +12 -0
- package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.js +28 -3
- package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/usage.controller.d.ts +46 -0
- package/dist/backend/backend/src/controllers/system/usage.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/system/usage.controller.js +181 -0
- package/dist/backend/backend/src/controllers/system/usage.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +7 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +64 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +7 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +115 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/system.routes.js +3 -0
- package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
- package/dist/backend/backend/src/scripts/open-items-stale-followups.d.ts +51 -0
- package/dist/backend/backend/src/scripts/open-items-stale-followups.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/open-items-stale-followups.js +142 -0
- package/dist/backend/backend/src/scripts/open-items-stale-followups.js.map +1 -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 +32 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts +28 -0
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js +83 -2
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +14 -2
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +12 -1
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.d.ts +18 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.js +38 -1
- package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts +11 -0
- package/dist/backend/backend/src/services/memory/standing-answers.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/standing-answers.service.js +40 -2
- package/dist/backend/backend/src/services/memory/standing-answers.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/offline-agent-message.d.ts +70 -0
- package/dist/backend/backend/src/services/messaging/offline-agent-message.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/offline-agent-message.js +92 -0
- package/dist/backend/backend/src/services/messaging/offline-agent-message.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts +7 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +16 -2
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +2 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
- 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 +9 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +41 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +87 -2
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +30 -12
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +87 -15
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.d.ts +130 -0
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.js +274 -0
- package/dist/backend/backend/src/services/monitoring/antigravity-usage-sync.service.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.d.ts +152 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.js +311 -0
- package/dist/backend/backend/src/services/monitoring/codex-rollout-sync.service.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +78 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js +96 -4
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +10 -1
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-extractor.js +86 -5
- package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts +2 -1
- package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items-backfill.js +17 -6
- package/dist/backend/backend/src/services/open-items/open-items-backfill.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +62 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.js +203 -9
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +4 -4
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts +4 -3
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +7 -4
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +40 -9
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +68 -20
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.d.ts +40 -0
- package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.js +82 -0
- package/dist/backend/backend/src/services/reconciler/idle-holder-surfacer.js.map +1 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +29 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +49 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +6 -11
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +23 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +55 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +10 -4
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +13 -2
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +19 -5
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap-command.d.ts +129 -0
- package/dist/backend/backend/src/services/spend/spend-cap-command.d.ts.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap-command.js +323 -0
- package/dist/backend/backend/src/services/spend/spend-cap-command.js.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.gate.d.ts +60 -0
- package/dist/backend/backend/src/services/spend/spend-cap.gate.d.ts.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.gate.js +66 -0
- package/dist/backend/backend/src/services/spend/spend-cap.gate.js.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts +340 -0
- package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.service.js +760 -0
- package/dist/backend/backend/src/services/spend/spend-cap.service.js.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.store.d.ts +126 -0
- package/dist/backend/backend/src/services/spend/spend-cap.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.store.js +141 -0
- package/dist/backend/backend/src/services/spend/spend-cap.store.js.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.d.ts +52 -0
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.js +112 -0
- package/dist/backend/backend/src/services/spend/spend-cap.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-ledger.service.d.ts +145 -0
- package/dist/backend/backend/src/services/spend/spend-ledger.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/spend/spend-ledger.service.js +214 -0
- package/dist/backend/backend/src/services/spend/spend-ledger.service.js.map +1 -0
- package/dist/backend/backend/src/services/task-pool/claim-target-waker.d.ts +51 -0
- package/dist/backend/backend/src/services/task-pool/claim-target-waker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/task-pool/claim-target-waker.js +43 -0
- package/dist/backend/backend/src/services/task-pool/claim-target-waker.js.map +1 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +38 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +73 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/work-item-usage.d.ts +53 -0
- package/dist/backend/backend/src/services/task-pool/work-item-usage.d.ts.map +1 -0
- package/dist/backend/backend/src/services/task-pool/work-item-usage.js +39 -0
- package/dist/backend/backend/src/services/task-pool/work-item-usage.js.map +1 -0
- package/dist/backend/backend/src/services/usage/token-format.d.ts +49 -0
- package/dist/backend/backend/src/services/usage/token-format.d.ts.map +1 -0
- package/dist/backend/backend/src/services/usage/token-format.js +81 -0
- package/dist/backend/backend/src/services/usage/token-format.js.map +1 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +132 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.js +226 -0
- package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -0
- package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/v3-data.service.js +11 -14
- package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +25 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +50 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +9 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +16 -2
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +3 -1
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +9 -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.map +1 -1
- package/dist/backend/backend/src/types/review-reason.types.d.ts +3 -1
- package/dist/backend/backend/src/types/review-reason.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/review-reason.types.js +1 -0
- package/dist/backend/backend/src/types/review-reason.types.js.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +24 -7
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.js +29 -13
- package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts +5 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.js +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +114 -2
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +114 -2
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +32 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts +28 -0
- package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js +83 -2
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +14 -2
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +12 -1
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +18 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.js +38 -1
- package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts +11 -0
- package/dist/cli/backend/src/services/memory/standing-answers.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/standing-answers.service.js +40 -2
- package/dist/cli/backend/src/services/memory/standing-answers.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts +7 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +16 -2
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js +9 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +41 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +87 -2
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +30 -12
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +87 -15
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts +97 -0
- package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/model-pricing.js +120 -0
- package/dist/cli/backend/src/services/monitoring/model-pricing.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +78 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js +96 -4
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +10 -1
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js +86 -5
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +13 -2
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +19 -5
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/cli/backend/src/services/spend/spend-cap.gate.d.ts +60 -0
- package/dist/cli/backend/src/services/spend/spend-cap.gate.d.ts.map +1 -0
- package/dist/cli/backend/src/services/spend/spend-cap.gate.js +66 -0
- package/dist/cli/backend/src/services/spend/spend-cap.gate.js.map +1 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +38 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +73 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/work-item-usage.d.ts +53 -0
- package/dist/cli/backend/src/services/task-pool/work-item-usage.d.ts.map +1 -0
- package/dist/cli/backend/src/services/task-pool/work-item-usage.js +39 -0
- package/dist/cli/backend/src/services/task-pool/work-item-usage.js.map +1 -0
- package/dist/cli/backend/src/services/usage/token-format.d.ts +49 -0
- package/dist/cli/backend/src/services/usage/token-format.d.ts.map +1 -0
- package/dist/cli/backend/src/services/usage/token-format.js +81 -0
- package/dist/cli/backend/src/services/usage/token-format.js.map +1 -0
- package/dist/cli/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/v3-data.service.js +11 -14
- package/dist/cli/backend/src/services/v3/v3-data.service.js.map +1 -1
- package/dist/cli/backend/src/types/decision.types.d.ts +3 -1
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.d.ts +9 -1
- package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +24 -7
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.js +29 -13
- package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts +5 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.js +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.js.map +1 -1
- package/frontend/dist/assets/{index-a79c7852.css → index-20a67829.css} +1 -1
- package/frontend/dist/assets/{index-1ee8a9a2.js → index-49f50b45.js} +282 -282
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daily token caps with a hard stop: per agent, per team and all agents
|
|
3
|
+
* together, plus temporary boosts.
|
|
4
|
+
*
|
|
5
|
+
* - The unit is tokens (input incl. cached + output, see `eventTokens`).
|
|
6
|
+
* - Caps are the owner's own limits (unlike the runtime fallback, which
|
|
7
|
+
* reacts to a provider's usage limit). All are OFF until the owner sets
|
|
8
|
+
* one: a default per-agent cap, per-agent overrides, per-team caps, and an
|
|
9
|
+
* optional all-agents total.
|
|
10
|
+
* - At {@link SPEND_CAP_CONSTANTS.WARN_FRACTION} of a cap the owner gets ONE
|
|
11
|
+
* heads-up.
|
|
12
|
+
* - At 100% the agent is hard-stopped: {@link stopOf} answers the delivery
|
|
13
|
+
* and wake gates, so no new turn starts (the current one may finish) and
|
|
14
|
+
* messages stay queued. The owner gets ONE decision card: "Boost +X
|
|
15
|
+
* today" / "Unlimited today" / "Keep stopped".
|
|
16
|
+
* - A boost covers an agent, a team (its members) or everyone. For every
|
|
17
|
+
* agent it covers, it adds `extraTokens` to EVERY cap checked for that
|
|
18
|
+
* agent (its own, its team's, the total), or lifts them all
|
|
19
|
+
* (`unlimited`). It ends at `until` — by default the next local midnight.
|
|
20
|
+
* - Local midnight resets the day; when a stop lifts (midnight, boost, cap
|
|
21
|
+
* change) the queued messages are released.
|
|
22
|
+
*
|
|
23
|
+
* specs/2026-10-02-spend-cap.md
|
|
24
|
+
*
|
|
25
|
+
* @module services/spend/spend-cap.service
|
|
26
|
+
*/
|
|
27
|
+
import type { OwnerDecision } from '../../types/decision.types.js';
|
|
28
|
+
import type { SystemAskInput } from '../decisions/decision.service.js';
|
|
29
|
+
import { type SpendCapGate, type SpendStop } from './spend-cap.gate.js';
|
|
30
|
+
import type { SpendLedger, SpendSummary } from './spend-ledger.service.js';
|
|
31
|
+
import { type SpendCapConfig, type SpendCapStoreLike, type UsageBoost } from './spend-cap.store.js';
|
|
32
|
+
/** Minimal logger. */
|
|
33
|
+
export interface SpendCapLogger {
|
|
34
|
+
info(message: string, meta?: Record<string, unknown>): void;
|
|
35
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
36
|
+
}
|
|
37
|
+
/** The decision-card calls the service makes. */
|
|
38
|
+
export interface SpendCapDecisions {
|
|
39
|
+
askSystem(input: SystemAskInput): Promise<OwnerDecision>;
|
|
40
|
+
replyInThread(id: string, text: string): Promise<boolean>;
|
|
41
|
+
}
|
|
42
|
+
/** A team, as caps need it. */
|
|
43
|
+
export interface CapTeam {
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
/** Member sessions */
|
|
47
|
+
members: string[];
|
|
48
|
+
}
|
|
49
|
+
/** Collaborators. */
|
|
50
|
+
export interface SpendCapServiceDeps {
|
|
51
|
+
store: SpendCapStoreLike;
|
|
52
|
+
ledger: Pick<SpendLedger, 'usedToday' | 'groupToday' | 'totalToday' | 'summarize' | 'invalidate'>;
|
|
53
|
+
/** One line to the owner (Slack DM from this machine's orc bot); false/throw = not sent */
|
|
54
|
+
notifyOwner: (text: string) => Promise<unknown>;
|
|
55
|
+
/** Decision cards (null before they are wired: the stop is then a plain notice) */
|
|
56
|
+
decisions?: () => SpendCapDecisions | null;
|
|
57
|
+
/** Owner-facing name of a session ("Orc", "Ella") */
|
|
58
|
+
displayNameOf?: (session: string) => string;
|
|
59
|
+
/** Sessions the owner configured (orc + team members), for the caps view */
|
|
60
|
+
knownSessions?: () => Promise<string[]>;
|
|
61
|
+
/** Teams and their member sessions */
|
|
62
|
+
teams?: () => Promise<CapTeam[]>;
|
|
63
|
+
/** Stops lifted: deliver what was queued for these sessions */
|
|
64
|
+
onReleased?: (sessions: string[]) => Promise<void>;
|
|
65
|
+
now?: () => Date;
|
|
66
|
+
logger?: SpendCapLogger;
|
|
67
|
+
}
|
|
68
|
+
/** Body of `PUT /api/system/usage/caps`. Amounts are tokens (a number, or text like "20M"). */
|
|
69
|
+
export interface SpendCapPatch {
|
|
70
|
+
/** Default per-agent cap; null turns it off */
|
|
71
|
+
defaultAgentCapTokens?: unknown;
|
|
72
|
+
/** All-agents total cap; null turns it off */
|
|
73
|
+
totalCapTokens?: unknown;
|
|
74
|
+
/** Session → cap, `null` = no cap for this agent, `"default"` = drop the override */
|
|
75
|
+
agents?: Record<string, unknown>;
|
|
76
|
+
/** Team id → cap, `null` = drop the team's cap */
|
|
77
|
+
teams?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
/** Body of `POST /api/system/usage/boost`. */
|
|
80
|
+
export interface BoostInput {
|
|
81
|
+
scope: 'team' | 'agent' | 'all';
|
|
82
|
+
/** Team id / name, or agent session / name (not for `all`) */
|
|
83
|
+
id?: string;
|
|
84
|
+
/** Extra tokens today (number or "20M") */
|
|
85
|
+
extraTokens?: unknown;
|
|
86
|
+
/** No cap at all */
|
|
87
|
+
unlimited?: boolean;
|
|
88
|
+
/** ISO end time; default the next local midnight */
|
|
89
|
+
until?: string;
|
|
90
|
+
by?: string;
|
|
91
|
+
}
|
|
92
|
+
/** A rejected change. */
|
|
93
|
+
export declare class SpendCapError extends Error {
|
|
94
|
+
readonly status: number;
|
|
95
|
+
/**
|
|
96
|
+
* @param status - HTTP status
|
|
97
|
+
* @param message - Owner-facing reason
|
|
98
|
+
*/
|
|
99
|
+
constructor(status: number, message: string);
|
|
100
|
+
}
|
|
101
|
+
/** Where an agent's own cap comes from. */
|
|
102
|
+
export type CapSource = 'override' | 'default' | 'none' | 'exempt';
|
|
103
|
+
/** One agent in the caps view. */
|
|
104
|
+
export interface SpendCapAgentView {
|
|
105
|
+
session: string;
|
|
106
|
+
name: string;
|
|
107
|
+
teamId?: string;
|
|
108
|
+
runtimes: string[];
|
|
109
|
+
todayTokens: number;
|
|
110
|
+
windowTokens: number;
|
|
111
|
+
daily: number[];
|
|
112
|
+
/** Own cap in force today (boosts included), null = none */
|
|
113
|
+
capTokens: number | null;
|
|
114
|
+
/** Own cap before boosts */
|
|
115
|
+
baseCapTokens: number | null;
|
|
116
|
+
capSource: CapSource;
|
|
117
|
+
/** Boosts covering it */
|
|
118
|
+
boosted: boolean;
|
|
119
|
+
unlimited: boolean;
|
|
120
|
+
stopped: boolean;
|
|
121
|
+
stopReason?: string;
|
|
122
|
+
}
|
|
123
|
+
/** One team in the caps view. */
|
|
124
|
+
export interface SpendCapTeamView {
|
|
125
|
+
teamId: string;
|
|
126
|
+
name: string;
|
|
127
|
+
members: string[];
|
|
128
|
+
todayTokens: number;
|
|
129
|
+
baseCapTokens: number | null;
|
|
130
|
+
/** Cap in force today (team / everyone boosts included), null = none */
|
|
131
|
+
capTokens: number | null;
|
|
132
|
+
extraTokens: number;
|
|
133
|
+
unlimited: boolean;
|
|
134
|
+
/** Boosts on this team (not counting everyone-boosts) */
|
|
135
|
+
boosts: UsageBoost[];
|
|
136
|
+
stopped: boolean;
|
|
137
|
+
}
|
|
138
|
+
/** What `GET /api/system/usage/caps` returns. */
|
|
139
|
+
export interface SpendView extends Omit<SpendSummary, 'agents'> {
|
|
140
|
+
agents: SpendCapAgentView[];
|
|
141
|
+
teams: SpendCapTeamView[];
|
|
142
|
+
caps: SpendCapConfig;
|
|
143
|
+
/** Boosts in force */
|
|
144
|
+
boosts: UsageBoost[];
|
|
145
|
+
/** Total cap in force today (everyone boosts included), null = off */
|
|
146
|
+
totalCapTodayTokens: number | null;
|
|
147
|
+
/** Suggested default per-agent cap: the window's p90 agent-day, rounded up to a whole million (null = no data) */
|
|
148
|
+
suggestedAgentCapTokens: number | null;
|
|
149
|
+
/** All agents together stopped by the total cap */
|
|
150
|
+
totalStopped: boolean;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Round up to a whole million (at least 1M).
|
|
154
|
+
*
|
|
155
|
+
* @param tokens - Tokens
|
|
156
|
+
* @returns Rounded tokens
|
|
157
|
+
*/
|
|
158
|
+
export declare function roundUpMillions(tokens: number): number;
|
|
159
|
+
/**
|
|
160
|
+
* The "Boost +X today" amount on a cap card: the cap times BOOST_FACTOR,
|
|
161
|
+
* rounded up to a whole million.
|
|
162
|
+
*
|
|
163
|
+
* @param capTokens - Cap in force
|
|
164
|
+
* @returns Tokens
|
|
165
|
+
*/
|
|
166
|
+
export declare function suggestedBoost(capTokens: number): number;
|
|
167
|
+
/**
|
|
168
|
+
* Read the amount out of a "Boost +X tokens today" option label.
|
|
169
|
+
*
|
|
170
|
+
* @param label - Option label
|
|
171
|
+
* @returns Tokens, `unlimited`, or null when the label is not a boost
|
|
172
|
+
*/
|
|
173
|
+
export declare function boostOfLabel(label: string | undefined): number | 'unlimited' | null;
|
|
174
|
+
/** Team target key. */
|
|
175
|
+
export declare function teamTarget(teamId: string): string;
|
|
176
|
+
/**
|
|
177
|
+
* Daily token cap service.
|
|
178
|
+
*/
|
|
179
|
+
export declare class SpendCapService implements SpendCapGate {
|
|
180
|
+
private readonly deps;
|
|
181
|
+
private file;
|
|
182
|
+
private readonly now;
|
|
183
|
+
private readonly logger;
|
|
184
|
+
private timer;
|
|
185
|
+
/** Sessions stopped at the last evaluation (to release them when the stop lifts) */
|
|
186
|
+
private lastStopped;
|
|
187
|
+
private chain;
|
|
188
|
+
private queuedPass;
|
|
189
|
+
/** Team index, refreshed on every evaluation (the gate is synchronous) */
|
|
190
|
+
private teamList;
|
|
191
|
+
private teamsOfSession;
|
|
192
|
+
/**
|
|
193
|
+
* @param deps - Collaborators
|
|
194
|
+
*/
|
|
195
|
+
constructor(deps: SpendCapServiceDeps);
|
|
196
|
+
/** Start the enforcement tick. */
|
|
197
|
+
start(): void;
|
|
198
|
+
/** Stop the tick. */
|
|
199
|
+
stop(): void;
|
|
200
|
+
/** Re-read the team list now (tests; the tick does it too). */
|
|
201
|
+
refreshTeams(): Promise<void>;
|
|
202
|
+
/** @returns The owner's caps (a copy) */
|
|
203
|
+
getConfig(): SpendCapConfig;
|
|
204
|
+
/**
|
|
205
|
+
* Change caps. Takes effect at once (a stop can lift or start).
|
|
206
|
+
*
|
|
207
|
+
* @param patch - Changes
|
|
208
|
+
* @returns The new caps
|
|
209
|
+
* @throws SpendCapError on a bad value
|
|
210
|
+
*/
|
|
211
|
+
setCaps(patch: SpendCapPatch): Promise<SpendCapConfig>;
|
|
212
|
+
/** @returns Boosts in force (expired ones are dropped) */
|
|
213
|
+
activeBoosts(): UsageBoost[];
|
|
214
|
+
/**
|
|
215
|
+
* Add a temporary boost.
|
|
216
|
+
*
|
|
217
|
+
* @param input - Scope, target, extra tokens or unlimited, optional end
|
|
218
|
+
* @returns The boost
|
|
219
|
+
* @throws SpendCapError on a bad request
|
|
220
|
+
*/
|
|
221
|
+
boost(input: BoostInput): Promise<UsageBoost>;
|
|
222
|
+
/**
|
|
223
|
+
* End a boost early.
|
|
224
|
+
*
|
|
225
|
+
* @param id - Boost id
|
|
226
|
+
* @returns True when it existed
|
|
227
|
+
*/
|
|
228
|
+
removeBoost(id: string): Promise<boolean>;
|
|
229
|
+
/**
|
|
230
|
+
* Owner-facing description of a boost target.
|
|
231
|
+
*
|
|
232
|
+
* @param target - Boost target
|
|
233
|
+
* @returns e.g. `everyone`, `team CE`, `Ella`
|
|
234
|
+
*/
|
|
235
|
+
describeTarget(target: string): string;
|
|
236
|
+
/**
|
|
237
|
+
* Extra tokens / unlimited a boost set gives for one target set.
|
|
238
|
+
*
|
|
239
|
+
* @param covers - Which boost targets apply
|
|
240
|
+
* @returns Sum of extras and whether any is unlimited
|
|
241
|
+
*/
|
|
242
|
+
private boostFor;
|
|
243
|
+
/** Boosts covering an agent: its own, its teams', everyone's. */
|
|
244
|
+
private boostForSession;
|
|
245
|
+
/**
|
|
246
|
+
* Boosts covering a team (team and everyone boosts) — what the ticket
|
|
247
|
+
* autopilot budget of the team's projects honours.
|
|
248
|
+
*
|
|
249
|
+
* @param teamId - Team id
|
|
250
|
+
* @returns Extra tokens and unlimited
|
|
251
|
+
*/
|
|
252
|
+
boostForTeam(teamId: string): {
|
|
253
|
+
extra: number;
|
|
254
|
+
unlimited: boolean;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* Boosts covering any of several teams, each boost counted once (a
|
|
258
|
+
* project worked on by two teams).
|
|
259
|
+
*
|
|
260
|
+
* @param teamIds - Team ids
|
|
261
|
+
* @returns Extra tokens and unlimited
|
|
262
|
+
*/
|
|
263
|
+
boostForTeams(teamIds: readonly string[]): {
|
|
264
|
+
extra: number;
|
|
265
|
+
unlimited: boolean;
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* The stop in force for a session (the delivery / wake gate). Synchronous
|
|
269
|
+
* and live: it reads today's usage now, not at the last tick.
|
|
270
|
+
*
|
|
271
|
+
* @param session - Agent session
|
|
272
|
+
* @returns Stop, or null when the agent may run
|
|
273
|
+
*/
|
|
274
|
+
stopOf(session: string): SpendStop | null;
|
|
275
|
+
/**
|
|
276
|
+
* Owner-facing name.
|
|
277
|
+
*
|
|
278
|
+
* @param session - Agent session
|
|
279
|
+
* @returns Name
|
|
280
|
+
*/
|
|
281
|
+
displayNameOf(session: string): string;
|
|
282
|
+
/**
|
|
283
|
+
* An agent's own cap before boosts, and where it comes from.
|
|
284
|
+
*
|
|
285
|
+
* @param session - Agent session
|
|
286
|
+
* @returns Cap (null = none) and source
|
|
287
|
+
*/
|
|
288
|
+
ownCapOf(session: string): {
|
|
289
|
+
capTokens: number | null;
|
|
290
|
+
source: CapSource;
|
|
291
|
+
};
|
|
292
|
+
/**
|
|
293
|
+
* Usage plus caps for the API / Settings panel.
|
|
294
|
+
*
|
|
295
|
+
* @param days - Window
|
|
296
|
+
* @returns View
|
|
297
|
+
*/
|
|
298
|
+
view(days?: number): Promise<SpendView>;
|
|
299
|
+
/**
|
|
300
|
+
* One enforcement pass: day roll, boost expiry, 80% notices, stop
|
|
301
|
+
* announcements (one card per stop), and releasing agents whose stop
|
|
302
|
+
* lifted. Passes run one at a time; a call during a pass gets another
|
|
303
|
+
* pass after it.
|
|
304
|
+
*/
|
|
305
|
+
evaluate(): Promise<void>;
|
|
306
|
+
/**
|
|
307
|
+
* React to a settled "cap reached" card (decision kind `spend_cap`).
|
|
308
|
+
*
|
|
309
|
+
* @param d - The settled decision
|
|
310
|
+
* @returns Always null (nobody else is told)
|
|
311
|
+
*/
|
|
312
|
+
onSettled(d: OwnerDecision): Promise<null>;
|
|
313
|
+
private evaluateOnce;
|
|
314
|
+
/**
|
|
315
|
+
* The cap in force for a cap target, with the boosts that cover the
|
|
316
|
+
* target itself (for notices and cards).
|
|
317
|
+
*/
|
|
318
|
+
private capForTarget;
|
|
319
|
+
private checkThresholds;
|
|
320
|
+
private announceStop;
|
|
321
|
+
private anyCap;
|
|
322
|
+
private computeStop;
|
|
323
|
+
private stopKey;
|
|
324
|
+
private scheduleEvaluate;
|
|
325
|
+
private activeBoostsRaw;
|
|
326
|
+
private pruneBoosts;
|
|
327
|
+
private resolveBoostTarget;
|
|
328
|
+
/** Reset today's bookkeeping when the local day changed. */
|
|
329
|
+
private rollDay;
|
|
330
|
+
private nextMidnight;
|
|
331
|
+
private nameOf;
|
|
332
|
+
private notify;
|
|
333
|
+
private reply;
|
|
334
|
+
private persist;
|
|
335
|
+
}
|
|
336
|
+
/** @returns The backend's service, or null before it is wired */
|
|
337
|
+
export declare function getSpendCapService(): SpendCapService | null;
|
|
338
|
+
/** @param service - Instance (null clears) */
|
|
339
|
+
export declare function setSpendCapService(service: SpendCapService | null): void;
|
|
340
|
+
//# sourceMappingURL=spend-cap.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spend-cap.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/spend/spend-cap.service.ts"],"names":[],"mappings":"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"}
|