@superglue/cli 1.1.31 → 1.1.33
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 +13 -8
- package/dist/cli.js +278 -380
- package/dist/skills/superglue/SKILL.md +39 -38
- package/dist/skills/superglue/references/file-handling.md +9 -6
- package/dist/skills/superglue/references/http.md +15 -4
- package/dist/skills/superglue/references/mongodb.md +136 -0
- package/dist/skills/superglue/references/mssql.md +22 -22
- package/dist/skills/superglue/references/odbc.md +2 -2
- package/dist/skills/superglue/references/postgres.md +2 -2
- package/dist/skills/superglue/references/redis.md +2 -2
- package/dist/skills/superglue/references/sftp-smb.md +5 -5
- package/dist/skills/superglue/references/superglue-info.md +25 -12
- package/package.json +1 -1
- package/skills/superglue/SKILL.md +39 -38
- package/skills/superglue/references/file-handling.md +9 -6
- package/skills/superglue/references/http.md +15 -4
- package/skills/superglue/references/mongodb.md +136 -0
- package/skills/superglue/references/mssql.md +22 -22
- package/skills/superglue/references/odbc.md +2 -2
- package/skills/superglue/references/postgres.md +2 -2
- package/skills/superglue/references/redis.md +2 -2
- package/skills/superglue/references/sftp-smb.md +5 -5
- package/skills/superglue/references/superglue-info.md +25 -12
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
}
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Configure the connection URL based on
|
|
16
|
+
Configure the connection URL based on the selected credential's secrets — use `sg system find` to inspect the available secret names and reference them accordingly.
|
|
17
17
|
|
|
18
18
|
`method`, `headers`, `queryParams`, and `pagination` are HTTP-only fields — omit them for database steps.
|
|
19
19
|
|
|
@@ -93,46 +93,46 @@ mssql://<<my_db_user>>:<<my_db_password>>@<<my_db_host>>:<<my_db_port>>/<<my_db_
|
|
|
93
93
|
|
|
94
94
|
### Windows Authentication (NTLM)
|
|
95
95
|
|
|
96
|
-
For on-prem SQL Servers that only accept Windows domain logins (no SQL auth),
|
|
96
|
+
For on-prem SQL Servers that only accept Windows domain logins (no SQL auth), add secrets with these names to the credential:
|
|
97
97
|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
| `authType`
|
|
101
|
-
| `domain`
|
|
102
|
-
| `user`
|
|
103
|
-
| `password`
|
|
98
|
+
| Secret Name | Required | Notes |
|
|
99
|
+
| ----------- | -------- | ----------------------------------------------------- |
|
|
100
|
+
| `authType` | yes | `ntlm` |
|
|
101
|
+
| `domain` | yes | Windows domain (e.g. `CORP`) |
|
|
102
|
+
| `user` | yes | Windows username (also accepts `username`, or in URL) |
|
|
103
|
+
| `password` | yes | Windows password (or in URL) |
|
|
104
104
|
|
|
105
105
|
```
|
|
106
106
|
URL: mssql://<<sys_user>>:<<sys_password>>@<<sys_host>>:<<sys_port>>/<<sys_database>>
|
|
107
|
-
|
|
107
|
+
Secrets: { authType: "ntlm", domain, user, password, host, port, database }
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
Alternatively, pass the domain as a `?domain=CORP` query parameter on the URL — any URL with a `domain` set authenticates via NTLM. Kerberos-only environments are not supported; ask the DBA to permit NTLM or create a SQL login.
|
|
111
111
|
|
|
112
112
|
### Azure Active Directory Authentication
|
|
113
113
|
|
|
114
|
-
For Azure AD auth,
|
|
114
|
+
For Azure AD auth, add secrets with the following names to the credential alongside the standard connection fields:
|
|
115
115
|
|
|
116
116
|
**Entra ID User + Password** — authenticates as an Azure AD user. Requires an Azure app registration.
|
|
117
117
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
| `authType`
|
|
121
|
-
| `clientId`
|
|
122
|
-
| `tenantId`
|
|
123
|
-
| `user`
|
|
124
|
-
| `password`
|
|
118
|
+
| Secret Name | Required | Notes |
|
|
119
|
+
| ----------- | -------- | ------------------------------------------------------ |
|
|
120
|
+
| `authType` | yes | `azure-active-directory-password` |
|
|
121
|
+
| `clientId` | yes | Application (client) ID from Azure app registration |
|
|
122
|
+
| `tenantId` | no | Directory (tenant) ID |
|
|
123
|
+
| `user` | yes | Azure AD username (also accepts `username`, or in URL) |
|
|
124
|
+
| `password` | yes | Azure AD password (or in URL) |
|
|
125
125
|
|
|
126
|
-
`user` and `password` can be stored as
|
|
126
|
+
`user` and `password` can be stored as secrets or embedded in the URL — values resolved into the URL take precedence; stored secrets only fill gaps the URL omits.
|
|
127
127
|
|
|
128
128
|
```
|
|
129
129
|
URL: mssql://<<sys_user>>:<<sys_password>>@myserver.database.windows.net:1433/mydb
|
|
130
|
-
|
|
130
|
+
Secrets: { authType, clientId, tenantId, user, password, host, port, database }
|
|
131
131
|
```
|
|
132
132
|
|
|
133
133
|
**Service Principal** — authenticates as an Azure AD application. No user/password needed in the URL.
|
|
134
134
|
|
|
135
|
-
|
|
|
135
|
+
| Secret Name | Required | Notes |
|
|
136
136
|
| -------------- | -------- | ------------------------------------------------- |
|
|
137
137
|
| `authType` | yes | `azure-active-directory-service-principal-secret` |
|
|
138
138
|
| `clientId` | yes | Application (client) ID |
|
|
@@ -141,7 +141,7 @@ Credentials: { authType, clientId, tenantId, user, password, host, port, databas
|
|
|
141
141
|
|
|
142
142
|
```
|
|
143
143
|
URL: mssql://myserver.database.windows.net:1433/mydb
|
|
144
|
-
|
|
144
|
+
Secrets: { authType, clientId, clientSecret, tenantId, host, port, database }
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
The runtime authenticates entirely via the service principal credentials — no user or password is needed in the URL.
|
|
@@ -245,7 +245,7 @@ Default retries from server config. On final failure, error includes query text
|
|
|
245
245
|
When an MSSQL step fails and the cause is not obvious:
|
|
246
246
|
|
|
247
247
|
1. **Read the error message** — superglue includes the query text and params in the error. Check for syntax errors, missing columns, or type mismatches.
|
|
248
|
-
2. **Verify connection
|
|
248
|
+
2. **Verify connection secrets** — use `sg system find` to confirm the stored secret names match the placeholders in your URL. Test connectivity with a simple `SELECT 1` via `sg system call`.
|
|
249
249
|
3. **Check database-side access** — connection refused or permission denied errors typically mean the database user lacks access. Verify with the user that the credentials have the required grants.
|
|
250
250
|
4. **Check Azure-specific issues** — if connecting to Azure SQL:
|
|
251
251
|
- Confirm the client IP is allowed in the Azure SQL firewall rules
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Configure the connection URL based on
|
|
14
|
+
Configure the connection URL based on the selected credential's secrets — use `sg system find` to inspect the available secret names and reference them accordingly.
|
|
15
15
|
|
|
16
16
|
`method`, `headers`, `queryParams`, and `pagination` are HTTP-only fields — omit them for database steps.
|
|
17
17
|
|
|
@@ -185,7 +185,7 @@ For other ODBC-backed databases, look up the database/driver-specific error code
|
|
|
185
185
|
When an ODBC step fails and the cause is not obvious:
|
|
186
186
|
|
|
187
187
|
1. **Read the error message** — superglue includes a truncated query preview in the error. Check for syntax errors, missing columns, or type mismatches.
|
|
188
|
-
2. **Verify connection
|
|
188
|
+
2. **Verify connection secrets** — use `sg system find` to confirm the stored secret names match the placeholders in your URL. Test connectivity with a simple `SELECT 1` via `sg system call`.
|
|
189
189
|
3. **Check database-side access** — connection refused or permission denied errors typically mean the database user lacks access. Verify with the user that the credentials have the required grants.
|
|
190
190
|
4. **Check driver availability** — if the error mentions "driver not found", the `DRIVER` query parameter does not match any registered driver in `/etc/odbcinst.ini`. Verify the driver name is correct and the driver is installed in the Docker image.
|
|
191
191
|
5. **Test the query directly** — use `sg system call` with a simplified version of the query to isolate whether the issue is the query itself, the parameters, or the connection.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Configure the connection URL based on
|
|
14
|
+
Configure the connection URL based on the selected credential's secrets — use `sg system find` to inspect the available secret names and reference them accordingly.
|
|
15
15
|
|
|
16
16
|
`method`, `headers`, `queryParams`, and `pagination` are HTTP-only fields — omit them for database steps.
|
|
17
17
|
|
|
@@ -148,7 +148,7 @@ Default retries from server config. On final failure, error includes query text
|
|
|
148
148
|
When a PostgreSQL step fails and the cause is not obvious:
|
|
149
149
|
|
|
150
150
|
1. **Read the error message** — superglue includes the query text and params in the error. Check for syntax errors, missing columns, or type mismatches.
|
|
151
|
-
2. **Verify connection
|
|
151
|
+
2. **Verify connection secrets** — use `sg system find` to confirm the stored secret names match the placeholders in your URL. Test connectivity with a simple `SELECT 1` via `sg system call`.
|
|
152
152
|
3. **Check database-side access** — connection refused or permission denied errors typically mean the database user lacks access to the database, schema, or table. Verify with the user that the credentials have the required grants.
|
|
153
153
|
4. **Test the query directly** — use `sg system call` with a simplified version of the query to isolate whether the issue is the query itself, the parameters, or the connection.
|
|
154
154
|
5. **Check for SSL/TLS issues** — if the error mentions SSL or handshake failure, check the SSL / TLS section above. For non-localhost servers that don't support SSL, add `?sslmode=disable` to the URL. For servers that require SSL, add `?sslmode=require`.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Configure the connection URL based on
|
|
14
|
+
Configure the connection URL based on the selected credential's secrets — use `sg system find` to inspect the available secret names and reference them accordingly.
|
|
15
15
|
|
|
16
16
|
`method`, `headers`, `queryParams`, and `pagination` are HTTP-only fields — omit them for Redis steps.
|
|
17
17
|
|
|
@@ -133,7 +133,7 @@ Default retries from server config. On final failure, error includes command and
|
|
|
133
133
|
When a Redis step fails:
|
|
134
134
|
|
|
135
135
|
1. **Read the error message** — superglue includes the command and args in the error. Check for unknown commands, wrong argument counts, or type errors (e.g. running a list command on a string key).
|
|
136
|
-
2. **Verify connection
|
|
136
|
+
2. **Verify connection secrets** — use `sg system find` to confirm the stored secret names match the placeholders in your URL. Test with a simple `PING` command via `sg system call`.
|
|
137
137
|
3. **Check connectivity and access** — connection refused errors typically mean the Redis server is unreachable or requires TLS (`rediss://`). AUTH errors mean the password is wrong or the user lacks access.
|
|
138
138
|
4. **Check key types** — Redis commands are type-specific. Running `GET` on a hash key or `HGETALL` on a string key returns a `WRONGTYPE` error. Use `TYPE` command via `sg system call` to check a key's type before building.
|
|
139
139
|
5. **Verify TLS requirements** — if the error mentions connection reset or handshake failure, try switching between `redis://` and `rediss://`.
|
|
@@ -13,7 +13,7 @@ FTP, SFTP, and SMB share an identical operation interface. Only the URL protocol
|
|
|
13
13
|
}
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Configure the connection URL based on
|
|
16
|
+
Configure the connection URL based on the selected credential's secrets — use `sg system find` to inspect the available secret names and reference them accordingly.
|
|
17
17
|
|
|
18
18
|
`method`, `headers`, `queryParams`, and `pagination` are HTTP-only fields — omit them for file server steps.
|
|
19
19
|
|
|
@@ -128,7 +128,7 @@ Single operation returns the result directly. Array of operations returns an arr
|
|
|
128
128
|
|
|
129
129
|
**FTP/FTPS:** uses `basic-ftp`. FTPS uses TLS with `rejectUnauthorized: false`. Connection timeout configurable.
|
|
130
130
|
|
|
131
|
-
**SMB:** uses `@tryjsky/v9u-smb2`. Connection lifecycle: create client (with share, domain, credentials), execute operations, disconnect.
|
|
131
|
+
**SMB:** uses `@tryjsky/v9u-smb2`. Connection lifecycle: create client (with share, domain, credentials), execute operations, disconnect.
|
|
132
132
|
|
|
133
133
|
### Retry Behavior
|
|
134
134
|
|
|
@@ -152,10 +152,10 @@ When the user wants to **download** a file fetched via SFTP/SMB/FTP, set `output
|
|
|
152
152
|
When a file server step fails and the cause is not obvious:
|
|
153
153
|
|
|
154
154
|
1. **Read the error message** — superglue includes the operations list in the error. Check for typos in paths, missing fields, or unsupported operations.
|
|
155
|
-
2. **Verify connection
|
|
155
|
+
2. **Verify connection secrets** — use `sg system find` to confirm the stored secret names match the placeholders in your URL. Test with a simple `list` operation on the base path via `sg system call`.
|
|
156
156
|
3. **Check path resolution** — if you get "file not found", verify the path is relative to the URL base path, not an absolute filesystem path. Use `list` on the parent directory to see what files exist.
|
|
157
157
|
4. **Check permissions** — permission denied errors mean the user account lacks read/write access to the target path. Verify with the user that the account has the required grants.
|
|
158
158
|
5. **Check protocol-specific issues:**
|
|
159
|
-
- **SFTP**: if the error mentions authentication, verify whether the server expects password or private key auth. If using private key, ensure `privateKey` and `passphrase` are stored as
|
|
159
|
+
- **SFTP**: if the error mentions authentication, verify whether the server expects password or private key auth. If using private key, ensure `privateKey` and `passphrase` are stored as secrets in the credential.
|
|
160
160
|
- **FTP/FTPS**: if the connection fails, try switching between `ftp://` and `ftps://` — some servers require TLS, others don't support it.
|
|
161
|
-
- **SMB**: verify the share name is correct (first path segment). If using domain auth, ensure the domain is included in the URL or stored as a
|
|
161
|
+
- **SMB**: verify the share name is correct (first path segment). If using domain auth, ensure the domain is included in the URL or stored as a secret. Check that the SMB port (445) is accessible.
|
|
@@ -7,18 +7,26 @@ superglue is an open-source, AI-native integration platform that builds and runs
|
|
|
7
7
|
Developed by superglue (Y Combinator W25), founded by Adina Görres and Stefan Faistenauer in 2025, based in Munich and San Francisco.
|
|
8
8
|
|
|
9
9
|
- Website: https://superglue.ai
|
|
10
|
-
- Documentation: https://
|
|
10
|
+
- Documentation: https://superglue.ai/docs/
|
|
11
11
|
- GitHub: https://github.com/superglue-ai/superglue
|
|
12
12
|
|
|
13
13
|
If the user is asking general questions (not building):
|
|
14
14
|
|
|
15
15
|
- Company/team/pricing → https://superglue.ai/
|
|
16
|
-
- Product/features → https://
|
|
16
|
+
- Product/features → https://superglue.ai/docs/getting-started/introduction/
|
|
17
17
|
- Open-source/code → https://github.com/superglue-ai/superglue
|
|
18
18
|
|
|
19
|
+
## Cloud Usage Tiers
|
|
20
|
+
|
|
21
|
+
- Cloud tiers are **Trial**, **Pro**, **Team**, and **Enterprise**; billing-enabled apps expose upgrades through the in-app **Upgrade Plan** button, not a separate Billing page.
|
|
22
|
+
- **Trial** includes 1M input tokens and 100 runs lifetime; **Pro** is €59/$69 per month with 3M input tokens/user/month and 3,000 runs/user/month.
|
|
23
|
+
- **Team** is €99/$119 per seat/month with 5M input tokens/user/month and 5,000 runs/user/month; Team includes organization management, activity tracking, and custom MCP servers.
|
|
24
|
+
- **Enterprise** is custom-priced with unlimited usage limits by default, enterprise access controls, and self-hosting/on-prem options.
|
|
25
|
+
- These cloud tier details do not apply to self-hosted or enterprise deployment setups.
|
|
26
|
+
|
|
19
27
|
## Authentication
|
|
20
28
|
|
|
21
|
-
API, SDK,
|
|
29
|
+
API, SDK, and webhook usage require an **API key**. The CLI should use browser OAuth via `sg login`; headless/API-key CLI auth is available through environment variables, flags, or `config.json` for CI and legacy automation. MCP clients can use OAuth when supported, or API keys for non-interactive setup. Self-hosted deployments also need the API/MCP endpoint URL. There are no workspace IDs, project IDs, or other identifiers.
|
|
22
30
|
|
|
23
31
|
MCP authentication is separate from API/SDK/CLI setup. For MCP OAuth, dynamic client registration, Langdock setup, and named server permissions, use the MCP documentation.
|
|
24
32
|
|
|
@@ -27,10 +35,10 @@ Users can generate and manage API keys on the standalone **API Keys** page (`/ap
|
|
|
27
35
|
## Interfaces
|
|
28
36
|
|
|
29
37
|
- **Web app** — primary UI for building, testing, and managing tools and systems
|
|
30
|
-
- **TypeScript/Python SDK** — https://
|
|
31
|
-
- **REST API** — https://
|
|
32
|
-
- **MCP Server** — https://
|
|
33
|
-
- **CLI** — `npm install -g @superglue/cli` — https://
|
|
38
|
+
- **TypeScript/Python SDK** — https://superglue.ai/docs/sdk/overview/
|
|
39
|
+
- **REST API** — https://superglue.ai/docs/api/
|
|
40
|
+
- **MCP Server** — https://superglue.ai/docs/mcp/using-the-mcp/
|
|
41
|
+
- **CLI** — `npm install -g @superglue/cli` — https://superglue.ai/docs/getting-started/cli-skills/
|
|
34
42
|
|
|
35
43
|
### Webhook Triggers
|
|
36
44
|
|
|
@@ -44,6 +52,10 @@ OAuth flows require a callback URL: `{appEndpoint}/api/auth/callback`
|
|
|
44
52
|
|
|
45
53
|
On superglue Cloud, the app endpoint is `https://app.superglue.cloud`. Self-hosted and enterprise deployments use their own app URL. If a user doesn't know their endpoints, they can check the browser URL bar for the app endpoint and deployment configuration for the API endpoint.
|
|
46
54
|
|
|
55
|
+
### Cloud Networking
|
|
56
|
+
|
|
57
|
+
If a customer's system requires IP allowlisting for firewall rules, security groups, or vendor access controls, superglue Cloud outbound requests come from `34.234.12.178` and `18.198.191.215`. These IPs apply to superglue Cloud only; self-hosted and enterprise deployments use deployment-specific networking.
|
|
58
|
+
|
|
47
59
|
## Web App UI Layout
|
|
48
60
|
|
|
49
61
|
Use this section as the source of truth for high-level web app navigation. Do not invent UI locations that are not listed here.
|
|
@@ -53,7 +65,7 @@ The persistent left sidebar contains these top-level items:
|
|
|
53
65
|
- **Agent** (`/`) — primary AI chat assistant for building and debugging tools and systems.
|
|
54
66
|
- **Tools** (`/tools`, detail at `/tools/{toolId}`) — saved tools; opens the tool playground for editing, testing, and running.
|
|
55
67
|
- **Systems** (`/systems`, detail at `/systems/{systemId}`) — connected external systems with credentials and documentation.
|
|
56
|
-
- **
|
|
68
|
+
- **Credentials** (`/credentials`) — manage the credentials you own for each system, and the credentials shared with you. Admins and members open it inside the normal app shell from the sidebar. API keys are not managed here.
|
|
57
69
|
- **Runs** (`/runs`, detail at `/runs/{runId}`) — execution history for full, draft, and single-step tool runs. Runs is a top-level sidebar item, not a Control Panel sub-item.
|
|
58
70
|
- **Control Panel** (`/admin`) — expandable group for organization and account administration:
|
|
59
71
|
- **Overview** (`/admin`) — dashboard summary, including failed-run and schedule summaries.
|
|
@@ -63,9 +75,9 @@ The persistent left sidebar contains these top-level items:
|
|
|
63
75
|
- **Organization** (`/organization`) — visible on paid tiers as a standalone page without tabs. It shows members, invitations, role assignment, and member-management actions; management actions are admin-gated.
|
|
64
76
|
- **MCP Servers** (`/admin?view=mcp-servers`) — manage and export named MCP server endpoints. Use the MCP documentation for behavior, permissions, and client setup.
|
|
65
77
|
|
|
66
|
-
Below the navigation, the sidebar shows the current organization menu. Opening it shows the signed-in user email and menu items for **API Keys** (`/api-keys`), **Settings** (`/settings`, admin-only), **Switch organization**, and **Sign Out**.
|
|
78
|
+
Below the navigation, the sidebar shows the current organization menu. Opening it shows the signed-in user email and menu items for **API Keys** (`/api-keys`), **Settings** (`/settings`, admin-only), **Switch organization**, and **Sign Out**. When billing is enabled, the sidebar also shows **Upgrade Plan** for non-enterprise organizations; it opens the in-app upgrade flow. There is no separate in-app Billing page.
|
|
67
79
|
|
|
68
|
-
**API Keys** (`/api-keys`) is a standalone page with a simple own-key editor for superglue API keys used by API, SDK, CLI, webhook, and non-OAuth MCP clients. Org users can create, copy, and delete their own keys.
|
|
80
|
+
**API Keys** (`/api-keys`) is a standalone page with a simple own-key editor for superglue API keys used by API, SDK, CLI headless/API-key auth, webhook, and non-OAuth MCP clients. Org users can create, copy, and delete their own keys.
|
|
69
81
|
|
|
70
82
|
**Settings** (`/settings`) is an admin-only standalone page with distinct sections:
|
|
71
83
|
|
|
@@ -98,7 +110,8 @@ Steps are routed to execution strategies by protocol (first match wins):
|
|
|
98
110
|
3. PostgreSQL → URL starts with `postgres://` or `postgresql://`
|
|
99
111
|
4. MSSQL/Azure SQL → URL starts with `mssql://` or `sqlserver://`
|
|
100
112
|
5. Redis → URL starts with `redis://` or `rediss://`
|
|
101
|
-
6.
|
|
102
|
-
7.
|
|
113
|
+
6. MongoDB → URL starts with `mongodb://` or `mongodb+srv://`
|
|
114
|
+
7. FTP/SFTP → URL starts with `ftp://`, `ftps://`, or `sftp://`
|
|
115
|
+
8. SMB → URL starts with `smb://`
|
|
103
116
|
|
|
104
117
|
All user-provided JS (data selectors, transforms, stop conditions) runs in an isolated Deno sandbox.
|