@hailer/mcp 1.1.11 → 1.1.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 (252) hide show
  1. package/dist/app.js +18 -5
  2. package/dist/bot/bot-config.d.ts +12 -1
  3. package/dist/bot/bot-config.js +98 -14
  4. package/dist/bot/bot-manager.d.ts +13 -3
  5. package/dist/bot/bot-manager.js +80 -25
  6. package/dist/bot/bot.d.ts +46 -0
  7. package/dist/bot/bot.js +542 -166
  8. package/dist/bot/services/message-classifier.js +17 -0
  9. package/dist/bot/services/permission-guard.d.ts +52 -0
  10. package/dist/bot/services/permission-guard.js +149 -0
  11. package/dist/bot/services/types.d.ts +5 -0
  12. package/dist/bot/services/typing-indicator.d.ts +6 -1
  13. package/dist/bot/services/typing-indicator.js +19 -3
  14. package/dist/config.d.ts +6 -1
  15. package/dist/config.js +43 -0
  16. package/dist/core.js +3 -6
  17. package/dist/mcp/UserContextCache.d.ts +5 -0
  18. package/dist/mcp/UserContextCache.js +51 -19
  19. package/dist/mcp/hailer-clients.d.ts +19 -1
  20. package/dist/mcp/hailer-clients.js +157 -20
  21. package/dist/mcp/session-store.d.ts +68 -0
  22. package/dist/mcp/session-store.js +169 -0
  23. package/dist/mcp/signal-handler.js +12 -12
  24. package/dist/mcp/tool-registry.d.ts +17 -4
  25. package/dist/mcp/tool-registry.js +37 -7
  26. package/dist/mcp/tools/activity.js +99 -7
  27. package/dist/mcp/tools/app-scaffold.js +304 -336
  28. package/dist/mcp/tools/company.d.ts +9 -0
  29. package/dist/mcp/tools/company.js +88 -0
  30. package/dist/mcp/tools/discussion.js +68 -0
  31. package/dist/mcp/tools/workflow-permissions.d.ts +15 -0
  32. package/dist/mcp/tools/workflow-permissions.js +204 -0
  33. package/dist/mcp/tools/workflow.js +57 -18
  34. package/dist/mcp/utils/index.d.ts +2 -0
  35. package/dist/mcp/utils/index.js +12 -1
  36. package/dist/mcp/utils/role-utils.d.ts +74 -0
  37. package/dist/mcp/utils/role-utils.js +151 -0
  38. package/dist/mcp/utils/types.d.ts +43 -1
  39. package/dist/mcp/utils/types.js +14 -0
  40. package/dist/mcp/webhook-handler.d.ts +6 -0
  41. package/dist/mcp/webhook-handler.js +11 -0
  42. package/dist/mcp-server.d.ts +23 -2
  43. package/dist/mcp-server.js +639 -111
  44. package/dist/plugins/vipunen/client.d.ts +150 -0
  45. package/dist/plugins/vipunen/client.js +535 -0
  46. package/dist/plugins/vipunen/config/schema-config.json +19 -0
  47. package/dist/plugins/vipunen/config/schema-doc.json +22 -0
  48. package/dist/plugins/vipunen/index.d.ts +41 -0
  49. package/dist/plugins/vipunen/index.js +88 -0
  50. package/dist/plugins/vipunen/tools.d.ts +26 -0
  51. package/dist/plugins/vipunen/tools.js +501 -0
  52. package/package.json +2 -1
  53. package/.claude/.context-watchdog.json +0 -1
  54. package/.claude/.session-checked +0 -1
  55. package/.claude/CLAUDE.md +0 -370
  56. package/.claude/agents/agent-ada-skill-builder.md +0 -94
  57. package/.claude/agents/agent-alejandro-function-fields.md +0 -342
  58. package/.claude/agents/agent-bjorn-config-audit.md +0 -103
  59. package/.claude/agents/agent-builder-agent-creator.md +0 -130
  60. package/.claude/agents/agent-code-simplifier.md +0 -53
  61. package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
  62. package/.claude/agents/agent-giuseppe-app-builder.md +0 -247
  63. package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
  64. package/.claude/agents/agent-helga-workflow-config.md +0 -204
  65. package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
  66. package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
  67. package/.claude/agents/agent-ivan-monolith.md +0 -154
  68. package/.claude/agents/agent-kenji-data-reader.md +0 -86
  69. package/.claude/agents/agent-lars-code-inspector.md +0 -102
  70. package/.claude/agents/agent-marco-mockup-builder.md +0 -110
  71. package/.claude/agents/agent-marcus-api-documenter.md +0 -323
  72. package/.claude/agents/agent-marketplace-publisher.md +0 -280
  73. package/.claude/agents/agent-marketplace-reviewer.md +0 -309
  74. package/.claude/agents/agent-permissions-handler.md +0 -208
  75. package/.claude/agents/agent-simple-writer.md +0 -48
  76. package/.claude/agents/agent-svetlana-code-review.md +0 -171
  77. package/.claude/agents/agent-tanya-test-runner.md +0 -333
  78. package/.claude/agents/agent-ui-designer.md +0 -100
  79. package/.claude/agents/agent-viktor-sql-insights.md +0 -212
  80. package/.claude/agents/agent-web-search.md +0 -55
  81. package/.claude/agents/agent-yevgeni-discussions.md +0 -45
  82. package/.claude/agents/agent-zara-zapier.md +0 -159
  83. package/.claude/commands/app-squad.md +0 -135
  84. package/.claude/commands/audit-squad.md +0 -158
  85. package/.claude/commands/autoplan.md +0 -563
  86. package/.claude/commands/cleanup-squad.md +0 -98
  87. package/.claude/commands/config-squad.md +0 -106
  88. package/.claude/commands/crud-squad.md +0 -87
  89. package/.claude/commands/data-squad.md +0 -97
  90. package/.claude/commands/debug-squad.md +0 -303
  91. package/.claude/commands/doc-squad.md +0 -65
  92. package/.claude/commands/handoff.md +0 -137
  93. package/.claude/commands/health.md +0 -49
  94. package/.claude/commands/help.md +0 -29
  95. package/.claude/commands/help:agents.md +0 -151
  96. package/.claude/commands/help:commands.md +0 -78
  97. package/.claude/commands/help:faq.md +0 -79
  98. package/.claude/commands/help:plugins.md +0 -50
  99. package/.claude/commands/help:skills.md +0 -93
  100. package/.claude/commands/help:tools.md +0 -75
  101. package/.claude/commands/hotfix-squad.md +0 -112
  102. package/.claude/commands/integration-squad.md +0 -82
  103. package/.claude/commands/janitor-squad.md +0 -167
  104. package/.claude/commands/learn-auto.md +0 -120
  105. package/.claude/commands/learn.md +0 -120
  106. package/.claude/commands/mcp-list.md +0 -27
  107. package/.claude/commands/onboard-squad.md +0 -140
  108. package/.claude/commands/plan-workspace.md +0 -732
  109. package/.claude/commands/prd.md +0 -130
  110. package/.claude/commands/project-status.md +0 -82
  111. package/.claude/commands/publish.md +0 -138
  112. package/.claude/commands/recap.md +0 -69
  113. package/.claude/commands/restore.md +0 -64
  114. package/.claude/commands/review-squad.md +0 -152
  115. package/.claude/commands/save.md +0 -24
  116. package/.claude/commands/stats.md +0 -19
  117. package/.claude/commands/swarm.md +0 -210
  118. package/.claude/commands/tool-builder.md +0 -39
  119. package/.claude/commands/ws-pull.md +0 -44
  120. package/.claude/hooks/_shared-memory.cjs +0 -305
  121. package/.claude/hooks/_utils.cjs +0 -108
  122. package/.claude/hooks/agent-failure-detector.cjs +0 -383
  123. package/.claude/hooks/agent-usage-logger.cjs +0 -204
  124. package/.claude/hooks/app-edit-guard.cjs +0 -494
  125. package/.claude/hooks/auto-learn.cjs +0 -304
  126. package/.claude/hooks/bash-guard.cjs +0 -272
  127. package/.claude/hooks/builder-mode-manager.cjs +0 -354
  128. package/.claude/hooks/bulk-activity-guard.cjs +0 -271
  129. package/.claude/hooks/context-watchdog.cjs +0 -230
  130. package/.claude/hooks/delegation-reminder.cjs +0 -465
  131. package/.claude/hooks/design-system-lint.cjs +0 -271
  132. package/.claude/hooks/post-scaffold-hook.cjs +0 -181
  133. package/.claude/hooks/prompt-guard.cjs +0 -354
  134. package/.claude/hooks/publish-template-guard.cjs +0 -147
  135. package/.claude/hooks/session-start.cjs +0 -35
  136. package/.claude/hooks/shared-memory-writer.cjs +0 -147
  137. package/.claude/hooks/skill-injector.cjs +0 -140
  138. package/.claude/hooks/skill-usage-logger.cjs +0 -258
  139. package/.claude/hooks/src-edit-guard.cjs +0 -240
  140. package/.claude/hooks/sync-marketplace-agents.cjs +0 -346
  141. package/.claude/settings.json +0 -257
  142. package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
  143. package/.claude/skills/SDK-document-templates/SKILL.md +0 -1033
  144. package/.claude/skills/SDK-function-fields/SKILL.md +0 -542
  145. package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
  146. package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
  147. package/.claude/skills/SDK-insight-queries/SKILL.md +0 -787
  148. package/.claude/skills/SDK-ws-config-skill/SKILL.md +0 -1139
  149. package/.claude/skills/agent-structure/SKILL.md +0 -98
  150. package/.claude/skills/api-documentation-patterns/SKILL.md +0 -474
  151. package/.claude/skills/chrome-mcp-reference/SKILL.md +0 -370
  152. package/.claude/skills/delegation-routing/SKILL.md +0 -202
  153. package/.claude/skills/frontend-design/SKILL.md +0 -254
  154. package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
  155. package/.claude/skills/hailer-api-client/SKILL.md +0 -518
  156. package/.claude/skills/hailer-app-builder/SKILL.md +0 -1434
  157. package/.claude/skills/hailer-apps-pictures/SKILL.md +0 -269
  158. package/.claude/skills/hailer-design-system/SKILL.md +0 -235
  159. package/.claude/skills/hailer-monolith-automations/SKILL.md +0 -686
  160. package/.claude/skills/hailer-permissions-system/SKILL.md +0 -121
  161. package/.claude/skills/hailer-project-protocol/SKILL.md +0 -488
  162. package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
  163. package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
  164. package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
  165. package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
  166. package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
  167. package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
  168. package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
  169. package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
  170. package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
  171. package/.claude/skills/integration-patterns/SKILL.md +0 -421
  172. package/.claude/skills/json-only-output/SKILL.md +0 -72
  173. package/.claude/skills/lsp-setup/SKILL.md +0 -160
  174. package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
  175. package/.claude/skills/optional-parameters/SKILL.md +0 -72
  176. package/.claude/skills/publish-hailer-app/SKILL.md +0 -244
  177. package/.claude/skills/testing-patterns/SKILL.md +0 -630
  178. package/.claude/skills/tool-builder/SKILL.md +0 -250
  179. package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
  180. package/.claude/skills/tool-response-verification/SKILL.md +0 -92
  181. package/.claude/skills/zapier-hailer-patterns/SKILL.md +0 -581
  182. package/.hailer-mcp-port +0 -1
  183. package/.mcp.json +0 -13
  184. package/.opencode/agent/agent-ada-skill-builder.md +0 -35
  185. package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
  186. package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
  187. package/.opencode/agent/agent-builder-agent-creator.md +0 -39
  188. package/.opencode/agent/agent-code-simplifier.md +0 -31
  189. package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
  190. package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
  191. package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
  192. package/.opencode/agent/agent-helga-workflow-config.md +0 -204
  193. package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
  194. package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
  195. package/.opencode/agent/agent-ivan-monolith.md +0 -46
  196. package/.opencode/agent/agent-kenji-data-reader.md +0 -53
  197. package/.opencode/agent/agent-lars-code-inspector.md +0 -28
  198. package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
  199. package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
  200. package/.opencode/agent/agent-marketplace-publisher.md +0 -44
  201. package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
  202. package/.opencode/agent/agent-permissions-handler.md +0 -50
  203. package/.opencode/agent/agent-simple-writer.md +0 -45
  204. package/.opencode/agent/agent-svetlana-code-review.md +0 -39
  205. package/.opencode/agent/agent-tanya-test-runner.md +0 -57
  206. package/.opencode/agent/agent-ui-designer.md +0 -56
  207. package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
  208. package/.opencode/agent/agent-web-search.md +0 -42
  209. package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
  210. package/.opencode/agent/agent-zara-zapier.md +0 -53
  211. package/.opencode/commands/app-squad.md +0 -135
  212. package/.opencode/commands/audit-squad.md +0 -158
  213. package/.opencode/commands/autoplan.md +0 -563
  214. package/.opencode/commands/cleanup-squad.md +0 -98
  215. package/.opencode/commands/config-squad.md +0 -106
  216. package/.opencode/commands/crud-squad.md +0 -87
  217. package/.opencode/commands/data-squad.md +0 -97
  218. package/.opencode/commands/debug-squad.md +0 -303
  219. package/.opencode/commands/doc-squad.md +0 -65
  220. package/.opencode/commands/handoff.md +0 -137
  221. package/.opencode/commands/health.md +0 -49
  222. package/.opencode/commands/help-agents.md +0 -151
  223. package/.opencode/commands/help-commands.md +0 -32
  224. package/.opencode/commands/help-faq.md +0 -29
  225. package/.opencode/commands/help-plugins.md +0 -28
  226. package/.opencode/commands/help-skills.md +0 -7
  227. package/.opencode/commands/help-tools.md +0 -40
  228. package/.opencode/commands/help.md +0 -28
  229. package/.opencode/commands/hotfix-squad.md +0 -112
  230. package/.opencode/commands/integration-squad.md +0 -82
  231. package/.opencode/commands/janitor-squad.md +0 -167
  232. package/.opencode/commands/learn-auto.md +0 -120
  233. package/.opencode/commands/learn.md +0 -120
  234. package/.opencode/commands/mcp-list.md +0 -27
  235. package/.opencode/commands/onboard-squad.md +0 -140
  236. package/.opencode/commands/plan-workspace.md +0 -732
  237. package/.opencode/commands/prd.md +0 -131
  238. package/.opencode/commands/project-status.md +0 -82
  239. package/.opencode/commands/publish.md +0 -138
  240. package/.opencode/commands/recap.md +0 -69
  241. package/.opencode/commands/restore.md +0 -64
  242. package/.opencode/commands/review-squad.md +0 -152
  243. package/.opencode/commands/save.md +0 -24
  244. package/.opencode/commands/stats.md +0 -19
  245. package/.opencode/commands/swarm.md +0 -210
  246. package/.opencode/commands/tool-builder.md +0 -39
  247. package/.opencode/commands/ws-pull.md +0 -44
  248. package/.opencode/opencode.json +0 -21
  249. package/inbox/failures.log +0 -1
  250. package/inbox/usage.jsonl +0 -4
  251. package/scripts/postinstall.cjs +0 -64
  252. package/scripts/test-hal-tools.ts +0 -154
@@ -1,254 +0,0 @@
1
- ---
2
- name: frontend-design
3
- version: 1.0.0
4
- ---
5
-
6
- # Frontend Design
7
-
8
- <purpose>
9
- Design principles and patterns for creating effective UI mockups. Covers layout systems, visual hierarchy, color and typography, responsive design, and component organization for prototype and demo applications.
10
- </purpose>
11
-
12
- <patterns>
13
-
14
- ## Layout Principles
15
-
16
- ### Grid Systems
17
- - **12-column grid**: Standard for flexibility (divides into 2, 3, 4, 6)
18
- - **Content width**: 1200px max for readability, centered
19
- - **Gutters**: 16-24px between columns
20
- - **Margins**: 16px mobile, 24px tablet, 32px+ desktop
21
-
22
- ### Common Layouts
23
- ```
24
- Dashboard: [Sidebar 240px] [Main Content flex-1]
25
- List View: [Filters 280px] [Table/Cards flex-1]
26
- Detail View: [Main 2/3] [Sidebar 1/3]
27
- Form: [Labels 1/3] [Inputs 2/3] or stacked on mobile
28
- ```
29
-
30
- ### Spacing Scale
31
- Use consistent spacing multipliers:
32
- - **4px**: Tight (icon padding)
33
- - **8px**: Compact (button padding)
34
- - **16px**: Default (card padding, list gaps)
35
- - **24px**: Comfortable (section gaps)
36
- - **32px**: Spacious (page sections)
37
- - **48px+**: Major sections
38
-
39
- ## Visual Hierarchy
40
-
41
- ### Size Hierarchy
42
- ```
43
- Hero/Page Title: 32-48px, bold
44
- Section Headers: 24-28px, semibold
45
- Card Titles: 18-20px, medium
46
- Body Text: 14-16px, regular
47
- Captions/Labels: 12-13px, regular/medium
48
- ```
49
-
50
- ### Emphasis Techniques
51
- 1. **Size**: Larger = more important
52
- 2. **Weight**: Bold draws attention
53
- 3. **Color**: Brand color for CTAs, muted for secondary
54
- 4. **Space**: More whitespace = more prominence
55
- 5. **Position**: Top-left reads first (F-pattern)
56
-
57
- ### Information Density
58
- - **Scannable**: Bold labels, regular values
59
- - **Grouped**: Related info in cards/sections
60
- - **Progressive**: Summary first, details on demand
61
-
62
- ## Color Usage
63
-
64
- ### Semantic Colors
65
- ```
66
- Primary: Brand action (buttons, links)
67
- Secondary: Less important actions
68
- Success: Confirmations, positive states (green)
69
- Warning: Caution, attention needed (yellow/orange)
70
- Error: Problems, destructive actions (red)
71
- Info: Neutral information (blue)
72
- ```
73
-
74
- ### Background Hierarchy
75
- ```
76
- Page: gray.50 or white
77
- Card: white (with subtle shadow)
78
- Hover: gray.100
79
- Selected: brand.50 or blue.50
80
- Disabled: gray.100 with gray.400 text
81
- ```
82
-
83
- ### Contrast Requirements
84
- - Text on background: 4.5:1 minimum (WCAG AA)
85
- - Large text: 3:1 minimum
86
- - UI components: 3:1 against adjacent colors
87
-
88
- ## Typography
89
-
90
- ### Font Pairing
91
- - **Headings**: Inter, Poppins, or system sans-serif
92
- - **Body**: Same family, different weight
93
- - **Monospace**: For code, IDs, technical values
94
-
95
- ### Line Height
96
- - Headings: 1.2-1.3
97
- - Body text: 1.5-1.6
98
- - UI labels: 1.2
99
-
100
- ### Text Alignment
101
- - Left-align body text (never justify)
102
- - Center for short headings, CTAs
103
- - Right-align numbers in tables
104
-
105
- ## Component Patterns
106
-
107
- ### Cards
108
- ```
109
- ┌─────────────────────────┐
110
- │ [Icon] Title [Menu]│ ← Header: 16px padding
111
- ├─────────────────────────┤
112
- │ │
113
- │ Content area │ ← Body: 16-24px padding
114
- │ │
115
- ├─────────────────────────┤
116
- │ [Secondary] [Primary] │ ← Footer: actions right-aligned
117
- └─────────────────────────┘
118
- ```
119
-
120
- ### Tables
121
- - Header: Bold, uppercase or title case, sticky
122
- - Rows: Alternating or bordered
123
- - Actions: End of row, icon buttons or dropdown
124
- - Selection: Checkbox in first column
125
- - Sorting: Click header, show arrow indicator
126
-
127
- ### Forms
128
- - Labels above inputs (mobile-friendly)
129
- - Required indicator: asterisk or "(required)"
130
- - Error messages below input, red text
131
- - Help text below input, muted color
132
- - Group related fields in sections
133
-
134
- ### Navigation
135
- - **Top nav**: Logo left, main nav center/right, user menu far right
136
- - **Sidebar**: Logo top, nav items with icons, collapsible
137
- - **Breadcrumbs**: For deep hierarchies, show path
138
-
139
- ## Responsive Breakpoints
140
-
141
- ```
142
- Mobile: < 640px (1 column, stacked)
143
- Tablet: 640-1024px (2 columns, sidebar hidden)
144
- Desktop: > 1024px (full layout)
145
- Wide: > 1440px (max-width container)
146
- ```
147
-
148
- ### Mobile Adaptations
149
- - Stack horizontal layouts vertically
150
- - Hide sidebar, use hamburger menu
151
- - Larger touch targets (44px minimum)
152
- - Reduce padding (16px instead of 24px)
153
- - Use bottom sheets instead of modals
154
-
155
- ## Empty States
156
-
157
- Always design for empty:
158
- ```
159
- ┌─────────────────────────┐
160
- │ │
161
- │ [Illustration] │
162
- │ │
163
- │ No items yet │
164
- │ Add your first item │
165
- │ │
166
- │ [+ Add Item] │
167
- │ │
168
- └─────────────────────────┘
169
- ```
170
-
171
- ## Loading States
172
-
173
- - **Skeleton**: Gray boxes mimicking content shape
174
- - **Spinner**: For actions, not initial loads
175
- - **Progress**: For multi-step or long operations
176
- - **Optimistic**: Show expected result immediately
177
-
178
- </patterns>
179
-
180
- <examples>
181
-
182
- ## Dashboard Layout
183
- ```jsx
184
- <Flex>
185
- <Sidebar w="240px" />
186
- <Box flex="1" p={6}>
187
- <Heading mb={6}>Dashboard</Heading>
188
- <SimpleGrid columns={{ base: 1, md: 2, lg: 4 }} gap={4}>
189
- <StatCard label="Total" value="1,234" />
190
- <StatCard label="Active" value="567" trend="+12%" />
191
- ...
192
- </SimpleGrid>
193
- <Box mt={8}>
194
- <RecentActivityTable />
195
- </Box>
196
- </Box>
197
- </Flex>
198
- ```
199
-
200
- ## Card with Actions
201
- ```jsx
202
- <Card>
203
- <CardHeader>
204
- <Flex justify="space-between" align="center">
205
- <Heading size="md">Customer Details</Heading>
206
- <Menu>
207
- <MenuButton as={IconButton} icon={<MoreIcon />} />
208
- <MenuList>
209
- <MenuItem>Edit</MenuItem>
210
- <MenuItem color="red.500">Delete</MenuItem>
211
- </MenuList>
212
- </Menu>
213
- </Flex>
214
- </CardHeader>
215
- <CardBody>
216
- <Stack spacing={3}>
217
- <Field label="Name" value={customer.name} />
218
- <Field label="Email" value={customer.email} />
219
- </Stack>
220
- </CardBody>
221
- <CardFooter justify="flex-end" gap={2}>
222
- <Button variant="ghost">Cancel</Button>
223
- <Button colorScheme="brand">Save</Button>
224
- </CardFooter>
225
- </Card>
226
- ```
227
-
228
- ## Responsive Table
229
- ```jsx
230
- <TableContainer>
231
- <Table>
232
- <Thead>
233
- <Tr>
234
- <Th>Name</Th>
235
- <Th display={{ base: 'none', md: 'table-cell' }}>Email</Th>
236
- <Th isNumeric>Amount</Th>
237
- <Th w="50px"></Th>
238
- </Tr>
239
- </Thead>
240
- <Tbody>
241
- {items.map(item => (
242
- <Tr key={item.id} _hover={{ bg: 'gray.50' }}>
243
- <Td>{item.name}</Td>
244
- <Td display={{ base: 'none', md: 'table-cell' }}>{item.email}</Td>
245
- <Td isNumeric>{formatCurrency(item.amount)}</Td>
246
- <Td><ActionMenu item={item} /></Td>
247
- </Tr>
248
- ))}
249
- </Tbody>
250
- </Table>
251
- </TableContainer>
252
- ```
253
-
254
- </examples>
@@ -1,213 +0,0 @@
1
- ---
2
- name: hailer-activity-mover
3
- description: Activity mover microservice patterns for phase cascade automation
4
- version: 1.0.0
5
- triggers:
6
- - activity mover
7
- - phase cascade
8
- - linked activities
9
- ---
10
-
11
- # Activity Mover Skill
12
-
13
- Configure automated phase cascade bots. Agent creates Hailer fields and generates config JSON. User deploys to AWS manually.
14
-
15
- ---
16
-
17
- ## What It Does
18
-
19
- When an activity moves to a trigger phase, the bot automatically moves linked activities to target phases.
20
-
21
- **Example:** Invoice → "Invoiced" automatically moves Invoice Rows → "Archived"
22
-
23
- ---
24
-
25
- ## Agent Workflow
26
-
27
- ### Step 1: Gather IDs (Kenji)
28
-
29
- Get workflow, phase, and field IDs from workspace/:
30
-
31
- ```json
32
- {
33
- "task": "get_activity_mover_ids",
34
- "context": {
35
- "trigger_workflow": "Invoices",
36
- "trigger_phase": "Invoiced",
37
- "target_workflow": "Invoice Rows",
38
- "target_phases": {
39
- "from": ["Draft", "Pending"],
40
- "to": "Archived"
41
- }
42
- }
43
- }
44
- ```
45
-
46
- ### Step 2: Create MetaData Field (Helga)
47
-
48
- Add hidden "Seen/Not seen" field to trigger workflow:
49
-
50
- ```json
51
- {
52
- "task": "add_field",
53
- "context": {
54
- "workflow_id": "from-kenji",
55
- "field": {
56
- "id": "activityMoverStatus",
57
- "label": "Activity Mover Status",
58
- "type": "text",
59
- "hidden": true,
60
- "defaultValue": "Not seen"
61
- }
62
- }
63
- }
64
- ```
65
-
66
- Run the push command Helga returns.
67
-
68
- ### Step 3: Create Logging Activity (Dmitri)
69
-
70
- Create an activity for bot logging:
71
-
72
- ```json
73
- {
74
- "task": "create_activity",
75
- "context": {
76
- "workflow": "suitable-workflow-for-logs",
77
- "name": "Activity Mover Log - [Project]",
78
- "phase": "active-phase"
79
- }
80
- }
81
- ```
82
-
83
- Note the activity's discussion ID from the response.
84
-
85
- ### Step 4: Generate Config JSON
86
-
87
- Output config for user to deploy:
88
-
89
- ```json
90
- {
91
- "project": "project-name",
92
- "email": "activity-mover+project@hailer.com",
93
- "password": "USER_PROVIDES_PASSWORD",
94
- "logDiscussionId": "from-step-3",
95
- "triggers": [
96
- {
97
- "processId": "trigger-workflow-id",
98
- "phaseId": "trigger-phase-id",
99
- "metaDataId": "seen-field-id",
100
- "linkedProcesses": [
101
- {
102
- "processId": "target-workflow-id",
103
- "fromPhaseIds": ["phase-1", "phase-2"],
104
- "toPhaseId": "destination-phase"
105
- }
106
- ]
107
- }
108
- ]
109
- }
110
- ```
111
-
112
- ### Step 5: User Deploys
113
-
114
- User manually:
115
- 1. Fills in integration user password
116
- 2. Uploads to AWS Secrets Manager as `activity-mover-{project}`
117
-
118
- ---
119
-
120
- ## Config Schema
121
-
122
- ```typescript
123
- interface Config {
124
- project: string; // Hailer project identifier
125
- email: string; // Integration user email
126
- password: string; // Integration user password
127
- logDiscussionId: string; // Discussion ID (not activity ID)
128
- triggers: Trigger[];
129
- }
130
-
131
- interface Trigger {
132
- processId: string; // Workflow that triggers automation
133
- phaseId: string; // Phase that fires the trigger
134
- metaDataId: string; // "Seen/Not seen" field ID
135
- linkedProcesses: Process[];
136
- }
137
-
138
- interface Process {
139
- processId: string; // Target workflow ID
140
- fromPhaseIds: string[]; // Only move activities in these phases
141
- toPhaseId: string; // Move to this phase
142
- }
143
- ```
144
-
145
- ---
146
-
147
- ## Requirements
148
-
149
- Before setting up:
150
- - [ ] Link field must exist connecting trigger → target workflows
151
- - [ ] Integration user exists with edit permissions on all workflows
152
- - [ ] Activity mover service running for the project
153
-
154
- ---
155
-
156
- ## Multiple Triggers
157
-
158
- One config supports multiple triggers:
159
-
160
- ```json
161
- {
162
- "triggers": [
163
- { "processId": "workflow-1", "phaseId": "phase-a", ... },
164
- { "processId": "workflow-2", "phaseId": "phase-b", ... }
165
- ]
166
- }
167
- ```
168
-
169
- ---
170
-
171
- ## Multiple Target Workflows
172
-
173
- One trigger can cascade to multiple workflows:
174
-
175
- ```json
176
- {
177
- "linkedProcesses": [
178
- { "processId": "target-1", "fromPhaseIds": [...], "toPhaseId": "..." },
179
- { "processId": "target-2", "fromPhaseIds": [...], "toPhaseId": "..." }
180
- ]
181
- }
182
- ```
183
-
184
- ---
185
-
186
- ## Agent Output
187
-
188
- Return to user:
189
-
190
- ```json
191
- {
192
- "status": "success",
193
- "result": {
194
- "fields_created": ["activityMoverStatus"],
195
- "logging_activity": "activity-id",
196
- "logging_discussion": "discussion-id",
197
- "config": { ... }
198
- },
199
- "summary": "Config ready - deploy to AWS",
200
- "user_action": "Upload config to AWS Secrets Manager as activity-mover-{project}"
201
- }
202
- ```
203
-
204
- ---
205
-
206
- ## Troubleshooting
207
-
208
- | Issue | Cause | Fix |
209
- |-------|-------|-----|
210
- | Activities not moving | Wrong phase IDs | Verify IDs with Kenji |
211
- | "Not seen" not updating | Wrong metaDataId | Check field ID |
212
- | No log messages | Wrong discussionId | Use discussion ID, not activity ID |
213
- | Permission denied | Integration user lacks access | Add to workflow permissions |