crewly 1.20.190 → 1.20.192
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/constants.ts +2 -2
- package/config/skills/agent/core/ask-owner/SKILL.md +9 -2
- package/config/skills/agent/core/ask-owner/execute.sh +7 -3
- package/config/skills/agent/core/ask-owner/execute.test.sh +3 -0
- package/config/skills/agent/core/send-message/SKILL.md +6 -0
- package/config/skills/agent/core/send-message/execute.sh +17 -1
- package/config/skills/agent/core/send-message/execute.test.sh +81 -0
- package/dist/backend/backend/src/constants.d.ts +68 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +75 -2
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/canva/canva.controller.js +2 -2
- package/dist/backend/backend/src/controllers/canva/canva.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.d.ts +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js +1 -1
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.js +3 -1
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.js +2 -2
- package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js +2 -2
- package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.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 +45 -2
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/security/approvals.controller.d.ts +26 -0
- package/dist/backend/backend/src/controllers/security/approvals.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/security/approvals.controller.js +73 -0
- package/dist/backend/backend/src/controllers/security/approvals.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.js +9 -0
- package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/usage.controller.d.ts +3 -3
- package/dist/backend/backend/src/controllers/system/usage.controller.js +3 -3
- 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/services/browser/browser-approval.service.d.ts +8 -0
- package/dist/backend/backend/src/services/browser/browser-approval.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-approval.service.js +10 -0
- package/dist/backend/backend/src/services/browser/browser-approval.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +31 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +28 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.d.ts +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.js +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.d.ts +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.js +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts +56 -5
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.js +118 -11
- package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-routing.d.ts +26 -1
- package/dist/backend/backend/src/services/decisions/decision-routing.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-routing.js +36 -2
- package/dist/backend/backend/src/services/decisions/decision-routing.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts +73 -4
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.js +263 -30
- 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 +16 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/spend-capped-delivery.d.ts +54 -0
- package/dist/backend/backend/src/services/messaging/spend-capped-delivery.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/spend-capped-delivery.js +65 -0
- package/dist/backend/backend/src/services/messaging/spend-capped-delivery.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts +71 -1
- package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js +149 -44
- package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js +9 -33
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/model-pricing.d.ts +2 -1
- package/dist/backend/backend/src/services/monitoring/model-pricing.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/model-pricing.js +13 -0
- package/dist/backend/backend/src/services/monitoring/model-pricing.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +9 -0
- 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 +32 -3
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-card.d.ts +34 -0
- package/dist/backend/backend/src/services/open-items/open-item-card.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-card.js +88 -0
- package/dist/backend/backend/src/services/open-items/open-item-card.js.map +1 -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 +8 -2
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/security/approval-activity.service.d.ts +203 -0
- package/dist/backend/backend/src/services/security/approval-activity.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/security/approval-activity.service.js +279 -0
- package/dist/backend/backend/src/services/security/approval-activity.service.js.map +1 -0
- package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.js +14 -3
- package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts +22 -0
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.js +50 -0
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +45 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +214 -20
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap-command.js +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap-command.js.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts +48 -1
- package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/spend/spend-cap.service.js +85 -2
- package/dist/backend/backend/src/services/spend/spend-cap.service.js.map +1 -1
- package/dist/backend/backend/src/services/system/auto-update.service.d.ts +2 -2
- package/dist/backend/backend/src/services/system/auto-update.service.js +2 -2
- package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +73 -13
- package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/usage/usage-stats.service.js +137 -56
- package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +30 -2
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/slack.types.d.ts +11 -0
- package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/slack.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/backend/config/constants.d.ts +1 -1
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +2 -2
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +68 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +75 -2
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +31 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +28 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.d.ts +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.js +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts +56 -5
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.js +118 -11
- package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts +73 -4
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.js +263 -30
- package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts +2 -1
- package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/model-pricing.js +13 -0
- package/dist/cli/backend/src/services/monitoring/model-pricing.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +9 -0
- 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 +32 -3
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-card.d.ts +34 -0
- package/dist/cli/backend/src/services/open-items/open-item-card.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-card.js +88 -0
- package/dist/cli/backend/src/services/open-items/open-item-card.js.map +1 -1
- 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 +8 -2
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/skill/skill.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/skill/skill.service.js +14 -3
- package/dist/cli/backend/src/services/skill/skill.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts +22 -0
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.js +50 -0
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +45 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +214 -20
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/types/decision.types.d.ts +30 -2
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/slack.types.d.ts +11 -0
- package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/slack.types.js.map +1 -1
- package/dist/cli/config/constants.d.ts +1 -1
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +2 -2
- package/dist/cli/config/constants.js.map +1 -1
- package/frontend/dist/assets/index-5b7af029.js +4955 -0
- package/frontend/dist/assets/index-fc715ec3.css +42 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-20a67829.css +0 -42
- package/frontend/dist/assets/index-49f50b45.js +0 -4952
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Who asks the owner about a ticket (specs/2026-10-01-decision-cards.md §2)
|
|
2
|
+
* Who asks the owner about a ticket (specs/2026-10-01-decision-cards.md §2), and
|
|
3
|
+
* whether what a card tracks is already closed
|
|
4
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §3). Pure.
|
|
3
5
|
*
|
|
4
6
|
* The responsible agent asks, never the orchestrator: the ticket's assignee
|
|
5
7
|
* when it is a member of one of the project's teams, else the lead of the
|
|
@@ -8,6 +10,7 @@
|
|
|
8
10
|
* @module services/decisions/decision-routing
|
|
9
11
|
*/
|
|
10
12
|
import type { Team } from '../../types/index.js';
|
|
13
|
+
import type { OwnerDecision } from '../../types/decision.types.js';
|
|
11
14
|
import type { ProjectTicket } from '../../types/project-ticket.types.js';
|
|
12
15
|
/** The chosen asker. */
|
|
13
16
|
export interface TicketAsker {
|
|
@@ -31,4 +34,26 @@ export declare function pickTicketAsker(ticket: Pick<ProjectTicket, 'assignee' |
|
|
|
31
34
|
* @returns Team id, or undefined
|
|
32
35
|
*/
|
|
33
36
|
export declare function teamOfSession(session: string, teams: Team[]): string | undefined;
|
|
37
|
+
/** What {@link trackedClosedReason} reads about the thing a card tracks. */
|
|
38
|
+
export interface TrackedState {
|
|
39
|
+
/** The Request of a `reply_question` card: null when not found / unreadable (unknown — never moot), undefined when not looked up */
|
|
40
|
+
request?: {
|
|
41
|
+
status: string;
|
|
42
|
+
openItems?: Array<{
|
|
43
|
+
id: string;
|
|
44
|
+
status: string;
|
|
45
|
+
}>;
|
|
46
|
+
} | null;
|
|
47
|
+
/** The project ticket's status, when the card is a ticket ask */
|
|
48
|
+
ticketStatus?: string | null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Why a card no longer needs the owner's answer, or null while it does
|
|
52
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §3). Pure.
|
|
53
|
+
*
|
|
54
|
+
* @param d - The decision
|
|
55
|
+
* @param state - Its Request / ticket as they are now
|
|
56
|
+
* @returns A withdraw reason (`DECISION_CONSTANTS.CLOSED_REASONS`), or null
|
|
57
|
+
*/
|
|
58
|
+
export declare function trackedClosedReason(d: Pick<OwnerDecision, 'requestRef' | 'ticket'>, state: TrackedState): string | null;
|
|
34
59
|
//# sourceMappingURL=decision-routing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-routing.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-routing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decision-routing.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGzE,wBAAwB;AACxB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,UAAU,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;CAC5D;AAYD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,GAAG,IAAI,CAkBnH;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,oIAAoI;IACpI,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACvF,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAgBvH"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Who asks the owner about a ticket (specs/2026-10-01-decision-cards.md §2)
|
|
2
|
+
* Who asks the owner about a ticket (specs/2026-10-01-decision-cards.md §2), and
|
|
3
|
+
* whether what a card tracks is already closed
|
|
4
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §3). Pure.
|
|
3
5
|
*
|
|
4
6
|
* The responsible agent asks, never the orchestrator: the ticket's assignee
|
|
5
7
|
* when it is a member of one of the project's teams, else the lead of the
|
|
@@ -7,7 +9,8 @@
|
|
|
7
9
|
*
|
|
8
10
|
* @module services/decisions/decision-routing
|
|
9
11
|
*/
|
|
10
|
-
import { ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
|
|
12
|
+
import { DECISION_CONSTANTS, ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
|
|
13
|
+
import { ACTIVE_OPEN_ITEM_STATUSES } from '../../types/v2/open-item.types.js';
|
|
11
14
|
import { getTeamLeads } from '../../utils/team.utils.js';
|
|
12
15
|
/**
|
|
13
16
|
* A member's session name.
|
|
@@ -61,4 +64,35 @@ export function teamOfSession(session, teams) {
|
|
|
61
64
|
}
|
|
62
65
|
return undefined;
|
|
63
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Why a card no longer needs the owner's answer, or null while it does
|
|
69
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §3). Pure.
|
|
70
|
+
*
|
|
71
|
+
* @param d - The decision
|
|
72
|
+
* @param state - Its Request / ticket as they are now
|
|
73
|
+
* @returns A withdraw reason (`DECISION_CONSTANTS.CLOSED_REASONS`), or null
|
|
74
|
+
*/
|
|
75
|
+
export function trackedClosedReason(d, state) {
|
|
76
|
+
const R = DECISION_CONSTANTS.CLOSED_REASONS;
|
|
77
|
+
if (d.requestRef && state.request !== undefined) {
|
|
78
|
+
const request = state.request;
|
|
79
|
+
// Not found / unreadable is unknown, not "done": keep the card open.
|
|
80
|
+
if (!request)
|
|
81
|
+
return null;
|
|
82
|
+
if (request.status === 'done')
|
|
83
|
+
return R.TICKET_DONE;
|
|
84
|
+
if (request.status === 'cancelled')
|
|
85
|
+
return R.TICKET_CANCELLED;
|
|
86
|
+
const item = request.openItems?.find((i) => i.id === d.requestRef?.itemId);
|
|
87
|
+
if (item && !ACTIVE_OPEN_ITEM_STATUSES.has(item.status))
|
|
88
|
+
return R.HANDLED_IN_THREAD;
|
|
89
|
+
}
|
|
90
|
+
if (d.ticket && state.ticketStatus) {
|
|
91
|
+
if (state.ticketStatus === 'done')
|
|
92
|
+
return R.TICKET_DONE;
|
|
93
|
+
if (state.ticketStatus === 'cancelled')
|
|
94
|
+
return R.TICKET_CANCELLED;
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
64
98
|
//# sourceMappingURL=decision-routing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-routing.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-routing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decision-routing.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,15 @@ export interface DecisionServiceDeps {
|
|
|
97
97
|
* from a live one in {@link DecisionService.skipAll}.
|
|
98
98
|
*/
|
|
99
99
|
openItemAskedAt?: (ref: NonNullable<OwnerDecision['requestRef']>) => Promise<string | undefined>;
|
|
100
|
+
/**
|
|
101
|
+
* Why what the card tracks is already closed (its open item / Request /
|
|
102
|
+
* ticket), or null while it still needs an answer. Checked right before
|
|
103
|
+
* anything is posted to the owner: a moot card is withdrawn silently
|
|
104
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §3).
|
|
105
|
+
*/
|
|
106
|
+
trackedClosed?: (d: OwnerDecision) => Promise<string | null>;
|
|
107
|
+
/** The asking agent's display name ("Owen"), for "so Owen will go with …" */
|
|
108
|
+
displayName?: (session: string) => Promise<string | undefined>;
|
|
100
109
|
now?: () => Date;
|
|
101
110
|
logger?: ComponentLogger;
|
|
102
111
|
}
|
|
@@ -190,6 +199,8 @@ export interface PrebuiltAsk {
|
|
|
190
199
|
browser?: OwnerDecision['browser'];
|
|
191
200
|
/** Card header (default "Decision D-n") */
|
|
192
201
|
title?: string;
|
|
202
|
+
/** Extra mrkdwn sections under the question (e.g. the quoted context a question points back at) */
|
|
203
|
+
body?: string[];
|
|
193
204
|
/** Post the card here (a thread) instead of the agent's work destination */
|
|
194
205
|
place?: OwnerDecision['place'];
|
|
195
206
|
/** The Request open item it tracks */
|
|
@@ -258,6 +269,12 @@ export declare class DecisionService {
|
|
|
258
269
|
private readonly now;
|
|
259
270
|
private timer;
|
|
260
271
|
private ticking;
|
|
272
|
+
/**
|
|
273
|
+
* When this process started ticking (epoch ms; set by the first tick). A
|
|
274
|
+
* `wait` card whose asker was told about the deadline before that is never
|
|
275
|
+
* reminded: after an upgrade, old cards must not all ping the owner at once.
|
|
276
|
+
*/
|
|
277
|
+
private startedAt;
|
|
261
278
|
/**
|
|
262
279
|
* @param deps - Collaborators
|
|
263
280
|
*/
|
|
@@ -365,13 +382,30 @@ export declare class DecisionService {
|
|
|
365
382
|
*/
|
|
366
383
|
handleReaction(event: ReactionEvent): Promise<InteractionOutcome>;
|
|
367
384
|
/**
|
|
368
|
-
* An owner reply in a card's thread
|
|
369
|
-
* takes it; words that match no
|
|
385
|
+
* An owner reply in a card's thread (channel or DM thread), posted after
|
|
386
|
+
* the card. Text: the newest open card takes it; words that match no
|
|
387
|
+
* option are passed to the asker verbatim. A voice note, audio or other
|
|
388
|
+
* file with no text answers every open card in the thread "in thread"
|
|
389
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §1). Every such owner
|
|
390
|
+
* message stamps `ownerRepliedAt` on the open cards there.
|
|
370
391
|
*
|
|
371
392
|
* @param message - Inbound Slack message
|
|
372
393
|
* @returns What happened
|
|
373
394
|
*/
|
|
374
|
-
handleThreadReply(message: Pick<SlackIncomingMessage, 'channelId' | 'threadTs' | 'ts' | 'text' | 'userId' | 'authorAgentSession'>): Promise<InteractionOutcome>;
|
|
395
|
+
handleThreadReply(message: Pick<SlackIncomingMessage, 'channelId' | 'threadTs' | 'ts' | 'text' | 'userId' | 'authorAgentSession'> & Partial<Pick<SlackIncomingMessage, 'files'>>): Promise<InteractionOutcome>;
|
|
396
|
+
/**
|
|
397
|
+
* A voice note / file with no text in a thread with open cards
|
|
398
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §1):
|
|
399
|
+
*
|
|
400
|
+
* - sensitive, system and browser cards are never settled by a file; their
|
|
401
|
+
* askers get the file as information;
|
|
402
|
+
* - a voice note / audio / video answers the newest other card; any file
|
|
403
|
+
* answers the only other card when there is exactly one;
|
|
404
|
+
* - an image or other file with several open cards settles nothing.
|
|
405
|
+
*
|
|
406
|
+
* Every asker whose card stays open is told what the owner posted, once.
|
|
407
|
+
*/
|
|
408
|
+
private applyThreadFiles;
|
|
375
409
|
/**
|
|
376
410
|
* The owner answered from the dashboard.
|
|
377
411
|
*
|
|
@@ -440,6 +474,15 @@ export declare class DecisionService {
|
|
|
440
474
|
* @returns Decisions, newest first
|
|
441
475
|
*/
|
|
442
476
|
list(which?: 'open' | 'all'): Promise<OwnerDecision[]>;
|
|
477
|
+
/**
|
|
478
|
+
* Every decision created at or after `sinceMs`, plus every one still
|
|
479
|
+
* waiting (any age). Not capped like {@link list}: for counting
|
|
480
|
+
* (Settings › Security). Settled decisions are kept 30 days.
|
|
481
|
+
*
|
|
482
|
+
* @param sinceMs - Lower bound (epoch ms)
|
|
483
|
+
* @returns Decisions, newest first
|
|
484
|
+
*/
|
|
485
|
+
listSince(sinceMs: number): Promise<OwnerDecision[]>;
|
|
443
486
|
/**
|
|
444
487
|
* One decision.
|
|
445
488
|
*
|
|
@@ -474,14 +517,40 @@ export declare class DecisionService {
|
|
|
474
517
|
* @returns Ids acted on
|
|
475
518
|
*/
|
|
476
519
|
tick(): Promise<string[]>;
|
|
520
|
+
/**
|
|
521
|
+
* Withdraw a card whose tracked item is already closed, silently: the
|
|
522
|
+
* card says why, nothing is posted in the thread and the asker is not woken
|
|
523
|
+
* (specs/2026-10-02-decision-card-thread-answers.md §3).
|
|
524
|
+
*
|
|
525
|
+
* @param d - Open decision about to post something to the owner
|
|
526
|
+
* @returns True when it was withdrawn
|
|
527
|
+
*/
|
|
528
|
+
private withdrawIfMoot;
|
|
477
529
|
/** Post the "Remind me tomorrow" reminder in the card's thread. */
|
|
478
530
|
private remindNow;
|
|
479
|
-
/**
|
|
531
|
+
/**
|
|
532
|
+
* A `wait` card past its deadline (specs/2026-10-02-decision-card-thread-answers.md §2):
|
|
533
|
+
* first only the asker is told — nothing goes to the owner; later, once, a
|
|
534
|
+
* reminder that says what to do, when the owner has not touched the thread.
|
|
535
|
+
*/
|
|
536
|
+
private waitStep;
|
|
537
|
+
/**
|
|
538
|
+
* Post the due `wait` reminders: ONE per thread, listing that thread's open
|
|
539
|
+
* questions; every listed card is marked as reminded.
|
|
540
|
+
*
|
|
541
|
+
* @param due - Cards due for their reminder (already checked)
|
|
542
|
+
* @param now - Clock
|
|
543
|
+
* @returns Ids reminded
|
|
544
|
+
*/
|
|
545
|
+
private postWaitReminders;
|
|
546
|
+
/** Non-sensitive deadline with a real default: apply it and say who does what. */
|
|
480
547
|
private applyDefault;
|
|
481
548
|
/** Sensitive deadline: re-ask once after 24 h, then park. Never auto-applied. */
|
|
482
549
|
private sensitiveStep;
|
|
483
550
|
/** Re-render the card for the decision's current state (with the posting bot's token). */
|
|
484
551
|
private refreshCard;
|
|
552
|
+
/** The asking agent's display name ("Owen"), when known. */
|
|
553
|
+
private askerName;
|
|
485
554
|
/** Post a line in the card's thread, as the asker. */
|
|
486
555
|
private postInThread;
|
|
487
556
|
private logTicket;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"decision.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision.service.ts"],"names":[],"mappings":"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"}
|