@agents-ensemble/cli 0.9.2 → 0.10.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.
- package/README.md +10 -10
- package/config.example.yaml +6 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/issue-command.d.ts +3 -0
- package/dist/issue-command.d.ts.map +1 -1
- package/dist/issue-command.js +10 -2
- package/dist/issue-command.js.map +1 -1
- package/dist/session-log-lines.d.ts +5 -1
- package/dist/session-log-lines.d.ts.map +1 -1
- package/dist/session-log-lines.js +34 -2
- package/dist/session-log-lines.js.map +1 -1
- package/dist/session-sinks.d.ts +2 -0
- package/dist/session-sinks.d.ts.map +1 -1
- package/dist/session-sinks.js +3 -1
- package/dist/session-sinks.js.map +1 -1
- package/dist/tui/create-issue-session-tui-host.d.ts +1 -0
- package/dist/tui/create-issue-session-tui-host.d.ts.map +1 -1
- package/dist/tui/create-issue-session-tui-host.js +3 -1
- package/dist/tui/create-issue-session-tui-host.js.map +1 -1
- package/dist/tui/create-tui-telemetry-sink.d.ts +5 -1
- package/dist/tui/create-tui-telemetry-sink.d.ts.map +1 -1
- package/dist/tui/create-tui-telemetry-sink.js +4 -2
- package/dist/tui/create-tui-telemetry-sink.js.map +1 -1
- package/docs/config.md +75 -5
- package/docs/settings.md +19 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -25,25 +25,24 @@ conductor:
|
|
|
25
25
|
backend: pi
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
Pi backend
|
|
28
|
+
Pi backend の初回セットアップ、resource root、provider 認証、`ensemble auth` / `ensemble models list`、missing key / 401 からの復旧は [Pi conductor セットアップと認証](https://github.com/otolab/agents-ensemble/blob/main/docs/pi-conductor-setup.md) が正本です。Pi の user root は `~/.ensemble/pi/`、project root は `<repoRoot>/.ensemble/pi/` が既定で、`conductor.pi.agentDir` / `conductor.pi.projectDir` で上書きできます。
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|----|------|
|
|
32
|
-
| ユーザ | `~/.ensemble/pi/` |
|
|
33
|
-
| プロジェクト | `<repoRoot>/.ensemble/pi/` |
|
|
30
|
+
Pi の認証 CLI は backend に分岐します。Cursor は Cursor SDK のログイン、Pi は provider 単位のログインです。TTY の動作、OAuth の stderr 出力、project OAuth の制約、認証優先順、復旧手順は [Pi conductor セットアップと認証](https://github.com/otolab/agents-ensemble/blob/main/docs/pi-conductor-setup.md) を参照してください。
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
Pi は headless の `createAgentSession` を使い、Pi CLI の `<cwd>/.pi/` 設定とは独立しています。resource discovery、`settings.json` の headless 対応範囲、`models.json`、MCP の制約は [config.md](https://github.com/otolab/agents-ensemble/blob/main/docs/config.md) と [ADR 0025](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0025-conductor-agent-backend-sdk-and-pi.md) を参照してください。
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
headless conductor の設定キーと create / reload / resume の適用範囲は [config.md の headless 対応範囲](https://github.com/otolab/agents-ensemble/blob/main/docs/config.md#settingsjson-の-headless-対応範囲) を参照してください。
|
|
38
35
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
MCP は harness が解決した `mcp.json` の map を Pi 1.x の公式 `createMcpExtension({ loadConfig })` へ注入します。Pi の `createAgentSession` は stdio / Streamable HTTP を扱い、SSE はサポートしません。MCP tool 名は `mcp__<server>__<tool>`、resource tools は `list_mcp_resources` / `list_mcp_resource_templates` / `read_mcp_resource` です。HTTP OAuth は公式 extension の対話フロー・credential store が担当します。解決済み設定が無い場合も harness tools と local extension tools は有効です。sidecar には MCP map の digest を保存し、resume 時に変更を検出した場合は fail fast します。Pi `.pi/mcp.json` への同期や core 独自の MCP client はありません。設計上の前提と制限は [ADR 0025](../adr/0025-conductor-agent-backend-sdk-and-pi.md) を参照してください。
|
|
36
|
+
Pi の MCP transport、OAuth、resource tools、resume 時の制約は [ADR 0025](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0025-conductor-agent-backend-sdk-and-pi.md) にまとめています。
|
|
42
37
|
|
|
43
38
|
backend はセッション開始時に選択され、resume の途中では切り替えられません。system prompt の渡し方、認証、resume の差分は [ADR 0025](../adr/0025-conductor-agent-backend-sdk-and-pi.md) にまとまっています。
|
|
44
39
|
|
|
45
40
|
backend を選んだ後の主経路は共通です。リポジトリのディレクトリで、対象 Issue を同じ `ensemble issue <url>` コマンドに渡します。
|
|
46
41
|
|
|
42
|
+
## permission 停滞警告の閾値
|
|
43
|
+
|
|
44
|
+
`ensemble issue` の `--permission-deadlock-stall-ms <n>` で、worker の permission が停滞したときに警告・conductor 通知を出すまでの時間を上書きできます。既定値は **`300_000ms`(300 秒)**です。設定値の解決順と API 名は [設定値リファレンス](https://github.com/otolab/agents-ensemble/blob/main/docs/settings.md) を参照してください。poll 間隔と worker UI の挙動はこのオプションでは変更しません。
|
|
45
|
+
|
|
47
46
|
## 最小クイックスタート
|
|
48
47
|
|
|
49
48
|
初回だけ、worker・選択した conductor backend・GitHub API の認証を準備します。
|
|
@@ -98,6 +97,7 @@ ensemble issue https://github.com/OWNER/REPOSITORY/issues/123 "まずテスト
|
|
|
98
97
|
|
|
99
98
|
| 文書 | 内容 |
|
|
100
99
|
|------|------|
|
|
100
|
+
| [Pi conductor セットアップと認証](https://github.com/otolab/agents-ensemble/blob/main/docs/pi-conductor-setup.md) | Pi backend の resource root、provider 認証、`auth/models` CLI、障害復旧 |
|
|
101
101
|
| [設定値リファレンス](https://github.com/otolab/agents-ensemble/blob/main/docs/settings.md) | CLI / 環境変数 / config / profile / TUI の設定一覧と解決順 |
|
|
102
102
|
| [ensemble 共通設定](https://github.com/otolab/agents-ensemble/blob/main/docs/config.md) | `.ensemble/config.yaml` の書き方・スキーマ・MCP 設定 |
|
|
103
103
|
| [オペレータ入力](https://github.com/otolab/agents-ensemble/blob/main/docs/operator-input.md) | TUI レイアウトと入力の利用者向け挙動 |
|
package/config.example.yaml
CHANGED
|
@@ -17,6 +17,8 @@ conductor:
|
|
|
17
17
|
backend: pi
|
|
18
18
|
# conductor モデル id(CLI --model / CONDUCTOR_MODEL_ID より優先度低)
|
|
19
19
|
model: default
|
|
20
|
+
# harness の詳細 telemetry(CLI --verbose / CONDUCTOR_VERBOSE より優先度低)
|
|
21
|
+
verbose: false
|
|
20
22
|
# Pi backend の resource root(任意。パスだけを上書きする)
|
|
21
23
|
# 相対パスは repoRoot 基準、~ はユーザ home 基準
|
|
22
24
|
pi:
|
|
@@ -39,6 +41,10 @@ conductor:
|
|
|
39
41
|
acp:
|
|
40
42
|
# profile / worker に acp 未指定時の built-in preset
|
|
41
43
|
defaultPreset: cursor
|
|
44
|
+
# codex-acp 等 spawn 時の env(user → project deep merge)。LiteLLM 例は docs/config.md
|
|
45
|
+
# env:
|
|
46
|
+
# MODEL_PROVIDER: litellm
|
|
47
|
+
# CODEX_CONFIG: ~/.codex/litellm.config.toml
|
|
42
48
|
|
|
43
49
|
session:
|
|
44
50
|
# isolated: Issue 専用 worktree(既定) / in-repo: メイン worktree で直接作業
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
import { Command } from 'commander';
|
|
4
|
-
import { listConductorModels, resolveIssueUrl, } from '@agents-ensemble/core';
|
|
4
|
+
import { DEFAULT_PERMISSION_DEADLOCK_STALL_MS, listConductorModels, resolveIssueUrl, } from '@agents-ensemble/core';
|
|
5
5
|
import { readCliPackageVersion } from './cli-version.js';
|
|
6
6
|
import { executeIssueCommand } from './issue-command.js';
|
|
7
7
|
import { formatModelsListJson, formatModelsListText } from './format-models-list.js';
|
|
@@ -27,6 +27,7 @@ program
|
|
|
27
27
|
.option('--continue', 'Resume the latest session for this issue (uses sidecar with newest updatedAt)')
|
|
28
28
|
.option('--profile <name>', 'Team profile name or path (default: config profile.default, ENSEMBLE_DEFAULT_PROFILE env, else bundled implementer-and-reviewer). Name resolves: project .ensemble/teams/ > ~/.ensemble/teams/ > bundled > legacy profiles/')
|
|
29
29
|
.option('--model <id>', 'Conductor model id (default: config conductor.model, else default)')
|
|
30
|
+
.option('--verbose', 'Show detailed harness telemetry (default: config conductor.verbose or false)')
|
|
30
31
|
.option('--max-turns <n>', 'Maximum conductor autonomous turns (0 = unlimited; default: unlimited on TTY or with an initial operator message, 5 otherwise)', (value) => Number.parseInt(value, 10))
|
|
31
32
|
.option('--no-max-turns', 'Disable autonomous turn limit')
|
|
32
33
|
.option('--no-wait', 'Exit immediately when the autonomous loop completes (TTY default: wait for /exit)')
|
|
@@ -36,6 +37,7 @@ program
|
|
|
36
37
|
.option('--default-acp-arg <arg>', 'Additional arg for --default-acp-command (repeatable)', (value, previous) => [...(previous ?? []), value])
|
|
37
38
|
.option('--no-github-monitor', 'Disable GitHub Issue / PR update monitoring')
|
|
38
39
|
.option('--github-monitor-debounce-ms <n>', 'Debounce interval for GitHub update notifications (default: config github.monitor.debounceMs, else 30000)', (value) => Number.parseInt(value, 10))
|
|
40
|
+
.option('--permission-deadlock-stall-ms <n>', `Permission deadlock warning threshold in milliseconds (default: ${DEFAULT_PERMISSION_DEADLOCK_STALL_MS})`, (value) => Number.parseInt(value, 10))
|
|
39
41
|
.option('--summary-format <format>', 'Exit summary format: auto (TTY=text, non-TTY=json), json, or text', 'auto')
|
|
40
42
|
.option('--include-full-response-text', 'Include full worker responseText in JSON exit summary (default: responsePreview only)')
|
|
41
43
|
.action(async (issueRef, messageParts, options) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,8BAA8B,GAE/B,MAAM,6BAA6B,CAAC;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAEpC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CACP,aAAa,EACb,2CAA2C,CAC5C;KACA,QAAQ,CAAC,cAAc,EAAE,gCAAgC,CAAC;KAC1D,MAAM,CACL,oBAAoB,EACpB,kDAAkD,EAClD,OAAO,CAAC,GAAG,EAAE,CACd;KACA,MAAM,CACL,wBAAwB,EACxB,uCAAuC,EACvC,OAAO,CAAC,GAAG,EAAE,CACd;KACA,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACjE,MAAM,CACL,YAAY,EACZ,+EAA+E,CAChF;KACA,MAAM,CACL,kBAAkB,EAClB,6NAA6N,CAC9N;KACA,MAAM,CAAC,cAAc,EAAE,oEAAoE,CAAC;KAC5F,MAAM,CACL,iBAAiB,EACjB,gIAAgI,EAChI,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CACtC;KACA,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;KACzD,MAAM,CACL,WAAW,EACX,mFAAmF,CACpF;KACA,MAAM,CACL,mBAAmB,EACnB,4EAA4E,CAC7E;KACA,MAAM,CACL,4BAA4B,EAC5B,uFAAuF,CACxF;KACA,MAAM,CACL,6BAA6B,EAC7B,0FAA0F,CAC3F;KACA,MAAM,CACL,yBAAyB,EACzB,uDAAuD,EACvD,CAAC,KAAa,EAAE,QAA8B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAChF;KACA,MAAM,CACL,qBAAqB,EACrB,6CAA6C,CAC9C;KACA,MAAM,CACL,kCAAkC,EAClC,2GAA2G,EAC3G,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CACtC;KACA,MAAM,CACL,2BAA2B,EAC3B,mEAAmE,EACnE,MAAM,CACP;KACA,MAAM,CACL,8BAA8B,EAC9B,uFAAuF,CACxF;KACA,MAAM,CACL,KAAK,EACH,QAAgB,EAChB,YAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/issue-command.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface IssueCommandOptions {
|
|
|
7
7
|
continue?: boolean;
|
|
8
8
|
profile?: string;
|
|
9
9
|
model?: string;
|
|
10
|
+
verbose?: boolean;
|
|
10
11
|
maxTurns?: number;
|
|
11
12
|
noMaxTurns?: boolean;
|
|
12
13
|
noWait?: boolean;
|
|
@@ -19,6 +20,8 @@ export interface IssueCommandOptions {
|
|
|
19
20
|
/** commander の `--no-github-monitor` 用。false で監視無効。 */
|
|
20
21
|
githubMonitor?: boolean;
|
|
21
22
|
githubMonitorDebounceMs?: number;
|
|
23
|
+
/** permission 停滞警告の閾値(ms)。未指定時は core の既定値を使う。 */
|
|
24
|
+
permissionDeadlockStallMs?: number;
|
|
22
25
|
}
|
|
23
26
|
export interface IssueCommandDeps {
|
|
24
27
|
isOperatorInputInteractive?: typeof isOperatorInputInteractive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-command.d.ts","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,WAAW,
|
|
1
|
+
{"version":3,"file":"issue-command.d.ts","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,WAAW,EAQX,eAAe,EACf,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAW5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,gFAAgF;AAChF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,UAAU,CAAC,EACzD,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC/C,IAAI,GAAE,IAAI,CAAC,gBAAgB,EAAE,kCAAkC,CAAM,GACpE,OAAO,CAAC,0BAA0B,CAAC,CA2BrC;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,YAAY,CAAC,EAC7D,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,CAOR;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CAqKjC"}
|
package/dist/issue-command.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
|
-
import { findLatestSessionSidecarForIssue, loadEnsembleConfig, loadProfile, resolveConductorModelId, resolveGitHubMonitorDebounceMs, resolveGitHubMonitorEnabled, resolveSessionMaxTurns, resolveSessionPostLoopWait, resolveSessionWorktreeMode, runIssueSession, SessionLogger, } from '@agents-ensemble/core';
|
|
2
|
+
import { findLatestSessionSidecarForIssue, loadEnsembleConfig, loadProfile, resolveConductorModelId, resolveConductorVerboseSetting, resolveGitHubMonitorDebounceMs, resolveGitHubMonitorEnabled, resolveSessionMaxTurns, resolveSessionPostLoopWait, resolveSessionWorktreeMode, runIssueSession, SessionLogger, } from '@agents-ensemble/core';
|
|
3
3
|
import { bindAsyncOperatorInput, notifyOperatorInputReprompt } from './async-operator-input.js';
|
|
4
4
|
import { isOperatorInputInteractive, isOperatorInputTty } from './prompt-operator-input.js';
|
|
5
5
|
import { parseWorktreeMode } from './parse-worktree-mode.js';
|
|
@@ -54,6 +54,10 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
|
|
|
54
54
|
const resolvedInitialOperatorMessage = resolveInitialOperatorMessage(initialOperatorMessage);
|
|
55
55
|
const repoRoot = resolve(options.repoRoot);
|
|
56
56
|
const ensembleConfig = await loadConfig(repoRoot);
|
|
57
|
+
const conductorVerbose = resolveConductorVerboseSetting({
|
|
58
|
+
cliVerbose: options.verbose,
|
|
59
|
+
config: ensembleConfig,
|
|
60
|
+
});
|
|
57
61
|
const workerWorktreeMode = parseWorktreeMode(resolveSessionWorktreeMode({
|
|
58
62
|
cliWorktree: options.worktree,
|
|
59
63
|
config: ensembleConfig,
|
|
@@ -81,6 +85,7 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
|
|
|
81
85
|
? createIssueSessionTuiHost(issueUrl, {
|
|
82
86
|
config: ensembleConfig,
|
|
83
87
|
initialOperatorMessage: initialOperatorMessageForBinding,
|
|
88
|
+
verbose: conductorVerbose,
|
|
84
89
|
})
|
|
85
90
|
: undefined;
|
|
86
91
|
const sessionLogger = new SessionLoggerCtor({ issueUrl, repoRoot });
|
|
@@ -88,7 +93,7 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
|
|
|
88
93
|
sessionLogger.subscribe(tuiHost.telemetrySink);
|
|
89
94
|
}
|
|
90
95
|
else {
|
|
91
|
-
sessionLogger.subscribe(createHarnessSink());
|
|
96
|
+
sessionLogger.subscribe(createHarnessSink({ verbose: conductorVerbose }));
|
|
92
97
|
sessionLogger.subscribe(createObservationSink());
|
|
93
98
|
}
|
|
94
99
|
sessionLogger.subscribe(createSessionDisplaySink({
|
|
@@ -145,6 +150,9 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
|
|
|
145
150
|
sessionLogger,
|
|
146
151
|
...(githubMonitorEnabled ? {} : { disableGitHubMonitor: true }),
|
|
147
152
|
githubMonitorDebounceMs,
|
|
153
|
+
...(options.permissionDeadlockStallMs !== undefined
|
|
154
|
+
? { permissionDeadlockStallMs: options.permissionDeadlockStallMs }
|
|
155
|
+
: {}),
|
|
148
156
|
...(defaultAcp ? { defaultAcp: { ...defaultAcp, config: ensembleConfig } } : { defaultAcp: { config: ensembleConfig } }),
|
|
149
157
|
...(interactive
|
|
150
158
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-command.js","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,WAAW,EACX,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,eAAe,EACf,aAAa,GAGd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"issue-command.js","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { type SessionLogEvent } from '@agents-ensemble/core';
|
|
2
2
|
/** harness sink と TUI 活動ログで共有する行本文(prefix なし)。 */
|
|
3
|
-
export
|
|
3
|
+
export interface HarnessLogBodyOptions {
|
|
4
|
+
/** 既定の境界・障害要約に加えて従来のイベント単位行を表示する。 */
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function formatHarnessLogBody(event: SessionLogEvent, options?: HarnessLogBodyOptions): string | undefined;
|
|
4
8
|
/** observation sink と TUI 活動ログで共有する行本文(prefix なし)。 */
|
|
5
9
|
export declare function formatObservationLogBody(event: SessionLogEvent): string | undefined;
|
|
6
10
|
/** 非 TTY observation sink 向けの stderr 1 行(prefix 付き。auth recovery は hint をそのまま)。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-log-lines.d.ts","sourceRoot":"","sources":["../src/session-log-lines.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AA6C/B,kDAAkD;AAClD,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"session-log-lines.d.ts","sourceRoot":"","sources":["../src/session-log-lines.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AA6C/B,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,qBAA0B,GAClC,MAAM,GAAG,SAAS,CAiHpB;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CA0CnF;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAmCtF;AAUD,iCAAiC;AACjC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAQtF"}
|
|
@@ -24,32 +24,50 @@ function classifyConductorSendError(message, code) {
|
|
|
24
24
|
recovery: 'エラー詳細を確認し、必要ならセッションを再試行してください',
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
export function formatHarnessLogBody(event, options = {}) {
|
|
28
|
+
const verbose = options.verbose === true;
|
|
29
29
|
switch (event.type) {
|
|
30
30
|
case 'harness.worktree':
|
|
31
|
+
if (!verbose)
|
|
32
|
+
return undefined;
|
|
31
33
|
return `worktree path=${event.path} branch=${event.branch} mode=${event.mode}`;
|
|
32
34
|
case 'harness.worktree.removed':
|
|
35
|
+
if (!verbose)
|
|
36
|
+
return undefined;
|
|
33
37
|
return `worktree.removed path=${event.path} branch=${event.branch}`;
|
|
34
38
|
case 'harness.worktree.remove_skipped':
|
|
35
39
|
return `worktree.remove_skipped path=${event.path} branch=${event.branch} reason=${event.reason}`;
|
|
36
40
|
case 'harness.worktree.remove_failed':
|
|
37
41
|
return `worktree.remove_failed path=${event.path} branch=${event.branch} error=${event.error}`;
|
|
38
42
|
case 'harness.worker.prompt.started':
|
|
43
|
+
if (!verbose)
|
|
44
|
+
return undefined;
|
|
39
45
|
return `worker.prompt.started name=${event.name} kind=${event.kind} source=${event.source}`;
|
|
40
46
|
case 'harness.worker.prompt.completed':
|
|
47
|
+
if (!verbose)
|
|
48
|
+
return undefined;
|
|
41
49
|
return `worker.prompt.completed name=${event.name} kind=${event.kind} source=${event.source} stopReason=${event.stopReason}`;
|
|
42
50
|
case 'harness.worker.prompt.failed':
|
|
43
51
|
return `worker.prompt.failed name=${event.name} kind=${event.kind} source=${event.source} error=${event.error}`;
|
|
44
52
|
case 'harness.worker.acp.update':
|
|
45
53
|
return undefined;
|
|
46
54
|
case 'harness.worker.state':
|
|
55
|
+
if (!verbose)
|
|
56
|
+
return undefined;
|
|
47
57
|
return `worker.state name=${event.name} kind=${event.kind} state=${event.state}`;
|
|
48
58
|
case 'harness.session.workers':
|
|
59
|
+
if (!verbose)
|
|
60
|
+
return undefined;
|
|
49
61
|
return `session.workers count=${event.workers.length} names=${event.workers.map((worker) => worker.name).join(',')}`;
|
|
50
62
|
case 'operator.input':
|
|
63
|
+
if (!verbose)
|
|
64
|
+
return undefined;
|
|
51
65
|
return `operator.input turn=${event.conductorTurn} bytes=${event.text.length}`;
|
|
66
|
+
case 'conductor.inbound':
|
|
67
|
+
return `conductor.deliver triggers=${event.triggers} sources=${event.sources.join(',')}`;
|
|
52
68
|
case 'conductor.send.started': {
|
|
69
|
+
if (!verbose)
|
|
70
|
+
return undefined;
|
|
53
71
|
let line = `conductor.send.started n=${event.sendCount}`;
|
|
54
72
|
if (event.dispatchSource) {
|
|
55
73
|
line += ` source=${event.dispatchSource}`;
|
|
@@ -73,6 +91,8 @@ export function formatHarnessLogBody(event) {
|
|
|
73
91
|
return `permission.cleanup reason=${event.reason}${worker} count=${event.entries.length}${ids ? ` ids=${ids}` : ''}`;
|
|
74
92
|
}
|
|
75
93
|
case 'conductor.send': {
|
|
94
|
+
if (event.status !== 'error' && !verbose)
|
|
95
|
+
return undefined;
|
|
76
96
|
let line = `conductor.send n=${event.sendCount} status=${event.status} workerDone=${event.workerDispatches} workerFailed=${event.workerFailures}`;
|
|
77
97
|
if (event.status === 'error') {
|
|
78
98
|
const detail = event.error?.message ?? 'unknown error';
|
|
@@ -84,7 +104,13 @@ export function formatHarnessLogBody(event) {
|
|
|
84
104
|
}
|
|
85
105
|
return line;
|
|
86
106
|
}
|
|
107
|
+
case 'conductor.outbound':
|
|
108
|
+
return `worker.prompt workers=${event.workers.length} mode=${event.mode}${event.workers.length > 0 ? ` names=${event.workers.join(',')}` : ''}`;
|
|
109
|
+
case 'harness.worker.bootstrap':
|
|
110
|
+
return `worker.prompt workers=${event.workers.length} mode=${event.mode}`;
|
|
87
111
|
case 'worker.round':
|
|
112
|
+
if (!verbose)
|
|
113
|
+
return undefined;
|
|
88
114
|
return `worker.round name=${event.dispatch.name} kind=${event.dispatch.kind} source=${event.dispatch.source ?? 'conductor'} stopReason=${event.dispatch.promptResult.stopReason} path=${event.dispatch.worktree.path}`;
|
|
89
115
|
case 'worker.failed':
|
|
90
116
|
return `worker.failed name=${event.failure.name} kind=${event.failure.kind} error=${event.failure.error}`;
|
|
@@ -93,8 +119,12 @@ export function formatHarnessLogBody(event) {
|
|
|
93
119
|
return `worker.stderr${name} ${event.line}`;
|
|
94
120
|
}
|
|
95
121
|
case 'session.stop':
|
|
122
|
+
if (event.stopReason === 'completed' && !verbose)
|
|
123
|
+
return undefined;
|
|
96
124
|
return `session.stop reason=${event.stopReason}`;
|
|
97
125
|
case 'harness.github.update':
|
|
126
|
+
if (!verbose)
|
|
127
|
+
return undefined;
|
|
98
128
|
return `github.update items=${event.itemCount}`;
|
|
99
129
|
case 'harness.github.monitor_error':
|
|
100
130
|
return `github.monitor_error ${event.message}`;
|
|
@@ -110,6 +140,8 @@ export function formatHarnessLogBody(event) {
|
|
|
110
140
|
return `teardown force=${event.force} total=${event.durationMs}ms${phases ? ` ${phases}` : ''}`;
|
|
111
141
|
}
|
|
112
142
|
case 'harness.teardown.phase':
|
|
143
|
+
if (!verbose)
|
|
144
|
+
return undefined;
|
|
113
145
|
return `teardown.phase ${event.phase}`;
|
|
114
146
|
default:
|
|
115
147
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-log-lines.js","sourceRoot":"","sources":["../src/session-log-lines.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAO/B,SAAS,0BAA0B,CACjC,OAAe,EACf,IAAa;IAEb,MAAM,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;IAE1C,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EACN,0CAA0C;SAC7C,CAAC;IACJ,CAAC;IAED,IACE,oHAAoH,CAAC,IAAI,CACvH,MAAM,CACP,EACD,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,sBAAsB;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,0BAA0B;SACrC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"session-log-lines.js","sourceRoot":"","sources":["../src/session-log-lines.ts"],"names":[],"mappings":"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"}
|
package/dist/session-sinks.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import type { SessionLogSink } from '@agents-ensemble/core';
|
|
|
2
2
|
export interface HarnessSinkOptions {
|
|
3
3
|
/** デフォルト: `console.error` */
|
|
4
4
|
writeStderr?: (message: string) => void;
|
|
5
|
+
/** 既定の要約に加えて従来のイベント単位行を表示する。 */
|
|
6
|
+
verbose?: boolean;
|
|
5
7
|
}
|
|
6
8
|
/** harness テレメトリ(開発者向け)。stderr に統一 prefix で出す。 */
|
|
7
9
|
export declare function createHarnessSink(options?: HarnessSinkOptions): SessionLogSink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-sinks.d.ts","sourceRoot":"","sources":["../src/session-sinks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-sinks.d.ts","sourceRoot":"","sources":["../src/session-sinks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAWlF;AAED,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,cAAc,CAyCpF;AAED,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,wEAAwE;AACxE,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,sBAA2B,GACnC,cAAc,CAShB"}
|
package/dist/session-sinks.js
CHANGED
|
@@ -5,7 +5,9 @@ import { renderInlineMarkdownToAnsi } from './inline-markdown.js';
|
|
|
5
5
|
export function createHarnessSink(options = {}) {
|
|
6
6
|
const writeStderr = options.writeStderr ?? ((message) => console.error(message));
|
|
7
7
|
return (event) => {
|
|
8
|
-
const body = formatHarnessLogBody(event
|
|
8
|
+
const body = formatHarnessLogBody(event, {
|
|
9
|
+
verbose: options.verbose,
|
|
10
|
+
});
|
|
9
11
|
if (body) {
|
|
10
12
|
writeStderr(renderInlineMarkdownToAnsi(`[harness] ${body}`));
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-sinks.js","sourceRoot":"","sources":["../src/session-sinks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"session-sinks.js","sourceRoot":"","sources":["../src/session-sinks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AASlE,kDAAkD;AAClD,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE;YACvC,OAAO,EAAE,OAAO,CAAC,OAAO;SACO,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,WAAW,CAAC,0BAA0B,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAOD,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAAC,UAA+B,EAAE;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1E,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,gBAAgB;gBACnB,WAAW,CAAC,eAAe,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;oBACxD,WAAW,CACT,gBAAgB,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CACpE,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,kBAAkB,CAAC;YACxB,KAAK,0BAA0B,CAAC;YAChC,KAAK,iCAAiC,CAAC;YACvC,KAAK,gCAAgC,CAAC;YACtC,KAAK,+BAA+B,CAAC;YACrC,KAAK,iCAAiC,CAAC;YACvC,KAAK,8BAA8B,CAAC;YACpC,KAAK,sBAAsB,CAAC;YAC5B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,cAAc,CAAC;YACpB,KAAK,eAAe,CAAC;YACrB,KAAK,uBAAuB,CAAC;YAC7B,KAAK,cAAc,CAAC;YACpB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,kBAAkB,CAAC;YACxB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,oBAAoB,CAAC;YAC1B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,0BAA0B,CAAC;YAChC,KAAK,+BAA+B;gBAClC,MAAM;QACV,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAOD,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CACnC,UAAkC,EAAE;IAEpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE,CAAC;YACT,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-issue-session-tui-host.d.ts","sourceRoot":"","sources":["../../src/tui/create-issue-session-tui-host.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EAGpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAgBnF,MAAM,WAAW,gCAAgC;IAC/C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"create-issue-session-tui-host.d.ts","sourceRoot":"","sources":["../../src/tui/create-issue-session-tui-host.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EAGpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAgBnF,MAAM,WAAW,gCAAgC;IAC/C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,qBAAqB,CAAC;IACtC,aAAa,EAAE,cAAc,CAAC;IAC9B,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAkED,2DAA2D;AAC3D,wBAAgB,yBAAyB,CACvC,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,gCAAqC,GAC7C,mBAAmB,CAyGrB"}
|
|
@@ -115,7 +115,9 @@ export function createIssueSessionTuiHost(issueUrl, options = {}) {
|
|
|
115
115
|
inkRef.current = ink;
|
|
116
116
|
const inkDisplayBackend = createInkDisplayBackend(viewModel);
|
|
117
117
|
const bindOperatorInput = createBindTuiOperatorInput(viewModel, onSubmitRef, apiRef, options.initialOperatorMessage);
|
|
118
|
-
const telemetrySink = createTuiTelemetrySink(viewModel
|
|
118
|
+
const telemetrySink = createTuiTelemetrySink(viewModel, {
|
|
119
|
+
verbose: options.verbose,
|
|
120
|
+
});
|
|
119
121
|
return {
|
|
120
122
|
displayBackend: {
|
|
121
123
|
render(state, previousState, event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-issue-session-tui-host.js","sourceRoot":"","sources":["../../src/tui/create-issue-session-tui-host.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAU7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-issue-session-tui-host.js","sourceRoot":"","sources":["../../src/tui/create-issue-session-tui-host.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { SessionLogSink } from '@agents-ensemble/core';
|
|
2
2
|
import type { TuiViewModel } from './tui-view-model.js';
|
|
3
|
+
export interface TuiTelemetrySinkOptions {
|
|
4
|
+
/** 既定の要約に加えて従来のイベント単位行を活動ログへ表示する。 */
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
}
|
|
3
7
|
/** TTY Ink 時: harness / observation を stderr ではなく活動ログへ送る sink。 */
|
|
4
|
-
export declare function createTuiTelemetrySink(viewModel: TuiViewModel): SessionLogSink;
|
|
8
|
+
export declare function createTuiTelemetrySink(viewModel: TuiViewModel, options?: TuiTelemetrySinkOptions): SessionLogSink;
|
|
5
9
|
//# sourceMappingURL=create-tui-telemetry-sink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-tui-telemetry-sink.d.ts","sourceRoot":"","sources":["../../src/tui/create-tui-telemetry-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,kEAAkE;AAClE,wBAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"create-tui-telemetry-sink.d.ts","sourceRoot":"","sources":["../../src/tui/create-tui-telemetry-sink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,YAAY,EACvB,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAsBhB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { formatHarnessLogBody, formatObservationLogBody, } from '../session-log-lines.js';
|
|
2
2
|
/** TTY Ink 時: harness / observation を stderr ではなく活動ログへ送る sink。 */
|
|
3
|
-
export function createTuiTelemetrySink(viewModel) {
|
|
3
|
+
export function createTuiTelemetrySink(viewModel, options = {}) {
|
|
4
4
|
return (event) => {
|
|
5
|
-
const harnessBody = formatHarnessLogBody(event
|
|
5
|
+
const harnessBody = formatHarnessLogBody(event, {
|
|
6
|
+
verbose: options.verbose,
|
|
7
|
+
});
|
|
6
8
|
if (harnessBody) {
|
|
7
9
|
viewModel.appendActivityLog('harness', harnessBody);
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-tui-telemetry-sink.js","sourceRoot":"","sources":["../../src/tui/create-tui-telemetry-sink.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-tui-telemetry-sink.js","sourceRoot":"","sources":["../../src/tui/create-tui-telemetry-sink.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAQjC,kEAAkE;AAClE,MAAM,UAAU,sBAAsB,CACpC,SAAuB,EACvB,UAAmC,EAAE;IAErC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE;YAC9C,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC5C,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC3C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,eAAe,EAAE,CAAC;YACpB,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/docs/config.md
CHANGED
|
@@ -52,13 +52,17 @@ profile:
|
|
|
52
52
|
conductor:
|
|
53
53
|
backend: pi # cursor(既定) | pi
|
|
54
54
|
model: default # CONDUCTOR_MODEL_ID 相当
|
|
55
|
+
verbose: false # CONDUCTOR_VERBOSE / --verbose 相当
|
|
55
56
|
pi:
|
|
56
57
|
# 任意。省略時は ~/.ensemble/pi と <repoRoot>/.ensemble/pi
|
|
57
58
|
agentDir: ~/.ensemble/pi
|
|
58
59
|
projectDir: .ensemble/pi
|
|
59
60
|
|
|
60
61
|
acp:
|
|
61
|
-
defaultPreset:
|
|
62
|
+
defaultPreset: codex # ENSEMBLE_DEFAULT_ACP_CLI 相当
|
|
63
|
+
env: # codex-acp 子プロセス spawn に渡す env(user → project deep merge)
|
|
64
|
+
MODEL_PROVIDER: litellm # 例: LiteLLM ゲートウェイ
|
|
65
|
+
CODEX_CONFIG: ~/.codex/litellm.config.toml
|
|
62
66
|
|
|
63
67
|
session:
|
|
64
68
|
worktree: isolated # --worktree 既定(isolated | in-repo)
|
|
@@ -89,10 +93,12 @@ tui:
|
|
|
89
93
|
|------|------|-----------|-----------|
|
|
90
94
|
| `profile.default` | 既定 team profile(名前またはパス) | `--profile` | `ENSEMBLE_DEFAULT_PROFILE` |
|
|
91
95
|
| `conductor.model` | conductor モデル id | `--model` | `CONDUCTOR_MODEL_ID` |
|
|
96
|
+
| `conductor.verbose` | harness 詳細 telemetry の表示 | `--verbose` | `CONDUCTOR_VERBOSE` |
|
|
92
97
|
| `conductor.backend` | conductor LLM backend(`cursor` / `pi`) | — | — |
|
|
93
98
|
| `conductor.pi.agentDir` | Pi user resource root のパス上書き | — | — |
|
|
94
99
|
| `conductor.pi.projectDir` | Pi project resource root のパス上書き | — | — |
|
|
95
100
|
| `acp.defaultPreset` | worker ACP built-in preset | `--default-acp-cli` 等 | `ENSEMBLE_DEFAULT_ACP_CLI` |
|
|
101
|
+
| `acp.env` | codex-acp 等 spawn 時の env(string map) | — | — |
|
|
96
102
|
| `session.worktree` | worker workspace モード | `--worktree` | — |
|
|
97
103
|
| `session.maxTurns.tty` / `nonTty` | 自律ターン上限 | `--max-turns` / `--no-max-turns` | — |
|
|
98
104
|
| `session.postLoop.wait` | post-loop 待機(TTY) | `--no-wait` | — |
|
|
@@ -103,7 +109,58 @@ tui:
|
|
|
103
109
|
| `github.monitor.debounceMs` | 更新 debounce | `--github-monitor-debounce-ms` | — |
|
|
104
110
|
| `github.monitor.pollIntervalMs` 他 | poll 間隔(コード内既定のみ) | — | — |
|
|
105
111
|
|
|
106
|
-
|
|
112
|
+
### ACP spawn env(`acp.env`)
|
|
113
|
+
|
|
114
|
+
`acp.env` は codex-acp 等の子プロセス spawn 時に渡す環境変数の正本です。**team profile に ACP 設定はない**(`acp` / `workers[].acp` を YAML に書くと load 時エラー)。
|
|
115
|
+
|
|
116
|
+
#### 設定レイヤーの用語(混同防止)
|
|
117
|
+
|
|
118
|
+
| レイヤー | 正本 | 扱うもの |
|
|
119
|
+
|----------|------|----------|
|
|
120
|
+
| **team profile** | `profile.yaml` / `--profile` | conductor と workers(kind・workspace・Skill 素材など)。**ACP はこのレイヤーに属さない** |
|
|
121
|
+
| **ensemble config** | `.ensemble/config.yaml` | ACP(preset・`env`)、session・GitHub・conductor model 等 |
|
|
122
|
+
| **Codex profile** | `~/.codex/config.toml` + `codex --profile <name>` | Codex CLI の世界の profile(ensemble team profile とは無関係) |
|
|
123
|
+
|
|
124
|
+
#### env のマージ順(後勝ち)
|
|
125
|
+
|
|
126
|
+
spawn 解決時、子プロセスへ渡す env は次の順でマージされます。
|
|
127
|
+
|
|
128
|
+
1. **builtin preset 既定** — 例: codex の `INITIAL_AGENT_MODE: agent`
|
|
129
|
+
2. **config `acp.env`** — user → project の deep merge 済み
|
|
130
|
+
|
|
131
|
+
`acp.env` の user → project merge は他キーと同様に deep merge(project が user を上書き)。CLI / 環境変数による個別キーの上書きは Phase 1 では未提供。spawn 時は `process.env` を基底に `spawn.env` が上書きする([ADR 0028](adr/0028-authentication-delegation-and-ensemble-auth.md))。
|
|
132
|
+
|
|
133
|
+
#### LiteLLM(OpenAI 互換ゲートウェイ)向け config 例
|
|
134
|
+
|
|
135
|
+
**team profile ではなく ensemble config に書く。** 秘密情報はプレースホルダに置き換える。
|
|
136
|
+
|
|
137
|
+
```yaml
|
|
138
|
+
# ~/.ensemble/config.yaml または <repo>/.ensemble/config.yaml
|
|
139
|
+
acp:
|
|
140
|
+
defaultPreset: codex
|
|
141
|
+
env:
|
|
142
|
+
MODEL_PROVIDER: litellm
|
|
143
|
+
CODEX_CONFIG: ~/.codex/litellm.config.toml
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
`litellm.config.toml` は Codex の [Profiles](https://developers.openai.com/codex/config-advanced) と同様に `~/.codex/` 配下に置く。`CODEX_CONFIG` でそのパスを codex-acp に指示する。
|
|
147
|
+
|
|
148
|
+
#### CLI `codex --profile litellm` と ensemble worker の対応
|
|
149
|
+
|
|
150
|
+
| 手段 | profile レイヤー | config `acp.env` | 備考 |
|
|
151
|
+
|------|------------------|------------------|------|
|
|
152
|
+
| `codex --profile litellm`(CLI 直接) | Codex profile `litellm` | — | `~/.codex/config.toml` の `[profiles.litellm]` を読む |
|
|
153
|
+
| `ensemble issue` + 上記 config 例 | — | `MODEL_PROVIDER` / `CODEX_CONFIG` | codex-acp → `codex app-server`(**`--profile` 非対応**)。env で config ファイルを指定 |
|
|
154
|
+
|
|
155
|
+
`CODEX_CONFIG_PROFILE`(Codex 側 profile 名の env 指定)は [openai/codex#38104](https://github.com/openai/codex/issues/38104) で未実装。将来実装されたら `acp.env` に載せる想定。
|
|
156
|
+
|
|
157
|
+
#### `litellm.config.toml` を `~/.codex/config.toml` に統合する代替
|
|
158
|
+
|
|
159
|
+
`litellm` を Codex profile として `[profiles.litellm]` に書き、`codex --profile litellm` で使う方法もある。統合すると CLI と ensemble の設定が 1 ファイルにまとまるが、**ensemble worker は現状 `app-server` 経路で `--profile` を受け取れない**ため、CLI だけ統合しても worker 側は `CODEX_CONFIG` 等の env 指示が別途必要。profile 分割のまま `CODEX_CONFIG` でファイルを指す方が、CLI / ensemble の設定境界が明確になる。
|
|
160
|
+
|
|
161
|
+
#### resume と `acp.env` 変更
|
|
162
|
+
|
|
163
|
+
worker ACP spawn のフィンガープリント([ADR 0011](adr/0011-session-sidecar-resume.md))に `env` を含める。`acp.env` を変更して resume すると **spawn mismatch エラー**になる。env を変えたあと続けるには新規セッションを開始する。
|
|
107
164
|
|
|
108
165
|
### Pi resource root
|
|
109
166
|
|
|
@@ -119,11 +176,11 @@ profile / worker に `acp` がある worker は `--default-acp-*` / config `acp.
|
|
|
119
176
|
- `settings.json` / `auth.json`: user → project の deep merge。credential は provider 単位で project entry を優先します。
|
|
120
177
|
- `models.json`: Pi 標準の `providers` / `models` / built-in `modelOverrides` / request headers を model 解決へ反映します。
|
|
121
178
|
- `extensions/`: ExtensionAPI の tool を読み込み、fixed harness tools と local extension tools を conductor の custom tools として追加します。同名の harness tool は上書きしません。MCP は下記の Pi 公式 extension が担当します。
|
|
122
|
-
- `skills/`:
|
|
179
|
+
- `skills/`: Pi 標準の skill discovery(`DefaultResourceLoader`)で索引します。system prompt には name / description / location のカタログを載せ、本文は `read` または `/skill:<name>` で読みます。`settings.json` の `skills` 配列で `.claude/skills` 等の追加パスを指定できます。profile の `conductor.piSkills`(省略時は有効)で無効化できます。
|
|
123
180
|
- `prompts/`: Markdown template を読み込み、`/name args` の user prompt を Pi 標準の引数置換で展開します。
|
|
124
181
|
- `themes/`: Pi 標準 JSON として読み込み、project 同名を優先します。conductor は headless `AgentSession` のため TUI renderer がなく、theme の色・表示設定はモデル入出力には適用しません。
|
|
125
182
|
|
|
126
|
-
Pi
|
|
183
|
+
Pi の初回セットアップ、provider 認証、認証優先順、TTY / stderr の login、project OAuth の制約、`ensemble models list`、missing key / 401 の復旧は [Pi conductor セットアップと認証](pi-conductor-setup.md)を正本とします。この config reference では、headless conductor が `settings.json` の `apiKey` / `apiKeys` を認証 fallback として使い、`models.json` の provider `apiKey` と `!command` も Pi resource として解決することだけを定義します。`!command` は conductor process の shell と OS 権限で実行されるため、信頼できる設定でのみ使用してください。Pi の MCP HTTP OAuth は provider OAuth とは別に、公式 MCP extension が管理します。
|
|
127
184
|
|
|
128
185
|
#### `settings.json` の headless 対応範囲
|
|
129
186
|
|
|
@@ -183,7 +240,9 @@ conductor の system prompt の基底は modular-prompt のコンパイル結果
|
|
|
183
240
|
|
|
184
241
|
`allowGhAuthTokenFallback: false` のときは **`gh auth token` を呼ばない**。CI 等では `GH_TOKEN` / `GITHUB_TOKEN` を明示設定すること。
|
|
185
242
|
|
|
186
|
-
##
|
|
243
|
+
## 移行
|
|
244
|
+
|
|
245
|
+
### env / コード default → config
|
|
187
246
|
|
|
188
247
|
| 従来(env / コード default) | config キー | 備考 |
|
|
189
248
|
|------------------------------|-------------|------|
|
|
@@ -199,6 +258,16 @@ conductor の system prompt の基底は modular-prompt のコンパイル結果
|
|
|
199
258
|
|
|
200
259
|
**config 未作成時**は従来どおり env とコード default のみが効く(後方互換)。
|
|
201
260
|
|
|
261
|
+
### team profile `acp` の削除
|
|
262
|
+
|
|
263
|
+
team profile の `acp` / `workers[].acp` は **削除済み**。YAML に残すと profile load 時にエラーになる。
|
|
264
|
+
|
|
265
|
+
1. `acp.defaultPreset` → `.ensemble/config.yaml` の `acp.defaultPreset`
|
|
266
|
+
2. `acp.env` / `workers[].acp.env` → `acp.env`(user / project の適切な層へ)
|
|
267
|
+
3. profile 側の `acp` ブロックを削除
|
|
268
|
+
|
|
269
|
+
worker 単位の ACP 切り替えは将来の config 側設計とし、現状は横断 `defaultPreset` + `env` を正本とする。
|
|
270
|
+
|
|
202
271
|
## Conductor MCP 設定(mcp.json)
|
|
203
272
|
|
|
204
273
|
MCP 設定は次の 2 層から読み込み、`mcpServers` のサーバー名単位でマージする。
|
|
@@ -245,6 +314,7 @@ YAML に未知のキーがあっても **無視する**(警告なし)。将
|
|
|
245
314
|
|
|
246
315
|
## 関連
|
|
247
316
|
|
|
317
|
+
- [pi-conductor-setup.md](pi-conductor-setup.md) — Pi conductor の初回セットアップ・認証・復旧(利用者向け正本)
|
|
248
318
|
- [settings.md](settings.md) — 全設定層の一覧・解決パターン(本書は config.yaml 詳細)
|
|
249
319
|
- [ADR 0020](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0020-ensemble-config-setting-resolution.md) — 解決順の設計判断
|
|
250
320
|
- [ADR 0018](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0018-team-profile-four-layer-resolution.md) — `.ensemble/` 配下の規約(team-profile)
|
package/docs/settings.md
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
| **環境変数** | シェル / CI | 一時上書き・秘密情報・自動化注入 |
|
|
11
11
|
| **project config** | `<repoRoot>/.ensemble/config.yaml` | リポジトリ単位の既定 |
|
|
12
12
|
| **user config** | `~/.ensemble/config.yaml` | マシン全体の既定 |
|
|
13
|
-
| **team profile** | `profile.yaml`([elements.md](
|
|
13
|
+
| **team profile** | `profile.yaml`([elements.md](elements.md)) | worker 構成・workspace(**ACP は含まない → [config.md](config.md)**) |
|
|
14
|
+
| **Codex profile** | `~/.codex/config.toml` + `codex --profile` | Codex CLI の profile(ensemble team profile とは無関係) |
|
|
14
15
|
| **MCP** | `.agents/mcp.json` / `~/.ensemble/mcp.json` | conductor 向け MCP([config.md § MCP](config.md#conductor-mcp-設定mcpjson)) |
|
|
15
16
|
| **コード default** | `packages/core/src/config/defaults.ts` 等 | config 未作成時のフォールバック |
|
|
16
17
|
|
|
@@ -28,7 +29,7 @@ CLI > 環境変数 > project config > user config > コード default
|
|
|
28
29
|
|
|
29
30
|
`profile.default` / `conductor.model` / `acp.defaultPreset` など。設計判断は [ADR 0020](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0020-ensemble-config-setting-resolution.md)。
|
|
30
31
|
|
|
31
|
-
`conductor.backend` は、選択した profile の `conductor.backend` を project/user の deep merge 済み config より優先し、どちらも未指定なら `cursor` を使います。`profile.conductor.builtinTools` は profile だけで制御し、省略・未指定は有効、`false` のみ built-in coding tools を無効にします。`config.yaml` や `settings.json.defaultTools` ではこの制御を行いません。`cursor` は Cursor SDK 経路、`pi` は Pi 1.x `createAgentSession` 経路を選びます。Pi は compiled conductor instructions を native system prompt に載せ、`~/.ensemble/pi` と `<repoRoot>/.ensemble/pi` の `settings.json` / `auth.json` / `models.json` / `extensions/` / `skills/` / `prompts/` / `themes/` を解決します。skills は system prompt
|
|
32
|
+
`conductor.backend` は、選択した profile の `conductor.backend` を project/user の deep merge 済み config より優先し、どちらも未指定なら `cursor` を使います。`profile.conductor.builtinTools` は profile だけで制御し、省略・未指定は有効、`false` のみ built-in coding tools を無効にします。`profile.conductor.piSkills` は Pi backend のみで、Pi 標準の skill discovery を制御し、省略・未指定は有効、`false` で skill 索引を止めます。`config.yaml` や `settings.json.defaultTools` ではこの制御を行いません。`cursor` は Cursor SDK 経路、`pi` は Pi 1.x `createAgentSession` 経路を選びます。Pi は compiled conductor instructions を native system prompt に載せ、`~/.ensemble/pi` と `<repoRoot>/.ensemble/pi` の `settings.json` / `auth.json` / `models.json` / `extensions/` / `skills/` / `prompts/` / `themes/` を解決します。skills は Pi の `DefaultResourceLoader` で索引し、カタログを system prompt に載せて本文は `read` / `/skill:` で読みます。prompts は `/name args` で展開します。themes は headless conductor のため読み込み・project 同名解決のみ行い、TUI 表示には使いません。root は `conductor.pi.agentDir` / `conductor.pi.projectDir` で上書きできます。`.ensemble/pi/SYSTEM.md` / `APPEND_SYSTEM.md` は無視します。`ensemble auth login|logout|status` は backend に分岐し、Pi では provider 単位に `ModelRuntime` を使います。API key は TTY の secret prompt から user 層へ保存し、OAuth は Pi の OAuth flow を stderr 対話で実行します(SSH でも URL / device code を利用できます)。MCP HTTP OAuth は Pi 公式 MCP extension が別の credential store で扱います。resume では sidecar に保存した backend と起動時の解決結果が一致しない場合、次のエラーで conductor を起動せず失敗します。
|
|
32
33
|
|
|
33
34
|
```text
|
|
34
35
|
Session sidecar conductorBackend mismatch: pi !== cursor
|
|
@@ -44,26 +45,34 @@ CLI > project config > user config > コード default
|
|
|
44
45
|
|
|
45
46
|
`session.worktree` / `session.maxTurns.*` / `session.postLoop.wait` / `github.monitor.*` など。
|
|
46
47
|
|
|
47
|
-
### パターン C —
|
|
48
|
+
### パターン C — ACP preset 解決
|
|
48
49
|
|
|
49
|
-
worker spawn 時の ACP 解決([ADR 0019](
|
|
50
|
+
worker spawn 時の ACP preset 解決([ADR 0019](adr/0019-worker-acp-cli-presets.md)):
|
|
50
51
|
|
|
51
52
|
```
|
|
52
|
-
|
|
53
|
+
CLI --default-acp-* > ENSEMBLE_DEFAULT_ACP_CLI > config acp.defaultPreset > cursor
|
|
53
54
|
```
|
|
54
55
|
|
|
56
|
+
`acp.env` の正本は config(user → project deep merge)。spawn env のマージ順: builtin preset 既定 → config `acp.env`。詳細は [config.md § ACP spawn env](config.md#acp-spawn-envacpenv)。
|
|
57
|
+
|
|
55
58
|
### パターン D — 実行時入力(env / CLI)
|
|
56
59
|
|
|
57
60
|
config キーなし。CI・スクリプト・端末検出、または 1 回限りのオペレータ入力向け。
|
|
58
61
|
|
|
62
|
+
| 設定 | 環境変数 | config | CLI / API | コード default | 解決 |
|
|
63
|
+
|------|----------|--------|-----------|----------------|------|
|
|
64
|
+
| permission 停滞警告閾値 | — | — | `--permission-deadlock-stall-ms` / `RunConductorSessionOptions.permissionDeadlockStallMs` | `300_000ms`(300s) | 明示指定 > core default |
|
|
65
|
+
|
|
66
|
+
`permissionDeadlockPollMs` は `5_000ms`(5s)のままで、この実行時設定の対象外です。
|
|
67
|
+
|
|
59
68
|
### パターン E — 認証(config は可否のみ)
|
|
60
69
|
|
|
61
70
|
| 種別 | 解決順 |
|
|
62
71
|
|------|--------|
|
|
63
72
|
| GitHub API | `GITHUB_TOKEN` > `GH_TOKEN` > (`allowGhAuthTokenFallback: true` 時のみ)`gh auth token` |
|
|
64
73
|
| conductor (cursor) | `CURSOR_API_KEY` > `~/.cursor/sdk/auth.json`(`ensemble auth login`) |
|
|
65
|
-
| conductor (pi) | project `auth.json` の読取優先 > user `ModelRuntime`(`~/.ensemble/pi/auth.json`、`conductor.pi.agentDir` で上書き) > `settings.json` fallback > provider 環境変数。`ensemble auth` は user 層へ provider
|
|
66
|
-
| worker ACP(preset 依存) |
|
|
74
|
+
| conductor (pi) | [Pi conductor セットアップと認証](pi-conductor-setup.md)のとおり、project `auth.json` の読取優先 > user `ModelRuntime`(`~/.ensemble/pi/auth.json`、`conductor.pi.agentDir` で上書き) > `settings.json` fallback / `models.json` provider key > provider 環境変数。`ensemble auth` は user 層へ provider 単位で保存し、project OAuth は refresh しない |
|
|
75
|
+
| worker ACP(preset 依存) | **既定は移譲**(harness は ACP `authenticate` を skip)。認証の正本は各 adapter の runtime 設定(Codex: `~/.codex` 等)— [ADR 0028](adr/0028-authentication-delegation-and-ensemble-auth.md) / [ADR 0019](adr/0019-worker-acp-cli-presets.md) |
|
|
67
76
|
|
|
68
77
|
## 一覧 — Phase 1(config.yaml)
|
|
69
78
|
|
|
@@ -71,10 +80,12 @@ config キーなし。CI・スクリプト・端末検出、または 1 回限
|
|
|
71
80
|
|------|-------------|----------|-----|----------------|------|
|
|
72
81
|
| 既定 team profile | `profile.default` | `ENSEMBLE_DEFAULT_PROFILE` | `--profile` | 同梱 `implementer-and-reviewer` | A |
|
|
73
82
|
| conductor モデル | `conductor.model` | `CONDUCTOR_MODEL_ID` | `--model` | `default` | A |
|
|
83
|
+
| conductor 詳細 telemetry | `conductor.verbose` | `CONDUCTOR_VERBOSE` | `--verbose` | `false` | A |
|
|
74
84
|
| conductor backend | `conductor.backend` | — | — | `cursor` | profile > config > default |
|
|
75
85
|
| Pi user resource root | `conductor.pi.agentDir` | — | — | `~/.ensemble/pi` | config |
|
|
76
86
|
| Pi project resource root | `conductor.pi.projectDir` | — | — | `<repoRoot>/.ensemble/pi` | config |
|
|
77
87
|
| worker ACP preset(profile 未指定 worker) | `acp.defaultPreset` | `ENSEMBLE_DEFAULT_ACP_CLI` | `--default-acp-cli` 等 | `cursor` | C |
|
|
88
|
+
| worker ACP spawn env | `acp.env` | — | — | — | config deep merge |
|
|
78
89
|
| Issue worktree | `session.worktree` | — | `--worktree` | `isolated` | B |
|
|
79
90
|
| 自律ターン上限(TTY) | `session.maxTurns.tty` | — | `--max-turns` / `--no-max-turns` | `0`(無制限) | B |
|
|
80
91
|
| 自律ターン上限(非 TTY) | `session.maxTurns.nonTty` | — | `--max-turns` / `--no-max-turns` | `5` | B |
|
|
@@ -168,6 +179,7 @@ TUI 設定は `loadEnsembleConfig` 結果を `createIssueSessionTuiHost` へ渡
|
|
|
168
179
|
|
|
169
180
|
## 関連
|
|
170
181
|
|
|
182
|
+
- [pi-conductor-setup.md](pi-conductor-setup.md) — Pi conductor の初回セットアップ・認証・復旧(利用者向け正本)
|
|
171
183
|
- [config.md](config.md) — `config.yaml` スキーマ・MCP・移行表
|
|
172
184
|
- [CLI README](https://github.com/otolab/agents-ensemble/blob/main/docs/cli/README.md) — CLI のインストール・最小クイックスタート
|
|
173
185
|
- [operator-input.md](https://github.com/otolab/agents-ensemble/blob/main/docs/operator-input.md) — TUI レイアウト・Issue リンク
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agents-ensemble/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "ensemble CLI — Issue-based agent orchestration",
|
|
6
6
|
"bin": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"react": "19.2.0",
|
|
18
18
|
"react-ink-textarea": "npm:@otolab/react-ink-textarea@0.4.1-otolab.3",
|
|
19
19
|
"string-width": "8.1.0",
|
|
20
|
-
"@agents-ensemble/core": "0.
|
|
20
|
+
"@agents-ensemble/core": "0.10.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/js-yaml": "4.0.9",
|