@controllerai/cli 0.2.23 → 0.2.25

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.
@@ -3,13 +3,13 @@
3
3
 
4
4
  # CLI to typed MCP tool map
5
5
 
6
- This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI examples remain the canonical grammar; typed MCP calls use the tool and camelCase parameters shown here. Global `--json` and `--api-url` flags are host-controlled and omitted.
6
+ This registry-derived map covers 168 CLI commands and 150 typed MCP tools. CLI examples remain the canonical grammar; typed MCP calls use the tool and camelCase parameters shown here. Global `--json` and `--api-url` flags are host-controlled and omitted.
7
7
 
8
8
  | `cai` command | MCP tool | Parameter mapping | Notes |
9
9
  | --- | --- | --- | --- |
10
- | `cai agent add-action` | `agent_tool_action_add` | `<agentId>` → `agentId`; `--action` → `action`; `--connection` → `connectionId`; `--description` → `description`; `--integration` → `integration`; `--require-confirmation` → `requireConfirmation` | — |
11
- | `cai agent add-file` | `agent_knowledge_file_add`<br>`agent_workspace_file_add` | `agent_knowledge_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--type` → `type`<br>`agent_workspace_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--space` → `space`; `--type` → `type` | split across typed tools |
12
- | `cai agent add-workflow` | `agent_tool_workflow_add` | `<agentId>` → `agentId`; `--description` → `description`; `--flow` → `flow`; `--require-confirmation` → `requireConfirmation`; `--workflow-id` → `workflowId` | — |
10
+ | `cai agent add-action` | `agent_tool_action_add` | `<agentId>` → `agentId`; `--action` → `action`; `--connection` → `connectionId`; `--description` → `description`; `--integration` → `integration`; `--require-confirmation` → `requireConfirmation`; `slackRoute` (MCP-only) → `slackRoute` | — |
11
+ | `cai agent add-file` | `agent_knowledge_file_add`<br>`agent_workspace_file_add` | `agent_knowledge_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--replace` → `replace`; `--type` → `type`<br>`agent_workspace_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--replace` → `replace`; `--space` → `space`; `--type` → `type` | split across typed tools |
12
+ | `cai agent add-workflow` | `agent_tool_workflow_add` | `<agentId>` → `agentId`; `--description` → `description`; `--flow` → `flow`; `--require-confirmation` → `requireConfirmation`; `--workflow-id` → `workflowId`; `slackRoute` (MCP-only) → `slackRoute` | — |
13
13
  | `cai agent conversation approve` | `agent_conversation_approve` | `<conversationId>` → `conversationId`; `--request` → `requestId` | — |
14
14
  | `cai agent conversation create` | `agent_conversation_create` | `<agentId>` → `agentId`; `--model` → `model`; `--title` → `title`; `--draft` → `rail=draft`; `--live` → `rail=live` | — |
15
15
  | `cai agent conversation deny` | `agent_conversation_deny` | `<conversationId>` → `conversationId`; `--message` → `message`; `--request` → `requestId` | — |
@@ -25,12 +25,13 @@ This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI e
25
25
  | `cai agent present` | `agent_present` | `<agentId>` → `agentId`; `note` (MCP-only) → `note` | hosted: Returns a hosted agent summary and app link for the MCP host to present. |
26
26
  | `cai agent publish` | `agent_publish` | `<agentId>` → `agentId`; `--name` → `name` | — |
27
27
  | `cai agent publish-preflight` | `agent_publish_preflight` | `<agentId>` → `agentId` | — |
28
+ | `cai agent remove-file` | `agent_file_remove` | `<agentId>` → `agentId`; `--environment` → `environment`; `--file-id` → `fileId`; `--path` → `path`; `--space` → `space` | — |
28
29
  | `cai agent remove-tool` | `agent_tool_remove` | `<agentId>` → `agentId`; `--tool` → `toolId` | — |
29
30
  | `agent setup` (CLI only) | — | — | dropped: Configures local coding assistants on the user machine; nothing to do on a hosted server. |
30
31
  | `cai agent test` | `agent_test` | `<agentId>` → `agentId`; `--message` → `message`; `--model` → `model`; `--timeout` → `waitSeconds`; `--title` → `title`; `--draft` → `rail=draft`; `--live` → `rail=live` | `waitSeconds` default 60, max 120 |
31
32
  | `cai agent tools` | `agent_tool_list` | `<agentId>` → `agentId` | — |
32
33
  | `cai agent update` | `agent_set_enabled`<br>`agent_update` | `agent_set_enabled`: `<agentId>` → `agentId`; `--enabled` / `--disabled` → `enabled`<br>`agent_update`: `<agentId>` → `agentId`; `--instructions` / `--instructions-file` → `instructions` (inline content); `--name` → `name` | split across typed tools |
33
- | `cai agent update-tool` | `agent_tool_update` | `<agentId>` → `agentId`; `--connection` → `connectionId`; `--description` → `description`; `--require-confirmation` / `--no-confirmation` → `requireConfirmation`; `--tool` → `toolId` | — |
34
+ | `cai agent update-tool` | `agent_tool_update` | `<agentId>` → `agentId`; `--connection` → `connectionId`; `--description` → `description`; `--require-confirmation` / `--no-confirmation` → `requireConfirmation`; `--tool` → `toolId`; `slackRoute` (MCP-only) → `slackRoute` | — |
34
35
  | `cai agent versions` | `agent_version_list` | `<agentId>` → `agentId` | — |
35
36
  | `cai agent visibility` | `agent_visibility_set` | `<agentId>` → `agentId`; `--value` → `value` | — |
36
37
  | `cai approval resume` | `approval_resume` | `<id>` → `approvalId`; `waitSeconds` (MCP-only) → `waitSeconds` | `waitSeconds` default 60, max 120 |
@@ -96,8 +97,8 @@ This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI e
96
97
  | `cai flow rename` | `flow_rename` | `<flowId>` → `flowId`; `--name` → `name`; `--workflow` → `workflowId` | — |
97
98
  | `cai flow reorder` | `flow_reorder` | `--order` → `order`; `--workflow` → `workflowId` | — |
98
99
  | `cai integration action` | `integration_action_get` | `--integration` → `integration`; `--key` → `key` | — |
99
- | `cai integration actions` | `integration_action_list` | `<query>` → `query`; `--integration` → `integration`; `--limit` → `limit` | — |
100
- | `cai integration search` | `integration_search` | `<query>` → `query`; `--limit` → `limit`; `--actions` → `kind=actions`; `--events` → `kind=events`; `` → `kind=all` | — |
100
+ | `cai integration actions` | `integration_action_list` | `<query>` → `query`; `--agent-attachable` → `agentAttachable`; `--integration` → `integration`; `--limit` → `limit` | — |
101
+ | `cai integration search` | `integration_search` | `<query>` → `query`; `--agent-attachable` → `agentAttachable`; `--limit` → `limit`; `--actions` → `kind=actions`; `--events` → `kind=events`; `` → `kind=all` | — |
101
102
  | `cai label list` | `label_list` | — | — |
102
103
  | `cai label set` | `label_set` | `--agent` → `agentId`; `--labels` / `--label` / `--none` → `labels`; `--workflow` → `workflowId` | — |
103
104
  | `cai node add` | `node_add` | `--after` → `after`; `--connection` → `connection`; `--enable-prop` → `enableProp`; `--flow` → `flow`; `--key` → `key`; `--name` → `name`; `--node` → `node`; `--output` → `output`; `--props` → `props`; `--workflow` → `workflowId` | — |
@@ -137,8 +138,8 @@ This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI e
137
138
  | `skills install` (CLI only) | — | — | dropped: Writes guidance into a caller local project, which the hosted server cannot access. |
138
139
  | `cai skills status` | `guide_get`<br>`guide_list` | `guide_get`: `name` (MCP-only) → `name`<br>`guide_list`: — | hosted: guide_list and guide_get serve the bundled server guidance without inspecting a local project. |
139
140
  | `skills update` (CLI only) | — | — | dropped: Updates guidance files in a caller local project. |
140
- | `template-setup complete` (CLI only) | — | — | dropped: Managed-builder only: uses the current assisted-setup thread credential; no public MCP equivalent. |
141
- | `template-setup status` (CLI only) | — | — | dropped: Managed-builder only: uses the current assisted-setup thread credential; no public MCP equivalent. |
141
+ | `template-setup complete` (CLI only) | — | — | dropped: Assisted template setup runs inside the builder sandbox from its injected brief, not through the hosted MCP. |
142
+ | `template-setup status` (CLI only) | — | — | dropped: Assisted template setup runs inside the builder sandbox from its injected brief, not through the hosted MCP. |
142
143
  | `cai trigger audit` | `trigger_audit` | `--workflow` → `workflowId` | — |
143
144
  | `cai trigger create` | `trigger_create` | `--connection` → `connection`; `--dynamic-props-id` → `dynamicPropsId`; `--event` → `event`; `--flow` → `flow`; `--node` → `node`; `--props` → `props`; `--source-basis` → `sourceBasis`; `--workflow` → `workflowId` | — |
144
145
  | `cai trigger delete` | `trigger_delete` | `<triggerId>` → `triggerId`; `--workflow` → `workflowId` | — |
@@ -49,7 +49,7 @@ cai connection list|update|delete
49
49
  cai trigger list|get|create|search|replay|test-events
50
50
  cai schema list|create|update|delete
51
51
  cai data collections|query|create|update|delete|import
52
- cai agent create|get|list|update|add-workflow|add-action|add-file|remove-tool|publish|conversation
52
+ cai agent create|get|list|update|add-workflow|add-action|add-file|remove-file|remove-tool|publish|conversation
53
53
  cai template-setup status|complete
54
54
  ```
55
55
 
@@ -1,29 +1,29 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "skillSetVersion": "2026.09.15.3",
3
+ "skillSetVersion": "2026.09.19.1",
4
4
  "minCliVersion": "0.2.0",
5
- "latestCliVersion": "0.2.23",
5
+ "latestCliVersion": "0.2.25",
6
6
  "skills": [
7
7
  {
8
8
  "name": "controllerai-start",
9
9
  "files": [
10
10
  {
11
11
  "path": "controllerai-start/SKILL.md",
12
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-start/SKILL.md",
12
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-start/SKILL.md",
13
13
  "sha256": "5034c98ea02fe27fdb492a768c025deee7724a77e053e9d7ab204ce72b34cb08",
14
14
  "size": 11414
15
15
  },
16
16
  {
17
17
  "path": "controllerai-start/agents/openai.yaml",
18
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-start/agents/openai.yaml",
18
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-start/agents/openai.yaml",
19
19
  "sha256": "3240c24df8ba5ebfb67bc3e9dbce97f4a78384c352123210197a2dbf27c51150",
20
20
  "size": 226
21
21
  },
22
22
  {
23
23
  "path": "controllerai-start/references/mcp-tool-map.md",
24
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-start/references/mcp-tool-map.md",
25
- "sha256": "d293310ed5fd7c7495579f717df0fa9ea59f27d5e494ca6bfb805f9975186ce9",
26
- "size": 26919
24
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-start/references/mcp-tool-map.md",
25
+ "sha256": "f7adfaf1332a0a28ca6ad7a45b2f30f3fbba4e6a4ec031f5115843f36fd7828f",
26
+ "size": 27396
27
27
  }
28
28
  ]
29
29
  },
@@ -32,21 +32,21 @@
32
32
  "files": [
33
33
  {
34
34
  "path": "controllerai-workflows/SKILL.md",
35
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-workflows/SKILL.md",
35
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-workflows/SKILL.md",
36
36
  "sha256": "a2419265809b6f822ed22be4cfbfc1c56107e7afffffc41a0f527fd93018dc8a",
37
37
  "size": 9472
38
38
  },
39
39
  {
40
40
  "path": "controllerai-workflows/agents/openai.yaml",
41
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-workflows/agents/openai.yaml",
41
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-workflows/agents/openai.yaml",
42
42
  "sha256": "6fb00a93a5f83fc2664679eb633ab07b477105472f8790fcf6dbcca913921a84",
43
43
  "size": 251
44
44
  },
45
45
  {
46
46
  "path": "controllerai-workflows/references/command-map.md",
47
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-workflows/references/command-map.md",
48
- "sha256": "b99adeb3ff1e9c441805f533191c6b4435007ce8522d7965b4856f90db118e1a",
49
- "size": 2126
47
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-workflows/references/command-map.md",
48
+ "sha256": "768e9f73bc1710c93929710b428f668e03037ad3dda2f2c16993bb429234e603",
49
+ "size": 2138
50
50
  }
51
51
  ]
52
52
  },
@@ -55,19 +55,19 @@
55
55
  "files": [
56
56
  {
57
57
  "path": "controllerai-node-config/SKILL.md",
58
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-node-config/SKILL.md",
58
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-node-config/SKILL.md",
59
59
  "sha256": "fb7ad0999e772079d7ce94f25d9fddca9b483b81a11bbaba47d618825d5585fe",
60
60
  "size": 11614
61
61
  },
62
62
  {
63
63
  "path": "controllerai-node-config/agents/openai.yaml",
64
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-node-config/agents/openai.yaml",
64
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-node-config/agents/openai.yaml",
65
65
  "sha256": "7fbd6f0c1f9ea40c41051d532736a4718895cfa397608a2c716300bcf4256df1",
66
66
  "size": 242
67
67
  },
68
68
  {
69
69
  "path": "controllerai-node-config/references/prop-and-readiness.md",
70
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-node-config/references/prop-and-readiness.md",
70
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-node-config/references/prop-and-readiness.md",
71
71
  "sha256": "6a1aa046bac6c5f1a68cbe242bdeb584f9a01e2de7248742460064a4d2708f75",
72
72
  "size": 5583
73
73
  }
@@ -78,19 +78,19 @@
78
78
  "files": [
79
79
  {
80
80
  "path": "controllerai-expressions/SKILL.md",
81
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-expressions/SKILL.md",
81
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-expressions/SKILL.md",
82
82
  "sha256": "01240f493ec5bbd1ed562f988d243e3797577eee5ccc9d207f8bc45485b99108",
83
83
  "size": 10310
84
84
  },
85
85
  {
86
86
  "path": "controllerai-expressions/agents/openai.yaml",
87
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-expressions/agents/openai.yaml",
87
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-expressions/agents/openai.yaml",
88
88
  "sha256": "280d1f4d0a44cb5cfd3e5649e0a123b91b57b1484dcbc3a02ace988233234bc3",
89
89
  "size": 249
90
90
  },
91
91
  {
92
92
  "path": "controllerai-expressions/references/dsl-and-recipes.md",
93
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-expressions/references/dsl-and-recipes.md",
93
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-expressions/references/dsl-and-recipes.md",
94
94
  "sha256": "efe4a5eba0ea7636387443af0a6cc082a41209404b92c3af5c8a029075db70f6",
95
95
  "size": 5197
96
96
  }
@@ -101,19 +101,19 @@
101
101
  "files": [
102
102
  {
103
103
  "path": "controllerai-flow-control/SKILL.md",
104
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-flow-control/SKILL.md",
104
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-flow-control/SKILL.md",
105
105
  "sha256": "c535a1ff61cc65cca53af083081935dc8672f7ce5d048dbb29334808428feec3",
106
106
  "size": 11563
107
107
  },
108
108
  {
109
109
  "path": "controllerai-flow-control/agents/openai.yaml",
110
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-flow-control/agents/openai.yaml",
110
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-flow-control/agents/openai.yaml",
111
111
  "sha256": "164adf3b887bf9f67bba9cd210b5b49935c29ea0f52f76325fe5df517d279592",
112
112
  "size": 229
113
113
  },
114
114
  {
115
115
  "path": "controllerai-flow-control/references/patterns.md",
116
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-flow-control/references/patterns.md",
116
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-flow-control/references/patterns.md",
117
117
  "sha256": "f1a718de837dc541e58914f40b4a89e6e81ba80afac37731e381db73a4712d90",
118
118
  "size": 4901
119
119
  }
@@ -124,19 +124,19 @@
124
124
  "files": [
125
125
  {
126
126
  "path": "controllerai-runs/SKILL.md",
127
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-runs/SKILL.md",
127
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-runs/SKILL.md",
128
128
  "sha256": "5eeda1f95f8c18c12b968d6c2ea9008c2dd99d8953268c4ffd06652f43a91516",
129
129
  "size": 9196
130
130
  },
131
131
  {
132
132
  "path": "controllerai-runs/agents/openai.yaml",
133
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-runs/agents/openai.yaml",
133
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-runs/agents/openai.yaml",
134
134
  "sha256": "63180f12974e19ce7b714695944608760e4132bfb88947543e52616098a88f5c",
135
135
  "size": 234
136
136
  },
137
137
  {
138
138
  "path": "controllerai-runs/references/debugging.md",
139
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-runs/references/debugging.md",
139
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-runs/references/debugging.md",
140
140
  "sha256": "341f9e056445bdffdcc67771fd62b28fb2125a661d5d8a5c4fb16bcac57417c0",
141
141
  "size": 3127
142
142
  }
@@ -147,19 +147,19 @@
147
147
  "files": [
148
148
  {
149
149
  "path": "controllerai-triggers/SKILL.md",
150
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-triggers/SKILL.md",
150
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-triggers/SKILL.md",
151
151
  "sha256": "c8a88bb69a0e032f1fd2716e1a2cd0690e62ae0b9bb996bf30643d4bd3b8fab2",
152
152
  "size": 11800
153
153
  },
154
154
  {
155
155
  "path": "controllerai-triggers/agents/openai.yaml",
156
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-triggers/agents/openai.yaml",
156
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-triggers/agents/openai.yaml",
157
157
  "sha256": "56aa1bd33e54045d88002ade0c420be7bca37ac39433e6eedccef2e22bbd9515",
158
158
  "size": 239
159
159
  },
160
160
  {
161
161
  "path": "controllerai-triggers/references/lifecycle.md",
162
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-triggers/references/lifecycle.md",
162
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-triggers/references/lifecycle.md",
163
163
  "sha256": "4dce6484b6abaa0eaf4ddbe366e60480180fc5b5aeb7e3c975bbe316b88dc0e5",
164
164
  "size": 3340
165
165
  }
@@ -170,19 +170,19 @@
170
170
  "files": [
171
171
  {
172
172
  "path": "controllerai-data/SKILL.md",
173
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-data/SKILL.md",
173
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-data/SKILL.md",
174
174
  "sha256": "1418b287af30968634c69dbdbd54d22354f5f79f52389e6d1c94a87421c20e78",
175
175
  "size": 12059
176
176
  },
177
177
  {
178
178
  "path": "controllerai-data/agents/openai.yaml",
179
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-data/agents/openai.yaml",
179
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-data/agents/openai.yaml",
180
180
  "sha256": "5c54b0a714086088213c679fb904a69a599374847f9aa1d6c0756172c2a2f227",
181
181
  "size": 219
182
182
  },
183
183
  {
184
184
  "path": "controllerai-data/references/data-rails.md",
185
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-data/references/data-rails.md",
185
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-data/references/data-rails.md",
186
186
  "sha256": "0c03f25a099d168b8ae1fe54087ce59d06fcfc8631046927a996a88f0c4f9835",
187
187
  "size": 2819
188
188
  }
@@ -193,19 +193,19 @@
193
193
  "files": [
194
194
  {
195
195
  "path": "controllerai-ai-nodes/SKILL.md",
196
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-ai-nodes/SKILL.md",
196
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-ai-nodes/SKILL.md",
197
197
  "sha256": "4e4bdf53e300adedf5e03f282687d0d20e200baf056cd59bf8df98d7b8b21403",
198
198
  "size": 8940
199
199
  },
200
200
  {
201
201
  "path": "controllerai-ai-nodes/agents/openai.yaml",
202
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-ai-nodes/agents/openai.yaml",
202
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-ai-nodes/agents/openai.yaml",
203
203
  "sha256": "3ba8b8bb6f0cd4b0d5675ebda0af10bb79dc7a42e394eb98479343c83da92599",
204
204
  "size": 256
205
205
  },
206
206
  {
207
207
  "path": "controllerai-ai-nodes/references/selection-and-testing.md",
208
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-ai-nodes/references/selection-and-testing.md",
208
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-ai-nodes/references/selection-and-testing.md",
209
209
  "sha256": "66b235b9e81645ab877b31443505c7b07ea3f2e5a357053f266c121415f8cf5c",
210
210
  "size": 3111
211
211
  }
@@ -216,13 +216,13 @@
216
216
  "files": [
217
217
  {
218
218
  "path": "controllerai-integration-actions/SKILL.md",
219
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-integration-actions/SKILL.md",
220
- "sha256": "df33bc2c8dadeec05b08f981caf76b2aa2b59fcdaf2b8c9c39fcc0128f175ab5",
221
- "size": 10434
219
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-integration-actions/SKILL.md",
220
+ "sha256": "9ed68807d675f2b8c76db52ad742d996051c2fb990eb8a7bf07e65f1c3850117",
221
+ "size": 10439
222
222
  },
223
223
  {
224
224
  "path": "controllerai-integration-actions/agents/openai.yaml",
225
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-integration-actions/agents/openai.yaml",
225
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-integration-actions/agents/openai.yaml",
226
226
  "sha256": "82ee62aa48a644e658c9bb6a78c417dc15eb4f3ec9f4abc9081b6d24d16fe92d",
227
227
  "size": 262
228
228
  }
@@ -233,19 +233,19 @@
233
233
  "files": [
234
234
  {
235
235
  "path": "controllerai-agents/SKILL.md",
236
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-agents/SKILL.md",
237
- "sha256": "391c5f411c1ddde305417a5765c213acfad91fb65cb3ce5710cd247004720912",
238
- "size": 12200
236
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-agents/SKILL.md",
237
+ "sha256": "6a666beace10fa2511d02163df365b3e02ed627fec8c65255bcc834142a6fa35",
238
+ "size": 12254
239
239
  },
240
240
  {
241
241
  "path": "controllerai-agents/agents/openai.yaml",
242
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-agents/agents/openai.yaml",
242
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-agents/agents/openai.yaml",
243
243
  "sha256": "f4684ec904f3ebb051bb48460375756899c3316fbb16304aad5fff3d89692b09",
244
244
  "size": 293
245
245
  },
246
246
  {
247
247
  "path": "controllerai-agents/references/instructions-and-versioning.md",
248
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-agents/references/instructions-and-versioning.md",
248
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-agents/references/instructions-and-versioning.md",
249
249
  "sha256": "88b059e74aef03ccb12a53815d1090e5449090ff6dfd863b6cef5a12b434cb65",
250
250
  "size": 5644
251
251
  }
@@ -256,13 +256,13 @@
256
256
  "files": [
257
257
  {
258
258
  "path": "controllerai-template-setup/SKILL.md",
259
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-template-setup/SKILL.md",
259
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-template-setup/SKILL.md",
260
260
  "sha256": "6ed665a2b33f8197fb990a30c296a69ab1d0e334bd10998e851508fa99d2d603",
261
261
  "size": 9316
262
262
  },
263
263
  {
264
264
  "path": "controllerai-template-setup/agents/openai.yaml",
265
- "url": "https://getcontroller.ai/skills/2026.09.15.3/controllerai-template-setup/agents/openai.yaml",
265
+ "url": "https://getcontroller.ai/skills/2026.09.19.1/controllerai-template-setup/agents/openai.yaml",
266
266
  "sha256": "0abb1b4691e3163eb6c2f27404ce3512aabf86d048f0eedbac587415004146e3",
267
267
  "size": 275
268
268
  }
@@ -34,7 +34,7 @@ Direct actions belong to `controllerai-integration-actions`; the workflows behin
34
34
 
35
35
  **Live-bound state.** Enabling or disabling is runtime state, independent of publication: disabling pauses live use, while the owner's Test conversations still work. A workflow publish changes every live agent that follows that workflow without an agent publish, and live workflow resolution is cached per session, so an in-flight turn may finish on the prior release. When a direct action needs a connection, that connection is a live grant: rebinding redirects it and revocation blocks it immediately. Detachment blocks every direct action immediately and still needs a later agent publish to remove the tool from the published list.
36
36
 
37
- **Slack approvals.** Send approval requests to Slack through `slackRoute`. Routes publish with the agent; Test conversations use the draft, live conversations the published version. The route lists who can answer in `slackRoute.approvers`, defaulting to whoever connected Slack. Chat-in-Slack approvers also count; the app's approval card still works.
37
+ **Slack approvals.** Send approval requests to Slack through `slackRoute`. Routes publish with the agent; Test conversations use the draft, live conversations the published version. The route lists who can answer in `slackRoute.approvers`, otherwise anyone in the channel can answer. Chat-in-Slack approvers also count; the app's approval card still works.
38
38
 
39
39
  **Runtime usage.** Test and live conversations consume the organization's runtime usage and cause the connected providers' side effects; the builder's own subscription pays only for building.
40
40
 
@@ -66,11 +66,13 @@ A draft is private and by default enabled on creation, so the user can open it a
66
66
 
67
67
  - `run_flow` — `flowId`, `confirmLive`, `inputs`, `target`, `waitSeconds`, `workflowId`
68
68
  - `agent_tool_workflow_add` — `agentId`, `description`, `flow`, `requireConfirmation`, `workflowId`, `slackRoute`
69
- - `agent_knowledge_file_add` — `agentId`, `content`, `name`, `type` / `agent_workspace_file_add` — `agentId`, `content`, `name`, `space`, `type`
69
+ - `agent_knowledge_file_add` — `agentId`, `content`, `name`, `replace`, `type` / `agent_workspace_file_add` — `agentId`, `content`, `name`, `replace`, `space`, `type`
70
70
  - `agent_tool_list` — `agentId`
71
71
  - `agent_file_list` — `agentId`, `cursor`, `environment`, `folderPrefix`, `limit`, `live`, `search`, `space`
72
72
 
73
- `agent_tool_workflow_add` and `agent_tool_action_add` take `requireConfirmation`, optional and `false` by default. Files travel inline: `agent_knowledge_file_add` (`name`, `type`, `content`) for knowledge, `agent_workspace_file_add` with `space` for shared runtime files (live immediately); each call creates another file, so read the result before a second call. `agent_file_list` filters runtime files by `environment`.
73
+ - `agent_file_remove` — `agentId`, `environment`, `fileId`, `path`, `space`
74
+
75
+ `agent_tool_workflow_add` and `agent_tool_action_add` take `requireConfirmation`, optional and `false` by default. Files travel inline: `agent_knowledge_file_add` (`name`, `type`, `content`) for knowledge, `agent_workspace_file_add` with `space` for shared runtime files (live immediately). A name that is already stored becomes a numbered copy (`name-2.md`) unless `replace` is `true`, so read the returned `file.sandboxPath` before a second call. `agent_file_remove` deletes one file by the exact `path` (or `fileId`) that `agent_file_list` returns and refuses an ambiguous or unknown path; `agent_file_list` filters runtime files by `environment`.
74
76
  Flow inputs become the tool's parameters and its outputs the result.
75
77
 
76
78
  ### Verify in Test
@@ -41,7 +41,7 @@ A conversational assistant with tools and knowledge is an agent (`controllerai-a
41
41
 
42
42
  ### Add the node
43
43
 
44
- - `integration_action_list` — `query`, `integration`, `limit`
44
+ - `integration_action_list` — `query`, `agentAttachable`, `integration`, `limit`
45
45
  - `integration_action_get` — `integration`, `key`
46
46
  - `node_add` — `after`, `connection`, `enableProp`, `flow`, `key`, `name`, `node`, `output`, `props`, `workflowId`
47
47
  - `node_status` — `nodeId`, `workflowId`
@@ -65,7 +65,7 @@ The user message carries the inputs through exact bindings; the prompt carries t
65
65
 
66
66
  ### Call a platform agent from a flow
67
67
 
68
- - `integration_action_list` — `query`, `integration`, `limit`
68
+ - `integration_action_list` — `query`, `agentAttachable`, `integration`, `limit`
69
69
  - `integration_action_get` — `integration`, `key`
70
70
  - `node_add` — `after`, `connection`, `enableProp`, `flow`, `key`, `name`, `node`, `output`, `props`, `workflowId`
71
71
  - `node_prop_list` — `nodeId`, `workflowId`
@@ -24,7 +24,7 @@ Building the agent itself belongs to `controllerai-agents`; a workflow node for
24
24
 
25
25
  **Approval policy.** An attached action runs without a human approval step unless `requireConfirmation` is `true`; the default is no approval. When confirmation is on, the runtime pauses with a pending request that the user approves or denies with the exact arguments visible.
26
26
 
27
- **Slack approvals.** Send approval requests to Slack through `slackRoute`. Routes publish with the agent; Test conversations use the draft, live conversations the published version. The route lists who can answer in `slackRoute.approvers`, defaulting to whoever connected Slack. Chat-in-Slack approvers also count; the app's approval card still works.
27
+ **Slack approvals.** Send approval requests to Slack through `slackRoute`. Routes publish with the agent; Test conversations use the draft, live conversations the published version. The route lists who can answer in `slackRoute.approvers`, otherwise anyone in the channel can answer. Chat-in-Slack approvers also count; the app's approval card still works.
28
28
 
29
29
  **Live bindings.** Publishing snapshots the action identity, description and approval policy into the agent version. When an action needs a connection, that connection and its authorization grant are live security bindings: rebinding redirects the published action immediately, and revocation, breakage or detachment stops it immediately without an agent publish. Detachment has the same immediate effect on a connectionless action, always removes the draft tool, and a later publish removes it from the published list. Confirmation is strictest-wins: tightening the grant to require confirmation blocks the published action at once until a publish carries the new policy, while relaxing it waits for the publish. Organization members use the published agent, never the draft; connected actions run through the owner's connected account and the organization's shared usage pool, while connectionless native actions use the platform's paid rails and bill that pool whoever invokes them.
30
30
 
@@ -42,8 +42,8 @@ Building the agent itself belongs to `controllerai-agents`; a workflow node for
42
42
 
43
43
  ### Discover
44
44
 
45
- - `integration_search` — `query`, `limit`, `kind`
46
- - `integration_action_list` — `query`, `integration`, `limit`
45
+ - `integration_search` — `query`, `agentAttachable`, `limit`, `kind`
46
+ - `integration_action_list` — `query`, `agentAttachable`, `integration`, `limit`
47
47
  - `integration_action_get` — `integration`, `key`
48
48
 
49
49
  `integration_search` ranks integrations (`kind` narrows to actions or events); `integration_action_list` ranks actions across one or all integrations; `integration_action_get` returns the static metadata and props of one exact action. Read `agentAttachable`, the exact props and, for native actions, whether a connection is needed and `usagePricingDescription` before choosing.
@@ -39,7 +39,7 @@ A **node** is a configured instance of a **component**: an integration action, a
39
39
 
40
40
  ### Find the component
41
41
 
42
- - `integration_action_list` — `query`, `integration`, `limit`
42
+ - `integration_action_list` — `query`, `agentAttachable`, `integration`, `limit`
43
43
  - `integration_action_get` — `integration`, `key`
44
44
 
45
45
  Narrow a broad result with `integration_search`, then `integration_action_list`. Read `required`, `remoteOptions` and `reloadProps` before adding: they decide the configuration order.
@@ -3,13 +3,13 @@
3
3
 
4
4
  # CLI to typed MCP tool map
5
5
 
6
- This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI examples remain the canonical grammar; typed MCP calls use the tool and camelCase parameters shown here. Global `--json` and `--api-url` flags are host-controlled and omitted.
6
+ This registry-derived map covers 168 CLI commands and 150 typed MCP tools. CLI examples remain the canonical grammar; typed MCP calls use the tool and camelCase parameters shown here. Global `--json` and `--api-url` flags are host-controlled and omitted.
7
7
 
8
8
  | `cai` command | MCP tool | Parameter mapping | Notes |
9
9
  | --- | --- | --- | --- |
10
- | `agent_tool_action_add` | `agent_tool_action_add` | `<agentId>` → `agentId`; `--action` → `action`; `--connection` → `connectionId`; `--description` → `description`; `--integration` → `integration`; `--require-confirmation` → `requireConfirmation` | — |
11
- | `agent_knowledge_file_add` / `agent_workspace_file_add` | `agent_knowledge_file_add`<br>`agent_workspace_file_add` | `agent_knowledge_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--type` → `type`<br>`agent_workspace_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--space` → `space`; `--type` → `type` | split across typed tools |
12
- | `agent_tool_workflow_add` | `agent_tool_workflow_add` | `<agentId>` → `agentId`; `--description` → `description`; `--flow` → `flow`; `--require-confirmation` → `requireConfirmation`; `--workflow-id` → `workflowId` | — |
10
+ | `agent_tool_action_add` | `agent_tool_action_add` | `<agentId>` → `agentId`; `--action` → `action`; `--connection` → `connectionId`; `--description` → `description`; `--integration` → `integration`; `--require-confirmation` → `requireConfirmation`; `slackRoute` (MCP-only) → `slackRoute` | — |
11
+ | `agent_knowledge_file_add` / `agent_workspace_file_add` | `agent_knowledge_file_add`<br>`agent_workspace_file_add` | `agent_knowledge_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--replace` → `replace`; `--type` → `type`<br>`agent_workspace_file_add`: `<agentId>` → `agentId`; `--file` → `content` (inline content); `--name` → `name`; `--replace` → `replace`; `--space` → `space`; `--type` → `type` | split across typed tools |
12
+ | `agent_tool_workflow_add` | `agent_tool_workflow_add` | `<agentId>` → `agentId`; `--description` → `description`; `--flow` → `flow`; `--require-confirmation` → `requireConfirmation`; `--workflow-id` → `workflowId`; `slackRoute` (MCP-only) → `slackRoute` | — |
13
13
  | `agent_conversation_approve` | `agent_conversation_approve` | `<conversationId>` → `conversationId`; `--request` → `requestId` | — |
14
14
  | `agent_conversation_create` | `agent_conversation_create` | `<agentId>` → `agentId`; `--model` → `model`; `--title` → `title`; `--draft` → `rail=draft`; `--live` → `rail=live` | — |
15
15
  | `agent_conversation_deny` | `agent_conversation_deny` | `<conversationId>` → `conversationId`; `--message` → `message`; `--request` → `requestId` | — |
@@ -25,12 +25,13 @@ This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI e
25
25
  | `agent_present` | `agent_present` | `<agentId>` → `agentId`; `note` (MCP-only) → `note` | hosted: Returns a hosted agent summary and app link for the MCP host to present. |
26
26
  | `agent_publish` | `agent_publish` | `<agentId>` → `agentId`; `--name` → `name` | — |
27
27
  | `agent_publish_preflight` | `agent_publish_preflight` | `<agentId>` → `agentId` | — |
28
+ | `agent_file_remove` | `agent_file_remove` | `<agentId>` → `agentId`; `--environment` → `environment`; `--file-id` → `fileId`; `--path` → `path`; `--space` → `space` | — |
28
29
  | `agent_tool_remove` | `agent_tool_remove` | `<agentId>` → `agentId`; `--tool` → `toolId` | — |
29
30
  | `agent setup` (CLI only) | — | — | dropped: Configures local coding assistants on the user machine; nothing to do on a hosted server. |
30
31
  | `agent_test` | `agent_test` | `<agentId>` → `agentId`; `--message` → `message`; `--model` → `model`; `--timeout` → `waitSeconds`; `--title` → `title`; `--draft` → `rail=draft`; `--live` → `rail=live` | `waitSeconds` default 60, max 120 |
31
32
  | `agent_tool_list` | `agent_tool_list` | `<agentId>` → `agentId` | — |
32
33
  | `agent_update` / `agent_set_enabled` | `agent_set_enabled`<br>`agent_update` | `agent_set_enabled`: `<agentId>` → `agentId`; `--enabled` / `--disabled` → `enabled`<br>`agent_update`: `<agentId>` → `agentId`; `--instructions` / `--instructions-file` → `instructions` (inline content); `--name` → `name` | split across typed tools |
33
- | `agent_tool_update` | `agent_tool_update` | `<agentId>` → `agentId`; `--connection` → `connectionId`; `--description` → `description`; `--require-confirmation` / `--no-confirmation` → `requireConfirmation`; `--tool` → `toolId` | — |
34
+ | `agent_tool_update` | `agent_tool_update` | `<agentId>` → `agentId`; `--connection` → `connectionId`; `--description` → `description`; `--require-confirmation` / `--no-confirmation` → `requireConfirmation`; `--tool` → `toolId`; `slackRoute` (MCP-only) → `slackRoute` | — |
34
35
  | `agent_version_list` | `agent_version_list` | `<agentId>` → `agentId` | — |
35
36
  | `agent_visibility_set` | `agent_visibility_set` | `<agentId>` → `agentId`; `--value` → `value` | — |
36
37
  | `approval_resume` | `approval_resume` | `<id>` → `approvalId`; `waitSeconds` (MCP-only) → `waitSeconds` | `waitSeconds` default 60, max 120 |
@@ -96,8 +97,8 @@ This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI e
96
97
  | `flow_rename` | `flow_rename` | `<flowId>` → `flowId`; `--name` → `name`; `--workflow` → `workflowId` | — |
97
98
  | `flow_reorder` | `flow_reorder` | `--order` → `order`; `--workflow` → `workflowId` | — |
98
99
  | `integration_action_get` | `integration_action_get` | `--integration` → `integration`; `--key` → `key` | — |
99
- | `integration_action_list` | `integration_action_list` | `<query>` → `query`; `--integration` → `integration`; `--limit` → `limit` | — |
100
- | `integration_search` | `integration_search` | `<query>` → `query`; `--limit` → `limit`; `--actions` → `kind=actions`; `--events` → `kind=events`; `` → `kind=all` | — |
100
+ | `integration_action_list` | `integration_action_list` | `<query>` → `query`; `--agent-attachable` → `agentAttachable`; `--integration` → `integration`; `--limit` → `limit` | — |
101
+ | `integration_search` | `integration_search` | `<query>` → `query`; `--agent-attachable` → `agentAttachable`; `--limit` → `limit`; `--actions` → `kind=actions`; `--events` → `kind=events`; `` → `kind=all` | — |
101
102
  | `label_list` | `label_list` | — | — |
102
103
  | `label_set` | `label_set` | `--agent` → `agentId`; `--labels` / `--label` / `--none` → `labels`; `--workflow` → `workflowId` | — |
103
104
  | `node_add` | `node_add` | `--after` → `after`; `--connection` → `connection`; `--enable-prop` → `enableProp`; `--flow` → `flow`; `--key` → `key`; `--name` → `name`; `--node` → `node`; `--output` → `output`; `--props` → `props`; `--workflow` → `workflowId` | — |
@@ -137,8 +138,8 @@ This registry-derived map covers 167 CLI commands and 149 typed MCP tools. CLI e
137
138
  | `skills install` (CLI only) | — | — | dropped: Writes guidance into a caller local project, which the hosted server cannot access. |
138
139
  | `guide_get` / `guide_list` | `guide_get`<br>`guide_list` | `guide_get`: `name` (MCP-only) → `name`<br>`guide_list`: — | hosted: guide_list and guide_get serve the bundled server guidance without inspecting a local project. |
139
140
  | `skills update` (CLI only) | — | — | dropped: Updates guidance files in a caller local project. |
140
- | `template-setup complete` (CLI only) | — | — | dropped: Managed-builder only: uses the current assisted-setup thread credential; no public MCP equivalent. |
141
- | `template-setup status` (CLI only) | — | — | dropped: Managed-builder only: uses the current assisted-setup thread credential; no public MCP equivalent. |
141
+ | `template-setup complete` (CLI only) | — | — | dropped: Assisted template setup runs inside the builder sandbox from its injected brief, not through the hosted MCP. |
142
+ | `template-setup status` (CLI only) | — | — | dropped: Assisted template setup runs inside the builder sandbox from its injected brief, not through the hosted MCP. |
142
143
  | `trigger_audit` | `trigger_audit` | `--workflow` → `workflowId` | — |
143
144
  | `trigger_create` | `trigger_create` | `--connection` → `connection`; `--dynamic-props-id` → `dynamicPropsId`; `--event` → `event`; `--flow` → `flow`; `--node` → `node`; `--props` → `props`; `--source-basis` → `sourceBasis`; `--workflow` → `workflowId` | — |
144
145
  | `trigger_delete` | `trigger_delete` | `<triggerId>` → `triggerId`; `--workflow` → `workflowId` | — |