crewly 1.5.19 → 1.5.21

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.
Files changed (87) hide show
  1. package/config/orchestrator_tasks/prompts/orchestrator-prompt.md +46 -0
  2. package/config/risk-policies/no-local-browser.policy.md +43 -0
  3. package/config/sops/xhs-requirement-log.v1.md +238 -0
  4. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.d.ts.map +1 -1
  5. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js +152 -19
  6. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js.map +1 -1
  7. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +23 -0
  8. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  9. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +89 -0
  10. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  11. package/dist/backend/backend/src/index.d.ts.map +1 -1
  12. package/dist/backend/backend/src/index.js +37 -0
  13. package/dist/backend/backend/src/index.js.map +1 -1
  14. package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts +43 -0
  15. package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts.map +1 -0
  16. package/dist/backend/backend/src/scripts/backfill-mission-priority.js +90 -0
  17. package/dist/backend/backend/src/scripts/backfill-mission-priority.js.map +1 -0
  18. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  19. package/dist/backend/backend/src/services/agent/agent-registration.service.js +3 -0
  20. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  21. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  22. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +2 -0
  23. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  24. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.d.ts +16 -3
  25. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.js +116 -19
  27. package/dist/backend/backend/src/services/ai/prompt-modules/team-norms.module.js.map +1 -1
  28. package/dist/backend/backend/src/services/core/storage.service.d.ts +33 -0
  29. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/core/storage.service.js +54 -0
  31. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +28 -3
  33. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +139 -79
  35. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/template/template.service.js +1 -0
  38. package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts +88 -0
  40. package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts.map +1 -0
  41. package/dist/backend/backend/src/services/v3/service-contract-gate.service.js +138 -0
  42. package/dist/backend/backend/src/services/v3/service-contract-gate.service.js.map +1 -0
  43. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.d.ts +77 -0
  44. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.d.ts.map +1 -0
  45. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js +177 -0
  46. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js.map +1 -0
  47. package/dist/backend/backend/src/types/index.d.ts +28 -0
  48. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  49. package/dist/backend/backend/src/types/index.js.map +1 -1
  50. package/dist/backend/backend/src/types/team-template.types.d.ts +2 -0
  51. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  52. package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
  53. package/dist/backend/backend/src/types/v2/mission.types.d.ts +51 -0
  54. package/dist/backend/backend/src/types/v2/mission.types.d.ts.map +1 -1
  55. package/dist/backend/backend/src/types/v2/mission.types.js +66 -0
  56. package/dist/backend/backend/src/types/v2/mission.types.js.map +1 -1
  57. package/dist/backend/backend/src/types/v2/trigger.types.d.ts +16 -0
  58. package/dist/backend/backend/src/types/v2/trigger.types.d.ts.map +1 -1
  59. package/dist/backend/backend/src/types/v2/trigger.types.js +2 -0
  60. package/dist/backend/backend/src/types/v2/trigger.types.js.map +1 -1
  61. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +10 -0
  62. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  63. package/dist/backend/backend/src/types/v2/work-item.types.js +11 -1
  64. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  65. package/dist/cli/backend/src/services/core/storage.service.d.ts +33 -0
  66. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  67. package/dist/cli/backend/src/services/core/storage.service.js +54 -0
  68. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  69. package/dist/cli/backend/src/types/index.d.ts +28 -0
  70. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  71. package/dist/cli/backend/src/types/index.js.map +1 -1
  72. package/dist/cli/backend/src/types/team-template.types.d.ts +2 -0
  73. package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
  74. package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
  75. package/dist/cli/backend/src/types/v2/trigger.types.d.ts +201 -0
  76. package/dist/cli/backend/src/types/v2/trigger.types.d.ts.map +1 -0
  77. package/dist/cli/backend/src/types/v2/trigger.types.js +174 -0
  78. package/dist/cli/backend/src/types/v2/trigger.types.js.map +1 -0
  79. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +11 -1
  80. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  81. package/dist/cli/backend/src/types/v2/work-item.types.js +14 -11
  82. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  83. package/frontend/dist/assets/index-76d76633.js +5220 -0
  84. package/frontend/dist/assets/{index-e3de7a8c.css → index-dc92ab64.css} +1 -1
  85. package/frontend/dist/index.html +2 -2
  86. package/package.json +1 -1
  87. package/frontend/dist/assets/index-f6bc685f.js +0 -4924
@@ -0,0 +1,201 @@
1
+ /**
2
+ * V2 Trigger Type Definitions
3
+ *
4
+ * Triggers unify v1's ScheduledMessage, CronTask, and EventSubscription
5
+ * into a single time/signal/compound mechanism that creates or wakes WorkItems.
6
+ *
7
+ * @module types/v2/trigger.types
8
+ */
9
+ import type { WorkItem } from './work-item.types.js';
10
+ /**
11
+ * What kind of trigger.
12
+ * - time: Cron expression or one-shot delay (replaces ScheduledMessage + CronTask)
13
+ * - signal: Agent event, webhook, or status change (replaces EventSubscription)
14
+ * - compound: Multiple conditions combined with AND/OR
15
+ */
16
+ export type TriggerType = 'time' | 'signal' | 'compound';
17
+ /** All valid TriggerType values. */
18
+ export declare const TRIGGER_TYPES: readonly TriggerType[];
19
+ /**
20
+ * Trigger lifecycle statuses.
21
+ */
22
+ export type TriggerStatus = 'active' | 'paused' | 'exhausted' | 'cancelled';
23
+ /** All valid TriggerStatus values. */
24
+ export declare const TRIGGER_STATUSES: readonly TriggerStatus[];
25
+ /**
26
+ * Time trigger: fires on schedule or after delay.
27
+ * Replaces v1 ScheduledMessage + CronTask.
28
+ */
29
+ export interface TimeTriggerConfig {
30
+ type: 'time';
31
+ /** Cron expression for recurring (e.g., "0 9 * * 1") */
32
+ cronExpression?: string;
33
+ /** IANA timezone (e.g., "America/New_York") */
34
+ timezone?: string;
35
+ /** One-shot delay in ms from creation */
36
+ delayMs?: number;
37
+ /** Fixed ISO8601 datetime for one-shot */
38
+ fireAt?: string;
39
+ }
40
+ /**
41
+ * Signal trigger: fires when an event matches.
42
+ * Replaces v1 EventSubscription.
43
+ */
44
+ export interface SignalTriggerConfig {
45
+ type: 'signal';
46
+ /** Event type to watch for (e.g., "agent:idle", "task:completed") */
47
+ eventType: string;
48
+ /** Optional filter — only fire if event payload matches */
49
+ filter?: Record<string, unknown>;
50
+ }
51
+ /**
52
+ * Compound trigger: combines sub-conditions with AND/OR.
53
+ */
54
+ export interface CompoundTriggerConfig {
55
+ type: 'compound';
56
+ /** How sub-conditions combine */
57
+ operator: 'and' | 'or';
58
+ /** Sub-trigger configs */
59
+ conditions: (TimeTriggerConfig | SignalTriggerConfig)[];
60
+ }
61
+ /**
62
+ * Discriminated union of all trigger configuration types.
63
+ */
64
+ export type TriggerConfig = TimeTriggerConfig | SignalTriggerConfig | CompoundTriggerConfig;
65
+ /**
66
+ * What happens when a trigger fires. At least one field should be set.
67
+ */
68
+ export interface TriggerAction {
69
+ /** Create a new WorkItem from this template */
70
+ createWorkItem?: Partial<WorkItem>;
71
+ /** Wake (re-queue) an existing WorkItem by ID */
72
+ wakeWorkItemId?: string;
73
+ /** Send a message to a session */
74
+ sendMessage?: {
75
+ target: string;
76
+ message: string;
77
+ };
78
+ /** Run the Reconciler */
79
+ runReconciler?: boolean;
80
+ }
81
+ /**
82
+ * A Trigger monitors time or signals and produces actions (WorkItems, messages, reconciliation).
83
+ *
84
+ * Triggers are the unified replacement for v1's ScheduledMessage, CronTask,
85
+ * and EventSubscription patterns.
86
+ */
87
+ export interface Trigger {
88
+ /** UUID v4 */
89
+ id: string;
90
+ /** What kind of trigger */
91
+ type: TriggerType;
92
+ /** Trigger-specific configuration */
93
+ config: TriggerConfig;
94
+ /** What action to take when the trigger fires */
95
+ action: TriggerAction;
96
+ /** Lifecycle status */
97
+ status: TriggerStatus;
98
+ /** Who created this trigger */
99
+ createdBy: 'user' | 'orchestrator' | 'system' | 'mission';
100
+ /** ISO8601 timestamps */
101
+ createdAt: string;
102
+ lastFiredAt?: string;
103
+ nextFireAt?: string;
104
+ /** Number of times this trigger has fired */
105
+ fireCount: number;
106
+ /** Maximum fires before auto-disable (undefined = unlimited) */
107
+ maxFires?: number;
108
+ /** Auto-cancel after N consecutive idle fires (v1 lesson from issue #131) */
109
+ maxIdleFires: number;
110
+ /** Current count of consecutive idle fires */
111
+ consecutiveIdleFires: number;
112
+ /**
113
+ * Owning team, if this trigger was provisioned from a Team's `triggers` spec.
114
+ * Used by {@link TeamTriggerReconciler} to look up and cancel team-scoped
115
+ * triggers without touching user/mission/system triggers.
116
+ */
117
+ teamId?: string;
118
+ /**
119
+ * Stable name set by the provisioner (e.g. `"youtube-monthly-kickoff"`).
120
+ * The reconciler uses (teamId, name) as the identity key so editing
121
+ * `Team.triggers[].cronExpression` replaces instead of duplicating.
122
+ */
123
+ name?: string;
124
+ }
125
+ /**
126
+ * Input for creating a new Trigger.
127
+ */
128
+ export interface CreateTriggerInput {
129
+ type: TriggerType;
130
+ config: TriggerConfig;
131
+ action: TriggerAction;
132
+ createdBy: 'user' | 'orchestrator' | 'system' | 'mission';
133
+ maxFires?: number;
134
+ maxIdleFires?: number;
135
+ /** Optional owning team (team-scoped triggers) */
136
+ teamId?: string;
137
+ /** Optional stable name for reconciliation-by-identity */
138
+ name?: string;
139
+ }
140
+ /** Default max idle fires before auto-cancel. From v1 issue #131 lesson. */
141
+ export declare const DEFAULT_MAX_IDLE_FIRES = 3;
142
+ /**
143
+ * Checks whether a string is a valid TriggerType.
144
+ *
145
+ * @param value - The string to check
146
+ * @returns True if value is a valid TriggerType
147
+ */
148
+ export declare function isValidTriggerType(value: string): value is TriggerType;
149
+ /**
150
+ * Checks whether a string is a valid TriggerStatus.
151
+ *
152
+ * @param value - The string to check
153
+ * @returns True if value is a valid TriggerStatus
154
+ */
155
+ export declare function isValidTriggerStatus(value: string): value is TriggerStatus;
156
+ /**
157
+ * Validates that a trigger config's type field matches its parent type.
158
+ *
159
+ * @param config - The config to validate
160
+ * @returns True if the config is internally consistent
161
+ */
162
+ export declare function isValidTriggerConfig(config: TriggerConfig): boolean;
163
+ /**
164
+ * Validates that an unknown value is structurally a valid Trigger.
165
+ *
166
+ * @param value - Unknown value to validate
167
+ * @returns True if value conforms to the Trigger interface
168
+ */
169
+ export declare function isTrigger(value: unknown): value is Trigger;
170
+ /**
171
+ * Checks whether a TriggerAction has at least one action defined.
172
+ *
173
+ * @param action - The action to validate
174
+ * @returns True if at least one action field is set
175
+ */
176
+ export declare function isValidTriggerAction(action: TriggerAction): boolean;
177
+ /**
178
+ * Validates CreateTriggerInput and returns an array of error messages.
179
+ *
180
+ * @param input - The creation input to validate
181
+ * @returns Array of validation error strings (empty = valid)
182
+ */
183
+ export declare function validateCreateTriggerInput(input: CreateTriggerInput): string[];
184
+ /**
185
+ * Creates a new Trigger with sensible defaults.
186
+ *
187
+ * @param input - Required and optional creation fields
188
+ * @returns A fully populated Trigger object
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * const trigger = createTrigger({
193
+ * type: 'time',
194
+ * config: { type: 'time', cronExpression: '0 9 * * 1' },
195
+ * action: { runReconciler: true },
196
+ * createdBy: 'system',
197
+ * });
198
+ * ```
199
+ */
200
+ export declare function createTrigger(input: CreateTriggerInput): Trigger;
201
+ //# sourceMappingURL=trigger.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/trigger.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * V2 Trigger Type Definitions
3
+ *
4
+ * Triggers unify v1's ScheduledMessage, CronTask, and EventSubscription
5
+ * into a single time/signal/compound mechanism that creates or wakes WorkItems.
6
+ *
7
+ * @module types/v2/trigger.types
8
+ */
9
+ import { v4 as uuidv4 } from 'uuid';
10
+ /** All valid TriggerType values. */
11
+ export const TRIGGER_TYPES = ['time', 'signal', 'compound'];
12
+ /** All valid TriggerStatus values. */
13
+ export const TRIGGER_STATUSES = [
14
+ 'active',
15
+ 'paused',
16
+ 'exhausted',
17
+ 'cancelled',
18
+ ];
19
+ // ---------------------------------------------------------------------------
20
+ // Constants
21
+ // ---------------------------------------------------------------------------
22
+ /** Default max idle fires before auto-cancel. From v1 issue #131 lesson. */
23
+ export const DEFAULT_MAX_IDLE_FIRES = 3;
24
+ // ---------------------------------------------------------------------------
25
+ // Type Guards
26
+ // ---------------------------------------------------------------------------
27
+ /**
28
+ * Checks whether a string is a valid TriggerType.
29
+ *
30
+ * @param value - The string to check
31
+ * @returns True if value is a valid TriggerType
32
+ */
33
+ export function isValidTriggerType(value) {
34
+ return TRIGGER_TYPES.includes(value);
35
+ }
36
+ /**
37
+ * Checks whether a string is a valid TriggerStatus.
38
+ *
39
+ * @param value - The string to check
40
+ * @returns True if value is a valid TriggerStatus
41
+ */
42
+ export function isValidTriggerStatus(value) {
43
+ return TRIGGER_STATUSES.includes(value);
44
+ }
45
+ /**
46
+ * Validates that a trigger config's type field matches its parent type.
47
+ *
48
+ * @param config - The config to validate
49
+ * @returns True if the config is internally consistent
50
+ */
51
+ export function isValidTriggerConfig(config) {
52
+ if (!config || typeof config !== 'object')
53
+ return false;
54
+ switch (config.type) {
55
+ case 'time':
56
+ return !!(config.cronExpression || config.delayMs || config.fireAt);
57
+ case 'signal':
58
+ return typeof config.eventType === 'string' && config.eventType.length > 0;
59
+ case 'compound':
60
+ return ((config.operator === 'and' || config.operator === 'or') &&
61
+ Array.isArray(config.conditions) &&
62
+ config.conditions.length > 0);
63
+ default:
64
+ return false;
65
+ }
66
+ }
67
+ /**
68
+ * Validates that an unknown value is structurally a valid Trigger.
69
+ *
70
+ * @param value - Unknown value to validate
71
+ * @returns True if value conforms to the Trigger interface
72
+ */
73
+ export function isTrigger(value) {
74
+ if (typeof value !== 'object' || value === null)
75
+ return false;
76
+ const obj = value;
77
+ return (typeof obj.id === 'string' &&
78
+ typeof obj.type === 'string' &&
79
+ isValidTriggerType(obj.type) &&
80
+ typeof obj.status === 'string' &&
81
+ isValidTriggerStatus(obj.status) &&
82
+ typeof obj.createdAt === 'string' &&
83
+ typeof obj.fireCount === 'number' &&
84
+ typeof obj.maxIdleFires === 'number');
85
+ }
86
+ /**
87
+ * Checks whether a TriggerAction has at least one action defined.
88
+ *
89
+ * @param action - The action to validate
90
+ * @returns True if at least one action field is set
91
+ */
92
+ export function isValidTriggerAction(action) {
93
+ if (!action || typeof action !== 'object')
94
+ return false;
95
+ return !!(action.createWorkItem ||
96
+ action.wakeWorkItemId ||
97
+ action.sendMessage ||
98
+ action.runReconciler);
99
+ }
100
+ // ---------------------------------------------------------------------------
101
+ // Validation
102
+ // ---------------------------------------------------------------------------
103
+ /**
104
+ * Validates CreateTriggerInput and returns an array of error messages.
105
+ *
106
+ * @param input - The creation input to validate
107
+ * @returns Array of validation error strings (empty = valid)
108
+ */
109
+ export function validateCreateTriggerInput(input) {
110
+ const errors = [];
111
+ if (!input.type || !isValidTriggerType(input.type)) {
112
+ errors.push(`type must be one of: ${TRIGGER_TYPES.join(', ')}`);
113
+ }
114
+ if (!input.config) {
115
+ errors.push('config is required');
116
+ }
117
+ else if (!isValidTriggerConfig(input.config)) {
118
+ errors.push('config is invalid for the given trigger type');
119
+ }
120
+ if (!input.action) {
121
+ errors.push('action is required');
122
+ }
123
+ else if (!isValidTriggerAction(input.action)) {
124
+ errors.push('action must have at least one action field set');
125
+ }
126
+ if (!input.createdBy) {
127
+ errors.push('createdBy is required');
128
+ }
129
+ if (input.maxFires !== undefined && (input.maxFires < 1 || !Number.isInteger(input.maxFires))) {
130
+ errors.push('maxFires must be a positive integer');
131
+ }
132
+ if (input.maxIdleFires !== undefined && (input.maxIdleFires < 1 || !Number.isInteger(input.maxIdleFires))) {
133
+ errors.push('maxIdleFires must be a positive integer');
134
+ }
135
+ return errors;
136
+ }
137
+ // ---------------------------------------------------------------------------
138
+ // Factory
139
+ // ---------------------------------------------------------------------------
140
+ /**
141
+ * Creates a new Trigger with sensible defaults.
142
+ *
143
+ * @param input - Required and optional creation fields
144
+ * @returns A fully populated Trigger object
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * const trigger = createTrigger({
149
+ * type: 'time',
150
+ * config: { type: 'time', cronExpression: '0 9 * * 1' },
151
+ * action: { runReconciler: true },
152
+ * createdBy: 'system',
153
+ * });
154
+ * ```
155
+ */
156
+ export function createTrigger(input) {
157
+ const now = new Date().toISOString();
158
+ return {
159
+ id: uuidv4(),
160
+ type: input.type,
161
+ config: input.config,
162
+ action: input.action,
163
+ status: 'active',
164
+ createdBy: input.createdBy,
165
+ createdAt: now,
166
+ fireCount: 0,
167
+ maxFires: input.maxFires,
168
+ maxIdleFires: input.maxIdleFires ?? DEFAULT_MAX_IDLE_FIRES,
169
+ consecutiveIdleFires: 0,
170
+ teamId: input.teamId,
171
+ name: input.name,
172
+ };
173
+ }
174
+ //# sourceMappingURL=trigger.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.types.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/trigger.types.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export declare const WORK_ITEM_OWNERS: readonly WorkItemOwner[];
60
60
  * running → done (simple tasks without TL verification)
61
61
  * done is terminal (backward compatible with existing pool operations)
62
62
  */
63
- export type WorkItemStatus = 'queued' | 'scheduled' | 'ready' | 'proposed' | 'accepted' | 'running' | 'waiting_confirmation' | 'blocked' | 'escalated' | 'done_by_worker' | 'verified' | 'rejected' | 'done' | 'completed' | 'failed' | 'cancelled';
63
+ export type WorkItemStatus = 'queued' | 'scheduled' | 'proposed' | 'accepted' | 'running' | 'blocked' | 'escalated' | 'done_by_worker' | 'verified' | 'rejected' | 'done' | 'failed' | 'cancelled';
64
64
  /** All valid WorkItemStatus values. */
65
65
  export declare const WORK_ITEM_STATUSES: readonly WorkItemStatus[];
66
66
  /** Terminal statuses — no further transitions allowed. */
@@ -118,6 +118,14 @@ export interface WorkItem {
118
118
  cost: number;
119
119
  /** Extensible metadata (dependency tracking, skill requirements, etc.) */
120
120
  metadata?: Record<string, unknown>;
121
+ /**
122
+ * IDs of upstream WorkItems that must reach terminal success (`done` or
123
+ * `verified`) before this item is allowed to run. When any dep is still
124
+ * pending at creation time, the item starts in `blocked` status and is
125
+ * auto-promoted to `queued` by the TaskPool resolver once every dep
126
+ * completes.
127
+ */
128
+ dependsOn?: string[];
121
129
  }
122
130
  /**
123
131
  * Input for creating a new WorkItem.
@@ -136,6 +144,8 @@ export interface CreateWorkItemInput {
136
144
  projectTaskId?: string;
137
145
  missionId?: string;
138
146
  metadata?: Record<string, unknown>;
147
+ /** Upstream WorkItem IDs that must reach terminal success before this runs. */
148
+ dependsOn?: string[];
139
149
  }
140
150
  /**
141
151
  * Input for updating an existing WorkItem.
@@ -1 +1 @@
1
- {"version":3,"file":"work-item.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/work-item.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-item.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/work-item.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,cAAc,GACd,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,GACT,WAAW,CAAC;AAEhB,qCAAqC;AACrC,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EASzC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,WAAW,GACX,OAAO,GACP,QAAQ,CAAC;AAEb,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAK3C,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,CAAC;AAEhB,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,EAAE,SAAS,cAAc,EAc9C,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,cAAc,CAIlE,CAAC;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,IAAI,EAAE,YAAY,CAAC;IACnB,uCAAuC;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,CAcrF,CAAC;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,CAe7E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,aAAa,GACvB,OAAO,CAWT;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAgB5D;AAMD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAqBhF;AAMD,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,QAAQ,CAmCnE;AAMD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iDAAiD;IACjD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,oBAAoB,GACpB,WAAW,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,oCAAoC;IACpC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACnC"}
@@ -30,25 +30,21 @@ export const WORK_ITEM_OWNERS = [
30
30
  export const WORK_ITEM_STATUSES = [
31
31
  'queued',
32
32
  'scheduled',
33
- 'ready',
34
33
  'proposed',
35
34
  'accepted',
36
35
  'running',
37
- 'waiting_confirmation',
38
36
  'blocked',
39
37
  'escalated',
40
38
  'done_by_worker',
41
39
  'verified',
42
40
  'rejected',
43
41
  'done',
44
- 'completed',
45
42
  'failed',
46
43
  'cancelled',
47
44
  ];
48
45
  /** Terminal statuses — no further transitions allowed. */
49
46
  export const TERMINAL_WORK_ITEM_STATUSES = new Set([
50
47
  'done',
51
- 'completed',
52
48
  'verified',
53
49
  'cancelled',
54
50
  ]);
@@ -62,21 +58,18 @@ export const TERMINAL_WORK_ITEM_STATUSES = new Set([
62
58
  * the extended acceptance/verification flow (proposed→accepted→running→done_by_worker→verified).
63
59
  */
64
60
  export const WORK_ITEM_TRANSITIONS = {
65
- queued: new Set(['ready', 'running', 'proposed', 'scheduled', 'cancelled']),
61
+ queued: new Set(['running', 'proposed', 'scheduled', 'cancelled']),
66
62
  scheduled: new Set(['queued', 'cancelled']),
67
- ready: new Set(['running', 'proposed', 'cancelled']),
68
63
  proposed: new Set(['accepted', 'rejected', 'cancelled']),
69
64
  accepted: new Set(['running', 'cancelled']),
70
- running: new Set(['waiting_confirmation', 'done', 'done_by_worker', 'failed', 'blocked', 'escalated', 'cancelled']),
71
- waiting_confirmation: new Set(['done', 'failed', 'running']),
65
+ running: new Set(['done', 'done_by_worker', 'failed', 'blocked', 'escalated', 'cancelled']),
72
66
  blocked: new Set(['queued', 'cancelled']),
73
67
  escalated: new Set(['queued', 'cancelled']),
74
68
  done_by_worker: new Set(['verified', 'rejected']),
75
69
  verified: new Set(),
76
70
  rejected: new Set(['queued']),
77
71
  done: new Set(),
78
- completed: new Set(),
79
- failed: new Set(['queued', 'cancelled']),
72
+ failed: new Set(['queued']),
80
73
  cancelled: new Set(),
81
74
  };
82
75
  // ---------------------------------------------------------------------------
@@ -244,7 +237,16 @@ export const DEFAULT_MAX_RETRIES = 3;
244
237
  */
245
238
  export function createWorkItem(input) {
246
239
  const now = new Date().toISOString();
240
+ const hasDeps = Array.isArray(input.dependsOn) && input.dependsOn.length > 0;
247
241
  const hasSchedule = !!input.scheduledAt;
242
+ // Dep gating wins over schedule — a blocked item should not be queued or
243
+ // fired by a cron. The dependency resolver will promote it to 'queued' once
244
+ // all upstream items reach terminal success.
245
+ const initialStatus = hasDeps
246
+ ? 'blocked'
247
+ : hasSchedule
248
+ ? 'scheduled'
249
+ : 'queued';
248
250
  return {
249
251
  id: uuidv4(),
250
252
  requestId: input.requestId,
@@ -254,7 +256,7 @@ export function createWorkItem(input) {
254
256
  target: input.target,
255
257
  title: input.title,
256
258
  description: input.description,
257
- status: hasSchedule ? 'scheduled' : 'queued',
259
+ status: initialStatus,
258
260
  scheduledAt: input.scheduledAt,
259
261
  createdAt: now,
260
262
  retryCount: 0,
@@ -266,6 +268,7 @@ export function createWorkItem(input) {
266
268
  outputTokens: 0,
267
269
  cost: 0,
268
270
  metadata: input.metadata,
271
+ dependsOn: hasDeps ? [...input.dependsOn] : undefined,
269
272
  };
270
273
  }
271
274
  //# sourceMappingURL=work-item.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"work-item.types.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/work-item.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-item.types.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/work-item.types.ts"],"names":[],"mappings":"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"}