@keystrokehq/cli 0.1.113 → 0.1.114
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.
|
@@ -127,6 +127,8 @@ keystroke credentials list # what's already connected
|
|
|
127
127
|
|
|
128
128
|
Custom org apps (`{org}/{name}`) do not have catalog toolkit actions — use `apps get` / `apps sync` / `defineApp(...).action(...)` instead.
|
|
129
129
|
|
|
130
|
+
**Gateway / channel binding:** to put an agent in a Slack channel, connect **`slackbot`** (not `slack`), then verify `channels accounts --platform slack` is non-empty before bind. Full detail: `search_docs "external channels"` → `/learn/agents/external-channels`.
|
|
131
|
+
|
|
130
132
|
To connect an app's credentials, use the `connect_app` tool to get a link for the user — a browser cannot open in this workspace, so do not use `keystroke connect`. See `search_docs "use credentials"` for binding credentials to workflow steps and agent tools.
|
|
131
133
|
|
|
132
134
|
Credentials are for secrets. Non-secret config — spreadsheet IDs, channel names, base URLs — belongs in code as a literal constant or a workflow input. Keystroke projects don't use `.env`.
|
|
@@ -159,6 +161,7 @@ Common pages to read with `query_docs` (e.g. `cat /learn/agents/build-agents.mdx
|
|
|
159
161
|
| `/cli` | Full command reference, flags, JSON output |
|
|
160
162
|
| `/explore-features` | Guide to find relevant feature documentation |
|
|
161
163
|
| `/learn/agents/build-agents` | Models, tools, subagents, sandboxes, MCP tools on agents |
|
|
164
|
+
| `/learn/agents/external-channels` | Slack vs Slackbot; connect `slackbot` and bind channels |
|
|
162
165
|
| `/learn/workflows/build-workflows` | Steps, orchestration, sandboxes, durable waits |
|
|
163
166
|
| `/learn/workflows/authoring-best-practices` | Canvas-legible, replayable workflow patterns (hard + soft rules) |
|
|
164
167
|
| `/learn/actions/overview` | Action rules (leaf units, no action-in-action) |
|
|
@@ -271,6 +271,18 @@ keystroke credentials create <key> --set apiKey=@env:MY_KEY # static API key
|
|
|
271
271
|
|
|
272
272
|
`keystroke credentials list` is the **only** reliable connection check (`apps actions get` doesn't show status) — check it before connecting anything; the credential often already exists.
|
|
273
273
|
|
|
274
|
+
### Gateway / channel binding
|
|
275
|
+
|
|
276
|
+
To put an agent in a Slack channel, connect **`slackbot`** — not `slack`.
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
keystroke connect slackbot
|
|
280
|
+
keystroke channels accounts --platform slack # must be non-empty
|
|
281
|
+
keystroke channels bind --agent <slug> --platform slack --account <team-id> --channel <channel-id>
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Full detail: `/learn/agents/external-channels`.
|
|
285
|
+
|
|
274
286
|
Credentials are for secrets. Non-secret config — spreadsheet IDs, channel names, base URLs — belongs in code as a literal constant or a workflow input. Keystroke projects don't use `.env`.
|
|
275
287
|
|
|
276
288
|
Missing a built-in **credentialed** integration? After researching the system's docs/spec:
|
|
@@ -346,6 +358,7 @@ Invoke/inspect commands print JSON to stdout (exit 0 on success, 1 on failure)
|
|
|
346
358
|
9. **Missing `name`/`description`** — required on every primitive (agents, workflows, actions, trigger sources). Typecheck passes without them; module load throws at deploy.
|
|
347
359
|
10. **Integration actions throw on failure** — prebuilt actions return their typed output directly (the shape `keystroke apps actions get` shows) and **throw** on failure; don't port `{ data, error, successful }` envelope checks from Composio docs.
|
|
348
360
|
11. **`.default()` on an input field makes it required in the `run()` call type** — action/workflow `run` inputs are typed from the schema's *parsed* output, so a defaulted field must still be passed at the call site. When callers should be able to omit a field, use `.optional()` and apply the fallback inside `run`.
|
|
361
|
+
12. **Slack gateway** — connect agents to Slack channels with `slackbot` (`keystroke connect slackbot`). See [Gateway / channel binding](#gateway--channel-binding).
|
|
349
362
|
|
|
350
363
|
## Documentation
|
|
351
364
|
|
|
@@ -362,7 +375,7 @@ Key pages (every `Full detail:` pointer in this guide is also a docs path; the i
|
|
|
362
375
|
| `/cli` | Full command reference, flags, JSON output |
|
|
363
376
|
| `/explore-features` | Map of all feature documentation |
|
|
364
377
|
| `/learn/agents/build-agents` | Models, tools, subagents, sandboxes, MCP tools on agents |
|
|
365
|
-
| `/learn/agents/external-channels` | Slack
|
|
378
|
+
| `/learn/agents/external-channels` | Slack vs Slackbot; connect `slackbot` and bind channels |
|
|
366
379
|
| `/learn/workflows/authoring-best-practices` | Canvas-legible, replayable workflow patterns |
|
|
367
380
|
| `/learn/triggers/overview` | Choosing a trigger type (per-source pages live alongside) |
|
|
368
381
|
| `/learn/credentials/connect-credentials` | `keystroke connect`, OAuth, project credentials |
|