@parall/parall 1.53.0 → 1.55.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parall/parall",
3
- "version": "1.53.0",
3
+ "version": "1.55.0",
4
4
  "description": "OpenClaw channel plugin for Parall IM",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,8 +16,8 @@
16
16
  "openclaw.plugin.json"
17
17
  ],
18
18
  "dependencies": {
19
- "@parall/sdk": "1.53.0",
20
- "@parall/agent-core": "1.53.0"
19
+ "@parall/agent-core": "1.55.0",
20
+ "@parall/sdk": "1.55.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.0.0",
@@ -242,8 +242,15 @@ and the folder is just a manifest:
242
242
  republishing.
243
243
  - Entering the credential / completing OAuth is a HUMAN step in the Clip
244
244
  Console (the config-write endpoints are session-only — an API key cannot
245
- call them). Once configured, discover the live tool schemas with
246
- `parall clip tools <clip>` and exec like any other clip.
245
+ call them). An org can add SEVERAL connections to one MCP clip — one
246
+ credential slot per account of the same service all sharing the declared
247
+ `server_url`/`auth`. Once configured, discover the live tool schemas with
248
+ `parall clip tools <clip> [--connection <ref>]` and exec like any other
249
+ clip (`--connection` picks the account).
250
+ - Do NOT declare anything about OAuth client registration in the manifest —
251
+ there is no such field. Whether the provider needs a manually registered
252
+ OAuth app (Google-style) is probed by the server at connect time; the
253
+ Console walks the admin through it when required.
247
254
  - Publish is the same command: `parall clip publish ./my-clip/`.
248
255
 
249
256
  ## Cloud (hosted) vs desktop (BYOC) Edge
@@ -40,16 +40,23 @@ guessing which signed-in account you are about to act through.
40
40
  ```bash
41
41
  parall clip exec <clip> <command> [args] --connection <ccn_|alias> # the normal form
42
42
  parall clip exec browser-tools screenshot '{"url":"…"}' --connection cloud-main
43
+ parall clip exec browser-tools scrape --args-file - --connection cloud-main <<'EOF'
44
+ {"url":"https://example.com","fields":["title","price"]}
45
+ EOF
43
46
  ```
44
47
 
45
48
  Build `args` as JSON per the command's params from `clip info` (or the
46
49
  tool's `inputSchema` from `clip tools` for MCP clips — tool names are NOT
47
50
  frozen in the manifest, so never guess a tool name or its argument shape).
51
+ Quote-heavy or large JSON goes through `--args-file <path>` (`-` = stdin
52
+ via a quoted heredoc, as above; strict JSON, mutually exclusive with the
53
+ `[args]` positional) — the shell mangles inline quotes long before the CLI
54
+ sees them, exactly the trap `messages send --text-file` exists for.
48
55
  Results are JSON on stdout; failures print a typed error.
49
56
 
50
- **Name the target explicitly.** A cloud profile has NO implicit route;
51
- omitting the target entirely is a desktop-only legacy form that reaches just
52
- YOUR OWN online desktop device never a shared cloud profile.
57
+ **Name the target explicitly every exec.** `clip exec` refuses to run
58
+ without `--connection` or `--edge`; there is no implicit route to any
59
+ profile, and the legacy no-flag desktop fallback is gone from the CLI.
53
60
 
54
61
  - A cloud (hosted) profile is reachable ONLY via `--connection` — the clip
55
62
  connection its maintainer bound. That binding IS your authorization;
@@ -67,21 +74,39 @@ YOUR OWN online desktop device — never a shared cloud profile.
67
74
  ## MCP clips (remote tool servers)
68
75
 
69
76
  A connection with target `mcp` routes to a remote MCP server; the command
70
- is an MCP tool name and the args are that tool's JSON arguments. Read each
71
- tool's `inputSchema` from `clip tools` first, then exec against the
72
- explicit target the same form as any other clip:
77
+ is an MCP tool name and the args are that tool's JSON arguments. **An MCP
78
+ clip can hold SEVERAL connections one per account of the same service**
79
+ (e.g. two Google Drive accounts), exactly like the browser arm's multiple
80
+ profiles. The flow is: discover the connections, pick by alias, exec with the
81
+ explicit target:
73
82
 
74
83
  ```bash
84
+ parall clip connections <clip> # per-connection auth status, alias, is_default
85
+ parall clip tools <clip> --connection <ccn_|alias> # tools are PER CONNECTION
75
86
  parall clip exec <clip> <tool> [json-args] --connection <ccn_|alias>
76
87
  ```
77
88
 
89
+ - `clip connections` marks MCP rows with their auth mode, `credential_set`
90
+ / `oauth_status` and `tool_count` — a `needs_reauth` or credential-less
91
+ row will refuse exec until an org admin fixes it in the Clip Console.
92
+ - `--connection` is REQUIRED to exec an MCP connection, exactly like a cloud
93
+ profile — the only other target form, `--edge`, is a desktop device and
94
+ never routes to MCP. The alias tells you WHICH account you act as —
95
+ always name it.
96
+ (`is_default` marks the org's primary connection in listings and the
97
+ Console, not an implicit exec route.)
98
+ - `clip tools` without `--connection` reads the default connection's
99
+ snapshot; with several connections and no default it asks you to name one.
78
100
  - No cold start: MCP clips never return `EDGE_ACTIVATING`.
79
101
  - `MCP_TOOL_FAILED` = the tool RAN and reported failure; a sanitized summary
80
102
  of its output rides in the error details. Read it and decide — do not
81
103
  blind-retry.
82
104
  - `MCP_CONCURRENCY_LIMIT` = not started; back off briefly, then retry.
83
- - `MCP_CONFIG_MISSING` / `MCP_DISABLED` = the clip isn't configured, or MCP
84
- is off for this deployment — ask an org admin; retrying won't help.
105
+ - `MCP_CONFIG_MISSING` / `MCP_DISABLED` = that connection isn't configured,
106
+ or MCP is off for this deployment — ask an org admin; retrying won't help.
107
+ - `MCP_OAUTH_REAUTH_REQUIRED` = that connection's authorization expired or
108
+ was disconnected — ask an org admin to re-authorize it in the Clip Console
109
+ (name the connection's alias); retrying won't help.
85
110
  - `OUTCOME_UNKNOWN` follows the rule below: dispatched and MAY HAVE
86
111
  EXECUTED — never auto-retry.
87
112