yadflow 2.5.0 → 2.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.
Files changed (124) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/README.md +65 -22
  3. package/bin/yad.mjs +27 -1
  4. package/cli/docs.mjs +298 -0
  5. package/cli/doctor.mjs +1 -0
  6. package/cli/manifest.mjs +23 -2
  7. package/cli/ship.mjs +37 -0
  8. package/docs/index.html +44 -13
  9. package/package.json +2 -2
  10. package/skills/sdlc/config.yaml +26 -2
  11. package/skills/sdlc/install.sh +1 -1
  12. package/skills/sdlc/module-help.csv +11 -4
  13. package/skills/yad-checks/references/check-gates.md +58 -2
  14. package/skills/yad-checks/templates/checks/commit-message.sh +82 -0
  15. package/skills/yad-checks/templates/github/yad-checks.yml +27 -0
  16. package/skills/yad-checks/templates/github/yad-hub-checks.yml +36 -0
  17. package/skills/yad-checks/templates/gitlab/yad-checks.gitlab-ci.yml +20 -0
  18. package/skills/yad-checks/templates/gitlab/yad-hub-checks.gitlab-ci.yml +39 -0
  19. package/skills/yad-commit/SKILL.md +66 -0
  20. package/skills/yad-connect-docs/SKILL.md +132 -0
  21. package/skills/yad-connect-docs/references/docs-registry.md +74 -0
  22. package/skills/yad-docs/SKILL.md +159 -0
  23. package/skills/yad-docs/references/data-mapping.md +75 -0
  24. package/skills/yad-docs/references/theme-map.md +69 -0
  25. package/skills/yad-docs/templates/app/README.md +31 -0
  26. package/skills/yad-docs/templates/app/eslint.config.js +23 -0
  27. package/skills/yad-docs/templates/app/index.html +17 -0
  28. package/skills/yad-docs/templates/app/package-lock.json +4030 -0
  29. package/skills/yad-docs/templates/app/package.json +35 -0
  30. package/skills/yad-docs/templates/app/public/favicon.svg +28 -0
  31. package/skills/yad-docs/templates/app/public/logo.svg +39 -0
  32. package/skills/yad-docs/templates/app/public/vite.svg +1 -0
  33. package/skills/yad-docs/templates/app/src/App.tsx +98 -0
  34. package/skills/yad-docs/templates/app/src/components/Auth/LoginPage.tsx +101 -0
  35. package/skills/yad-docs/templates/app/src/components/Canvas/AnimatedMessage.tsx +101 -0
  36. package/skills/yad-docs/templates/app/src/components/Canvas/ConnectionLine.tsx +90 -0
  37. package/skills/yad-docs/templates/app/src/components/Canvas/FlowCanvas.tsx +216 -0
  38. package/skills/yad-docs/templates/app/src/components/Canvas/SystemComponent.tsx +153 -0
  39. package/skills/yad-docs/templates/app/src/components/Controls/PlaybackBar.tsx +284 -0
  40. package/skills/yad-docs/templates/app/src/components/Controls/StepDetail.tsx +167 -0
  41. package/skills/yad-docs/templates/app/src/components/DetailPanel/HandlerLogicSnippet.tsx +41 -0
  42. package/skills/yad-docs/templates/app/src/components/DetailPanel/RequestPayloadPreview.tsx +46 -0
  43. package/skills/yad-docs/templates/app/src/components/DetailPanel/RightPanel.tsx +88 -0
  44. package/skills/yad-docs/templates/app/src/components/DetailPanel/StatusCard.tsx +76 -0
  45. package/skills/yad-docs/templates/app/src/components/DetailPanel/TriggerEventCard.tsx +45 -0
  46. package/skills/yad-docs/templates/app/src/components/DocLayout/DocPageShell.tsx +80 -0
  47. package/skills/yad-docs/templates/app/src/components/DocLayout/DocSectionCard.tsx +55 -0
  48. package/skills/yad-docs/templates/app/src/components/DocLayout/DocTableOfContents.tsx +79 -0
  49. package/skills/yad-docs/templates/app/src/components/DocLayout/RoleCard.tsx +67 -0
  50. package/skills/yad-docs/templates/app/src/components/DocSections/ApiReferenceSection.tsx +108 -0
  51. package/skills/yad-docs/templates/app/src/components/DocSections/CancelabilitySection.tsx +73 -0
  52. package/skills/yad-docs/templates/app/src/components/DocSections/CriticalRunbookSection.tsx +177 -0
  53. package/skills/yad-docs/templates/app/src/components/DocSections/DataMigrationSection.tsx +102 -0
  54. package/skills/yad-docs/templates/app/src/components/DocSections/DbSchemaSection.tsx +98 -0
  55. package/skills/yad-docs/templates/app/src/components/DocSections/DeploymentGuideSection.tsx +104 -0
  56. package/skills/yad-docs/templates/app/src/components/DocSections/DriverIntegrationSection.tsx +127 -0
  57. package/skills/yad-docs/templates/app/src/components/DocSections/ExecutiveSummarySection.tsx +69 -0
  58. package/skills/yad-docs/templates/app/src/components/DocSections/FlowOverviewSection.tsx +73 -0
  59. package/skills/yad-docs/templates/app/src/components/DocSections/FlowPathsChecklistSection.tsx +96 -0
  60. package/skills/yad-docs/templates/app/src/components/DocSections/MiddlewareChainSection.tsx +107 -0
  61. package/skills/yad-docs/templates/app/src/components/DocSections/MonitoringAlertingSection.tsx +106 -0
  62. package/skills/yad-docs/templates/app/src/components/DocSections/NotificationLocalizationSection.tsx +102 -0
  63. package/skills/yad-docs/templates/app/src/components/DocSections/PMRoadmapSection.tsx +133 -0
  64. package/skills/yad-docs/templates/app/src/components/DocSections/PerformanceTestingSection.tsx +91 -0
  65. package/skills/yad-docs/templates/app/src/components/DocSections/RiderIntegrationSection.tsx +99 -0
  66. package/skills/yad-docs/templates/app/src/components/DocSections/SecuritySection.tsx +74 -0
  67. package/skills/yad-docs/templates/app/src/components/DocSections/StatusMachineSection.tsx +90 -0
  68. package/skills/yad-docs/templates/app/src/components/DocSections/TestPlanSection.tsx +163 -0
  69. package/skills/yad-docs/templates/app/src/components/Logs/SystemLogsTerminal.tsx +126 -0
  70. package/skills/yad-docs/templates/app/src/components/Navigation/TopNavBar.tsx +90 -0
  71. package/skills/yad-docs/templates/app/src/components/Reference/BullMQJobsList.tsx +60 -0
  72. package/skills/yad-docs/templates/app/src/components/Reference/DecisionTreeView.tsx +49 -0
  73. package/skills/yad-docs/templates/app/src/components/Reference/DeeplinkActionsChips.tsx +69 -0
  74. package/skills/yad-docs/templates/app/src/components/Reference/DriverUIStatesTable.tsx +61 -0
  75. package/skills/yad-docs/templates/app/src/components/Reference/FeatureFlagMatrix.tsx +73 -0
  76. package/skills/yad-docs/templates/app/src/components/Reference/RiderUIStatesTable.tsx +61 -0
  77. package/skills/yad-docs/templates/app/src/components/Reference/RulesLegendPanel.tsx +217 -0
  78. package/skills/yad-docs/templates/app/src/components/Reference/StakeholderToggle.tsx +41 -0
  79. package/skills/yad-docs/templates/app/src/components/Reference/TroubleshootingSection.tsx +93 -0
  80. package/skills/yad-docs/templates/app/src/components/Sidebar/PathSelector.tsx +148 -0
  81. package/skills/yad-docs/templates/app/src/components/Sidebar/SidebarFooter.tsx +40 -0
  82. package/skills/yad-docs/templates/app/src/components/Sidebar/StepList.tsx +234 -0
  83. package/skills/yad-docs/templates/app/src/components/shared/Badge.tsx +28 -0
  84. package/skills/yad-docs/templates/app/src/components/shared/CommandPalette.tsx +213 -0
  85. package/skills/yad-docs/templates/app/src/components/shared/Icon.tsx +21 -0
  86. package/skills/yad-docs/templates/app/src/components/shared/Tooltip.tsx +42 -0
  87. package/skills/yad-docs/templates/app/src/data/components.ts +74 -0
  88. package/skills/yad-docs/templates/app/src/data/docSections.ts +231 -0
  89. package/skills/yad-docs/templates/app/src/data/paths.ts +2319 -0
  90. package/skills/yad-docs/templates/app/src/data/referenceData.ts +392 -0
  91. package/skills/yad-docs/templates/app/src/data/roles.ts +145 -0
  92. package/skills/yad-docs/templates/app/src/data/types.ts +79 -0
  93. package/skills/yad-docs/templates/app/src/hooks/useAnimationQueue.ts +41 -0
  94. package/skills/yad-docs/templates/app/src/hooks/usePlayback.ts +100 -0
  95. package/skills/yad-docs/templates/app/src/hooks/useStakeholderFilter.ts +10 -0
  96. package/skills/yad-docs/templates/app/src/index.css +121 -0
  97. package/skills/yad-docs/templates/app/src/main.tsx +13 -0
  98. package/skills/yad-docs/templates/app/src/pages/RoleSelectPage.tsx +34 -0
  99. package/skills/yad-docs/templates/app/src/pages/StakeholderDocPage.tsx +98 -0
  100. package/skills/yad-docs/templates/app/src/pages/SubPathDetailPage.tsx +282 -0
  101. package/skills/yad-docs/templates/app/src/store/useAuthStore.ts +42 -0
  102. package/skills/yad-docs/templates/app/src/store/useFlowStore.ts +197 -0
  103. package/skills/yad-docs/templates/app/src/utils/iconMap.ts +46 -0
  104. package/skills/yad-docs/templates/app/tsconfig.app.json +28 -0
  105. package/skills/yad-docs/templates/app/tsconfig.json +7 -0
  106. package/skills/yad-docs/templates/app/tsconfig.node.json +26 -0
  107. package/skills/yad-docs/templates/app/vite.config.ts +10 -0
  108. package/skills/yad-docs-overview/SKILL.md +129 -0
  109. package/skills/yad-docs-overview/references/pipeline-model.md +102 -0
  110. package/skills/yad-docs-sync/SKILL.md +99 -0
  111. package/skills/yad-docs-sync/references/staleness.md +81 -0
  112. package/skills/yad-engineer-review/SKILL.md +86 -0
  113. package/skills/{yad-ship → yad-engineer-review}/references/ship-and-record.md +2 -2
  114. package/skills/{yad-ship → yad-engineer-review}/templates/.coderabbit.yaml +1 -1
  115. package/skills/yad-epic/references/state-schema.md +1 -1
  116. package/skills/yad-implement/SKILL.md +1 -1
  117. package/skills/yad-implement/references/implement-conventions.md +1 -1
  118. package/skills/yad-open-pr/SKILL.md +72 -0
  119. package/skills/yad-pr-template/templates/checks/pr-template.sh +62 -0
  120. package/skills/yad-pr-template/templates/checks/pr-title.sh +51 -0
  121. package/skills/yad-run/SKILL.md +2 -2
  122. package/skills/yad-run/references/run-loop.md +4 -4
  123. package/skills/yad-ship/SKILL.md +44 -66
  124. package/skills/yad-spec/SKILL.md +1 -1
@@ -0,0 +1,42 @@
1
+ import React, { useState } from "react";
2
+ import { motion, AnimatePresence } from "framer-motion";
3
+
4
+ interface TooltipProps {
5
+ content: string;
6
+ children: React.ReactNode;
7
+ }
8
+
9
+ export const Tooltip: React.FC<TooltipProps> = ({ content, children }) => {
10
+ const [show, setShow] = useState(false);
11
+
12
+ return (
13
+ <div
14
+ className="relative inline-block"
15
+ onMouseEnter={() => setShow(true)}
16
+ onMouseLeave={() => setShow(false)}
17
+ onFocus={() => setShow(true)}
18
+ onBlur={() => setShow(false)}
19
+ >
20
+ {children}
21
+ <AnimatePresence>
22
+ {show && (
23
+ <motion.div
24
+ initial={{ opacity: 0, y: 4 }}
25
+ animate={{ opacity: 1, y: 0 }}
26
+ exit={{ opacity: 0, y: 4 }}
27
+ transition={{ duration: 0.15 }}
28
+ className="pointer-events-none absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2 whitespace-nowrap rounded-lg px-3 py-1.5 text-xs"
29
+ style={{
30
+ backgroundColor: "var(--color-bg-secondary)",
31
+ color: "var(--color-text-primary)",
32
+ border: "1px solid var(--color-border-light)",
33
+ boxShadow: "0 4px 20px rgba(0,0,0,0.3)",
34
+ }}
35
+ >
36
+ {content}
37
+ </motion.div>
38
+ )}
39
+ </AnimatePresence>
40
+ </div>
41
+ );
42
+ };
@@ -0,0 +1,74 @@
1
+ import type { SystemComponent } from "./types";
2
+
3
+ export const COMPONENTS: SystemComponent[] = [
4
+ {
5
+ id: "rider-app",
6
+ label: "Rider App",
7
+ icon: "👤",
8
+ color: "#fb2576",
9
+ position: { x: 8, y: 25 },
10
+ description: "Mobile app used by riders to book and manage trips",
11
+ },
12
+ {
13
+ id: "driver-app",
14
+ label: "Driver App",
15
+ icon: "🚗",
16
+ color: "#6316db",
17
+ position: { x: 8, y: 68 },
18
+ description: "Mobile app used by drivers to accept and manage trips",
19
+ },
20
+ {
21
+ id: "backend-api",
22
+ label: "Backend API",
23
+ icon: "⚡",
24
+ color: "#7b59e6",
25
+ position: { x: 38, y: 46 },
26
+ description:
27
+ "Core REST API handling trip creation, status updates, and booking management",
28
+ },
29
+ {
30
+ id: "bullmq",
31
+ label: "BullMQ Jobs",
32
+ icon: "⏱️",
33
+ color: "#f59e0b",
34
+ position: { x: 65, y: 18 },
35
+ description:
36
+ "Job queue for scheduled tasks: confirmations, timeouts, and cleanup",
37
+ },
38
+ {
39
+ id: "ops-dashboard",
40
+ label: "Ops Dashboard",
41
+ icon: "🛠️",
42
+ color: "#06b6d4",
43
+ position: { x: 65, y: 74 },
44
+ description:
45
+ "Internal operations dashboard for driver assignment, monitoring, and manual interventions",
46
+ },
47
+ {
48
+ id: "pubsub",
49
+ label: "Pub/Sub",
50
+ icon: "📡",
51
+ color: "#10b981",
52
+ position: { x: 88, y: 28 },
53
+ description:
54
+ "Google Cloud Pub/Sub for ride dispatch events and status updates",
55
+ },
56
+ {
57
+ id: "dac",
58
+ label: "DAC (Driver Actions)",
59
+ icon: "📋",
60
+ color: "#8b5cf6",
61
+ position: { x: 88, y: 64 },
62
+ description:
63
+ "Driver Action Cards — scheduled ride cards shown in driver app",
64
+ },
65
+ {
66
+ id: "database",
67
+ label: "MongoDB",
68
+ icon: "🗄️",
69
+ color: "#a8a4b2",
70
+ position: { x: 38, y: 88 },
71
+ description:
72
+ "Primary database storing trip data, booking status, and history",
73
+ },
74
+ ];
@@ -0,0 +1,231 @@
1
+ import type { ComponentType } from 'react';
2
+
3
+ // New DocSection components
4
+ import { ExecutiveSummarySection } from '../components/DocSections/ExecutiveSummarySection';
5
+ import { FlowOverviewSection } from '../components/DocSections/FlowOverviewSection';
6
+ import { ApiReferenceSection } from '../components/DocSections/ApiReferenceSection';
7
+ import { StatusMachineSection } from '../components/DocSections/StatusMachineSection';
8
+ import { MiddlewareChainSection } from '../components/DocSections/MiddlewareChainSection';
9
+ import { DeploymentGuideSection } from '../components/DocSections/DeploymentGuideSection';
10
+ import { CriticalRunbookSection } from '../components/DocSections/CriticalRunbookSection';
11
+ import { DataMigrationSection } from '../components/DocSections/DataMigrationSection';
12
+ import { PerformanceTestingSection } from '../components/DocSections/PerformanceTestingSection';
13
+ import { PMRoadmapSection } from '../components/DocSections/PMRoadmapSection';
14
+ import { MonitoringAlertingSection } from '../components/DocSections/MonitoringAlertingSection';
15
+ import { SecuritySection } from '../components/DocSections/SecuritySection';
16
+ import { NotificationLocalizationSection } from '../components/DocSections/NotificationLocalizationSection';
17
+ import { DbSchemaSection } from '../components/DocSections/DbSchemaSection';
18
+ import { TestPlanSection } from '../components/DocSections/TestPlanSection';
19
+ import { FlowPathsChecklistSection } from '../components/DocSections/FlowPathsChecklistSection';
20
+ import { RiderIntegrationSection } from '../components/DocSections/RiderIntegrationSection';
21
+ import { DriverIntegrationSection } from '../components/DocSections/DriverIntegrationSection';
22
+ import { CancelabilitySection } from '../components/DocSections/CancelabilitySection';
23
+
24
+ // Existing Reference components (reused as doc sections)
25
+ import { DecisionTreeView } from '../components/Reference/DecisionTreeView';
26
+ import { RiderUIStatesTable } from '../components/Reference/RiderUIStatesTable';
27
+ import { DriverUIStatesTable } from '../components/Reference/DriverUIStatesTable';
28
+ import { BullMQJobsList } from '../components/Reference/BullMQJobsList';
29
+ import { FeatureFlagMatrix } from '../components/Reference/FeatureFlagMatrix';
30
+ import { DeeplinkActionsChips } from '../components/Reference/DeeplinkActionsChips';
31
+ import { TroubleshootingSection } from '../components/Reference/TroubleshootingSection';
32
+
33
+ export interface DocSectionConfig {
34
+ id: string;
35
+ title: string;
36
+ icon: string;
37
+ iconColor?: string;
38
+ component: ComponentType;
39
+ }
40
+
41
+ export const DOC_SECTIONS: Record<string, DocSectionConfig> = {
42
+ 'executive-summary': {
43
+ id: 'executive-summary',
44
+ title: 'Executive Summary',
45
+ icon: 'dashboard',
46
+ iconColor: '#7b59e6',
47
+ component: ExecutiveSummarySection,
48
+ },
49
+ 'flow-overview': {
50
+ id: 'flow-overview',
51
+ title: 'Flow Paths Overview',
52
+ icon: 'route',
53
+ iconColor: '#06b6d4',
54
+ component: FlowOverviewSection,
55
+ },
56
+ 'rider-integration': {
57
+ id: 'rider-integration',
58
+ title: 'Rider Integration Guide',
59
+ icon: 'phone_iphone',
60
+ iconColor: '#7b59e6',
61
+ component: RiderIntegrationSection,
62
+ },
63
+ 'driver-integration': {
64
+ id: 'driver-integration',
65
+ title: 'Driver Integration Guide',
66
+ icon: 'directions_car',
67
+ iconColor: '#06b6d4',
68
+ component: DriverIntegrationSection,
69
+ },
70
+ 'rider-ui-states': {
71
+ id: 'rider-ui-states',
72
+ title: 'Rider UI States',
73
+ icon: 'phone_iphone',
74
+ iconColor: '#10b981',
75
+ component: RiderUIStatesTable,
76
+ },
77
+ 'driver-ui-states': {
78
+ id: 'driver-ui-states',
79
+ title: 'Driver UI States',
80
+ icon: 'directions_car',
81
+ iconColor: '#06b6d4',
82
+ component: DriverUIStatesTable,
83
+ },
84
+ 'api-reference': {
85
+ id: 'api-reference',
86
+ title: 'API Reference',
87
+ icon: 'api',
88
+ iconColor: '#f59e0b',
89
+ component: ApiReferenceSection,
90
+ },
91
+ 'status-machine': {
92
+ id: 'status-machine',
93
+ title: 'Status Machine & Transitions',
94
+ icon: 'swap_horiz',
95
+ iconColor: '#ec4899',
96
+ component: StatusMachineSection,
97
+ },
98
+ 'middleware-chain': {
99
+ id: 'middleware-chain',
100
+ title: 'Middleware Chain',
101
+ icon: 'link',
102
+ iconColor: '#8b5cf6',
103
+ component: MiddlewareChainSection,
104
+ },
105
+ 'decision-tree': {
106
+ id: 'decision-tree',
107
+ title: 'Decision Tree (handleBookAssigned)',
108
+ icon: 'account_tree',
109
+ iconColor: '#7b59e6',
110
+ component: DecisionTreeView,
111
+ },
112
+ 'bullmq-jobs': {
113
+ id: 'bullmq-jobs',
114
+ title: 'BullMQ Jobs',
115
+ icon: 'schedule',
116
+ iconColor: '#a855f7',
117
+ component: BullMQJobsList,
118
+ },
119
+ 'feature-flags': {
120
+ id: 'feature-flags',
121
+ title: 'Feature Flags',
122
+ icon: 'flag',
123
+ iconColor: '#f59e0b',
124
+ component: FeatureFlagMatrix,
125
+ },
126
+ deeplinks: {
127
+ id: 'deeplinks',
128
+ title: 'Deeplink Actions',
129
+ icon: 'link',
130
+ iconColor: '#06b6d4',
131
+ component: DeeplinkActionsChips,
132
+ },
133
+ 'notification-localization': {
134
+ id: 'notification-localization',
135
+ title: 'Notifications & Localization',
136
+ icon: 'notifications',
137
+ iconColor: '#fb2576',
138
+ component: NotificationLocalizationSection,
139
+ },
140
+ cancelability: {
141
+ id: 'cancelability',
142
+ title: 'Cancelability Rules',
143
+ icon: 'gavel',
144
+ iconColor: '#ef4444',
145
+ component: CancelabilitySection,
146
+ },
147
+ 'error-codes': {
148
+ id: 'error-codes',
149
+ title: 'Error Codes & Troubleshooting',
150
+ icon: 'warning',
151
+ iconColor: '#fbbf24',
152
+ component: TroubleshootingSection,
153
+ },
154
+ troubleshooting: {
155
+ id: 'troubleshooting',
156
+ title: 'Troubleshooting Guide',
157
+ icon: 'build',
158
+ iconColor: '#f97316',
159
+ component: TroubleshootingSection,
160
+ },
161
+ deployment: {
162
+ id: 'deployment',
163
+ title: 'Deployment Guide',
164
+ icon: 'rocket_launch',
165
+ iconColor: '#22c55e',
166
+ component: DeploymentGuideSection,
167
+ },
168
+ 'critical-runbook': {
169
+ id: 'critical-runbook',
170
+ title: 'Critical Runbook',
171
+ icon: 'local_fire_department',
172
+ iconColor: '#ef4444',
173
+ component: CriticalRunbookSection,
174
+ },
175
+ 'data-migration': {
176
+ id: 'data-migration',
177
+ title: 'Data Migration',
178
+ icon: 'sync_alt',
179
+ iconColor: '#8b5cf6',
180
+ component: DataMigrationSection,
181
+ },
182
+ security: {
183
+ id: 'security',
184
+ title: 'Security & Access Control',
185
+ icon: 'shield',
186
+ iconColor: '#22c55e',
187
+ component: SecuritySection,
188
+ },
189
+ 'performance-testing': {
190
+ id: 'performance-testing',
191
+ title: 'Performance Testing',
192
+ icon: 'speed',
193
+ iconColor: '#06b6d4',
194
+ component: PerformanceTestingSection,
195
+ },
196
+ 'pm-roadmap': {
197
+ id: 'pm-roadmap',
198
+ title: 'Product Roadmap',
199
+ icon: 'timeline',
200
+ iconColor: '#f59e0b',
201
+ component: PMRoadmapSection,
202
+ },
203
+ 'monitoring-alerting': {
204
+ id: 'monitoring-alerting',
205
+ title: 'Monitoring & Alerting',
206
+ icon: 'monitoring',
207
+ iconColor: '#fb2576',
208
+ component: MonitoringAlertingSection,
209
+ },
210
+ 'db-schema': {
211
+ id: 'db-schema',
212
+ title: 'Database Schema',
213
+ icon: 'storage',
214
+ iconColor: '#10b981',
215
+ component: DbSchemaSection,
216
+ },
217
+ 'test-plan': {
218
+ id: 'test-plan',
219
+ title: 'Test Plan',
220
+ icon: 'checklist',
221
+ iconColor: '#ef4444',
222
+ component: TestPlanSection,
223
+ },
224
+ 'flow-paths-checklist': {
225
+ id: 'flow-paths-checklist',
226
+ title: 'Flow Paths Checklist',
227
+ icon: 'playlist_add_check',
228
+ iconColor: '#22c55e',
229
+ component: FlowPathsChecklistSection,
230
+ },
231
+ };