@exaudeus/workrail 0.6.1-beta.9 → 0.7.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.
- package/dist/application/services/workflow-service.js +41 -11
- package/dist/cli.js +44 -0
- package/dist/config/feature-flags.d.ts +33 -0
- package/dist/config/feature-flags.js +106 -0
- package/dist/container.d.ts +2 -0
- package/dist/container.js +3 -0
- package/dist/mcp-server.js +31 -6
- package/package.json +1 -1
- package/workflows/CHANGELOG-bug-investigation.md +166 -260
- package/workflows/documentation-update-workflow.json +334 -345
- package/workflows/examples/dashboard-template-workflow.json +176 -0
- package/workflows/systematic-bug-investigation-with-loops.backup-20251106-125543.json +751 -0
- package/workflows/systematic-bug-investigation-with-loops.json +727 -664
- package/web/ADAPTIVE_BACKGROUND_SYSTEM.md +0 -523
- package/web/BACKGROUND_ENHANCEMENTS.md +0 -419
- package/web/COMPONENT_LIBRARY.md +0 -755
- package/web/COMPONENT_MIGRATION_GUIDE.md +0 -537
- package/workflows/dashboard-template-workflow.json +0 -337
- package/workflows/deep-documentation-workflow.json +0 -0
- package/workflows/systemic-bug-investigation-with-loops.json +0 -706
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "dashboard-template-workflow",
|
|
3
|
+
"name": "Dashboard Template Workflow",
|
|
4
|
+
"description": "Template demonstrating how to create dashboard-enabled workflows with best practices",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"tags": [
|
|
7
|
+
"template",
|
|
8
|
+
"dashboard",
|
|
9
|
+
"example"
|
|
10
|
+
],
|
|
11
|
+
"steps": [
|
|
12
|
+
{
|
|
13
|
+
"id": "initialize-dashboard",
|
|
14
|
+
"title": "Initialize Dashboard",
|
|
15
|
+
"expectedOutput": {
|
|
16
|
+
"sessionCreated": true,
|
|
17
|
+
"dashboardUrl": "string"
|
|
18
|
+
},
|
|
19
|
+
"prompt": "Create a session for this workflow using workrail_create_session.\nInitialize the dashboard with basic information:\n- Set a clear, descriptive title\n- Set status to 'in_progress'\n- Set initial progress to 0\n\nExample structure:\n```json\n{\n \"dashboard\": {\n \"title\": \"[Workflow Name]: [Session ID]\",\n \"subtitle\": \"Brief description of what's happening\",\n \"status\": \"in_progress\",\n \"progress\": 0,\n \"_meta\": {\n \"order\": [\"summary\", \"details\", \"timeline\"],\n \"collapsible\": { \"timeline\": true }\n }\n }\n}\n```\n\nUse workrail_create_session with these parameters:\n- workflowId: \"dashboard-template-workflow\"\n- sessionId: A unique ID (e.g., timestamp or user-provided)\n- initialData: The dashboard structure above\n\nIMPORTANT: After creating the session, inform the user they can view the dashboard at:\nhttp://localhost:3456/dashboard.html?workflow=dashboard-template-workflow&id=[SESSION-ID]"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "gather-information",
|
|
23
|
+
"title": "Gather Information",
|
|
24
|
+
"prompt": "Collect information needed for your workflow.\nAs you gather information, update the dashboard to show progress.\n\nUse workrail_update_session to update:\n```json\n{\n \"dashboard\": {\n \"progress\": 25,\n \"currentPhase\": \"Information Gathering\"\n },\n \"summary\": {\n \"description\": \"Summary of information gathered so far\",\n \"status\": \"in_progress\"\n }\n}\n```\n\nAdd timeline events to show what you're doing:\n```json\n{\n \"timeline\": [\n {\n \"timestamp\": \"[current ISO timestamp]\",\n \"event\": \"Started information gathering\",\n \"details\": \"Collecting data from user and system\"\n }\n ]\n}\n```\n\nTIP: Use dot notation for updates:\n- \"dashboard.progress\": 25 (updates just progress)\n- \"timeline\": [...] (replaces entire timeline)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "analyze-data",
|
|
28
|
+
"title": "Analyze Data",
|
|
29
|
+
"prompt": "Analyze the information you've gathered.\nUpdate the dashboard with your findings.\n\nFor findings with severity:\n```json\n{\n \"dashboard\": {\n \"progress\": 50,\n \"currentPhase\": \"Analysis\"\n },\n \"findings\": [\n {\n \"finding\": \"Description of finding\",\n \"severity\": \"high\", // critical, high, medium, low, info\n \"confidence\": 8.5,\n \"reasoning\": \"Why this is a finding\"\n }\n ]\n}\n```\n\nFor hypotheses:\n```json\n{\n \"hypotheses\": [\n {\n \"hypothesis\": \"Description of hypothesis\",\n \"status\": \"testing\", // active, testing, confirmed, partial, rejected, cancelled\n \"confidence\": 7.0,\n \"reasoning\": \"Why you believe this\"\n }\n ]\n}\n```\n\nAdd timeline events:\n```json\n{\n \"timeline\": [\n ...(existing events),\n {\n \"timestamp\": \"[current ISO timestamp]\",\n \"event\": \"Analysis complete\",\n \"details\": \"Identified 3 potential issues\"\n }\n ]\n}\n```"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "generate-recommendations",
|
|
33
|
+
"title": "Generate Recommendations",
|
|
34
|
+
"prompt": "Based on your analysis, generate actionable recommendations.\n\nUse priority-based recommendations:\n```json\n{\n \"dashboard\": {\n \"progress\": 75,\n \"currentPhase\": \"Recommendations\"\n },\n \"recommendations\": [\n {\n \"priority\": 9, // 1-10 scale, higher = more important\n \"description\": \"Clear, actionable recommendation\",\n \"reasoning\": \"Why this is important\",\n \"effort\": \"Estimated effort (e.g., '2 hours', 'medium')\",\n \"status\": \"proposed\" // proposed, planned, in_progress, complete\n },\n {\n \"priority\": 5,\n \"description\": \"Lower priority item\",\n \"reasoning\": \"Nice to have\"\n }\n ]\n}\n```\n\nThe dashboard will automatically:\n- Sort by priority (highest first)\n- Color-code by priority (red=high, yellow=medium, blue=low)\n- Display in card format with reasoning"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "finalize",
|
|
38
|
+
"title": "Finalize and Complete",
|
|
39
|
+
"prompt": "Complete the workflow and update the dashboard to reflect completion.\n\nFinal update:\n```json\n{\n \"dashboard\": {\n \"status\": \"complete\", // or \"error\" if failed\n \"progress\": 100,\n \"currentPhase\": \"Complete\",\n \"confidence\": 8.5 // Overall confidence in results (0-10)\n },\n \"conclusion\": {\n \"summary\": \"High-level summary of what was accomplished\",\n \"keyFindings\": [\"Finding 1\", \"Finding 2\", \"Finding 3\"],\n \"nextSteps\": [\"Step 1\", \"Step 2\"]\n },\n \"timeline\": [\n ...(existing events),\n {\n \"timestamp\": \"[current ISO timestamp]\",\n \"event\": \"Workflow complete\",\n \"details\": \"All analysis and recommendations generated\"\n }\n ]\n}\n```\n\nRemind the user to check the dashboard for full results:\nhttp://localhost:3456/dashboard.html?workflow=dashboard-template-workflow&id=[SESSION-ID]"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"examples": [
|
|
43
|
+
{
|
|
44
|
+
"title": "Bug Investigation Pattern",
|
|
45
|
+
"dashboard": {
|
|
46
|
+
"title": "Bug Investigation: AUTH-1234",
|
|
47
|
+
"subtitle": "Token Refresh Issue",
|
|
48
|
+
"status": "in_progress",
|
|
49
|
+
"progress": 65,
|
|
50
|
+
"_meta": {
|
|
51
|
+
"order": [
|
|
52
|
+
"bugSummary",
|
|
53
|
+
"rootCause",
|
|
54
|
+
"fix",
|
|
55
|
+
"hypotheses",
|
|
56
|
+
"timeline",
|
|
57
|
+
"recommendations"
|
|
58
|
+
],
|
|
59
|
+
"icons": {
|
|
60
|
+
"bugSummary": "bug",
|
|
61
|
+
"rootCause": "alert-circle",
|
|
62
|
+
"fix": "wrench",
|
|
63
|
+
"hypotheses": "lightbulb",
|
|
64
|
+
"timeline": "clock",
|
|
65
|
+
"recommendations": "star"
|
|
66
|
+
},
|
|
67
|
+
"collapsible": {
|
|
68
|
+
"timeline": true,
|
|
69
|
+
"hypotheses": true
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"bugSummary": {
|
|
74
|
+
"description": "Users unable to refresh auth tokens",
|
|
75
|
+
"severity": "high",
|
|
76
|
+
"affectedUsers": "~1000"
|
|
77
|
+
},
|
|
78
|
+
"rootCause": {
|
|
79
|
+
"description": "Token expiry check using server time instead of UTC",
|
|
80
|
+
"confidence": 9.5,
|
|
81
|
+
"file": "/src/auth/token-manager.ts",
|
|
82
|
+
"line": 145
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"title": "Code Review Pattern",
|
|
87
|
+
"dashboard": {
|
|
88
|
+
"title": "Code Review: PR-456",
|
|
89
|
+
"subtitle": "Feature: User Profile Updates",
|
|
90
|
+
"status": "in_progress",
|
|
91
|
+
"progress": 40,
|
|
92
|
+
"_meta": {
|
|
93
|
+
"order": [
|
|
94
|
+
"summary",
|
|
95
|
+
"findings",
|
|
96
|
+
"recommendations"
|
|
97
|
+
],
|
|
98
|
+
"icons": {
|
|
99
|
+
"summary": "file-text",
|
|
100
|
+
"findings": "alert-circle",
|
|
101
|
+
"recommendations": "star"
|
|
102
|
+
},
|
|
103
|
+
"collapsible": {
|
|
104
|
+
"findings": true
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"summary": {
|
|
109
|
+
"filesChanged": 8,
|
|
110
|
+
"linesAdded": 234,
|
|
111
|
+
"linesRemoved": 67
|
|
112
|
+
},
|
|
113
|
+
"findings": [
|
|
114
|
+
{
|
|
115
|
+
"finding": "Missing error handling",
|
|
116
|
+
"severity": "high",
|
|
117
|
+
"file": "/src/profile.ts",
|
|
118
|
+
"line": 45
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"title": "Test Results Pattern",
|
|
124
|
+
"dashboard": {
|
|
125
|
+
"title": "Test Run: Suite #1234",
|
|
126
|
+
"status": "complete",
|
|
127
|
+
"progress": 100,
|
|
128
|
+
"_meta": {
|
|
129
|
+
"order": [
|
|
130
|
+
"summary",
|
|
131
|
+
"results",
|
|
132
|
+
"failures"
|
|
133
|
+
],
|
|
134
|
+
"collapsible": {
|
|
135
|
+
"failures": true
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"summary": {
|
|
140
|
+
"totalTests": 156,
|
|
141
|
+
"passed": 148,
|
|
142
|
+
"failed": 8,
|
|
143
|
+
"coverage": "87%"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"tips": [
|
|
148
|
+
"Always include a 'dashboard' object with title, status, and progress",
|
|
149
|
+
"Use semantic field names that describe the content",
|
|
150
|
+
"Add timeline events to show what you're doing",
|
|
151
|
+
"Use _meta.order to control section sequence",
|
|
152
|
+
"Make long sections (timeline, logs) collapsible",
|
|
153
|
+
"Include confidence scores for AI-generated insights",
|
|
154
|
+
"Update progress incrementally (0%, 25%, 50%, 75%, 100%)",
|
|
155
|
+
"Use status badges: pending, in_progress, complete, error",
|
|
156
|
+
"Add severity to findings: critical, high, medium, low, info",
|
|
157
|
+
"Add priority to recommendations: 1-10 scale",
|
|
158
|
+
"Use ISO 8601 timestamps for timeline events",
|
|
159
|
+
"Group related data: hypotheses array, findings array, etc.",
|
|
160
|
+
"Hide internal fields with _meta.hidden",
|
|
161
|
+
"Use custom icons with _meta.icons for visual identity"
|
|
162
|
+
],
|
|
163
|
+
"autoRecognitionPatterns": {
|
|
164
|
+
"timeline": "Arrays with 'timestamp' field",
|
|
165
|
+
"groupedList": "Arrays with 'status' field",
|
|
166
|
+
"severityList": "Arrays with 'severity' field",
|
|
167
|
+
"priorityList": "Arrays with 'priority' field",
|
|
168
|
+
"phasesList": "Object with keys like 'phase-0', 'phase-1' containing 'complete' and 'name'",
|
|
169
|
+
"highlightCard": "Objects with 'confidence' >= 8",
|
|
170
|
+
"progressBar": "Numbers between 0-100",
|
|
171
|
+
"checkbox": "Boolean values",
|
|
172
|
+
"link": "Strings starting with http:// or https://",
|
|
173
|
+
"filePath": "Strings starting with / or containing file extensions",
|
|
174
|
+
"code": "Strings with code-like patterns (function, class, etc.)"
|
|
175
|
+
}
|
|
176
|
+
}
|