@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
|
@@ -44,26 +44,14 @@ Publishes a single plugin to the marketplace.
|
|
|
44
44
|
- Check existing version in `Hailer-Marketplace/{plugin-name}/.claude-plugin/plugin.json`
|
|
45
45
|
- Suggest patch bump
|
|
46
46
|
|
|
47
|
-
4. **
|
|
48
|
-
```
|
|
49
|
-
{
|
|
50
|
-
"task": "publish_plugin",
|
|
51
|
-
"plugin": {
|
|
52
|
-
"name": "{name}",
|
|
53
|
-
"type": "agent|skill|hook",
|
|
54
|
-
"version": "{user provided}",
|
|
55
|
-
"changelog_message": "{user provided}",
|
|
56
|
-
"content": "{file content}"
|
|
57
|
-
}
|
|
58
|
-
}
|
|
47
|
+
4. **Spawn a publisher sub-agent:**
|
|
48
|
+
```
|
|
49
|
+
Task(prompt="Load publish-hailer-app skill for publishing patterns.\n\nPublish this plugin to the Hailer Marketplace:\n- Name: {name}\n- Type: agent|skill|hook\n- Version: {user provided}\n- Changelog: {user provided}\n- Content: {file content}\n\nCopy the plugin to Hailer-Marketplace/{name}/, update plugin.json, create a git commit and PR.")
|
|
59
50
|
```
|
|
60
51
|
|
|
61
|
-
5. **
|
|
62
|
-
```
|
|
63
|
-
{
|
|
64
|
-
"task": "review_pr",
|
|
65
|
-
"pr_number": "{from publisher result}"
|
|
66
|
-
}
|
|
52
|
+
5. **Spawn a reviewer sub-agent** (after PR created):
|
|
53
|
+
```
|
|
54
|
+
Task(prompt="Review the marketplace PR #{pr_number} for plugin {name}.\n\nValidate:\n- plugin.json schema is correct\n- Version increment is valid\n- No security issues\n\nIf all checks pass, report APPROVED. Otherwise report REQUEST_CHANGES with specific issues.")
|
|
67
55
|
```
|
|
68
56
|
|
|
69
57
|
6. **Report result** - PR merged and tags created, or changes requested
|
|
@@ -76,49 +64,56 @@ Publishes all out-of-sync plugins in a single PR.
|
|
|
76
64
|
|
|
77
65
|
### Steps
|
|
78
66
|
|
|
79
|
-
1. **
|
|
67
|
+
1. **Spawn a publisher sub-agent** to check for version mismatches
|
|
80
68
|
2. **Show results** to user, ask to confirm
|
|
81
|
-
3. **
|
|
82
|
-
4. **
|
|
69
|
+
3. **Spawn a publisher sub-agent** to publish all out-of-sync plugins
|
|
70
|
+
4. **Spawn a reviewer sub-agent**
|
|
83
71
|
5. **Report result**
|
|
84
72
|
|
|
85
73
|
---
|
|
86
74
|
|
|
87
|
-
## Publisher
|
|
75
|
+
## Publisher Sub-agent Protocol
|
|
76
|
+
|
|
77
|
+
Spawn with:
|
|
78
|
+
```
|
|
79
|
+
Task(prompt="Load publish-hailer-app skill.\n\nCheck .claude/ vs Hailer-Marketplace/ for version mismatches and publish out-of-sync plugins. Create a single PR with all updates.")
|
|
80
|
+
```
|
|
88
81
|
|
|
89
|
-
|
|
82
|
+
Expected result:
|
|
90
83
|
```json
|
|
91
84
|
{
|
|
92
85
|
"status": "pr_created",
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"plugins_updated": ["agent-kenji-data-reader"],
|
|
97
|
-
"versions": { "agent-kenji-data-reader": "1.0.2" }
|
|
98
|
-
},
|
|
86
|
+
"pr_number": 123,
|
|
87
|
+
"pr_url": "https://github.com/...",
|
|
88
|
+
"plugins_updated": ["skill-name", "another-skill"],
|
|
99
89
|
"summary": "Created PR #123"
|
|
100
90
|
}
|
|
101
91
|
```
|
|
102
92
|
|
|
103
|
-
## Reviewer
|
|
93
|
+
## Reviewer Sub-agent Protocol
|
|
94
|
+
|
|
95
|
+
After publisher creates PR, spawn:
|
|
96
|
+
```
|
|
97
|
+
Task(prompt="Review marketplace PR #{pr_number}.\n\nValidate plugin.json schemas, version increments, and security. Report APPROVED or REQUEST_CHANGES.")
|
|
98
|
+
```
|
|
104
99
|
|
|
105
|
-
|
|
100
|
+
The reviewer:
|
|
106
101
|
- Validates plugin.json schemas
|
|
107
102
|
- Checks version increments
|
|
108
103
|
- Scans for security issues
|
|
109
|
-
- If ALL checks pass:
|
|
110
|
-
- If ANY check fails:
|
|
104
|
+
- If ALL checks pass: report APPROVED (orchestrator merges PR and creates git tags)
|
|
105
|
+
- If ANY check fails: report REQUEST_CHANGES with details
|
|
111
106
|
|
|
112
107
|
---
|
|
113
108
|
|
|
114
109
|
## Examples
|
|
115
110
|
|
|
116
111
|
```
|
|
117
|
-
/publish
|
|
118
|
-
→ Finds .claude/
|
|
119
|
-
→ Syncs to Hailer-Marketplace/
|
|
112
|
+
/publish hailer-app-builder
|
|
113
|
+
→ Finds .claude/skills/hailer-app-builder/SKILL.md
|
|
114
|
+
→ Syncs to Hailer-Marketplace/hailer-app-builder/
|
|
120
115
|
→ Creates PR, reviewer validates and merges
|
|
121
|
-
→ Tag:
|
|
116
|
+
→ Tag: hailer-app-builder@1.0.2
|
|
122
117
|
|
|
123
118
|
/publish all
|
|
124
119
|
→ Checks manifest vs marketplace for mismatches
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Run parallel code review with
|
|
2
|
+
description: Run parallel code review with security, LSP inspection, and test verification
|
|
3
3
|
argument-hint: [files, directory, or blank for recent changes]
|
|
4
4
|
allowed-tools: Task, Bash
|
|
5
5
|
---
|
|
@@ -7,11 +7,11 @@ allowed-tools: Task, Bash
|
|
|
7
7
|
|
|
8
8
|
Parallel code review with iterative fix loop: find issues, auto-fix criticals, re-review.
|
|
9
9
|
|
|
10
|
-
**
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
10
|
+
**Roles:**
|
|
11
|
+
- **Code Reviewer** - Code review (bugs, security, best practices)
|
|
12
|
+
- **LSP Inspector** - LSP inspection (dead code, unused imports, type errors)
|
|
13
|
+
- **Test Runner** - Test runner (run tests, verify builds)
|
|
14
|
+
- **Code Editor** - Auto-fix critical issues (only in loop iterations)
|
|
15
15
|
|
|
16
16
|
**Target:** $ARGUMENTS (if blank, use recent git changes)
|
|
17
17
|
|
|
@@ -26,11 +26,11 @@ Otherwise, use the changed files list above as the target.
|
|
|
26
26
|
|
|
27
27
|
If `$ARGUMENTS` contains `--skip-tests`:
|
|
28
28
|
- Remove flag from target
|
|
29
|
-
- Skip
|
|
29
|
+
- Skip Test Runner in Step 2
|
|
30
30
|
|
|
31
31
|
If `$ARGUMENTS` contains `--skip-lsp`:
|
|
32
32
|
- Remove flag from target
|
|
33
|
-
- Skip
|
|
33
|
+
- Skip LSP Inspector in Step 2
|
|
34
34
|
|
|
35
35
|
If `$ARGUMENTS` contains `--no-fix`:
|
|
36
36
|
- Skip the fix loop entirely (old behavior - report only)
|
|
@@ -43,26 +43,26 @@ If `--bg` is present, add `run_in_background: true` to all agent calls below and
|
|
|
43
43
|
|
|
44
44
|
Spawn all review agents simultaneously using multiple Task tool calls in a single message:
|
|
45
45
|
|
|
46
|
-
**
|
|
46
|
+
**Code Reviewer:**
|
|
47
47
|
```
|
|
48
|
-
Task(
|
|
48
|
+
Task(prompt="Load testing-patterns skill for understanding test-related code issues.\n\nReview these files for bugs, security issues, and best practices: [TARGET]. [IF iteration > 1: Previous issues that were auto-fixed: [LIST FIXES APPLIED]. Verify these are resolved and check for any NEW issues introduced by the fixes.] Return verdict (APPROVE/REQUEST_CHANGES), critical count, warning count, and details. Categorize each issue as CRITICAL or WARNING.")
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
**
|
|
51
|
+
**LSP Inspector:**
|
|
52
52
|
```
|
|
53
|
-
Task(
|
|
53
|
+
Task(prompt="Load lsp-setup skill for understanding code inspection tools.\n\nInspect these files for dead code, unused imports, and type errors: [TARGET]. [IF iteration > 1: Previous issues that were auto-fixed: [LIST FIXES APPLIED]. Verify these are resolved.] Use LSP if available, fall back to tsc/eslint.")
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
**
|
|
56
|
+
**Test Runner:**
|
|
57
57
|
```
|
|
58
|
-
Task(
|
|
58
|
+
Task(prompt="Load testing-patterns skill for test execution.\n\nRun tests associated with these files: [TARGET]. Include build verification. Report pass/fail counts.")
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
### Step 3: Evaluate Results - Fix or Report
|
|
62
62
|
|
|
63
63
|
Collect results from all agents. Check for **auto-fixable issues**:
|
|
64
64
|
|
|
65
|
-
**Auto-fixable** (
|
|
65
|
+
**Auto-fixable** (Code Editor can handle):
|
|
66
66
|
- Unused imports
|
|
67
67
|
- Dead code removal
|
|
68
68
|
- Missing null checks
|
|
@@ -78,16 +78,16 @@ Collect results from all agents. Check for **auto-fixable issues**:
|
|
|
78
78
|
|
|
79
79
|
#### If critical auto-fixable issues found AND `--no-fix` not set AND `iteration < 3`:
|
|
80
80
|
|
|
81
|
-
Spawn
|
|
81
|
+
Spawn a code editor with the specific issues:
|
|
82
82
|
|
|
83
83
|
```
|
|
84
|
-
Task(
|
|
84
|
+
Task(prompt="Fix these critical issues found by the review squad:\n\n[LIST AUTO-FIXABLE ISSUES WITH FILE PATHS AND LINE NUMBERS]\n\nFrom Code Reviewer: [critical issues]\nFrom LSP Inspector: [dead code, unused imports]\nFrom Test Runner: [test failures if obvious fix]\n\nApply minimal fixes only. Do not refactor or improve beyond the reported issues.")
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
After
|
|
87
|
+
After Code Editor finishes:
|
|
88
88
|
- Increment `iteration`
|
|
89
89
|
- Go back to **Step 2** to re-review the fixed code
|
|
90
|
-
- On re-review, include what
|
|
90
|
+
- On re-review, include what Code Editor fixed so agents can verify fixes and check for regressions
|
|
91
91
|
|
|
92
92
|
#### If no auto-fixable criticals OR `--no-fix` set OR `iteration >= 3`:
|
|
93
93
|
|
|
@@ -102,25 +102,25 @@ Proceed to Step 4 (report).
|
|
|
102
102
|
- Review iterations: [count]
|
|
103
103
|
- Auto-fixes applied: [yes/no, count of issues fixed]
|
|
104
104
|
|
|
105
|
-
###
|
|
105
|
+
### Code Reviewer
|
|
106
106
|
**Verdict:** APPROVE / REQUEST_CHANGES
|
|
107
107
|
- Critical: X (Y auto-fixed)
|
|
108
108
|
- Warnings: X
|
|
109
109
|
- [Remaining issues grouped by file]
|
|
110
110
|
|
|
111
|
-
###
|
|
111
|
+
### LSP Inspector
|
|
112
112
|
- Dead code: X items (Y auto-removed)
|
|
113
113
|
- Unused imports: X (Y auto-removed)
|
|
114
114
|
- Type errors: X
|
|
115
115
|
- [Remaining issues grouped by file]
|
|
116
116
|
|
|
117
|
-
###
|
|
117
|
+
### Test Runner
|
|
118
118
|
- Tests: X passed, X failed
|
|
119
119
|
- Build: Pass/Fail
|
|
120
120
|
- [Failed test details if any]
|
|
121
121
|
|
|
122
122
|
### Auto-Fixes Applied
|
|
123
|
-
[If
|
|
123
|
+
[If Code Editor made changes:]
|
|
124
124
|
- [File]: [what was fixed]
|
|
125
125
|
- [File]: [what was fixed]
|
|
126
126
|
|
|
@@ -137,8 +137,8 @@ If any agent fails or times out, report partial results from successful agents,
|
|
|
137
137
|
|
|
138
138
|
| Flag | Effect |
|
|
139
139
|
|------|--------|
|
|
140
|
-
| `--skip-tests` | Skip
|
|
141
|
-
| `--skip-lsp` | Skip
|
|
140
|
+
| `--skip-tests` | Skip Test Runner (faster, no test execution) |
|
|
141
|
+
| `--skip-lsp` | Skip LSP Inspector (when LSP not configured) |
|
|
142
142
|
| `--no-fix` | Report only, no auto-fix loop (old behavior) |
|
|
143
143
|
| `--bg` | Run all agents in background mode |
|
|
144
144
|
|
|
@@ -147,6 +147,6 @@ If `--bg` is present, launch all agents with `run_in_background: true` and tell
|
|
|
147
147
|
## Notes
|
|
148
148
|
|
|
149
149
|
- Max 2 re-review iterations (3 total reviews) to prevent infinite loops
|
|
150
|
-
-
|
|
151
|
-
- Each re-review is a full parallel sweep, not just
|
|
150
|
+
- Code Editor only fixes clear-cut issues - ambiguous problems go to user
|
|
151
|
+
- Each re-review is a full parallel sweep, not just Code Reviewer
|
|
152
152
|
- The `--no-fix` flag gives the old report-only behavior
|
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Show
|
|
2
|
+
description: Show project statistics and session summary
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Stats
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Show current project statistics and session summary.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
## Instructions
|
|
10
|
+
|
|
11
|
+
Report the following:
|
|
12
|
+
|
|
13
|
+
1. Run `git log --oneline -10` to show recent commits
|
|
14
|
+
2. Run `git diff --stat HEAD` to show changed files
|
|
15
|
+
3. Run `ls .claude/skills/` to count available skills
|
|
16
|
+
4. Run `ls .claude/commands/` to count available commands
|
|
17
|
+
|
|
18
|
+
Format output as:
|
|
12
19
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- `/stats recent` - Show last 20 agent calls
|
|
16
|
-
- `/stats recent 50` - Show last 50 agent calls
|
|
17
|
-
- `/stats clear` - Clear the usage log
|
|
20
|
+
```markdown
|
|
21
|
+
## Project Stats
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
### Recent Activity
|
|
24
|
+
[Last 10 commits]
|
|
25
|
+
|
|
26
|
+
### Current Changes
|
|
27
|
+
[Changed files from git diff --stat]
|
|
28
|
+
|
|
29
|
+
### Config
|
|
30
|
+
- Skills available: [count]
|
|
31
|
+
- Commands available: [count]
|
|
32
|
+
- Hooks: session-start, bash-guard, bulk-activity-guard, publish-template-guard, context-watchdog
|
|
33
|
+
```
|
|
@@ -28,8 +28,8 @@ Glob("src/**/*.ts")
|
|
|
28
28
|
Glob(".claude/agents/*.md")
|
|
29
29
|
Glob("workspace/*/fields.ts")
|
|
30
30
|
|
|
31
|
-
# Activities (use
|
|
32
|
-
Task(
|
|
31
|
+
# Activities (use data reader to count/list)
|
|
32
|
+
Task(prompt="Count and list activity IDs for [workflow]")
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
If fewer than 5 items are discovered, **abort swarm** and suggest running a regular squad or single agent instead. Swarm is for scale.
|
|
@@ -38,18 +38,18 @@ If fewer than 5 items are discovered, **abort swarm** and suggest running a regu
|
|
|
38
38
|
|
|
39
39
|
Based on the task type, select the right agent(s):
|
|
40
40
|
|
|
41
|
-
| Task Type |
|
|
41
|
+
| Task Type | Role | Examples |
|
|
42
42
|
|-----------|-------|---------|
|
|
43
|
-
| Code review, security audit | **
|
|
44
|
-
| Dead code, unused imports, type errors | **
|
|
45
|
-
| Small edits, string replacements, rule additions | **
|
|
43
|
+
| Code review, security audit | **Code Reviewer** | "review for bugs", "security check", "find vulnerabilities" |
|
|
44
|
+
| Dead code, unused imports, type errors | **Code Inspector** | "find dead code", "check types", "unused imports" |
|
|
45
|
+
| Small edits, string replacements, rule additions | **Code Fixer** | "add header to each file", "replace X with Y", "update rule" |
|
|
46
46
|
| Code cleanup, simplification | **Code Simplifier** | "clean up", "simplify", "refactor for clarity" |
|
|
47
|
-
| Config audit, structure validation | **
|
|
48
|
-
| Data state checks, field validation | **
|
|
49
|
-
| Query patterns, data analysis | **
|
|
50
|
-
| Activity updates, bulk mutations | **
|
|
47
|
+
| Config audit, structure validation | **Config Auditor** | "check config", "validate structure", "audit settings" |
|
|
48
|
+
| Data state checks, field validation | **Data Reader** | "check all activities", "verify field values", "find missing data" |
|
|
49
|
+
| Query patterns, data analysis | **Data Analyzer** | "analyze patterns", "find anomalies across workflows" |
|
|
50
|
+
| Activity updates, bulk mutations | **Activity Writer** | "update all activities", "move to phase", "set field values" |
|
|
51
51
|
|
|
52
|
-
**Multi-agent swarms:** If the task spans multiple domains, assign different agent types to different items. For example, "clean up the project" might use
|
|
52
|
+
**Multi-agent swarms:** If the task spans multiple domains, assign different agent types to different items. For example, "clean up the project" might use Code Inspector for `.ts` files, Config Auditor for config files, and Code Simplifier for app components.
|
|
53
53
|
|
|
54
54
|
### Step 3: Calculate Workers
|
|
55
55
|
|
|
@@ -72,7 +72,7 @@ Launch all workers in parallel using multiple Task tool calls in a single messag
|
|
|
72
72
|
Each worker gets:
|
|
73
73
|
|
|
74
74
|
```
|
|
75
|
-
Task(
|
|
75
|
+
Task(
|
|
76
76
|
run_in_background: true,
|
|
77
77
|
prompt="SWARM WORKER [N] of [TOTAL]
|
|
78
78
|
|
|
@@ -121,19 +121,19 @@ If any worker failed or timed out:
|
|
|
121
121
|
|
|
122
122
|
### Execution
|
|
123
123
|
- **Items:** [total count]
|
|
124
|
-
- **Workers:** [worker count] x [
|
|
124
|
+
- **Workers:** [worker count] x [role type(s)]
|
|
125
125
|
- **Duration:** [time from dispatch to last worker completion]
|
|
126
126
|
|
|
127
127
|
---
|
|
128
128
|
|
|
129
129
|
### Results by Worker
|
|
130
130
|
|
|
131
|
-
#### Worker 1 ([
|
|
131
|
+
#### Worker 1 ([role type]) - [X items]
|
|
132
132
|
- [item]: [status] - [details]
|
|
133
133
|
- [item]: [status] - [details]
|
|
134
134
|
...
|
|
135
135
|
|
|
136
|
-
#### Worker 2 ([
|
|
136
|
+
#### Worker 2 ([role type]) - [X items]
|
|
137
137
|
...
|
|
138
138
|
|
|
139
139
|
---
|
|
@@ -158,7 +158,7 @@ If any worker failed or timed out:
|
|
|
158
158
|
|
|
159
159
|
### Next Steps
|
|
160
160
|
- [Suggested follow-up based on results]
|
|
161
|
-
- [If issues found: suggest /hotfix-squad or
|
|
161
|
+
- [If issues found: suggest /hotfix-squad or /review-squad to fix]
|
|
162
162
|
- [If edits made: suggest /review-squad to verify]
|
|
163
163
|
```
|
|
164
164
|
|
|
@@ -175,28 +175,28 @@ If any worker failed or timed out:
|
|
|
175
175
|
```
|
|
176
176
|
# Review all source files for security
|
|
177
177
|
/swarm "review all TypeScript files in src/ for security vulnerabilities"
|
|
178
|
-
→ Discovers 47 .ts files, spawns 5
|
|
178
|
+
→ Discovers 47 .ts files, spawns 5 code reviewer workers
|
|
179
179
|
|
|
180
180
|
# Bulk edit agent files
|
|
181
181
|
/swarm "add a '## Version History' section to every agent file"
|
|
182
|
-
→ Discovers 27 agent .md files, spawns 3
|
|
182
|
+
→ Discovers 27 agent .md files, spawns 3 code fixer workers
|
|
183
183
|
|
|
184
184
|
# Validate workspace configs
|
|
185
185
|
/swarm "check all workflow field definitions for missing descriptions"
|
|
186
|
-
→ Discovers 12 fields.ts files, spawns 2
|
|
186
|
+
→ Discovers 12 fields.ts files, spawns 2 data reader workers
|
|
187
187
|
|
|
188
188
|
# Multi-agent cleanup
|
|
189
189
|
/swarm "clean up the entire apps/ directory"
|
|
190
|
-
→ Discovers 34 files: 20 .tsx → Code Simplifier, 8 .ts →
|
|
191
|
-
→ Spawns 5 workers across 3
|
|
190
|
+
→ Discovers 34 files: 20 .tsx → Code Simplifier workers, 8 .ts → Code Inspector workers, 6 configs → Config Auditor workers
|
|
191
|
+
→ Spawns 5 workers across 3 roles
|
|
192
192
|
|
|
193
193
|
# Data validation
|
|
194
194
|
/swarm "verify all Customer activities have a valid email field"
|
|
195
|
-
→
|
|
195
|
+
→ Data Reader counts 200 customers, spawns 5 data reader workers (40 each)
|
|
196
196
|
|
|
197
197
|
# Dry run to preview
|
|
198
198
|
/swarm "update all skills to use consistent headers" --dry-run
|
|
199
|
-
→ Shows: "Would dispatch 4
|
|
199
|
+
→ Shows: "Would dispatch 4 code fixer workers across 32 skill files"
|
|
200
200
|
```
|
|
201
201
|
|
|
202
202
|
## Notes
|
|
@@ -204,7 +204,7 @@ If any worker failed or timed out:
|
|
|
204
204
|
- Minimum 5 items to trigger swarm (below that, use a regular agent)
|
|
205
205
|
- Default max 5 workers to avoid overwhelming the system
|
|
206
206
|
- Workers run in background by default so user can keep working
|
|
207
|
-
- Multi-agent swarms naturally emerge from the
|
|
208
|
-
- For write operations (
|
|
207
|
+
- Multi-agent swarms naturally emerge from the role-based routing logic
|
|
208
|
+
- For write operations (Activity Writer, Code Fixer), consider running --dry-run first
|
|
209
209
|
- Swarm vs Squad: Swarm is raw parallel execution without quality gates. Workers operate independently. Squads have convergence, synthesis, and loops. Use swarm for bulk independent items, squads for coordinated workflows.
|
|
210
210
|
- Swarm + squad can combine: `/swarm "review src/"` finds issues, then user can run `/hotfix-squad` on results. This is a manual handoff - user confirms.
|
|
@@ -18,9 +18,9 @@ npm install @hailer/cli
|
|
|
18
18
|
## Basic Setup
|
|
19
19
|
|
|
20
20
|
```typescript
|
|
21
|
-
import {
|
|
21
|
+
import { Client } from '@hailer/cli';
|
|
22
22
|
|
|
23
|
-
const client = new
|
|
23
|
+
const client = new Client({
|
|
24
24
|
host: 'https://api.hailer.com', // or 'https://api.hailer.biz' for staging
|
|
25
25
|
reconnect: true, // Auto-reconnect on disconnect
|
|
26
26
|
reconnectInterval: 5000 // Retry every 5 seconds
|
|
@@ -132,7 +132,7 @@ The API returns max ~500 activities per request. For workflows with more activit
|
|
|
132
132
|
|
|
133
133
|
```typescript
|
|
134
134
|
async function fetchAllActivities(
|
|
135
|
-
client:
|
|
135
|
+
client: Client,
|
|
136
136
|
workflowId: string,
|
|
137
137
|
phaseId?: string
|
|
138
138
|
): Promise<any[]> {
|
|
@@ -165,7 +165,7 @@ async function fetchAllActivities(
|
|
|
165
165
|
|
|
166
166
|
```typescript
|
|
167
167
|
async function fetchAllFromWorkflow(
|
|
168
|
-
client:
|
|
168
|
+
client: Client,
|
|
169
169
|
workflowId: string,
|
|
170
170
|
phaseIds: string[]
|
|
171
171
|
): Promise<any[]> {
|
|
@@ -184,7 +184,7 @@ For very large datasets, process in batches to avoid memory issues:
|
|
|
184
184
|
|
|
185
185
|
```typescript
|
|
186
186
|
async function* streamActivities(
|
|
187
|
-
client:
|
|
187
|
+
client: Client,
|
|
188
188
|
workflowId: string,
|
|
189
189
|
phaseId?: string
|
|
190
190
|
): AsyncGenerator<any[], void, unknown> {
|
|
@@ -268,7 +268,7 @@ client.on('rpc-response', (response) => {
|
|
|
268
268
|
### Reconnection Handling
|
|
269
269
|
|
|
270
270
|
```typescript
|
|
271
|
-
const client = new
|
|
271
|
+
const client = new Client({
|
|
272
272
|
host: 'https://api.hailer.com',
|
|
273
273
|
reconnect: true,
|
|
274
274
|
reconnectInterval: 5000
|
|
@@ -291,7 +291,7 @@ client.on('error', (error) => {
|
|
|
291
291
|
|
|
292
292
|
```typescript
|
|
293
293
|
class HailerConnection {
|
|
294
|
-
private client:
|
|
294
|
+
private client: Client;
|
|
295
295
|
private reconnectAttempts = 0;
|
|
296
296
|
private maxReconnectAttempts = 10;
|
|
297
297
|
private baseDelay = 1000;
|
|
@@ -345,7 +345,7 @@ class HailerConnection {
|
|
|
345
345
|
|
|
346
346
|
```typescript
|
|
347
347
|
async function safeRequest<T>(
|
|
348
|
-
client:
|
|
348
|
+
client: Client,
|
|
349
349
|
method: string,
|
|
350
350
|
args: any[]
|
|
351
351
|
): Promise<T | null> {
|
|
@@ -378,22 +378,22 @@ async function safeRequest<T>(
|
|
|
378
378
|
## Complete Client Class
|
|
379
379
|
|
|
380
380
|
```typescript
|
|
381
|
-
import {
|
|
381
|
+
import { Client } from '@hailer/cli';
|
|
382
382
|
|
|
383
|
-
interface
|
|
383
|
+
interface CliententConfig {
|
|
384
384
|
host: string;
|
|
385
385
|
email: string;
|
|
386
386
|
password: string;
|
|
387
387
|
}
|
|
388
388
|
|
|
389
|
-
class
|
|
390
|
-
private client:
|
|
391
|
-
private config:
|
|
389
|
+
class Clientent {
|
|
390
|
+
private client: Client;
|
|
391
|
+
private config: CliententConfig;
|
|
392
392
|
private connected = false;
|
|
393
393
|
|
|
394
|
-
constructor(config:
|
|
394
|
+
constructor(config: CliententConfig) {
|
|
395
395
|
this.config = config;
|
|
396
|
-
this.client = new
|
|
396
|
+
this.client = new Client({
|
|
397
397
|
host: config.host,
|
|
398
398
|
reconnect: true
|
|
399
399
|
});
|
|
@@ -471,7 +471,7 @@ class HailerClient {
|
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
473
|
|
|
474
|
-
export {
|
|
474
|
+
export { Clientent, CliententConfig };
|
|
475
475
|
```
|
|
476
476
|
|
|
477
477
|
---
|
|
@@ -516,3 +516,42 @@ async function loadConfig(): Promise<Config> {
|
|
|
516
516
|
5. **Use bulk operations** - updateMany instead of multiple updates
|
|
517
517
|
6. **Cache workflow schemas** - Don't fetch on every request
|
|
518
518
|
7. **Handle rate limits** - Back off on 429 responses
|
|
519
|
+
|
|
520
|
+
For field value formats (text, date, dropdown, ActivityLink, etc.), see the **sdk-activity-patterns** skill.
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
## REST API Reference
|
|
525
|
+
|
|
526
|
+
Use when `@hailer/cli` isn't available (e.g., pure HTTP integrations, curl, Zapier).
|
|
527
|
+
|
|
528
|
+
**Base URLs:** `https://api.hailer.com/api` (prod) / `https://api.hailer.biz/api` (staging)
|
|
529
|
+
|
|
530
|
+
**Auth header:** `-H "hlrkey: YOUR_SESSION_KEY"`
|
|
531
|
+
|
|
532
|
+
**Request format:** JSON-RPC style POST with array params
|
|
533
|
+
```bash
|
|
534
|
+
curl -X POST "https://api.hailer.com/api/v3/endpoint" \
|
|
535
|
+
-H "Content-Type: application/json" \
|
|
536
|
+
-H "hlrkey: SESSION_KEY" \
|
|
537
|
+
-d '["param1", {"option": "value"}]'
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
**Documentation files:**
|
|
541
|
+
|
|
542
|
+
| File | Domain | Key Operations |
|
|
543
|
+
|------|--------|----------------|
|
|
544
|
+
| `hailer-activities.md` | Activities | CRUD, kanban, timeline, linked, import |
|
|
545
|
+
| `hailer-workflows.md` | Workflows | CRUD, fields, phases, permissions, templates |
|
|
546
|
+
| `hailer-insights.md` | Insights | SQL views, execution, public insights |
|
|
547
|
+
| `hailer-admin.md` | Admin | Auth, workspaces, users, teams, groups, apps, files |
|
|
548
|
+
| `hailer-messaging.md` | Messaging | Discussions, messages, reactions, video |
|
|
549
|
+
| `hailer-calendar.md` | Calendar | Calendars, events, recurring, iCal |
|
|
550
|
+
| `hailer-feed.md` | Feed/Wall | Posts, comments, likes, pins |
|
|
551
|
+
|
|
552
|
+
**Legacy naming:**
|
|
553
|
+
|
|
554
|
+
| Current | Legacy |
|
|
555
|
+
|---------|--------|
|
|
556
|
+
| `workflowId` | `processId` |
|
|
557
|
+
| `workspaceId` | `networkId`, `cid`, `companyId` |
|