@superglue/cli 1.1.163 → 1.1.165
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-plugin/plugin.json +1 -1
- package/README.md +7 -0
- package/dist/cli.js +161 -127
- package/dist/skills/superglue/SKILL.md +44 -12
- package/dist/skills/superglue/references/http.md +3 -3
- package/package.json +1 -1
- package/skills/superglue/SKILL.md +44 -12
- package/skills/superglue/references/http.md +3 -3
|
@@ -44,10 +44,10 @@ Read these on demand — they are authoritative for their topic and kept in sync
|
|
|
44
44
|
|
|
45
45
|
**Authentication & Credentials**
|
|
46
46
|
|
|
47
|
-
-
|
|
48
|
-
-
|
|
47
|
+
- `sg system call --system-id <id> --url <url>` selects your credential (starred, then your oldest, then a shared one), refreshes OAuth tokens, and adds the `Authorization` header for `oauth2`, `basic_auth`, and `api_key` systems. The output reports `credential` and `auth`; `auth.applied: "unavailable"` names what is missing. Pass `--credential-id` to use a specific credential. `--url` is the absolute URL, or `<<systemId_url>>` plus the path for tenant-specific hosts.
|
|
48
|
+
- Pass `--headers` with `<<systemId_credentialKey>>` placeholders only when the API expects another header or a query parameter; that replaces the default header. `sg system find --id <id>` prints each secret's exact placeholder; `sg system call` rejects bare `<<credentialKey>>` placeholders before sending.
|
|
49
|
+
- Saved tool steps inject nothing: put the auth header or connection string in the step config.
|
|
49
50
|
- Databases/Redis/file servers: embed credential placeholders in the connection URL (e.g. `postgres://<<sys_user>>:<<sys_pass>>@host/db`).
|
|
50
|
-
- OAuth: token refresh is automatic, but the header must still be explicit.
|
|
51
51
|
|
|
52
52
|
**Saving tools**
|
|
53
53
|
|
|
@@ -101,11 +101,11 @@ Verify with `sg whoami` or `sg system list` — should return authenticated cont
|
|
|
101
101
|
|
|
102
102
|
Set via `SUPERGLUE_CLI_PRESET` env var or `config.json` as `"preset"`. Legacy `sg init --preset` still writes this value for existing scripts.
|
|
103
103
|
|
|
104
|
-
| Preset | Description
|
|
105
|
-
| --------- |
|
|
106
|
-
| `runner` | Run saved tools by ID only. Read-only lookups. No building/editing
|
|
107
|
-
| `builder` | Runner + build/edit/save tools, call systems, manage MCP servers and
|
|
108
|
-
| `admin` | Full access (default)
|
|
104
|
+
| Preset | Description |
|
|
105
|
+
| --------- | -------------------------------------------------------------------------------------------------------------- |
|
|
106
|
+
| `runner` | Run saved tools by ID only. Read-only lookups. No building/editing |
|
|
107
|
+
| `builder` | Runner + build/edit/save tools, call systems, manage MCP servers, schedules, and project tasks. No system CRUD |
|
|
108
|
+
| `admin` | Full access (default) |
|
|
109
109
|
|
|
110
110
|
Blocked commands print a clear error showing the current preset and how to change it.
|
|
111
111
|
|
|
@@ -203,6 +203,25 @@ Optional flags:
|
|
|
203
203
|
- `--retries <n>` and `--timeout <ms>` set request options.
|
|
204
204
|
- `--clear-webhook` removes the webhook/tool-chain success action during edit.
|
|
205
205
|
|
|
206
|
+
### Managing Project Tasks
|
|
207
|
+
|
|
208
|
+
Projects group tasks in four status columns: `not_started`, `in_progress`, `waiting`, and `done`. Task order is per column. `--position` is the 0-based index in the column: `0` is the top, and values past the end place the task last.
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
sg project list
|
|
212
|
+
sg project task list --project <projectId>
|
|
213
|
+
sg project task create --project <projectId> --name "Map customer fields"
|
|
214
|
+
sg project task create --project <projectId> --name "Fix blockers" --position 0
|
|
215
|
+
sg project task edit --project <projectId> --id <taskId> --position 0
|
|
216
|
+
sg project task edit --project <projectId> --id <taskId> --status done
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
- `sg project task list` returns tasks in board order with each task's `position`. Add `--full` for descriptions and attachments.
|
|
220
|
+
- A new task, or a status change without `--position`, goes to the end of its column. Other edits keep the order.
|
|
221
|
+
- `sg project task edit` changes only the given fields. `--clear-due-date` and `--unassign` clear those fields.
|
|
222
|
+
- `--resource-refs` replaces the attachment list. Task attachments also join the project.
|
|
223
|
+
- Tasks cannot be deleted from the CLI. Archived projects reject task writes.
|
|
224
|
+
|
|
206
225
|
---
|
|
207
226
|
|
|
208
227
|
## Reference
|
|
@@ -221,7 +240,7 @@ Agents familiar with the web agent (its native tools and the `superglue` node mo
|
|
|
221
240
|
| `tools.writeSystem` (superglue/approved; saved) | `sg system edit --id <id> ...` | Edits the system with that exact ID |
|
|
222
241
|
| `run_command` with `vfs` for `/org/systems/` | `sg system find <query>` / `--id <id>` | Returns secret-key presence and the system URL |
|
|
223
242
|
| Credentials VFS / saved credentials | `sg system credentials get/set/clear` | Manage the current user's credentials for a system |
|
|
224
|
-
| `tools.callSystem` | `sg system call --
|
|
243
|
+
| `tools.callSystem` | `sg system call --system-id <id> --url <url>` | Ad-hoc calls; credential and auth header are added server-side |
|
|
225
244
|
| `run_command search` | `sg system search-docs --system-id <id> -k` | Targeted keyword search over ingested system docs |
|
|
226
245
|
| `authenticate_oauth` | `sg system oauth --system-id <id> [--scopes]` | Opens browser flow. Supports `--grant-type client_credentials` too |
|
|
227
246
|
| `run_command` with `vfs` for `/org/runs/` | `sg run list` / `sg run get <runId>` | Filter `list` by `--tool`, `--status`, `--source`, `--limit` |
|
|
@@ -230,6 +249,9 @@ Agents familiar with the web agent (its native tools and the `superglue` node mo
|
|
|
230
249
|
| `tools.writeMcpServer` (superglue/approved) | `sg mcp edit --id <id> ...` | Edits name, auth mode, description, or selected tool IDs |
|
|
231
250
|
| `tools.writeSchedule` (superglue module; new) | `sg schedule create --tool <id> --cron <expr>` | Creates a cron schedule for a saved tool |
|
|
232
251
|
| `tools.writeSchedule` (superglue/approved; id) | `sg schedule edit --tool <id> --id <schedule>` | Updates, enables, or disables an existing schedule |
|
|
252
|
+
| `run_command` with `vfs` for `/projects/` | `sg project list` / `sg project task list` | Tasks are listed in board order with `position` |
|
|
253
|
+
| `tools.writeTask` (superglue module; no id) | `sg project task create --project <id>` | Same fields; `--position` places the task in its column |
|
|
254
|
+
| `tools.writeTask` (superglue module; id) | `sg project task edit --project <p> --id <t>` | Updates only the given fields, including `--position` |
|
|
233
255
|
| (no direct equivalent) | `sg login`, `sg update`, `sg skill` | CLI-specific setup, updater, and this reference system |
|
|
234
256
|
|
|
235
257
|
Web-agent-only concepts with no CLI equivalent: `run_command`'s virtual filesystem (CLI uses concrete `sg` subcommands), `authenticate_oauth`'s dedicated MCP `authenticate` tool (CLI uses `sg system oauth`), and `setup_gateway` (the gateway install command is created in the web app).
|
|
@@ -271,8 +293,8 @@ sg system find --id my_api
|
|
|
271
293
|
sg system credentials get --system-id my_api
|
|
272
294
|
sg system credentials set --system-id my_api --credentials '{"api_key":"sk-xxx"}'
|
|
273
295
|
sg system credentials clear --system-id my_api
|
|
274
|
-
sg system call --
|
|
275
|
-
|
|
296
|
+
sg system call --system-id my_api --url "<<my_api_url>>/users"
|
|
297
|
+
sg system call --system-id my_api --url https://api.example.com/users --headers '{"X-API-Key":"<<my_api_api_key>>"}'
|
|
276
298
|
sg system search-docs --system-id slack -k "send message channels"
|
|
277
299
|
sg system oauth --system-id gmail --scopes "https://www.googleapis.com/auth/gmail.modify"
|
|
278
300
|
sg system oauth --system-id my_api --grant-type client_credentials --scopes "read write"
|
|
@@ -291,6 +313,16 @@ sg mcp edit --id <serverId> --remove-tool old_tool
|
|
|
291
313
|
sg mcp edit --id <serverId> --auth-mode creator_api_key
|
|
292
314
|
```
|
|
293
315
|
|
|
316
|
+
**Project commands:**
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
sg project list --include-archived
|
|
320
|
+
sg project task list --project crm-migration --status in_progress
|
|
321
|
+
sg project task create --project crm-migration --name "Await credentials" --status waiting --due-date 2026-11-01
|
|
322
|
+
sg project task edit --project crm-migration --id await-credentials --status in_progress --position 0
|
|
323
|
+
sg project task edit --project crm-migration --id await-credentials --description-file notes.md --unassign
|
|
324
|
+
```
|
|
325
|
+
|
|
294
326
|
**Run commands:**
|
|
295
327
|
|
|
296
328
|
```bash
|
|
@@ -520,7 +552,7 @@ System id="stripe", selected credential has secret named: api_key
|
|
|
520
552
|
→ Available as: <<stripe_api_key>>
|
|
521
553
|
```
|
|
522
554
|
|
|
523
|
-
**Auth header patterns
|
|
555
|
+
**Auth header patterns for tool steps** (`sg system call` adds the Bearer or Basic header itself):
|
|
524
556
|
|
|
525
557
|
```json
|
|
526
558
|
{"Authorization": "Bearer <<stripe_api_key>>"}
|
|
@@ -34,13 +34,13 @@ For APIs that require the same query key multiple times, use an array value:
|
|
|
34
34
|
|
|
35
35
|
## Authentication
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Saved tool steps never inject credentials: place auth headers explicitly with `<<systemId_credentialKey>>` placeholders. `sg system call` adds the `Authorization` header itself for `oauth2` (Bearer), `basic_auth` (Basic), and `api_key` (Bearer) systems; pass your own header only when the API expects a different one.
|
|
38
38
|
|
|
39
39
|
```javascript
|
|
40
|
-
// Bearer token (including OAuth — token refresh is automatic, header is not)
|
|
40
|
+
// Bearer token (including OAuth — token refresh is automatic, the step header is not)
|
|
41
41
|
{ "Authorization": "Bearer <<systemId_access_token>>" }
|
|
42
42
|
|
|
43
|
-
// API key
|
|
43
|
+
// API key in a custom header
|
|
44
44
|
{ "X-API-Key": "<<systemId_api_key>>" }
|
|
45
45
|
|
|
46
46
|
// Basic Auth — auto-encoded to Base64, do NOT manually encode
|
package/package.json
CHANGED
|
@@ -44,10 +44,10 @@ Read these on demand — they are authoritative for their topic and kept in sync
|
|
|
44
44
|
|
|
45
45
|
**Authentication & Credentials**
|
|
46
46
|
|
|
47
|
-
-
|
|
48
|
-
-
|
|
47
|
+
- `sg system call --system-id <id> --url <url>` selects your credential (starred, then your oldest, then a shared one), refreshes OAuth tokens, and adds the `Authorization` header for `oauth2`, `basic_auth`, and `api_key` systems. The output reports `credential` and `auth`; `auth.applied: "unavailable"` names what is missing. Pass `--credential-id` to use a specific credential. `--url` is the absolute URL, or `<<systemId_url>>` plus the path for tenant-specific hosts.
|
|
48
|
+
- Pass `--headers` with `<<systemId_credentialKey>>` placeholders only when the API expects another header or a query parameter; that replaces the default header. `sg system find --id <id>` prints each secret's exact placeholder; `sg system call` rejects bare `<<credentialKey>>` placeholders before sending.
|
|
49
|
+
- Saved tool steps inject nothing: put the auth header or connection string in the step config.
|
|
49
50
|
- Databases/Redis/file servers: embed credential placeholders in the connection URL (e.g. `postgres://<<sys_user>>:<<sys_pass>>@host/db`).
|
|
50
|
-
- OAuth: token refresh is automatic, but the header must still be explicit.
|
|
51
51
|
|
|
52
52
|
**Saving tools**
|
|
53
53
|
|
|
@@ -101,11 +101,11 @@ Verify with `sg whoami` or `sg system list` — should return authenticated cont
|
|
|
101
101
|
|
|
102
102
|
Set via `SUPERGLUE_CLI_PRESET` env var or `config.json` as `"preset"`. Legacy `sg init --preset` still writes this value for existing scripts.
|
|
103
103
|
|
|
104
|
-
| Preset | Description
|
|
105
|
-
| --------- |
|
|
106
|
-
| `runner` | Run saved tools by ID only. Read-only lookups. No building/editing
|
|
107
|
-
| `builder` | Runner + build/edit/save tools, call systems, manage MCP servers and
|
|
108
|
-
| `admin` | Full access (default)
|
|
104
|
+
| Preset | Description |
|
|
105
|
+
| --------- | -------------------------------------------------------------------------------------------------------------- |
|
|
106
|
+
| `runner` | Run saved tools by ID only. Read-only lookups. No building/editing |
|
|
107
|
+
| `builder` | Runner + build/edit/save tools, call systems, manage MCP servers, schedules, and project tasks. No system CRUD |
|
|
108
|
+
| `admin` | Full access (default) |
|
|
109
109
|
|
|
110
110
|
Blocked commands print a clear error showing the current preset and how to change it.
|
|
111
111
|
|
|
@@ -203,6 +203,25 @@ Optional flags:
|
|
|
203
203
|
- `--retries <n>` and `--timeout <ms>` set request options.
|
|
204
204
|
- `--clear-webhook` removes the webhook/tool-chain success action during edit.
|
|
205
205
|
|
|
206
|
+
### Managing Project Tasks
|
|
207
|
+
|
|
208
|
+
Projects group tasks in four status columns: `not_started`, `in_progress`, `waiting`, and `done`. Task order is per column. `--position` is the 0-based index in the column: `0` is the top, and values past the end place the task last.
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
sg project list
|
|
212
|
+
sg project task list --project <projectId>
|
|
213
|
+
sg project task create --project <projectId> --name "Map customer fields"
|
|
214
|
+
sg project task create --project <projectId> --name "Fix blockers" --position 0
|
|
215
|
+
sg project task edit --project <projectId> --id <taskId> --position 0
|
|
216
|
+
sg project task edit --project <projectId> --id <taskId> --status done
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
- `sg project task list` returns tasks in board order with each task's `position`. Add `--full` for descriptions and attachments.
|
|
220
|
+
- A new task, or a status change without `--position`, goes to the end of its column. Other edits keep the order.
|
|
221
|
+
- `sg project task edit` changes only the given fields. `--clear-due-date` and `--unassign` clear those fields.
|
|
222
|
+
- `--resource-refs` replaces the attachment list. Task attachments also join the project.
|
|
223
|
+
- Tasks cannot be deleted from the CLI. Archived projects reject task writes.
|
|
224
|
+
|
|
206
225
|
---
|
|
207
226
|
|
|
208
227
|
## Reference
|
|
@@ -221,7 +240,7 @@ Agents familiar with the web agent (its native tools and the `superglue` node mo
|
|
|
221
240
|
| `tools.writeSystem` (superglue/approved; saved) | `sg system edit --id <id> ...` | Edits the system with that exact ID |
|
|
222
241
|
| `run_command` with `vfs` for `/org/systems/` | `sg system find <query>` / `--id <id>` | Returns secret-key presence and the system URL |
|
|
223
242
|
| Credentials VFS / saved credentials | `sg system credentials get/set/clear` | Manage the current user's credentials for a system |
|
|
224
|
-
| `tools.callSystem` | `sg system call --
|
|
243
|
+
| `tools.callSystem` | `sg system call --system-id <id> --url <url>` | Ad-hoc calls; credential and auth header are added server-side |
|
|
225
244
|
| `run_command search` | `sg system search-docs --system-id <id> -k` | Targeted keyword search over ingested system docs |
|
|
226
245
|
| `authenticate_oauth` | `sg system oauth --system-id <id> [--scopes]` | Opens browser flow. Supports `--grant-type client_credentials` too |
|
|
227
246
|
| `run_command` with `vfs` for `/org/runs/` | `sg run list` / `sg run get <runId>` | Filter `list` by `--tool`, `--status`, `--source`, `--limit` |
|
|
@@ -230,6 +249,9 @@ Agents familiar with the web agent (its native tools and the `superglue` node mo
|
|
|
230
249
|
| `tools.writeMcpServer` (superglue/approved) | `sg mcp edit --id <id> ...` | Edits name, auth mode, description, or selected tool IDs |
|
|
231
250
|
| `tools.writeSchedule` (superglue module; new) | `sg schedule create --tool <id> --cron <expr>` | Creates a cron schedule for a saved tool |
|
|
232
251
|
| `tools.writeSchedule` (superglue/approved; id) | `sg schedule edit --tool <id> --id <schedule>` | Updates, enables, or disables an existing schedule |
|
|
252
|
+
| `run_command` with `vfs` for `/projects/` | `sg project list` / `sg project task list` | Tasks are listed in board order with `position` |
|
|
253
|
+
| `tools.writeTask` (superglue module; no id) | `sg project task create --project <id>` | Same fields; `--position` places the task in its column |
|
|
254
|
+
| `tools.writeTask` (superglue module; id) | `sg project task edit --project <p> --id <t>` | Updates only the given fields, including `--position` |
|
|
233
255
|
| (no direct equivalent) | `sg login`, `sg update`, `sg skill` | CLI-specific setup, updater, and this reference system |
|
|
234
256
|
|
|
235
257
|
Web-agent-only concepts with no CLI equivalent: `run_command`'s virtual filesystem (CLI uses concrete `sg` subcommands), `authenticate_oauth`'s dedicated MCP `authenticate` tool (CLI uses `sg system oauth`), and `setup_gateway` (the gateway install command is created in the web app).
|
|
@@ -271,8 +293,8 @@ sg system find --id my_api
|
|
|
271
293
|
sg system credentials get --system-id my_api
|
|
272
294
|
sg system credentials set --system-id my_api --credentials '{"api_key":"sk-xxx"}'
|
|
273
295
|
sg system credentials clear --system-id my_api
|
|
274
|
-
sg system call --
|
|
275
|
-
|
|
296
|
+
sg system call --system-id my_api --url "<<my_api_url>>/users"
|
|
297
|
+
sg system call --system-id my_api --url https://api.example.com/users --headers '{"X-API-Key":"<<my_api_api_key>>"}'
|
|
276
298
|
sg system search-docs --system-id slack -k "send message channels"
|
|
277
299
|
sg system oauth --system-id gmail --scopes "https://www.googleapis.com/auth/gmail.modify"
|
|
278
300
|
sg system oauth --system-id my_api --grant-type client_credentials --scopes "read write"
|
|
@@ -291,6 +313,16 @@ sg mcp edit --id <serverId> --remove-tool old_tool
|
|
|
291
313
|
sg mcp edit --id <serverId> --auth-mode creator_api_key
|
|
292
314
|
```
|
|
293
315
|
|
|
316
|
+
**Project commands:**
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
sg project list --include-archived
|
|
320
|
+
sg project task list --project crm-migration --status in_progress
|
|
321
|
+
sg project task create --project crm-migration --name "Await credentials" --status waiting --due-date 2026-11-01
|
|
322
|
+
sg project task edit --project crm-migration --id await-credentials --status in_progress --position 0
|
|
323
|
+
sg project task edit --project crm-migration --id await-credentials --description-file notes.md --unassign
|
|
324
|
+
```
|
|
325
|
+
|
|
294
326
|
**Run commands:**
|
|
295
327
|
|
|
296
328
|
```bash
|
|
@@ -520,7 +552,7 @@ System id="stripe", selected credential has secret named: api_key
|
|
|
520
552
|
→ Available as: <<stripe_api_key>>
|
|
521
553
|
```
|
|
522
554
|
|
|
523
|
-
**Auth header patterns
|
|
555
|
+
**Auth header patterns for tool steps** (`sg system call` adds the Bearer or Basic header itself):
|
|
524
556
|
|
|
525
557
|
```json
|
|
526
558
|
{"Authorization": "Bearer <<stripe_api_key>>"}
|
|
@@ -34,13 +34,13 @@ For APIs that require the same query key multiple times, use an array value:
|
|
|
34
34
|
|
|
35
35
|
## Authentication
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Saved tool steps never inject credentials: place auth headers explicitly with `<<systemId_credentialKey>>` placeholders. `sg system call` adds the `Authorization` header itself for `oauth2` (Bearer), `basic_auth` (Basic), and `api_key` (Bearer) systems; pass your own header only when the API expects a different one.
|
|
38
38
|
|
|
39
39
|
```javascript
|
|
40
|
-
// Bearer token (including OAuth — token refresh is automatic, header is not)
|
|
40
|
+
// Bearer token (including OAuth — token refresh is automatic, the step header is not)
|
|
41
41
|
{ "Authorization": "Bearer <<systemId_access_token>>" }
|
|
42
42
|
|
|
43
|
-
// API key
|
|
43
|
+
// API key in a custom header
|
|
44
44
|
{ "X-API-Key": "<<systemId_api_key>>" }
|
|
45
45
|
|
|
46
46
|
// Basic Auth — auto-encoded to Base64, do NOT manually encode
|