@zibby/skills 0.1.33 → 0.1.35

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.
Files changed (87) hide show
  1. package/README.md +2 -0
  2. package/dist/browser.d.ts +19 -0
  3. package/dist/chat-memory.d.ts +355 -0
  4. package/dist/chat-notify.d.ts +409 -0
  5. package/dist/core-tools.d.ts +131 -0
  6. package/dist/function-skill.d.ts +149 -0
  7. package/dist/git.d.ts +72 -0
  8. package/dist/github.d.ts +777 -0
  9. package/dist/github.js +4 -3
  10. package/dist/gitlab.d.ts +396 -0
  11. package/dist/gitlab.js +19 -0
  12. package/dist/index.d.ts +45 -0
  13. package/dist/index.js +145 -126
  14. package/dist/integrations.d.ts +110 -0
  15. package/dist/jira.d.ts +547 -0
  16. package/dist/lark.d.ts +161 -0
  17. package/dist/linear.d.ts +344 -0
  18. package/dist/llm-billing.d.ts +294 -0
  19. package/dist/memory.d.ts +137 -0
  20. package/dist/package.json +67 -17
  21. package/dist/plane.d.ts +24 -0
  22. package/dist/report.d.ts +354 -0
  23. package/dist/report.js +9 -9
  24. package/dist/sentry.d.ts +43 -0
  25. package/dist/skill-installer.d.ts +86 -0
  26. package/dist/slack.d.ts +284 -0
  27. package/dist/test-runner.d.ts +220 -0
  28. package/dist/trackers/github-adapter.d.ts +96 -0
  29. package/dist/trackers/github-adapter.js +4 -3
  30. package/dist/trackers/index.d.ts +27 -0
  31. package/dist/trackers/index.js +16 -15
  32. package/dist/trackers/jira-adapter.d.ts +90 -0
  33. package/dist/trackers/linear-adapter.d.ts +89 -0
  34. package/dist/trackers/plane-adapter.d.ts +101 -0
  35. package/dist/trackers/types.d.ts +335 -0
  36. package/dist/workflow-builder.d.ts +245 -0
  37. package/docs/apps/agent-ops.md +6 -6
  38. package/docs/apps/deploy.md +1 -1
  39. package/docs/apps/index.md +1 -1
  40. package/docs/apps/managing.md +1 -1
  41. package/docs/cli-reference.md +65 -65
  42. package/docs/cloning-repositories.md +9 -9
  43. package/docs/cloud/bundles.md +8 -8
  44. package/docs/cloud/dedicated-egress.md +6 -6
  45. package/docs/cloud/env-vars.md +29 -29
  46. package/docs/cloud/limits.md +11 -11
  47. package/docs/cloud/triggering.md +16 -16
  48. package/docs/concepts/agents.md +4 -4
  49. package/docs/concepts/sessions.md +7 -7
  50. package/docs/concepts/state.md +1 -1
  51. package/docs/concepts/sub-graphs.md +9 -9
  52. package/docs/get-started/deploy.md +14 -14
  53. package/docs/get-started/install.md +4 -4
  54. package/docs/get-started/run-locally.md +12 -12
  55. package/docs/get-started/trigger-and-logs.md +14 -14
  56. package/docs/get-started/use-from-agents.md +17 -17
  57. package/docs/get-started/your-first-workflow.md +8 -8
  58. package/docs/integrations/gitlab.md +1 -1
  59. package/docs/integrations/lark.md +2 -2
  60. package/docs/integrations/linear.md +1 -1
  61. package/docs/integrations/notion.md +2 -2
  62. package/docs/integrations/plane.md +1 -1
  63. package/docs/integrations/slack.md +1 -1
  64. package/docs/intro.md +4 -4
  65. package/docs/legacy/test-automation.md +2 -2
  66. package/docs/packages/cli.md +11 -11
  67. package/docs/packages/core.md +2 -2
  68. package/docs/packages/mcp-cli.md +18 -18
  69. package/docs/packages/skills.md +2 -2
  70. package/docs/packages/ui-memory.md +1 -1
  71. package/docs/recipes/bug-autofix.md +1 -1
  72. package/docs/recipes/index.md +3 -3
  73. package/docs/recipes/pipeline-supervisor.md +4 -4
  74. package/docs/recipes/sentry-triage.md +7 -7
  75. package/docs/recipes/test.md +6 -6
  76. package/docs/skills/browser.md +2 -2
  77. package/docs/skills/chat-memory.md +1 -1
  78. package/docs/skills/core-tools.md +1 -1
  79. package/docs/skills/function-skill.md +1 -1
  80. package/docs/skills/github.md +2 -2
  81. package/docs/skills/index.md +1 -1
  82. package/docs/skills/jira.md +1 -1
  83. package/docs/skills/lark.md +1 -1
  84. package/docs/skills/memory.md +2 -2
  85. package/docs/skills/sentry.md +1 -1
  86. package/docs/skills/slack.md +2 -2
  87. package/package.json +67 -17
@@ -3,13 +3,13 @@ sidebar_position: 8
3
3
  title: Cloning Repositories
4
4
  ---
5
5
 
6
- # Cloning Repositories in Custom Workflows
6
+ # Cloning Repositories in Custom Agents
7
7
 
8
- Custom workflows can clone your project's configured repositories (GitHub/GitLab) using the `cloneRepo()` helper function from `@zibby/core`.
8
+ Custom agents can clone your project's configured repositories (GitHub/GitLab) using the `cloneRepo()` helper function from `@zibby/core`.
9
9
 
10
10
  ## Overview
11
11
 
12
- When your workflow runs in the cloud, it has access to:
12
+ When your agent runs in the cloud, it has access to:
13
13
  - All repositories configured in your project settings (GitHub/GitLab)
14
14
  - Authenticated tokens for cloning (injected securely by the platform)
15
15
  - A clean isolated container environment
@@ -135,9 +135,9 @@ If a repository fails to clone, its value will be `null`:
135
135
  }
136
136
  ```
137
137
 
138
- ## Complete Example Workflow
138
+ ## Complete Example Agent
139
139
 
140
- Here's a full workflow that clones repos and runs analysis:
140
+ Here's a full agent that clones repos and runs analysis:
141
141
 
142
142
  ```javascript
143
143
  // graph.mjs
@@ -224,11 +224,11 @@ Return a comprehensive security audit report.`;
224
224
  ## How It Works
225
225
 
226
226
  1. **Project Configuration**: You configure repositories in your project settings (Web UI)
227
- 2. **Secure Token Injection**: When the workflow runs, Zibby injects:
227
+ 2. **Secure Token Injection**: When the agent runs, Zibby injects:
228
228
  - `REPOS` env var (array of repo metadata with clone URLs)
229
229
  - `GITHUB_TOKEN` and/or `GITLAB_TOKEN` (OAuth tokens for authentication)
230
230
  3. **Authenticated Clone**: `cloneRepo()` constructs authenticated URLs and clones via `git clone`
231
- 4. **Isolation**: Each workflow run gets a fresh container with no cached state
231
+ 4. **Isolation**: Each agent run gets a fresh container with no cached state
232
232
 
233
233
  ## Supported Platforms
234
234
 
@@ -269,7 +269,7 @@ Common failure reasons:
269
269
 
270
270
  ## Local Development
271
271
 
272
- When running workflows locally (`zibby workflow run`), you'll need to:
272
+ When running agents locally (`zibby agent run`), you'll need to:
273
273
  1. Set `REPOS` env var manually (JSON array)
274
274
  2. Provide `GITHUB_TOKEN` or `GITLAB_TOKEN`
275
275
  3. Ensure `git` is installed
@@ -279,7 +279,7 @@ Example for local testing:
279
279
  ```bash
280
280
  export REPOS='[{"name":"myorg/backend","provider":"github","cloneUrl":"https://github.com/myorg/backend.git"}]'
281
281
  export GITHUB_TOKEN="ghp_your_token"
282
- zibby workflow run my-workflow
282
+ zibby agent run my-agent
283
283
  ```
284
284
 
285
285
  In production (cloud), these are injected automatically.
@@ -5,12 +5,12 @@ title: Bundle build (Heroku-style)
5
5
 
6
6
  # Bundle build
7
7
 
8
- When you `zibby workflow deploy`, two things happen:
8
+ When you `zibby agent deploy`, two things happen:
9
9
 
10
- 1. **Source upload** — your workflow folder (sources only, no `node_modules`) is sent to S3 via a presigned PUT URL. The CLI does this; the backend never has S3 IAM credentials for your account's bucket.
10
+ 1. **Source upload** — your agent folder (sources only, no `node_modules`) is sent to S3 via a presigned PUT URL. The CLI does this; the backend never has S3 IAM credentials for your account's bucket.
11
11
  2. **Bundle build** — a CodeBuild job downloads the sources, runs `npm install --omit=dev`, packages a tarball, uploads it back to S3.
12
12
 
13
- The tarball is what the cloud runtime downloads at trigger time. **No `npm install` happens at runtime** — workflows boot in seconds regardless of dependency tree size.
13
+ The tarball is what the cloud runtime downloads at trigger time. **No `npm install` happens at runtime** — agents boot in seconds regardless of dependency tree size.
14
14
 
15
15
  ## What's in the bundle
16
16
 
@@ -41,7 +41,7 @@ export default {
41
41
 
42
42
  ## Why this matters
43
43
 
44
- Without bundling, every cloud trigger would run `npm install` inside the ECS task. For a typical workflow with `@zibby/core` + a few skills, that's 30–90 seconds per cold start. With the bundle:
44
+ Without bundling, every cloud trigger would run `npm install` inside the ECS task. For a typical agent with `@zibby/core` + a few skills, that's 30–90 seconds per cold start. With the bundle:
45
45
 
46
46
  ```
47
47
  trigger → tarball download (3s) → graph.run() → done
@@ -64,23 +64,23 @@ Pass `--verbose` (or set `ZIBBY_DEPLOY_VERBOSE=1`) to see the raw CodeBuild logs
64
64
 
65
65
  ## Re-deploys reuse the bundle path
66
66
 
67
- The bundle URL is keyed by workflow UUID — re-deploys overwrite the previous bundle. Old executions in flight finish against the *previous* bundle (no rug-pull) because each ECS task downloads the tarball at the moment it starts.
67
+ The bundle URL is keyed by agent UUID — re-deploys overwrite the previous bundle. Old executions in flight finish against the *previous* bundle (no rug-pull) because each ECS task downloads the tarball at the moment it starts.
68
68
 
69
69
  ## Security model
70
70
 
71
71
  The CodeBuild role has **zero S3 IAM permissions**. It receives presigned GET (for sources) and PUT (for bundle) URLs as build-time env vars. URLs are scoped to single keys, expire after 15 minutes.
72
72
 
73
- This means a malicious `postinstall` script in a workflow's `package.json` can't escape its sandbox to read other customers' bundles or sources.
73
+ This means a malicious `postinstall` script in an agent's `package.json` can't escape its sandbox to read other customers' bundles or sources.
74
74
 
75
75
  ## Bundle size
76
76
 
77
77
  Typical: 100–200 MB compressed. Mostly node_modules. The bundle includes everything `npm install --omit=dev` produces — runtime deps only, no dev deps.
78
78
 
79
- To slim it: audit your workflow's `package.json` for unused deps, and prefer the lightest agent SDK that does the job.
79
+ To slim it: audit your agent's `package.json` for unused deps, and prefer the lightest agent SDK that does the job.
80
80
 
81
81
  ## Source-fetch fallback
82
82
 
83
- If the bundle is missing or fails to extract, the cloud runtime falls back to source-fetch + runtime `npm install`. Slower, but workflows still run. You'll see this in logs:
83
+ If the bundle is missing or fails to extract, the cloud runtime falls back to source-fetch + runtime `npm install`. Slower, but agents still run. You'll see this in logs:
84
84
 
85
85
  ```
86
86
  [setup] Bundle extract failed (...); falling back to source install
@@ -5,12 +5,12 @@ title: Dedicated egress IP
5
5
 
6
6
  # Dedicated egress IP
7
7
 
8
- By default, every Zibby workflow exits via a random AWS IP that changes every run.
9
- For most customers that's fine — but if your workflow needs to talk to a service
8
+ By default, every Zibby agent exits via a random AWS IP that changes every run.
9
+ For most customers that's fine — but if your agent needs to talk to a service
10
10
  behind a firewall (private GitLab, Salesforce, Oracle Cloud, internal API behind a
11
11
  corporate VPN), the random-IP behavior makes it unusable.
12
12
 
13
- The **dedicated egress IP** addon pins all your workflow's outbound traffic to a
13
+ The **dedicated egress IP** addon pins all your agent's outbound traffic to a
14
14
  single static IP that you can whitelist once on the destination service.
15
15
 
16
16
  ## Pricing
@@ -34,11 +34,11 @@ single static IP that you can whitelist once on the destination service.
34
34
  Internet (sees your static IP, e.g. 54.66.241.180)
35
35
  ```
36
36
 
37
- Every outbound HTTPS call from your workflow exits via your dedicated IP:
37
+ Every outbound HTTPS call from your agent exits via your dedicated IP:
38
38
 
39
39
  | What | Whether it tunnels |
40
40
  |---|---|
41
- | `fetch()` from workflow code | ✅ via static IP |
41
+ | `fetch()` from agent code | ✅ via static IP |
42
42
  | `git clone` private repos | ✅ via static IP |
43
43
  | `npm install` from private registries | ✅ via static IP |
44
44
  | `curl` / `wget` in shell scripts | ✅ via static IP |
@@ -110,7 +110,7 @@ Your IP is **stable for as long as you have the addon enabled**:
110
110
 
111
111
  - Survives Zibby infrastructure changes (we replace proxy boxes regularly)
112
112
  - Survives our region failovers
113
- - Survives your own workflow redeploys
113
+ - Survives your own agent redeploys
114
114
 
115
115
  The only way the IP changes is if **you** disable the addon, in which case the IP
116
116
  is released back to AWS at the end of your billing period.
@@ -1,26 +1,26 @@
1
1
  ---
2
2
  sidebar_position: 4
3
- title: Per-workflow env vars
3
+ title: Per-agent env vars
4
4
  ---
5
5
 
6
- # Per-workflow env vars
6
+ # Per-agent env vars
7
7
 
8
- Each deployed workflow has its own encrypted env-var bag. The cloud runtime injects those vars into the Fargate task that runs the workflow — they show up in `process.env` like any other env var.
8
+ Each deployed agent has its own encrypted env-var bag. The cloud runtime injects those vars into the Fargate task that runs the agent — they show up in `process.env` like any other env var.
9
9
 
10
- Use this for credentials that are **specific to one workflow** — different `ANTHROPIC_API_KEY` per pipeline, a workflow-only `DATABASE_URL`, an external webhook secret. Project-wide secrets stay on the project record (set in dashboard); workflow env wins on conflict.
10
+ Use this for credentials that are **specific to one agent** — different `ANTHROPIC_API_KEY` per agent, an agent-only `DATABASE_URL`, an external webhook secret. Project-wide secrets stay on the project record (set in dashboard); agent env wins on conflict.
11
11
 
12
12
  ## The fast path: `--env` at deploy
13
13
 
14
- Most users want to ship a `.env` alongside the workflow:
14
+ Most users want to ship a `.env` alongside the agent:
15
15
 
16
16
  ```bash
17
- zibby workflow deploy my-pipeline --env .env
17
+ zibby agent deploy my-agent --env .env
18
18
  ```
19
19
 
20
- The CLI deploys the workflow as usual, then syncs the `.env` into per-workflow env vars. You'll see:
20
+ The CLI deploys the agent as usual, then syncs the `.env` into per-agent env vars. You'll see:
21
21
 
22
22
  ```
23
- ✔ Deployed my-pipeline (v1)
23
+ ✔ Deployed my-agent (v1)
24
24
  ✔ Bundle ready (78s)
25
25
  ✔ Synced 4 env vars from .env
26
26
  ```
@@ -28,21 +28,21 @@ The CLI deploys the workflow as usual, then syncs the `.env` into per-workflow e
28
28
  Multiple files merge with later wins (mirrors how dotenv libraries usually layer):
29
29
 
30
30
  ```bash
31
- zibby workflow deploy my-pipeline --env .env --env .env.prod
31
+ zibby agent deploy my-agent --env .env --env .env.prod
32
32
  ```
33
33
 
34
- ## Manage after deploy: `zibby workflow env`
34
+ ## Manage after deploy: `zibby agent env`
35
35
 
36
- Four verbs, all keyed by the workflow UUID (from `zibby workflow list` or `.zibby-deploy.json`):
36
+ Four verbs, all keyed by the agent UUID (from `zibby agent list` or `.zibby-deploy.json`):
37
37
 
38
38
  ```bash
39
- zibby workflow env list <uuid> # show key names (no values)
40
- zibby workflow env set <uuid> ANTHROPIC_API_KEY=sk-… # add or rotate one
41
- zibby workflow env unset <uuid> OLD_KEY # remove one
42
- zibby workflow env push <uuid> --file .env [--file .env.prod] # bulk replace
39
+ zibby agent env list <uuid> # show key names (no values)
40
+ zibby agent env set <uuid> ANTHROPIC_API_KEY=sk-… # add or rotate one
41
+ zibby agent env unset <uuid> OLD_KEY # remove one
42
+ zibby agent env push <uuid> --file .env [--file .env.prod] # bulk replace
43
43
  ```
44
44
 
45
- `set` is for surgical updates — leaves every other key alone. `push` is the deploy-flow `--env` exposed as a standalone command for when you want to update env without redeploying the workflow itself.
45
+ `set` is for surgical updates — leaves every other key alone. `push` is the deploy-flow `--env` exposed as a standalone command for when you want to update env without redeploying the agent itself.
46
46
 
47
47
  `list` only returns key names, never values. Once you set a value, the only place it surfaces is inside the running container.
48
48
 
@@ -50,19 +50,19 @@ zibby workflow env push <uuid> --file .env [--file .env.prod] # bulk replace
50
50
 
51
51
  Rotate one key:
52
52
  ```bash
53
- zibby workflow env set 1a255ded-9f57-44ad-81cf-70726b13d653 ANTHROPIC_API_KEY=sk-ant-rotated
53
+ zibby agent env set 1a255ded-9f57-44ad-81cf-70726b13d653 ANTHROPIC_API_KEY=sk-ant-rotated
54
54
  ```
55
55
 
56
- Wipe all env on a workflow (push an empty file):
56
+ Wipe all env on an agent (push an empty file):
57
57
  ```bash
58
- zibby workflow env push <uuid> --file /dev/null
58
+ zibby agent env push <uuid> --file /dev/null
59
59
  ```
60
60
 
61
61
  CI rotation (GitHub Actions):
62
62
  ```yaml
63
63
  - run: |
64
64
  echo "ANTHROPIC_API_KEY=$ANTHROPIC_KEY" > .env.cd
65
- npx @zibby/cli workflow env push $WORKFLOW_UUID --file .env.cd
65
+ npx @zibby/cli agent env push $WORKFLOW_UUID --file .env.cd
66
66
  env:
67
67
  ANTHROPIC_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
68
68
  WORKFLOW_UUID: ${{ vars.WORKFLOW_UUID }}
@@ -74,10 +74,10 @@ CI rotation (GitHub Actions):
74
74
  When a Fargate task starts, env vars come from three layers (later wins):
75
75
 
76
76
  ```
77
- built-in container vars → project secrets (DDB) → workflow env (DDB)
77
+ built-in container vars → project secrets (DDB) → agent env (DDB)
78
78
  ```
79
79
 
80
- So if both your project record and your workflow env define `ANTHROPIC_API_KEY`, the workflow's value is what `process.env.ANTHROPIC_API_KEY` returns inside the run.
80
+ So if both your project record and your agent env define `ANTHROPIC_API_KEY`, the agent's value is what `process.env.ANTHROPIC_API_KEY` returns inside the run.
81
81
 
82
82
  ## Validation
83
83
 
@@ -87,11 +87,11 @@ So if both your project record and your workflow env define `ANTHROPIC_API_KEY`,
87
87
  | Value | Any string. Empty string is allowed. |
88
88
  | `.env` files | Standard dotenv syntax — comments, quoted values, blank lines, `KEY=value` per line. |
89
89
 
90
- The CLI validates locally before the API round-trip, so `zibby workflow env set <uuid> lowercase=v` fails fast with a readable message instead of a 400.
90
+ The CLI validates locally before the API round-trip, so `zibby agent env set <uuid> lowercase=v` fails fast with a readable message instead of a 400.
91
91
 
92
- ## Use case: multi-agent workflows
92
+ ## Use case: multi-vendor agents
93
93
 
94
- Different nodes in the same workflow may want to call different model vendors:
94
+ Different nodes in the same agent may want to call different model vendors:
95
95
 
96
96
  ```js
97
97
  // graph.mjs
@@ -110,7 +110,7 @@ CURSOR_API_KEY=key_...
110
110
  OPENAI_API_KEY=sk-...
111
111
  EOF
112
112
 
113
- zibby workflow deploy multi-agent --env .env
113
+ zibby agent deploy multi-agent --env .env
114
114
  ```
115
115
 
116
116
  Each agent reads its own env var when invoked. No prompt-stuffing keys, no per-node config.
@@ -118,13 +118,13 @@ Each agent reads its own env var when invoked. No prompt-stuffing keys, no per-n
118
118
  ## Security model
119
119
 
120
120
  - **Encryption**: KMS envelope encryption with per-account keys. The plaintext never lands in CloudWatch, DDB, or Lambda logs.
121
- - **Access control**: every env command needs project-level access on the workflow's project — checked on every request.
121
+ - **Access control**: every env command needs project-level access on the agent's project — checked on every request.
122
122
  - **Audit**: KMS logs every decrypt operation. Cross-reference with `WORKFLOW_JOB_ID` to see exactly which run pulled which secret.
123
- - **Rotation**: `zibby workflow env set` with a new value — the next triggered run picks it up. Currently in-flight runs keep using the value they decrypted at start time.
123
+ - **Rotation**: `zibby agent env set` with a new value — the next triggered run picks it up. Currently in-flight runs keep using the value they decrypted at start time.
124
124
 
125
125
  ## What this is *not*
126
126
 
127
- - **Not for the project's primary credentials** — those live on the project record (dashboard → Project → Secrets). Use workflow env for *workflow-specific* overrides.
127
+ - **Not for the project's primary credentials** — those live on the project record (dashboard → Project → Secrets). Use agent env for *agent-specific* overrides.
128
128
  - **Not a values-readable store** — `list` returns key names only. If you need to retrieve the value, you'll have to push it again. This is intentional.
129
129
  - **Not 1Password / Vault** — no rotation policies, no version history. Plain CRUD.
130
130
 
@@ -5,24 +5,24 @@ title: Limits & quotas
5
5
 
6
6
  # Limits & quotas
7
7
 
8
- ## Workflow runtime cap
8
+ ## Agent runtime cap
9
9
 
10
- Every workflow execution has a **30-minute hard cap**. If a workflow exceeds it, the
10
+ Every agent execution has a **30-minute hard cap**. If an agent exceeds it, the
11
11
  container is terminated with exit code `124` (timeout) and the execution is marked
12
12
  `failed` with reason `TIMEOUT`.
13
13
 
14
14
  Why this exists:
15
- - Stops runaway workflows (infinite loops, hung HTTP calls, stuck npm installs)
15
+ - Stops runaway agents (infinite loops, hung HTTP calls, stuck npm installs)
16
16
  from burning unbounded compute
17
17
  - Predictable per-execution cost ceiling
18
18
  - Industry standard — GitHub Actions defaults to 6 hours, GitLab CI defaults to
19
19
  1 hour, Vercel functions cap at 5 minutes. We picked 30 min as the sweet spot
20
- for AI-driven workflows
20
+ for AI-driven agents
21
21
 
22
- If your workflow needs to run longer:
22
+ If your agent needs to run longer:
23
23
  - Split it into multiple shorter executions chained via input/output
24
24
  - Move long-running work (large npm installs, video processing) into your bundled
25
- artifact at deploy time so the workflow itself stays short
25
+ artifact at deploy time so the agent itself stays short
26
26
  - Contact us about a Pro tier with a longer cap
27
27
 
28
28
  The cap is enforced **inside** the container by a watchdog timer set on startup,
@@ -43,7 +43,7 @@ marked failed.
43
43
 
44
44
  ## Container freedom (what you CAN do)
45
45
 
46
- Inside your container, your workflow has **full control**:
46
+ Inside your container, your agent has **full control**:
47
47
 
48
48
  - Install any npm package (`npm install`, `pip install`, `apt install` if root)
49
49
  - Run any shell command (`curl`, `git`, `docker`-in-docker not supported)
@@ -58,7 +58,7 @@ no side effects on Zibby infrastructure.
58
58
 
59
59
  | Boundary | Why |
60
60
  |---|---|
61
- | Talk to other customers' workflows | Each task is a separate isolated container |
61
+ | Talk to other customers' agents | Each task is a separate isolated container |
62
62
  | Use someone else's static IP | Only your account's IP is reachable from your task |
63
63
  | Run beyond the 30-min cap | Watchdog kills the process |
64
64
  | Read Zibby infra secrets | Container IAM role only sees your execution data |
@@ -66,7 +66,7 @@ no side effects on Zibby infrastructure.
66
66
 
67
67
  ## Outbound network
68
68
 
69
- By default your workflow exits via a random AWS IP that changes every run. If you
69
+ By default your agent exits via a random AWS IP that changes every run. If you
70
70
  need a stable IP for whitelisting customer firewalls, see
71
71
  [Dedicated egress IP](./dedicated-egress) ($50/mo addon).
72
72
 
@@ -74,8 +74,8 @@ need a stable IP for whitelisting customer firewalls, see
74
74
 
75
75
  | Endpoint | Limit |
76
76
  |---|---|
77
- | Trigger workflow | 60/min per account |
77
+ | Trigger agent | 60/min per account |
78
78
  | Read logs | 600/min per account |
79
- | Deploy workflow | 30/hour per account |
79
+ | Deploy agent | 30/hour per account |
80
80
 
81
81
  Hitting a rate limit returns `429 Too Many Requests` with a `Retry-After` header.
@@ -5,18 +5,18 @@ title: Triggering programmatically
5
5
 
6
6
  # Triggering programmatically
7
7
 
8
- The CLI is the public surface for triggering workflows. CI runners, cron hosts, webhook handlers — all of them shell out to the same command:
8
+ The CLI is the public surface for triggering agents. CI runners, cron hosts, webhook handlers — all of them shell out to the same command:
9
9
 
10
10
  ```bash
11
- zibby workflow trigger <uuid>
12
- zibby workflow trigger <uuid> -p ticket=BUG-123
13
- zibby workflow trigger <uuid> --input '{"ticket":"BUG-123","priority":"high"}'
14
- zibby workflow trigger <uuid> --input-file payload.json
11
+ zibby agent trigger <uuid>
12
+ zibby agent trigger <uuid> -p ticket=BUG-123
13
+ zibby agent trigger <uuid> --input '{"ticket":"BUG-123","priority":"high"}'
14
+ zibby agent trigger <uuid> --input-file payload.json
15
15
  ```
16
16
 
17
17
  Auth: set `ZIBBY_API_KEY` in the environment, or run `zibby login` once on a workstation. Either works; the CLI picks up whichever is available.
18
18
 
19
- The flag surface is identical to `zibby workflow run` (local) — same `-p / --input / --input-file`, plus `--idempotency-key` for the cloud-only dedup case below. Flip the verb and the same call shape goes from local to remote.
19
+ The flag surface is identical to `zibby agent run` (local) — same `-p / --input / --input-file`, plus `--idempotency-key` for the cloud-only dedup case below. Flip the verb and the same call shape goes from local to remote.
20
20
 
21
21
  ### Input precedence
22
22
 
@@ -29,7 +29,7 @@ When more than one input source is provided, they merge with this **precedence (
29
29
  This means the common pattern of "load a base payload from disk, override a few keys for this run" works without manual merging:
30
30
 
31
31
  ```bash
32
- zibby workflow trigger <uuid> --input-file payload.json -p priority=urgent
32
+ zibby agent trigger <uuid> --input-file payload.json -p priority=urgent
33
33
  ```
34
34
 
35
35
  ## CI / cron
@@ -39,10 +39,10 @@ Anywhere you can shell out, call the CLI. Don't hand-roll an HTTP client — you
39
39
  ### GitHub Actions
40
40
 
41
41
  ```yaml
42
- - name: Trigger Zibby workflow
42
+ - name: Trigger Zibby agent
43
43
  run: |
44
44
  npm i -g @zibby/cli
45
- zibby workflow trigger $WORKFLOW_UUID -p sha=$GITHUB_SHA -p pr=$PR_NUMBER
45
+ zibby agent trigger $WORKFLOW_UUID -p sha=$GITHUB_SHA -p pr=$PR_NUMBER
46
46
  env:
47
47
  WORKFLOW_UUID: 2b1ea07f-3ede-4bfd-a51d-431f0bab008e
48
48
  ZIBBY_API_KEY: ${{ secrets.ZIBBY_API_KEY }}
@@ -61,7 +61,7 @@ jobs:
61
61
  runs-on: ubuntu-latest
62
62
  steps:
63
63
  - run: npm i -g @zibby/cli
64
- - run: zibby workflow trigger $UUID --input '{"weekly":true}'
64
+ - run: zibby agent trigger $UUID --input '{"weekly":true}'
65
65
  env:
66
66
  UUID: ${{ vars.WORKFLOW_UUID }}
67
67
  ZIBBY_API_KEY: ${{ secrets.ZIBBY_API_KEY }}
@@ -79,7 +79,7 @@ app.post('/webhook', (req, res) => {
79
79
 
80
80
  try {
81
81
  execFileSync('zibby', [
82
- 'workflow', 'trigger', process.env.WORKFLOW_UUID,
82
+ 'agent', 'trigger', process.env.WORKFLOW_UUID,
83
83
  '--input', JSON.stringify(req.body),
84
84
  '--idempotency-key', req.headers['x-event-id'],
85
85
  ], { env: process.env, stdio: 'pipe' });
@@ -97,7 +97,7 @@ If your runtime can't spawn a Node CLI (constrained Lambda layers, edge runtimes
97
97
  Pass an idempotency key to deduplicate triggers within a 24-hour window:
98
98
 
99
99
  ```bash
100
- zibby workflow trigger <uuid> \
100
+ zibby agent trigger <uuid> \
101
101
  -p ticket=BUG-123 \
102
102
  --idempotency-key webhook-2026-05-02-event-7
103
103
  ```
@@ -109,14 +109,14 @@ Same key + same input within 24h returns the original `jobId` instead of startin
109
109
  After triggering, the CLI prints the `jobId`. To watch the execution:
110
110
 
111
111
  ```bash
112
- zibby workflow logs <uuid> -t
112
+ zibby agent logs <uuid> -t
113
113
  ```
114
114
 
115
- See [`workflow logs` in the CLI Reference](../cli-reference#workflow-logs).
115
+ See [`agent logs` in the CLI Reference](../cli-reference#agent-logs).
116
116
 
117
- ## Per-workflow env vars
117
+ ## Per-agent env vars
118
118
 
119
- If your workflow needs credentials or config that's specific to it (different `ANTHROPIC_API_KEY` per pipeline, a workflow-only `DATABASE_URL`, etc.), set them via the env-var API — see [Per-workflow env vars](./env-vars). They get injected into the Fargate task at trigger time and override anything set on the project record.
119
+ If your agent needs credentials or config that's specific to it (different `ANTHROPIC_API_KEY` per agent, an agent-only `DATABASE_URL`, etc.), set them via the env-var API — see [Per-agent env vars](./env-vars). They get injected into the Fargate task at trigger time and override anything set on the project record.
120
120
 
121
121
  ## Quotas
122
122
 
@@ -92,7 +92,7 @@ Then a node can use it:
92
92
  graph.addNode('plan', { prompt, outputSchema: Plan, agent: 'mine' });
93
93
  ```
94
94
 
95
- The framework ships **zero** agent strategies bundled — `@zibby/agent-workflow` is BYO. The five built-ins above live in `@zibby/core`, which is what `zibby workflow new` scaffolds and what the cloud runtime preloads.
95
+ The framework ships **zero** agent strategies bundled — `@zibby/agent-workflow` is BYO. The five built-ins above live in `@zibby/core`, which is what `zibby agent new` scaffolds and what the cloud runtime preloads.
96
96
 
97
97
  ## Authentication
98
98
 
@@ -106,7 +106,7 @@ The framework ships **zero** agent strategies bundled — `@zibby/agent-workflow
106
106
 
107
107
  In Zibby Cloud, you have two options:
108
108
 
109
- - **Project-wide credentials**: set once on the project record (dashboard → Project → Secrets) — every workflow in the project uses them.
110
- - **Per-workflow overrides**: set on a single workflow via [`PUT /workflows/<uuid>/env`](../cloud/env-vars) — useful when one pipeline needs a different `ANTHROPIC_API_KEY` from the rest of the project, or when one workflow needs to talk to multiple agent vendors with their own keys.
109
+ - **Project-wide credentials**: set once on the project record (dashboard → Project → Secrets) — every agent in the project uses them.
110
+ - **Per-agent overrides**: set on a single agent via [`PUT /workflows/<uuid>/env`](../cloud/env-vars) — useful when one agent needs a different `ANTHROPIC_API_KEY` from the rest of the project, or when one agent needs to talk to multiple agent vendors with their own keys.
111
111
 
112
- Workflow env wins over project secrets on conflict (last-write-wins inside the Fargate task).
112
+ Agent env wins over project secrets on conflict (last-write-wins inside the Fargate task).
@@ -5,7 +5,7 @@ title: Sessions & artifacts
5
5
 
6
6
  # Sessions & artifacts
7
7
 
8
- Every workflow run — local or cloud — produces a **session folder** under `.zibby/output/sessions/<sessionId>/`. The folder is the canonical record of what happened.
8
+ Every agent run — local or cloud — produces a **session folder** under `.zibby/output/sessions/<sessionId>/`. The folder is the canonical record of what happened.
9
9
 
10
10
  ## What's inside
11
11
 
@@ -31,7 +31,7 @@ Format: `<unix_ms>_<random>`. Generated when the graph starts running.
31
31
  You can override via:
32
32
 
33
33
  ```bash
34
- zibby workflow run my-pipeline --session 1777678254943_ymcw
34
+ zibby agent run my-agent --session 1777678254943_ymcw
35
35
  ```
36
36
 
37
37
  Useful for replay — re-run from a saved input/state without re-paying earlier nodes.
@@ -39,7 +39,7 @@ Useful for replay — re-run from a saved input/state without re-paying earlier
39
39
  ## Replay a session
40
40
 
41
41
  ```bash
42
- zibby workflow run my-pipeline \
42
+ zibby agent run my-agent \
43
43
  --session 1777678254943_ymcw \
44
44
  --node verify # only re-run the 'verify' node
45
45
  ```
@@ -48,19 +48,19 @@ The graph reads `state.plan` and `state.implement` from the saved session and on
48
48
 
49
49
  ## Cloud sessions
50
50
 
51
- Cloud runs land in the same `.zibby/output/sessions/` layout, just inside the ECS container's `/workspace/`. The session folder is uploaded to S3 at the end of each run; `zibby workflow logs <uuid> -t` streams CloudWatch logs in real time.
51
+ Cloud runs land in the same `.zibby/output/sessions/` layout, just inside the ECS container's `/workspace/`. The session folder is uploaded to S3 at the end of each run; `zibby agent logs <uuid> -t` streams CloudWatch logs in real time.
52
52
 
53
53
  To download a finished cloud session locally:
54
54
 
55
55
  ```bash
56
- zibby workflow download <uuid>
56
+ zibby agent download <uuid>
57
57
  ```
58
58
 
59
- This pulls the workflow source (so you can edit and redeploy) plus the most recent execution's session folder.
59
+ This pulls the agent source (so you can edit and redeploy) plus the most recent execution's session folder.
60
60
 
61
61
  ## Studio integration
62
62
 
63
- [Zibby Studio](https://zibby.app) is a desktop UI that watches `.zibby/output/sessions/`. Anything that writes a session folder shows up in Studio automatically — pin a session, watch state evolve live, or stop a workflow from the Stop button.
63
+ [Zibby Studio](https://zibby.app) is a desktop UI that watches `.zibby/output/sessions/`. Anything that writes a session folder shows up in Studio automatically — pin a session, watch state evolve live, or stop an agent from the Stop button.
64
64
 
65
65
  The protocol is documented and stable:
66
66
 
@@ -5,7 +5,7 @@ title: State & schema
5
5
 
6
6
  # State & schema
7
7
 
8
- Every workflow run carries one **state** object that flows from node to node. State is the only handoff mechanism — there's no shared globals, no hidden context.
8
+ Every agent run carries one **state** object that flows from node to node. State is the only handoff mechanism — there's no shared globals, no hidden context.
9
9
 
10
10
  ## Shape
11
11
 
@@ -5,13 +5,13 @@ title: Sub-graphs (parent → child)
5
5
 
6
6
  # Sub-graphs
7
7
 
8
- A **sub-graph node** runs another deployed workflow as a child of the current one. Use it when a step is large enough to deserve its own workflow definition — its own state schema, its own version, its own activity-tab history — but you want a parent to dispatch it as part of a larger flow.
8
+ A **sub-graph node** runs another deployed agent as a child of the current one. Use it when a step is large enough to deserve its own workflow definition — its own state schema, its own version, its own activity-tab history — but you want a parent to dispatch it as part of a larger flow.
9
9
 
10
10
  The shape is one extra field on the existing node config:
11
11
 
12
12
  ```js
13
13
  g.addNode('audit', {
14
- workflow: 'deep-audit', // ← name of another workflow in this project
14
+ workflow: 'deep-audit', // ← name of another agent in this project
15
15
  });
16
16
  ```
17
17
 
@@ -22,7 +22,7 @@ That's it. No new imports, no UUID, no separate class. The engine recognizes `wo
22
22
  | Scenario | Sub-graph? |
23
23
  |---|---|
24
24
  | Two parents need the same multi-node flow | ✅ Yes — define it once as a child, reference by name |
25
- | One step needs different state schema than the rest | ✅ Yes — each workflow has its own schema |
25
+ | One step needs different state schema than the rest | ✅ Yes — each agent has its own schema |
26
26
  | You want per-step activity-tab history + replay | ✅ Yes — each child run gets its own row |
27
27
  | Step is a single LLM call | ❌ No — just add a regular node |
28
28
  | Step has its own retry policy | Either works, but a sub-graph gives independent control |
@@ -77,7 +77,7 @@ g.addNode('audit', {
77
77
 
78
78
  ## How state flows
79
79
 
80
- Each workflow has its own state schema — they're independent. The parent must transform its state into the child's input shape, and (optionally) extract whatever it needs back out.
80
+ Each agent has its own state schema — they're independent. The parent must transform its state into the child's input shape, and (optionally) extract whatever it needs back out.
81
81
 
82
82
  ### A complete example — `parent-orchestrator` calls `child-doubler`
83
83
 
@@ -184,13 +184,13 @@ err.subgraphStatus // 'failed' | 'canceled' | 'timeout'
184
184
 
185
185
  ## What's deployed vs what you write
186
186
 
187
- You only ever reference workflows by **name**. The cloud handles the UUID resolution.
187
+ You only ever reference agents by **name**. The cloud handles the UUID resolution.
188
188
 
189
189
  | Stage | What you write | What the backend does |
190
190
  |---|---|---|
191
- | `zibby workflow deploy child-doubler` | nothing about UUIDs | mints UUID, stores `(projectId, workflowType='child-doubler', uuid='…')` |
191
+ | `zibby agent deploy child-doubler` | nothing about UUIDs | mints UUID, stores `(projectId, workflowType='child-doubler', uuid='…')` |
192
192
  | `subgraph('child-doubler')` in parent code | just the name | stored as a string in the parent's graph definition |
193
- | `zibby workflow deploy parent-orchestrator` | nothing | looks up `'child-doubler'` → UUID, snapshots the dependency |
193
+ | `zibby agent deploy parent-orchestrator` | nothing | looks up `'child-doubler'` → UUID, snapshots the dependency |
194
194
  | Parent runs in Fargate → hits sub-graph node | nothing | POSTs to `/workflows/<uuid>/trigger` with `parentExecutionId` |
195
195
 
196
196
  Names are unique per project (DDB primary key enforces this), so `subgraph('child-doubler')` resolves unambiguously within the parent's project.
@@ -208,14 +208,14 @@ Each child execution row carries `parentExecutionId` pointing at the parent. The
208
208
 
209
209
  Sub-graph dispatch needs the `PROGRESS_API_URL` env var (the public API base). That's set automatically on Fargate runs. For local dev, you have two options:
210
210
 
211
- 1. **Deploy both workflows to cloud, then trigger the parent.** The cloud path always works.
211
+ 1. **Deploy both agents to cloud, then trigger the parent.** The cloud path always works.
212
212
  2. **Mock the trigger + status endpoints locally.** See [`workflows/parent-orchestrator/mock-server.mjs`](https://github.com/ZibbyHQ/agent-workflow/tree/main/examples) in the agent-workflow repo for a 90-line example that simulates the dispatch + poll loop.
213
213
 
214
214
  In-process sub-graph execution (running the child in the parent's Node process directly, no HTTP) is **not supported** — we picked consistency between local and cloud over the 10s spawn-time savings.
215
215
 
216
216
  ## Cross-project sub-graphs
217
217
 
218
- `workflow: 'name'` resolves within the parent's own project. To call another project's workflow, pass an explicit project ID:
218
+ `workflow: 'name'` resolves within the parent's own project. To call another project's agent, pass an explicit project ID:
219
219
 
220
220
  ```js
221
221
  g.addNode('audit', {