opencastle 0.27.3 → 0.28.0

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 (61) hide show
  1. package/bin/cli.mjs +13 -5
  2. package/dist/cli/convoy/engine.js +2 -2
  3. package/dist/cli/convoy/engine.js.map +1 -1
  4. package/dist/cli/convoy/engine.test.js +1 -1
  5. package/dist/cli/convoy/engine.test.js.map +1 -1
  6. package/dist/cli/convoy/issues.js +3 -3
  7. package/dist/cli/convoy/issues.js.map +1 -1
  8. package/dist/cli/convoy/issues.test.js +4 -3
  9. package/dist/cli/convoy/issues.test.js.map +1 -1
  10. package/dist/cli/pipeline.d.ts +3 -0
  11. package/dist/cli/pipeline.d.ts.map +1 -0
  12. package/dist/cli/pipeline.js +305 -0
  13. package/dist/cli/pipeline.js.map +1 -0
  14. package/dist/cli/plan.d.ts +37 -0
  15. package/dist/cli/plan.d.ts.map +1 -1
  16. package/dist/cli/plan.js +321 -161
  17. package/dist/cli/plan.js.map +1 -1
  18. package/dist/cli/validate.d.ts +3 -0
  19. package/dist/cli/validate.d.ts.map +1 -0
  20. package/dist/cli/validate.js +60 -0
  21. package/dist/cli/validate.js.map +1 -0
  22. package/package.json +5 -4
  23. package/src/cli/convoy/engine.test.ts +1 -1
  24. package/src/cli/convoy/engine.ts +2 -2
  25. package/src/cli/convoy/issues.test.ts +3 -2
  26. package/src/cli/convoy/issues.ts +3 -3
  27. package/src/cli/pipeline.ts +343 -0
  28. package/src/cli/plan.ts +357 -153
  29. package/src/cli/validate.ts +65 -0
  30. package/src/dashboard/dist/data/convoy-list.json +54 -9
  31. package/src/dashboard/dist/data/convoys/demo-api-v2.json +177 -0
  32. package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +239 -0
  33. package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +328 -0
  34. package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +187 -0
  35. package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +153 -0
  36. package/src/dashboard/dist/data/convoys/demo-docs-update.json +154 -0
  37. package/src/dashboard/dist/data/convoys/demo-perf-opt.json +227 -0
  38. package/src/dashboard/dist/data/events.ndjson +115 -0
  39. package/src/dashboard/dist/data/overall-stats.json +56 -13
  40. package/src/dashboard/dist/data/pipelines.ndjson +5285 -0
  41. package/src/dashboard/dist/index.html +39 -16
  42. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  43. package/src/dashboard/public/data/convoy-list.json +54 -9
  44. package/src/dashboard/public/data/convoys/demo-api-v2.json +177 -0
  45. package/src/dashboard/public/data/convoys/demo-auth-revamp.json +239 -0
  46. package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +328 -0
  47. package/src/dashboard/public/data/convoys/demo-data-pipeline.json +187 -0
  48. package/src/dashboard/public/data/convoys/demo-deploy-ci.json +153 -0
  49. package/src/dashboard/public/data/convoys/demo-docs-update.json +154 -0
  50. package/src/dashboard/public/data/convoys/demo-perf-opt.json +227 -0
  51. package/src/dashboard/public/data/events.ndjson +115 -0
  52. package/src/dashboard/public/data/overall-stats.json +56 -13
  53. package/src/dashboard/public/data/pipelines.ndjson +5285 -0
  54. package/src/dashboard/scripts/etl.ts +24 -3
  55. package/src/dashboard/scripts/generate-demo-db.ts +482 -115
  56. package/src/dashboard/src/pages/index.astro +46 -23
  57. package/src/orchestrator/prompts/fix-convoy.prompt.md +79 -0
  58. package/src/orchestrator/prompts/generate-convoy.prompt.md +53 -58
  59. package/src/orchestrator/prompts/generate-prd.prompt.md +120 -0
  60. package/src/orchestrator/prompts/validate-convoy.prompt.md +89 -0
  61. package/src/orchestrator/prompts/validate-prd.prompt.md +83 -0
@@ -0,0 +1,187 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-data-pipeline",
4
+ "name": "Analytics ETL Pipeline",
5
+ "status": "done",
6
+ "created_at": "2026-02-22T13:00:00.000Z",
7
+ "finished_at": "2026-02-22T13:38:00.000Z",
8
+ "branch": "feat/etl-v2",
9
+ "total_tokens": 28900,
10
+ "total_cost_usd": 2.89
11
+ },
12
+ "taskSummary": {
13
+ "total": 4,
14
+ "done": 4,
15
+ "running": 0,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 1,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 1,
22
+ "max_drift_score": 0.12,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 1,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 1,
33
+ "max_drift_score": 0.12,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 0,
37
+ "dlq_entries": [],
38
+ "artifact_count": 3,
39
+ "artifacts": [
40
+ {
41
+ "id": "artifact-demo-data-pipeline-src-etl-pipeline-ts",
42
+ "name": "src/etl/pipeline.ts",
43
+ "type": "file",
44
+ "task_id": "etl-t2",
45
+ "created_at": "2026-03-12T22:26:01.388Z"
46
+ },
47
+ {
48
+ "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
+ "name": "src/etl/schema.ts",
50
+ "type": "file",
51
+ "task_id": "etl-t1",
52
+ "created_at": "2026-03-12T22:26:01.388Z"
53
+ },
54
+ {
55
+ "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
+ "name": "tests/etl/pipeline.test.ts",
57
+ "type": "file",
58
+ "task_id": "etl-t3",
59
+ "created_at": "2026-03-12T22:26:01.388Z"
60
+ }
61
+ ],
62
+ "has_more_events": false,
63
+ "events": [
64
+ {
65
+ "type": "task_done",
66
+ "task_id": "etl-t3",
67
+ "data": null,
68
+ "created_at": "2026-02-22T13:37:00.000Z"
69
+ },
70
+ {
71
+ "type": "task_started",
72
+ "task_id": "etl-t3",
73
+ "data": null,
74
+ "created_at": "2026-02-22T13:31:00.000Z"
75
+ },
76
+ {
77
+ "type": "task_done",
78
+ "task_id": "etl-t2",
79
+ "data": null,
80
+ "created_at": "2026-02-22T13:30:00.000Z"
81
+ },
82
+ {
83
+ "type": "task_started",
84
+ "task_id": "etl-t2",
85
+ "data": null,
86
+ "created_at": "2026-02-22T13:12:00.000Z"
87
+ },
88
+ {
89
+ "type": "task_done",
90
+ "task_id": "etl-t1",
91
+ "data": null,
92
+ "created_at": "2026-02-22T13:11:00.000Z"
93
+ },
94
+ {
95
+ "type": "task_started",
96
+ "task_id": "etl-t1",
97
+ "data": null,
98
+ "created_at": "2026-02-22T13:00:05.000Z"
99
+ }
100
+ ],
101
+ "tasks": [
102
+ {
103
+ "id": "etl-t1",
104
+ "phase": 1,
105
+ "agent": "Data Expert",
106
+ "model": "claude-sonnet-4-6",
107
+ "status": "done",
108
+ "retries": 0,
109
+ "started_at": "2026-02-22T13:00:05.000Z",
110
+ "finished_at": "2026-02-22T13:11:00.000Z",
111
+ "total_tokens": 7800,
112
+ "cost_usd": 0.78,
113
+ "review_level": null,
114
+ "review_verdict": null,
115
+ "review_tokens": null,
116
+ "review_model": null,
117
+ "panel_attempts": 0,
118
+ "dispute_id": null,
119
+ "drift_score": null,
120
+ "drift_retried": 0,
121
+ "files": null
122
+ },
123
+ {
124
+ "id": "etl-t2",
125
+ "phase": 2,
126
+ "agent": "Data Expert",
127
+ "model": "claude-sonnet-4-6",
128
+ "status": "done",
129
+ "retries": 1,
130
+ "started_at": "2026-02-22T13:12:00.000Z",
131
+ "finished_at": "2026-02-22T13:30:00.000Z",
132
+ "total_tokens": 12400,
133
+ "cost_usd": 1.24,
134
+ "review_level": null,
135
+ "review_verdict": null,
136
+ "review_tokens": null,
137
+ "review_model": null,
138
+ "panel_attempts": 0,
139
+ "dispute_id": null,
140
+ "drift_score": 0.12,
141
+ "drift_retried": 0,
142
+ "files": null
143
+ },
144
+ {
145
+ "id": "etl-t3",
146
+ "phase": 3,
147
+ "agent": "Testing Expert",
148
+ "model": "claude-sonnet-4-6",
149
+ "status": "done",
150
+ "retries": 0,
151
+ "started_at": "2026-02-22T13:31:00.000Z",
152
+ "finished_at": "2026-02-22T13:37:00.000Z",
153
+ "total_tokens": 8700,
154
+ "cost_usd": 0.87,
155
+ "review_level": null,
156
+ "review_verdict": null,
157
+ "review_tokens": null,
158
+ "review_model": null,
159
+ "panel_attempts": 0,
160
+ "dispute_id": null,
161
+ "drift_score": null,
162
+ "drift_retried": 0,
163
+ "files": null
164
+ },
165
+ {
166
+ "id": "etl-t4",
167
+ "phase": 4,
168
+ "agent": "Reviewer",
169
+ "model": "claude-haiku-3-5",
170
+ "status": "done",
171
+ "retries": 0,
172
+ "started_at": "2026-02-22T13:32:00.000Z",
173
+ "finished_at": "2026-02-22T13:37:00.000Z",
174
+ "total_tokens": 900,
175
+ "cost_usd": 0.09,
176
+ "review_level": "fast",
177
+ "review_verdict": "pass",
178
+ "review_tokens": 900,
179
+ "review_model": "claude-haiku-3-5",
180
+ "panel_attempts": 0,
181
+ "dispute_id": null,
182
+ "drift_score": null,
183
+ "drift_retried": 0,
184
+ "files": null
185
+ }
186
+ ]
187
+ }
@@ -0,0 +1,153 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-deploy-ci",
4
+ "name": "CI/CD Pipeline Setup",
5
+ "status": "running",
6
+ "created_at": "2026-03-11T08:00:00.000Z",
7
+ "finished_at": null,
8
+ "branch": "feat/ci-cd",
9
+ "total_tokens": null,
10
+ "total_cost_usd": null
11
+ },
12
+ "taskSummary": {
13
+ "total": 3,
14
+ "done": 1,
15
+ "running": 1,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 0,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 0,
22
+ "max_drift_score": null,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 0,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 0,
33
+ "max_drift_score": null,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 1,
37
+ "dlq_entries": [
38
+ {
39
+ "id": "dlq-ci-1",
40
+ "task_id": "ci-t2",
41
+ "agent": "DevOps Expert",
42
+ "failure_type": "timeout",
43
+ "attempts": 2,
44
+ "resolved": 0
45
+ }
46
+ ],
47
+ "artifact_count": 1,
48
+ "artifacts": [
49
+ {
50
+ "id": "artifact-demo-deploy-ci--github-workflows-ci-yml",
51
+ "name": ".github/workflows/ci.yml",
52
+ "type": "file",
53
+ "task_id": "ci-t1",
54
+ "created_at": "2026-03-12T22:26:01.389Z"
55
+ }
56
+ ],
57
+ "has_more_events": false,
58
+ "events": [
59
+ {
60
+ "type": "secret_leak_prevented",
61
+ "task_id": "ci-t1",
62
+ "data": {
63
+ "secret_type": "API_KEY",
64
+ "file": ".env.staging",
65
+ "masked": true
66
+ },
67
+ "created_at": "2026-03-11T08:08:00.000Z"
68
+ },
69
+ {
70
+ "type": "task_started",
71
+ "task_id": "ci-t2",
72
+ "data": null,
73
+ "created_at": "2026-03-11T08:15:00.000Z"
74
+ },
75
+ {
76
+ "type": "task_done",
77
+ "task_id": "ci-t1",
78
+ "data": null,
79
+ "created_at": "2026-03-11T08:14:00.000Z"
80
+ },
81
+ {
82
+ "type": "task_started",
83
+ "task_id": "ci-t1",
84
+ "data": null,
85
+ "created_at": "2026-03-11T08:00:05.000Z"
86
+ }
87
+ ],
88
+ "tasks": [
89
+ {
90
+ "id": "ci-t1",
91
+ "phase": 1,
92
+ "agent": "DevOps Expert",
93
+ "model": "claude-sonnet-4-6",
94
+ "status": "done",
95
+ "retries": 0,
96
+ "started_at": "2026-03-11T08:00:05.000Z",
97
+ "finished_at": "2026-03-11T08:14:00.000Z",
98
+ "total_tokens": 6400,
99
+ "cost_usd": 0.64,
100
+ "review_level": null,
101
+ "review_verdict": null,
102
+ "review_tokens": null,
103
+ "review_model": null,
104
+ "panel_attempts": 0,
105
+ "dispute_id": null,
106
+ "drift_score": null,
107
+ "drift_retried": 0,
108
+ "files": null
109
+ },
110
+ {
111
+ "id": "ci-t2",
112
+ "phase": 2,
113
+ "agent": "DevOps Expert",
114
+ "model": "claude-sonnet-4-6",
115
+ "status": "running",
116
+ "retries": 0,
117
+ "started_at": "2026-03-11T08:15:00.000Z",
118
+ "finished_at": null,
119
+ "total_tokens": null,
120
+ "cost_usd": null,
121
+ "review_level": null,
122
+ "review_verdict": null,
123
+ "review_tokens": null,
124
+ "review_model": null,
125
+ "panel_attempts": 0,
126
+ "dispute_id": null,
127
+ "drift_score": null,
128
+ "drift_retried": 0,
129
+ "files": null
130
+ },
131
+ {
132
+ "id": "ci-t3",
133
+ "phase": 2,
134
+ "agent": "DevOps Expert",
135
+ "model": "claude-sonnet-4-6",
136
+ "status": "pending",
137
+ "retries": 0,
138
+ "started_at": null,
139
+ "finished_at": null,
140
+ "total_tokens": null,
141
+ "cost_usd": null,
142
+ "review_level": null,
143
+ "review_verdict": null,
144
+ "review_tokens": null,
145
+ "review_model": null,
146
+ "panel_attempts": 0,
147
+ "dispute_id": null,
148
+ "drift_score": null,
149
+ "drift_retried": 0,
150
+ "files": null
151
+ }
152
+ ]
153
+ }
@@ -0,0 +1,154 @@
1
+ {
2
+ "convoy": {
3
+ "id": "demo-docs-update",
4
+ "name": "Documentation Refresh",
5
+ "status": "done",
6
+ "created_at": "2026-02-28T15:00:00.000Z",
7
+ "finished_at": "2026-02-28T15:22:00.000Z",
8
+ "branch": "docs/update-march",
9
+ "total_tokens": 14800,
10
+ "total_cost_usd": 1.48
11
+ },
12
+ "taskSummary": {
13
+ "total": 3,
14
+ "done": 3,
15
+ "running": 0,
16
+ "failed": 0,
17
+ "review_blocked": 0,
18
+ "disputed": 0,
19
+ "reviewed": 1,
20
+ "panel_reviewed": 0,
21
+ "tasks_with_drift": 0,
22
+ "max_drift_score": null,
23
+ "drift_retried": 0
24
+ },
25
+ "quality": {
26
+ "reviewed_tasks": 1,
27
+ "review_blocked_tasks": 0,
28
+ "disputed_tasks": 0,
29
+ "panel_reviews": 0
30
+ },
31
+ "drift": {
32
+ "tasks_with_drift": 0,
33
+ "max_drift_score": null,
34
+ "drift_retried_tasks": 0
35
+ },
36
+ "dlq_count": 0,
37
+ "dlq_entries": [],
38
+ "artifact_count": 3,
39
+ "artifacts": [
40
+ {
41
+ "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
42
+ "name": "docs/ARCHITECTURE.md",
43
+ "type": "file",
44
+ "task_id": "docs-t1",
45
+ "created_at": "2026-03-12T22:26:01.388Z"
46
+ },
47
+ {
48
+ "id": "artifact-demo-docs-update-docs-README-md",
49
+ "name": "docs/README.md",
50
+ "type": "file",
51
+ "task_id": "docs-t1",
52
+ "created_at": "2026-03-12T22:26:01.388Z"
53
+ },
54
+ {
55
+ "id": "artifact-demo-docs-update-docs-api-reference-json",
56
+ "name": "docs/api-reference.json",
57
+ "type": "json",
58
+ "task_id": "docs-t2",
59
+ "created_at": "2026-03-12T22:26:01.389Z"
60
+ }
61
+ ],
62
+ "has_more_events": false,
63
+ "events": [
64
+ {
65
+ "type": "task_done",
66
+ "task_id": "docs-t2",
67
+ "data": null,
68
+ "created_at": "2026-02-28T15:21:00.000Z"
69
+ },
70
+ {
71
+ "type": "task_started",
72
+ "task_id": "docs-t2",
73
+ "data": null,
74
+ "created_at": "2026-02-28T15:15:00.000Z"
75
+ },
76
+ {
77
+ "type": "task_done",
78
+ "task_id": "docs-t1",
79
+ "data": null,
80
+ "created_at": "2026-02-28T15:14:00.000Z"
81
+ },
82
+ {
83
+ "type": "task_started",
84
+ "task_id": "docs-t1",
85
+ "data": null,
86
+ "created_at": "2026-02-28T15:00:05.000Z"
87
+ }
88
+ ],
89
+ "tasks": [
90
+ {
91
+ "id": "docs-t1",
92
+ "phase": 1,
93
+ "agent": "Documentation Writer",
94
+ "model": "claude-haiku-3-5",
95
+ "status": "done",
96
+ "retries": 0,
97
+ "started_at": "2026-02-28T15:00:05.000Z",
98
+ "finished_at": "2026-02-28T15:14:00.000Z",
99
+ "total_tokens": 8200,
100
+ "cost_usd": 0.82,
101
+ "review_level": null,
102
+ "review_verdict": null,
103
+ "review_tokens": null,
104
+ "review_model": null,
105
+ "panel_attempts": 0,
106
+ "dispute_id": null,
107
+ "drift_score": null,
108
+ "drift_retried": 0,
109
+ "files": null
110
+ },
111
+ {
112
+ "id": "docs-t2",
113
+ "phase": 2,
114
+ "agent": "Documentation Writer",
115
+ "model": "claude-haiku-3-5",
116
+ "status": "done",
117
+ "retries": 0,
118
+ "started_at": "2026-02-28T15:15:00.000Z",
119
+ "finished_at": "2026-02-28T15:21:00.000Z",
120
+ "total_tokens": 6600,
121
+ "cost_usd": 0.66,
122
+ "review_level": null,
123
+ "review_verdict": null,
124
+ "review_tokens": null,
125
+ "review_model": null,
126
+ "panel_attempts": 0,
127
+ "dispute_id": null,
128
+ "drift_score": null,
129
+ "drift_retried": 0,
130
+ "files": null
131
+ },
132
+ {
133
+ "id": "docs-t3",
134
+ "phase": 3,
135
+ "agent": "Reviewer",
136
+ "model": "claude-haiku-3-5",
137
+ "status": "done",
138
+ "retries": 0,
139
+ "started_at": "2026-02-28T15:17:00.000Z",
140
+ "finished_at": "2026-02-28T15:21:00.000Z",
141
+ "total_tokens": 800,
142
+ "cost_usd": 0.08,
143
+ "review_level": "fast",
144
+ "review_verdict": "pass",
145
+ "review_tokens": 800,
146
+ "review_model": "claude-haiku-3-5",
147
+ "panel_attempts": 0,
148
+ "dispute_id": null,
149
+ "drift_score": null,
150
+ "drift_retried": 0,
151
+ "files": null
152
+ }
153
+ ]
154
+ }