@relayfile/sdk 0.10.63 → 0.10.65
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/dist/package-version.d.ts +1 -1
- package/dist/package-version.js +1 -1
- package/dist/relay-cli/cloud-preflight.d.ts +99 -0
- package/dist/relay-cli/cloud-preflight.js +352 -0
- package/dist/relay-cli/command-spec.json +1682 -0
- package/dist/relay-cli/index.d.ts +119 -0
- package/dist/relay-cli/index.js +207 -0
- package/dist/relay-cli/resolve-binary.d.ts +220 -0
- package/dist/relay-cli/resolve-binary.js +565 -0
- package/package.json +21 -8
|
@@ -0,0 +1,1682 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "setup",
|
|
4
|
+
"description": "Sign in, connect an integration, and mount the workspace",
|
|
5
|
+
"options": [
|
|
6
|
+
{
|
|
7
|
+
"flags": "--cloud-api-url <url>",
|
|
8
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"flags": "--cloud-token <token>",
|
|
12
|
+
"description": "Relayfile Cloud access token; skips browser login when set"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"flags": "--workspace <name>",
|
|
16
|
+
"description": "workspace name to create"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"flags": "--provider <provider>",
|
|
20
|
+
"description": "integration provider to connect; use none to skip"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"flags": "--backend <backend>",
|
|
24
|
+
"description": "integration backend to request (nango or composio)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"flags": "--local-dir <dir>",
|
|
28
|
+
"description": "local mount directory"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"flags": "--no-open",
|
|
32
|
+
"description": "print browser URLs instead of opening them",
|
|
33
|
+
"defaultValue": false
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"flags": "--skip-mount",
|
|
37
|
+
"description": "finish after setup without starting the mount process",
|
|
38
|
+
"defaultValue": false
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"flags": "--once",
|
|
42
|
+
"description": "run one mount sync cycle and exit",
|
|
43
|
+
"defaultValue": false
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"flags": "--login-timeout <duration>",
|
|
47
|
+
"description": "cloud login timeout",
|
|
48
|
+
"defaultValue": "5m0s"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"flags": "--connect-timeout <duration>",
|
|
52
|
+
"description": "integration connection timeout",
|
|
53
|
+
"defaultValue": "5m0s"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "login",
|
|
59
|
+
"description": "Sign in via agent-relay cloud login (or --api-key for self-hosted)",
|
|
60
|
+
"options": [
|
|
61
|
+
{
|
|
62
|
+
"flags": "--server <url>",
|
|
63
|
+
"description": "relayfile server URL (only used with --api-key)"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"flags": "--token <token>",
|
|
67
|
+
"description": "relayfile API token"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"flags": "--cloud-api-url <url>",
|
|
71
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"flags": "--cloud-token <token>",
|
|
75
|
+
"description": "Relayfile Cloud access token; skips browser login when set"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"flags": "--api-key",
|
|
79
|
+
"description": "use the legacy API-key flow against --server instead of the cloud browser login",
|
|
80
|
+
"defaultValue": false
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"flags": "--no-open",
|
|
84
|
+
"description": "print the cloud sign-in URL instead of opening it",
|
|
85
|
+
"defaultValue": false
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"flags": "--login-timeout <duration>",
|
|
89
|
+
"description": "cloud login timeout",
|
|
90
|
+
"defaultValue": "5m0s"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"flags": "--workspace <name>",
|
|
94
|
+
"description": "workspace name or id to refresh; defaults to the active workspace"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"flags": "--skip-workspace-refresh",
|
|
98
|
+
"description": "sign into the cloud only; do not refresh the workspace token",
|
|
99
|
+
"defaultValue": false
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"flags": "--provision-messaging-only",
|
|
103
|
+
"description": "create a separate Relayfile-backed workspace when the active Agent Relay workspace is messaging-only",
|
|
104
|
+
"defaultValue": false
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "logout",
|
|
110
|
+
"description": "Clear Relayfile credentials from this machine"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "workspace",
|
|
114
|
+
"description": "Create, join, select via agent-relay, list, show current, or delete locally tracked workspaces",
|
|
115
|
+
"subcommands": [
|
|
116
|
+
{
|
|
117
|
+
"name": "create",
|
|
118
|
+
"description": "Create a workspace on the relayfile server",
|
|
119
|
+
"args": [
|
|
120
|
+
{
|
|
121
|
+
"name": "name",
|
|
122
|
+
"description": "workspace name",
|
|
123
|
+
"required": true
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"options": [
|
|
127
|
+
{
|
|
128
|
+
"flags": "--token <token>",
|
|
129
|
+
"description": "relayfile token override"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "join",
|
|
135
|
+
"description": "Join an existing workspace by id and track it locally",
|
|
136
|
+
"args": [
|
|
137
|
+
{
|
|
138
|
+
"name": "workspace-id",
|
|
139
|
+
"description": "workspace id to join",
|
|
140
|
+
"required": true
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"options": [
|
|
144
|
+
{
|
|
145
|
+
"flags": "--cloud-api-url <url>",
|
|
146
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"flags": "--cloud-token <token>",
|
|
150
|
+
"description": "Relayfile Cloud access token; skips browser login when set"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"flags": "--name <name>",
|
|
154
|
+
"description": "local workspace name"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"flags": "--write",
|
|
158
|
+
"description": "request read/write workspace token scopes",
|
|
159
|
+
"defaultValue": false
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"flags": "--no-open",
|
|
163
|
+
"description": "print browser URLs instead of opening them",
|
|
164
|
+
"defaultValue": false
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"flags": "--login-timeout <duration>",
|
|
168
|
+
"description": "cloud login timeout",
|
|
169
|
+
"defaultValue": "5m0s"
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "use",
|
|
175
|
+
"description": "Select the active workspace for later commands",
|
|
176
|
+
"args": [
|
|
177
|
+
{
|
|
178
|
+
"name": "name",
|
|
179
|
+
"description": "workspace name or id",
|
|
180
|
+
"required": true
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "list",
|
|
186
|
+
"description": "List locally tracked workspaces",
|
|
187
|
+
"options": [
|
|
188
|
+
{
|
|
189
|
+
"flags": "--server <url>",
|
|
190
|
+
"description": "relayfile server URL override"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"flags": "--token <token>",
|
|
194
|
+
"description": "relayfile token override"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"flags": "--names-only",
|
|
198
|
+
"description": "print bare workspace names without an active marker",
|
|
199
|
+
"defaultValue": false
|
|
200
|
+
}
|
|
201
|
+
]
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "current",
|
|
205
|
+
"description": "Show the active workspace",
|
|
206
|
+
"options": [
|
|
207
|
+
{
|
|
208
|
+
"flags": "--token <token>",
|
|
209
|
+
"description": "relayfile token override"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"flags": "--verbose",
|
|
213
|
+
"description": "include workspace id and selection source",
|
|
214
|
+
"defaultValue": false
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"name": "view",
|
|
220
|
+
"description": "Manage read-only aliases into a registered workspace mirror",
|
|
221
|
+
"subcommands": [
|
|
222
|
+
{
|
|
223
|
+
"name": "add",
|
|
224
|
+
"description": "Create an alias directory pointing into the canonical mirror",
|
|
225
|
+
"args": [
|
|
226
|
+
{
|
|
227
|
+
"name": "remote-path",
|
|
228
|
+
"description": "remote path to expose",
|
|
229
|
+
"required": true
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "local-dir",
|
|
233
|
+
"description": "local alias directory",
|
|
234
|
+
"required": true
|
|
235
|
+
}
|
|
236
|
+
],
|
|
237
|
+
"options": [
|
|
238
|
+
{
|
|
239
|
+
"flags": "--workspace <name>",
|
|
240
|
+
"description": "workspace name or id"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"flags": "--replace",
|
|
244
|
+
"description": "replace an existing relayfile view symlink",
|
|
245
|
+
"defaultValue": false
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "list",
|
|
251
|
+
"description": "List alias directories registered for a workspace",
|
|
252
|
+
"options": [
|
|
253
|
+
{
|
|
254
|
+
"flags": "--workspace <name>",
|
|
255
|
+
"description": "workspace name or id"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"flags": "--json",
|
|
259
|
+
"description": "emit JSON",
|
|
260
|
+
"defaultValue": false
|
|
261
|
+
}
|
|
262
|
+
]
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "remove",
|
|
266
|
+
"description": "Remove an alias directory",
|
|
267
|
+
"args": [
|
|
268
|
+
{
|
|
269
|
+
"name": "local-dir",
|
|
270
|
+
"description": "local alias directory",
|
|
271
|
+
"required": true
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"options": [
|
|
275
|
+
{
|
|
276
|
+
"flags": "--workspace <name>",
|
|
277
|
+
"description": "workspace name or id"
|
|
278
|
+
}
|
|
279
|
+
]
|
|
280
|
+
}
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "status",
|
|
285
|
+
"description": "Show sync status for a workspace",
|
|
286
|
+
"args": [
|
|
287
|
+
{
|
|
288
|
+
"name": "workspace",
|
|
289
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
290
|
+
"required": false
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"options": [
|
|
294
|
+
{
|
|
295
|
+
"flags": "--workspace <name>",
|
|
296
|
+
"description": "workspace name or id"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"flags": "--json",
|
|
300
|
+
"description": "emit JSON",
|
|
301
|
+
"defaultValue": false
|
|
302
|
+
}
|
|
303
|
+
]
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "delete",
|
|
307
|
+
"description": "Delete a locally tracked workspace",
|
|
308
|
+
"args": [
|
|
309
|
+
{
|
|
310
|
+
"name": "name",
|
|
311
|
+
"description": "workspace name or id",
|
|
312
|
+
"required": true
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"options": [
|
|
316
|
+
{
|
|
317
|
+
"flags": "--yes",
|
|
318
|
+
"description": "skip confirmation prompt",
|
|
319
|
+
"defaultValue": false
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
]
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "integration",
|
|
327
|
+
"description": "Connect, discover, list, disconnect, or adopt workspace integrations",
|
|
328
|
+
"subcommands": [
|
|
329
|
+
{
|
|
330
|
+
"name": "connect",
|
|
331
|
+
"description": "Connect a provider integration to a workspace",
|
|
332
|
+
"args": [
|
|
333
|
+
{
|
|
334
|
+
"name": "provider",
|
|
335
|
+
"description": "provider id, e.g. github or linear",
|
|
336
|
+
"required": true
|
|
337
|
+
}
|
|
338
|
+
],
|
|
339
|
+
"options": [
|
|
340
|
+
{
|
|
341
|
+
"flags": "--workspace <name>",
|
|
342
|
+
"description": "workspace name or id"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"flags": "--cloud-api-url <url>",
|
|
346
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"flags": "--backend <backend>",
|
|
350
|
+
"description": "integration backend to request (nango or composio)"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"flags": "--no-open",
|
|
354
|
+
"description": "print the hosted URL instead of opening it",
|
|
355
|
+
"defaultValue": false
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"flags": "--timeout <duration>",
|
|
359
|
+
"description": "integration readiness timeout",
|
|
360
|
+
"defaultValue": "5m0s"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"flags": "--wait-sync",
|
|
364
|
+
"description": "wait for initial sync before returning",
|
|
365
|
+
"defaultValue": false
|
|
366
|
+
}
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "available",
|
|
371
|
+
"description": "List providers available to connect",
|
|
372
|
+
"aliases": [
|
|
373
|
+
"catalog",
|
|
374
|
+
"providers"
|
|
375
|
+
],
|
|
376
|
+
"options": [
|
|
377
|
+
{
|
|
378
|
+
"flags": "--cloud-api-url <url>",
|
|
379
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"flags": "--backend <backend>",
|
|
383
|
+
"description": "filter by backend (nango or composio)"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"flags": "--search <query>",
|
|
387
|
+
"description": "search provider id, display name, category, or backend"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"flags": "--json",
|
|
391
|
+
"description": "emit JSON",
|
|
392
|
+
"defaultValue": false
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"flags": "--refresh",
|
|
396
|
+
"description": "refresh the cached provider catalog",
|
|
397
|
+
"defaultValue": false
|
|
398
|
+
}
|
|
399
|
+
]
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "search",
|
|
403
|
+
"description": "Search the provider catalog",
|
|
404
|
+
"args": [
|
|
405
|
+
{
|
|
406
|
+
"name": "query",
|
|
407
|
+
"description": "search query",
|
|
408
|
+
"required": true
|
|
409
|
+
}
|
|
410
|
+
],
|
|
411
|
+
"options": [
|
|
412
|
+
{
|
|
413
|
+
"flags": "--cloud-api-url <url>",
|
|
414
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"flags": "--backend <backend>",
|
|
418
|
+
"description": "filter by backend (nango or composio)"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"flags": "--json",
|
|
422
|
+
"description": "emit JSON",
|
|
423
|
+
"defaultValue": false
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"flags": "--refresh",
|
|
427
|
+
"description": "refresh the cached provider catalog",
|
|
428
|
+
"defaultValue": false
|
|
429
|
+
}
|
|
430
|
+
]
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"name": "list",
|
|
434
|
+
"description": "List a workspace's connected integrations",
|
|
435
|
+
"options": [
|
|
436
|
+
{
|
|
437
|
+
"flags": "--workspace <name>",
|
|
438
|
+
"description": "workspace name or id"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"flags": "--json",
|
|
442
|
+
"description": "emit JSON",
|
|
443
|
+
"defaultValue": false
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"flags": "--cloud-api-url <url>",
|
|
447
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"flags": "--cloud-token <token>",
|
|
451
|
+
"description": "Relayfile Cloud access token"
|
|
452
|
+
}
|
|
453
|
+
]
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "disconnect",
|
|
457
|
+
"description": "Disconnect a provider integration",
|
|
458
|
+
"args": [
|
|
459
|
+
{
|
|
460
|
+
"name": "provider",
|
|
461
|
+
"description": "provider id",
|
|
462
|
+
"required": true
|
|
463
|
+
}
|
|
464
|
+
],
|
|
465
|
+
"options": [
|
|
466
|
+
{
|
|
467
|
+
"flags": "--workspace <name>",
|
|
468
|
+
"description": "workspace name or id"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"flags": "--cloud-api-url <url>",
|
|
472
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"flags": "--yes",
|
|
476
|
+
"description": "skip confirmation",
|
|
477
|
+
"defaultValue": false
|
|
478
|
+
}
|
|
479
|
+
]
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "adopt",
|
|
483
|
+
"description": "Adopt an existing Nango connection as a workspace integration",
|
|
484
|
+
"args": [
|
|
485
|
+
{
|
|
486
|
+
"name": "provider",
|
|
487
|
+
"description": "provider id",
|
|
488
|
+
"required": true
|
|
489
|
+
}
|
|
490
|
+
],
|
|
491
|
+
"options": [
|
|
492
|
+
{
|
|
493
|
+
"flags": "--workspace <name>",
|
|
494
|
+
"description": "workspace name or id"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"flags": "--cloud-api-url <url>",
|
|
498
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"flags": "--connection-id <id>",
|
|
502
|
+
"description": "Nango connection id to adopt (required)"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"flags": "--provider-config-key <key>",
|
|
506
|
+
"description": "optional Nango providerConfigKey override"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"flags": "--yes",
|
|
510
|
+
"description": "skip confirmation",
|
|
511
|
+
"defaultValue": false
|
|
512
|
+
}
|
|
513
|
+
]
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"name": "set-metadata",
|
|
517
|
+
"description": "Set provider connection metadata as KEY=VALUE pairs",
|
|
518
|
+
"args": [
|
|
519
|
+
{
|
|
520
|
+
"name": "provider",
|
|
521
|
+
"description": "provider id",
|
|
522
|
+
"required": true
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "assignments",
|
|
526
|
+
"description": "one or more KEY=VALUE metadata assignments",
|
|
527
|
+
"required": true,
|
|
528
|
+
"variadic": true
|
|
529
|
+
}
|
|
530
|
+
],
|
|
531
|
+
"options": [
|
|
532
|
+
{
|
|
533
|
+
"flags": "--workspace <name>",
|
|
534
|
+
"description": "workspace name or id"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"flags": "--cloud-api-url <url>",
|
|
538
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"flags": "--yes",
|
|
542
|
+
"description": "skip confirmation",
|
|
543
|
+
"defaultValue": false
|
|
544
|
+
}
|
|
545
|
+
]
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"name": "bind",
|
|
549
|
+
"description": "Bind a provider resource or path glob to a relay channel",
|
|
550
|
+
"args": [
|
|
551
|
+
{
|
|
552
|
+
"name": "provider",
|
|
553
|
+
"description": "provider id",
|
|
554
|
+
"required": false
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"name": "resource",
|
|
558
|
+
"description": "provider resource or path glob",
|
|
559
|
+
"required": false
|
|
560
|
+
}
|
|
561
|
+
],
|
|
562
|
+
"options": [
|
|
563
|
+
{
|
|
564
|
+
"flags": "--list",
|
|
565
|
+
"description": "list active relay bindings as JSON",
|
|
566
|
+
"defaultValue": false
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"flags": "--json",
|
|
570
|
+
"description": "accepted for consistency with other JSON-emitting integration commands",
|
|
571
|
+
"defaultValue": false
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"flags": "--channel <channel>",
|
|
575
|
+
"description": "relay channel to receive provider records"
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"flags": "--webhook <id>",
|
|
579
|
+
"description": "RelayCast inbound webhook id"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"flags": "--webhook-token <token>",
|
|
583
|
+
"description": "RelayCast inbound webhook token"
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"flags": "--subscription <id>",
|
|
587
|
+
"description": "relay integration subscription id"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"flags": "--webhook-subscription <id>",
|
|
591
|
+
"description": "relayfile-cloud inbound webhook subscription id"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"flags": "--webhook-subscription-workspace <id>",
|
|
595
|
+
"description": "workspace the webhook subscription was created in (pairs with --webhook-subscription)"
|
|
596
|
+
}
|
|
597
|
+
]
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"name": "resolve-path",
|
|
601
|
+
"description": "Resolve a provider resource to its relayfile path",
|
|
602
|
+
"args": [
|
|
603
|
+
{
|
|
604
|
+
"name": "provider",
|
|
605
|
+
"description": "provider id",
|
|
606
|
+
"required": true
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "resource",
|
|
610
|
+
"description": "provider resource identifier",
|
|
611
|
+
"required": true
|
|
612
|
+
}
|
|
613
|
+
],
|
|
614
|
+
"options": [
|
|
615
|
+
{
|
|
616
|
+
"flags": "--json",
|
|
617
|
+
"description": "emit JSON",
|
|
618
|
+
"defaultValue": false
|
|
619
|
+
}
|
|
620
|
+
]
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"name": "unbind",
|
|
624
|
+
"description": "Remove a relay binding for a provider",
|
|
625
|
+
"args": [
|
|
626
|
+
{
|
|
627
|
+
"name": "provider",
|
|
628
|
+
"description": "provider id",
|
|
629
|
+
"required": true
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"name": "resource",
|
|
633
|
+
"description": "path glob or resource to unbind; may be passed as --resource instead",
|
|
634
|
+
"required": false
|
|
635
|
+
}
|
|
636
|
+
],
|
|
637
|
+
"options": [
|
|
638
|
+
{
|
|
639
|
+
"flags": "--resource <resource>",
|
|
640
|
+
"description": "path glob/resource to unbind"
|
|
641
|
+
}
|
|
642
|
+
]
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"name": "writeback-secret",
|
|
646
|
+
"description": "Print the writeback secret for a bound relay channel",
|
|
647
|
+
"options": [
|
|
648
|
+
{
|
|
649
|
+
"flags": "--workspace <name>",
|
|
650
|
+
"description": "workspace name or id"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"flags": "--channel <channel>",
|
|
654
|
+
"description": "relay channel the binding delivers to"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"flags": "--json",
|
|
658
|
+
"description": "emit JSON",
|
|
659
|
+
"defaultValue": false
|
|
660
|
+
}
|
|
661
|
+
]
|
|
662
|
+
}
|
|
663
|
+
]
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"name": "ops",
|
|
667
|
+
"description": "List or replay dead-lettered writeback ops",
|
|
668
|
+
"subcommands": [
|
|
669
|
+
{
|
|
670
|
+
"name": "list",
|
|
671
|
+
"description": "List dead-lettered writeback ops",
|
|
672
|
+
"options": [
|
|
673
|
+
{
|
|
674
|
+
"flags": "--workspace <name>",
|
|
675
|
+
"description": "workspace name or id"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"flags": "--json",
|
|
679
|
+
"description": "emit JSON",
|
|
680
|
+
"defaultValue": false
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"flags": "--no-refresh",
|
|
684
|
+
"description": "skip refreshing the local mirror from the server",
|
|
685
|
+
"defaultValue": false
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"flags": "--server <url>",
|
|
689
|
+
"description": "relayfile server URL override"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"flags": "--token <token>",
|
|
693
|
+
"description": "relayfile token override"
|
|
694
|
+
}
|
|
695
|
+
]
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"name": "replay",
|
|
699
|
+
"description": "Replay one dead-lettered writeback op",
|
|
700
|
+
"args": [
|
|
701
|
+
{
|
|
702
|
+
"name": "op-id",
|
|
703
|
+
"description": "dead-lettered operation id",
|
|
704
|
+
"required": true
|
|
705
|
+
}
|
|
706
|
+
],
|
|
707
|
+
"options": [
|
|
708
|
+
{
|
|
709
|
+
"flags": "--workspace <name>",
|
|
710
|
+
"description": "workspace name or id"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"flags": "--cloud-api-url <url>",
|
|
714
|
+
"description": "Relayfile Cloud API URL (default: $RELAYFILE_CLOUD_API_URL or https://agentrelay.com/cloud)"
|
|
715
|
+
}
|
|
716
|
+
]
|
|
717
|
+
}
|
|
718
|
+
]
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"name": "writeback",
|
|
722
|
+
"description": "Inspect or retry local writeback failures",
|
|
723
|
+
"subcommands": [
|
|
724
|
+
{
|
|
725
|
+
"name": "list",
|
|
726
|
+
"description": "List local writeback items by state",
|
|
727
|
+
"options": [
|
|
728
|
+
{
|
|
729
|
+
"flags": "--state <state>",
|
|
730
|
+
"description": "writeback state: pending or dead"
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"flags": "--workspace <name>",
|
|
734
|
+
"description": "workspace name or id"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"flags": "--json",
|
|
738
|
+
"description": "emit JSON",
|
|
739
|
+
"defaultValue": false
|
|
740
|
+
}
|
|
741
|
+
]
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"name": "push",
|
|
745
|
+
"description": "Push a local file to the workspace and wait for its receipt",
|
|
746
|
+
"args": [
|
|
747
|
+
{
|
|
748
|
+
"name": "local-path",
|
|
749
|
+
"description": "local mirror path to push",
|
|
750
|
+
"required": true
|
|
751
|
+
}
|
|
752
|
+
],
|
|
753
|
+
"options": [
|
|
754
|
+
{
|
|
755
|
+
"flags": "--workspace <name>",
|
|
756
|
+
"description": "workspace name or id"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"flags": "--server <url>",
|
|
760
|
+
"description": "relayfile server URL override"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"flags": "--token <token>",
|
|
764
|
+
"description": "relayfile token override"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"flags": "--json",
|
|
768
|
+
"description": "emit JSON",
|
|
769
|
+
"defaultValue": false
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"flags": "--timeout <duration>",
|
|
773
|
+
"description": "operation receipt wait timeout",
|
|
774
|
+
"defaultValue": "1m30s"
|
|
775
|
+
}
|
|
776
|
+
]
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "update",
|
|
780
|
+
"description": "Update a workspace file from its local mirror copy",
|
|
781
|
+
"args": [
|
|
782
|
+
{
|
|
783
|
+
"name": "local-path",
|
|
784
|
+
"description": "local mirror path to update",
|
|
785
|
+
"required": true
|
|
786
|
+
}
|
|
787
|
+
],
|
|
788
|
+
"options": [
|
|
789
|
+
{
|
|
790
|
+
"flags": "--workspace <name>",
|
|
791
|
+
"description": "workspace name or id"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"flags": "--server <url>",
|
|
795
|
+
"description": "relayfile server URL override"
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"flags": "--token <token>",
|
|
799
|
+
"description": "relayfile token override"
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"flags": "--json",
|
|
803
|
+
"description": "emit JSON",
|
|
804
|
+
"defaultValue": false
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"flags": "--timeout <duration>",
|
|
808
|
+
"description": "operation receipt wait timeout",
|
|
809
|
+
"defaultValue": "1m30s"
|
|
810
|
+
}
|
|
811
|
+
]
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "delete",
|
|
815
|
+
"description": "Delete a workspace file via its local mirror path",
|
|
816
|
+
"args": [
|
|
817
|
+
{
|
|
818
|
+
"name": "local-path",
|
|
819
|
+
"description": "local mirror path to delete",
|
|
820
|
+
"required": true
|
|
821
|
+
}
|
|
822
|
+
],
|
|
823
|
+
"options": [
|
|
824
|
+
{
|
|
825
|
+
"flags": "--workspace <name>",
|
|
826
|
+
"description": "workspace name or id"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"flags": "--server <url>",
|
|
830
|
+
"description": "relayfile server URL override"
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"flags": "--token <token>",
|
|
834
|
+
"description": "relayfile token override"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"flags": "--json",
|
|
838
|
+
"description": "emit JSON",
|
|
839
|
+
"defaultValue": false
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"flags": "--timeout <duration>",
|
|
843
|
+
"description": "operation receipt wait timeout",
|
|
844
|
+
"defaultValue": "1m30s"
|
|
845
|
+
}
|
|
846
|
+
]
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"name": "status",
|
|
850
|
+
"description": "Show local pending, failed, and dead-lettered writebacks",
|
|
851
|
+
"args": [
|
|
852
|
+
{
|
|
853
|
+
"name": "workspace",
|
|
854
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
855
|
+
"required": false
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"options": [
|
|
859
|
+
{
|
|
860
|
+
"flags": "--json",
|
|
861
|
+
"description": "emit JSON",
|
|
862
|
+
"defaultValue": false
|
|
863
|
+
}
|
|
864
|
+
]
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"name": "retry",
|
|
868
|
+
"description": "Re-enqueue a local dead-lettered writeback op",
|
|
869
|
+
"args": [
|
|
870
|
+
{
|
|
871
|
+
"name": "workspace",
|
|
872
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
873
|
+
"required": false
|
|
874
|
+
}
|
|
875
|
+
],
|
|
876
|
+
"options": [
|
|
877
|
+
{
|
|
878
|
+
"flags": "--op-id <id>",
|
|
879
|
+
"description": "dead-lettered operation id (also accepted as --opId)"
|
|
880
|
+
}
|
|
881
|
+
]
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"name": "skip-stuck",
|
|
885
|
+
"description": "Walk the events cursor past stuck (404) events without waiting the treat-as-deleted timer",
|
|
886
|
+
"args": [
|
|
887
|
+
{
|
|
888
|
+
"name": "workspace",
|
|
889
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
890
|
+
"required": false
|
|
891
|
+
}
|
|
892
|
+
],
|
|
893
|
+
"options": [
|
|
894
|
+
{
|
|
895
|
+
"flags": "--workspace <name>",
|
|
896
|
+
"description": "workspace name or id"
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"flags": "--max <n>",
|
|
900
|
+
"description": "maximum number of stuck events to skip (0 = unbounded)",
|
|
901
|
+
"defaultValue": 0
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"flags": "--json",
|
|
905
|
+
"description": "emit JSON",
|
|
906
|
+
"defaultValue": false
|
|
907
|
+
}
|
|
908
|
+
]
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"name": "sweep-drafts",
|
|
912
|
+
"description": "Remove hand-named draft files left behind under a workspace subtree",
|
|
913
|
+
"args": [
|
|
914
|
+
{
|
|
915
|
+
"name": "workspace",
|
|
916
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
917
|
+
"required": false
|
|
918
|
+
}
|
|
919
|
+
],
|
|
920
|
+
"options": [
|
|
921
|
+
{
|
|
922
|
+
"flags": "--path-prefix <prefix>",
|
|
923
|
+
"description": "restrict the sweep to a subtree"
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"flags": "--pattern <glob>",
|
|
927
|
+
"description": "basename glob for hand-named drafts (repeatable), e.g. wb-*.json"
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"flags": "--apply",
|
|
931
|
+
"description": "execute removals (default is a dry run)",
|
|
932
|
+
"defaultValue": false
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"flags": "--json",
|
|
936
|
+
"description": "emit JSON",
|
|
937
|
+
"defaultValue": false
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"flags": "--server <url>",
|
|
941
|
+
"description": "relayfile server URL override"
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"flags": "--token <token>",
|
|
945
|
+
"description": "relayfile token override"
|
|
946
|
+
}
|
|
947
|
+
]
|
|
948
|
+
}
|
|
949
|
+
]
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"name": "digest",
|
|
953
|
+
"description": "Regenerate workspace digests",
|
|
954
|
+
"subcommands": [
|
|
955
|
+
{
|
|
956
|
+
"name": "rebuild",
|
|
957
|
+
"description": "Regenerate daily, weekly, or date-stamped digest artifacts",
|
|
958
|
+
"options": [
|
|
959
|
+
{
|
|
960
|
+
"flags": "--window <window>",
|
|
961
|
+
"description": "digest window: today, yesterday, this-week, last-week, or YYYY-MM-DD"
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"flags": "--workspace <name>",
|
|
965
|
+
"description": "workspace name or id"
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"flags": "--json",
|
|
969
|
+
"description": "print machine-readable JSON",
|
|
970
|
+
"defaultValue": false
|
|
971
|
+
}
|
|
972
|
+
]
|
|
973
|
+
}
|
|
974
|
+
]
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"name": "pull",
|
|
978
|
+
"description": "Trigger an immediate sync refresh for one or all providers",
|
|
979
|
+
"options": [
|
|
980
|
+
{
|
|
981
|
+
"flags": "--workspace <name>",
|
|
982
|
+
"description": "workspace name or id"
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"flags": "--provider <provider>",
|
|
986
|
+
"description": "provider id (default: refresh all connected providers)"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"flags": "--reason <text>",
|
|
990
|
+
"description": "free-form reason recorded server-side",
|
|
991
|
+
"defaultValue": "manual"
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"flags": "--server <url>",
|
|
995
|
+
"description": "relayfile server URL override"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"flags": "--token <token>",
|
|
999
|
+
"description": "relayfile token override"
|
|
1000
|
+
}
|
|
1001
|
+
]
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"name": "mount",
|
|
1005
|
+
"description": "Mirror a remote workspace to a local directory; add --background to detach",
|
|
1006
|
+
"aliases": [
|
|
1007
|
+
"start",
|
|
1008
|
+
"on"
|
|
1009
|
+
],
|
|
1010
|
+
"args": [
|
|
1011
|
+
{
|
|
1012
|
+
"name": "workspace",
|
|
1013
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1014
|
+
"required": false
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"name": "local-dir",
|
|
1018
|
+
"description": "local mirror directory",
|
|
1019
|
+
"required": false
|
|
1020
|
+
}
|
|
1021
|
+
],
|
|
1022
|
+
"options": [
|
|
1023
|
+
{
|
|
1024
|
+
"flags": "--server <url>",
|
|
1025
|
+
"description": "relayfile server URL"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"flags": "--token <token>",
|
|
1029
|
+
"description": "bearer token"
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"flags": "--creds-file <file>",
|
|
1033
|
+
"description": "delegated relayfile credentials file"
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"flags": "--remote-path <path>",
|
|
1037
|
+
"description": "remote root path (may be repeated)"
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"flags": "--paths-file <file>",
|
|
1041
|
+
"description": "file containing remote root paths, as a JSON array or newline-separated list"
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"flags": "--local-layout <layout>",
|
|
1045
|
+
"description": "local directory layout: exact or scoped"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"flags": "--provider <provider>",
|
|
1049
|
+
"description": "event provider filter"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"flags": "--state-file <file>",
|
|
1053
|
+
"description": "state file path"
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
"flags": "--state-dir <dir>",
|
|
1057
|
+
"description": "directory for private mount state"
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
"flags": "--mount-kind <kind>",
|
|
1061
|
+
"description": "private state identity kind: daemon, flush, or initial-sync"
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"flags": "--local-dir <dir>",
|
|
1065
|
+
"description": "local mirror directory"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"flags": "--mode <mode>",
|
|
1069
|
+
"description": "mount mode: poll (recommended) or fuse"
|
|
1070
|
+
},
|
|
1071
|
+
{
|
|
1072
|
+
"flags": "--interval <duration>",
|
|
1073
|
+
"description": "sync interval"
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"flags": "--interval-jitter <ratio>",
|
|
1077
|
+
"description": "sync interval jitter ratio (0.0-1.0)"
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"flags": "--timeout <duration>",
|
|
1081
|
+
"description": "per-sync timeout"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"flags": "--bootstrap-timeout <duration>",
|
|
1085
|
+
"description": "hard cap for the one-time/full-tree bootstrap pull (0 = unbounded while making progress)"
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"flags": "--bootstrap-max-files-per-cycle <n>",
|
|
1089
|
+
"description": "maximum files materialized per resumable tree-bootstrap cycle (-1 = legacy unbounded tree behavior)"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"flags": "--full-pull-min-interval <duration>",
|
|
1093
|
+
"description": "minimum wall-clock interval between completed periodic full-tree audits (-1 disables the time guard)"
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"flags": "--cursor-timeout <duration>",
|
|
1097
|
+
"description": "independent timeout for events-cursor resolution"
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
"flags": "--full-reconcile",
|
|
1101
|
+
"description": "force one full reconcile regardless of bootstrap-complete state (escape hatch)"
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"flags": "--websocket",
|
|
1105
|
+
"description": "enable websocket event streaming when available"
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
"flags": "--low-memory",
|
|
1109
|
+
"description": "reduce mount memory use by omitting per-file public state and deferring content reads"
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"flags": "--pprof-addr <addr>",
|
|
1113
|
+
"description": "optional pprof listen address, e.g. 127.0.0.1:6060"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"flags": "--memlog-interval <duration>",
|
|
1117
|
+
"description": "optional interval for logging runtime memory stats"
|
|
1118
|
+
},
|
|
1119
|
+
{
|
|
1120
|
+
"flags": "--background",
|
|
1121
|
+
"description": "detach and keep syncing in the background",
|
|
1122
|
+
"defaultValue": false
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"flags": "--pid-file <file>",
|
|
1126
|
+
"description": "pid file path for background mode"
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
"flags": "--log-file <file>",
|
|
1130
|
+
"description": "log file path for background mode"
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"flags": "--daemonized",
|
|
1134
|
+
"description": "internal flag used by relayfile mount --background",
|
|
1135
|
+
"defaultValue": false
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
"flags": "--once",
|
|
1139
|
+
"description": "run one sync cycle and exit",
|
|
1140
|
+
"defaultValue": false
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"flags": "--reset-after-clobber",
|
|
1144
|
+
"description": "acknowledge a mount-root clobber and authorize daemon to recreate the directory"
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"flags": "--rehome",
|
|
1148
|
+
"description": "allow re-homing an already-registered workspace mirror to a different LOCAL_DIR",
|
|
1149
|
+
"defaultValue": false
|
|
1150
|
+
}
|
|
1151
|
+
],
|
|
1152
|
+
"subcommands": [
|
|
1153
|
+
{
|
|
1154
|
+
"name": "checkpoint-seal",
|
|
1155
|
+
"description": "Seal a mount checkpoint for controller-driven cutover",
|
|
1156
|
+
"options": [
|
|
1157
|
+
{
|
|
1158
|
+
"flags": "--root <path>",
|
|
1159
|
+
"description": "absolute local mount root"
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"flags": "--lifecycle-id <id>",
|
|
1163
|
+
"description": "stable controller-persisted cutover lifecycle id"
|
|
1164
|
+
},
|
|
1165
|
+
{
|
|
1166
|
+
"flags": "--session <id>",
|
|
1167
|
+
"description": "live session identifier"
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
"flags": "--generation <n>",
|
|
1171
|
+
"description": "strictly increasing migration generation",
|
|
1172
|
+
"defaultValue": 0
|
|
1173
|
+
},
|
|
1174
|
+
{
|
|
1175
|
+
"flags": "--timeout <duration>",
|
|
1176
|
+
"description": "checkpoint deadline",
|
|
1177
|
+
"defaultValue": "30s"
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"flags": "--ttl <duration>",
|
|
1181
|
+
"description": "server receipt TTL"
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"flags": "--json",
|
|
1185
|
+
"description": "emit the machine contract",
|
|
1186
|
+
"defaultValue": false
|
|
1187
|
+
}
|
|
1188
|
+
],
|
|
1189
|
+
"hidden": true
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"name": "resume-seal",
|
|
1193
|
+
"description": "Resume a sealed mount checkpoint on the destination host",
|
|
1194
|
+
"options": [
|
|
1195
|
+
{
|
|
1196
|
+
"flags": "--root <path>",
|
|
1197
|
+
"description": "absolute local mount root"
|
|
1198
|
+
},
|
|
1199
|
+
{
|
|
1200
|
+
"flags": "--timeout <duration>",
|
|
1201
|
+
"description": "resume readiness deadline"
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"flags": "--json",
|
|
1205
|
+
"description": "emit the machine contract",
|
|
1206
|
+
"defaultValue": false
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1209
|
+
"hidden": true
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"name": "verify-seal",
|
|
1213
|
+
"description": "Verify a resumed mount checkpoint and recover if needed",
|
|
1214
|
+
"options": [
|
|
1215
|
+
{
|
|
1216
|
+
"flags": "--root <path>",
|
|
1217
|
+
"description": "absolute local mount root"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"flags": "--timeout <duration>",
|
|
1221
|
+
"description": "verification and recovery deadline"
|
|
1222
|
+
},
|
|
1223
|
+
{
|
|
1224
|
+
"flags": "--json",
|
|
1225
|
+
"description": "emit the machine contract",
|
|
1226
|
+
"defaultValue": false
|
|
1227
|
+
}
|
|
1228
|
+
],
|
|
1229
|
+
"hidden": true
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"name": "handback-seal",
|
|
1233
|
+
"description": "Drain and hand a verified mount back to its original host",
|
|
1234
|
+
"options": [
|
|
1235
|
+
{
|
|
1236
|
+
"flags": "--root <path>",
|
|
1237
|
+
"description": "absolute local mount root"
|
|
1238
|
+
},
|
|
1239
|
+
{
|
|
1240
|
+
"flags": "--timeout <duration>",
|
|
1241
|
+
"description": "final drain and handback deadline"
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
"flags": "--json",
|
|
1245
|
+
"description": "emit the machine contract",
|
|
1246
|
+
"defaultValue": false
|
|
1247
|
+
}
|
|
1248
|
+
],
|
|
1249
|
+
"hidden": true
|
|
1250
|
+
}
|
|
1251
|
+
]
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
"name": "restart",
|
|
1255
|
+
"description": "Stop and start a workspace's mount in one step (--foreground to attach)",
|
|
1256
|
+
"args": [
|
|
1257
|
+
{
|
|
1258
|
+
"name": "workspace",
|
|
1259
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1260
|
+
"required": false
|
|
1261
|
+
}
|
|
1262
|
+
],
|
|
1263
|
+
"options": [
|
|
1264
|
+
{
|
|
1265
|
+
"flags": "--foreground",
|
|
1266
|
+
"description": "run the restarted mount in the foreground instead of detaching",
|
|
1267
|
+
"defaultValue": false
|
|
1268
|
+
}
|
|
1269
|
+
]
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"name": "supervisor",
|
|
1273
|
+
"description": "Install/uninstall/status launchd (macOS) or systemd (Linux) service for auto-restart",
|
|
1274
|
+
"subcommands": [
|
|
1275
|
+
{
|
|
1276
|
+
"name": "install",
|
|
1277
|
+
"description": "Install the auto-restart service for a workspace mount",
|
|
1278
|
+
"args": [
|
|
1279
|
+
{
|
|
1280
|
+
"name": "workspace",
|
|
1281
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1282
|
+
"required": false
|
|
1283
|
+
}
|
|
1284
|
+
],
|
|
1285
|
+
"options": [
|
|
1286
|
+
{
|
|
1287
|
+
"flags": "--server <url>",
|
|
1288
|
+
"description": "relayfile server URL override"
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"flags": "--token <token>",
|
|
1292
|
+
"description": "relayfile token override"
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
"flags": "--provider <provider>",
|
|
1296
|
+
"description": "filter to a specific provider (e.g. linear, notion)"
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"flags": "--path <glob>",
|
|
1300
|
+
"description": "glob path filter (e.g. /linear/issues/**)"
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"flags": "--event <type>",
|
|
1304
|
+
"description": "event type filter: file.created, file.updated, file.deleted"
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
"flags": "--run <command>",
|
|
1308
|
+
"description": "shell command per event; supports {{path}}, {{type}}, {{provider}}, {{revision}}, {{event}}"
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"flags": "--format <format>",
|
|
1312
|
+
"description": "output format when --run is not set: text or json",
|
|
1313
|
+
"defaultValue": "text"
|
|
1314
|
+
}
|
|
1315
|
+
]
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
"name": "uninstall",
|
|
1319
|
+
"description": "Remove the auto-restart service",
|
|
1320
|
+
"aliases": [
|
|
1321
|
+
"remove"
|
|
1322
|
+
]
|
|
1323
|
+
},
|
|
1324
|
+
{
|
|
1325
|
+
"name": "status",
|
|
1326
|
+
"description": "Show the auto-restart service state"
|
|
1327
|
+
}
|
|
1328
|
+
]
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"name": "tree",
|
|
1332
|
+
"description": "List a remote workspace path",
|
|
1333
|
+
"aliases": [
|
|
1334
|
+
"ls"
|
|
1335
|
+
],
|
|
1336
|
+
"args": [
|
|
1337
|
+
{
|
|
1338
|
+
"name": "workspace",
|
|
1339
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1340
|
+
"required": false
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"name": "path",
|
|
1344
|
+
"description": "remote path to list; defaults to /",
|
|
1345
|
+
"required": false
|
|
1346
|
+
}
|
|
1347
|
+
],
|
|
1348
|
+
"options": [
|
|
1349
|
+
{
|
|
1350
|
+
"flags": "--server <url>",
|
|
1351
|
+
"description": "relayfile server URL override"
|
|
1352
|
+
},
|
|
1353
|
+
{
|
|
1354
|
+
"flags": "--token <token>",
|
|
1355
|
+
"description": "relayfile token override"
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"flags": "--path <path>",
|
|
1359
|
+
"description": "remote path to list",
|
|
1360
|
+
"defaultValue": "/"
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
"flags": "--depth <n>",
|
|
1364
|
+
"description": "tree depth",
|
|
1365
|
+
"defaultValue": 1
|
|
1366
|
+
},
|
|
1367
|
+
{
|
|
1368
|
+
"flags": "--json",
|
|
1369
|
+
"description": "print the raw JSON response",
|
|
1370
|
+
"defaultValue": false
|
|
1371
|
+
}
|
|
1372
|
+
]
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
"name": "read",
|
|
1376
|
+
"description": "Print a remote file's content",
|
|
1377
|
+
"aliases": [
|
|
1378
|
+
"cat"
|
|
1379
|
+
],
|
|
1380
|
+
"args": [
|
|
1381
|
+
{
|
|
1382
|
+
"name": "workspace",
|
|
1383
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1384
|
+
"required": false
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"name": "path",
|
|
1388
|
+
"description": "remote file path (required; the sole positional when no workspace is given)",
|
|
1389
|
+
"required": false
|
|
1390
|
+
}
|
|
1391
|
+
],
|
|
1392
|
+
"options": [
|
|
1393
|
+
{
|
|
1394
|
+
"flags": "--server <url>",
|
|
1395
|
+
"description": "relayfile server URL override"
|
|
1396
|
+
},
|
|
1397
|
+
{
|
|
1398
|
+
"flags": "--token <token>",
|
|
1399
|
+
"description": "relayfile token override"
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"flags": "--output <file>",
|
|
1403
|
+
"description": "output file path or - for stdout",
|
|
1404
|
+
"defaultValue": "-"
|
|
1405
|
+
},
|
|
1406
|
+
{
|
|
1407
|
+
"flags": "--json",
|
|
1408
|
+
"description": "print the raw JSON response",
|
|
1409
|
+
"defaultValue": false
|
|
1410
|
+
}
|
|
1411
|
+
]
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"name": "seed",
|
|
1415
|
+
"description": "Upload a directory tree with bulk writes",
|
|
1416
|
+
"args": [
|
|
1417
|
+
{
|
|
1418
|
+
"name": "workspace",
|
|
1419
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1420
|
+
"required": false
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"name": "dir",
|
|
1424
|
+
"description": "local directory to upload; defaults to the current directory",
|
|
1425
|
+
"required": false
|
|
1426
|
+
}
|
|
1427
|
+
],
|
|
1428
|
+
"options": [
|
|
1429
|
+
{
|
|
1430
|
+
"flags": "--server <url>",
|
|
1431
|
+
"description": "relayfile server URL override"
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
"flags": "--token <token>",
|
|
1435
|
+
"description": "relayfile token override"
|
|
1436
|
+
}
|
|
1437
|
+
]
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
"name": "export",
|
|
1441
|
+
"description": "Export a workspace as json, tar, or patch",
|
|
1442
|
+
"args": [
|
|
1443
|
+
{
|
|
1444
|
+
"name": "workspace",
|
|
1445
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1446
|
+
"required": false
|
|
1447
|
+
}
|
|
1448
|
+
],
|
|
1449
|
+
"options": [
|
|
1450
|
+
{
|
|
1451
|
+
"flags": "--server <url>",
|
|
1452
|
+
"description": "relayfile server URL override"
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
"flags": "--token <token>",
|
|
1456
|
+
"description": "relayfile token override"
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"flags": "--format <format>",
|
|
1460
|
+
"description": "export format: tar, json, or patch",
|
|
1461
|
+
"defaultValue": "json"
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"flags": "--output <file>",
|
|
1465
|
+
"description": "output file path or - for stdout",
|
|
1466
|
+
"defaultValue": "-"
|
|
1467
|
+
}
|
|
1468
|
+
]
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
"name": "status",
|
|
1472
|
+
"description": "Show sync status and local mirror state for a workspace",
|
|
1473
|
+
"args": [
|
|
1474
|
+
{
|
|
1475
|
+
"name": "workspace",
|
|
1476
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1477
|
+
"required": false
|
|
1478
|
+
}
|
|
1479
|
+
],
|
|
1480
|
+
"options": [
|
|
1481
|
+
{
|
|
1482
|
+
"flags": "--server <url>",
|
|
1483
|
+
"description": "relayfile server URL override"
|
|
1484
|
+
},
|
|
1485
|
+
{
|
|
1486
|
+
"flags": "--token <token>",
|
|
1487
|
+
"description": "relayfile token override"
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"flags": "--json",
|
|
1491
|
+
"description": "emit JSON",
|
|
1492
|
+
"defaultValue": false
|
|
1493
|
+
}
|
|
1494
|
+
]
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
"name": "stop",
|
|
1498
|
+
"description": "Stop a background mount",
|
|
1499
|
+
"aliases": [
|
|
1500
|
+
"off"
|
|
1501
|
+
],
|
|
1502
|
+
"args": [
|
|
1503
|
+
{
|
|
1504
|
+
"name": "workspace",
|
|
1505
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1506
|
+
"required": false
|
|
1507
|
+
}
|
|
1508
|
+
]
|
|
1509
|
+
},
|
|
1510
|
+
{
|
|
1511
|
+
"name": "logs",
|
|
1512
|
+
"description": "Print the background mount log",
|
|
1513
|
+
"args": [
|
|
1514
|
+
{
|
|
1515
|
+
"name": "workspace",
|
|
1516
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1517
|
+
"required": false
|
|
1518
|
+
}
|
|
1519
|
+
],
|
|
1520
|
+
"options": [
|
|
1521
|
+
{
|
|
1522
|
+
"flags": "--lines <n>",
|
|
1523
|
+
"description": "number of lines to print",
|
|
1524
|
+
"defaultValue": 40
|
|
1525
|
+
}
|
|
1526
|
+
]
|
|
1527
|
+
},
|
|
1528
|
+
{
|
|
1529
|
+
"name": "observer",
|
|
1530
|
+
"description": "Open the hosted file observer for a workspace",
|
|
1531
|
+
"args": [
|
|
1532
|
+
{
|
|
1533
|
+
"name": "workspace",
|
|
1534
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1535
|
+
"required": false
|
|
1536
|
+
}
|
|
1537
|
+
],
|
|
1538
|
+
"options": [
|
|
1539
|
+
{
|
|
1540
|
+
"flags": "--server <url>",
|
|
1541
|
+
"description": "relayfile server URL override"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"flags": "--token <token>",
|
|
1545
|
+
"description": "relayfile token override"
|
|
1546
|
+
},
|
|
1547
|
+
{
|
|
1548
|
+
"flags": "--url <url>",
|
|
1549
|
+
"description": "observer URL (default: $RELAYFILE_OBSERVER_URL or the hosted observer)"
|
|
1550
|
+
},
|
|
1551
|
+
{
|
|
1552
|
+
"flags": "--no-open",
|
|
1553
|
+
"description": "print the observer URL without opening a browser",
|
|
1554
|
+
"defaultValue": false
|
|
1555
|
+
}
|
|
1556
|
+
]
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
"name": "listen",
|
|
1560
|
+
"description": "Stream workspace file events, optionally running a command per event",
|
|
1561
|
+
"aliases": [
|
|
1562
|
+
"watch"
|
|
1563
|
+
],
|
|
1564
|
+
"args": [
|
|
1565
|
+
{
|
|
1566
|
+
"name": "workspace",
|
|
1567
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1568
|
+
"required": false
|
|
1569
|
+
}
|
|
1570
|
+
],
|
|
1571
|
+
"options": [
|
|
1572
|
+
{
|
|
1573
|
+
"flags": "--server <url>",
|
|
1574
|
+
"description": "relayfile server URL override"
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"flags": "--token <token>",
|
|
1578
|
+
"description": "relayfile token override"
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
"flags": "--provider <provider>",
|
|
1582
|
+
"description": "filter to a specific provider (e.g. linear, notion)"
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"flags": "--path <glob>",
|
|
1586
|
+
"description": "glob path filter (e.g. /linear/issues/**)"
|
|
1587
|
+
},
|
|
1588
|
+
{
|
|
1589
|
+
"flags": "--event <type>",
|
|
1590
|
+
"description": "event type filter: file.created, file.updated, file.deleted"
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
"flags": "--run <command>",
|
|
1594
|
+
"description": "shell command per event; supports {{path}}, {{type}}, {{provider}}, {{revision}}, {{event}}"
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"flags": "--format <format>",
|
|
1598
|
+
"description": "output format when --run is not set: text or json",
|
|
1599
|
+
"defaultValue": "text"
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"flags": "--background",
|
|
1603
|
+
"description": "run in background; logs to ~/.relayfile/listen.log",
|
|
1604
|
+
"defaultValue": false
|
|
1605
|
+
},
|
|
1606
|
+
{
|
|
1607
|
+
"flags": "--daemonized",
|
|
1608
|
+
"description": "internal flag used by relayfile listen --background",
|
|
1609
|
+
"defaultValue": false
|
|
1610
|
+
}
|
|
1611
|
+
]
|
|
1612
|
+
},
|
|
1613
|
+
{
|
|
1614
|
+
"name": "control-plane",
|
|
1615
|
+
"description": "Serve the local relayfile control-plane socket",
|
|
1616
|
+
"subcommands": [
|
|
1617
|
+
{
|
|
1618
|
+
"name": "serve",
|
|
1619
|
+
"description": "Serve the control-plane unix socket",
|
|
1620
|
+
"options": [
|
|
1621
|
+
{
|
|
1622
|
+
"flags": "--sock <path>",
|
|
1623
|
+
"description": "unix socket path (default: the per-user relayfile socket)"
|
|
1624
|
+
}
|
|
1625
|
+
]
|
|
1626
|
+
}
|
|
1627
|
+
]
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"name": "dev",
|
|
1631
|
+
"description": "Print workspace context, then stream file events like `listen`",
|
|
1632
|
+
"args": [
|
|
1633
|
+
{
|
|
1634
|
+
"name": "workspace",
|
|
1635
|
+
"description": "workspace name or id; defaults to the active workspace",
|
|
1636
|
+
"required": false
|
|
1637
|
+
}
|
|
1638
|
+
],
|
|
1639
|
+
"options": [
|
|
1640
|
+
{
|
|
1641
|
+
"flags": "--server <url>",
|
|
1642
|
+
"description": "relayfile server URL override"
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"flags": "--token <token>",
|
|
1646
|
+
"description": "relayfile token override"
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
"flags": "--provider <provider>",
|
|
1650
|
+
"description": "filter to a specific provider (e.g. linear, notion)"
|
|
1651
|
+
},
|
|
1652
|
+
{
|
|
1653
|
+
"flags": "--path <glob>",
|
|
1654
|
+
"description": "glob path filter (e.g. /linear/issues/**)"
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"flags": "--event <type>",
|
|
1658
|
+
"description": "event type filter: file.created, file.updated, file.deleted"
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
"flags": "--run <command>",
|
|
1662
|
+
"description": "shell command per event; supports {{path}}, {{type}}, {{provider}}, {{revision}}, {{event}}"
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
"flags": "--format <format>",
|
|
1666
|
+
"description": "output format when --run is not set: text or json",
|
|
1667
|
+
"defaultValue": "text"
|
|
1668
|
+
},
|
|
1669
|
+
{
|
|
1670
|
+
"flags": "--background",
|
|
1671
|
+
"description": "run in background; logs to ~/.relayfile/listen.log",
|
|
1672
|
+
"defaultValue": false
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"flags": "--daemonized",
|
|
1676
|
+
"description": "internal flag used by relayfile listen --background",
|
|
1677
|
+
"defaultValue": false
|
|
1678
|
+
}
|
|
1679
|
+
],
|
|
1680
|
+
"hidden": true
|
|
1681
|
+
}
|
|
1682
|
+
]
|