@sideboard-ai/core 0.1.158 → 0.1.160

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 (35) hide show
  1. package/dist/{abletime-GWZE6OYM.js → abletime-AGF54TNA.js} +2 -2
  2. package/dist/{abletime-BEIDJG7W.js → abletime-BMS53RIZ.js} +2 -2
  3. package/dist/{agents-RGE7PSUY.js → agents-6UOXBORU.js} +4 -4
  4. package/dist/{agents-E3ZPWZRS.js → agents-RD774UEV.js} +4 -4
  5. package/dist/{app-settings-VRQI3FIE.js → app-settings-BRLZQA7N.js} +13 -17
  6. package/dist/{app-settings-H3INSR67.js → app-settings-JJQDWPEK.js} +13 -17
  7. package/dist/{chunk-EPQIOAAY.js → chunk-7OWRFJK6.js} +7 -5
  8. package/dist/{chunk-KYKNFJK5.js → chunk-BQ4PEXIF.js} +39 -20
  9. package/dist/{chunk-3BWVOUQG.js → chunk-CVZ4KXVP.js} +127 -113
  10. package/dist/{chunk-3SUZMPGL.js → chunk-HZROPNYL.js} +12 -13
  11. package/dist/{chunk-DVJBO3M7.js → chunk-ILXKJ4ZD.js} +1 -1
  12. package/dist/{chunk-A7QXLYBN.js → chunk-IO5WGZRR.js} +3 -13
  13. package/dist/{chunk-N27GVFZY.js → chunk-KJFFQAMA.js} +1 -1
  14. package/dist/{chunk-D7EGJ3EI.js → chunk-LTXS26K5.js} +127 -113
  15. package/dist/{chunk-CVR4RJ6G.js → chunk-QANLIT2E.js} +12 -13
  16. package/dist/{chunk-FBFIOVDH.js → chunk-QYKADGPP.js} +38 -19
  17. package/dist/{chunk-BLRHO7XQ.js → chunk-RQNXLIXO.js} +10 -6
  18. package/dist/{chunk-LQMFCS54.js → chunk-UUEBNUEG.js} +3 -13
  19. package/dist/{coordinator-prompt-26IJU2AV.js → coordinator-prompt-X3LXE5Q4.js} +3 -3
  20. package/dist/{coordinator-prompt-GZESIQNH.js → coordinator-prompt-YYUXC7EM.js} +3 -3
  21. package/dist/{global-workspace-REI55FZ6.js → global-workspace-E6S5XQZF.js} +3 -3
  22. package/dist/{global-workspace-5BIW26YR.js → global-workspace-SPR2Y4YQ.js} +3 -3
  23. package/dist/index.cjs +599 -475
  24. package/dist/index.d.cts +62 -57
  25. package/dist/index.d.ts +62 -57
  26. package/dist/index.js +325 -230
  27. package/dist/mcp/run-stdio.cjs +528 -402
  28. package/dist/mcp/run-stdio.js +265 -163
  29. package/dist/{orchestrator-ZVW2AC6B.js → orchestrator-BSVSOTBK.js} +5 -5
  30. package/dist/{orchestrator-J727WIJY.js → orchestrator-KVKPIUVU.js} +5 -5
  31. package/dist/{workspaces-NYSM2EPX.js → workspaces-MZELP4BI.js} +3 -3
  32. package/dist/{workspaces-OCEPZXFD.js → workspaces-OK2SNNQF.js} +3 -3
  33. package/dist/{worktree-VTMBZKY6.js → worktree-BX53JZHO.js} +2 -2
  34. package/dist/{worktree-T4SWFSTT.js → worktree-IY7YCEGH.js} +2 -2
  35. package/package.json +1 -1
@@ -14,9 +14,9 @@ import {
14
14
  toAbleTimeIssueInfo,
15
15
  updateAbleTimeTask,
16
16
  verifyAbleTimeConnection
17
- } from "./chunk-DVJBO3M7.js";
17
+ } from "./chunk-ILXKJ4ZD.js";
18
18
  import "./chunk-ELBYOGVA.js";
19
- import "./chunk-3BWVOUQG.js";
19
+ import "./chunk-CVZ4KXVP.js";
20
20
  import "./chunk-4TR3HZFT.js";
21
21
  import "./chunk-JT7R45JB.js";
22
22
  import "./chunk-77WWLBCI.js";
@@ -16,9 +16,9 @@ import {
16
16
  toAbleTimeIssueInfo,
17
17
  updateAbleTimeTask,
18
18
  verifyAbleTimeConnection
19
- } from "./chunk-N27GVFZY.js";
19
+ } from "./chunk-KJFFQAMA.js";
20
20
  import "./chunk-6GN5WPYZ.js";
21
- import "./chunk-D7EGJ3EI.js";
21
+ import "./chunk-LTXS26K5.js";
22
22
  import "./chunk-NSTQ6QKD.js";
23
23
  import "./chunk-KGZBYWZ3.js";
24
24
  import "./chunk-JTJHOYCU.js";
@@ -37,7 +37,7 @@ import {
37
37
  resolveQuotaFallbackAgent,
38
38
  turnCostUsdFromCursorUsage,
39
39
  whichOnPath
40
- } from "./chunk-EPQIOAAY.js";
40
+ } from "./chunk-7OWRFJK6.js";
41
41
  import "./chunk-LZ6QMEQC.js";
42
42
  import "./chunk-S42XV45P.js";
43
43
  import "./chunk-6GN5WPYZ.js";
@@ -46,8 +46,8 @@ import {
46
46
  assertOrchestratorCapableAgent,
47
47
  coerceOrchestratorAgent,
48
48
  isOrchestratorCapableAgent
49
- } from "./chunk-3SUZMPGL.js";
50
- import "./chunk-A7QXLYBN.js";
49
+ } from "./chunk-HZROPNYL.js";
50
+ import "./chunk-IO5WGZRR.js";
51
51
  import "./chunk-5U4NZLBH.js";
52
52
  import "./chunk-LZQULFIT.js";
53
53
  import "./chunk-SYFVUF2C.js";
@@ -60,7 +60,7 @@ import {
60
60
  resolveCommandBinarySync,
61
61
  withExportedPath
62
62
  } from "./chunk-FNQNJOHY.js";
63
- import "./chunk-D7EGJ3EI.js";
63
+ import "./chunk-LTXS26K5.js";
64
64
  import "./chunk-NSTQ6QKD.js";
65
65
  import "./chunk-KGZBYWZ3.js";
66
66
  import "./chunk-JTJHOYCU.js";
@@ -31,14 +31,14 @@ import {
31
31
  resolveLoginCommand,
32
32
  resolveQuotaFallbackAgent,
33
33
  whichOnPath
34
- } from "./chunk-BLRHO7XQ.js";
34
+ } from "./chunk-RQNXLIXO.js";
35
35
  import {
36
36
  ORCHESTRATOR_AGENT_KINDS,
37
37
  assertOrchestratorCapableAgent,
38
38
  coerceOrchestratorAgent,
39
39
  isOrchestratorCapableAgent
40
- } from "./chunk-CVR4RJ6G.js";
41
- import "./chunk-LQMFCS54.js";
40
+ } from "./chunk-QANLIT2E.js";
41
+ import "./chunk-UUEBNUEG.js";
42
42
  import "./chunk-JRH62XC4.js";
43
43
  import "./chunk-XD2BAANL.js";
44
44
  import "./chunk-M267JPEA.js";
@@ -49,7 +49,7 @@ import {
49
49
  preferredCursorCostCents,
50
50
  turnCostUsdFromCursorUsage
51
51
  } from "./chunk-HEII7W3Q.js";
52
- import "./chunk-3BWVOUQG.js";
52
+ import "./chunk-CVZ4KXVP.js";
53
53
  import "./chunk-4TR3HZFT.js";
54
54
  import "./chunk-JT7R45JB.js";
55
55
  import "./chunk-7UURXPKD.js";
@@ -1,16 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import {
4
- ACCOUNT_ROLES,
5
- ACCOUNT_ROLE_LABELS,
6
- ACCOUNT_ROLE_MAX,
7
- ACCOUNT_ROLE_PRESETS,
8
4
  FOLLOW_UP_BEHAVIORS,
9
5
  GITHUB_GIT_AUTH_MODES,
10
6
  HARNESS_ENV_KEYS,
11
7
  ISSUE_SOURCE_LABELS,
12
8
  PROFILE_NOTES_MAX,
13
- accountRoleLabel,
14
9
  appSettingsPath,
15
10
  applyAppEnvironment,
16
11
  autoArchiveOnMergeEnabled,
@@ -34,9 +29,12 @@ import {
34
29
  emptyPublicIntegrations,
35
30
  ensureSlackDeviceIdentity,
36
31
  findProjectProfileKey,
32
+ foldLegacyRolesIntoNotes,
37
33
  followUpBehavior,
38
34
  formatAccountProfilePlaybookLine,
39
35
  formatProjectProfilePlaybookLines,
36
+ formatViewerContextDirective,
37
+ formatViewerContextReminder,
40
38
  formatWorkspaceProfileSuffix,
41
39
  getAbleTimeAccessToken,
42
40
  getAbleTimeHost,
@@ -57,7 +55,7 @@ import {
57
55
  maxConcurrentAgents,
58
56
  orchestrationQuotaFallbackAgent,
59
57
  orchestrationQuotaOnLimit,
60
- preferTeamsForRole,
58
+ readViewerContext,
61
59
  resolveAccountProfile,
62
60
  resolveAccountProfileFromSettings,
63
61
  resolveAgentExecutable,
@@ -67,7 +65,6 @@ import {
67
65
  resolveThreadDefaults,
68
66
  resolveViewerProfile,
69
67
  resolveViewerProfileForRepo,
70
- reviewTeamHintsForRoles,
71
68
  saveAbleTimeConnection,
72
69
  saveAppSettings,
73
70
  saveLinearOAuth,
@@ -84,22 +81,18 @@ import {
84
81
  updateDefaultsSettings,
85
82
  updateIntegrationsSettings,
86
83
  updateOpencodeSettings,
87
- updateProjectProfileSettings
88
- } from "./chunk-D7EGJ3EI.js";
84
+ updateProjectProfileSettings,
85
+ writeViewerContext
86
+ } from "./chunk-LTXS26K5.js";
89
87
  import "./chunk-NSTQ6QKD.js";
90
88
  import "./chunk-KGZBYWZ3.js";
91
89
  import "./chunk-JTJHOYCU.js";
92
90
  export {
93
- ACCOUNT_ROLES,
94
- ACCOUNT_ROLE_LABELS,
95
- ACCOUNT_ROLE_MAX,
96
- ACCOUNT_ROLE_PRESETS,
97
91
  FOLLOW_UP_BEHAVIORS,
98
92
  GITHUB_GIT_AUTH_MODES,
99
93
  HARNESS_ENV_KEYS,
100
94
  ISSUE_SOURCE_LABELS,
101
95
  PROFILE_NOTES_MAX,
102
- accountRoleLabel,
103
96
  appSettingsPath,
104
97
  applyAppEnvironment,
105
98
  autoArchiveOnMergeEnabled,
@@ -123,9 +116,12 @@ export {
123
116
  emptyPublicIntegrations,
124
117
  ensureSlackDeviceIdentity,
125
118
  findProjectProfileKey,
119
+ foldLegacyRolesIntoNotes,
126
120
  followUpBehavior,
127
121
  formatAccountProfilePlaybookLine,
128
122
  formatProjectProfilePlaybookLines,
123
+ formatViewerContextDirective,
124
+ formatViewerContextReminder,
129
125
  formatWorkspaceProfileSuffix,
130
126
  getAbleTimeAccessToken,
131
127
  getAbleTimeHost,
@@ -146,7 +142,7 @@ export {
146
142
  maxConcurrentAgents,
147
143
  orchestrationQuotaFallbackAgent,
148
144
  orchestrationQuotaOnLimit,
149
- preferTeamsForRole,
145
+ readViewerContext,
150
146
  resolveAccountProfile,
151
147
  resolveAccountProfileFromSettings,
152
148
  resolveAgentExecutable,
@@ -156,7 +152,6 @@ export {
156
152
  resolveThreadDefaults,
157
153
  resolveViewerProfile,
158
154
  resolveViewerProfileForRepo,
159
- reviewTeamHintsForRoles,
160
155
  saveAbleTimeConnection,
161
156
  saveAppSettings,
162
157
  saveLinearOAuth,
@@ -173,5 +168,6 @@ export {
173
168
  updateDefaultsSettings,
174
169
  updateIntegrationsSettings,
175
170
  updateOpencodeSettings,
176
- updateProjectProfileSettings
171
+ updateProjectProfileSettings,
172
+ writeViewerContext
177
173
  };
@@ -1,14 +1,9 @@
1
1
  import {
2
- ACCOUNT_ROLES,
3
- ACCOUNT_ROLE_LABELS,
4
- ACCOUNT_ROLE_MAX,
5
- ACCOUNT_ROLE_PRESETS,
6
2
  FOLLOW_UP_BEHAVIORS,
7
3
  GITHUB_GIT_AUTH_MODES,
8
4
  HARNESS_ENV_KEYS,
9
5
  ISSUE_SOURCE_LABELS,
10
6
  PROFILE_NOTES_MAX,
11
- accountRoleLabel,
12
7
  appSettingsPath,
13
8
  applyAppEnvironment,
14
9
  autoArchiveOnMergeEnabled,
@@ -32,9 +27,12 @@ import {
32
27
  emptyPublicIntegrations,
33
28
  ensureSlackDeviceIdentity,
34
29
  findProjectProfileKey,
30
+ foldLegacyRolesIntoNotes,
35
31
  followUpBehavior,
36
32
  formatAccountProfilePlaybookLine,
37
33
  formatProjectProfilePlaybookLines,
34
+ formatViewerContextDirective,
35
+ formatViewerContextReminder,
38
36
  formatWorkspaceProfileSuffix,
39
37
  getAbleTimeAccessToken,
40
38
  getAbleTimeHost,
@@ -55,7 +53,7 @@ import {
55
53
  maxConcurrentAgents,
56
54
  orchestrationQuotaFallbackAgent,
57
55
  orchestrationQuotaOnLimit,
58
- preferTeamsForRole,
56
+ readViewerContext,
59
57
  resolveAccountProfile,
60
58
  resolveAccountProfileFromSettings,
61
59
  resolveAgentExecutable,
@@ -65,7 +63,6 @@ import {
65
63
  resolveThreadDefaults,
66
64
  resolveViewerProfile,
67
65
  resolveViewerProfileForRepo,
68
- reviewTeamHintsForRoles,
69
66
  saveAbleTimeConnection,
70
67
  saveAppSettings,
71
68
  saveLinearOAuth,
@@ -82,23 +79,19 @@ import {
82
79
  updateDefaultsSettings,
83
80
  updateIntegrationsSettings,
84
81
  updateOpencodeSettings,
85
- updateProjectProfileSettings
86
- } from "./chunk-3BWVOUQG.js";
82
+ updateProjectProfileSettings,
83
+ writeViewerContext
84
+ } from "./chunk-CVZ4KXVP.js";
87
85
  import "./chunk-4TR3HZFT.js";
88
86
  import "./chunk-JT7R45JB.js";
89
87
  import "./chunk-77WWLBCI.js";
90
88
  import "./chunk-EFVFB2AH.js";
91
89
  export {
92
- ACCOUNT_ROLES,
93
- ACCOUNT_ROLE_LABELS,
94
- ACCOUNT_ROLE_MAX,
95
- ACCOUNT_ROLE_PRESETS,
96
90
  FOLLOW_UP_BEHAVIORS,
97
91
  GITHUB_GIT_AUTH_MODES,
98
92
  HARNESS_ENV_KEYS,
99
93
  ISSUE_SOURCE_LABELS,
100
94
  PROFILE_NOTES_MAX,
101
- accountRoleLabel,
102
95
  appSettingsPath,
103
96
  applyAppEnvironment,
104
97
  autoArchiveOnMergeEnabled,
@@ -122,9 +115,12 @@ export {
122
115
  emptyPublicIntegrations,
123
116
  ensureSlackDeviceIdentity,
124
117
  findProjectProfileKey,
118
+ foldLegacyRolesIntoNotes,
125
119
  followUpBehavior,
126
120
  formatAccountProfilePlaybookLine,
127
121
  formatProjectProfilePlaybookLines,
122
+ formatViewerContextDirective,
123
+ formatViewerContextReminder,
128
124
  formatWorkspaceProfileSuffix,
129
125
  getAbleTimeAccessToken,
130
126
  getAbleTimeHost,
@@ -145,7 +141,7 @@ export {
145
141
  maxConcurrentAgents,
146
142
  orchestrationQuotaFallbackAgent,
147
143
  orchestrationQuotaOnLimit,
148
- preferTeamsForRole,
144
+ readViewerContext,
149
145
  resolveAccountProfile,
150
146
  resolveAccountProfileFromSettings,
151
147
  resolveAgentExecutable,
@@ -155,7 +151,6 @@ export {
155
151
  resolveThreadDefaults,
156
152
  resolveViewerProfile,
157
153
  resolveViewerProfileForRepo,
158
- reviewTeamHintsForRoles,
159
154
  saveAbleTimeConnection,
160
155
  saveAppSettings,
161
156
  saveLinearOAuth,
@@ -172,5 +167,6 @@ export {
172
167
  updateDefaultsSettings,
173
168
  updateIntegrationsSettings,
174
169
  updateOpencodeSettings,
175
- updateProjectProfileSettings
170
+ updateProjectProfileSettings,
171
+ writeViewerContext
176
172
  };
@@ -11,13 +11,13 @@ import {
11
11
  } from "./chunk-S42XV45P.js";
12
12
  import {
13
13
  isOrchestratorThread
14
- } from "./chunk-3SUZMPGL.js";
14
+ } from "./chunk-HZROPNYL.js";
15
15
  import {
16
16
  codexUnattendedGitConfigArgs,
17
17
  mergeAgentGitAuthEnv,
18
18
  resolveAgentGitAuthEnv,
19
19
  resolveCodexGitWritableRoots
20
- } from "./chunk-A7QXLYBN.js";
20
+ } from "./chunk-IO5WGZRR.js";
21
21
  import {
22
22
  enrichPathWithNpmGlobalBin,
23
23
  isConductorBundledCli,
@@ -35,7 +35,7 @@ import {
35
35
  resolveClaudeExecutable,
36
36
  unwrapStrippedElectronLaunch,
37
37
  wrapElectronAsNodeLaunch
38
- } from "./chunk-D7EGJ3EI.js";
38
+ } from "./chunk-LTXS26K5.js";
39
39
  import {
40
40
  appDataDir
41
41
  } from "./chunk-JTJHOYCU.js";
@@ -1480,7 +1480,9 @@ var SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS = [
1480
1480
  "mcp__sideboard__present_files",
1481
1481
  "mcp__sideboard__ask_user",
1482
1482
  "mcp__sideboard__present_plan",
1483
- "mcp__sideboard__wait_for_job"
1483
+ "mcp__sideboard__wait_for_job",
1484
+ "mcp__sideboard__get_viewer_context",
1485
+ "mcp__sideboard__update_viewer_context"
1484
1486
  ];
1485
1487
  var SIDEBOARD_GITHUB_MCP_ALLOWED_TOOLS = ["mcp__sideboard__github_*"];
1486
1488
  var SIDEBOARD_LINEAR_MCP_ALLOWED_TOOLS = ["mcp__sideboard__linear_*"];
@@ -2156,7 +2158,7 @@ var claudeAdapter = {
2156
2158
  );
2157
2159
  }
2158
2160
  const mode = permissionMode(thread);
2159
- const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-REI55FZ6.js");
2161
+ const { isOrchestratorThread: isOrchestratorThread2 } = await import("./global-workspace-E6S5XQZF.js");
2160
2162
  const isOrchestrator = isOrchestratorThread2(thread);
2161
2163
  const injectedServers = await buildInjectedMcpServers({
2162
2164
  includeSideboard: true,
@@ -24,7 +24,7 @@ import {
24
24
  stripBrightsyNdjsonNoise,
25
25
  sumUsageList,
26
26
  toolDescription
27
- } from "./chunk-BLRHO7XQ.js";
27
+ } from "./chunk-RQNXLIXO.js";
28
28
  import {
29
29
  SLACK_REPLY_FORMATTING,
30
30
  addWorkspace,
@@ -50,7 +50,7 @@ import {
50
50
  stageAbsolutePathsAsAttachments,
51
51
  stageBuffersAsAttachments,
52
52
  syncWorkspacesFromThreads
53
- } from "./chunk-CVR4RJ6G.js";
53
+ } from "./chunk-QANLIT2E.js";
54
54
  import {
55
55
  addPrStackLayer,
56
56
  allocateTeamName,
@@ -98,7 +98,7 @@ import {
98
98
  withRepoGitLock,
99
99
  worktreeDisplayLabelForGroup,
100
100
  worktreeNameFromPath
101
- } from "./chunk-LQMFCS54.js";
101
+ } from "./chunk-UUEBNUEG.js";
102
102
  import {
103
103
  ATTACHMENTS_DIR,
104
104
  DETACHED_JOBS_DIR,
@@ -128,6 +128,8 @@ import {
128
128
  } from "./chunk-HEII7W3Q.js";
129
129
  import {
130
130
  childEnvWithAppSettings,
131
+ formatViewerContextDirective,
132
+ formatViewerContextReminder,
131
133
  getIssueSource,
132
134
  isAbleTimeConnected,
133
135
  isLinearConnected,
@@ -140,10 +142,11 @@ import {
140
142
  resolveNewThreadOptions,
141
143
  resolveThreadDefaults,
142
144
  resolveVaultKey,
145
+ resolveViewerProfileForRepo,
143
146
  saveAppSettings,
144
147
  updateAdvancedSettings,
145
148
  writeSecureJson
146
- } from "./chunk-3BWVOUQG.js";
149
+ } from "./chunk-CVZ4KXVP.js";
147
150
  import {
148
151
  stripNestedElectronEnv
149
152
  } from "./chunk-4TR3HZFT.js";
@@ -461,7 +464,7 @@ async function continueSourceThread(threadId, prompt) {
461
464
  await continueOnReply(threadId, prompt);
462
465
  return;
463
466
  }
464
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-ZVW2AC6B.js");
467
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-BSVSOTBK.js");
465
468
  await getOrchestrator2().send(threadId, prompt);
466
469
  } catch {
467
470
  }
@@ -741,9 +744,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
741
744
  `Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
742
745
  );
743
746
  }
744
- const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-5BIW26YR.js");
747
+ const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-SPR2Y4YQ.js");
745
748
  if (isGlobalThread2(thread)) {
746
- const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-26IJU2AV.js");
749
+ const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-X3LXE5Q4.js");
747
750
  ensureGlobalCoordinatorCwd2(
748
751
  isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
749
752
  );
@@ -3370,7 +3373,7 @@ async function createThread(input, _onSetupLine) {
3370
3373
  });
3371
3374
  await requireAgent(resolved.agent);
3372
3375
  if (input.cowboy) {
3373
- const { cowboyModeEnabled } = await import("./app-settings-H3INSR67.js");
3376
+ const { cowboyModeEnabled } = await import("./app-settings-JJQDWPEK.js");
3374
3377
  if (!cowboyModeEnabled()) {
3375
3378
  throw new Error(
3376
3379
  "Cowboy mode is off. Enable it in Settings \u2192 Advanced."
@@ -3428,7 +3431,7 @@ async function createThread(input, _onSetupLine) {
3428
3431
  let sourceIsFork = false;
3429
3432
  if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
3430
3433
  if (isAbleTimeConnected() && getIssueSource() === "abletime") {
3431
- const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-GWZE6OYM.js");
3434
+ const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-AGF54TNA.js");
3432
3435
  const task = await ensureAbleTimeTask({
3433
3436
  title: title?.trim() || "Untitled work",
3434
3437
  description: input.prompt?.trim() || void 0
@@ -3525,7 +3528,7 @@ async function createThread(input, _onSetupLine) {
3525
3528
  return readThread(thread.id) ?? thread;
3526
3529
  }
3527
3530
  async function listLinearIssues(agent, repoPath) {
3528
- const { getAdapter: getAdapter2 } = await import("./agents-E3ZPWZRS.js");
3531
+ const { getAdapter: getAdapter2 } = await import("./agents-RD774UEV.js");
3529
3532
  await requireAgent(agent, { requireLinear: true });
3530
3533
  const adapter = getAdapter2(agent);
3531
3534
  if (!adapter.listLinearIssues) {
@@ -3936,7 +3939,7 @@ async function adoptThread(input) {
3936
3939
  messages: input.messages ?? []
3937
3940
  });
3938
3941
  writeThread(thread);
3939
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-NYSM2EPX.js");
3942
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-MZELP4BI.js");
3940
3943
  await ensureWorkspace2(repoPath);
3941
3944
  const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-X54WSOXM.js");
3942
3945
  await ensureWorktreeSideboardIgnored2(input.worktreePath);
@@ -6490,7 +6493,7 @@ function formatScheduledPrompt(name, prompt) {
6490
6493
  ${prompt}`;
6491
6494
  }
6492
6495
  async function defaultDeps() {
6493
- const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-ZVW2AC6B.js");
6496
+ const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-BSVSOTBK.js");
6494
6497
  const orch = getOrchestrator2();
6495
6498
  return {
6496
6499
  findThread: (id) => findThreadByRef(id),
@@ -6752,7 +6755,7 @@ var Orchestrator = class {
6752
6755
  orphans: orphans.map((o) => ({ path: o.path, repoPath: o.repoPath }))
6753
6756
  });
6754
6757
  }
6755
- const { autoCleanupOrphansEnabled } = await import("./app-settings-H3INSR67.js");
6758
+ const { autoCleanupOrphansEnabled } = await import("./app-settings-JJQDWPEK.js");
6756
6759
  if (autoCleanupOrphansEnabled() && shouldRunWorktreeCleanup() && orphans.length > 0) {
6757
6760
  await cleanupOrphanWorktrees({ repoPaths });
6758
6761
  }
@@ -7023,7 +7026,7 @@ var Orchestrator = class {
7023
7026
  }
7024
7027
  await setup;
7025
7028
  if (skipSetup) return;
7026
- const { autoRunAfterSetupEnabled } = await import("./app-settings-H3INSR67.js");
7029
+ const { autoRunAfterSetupEnabled } = await import("./app-settings-JJQDWPEK.js");
7027
7030
  if (autoRunAfterSetupEnabled()) {
7028
7031
  try {
7029
7032
  await this.startDev(threadId);
@@ -7302,6 +7305,7 @@ var Orchestrator = class {
7302
7305
  ticketId: issueTicket?.id,
7303
7306
  ticketProvider: issueTicket?.provider
7304
7307
  }) : null;
7308
+ const viewerContextReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatViewerContextReminder() : null;
7305
7309
  const slackReplyContext = formatSlackRepliesForTurn(
7306
7310
  pendingSlackExternalReplies(thread.messages)
7307
7311
  );
@@ -7311,6 +7315,7 @@ var Orchestrator = class {
7311
7315
  worktreeReminder,
7312
7316
  optionalServicesReminder,
7313
7317
  issueToolsReminder,
7318
+ viewerContextReminder,
7314
7319
  artifactReminder,
7315
7320
  longRunningReminder,
7316
7321
  slackReplyContext,
@@ -7332,7 +7337,7 @@ var Orchestrator = class {
7332
7337
  }
7333
7338
  const isBrightsy = fresh.agent === "brightsy";
7334
7339
  const isOrchestration = isOrchestratorThread(fresh);
7335
- const { autoRenameBranchEnabled, getGithubGitAuthMode } = await import("./app-settings-H3INSR67.js");
7340
+ const { autoRenameBranchEnabled, getGithubGitAuthMode } = await import("./app-settings-JJQDWPEK.js");
7336
7341
  const gitAuthMode = getGithubGitAuthMode();
7337
7342
  const worktreeDirective = isBrightsy || isOrchestration ? null : formatWorktreeDirective(fresh, {
7338
7343
  githubSlug: await resolveGithubRepoSlug(fresh.worktreePath).catch(
@@ -7351,6 +7356,18 @@ var Orchestrator = class {
7351
7356
  ticketId: freshIssueTicket?.id,
7352
7357
  ticketProvider: freshIssueTicket?.provider
7353
7358
  });
7359
+ let viewerContextDirective = null;
7360
+ if (!isBrightsy && !isOrchestration) {
7361
+ try {
7362
+ viewerContextDirective = formatViewerContextDirective(
7363
+ resolveViewerProfileForRepo(fresh.repoPath || fresh.worktreePath)
7364
+ );
7365
+ } catch {
7366
+ viewerContextDirective = formatViewerContextDirective(
7367
+ resolveViewerProfileForRepo()
7368
+ );
7369
+ }
7370
+ }
7354
7371
  const settings = loadWorkspaceSettings(fresh.worktreePath, fresh.repoPath);
7355
7372
  const renameBranchDirective = !isBrightsy && !isOrchestration && autoRenameBranchEnabled() ? formatRenameBranchDirective(fresh, {
7356
7373
  customPrompt: settings?.prompts?.renameBranch
@@ -7382,6 +7399,7 @@ var Orchestrator = class {
7382
7399
  worktreeDirective,
7383
7400
  optionalServicesDirective,
7384
7401
  issueToolsDirective,
7402
+ viewerContextDirective,
7385
7403
  artifactDirective,
7386
7404
  longRunningDirective,
7387
7405
  renameBranchDirective,
@@ -7492,6 +7510,7 @@ var Orchestrator = class {
7492
7510
  worktreeDirective,
7493
7511
  optionalServicesDirective,
7494
7512
  issueToolsDirective,
7513
+ viewerContextDirective,
7495
7514
  artifactDirective,
7496
7515
  longRunningDirective,
7497
7516
  renameBranchDirective,
@@ -8230,7 +8249,7 @@ var Orchestrator = class {
8230
8249
  updateThread(thread.id, { title: meta.title });
8231
8250
  }
8232
8251
  }
8233
- const { autoArchiveOnMergeEnabled } = await import("./app-settings-H3INSR67.js");
8252
+ const { autoArchiveOnMergeEnabled } = await import("./app-settings-JJQDWPEK.js");
8234
8253
  const latest = this.requireThread(thread.id);
8235
8254
  if (!shouldAutoArchiveOnPrMerge({
8236
8255
  previousPrState: prevState || null,
@@ -8547,7 +8566,7 @@ var Orchestrator = class {
8547
8566
  this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
8548
8567
  if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
8549
8568
  try {
8550
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-NYSM2EPX.js");
8569
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-MZELP4BI.js");
8551
8570
  await ensureWorkspace2(thread.repoPath);
8552
8571
  } catch {
8553
8572
  }
@@ -8574,7 +8593,7 @@ var Orchestrator = class {
8574
8593
  await runArchiveScript(thread.repoPath, thread.worktreePath);
8575
8594
  } catch {
8576
8595
  }
8577
- const { deleteBranchOnPurgeEnabled } = await import("./app-settings-H3INSR67.js");
8596
+ const { deleteBranchOnPurgeEnabled } = await import("./app-settings-JJQDWPEK.js");
8578
8597
  const deleteBranch = opts?.deleteBranch ?? deleteBranchOnPurgeEnabled();
8579
8598
  await removeWorktree(thread.repoPath, thread.worktreePath, {
8580
8599
  deleteBranch: deleteBranch ? thread.branchName : void 0
@@ -8601,7 +8620,7 @@ var Orchestrator = class {
8601
8620
  `Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
8602
8621
  );
8603
8622
  }
8604
- const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-T4SWFSTT.js");
8623
+ const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-IY7YCEGH.js");
8605
8624
  const slug = thread.worktreePath.split("/").pop();
8606
8625
  const dest = thread.worktreePath;
8607
8626
  await withRepoGitLock(thread.repoPath, async () => {
@@ -8711,7 +8730,7 @@ async function startOrchestration(opts) {
8711
8730
  sourceRef: "default",
8712
8731
  ...createOpts
8713
8732
  }).catch(async () => {
8714
- const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-T4SWFSTT.js");
8733
+ const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-IY7YCEGH.js");
8715
8734
  const repo = await resolveRepoRoot2(repoPath);
8716
8735
  const def = await resolveDefaultBranch2(repo);
8717
8736
  return orch.createThread({