@parall/cli 1.20.2 → 1.22.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.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QA8bnD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAycnD"}
@@ -388,7 +388,7 @@ export function registerMcpCommands(program) {
388
388
  });
389
389
  server.registerTool('wiki_propose', {
390
390
  title: 'Propose Wiki Changeset',
391
- description: 'Create or update a proposed wiki changeset from the current local mounted wiki workspace.',
391
+ description: 'Create or update a wiki changeset from the current local mounted wiki workspace. Unprotected changesets may auto-merge immediately.',
392
392
  inputSchema: {
393
393
  wiki: z.string().describe('Wiki slug or ID'),
394
394
  title: z.string().min(1).describe('Changeset title'),
@@ -404,6 +404,17 @@ export function registerMcpCommands(program) {
404
404
  wiki_name: z.string(),
405
405
  mount_path: z.string(),
406
406
  changed_paths: z.array(z.string()),
407
+ status: z.string(),
408
+ auto_merged: z.boolean(),
409
+ requires_review: z.boolean(),
410
+ next_action: z.string(),
411
+ post_merge_sync: z.object({
412
+ applied: z.number(),
413
+ fastForwarded: z.number(),
414
+ conflicts: z.array(z.unknown()),
415
+ failed: z.array(z.unknown()),
416
+ }).nullable(),
417
+ post_merge_sync_error: z.string().nullable(),
407
418
  diff_files: z.array(z.object({
408
419
  path: z.string(),
409
420
  additions: z.number(),
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerScheduleCommands(program: Command): void;
3
+ //# sourceMappingURL=schedules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/commands/schedules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QAmRxD"}
@@ -0,0 +1,266 @@
1
+ import { resolveCredentials } from '../lib/client.js';
2
+ import { printJson, printError, printRefHint, stripPrllScheme } from '../lib/output.js';
3
+ function stripUndefined(obj) {
4
+ return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
5
+ }
6
+ export function registerScheduleCommands(program) {
7
+ const schedules = program
8
+ .command('schedules')
9
+ .description('Manage schedules (platform time triggers)');
10
+ schedules
11
+ .command('list')
12
+ .description('List schedules in the organization')
13
+ .option('--attached-to <uri>', 'Filter by attached prll:// URI (exact match)')
14
+ .option('--target-id <id>', 'Filter by target user ID')
15
+ .option('--creator-id <id>', 'Filter by creator user ID')
16
+ .option('--status <statuses>', 'Comma-separated statuses (e.g. active,paused)')
17
+ .option('--limit <n>', 'Maximum number of schedules to return', '50')
18
+ .option('--cursor <cursor>', 'Pagination cursor')
19
+ .action(async (opts) => {
20
+ try {
21
+ const { client, orgId } = resolveCredentials();
22
+ const params = stripUndefined({
23
+ attached_to: opts.attachedTo,
24
+ target_id: opts.targetId ? stripPrllScheme(opts.targetId) : undefined,
25
+ creator_id: opts.creatorId ? stripPrllScheme(opts.creatorId) : undefined,
26
+ status: opts.status,
27
+ limit: Number(opts.limit),
28
+ cursor: opts.cursor,
29
+ });
30
+ const result = await client.listSchedules(orgId, params);
31
+ printJson(result);
32
+ }
33
+ catch (err) {
34
+ printError(err);
35
+ }
36
+ });
37
+ schedules
38
+ .command('create')
39
+ .description('Create a schedule. Provide exactly one of --cron-expr, --interval-seconds, or --run-at.')
40
+ .requiredOption('--name <name>', 'Schedule name')
41
+ .requiredOption('--description <text>', 'Message delivered to the target on fire')
42
+ .requiredOption('--target-id <id>', 'Target user ID (agent or human)')
43
+ .option('--spec-type <type>', 'cron | interval | one_shot (inferred from spec flags if omitted)')
44
+ .option('--cron-expr <expr>', '5-field cron expression')
45
+ .option('--interval-seconds <n>', 'Interval in seconds (>= 60)')
46
+ .option('--run-at <ts>', 'One-shot fire time (RFC3339)')
47
+ .option('--timezone <tz>', 'IANA timezone (default UTC)')
48
+ .option('--attached-to-uri <uri>', 'Attach to a prll:// resource URI')
49
+ .option('--start-at <ts>', 'Earliest fire time (RFC3339)')
50
+ .option('--end-at <ts>', 'Latest fire time (RFC3339)')
51
+ .option('--max-runs <n>', 'Maximum successful fires before auto-complete')
52
+ .option('--catchup-window-seconds <n>', 'Missed-fire window (seconds)')
53
+ .action(async (opts) => {
54
+ try {
55
+ const { client, orgId } = resolveCredentials();
56
+ const specFlagCount = [opts.cronExpr, opts.intervalSeconds, opts.runAt].filter((v) => v !== undefined).length;
57
+ if (!opts.specType && specFlagCount !== 1) {
58
+ printError(new Error('Provide exactly one of --cron-expr / --interval-seconds / --run-at (or pass --spec-type with the matching field).'));
59
+ return;
60
+ }
61
+ const specType = opts.specType ??
62
+ (opts.cronExpr ? 'cron' : opts.intervalSeconds ? 'interval' : opts.runAt ? 'one_shot' : undefined);
63
+ if (!specType) {
64
+ printError(new Error('spec_type could not be inferred. Pass --spec-type or one of --cron-expr / --interval-seconds / --run-at.'));
65
+ return;
66
+ }
67
+ const data = {
68
+ name: opts.name,
69
+ description: opts.description,
70
+ target_id: stripPrllScheme(opts.targetId),
71
+ spec_type: specType,
72
+ ...stripUndefined({
73
+ attached_to_uri: opts.attachedToUri,
74
+ cron_expr: opts.cronExpr,
75
+ interval_seconds: opts.intervalSeconds !== undefined ? Number(opts.intervalSeconds) : undefined,
76
+ run_at: opts.runAt,
77
+ timezone: opts.timezone,
78
+ start_at: opts.startAt,
79
+ end_at: opts.endAt,
80
+ max_runs: opts.maxRuns !== undefined ? Number(opts.maxRuns) : undefined,
81
+ catchup_window_seconds: opts.catchupWindowSeconds !== undefined ? Number(opts.catchupWindowSeconds) : undefined,
82
+ }),
83
+ };
84
+ const result = await client.createSchedule(orgId, data);
85
+ printJson(result);
86
+ printRefHint(result.id);
87
+ }
88
+ catch (err) {
89
+ printError(err);
90
+ }
91
+ });
92
+ schedules
93
+ .command('get')
94
+ .description('Get a schedule by ID')
95
+ .argument('<scheduleId>', 'Schedule ID')
96
+ .action(async (scheduleId) => {
97
+ try {
98
+ const { client, orgId } = resolveCredentials();
99
+ const result = await client.getSchedule(orgId, stripPrllScheme(scheduleId));
100
+ printJson(result);
101
+ }
102
+ catch (err) {
103
+ printError(err);
104
+ }
105
+ });
106
+ schedules
107
+ .command('update')
108
+ .description('Update a schedule. spec_type cannot be changed — create a new schedule instead.')
109
+ .argument('<scheduleId>', 'Schedule ID')
110
+ .option('--name <name>', 'Schedule name')
111
+ .option('--description <text>', 'Message delivered to the target on fire')
112
+ .option('--target-id <id>', 'Target user ID')
113
+ .option('--attached-to-uri <uri>', 'Attach to a prll:// resource URI')
114
+ .option('--clear-attached-to', 'Explicitly clear attached_to_uri')
115
+ .option('--cron-expr <expr>', '5-field cron expression')
116
+ .option('--interval-seconds <n>', 'Interval in seconds (>= 60)')
117
+ .option('--run-at <ts>', 'One-shot fire time (RFC3339)')
118
+ .option('--timezone <tz>', 'IANA timezone')
119
+ .option('--start-at <ts>', 'Earliest fire time')
120
+ .option('--clear-start-at', 'Explicitly clear start_at')
121
+ .option('--end-at <ts>', 'Latest fire time')
122
+ .option('--clear-end-at', 'Explicitly clear end_at')
123
+ .option('--max-runs <n>', 'Maximum successful fires')
124
+ .option('--clear-max-runs', 'Explicitly clear max_runs')
125
+ .option('--catchup-window-seconds <n>', 'Missed-fire window (seconds)')
126
+ .action(async (scheduleId, opts) => {
127
+ try {
128
+ const { client, orgId } = resolveCredentials();
129
+ const conflicts = [
130
+ ['--attached-to-uri', '--clear-attached-to'],
131
+ ['--start-at', '--clear-start-at'],
132
+ ['--end-at', '--clear-end-at'],
133
+ ['--max-runs', '--clear-max-runs'],
134
+ ];
135
+ const pairs = [
136
+ [opts.attachedToUri, opts.clearAttachedTo],
137
+ [opts.startAt, opts.clearStartAt],
138
+ [opts.endAt, opts.clearEndAt],
139
+ [opts.maxRuns, opts.clearMaxRuns],
140
+ ];
141
+ for (let i = 0; i < pairs.length; i++) {
142
+ if (pairs[i][0] !== undefined && pairs[i][1]) {
143
+ printError(new Error(`Do not pass ${conflicts[i][0]} together with ${conflicts[i][1]}.`));
144
+ return;
145
+ }
146
+ }
147
+ const data = stripUndefined({
148
+ name: opts.name,
149
+ description: opts.description,
150
+ target_id: opts.targetId ? stripPrllScheme(opts.targetId) : undefined,
151
+ attached_to_uri: opts.attachedToUri,
152
+ attached_to_uri_clear: opts.clearAttachedTo || undefined,
153
+ cron_expr: opts.cronExpr,
154
+ interval_seconds: opts.intervalSeconds !== undefined ? Number(opts.intervalSeconds) : undefined,
155
+ run_at: opts.runAt,
156
+ timezone: opts.timezone,
157
+ start_at: opts.startAt,
158
+ start_at_clear: opts.clearStartAt || undefined,
159
+ end_at: opts.endAt,
160
+ end_at_clear: opts.clearEndAt || undefined,
161
+ max_runs: opts.maxRuns !== undefined ? Number(opts.maxRuns) : undefined,
162
+ max_runs_clear: opts.clearMaxRuns || undefined,
163
+ catchup_window_seconds: opts.catchupWindowSeconds !== undefined ? Number(opts.catchupWindowSeconds) : undefined,
164
+ });
165
+ if (Object.keys(data).length === 0) {
166
+ printError(new Error('No fields to update. Provide at least one option.'));
167
+ return;
168
+ }
169
+ const result = await client.updateSchedule(orgId, stripPrllScheme(scheduleId), data);
170
+ printJson(result);
171
+ }
172
+ catch (err) {
173
+ printError(err);
174
+ }
175
+ });
176
+ schedules
177
+ .command('pause')
178
+ .description('Pause a schedule (reversible; clears next_fire_at)')
179
+ .argument('<scheduleId>', 'Schedule ID')
180
+ .action(async (scheduleId) => {
181
+ try {
182
+ const { client, orgId } = resolveCredentials();
183
+ const result = await client.pauseSchedule(orgId, stripPrllScheme(scheduleId));
184
+ printJson(result);
185
+ }
186
+ catch (err) {
187
+ printError(err);
188
+ }
189
+ });
190
+ schedules
191
+ .command('resume')
192
+ .description('Resume a paused schedule (does not catch up missed slots)')
193
+ .argument('<scheduleId>', 'Schedule ID')
194
+ .action(async (scheduleId) => {
195
+ try {
196
+ const { client, orgId } = resolveCredentials();
197
+ const result = await client.resumeSchedule(orgId, stripPrllScheme(scheduleId));
198
+ printJson(result);
199
+ }
200
+ catch (err) {
201
+ printError(err);
202
+ }
203
+ });
204
+ schedules
205
+ .command('cancel')
206
+ .description('Cancel a schedule (terminal; row + runs preserved; prll://sch_ ref remains valid)')
207
+ .argument('<scheduleId>', 'Schedule ID')
208
+ .action(async (scheduleId) => {
209
+ try {
210
+ const { client, orgId } = resolveCredentials();
211
+ const result = await client.cancelSchedule(orgId, stripPrllScheme(scheduleId));
212
+ printJson(result);
213
+ }
214
+ catch (err) {
215
+ printError(err);
216
+ }
217
+ });
218
+ schedules
219
+ .command('delete')
220
+ .description('Hard-delete a schedule (requires status=cancelled AND run_count=0; once fired, a schedule is permanently undeletable — cancel it instead)')
221
+ .argument('<scheduleId>', 'Schedule ID')
222
+ .action(async (scheduleId) => {
223
+ try {
224
+ const { client, orgId } = resolveCredentials();
225
+ await client.deleteSchedule(orgId, stripPrllScheme(scheduleId));
226
+ printJson({ ok: true });
227
+ }
228
+ catch (err) {
229
+ printError(err);
230
+ }
231
+ });
232
+ schedules
233
+ .command('runs')
234
+ .description('List run history for a schedule')
235
+ .argument('<scheduleId>', 'Schedule ID')
236
+ .option('--limit <n>', 'Maximum number of runs to return', '50')
237
+ .option('--cursor <cursor>', 'Pagination cursor')
238
+ .action(async (scheduleId, opts) => {
239
+ try {
240
+ const { client, orgId } = resolveCredentials();
241
+ const params = stripUndefined({
242
+ limit: Number(opts.limit),
243
+ cursor: opts.cursor,
244
+ });
245
+ const result = await client.listScheduleRuns(orgId, stripPrllScheme(scheduleId), params);
246
+ printJson(result);
247
+ }
248
+ catch (err) {
249
+ printError(err);
250
+ }
251
+ });
252
+ schedules
253
+ .command('run')
254
+ .description('Get a single schedule run (includes fire-time snapshot of description + attached URI)')
255
+ .argument('<runId>', 'Schedule run ID (srn_...)')
256
+ .action(async (runId) => {
257
+ try {
258
+ const { client, orgId } = resolveCredentials();
259
+ const result = await client.getScheduleRun(orgId, stripPrllScheme(runId));
260
+ printJson(result);
261
+ }
262
+ catch (err) {
263
+ printError(err);
264
+ }
265
+ });
266
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../src/commands/wiki.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA8wBpD"}
1
+ {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../src/commands/wiki.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAmxBpD"}
@@ -210,8 +210,14 @@ export function registerWikiCommands(program) {
210
210
  sourceRunId: options.sessionId ?? rtx.sessionId,
211
211
  });
212
212
  const verb = options.update ? 'Re-proposed' : 'Created';
213
- process.stderr.write(`${verb} changeset ${result.changeset.id}\n`);
213
+ if (result.auto_merged) {
214
+ process.stderr.write(`${verb} and auto-merged changeset ${result.changeset.id}\n`);
215
+ }
216
+ else {
217
+ process.stderr.write(`${verb} changeset ${result.changeset.id} (${result.status})\n`);
218
+ }
214
219
  process.stderr.write(`Changed files: ${result.changed_paths.join(', ')}\n`);
220
+ process.stderr.write(`Next: ${result.next_action}\n`);
215
221
  printJson(result);
216
222
  }
217
223
  catch (error) {
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { registerDMCommands } from './commands/dm.js';
7
7
  import { registerMessageCommands } from './commands/messages.js';
8
8
  import { registerTaskCommands } from './commands/tasks.js';
9
9
  import { registerProjectCommands } from './commands/projects.js';
10
+ import { registerScheduleCommands } from './commands/schedules.js';
10
11
  import { registerUserCommands } from './commands/users.js';
11
12
  import { registerWikiCommands } from './commands/wiki.js';
12
13
  import { registerMcpCommands } from './commands/mcp.js';
@@ -26,6 +27,7 @@ registerDMCommands(program);
26
27
  registerMessageCommands(program);
27
28
  registerTaskCommands(program);
28
29
  registerProjectCommands(program);
30
+ registerScheduleCommands(program);
29
31
  registerUserCommands(program);
30
32
  registerWikiCommands(program);
31
33
  registerMcpCommands(program);
@@ -117,6 +117,12 @@ export type WikiProposeResult = {
117
117
  changed_paths: string[];
118
118
  diff_files: WikiDiffFile[];
119
119
  changeset: WikiChangeset;
120
+ status: WikiChangeset['status'];
121
+ auto_merged: boolean;
122
+ requires_review: boolean;
123
+ next_action: string;
124
+ post_merge_sync: WikiSyncOutcome | null;
125
+ post_merge_sync_error: string | null;
120
126
  source: 'local_mount';
121
127
  };
122
128
  type WikiContentSource = 'local_mount' | 'api';
@@ -1 +1 @@
1
- {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../src/lib/wiki.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../src/lib/wiki.ts"],"names":[],"mappings":"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"}
package/dist/lib/wiki.js CHANGED
@@ -73,6 +73,15 @@ export async function getWikiBlob(ctx, wikiRef, options) {
73
73
  const blob = await ctx.client.getWikiBlob(ctx.orgId, wiki.id, {
74
74
  path: normalizeRequiredWikiPath(options.path),
75
75
  });
76
+ // Phase 2 widened WikiBlob to allow encoding='signed_url' (binary served
77
+ // via preview URL) and still admits the legacy 'base64' inline shape,
78
+ // both of which omit or encode `content` in ways the CLI's string surface
79
+ // cannot use. Only utf-8 text is safe to return verbatim; anything else
80
+ // gets a clear error — callers that want bytes should fetch via the
81
+ // signed_url flow.
82
+ if (blob.encoding !== 'utf-8' || blob.content == null) {
83
+ throw new Error(`wiki blob is not inline utf-8 (encoding=${blob.encoding}): ${options.path}`);
84
+ }
76
85
  return {
77
86
  wiki,
78
87
  content: blob.content,
@@ -339,6 +348,17 @@ export async function proposeWikiChangeset(ctx, wikiRef, options) {
339
348
  source_run_id: normalizeOptionalString(options.sourceRunId),
340
349
  });
341
350
  }
351
+ const autoMerged = changeset.status === 'merged';
352
+ let postMergeSync = null;
353
+ let postMergeSyncError = null;
354
+ if (autoMerged) {
355
+ try {
356
+ postMergeSync = await syncSingleWiki(ctx, wiki, mount.root);
357
+ }
358
+ catch (error) {
359
+ postMergeSyncError = error instanceof Error ? error.message : String(error);
360
+ }
361
+ }
342
362
  return {
343
363
  wiki_id: wiki.id,
344
364
  wiki_slug: wiki.slug,
@@ -347,9 +367,41 @@ export async function proposeWikiChangeset(ctx, wikiRef, options) {
347
367
  changed_paths: diff.changedPaths,
348
368
  diff_files: diff.diffFiles,
349
369
  changeset,
370
+ status: changeset.status,
371
+ auto_merged: autoMerged,
372
+ requires_review: changesetRequiresReview(changeset),
373
+ next_action: describeProposeNextAction(changeset, postMergeSync, postMergeSyncError),
374
+ post_merge_sync: postMergeSync,
375
+ post_merge_sync_error: postMergeSyncError,
350
376
  source: 'local_mount',
351
377
  };
352
378
  }
379
+ function changesetRequiresReview(changeset) {
380
+ return changeset.status === 'proposed'
381
+ || changeset.status === 'approval_pending'
382
+ || changeset.status === 'approved';
383
+ }
384
+ function describeProposeNextAction(changeset, postMergeSync, postMergeSyncError) {
385
+ if (changeset.status === 'merged') {
386
+ if (postMergeSyncError) {
387
+ return 'Changeset auto-merged. Run `parall wiki sync` to refresh the local manifest.';
388
+ }
389
+ if (postMergeSync && (postMergeSync.conflicts.length > 0 || postMergeSync.failed.length > 0)) {
390
+ return 'Changeset auto-merged, but local sync reported conflicts or failures. Inspect `.parall-wiki/conflicts` and run `parall wiki status`.';
391
+ }
392
+ return 'Changeset auto-merged and the local wiki manifest was refreshed.';
393
+ }
394
+ if (changeset.status === 'conflict') {
395
+ return 'Auto-merge hit a merge conflict. Run `parall wiki sync`, resolve conflicts, then create a new changeset.';
396
+ }
397
+ if (changesetRequiresReview(changeset)) {
398
+ return 'Changeset is awaiting review because it touched a protected path or auto-merge was skipped.';
399
+ }
400
+ if (changeset.status === 'draft') {
401
+ return 'Changeset is still in draft. Run propose again without --update to submit it for review.';
402
+ }
403
+ return `Changeset is ${changeset.status}.`;
404
+ }
353
405
  // ---------------------------------------------------------------------------
354
406
  // AFCS: reset workspace
355
407
  // ---------------------------------------------------------------------------
@@ -1260,7 +1312,15 @@ async function loadRemoteMarkdownFile(ctx, wiki, ref, filePath) {
1260
1312
  }
1261
1313
  const blob = await ctx.client.getWikiBlob(ctx.orgId, wiki.id, {
1262
1314
  path: filePath,
1315
+ ref,
1263
1316
  });
1317
+ // Markdown files should always come back as utf-8 text. Any other
1318
+ // encoding (signed_url, legacy base64) means the backend served a
1319
+ // binary for a markdown path — surface clearly rather than passing
1320
+ // encoded bytes or undefined into downstream parsers.
1321
+ if (blob.encoding !== 'utf-8' || blob.content == null) {
1322
+ throw new Error(`wiki markdown file unexpectedly returned as non-utf8 content (encoding=${blob.encoding}): ${filePath}`);
1323
+ }
1264
1324
  return {
1265
1325
  path: filePath,
1266
1326
  content: blob.content,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parall/cli",
3
- "version": "1.20.2",
3
+ "version": "1.22.0",
4
4
  "description": "CLI client for Parall — universal agent & human access to Parall API",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "@modelcontextprotocol/sdk": "1.27.1",
31
31
  "commander": "^13.0.0",
32
32
  "zod": "^4.3.6",
33
- "@parall/sdk": "1.20.2"
33
+ "@parall/sdk": "1.22.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^22.0.0",