@agents-ensemble/core 0.6.5 → 0.8.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.
Files changed (214) hide show
  1. package/dist/conductor/conductor-agent.d.ts +50 -14
  2. package/dist/conductor/conductor-agent.d.ts.map +1 -1
  3. package/dist/conductor/conductor-agent.js +1 -96
  4. package/dist/conductor/conductor-agent.js.map +1 -1
  5. package/dist/conductor/conductor-auth.d.ts +36 -6
  6. package/dist/conductor/conductor-auth.d.ts.map +1 -1
  7. package/dist/conductor/conductor-auth.js +59 -7
  8. package/dist/conductor/conductor-auth.js.map +1 -1
  9. package/dist/conductor/conductor-pi-auth.d.ts +75 -0
  10. package/dist/conductor/conductor-pi-auth.d.ts.map +1 -0
  11. package/dist/conductor/conductor-pi-auth.js +524 -0
  12. package/dist/conductor/conductor-pi-auth.js.map +1 -0
  13. package/dist/conductor/conductor-send-reconnect.d.ts +10 -6
  14. package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -1
  15. package/dist/conductor/conductor-send-reconnect.js +6 -4
  16. package/dist/conductor/conductor-send-reconnect.js.map +1 -1
  17. package/dist/conductor/conductor-session-driver.d.ts +4 -4
  18. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  19. package/dist/conductor/conductor-session-driver.js +47 -29
  20. package/dist/conductor/conductor-session-driver.js.map +1 -1
  21. package/dist/conductor/conductor-session.d.ts +5 -1
  22. package/dist/conductor/conductor-session.d.ts.map +1 -1
  23. package/dist/conductor/conductor-session.js +138 -32
  24. package/dist/conductor/conductor-session.js.map +1 -1
  25. package/dist/conductor/conductor-tool-pi-adapter.d.ts +13 -0
  26. package/dist/conductor/conductor-tool-pi-adapter.d.ts.map +1 -0
  27. package/dist/conductor/conductor-tool-pi-adapter.js +30 -0
  28. package/dist/conductor/conductor-tool-pi-adapter.js.map +1 -0
  29. package/dist/conductor/conductor-tool-sdk-adapter.d.ts +6 -0
  30. package/dist/conductor/conductor-tool-sdk-adapter.d.ts.map +1 -0
  31. package/dist/conductor/conductor-tool-sdk-adapter.js +16 -0
  32. package/dist/conductor/conductor-tool-sdk-adapter.js.map +1 -0
  33. package/dist/conductor/conductor-tool.d.ts +35 -0
  34. package/dist/conductor/conductor-tool.d.ts.map +1 -0
  35. package/dist/conductor/conductor-tool.js +41 -0
  36. package/dist/conductor/conductor-tool.js.map +1 -0
  37. package/dist/conductor/cursor-sdk-conductor-agent.d.ts +18 -0
  38. package/dist/conductor/cursor-sdk-conductor-agent.d.ts.map +1 -0
  39. package/dist/conductor/cursor-sdk-conductor-agent.js +134 -0
  40. package/dist/conductor/cursor-sdk-conductor-agent.js.map +1 -0
  41. package/dist/conductor/index.d.ts +21 -7
  42. package/dist/conductor/index.d.ts.map +1 -1
  43. package/dist/conductor/index.js +11 -4
  44. package/dist/conductor/index.js.map +1 -1
  45. package/dist/conductor/list-conductor-models.d.ts +7 -2
  46. package/dist/conductor/list-conductor-models.d.ts.map +1 -1
  47. package/dist/conductor/list-conductor-models.js +9 -1
  48. package/dist/conductor/list-conductor-models.js.map +1 -1
  49. package/dist/conductor/pi-conductor-agent.d.ts +47 -0
  50. package/dist/conductor/pi-conductor-agent.d.ts.map +1 -0
  51. package/dist/conductor/pi-conductor-agent.js +479 -0
  52. package/dist/conductor/pi-conductor-agent.js.map +1 -0
  53. package/dist/conductor/pi-conductor-session.d.ts +20 -0
  54. package/dist/conductor/pi-conductor-session.d.ts.map +1 -0
  55. package/dist/conductor/pi-conductor-session.js +60 -0
  56. package/dist/conductor/pi-conductor-session.js.map +1 -0
  57. package/dist/conductor/pi-mcp-bridge.d.ts +65 -0
  58. package/dist/conductor/pi-mcp-bridge.d.ts.map +1 -0
  59. package/dist/conductor/pi-mcp-bridge.js +259 -0
  60. package/dist/conductor/pi-mcp-bridge.js.map +1 -0
  61. package/dist/conductor/pi-resource-loader.d.ts +148 -0
  62. package/dist/conductor/pi-resource-loader.d.ts.map +1 -0
  63. package/dist/conductor/pi-resource-loader.js +675 -0
  64. package/dist/conductor/pi-resource-loader.js.map +1 -0
  65. package/dist/conductor/session/dispatch-hold.d.ts +14 -0
  66. package/dist/conductor/session/dispatch-hold.d.ts.map +1 -1
  67. package/dist/conductor/session/dispatch-hold.js +30 -0
  68. package/dist/conductor/session/dispatch-hold.js.map +1 -1
  69. package/dist/conductor/session/events/index.d.ts +1 -1
  70. package/dist/conductor/session/events/index.d.ts.map +1 -1
  71. package/dist/conductor/session/events/index.js.map +1 -1
  72. package/dist/conductor/session/events/session-log-event-groups.d.ts +2 -2
  73. package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
  74. package/dist/conductor/session/events/session-log-event-groups.js +1 -0
  75. package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
  76. package/dist/conductor/session/events/session-log-event.d.ts +10 -1
  77. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  78. package/dist/conductor/session/format-session-event.js +3 -0
  79. package/dist/conductor/session/format-session-event.js.map +1 -1
  80. package/dist/conductor/session/session-logger.d.ts.map +1 -1
  81. package/dist/conductor/session/session-logger.js +1 -0
  82. package/dist/conductor/session/session-logger.js.map +1 -1
  83. package/dist/config/defaults.d.ts +2 -1
  84. package/dist/config/defaults.d.ts.map +1 -1
  85. package/dist/config/defaults.js +2 -0
  86. package/dist/config/defaults.js.map +1 -1
  87. package/dist/config/index.d.ts +3 -3
  88. package/dist/config/index.d.ts.map +1 -1
  89. package/dist/config/index.js +2 -2
  90. package/dist/config/index.js.map +1 -1
  91. package/dist/config/parse-config.d.ts.map +1 -1
  92. package/dist/config/parse-config.js +29 -1
  93. package/dist/config/parse-config.js.map +1 -1
  94. package/dist/config/resolve-settings.d.ts +25 -1
  95. package/dist/config/resolve-settings.d.ts.map +1 -1
  96. package/dist/config/resolve-settings.js +38 -1
  97. package/dist/config/resolve-settings.js.map +1 -1
  98. package/dist/config/types.d.ts +11 -0
  99. package/dist/config/types.d.ts.map +1 -1
  100. package/dist/dispatch/prompt-worker-tool.d.ts +2 -2
  101. package/dist/dispatch/prompt-worker-tool.d.ts.map +1 -1
  102. package/dist/dispatch/prompt-worker-tool.js +1 -0
  103. package/dist/dispatch/prompt-worker-tool.js.map +1 -1
  104. package/dist/dispatch/session-usage-tool.d.ts +2 -2
  105. package/dist/dispatch/session-usage-tool.d.ts.map +1 -1
  106. package/dist/dispatch/session-usage-tool.js +2 -0
  107. package/dist/dispatch/session-usage-tool.js.map +1 -1
  108. package/dist/dispatch/set-dispatch-hold-tool.d.ts +2 -2
  109. package/dist/dispatch/set-dispatch-hold-tool.d.ts.map +1 -1
  110. package/dist/dispatch/set-dispatch-hold-tool.js +1 -0
  111. package/dist/dispatch/set-dispatch-hold-tool.js.map +1 -1
  112. package/dist/dispatch/worker-status-tool.d.ts +2 -2
  113. package/dist/dispatch/worker-status-tool.d.ts.map +1 -1
  114. package/dist/dispatch/worker-status-tool.js +2 -0
  115. package/dist/dispatch/worker-status-tool.js.map +1 -1
  116. package/dist/dispatch/yaml-tool-result.d.ts +3 -9
  117. package/dist/dispatch/yaml-tool-result.d.ts.map +1 -1
  118. package/dist/dispatch/yaml-tool-result.js.map +1 -1
  119. package/dist/escalation/answer-open-question-tool.d.ts +2 -2
  120. package/dist/escalation/answer-open-question-tool.d.ts.map +1 -1
  121. package/dist/escalation/answer-open-question-tool.js +1 -0
  122. package/dist/escalation/answer-open-question-tool.js.map +1 -1
  123. package/dist/escalation/ask-human-tool.d.ts +2 -2
  124. package/dist/escalation/ask-human-tool.d.ts.map +1 -1
  125. package/dist/escalation/ask-human-tool.js +1 -0
  126. package/dist/escalation/ask-human-tool.js.map +1 -1
  127. package/dist/escalation/open-question-list-tools.d.ts +2 -2
  128. package/dist/escalation/open-question-list-tools.d.ts.map +1 -1
  129. package/dist/escalation/open-question-list-tools.js +2 -0
  130. package/dist/escalation/open-question-list-tools.js.map +1 -1
  131. package/dist/github/fetch-github-updates.d.ts +0 -6
  132. package/dist/github/fetch-github-updates.d.ts.map +1 -1
  133. package/dist/github/fetch-github-updates.js +119 -135
  134. package/dist/github/fetch-github-updates.js.map +1 -1
  135. package/dist/github/github-client.d.ts.map +1 -1
  136. package/dist/github/github-client.js +8 -0
  137. package/dist/github/github-client.js.map +1 -1
  138. package/dist/github/github-monitor-cursor.d.ts +36 -9
  139. package/dist/github/github-monitor-cursor.d.ts.map +1 -1
  140. package/dist/github/github-monitor-cursor.js +9 -19
  141. package/dist/github/github-monitor-cursor.js.map +1 -1
  142. package/dist/github/github-monitor.d.ts +2 -0
  143. package/dist/github/github-monitor.d.ts.map +1 -1
  144. package/dist/github/github-monitor.js +13 -0
  145. package/dist/github/github-monitor.js.map +1 -1
  146. package/dist/github/github-test-fixtures.d.ts +9 -0
  147. package/dist/github/github-test-fixtures.d.ts.map +1 -1
  148. package/dist/github/github-test-fixtures.js +6 -0
  149. package/dist/github/github-test-fixtures.js.map +1 -1
  150. package/dist/github/github-update-types.d.ts +11 -1
  151. package/dist/github/github-update-types.d.ts.map +1 -1
  152. package/dist/github/index.d.ts +4 -2
  153. package/dist/github/index.d.ts.map +1 -1
  154. package/dist/github/index.js +1 -0
  155. package/dist/github/index.js.map +1 -1
  156. package/dist/github/register-github-watch-tool.d.ts +7 -2
  157. package/dist/github/register-github-watch-tool.d.ts.map +1 -1
  158. package/dist/github/register-github-watch-tool.js +31 -24
  159. package/dist/github/register-github-watch-tool.js.map +1 -1
  160. package/dist/github/unregister-github-watch-tool.d.ts +11 -0
  161. package/dist/github/unregister-github-watch-tool.d.ts.map +1 -0
  162. package/dist/github/unregister-github-watch-tool.js +52 -0
  163. package/dist/github/unregister-github-watch-tool.js.map +1 -0
  164. package/dist/mcp/index.d.ts +2 -3
  165. package/dist/mcp/index.d.ts.map +1 -1
  166. package/dist/mcp/index.js +1 -1
  167. package/dist/mcp/index.js.map +1 -1
  168. package/dist/mcp/load-mcp-config.d.ts +29 -5
  169. package/dist/mcp/load-mcp-config.d.ts.map +1 -1
  170. package/dist/mcp/load-mcp-config.js +9 -2
  171. package/dist/mcp/load-mcp-config.js.map +1 -1
  172. package/dist/permission/resolve-permission-tool.d.ts +2 -2
  173. package/dist/permission/resolve-permission-tool.d.ts.map +1 -1
  174. package/dist/permission/resolve-permission-tool.js +1 -0
  175. package/dist/permission/resolve-permission-tool.js.map +1 -1
  176. package/dist/profile/index.d.ts +1 -1
  177. package/dist/profile/index.d.ts.map +1 -1
  178. package/dist/profile/index.js.map +1 -1
  179. package/dist/profile/load-profile.d.ts.map +1 -1
  180. package/dist/profile/load-profile.js +19 -0
  181. package/dist/profile/load-profile.js.map +1 -1
  182. package/dist/profile/types.d.ts +7 -0
  183. package/dist/profile/types.d.ts.map +1 -1
  184. package/dist/profile/types.js.map +1 -1
  185. package/dist/prompt/modules/ensemble/base-module.d.ts.map +1 -1
  186. package/dist/prompt/modules/ensemble/base-module.js +2 -1
  187. package/dist/prompt/modules/ensemble/base-module.js.map +1 -1
  188. package/dist/prompt/modules/ensemble/conductor-base-module.d.ts.map +1 -1
  189. package/dist/prompt/modules/ensemble/conductor-base-module.js +4 -1
  190. package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -1
  191. package/dist/runtime/worker-session.d.ts +5 -0
  192. package/dist/runtime/worker-session.d.ts.map +1 -1
  193. package/dist/runtime/worker-session.js +5 -1
  194. package/dist/runtime/worker-session.js.map +1 -1
  195. package/dist/session/session-sidecar.d.ts +4 -0
  196. package/dist/session/session-sidecar.d.ts.map +1 -1
  197. package/dist/session/session-sidecar.js +16 -0
  198. package/dist/session/session-sidecar.js.map +1 -1
  199. package/dist/testing/mock-conductor-get-usage.d.ts +2 -1
  200. package/dist/testing/mock-conductor-get-usage.d.ts.map +1 -1
  201. package/dist/testing/mock-conductor-get-usage.js +1 -10
  202. package/dist/testing/mock-conductor-get-usage.js.map +1 -1
  203. package/dist/usage/enrich-session-usage-cost.d.ts +2 -2
  204. package/dist/usage/enrich-session-usage-cost.d.ts.map +1 -1
  205. package/dist/usage/session-usage-tracker.d.ts +2 -2
  206. package/dist/usage/session-usage-tracker.d.ts.map +1 -1
  207. package/dist/usage/session-usage-tracker.js +2 -2
  208. package/dist/usage/session-usage-tracker.js.map +1 -1
  209. package/dist/usage/types.d.ts +2 -2
  210. package/dist/usage/types.d.ts.map +1 -1
  211. package/dist/worktree/worktree.d.ts.map +1 -1
  212. package/dist/worktree/worktree.js +33 -16
  213. package/dist/worktree/worktree.js.map +1 -1
  214. package/package.json +5 -1
@@ -1,9 +1,7 @@
1
- import type { EnsembleConfig } from '../config/types.js';
2
1
  import type { WorkerDispatchResult } from '../dispatch/worker-dispatch.js';
3
2
  import type { OpenQuestion } from '../escalation/open-question.js';
4
3
  import type { OpenQuestionRegistry } from '../escalation/open-question.js';
5
4
  import type { PermissionPipeline } from '../permission/permission-pipeline.js';
6
- import type { ResolvedProfile } from '../profile/types.js';
7
5
  import type { WorkerFailureRecord } from '../runtime/types.js';
8
6
  import type { WorkerSession } from '../runtime/worker-session.js';
9
7
  import type { ConductorSendResult } from './conductor-agent.js';
@@ -39,13 +37,15 @@ export interface ConductorSendCompleteInfo {
39
37
  }
40
38
  export interface ConductorSessionDriverOptions {
41
39
  issueUrl: string;
42
- profile: ResolvedProfile;
43
- ensembleConfig: EnsembleConfig;
40
+ /** Compiled system prompt sent as the SDK backend's initial user turn. */
41
+ initialPrompt: string;
44
42
  conductorHandle: ConductorAgentHandle;
45
43
  sendReconnect: ConductorSendReconnectOptions;
46
44
  eventQueue: SessionEventQueue;
47
45
  workerSession: WorkerSession;
48
46
  permissionPipeline: PermissionPipeline;
47
+ /** PermissionPipeline.pending を dispatch の authoritative source として参照する predicate。 */
48
+ isPermissionPending?: (requestId: string) => boolean;
49
49
  openQuestions: OpenQuestionRegistry;
50
50
  shutdownSignal: AbortSignal;
51
51
  maxTurns: number;
@@ -1 +1 @@
1
- {"version":3,"file":"conductor-session-driver.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-session-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conductor-session-driver.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-session-driver.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  import { ensureMaxTurnsOpenQuestion } from '../escalation/enqueue-max-turns-question.js';
2
- import { fetchIssueContext } from '../github/issue-context.js';
3
- import { formatGitHubErrorMessage } from '../github/github-auth.js';
4
- import { resolveAgentPromptModule } from '../profile/types.js';
5
- import { compileConductorSystemPrompt } from '../prompt/compile-system-prompt.js';
6
2
  import { reconnectConductorAgent, sendConductorWithReconnect, } from './conductor-send-reconnect.js';
7
3
  import { formatSessionEventsForConductor } from './session/format-session-event.js';
8
- import { bufferDispatchHoldEvents, createDispatchHoldState, } from './session/dispatch-hold.js';
4
+ import { bufferDispatchHoldEvents, createDispatchHoldState, pruneStalePermissionEvents, } from './session/dispatch-hold.js';
9
5
  import { countWorkerOutcomesInBatch, dispatchBatchStateAfterSend, markContinuationConsumed, selectDispatchBatch, } from './session/select-dispatch-batch.js';
10
6
  import { autonomousTurnsAfterConductorBatch, buildIssueLoopStopInput, canDispatchConductorSend, isMaxTurnsLimited, resolveIssueLoopStopReason, shouldStopIssueLoop, } from './session-policy.js';
11
7
  /**
@@ -25,7 +21,13 @@ export async function runConductorSessionDriver(options) {
25
21
  let inFlightSend;
26
22
  let postLoopWaiting = false;
27
23
  const dispatchHoldState = options.dispatchHoldState ?? createDispatchHoldState();
28
- const shouldBreakAfterLoopState = (loopState) => {
24
+ const hasDispatchableWorkerOutcome = () => selectDispatchBatch({
25
+ queue: options.eventQueue.snapshot().filter((event) => event.type === 'worker.completed' || event.type === 'worker.failed'),
26
+ state: dispatchBatchState,
27
+ autonomousTurns,
28
+ maxTurns: options.maxTurns,
29
+ }) !== undefined;
30
+ const shouldBreakAfterLoopState = async (loopState) => {
29
31
  stopReason = resolveIssueLoopStopReason(loopState);
30
32
  const shouldStop = shouldStopIssueLoop(loopState);
31
33
  // A normal binding may still release and flush held trigger events before
@@ -44,6 +46,22 @@ export async function runConductorSessionDriver(options) {
44
46
  postLoopWaiting = false;
45
47
  return false;
46
48
  }
49
+ // A worker publishes its outcome to the inbox before its runtime round
50
+ // leaves the running state. Drain that notification chain before
51
+ // deciding the session is idle, otherwise the driver can tear down in
52
+ // the gap before the outcome reaches eventQueue.
53
+ const canHavePendingWorkerOutcome = loopState.lastStatus === 'finished' &&
54
+ loopState.dispatchesThisTurn === 0 &&
55
+ (loopState.pendingPermissions ?? 0) === 0 &&
56
+ (loopState.openQuestions ?? 0) === 0;
57
+ if (canHavePendingWorkerOutcome) {
58
+ await options.workerSession.inbox.drain();
59
+ if (hasDispatchableWorkerOutcome() ||
60
+ options.workerSession.runtime.runningCount !== 0) {
61
+ postLoopWaiting = false;
62
+ return false;
63
+ }
64
+ }
47
65
  if (!options.continueAfterIssueLoopStop) {
48
66
  return true;
49
67
  }
@@ -55,11 +73,9 @@ export async function runConductorSessionDriver(options) {
55
73
  };
56
74
  if (!options.skipInitialSend) {
57
75
  lastSendResult = await runEventConductorSend({
58
- message: await buildInitialConductorMessage({
59
- issueUrl: options.issueUrl,
60
- profile: options.profile,
61
- ensembleConfig: options.ensembleConfig,
62
- }),
76
+ // Keep the initial dispatch asynchronous as it was when the driver
77
+ // fetched and compiled the prompt itself.
78
+ message: await Promise.resolve(options.initialPrompt),
63
79
  conductorHandle: options.conductorHandle,
64
80
  sendReconnect: options.sendReconnect,
65
81
  workerDispatches: options.workerDispatches,
@@ -80,6 +96,14 @@ export async function runConductorSessionDriver(options) {
80
96
  });
81
97
  }
82
98
  while (true) {
99
+ if (options.isPermissionPending) {
100
+ pruneStalePermissionEvents({
101
+ state: dispatchHoldState,
102
+ eventQueue: options.eventQueue,
103
+ isPermissionPending: options.isPermissionPending,
104
+ onChanged: options.onDispatchHoldChanged,
105
+ });
106
+ }
83
107
  if (!inFlightSend &&
84
108
  isMaxTurnsLimited(options.maxTurns) &&
85
109
  autonomousTurns >= options.maxTurns) {
@@ -112,7 +136,7 @@ export async function runConductorSessionDriver(options) {
112
136
  continueOnConductorError: options.continueOnConductorError,
113
137
  stopOnUnansweredInput: options.stopOnUnansweredInput,
114
138
  });
115
- if (shouldBreakAfterLoopState(loopState)) {
139
+ if (await shouldBreakAfterLoopState(loopState)) {
116
140
  break;
117
141
  }
118
142
  continue;
@@ -133,7 +157,7 @@ export async function runConductorSessionDriver(options) {
133
157
  continueOnConductorError: options.continueOnConductorError,
134
158
  stopOnUnansweredInput: options.stopOnUnansweredInput,
135
159
  });
136
- if (shouldBreakAfterLoopState(loopState)) {
160
+ if (await shouldBreakAfterLoopState(loopState)) {
137
161
  break;
138
162
  }
139
163
  }
@@ -147,6 +171,7 @@ export async function runConductorSessionDriver(options) {
147
171
  signal: options.shutdownSignal,
148
172
  dispatchHoldState,
149
173
  onDispatchHoldChanged: options.onDispatchHoldChanged,
174
+ isPermissionPending: options.isPermissionPending,
150
175
  });
151
176
  }
152
177
  catch (error) {
@@ -206,22 +231,6 @@ export async function runConductorSessionDriver(options) {
206
231
  lastDispatchesThisTurn,
207
232
  };
208
233
  }
209
- async function buildInitialConductorMessage(input) {
210
- try {
211
- const issueContext = await fetchIssueContext(input.issueUrl, {
212
- ensembleConfig: input.ensembleConfig,
213
- });
214
- return compileConductorSystemPrompt({
215
- issueUrl: input.issueUrl,
216
- profile: input.profile,
217
- agentModule: resolveAgentPromptModule('conductor', input.profile.agents),
218
- issueContext,
219
- });
220
- }
221
- catch (error) {
222
- throw new Error(formatGitHubErrorMessage(error, input.ensembleConfig));
223
- }
224
- }
225
234
  function runEventConductorSend(input) {
226
235
  const workersBefore = input.workerDispatches.length;
227
236
  const failuresBefore = input.workerFailures.length;
@@ -270,6 +279,14 @@ async function waitForDispatchBatch(input) {
270
279
  onChanged: input.onDispatchHoldChanged,
271
280
  });
272
281
  }
282
+ if (input.isPermissionPending) {
283
+ pruneStalePermissionEvents({
284
+ state: input.dispatchHoldState,
285
+ eventQueue: input.eventQueue,
286
+ isPermissionPending: input.isPermissionPending,
287
+ onChanged: input.onDispatchHoldChanged,
288
+ });
289
+ }
273
290
  const selected = selectDispatchBatch({
274
291
  queue: input.eventQueue.snapshot(),
275
292
  state: input.dispatchBatchState,
@@ -342,6 +359,7 @@ function isImmediateDispatchSource(sourceKey) {
342
359
  async function runOperatorReconnect(options) {
343
360
  try {
344
361
  await reconnectConductorAgent(options.conductorHandle, {
362
+ conductorAgentFactory: options.sendReconnect.conductorAgentFactory,
345
363
  conductorOptions: options.sendReconnect.conductorOptions,
346
364
  onReconnectAttempt: options.sendReconnect.onTransportReconnectAttempt ??
347
365
  options.sendReconnect.onReconnectAttempt,
@@ -1 +1 @@
1
- {"version":3,"file":"conductor-session-driver.js","sourceRoot":"","sources":["../../src/conductor/conductor-session-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conductor-session-driver.js","sourceRoot":"","sources":["../../src/conductor/conductor-session-driver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAWzF,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAGpF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,GAG3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,GAEpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAmF7B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAsC;IAEtC,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC;IACpD,IAAI,sBAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,sBAAsB,IAAI,CAAC,CAAC;IAC9E,IAAI,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,eAAe,IAAI,CAAC,CAAC;IAChE,IAAI,kBAAkB,GAAuB,EAAE,CAAC;IAChD,IAAI,UAAU,GAAwB,WAAW,CAAC;IAClD,IAAI,cAAc,GAAwB,OAAO,CAAC,WAAW,EAAE,cAAc,IAAI;QAC/E,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,IAAI,YAAsD,CAAC;IAC3D,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,iBAAiB,GACrB,OAAO,CAAC,iBAAiB,IAAI,uBAAuB,EAAE,CAAC;IAEzD,MAAM,4BAA4B,GAAG,GAAY,EAAE,CACjD,mBAAmB,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CACtE;QACD,KAAK,EAAE,kBAAkB;QACzB,eAAe;QACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,KAAK,SAAS,CAAC;IAEnB,MAAM,yBAAyB,GAAG,KAAK,EACrC,SAAoD,EAClC,EAAE;QACpB,UAAU,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClD,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,cAAc,GAClB,iBAAiB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACvC,OAAO,CAAC,qBAAqB,KAAK,IAAI;YACtC,SAAS,CAAC,UAAU,KAAK,OAAO;YAChC,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;QACvC,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,GAAG,KAAK,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,eAAe,GAAG,KAAK,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uEAAuE;QACvE,iEAAiE;QACjE,sEAAsE;QACtE,iDAAiD;QACjD,MAAM,2BAA2B,GAC/B,SAAS,CAAC,UAAU,KAAK,UAAU;YACnC,SAAS,CAAC,kBAAkB,KAAK,CAAC;YAClC,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC;YACzC,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,2BAA2B,EAAE,CAAC;YAChC,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1C,IACE,4BAA4B,EAAE;gBAC9B,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,EAChD,CAAC;gBACD,eAAe,GAAG,KAAK,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,cAAc,GAAG,MAAM,qBAAqB,CAAC;YAC3C,mEAAmE;YACnE,0CAA0C;YAC1C,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YACrD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS,EAAE,CAAC;YACZ,eAAe,EAAE,CAAC;YAClB,cAAc,EAAE,SAAS;YACzB,+BAA+B,EAAE,OAAO,CAAC,+BAA+B;YACxE,6BAA6B,EAAE,OAAO,CAAC,6BAA6B;YACpE,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3B,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,CAAC;gBAC1D,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBACvC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,0BAA0B,CAAC;gBACzB,KAAK,EAAE,iBAAiB;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,SAAS,EAAE,OAAO,CAAC,qBAAqB;aACzC,CAAC,CAAC;QACL,CAAC;QAED,IACE,CAAC,YAAY;YACb,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnC,eAAe,IAAI,OAAO,CAAC,QAAQ,EACnC,CAAC;YACD,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE;gBAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,eAAe;gBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,SAAS;gBACpB,mBAAmB,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;gBACpD,kBAAkB,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;gBACjD,UAAU,EAAE,cAAc,CAAC,MAAM;aAClC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,UAAU,GAAG,aAAa,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD,cAAc,GAAG,OAAO,CAAC,KAAM,CAAC;YAChC,YAAY,GAAG,SAAS,CAAC;YAEzB,MAAM,SAAS,GAAG,uBAAuB,CAAC;gBACxC,eAAe;gBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,cAAc;gBACd,kBAAkB,EAAE,sBAAsB;gBAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;gBAC1D,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;aACrD,CAAC,CAAC;YACH,IAAI,MAAM,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,MAAM;YACR,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,6BAA6B,GACjC,iBAAiB,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YACzC,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC;QACzC,IACE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;YAC5B,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC;YAChD,6BAA6B,EAC7B,CAAC;YACD,MAAM,SAAS,GAAG,uBAAuB,CAAC;gBACxC,eAAe;gBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,cAAc;gBACd,kBAAkB,EAAE,sBAAsB;gBAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;gBAC1D,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;aACrD,CAAC,CAAC;YACH,IAAI,MAAM,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,cAA+C,CAAC;QACpD,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,oBAAoB,CAAC;gBAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,kBAAkB;gBAClB,eAAe;gBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,cAAc;gBAC9B,iBAAiB;gBACjB,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;gBACpD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,UAAU,GAAG,aAAa,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QACnD,eAAe,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,kBAAkB,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,cAAc,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;YACtD,kBAAkB,GAAG,2BAA2B,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,oBAAoB,GAAG,kCAAkC,CAC7D,KAAK,EACL,eAAe,CAChB,CAAC;QACF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC/E,YAAY,GAAG,qBAAqB,CAAC;YACnC,OAAO,EAAE,+BAA+B,CAAC,KAAK,CAAC;YAC/C,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS;YACT,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,cAAc,CAAC,SAAS;YACxC,uBAAuB,EAAE,gBAAgB;YACzC,qBAAqB,EAAE,cAAc;YACrC,+BAA+B,EAAE,OAAO,CAAC,+BAA+B;YACxE,6BAA6B,EAAE,OAAO,CAAC,6BAA6B;YACpE,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3B,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,CAAC;gBAC1D,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBACvC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;QACH,kBAAkB,GAAG,2BAA2B,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,YAAY,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QACjD,cAAc,GAAG,MAAM,YAAY,CAAC;IACtC,CAAC;IAED,OAAO;QACL,UAAU;QACV,SAAS;QACT,cAAc;QACd,eAAe;QACf,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAgB9B;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;IACnD,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IAE1C,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC;IAE1C,KAAK,CAAC,aAAa,EAAE,CAAC;QACpB,SAAS,EAAE,aAAa;QACxB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IAEH,OAAO,0BAA0B,CAC/B,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,OAAO,EACb;QACE,GAAG,KAAK,CAAC,aAAa;QACtB,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;gBACrB,SAAS,EAAE,aAAa;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;KACF,CACF,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;QACpB,MAAM,mBAAmB,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,aAAa,CAAC;QAC1E,MAAM,kBAAkB,GAAG,KAAK,CAAC,6BAA6B,EAAE,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;QAC9E,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC;QAEvE,KAAK,CAAC,cAAc,CAAC;YACnB,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,gBAAgB,EAAE,KAAK,CAAC,uBAAuB,IAAI,mBAAmB;YACtE,cAAc,EAAE,KAAK,CAAC,qBAAqB,IAAI,iBAAiB;YAChE,2BAA2B,EAAE,mBAAmB,GAAG,iBAAiB;YACpE,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,KAAK,UAAU,oBAAoB,CAAC,KASnC;IACC,SAAS,CAAC;QACR,IAAI,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;YACzC,wBAAwB,CAAC;gBACvB,KAAK,EAAE,KAAK,CAAC,iBAAiB;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,qBAAqB;aACvC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC9B,0BAA0B,CAAC;gBACzB,KAAK,EAAE,KAAK,CAAC,iBAAiB;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,SAAS,EAAE,KAAK,CAAC,qBAAqB;aACvC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE,KAAK,CAAC,kBAAkB;YAC/B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,qDAAqD;QACrD,wDAAwD;QACxD,6DAA6D;QAC7D,IAAI,QAAQ,IAAI,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;gBACnC,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,IACE,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY;YACrC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC7C,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACtD,IACE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CACvE,EACD,CAAC;gBACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpC,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO;oBACL,MAAM;oBACN,SAAS,EAAE,eAAe;iBAC3B,CAAC;YACJ,CAAC;YAED,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,YAAY,GAAG,mBAAmB,CAAC;gBACvC,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,KAAK,CAAC,kBAAkB;gBAC/B,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,iBAAiB,CAAC,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC;gBACjE,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO;oBACL,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM;oBACjC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS;oBACvC,QAAQ,EAAE,YAAY;iBACvB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS;gBACnC,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE;YACjE,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,6CAA6C;QAC7C,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,CACL,SAAS,KAAK,UAAU;QACxB,SAAS,KAAK,oBAAoB;QAClC,SAAS,KAAK,YAAY,CAC3B,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,KAAK,UAAU,oBAAoB,CACjC,OAAsC;IAEtC,IAAI,CAAC;QACH,MAAM,uBAAuB,CAAC,OAAO,CAAC,eAAe,EAAE;YACrD,qBAAqB,EAAE,OAAO,CAAC,aAAa,CAAC,qBAAqB;YAClE,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,gBAAgB;YACxD,kBAAkB,EAChB,OAAO,CAAC,aAAa,CAAC,2BAA2B;gBACjD,OAAO,CAAC,aAAa,CAAC,kBAAkB;YAC1C,mBAAmB,EACjB,OAAO,CAAC,aAAa,CAAC,4BAA4B;gBAClD,OAAO,CAAC,aAAa,CAAC,mBAAmB;SAC5C,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAGnC;IACC,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC5B,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,YAAY;QAC1C,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM;KAC1D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QAC9D,CAAC,OAAO,KAAK,KAAK,QAAQ;YACxB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACd,KAA0B,CAAC,IAAI,KAAK,YAAY,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAmB,EACnB,MAAmB;IAEnB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { WorkerDispatchResult } from '../dispatch/worker-dispatch.js';
2
- import type { EnsembleConfig } from '../config/types.js';
2
+ import type { ConductorBackend, EnsembleConfig } from '../config/types.js';
3
3
  import { type LoadMcpConfigOptions } from '../mcp/load-mcp-config.js';
4
4
  import type { OpenQuestion } from '../escalation/open-question.js';
5
5
  import type { EscalationRecord } from '../escalation/human-inquiry.js';
@@ -10,6 +10,7 @@ import type { DefaultAcpResolutionOptions } from '../acp/resolve-acp-spawn.js';
10
10
  import type { ConnectWorkerAcpFn } from '../dispatch/worker-acp-session.js';
11
11
  import { type WorkerWorktreeMode, type WorktreeRef } from '../worktree/worktree.js';
12
12
  import type { WorkerFailureRecord } from '../runtime/types.js';
13
+ import type { ConductorAgentFactory } from './conductor-agent.js';
13
14
  import type { ConductorSendResult } from './conductor-agent.js';
14
15
  import { SessionLogger } from './session/session-logger.js';
15
16
  import { type IssueLoopStopReason } from './session-policy.js';
@@ -29,6 +30,8 @@ export interface RunConductorSessionOptions {
29
30
  profile: ResolvedProfile;
30
31
  profilePath?: string;
31
32
  resumeAgentId?: string;
33
+ /** Optional factory override. Without it, `conductor.backend` selects the factory. */
34
+ conductorAgentFactory?: ConductorAgentFactory;
32
35
  apiKey?: string;
33
36
  modelId?: string;
34
37
  maxTurns?: number;
@@ -126,4 +129,5 @@ export interface ConductorSessionResult {
126
129
  sessionUsage?: SessionUsageSummary;
127
130
  }
128
131
  export declare function runConductorSession(options: RunConductorSessionOptions): Promise<ConductorSessionResult>;
132
+ export declare function createConductorAgentFactory(backend: ConductorBackend): ConductorAgentFactory;
129
133
  //# sourceMappingURL=conductor-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conductor-session.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conductor-session.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { loadEnsembleConfig, } from '../config/load-ensemble-config.js';
2
- import { resolveMcpServersForSdk, } from '../mcp/load-mcp-config.js';
2
+ import { resolveMcpServers, } from '../mcp/load-mcp-config.js';
3
3
  import { createAnswerOpenQuestionTool } from '../escalation/answer-open-question-tool.js';
4
4
  import { createAskHumanTool } from '../escalation/ask-human-tool.js';
5
5
  import { createOpenQuestionListTools } from '../escalation/open-question-list-tools.js';
@@ -11,7 +11,7 @@ import { createPermissionDeadlockMonitor, } from '../permission/permission-deadl
11
11
  import { createResolvePermissionTool } from '../permission/resolve-permission-tool.js';
12
12
  import { acpSpawnFingerprint, resolveWorkerAcpSpawn, resolvedAcpSpawnToOptions, } from '../acp/resolve-acp-spawn.js';
13
13
  import { finalizeResolvedAcpSpawn, validateWorkerAcpPrerequisites, } from '../acp/validate-acp-preset-prerequisites.js';
14
- import { profileWorkersToSessionSpecs, sessionStateFromProfile, } from '../profile/types.js';
14
+ import { profileWorkersToSessionSpecs, sessionStateFromProfile, resolveAgentPromptModule, } from '../profile/types.js';
15
15
  import { WorkerSession } from '../runtime/worker-session.js';
16
16
  import { createPromptWorkerTool } from '../dispatch/prompt-worker-tool.js';
17
17
  import { createWorkerStatusTools } from '../dispatch/worker-status-tool.js';
@@ -20,11 +20,14 @@ import { createSetDispatchHoldTool } from '../dispatch/set-dispatch-hold-tool.js
20
20
  import { parseIssueUrl } from '../issue/issue-ref.js';
21
21
  import { resolveWorkerWorkspace, removeWorkerWorktree, } from '../worktree/worktree.js';
22
22
  import { WorkerOutboundQueue } from '../runtime/worker-outbound-queue.js';
23
- import { ConductorAgent } from './conductor-agent.js';
23
+ import { ConductorToolRegistry } from './conductor-tool.js';
24
+ import { createCursorSdkConductorAgentFactory } from './cursor-sdk-conductor-agent.js';
25
+ import { createPiConductorAgentFactory } from './pi-conductor-agent.js';
24
26
  import { formatConductorAuthRecoveryHint, isConductorSendAuthError, } from './conductor-auth.js';
27
+ import { resolvePiConductorProvider } from './conductor-pi-auth.js';
25
28
  import { SessionLogger } from './session/session-logger.js';
26
29
  import { SessionEventQueue } from './session/session-event-queue.js';
27
- import { bufferDispatchHoldEvents, createDispatchHoldState, } from './session/dispatch-hold.js';
30
+ import { bufferDispatchHoldEvents, createDispatchHoldState, pruneStalePermissionEvents, } from './session/dispatch-hold.js';
28
31
  import { operatorInputMaxTurns, resolveMaxTurns, } from './session-policy.js';
29
32
  import { runConductorSessionDriver } from './conductor-session-driver.js';
30
33
  import { isOperatorExitCommand } from './operator-exit.js';
@@ -34,27 +37,27 @@ import { enrichSessionUsageWithCost } from '../usage/enrich-session-usage-cost.j
34
37
  import { SessionUsageTracker } from '../usage/session-usage-tracker.js';
35
38
  import { submitOperatorInput } from './submit-operator-input.js';
36
39
  import { createGitHubMonitor, } from '../github/github-monitor.js';
37
- import { resolveGitHubMonitorEnabled } from '../config/resolve-settings.js';
40
+ import { resolveConductorBackendSetting, resolveConductorPiResourcePaths, resolveGitHubMonitorEnabled, } from '../config/resolve-settings.js';
38
41
  import { GitHubMonitorError } from '../github/github-monitor-error.js';
39
- import { GITHUB_AUTH_HINT } from '../github/github-auth.js';
42
+ import { formatGitHubErrorMessage, GITHUB_AUTH_HINT, } from '../github/github-auth.js';
43
+ import { fetchIssueContext } from '../github/issue-context.js';
40
44
  import { resolveGitHubAuthToken } from '../github/resolve-github-auth-token.js';
41
45
  import { emptyGitHubMonitorCursor, } from '../github/github-monitor-cursor.js';
42
46
  import { createRegisterGitHubWatchTool } from '../github/register-github-watch-tool.js';
47
+ import { createUnregisterGitHubWatchTool } from '../github/unregister-github-watch-tool.js';
48
+ import { compileConductorSystemPrompt } from '../prompt/compile-system-prompt.js';
43
49
  export async function runConductorSession(options) {
44
50
  const ensembleConfig = options.ensembleConfig ?? (await loadEnsembleConfig(options.repoRoot));
45
- const githubAuth = await resolveGitHubAuthToken({ config: ensembleConfig });
51
+ const conductorBackend = resolveConductorBackendSetting({
52
+ profile: options.profile,
53
+ config: ensembleConfig,
54
+ });
46
55
  const maxTurns = resolveMaxTurns(options.maxTurns);
47
56
  const sessionLogger = options.sessionLogger ??
48
57
  new SessionLogger({
49
58
  issueUrl: options.issueUrl,
50
59
  repoRoot: options.repoRoot,
51
60
  });
52
- if (!githubAuth.token) {
53
- sessionLogger.emit({
54
- type: 'harness.warning',
55
- message: GITHUB_AUTH_HINT,
56
- });
57
- }
58
61
  attachLegacySessionCallbacks(sessionLogger, options);
59
62
  const escalations = [];
60
63
  const openQuestions = new OpenQuestionRegistry();
@@ -84,6 +87,7 @@ export async function runConductorSession(options) {
84
87
  conductorAgentId: options.resumeAgentId,
85
88
  issueUrl: options.issueUrl,
86
89
  repoRoot: options.repoRoot,
90
+ conductorBackend,
87
91
  });
88
92
  openQuestions.restore({
89
93
  sequence: sidecar.sequence,
@@ -99,6 +103,29 @@ export async function runConductorSession(options) {
99
103
  });
100
104
  }
101
105
  }
106
+ const conductorAgentFactory = options.conductorAgentFactory ?? createConductorAgentFactory(conductorBackend);
107
+ const githubAuth = await resolveGitHubAuthToken({ config: ensembleConfig });
108
+ if (!githubAuth.token) {
109
+ sessionLogger.emit({
110
+ type: 'harness.warning',
111
+ message: GITHUB_AUTH_HINT,
112
+ });
113
+ }
114
+ let systemPrompt;
115
+ try {
116
+ const issueContext = await fetchIssueContext(options.issueUrl, {
117
+ ensembleConfig,
118
+ });
119
+ systemPrompt = compileConductorSystemPrompt({
120
+ issueUrl: options.issueUrl,
121
+ profile: activeProfile,
122
+ agentModule: resolveAgentPromptModule('conductor', activeProfile.agents),
123
+ issueContext,
124
+ });
125
+ }
126
+ catch (error) {
127
+ throw new Error(formatGitHubErrorMessage(error, ensembleConfig));
128
+ }
102
129
  const ownsShutdownController = !options.shutdownSignal;
103
130
  const shutdownController = ownsShutdownController
104
131
  ? new AbortController()
@@ -212,6 +239,17 @@ export async function runConductorSession(options) {
212
239
  }
213
240
  return null;
214
241
  },
242
+ onPermissionCleanup: ({ workerId, entries }) => {
243
+ sessionLogger.emit({
244
+ type: 'permission.cleanup',
245
+ reason: 'worker.failed',
246
+ workerId,
247
+ entries: entries.map(({ id, workerId: entryWorkerId }) => ({
248
+ id,
249
+ workerId: entryWorkerId,
250
+ })),
251
+ });
252
+ },
215
253
  onWorkerCompleted: (result) => {
216
254
  sessionUsageTracker.recordWorkerRound({
217
255
  name: result.name,
@@ -347,6 +385,17 @@ export async function runConductorSession(options) {
347
385
  scheduleSidecarFlush();
348
386
  },
349
387
  });
388
+ const unregisterGitHubWatchTools = createUnregisterGitHubWatchTool({
389
+ issueUrl: options.issueUrl,
390
+ getCursor: () => {
391
+ githubMonitorCursor ??= emptyGitHubMonitorCursor();
392
+ return githubMonitorCursor;
393
+ },
394
+ onUnregistered: (prNumber) => {
395
+ githubMonitor?.unregisterPullRequest?.(prNumber);
396
+ scheduleSidecarFlush();
397
+ },
398
+ });
350
399
  let conductorAgent;
351
400
  const sessionUsageTools = createSessionUsageTools({
352
401
  tracker: sessionUsageTracker,
@@ -365,32 +414,58 @@ export async function runConductorSession(options) {
365
414
  eventQueue,
366
415
  onChanged: onDispatchHoldChanged,
367
416
  });
417
+ pruneStalePermissionEvents({
418
+ state: dispatchHoldState,
419
+ eventQueue,
420
+ isPermissionPending: (requestId) => permissionPipeline.pending.get(requestId) !== undefined,
421
+ onChanged: onDispatchHoldChanged,
422
+ });
368
423
  },
369
424
  });
425
+ const conductorToolRegistry = new ConductorToolRegistry();
426
+ conductorToolRegistry
427
+ .registerAll(askHumanTools)
428
+ .registerAll(answerOpenQuestionTools)
429
+ .registerAll(openQuestionListTools)
430
+ .registerAll(resolvePermissionTools)
431
+ .registerAll(promptWorkerTools)
432
+ .registerAll(workerStatusTools)
433
+ .registerAll(registerGitHubWatchTools)
434
+ .registerAll(unregisterGitHubWatchTools)
435
+ .registerAll(sessionUsageTools)
436
+ .registerAll(dispatchHoldTools);
370
437
  const conductorCwd = options.conductorCwd ?? process.cwd();
371
- const mcpServers = await resolveMcpServersForSdk(options.repoRoot, options.mcpConfigOptions);
438
+ const mcpServers = await resolveMcpServers(options.repoRoot, options.mcpConfigOptions);
372
439
  const conductorOptions = {
373
440
  cwd: conductorCwd,
441
+ systemPrompt,
374
442
  apiKey: options.apiKey,
375
443
  modelId: options.modelId,
444
+ ...(conductorBackend === 'pi'
445
+ ? {
446
+ pi: resolveConductorPiResourcePaths({
447
+ repoRoot: options.repoRoot,
448
+ config: ensembleConfig,
449
+ }),
450
+ }
451
+ : {}),
376
452
  ...(Object.keys(mcpServers).length > 0 ? { mcpServers } : {}),
377
- customTools: {
378
- ...askHumanTools,
379
- ...answerOpenQuestionTools,
380
- ...openQuestionListTools,
381
- ...resolvePermissionTools,
382
- ...promptWorkerTools,
383
- ...workerStatusTools,
384
- ...registerGitHubWatchTools,
385
- ...sessionUsageTools,
386
- ...dispatchHoldTools,
387
- },
453
+ customTools: conductorToolRegistry.toRecord(),
388
454
  };
455
+ const conductorProvider = conductorBackend === 'pi'
456
+ ? (await resolvePiConductorProvider({
457
+ cwd: conductorOptions.cwd,
458
+ modelId: conductorOptions.modelId,
459
+ pi: conductorOptions.pi,
460
+ })) || undefined
461
+ : undefined;
389
462
  conductorAgent = options.resumeAgentId
390
- ? await ConductorAgent.resume(options.resumeAgentId, conductorOptions)
391
- : await ConductorAgent.create(conductorOptions);
463
+ ? await conductorAgentFactory.resume(options.resumeAgentId, conductorOptions)
464
+ : await conductorAgentFactory.create(conductorOptions);
392
465
  const conductorHandle = { conductor: conductorAgent };
466
+ // Keep auth/transport reconnects on the same backend factory as the session.
393
467
  const sendReconnect = {
468
+ conductorAgentFactory,
394
469
  conductorOptions,
395
470
  onAuthReconnectAttempt: ({ agentId }) => {
396
471
  sessionLogger.emit({
@@ -430,6 +505,7 @@ export async function runConductorSession(options) {
430
505
  const sidecar = {
431
506
  version: SESSION_SIDECAR_VERSION,
432
507
  conductorAgentId: conductorHandle.conductor.agentId,
508
+ conductorBackend,
433
509
  issueUrl: options.issueUrl,
434
510
  repoRoot: options.repoRoot,
435
511
  profile: structuredClone(activeProfile),
@@ -574,8 +650,9 @@ export async function runConductorSession(options) {
574
650
  try {
575
651
  const driverResult = await runConductorSessionDriver({
576
652
  issueUrl: options.issueUrl,
577
- profile: activeProfile,
578
- ensembleConfig,
653
+ initialPrompt: conductorBackend === 'pi'
654
+ ? createPiKickoffPrompt(options.issueUrl)
655
+ : systemPrompt,
579
656
  conductorHandle,
580
657
  sendReconnect,
581
658
  eventQueue,
@@ -587,6 +664,7 @@ export async function runConductorSession(options) {
587
664
  getOutboundDispatchesThisSend: () => outboundDispatchesThisSend,
588
665
  workerSession,
589
666
  permissionPipeline,
667
+ isPermissionPending: (requestId) => permissionPipeline.pending.get(requestId) !== undefined,
590
668
  openQuestions,
591
669
  shutdownSignal: driverShutdownSignal,
592
670
  maxTurns,
@@ -662,7 +740,13 @@ export async function runConductorSession(options) {
662
740
  sessionLogger.emit({
663
741
  type: 'conductor.auth.recovery',
664
742
  agentId: conductorHandle.conductor.agentId,
665
- hint: formatConductorAuthRecoveryHint(conductorHandle.conductor.agentId),
743
+ hint: formatConductorAuthRecoveryHint(conductorHandle.conductor.agentId, conductorBackend === 'pi'
744
+ ? {
745
+ backend: 'pi',
746
+ pi: { agentDir: conductorOptions.pi?.agentDir },
747
+ provider: conductorProvider,
748
+ }
749
+ : { backend: 'cursor' }),
666
750
  });
667
751
  }
668
752
  scheduleSidecarFlush();
@@ -722,7 +806,17 @@ export async function runConductorSession(options) {
722
806
  // Stop active prompts before closing ACP bridges. Requests that arrive
723
807
  // after this point are rejected by the teardown guard above.
724
808
  workerSession.runtime.cancelAllActivePrompts();
725
- rejectAllPendingPermissions(permissionPipeline, workerSession.inbox);
809
+ const rejectedPendingPermissions = rejectAllPendingPermissions(permissionPipeline, workerSession.inbox);
810
+ if (rejectedPendingPermissions.length > 0) {
811
+ sessionLogger.emit({
812
+ type: 'permission.cleanup',
813
+ reason: 'teardown',
814
+ entries: rejectedPendingPermissions.map(({ id, workerId }) => ({
815
+ id,
816
+ workerId,
817
+ })),
818
+ });
819
+ }
726
820
  try {
727
821
  emitTeardownPhase('flushSidecar');
728
822
  const phaseStart = Date.now();
@@ -790,6 +884,16 @@ export async function runConductorSession(options) {
790
884
  }
791
885
  }
792
886
  }
887
+ export function createConductorAgentFactory(backend) {
888
+ if (backend === 'cursor') {
889
+ return createCursorSdkConductorAgentFactory();
890
+ }
891
+ return createPiConductorAgentFactory();
892
+ }
893
+ function createPiKickoffPrompt(issueUrl) {
894
+ return (`Start the conductor workflow for ${issueUrl}. ` +
895
+ 'Review the Issue context in your system instructions and dispatch the first required worker with prompt_worker.');
896
+ }
793
897
  async function emitWorktreeRemoval(sessionLogger, repoRoot, issue) {
794
898
  const result = await removeWorkerWorktree(repoRoot, issue);
795
899
  switch (result.status) {
@@ -821,14 +925,16 @@ async function emitWorktreeRemoval(sessionLogger, repoRoot, issue) {
821
925
  }
822
926
  }
823
927
  function rejectAllPendingPermissions(pipeline, inbox) {
928
+ const rejected = [];
824
929
  for (const pending of [...pipeline.pending.list()]) {
825
930
  try {
826
- pipeline.resolveAndFulfill(inbox, pending.id, false);
931
+ rejected.push(pipeline.resolveAndFulfill(inbox, pending.id, false));
827
932
  }
828
933
  catch {
829
934
  // already resolved
830
935
  }
831
936
  }
937
+ return rejected;
832
938
  }
833
939
  function attachLegacySessionCallbacks(logger, options) {
834
940
  if (!options.onSendComplete &&