@sideboard-ai/core 0.1.280 → 0.1.281

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 (52) hide show
  1. package/dist/{abletime-VCVPSLSU.js → abletime-WLDBJJUI.js} +3 -3
  2. package/dist/{abletime-VRATUMDO.js → abletime-X64E3GUJ.js} +3 -3
  3. package/dist/{abletime-oauth-4K7MICAD.js → abletime-oauth-AXR676W5.js} +2 -2
  4. package/dist/{abletime-oauth-4C4G2J3R.js → abletime-oauth-UWOCEICP.js} +2 -2
  5. package/dist/{abletime-rest-PIBCNHF3.js → abletime-rest-LPUDJUEP.js} +2 -2
  6. package/dist/{abletime-rest-6N63ZVQ3.js → abletime-rest-S4XWEXV2.js} +2 -2
  7. package/dist/{agents-DYCFLDNL.js → agents-2IE4HKHA.js} +5 -5
  8. package/dist/{agents-RXP5NZBC.js → agents-XA2E64AW.js} +5 -5
  9. package/dist/{chunk-DK4DKQ2H.js → chunk-2KNO2GJQ.js} +722 -139
  10. package/dist/{chunk-TZ5JHIYK.js → chunk-2SJXQ4UX.js} +68 -21
  11. package/dist/{chunk-K7MWJLR7.js → chunk-5MGLNVNK.js} +6 -906
  12. package/dist/{chunk-RK5PIWCW.js → chunk-ADXVTKLC.js} +12 -4
  13. package/dist/{chunk-Y7JPL4WA.js → chunk-BDAUPNHL.js} +3 -4
  14. package/dist/{chunk-R7HLXD4I.js → chunk-BS3QLVPL.js} +93 -57
  15. package/dist/{chunk-2P75E243.js → chunk-BYZ7F2BQ.js} +707 -128
  16. package/dist/{chunk-2J34G3WJ.js → chunk-DGPROCE5.js} +93 -57
  17. package/dist/{chunk-HQXBBUQX.js → chunk-DQZPF6WL.js} +12 -11
  18. package/dist/{chunk-YDXNCBA2.js → chunk-EIEAR62M.js} +12 -11
  19. package/dist/{chunk-XKZAVGTT.js → chunk-I6HSGKMZ.js} +1 -1
  20. package/dist/chunk-JPH7PYSK.js +1241 -0
  21. package/dist/{chunk-IPPY3FG5.js → chunk-K5XSTHHP.js} +6 -906
  22. package/dist/chunk-N5UGX3JL.js +1239 -0
  23. package/dist/{chunk-HNNS25SG.js → chunk-OCUIZD4Y.js} +14 -4
  24. package/dist/{chunk-IJDQKC5A.js → chunk-PY4UCMRI.js} +4 -4
  25. package/dist/{chunk-NQ7JMVSU.js → chunk-U7HAVAGJ.js} +1 -1
  26. package/dist/{chunk-PZURG3XN.js → chunk-VA55JG2I.js} +4 -4
  27. package/dist/{chunk-CPA43FBK.js → chunk-W7HIK2A6.js} +3 -4
  28. package/dist/{chunk-SKSOCIJT.js → chunk-WY2IAB7J.js} +68 -21
  29. package/dist/{chunk-QINJKNLR.js → chunk-XTPQEZZA.js} +2 -2
  30. package/dist/{conductor-J6WDOXWM.js → conductor-CNSCOC54.js} +5 -5
  31. package/dist/{conductor-OW6NAK3N.js → conductor-U776JSXQ.js} +5 -5
  32. package/dist/{coordinator-prompt-Z2D32HWK.js → coordinator-prompt-4DJIHSE6.js} +3 -3
  33. package/dist/{coordinator-prompt-ERTHREGJ.js → coordinator-prompt-SVVGU6AZ.js} +3 -3
  34. package/dist/{global-workspace-5PJXO45Z.js → global-workspace-UPUDWIS6.js} +3 -3
  35. package/dist/{global-workspace-AK5PSPQ2.js → global-workspace-XON4YZXE.js} +3 -3
  36. package/dist/index.cjs +3690 -2912
  37. package/dist/index.d.cts +101 -28
  38. package/dist/index.d.ts +101 -28
  39. package/dist/index.js +1013 -1001
  40. package/dist/mcp/run-stdio.cjs +1975 -1259
  41. package/dist/mcp/run-stdio.js +743 -785
  42. package/dist/{orchestrator-XEKODYDQ.js → orchestrator-FPGVKEID.js} +7 -7
  43. package/dist/{orchestrator-K66OMTQO.js → orchestrator-HWJHK5NL.js} +7 -7
  44. package/dist/{thread-store-B3ZM4QEZ.js → thread-store-7XBOUQ5K.js} +1 -1
  45. package/dist/{thread-store-SHCUBWB3.js → thread-store-ZQZDREVH.js} +1 -1
  46. package/dist/{workspaces-UP6DQ3WL.js → workspaces-7AJ5RZ3P.js} +7 -3
  47. package/dist/{workspaces-WU2RNLDV.js → workspaces-F76BWCSI.js} +7 -3
  48. package/dist/{worktree-L57T3KH7.js → worktree-NKLNVNXX.js} +20 -15
  49. package/dist/{worktree-Q6UJHG25.js → worktree-YTZC3UQN.js} +14 -9
  50. package/package.json +1 -1
  51. package/dist/chunk-FWNL62VA.js +0 -308
  52. package/dist/chunk-JANCPF7Z.js +0 -310
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  abletimeRestUrl,
3
3
  textFromAbleTimeDoc
4
- } from "./chunk-NQ7JMVSU.js";
4
+ } from "./chunk-U7HAVAGJ.js";
5
5
  import {
6
6
  assertAbleTimeCredential,
7
7
  callAbleTimeTool,
8
8
  normalizeAbleTimeHost,
9
9
  rewriteAbleTimeError
10
- } from "./chunk-PZURG3XN.js";
10
+ } from "./chunk-VA55JG2I.js";
11
11
  import {
12
12
  httpFetch
13
13
  } from "./chunk-N7WZ6NIN.js";
@@ -360,15 +360,66 @@ async function downloadAbleTimeAttachment(input, opts) {
360
360
  });
361
361
  }
362
362
 
363
+ // src/integrations/abletime-projects.ts
364
+ function asRecord2(value) {
365
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
366
+ }
367
+ function firstString2(record, keys) {
368
+ if (!record) return "";
369
+ for (const key of keys) {
370
+ const value = record[key];
371
+ if (typeof value === "string" && value.trim()) return value.trim();
372
+ }
373
+ return "";
374
+ }
375
+ function asList2(value) {
376
+ if (Array.isArray(value)) return value;
377
+ const record = asRecord2(value);
378
+ if (!record) return [];
379
+ for (const key of ["data", "tasks", "projects", "items", "results", "nodes"]) {
380
+ if (Array.isArray(record[key])) return record[key];
381
+ }
382
+ return [];
383
+ }
384
+ function ableTimeProjectFields(nested) {
385
+ const projectRecord = asRecord2(nested.project);
386
+ const projectId = firstString2(nested, ["project_id", "projectId"]) || firstString2(projectRecord, ["id"]) || void 0;
387
+ const projectName = firstString2(nested, ["project_name", "projectName"]) || firstString2(projectRecord, ["name", "title"]) || void 0;
388
+ if (!projectId && !projectName) return {};
389
+ return {
390
+ ...projectId ? { projectId } : {},
391
+ project: {
392
+ ...projectId ? { id: projectId } : {},
393
+ ...projectName ? { name: projectName } : {}
394
+ }
395
+ };
396
+ }
397
+ function mapAbleTimeProject(raw) {
398
+ const record = asRecord2(raw);
399
+ if (!record) return null;
400
+ const id = firstString2(record, ["id", "project_id", "projectId"]);
401
+ const name = firstString2(record, ["name", "title", "projectName"]);
402
+ if (!id && !name) return null;
403
+ const categories = asList2(record.categories ?? record.category).map((item) => {
404
+ const rec = asRecord2(item);
405
+ if (!rec) return null;
406
+ const categoryId = firstString2(rec, ["id", "category_id", "projectCategoryId", "categoryId"]);
407
+ const categoryName = firstString2(rec, ["name", "title", "categoryName"]);
408
+ if (!categoryId && !categoryName) return null;
409
+ return { id: categoryId || categoryName, name: categoryName || categoryId };
410
+ }).filter((item) => Boolean(item));
411
+ return { id: id || name, name: name || id, categories };
412
+ }
413
+
363
414
  // src/integrations/abletime.ts
364
415
  var CLOSED_STATES = /* @__PURE__ */ new Set(["done", "completed", "canceled", "cancelled", "archived", "closed"]);
365
- function asRecord2(value) {
416
+ function asRecord3(value) {
366
417
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
367
418
  }
368
419
  function asString2(value) {
369
420
  return typeof value === "string" ? value.trim() : "";
370
421
  }
371
- function firstString2(record, keys) {
422
+ function firstString3(record, keys) {
372
423
  if (!record) return "";
373
424
  for (const key of keys) {
374
425
  const value = asString2(record[key]);
@@ -379,14 +430,14 @@ function firstString2(record, keys) {
379
430
  function firstRecord(record, keys) {
380
431
  if (!record) return null;
381
432
  for (const key of keys) {
382
- const value = asRecord2(record[key]);
433
+ const value = asRecord3(record[key]);
383
434
  if (value) return value;
384
435
  }
385
436
  return null;
386
437
  }
387
- function asList2(value) {
438
+ function asList3(value) {
388
439
  if (Array.isArray(value)) return value;
389
- const record = asRecord2(value);
440
+ const record = asRecord3(value);
390
441
  if (!record) return [];
391
442
  for (const key of ["data", "tasks", "projects", "items", "results", "nodes"]) {
392
443
  if (Array.isArray(record[key])) return record[key];
@@ -398,21 +449,21 @@ function labelsOf(record) {
398
449
  if (!Array.isArray(raw)) return [];
399
450
  return raw.map((item) => {
400
451
  if (typeof item === "string") return item.trim();
401
- const rec = asRecord2(item);
402
- return rec ? firstString2(rec, ["name", "title", "label"]) : "";
452
+ const rec = asRecord3(item);
453
+ return rec ? firstString3(rec, ["name", "title", "label"]) : "";
403
454
  }).filter(Boolean);
404
455
  }
405
456
  function commentsOf(record) {
406
457
  const out = [];
407
- for (const item of asList2(record.comments ?? record.notes ?? record.discussion)) {
408
- const rec = asRecord2(item);
458
+ for (const item of asList3(record.comments ?? record.notes ?? record.discussion)) {
459
+ const rec = asRecord3(item);
409
460
  if (!rec) continue;
410
- const body = firstString2(rec, ["body", "text", "comment", "message", "contentSanitized"]) || textFromAbleTimeDoc(rec.content);
461
+ const body = firstString3(rec, ["body", "text", "comment", "message", "contentSanitized"]) || textFromAbleTimeDoc(rec.content);
411
462
  if (!body) continue;
412
- const user = firstString2(asRecord2(rec.user) ?? asRecord2(rec.author), ["name", "display_name", "username"]) || firstString2(rec, ["user_name", "author", "username"]);
413
- const id = firstString2(rec, ["id", "comment_id", "commentId"]);
414
- const url = firstString2(rec, ["url", "permalink"]);
415
- const createdAt = firstString2(rec, ["created_at", "createdAt", "created"]);
463
+ const user = firstString3(asRecord3(rec.user) ?? asRecord3(rec.author), ["name", "display_name", "username"]) || firstString3(rec, ["user_name", "author", "username"]);
464
+ const id = firstString3(rec, ["id", "comment_id", "commentId"]);
465
+ const url = firstString3(rec, ["url", "permalink"]);
466
+ const createdAt = firstString3(rec, ["created_at", "createdAt", "created"]);
416
467
  out.push({
417
468
  body,
418
469
  ...id ? { id } : {},
@@ -425,9 +476,9 @@ function commentsOf(record) {
425
476
  }
426
477
  function assigneeOf(record) {
427
478
  const nested = firstRecord(record, ["assignee", "assigned_to", "user", "owner"]);
428
- const name = firstString2(nested, ["name", "display_name", "full_name", "email"]) || firstString2(record, ["assignee_name", "assigneeName"]);
479
+ const name = firstString3(nested, ["name", "display_name", "full_name", "email"]) || firstString3(record, ["assignee_name", "assigneeName"]);
429
480
  if (!name) return void 0;
430
- const id = firstString2(nested, ["id", "user_id"]);
481
+ const id = firstString3(nested, ["id", "user_id"]);
431
482
  return { id: id || void 0, name };
432
483
  }
433
484
  function taskUrl(task, host) {
@@ -436,31 +487,31 @@ function taskUrl(task, host) {
436
487
  return `${base}/tasks/${slug}`;
437
488
  }
438
489
  function mapAbleTimeTask(raw, host) {
439
- const record = asRecord2(raw);
490
+ const record = asRecord3(raw);
440
491
  if (!record) return null;
441
492
  const nested = firstRecord(record, ["task", "data"]) ?? record;
442
- const id = firstString2(nested, ["id", "task_id", "taskId", "timeflowTaskId"]);
443
- const identifier = firstString2(nested, ["reference", "ref", "identifier", "key", "code", "number", "taskRef"]) || id;
444
- const title = firstString2(nested, ["title", "name"]);
493
+ const id = firstString3(nested, ["id", "task_id", "taskId", "timeflowTaskId"]);
494
+ const identifier = firstString3(nested, ["reference", "ref", "identifier", "key", "code", "number", "taskRef"]) || id;
495
+ const title = firstString3(nested, ["title", "name"]);
445
496
  if (!id && !identifier && !title) return null;
446
497
  const resolvedId = id || identifier;
447
498
  const resolvedIdentifier = identifier || id;
448
- const url = firstString2(nested, ["url", "permalink", "html_url"]) || taskUrl({ id: resolvedId, identifier: resolvedIdentifier }, host);
499
+ const url = firstString3(nested, ["url", "permalink", "html_url"]) || taskUrl({ id: resolvedId, identifier: resolvedIdentifier }, host);
449
500
  return {
450
501
  id: resolvedId,
451
502
  identifier: resolvedIdentifier,
452
503
  title: title || resolvedIdentifier,
453
504
  url,
454
- description: firstString2(nested, ["description", "body", "details", "descriptionSanitized"]) || textFromAbleTimeDoc(nested.description) || void 0,
455
- state: firstString2(nested, ["state", "board_state", "boardState", "status", "taskState"]) || void 0,
456
- projectId: firstString2(nested, ["project_id", "projectId"]) || firstString2(asRecord2(nested.project), ["id"]) || void 0,
457
- categoryId: firstString2(nested, ["category_id", "categoryId", "projectCategoryId"]) || firstString2(asRecord2(nested.category), ["id"]) || void 0,
505
+ description: firstString3(nested, ["description", "body", "details", "descriptionSanitized"]) || textFromAbleTimeDoc(nested.description) || void 0,
506
+ state: firstString3(nested, ["state", "board_state", "boardState", "status", "taskState"]) || void 0,
507
+ ...ableTimeProjectFields(nested),
508
+ categoryId: firstString3(nested, ["category_id", "categoryId", "projectCategoryId"]) || firstString3(asRecord3(nested.category), ["id"]) || void 0,
458
509
  assignee: assigneeOf(nested),
459
510
  labels: labelsOf(nested),
460
511
  comments: commentsOf(nested),
461
512
  attachments: mapAbleTimeAttachments(nested),
462
- createdAt: firstString2(nested, ["created_at", "createdAt", "created", "dateCreated"]) || void 0,
463
- updatedAt: firstString2(nested, [
513
+ createdAt: firstString3(nested, ["created_at", "createdAt", "created", "dateCreated"]) || void 0,
514
+ updatedAt: firstString3(nested, [
464
515
  "updated_at",
465
516
  "updatedAt",
466
517
  "modified_at",
@@ -481,6 +532,7 @@ function toAbleTimeIssueInfo(task) {
481
532
  provider: "abletime",
482
533
  assignee: task.assignee?.name,
483
534
  assignees: task.assignee?.name ? [task.assignee.name] : void 0,
535
+ ...task.project || task.projectId ? { projects: [task.project ?? { id: task.projectId }] } : {},
484
536
  ...task.createdAt ? { createdAt: task.createdAt } : {},
485
537
  ...task.updatedAt ? { updatedAt: task.updatedAt } : {}
486
538
  };
@@ -497,43 +549,27 @@ function issueAttachmentForAbleTimeTask(task) {
497
549
  ].filter(Boolean).join("\n")
498
550
  };
499
551
  }
500
- function mapProject(raw) {
501
- const record = asRecord2(raw);
502
- if (!record) return null;
503
- const id = firstString2(record, ["id", "project_id", "projectId"]);
504
- const name = firstString2(record, ["name", "title", "projectName"]);
505
- if (!id && !name) return null;
506
- const categories = asList2(record.categories ?? record.category).map((item) => {
507
- const rec = asRecord2(item);
508
- if (!rec) return null;
509
- const categoryId = firstString2(rec, ["id", "category_id", "projectCategoryId", "categoryId"]);
510
- const categoryName = firstString2(rec, ["name", "title", "categoryName"]);
511
- if (!categoryId && !categoryName) return null;
512
- return { id: categoryId || categoryName, name: categoryName || categoryId };
513
- }).filter((item) => Boolean(item));
514
- return { id: id || name, name: name || id, categories };
515
- }
516
552
  function isOpenTask(task) {
517
553
  const state = (task.state ?? "").toLowerCase();
518
554
  return !state || !CLOSED_STATES.has(state);
519
555
  }
520
556
  async function getAbleTimeOrientation(opts) {
521
557
  const raw = await callAbleTimeTool("orientation", {}, opts);
522
- const record = asRecord2(raw);
558
+ const record = asRecord3(raw);
523
559
  const viewerRec = firstRecord(record, ["viewer", "principal", "user", "actor", "me", "person"]) ?? record;
524
560
  const viewer = {
525
- id: firstString2(viewerRec, ["id", "user_id"]) || void 0,
526
- name: firstString2(viewerRec, ["name", "display_name", "full_name"]) || firstString2(record, ["name"]) || void 0
561
+ id: firstString3(viewerRec, ["id", "user_id"]) || void 0,
562
+ name: firstString3(viewerRec, ["name", "display_name", "full_name"]) || firstString3(record, ["name"]) || void 0
527
563
  };
528
- const projects = asList2(
564
+ const projects = asList3(
529
565
  record?.projects ?? record?.current_projects ?? record?.currentProjects
530
- ).map(mapProject).filter((item) => Boolean(item));
531
- const tasks = asList2(record?.tasks ?? record?.active_tasks ?? record?.activeTasks).map((item) => mapAbleTimeTask(item, opts?.host)).filter((item) => Boolean(item));
566
+ ).map(mapAbleTimeProject).filter((item) => Boolean(item));
567
+ const tasks = asList3(record?.tasks ?? record?.active_tasks ?? record?.activeTasks).map((item) => mapAbleTimeTask(item, opts?.host)).filter((item) => Boolean(item));
532
568
  return { viewer, projects, tasks, raw };
533
569
  }
534
570
  async function listAbleTimeProjects(opts) {
535
571
  const raw = await callAbleTimeTool("list_projects", { include_categories: true }, opts);
536
- return asList2(raw).map(mapProject).filter((item) => Boolean(item));
572
+ return asList3(raw).map(mapAbleTimeProject).filter((item) => Boolean(item));
537
573
  }
538
574
  async function listAbleTimeTasks(opts) {
539
575
  const args = {};
@@ -543,14 +579,14 @@ async function listAbleTimeTasks(opts) {
543
579
  }
544
580
  if (opts?.query) args.query = opts.query;
545
581
  const raw = await callAbleTimeTool("list_tasks", args, opts);
546
- const tasks = asList2(raw).map((item) => mapAbleTimeTask(item, opts?.host)).filter((item) => Boolean(item));
582
+ const tasks = asList3(raw).map((item) => mapAbleTimeTask(item, opts?.host)).filter((item) => Boolean(item));
547
583
  return opts?.includeClosed ? tasks : tasks.filter(isOpenTask);
548
584
  }
549
585
  async function searchAbleTimeTasks(query, opts) {
550
586
  const q = query.trim();
551
587
  if (!q) return [];
552
588
  const raw = await callAbleTimeTool("search_tasks", { query: q, q }, opts);
553
- return asList2(raw).map((item) => mapAbleTimeTask(item, opts?.host)).filter((item) => Boolean(item)).filter(isOpenTask);
589
+ return asList3(raw).map((item) => mapAbleTimeTask(item, opts?.host)).filter((item) => Boolean(item)).filter(isOpenTask);
554
590
  }
555
591
  async function getAbleTimeTask(id, opts) {
556
592
  const raw = await callAbleTimeTool("get_task", { id, task_id: id }, opts);
@@ -598,10 +634,10 @@ async function commentAbleTimeTask(input, opts) {
598
634
  { id, task_id: id, task: id, body, comment: body, text: body },
599
635
  opts
600
636
  );
601
- const rec = asRecord2(raw);
637
+ const rec = asRecord3(raw);
602
638
  return {
603
- id: rec ? firstString2(rec, ["id", "comment_id"]) || void 0 : void 0,
604
- body: rec ? firstString2(rec, ["body", "text", "comment"]) || body : body
639
+ id: rec ? firstString3(rec, ["id", "comment_id"]) || void 0 : void 0,
640
+ body: rec ? firstString3(rec, ["body", "text", "comment"]) || body : body
605
641
  };
606
642
  }
607
643
  function isAbleTimeNoneToken(value) {
@@ -2,28 +2,28 @@ import {
2
2
  compactSummaryPart,
3
3
  isInternalAgentStatusText,
4
4
  lastAssistantMessageText
5
- } from "./chunk-Y7JPL4WA.js";
5
+ } from "./chunk-BDAUPNHL.js";
6
6
  import {
7
7
  isCloudCoordinatorThread,
8
8
  isGlobalThread,
9
9
  isOrchestratorThread,
10
10
  isSlackCoordinatorThread
11
- } from "./chunk-SKSOCIJT.js";
11
+ } from "./chunk-WY2IAB7J.js";
12
12
  import {
13
- allocateTeamName,
14
13
  mergeAgentGitAuthEnv,
15
- normalizeWorktreePath,
16
- resolveAgentGitAuthEnv,
17
- takenSlugsFromThread,
18
- worktreeNameFromPath
19
- } from "./chunk-IPPY3FG5.js";
14
+ resolveAgentGitAuthEnv
15
+ } from "./chunk-K5XSTHHP.js";
20
16
  import {
17
+ allocateTeamName,
21
18
  createEmptyThread,
22
19
  findThreadByRef,
23
20
  listThreads,
21
+ normalizeWorktreePath,
22
+ takenSlugsFromThread,
24
23
  updateThread,
24
+ worktreeNameFromPath,
25
25
  writeThread
26
- } from "./chunk-FWNL62VA.js";
26
+ } from "./chunk-N5UGX3JL.js";
27
27
  import {
28
28
  ensureWorktreeSideboardIgnored
29
29
  } from "./chunk-2P4XKWV2.js";
@@ -691,7 +691,8 @@ function worktreeBindingFrom(from) {
691
691
  skipAutoArchiveOnMerge: from.skipAutoArchiveOnMerge,
692
692
  stackId: from.stackId,
693
693
  stackLayer: from.stackLayer,
694
- cowboy: from.cowboy
694
+ cowboy: from.cowboy,
695
+ tags: from.tags
695
696
  };
696
697
  }
697
698
  function threadsSharingWorktree(worktreePath) {
@@ -1775,7 +1776,7 @@ var PORT_RANGE_SIZE = 10;
1775
1776
  var RECLAIM_RETRY_DELAY_MS = 40;
1776
1777
  var RECLAIM_TRIES = 8;
1777
1778
  async function killReclaimable(ports, worktreePath, signal) {
1778
- const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-OW6NAK3N.js");
1779
+ const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-U776JSXQ.js");
1779
1780
  if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
1780
1781
  else killListenersOnPorts2(ports);
1781
1782
  }
@@ -5,21 +5,17 @@ import {
5
5
  compactSummaryPart,
6
6
  isInternalAgentStatusText,
7
7
  lastAssistantMessageText
8
- } from "./chunk-CPA43FBK.js";
8
+ } from "./chunk-W7HIK2A6.js";
9
9
  import {
10
10
  isCloudCoordinatorThread,
11
11
  isGlobalThread,
12
12
  isOrchestratorThread,
13
13
  isSlackCoordinatorThread
14
- } from "./chunk-TZ5JHIYK.js";
14
+ } from "./chunk-2SJXQ4UX.js";
15
15
  import {
16
- allocateTeamName,
17
16
  mergeAgentGitAuthEnv,
18
- normalizeWorktreePath,
19
- resolveAgentGitAuthEnv,
20
- takenSlugsFromThread,
21
- worktreeNameFromPath
22
- } from "./chunk-K7MWJLR7.js";
17
+ resolveAgentGitAuthEnv
18
+ } from "./chunk-5MGLNVNK.js";
23
19
  import {
24
20
  ATTACHMENTS_DIR,
25
21
  DETACHED_JOBS_DIR,
@@ -41,12 +37,16 @@ import {
41
37
  stripNestedElectronEnv
42
38
  } from "./chunk-WWUABK6B.js";
43
39
  import {
40
+ allocateTeamName,
44
41
  createEmptyThread,
45
42
  findThreadByRef,
46
43
  listThreads,
44
+ normalizeWorktreePath,
45
+ takenSlugsFromThread,
47
46
  updateThread,
47
+ worktreeNameFromPath,
48
48
  writeThread
49
- } from "./chunk-JANCPF7Z.js";
49
+ } from "./chunk-JPH7PYSK.js";
50
50
  import {
51
51
  findConventionSetup,
52
52
  loadRepoSettings,
@@ -666,7 +666,8 @@ function worktreeBindingFrom(from) {
666
666
  skipAutoArchiveOnMerge: from.skipAutoArchiveOnMerge,
667
667
  stackId: from.stackId,
668
668
  stackLayer: from.stackLayer,
669
- cowboy: from.cowboy
669
+ cowboy: from.cowboy,
670
+ tags: from.tags
670
671
  };
671
672
  }
672
673
  function threadsSharingWorktree(worktreePath) {
@@ -1673,7 +1674,7 @@ var PORT_RANGE_SIZE = 10;
1673
1674
  var RECLAIM_RETRY_DELAY_MS = 40;
1674
1675
  var RECLAIM_TRIES = 8;
1675
1676
  async function killReclaimable(ports, worktreePath, signal) {
1676
- const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-J6WDOXWM.js");
1677
+ const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-CNSCOC54.js");
1677
1678
  if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
1678
1679
  else killListenersOnPorts2(ports);
1679
1680
  }
@@ -6,7 +6,7 @@ import {
6
6
  normalizeAbleTimeCredential,
7
7
  normalizeAbleTimeHost,
8
8
  rewriteAbleTimeError
9
- } from "./chunk-IJDQKC5A.js";
9
+ } from "./chunk-PY4UCMRI.js";
10
10
  import {
11
11
  httpFetch
12
12
  } from "./chunk-VKQGAWHY.js";