crewly 1.20.362 → 1.20.363
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/hooks/destructive-git-guard/guard.mjs +96 -0
- package/config/skills/agent/core/ask-owner/SKILL.md +31 -0
- package/config/skills/agent/core/ask-owner/execute.sh +14 -3
- package/config/skills/agent/core/ask-owner/execute.test.sh +8 -0
- package/config/skills/agent/core/gmail-read/SKILL.md +8 -0
- package/config/skills/agent/core/gmail-send/SKILL.md +10 -3
- package/config/skills/agent/core/gmail-send/execute.sh +2 -1
- package/config/skills/agent/core/gmail-watch-thread/SKILL.md +69 -0
- package/config/skills/agent/core/gmail-watch-thread/execute.sh +51 -0
- package/config/skills/agent/core/project-tickets/SKILL.md +12 -0
- package/config/skills/agent/core/project-tickets/execute.sh +13 -3
- package/config/skills/agent/core/project-tickets/execute.test.sh +4 -0
- package/config/skills/agent/core/watch-for-event/SKILL.md +22 -0
- package/config/skills/orchestrator/harness-login/SKILL.md +1 -1
- package/dist/backend/backend/src/constants.d.ts +63 -2
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +64 -3
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.d.ts +44 -0
- package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.js +121 -3
- package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.routes.js +5 -1
- package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts +1 -1
- package/dist/backend/backend/src/controllers/harness/owner-login.controller.js +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 +2 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +61 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts +46 -13
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.js +100 -50
- package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-contract.d.ts +23 -1
- package/dist/backend/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-contract.js +76 -4
- package/dist/backend/backend/src/services/decisions/decision-contract.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-wording.d.ts +167 -0
- package/dist/backend/backend/src/services/decisions/decision-wording.d.ts.map +1 -0
- package/dist/backend/backend/src/services/decisions/decision-wording.js +406 -0
- package/dist/backend/backend/src/services/decisions/decision-wording.js.map +1 -0
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts +30 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.js +44 -8
- package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.js +17 -0
- package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
- 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 +1 -0
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/google/gmail-reply-watch.service.d.ts +142 -0
- package/dist/backend/backend/src/services/google/gmail-reply-watch.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/google/gmail-reply-watch.service.js +304 -0
- package/dist/backend/backend/src/services/google/gmail-reply-watch.service.js.map +1 -0
- package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts +130 -0
- package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/google/gmail-send-approval.service.js +216 -0
- package/dist/backend/backend/src/services/google/gmail-send-approval.service.js.map +1 -0
- package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts +28 -13
- package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts.map +1 -1
- package/dist/backend/backend/src/services/google/gmail-send-gate.js +82 -29
- package/dist/backend/backend/src/services/google/gmail-send-gate.js.map +1 -1
- package/dist/backend/backend/src/services/google/gmail.service.d.ts +90 -0
- package/dist/backend/backend/src/services/google/gmail.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/google/gmail.service.js +122 -0
- package/dist/backend/backend/src/services/google/gmail.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/claude-accounts.d.ts +24 -14
- package/dist/backend/backend/src/services/harness/claude-accounts.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/claude-accounts.js +35 -21
- package/dist/backend/backend/src/services/harness/claude-accounts.js.map +1 -1
- package/dist/backend/backend/src/services/harness/claude-native-login.d.ts +106 -0
- package/dist/backend/backend/src/services/harness/claude-native-login.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/claude-native-login.js +174 -0
- package/dist/backend/backend/src/services/harness/claude-native-login.js.map +1 -0
- package/dist/backend/backend/src/services/harness/claude-token-migration.service.d.ts +158 -0
- package/dist/backend/backend/src/services/harness/claude-token-migration.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/claude-token-migration.service.js +283 -0
- package/dist/backend/backend/src/services/harness/claude-token-migration.service.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +44 -24
- package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-credentials.store.js +96 -39
- package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-registry.js +1 -1
- package/dist/backend/backend/src/services/harness/harness-registry.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +2 -2
- package/dist/backend/backend/src/services/harness/harness-relogin.service.js +2 -2
- package/dist/backend/backend/src/services/harness/harness.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness.service.js +10 -1
- package/dist/backend/backend/src/services/harness/harness.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +24 -21
- package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/login-broker.service.js +50 -64
- package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/login-rules.d.ts +17 -11
- package/dist/backend/backend/src/services/harness/login-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/login-rules.js +22 -25
- package/dist/backend/backend/src/services/harness/login-rules.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +36 -0
- 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 +70 -0
- 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.service.d.ts +25 -0
- 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 +65 -5
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +5 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +30 -6
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-file.js +6 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-file.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.d.ts +64 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.js +93 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold.d.ts +176 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold.js +301 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-hold.js.map +1 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +33 -3
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +50 -4
- 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 +8 -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 +26 -0
- 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 +6 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +3 -2
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +4 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts +34 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/stall/stall-watcher.service.js +70 -2
- package/dist/backend/backend/src/services/stall/stall-watcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts +3 -0
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js +5 -2
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.d.ts +7 -2
- package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.d.ts.map +1 -1
- package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.js +11 -2
- package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +53 -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 +4 -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 +8 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/project-ticket.types.d.ts +7 -0
- package/dist/backend/backend/src/types/project-ticket.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/project-ticket.types.js +1 -0
- package/dist/backend/backend/src/types/project-ticket.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts +8 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +63 -2
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +64 -3
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts +46 -13
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.js +100 -50
- package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +23 -1
- package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-contract.js +76 -4
- package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-wording.d.ts +167 -0
- package/dist/cli/backend/src/services/decisions/decision-wording.d.ts.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-wording.js +406 -0
- package/dist/cli/backend/src/services/decisions/decision-wording.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts +30 -1
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.js +44 -8
- package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
- 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 +1 -0
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/claude-accounts.d.ts +24 -14
- package/dist/cli/backend/src/services/harness/claude-accounts.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/claude-accounts.js +35 -21
- package/dist/cli/backend/src/services/harness/claude-accounts.js.map +1 -1
- package/dist/cli/backend/src/services/harness/claude-native-login.d.ts +106 -0
- package/dist/cli/backend/src/services/harness/claude-native-login.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/claude-native-login.js +174 -0
- package/dist/cli/backend/src/services/harness/claude-native-login.js.map +1 -0
- package/dist/cli/backend/src/services/harness/claude-token-migration.service.d.ts +158 -0
- package/dist/cli/backend/src/services/harness/claude-token-migration.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/claude-token-migration.service.js +283 -0
- package/dist/cli/backend/src/services/harness/claude-token-migration.service.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +44 -24
- package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-credentials.store.js +96 -39
- package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-registry.js +1 -1
- package/dist/cli/backend/src/services/harness/harness-registry.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +2 -2
- package/dist/cli/backend/src/services/harness/harness-relogin.service.js +2 -2
- package/dist/cli/backend/src/services/harness/harness.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness.service.js +10 -1
- package/dist/cli/backend/src/services/harness/harness.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +24 -21
- package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/login-broker.service.js +50 -64
- package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/login-rules.d.ts +17 -11
- package/dist/cli/backend/src/services/harness/login-rules.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/login-rules.js +22 -25
- package/dist/cli/backend/src/services/harness/login-rules.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +36 -0
- 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 +70 -0
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +25 -0
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.js +65 -5
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/orc/owner-completion-report.text.d.ts +86 -0
- package/dist/cli/backend/src/services/orc/owner-completion-report.text.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orc/owner-completion-report.text.js +170 -0
- package/dist/cli/backend/src/services/orc/owner-completion-report.text.js.map +1 -0
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +5 -0
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +30 -6
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-file.js +6 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-file.js.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/ticket-hold.d.ts +176 -0
- package/dist/cli/backend/src/services/project-tickets/ticket-hold.d.ts.map +1 -0
- package/dist/cli/backend/src/services/project-tickets/ticket-hold.js +301 -0
- package/dist/cli/backend/src/services/project-tickets/ticket-hold.js.map +1 -0
- package/dist/cli/backend/src/types/decision.types.d.ts +53 -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 +4 -2
- package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.js +8 -0
- package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/cli/backend/src/types/project-ticket.types.d.ts +7 -0
- package/dist/cli/backend/src/types/project-ticket.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/project-ticket.types.js +1 -0
- package/dist/cli/backend/src/types/project-ticket.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts +8 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { WORKTREE_JANITOR_CONSTANTS } from '../../constants.js';
|
|
14
14
|
import { formatBytes } from './worktree-janitor.git.js';
|
|
15
|
+
import { heldWorktreeNoticeLine } from '../project-tickets/ticket-hold.js';
|
|
15
16
|
/**
|
|
16
17
|
* Whether a worktree may be reported now.
|
|
17
18
|
*
|
|
@@ -43,16 +44,24 @@ export function pruneUnmergedState(state, now) {
|
|
|
43
44
|
return out;
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
* The short plain-English message to a team lead.
|
|
47
|
+
* The short plain-English message to a team lead. When a ticket put this
|
|
48
|
+
* work on hold, the notice says so and asks only for the close — never
|
|
49
|
+
* "merge it" (crewly#1369: the plain notice became a new ticket and a
|
|
50
|
+
* "merge?" card although the owner had said "do not merge").
|
|
47
51
|
*
|
|
48
52
|
* @param f - Worktree facts
|
|
53
|
+
* @param hold - The held ticket naming this branch / worktree, if any
|
|
49
54
|
* @returns Message text
|
|
50
55
|
*/
|
|
51
|
-
export function buildUnmergedNotice(f) {
|
|
56
|
+
export function buildUnmergedNotice(f, hold) {
|
|
52
57
|
const branch = f.branch ? `branch ${f.branch}` : 'detached HEAD (no branch)';
|
|
53
58
|
const pushed = f.branch ? (f.pushed ? 'pushed' : 'NOT pushed') : 'NOT pushed (no branch)';
|
|
54
59
|
const size = f.sizeBytes !== null ? `, ${formatBytes(f.sizeBytes)} on disk` : '';
|
|
55
60
|
const n = f.commitsNotOnMain;
|
|
61
|
+
if (hold) {
|
|
62
|
+
return (`Worktree with unmerged work: ${f.path} (${branch}) has ${n} commit${n === 1 ? '' : 's'} not on ${f.defaultRef}, ${pushed}${size}. ` +
|
|
63
|
+
heldWorktreeNoticeLine(hold));
|
|
64
|
+
}
|
|
56
65
|
return (`Worktree with unmerged work: ${f.path} (${branch}) has ${n} commit${n === 1 ? '' : 's'} not on ${f.defaultRef}, ${pushed}${size}. ` +
|
|
57
66
|
'Please merge it to main (or tell me why to drop it), make sure main matches what is live, then remove the worktree.');
|
|
58
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-unmerged-notice.js","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/worktree-unmerged-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-unmerged-notice.js","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/worktree-unmerged-notice.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,12 @@ export type DecisionSensitiveKind = 'email' | 'publish' | 'deploy' | 'spend' | '
|
|
|
23
23
|
* into a card on its behalf (specs/2026-10-01-reply-open-items.md)
|
|
24
24
|
* - `spend_cap`: an agent / team / all agents hit a daily token cap — boost it
|
|
25
25
|
* for today (+X or unlimited) or keep it stopped (specs/2026-10-02-spend-cap.md)
|
|
26
|
+
* - `gmail_send`: a drafted email an agent wants sent (CREW-257,
|
|
27
|
+
* specs/2026-10-06-gmail-approve-send-and-reply-wake.md)
|
|
26
28
|
* - `owner_receipt_format`: one real sample of the nightly receipt — turn it on
|
|
27
29
|
* in this format, or keep the per-ask format (specs/owner-receipt.md, #856)
|
|
28
30
|
*/
|
|
29
|
-
export type DecisionKind = 'browser_action' | 'runtime_terms' | 'reply_question' | 'spend_cap' | 'owner_receipt_format' | 'retro_harness_gaps' | 'app_collaborator' | 'app_template' | 'model_tier_change';
|
|
31
|
+
export type DecisionKind = 'browser_action' | 'runtime_terms' | 'reply_question' | 'spend_cap' | 'owner_receipt_format' | 'retro_harness_gaps' | 'app_collaborator' | 'app_template' | 'model_tier_change' | 'gmail_send';
|
|
30
32
|
/** How a decision came to be: asked live, or carded by the open-items backfill. */
|
|
31
33
|
export type DecisionSource = 'live' | 'backfill';
|
|
32
34
|
/** The Request open item a `reply_question` decision tracks. */
|
|
@@ -142,6 +144,36 @@ export interface BrowserActionSubject {
|
|
|
142
144
|
/** Why it was held ("submitting") */
|
|
143
145
|
matched: string;
|
|
144
146
|
}
|
|
147
|
+
/** The held email a `gmail_send` decision is about. */
|
|
148
|
+
export interface GmailSendSubject {
|
|
149
|
+
/** Agent that drafted it */
|
|
150
|
+
agentSession: string;
|
|
151
|
+
/** Display name ("Lyra") */
|
|
152
|
+
agentName: string;
|
|
153
|
+
/** Hold id (`agent:draftId`) in the Gmail send gate */
|
|
154
|
+
holdId: string;
|
|
155
|
+
/** Gmail draft the owner is approving */
|
|
156
|
+
draftId: string;
|
|
157
|
+
to: string;
|
|
158
|
+
subject: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* What the owner needs to answer a card without opening the PR or the ticket
|
|
162
|
+
* (crewly#1369 §3). Every field is one short line in the owner's language.
|
|
163
|
+
* Required on a merge card: at least {@link DecisionContext.runtimeChanges}.
|
|
164
|
+
*/
|
|
165
|
+
export interface DecisionContext {
|
|
166
|
+
/** Who asked for the work, and when ("Ella, Oct 6") */
|
|
167
|
+
requestedBy?: string;
|
|
168
|
+
/** What the owner said last about it, when known (quoted) */
|
|
169
|
+
ownerLastSaid?: string;
|
|
170
|
+
/** What changes at runtime once this is done / merged (new background jobs, scopes, polling) */
|
|
171
|
+
runtimeChanges?: string;
|
|
172
|
+
/** The PR / doc link, shown in the card's short details line */
|
|
173
|
+
link?: string;
|
|
174
|
+
}
|
|
175
|
+
/** Languages the harness writes a card's own text in (buttons, context line, reminders). */
|
|
176
|
+
export type DecisionLanguage = 'en' | 'zh';
|
|
145
177
|
/** One answer the owner can pick. */
|
|
146
178
|
export interface DecisionOption {
|
|
147
179
|
/** Stable key (`a`, `b`, `c`) carried in the button value */
|
|
@@ -217,6 +249,8 @@ export interface OwnerDecision {
|
|
|
217
249
|
kind?: DecisionKind;
|
|
218
250
|
/** The held browser action (kind `browser_action`) */
|
|
219
251
|
browser?: BrowserActionSubject;
|
|
252
|
+
/** The held email (kind `gmail_send`) */
|
|
253
|
+
gmail?: GmailSendSubject;
|
|
220
254
|
/** What the owner would grant (kind `app_collaborator`) */
|
|
221
255
|
appCollaborator?: AppCollaboratorSubject;
|
|
222
256
|
/** The template the owner would list (kind `app_template`) */
|
|
@@ -261,6 +295,17 @@ export interface OwnerDecision {
|
|
|
261
295
|
title?: string;
|
|
262
296
|
/** Extra mrkdwn sections shown under the question (system decisions) */
|
|
263
297
|
body?: string[];
|
|
298
|
+
/** Context the asker gave (who asked, what the owner said, what changes) — crewly#1369 §3 */
|
|
299
|
+
context?: DecisionContext;
|
|
300
|
+
/**
|
|
301
|
+
* Internal references taken out of the question at creation (PR numbers,
|
|
302
|
+
* links): shown only in the card's short details line (crewly#1367).
|
|
303
|
+
*/
|
|
304
|
+
details?: string[];
|
|
305
|
+
/** The card asks the owner to merge a PR */
|
|
306
|
+
merge?: boolean;
|
|
307
|
+
/** The owner's language when the card was asked: the harness's own card text uses it (absent = English) */
|
|
308
|
+
ownerLanguage?: DecisionLanguage;
|
|
264
309
|
status: DecisionStatus;
|
|
265
310
|
card?: DecisionCardRef;
|
|
266
311
|
/** Why the card could not be posted (shown in the dashboard; retried on the next tick) */
|
|
@@ -318,6 +363,8 @@ export interface AskOwnerInput {
|
|
|
318
363
|
/** Ticket id (with `project`) */
|
|
319
364
|
ticket?: unknown;
|
|
320
365
|
project?: unknown;
|
|
366
|
+
/** `{requestedBy?, ownerLastSaid?, runtimeChanges?, link?}` ({@link DecisionContext}) */
|
|
367
|
+
context?: unknown;
|
|
321
368
|
}
|
|
322
369
|
/** A validated ask. */
|
|
323
370
|
export interface ValidatedAsk {
|
|
@@ -328,6 +375,11 @@ export interface ValidatedAsk {
|
|
|
328
375
|
sensitive?: DecisionSensitiveKind;
|
|
329
376
|
ticketId?: string;
|
|
330
377
|
project?: string;
|
|
378
|
+
context?: DecisionContext;
|
|
379
|
+
/** Internal references stripped from the question (PR numbers, links) */
|
|
380
|
+
details?: string[];
|
|
381
|
+
/** The ask is about merging a PR */
|
|
382
|
+
merge?: boolean;
|
|
331
383
|
}
|
|
332
384
|
/** Button `value` JSON (also read by Cloud: only `i`). */
|
|
333
385
|
export interface DecisionButtonValue {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/decision.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,GAAG,eAAe,GAAG,YAAY,CAAC;AAEjI
|
|
1
|
+
{"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/decision.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* Valid agent lifecycle event types
|
|
12
12
|
*/
|
|
13
|
-
export declare const EVENT_TYPES: readonly ["agent:status_changed", "agent:idle", "agent:idle_after_registration", "agent:idle_after_task", "agent:busy", "agent:active", "agent:inactive", "agent:context_warning", "agent:context_critical", "agent:oauth_url", "agent:login_required", "agent:waiting_on_human", "agent:waiting_resolved", "task:submitted", "task:accepted", "task:working", "task:input_required", "task:verification_requested", "task:completed", "task:failed", "task:cancelled", "task:assigned", "task:done", "task:verified", "task:blocked", "task:needs_clarification", "team:all_tasks_done", "task:done_by_worker", "task:rejected", "mission:review_due", "mission:stale", "mission:replanned", "request:created", "request:sla_breached", "workitem:queued", "hierarchy:escalation", "hierarchy:delegation", "hierarchy:report_up", "system:backend_restarted", "system:memory_pressure", "task:queued_too_long", "team:budget_exceeded"];
|
|
13
|
+
export declare const EVENT_TYPES: readonly ["agent:status_changed", "agent:idle", "agent:idle_after_registration", "agent:idle_after_task", "agent:busy", "agent:active", "agent:inactive", "agent:context_warning", "agent:context_critical", "agent:oauth_url", "agent:login_required", "agent:waiting_on_human", "agent:waiting_resolved", "task:submitted", "task:accepted", "task:working", "task:input_required", "task:verification_requested", "task:completed", "task:failed", "task:cancelled", "task:assigned", "task:done", "task:verified", "task:blocked", "task:needs_clarification", "team:all_tasks_done", "task:done_by_worker", "task:rejected", "mission:review_due", "mission:stale", "mission:replanned", "request:created", "request:sla_breached", "workitem:queued", "hierarchy:escalation", "hierarchy:delegation", "hierarchy:report_up", "system:backend_restarted", "system:memory_pressure", "task:queued_too_long", "team:budget_exceeded", "gmail:reply_received"];
|
|
14
14
|
/**
|
|
15
15
|
* An agent lifecycle event type
|
|
16
16
|
*/
|
|
@@ -49,7 +49,7 @@ export declare function getCriticalEventTypes(): EventType[];
|
|
|
49
49
|
/**
|
|
50
50
|
* Fields that can trigger events when changed
|
|
51
51
|
*/
|
|
52
|
-
export type ChangedField = 'agentStatus' | 'workingStatus' | 'contextUsage' | 'oauthUrl' | 'loginRequired' | 'taskStatus' | 'hierarchyAction';
|
|
52
|
+
export type ChangedField = 'gmailReply' | 'agentStatus' | 'workingStatus' | 'contextUsage' | 'oauthUrl' | 'loginRequired' | 'taskStatus' | 'hierarchyAction';
|
|
53
53
|
/**
|
|
54
54
|
* An agent lifecycle event published to the event bus
|
|
55
55
|
*/
|
|
@@ -115,6 +115,8 @@ export interface AgentEvent {
|
|
|
115
115
|
* without a lookup (#926). Never used for matching.
|
|
116
116
|
*/
|
|
117
117
|
workItemTitle?: string;
|
|
118
|
+
/** Gmail thread id, on `gmail:reply_received` (matchable by watch-for-event filters). */
|
|
119
|
+
threadId?: string;
|
|
118
120
|
}
|
|
119
121
|
/**
|
|
120
122
|
* Filter criteria for matching events to subscriptions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/event-bus.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"event-bus.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/event-bus.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,6 +135,12 @@ export const EVENT_TYPES = [
|
|
|
135
135
|
// the cap itself (blocked). Owner-facing; pairs with a `[BUDGET]` queue
|
|
136
136
|
// message to the orchestrator.
|
|
137
137
|
'team:budget_exceeded',
|
|
138
|
+
// CREW-257: a new reply landed in a Gmail thread an agent is watching.
|
|
139
|
+
// Published by GmailReplyWatchService with sessionName 'gmail' (self-events
|
|
140
|
+
// are not delivered to the publisher's own session, so the owning agent
|
|
141
|
+
// must not be the event's session). `threadId` and `target` (the owning
|
|
142
|
+
// agent) ride along for watch-for-event filters.
|
|
143
|
+
'gmail:reply_received',
|
|
138
144
|
];
|
|
139
145
|
/**
|
|
140
146
|
* Critical event types that the orchestrator MUST receive.
|
|
@@ -192,6 +198,8 @@ export const CRITICAL_EVENT_TYPES = new Set([
|
|
|
192
198
|
'task:queued_too_long',
|
|
193
199
|
// Budget cap crossings are owner-visible money events.
|
|
194
200
|
'team:budget_exceeded',
|
|
201
|
+
// A reply from a real person is what the agent is waiting on.
|
|
202
|
+
'gmail:reply_received',
|
|
195
203
|
]);
|
|
196
204
|
/**
|
|
197
205
|
* Info event types that are noisy for the orchestrator terminal.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/event-bus.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,YAAY;IACZ,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,gEAAgE;IAChE,EAAE;IACF,kEAAkE;IAClE,gEAAgE;IAChE,wEAAwE;IACxE,kEAAkE;IAClE,qEAAqE;IACrE,kDAAkD;IAClD,qEAAqE;IACrE,kEAAkE;IAClE,EAAE;IACF,iEAAiE;IACjE,mEAAmE;IACnE,WAAW;IACX,+BAA+B;IAC/B,uBAAuB;IACvB,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,wBAAwB;IACxB,iBAAiB;IACjB,mEAAmE;IACnE,uEAAuE;IACvE,sEAAsE;IACtE,sBAAsB;IACtB,sEAAsE;IACtE,wEAAwE;IACxE,wBAAwB;IACxB,8EAA8E;IAC9E,wBAAwB;IAExB,2BAA2B;IAC3B,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,qBAAqB;IACrB,6BAA6B;IAC7B,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAEhB,mDAAmD;IACnD,eAAe;IACf,WAAW;IACX,eAAe;IACf,cAAc;IACd,0BAA0B;IAC1B,qBAAqB;IAErB,6EAA6E;IAC7E,qEAAqE;IACrE,iFAAiF;IACjF,wEAAwE;IACxE,qBAAqB;IACrB,eAAe;IAEf,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,0CAA0C;IAC1C,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IAEnB,yEAAyE;IACzE,kEAAkE;IAClE,uEAAuE;IACvE,+DAA+D;IAC/D,uEAAuE;IACvE,yEAAyE;IACzE,iBAAiB;IACjB,sBAAsB;IAEtB,4DAA4D;IAC5D,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,mEAAmE;IACnE,0DAA0D;IAC1D,iBAAiB;IAEjB,iCAAiC;IACjC,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IAErB,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,0BAA0B;IAE1B,mEAAmE;IACnE,qEAAqE;IACrE,mEAAmE;IACnE,qEAAqE;IACrE,8DAA8D;IAC9D,mEAAmE;IACnE,oEAAoE;IACpE,wBAAwB;IAExB,wEAAwE;IACxE,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,oEAAoE;IACpE,qEAAqE;IACrE,oEAAoE;IACpE,kEAAkE;IAClE,qEAAqE;IACrE,gEAAgE;IAChE,oEAAoE;IACpE,qFAAqF;IACrF,sBAAsB;IAEtB,8DAA8D;IAC9D,mEAAmE;IACnE,wEAAwE;IACxE,wEAAwE;IACxE,+BAA+B;IAC/B,sBAAsB;CACd,CAAC;AAcX;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B,IAAI,GAAG,CAAC;IAClE,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,+BAA+B;IAC/B,uBAAuB;IACvB,gBAAgB;IAChB,wBAAwB;IACxB,yEAAyE;IACzE,sDAAsD;IACtD,sBAAsB;IACtB,+EAA+E;IAC/E,wBAAwB;IACxB,sBAAsB;IACtB,4EAA4E;IAC5E,WAAW;IACX,eAAe;IACf,cAAc;IACd,0BAA0B;IAC1B,eAAe;IACf,qBAAqB;IACrB,2EAA2E;IAC3E,wEAAwE;IACxE,qBAAqB;IACrB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,mBAAmB;IACnB,6DAA6D;IAC7D,2CAA2C;IAC3C,iBAAiB;IACjB,sBAAsB;IACtB,qEAAqE;IACrE,sEAAsE;IACtE,iBAAiB;IACjB,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,0BAA0B;IAC1B,sEAAsE;IACtE,mEAAmE;IACnE,6CAA6C;IAC7C,wBAAwB;IACxB,oEAAoE;IACpE,mEAAmE;IACnE,4DAA4D;IAC5D,sBAAsB;IACtB,uDAAuD;IACvD,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B,IAAI,GAAG,CAAC;IAC9D,sBAAsB;IACtB,YAAY;IACZ,cAAc;IACd,uBAAuB;IACvB,iBAAiB;IACjB,wBAAwB;IACxB,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,6BAA6B;IAC7B,sBAAsB;IACtB,qBAAqB;CACtB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA6B;IAC/D,OAAO,oBAAoB,CAAC,GAAG,CAAC,SAAsB,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC1C,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/event-bus.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,13 @@ export interface ProjectTicketFields {
|
|
|
48
48
|
* autopilot's triage; it is offered again afterwards. Absent / null = not deferred.
|
|
49
49
|
*/
|
|
50
50
|
deferUntil?: string | null;
|
|
51
|
+
/**
|
|
52
|
+
* Why the ticket is on hold (the owner's words, e.g. "do not merge PR #1138").
|
|
53
|
+
* A held ticket's PR / branch / worktree may only be closed and removed:
|
|
54
|
+
* follow-up tickets that reference them are held too and merge-style
|
|
55
|
+
* decision cards about them are refused (crewly#1369). Absent / null = not held.
|
|
56
|
+
*/
|
|
57
|
+
hold?: string | null;
|
|
51
58
|
}
|
|
52
59
|
/** Frontmatter keys the service writes, in the order new files list them. */
|
|
53
60
|
export declare const OWNED_TICKET_FIELDS: ReadonlyArray<keyof ProjectTicketFields>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-ticket.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/project-ticket.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oCAAoC;AACpC,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,mCAAmC;AACnC,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzF,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,iEAAiE;IACjE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mEAAmE;IACnE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oFAAoF;IACpF,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"project-ticket.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/project-ticket.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-ticket.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/project-ticket.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"project-ticket.types.js","sourceRoot":"","sources":["../../../../../backend/src/types/project-ticket.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAsD3D,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAA6C;IAC3E,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;IACN,QAAQ;IACR,aAAa;IACb,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,MAAM;CACP,CAAC;AAwCF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA0E;IAC/G,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;IAC9C,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC;IAChE,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;IACtC,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,SAAS,EAAE,CAAC,SAAS,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,wBAAwB,CAAC,QAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAyB,EAAE,EAAuB;IAC/F,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,CAAwB;IAChE,OAAQ,wBAAwB,CAAC,UAAgC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA6C;IACjF,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;IACxE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,GAAiC,CAAC;IAC9D,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAClG,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -50,7 +50,7 @@ export interface RequestOpenItem {
|
|
|
50
50
|
/** ISO — when the agent said it */
|
|
51
51
|
createdAt: string;
|
|
52
52
|
status: OpenItemStatus;
|
|
53
|
-
/** Commitment: when it is due (ISO, local time resolved at extraction) */
|
|
53
|
+
/** Commitment: when it is due (ISO, local time resolved at extraction); owner question: when an answer is expected */
|
|
54
54
|
due?: string;
|
|
55
55
|
/** Commitment: whether `due` came from the text or is the default */
|
|
56
56
|
dueSource?: 'text' | 'default';
|
|
@@ -78,6 +78,13 @@ export interface RequestOpenItem {
|
|
|
78
78
|
gateDecisionId?: string;
|
|
79
79
|
/** Commitment waiting on the owner: the question item from the same message whose answer opens it (CREW-440) */
|
|
80
80
|
gateItemId?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Question: a yes/no decision asked in prose ("should I close PR #12?").
|
|
83
|
+
* Without a card it is due ({@link RequestOpenItem.due}) an answer: the
|
|
84
|
+
* owner's next message in the thread resolves it, and silence past the due
|
|
85
|
+
* time is followed up by the stall watcher (crewly#1369).
|
|
86
|
+
*/
|
|
87
|
+
ownerQuestion?: boolean;
|
|
81
88
|
/** Question: the decision card it became (`D-<n>`) */
|
|
82
89
|
decisionId?: string;
|
|
83
90
|
/** Question: the owner's answer (option label or words) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-item.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/open-item.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,eAAe,GACf,OAAO,GACP,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,cAAc,CAA0E,CAAC;AAE7I,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"open-item.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/open-item.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,eAAe,GACf,OAAO,GACP,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,cAAc,CAA0E,CAAC;AAE7I,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,sHAAsH;IACtH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wGAAwG;IACxG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6GAA6G;IAC7G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gHAAgH;IAChH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -5316,6 +5316,12 @@ export declare const GOOGLE_WORKSPACE_CONSTANTS: {
|
|
|
5316
5316
|
readonly PORTAL_CONNECT_PATH: "/portal/integrations/google";
|
|
5317
5317
|
/** Metadata headers requested on Gmail search hits */
|
|
5318
5318
|
readonly GMAIL_SEARCH_HEADERS: readonly ["From", "To", "Subject", "Date"];
|
|
5319
|
+
/** How often watched Gmail threads are checked for replies (one history.list per tick); must stay well under the 60 s wake promise */
|
|
5320
|
+
readonly GMAIL_WATCH_POLL_MS: 30000;
|
|
5321
|
+
/** A thread watch is dropped this long after its last reply (or creation) so the set cannot grow forever */
|
|
5322
|
+
readonly GMAIL_WATCH_EXPIRY_MS: number;
|
|
5323
|
+
/** Consecutive "account not connected" ticks before its watches are removed */
|
|
5324
|
+
readonly GMAIL_WATCH_DISCONNECT_MISSES: 3;
|
|
5319
5325
|
/** RFC 2045 line width for base64 message bodies */
|
|
5320
5326
|
readonly MIME_LINE_WIDTH: 76;
|
|
5321
5327
|
/** Error codes shared between the token service, controller and skills */
|
|
@@ -6522,7 +6528,7 @@ export declare const HARNESS_CONSTANTS: {
|
|
|
6522
6528
|
readonly ENTER: "\r";
|
|
6523
6529
|
/**
|
|
6524
6530
|
* Pause between typing the user's input and pressing Enter (ms). Ink TUIs
|
|
6525
|
-
* (Claude's `
|
|
6531
|
+
* (Claude's `auth login`) read one write of "code + \r" as a paste and
|
|
6526
6532
|
* swallow the Enter, leaving the code sitting at the prompt
|
|
6527
6533
|
* (iriss-air.lan, 2026-10-01).
|
|
6528
6534
|
*/
|
|
@@ -6623,6 +6629,18 @@ export declare const HARNESS_CONSTANTS: {
|
|
|
6623
6629
|
* with its own config dir (`CLAUDE_CONFIG_DIR`) and login, used as
|
|
6624
6630
|
* runtime fallbacks (`claude-code@<name>`). Issue #942.
|
|
6625
6631
|
*/
|
|
6632
|
+
/**
|
|
6633
|
+
* Retiring the Claude sign-in tokens older Crewly versions saved
|
|
6634
|
+
* (claude-token-migration.service.ts).
|
|
6635
|
+
*/
|
|
6636
|
+
readonly TOKEN_MIGRATION: {
|
|
6637
|
+
/** Bookkeeping under CREWLY_HOME (no credential in it) */
|
|
6638
|
+
readonly STATE_FILE: "claude-token-migration.json";
|
|
6639
|
+
/** First run after the backend starts */
|
|
6640
|
+
readonly START_DELAY_MS: 60000;
|
|
6641
|
+
/** How often saved tokens are re-checked (a login done by hand is noticed) */
|
|
6642
|
+
readonly RUN_INTERVAL_MS: number;
|
|
6643
|
+
};
|
|
6626
6644
|
readonly ACCOUNTS: {
|
|
6627
6645
|
/** Directory under CREWLY_HOME holding one config dir per account */
|
|
6628
6646
|
readonly DIR: "claude-accounts";
|
|
@@ -7217,6 +7235,23 @@ export declare const SYSTEM_CONTROL_CONSTANTS: {
|
|
|
7217
7235
|
readonly RESTART_IN_PROGRESS: "Crewly is already shutting down or restarting.";
|
|
7218
7236
|
};
|
|
7219
7237
|
};
|
|
7238
|
+
/**
|
|
7239
|
+
* Owner-facing wording of decision cards (crewly#1367, crewly#1369 §3): the
|
|
7240
|
+
* question in plain words in the owner's language, internal references only
|
|
7241
|
+
* in a short details line, context on merge cards.
|
|
7242
|
+
*/
|
|
7243
|
+
export declare const DECISION_WORDING_CONSTANTS: {
|
|
7244
|
+
/** Max characters of one card context field (who asked, what the owner said, what changes) */
|
|
7245
|
+
readonly CONTEXT_FIELD_MAX_CHARS: 200;
|
|
7246
|
+
/** Max characters of the context link */
|
|
7247
|
+
readonly LINK_MAX_CHARS: 300;
|
|
7248
|
+
/** Max references shown in the card's details line */
|
|
7249
|
+
readonly DETAILS_MAX_REFS: 3;
|
|
7250
|
+
/** Max characters of the question quoted in a one-line reminder */
|
|
7251
|
+
readonly REMINDER_QUESTION_MAX_CHARS: 60;
|
|
7252
|
+
/** Min letters (any script) left in a question once internal references are stripped */
|
|
7253
|
+
readonly QUESTION_MIN_LETTERS: 4;
|
|
7254
|
+
};
|
|
7220
7255
|
/**
|
|
7221
7256
|
* Decision cards (specs/2026-10-01-decision-cards.md): structured owner
|
|
7222
7257
|
* questions posted by the responsible agent's own Slack bot as a Block Kit
|
|
@@ -7228,7 +7263,7 @@ export declare const DECISION_CONSTANTS: {
|
|
|
7228
7263
|
* (buttons added/removed): open cards drawn with an older revision are
|
|
7229
7264
|
* redrawn once at startup so they get the new controls (e.g. Skip, 1.20.185).
|
|
7230
7265
|
*/
|
|
7231
|
-
readonly CARD_RENDER_REV:
|
|
7266
|
+
readonly CARD_RENDER_REV: 4;
|
|
7232
7267
|
/** Delay after startup before stale open cards are redrawn (ms) */
|
|
7233
7268
|
readonly STALE_CARD_REFRESH_DELAY_MS: 15000;
|
|
7234
7269
|
/** Gap between two card redraws, to stay under Slack's chat.update rate limit (ms) */
|
|
@@ -7377,6 +7412,13 @@ export declare const OPEN_ITEMS_CONSTANTS: {
|
|
|
7377
7412
|
readonly TEXT_MAX_CHARS: 300;
|
|
7378
7413
|
/** Max characters of a question (the card's one line) */
|
|
7379
7414
|
readonly QUESTION_MAX_CHARS: 280;
|
|
7415
|
+
/**
|
|
7416
|
+
* A yes/no decision asked of the owner in prose ("should I close PR #12?",
|
|
7417
|
+
* "要不要合并?") is on file as an owner question due this long after it
|
|
7418
|
+
* was asked; with no answer by then the stall watcher follows up (ms)
|
|
7419
|
+
* (crewly#1369 gap 2).
|
|
7420
|
+
*/
|
|
7421
|
+
readonly OWNER_QUESTION_DUE_MS: number;
|
|
7380
7422
|
/** Child WorkItems created this long before the promise still count as what it waits on (ms) */
|
|
7381
7423
|
readonly CHILD_LOOKBACK_MS: number;
|
|
7382
7424
|
/** ...and this long after it — the agent promises, then delegates (ms). Later work is a new topic. */
|
|
@@ -9239,4 +9281,23 @@ export declare const BROWSER_PRIORITY_CONSTANTS: {
|
|
|
9239
9281
|
*/
|
|
9240
9282
|
readonly promptSection: (remoteBrowserPath: string) => string;
|
|
9241
9283
|
};
|
|
9284
|
+
/**
|
|
9285
|
+
* Ticket holds (crewly#1369 gap 1): a ticket the owner put on hold ("do not
|
|
9286
|
+
* merge PR #1138") blocks follow-up work on the same PR / branch / worktree.
|
|
9287
|
+
* Only closing the PR and removing the worktree stays allowed.
|
|
9288
|
+
*/
|
|
9289
|
+
export declare const TICKET_HOLD_CONSTANTS: {
|
|
9290
|
+
/** Labels that put a ticket on hold */
|
|
9291
|
+
readonly LABELS: readonly string[];
|
|
9292
|
+
/** Prefix of the Log line written when a hold is set */
|
|
9293
|
+
readonly LOG_PREFIX: "HOLD:";
|
|
9294
|
+
/** Log line written when a hold is lifted */
|
|
9295
|
+
readonly LIFT_LOG_LINE: "hold lifted";
|
|
9296
|
+
/** Prefix of the hold reason of a ticket held because it references a held ticket */
|
|
9297
|
+
readonly LINKED_PREFIX: "held by";
|
|
9298
|
+
/** What may still be done about held work */
|
|
9299
|
+
readonly ALLOWED_ACTIONS: "close the PR and remove the worktree";
|
|
9300
|
+
/** Max characters of a hold reason quoted in a message */
|
|
9301
|
+
readonly REASON_MAX_CHARS: 240;
|
|
9302
|
+
};
|
|
9242
9303
|
//# sourceMappingURL=constants.d.ts.map
|