@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,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: zapier-hailer-patterns
|
|
3
3
|
description: Patterns for building Zapier integrations with Hailer REST API
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
triggers: When building Zapier automations, webhook triggers, or API integrations
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -60,20 +60,24 @@ This notebook contains:
|
|
|
60
60
|
|
|
61
61
|
**Also check:** "Hailer REST-api" notebook (ID: `68e4e3fd-6ed6-4e0b-b624-672773ba4142`) for API endpoint details.
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Authentication
|
|
64
66
|
|
|
65
|
-
### Authentication
|
|
66
67
|
```
|
|
67
68
|
POST https://api.hailer.com/api/login
|
|
68
69
|
Body: {"0": "email", "1": "password"}
|
|
69
70
|
Returns: Session key → use as "hlrkey" header
|
|
70
71
|
```
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Webhook Payload Structure
|
|
76
|
+
|
|
77
|
+
Webhooks are configured per-phase in Hailer (not per-workflow): set `webhooksEnabled: true` and `webhookUrl` on the phase.
|
|
78
|
+
|
|
79
|
+
**⚠️ NEVER use SDK enums in automations.** Webhooks receive raw MongoDB ObjectIds, not SDK enum names. Use real IDs from the workspace or extract from payload.
|
|
75
80
|
|
|
76
|
-
**CRITICAL: Webhook Payload Structure**
|
|
77
81
|
```typescript
|
|
78
82
|
{
|
|
79
83
|
_id: string; // Activity ID (MongoDB ObjectId)
|
|
@@ -89,18 +93,19 @@ Returns: Session key → use as "hlrkey" header
|
|
|
89
93
|
}
|
|
90
94
|
```
|
|
91
95
|
|
|
92
|
-
**Finding field values
|
|
96
|
+
**Finding field values:**
|
|
93
97
|
```javascript
|
|
94
|
-
// Method 1: By key (
|
|
98
|
+
// Method 1: By key (preferred when available)
|
|
95
99
|
const tagValue = fields.find(f => f.key === 'tag')?.value;
|
|
96
100
|
|
|
97
101
|
// Method 2: By fieldId (always works - use real MongoDB IDs)
|
|
98
102
|
const tagValue = fields.find(f => f.id === '507f1f77bcf86cd799439011')?.value;
|
|
99
103
|
```
|
|
100
104
|
|
|
101
|
-
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Activity Creation
|
|
102
108
|
|
|
103
|
-
### Activity Creation
|
|
104
109
|
```
|
|
105
110
|
POST https://api.hailer.com/api/v3/activity/create
|
|
106
111
|
Headers: Content-Type: application/json, hlrkey: <session_key>
|
|
@@ -115,28 +120,13 @@ Body: {
|
|
|
115
120
|
}
|
|
116
121
|
```
|
|
117
122
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| textpredefinedoptions | Exact option string |
|
|
126
|
-
|
|
127
|
-
### Zapier Tips
|
|
128
|
-
- **Always set `return_raw_response: true`** in Custom Request steps - this gives you the full JSON response for parsing in subsequent code steps
|
|
129
|
-
- Webhook payloads use `id` (not `_id`) for field identifiers
|
|
130
|
-
- Use Code steps to parse and transform data between API calls
|
|
131
|
-
- Search fields by `key` property when available (e.g., `f.key === 'user'`) for more readable code
|
|
132
|
-
- **For Dataset workflows:** `phaseId` must be in the OPTIONS object (third parameter "2"), not in the activity object
|
|
133
|
-
|
|
134
|
-
### Zapier Import/Export JSON Format
|
|
135
|
-
|
|
136
|
-
Zaps can be exported and imported as JSON files. This is useful for:
|
|
137
|
-
- Version controlling automations in git
|
|
138
|
-
- Sharing zap templates between projects
|
|
139
|
-
- Backing up zap configurations
|
|
123
|
+
**For Dataset workflows:** `phaseId` must be in the OPTIONS object (third parameter "2"), not in the activity object.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Zapier Import/Export JSON Format
|
|
128
|
+
|
|
129
|
+
Zaps can be exported and imported as JSON files — useful for version control and sharing.
|
|
140
130
|
|
|
141
131
|
**Top-level structure:**
|
|
142
132
|
```json
|
|
@@ -160,33 +150,74 @@ Zaps can be exported and imported as JSON files. This is useful for:
|
|
|
160
150
|
"id": 1,
|
|
161
151
|
"paused": false,
|
|
162
152
|
"type_of": "read", // "read" = trigger, "write" = action
|
|
163
|
-
"params": {},
|
|
153
|
+
"params": {},
|
|
164
154
|
"meta": { "$editor": { "has_automatic_issues": false }, "timezone": "Europe/Helsinki" },
|
|
165
155
|
"triple_stores": { "copied_from": null, "created_by": null, "polling_interval_override": 0, "block_and_release_limit_override": 0, "spread_tasks": 1 },
|
|
166
156
|
"parent_id": null, // null for trigger, previous node id for actions
|
|
167
157
|
"root_id": null, // null for trigger, 1 for all actions
|
|
168
|
-
"action": "hook_raw",
|
|
158
|
+
"action": "hook_raw",
|
|
169
159
|
"selected_api": "WebHookCLIAPI@1.0.29",
|
|
170
160
|
"title": "Step title",
|
|
171
161
|
"authentication_id": null
|
|
172
162
|
}
|
|
173
163
|
```
|
|
174
164
|
|
|
175
|
-
**
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
165
|
+
**Data references between steps** use `{{node_id__field}}` syntax:
|
|
166
|
+
- `{{1__raw_body}}` — Raw body from trigger
|
|
167
|
+
- `{{2__results}}` — Results from node 2 (e.g., session key from login)
|
|
168
|
+
- `{{3__payload}}` — Output field from code step
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Zapier Built-in Tools Reference
|
|
173
|
+
|
|
174
|
+
### Webhooks by Zapier (`WebHookCLIAPI@1.0.29`)
|
|
175
|
+
|
|
176
|
+
| Action | `action` value | Purpose |
|
|
177
|
+
|--------|---------------|---------|
|
|
178
|
+
| Catch Hook (trigger) | `hook_raw` | Receive webhook from Hailer phase |
|
|
179
|
+
| Custom Request | `custom` | Any HTTP request (GET/POST/PUT) |
|
|
180
|
+
| POST | `post` | Simple POST |
|
|
181
|
+
| GET | `get` | Simple GET |
|
|
182
|
+
|
|
183
|
+
Custom Request key params: `method`, `url`, `headers`, `data`, `unflatten`, `return_raw_response`
|
|
184
|
+
|
|
185
|
+
### Code by Zapier (`CodeCLIAPI@1.0.1`)
|
|
186
|
+
|
|
187
|
+
Run JavaScript: `action: "01929fad-d3dd-62c2-52ed-7868d5fcc691"`. Access inputs via `inputData.varName`, return named outputs: `return { payload, email, id }`. `fetch` available for additional API calls.
|
|
188
|
+
|
|
189
|
+
### Filter by Zapier (`FilterAPI`)
|
|
190
|
+
|
|
191
|
+
`type_of: "filter"`, `action: "filter"`. Match types: `icontains`, `inot_contains`, `iexact`, `inot_exact`, `is_set`, `not_set`, `greater_than`, `less_than`
|
|
192
|
+
|
|
193
|
+
### Paths by Zapier (`BranchingAPI`)
|
|
194
|
+
|
|
195
|
+
`action: "branch"`, `type_of: "branching"`. Use `branches[]` with `filter_criteria` per path.
|
|
196
|
+
|
|
197
|
+
### Formatter by Zapier (`ZapierFormatterCLIAPI@1.0.7`)
|
|
198
|
+
|
|
199
|
+
`datetime_line_item` (dates), `text_line_item` (strings), `util_line_item` (lookup/pick). **Note:** Hailer uses milliseconds, Zapier's `X` format is seconds — divide by 1000 in Code step.
|
|
200
|
+
|
|
201
|
+
### Delay by Zapier (`DelayCLIAPI@1.1.1`)
|
|
202
|
+
|
|
203
|
+
`action: "delay_for"`, params: `delay_for_value`, `delay_for_unit` (minutes/hours/days)
|
|
204
|
+
|
|
205
|
+
### Looping by Zapier (`ZapierLoopingCLIAPI@1.2.6`)
|
|
206
|
+
|
|
207
|
+
`action: "loop_values_line_items"` — iterate over arrays. Access outputs as `{{node__fieldname}}`.
|
|
208
|
+
|
|
209
|
+
### Sub-Zap by Zapier (`SubZapCLIAPI@0.11.2`)
|
|
210
|
+
|
|
211
|
+
`start_subzap` (trigger in sub-zap), `call_subzap` (call from parent), `return_subzap` (return data). Useful for reusable auth logic.
|
|
212
|
+
|
|
213
|
+
### Storage by Zapier (`StorageCLIAPI@1.2.1`)
|
|
214
|
+
|
|
215
|
+
`get_multiple_values`, `list_push`, `set_value`. Useful for deduplication, last-sync timestamps, counters.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Annotated Full Example: Webhook → Login → Code → Create Activity
|
|
220
|
+
|
|
190
221
|
```json
|
|
191
222
|
{
|
|
192
223
|
"metadata": { "version": 2 },
|
|
@@ -221,7 +252,7 @@ Use `{{node_id__field}}` syntax:
|
|
|
221
252
|
"selected_api": "CodeCLIAPI@1.0.1",
|
|
222
253
|
"title": "Build payload", "parent_id": 2, "root_id": 1,
|
|
223
254
|
"params": {
|
|
224
|
-
"code": "const body = JSON.parse(inputData.rawBody);\\nconst payload = { \"0\": \"workflowId\", \"1\": {
|
|
255
|
+
"code": "const body = JSON.parse(inputData.rawBody);\\nconst payload = { \"0\": \"workflowId\", \"1\": { name: body.name, phaseId: \"phaseId\", fields: {} } };\\nreturn { payload: JSON.stringify(payload) };",
|
|
225
256
|
"input": { "rawBody": "{{1__raw_body}}" }
|
|
226
257
|
},
|
|
227
258
|
"paused": false, "authentication_id": null,
|
|
@@ -233,7 +264,7 @@ Use `{{node_id__field}}` syntax:
|
|
|
233
264
|
"selected_api": "WebHookCLIAPI@1.0.29",
|
|
234
265
|
"title": "Create activity", "parent_id": 3, "root_id": 1,
|
|
235
266
|
"params": {
|
|
236
|
-
"method": "POST", "unflatten": "yes", "return_raw_response": "
|
|
267
|
+
"method": "POST", "unflatten": "yes", "return_raw_response": "yes",
|
|
237
268
|
"url": "https://api.hailer.com/api/v3/activity/create",
|
|
238
269
|
"headers": { "Content-Type": "application/json", "hlrkey": "{{2__results}}" },
|
|
239
270
|
"data": "{{3__payload}}"
|
|
@@ -247,296 +278,7 @@ Use `{{node_id__field}}` syntax:
|
|
|
247
278
|
}
|
|
248
279
|
```
|
|
249
280
|
|
|
250
|
-
**See also:** `sdk-projects/pohjaset/automations/` for real-world examples
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## Zapier Built-in Tools Reference
|
|
255
|
-
|
|
256
|
-
These are Zapier's native apps - no external service needed. Essential for Hailer integrations.
|
|
257
|
-
|
|
258
|
-
### Webhooks by Zapier
|
|
259
|
-
**API:** `WebHookCLIAPI@1.0.29`
|
|
260
|
-
|
|
261
|
-
| Trigger/Action | Purpose | Key Params |
|
|
262
|
-
|----------------|---------|------------|
|
|
263
|
-
| **Catch Hook** (trigger) | Receive webhook from Hailer phase | `action: "hook_raw"` |
|
|
264
|
-
| **Catch Raw Hook** (trigger) | Same, preserves raw body | `action: "hook_raw"` |
|
|
265
|
-
| **Custom Request** (action) | Any HTTP request | `action: "custom"`, `method`, `url`, `headers`, `data` |
|
|
266
|
-
| **POST** (action) | Simple POST | `action: "post"`, `url`, `data` |
|
|
267
|
-
| **GET** (action) | Simple GET | `action: "get"`, `url` |
|
|
268
|
-
| **PUT** (action) | Simple PUT | `action: "put"`, `url`, `data` |
|
|
269
|
-
|
|
270
|
-
**Custom Request params:**
|
|
271
|
-
```json
|
|
272
|
-
{
|
|
273
|
-
"method": "POST",
|
|
274
|
-
"url": "https://api.hailer.com/api/v3/activity/create",
|
|
275
|
-
"headers": { "Content-Type": "application/json", "hlrkey": "{{2__results}}" },
|
|
276
|
-
"data": "{{3__payload}}",
|
|
277
|
-
"unflatten": "yes",
|
|
278
|
-
"return_raw_response": "yes"
|
|
279
|
-
}
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### Code by Zapier
|
|
283
|
-
**API:** `CodeCLIAPI@1.0.1`
|
|
284
|
-
|
|
285
|
-
| Action | Purpose | Key Params |
|
|
286
|
-
|--------|---------|------------|
|
|
287
|
-
| **Run JavaScript** | Transform data, build payloads | `action: "01929fad-d3dd-62c2-52ed-7868d5fcc691"` |
|
|
288
|
-
| **Run Python** | Same, Python syntax | Different action UUID |
|
|
289
|
-
|
|
290
|
-
**JavaScript params:**
|
|
291
|
-
```json
|
|
292
|
-
{
|
|
293
|
-
"code": "const data = JSON.parse(inputData.rawBody);\\nreturn { result: data.field };",
|
|
294
|
-
"input": { "rawBody": "{{1__raw_body}}", "sessionKey": "{{2__results}}" }
|
|
295
|
-
}
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
**Code tips:**
|
|
299
|
-
- Access inputs via `inputData.variableName`
|
|
300
|
-
- Return object with named outputs: `return { payload, email, id };`
|
|
301
|
-
- Can use `fetch` for additional API calls (async supported)
|
|
302
|
-
- Output fields available as `{{node__fieldname}}`
|
|
303
|
-
|
|
304
|
-
### Filter by Zapier
|
|
305
|
-
**API:** `FilterAPI` (legacy, still works)
|
|
306
|
-
|
|
307
|
-
Conditionally continue or stop the Zap. Note: `type_of` is `"filter"` (not "write").
|
|
308
|
-
|
|
309
|
-
| Action | Purpose |
|
|
310
|
-
|--------|---------|
|
|
311
|
-
| `filter` | Only continue if conditions match |
|
|
312
|
-
|
|
313
|
-
**Params:**
|
|
314
|
-
```json
|
|
315
|
-
{
|
|
316
|
-
"selected_api": "FilterAPI",
|
|
317
|
-
"action": "filter",
|
|
318
|
-
"type_of": "filter",
|
|
319
|
-
"params": {
|
|
320
|
-
"filter_criteria": [
|
|
321
|
-
{
|
|
322
|
-
"id": 4699009700892223,
|
|
323
|
-
"group": 4153161264351725,
|
|
324
|
-
"key": "{{1__status}}",
|
|
325
|
-
"value": "approved",
|
|
326
|
-
"match": "icontains",
|
|
327
|
-
"action": "continue"
|
|
328
|
-
}
|
|
329
|
-
]
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
**Match types:** `icontains`, `inot_contains`, `iexact`, `inot_exact`, `is_set`, `not_set`, `greater_than`, `less_than`
|
|
335
|
-
|
|
336
|
-
### Paths by Zapier
|
|
337
|
-
**API:** `BranchingAPI` (419 uses found)
|
|
338
|
-
|
|
339
|
-
Conditional branching - different actions based on conditions. Note: Uses `BranchingAPI` not `PathsCLIAPI`.
|
|
340
|
-
|
|
341
|
-
```json
|
|
342
|
-
{
|
|
343
|
-
"selected_api": "BranchingAPI",
|
|
344
|
-
"action": "branch",
|
|
345
|
-
"type_of": "branching",
|
|
346
|
-
"params": {
|
|
347
|
-
"branches": [
|
|
348
|
-
{
|
|
349
|
-
"name": "Path A - Approved",
|
|
350
|
-
"filter_criteria": [
|
|
351
|
-
{ "key": "{{1__status}}", "value": "approved", "match": "iexact" }
|
|
352
|
-
]
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
"name": "Path B - Rejected",
|
|
356
|
-
"filter_criteria": [
|
|
357
|
-
{ "key": "{{1__status}}", "value": "rejected", "match": "iexact" }
|
|
358
|
-
]
|
|
359
|
-
}
|
|
360
|
-
]
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
### Formatter by Zapier
|
|
366
|
-
**API:** `ZapierFormatterCLIAPI@1.0.7`
|
|
367
|
-
|
|
368
|
-
Transform text, dates, numbers without code.
|
|
369
|
-
|
|
370
|
-
| Action | Purpose |
|
|
371
|
-
|--------|---------|
|
|
372
|
-
| `datetime_line_item` | Format dates |
|
|
373
|
-
| `text_line_item` | Manipulate strings |
|
|
374
|
-
| `util_line_item` | Utilities (lookup, pick) |
|
|
375
|
-
|
|
376
|
-
**Date format (useful for Hailer timestamps):**
|
|
377
|
-
```json
|
|
378
|
-
{
|
|
379
|
-
"selected_api": "ZapierFormatterCLIAPI@1.0.7",
|
|
380
|
-
"action": "datetime_line_item",
|
|
381
|
-
"type_of": "write",
|
|
382
|
-
"params": {
|
|
383
|
-
"transform": "date.formatting",
|
|
384
|
-
"to_timezone": "UTC",
|
|
385
|
-
"from_timezone": "UTC",
|
|
386
|
-
"inputs": "{{1__timestamp}}",
|
|
387
|
-
"to_format": "YYYY-MM-DD"
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
**Text transform:**
|
|
393
|
-
```json
|
|
394
|
-
{
|
|
395
|
-
"selected_api": "ZapierFormatterCLIAPI@1.0.7",
|
|
396
|
-
"action": "text_line_item",
|
|
397
|
-
"type_of": "write",
|
|
398
|
-
"params": {
|
|
399
|
-
"transform": "text.replace",
|
|
400
|
-
"inputs": "{{1__email}}",
|
|
401
|
-
"find": "@old-domain.com",
|
|
402
|
-
"replace": "@new-domain.com"
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
```
|
|
406
|
-
Note: Hailer uses milliseconds, Zapier's `X` is seconds - divide by 1000 in Code step or use date formatting.
|
|
407
|
-
|
|
408
|
-
### Delay by Zapier
|
|
409
|
-
**API:** `DelayCLIAPI@1.1.1`
|
|
410
|
-
|
|
411
|
-
Pause execution.
|
|
412
|
-
|
|
413
|
-
| Action | Purpose |
|
|
414
|
-
|--------|---------|
|
|
415
|
-
| `delay_for` | Wait specific duration |
|
|
416
|
-
|
|
417
|
-
```json
|
|
418
|
-
{
|
|
419
|
-
"selected_api": "DelayCLIAPI@1.1.1",
|
|
420
|
-
"action": "delay_for",
|
|
421
|
-
"type_of": "write",
|
|
422
|
-
"params": {
|
|
423
|
-
"delay_for_value": "5",
|
|
424
|
-
"delay_for_unit": "minutes"
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
### Looping by Zapier
|
|
430
|
-
**API:** `ZapierLoopingCLIAPI@1.2.6`
|
|
431
|
-
|
|
432
|
-
Iterate over arrays (e.g., process multiple activities).
|
|
433
|
-
|
|
434
|
-
| Action | Purpose |
|
|
435
|
-
|--------|---------|
|
|
436
|
-
| `loop_values_line_items` | Loop over line items (objects) |
|
|
437
|
-
| `loop_values_numbers` | Loop over number range |
|
|
438
|
-
| `loop_values_text` | Loop over text items |
|
|
439
|
-
|
|
440
|
-
```json
|
|
441
|
-
{
|
|
442
|
-
"selected_api": "ZapierLoopingCLIAPI@1.2.6",
|
|
443
|
-
"action": "loop_values_line_items",
|
|
444
|
-
"type_of": "write",
|
|
445
|
-
"params": {
|
|
446
|
-
"trim_whitespace": "True",
|
|
447
|
-
"iteration_start": "1",
|
|
448
|
-
"iteration_limit": "500",
|
|
449
|
-
"loop_values": {
|
|
450
|
-
"activityId": "{{1__activities[]_id}}",
|
|
451
|
-
"name": "{{1__activities[]name}}",
|
|
452
|
-
"status": "{{1__activities[]currentPhase}}"
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
```
|
|
457
|
-
|
|
458
|
-
Access loop outputs: `{{node__activityId}}`, `{{node__name}}`, etc.
|
|
459
|
-
|
|
460
|
-
### Sub-Zap by Zapier
|
|
461
|
-
**API:** `SubZapCLIAPI@0.11.2`
|
|
462
|
-
|
|
463
|
-
Call another Zap as a subroutine.
|
|
464
|
-
|
|
465
|
-
| Action | Purpose |
|
|
466
|
-
|--------|---------|
|
|
467
|
-
| `start_subzap` | Trigger (receives call from parent) |
|
|
468
|
-
| `call_subzap` | Call another Zap, wait for response |
|
|
469
|
-
| `return_subzap` | Return data to caller |
|
|
470
|
-
|
|
471
|
-
**Trigger (in sub-zap):**
|
|
472
|
-
```json
|
|
473
|
-
{
|
|
474
|
-
"selected_api": "SubZapCLIAPI@0.11.2",
|
|
475
|
-
"action": "start_subzap",
|
|
476
|
-
"type_of": "read",
|
|
477
|
-
"params": {
|
|
478
|
-
"input_list": ["activityId", "sessionKey", "workflowId"]
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
```
|
|
482
|
-
|
|
483
|
-
**Call (from parent zap):**
|
|
484
|
-
```json
|
|
485
|
-
{
|
|
486
|
-
"selected_api": "SubZapCLIAPI@0.11.2",
|
|
487
|
-
"action": "call_subzap",
|
|
488
|
-
"type_of": "write",
|
|
489
|
-
"params": {
|
|
490
|
-
"account_id": "5024683",
|
|
491
|
-
"zap_id": "202514585",
|
|
492
|
-
"activityId": "{{1__activityId}}",
|
|
493
|
-
"sessionKey": "{{2__results}}",
|
|
494
|
-
"workflowId": "{{3__workflowId}}"
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
```
|
|
498
|
-
|
|
499
|
-
Useful for reusable logic (e.g., "Login to Hailer" sub-zap).
|
|
500
|
-
|
|
501
|
-
### Storage by Zapier
|
|
502
|
-
**API:** `StorageCLIAPI@1.2.1`
|
|
503
|
-
|
|
504
|
-
Store and retrieve values across Zap runs.
|
|
505
|
-
|
|
506
|
-
| Action | Purpose |
|
|
507
|
-
|--------|---------|
|
|
508
|
-
| `get_multiple_values` | Retrieve stored values |
|
|
509
|
-
| `list_push` | Add to list |
|
|
510
|
-
| `set_value` | Store key-value pair |
|
|
511
|
-
|
|
512
|
-
**Get values:**
|
|
513
|
-
```json
|
|
514
|
-
{
|
|
515
|
-
"selected_api": "StorageCLIAPI@1.2.1",
|
|
516
|
-
"action": "get_multiple_values",
|
|
517
|
-
"type_of": "search",
|
|
518
|
-
"params": {
|
|
519
|
-
"_zap_search_success_on_miss": true,
|
|
520
|
-
"keys": ["{{1__activityId}}", "lastSyncTimestamp"]
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
```
|
|
524
|
-
|
|
525
|
-
**Push to list:**
|
|
526
|
-
```json
|
|
527
|
-
{
|
|
528
|
-
"selected_api": "StorageCLIAPI@1.2.1",
|
|
529
|
-
"action": "list_push",
|
|
530
|
-
"type_of": "write",
|
|
531
|
-
"params": {
|
|
532
|
-
"key": "processedIds",
|
|
533
|
-
"value": "{{1__activityId}}",
|
|
534
|
-
"location": "tail"
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
```
|
|
538
|
-
|
|
539
|
-
Useful for: tracking last sync timestamp, deduplication, counters.
|
|
281
|
+
**See also:** `sdk-projects/pohjaset/automations/` for real-world annotated examples
|
|
540
282
|
|
|
541
283
|
---
|
|
542
284
|
|
|
@@ -549,7 +291,6 @@ Useful for: tracking last sync timestamp, deduplication, counters.
|
|
|
549
291
|
| **Branching Logic** | Catch Hook → Paths → (different actions per path) |
|
|
550
292
|
| **Batch Processing** | Catch Hook → Looping → Custom Request |
|
|
551
293
|
| **Scheduled Sync** | Schedule trigger → Custom Request (list) → Looping → Custom Request (update) |
|
|
552
|
-
| **Date Formatting** | Catch Hook → Formatter (date) → Code → Custom Request |
|
|
553
294
|
| **Reusable Auth** | Sub-Zap for login → Return session key |
|
|
554
295
|
|
|
555
296
|
---
|
|
@@ -561,21 +302,3 @@ Useful for: tracking last sync timestamp, deduplication, counters.
|
|
|
561
302
|
3. **Design the zap flow**: Trigger → (optional code step) → API action
|
|
562
303
|
4. **Create annotated documentation** for future reference
|
|
563
304
|
5. **Store zap JSON** in project's `automations/` folder
|
|
564
|
-
|
|
565
|
-
## Common Zap Patterns
|
|
566
|
-
|
|
567
|
-
### Hailer Webhook → Hailer Action
|
|
568
|
-
1. Catch Hook (webhook from Hailer phase)
|
|
569
|
-
2. Login to get session key
|
|
570
|
-
3. Code step to build payload
|
|
571
|
-
4. Custom Request to Hailer API
|
|
572
|
-
|
|
573
|
-
### External Trigger → Hailer
|
|
574
|
-
1. Trigger from external app (Gmail, Slack, etc.)
|
|
575
|
-
2. Login to Hailer
|
|
576
|
-
3. Create/Update activity via API
|
|
577
|
-
|
|
578
|
-
### Hailer → External Action
|
|
579
|
-
1. Catch Hook from Hailer
|
|
580
|
-
2. Transform data if needed
|
|
581
|
-
3. Send to external API (Slack, Email, etc.)
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": ".opencode",
|
|
3
|
+
"lockfileVersion": 3,
|
|
4
|
+
"requires": true,
|
|
5
|
+
"packages": {
|
|
6
|
+
"": {
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@opencode-ai/plugin": "1.3.17"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"node_modules/@opencode-ai/plugin": {
|
|
12
|
+
"version": "1.3.17",
|
|
13
|
+
"resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.3.17.tgz",
|
|
14
|
+
"integrity": "sha512-N5lckFtYvEu2R8K1um//MIOTHsJHniF2kHoPIWPCrxKG5Jpismt1ISGzIiU3aKI2ht/9VgcqKPC5oZFLdmpxPw==",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@opencode-ai/sdk": "1.3.17",
|
|
18
|
+
"zod": "4.1.8"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"@opentui/core": ">=0.1.96",
|
|
22
|
+
"@opentui/solid": ">=0.1.96"
|
|
23
|
+
},
|
|
24
|
+
"peerDependenciesMeta": {
|
|
25
|
+
"@opentui/core": {
|
|
26
|
+
"optional": true
|
|
27
|
+
},
|
|
28
|
+
"@opentui/solid": {
|
|
29
|
+
"optional": true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"node_modules/@opencode-ai/sdk": {
|
|
34
|
+
"version": "1.3.17",
|
|
35
|
+
"resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.3.17.tgz",
|
|
36
|
+
"integrity": "sha512-2+MGgu7wynqTBwxezR01VAGhILXlpcHDY/pF7SWB87WOgLt3kD55HjKHNj6PWxyY8n575AZolR95VUC3gtwfmA==",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"cross-spawn": "7.0.6"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"node_modules/cross-spawn": {
|
|
43
|
+
"version": "7.0.6",
|
|
44
|
+
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
45
|
+
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"path-key": "^3.1.0",
|
|
49
|
+
"shebang-command": "^2.0.0",
|
|
50
|
+
"which": "^2.0.1"
|
|
51
|
+
},
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">= 8"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"node_modules/isexe": {
|
|
57
|
+
"version": "2.0.0",
|
|
58
|
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
|
59
|
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
|
60
|
+
"license": "ISC"
|
|
61
|
+
},
|
|
62
|
+
"node_modules/path-key": {
|
|
63
|
+
"version": "3.1.1",
|
|
64
|
+
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
|
65
|
+
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
|
66
|
+
"license": "MIT",
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=8"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"node_modules/shebang-command": {
|
|
72
|
+
"version": "2.0.0",
|
|
73
|
+
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
|
74
|
+
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
|
75
|
+
"license": "MIT",
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"shebang-regex": "^3.0.0"
|
|
78
|
+
},
|
|
79
|
+
"engines": {
|
|
80
|
+
"node": ">=8"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"node_modules/shebang-regex": {
|
|
84
|
+
"version": "3.0.0",
|
|
85
|
+
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
|
86
|
+
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
|
87
|
+
"license": "MIT",
|
|
88
|
+
"engines": {
|
|
89
|
+
"node": ">=8"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"node_modules/which": {
|
|
93
|
+
"version": "2.0.2",
|
|
94
|
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
|
95
|
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
96
|
+
"license": "ISC",
|
|
97
|
+
"dependencies": {
|
|
98
|
+
"isexe": "^2.0.0"
|
|
99
|
+
},
|
|
100
|
+
"bin": {
|
|
101
|
+
"node-which": "bin/node-which"
|
|
102
|
+
},
|
|
103
|
+
"engines": {
|
|
104
|
+
"node": ">= 8"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"node_modules/zod": {
|
|
108
|
+
"version": "4.1.8",
|
|
109
|
+
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.8.tgz",
|
|
110
|
+
"integrity": "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==",
|
|
111
|
+
"license": "MIT",
|
|
112
|
+
"funding": {
|
|
113
|
+
"url": "https://github.com/sponsors/colinhacks"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|