@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.
@@ -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 raw bytes. The runtime classifies it using this priority chain:
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. **25MB size fallback** — only when byte detection returned `RAW`, the response exceeds 25MB, and `Content-Type` is not text-like (`text/*`, `application/json`, `*+json`, `application/xml`)
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 | Destination |
57
- | ------------------- | --------------------------------- | -------------------------------------------------------------- |
58
- | **Binary** | PDF, Excel, DOCX, PPTX, ZIP, GZIP | `producedFiles` + `data` (extracted/parsed content) |
59
- | **Structured text** | JSON, XML, CSV, YAML, HTML | `data` only (parsed to JS objects) |
60
- | **RAW** | Unrecognized | File if attachment/octet-stream/25MB fallback, else raw string |
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). Throws if the file exceeds 500MB — use `.raw` for large files.
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` have their files stored to S3 and returned as downloadable artifacts. Steps without the flag keep their files internal (for inter-step passing only).
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
- - **Agent** (`/`) — primary AI chat assistant for building and debugging tools and systems.
70
- - **Tools** (`/tools`, detail at `/tools/{toolId}`) — saved tools; opens the tool playground for editing, testing, and running.
71
- - **Systems** (`/systems`, detail at `/systems/{systemId}`) — connected external systems with credentials and documentation.
72
- - **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.
73
- - **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.
74
- - **Control Panel** (`/admin`) — expandable group for organization and account administration:
75
- - **Overview** (`/admin`) — dashboard summary, including failed-run and schedule summaries.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superglue/cli",
3
- "version": "1.1.48",
3
+ "version": "1.1.50",
4
4
  "bin": {
5
5
  "sg": "./dist/cli.js"
6
6
  },
@@ -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 raw bytes. The runtime classifies it using this priority chain:
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. **25MB size fallback** — only when byte detection returned `RAW`, the response exceeds 25MB, and `Content-Type` is not text-like (`text/*`, `application/json`, `*+json`, `application/xml`)
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 | Destination |
57
- | ------------------- | --------------------------------- | -------------------------------------------------------------- |
58
- | **Binary** | PDF, Excel, DOCX, PPTX, ZIP, GZIP | `producedFiles` + `data` (extracted/parsed content) |
59
- | **Structured text** | JSON, XML, CSV, YAML, HTML | `data` only (parsed to JS objects) |
60
- | **RAW** | Unrecognized | File if attachment/octet-stream/25MB fallback, else raw string |
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). Throws if the file exceeds 500MB — use `.raw` for large files.
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` have their files stored to S3 and returned as downloadable artifacts. Steps without the flag keep their files internal (for inter-step passing only).
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
- - **Agent** (`/`) — primary AI chat assistant for building and debugging tools and systems.
70
- - **Tools** (`/tools`, detail at `/tools/{toolId}`) — saved tools; opens the tool playground for editing, testing, and running.
71
- - **Systems** (`/systems`, detail at `/systems/{systemId}`) — connected external systems with credentials and documentation.
72
- - **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.
73
- - **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.
74
- - **Control Panel** (`/admin`) — expandable group for organization and account administration:
75
- - **Overview** (`/admin`) — dashboard summary, including failed-run and schedule summaries.
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