@excitedjs/dreamux 0.16.1-beta.97 → 0.17.0-beta.100

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.
Files changed (67) hide show
  1. package/dist/admin/methods.js +87 -193
  2. package/dist/admin/methods.js.map +1 -1
  3. package/dist/admin/params.js +197 -0
  4. package/dist/admin/params.js.map +1 -0
  5. package/dist/agent-runtime/bundled-skill-sources.js +5 -46
  6. package/dist/agent-runtime/bundled-skill-sources.js.map +1 -1
  7. package/dist/agent-runtime/external-provider.js +32 -48
  8. package/dist/agent-runtime/external-provider.js.map +1 -1
  9. package/dist/agent-runtime/host-paths.js +8 -11
  10. package/dist/agent-runtime/host-paths.js.map +1 -1
  11. package/dist/cli/commands/team-mcp.js +18 -1
  12. package/dist/cli/commands/team-mcp.js.map +1 -1
  13. package/dist/mcp/team-mcp.js +69 -11
  14. package/dist/mcp/team-mcp.js.map +1 -1
  15. package/dist/mcp/teammate-mcp.js +3 -0
  16. package/dist/mcp/teammate-mcp.js.map +1 -1
  17. package/dist/platform/json-document-store.js.map +1 -1
  18. package/dist/service/{dispatcher-service → channel-service}/channel-sessions.js +5 -4
  19. package/dist/service/channel-service/channel-sessions.js.map +1 -0
  20. package/dist/service/channel-service/errors.js +16 -0
  21. package/dist/service/channel-service/errors.js.map +1 -0
  22. package/dist/service/channel-service/index.js +224 -0
  23. package/dist/service/channel-service/index.js.map +1 -0
  24. package/dist/service/completion-router/index.js.map +1 -1
  25. package/dist/service/dispatcher-service/agent.js +6 -8
  26. package/dist/service/dispatcher-service/agent.js.map +1 -1
  27. package/dist/service/dispatcher-service/base-prompt.js +5 -5
  28. package/dist/service/dispatcher-service/base-prompt.js.map +1 -1
  29. package/dist/service/dispatcher-service/index.js +59 -118
  30. package/dist/service/dispatcher-service/index.js.map +1 -1
  31. package/dist/service/index.js +1 -1
  32. package/dist/service/index.js.map +1 -1
  33. package/dist/service/scheduler/service.js +6 -1
  34. package/dist/service/scheduler/service.js.map +1 -1
  35. package/dist/service/team-collection/index.js +21 -32
  36. package/dist/service/team-collection/index.js.map +1 -1
  37. package/dist/service/team-collection/mcp-config.js +18 -0
  38. package/dist/service/team-collection/mcp-config.js.map +1 -1
  39. package/dist/service/team-collection/types.js.map +1 -1
  40. package/dist/service/team-service/index.js +64 -87
  41. package/dist/service/team-service/index.js.map +1 -1
  42. package/dist/service/team-service/leader-agent.js +7 -1
  43. package/dist/service/team-service/leader-agent.js.map +1 -1
  44. package/dist/service/teammate-collection/agent-config.js +0 -4
  45. package/dist/service/teammate-collection/agent-config.js.map +1 -1
  46. package/dist/service/teammate-collection/identity-store.js +7 -0
  47. package/dist/service/teammate-collection/identity-store.js.map +1 -1
  48. package/dist/service/teammate-collection/index.js +16 -6
  49. package/dist/service/teammate-collection/index.js.map +1 -1
  50. package/dist/service/teammate-collection/read-helpers.js +2 -23
  51. package/dist/service/teammate-collection/read-helpers.js.map +1 -1
  52. package/dist/service/teammate-collection/runtime-state.js +7 -7
  53. package/dist/service/teammate-collection/runtime-state.js.map +1 -1
  54. package/dist/service/teammate-collection/types.js +12 -0
  55. package/dist/service/teammate-collection/types.js.map +1 -1
  56. package/dist/service/teammate-service/factory.js.map +1 -1
  57. package/dist/service/teammate-service/index.js +102 -82
  58. package/dist/service/teammate-service/index.js.map +1 -1
  59. package/dist/state/dispatcher-store.js +13 -5
  60. package/dist/state/dispatcher-store.js.map +1 -1
  61. package/package.json +7 -7
  62. package/skills/.claude/skills/dispatcher/SKILL.md +12 -9
  63. package/dist/service/dispatcher-service/channel-sessions.js.map +0 -1
  64. package/dist/service/dispatcher-service/channel-tool-auth.js +0 -37
  65. package/dist/service/dispatcher-service/channel-tool-auth.js.map +0 -1
  66. package/dist/service/dispatcher-service/errors.js +0 -16
  67. package/dist/service/dispatcher-service/errors.js.map +0 -1
@@ -1,7 +1,7 @@
1
+ import { ChannelToolAuthorizationError } from '../service/channel-service/errors.js';
1
2
  import { TeamUnavailableError } from '../service/team-collection/index.js';
2
3
  import { AdminError } from './protocol.js';
3
- import { validateDispatcherId } from '../state/dispatcher-id.js';
4
- import { ChannelToolAuthorizationError } from '../service/dispatcher-service/errors.js';
4
+ import { historyQuery, mustDispatcherId, mustExistingDispatcher, mustNonEmptyString, mustRecord, mustString, optionalBooleanField, optionalInteger, optionalNonBlankString, optionalNullableRecordField, optionalNullableStringField, optionalRecordField, optionalString, optionalStringField, optionalTeamStatus, parseMessage, repoRequest, } from './params.js';
5
5
  export const adminMethods = {
6
6
  'server.status': (server) => ({
7
7
  pid: process.pid,
@@ -118,6 +118,7 @@ export const adminMethods = {
118
118
  const prompt = mustString(params, 'prompt');
119
119
  const intent = mustNonEmptyString(params, 'intent');
120
120
  const agentRuntime = optionalString(params, 'agent_runtime');
121
+ const identity = optionalNonBlankString(params, 'identity');
121
122
  const dispatcher = server.getDispatcher(id);
122
123
  const target = await teammateTargetFor(dispatcher, params);
123
124
  if (target.callerKind === 'team_leader' && params?.['repo'] !== undefined) {
@@ -134,6 +135,7 @@ export const adminMethods = {
134
135
  intent,
135
136
  ...(cwd !== null ? { cwd } : {}),
136
137
  ...(agentRuntime !== null ? { agentRuntime } : {}),
138
+ ...(identity !== null ? { identity } : {}),
137
139
  ...(worktree !== null ? { worktree } : {}),
138
140
  };
139
141
  try {
@@ -227,30 +229,68 @@ export const adminMethods = {
227
229
  : repo.cwd ?? (await dispatcher.workspace());
228
230
  const worktree = repo?.worktree ?? null;
229
231
  const prompt = optionalString(params, 'prompt');
232
+ const identity = optionalNonBlankString(params, 'identity');
230
233
  try {
231
- return await dispatcher.createTeam({
234
+ const created = await dispatcher.createTeam({
232
235
  name,
233
236
  ...(repoCwd !== null ? { repoCwd } : {}),
234
237
  leaderAgentRuntime,
235
238
  intent,
236
239
  ...(worktree !== null ? { worktree } : {}),
237
240
  ...(prompt !== null ? { prompt } : {}),
241
+ ...(identity !== null ? { identity } : {}),
238
242
  });
243
+ return { ...created, binding: null };
239
244
  }
240
245
  catch (err) {
241
246
  throw new AdminError('TEAM_CREATE_FAILED', parseMessage(err));
242
247
  }
243
248
  },
249
+ 'mcp.team.send': async (server, params) => {
250
+ const id = mustDispatcherId(params);
251
+ mustExistingDispatcher(server, id);
252
+ if (teamCallerKind(params) === 'team_leader') {
253
+ throw new AdminError('BAD_REQUEST', 'mcp.team.send is only available to dispatcher-scoped Team MCP callers');
254
+ }
255
+ const name = mustString(params, 'team_name');
256
+ const prompt = mustNonEmptyString(params, 'prompt');
257
+ const intent = optionalString(params, 'intent');
258
+ try {
259
+ return await server.getDispatcher(id).sendTeamLeader({
260
+ teamId: name,
261
+ prompt,
262
+ ...(intent !== null ? { intent } : {}),
263
+ });
264
+ }
265
+ catch (err) {
266
+ if (err instanceof TeamUnavailableError) {
267
+ throw new AdminError('TEAM_NOT_FOUND', err.message);
268
+ }
269
+ throw new AdminError('TEAM_SEND_FAILED', parseMessage(err));
270
+ }
271
+ },
244
272
  'mcp.team.list': async (server, params) => {
245
273
  const id = mustDispatcherId(params);
246
274
  mustExistingDispatcher(server, id);
247
- return { teams: await server.getDispatcher(id).listTeams() };
275
+ const dispatcher = server.getDispatcher(id);
276
+ const teams = await dispatcher.listTeams();
277
+ return {
278
+ teams: await Promise.all(teams.map(async (team) => ({
279
+ ...team,
280
+ bound_group: await dispatcher.activeTeamBindingSummary(ownerForTeamRead(team)),
281
+ }))),
282
+ };
248
283
  },
249
284
  'mcp.team.status': async (server, params) => {
250
285
  const id = mustDispatcherId(params);
251
286
  mustExistingDispatcher(server, id);
252
287
  const name = mustString(params, 'team_name');
253
- return server.getDispatcher(id).getTeamStatus(name);
288
+ const dispatcher = server.getDispatcher(id);
289
+ const summary = await dispatcher.getTeamStatus(name);
290
+ return {
291
+ ...summary,
292
+ binding: await dispatcher.activeTeamBindingSummary(ownerForTeamRead(summary.team)),
293
+ };
254
294
  },
255
295
  'mcp.team.history': async (server, params) => {
256
296
  const id = mustDispatcherId(params);
@@ -263,7 +303,8 @@ export const adminMethods = {
263
303
  const until = optionalInteger(params, 'until');
264
304
  const limit = optionalInteger(params, 'limit');
265
305
  const cursor = optionalString(params, 'cursor');
266
- return server.getDispatcher(id).getTeamHistory({
306
+ const dispatcher = server.getDispatcher(id);
307
+ const history = await dispatcher.getTeamHistory({
267
308
  ...(name !== null ? { name } : {}),
268
309
  ...(status !== null ? { status } : {}),
269
310
  ...(repo !== null ? { repo } : {}),
@@ -273,6 +314,13 @@ export const adminMethods = {
273
314
  ...(limit !== null ? { limit } : {}),
274
315
  ...(cursor !== null ? { cursor } : {}),
275
316
  });
317
+ return {
318
+ ...history,
319
+ items: await Promise.all(history.items.map(async (team) => ({
320
+ ...team,
321
+ bound_group: await dispatcher.activeTeamBindingSummary(ownerForTeamRead(team)),
322
+ }))),
323
+ };
276
324
  },
277
325
  'mcp.team.bind_channel': async (server, params) => {
278
326
  const id = mustDispatcherId(params);
@@ -288,20 +336,37 @@ export const adminMethods = {
288
336
  const id = mustDispatcherId(params);
289
337
  mustExistingDispatcher(server, id);
290
338
  const channelId = optionalString(params, 'channel_id');
291
- return server.getDispatcher(id).transferTeamChannelBack({
339
+ const callerKind = teamCallerKind(params);
340
+ const expectedOwner = callerKind === 'team_leader'
341
+ ? {
342
+ kind: 'team',
343
+ teamName: mustString(params, 'team_id'),
344
+ leaderName: mustString(params, 'leader_name'),
345
+ }
346
+ : undefined;
347
+ const binding = await server.getDispatcher(id).transferTeamChannelBack({
348
+ ...(expectedOwner !== undefined ? { expectedOwner } : {}),
292
349
  ...(channelId !== null ? { channelId } : {}),
293
350
  meta: mustRecord(params, 'meta'),
294
351
  });
352
+ return {
353
+ transferred: binding !== null,
354
+ binding,
355
+ message: binding === null
356
+ ? 'No active Team channel binding matched the resolved target.'
357
+ : 'Channel target transferred back to the dispatcher.',
358
+ };
295
359
  },
296
360
  'mcp.team.dissolve': async (server, params) => {
297
361
  const id = mustDispatcherId(params);
298
362
  mustExistingDispatcher(server, id);
299
363
  const name = mustString(params, 'team_name');
300
364
  const note = mustNonEmptyString(params, 'note');
301
- return server.getDispatcher(id).dissolveTeam({
365
+ const dissolved = await server.getDispatcher(id).dissolveTeam({
302
366
  teamId: name,
303
367
  note,
304
368
  });
369
+ return { ...dissolved, binding: null };
305
370
  },
306
371
  };
307
372
  async function cronTargetFor(server, params) {
@@ -341,6 +406,20 @@ function channelToolCaller(params) {
341
406
  }
342
407
  throw new AdminError('BAD_REQUEST', "param 'caller_kind' must be dispatcher or team_leader");
343
408
  }
409
+ function teamCallerKind(params) {
410
+ // Omitted caller_kind preserves the existing dispatcher-scoped admin contract.
411
+ const kind = optionalString(params, 'caller_kind') ?? 'dispatcher';
412
+ if (kind === 'dispatcher' || kind === 'team_leader')
413
+ return kind;
414
+ throw new AdminError('BAD_REQUEST', "param 'caller_kind' must be dispatcher or team_leader");
415
+ }
416
+ function ownerForTeamRead(input) {
417
+ return {
418
+ kind: 'team',
419
+ teamName: input.team_name,
420
+ leaderName: input.leader_name,
421
+ };
422
+ }
344
423
  async function teammateTargetFor(dispatcher, params) {
345
424
  const callerKind = optionalString(params, 'caller_kind') ?? 'dispatcher';
346
425
  if (callerKind === 'dispatcher') {
@@ -354,189 +433,4 @@ async function teammateTargetFor(dispatcher, params) {
354
433
  }
355
434
  throw new AdminError('BAD_REQUEST', "param 'caller_kind' must be dispatcher or team_leader");
356
435
  }
357
- function mustString(params, key) {
358
- if (params === undefined || typeof params[key] !== 'string') {
359
- throw new AdminError('BAD_REQUEST', `missing or non-string param '${key}'`);
360
- }
361
- return params[key];
362
- }
363
- function mustNonEmptyString(params, key) {
364
- const value = mustString(params, key);
365
- if (value === '') {
366
- throw new AdminError('BAD_REQUEST', `param '${key}' must be a non-empty string`);
367
- }
368
- return value;
369
- }
370
- function mustRecord(params, key) {
371
- const value = params?.[key];
372
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
373
- throw new AdminError('BAD_REQUEST', `param '${key}' must be an object`);
374
- }
375
- return value;
376
- }
377
- function mustDispatcherId(params) {
378
- const id = mustString(params, 'dispatcher_id');
379
- try {
380
- return validateDispatcherId(id);
381
- }
382
- catch (err) {
383
- const message = err instanceof Error ? err.message : String(err);
384
- throw new AdminError('BAD_REQUEST', message);
385
- }
386
- }
387
- function optionalString(params, key) {
388
- if (params === undefined)
389
- return null;
390
- const v = params[key];
391
- if (v === undefined || v === null)
392
- return null;
393
- if (typeof v !== 'string') {
394
- throw new AdminError('BAD_REQUEST', `param '${key}' must be a string`);
395
- }
396
- return v;
397
- }
398
- function repoRequest(params, key) {
399
- if (params === undefined)
400
- return null;
401
- const value = params[key];
402
- if (value === undefined || value === null)
403
- return null;
404
- if (typeof value !== 'object' || Array.isArray(value)) {
405
- throw new AdminError('BAD_REQUEST', `param '${key}' must be an object`);
406
- }
407
- const obj = value;
408
- const mode = mustString(obj, 'mode');
409
- if (mode !== 'reuse-cwd' && mode !== 'managed') {
410
- throw new AdminError('BAD_REQUEST', `param '${key}.mode' must be 'reuse-cwd' or 'managed'`);
411
- }
412
- const cwd = optionalString(obj, 'path');
413
- if (mode === 'reuse-cwd') {
414
- return { cwd, worktree: { mode: 'reuse-cwd' } };
415
- }
416
- const cleanup = optionalString(obj, 'cleanup');
417
- if (cleanup !== null && cleanup !== 'keep' && cleanup !== 'delete-on-close') {
418
- throw new AdminError('BAD_REQUEST', `param '${key}.cleanup' must be 'keep' or 'delete-on-close'`);
419
- }
420
- return {
421
- cwd,
422
- worktree: {
423
- mode,
424
- ...optionalStringProp(obj, 'slug'),
425
- ...optionalStringProp(obj, 'base_ref'),
426
- ...optionalStringProp(obj, 'branch'),
427
- ...(cleanup !== null ? { cleanup } : {}),
428
- },
429
- };
430
- }
431
- function historyQuery(params) {
432
- const name = optionalString(params, 'name');
433
- const status = optionalTeammateStatus(params, 'status');
434
- const agentRuntime = optionalString(params, 'agent_runtime');
435
- const repo = optionalString(params, 'repo');
436
- const grep = optionalString(params, 'grep');
437
- const since = optionalInteger(params, 'since');
438
- const until = optionalInteger(params, 'until');
439
- const cursor = optionalString(params, 'cursor');
440
- const limit = optionalInteger(params, 'limit');
441
- return {
442
- ...(name !== null ? { name } : {}),
443
- ...(status !== null ? { status } : {}),
444
- ...(agentRuntime !== null ? { agentRuntime } : {}),
445
- ...(repo !== null ? { repo } : {}),
446
- ...(grep !== null ? { grep } : {}),
447
- ...(since !== null ? { since } : {}),
448
- ...(until !== null ? { until } : {}),
449
- ...(cursor !== null ? { cursor } : {}),
450
- ...(limit !== null ? { limit } : {}),
451
- };
452
- }
453
- function optionalTeammateStatus(params, key) {
454
- const value = optionalString(params, key);
455
- if (value === null)
456
- return null;
457
- if (value === 'starting' ||
458
- value === 'running' ||
459
- value === 'degraded' ||
460
- value === 'closed' ||
461
- value === 'stopped') {
462
- return value;
463
- }
464
- throw new AdminError('BAD_REQUEST', `param '${key}' must be starting, running, degraded, closed, or stopped`);
465
- }
466
- function optionalTeamStatus(params, key) {
467
- const value = optionalString(params, key);
468
- if (value === null)
469
- return null;
470
- if (value === 'starting' || value === 'running' || value === 'closed')
471
- return value;
472
- throw new AdminError('BAD_REQUEST', `param '${key}' must be starting, running, or closed`);
473
- }
474
- function optionalInteger(params, key) {
475
- if (params === undefined)
476
- return null;
477
- const value = params[key];
478
- if (value === undefined || value === null)
479
- return null;
480
- if (!Number.isInteger(value)) {
481
- throw new AdminError('BAD_REQUEST', `param '${key}' must be an integer`);
482
- }
483
- return value;
484
- }
485
- function optionalStringProp(params, key) {
486
- const value = optionalString(params, key);
487
- return value === null ? {} : { [key]: value };
488
- }
489
- function optionalStringField(params, key) {
490
- const value = optionalString(params, key);
491
- return value === null ? {} : { [key]: value };
492
- }
493
- function optionalNullableStringField(params, key) {
494
- if (params === undefined || !(key in params))
495
- return {};
496
- const value = params[key];
497
- if (value === null)
498
- return { [key]: null };
499
- if (typeof value !== 'string') {
500
- throw new AdminError('BAD_REQUEST', `param '${key}' must be a string or null`);
501
- }
502
- return { [key]: value };
503
- }
504
- function optionalBooleanField(params, key) {
505
- if (params === undefined || !(key in params))
506
- return {};
507
- const value = params[key];
508
- if (typeof value !== 'boolean') {
509
- throw new AdminError('BAD_REQUEST', `param '${key}' must be a boolean`);
510
- }
511
- return { [key]: value };
512
- }
513
- function optionalRecordField(params, key) {
514
- if (params === undefined || !(key in params))
515
- return {};
516
- const value = params[key];
517
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
518
- throw new AdminError('BAD_REQUEST', `param '${key}' must be an object`);
519
- }
520
- return { [key]: value };
521
- }
522
- function optionalNullableRecordField(params, key) {
523
- if (params === undefined || !(key in params))
524
- return {};
525
- const value = params[key];
526
- if (value === null)
527
- return { [key]: null };
528
- if (typeof value !== 'object' || Array.isArray(value)) {
529
- throw new AdminError('BAD_REQUEST', `param '${key}' must be an object or null`);
530
- }
531
- return { [key]: value };
532
- }
533
- function mustExistingDispatcher(server, id) {
534
- const row = server.repos.dispatchers.get(id);
535
- if (row === null) {
536
- throw new AdminError('DISPATCHER_NOT_FOUND', `no dispatcher with id '${id}'`);
537
- }
538
- }
539
- function parseMessage(err) {
540
- return err instanceof Error ? err.message : String(err);
541
- }
542
436
  //# sourceMappingURL=methods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/admin/methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/admin/methods.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ import { validateDispatcherId } from '../state/dispatcher-id.js';
2
+ import { AdminError } from './protocol.js';
3
+ export function mustString(params, key) {
4
+ if (params === undefined || typeof params[key] !== 'string') {
5
+ throw new AdminError('BAD_REQUEST', `missing or non-string param '${key}'`);
6
+ }
7
+ return params[key];
8
+ }
9
+ export function mustNonEmptyString(params, key) {
10
+ const value = mustString(params, key);
11
+ if (value === '') {
12
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be a non-empty string`);
13
+ }
14
+ return value;
15
+ }
16
+ export function mustRecord(params, key) {
17
+ const value = params?.[key];
18
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
19
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be an object`);
20
+ }
21
+ return value;
22
+ }
23
+ export function mustDispatcherId(params) {
24
+ const id = mustString(params, 'dispatcher_id');
25
+ try {
26
+ return validateDispatcherId(id);
27
+ }
28
+ catch (err) {
29
+ const message = err instanceof Error ? err.message : String(err);
30
+ throw new AdminError('BAD_REQUEST', message);
31
+ }
32
+ }
33
+ export function optionalString(params, key) {
34
+ if (params === undefined)
35
+ return null;
36
+ const v = params[key];
37
+ if (v === undefined || v === null)
38
+ return null;
39
+ if (typeof v !== 'string') {
40
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be a string`);
41
+ }
42
+ return v;
43
+ }
44
+ export function optionalNonBlankString(params, key) {
45
+ const value = optionalString(params, key);
46
+ if (value === null)
47
+ return null;
48
+ if (value.trim() === '') {
49
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be a non-empty string`);
50
+ }
51
+ return value;
52
+ }
53
+ export function repoRequest(params, key) {
54
+ if (params === undefined)
55
+ return null;
56
+ const value = params[key];
57
+ if (value === undefined || value === null)
58
+ return null;
59
+ if (typeof value !== 'object' || Array.isArray(value)) {
60
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be an object`);
61
+ }
62
+ const obj = value;
63
+ const mode = mustString(obj, 'mode');
64
+ if (mode !== 'reuse-cwd' && mode !== 'managed') {
65
+ throw new AdminError('BAD_REQUEST', `param '${key}.mode' must be 'reuse-cwd' or 'managed'`);
66
+ }
67
+ const cwd = optionalString(obj, 'path');
68
+ if (mode === 'reuse-cwd') {
69
+ return { cwd, worktree: { mode: 'reuse-cwd' } };
70
+ }
71
+ const cleanup = optionalString(obj, 'cleanup');
72
+ if (cleanup !== null && cleanup !== 'keep' && cleanup !== 'delete-on-close') {
73
+ throw new AdminError('BAD_REQUEST', `param '${key}.cleanup' must be 'keep' or 'delete-on-close'`);
74
+ }
75
+ return {
76
+ cwd,
77
+ worktree: {
78
+ mode,
79
+ ...optionalStringProp(obj, 'slug'),
80
+ ...optionalStringProp(obj, 'base_ref'),
81
+ ...optionalStringProp(obj, 'branch'),
82
+ ...(cleanup !== null ? { cleanup } : {}),
83
+ },
84
+ };
85
+ }
86
+ export function historyQuery(params) {
87
+ const name = optionalString(params, 'name');
88
+ const status = optionalTeammateStatus(params, 'status');
89
+ const agentRuntime = optionalString(params, 'agent_runtime');
90
+ const repo = optionalString(params, 'repo');
91
+ const grep = optionalString(params, 'grep');
92
+ const since = optionalInteger(params, 'since');
93
+ const until = optionalInteger(params, 'until');
94
+ const cursor = optionalString(params, 'cursor');
95
+ const limit = optionalInteger(params, 'limit');
96
+ return {
97
+ ...(name !== null ? { name } : {}),
98
+ ...(status !== null ? { status } : {}),
99
+ ...(agentRuntime !== null ? { agentRuntime } : {}),
100
+ ...(repo !== null ? { repo } : {}),
101
+ ...(grep !== null ? { grep } : {}),
102
+ ...(since !== null ? { since } : {}),
103
+ ...(until !== null ? { until } : {}),
104
+ ...(cursor !== null ? { cursor } : {}),
105
+ ...(limit !== null ? { limit } : {}),
106
+ };
107
+ }
108
+ export function optionalTeamStatus(params, key) {
109
+ const value = optionalString(params, key);
110
+ if (value === null)
111
+ return null;
112
+ if (value === 'starting' || value === 'running' || value === 'closed')
113
+ return value;
114
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be starting, running, or closed`);
115
+ }
116
+ export function optionalInteger(params, key) {
117
+ if (params === undefined)
118
+ return null;
119
+ const value = params[key];
120
+ if (value === undefined || value === null)
121
+ return null;
122
+ if (!Number.isInteger(value)) {
123
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be an integer`);
124
+ }
125
+ return value;
126
+ }
127
+ export function optionalStringField(params, key) {
128
+ const value = optionalString(params, key);
129
+ return value === null ? {} : { [key]: value };
130
+ }
131
+ export function optionalNullableStringField(params, key) {
132
+ if (params === undefined || !(key in params))
133
+ return {};
134
+ const value = params[key];
135
+ if (value === null)
136
+ return { [key]: null };
137
+ if (typeof value !== 'string') {
138
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be a string or null`);
139
+ }
140
+ return { [key]: value };
141
+ }
142
+ export function optionalBooleanField(params, key) {
143
+ if (params === undefined || !(key in params))
144
+ return {};
145
+ const value = params[key];
146
+ if (typeof value !== 'boolean') {
147
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be a boolean`);
148
+ }
149
+ return { [key]: value };
150
+ }
151
+ export function optionalRecordField(params, key) {
152
+ if (params === undefined || !(key in params))
153
+ return {};
154
+ const value = params[key];
155
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
156
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be an object`);
157
+ }
158
+ return { [key]: value };
159
+ }
160
+ export function optionalNullableRecordField(params, key) {
161
+ if (params === undefined || !(key in params))
162
+ return {};
163
+ const value = params[key];
164
+ if (value === null)
165
+ return { [key]: null };
166
+ if (typeof value !== 'object' || Array.isArray(value)) {
167
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be an object or null`);
168
+ }
169
+ return { [key]: value };
170
+ }
171
+ export function mustExistingDispatcher(server, id) {
172
+ const row = server.repos.dispatchers.get(id);
173
+ if (row === null) {
174
+ throw new AdminError('DISPATCHER_NOT_FOUND', `no dispatcher with id '${id}'`);
175
+ }
176
+ }
177
+ export function parseMessage(err) {
178
+ return err instanceof Error ? err.message : String(err);
179
+ }
180
+ function optionalTeammateStatus(params, key) {
181
+ const value = optionalString(params, key);
182
+ if (value === null)
183
+ return null;
184
+ if (value === 'starting' ||
185
+ value === 'running' ||
186
+ value === 'degraded' ||
187
+ value === 'closed' ||
188
+ value === 'stopped') {
189
+ return value;
190
+ }
191
+ throw new AdminError('BAD_REQUEST', `param '${key}' must be starting, running, degraded, closed, or stopped`);
192
+ }
193
+ function optionalStringProp(params, key) {
194
+ const value = optionalString(params, key);
195
+ return value === null ? {} : { [key]: value };
196
+ }
197
+ //# sourceMappingURL=params.js.map