@parall/parall 1.36.0 → 1.36.1

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.
@@ -27263,6 +27263,7 @@ var ENDPOINTS = {
27263
27263
  // References (org-scoped)
27264
27264
  REFS_RESOLVE: (orgId) => `${API_BASE}/orgs/${orgId}/refs/resolve`,
27265
27265
  REFS_BACKLINKS: (orgId) => `${API_BASE}/orgs/${orgId}/refs/backlinks`,
27266
+ REFS_GRAPH: (orgId) => `${API_BASE}/orgs/${orgId}/refs/graph`,
27266
27267
  REFS_CHECK: (orgId) => `${API_BASE}/orgs/${orgId}/refs/check`,
27267
27268
  // Platform config (agent-scoped, not org-scoped)
27268
27269
  PLATFORM_CONFIG: `${API_BASE}/agents/platform-config`,
@@ -28199,7 +28200,8 @@ var ParallClient = class _ParallClient {
28199
28200
  const res = await this.request("GET", ENDPOINTS.MACHINES_ME_CLIPS);
28200
28201
  return res.data;
28201
28202
  }
28202
- /** `GET /machines/me/browser-profiles` — browser profiles hosted by this machine. */
28203
+ /** `GET /machines/me/browser-profiles` — browser profiles hosted by this machine.
28204
+ * Returns the daemon DTO (carries proxy_password for bb-browser replay). */
28203
28205
  async listMachineBrowserProfiles() {
28204
28206
  const res = await this.request("GET", ENDPOINTS.MACHINES_ME_BROWSER_PROFILES);
28205
28207
  return res.data;
@@ -28786,6 +28788,16 @@ var ParallClient = class _ParallClient {
28786
28788
  async getBacklinks(orgId, params) {
28787
28789
  return this.request("GET", ENDPOINTS.REFS_BACKLINKS(orgId), void 0, params);
28788
28790
  }
28791
+ /**
28792
+ * Bounded multi-hop walk of the prll:// reference graph around `uri`. `uri`
28793
+ * must be an entity-level prll:// URI — a refined URI (path/query/fragment) is
28794
+ * rejected with 400 UNSUPPORTED_REFINED_URI. `depth` is clamped server-side to
28795
+ * [1, 4]; breadth (node/edge counts) is capped server-side and surfaced via
28796
+ * `truncated`. ACL is applied per hop (chat membership + wiki path scope).
28797
+ */
28798
+ async getRefsGraph(orgId, params) {
28799
+ return this.request("GET", ENDPOINTS.REFS_GRAPH(orgId), void 0, params);
28800
+ }
28789
28801
  async checkBrokenRefs(orgId) {
28790
28802
  return this.request("GET", ENDPOINTS.REFS_CHECK(orgId));
28791
28803
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parall/parall",
3
- "version": "1.36.0",
3
+ "version": "1.36.1",
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.36.0",
20
- "@parall/agent-core": "1.36.0"
19
+ "@parall/agent-core": "1.36.1",
20
+ "@parall/sdk": "1.36.1"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.0.0",
@@ -69,8 +69,36 @@ parall machines logs prll://mch_xxx --lines 100
69
69
  ```bash
70
70
  parall chats list # List all chats
71
71
  parall messages list prll://cht_xxx # Read chat message history
72
+ parall messages list prll://cht_xxx --since 2026-01-01 # Only messages at/after a date (RFC3339 or YYYY-MM-DD)
72
73
  ```
73
74
 
75
+ ## Org-Context Search
76
+
77
+ Before deciding or starting non-trivial work, search the org's real history —
78
+ past discussions, decisions, tasks, and wiki notes — so you don't re-litigate
79
+ settled questions or repeat known mistakes. This searches live org data
80
+ (semantic + keyword), not a local copy, and is permission-filtered to what you
81
+ can see.
82
+
83
+ ```bash
84
+ # Semantic + keyword search across messages, tasks, and wiki
85
+ parall search "auth v5 upgrade"
86
+
87
+ # Restrict entity types (m=message, t=task, w=wiki). --channel narrows the
88
+ # MESSAGE hits to one chat (tasks/wiki are unaffected by it).
89
+ parall search "auth v5 upgrade" --types m,w --channel prll://cht_eng
90
+
91
+ # Time-box to recent activity (RFC3339 or YYYY-MM-DD). Narrows messages + tasks;
92
+ # wiki is always matched by relevance (the index has no authored timestamp).
93
+ parall search "auth v5 upgrade" --since 2026-01-01
94
+
95
+ # Narrow wiki hits to a frontmatter document type
96
+ parall search "deploy steps" --types w --wiki-type Runbook
97
+ ```
98
+
99
+ Even with zero curated notes, the raw message + task history is searchable — the
100
+ original discussion and its approval/rejection IS the precedent.
101
+
74
102
  ## Sending Messages
75
103
 
76
104
  Each `[Event: message.new]` includes `[Chat: ... (prll://cht_xxx)]` — use that chat URI to reply.
@@ -172,4 +200,26 @@ When a message or event references `prll://sch_xxx` or `prll://srn_xxx`, or when
172
200
 
173
201
  When a message or event references `prll://xcn_xxx`, `prll://xin_xxx`, `prll://xtr_xxx`, or `prll://xrn_xxx`, or when you receive `[Event: external.trigger]`, switch to the **parall-external-triggers** skill for the CLI commands (connections / triggers / events / runs).
174
202
 
203
+ ## References (relationship graph)
204
+
205
+ `prll://` references between entities form a graph — a message cites a task, a
206
+ task cites a wiki page, and so on. Walk it to answer "what is this decision /
207
+ entity connected to". All results are permission-filtered to what you can see.
208
+
209
+ ```bash
210
+ # Resolve URIs to entity metadata (titles, status, previews)
211
+ parall refs resolve prll://tsk_xxx prll://wik_xxx
212
+
213
+ # Single hop — who references X
214
+ parall refs backlinks prll://tsk_xxx
215
+
216
+ # Multi-hop — the connected sub-graph around X (entity-level URI only — no
217
+ # path/anchor; depth 1–4, default 2)
218
+ parall refs graph prll://tsk_xxx --depth 2
219
+ ```
220
+
221
+ `refs graph` traverses both directions (inbound + outbound) and returns `nodes`
222
+ and `edges` with each node's hop `depth`. `truncated: true` means a size cap clipped
223
+ the result — narrow it with a smaller `--depth`.
224
+
175
225
  CLI success output is JSON. Errors print a JSON line (`{"error","status","code",...}`) and, on a `PERMISSION_DENIED`, may add a plain-text `Request approval:` line — read both.