@agents-ensemble/core 0.5.3 → 0.6.1

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 (124) hide show
  1. package/dist/conductor/conductor-agent.d.ts.map +1 -1
  2. package/dist/conductor/conductor-agent.js +2 -1
  3. package/dist/conductor/conductor-agent.js.map +1 -1
  4. package/dist/conductor/conductor-session-driver.d.ts +7 -0
  5. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  6. package/dist/conductor/conductor-session-driver.js +88 -6
  7. package/dist/conductor/conductor-session-driver.js.map +1 -1
  8. package/dist/conductor/conductor-session.d.ts +8 -0
  9. package/dist/conductor/conductor-session.d.ts.map +1 -1
  10. package/dist/conductor/conductor-session.js +77 -29
  11. package/dist/conductor/conductor-session.js.map +1 -1
  12. package/dist/conductor/configure-cursor-sdk-env.d.ts +27 -0
  13. package/dist/conductor/configure-cursor-sdk-env.d.ts.map +1 -1
  14. package/dist/conductor/configure-cursor-sdk-env.js +191 -1
  15. package/dist/conductor/configure-cursor-sdk-env.js.map +1 -1
  16. package/dist/conductor/index.d.ts +3 -1
  17. package/dist/conductor/index.d.ts.map +1 -1
  18. package/dist/conductor/index.js +2 -1
  19. package/dist/conductor/index.js.map +1 -1
  20. package/dist/conductor/session/dispatch-hold.d.ts +28 -0
  21. package/dist/conductor/session/dispatch-hold.d.ts.map +1 -0
  22. package/dist/conductor/session/dispatch-hold.js +35 -0
  23. package/dist/conductor/session/dispatch-hold.js.map +1 -0
  24. package/dist/conductor/session/events/index.d.ts +1 -1
  25. package/dist/conductor/session/events/index.d.ts.map +1 -1
  26. package/dist/conductor/session/events/index.js.map +1 -1
  27. package/dist/conductor/session/events/session-log-event-groups.d.ts +2 -2
  28. package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
  29. package/dist/conductor/session/events/session-log-event-groups.js +1 -0
  30. package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
  31. package/dist/conductor/session/events/session-log-event.d.ts +8 -1
  32. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  33. package/dist/conductor/session/session-logger.d.ts.map +1 -1
  34. package/dist/conductor/session/session-logger.js +1 -0
  35. package/dist/conductor/session/session-logger.js.map +1 -1
  36. package/dist/conductor/session-policy.d.ts +4 -1
  37. package/dist/conductor/session-policy.d.ts.map +1 -1
  38. package/dist/conductor/session-policy.js +12 -0
  39. package/dist/conductor/session-policy.js.map +1 -1
  40. package/dist/config/defaults.d.ts.map +1 -1
  41. package/dist/config/defaults.js +4 -0
  42. package/dist/config/defaults.js.map +1 -1
  43. package/dist/config/index.d.ts +2 -2
  44. package/dist/config/index.d.ts.map +1 -1
  45. package/dist/config/index.js +1 -1
  46. package/dist/config/index.js.map +1 -1
  47. package/dist/config/parse-config.d.ts.map +1 -1
  48. package/dist/config/parse-config.js +36 -0
  49. package/dist/config/parse-config.js.map +1 -1
  50. package/dist/config/resolve-settings.d.ts +13 -1
  51. package/dist/config/resolve-settings.d.ts.map +1 -1
  52. package/dist/config/resolve-settings.js +44 -0
  53. package/dist/config/resolve-settings.js.map +1 -1
  54. package/dist/config/types.d.ts +11 -0
  55. package/dist/config/types.d.ts.map +1 -1
  56. package/dist/dispatch/index.d.ts +2 -0
  57. package/dist/dispatch/index.d.ts.map +1 -1
  58. package/dist/dispatch/index.js +1 -0
  59. package/dist/dispatch/index.js.map +1 -1
  60. package/dist/dispatch/set-dispatch-hold-tool.d.ts +11 -0
  61. package/dist/dispatch/set-dispatch-hold-tool.d.ts.map +1 -0
  62. package/dist/dispatch/set-dispatch-hold-tool.js +60 -0
  63. package/dist/dispatch/set-dispatch-hold-tool.js.map +1 -0
  64. package/dist/github/fetch-github-updates.d.ts +9 -1
  65. package/dist/github/fetch-github-updates.d.ts.map +1 -1
  66. package/dist/github/fetch-github-updates.js +225 -54
  67. package/dist/github/fetch-github-updates.js.map +1 -1
  68. package/dist/github/github-client.d.ts.map +1 -1
  69. package/dist/github/github-client.js +4 -0
  70. package/dist/github/github-client.js.map +1 -1
  71. package/dist/github/github-monitor-cursor.d.ts +29 -2
  72. package/dist/github/github-monitor-cursor.d.ts.map +1 -1
  73. package/dist/github/github-monitor-cursor.js +49 -3
  74. package/dist/github/github-monitor-cursor.js.map +1 -1
  75. package/dist/github/github-monitor.d.ts +7 -0
  76. package/dist/github/github-monitor.d.ts.map +1 -1
  77. package/dist/github/github-monitor.js +46 -3
  78. package/dist/github/github-monitor.js.map +1 -1
  79. package/dist/github/github-update-types.d.ts +1 -1
  80. package/dist/github/github-update-types.d.ts.map +1 -1
  81. package/dist/github/index.d.ts +4 -1
  82. package/dist/github/index.d.ts.map +1 -1
  83. package/dist/github/index.js +2 -0
  84. package/dist/github/index.js.map +1 -1
  85. package/dist/github/register-github-watch-tool.d.ts +16 -0
  86. package/dist/github/register-github-watch-tool.d.ts.map +1 -0
  87. package/dist/github/register-github-watch-tool.js +143 -0
  88. package/dist/github/register-github-watch-tool.js.map +1 -0
  89. package/dist/index.d.ts +1 -0
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +1 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/permission/format-permission-summary-for-operator.d.ts +1 -1
  94. package/dist/permission/format-permission-summary-for-operator.d.ts.map +1 -1
  95. package/dist/permission/format-permission-summary-for-operator.js +75 -19
  96. package/dist/permission/format-permission-summary-for-operator.js.map +1 -1
  97. package/dist/permission/pending-permission.d.ts +1 -0
  98. package/dist/permission/pending-permission.d.ts.map +1 -1
  99. package/dist/permission/pending-permission.js +7 -0
  100. package/dist/permission/pending-permission.js.map +1 -1
  101. package/dist/permission/permission-pipeline.d.ts +2 -0
  102. package/dist/permission/permission-pipeline.d.ts.map +1 -1
  103. package/dist/permission/permission-pipeline.js +9 -1
  104. package/dist/permission/permission-pipeline.js.map +1 -1
  105. package/dist/permission/permission-request.d.ts.map +1 -1
  106. package/dist/permission/permission-request.js +122 -4
  107. package/dist/permission/permission-request.js.map +1 -1
  108. package/dist/profiles/implementer-and-reviewer/conductor.prompt.yaml +1 -0
  109. package/dist/profiles/implementer-and-reviewer/team.md +23 -4
  110. package/dist/prompt/modules/ensemble/conductor-base-module.d.ts.map +1 -1
  111. package/dist/prompt/modules/ensemble/conductor-base-module.js +20 -0
  112. package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -1
  113. package/dist/representation/index.d.ts +3 -0
  114. package/dist/representation/index.d.ts.map +1 -0
  115. package/dist/representation/index.js +2 -0
  116. package/dist/representation/index.js.map +1 -0
  117. package/dist/representation/session-log-representation.d.ts +24 -0
  118. package/dist/representation/session-log-representation.d.ts.map +1 -0
  119. package/dist/representation/session-log-representation.js +27 -0
  120. package/dist/representation/session-log-representation.js.map +1 -0
  121. package/dist/runtime/worker-session.d.ts.map +1 -1
  122. package/dist/runtime/worker-session.js +4 -1
  123. package/dist/runtime/worker-session.js.map +1 -1
  124. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,SAAS,EAEd,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAClE;AAED,qBAAa,cAAc;IACL,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,IAAI,OAAO,IAAI,MAAM,CAEpB;WAEY,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;WAM/D,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC;IAMpB,IAAI,CACR,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC;IAyCzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,SAAS,EAEd,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAClE;AAED,qBAAa,cAAc;IACL,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAEP,IAAI,OAAO,IAAI,MAAM,CAEpB;WAEY,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;WAM/D,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC;IAMpB,IAAI,CACR,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC;IAyCzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,5 +1,5 @@
1
1
  import { Agent, AuthenticationError, CursorAgentError, } from '@cursor/sdk';
2
- import { ensureCursorSdkRipgrepPath } from './configure-cursor-sdk-env.js';
2
+ import { ensureCursorSdkProxy, ensureCursorSdkRipgrepPath, } from './configure-cursor-sdk-env.js';
3
3
  import { resolveConductorApiKey } from './conductor-auth.js';
4
4
  import { formatConductorToolName } from './conductor-tool-name.js';
5
5
  import { resolveConductorModelId } from './resolve-conductor-model-id.js';
@@ -76,6 +76,7 @@ function ensureCursorSdkEnv() {
76
76
  return;
77
77
  }
78
78
  cursorSdkEnvReady = true;
79
+ ensureCursorSdkProxy();
79
80
  ensureCursorSdkRipgrepPath();
80
81
  }
81
82
  function buildAgentOptions(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"conductor-agent.js","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conductor-agent.js","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import type { WorkerSession } from '../runtime/worker-session.js';
9
9
  import type { ConductorSendResult } from './conductor-agent.js';
10
10
  import type { ConductorAgentHandle, ConductorSendReconnectOptions } from './conductor-send-reconnect.js';
11
11
  import { SessionEventQueue } from './session/session-event-queue.js';
12
+ import { type DispatchHoldChange, type DispatchHoldState } from './session/dispatch-hold.js';
12
13
  import { type IssueLoopStopReason } from './session-policy.js';
13
14
  export interface ConductorSendStartedInfo {
14
15
  /** これから実行する send の通し番号(1 始まり)。 */
@@ -49,6 +50,8 @@ export interface ConductorSessionDriverOptions {
49
50
  shutdownSignal: AbortSignal;
50
51
  maxTurns: number;
51
52
  continueOnConductorError: boolean;
53
+ /** one-shot 入力時は未回答の operator 入力や held trigger の解放を待たずに停止する。 */
54
+ stopOnUnansweredInput?: boolean;
52
55
  workerDispatches: WorkerDispatchResult[];
53
56
  workerFailures: WorkerFailureRecord[];
54
57
  onSendStarted?: (info: ConductorSendStartedInfo) => void;
@@ -65,6 +68,10 @@ export interface ConductorSessionDriverOptions {
65
68
  resumeState?: Pick<ConductorSessionDriverResult, 'sendCount' | 'autonomousTurns' | 'lastSendResult'> & {
66
69
  lastDispatchesThisTurn: number;
67
70
  };
71
+ /** conductor send 中だけ有効な dispatch 保留状態。sidecar には保存しない。 */
72
+ dispatchHoldState?: DispatchHoldState;
73
+ /** dispatch 保留の切替・件数変化を TUI/観測へ通知する。 */
74
+ onDispatchHoldChanged?: (change: DispatchHoldChange) => void;
68
75
  }
69
76
  export interface ConductorSessionDriverResult {
70
77
  stopReason: IssueLoopStopReason;
@@ -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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"}
@@ -5,8 +5,9 @@ import { resolveAgentPromptModule } from '../profile/types.js';
5
5
  import { compileConductorSystemPrompt } from '../prompt/compile-system-prompt.js';
6
6
  import { sendConductorWithReconnect } from './conductor-send-reconnect.js';
7
7
  import { formatSessionEventsForConductor } from './session/format-session-event.js';
8
+ import { bufferDispatchHoldEvents, createDispatchHoldState, } from './session/dispatch-hold.js';
8
9
  import { countWorkerOutcomesInBatch, dispatchBatchStateAfterSend, markContinuationConsumed, selectDispatchBatch, } from './session/select-dispatch-batch.js';
9
- import { autonomousTurnsAfterConductorBatch, buildIssueLoopStopInput, isMaxTurnsLimited, resolveIssueLoopStopReason, shouldStopIssueLoop, } from './session-policy.js';
10
+ import { autonomousTurnsAfterConductorBatch, buildIssueLoopStopInput, canDispatchConductorSend, isMaxTurnsLimited, resolveIssueLoopStopReason, shouldStopIssueLoop, } from './session-policy.js';
10
11
  /**
11
12
  * ConductorSession のイベント消費ループ(SessionDriver)。
12
13
  * dispatch / stop 判定は SessionPolicy を参照する。
@@ -23,9 +24,23 @@ export async function runConductorSessionDriver(options) {
23
24
  };
24
25
  let inFlightSend;
25
26
  let postLoopWaiting = false;
27
+ const dispatchHoldState = options.dispatchHoldState ?? createDispatchHoldState();
26
28
  const shouldBreakAfterLoopState = (loopState) => {
27
29
  stopReason = resolveIssueLoopStopReason(loopState);
28
- if (!shouldStopIssueLoop(loopState)) {
30
+ const shouldStop = shouldStopIssueLoop(loopState);
31
+ // A normal binding may still release and flush held trigger events before
32
+ // stopping. A one-shot has no later operator input to release the hold,
33
+ // so its stop condition must take precedence or the Driver can wait
34
+ // forever. SDK terminal statuses also must not be hidden by the hold.
35
+ const holdBlocksStop = dispatchHoldState.heldEvents.length > 0 &&
36
+ options.stopOnUnansweredInput !== true &&
37
+ loopState.lastStatus !== 'error' &&
38
+ loopState.lastStatus !== 'cancelled';
39
+ if (holdBlocksStop) {
40
+ postLoopWaiting = false;
41
+ return false;
42
+ }
43
+ if (!shouldStop) {
29
44
  postLoopWaiting = false;
30
45
  return false;
31
46
  }
@@ -93,14 +108,18 @@ export async function runConductorSessionDriver(options) {
93
108
  permissionPipeline: options.permissionPipeline,
94
109
  openQuestions: options.openQuestions,
95
110
  continueOnConductorError: options.continueOnConductorError,
111
+ stopOnUnansweredInput: options.stopOnUnansweredInput,
96
112
  });
97
113
  if (shouldBreakAfterLoopState(loopState)) {
98
114
  break;
99
115
  }
100
116
  continue;
101
117
  }
118
+ const canEvaluateStopWithHeldEvents = dispatchHoldState.heldEvents.length === 0 ||
119
+ options.stopOnUnansweredInput === true;
102
120
  if (options.eventQueue.isEmpty() &&
103
- options.workerSession.runtime.runningCount === 0) {
121
+ options.workerSession.runtime.runningCount === 0 &&
122
+ canEvaluateStopWithHeldEvents) {
104
123
  const loopState = buildIssueLoopStopInput({
105
124
  autonomousTurns,
106
125
  maxTurns: options.maxTurns,
@@ -110,6 +129,7 @@ export async function runConductorSessionDriver(options) {
110
129
  permissionPipeline: options.permissionPipeline,
111
130
  openQuestions: options.openQuestions,
112
131
  continueOnConductorError: options.continueOnConductorError,
132
+ stopOnUnansweredInput: options.stopOnUnansweredInput,
113
133
  });
114
134
  if (shouldBreakAfterLoopState(loopState)) {
115
135
  break;
@@ -123,6 +143,8 @@ export async function runConductorSessionDriver(options) {
123
143
  autonomousTurns,
124
144
  maxTurns: options.maxTurns,
125
145
  signal: options.shutdownSignal,
146
+ dispatchHoldState,
147
+ onDispatchHoldChanged: options.onDispatchHoldChanged,
126
148
  });
127
149
  }
128
150
  catch (error) {
@@ -137,7 +159,9 @@ export async function runConductorSessionDriver(options) {
137
159
  }
138
160
  const { events: batch, selected } = dispatchResult;
139
161
  postLoopWaiting = false;
140
- dispatchBatchState = markContinuationConsumed(dispatchBatchState, selected);
162
+ if (selected) {
163
+ dispatchBatchState = markContinuationConsumed(dispatchBatchState, selected);
164
+ }
141
165
  const autonomousTurnsAfter = autonomousTurnsAfterConductorBatch(batch, autonomousTurns);
142
166
  const { workerDispatches, workerFailures } = countWorkerOutcomesInBatch(batch);
143
167
  inFlightSend = runEventConductorSend({
@@ -148,7 +172,7 @@ export async function runConductorSessionDriver(options) {
148
172
  workerFailures: options.workerFailures,
149
173
  sendCount,
150
174
  autonomousTurns: autonomousTurnsAfter,
151
- dispatchSource: selected.batch.sourceKey,
175
+ dispatchSource: dispatchResult.sourceKey,
152
176
  workerOutcomeDispatches: workerDispatches,
153
177
  workerOutcomeFailures: workerFailures,
154
178
  onSendStarted: options.onSendStarted,
@@ -160,7 +184,7 @@ export async function runConductorSessionDriver(options) {
160
184
  options.onSendComplete(info);
161
185
  },
162
186
  });
163
- dispatchBatchState = dispatchBatchStateAfterSend(selected.batch.sourceKey);
187
+ dispatchBatchState = dispatchBatchStateAfterSend(dispatchResult.sourceKey);
164
188
  }
165
189
  if (inFlightSend && stopReason !== 'interrupted') {
166
190
  lastSendResult = await inFlightSend;
@@ -227,12 +251,60 @@ function runEventConductorSend(input) {
227
251
  }
228
252
  async function waitForDispatchBatch(input) {
229
253
  for (;;) {
254
+ if (input.dispatchHoldState.dispatchHold) {
255
+ bufferDispatchHoldEvents({
256
+ state: input.dispatchHoldState,
257
+ eventQueue: input.eventQueue,
258
+ onChanged: input.onDispatchHoldChanged,
259
+ });
260
+ }
230
261
  const selected = selectDispatchBatch({
231
262
  queue: input.eventQueue.snapshot(),
232
263
  state: input.dispatchBatchState,
233
264
  autonomousTurns: input.autonomousTurns,
234
265
  maxTurns: input.maxTurns,
235
266
  });
267
+ // operator.message は hold 中も通す。release 後に queue に残った
268
+ // permission.pending も held flush より先に通す。held buffer 内の
269
+ // permission.pending は max-turns で worker が止まっていても下の分岐で救済する。
270
+ if (selected && isImmediateDispatchSource(selected.batch.sourceKey)) {
271
+ input.eventQueue.replaceQueue(selected.remainingQueue);
272
+ return {
273
+ events: selected.batch.events,
274
+ sourceKey: selected.batch.sourceKey,
275
+ selected,
276
+ };
277
+ }
278
+ if (!input.dispatchHoldState.dispatchHold &&
279
+ input.dispatchHoldState.heldEvents.length > 0) {
280
+ const heldEvents = input.dispatchHoldState.heldEvents;
281
+ if (heldEvents.every((event) => canDispatchConductorSend(event, input.autonomousTurns, input.maxTurns))) {
282
+ const events = heldEvents.splice(0);
283
+ notifyHeldDispatchProgress(input);
284
+ return {
285
+ events,
286
+ sourceKey: 'dispatch-hold',
287
+ };
288
+ }
289
+ // max-turns blocks worker/GitHub events, but permission.pending remains
290
+ // dispatchable. Reuse the normal batch selector so held permissions are
291
+ // selected with the same priority and batching rules as queued events.
292
+ const selectedHeld = selectDispatchBatch({
293
+ queue: heldEvents,
294
+ state: input.dispatchBatchState,
295
+ autonomousTurns: input.autonomousTurns,
296
+ maxTurns: input.maxTurns,
297
+ });
298
+ if (selectedHeld) {
299
+ input.dispatchHoldState.heldEvents = selectedHeld.remainingQueue;
300
+ notifyHeldDispatchProgress(input);
301
+ return {
302
+ events: selectedHeld.batch.events,
303
+ sourceKey: selectedHeld.batch.sourceKey,
304
+ selected: selectedHeld,
305
+ };
306
+ }
307
+ }
236
308
  if (selected) {
237
309
  input.eventQueue.replaceQueue(selected.remainingQueue);
238
310
  return {
@@ -249,6 +321,16 @@ async function waitForDispatchBatch(input) {
249
321
  input.eventQueue.prependSilent(incoming);
250
322
  }
251
323
  }
324
+ function isImmediateDispatchSource(sourceKey) {
325
+ return sourceKey === 'operator' || sourceKey === 'permission';
326
+ }
327
+ function notifyHeldDispatchProgress(input) {
328
+ input.onDispatchHoldChanged?.({
329
+ status: 'updated',
330
+ hold: input.dispatchHoldState.dispatchHold,
331
+ heldEventCount: input.dispatchHoldState.heldEvents.length,
332
+ });
333
+ }
252
334
  function isAbortError(error) {
253
335
  return ((error instanceof DOMException && error.name === 'AbortError') ||
254
336
  (typeof error === 'object' &&
@@ -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":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { WorkerDispatchResult } from '../dispatch/worker-dispatch.js';
2
2
  import type { EnsembleConfig } from '../config/types.js';
3
+ import { type LoadMcpConfigOptions } from '../mcp/load-mcp-config.js';
3
4
  import type { OpenQuestion } from '../escalation/open-question.js';
4
5
  import type { EscalationRecord } from '../escalation/human-inquiry.js';
5
6
  import type { PermissionPolicyRules } from '../permission/permission-policy.js';
@@ -22,6 +23,8 @@ export interface RunConductorSessionOptions {
22
23
  conductorCwd?: string;
23
24
  /** テスト用。未指定時は loadEnsembleConfig(repoRoot) で解決する。 */
24
25
  ensembleConfig?: EnsembleConfig;
26
+ /** MCP 設定の解決オプション。未指定時は `~/.ensemble` を参照する。 */
27
+ mcpConfigOptions?: LoadMcpConfigOptions;
25
28
  /** 作業手順・worker 定義。未指定時は loadProfile でデフォルトを解決する。 */
26
29
  profile: ResolvedProfile;
27
30
  profilePath?: string;
@@ -40,6 +43,11 @@ export interface RunConductorSessionOptions {
40
43
  * 非 TTY / CI では false のままにすること。
41
44
  */
42
45
  continueOnConductorError?: boolean;
46
+ /**
47
+ * 初回 operator 入力だけで終了する経路。未回答の open question / permission を待たずに停止する。
48
+ * one-shot CLI / env 入力など、追加入力を提供しない View から指定する。
49
+ */
50
+ stopOnUnansweredInput?: boolean;
43
51
  /**
44
52
  * 自律ループ停止後も harness を維持し、オペレータの `/exit` または追加指示を待つ。
45
53
  * CLI の TTY デフォルト。非 TTY / CI では false。
@@ -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 { resolveMcpServersForSdk, } 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';
@@ -15,6 +15,7 @@ import { WorkerSession } from '../runtime/worker-session.js';
15
15
  import { createPromptWorkerTool } from '../dispatch/prompt-worker-tool.js';
16
16
  import { createWorkerStatusTools } from '../dispatch/worker-status-tool.js';
17
17
  import { createSessionUsageTools } from '../dispatch/session-usage-tool.js';
18
+ import { createSetDispatchHoldTool } from '../dispatch/set-dispatch-hold-tool.js';
18
19
  import { parseIssueUrl } from '../issue/issue-ref.js';
19
20
  import { resolveWorkerWorkspace, removeWorkerWorktree, } from '../worktree/worktree.js';
20
21
  import { WorkerOutboundQueue } from '../runtime/worker-outbound-queue.js';
@@ -22,6 +23,7 @@ import { ConductorAgent } from './conductor-agent.js';
22
23
  import { formatConductorAuthRecoveryHint, isConductorSendAuthError, } from './conductor-auth.js';
23
24
  import { SessionLogger } from './session/session-logger.js';
24
25
  import { SessionEventQueue } from './session/session-event-queue.js';
26
+ import { bufferDispatchHoldEvents, createDispatchHoldState, } from './session/dispatch-hold.js';
25
27
  import { operatorInputMaxTurns, resolveMaxTurns, } from './session-policy.js';
26
28
  import { runConductorSessionDriver } from './conductor-session-driver.js';
27
29
  import { isOperatorExitCommand } from './operator-exit.js';
@@ -34,6 +36,8 @@ import { resolveGitHubMonitorEnabled } from '../config/resolve-settings.js';
34
36
  import { GitHubMonitorError } from '../github/github-monitor-error.js';
35
37
  import { GITHUB_AUTH_HINT } from '../github/github-auth.js';
36
38
  import { resolveGitHubAuthToken } from '../github/resolve-github-auth-token.js';
39
+ import { emptyGitHubMonitorCursor, } from '../github/github-monitor-cursor.js';
40
+ import { createRegisterGitHubWatchTool } from '../github/register-github-watch-tool.js';
37
41
  export async function runConductorSession(options) {
38
42
  const ensembleConfig = options.ensembleConfig ?? (await loadEnsembleConfig(options.repoRoot));
39
43
  const githubAuth = await resolveGitHubAuthToken({ config: ensembleConfig });
@@ -53,9 +57,22 @@ export async function runConductorSession(options) {
53
57
  const escalations = [];
54
58
  const openQuestions = new OpenQuestionRegistry();
55
59
  const eventQueue = new SessionEventQueue();
60
+ const dispatchHoldState = createDispatchHoldState();
61
+ const onDispatchHoldChanged = (change) => {
62
+ sessionLogger.emit({
63
+ type: 'conductor.dispatch_hold',
64
+ status: change.status,
65
+ hold: change.hold,
66
+ heldEventCount: change.heldEventCount,
67
+ ...(change.flushedEventCount !== undefined
68
+ ? { flushedEventCount: change.flushedEventCount }
69
+ : {}),
70
+ });
71
+ };
56
72
  let activeProfile = options.profile;
57
73
  const workerSessions = new Map();
58
74
  let githubMonitorCursor;
75
+ let githubMonitor;
59
76
  if (options.resumeAgentId) {
60
77
  const sidecar = await requireSessionSidecarForResume({
61
78
  repoRoot: options.repoRoot,
@@ -301,6 +318,17 @@ export async function runConductorSession(options) {
301
318
  workerNames: activeProfile.workers.map((worker) => worker.name),
302
319
  getWorkerFailures: () => sessionLogger.workerFailures,
303
320
  });
321
+ const registerGitHubWatchTools = createRegisterGitHubWatchTool({
322
+ issueUrl: options.issueUrl,
323
+ getCursor: () => {
324
+ githubMonitorCursor ??= emptyGitHubMonitorCursor();
325
+ return githubMonitorCursor;
326
+ },
327
+ onRegistered: (registration) => {
328
+ githubMonitor?.registerPullRequest?.(registration);
329
+ scheduleSidecarFlush();
330
+ },
331
+ });
304
332
  let conductorAgent;
305
333
  const sessionUsageTools = createSessionUsageTools({
306
334
  tracker: sessionUsageTracker,
@@ -310,8 +338,19 @@ export async function runConductorSession(options) {
310
338
  return usage.cost;
311
339
  },
312
340
  });
341
+ const dispatchHoldTools = createSetDispatchHoldTool({
342
+ state: dispatchHoldState,
343
+ onChanged: onDispatchHoldChanged,
344
+ onBeforeRelease: () => {
345
+ bufferDispatchHoldEvents({
346
+ state: dispatchHoldState,
347
+ eventQueue,
348
+ onChanged: onDispatchHoldChanged,
349
+ });
350
+ },
351
+ });
313
352
  const conductorCwd = options.conductorCwd ?? process.cwd();
314
- const mcpServers = await resolveMcpServersForSdk(options.repoRoot);
353
+ const mcpServers = await resolveMcpServersForSdk(options.repoRoot, options.mcpConfigOptions);
315
354
  const conductorOptions = {
316
355
  cwd: conductorCwd,
317
356
  apiKey: options.apiKey,
@@ -324,7 +363,9 @@ export async function runConductorSession(options) {
324
363
  ...resolvePermissionTools,
325
364
  ...promptWorkerTools,
326
365
  ...workerStatusTools,
366
+ ...registerGitHubWatchTools,
327
367
  ...sessionUsageTools,
368
+ ...dispatchHoldTools,
328
369
  },
329
370
  };
330
371
  conductorAgent = options.resumeAgentId
@@ -340,34 +381,39 @@ export async function runConductorSession(options) {
340
381
  });
341
382
  },
342
383
  };
384
+ let sidecarFlushQueue = Promise.resolve();
343
385
  let flushSidecar = async () => { };
344
- flushSidecar = async () => {
345
- const workers = {};
346
- for (const [name, worker] of workerSessions) {
347
- workers[name] = {
348
- acpSessionId: worker.acpSessionId,
349
- ...(worker.acpCwd ? { acpCwd: worker.acpCwd } : {}),
350
- ...(worker.acpSpawn ? { acpSpawn: worker.acpSpawn } : {}),
386
+ flushSidecar = () => {
387
+ const nextFlush = sidecarFlushQueue.then(async () => {
388
+ const workers = {};
389
+ for (const [name, worker] of workerSessions) {
390
+ workers[name] = {
391
+ acpSessionId: worker.acpSessionId,
392
+ ...(worker.acpCwd ? { acpCwd: worker.acpCwd } : {}),
393
+ ...(worker.acpSpawn ? { acpSpawn: worker.acpSpawn } : {}),
394
+ };
395
+ }
396
+ const snapshot = openQuestions.snapshot();
397
+ const sidecar = {
398
+ version: SESSION_SIDECAR_VERSION,
399
+ conductorAgentId: conductorHandle.conductor.agentId,
400
+ issueUrl: options.issueUrl,
401
+ repoRoot: options.repoRoot,
402
+ profile: structuredClone(activeProfile),
403
+ ...(options.profilePath ? { profilePath: options.profilePath } : {}),
404
+ openQuestions: snapshot.openQuestions,
405
+ sequence: snapshot.sequence,
406
+ workers,
407
+ ...(githubMonitorCursor ? { githubMonitor: githubMonitorCursor } : {}),
408
+ updatedAt: Date.now(),
351
409
  };
352
- }
353
- const snapshot = openQuestions.snapshot();
354
- const sidecar = {
355
- version: SESSION_SIDECAR_VERSION,
356
- conductorAgentId: conductorHandle.conductor.agentId,
357
- issueUrl: options.issueUrl,
358
- repoRoot: options.repoRoot,
359
- profile: structuredClone(activeProfile),
360
- ...(options.profilePath ? { profilePath: options.profilePath } : {}),
361
- openQuestions: snapshot.openQuestions,
362
- sequence: snapshot.sequence,
363
- workers,
364
- ...(githubMonitorCursor ? { githubMonitor: githubMonitorCursor } : {}),
365
- updatedAt: Date.now(),
366
- };
367
- await saveSessionSidecar(sessionSidecarPath({
368
- repoRoot: options.repoRoot,
369
- conductorAgentId: conductorHandle.conductor.agentId,
370
- }), sidecar);
410
+ await saveSessionSidecar(sessionSidecarPath({
411
+ repoRoot: options.repoRoot,
412
+ conductorAgentId: conductorHandle.conductor.agentId,
413
+ }), sidecar);
414
+ });
415
+ sidecarFlushQueue = nextFlush.catch(() => { });
416
+ return nextFlush;
371
417
  };
372
418
  scheduleSidecarFlush = () => {
373
419
  void flushSidecar().catch(() => {
@@ -376,7 +422,6 @@ export async function runConductorSession(options) {
376
422
  };
377
423
  let sendCount = 0;
378
424
  let autonomousTurns = 0;
379
- let githubMonitor;
380
425
  const monitorDefaults = ensembleConfig.github.monitor;
381
426
  if (resolveGitHubMonitorEnabled({
382
427
  cliDisabled: options.disableGitHubMonitor,
@@ -497,12 +542,15 @@ export async function runConductorSession(options) {
497
542
  conductorHandle,
498
543
  sendReconnect,
499
544
  eventQueue,
545
+ dispatchHoldState,
546
+ onDispatchHoldChanged,
500
547
  workerSession,
501
548
  permissionPipeline,
502
549
  openQuestions,
503
550
  shutdownSignal: driverShutdownSignal,
504
551
  maxTurns,
505
552
  continueOnConductorError,
553
+ stopOnUnansweredInput: options.stopOnUnansweredInput,
506
554
  continueAfterIssueLoopStop: waitForOperatorExit,
507
555
  onIssueLoopStop: waitForOperatorExit
508
556
  ? () => {