@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 / external channel bindings |
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 |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keystrokehq/cli",
3
- "version": "0.1.113",
3
+ "version": "0.1.114",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/keystrokehq/keystroke.git",