@superglue/cli 1.1.48 → 1.1.50
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/dist/cli.js +79 -79
- package/dist/skills/superglue/references/file-handling.md +11 -13
- package/dist/skills/superglue/references/superglue-info.md +16 -8
- package/package.json +1 -1
- package/skills/superglue/references/file-handling.md +11 -13
- package/skills/superglue/references/superglue-info.md +16 -8
|
@@ -34,30 +34,28 @@ Constraints:
|
|
|
34
34
|
- Multi-file steps use bracket notation: `file::stepId["report.csv"].raw`
|
|
35
35
|
- Loop iterations use numeric index: `file::stepId[0].raw`
|
|
36
36
|
|
|
37
|
-
## Authentication
|
|
38
|
-
|
|
39
|
-
N/A — file handling is a runtime behavior, not a protocol. Authentication is handled by the protocol skill that produces or consumes the file (http, sftp-smb, etc.).
|
|
40
|
-
|
|
41
37
|
## File Handling Runtime Details
|
|
42
38
|
|
|
43
39
|
### Detection Priority
|
|
44
40
|
|
|
45
|
-
Every response is read as
|
|
41
|
+
Every HTTP response is read as bytes. It becomes a file when any condition applies:
|
|
46
42
|
|
|
47
43
|
1. **Magic-byte detection** — known binary signatures (ZIP `PK\x03\x04`, PDF `%PDF`, GZIP `\x1f\x8b`, plus internal ZIP structure checks for Excel/DOCX/PPTX)
|
|
48
44
|
2. **`Content-Disposition: attachment`** — `attachment` or `filename=` in this header forces file treatment
|
|
49
45
|
3. **`application/octet-stream`** — explicit octet-stream MIME catches unlabeled binary payloads
|
|
50
|
-
4. **
|
|
46
|
+
4. **Unlabeled RAW data** — detection returned `RAW` and the declared MIME type is not clearly text-like
|
|
47
|
+
|
|
48
|
+
There is no size threshold in this decision.
|
|
51
49
|
|
|
52
50
|
File server `get` operations always produce files regardless of detected type.
|
|
53
51
|
|
|
54
52
|
### Classification
|
|
55
53
|
|
|
56
|
-
| Classification | Types
|
|
57
|
-
| ------------------- |
|
|
58
|
-
| **Binary** | PDF, Excel, DOCX, PPTX, ZIP, GZIP | `producedFiles` + `data` (extracted/parsed content)
|
|
59
|
-
| **Structured text** | JSON, XML, CSV, YAML, HTML
|
|
60
|
-
| **RAW** | Unrecognized
|
|
54
|
+
| Classification | Types | Destination |
|
|
55
|
+
| ------------------- | ----------------------------------------- | --------------------------------------------------- |
|
|
56
|
+
| **Binary** | PDF, Excel, DOCX, PPTX, ZIP, GZIP, BINARY | `producedFiles` + `data` (extracted/parsed content) |
|
|
57
|
+
| **Structured text** | JSON, XML, CSV, YAML, HTML | `data` only (parsed to JS objects) |
|
|
58
|
+
| **RAW** | Unrecognized | File or string according to headers and MIME rules |
|
|
61
59
|
|
|
62
60
|
Binary responses expose `stepFileKeys` and populate `sourceData.__files__`. Structured text responses only populate `sourceData.stepId.data`.
|
|
63
61
|
|
|
@@ -127,7 +125,7 @@ Available properties on each file object: `filename`, `contentType`, `size`, `ra
|
|
|
127
125
|
sourceData.__files__.myStep.base64; // computes and returns base64 string on first access
|
|
128
126
|
```
|
|
129
127
|
|
|
130
|
-
The base64 value is computed on first access and cached for subsequent reads. It will not appear in `Object.keys()` or `JSON.stringify()` output (non-enumerable).
|
|
128
|
+
The base64 value is computed on first access and cached for subsequent reads. It will not appear in `Object.keys()` or `JSON.stringify()` output (non-enumerable). Base64 access is limited to 375MB per file; use `.raw` for larger files.
|
|
131
129
|
|
|
132
130
|
Prefer discovering aliases dynamically via `stepFileKeys`:
|
|
133
131
|
|
|
@@ -219,7 +217,7 @@ To make files downloadable from the tool's API response, set `outputFile: true`
|
|
|
219
217
|
}
|
|
220
218
|
```
|
|
221
219
|
|
|
222
|
-
Only steps with `outputFile: true`
|
|
220
|
+
Only steps with `outputFile: true` expose their files as downloadable run output. Persistence is best-effort when file storage is configured. Steps without the flag keep their files internal.
|
|
223
221
|
|
|
224
222
|
This works on any step type — transform steps, HTTP steps, SFTP/FTP steps. Just set `outputFile: true`.
|
|
225
223
|
|
|
@@ -64,19 +64,27 @@ If a customer's system requires IP allowlisting for firewall rules, security gro
|
|
|
64
64
|
|
|
65
65
|
Use this section as the source of truth for high-level web app navigation. Do not invent UI locations that are not listed here.
|
|
66
66
|
|
|
67
|
+
Brain contains projects, playbooks, artifacts, and uploaded files. Capabilities contains project-attachable systems and tools. Credentials, MCP servers, and schedules configure execution but are not project members. Projects group selected Brain items and capabilities for focused work without changing RBAC. The organization workspace is the virtual default containing all visible resources.
|
|
68
|
+
|
|
67
69
|
The persistent left sidebar contains these top-level items:
|
|
68
70
|
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
71
|
-
- **
|
|
72
|
-
- **
|
|
73
|
-
- **
|
|
74
|
-
- **
|
|
75
|
-
|
|
71
|
+
- **Agents** — primary AI chat assistant. Selecting it only expands or collapses the project-thread tree. `/` starts an empty workspace chat. Selecting a project expands or collapses its threads; its plus control opens a reusable empty project-scoped draft. Drafts appear as thread rows only after they persist. Selecting a persisted thread opens `/agents/{sessionId}`. Controls reveal older chats or projects in groups of three and collapse them again.
|
|
72
|
+
- **Brain** — expandable group for context and focused work:
|
|
73
|
+
- **Projects** (`/projects`) — organization workspace and custom project folders.
|
|
74
|
+
- **Playbooks** (`/playbooks`, detail at `/playbooks/{playbookId}`) — reusable guidance for recurring work. Built-in and custom playbooks share one grid; built-ins are labeled and can be duplicated.
|
|
75
|
+
- **Artifacts** (`/artifacts`, detail at `/artifacts/{artifactId}`) — interactive outputs.
|
|
76
|
+
- **Files** (`/files`) — uploaded source material.
|
|
77
|
+
- **Capabilities** — expandable group for connected and executable resources:
|
|
78
|
+
- **Tools** (`/tools`, detail at `/tools/{toolId}`) — saved tools; opens the tool playground for editing, testing, and running.
|
|
79
|
+
- **Systems** (`/systems`, detail at `/systems/{systemId}`) — connected external systems with credentials and documentation.
|
|
80
|
+
- **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.
|
|
81
|
+
- **MCP Servers** (`/mcp-servers`) — manage and export named MCP server endpoints. Use the MCP documentation for behavior, permissions, and client setup.
|
|
76
82
|
- **Schedules** (`/admin?view=schedules`) — scheduled and recurring tool runs.
|
|
83
|
+
- **Control Panel** (`/admin`) — expandable group for organization and account administration:
|
|
84
|
+
- **Runs** (`/runs`, detail at `/runs/{runId}`) — execution history for full, draft, and single-step tool runs.
|
|
85
|
+
- **Activity Tracker** (`/admin`) — organization activity summary for resource creation, shares, and tool runs.
|
|
77
86
|
- **Access Rules** (`/admin/access`) — role and access-rule configuration; visible to admins on paid tiers. Use the access-rules reference for RBAC behavior, base roles, and personal roles.
|
|
78
87
|
- **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.
|
|
79
|
-
- **MCP Servers** (`/admin?view=mcp-servers`) — manage and export named MCP server endpoints. Use the MCP documentation for behavior, permissions, and client setup.
|
|
80
88
|
|
|
81
89
|
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.
|
|
82
90
|
|
package/package.json
CHANGED
|
@@ -34,30 +34,28 @@ Constraints:
|
|
|
34
34
|
- Multi-file steps use bracket notation: `file::stepId["report.csv"].raw`
|
|
35
35
|
- Loop iterations use numeric index: `file::stepId[0].raw`
|
|
36
36
|
|
|
37
|
-
## Authentication
|
|
38
|
-
|
|
39
|
-
N/A — file handling is a runtime behavior, not a protocol. Authentication is handled by the protocol skill that produces or consumes the file (http, sftp-smb, etc.).
|
|
40
|
-
|
|
41
37
|
## File Handling Runtime Details
|
|
42
38
|
|
|
43
39
|
### Detection Priority
|
|
44
40
|
|
|
45
|
-
Every response is read as
|
|
41
|
+
Every HTTP response is read as bytes. It becomes a file when any condition applies:
|
|
46
42
|
|
|
47
43
|
1. **Magic-byte detection** — known binary signatures (ZIP `PK\x03\x04`, PDF `%PDF`, GZIP `\x1f\x8b`, plus internal ZIP structure checks for Excel/DOCX/PPTX)
|
|
48
44
|
2. **`Content-Disposition: attachment`** — `attachment` or `filename=` in this header forces file treatment
|
|
49
45
|
3. **`application/octet-stream`** — explicit octet-stream MIME catches unlabeled binary payloads
|
|
50
|
-
4. **
|
|
46
|
+
4. **Unlabeled RAW data** — detection returned `RAW` and the declared MIME type is not clearly text-like
|
|
47
|
+
|
|
48
|
+
There is no size threshold in this decision.
|
|
51
49
|
|
|
52
50
|
File server `get` operations always produce files regardless of detected type.
|
|
53
51
|
|
|
54
52
|
### Classification
|
|
55
53
|
|
|
56
|
-
| Classification | Types
|
|
57
|
-
| ------------------- |
|
|
58
|
-
| **Binary** | PDF, Excel, DOCX, PPTX, ZIP, GZIP | `producedFiles` + `data` (extracted/parsed content)
|
|
59
|
-
| **Structured text** | JSON, XML, CSV, YAML, HTML
|
|
60
|
-
| **RAW** | Unrecognized
|
|
54
|
+
| Classification | Types | Destination |
|
|
55
|
+
| ------------------- | ----------------------------------------- | --------------------------------------------------- |
|
|
56
|
+
| **Binary** | PDF, Excel, DOCX, PPTX, ZIP, GZIP, BINARY | `producedFiles` + `data` (extracted/parsed content) |
|
|
57
|
+
| **Structured text** | JSON, XML, CSV, YAML, HTML | `data` only (parsed to JS objects) |
|
|
58
|
+
| **RAW** | Unrecognized | File or string according to headers and MIME rules |
|
|
61
59
|
|
|
62
60
|
Binary responses expose `stepFileKeys` and populate `sourceData.__files__`. Structured text responses only populate `sourceData.stepId.data`.
|
|
63
61
|
|
|
@@ -127,7 +125,7 @@ Available properties on each file object: `filename`, `contentType`, `size`, `ra
|
|
|
127
125
|
sourceData.__files__.myStep.base64; // computes and returns base64 string on first access
|
|
128
126
|
```
|
|
129
127
|
|
|
130
|
-
The base64 value is computed on first access and cached for subsequent reads. It will not appear in `Object.keys()` or `JSON.stringify()` output (non-enumerable).
|
|
128
|
+
The base64 value is computed on first access and cached for subsequent reads. It will not appear in `Object.keys()` or `JSON.stringify()` output (non-enumerable). Base64 access is limited to 375MB per file; use `.raw` for larger files.
|
|
131
129
|
|
|
132
130
|
Prefer discovering aliases dynamically via `stepFileKeys`:
|
|
133
131
|
|
|
@@ -219,7 +217,7 @@ To make files downloadable from the tool's API response, set `outputFile: true`
|
|
|
219
217
|
}
|
|
220
218
|
```
|
|
221
219
|
|
|
222
|
-
Only steps with `outputFile: true`
|
|
220
|
+
Only steps with `outputFile: true` expose their files as downloadable run output. Persistence is best-effort when file storage is configured. Steps without the flag keep their files internal.
|
|
223
221
|
|
|
224
222
|
This works on any step type — transform steps, HTTP steps, SFTP/FTP steps. Just set `outputFile: true`.
|
|
225
223
|
|
|
@@ -64,19 +64,27 @@ If a customer's system requires IP allowlisting for firewall rules, security gro
|
|
|
64
64
|
|
|
65
65
|
Use this section as the source of truth for high-level web app navigation. Do not invent UI locations that are not listed here.
|
|
66
66
|
|
|
67
|
+
Brain contains projects, playbooks, artifacts, and uploaded files. Capabilities contains project-attachable systems and tools. Credentials, MCP servers, and schedules configure execution but are not project members. Projects group selected Brain items and capabilities for focused work without changing RBAC. The organization workspace is the virtual default containing all visible resources.
|
|
68
|
+
|
|
67
69
|
The persistent left sidebar contains these top-level items:
|
|
68
70
|
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
71
|
-
- **
|
|
72
|
-
- **
|
|
73
|
-
- **
|
|
74
|
-
- **
|
|
75
|
-
|
|
71
|
+
- **Agents** — primary AI chat assistant. Selecting it only expands or collapses the project-thread tree. `/` starts an empty workspace chat. Selecting a project expands or collapses its threads; its plus control opens a reusable empty project-scoped draft. Drafts appear as thread rows only after they persist. Selecting a persisted thread opens `/agents/{sessionId}`. Controls reveal older chats or projects in groups of three and collapse them again.
|
|
72
|
+
- **Brain** — expandable group for context and focused work:
|
|
73
|
+
- **Projects** (`/projects`) — organization workspace and custom project folders.
|
|
74
|
+
- **Playbooks** (`/playbooks`, detail at `/playbooks/{playbookId}`) — reusable guidance for recurring work. Built-in and custom playbooks share one grid; built-ins are labeled and can be duplicated.
|
|
75
|
+
- **Artifacts** (`/artifacts`, detail at `/artifacts/{artifactId}`) — interactive outputs.
|
|
76
|
+
- **Files** (`/files`) — uploaded source material.
|
|
77
|
+
- **Capabilities** — expandable group for connected and executable resources:
|
|
78
|
+
- **Tools** (`/tools`, detail at `/tools/{toolId}`) — saved tools; opens the tool playground for editing, testing, and running.
|
|
79
|
+
- **Systems** (`/systems`, detail at `/systems/{systemId}`) — connected external systems with credentials and documentation.
|
|
80
|
+
- **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.
|
|
81
|
+
- **MCP Servers** (`/mcp-servers`) — manage and export named MCP server endpoints. Use the MCP documentation for behavior, permissions, and client setup.
|
|
76
82
|
- **Schedules** (`/admin?view=schedules`) — scheduled and recurring tool runs.
|
|
83
|
+
- **Control Panel** (`/admin`) — expandable group for organization and account administration:
|
|
84
|
+
- **Runs** (`/runs`, detail at `/runs/{runId}`) — execution history for full, draft, and single-step tool runs.
|
|
85
|
+
- **Activity Tracker** (`/admin`) — organization activity summary for resource creation, shares, and tool runs.
|
|
77
86
|
- **Access Rules** (`/admin/access`) — role and access-rule configuration; visible to admins on paid tiers. Use the access-rules reference for RBAC behavior, base roles, and personal roles.
|
|
78
87
|
- **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.
|
|
79
|
-
- **MCP Servers** (`/admin?view=mcp-servers`) — manage and export named MCP server endpoints. Use the MCP documentation for behavior, permissions, and client setup.
|
|
80
88
|
|
|
81
89
|
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.
|
|
82
90
|
|