crewly 1.5.11 → 1.5.13

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 (176) hide show
  1. package/config/constants.ts +3 -3
  2. package/config/orchestrator_tasks/prompts/orchestrator-prompt.md +73 -0
  3. package/config/roles/architect/prompt.md +9 -0
  4. package/config/roles/backend-developer/prompt.md +9 -0
  5. package/config/roles/content-strategist/prompt.md +10 -0
  6. package/config/roles/designer/prompt.md +9 -0
  7. package/config/roles/developer/prompt.md +9 -0
  8. package/config/roles/frontend-developer/prompt.md +9 -0
  9. package/config/roles/fullstack-dev/prompt.md +9 -0
  10. package/config/roles/generalist/prompt.md +9 -0
  11. package/config/roles/ops/prompt.md +9 -0
  12. package/config/roles/product-manager/prompt.md +9 -0
  13. package/config/roles/qa/prompt.md +9 -0
  14. package/config/roles/qa-engineer/prompt.md +9 -0
  15. package/config/roles/researcher/prompt.md +9 -0
  16. package/config/roles/sales/prompt.md +9 -0
  17. package/config/roles/support/prompt.md +9 -0
  18. package/config/roles/team-leader/prompt.md +11 -0
  19. package/config/roles/tpm/prompt.md +9 -0
  20. package/config/roles/ux-designer/prompt.md +9 -0
  21. package/config/skills/_common/lib.sh +31 -0
  22. package/config/skills/_common/lib.test.sh +164 -0
  23. package/config/skills/agent/core/block-task/execute.sh +3 -1
  24. package/config/skills/agent/core/pipe-to-sink/execute.sh +41 -0
  25. package/config/skills/agent/core/read-task/execute.sh +3 -1
  26. package/config/skills/agent/core/report-progress/execute.sh +3 -1
  27. package/config/skills/agent/screenshot-compare/SKILL.md +75 -0
  28. package/config/skills/agent/screenshot-compare/execute.sh +182 -0
  29. package/config/skills/agent/screenshot-compare/skill.json +10 -0
  30. package/config/skills/agent/xiaoyuzhoufm-transcript/SKILL.md +85 -0
  31. package/config/skills/agent/xiaoyuzhoufm-transcript/execute.sh +306 -0
  32. package/config/skills/agent/xiaoyuzhoufm-transcript/skill.json +10 -0
  33. package/config/skills/orchestrator/cancel-cron/SKILL.md +44 -0
  34. package/config/skills/orchestrator/create-cron/SKILL.md +58 -0
  35. package/config/skills/orchestrator/list-cron/SKILL.md +51 -0
  36. package/config/skills/orchestrator/update-cron/SKILL.md +52 -0
  37. package/dist/backend/backend/src/constants.d.ts +7 -4
  38. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  39. package/dist/backend/backend/src/constants.js +6 -3
  40. package/dist/backend/backend/src/constants.js.map +1 -1
  41. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +21 -2
  42. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
  43. package/dist/backend/backend/src/controllers/browser/browser.controller.js +167 -29
  44. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  45. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts +1 -1
  46. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
  47. package/dist/backend/backend/src/controllers/browser/browser.routes.js +7 -3
  48. package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
  49. package/dist/backend/backend/src/controllers/data/data.controller.d.ts +47 -0
  50. package/dist/backend/backend/src/controllers/data/data.controller.d.ts.map +1 -0
  51. package/dist/backend/backend/src/controllers/data/data.controller.js +201 -0
  52. package/dist/backend/backend/src/controllers/data/data.controller.js.map +1 -0
  53. package/dist/backend/backend/src/controllers/data/data.routes.d.ts +18 -0
  54. package/dist/backend/backend/src/controllers/data/data.routes.d.ts.map +1 -0
  55. package/dist/backend/backend/src/controllers/data/data.routes.js +44 -0
  56. package/dist/backend/backend/src/controllers/data/data.routes.js.map +1 -0
  57. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts +3 -2
  58. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts.map +1 -1
  59. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js +5 -3
  60. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js.map +1 -1
  61. package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts +4 -0
  62. package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts.map +1 -1
  63. package/dist/backend/backend/src/controllers/system/cron-task.controller.js +20 -0
  64. package/dist/backend/backend/src/controllers/system/cron-task.controller.js.map +1 -1
  65. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  66. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +18 -0
  67. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  68. package/dist/backend/backend/src/controllers/team/team-export.controller.d.ts +32 -0
  69. package/dist/backend/backend/src/controllers/team/team-export.controller.d.ts.map +1 -0
  70. package/dist/backend/backend/src/controllers/team/team-export.controller.js +61 -0
  71. package/dist/backend/backend/src/controllers/team/team-export.controller.js.map +1 -0
  72. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  73. package/dist/backend/backend/src/controllers/team/team.routes.js +7 -0
  74. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  75. package/dist/backend/backend/src/index.d.ts.map +1 -1
  76. package/dist/backend/backend/src/index.js +37 -7
  77. package/dist/backend/backend/src/index.js.map +1 -1
  78. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  79. package/dist/backend/backend/src/routes/api.routes.js +4 -1
  80. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  81. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  82. package/dist/backend/backend/src/services/agent/agent-registration.service.js +6 -2
  83. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  84. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  85. package/dist/backend/backend/src/services/agent/idle-detection.service.js +17 -2
  86. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  87. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts +1 -1
  88. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +2 -2
  89. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  90. package/dist/backend/backend/src/services/agent/task-planning.service.d.ts +134 -0
  91. package/dist/backend/backend/src/services/agent/task-planning.service.d.ts.map +1 -0
  92. package/dist/backend/backend/src/services/agent/task-planning.service.js +291 -0
  93. package/dist/backend/backend/src/services/agent/task-planning.service.js.map +1 -0
  94. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +11 -0
  95. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  96. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +47 -18
  97. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  98. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts +14 -0
  99. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  100. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +47 -4
  101. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  102. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts +13 -9
  103. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  104. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +44 -12
  105. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  106. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +176 -0
  107. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -0
  108. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +441 -0
  109. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -0
  110. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts +162 -0
  111. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts.map +1 -0
  112. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js +350 -0
  113. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js.map +1 -0
  114. package/dist/backend/backend/src/services/cloud/cloud-initializer.d.ts +8 -0
  115. package/dist/backend/backend/src/services/cloud/cloud-initializer.d.ts.map +1 -1
  116. package/dist/backend/backend/src/services/cloud/cloud-initializer.js +27 -0
  117. package/dist/backend/backend/src/services/cloud/cloud-initializer.js.map +1 -1
  118. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +1 -1
  119. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +2 -0
  121. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  122. package/dist/backend/backend/src/services/core/team-export.service.d.ts +103 -0
  123. package/dist/backend/backend/src/services/core/team-export.service.d.ts.map +1 -0
  124. package/dist/backend/backend/src/services/core/team-export.service.js +182 -0
  125. package/dist/backend/backend/src/services/core/team-export.service.js.map +1 -0
  126. package/dist/backend/backend/src/services/data/data-object-store.service.d.ts +160 -0
  127. package/dist/backend/backend/src/services/data/data-object-store.service.d.ts.map +1 -0
  128. package/dist/backend/backend/src/services/data/data-object-store.service.js +434 -0
  129. package/dist/backend/backend/src/services/data/data-object-store.service.js.map +1 -0
  130. package/dist/backend/backend/src/services/data/data-object.types.d.ts +190 -0
  131. package/dist/backend/backend/src/services/data/data-object.types.d.ts.map +1 -0
  132. package/dist/backend/backend/src/services/data/data-object.types.js +143 -0
  133. package/dist/backend/backend/src/services/data/data-object.types.js.map +1 -0
  134. package/dist/backend/backend/src/services/data/schema-registry.service.d.ts +108 -0
  135. package/dist/backend/backend/src/services/data/schema-registry.service.d.ts.map +1 -0
  136. package/dist/backend/backend/src/services/data/schema-registry.service.js +290 -0
  137. package/dist/backend/backend/src/services/data/schema-registry.service.js.map +1 -0
  138. package/dist/backend/backend/src/services/data/sink-registry.service.d.ts +87 -0
  139. package/dist/backend/backend/src/services/data/sink-registry.service.d.ts.map +1 -0
  140. package/dist/backend/backend/src/services/data/sink-registry.service.js +188 -0
  141. package/dist/backend/backend/src/services/data/sink-registry.service.js.map +1 -0
  142. package/dist/backend/backend/src/services/messaging/message-router.service.d.ts.map +1 -1
  143. package/dist/backend/backend/src/services/messaging/message-router.service.js +7 -0
  144. package/dist/backend/backend/src/services/messaging/message-router.service.js.map +1 -1
  145. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +55 -2
  146. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  147. package/dist/backend/backend/src/services/monitoring/token-usage.service.js +89 -5
  148. package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  149. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +1 -1
  150. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  151. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts +105 -14
  152. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  153. package/dist/backend/backend/src/services/workflow/cron-task.service.js +400 -123
  154. package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
  155. package/dist/backend/backend/src/types/cron-task.types.d.ts +1 -1
  156. package/dist/backend/backend/src/types/data-object.types.d.ts +117 -0
  157. package/dist/backend/backend/src/types/data-object.types.d.ts.map +1 -0
  158. package/dist/backend/backend/src/types/data-object.types.js +23 -0
  159. package/dist/backend/backend/src/types/data-object.types.js.map +1 -0
  160. package/dist/backend/backend/src/types/settings.types.js +1 -1
  161. package/dist/backend/config/constants.d.ts +3 -3
  162. package/dist/backend/config/constants.js +3 -3
  163. package/dist/backend/config/constants.js.map +1 -1
  164. package/dist/cli/backend/src/constants.d.ts +7 -4
  165. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  166. package/dist/cli/backend/src/constants.js +6 -3
  167. package/dist/cli/backend/src/constants.js.map +1 -1
  168. package/dist/cli/backend/src/types/settings.types.js +1 -1
  169. package/dist/cli/config/constants.d.ts +3 -3
  170. package/dist/cli/config/constants.js +3 -3
  171. package/dist/cli/config/constants.js.map +1 -1
  172. package/frontend/dist/assets/index-371b68d4.css +33 -0
  173. package/frontend/dist/assets/{index-9af2ea40.js → index-506f70da.js} +321 -321
  174. package/frontend/dist/index.html +2 -2
  175. package/package.json +1 -1
  176. package/frontend/dist/assets/index-b19b2478.css +0 -33
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Data Controller — V2 Data Architecture
3
+ *
4
+ * REST API handlers for the Unified Data Model.
5
+ * Delegates to DataObjectStore, SchemaRegistry, and SinkRegistry services.
6
+ *
7
+ * @see specs/crewly-data-architecture-v2.md
8
+ * @module controllers/data/data.controller
9
+ */
10
+ /**
11
+ * Resolve the active project path from the request or environment.
12
+ *
13
+ * @returns Absolute project path
14
+ */
15
+ function resolveProjectPath() {
16
+ return process.env.CREWLY_PROJECT_PATH || process.cwd();
17
+ }
18
+ /**
19
+ * GET /api/v2/data/objects — List DataObjects with optional filters.
20
+ */
21
+ export async function listDataObjects(req, res) {
22
+ try {
23
+ const { DataObjectStore } = await import('../../services/data/data-object-store.service.js');
24
+ const store = DataObjectStore.getInstance(resolveProjectPath());
25
+ const filters = {
26
+ type: req.query.type,
27
+ scope: req.query.scope,
28
+ status: req.query.status,
29
+ namespace: req.query.namespace,
30
+ owner_id: req.query.owner_id,
31
+ tags: req.query.tags ? req.query.tags.split(',') : undefined,
32
+ };
33
+ const objects = await store.list(filters);
34
+ res.json({ success: true, data: objects, count: objects.length });
35
+ }
36
+ catch (err) {
37
+ res.status(500).json({ success: false, error: err.message });
38
+ }
39
+ }
40
+ /**
41
+ * GET /api/v2/data/objects/:id — Fetch a single DataObject by ID.
42
+ */
43
+ export async function getDataObject(req, res) {
44
+ try {
45
+ const { DataObjectStore } = await import('../../services/data/data-object-store.service.js');
46
+ const store = DataObjectStore.getInstance(resolveProjectPath());
47
+ const obj = await store.getById(req.params.id);
48
+ if (!obj) {
49
+ res.status(404).json({ success: false, error: 'DataObject not found' });
50
+ return;
51
+ }
52
+ res.json({ success: true, data: obj });
53
+ }
54
+ catch (err) {
55
+ res.status(500).json({ success: false, error: err.message });
56
+ }
57
+ }
58
+ /**
59
+ * POST /api/v2/data/objects — Create a new DataObject.
60
+ */
61
+ export async function createDataObject(req, res) {
62
+ try {
63
+ const { DataObjectStore } = await import('../../services/data/data-object-store.service.js');
64
+ const store = DataObjectStore.getInstance(resolveProjectPath());
65
+ const { type, scope, schema_id, owner_id, namespace, payload, tags, source_thread_id, confidence_score } = req.body;
66
+ if (!type || !scope || !owner_id || !namespace) {
67
+ res.status(400).json({ success: false, error: 'Missing required fields: type, scope, owner_id, namespace' });
68
+ return;
69
+ }
70
+ if (schema_id) {
71
+ try {
72
+ const { SchemaRegistryService } = await import('../../services/data/schema-registry.service.js');
73
+ const result = SchemaRegistryService.getInstance().validate(schema_id, payload || {});
74
+ if (!result.valid) {
75
+ res.status(422).json({ success: false, error: 'Schema validation failed', validationErrors: result.errors });
76
+ return;
77
+ }
78
+ }
79
+ catch { /* schema service not loaded */ }
80
+ }
81
+ const obj = await store.create({ type, scope, schema_id: schema_id || '', owner_id, namespace, payload: payload || {}, tags: tags || [], source_thread_id, confidence_score });
82
+ res.status(201).json({ success: true, data: obj });
83
+ }
84
+ catch (err) {
85
+ res.status(500).json({ success: false, error: err.message });
86
+ }
87
+ }
88
+ /**
89
+ * PATCH /api/v2/data/objects/:id — Update a DataObject.
90
+ */
91
+ export async function updateDataObject(req, res) {
92
+ try {
93
+ const { DataObjectStore } = await import('../../services/data/data-object-store.service.js');
94
+ const store = DataObjectStore.getInstance(resolveProjectPath());
95
+ const obj = await store.update(req.params.id, req.body);
96
+ if (!obj) {
97
+ res.status(404).json({ success: false, error: 'DataObject not found' });
98
+ return;
99
+ }
100
+ res.json({ success: true, data: obj });
101
+ }
102
+ catch (err) {
103
+ res.status(500).json({ success: false, error: err.message });
104
+ }
105
+ }
106
+ /**
107
+ * DELETE /api/v2/data/objects/:id — Delete or archive a DataObject.
108
+ */
109
+ export async function deleteDataObject(req, res) {
110
+ try {
111
+ const { DataObjectStore } = await import('../../services/data/data-object-store.service.js');
112
+ const store = DataObjectStore.getInstance(resolveProjectPath());
113
+ if (req.query.hard === 'true') {
114
+ const deleted = await store.delete(req.params.id);
115
+ if (!deleted) {
116
+ res.status(404).json({ success: false, error: 'DataObject not found' });
117
+ return;
118
+ }
119
+ res.json({ success: true, message: 'DataObject permanently deleted' });
120
+ }
121
+ else {
122
+ const obj = await store.update(req.params.id, { status: 'archived' });
123
+ if (!obj) {
124
+ res.status(404).json({ success: false, error: 'DataObject not found' });
125
+ return;
126
+ }
127
+ res.json({ success: true, data: obj, message: 'DataObject archived' });
128
+ }
129
+ }
130
+ catch (err) {
131
+ res.status(500).json({ success: false, error: err.message });
132
+ }
133
+ }
134
+ /**
135
+ * GET /api/v2/data/schemas — List all available schemas.
136
+ */
137
+ export async function listSchemas(_req, res) {
138
+ try {
139
+ const { SchemaRegistryService } = await import('../../services/data/schema-registry.service.js');
140
+ res.json({ success: true, data: SchemaRegistryService.getInstance().listSchemas() });
141
+ }
142
+ catch (err) {
143
+ res.status(500).json({ success: false, error: err.message });
144
+ }
145
+ }
146
+ /**
147
+ * GET /api/v2/data/sinks — List all registered sinks.
148
+ */
149
+ export async function listSinks(_req, res) {
150
+ try {
151
+ const { SinkRegistryService } = await import('../../services/data/sink-registry.service.js');
152
+ res.json({ success: true, data: SinkRegistryService.getInstance().listSinks() });
153
+ }
154
+ catch (err) {
155
+ res.status(500).json({ success: false, error: err.message });
156
+ }
157
+ }
158
+ /**
159
+ * POST /api/v2/data/sinks/:sinkId — Ingest data into a specific sink.
160
+ */
161
+ export async function ingestToSink(req, res) {
162
+ try {
163
+ const { SinkRegistryService } = await import('../../services/data/sink-registry.service.js');
164
+ const { DataObjectStore } = await import('../../services/data/data-object-store.service.js');
165
+ const sinkRegistry = SinkRegistryService.getInstance();
166
+ const store = DataObjectStore.getInstance(resolveProjectPath());
167
+ const sink = sinkRegistry.getSink(req.params.sinkId);
168
+ if (!sink) {
169
+ res.status(404).json({ success: false, error: `Sink "${req.params.sinkId}" not found` });
170
+ return;
171
+ }
172
+ const { data, owner_id } = req.body;
173
+ if (!data || typeof data !== 'object') {
174
+ res.status(400).json({ success: false, error: 'Missing required field: data (object)' });
175
+ return;
176
+ }
177
+ if (sink.schema_id) {
178
+ try {
179
+ const { SchemaRegistryService: SR } = await import('../../services/data/schema-registry.service.js');
180
+ const result = SR.getInstance().validate(sink.schema_id, data);
181
+ if (!result.valid) {
182
+ res.status(422).json({ success: false, error: 'Schema validation failed', validationErrors: result.errors, sink: sink.id });
183
+ return;
184
+ }
185
+ }
186
+ catch { /* schema service not loaded */ }
187
+ }
188
+ const obj = await store.create({ type: 'sink_entry', scope: 'project', schema_id: sink.schema_id || '', owner_id: owner_id || 'system', namespace: sink.id, payload: data, tags: [], source_thread_id: req.body.source_thread_id });
189
+ res.status(201).json({ success: true, data: obj, sink: sink.id, message: `Data ingested into sink "${sink.name}"` });
190
+ }
191
+ catch (err) {
192
+ res.status(500).json({ success: false, error: err.message });
193
+ }
194
+ }
195
+ /**
196
+ * GET /api/v2/data/sync/status — Check dual-machine sync health.
197
+ */
198
+ export async function getSyncStatus(_req, res) {
199
+ res.json({ success: true, data: { syncEnabled: false, localObjects: 0, syncedObjects: 0, conflictObjects: 0, lastSyncAt: null, message: 'Sync not yet enabled (Phase 3)' } });
200
+ }
201
+ //# sourceMappingURL=data.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/data/data.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Data API Routes — V2 Data Architecture
3
+ *
4
+ * REST endpoints for the Unified Data Model (UDM).
5
+ * Provides CRUD for DataObjects, schema listing, sink ingestion,
6
+ * and sync status.
7
+ *
8
+ * @see specs/crewly-data-architecture-v2.md — Section 7
9
+ * @module controllers/data/data.routes
10
+ */
11
+ import { Router } from 'express';
12
+ /**
13
+ * Create the Data API router for /api/v2/data routes.
14
+ *
15
+ * @returns Express router with all data endpoints
16
+ */
17
+ export declare function createDataRouter(): Router;
18
+ //# sourceMappingURL=data.routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/data/data.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAajC;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAmCzC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Data API Routes — V2 Data Architecture
3
+ *
4
+ * REST endpoints for the Unified Data Model (UDM).
5
+ * Provides CRUD for DataObjects, schema listing, sink ingestion,
6
+ * and sync status.
7
+ *
8
+ * @see specs/crewly-data-architecture-v2.md — Section 7
9
+ * @module controllers/data/data.routes
10
+ */
11
+ import { Router } from 'express';
12
+ import { listDataObjects, getDataObject, createDataObject, updateDataObject, deleteDataObject, listSchemas, ingestToSink, listSinks, getSyncStatus, } from './data.controller.js';
13
+ /**
14
+ * Create the Data API router for /api/v2/data routes.
15
+ *
16
+ * @returns Express router with all data endpoints
17
+ */
18
+ export function createDataRouter() {
19
+ const router = Router();
20
+ // ── DataObjects ────────────────────────────────────────────────
21
+ // GET /api/v2/data/objects — List with filters (type, scope, status, namespace)
22
+ router.get('/objects', listDataObjects);
23
+ // GET /api/v2/data/objects/:id — Fetch by ID
24
+ router.get('/objects/:id', getDataObject);
25
+ // POST /api/v2/data/objects — Create a new DataObject
26
+ router.post('/objects', createDataObject);
27
+ // PATCH /api/v2/data/objects/:id — Update (status, metadata, payload)
28
+ router.patch('/objects/:id', updateDataObject);
29
+ // DELETE /api/v2/data/objects/:id — Delete (soft-archive or hard-delete)
30
+ router.delete('/objects/:id', deleteDataObject);
31
+ // ── Schemas ────────────────────────────────────────────────────
32
+ // GET /api/v2/data/schemas — List available schemas
33
+ router.get('/schemas', listSchemas);
34
+ // ── Sinks ──────────────────────────────────────────────────────
35
+ // GET /api/v2/data/sinks — List registered sinks
36
+ router.get('/sinks', listSinks);
37
+ // POST /api/v2/data/sinks/:sinkId — Ingest data into a sink
38
+ router.post('/sinks/:sinkId', ingestToSink);
39
+ // ── Sync ───────────────────────────────────────────────────────
40
+ // GET /api/v2/data/sync/status — Check sync health
41
+ router.get('/sync/status', getSyncStatus);
42
+ return router;
43
+ }
44
+ //# sourceMappingURL=data.routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/data/data.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,kEAAkE;IAClE,wFAAwF;IACxF,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExC,iDAAiD;IACjD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAE1C,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAE1C,wEAAwE;IACxE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAEhD,kEAAkE;IAClE,4DAA4D;IAC5D,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEpC,kEAAkE;IAClE,2DAA2D;IAC3D,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEhC,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAE5C,kEAAkE;IAClE,uDAAuD;IACvD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -10,11 +10,12 @@ import type { Request, Response } from 'express';
10
10
  * GET /api/monitoring/token-usage
11
11
  *
12
12
  * Returns per-session token usage summaries for the dashboard.
13
+ * Supports optional `?taskId=xxx` query parameter to filter by task.
13
14
  *
14
- * @param _req - Express request (unused)
15
+ * @param req - Express request with optional taskId query param
15
16
  * @param res - Express response
16
17
  */
17
- export declare function getTokenUsage(_req: Request, res: Response): void;
18
+ export declare function getTokenUsage(req: Request, res: Response): void;
18
19
  /**
19
20
  * POST /api/monitoring/token-usage/reset
20
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"token-usage.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/monitoring/token-usage.controller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAIhE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAIlE;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CASnF;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B/E"}
1
+ {"version":3,"file":"token-usage.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/monitoring/token-usage.controller.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAK/D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAIlE;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CASnF;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B/E"}
@@ -12,13 +12,15 @@ import { formatError } from '../../utils/format-error.js';
12
12
  * GET /api/monitoring/token-usage
13
13
  *
14
14
  * Returns per-session token usage summaries for the dashboard.
15
+ * Supports optional `?taskId=xxx` query parameter to filter by task.
15
16
  *
16
- * @param _req - Express request (unused)
17
+ * @param req - Express request with optional taskId query param
17
18
  * @param res - Express response
18
19
  */
19
- export function getTokenUsage(_req, res) {
20
+ export function getTokenUsage(req, res) {
20
21
  const service = TokenUsageService.getInstance();
21
- const sessions = service.getUsageBySessions();
22
+ const taskId = req.query.taskId;
23
+ const sessions = service.getUsageBySessions(taskId);
22
24
  res.json({ success: true, data: sessions });
23
25
  }
24
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"token-usage.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/monitoring/token-usage.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-usage.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/monitoring/token-usage.controller.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,10 @@ export declare function listCronTasks(req: Request, res: Response): Promise<void
19
19
  * PATCH /api/cron-tasks/:id — Update a cron task.
20
20
  */
21
21
  export declare function updateCronTask(req: Request, res: Response): Promise<void>;
22
+ /**
23
+ * GET /api/teams/:teamId/cron-tasks — List cron tasks for a specific team.
24
+ */
25
+ export declare function listTeamCronTasks(req: Request, res: Response): Promise<void>;
22
26
  /**
23
27
  * DELETE /api/cron-tasks/:id — Delete a cron task (user/orchestrator only).
24
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cron-task.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/cron-task.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB/E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/E"}
1
+ {"version":3,"file":"cron-task.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/cron-task.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB/E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/E"}
@@ -82,6 +82,26 @@ export async function updateCronTask(req, res) {
82
82
  });
83
83
  }
84
84
  }
85
+ /**
86
+ * GET /api/teams/:teamId/cron-tasks — List cron tasks for a specific team.
87
+ */
88
+ export async function listTeamCronTasks(req, res) {
89
+ try {
90
+ const teamId = req.params.teamId || req.params.id;
91
+ const targetAgent = req.query.targetAgent;
92
+ const enabled = req.query.enabled !== undefined
93
+ ? req.query.enabled === 'true'
94
+ : undefined;
95
+ const tasks = await CronTaskService.getInstance().getByTeam(teamId, { targetAgent, enabled });
96
+ res.json({ success: true, data: tasks });
97
+ }
98
+ catch (error) {
99
+ res.status(500).json({
100
+ success: false,
101
+ error: error instanceof Error ? error.message : 'Failed to list team cron tasks',
102
+ });
103
+ }
104
+ }
85
105
  /**
86
106
  * DELETE /api/cron-tasks/:id — Delete a cron task (user/orchestrator only).
87
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cron-task.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/cron-task.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cron-task.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/system/cron-task.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-management.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/task-management/task-management.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-management.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/task-management/task-management.controller.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { resolveStepConfig } from '../../utils/prompt-resolver.js';
5
5
  import { updateAgentHeartbeat } from '../../services/agent/agent-heartbeat.service.js';
6
6
  import { CREWLY_CONSTANTS } from '../../constants.js';
7
7
  import { LoggerService } from '../../services/core/logger.service.js';
8
+ import { TaskPlanningService } from '../../services/agent/task-planning.service.js';
8
9
  import { TaskOutputValidatorService } from '../../services/quality/task-output-validator.service.js';
9
10
  import { TracingService } from '../../services/core/tracing.service.js';
10
11
  import { TRACING_CONSTANTS } from '../../constants.js';
@@ -136,6 +137,23 @@ export async function createTask(req, res) {
136
137
  taskContent += validator.generateSchemaMarkdown(outputSchema);
137
138
  }
138
139
  await writeFile(taskPath, taskContent, 'utf-8');
140
+ // Create planning files (plan.md, findings.md, progress.md) when task is assigned
141
+ if (sessionName) {
142
+ try {
143
+ const planningService = TaskPlanningService.getInstance();
144
+ await planningService.createPlanningFiles({
145
+ taskFilePath: taskPath,
146
+ taskTitle: task,
147
+ priority,
148
+ sessionName,
149
+ });
150
+ }
151
+ catch (planErr) {
152
+ logger.warn('Failed to create planning files (non-fatal)', {
153
+ error: planErr instanceof Error ? planErr.message : String(planErr),
154
+ });
155
+ }
156
+ }
139
157
  // If assigned, track via TaskTrackingService
140
158
  let trackedTaskId;
141
159
  if (sessionName) {