@hailer/mcp 1.1.16 → 1.1.17-beta.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/.claude/CLAUDE.md +117 -320
- package/.claude/commands/app-squad.md +86 -90
- package/.claude/commands/audit-squad.md +19 -19
- package/.claude/commands/autoplan.md +3 -3
- package/.claude/commands/cleanup-squad.md +16 -16
- package/.claude/commands/config-squad.md +30 -30
- package/.claude/commands/crud-squad.md +23 -23
- package/.claude/commands/data-squad.md +21 -21
- package/.claude/commands/debug-squad.md +44 -44
- package/.claude/commands/doc-squad.md +16 -16
- package/.claude/commands/help:agents.md +130 -99
- package/.claude/commands/help:commands.md +15 -15
- package/.claude/commands/help:faq.md +17 -17
- package/.claude/commands/help:plugins.md +1 -1
- package/.claude/commands/help:skills.md +18 -24
- package/.claude/commands/hotfix-squad.md +22 -22
- package/.claude/commands/integration-squad.md +22 -22
- package/.claude/commands/janitor-squad.md +31 -31
- package/.claude/commands/learn-auto.md +5 -5
- package/.claude/commands/learn.md +12 -20
- package/.claude/commands/onboard-squad.md +39 -49
- package/.claude/commands/plan-workspace.md +2 -2
- package/.claude/commands/publish.md +32 -37
- package/.claude/commands/review-squad.md +27 -27
- package/.claude/commands/stats.md +26 -12
- package/.claude/commands/swarm.md +25 -25
- package/.claude/skills/chrome-mcp-reference/SKILL.md +5 -0
- package/.claude/skills/hailer-api-client/SKILL.md +55 -16
- package/.claude/skills/hailer-app-builder/SKILL.md +4 -270
- package/.claude/skills/hailer-apps-pictures/SKILL.md +3 -3
- package/.claude/skills/hailer-design-system/SKILL.md +96 -4
- package/.claude/skills/hailer-monolith-automations/SKILL.md +138 -116
- package/.claude/skills/hailer-permissions-system/SKILL.md +6 -9
- package/.claude/skills/hailer-project-protocol/SKILL.md +20 -110
- package/.claude/skills/integration-patterns/SKILL.md +6 -6
- package/.claude/skills/lsp-setup/SKILL.md +8 -9
- package/.claude/skills/sdk-activity-patterns/SKILL.md +238 -0
- package/.claude/skills/{SDK-document-templates → sdk-document-templates}/SKILL.md +13 -340
- package/.claude/skills/{SDK-function-fields → sdk-function-fields}/SKILL.md +8 -40
- package/.claude/skills/{SDK-insight-queries → sdk-insight-queries}/SKILL.md +114 -392
- package/.claude/skills/{SDK-ws-config-skill → sdk-ws-config-skill}/SKILL.md +79 -310
- package/.claude/skills/zapier-hailer-patterns/SKILL.md +84 -361
- package/.opencode/package-lock.json +117 -0
- package/CLAUDE.md +5 -358
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +10 -127
- package/dist/app.js.map +1 -1
- package/dist/bot/bot-manager.d.ts +3 -14
- package/dist/bot/bot-manager.d.ts.map +1 -1
- package/dist/bot/bot-manager.js +13 -4
- package/dist/bot/bot-manager.js.map +1 -1
- package/dist/bot/bot.d.ts +23 -102
- package/dist/bot/bot.d.ts.map +1 -1
- package/dist/bot/bot.js +356 -1212
- package/dist/bot/bot.js.map +1 -1
- package/dist/bot/services/bot-permissions.d.ts +50 -0
- package/dist/bot/services/bot-permissions.d.ts.map +1 -0
- package/dist/bot/services/bot-permissions.js +198 -0
- package/dist/bot/services/bot-permissions.js.map +1 -0
- package/dist/bot/services/index.d.ts +4 -2
- package/dist/bot/services/index.d.ts.map +1 -1
- package/dist/bot/services/index.js +10 -5
- package/dist/bot/services/index.js.map +1 -1
- package/dist/bot/services/message-classifier.d.ts +1 -1
- package/dist/bot/services/message-classifier.d.ts.map +1 -1
- package/dist/bot/services/message-classifier.js.map +1 -1
- package/dist/bot/services/signal-router.d.ts +32 -0
- package/dist/bot/services/signal-router.d.ts.map +1 -0
- package/dist/bot/services/signal-router.js +132 -0
- package/dist/bot/services/signal-router.js.map +1 -0
- package/dist/bot/services/system-prompt.d.ts +12 -0
- package/dist/bot/services/system-prompt.d.ts.map +1 -0
- package/dist/bot/services/system-prompt.js +93 -0
- package/dist/bot/services/system-prompt.js.map +1 -0
- package/dist/bot/services/types.d.ts +7 -34
- package/dist/bot/services/types.d.ts.map +1 -1
- package/dist/bot/services/types.js +0 -3
- package/dist/bot/services/types.js.map +1 -1
- package/dist/bot/services/workspace-refresh.d.ts +47 -0
- package/dist/bot/services/workspace-refresh.d.ts.map +1 -0
- package/dist/bot/services/workspace-refresh.js +154 -0
- package/dist/bot/services/workspace-refresh.js.map +1 -0
- package/dist/bot-config/constants.d.ts +0 -36
- package/dist/bot-config/constants.d.ts.map +1 -1
- package/dist/bot-config/constants.js +1 -76
- package/dist/bot-config/constants.js.map +1 -1
- package/dist/bot-config/context.d.ts +2 -42
- package/dist/bot-config/context.d.ts.map +1 -1
- package/dist/bot-config/context.js +13 -134
- package/dist/bot-config/context.js.map +1 -1
- package/dist/bot-config/index.d.ts +6 -15
- package/dist/bot-config/index.d.ts.map +1 -1
- package/dist/bot-config/index.js +5 -80
- package/dist/bot-config/index.js.map +1 -1
- package/dist/bot-config/loader.d.ts +16 -4
- package/dist/bot-config/loader.d.ts.map +1 -1
- package/dist/bot-config/loader.js +187 -96
- package/dist/bot-config/loader.js.map +1 -1
- package/dist/bot-config/persistence.d.ts +1 -52
- package/dist/bot-config/persistence.d.ts.map +1 -1
- package/dist/bot-config/persistence.js +3 -213
- package/dist/bot-config/persistence.js.map +1 -1
- package/dist/bot-config/state.d.ts +0 -41
- package/dist/bot-config/state.d.ts.map +1 -1
- package/dist/bot-config/state.js +0 -151
- package/dist/bot-config/state.js.map +1 -1
- package/dist/bot-config/tools.d.ts +1 -1
- package/dist/bot-config/tools.js +27 -27
- package/dist/bot-config/tools.js.map +1 -1
- package/dist/bot-config/types.d.ts +39 -32
- package/dist/bot-config/types.d.ts.map +1 -1
- package/dist/bot-config/types.js +0 -3
- package/dist/bot-config/types.js.map +1 -1
- package/dist/bot-config/webhooks.d.ts +0 -4
- package/dist/bot-config/webhooks.d.ts.map +1 -1
- package/dist/bot-config/webhooks.js +0 -13
- package/dist/bot-config/webhooks.js.map +1 -1
- package/dist/commands/seed-config.js +16 -31
- package/dist/commands/seed-config.js.map +1 -1
- package/dist/config.d.ts +0 -9
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -15
- package/dist/config.js.map +1 -1
- package/dist/mcp/hailer-clients.js +2 -2
- package/dist/mcp/hailer-clients.js.map +1 -1
- package/dist/mcp/tool-registry.d.ts +10 -115
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +39 -363
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/mcp/tools/activity.d.ts +3 -0
- package/dist/mcp/tools/activity.d.ts.map +1 -1
- package/dist/mcp/tools/activity.js +8 -1
- package/dist/mcp/tools/activity.js.map +1 -1
- package/dist/mcp/tools/app-core.d.ts +3 -0
- package/dist/mcp/tools/app-core.d.ts.map +1 -1
- package/dist/mcp/tools/app-core.js +9 -2
- package/dist/mcp/tools/app-core.js.map +1 -1
- package/dist/mcp/tools/app-marketplace.d.ts +3 -0
- package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
- package/dist/mcp/tools/app-marketplace.js +13 -1
- package/dist/mcp/tools/app-marketplace.js.map +1 -1
- package/dist/mcp/tools/app-member.d.ts +3 -0
- package/dist/mcp/tools/app-member.d.ts.map +1 -1
- package/dist/mcp/tools/app-member.js +6 -1
- package/dist/mcp/tools/app-member.js.map +1 -1
- package/dist/mcp/tools/app-scaffold.d.ts +3 -0
- package/dist/mcp/tools/app-scaffold.d.ts.map +1 -1
- package/dist/mcp/tools/app-scaffold.js +15 -11
- package/dist/mcp/tools/app-scaffold.js.map +1 -1
- package/dist/mcp/tools/company.d.ts +3 -0
- package/dist/mcp/tools/company.d.ts.map +1 -1
- package/dist/mcp/tools/company.js +5 -1
- package/dist/mcp/tools/company.js.map +1 -1
- package/dist/mcp/tools/discussion.d.ts +3 -0
- package/dist/mcp/tools/discussion.d.ts.map +1 -1
- package/dist/mcp/tools/discussion.js +13 -2
- package/dist/mcp/tools/discussion.js.map +1 -1
- package/dist/mcp/tools/file.d.ts +3 -0
- package/dist/mcp/tools/file.d.ts.map +1 -1
- package/dist/mcp/tools/file.js +6 -1
- package/dist/mcp/tools/file.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +7 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +34 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/insight.d.ts +3 -0
- package/dist/mcp/tools/insight.d.ts.map +1 -1
- package/dist/mcp/tools/insight.js +18 -8
- package/dist/mcp/tools/insight.js.map +1 -1
- package/dist/mcp/tools/user.d.ts +3 -0
- package/dist/mcp/tools/user.d.ts.map +1 -1
- package/dist/mcp/tools/user.js +6 -1
- package/dist/mcp/tools/user.js.map +1 -1
- package/dist/mcp/tools/workflow-permissions.d.ts +3 -0
- package/dist/mcp/tools/workflow-permissions.d.ts.map +1 -1
- package/dist/mcp/tools/workflow-permissions.js +8 -1
- package/dist/mcp/tools/workflow-permissions.js.map +1 -1
- package/dist/mcp/tools/workflow.d.ts +3 -0
- package/dist/mcp/tools/workflow.d.ts.map +1 -1
- package/dist/mcp/tools/workflow.js +29 -28
- package/dist/mcp/tools/workflow.js.map +1 -1
- package/dist/mcp/utils/index.d.ts +4 -11
- package/dist/mcp/utils/index.d.ts.map +1 -1
- package/dist/mcp/utils/index.js +5 -36
- package/dist/mcp/utils/index.js.map +1 -1
- package/dist/mcp/utils/role-utils.d.ts +0 -32
- package/dist/mcp/utils/role-utils.d.ts.map +1 -1
- package/dist/mcp/utils/role-utils.js +0 -73
- package/dist/mcp/utils/role-utils.js.map +1 -1
- package/dist/mcp/utils/tool-helpers.d.ts +0 -25
- package/dist/mcp/utils/tool-helpers.d.ts.map +1 -1
- package/dist/mcp/utils/tool-helpers.js +0 -34
- package/dist/mcp/utils/tool-helpers.js.map +1 -1
- package/dist/mcp/webhook-handler.d.ts +4 -34
- package/dist/mcp/webhook-handler.d.ts.map +1 -1
- package/dist/mcp/webhook-handler.js +57 -74
- package/dist/mcp/webhook-handler.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +3 -78
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -2
- package/.claude/agents/agent-ada-skill-builder.md +0 -94
- package/.claude/agents/agent-alejandro-function-fields.md +0 -342
- package/.claude/agents/agent-bjorn-config-audit.md +0 -103
- package/.claude/agents/agent-builder-agent-creator.md +0 -130
- package/.claude/agents/agent-code-simplifier.md +0 -53
- package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
- package/.claude/agents/agent-giuseppe-app-builder.md +0 -208
- package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
- package/.claude/agents/agent-helga-workflow-config.md +0 -204
- package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
- package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
- package/.claude/agents/agent-ivan-monolith.md +0 -154
- package/.claude/agents/agent-kenji-data-reader.md +0 -86
- package/.claude/agents/agent-lars-code-inspector.md +0 -102
- package/.claude/agents/agent-marco-mockup-builder.md +0 -110
- package/.claude/agents/agent-marcus-api-documenter.md +0 -323
- package/.claude/agents/agent-marketplace-publisher.md +0 -280
- package/.claude/agents/agent-marketplace-reviewer.md +0 -309
- package/.claude/agents/agent-permissions-handler.md +0 -208
- package/.claude/agents/agent-simple-writer.md +0 -48
- package/.claude/agents/agent-svetlana-code-review.md +0 -171
- package/.claude/agents/agent-tanya-test-runner.md +0 -333
- package/.claude/agents/agent-ui-designer.md +0 -100
- package/.claude/agents/agent-viktor-sql-insights.md +0 -212
- package/.claude/agents/agent-web-search.md +0 -55
- package/.claude/agents/agent-yevgeni-discussions.md +0 -45
- package/.claude/agents/agent-zara-zapier.md +0 -159
- package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
- package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
- package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
- package/.claude/skills/agent-structure/SKILL.md +0 -98
- package/.claude/skills/delegation-routing/SKILL.md +0 -202
- package/.claude/skills/frontend-design/SKILL.md +0 -254
- package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
- package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
- package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
- package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
- package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
- package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
- package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
- package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
- package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
- package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
- package/.claude/skills/json-only-output/SKILL.md +0 -72
- package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
- package/.claude/skills/optional-parameters/SKILL.md +0 -72
- package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
- package/.claude/skills/tool-response-verification/SKILL.md +0 -92
- package/.opencode/agent/agent-ada-skill-builder.md +0 -35
- package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
- package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
- package/.opencode/agent/agent-builder-agent-creator.md +0 -39
- package/.opencode/agent/agent-code-simplifier.md +0 -31
- package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
- package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
- package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
- package/.opencode/agent/agent-helga-workflow-config.md +0 -204
- package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
- package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
- package/.opencode/agent/agent-ivan-monolith.md +0 -46
- package/.opencode/agent/agent-kenji-data-reader.md +0 -53
- package/.opencode/agent/agent-lars-code-inspector.md +0 -28
- package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
- package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
- package/.opencode/agent/agent-marketplace-publisher.md +0 -44
- package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
- package/.opencode/agent/agent-permissions-handler.md +0 -50
- package/.opencode/agent/agent-simple-writer.md +0 -45
- package/.opencode/agent/agent-svetlana-code-review.md +0 -39
- package/.opencode/agent/agent-tanya-test-runner.md +0 -57
- package/.opencode/agent/agent-ui-designer.md +0 -56
- package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
- package/.opencode/agent/agent-web-search.md +0 -42
- package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
- package/.opencode/agent/agent-zara-zapier.md +0 -53
- package/.opencode/commands/app-squad.md +0 -135
- package/.opencode/commands/audit-squad.md +0 -158
- package/.opencode/commands/autoplan.md +0 -563
- package/.opencode/commands/cleanup-squad.md +0 -98
- package/.opencode/commands/config-squad.md +0 -106
- package/.opencode/commands/crud-squad.md +0 -87
- package/.opencode/commands/data-squad.md +0 -97
- package/.opencode/commands/debug-squad.md +0 -303
- package/.opencode/commands/doc-squad.md +0 -65
- package/.opencode/commands/handoff.md +0 -137
- package/.opencode/commands/health.md +0 -49
- package/.opencode/commands/help-agents.md +0 -151
- package/.opencode/commands/help-commands.md +0 -32
- package/.opencode/commands/help-faq.md +0 -29
- package/.opencode/commands/help-plugins.md +0 -28
- package/.opencode/commands/help-skills.md +0 -7
- package/.opencode/commands/help-tools.md +0 -40
- package/.opencode/commands/help.md +0 -28
- package/.opencode/commands/hotfix-squad.md +0 -112
- package/.opencode/commands/integration-squad.md +0 -82
- package/.opencode/commands/janitor-squad.md +0 -167
- package/.opencode/commands/learn-auto.md +0 -120
- package/.opencode/commands/learn.md +0 -120
- package/.opencode/commands/mcp-list.md +0 -27
- package/.opencode/commands/onboard-squad.md +0 -140
- package/.opencode/commands/plan-workspace.md +0 -732
- package/.opencode/commands/prd.md +0 -131
- package/.opencode/commands/project-status.md +0 -82
- package/.opencode/commands/publish.md +0 -138
- package/.opencode/commands/recap.md +0 -69
- package/.opencode/commands/restore.md +0 -64
- package/.opencode/commands/review-squad.md +0 -152
- package/.opencode/commands/save.md +0 -24
- package/.opencode/commands/stats.md +0 -19
- package/.opencode/commands/swarm.md +0 -210
- package/.opencode/commands/tool-builder.md +0 -39
- package/.opencode/commands/ws-pull.md +0 -44
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: SDK-generate-skill
|
|
3
|
-
description: TypeScript type generation from Hailer workspace
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
triggers: Generate types, TypeScript generation, update types, enums
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# SDK Type Generation
|
|
9
|
-
|
|
10
|
-
Generate TypeScript types from your Hailer workspace configuration.
|
|
11
|
-
|
|
12
|
-
## Overview
|
|
13
|
-
|
|
14
|
-
The SDK generates TypeScript types and enums from your workspace configuration, providing type-safe access to:
|
|
15
|
-
- Workflow IDs
|
|
16
|
-
- Field IDs
|
|
17
|
-
- Phase IDs
|
|
18
|
-
- Team IDs
|
|
19
|
-
- Group IDs
|
|
20
|
-
- Member IDs
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Generated Files
|
|
25
|
-
|
|
26
|
-
After `npm run pull`, these files are auto-generated:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
workspace/
|
|
30
|
-
├── enums.ts # Type-safe ID constants (DO NOT EDIT)
|
|
31
|
-
├── hailer.d.ts # TypeScript definitions (DO NOT EDIT)
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Using Enums
|
|
37
|
-
|
|
38
|
-
```typescript
|
|
39
|
-
import {
|
|
40
|
-
WorkflowIds,
|
|
41
|
-
Tasks_FieldIds,
|
|
42
|
-
Tasks_PhaseIds,
|
|
43
|
-
TeamIds,
|
|
44
|
-
WorkspaceMembers
|
|
45
|
-
} from './workspace/enums';
|
|
46
|
-
|
|
47
|
-
// Reference workflow
|
|
48
|
-
const workflowId = WorkflowIds.tasks;
|
|
49
|
-
|
|
50
|
-
// Reference field
|
|
51
|
-
const fieldId = Tasks_FieldIds.due_date;
|
|
52
|
-
|
|
53
|
-
// Reference phase
|
|
54
|
-
const phaseId = Tasks_PhaseIds.in_progress;
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Regenerating Types
|
|
60
|
-
|
|
61
|
-
Types are regenerated automatically when you run:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npm run pull
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**When to regenerate:**
|
|
68
|
-
- After pushing new fields/phases/workflows
|
|
69
|
-
- After team/group changes
|
|
70
|
-
- When enums seem out of date
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Important Notes
|
|
75
|
-
|
|
76
|
-
1. **Never edit enums.ts manually** - It's auto-generated
|
|
77
|
-
2. **Pull after push** - Get new IDs into enums after adding items
|
|
78
|
-
3. **Use enums everywhere** - Never hardcode IDs as strings
|
|
79
|
-
4. **Type safety** - TypeScript will catch invalid ID references
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Troubleshooting
|
|
84
|
-
|
|
85
|
-
**Enum not found after adding field:**
|
|
86
|
-
1. Ensure you ran `npm run fields-push:force`
|
|
87
|
-
2. Run `npm run pull` to regenerate enums
|
|
88
|
-
3. Check that the field was actually created in Hailer
|
|
89
|
-
|
|
90
|
-
**Type errors after changes:**
|
|
91
|
-
1. Run `npm run pull` to sync
|
|
92
|
-
2. Restart TypeScript server in your IDE
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: SDK-init-skill
|
|
3
|
-
description: Initialize a new Hailer SDK project
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
triggers: New project, init workspace, setup SDK, create workspace
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# SDK Project Initialization
|
|
9
|
-
|
|
10
|
-
Setting up a new Hailer SDK workspace project.
|
|
11
|
-
|
|
12
|
-
## Overview
|
|
13
|
-
|
|
14
|
-
A Hailer SDK project connects to a Hailer workspace and allows you to manage its configuration as infrastructure-as-code.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Prerequisites
|
|
19
|
-
|
|
20
|
-
- Node.js 18+
|
|
21
|
-
- Access to a Hailer workspace
|
|
22
|
-
- Workspace API credentials
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Project Structure
|
|
27
|
-
|
|
28
|
-
A new SDK project has this structure:
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
project/
|
|
32
|
-
├── workspace/ # SDK configuration (git-tracked)
|
|
33
|
-
│ ├── workflows.ts # Workflow registry
|
|
34
|
-
│ ├── enums.ts # Auto-generated IDs
|
|
35
|
-
│ ├── teams.ts # Team definitions
|
|
36
|
-
│ ├── groups.ts # Group definitions
|
|
37
|
-
│ └── [Workflow]_[id]/ # Per-workflow config
|
|
38
|
-
├── .env # Credentials (git-ignored)
|
|
39
|
-
├── config.json # Workspace configuration
|
|
40
|
-
├── package.json # Dependencies
|
|
41
|
-
├── tsconfig.json # TypeScript config
|
|
42
|
-
└── vitest.config.ts # Test configuration
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Setup Steps
|
|
48
|
-
|
|
49
|
-
### 1. Create Project
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
mkdir my-hailer-project
|
|
53
|
-
cd my-hailer-project
|
|
54
|
-
npm init -y
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 2. Install SDK
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
npm install @hailer/sdk typescript vitest --save-dev
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### 3. Configure Credentials
|
|
64
|
-
|
|
65
|
-
Create `.env`:
|
|
66
|
-
```
|
|
67
|
-
HAILER_API_KEY=your_api_key
|
|
68
|
-
HAILER_WORKSPACE_ID=your_workspace_id
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Create `config.json`:
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"workspaceId": "your_workspace_id",
|
|
75
|
-
"apiUrl": "https://api.hailer.com"
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### 4. Pull Initial Configuration
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
npm run pull
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
This downloads the current workspace configuration into `workspace/`.
|
|
86
|
-
|
|
87
|
-
### 5. Add Claude Code Setup (Optional)
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
/setup-hailer
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
This copies agents, skills, and hooks from the reference.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## First Workflow
|
|
98
|
-
|
|
99
|
-
The SDK creates workspace with one default workflow. To add more:
|
|
100
|
-
|
|
101
|
-
1. Edit `workspace/workflows.ts`
|
|
102
|
-
2. Run `npm run workflows-sync:force`
|
|
103
|
-
3. Run `npm run pull` to get new IDs
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Git Setup
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
git init
|
|
111
|
-
echo ".env" >> .gitignore
|
|
112
|
-
echo "node_modules" >> .gitignore
|
|
113
|
-
git add -A
|
|
114
|
-
git commit -m "Initial SDK setup"
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Verification
|
|
120
|
-
|
|
121
|
-
After setup, verify by running:
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
npm run pull
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Should complete without errors and populate `workspace/` with your configuration.
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agent-structure
|
|
3
|
-
description: Template for creating new Hailer SDK agents
|
|
4
|
-
version: 1.1.0
|
|
5
|
-
triggers: create agent, new agent, agent template
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Agent Structure Template
|
|
9
|
-
|
|
10
|
-
Use this template when creating new agents.
|
|
11
|
-
|
|
12
|
-
## File Location
|
|
13
|
-
|
|
14
|
-
`.claude/agents/agent-{name}-{role}.md`
|
|
15
|
-
|
|
16
|
-
## Template
|
|
17
|
-
|
|
18
|
-
```markdown
|
|
19
|
-
---
|
|
20
|
-
name: agent-{name}-{role}
|
|
21
|
-
description: What it does.\n\n<example>\nuser: "request"\nassistant: {"status":"success","result":{},"summary":"Done"}\n</example>
|
|
22
|
-
model: haiku|sonnet
|
|
23
|
-
tools: tool_1, tool_2
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
<identity>
|
|
27
|
-
I am {Name}, {nationality} {role} specialist. {Philosophy}. Output JSON. Full stop.
|
|
28
|
-
</identity>
|
|
29
|
-
|
|
30
|
-
<handles>
|
|
31
|
-
- Task 1
|
|
32
|
-
- Task 2
|
|
33
|
-
</handles>
|
|
34
|
-
|
|
35
|
-
<skills>
|
|
36
|
-
Load `skill-name` before complex tasks.
|
|
37
|
-
</skills>
|
|
38
|
-
|
|
39
|
-
<rules>
|
|
40
|
-
1. **NEVER FABRICATE** - Must call tools.
|
|
41
|
-
2. Rule 2
|
|
42
|
-
3. Rule 3
|
|
43
|
-
</rules>
|
|
44
|
-
|
|
45
|
-
<protocol>
|
|
46
|
-
Input: JSON task spec
|
|
47
|
-
Output: JSON only
|
|
48
|
-
Schema: { "status": "success|error", "result": {}, "summary": "max 50 chars" }
|
|
49
|
-
</protocol>
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Identity Shapes Behavior
|
|
53
|
-
|
|
54
|
-
**The `<identity>` section is the most powerful lever for agent behavior** - more than rules.
|
|
55
|
-
|
|
56
|
-
Rules tell agents what NOT to do. Identity tells them WHO they are and HOW they work. When an agent fabricates results despite having "NEVER FABRICATE" as rule 1, the fix is usually to rewrite identity to emphasize tool-first behavior.
|
|
57
|
-
|
|
58
|
-
**Good identity (tool-centric):**
|
|
59
|
-
```
|
|
60
|
-
I am Kenji. I read files. I query APIs. I verify data. Every answer comes from a tool call. Output JSON. Full stop.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**Weak identity (role-centric only):**
|
|
64
|
-
```
|
|
65
|
-
I am Kenji, a data reader specialist.
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Additionally:** Give explicit step-by-step commands in the Task prompt, not just "do X". Agents follow concrete instructions better than abstract goals.
|
|
69
|
-
|
|
70
|
-
## Model Selection
|
|
71
|
-
|
|
72
|
-
| Model | Use for | Cost |
|
|
73
|
-
|-------|---------|------|
|
|
74
|
-
| `haiku` | Procedural/checklist work, CRUD, simple lookups | Cheap, fast |
|
|
75
|
-
| `sonnet` | Complex reasoning, code generation, validation logic | More expensive |
|
|
76
|
-
|
|
77
|
-
## Status Values
|
|
78
|
-
|
|
79
|
-
| Status | Meaning | Orchestrator Action |
|
|
80
|
-
|--------|---------|---------------------|
|
|
81
|
-
| `success` | Task completed | Report to user |
|
|
82
|
-
| `error` | Task failed | Report error, maybe retry |
|
|
83
|
-
| `ready_to_push` | Files edited, needs push | Run commands in `commands` array |
|
|
84
|
-
| `needs_confirmation` | Destructive action | Ask user, then run `safe_command` |
|
|
85
|
-
|
|
86
|
-
## Naming Convention
|
|
87
|
-
|
|
88
|
-
- `agent-kenji-data-reader` - Kenji reads data
|
|
89
|
-
- `agent-helga-workflow-config` - Helga configures workflows
|
|
90
|
-
- `agent-igor-activity-mover-automation` - Igor builds activity movers
|
|
91
|
-
|
|
92
|
-
Pattern: `agent-{firstname}-{domain}`
|
|
93
|
-
|
|
94
|
-
## Customization
|
|
95
|
-
|
|
96
|
-
- **CREATE:** Add to `.claude/agents/`
|
|
97
|
-
- **MODIFY:** Edit `.claude/agents/*.md`
|
|
98
|
-
- **DISABLE:** Move to `docs/agents/`
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: delegation-routing
|
|
3
|
-
description: Full agent routing table, chaining patterns, and delegation protocol
|
|
4
|
-
version: 1.0.1
|
|
5
|
-
triggers: which agent, routing, delegate, agent for, chain agents, multi-agent
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Agent Delegation & Routing
|
|
9
|
-
|
|
10
|
-
Load this skill when:
|
|
11
|
-
- Routing is ambiguous ("is this Viktor or Alejandro?")
|
|
12
|
-
- Planning multi-agent orchestration
|
|
13
|
-
- User asks "which agent for X?"
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Full Agent Routing Table
|
|
18
|
-
|
|
19
|
-
### Data & Config
|
|
20
|
-
| Agent | Purpose | When to Use |
|
|
21
|
-
|-------|---------|-------------|
|
|
22
|
-
| **Kenji** | LOCAL-FIRST data retrieval - reads workspace/ before API | Schema lookups, field lists, workflow metadata, activity counts |
|
|
23
|
-
| **Dmitri** | Creates and updates Hailer activity data (WRITE-ONLY) | Single/bulk activity creation, updates, phase transitions |
|
|
24
|
-
| **Helga** | Manages workspace config as infrastructure-as-code | Create workflows, add fields/phases, teams, groups, permissions. **Auto-spawns Alejandro** for name functions (always) + function fields (if PRD specifies) |
|
|
25
|
-
|
|
26
|
-
### Apps & UI
|
|
27
|
-
| Agent | Purpose | When to Use |
|
|
28
|
-
|-------|---------|-------------|
|
|
29
|
-
| **Giuseppe** | Builds Hailer apps with @hailer/app-sdk and Chakra UI | Full React/TypeScript app development with Hailer Design System |
|
|
30
|
-
| **Marco** | Creates demo apps (non-functional) for validation | Fast prototyping, stakeholder demos before building production |
|
|
31
|
-
| **UI Designer** | Designs app interfaces - layout, components, aesthetic | Design spec creation before Giuseppe builds (tone, signature element) |
|
|
32
|
-
|
|
33
|
-
### Insights & Reports
|
|
34
|
-
| Agent | Purpose | When to Use |
|
|
35
|
-
|-------|---------|-------------|
|
|
36
|
-
| **Viktor** | Creates SQL-like insights over workflow data | Reports, cross-workflow JOINs, aggregations, GROUP BY queries |
|
|
37
|
-
| **Alejandro** | Creates calculated function fields AND workflow nameFunctions | Arithmetic, conditionals, date calculations, backlink aggregation, dynamic activity naming. *(Auto-spawned by Helga)* |
|
|
38
|
-
|
|
39
|
-
### Documents
|
|
40
|
-
| Agent | Purpose | When to Use |
|
|
41
|
-
|-------|---------|-------------|
|
|
42
|
-
| **Ingrid** | Document template specialist (PDF/CSV) | Create/update document templates with field mappings and pdfmake |
|
|
43
|
-
|
|
44
|
-
### Integrations
|
|
45
|
-
| Agent | Purpose | When to Use |
|
|
46
|
-
|-------|---------|-------------|
|
|
47
|
-
| **Igor** | Builds activity mover microservices | Phase cascade bots, trigger-based phase transitions |
|
|
48
|
-
| **Ivan** | Builds automations in hailer-integration monolith | Webhooks, scheduled jobs, Netvisor/Procountor/Severa integrations |
|
|
49
|
-
| **Zara** | Builds Zapier integrations for Hailer | Triggers, actions, Zap configurations (exports JSON for manual upload) |
|
|
50
|
-
|
|
51
|
-
### Code Quality
|
|
52
|
-
| Agent | Purpose | When to Use |
|
|
53
|
-
|-------|---------|-------------|
|
|
54
|
-
| **Svetlana** | Reviews code for bugs, security, best practices (READ-ONLY) | Pre-commit reviews, PR reviews, security audits |
|
|
55
|
-
| **Lars** | LSP-powered code intelligence | Find dead code, unused imports, type errors via LSP only |
|
|
56
|
-
| **Tanya** | Automated testing agent | Run vitest for functions, playwright for apps, verify builds |
|
|
57
|
-
|
|
58
|
-
### Tools & API
|
|
59
|
-
| Agent | Purpose | When to Use |
|
|
60
|
-
|-------|---------|-------------|
|
|
61
|
-
| **Gunther** | Builds MCP tools for Hailer MCP server | Create new MCP tools with Zod schemas in src/mcp/tools/ |
|
|
62
|
-
| **Marcus** | Documents Hailer API endpoints | RPC/REST endpoint docs, Joi schema extraction, @hailer/cli examples |
|
|
63
|
-
|
|
64
|
-
### Plugin System
|
|
65
|
-
| Agent | Purpose | When to Use |
|
|
66
|
-
|-------|---------|-------------|
|
|
67
|
-
| **Ada** | Creates skills from failure patterns | Detect agent failures, create skills, update agent definitions |
|
|
68
|
-
| **Builder** | Creates lean, token-efficient agents | New agents, refactor bloated agents, ensure SDK compatibility |
|
|
69
|
-
| **Bjorn** | Audits codebase configuration | Verify CLAUDE.md accuracy, hook configs, workspace structure |
|
|
70
|
-
| **Marketplace Publisher** | Publishes plugins to marketplace | Version check, publish plugins, create PRs, git workflows |
|
|
71
|
-
| **Marketplace Reviewer** | AI-powered PR reviewer for marketplace | Validate schemas, check versions, auto-merge approved PRs |
|
|
72
|
-
|
|
73
|
-
### Communication
|
|
74
|
-
| Agent | Purpose | When to Use |
|
|
75
|
-
|-------|---------|-------------|
|
|
76
|
-
| **Yevgeni** | Handles Hailer discussions | Read threads, post messages, invite/remove members |
|
|
77
|
-
| **Permissions Handler** | Manages Hailer app permissions | Grant/revoke user and team access to apps |
|
|
78
|
-
|
|
79
|
-
### Utility
|
|
80
|
-
| Agent | Purpose | When to Use |
|
|
81
|
-
|-------|---------|-------------|
|
|
82
|
-
| **Simple Writer** | Lightweight agent for basic code edits | ID replacements, string swaps, small fixes (faster than Giuseppe) |
|
|
83
|
-
| **Code Simplifier** | Simplifies code for clarity and maintainability | After completing features, offer to run |
|
|
84
|
-
| **Web Search** | Web research agent - searches and summarizes | Documentation lookups, current info, how-to questions (saves orchestrator context) |
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Don't Confuse These
|
|
89
|
-
|
|
90
|
-
| Agents | Distinction |
|
|
91
|
-
|--------|-------------|
|
|
92
|
-
| **Marco** vs **Giuseppe** | Marco = demo apps (non-functional mockups), Giuseppe = production apps |
|
|
93
|
-
| **Igor** vs **Ivan** vs **Zara** | Igor = phase cascades (activity mover), Ivan = heavy/third-party integrations, Zara = Zapier only |
|
|
94
|
-
| **Kenji** vs **Dmitri** | Kenji = READ data, Dmitri = WRITE data |
|
|
95
|
-
| **Viktor** vs **Alejandro** | Viktor = SQL insights (read-only reports), Alejandro = function fields (calculated values stored on activities) |
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Agent Chaining Patterns
|
|
100
|
-
|
|
101
|
-
Some tasks require multiple agents in sequence. When agent returns `ready_to_push`, orchestrator runs the command automatically.
|
|
102
|
-
|
|
103
|
-
### Add a New Field
|
|
104
|
-
```
|
|
105
|
-
Kenji → get IDs → Helga → add field (ready_to_push) → run push → Kenji → verify
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Create App with Workflow Data
|
|
109
|
-
```
|
|
110
|
-
Kenji → get structure → Viktor → create insight (if needed) → Giuseppe → build app → Tanya → test
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Add Calculated Field
|
|
114
|
-
```
|
|
115
|
-
Kenji → get field IDs → Alejandro → create function (ready_to_push) → run push → Tanya → test
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Create Activity
|
|
119
|
-
```
|
|
120
|
-
Kenji → get IDs → Dmitri → create activity
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### Build Activity Mover
|
|
124
|
-
```
|
|
125
|
-
Kenji → get IDs → Helga → add metaData field (ready_to_push) → run push → Igor → build mover → Tanya → test
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Validate UI First
|
|
129
|
-
```
|
|
130
|
-
Kenji → get structure → Marco → demo app → (user validates) → Giuseppe → production app
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### On Chain Failure
|
|
134
|
-
- Kenji can't find ID → ask user to confirm name, suggest `/ws-pull`
|
|
135
|
-
- Push fails → delegate to Bjorn for config audit
|
|
136
|
-
- Tests fail → delegate to Svetlana for review
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## Delegation Protocol
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
Task(subagent_type="agent-name", prompt="JSON task spec", model="haiku|sonnet")
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Input Format
|
|
147
|
-
```json
|
|
148
|
-
{
|
|
149
|
-
"task": "action",
|
|
150
|
-
"context": {
|
|
151
|
-
"workflow_id": "...",
|
|
152
|
-
"field_ids": {}
|
|
153
|
-
},
|
|
154
|
-
"output": []
|
|
155
|
-
}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Output Format (JSON only, no prose)
|
|
159
|
-
```json
|
|
160
|
-
{
|
|
161
|
-
"status": "success|error|ready_to_push|needs_confirmation",
|
|
162
|
-
"result": {},
|
|
163
|
-
"summary": "max 50 chars"
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Status Values
|
|
168
|
-
| Status | Meaning | Orchestrator Action |
|
|
169
|
-
|--------|---------|---------------------|
|
|
170
|
-
| `success` | Task completed | Report to user |
|
|
171
|
-
| `error` | Task failed | Report error, maybe retry |
|
|
172
|
-
| `ready_to_push` | Files edited, needs push | Run commands in `commands` array |
|
|
173
|
-
| `needs_confirmation` | Destructive action | Ask user, then run `safe_command` |
|
|
174
|
-
|
|
175
|
-
### Flow
|
|
176
|
-
Get IDs first (Kenji) → then pass to execution agents
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Task Usage for Multi-Agent Work
|
|
181
|
-
|
|
182
|
-
Use TaskCreate/TaskUpdate when orchestrating multiple agents:
|
|
183
|
-
|
|
184
|
-
**Use tasks for:**
|
|
185
|
-
- Multi-agent orchestration (Helga spawning Alejandro)
|
|
186
|
-
- Multi-step PRD implementation
|
|
187
|
-
- Work that might span multiple turns
|
|
188
|
-
- Complex chains where tracking progress matters
|
|
189
|
-
|
|
190
|
-
**Skip tasks for:**
|
|
191
|
-
- Single-agent operations (quick field lookup, one activity creation)
|
|
192
|
-
- Simple edits (ID replacements, string swaps)
|
|
193
|
-
- Operations that complete in one turn
|
|
194
|
-
|
|
195
|
-
**Example: Creating a workflow with calculated fields**
|
|
196
|
-
```
|
|
197
|
-
TaskCreate: "Create Employees workflow"
|
|
198
|
-
TaskCreate: "Add name function to Employees" (blockedBy: workflow task)
|
|
199
|
-
TaskCreate: "Add Tenure calculated field" (blockedBy: workflow task)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
Mark tasks `in_progress` before delegating, `completed` after agent returns success.
|