@agents-ensemble/cli 0.7.0 → 0.9.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 CHANGED
@@ -25,18 +25,20 @@ conductor:
25
25
  backend: pi
26
26
  ```
27
27
 
28
- Pi backend は Pi の設定ファイルを読みます。モデル設定と認証情報は、次のいずれかの `settings.json` / `auth.json` に用意してください(プロジェクト設定がユーザ設定を上書きします)。
28
+ Pi backend は Pi の設定ファイルを読みます。モデル設定は次のいずれかの resource root に置き、認証は `ensemble auth` または Pi の環境変数・設定ファイルから provider 単位で解決します(プロジェクト設定がユーザ設定を上書きします)。
29
29
 
30
30
  | 層 | パス |
31
31
  |----|------|
32
32
  | ユーザ | `~/.ensemble/pi/` |
33
33
  | プロジェクト | `<repoRoot>/.ensemble/pi/` |
34
34
 
35
- Pi backend では `ensemble auth login` は認証を設定しません。このコマンドは Cursor SDK 向けです。Pi の provider 認証は Pi の `auth.json` / `settings.json`(および Pi が提供する設定方法)を使います。`~/.ensemble/pi/` と `<repoRoot>/.ensemble/pi/` の `settings.json` / `auth.json` / `models.json` / `extensions/` / `skills/` / `prompts/` / `themes/` を解決し、`conductor.pi.agentDir` / `conductor.pi.projectDir` で root のみ上書きできます。skills は compiled system prompt に追加され、prompts は `/name args` として展開されます。themes は headless conductor で読み込み・project 同名解決まで行いますが、TUI renderer がないため色・表示設定は適用しません。`.ensemble/pi/SYSTEM.md` / `APPEND_SYSTEM.md` は conductor の system prompt には使わず、modular-prompt のコンパイル結果を優先します。
35
+ `ensemble auth login` は設定済みの conductor backend に分岐します。Cursor は Cursor SDK のブラウザログイン、Pi は **provider 単位のログイン**です。Pi では `--provider <id>` を指定でき、省略時は Pi `settings.json` の `defaultProvider`(または選択モデル)から決まります。API-key provider は TTY の secret prompt から `~/.ensemble/pi/auth.json`(または `conductor.pi.agentDir` の `auth.json`)へ保存し、OAuth provider は Pi 1.x の `ModelRuntime.login` を使って URL・device code を stderr に表示します。`ensemble auth logout` は選択 provider の user 層 credential を削除し、`ensemble auth status` は秘密値を表示せず状態・保存先を示します。プロジェクト層の `<repoRoot>/.ensemble/pi/auth.json` は既存の project-over-user 読取優先を保ち、login が書き換えることはありません。project 層の明示的な OAuth credential は refresh できないため実行時には使わず、`ensemble auth login --provider <id>` で user 層へ保存する必要があります。MCP HTTP OAuth は Pi 公式 MCP extension が別に管理します。`ensemble models list` は認証済み Pi model のみを表示します。
36
+
37
+ Pi の resource root は `~/.ensemble/pi/` と `<repoRoot>/.ensemble/pi/` です。`conductor.pi.agentDir` / `conductor.pi.projectDir` で root のみ上書きできます。`settings.json` / `auth.json` / `models.json` / `extensions/` / `skills/` / `prompts/` / `themes/` を解決し、skills は compiled system prompt に追加され、prompts は `/name args` として展開されます。themes は headless conductor で読み込み・project 同名解決まで行いますが、TUI renderer がないため色・表示設定は適用しません。`.ensemble/pi/SYSTEM.md` / `APPEND_SYSTEM.md` は conductor の system prompt には使わず、modular-prompt のコンパイル結果を優先します。
36
38
 
37
39
  `settings.json` の headless 対応は、モデル選択(`defaultProvider` / `defaultModel`)、認証 fallback(`apiKey` / `apiKeys`)、resource path(`extensions` / `skills` / `prompts` / `themes`)に限定されます。`defaultThinkingLevel`、`thinkingBudgets`、`packages`、`enableSkillCommands` など Pi coding-agent の挙動・TUI・package 設定は警告なしで無視します。詳細な対応キーと失敗モードは [config.md の headless 対応範囲](../config.md#settingsjson-の-headless-対応範囲) を参照してください。
38
40
 
39
- MCP は #354 の harness 内蔵 in-process bridge で Pi に接続します。解決済み `mcp.json` がある場合は MCP tools が、設定が無い場合も harness tools が、最小起動から常に有効です。bridge は Pi ExtensionAPI extension ではなく、harness が管理する tool adapter です。設計上の前提と制限は [ADR 0025](../adr/0025-conductor-agent-backend-sdk-and-pi.md) を参照してください。
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) を参照してください。
40
42
 
41
43
  backend はセッション開始時に選択され、resume の途中では切り替えられません。system prompt の渡し方、認証、resume の差分は [ADR 0025](../adr/0025-conductor-agent-backend-sdk-and-pi.md) にまとまっています。
42
44
 
@@ -52,16 +54,22 @@ backend を選んだ後の主経路は共通です。リポジトリのディレ
52
54
  |------|------|
53
55
  | worker(既定の Cursor ACP) | `agent login` |
54
56
  | conductor(Cursor SDK、既定) | `ensemble auth login` |
55
- | conductor(Pi) | 上記の Pi `settings.json` / `auth.json` を準備。`ensemble auth` は使わない |
57
+ | conductor(Pi、API key) | `ensemble auth login --provider <id>`(TTY の secret prompt) |
58
+ | conductor(Pi、OAuth) | `ensemble auth login --provider <id>`(TTY。URL / device code は stderr) |
56
59
  | GitHub API(gh CLI を使う場合) | `gh auth login` |
57
60
 
58
61
  ```bash
59
62
  # worker(既定の Cursor ACP)
60
63
  agent login
61
64
 
62
- # conductor(Cursor SDK を使う場合だけ)
65
+ # conductor(Cursor SDK を使う場合)
63
66
  ensemble auth login
64
67
 
68
+ # conductor(Pi を使う場合。provider 省略時は settings.json から解決)
69
+ ensemble auth login --provider <provider-id>
70
+ ensemble auth status
71
+ ensemble models list
72
+
65
73
  # GitHub API(gh CLI を使う場合)
66
74
  gh auth login
67
75
  ```
@@ -0,0 +1,18 @@
1
+ import { type ConductorAuthOptions, type ConductorAuthStatus, type ConductorLoginResult, type ConductorLogoutResult, type EnsembleConfig, type ResolvedProfile } from '@agents-ensemble/core';
2
+ export interface ConductorCommandOptions {
3
+ repoRoot?: string;
4
+ profile?: string;
5
+ provider?: string;
6
+ modelId?: string;
7
+ }
8
+ export interface ResolvedConductorCommandContext {
9
+ repoRoot: string;
10
+ config: EnsembleConfig;
11
+ profile: ResolvedProfile;
12
+ auth: ConductorAuthOptions;
13
+ }
14
+ export declare function resolveConductorCommandContext(options?: ConductorCommandOptions): Promise<ResolvedConductorCommandContext>;
15
+ export declare function runConductorLogin(options?: ConductorCommandOptions): Promise<ConductorLoginResult>;
16
+ export declare function runConductorLogout(options?: ConductorCommandOptions): Promise<ConductorLogoutResult>;
17
+ export declare function runConductorAuthStatus(options?: ConductorCommandOptions): Promise<ConductorAuthStatus>;
18
+ //# sourceMappingURL=conductor-auth-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conductor-auth-command.d.ts","sourceRoot":"","sources":["../src/conductor-auth-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,wBAAsB,8BAA8B,CAClD,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,+BAA+B,CAAC,CAsC1C;AAED,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CA6B/B;AAED,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
@@ -0,0 +1,172 @@
1
+ import { createInterface } from 'node:readline';
2
+ import { resolve } from 'node:path';
3
+ import { getConductorAuthStatus, isPiConductorOAuthProvider, loadEnsembleConfig, loadProfile, loginConductor, logoutConductor, resolvePiConductorProvider, resolveConductorAuthBackend, resolveConductorPiResourcePaths, } from '@agents-ensemble/core';
4
+ export async function resolveConductorCommandContext(options = {}) {
5
+ const repoRoot = resolve(options.repoRoot ?? process.cwd());
6
+ const config = await loadEnsembleConfig(repoRoot);
7
+ const profile = (await loadProfile({
8
+ profile: options.profile,
9
+ cwd: repoRoot,
10
+ config,
11
+ })).profile;
12
+ const backend = resolveConductorAuthBackend({ profile, config });
13
+ const configuredModel = config.conductor.model !== 'default' && config.conductor.model !== 'auto'
14
+ ? config.conductor.model
15
+ : undefined;
16
+ const pi = backend === 'pi'
17
+ ? {
18
+ cwd: repoRoot,
19
+ pi: resolveConductorPiResourcePaths({ repoRoot, config }),
20
+ }
21
+ : undefined;
22
+ return {
23
+ repoRoot,
24
+ config,
25
+ profile,
26
+ auth: {
27
+ backend,
28
+ profile,
29
+ config,
30
+ ...(pi ? { pi } : {}),
31
+ ...(options.provider ? { provider: options.provider } : {}),
32
+ ...(options.modelId ?? configuredModel
33
+ ? { modelId: options.modelId ?? configuredModel }
34
+ : {}),
35
+ },
36
+ };
37
+ }
38
+ export async function runConductorLogin(options = {}) {
39
+ const context = await resolveConductorCommandContext(options);
40
+ if (context.auth.backend !== 'pi') {
41
+ return loginConductor(context.auth);
42
+ }
43
+ const piOptions = context.auth.pi;
44
+ const providerOptions = {
45
+ ...piOptions,
46
+ ...(context.auth.modelId ? { modelId: context.auth.modelId } : {}),
47
+ ...(options.provider ? { provider: options.provider } : {}),
48
+ ...(options.modelId ? { modelId: options.modelId } : {}),
49
+ };
50
+ const oauth = await isPiConductorOAuthProvider(providerOptions);
51
+ if (oauth) {
52
+ requireInteractiveTty('Pi OAuth login');
53
+ return loginConductor({
54
+ ...context.auth,
55
+ oauthCallbacks: createOAuthLoginCallbacks(),
56
+ });
57
+ }
58
+ const provider = options.provider ?? (await resolvePiConductorProvider(providerOptions));
59
+ const apiKey = await promptSecret(`Pi API key for ${provider}: `);
60
+ return loginConductor({
61
+ ...context.auth,
62
+ provider,
63
+ apiKey,
64
+ });
65
+ }
66
+ export async function runConductorLogout(options = {}) {
67
+ const context = await resolveConductorCommandContext(options);
68
+ return logoutConductor(context.auth);
69
+ }
70
+ export async function runConductorAuthStatus(options = {}) {
71
+ const context = await resolveConductorCommandContext(options);
72
+ return getConductorAuthStatus(context.auth);
73
+ }
74
+ function requireInteractiveTty(operation) {
75
+ if (!process.stdin.isTTY) {
76
+ throw new Error(`${operation} requires a TTY. Run it from an interactive terminal (SSH is supported), or configure Pi auth.json/environment credentials manually.`);
77
+ }
78
+ }
79
+ async function promptSecret(prompt) {
80
+ requireInteractiveTty('Pi API-key login');
81
+ const input = process.stdin;
82
+ const output = process.stderr;
83
+ return new Promise((resolveAnswer, reject) => {
84
+ let answer = '';
85
+ let settled = false;
86
+ const cleanup = () => {
87
+ input.off('data', onData);
88
+ if (input.setRawMode)
89
+ input.setRawMode(false);
90
+ input.pause();
91
+ };
92
+ const finish = (error) => {
93
+ if (settled)
94
+ return;
95
+ settled = true;
96
+ cleanup();
97
+ output.write('\n');
98
+ if (error)
99
+ reject(error);
100
+ else
101
+ resolveAnswer(answer);
102
+ };
103
+ const onData = (chunk) => {
104
+ for (const character of String(chunk)) {
105
+ if (character === '\u0003') {
106
+ finish(new Error('Pi API-key login cancelled.'));
107
+ }
108
+ else if (character === '\r' || character === '\n') {
109
+ finish();
110
+ }
111
+ else if (character === '\u007f' || character === '\b') {
112
+ answer = answer.slice(0, -1);
113
+ }
114
+ else if (character >= ' ') {
115
+ answer += character;
116
+ }
117
+ }
118
+ };
119
+ output.write(prompt);
120
+ input.resume();
121
+ if (input.setRawMode)
122
+ input.setRawMode(true);
123
+ input.on('data', onData);
124
+ });
125
+ }
126
+ function createOAuthLoginCallbacks() {
127
+ const write = (message) => {
128
+ process.stderr.write(`${message}\n`);
129
+ };
130
+ return {
131
+ onAuth: (info) => {
132
+ write(`Open this URL to authenticate Pi: ${info.url}`);
133
+ if (info.instructions)
134
+ write(info.instructions);
135
+ },
136
+ onDeviceCode: (info) => {
137
+ write(`Pi device code: ${info.userCode}`);
138
+ write(`Verification URL: ${info.verificationUri}`);
139
+ if (info.expiresInSeconds)
140
+ write(`Expires in: ${info.expiresInSeconds}s`);
141
+ },
142
+ onProgress: write,
143
+ onPrompt: (prompt) => promptLine(prompt.message),
144
+ onManualCodeInput: () => promptLine('Enter the authorization code: '),
145
+ onSelect: async (prompt) => {
146
+ write(prompt.message);
147
+ prompt.options.forEach((option, index) => write(`${index + 1}) ${option.label}`));
148
+ const answer = await promptLine('Select a login method: ');
149
+ const index = Number.parseInt(answer, 10) - 1;
150
+ return Number.isInteger(index) && prompt.options[index]
151
+ ? prompt.options[index].id
152
+ : undefined;
153
+ },
154
+ };
155
+ }
156
+ async function promptLine(prompt) {
157
+ requireInteractiveTty('Pi OAuth login');
158
+ const readline = createInterface({
159
+ input: process.stdin,
160
+ output: process.stderr,
161
+ terminal: true,
162
+ });
163
+ try {
164
+ return await new Promise((resolveAnswer) => {
165
+ readline.question(prompt, resolveAnswer);
166
+ });
167
+ }
168
+ finally {
169
+ readline.close();
170
+ }
171
+ }
172
+ //# sourceMappingURL=conductor-auth-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conductor-auth-command.js","sourceRoot":"","sources":["../src/conductor-auth-command.ts"],"names":[],"mappings":"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"}
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 { getConductorAuthStatus, listConductorModels, loginConductor, logoutConductor, resolveIssueUrl, } from '@agents-ensemble/core';
4
+ import { 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';
@@ -10,6 +10,7 @@ import { resolveIssueSummaryFormat } from './resolve-summary-format.js';
10
10
  import { writeIssueSessionSummary } from './write-issue-session-summary.js';
11
11
  import { formatProfilesListJson, formatProfilesListText } from './format-profiles-list.js';
12
12
  import { normalizeInitialOperatorMessage } from './operator-message.js';
13
+ import { runConductorAuthStatus, runConductorLogin, runConductorLogout, resolveConductorCommandContext, } from './conductor-auth-command.js';
13
14
  const program = new Command();
14
15
  program
15
16
  .name('ensemble')
@@ -64,13 +65,23 @@ program
64
65
  process.exit(1);
65
66
  }
66
67
  });
67
- const auth = program.command('auth').description('Conductor (SDK) authentication');
68
- auth
69
- .command('login')
70
- .description('Browser login for conductor. Stores credentials in ~/.cursor/sdk/auth.json')
71
- .action(async () => {
68
+ function addConductorCommandOptions(command) {
69
+ return command
70
+ .option('--repo-root <path>', 'Repository root used for config, profile, and Pi project resources', process.cwd())
71
+ .option('--profile <name>', 'Team profile used to resolve conductor.backend')
72
+ .option('--provider <id>', 'Pi provider (default: settings.json defaultProvider)')
73
+ .option('--model-id <id>', 'Pi model id used to infer the provider');
74
+ }
75
+ const auth = program.command('auth').description('Conductor authentication');
76
+ addConductorCommandOptions(auth.command('login'))
77
+ .description('Log in to the configured conductor backend (Cursor browser login or Pi provider login)')
78
+ .action(async (options) => {
72
79
  try {
73
- const result = await loginConductor();
80
+ const result = await runConductorLogin(options);
81
+ if ('method' in result) {
82
+ console.log(`Pi: logged in provider ${result.provider} (${result.method}); stored in ${result.authPath}`);
83
+ return;
84
+ }
74
85
  const who = result.email ?? 'unknown';
75
86
  console.log(`Logged in as ${who}`);
76
87
  console.log(`API key expires: ${new Date(result.apiKeyExpiresAtMs).toISOString()}`);
@@ -80,12 +91,15 @@ auth
80
91
  process.exit(1);
81
92
  }
82
93
  });
83
- auth
84
- .command('logout')
85
- .description('Clear stored conductor (SDK) credentials from ~/.cursor/sdk/auth.json')
86
- .action(async () => {
94
+ addConductorCommandOptions(auth.command('logout'))
95
+ .description('Clear stored credentials for the configured conductor backend')
96
+ .action(async (options) => {
87
97
  try {
88
- await logoutConductor();
98
+ const result = await runConductorLogout(options);
99
+ if (result && 'backend' in result && result.backend === 'pi') {
100
+ console.log(`Pi: provider ${result.provider} logged out`);
101
+ return;
102
+ }
89
103
  console.log('SDK: logged out');
90
104
  }
91
105
  catch (error) {
@@ -93,12 +107,24 @@ auth
93
107
  process.exit(1);
94
108
  }
95
109
  });
96
- auth
97
- .command('status')
98
- .description('Show conductor (SDK) authentication status')
99
- .action(async () => {
110
+ addConductorCommandOptions(auth.command('status'))
111
+ .description('Show non-secret authentication status for the configured backend')
112
+ .action(async (options) => {
100
113
  try {
101
- const status = await getConductorAuthStatus();
114
+ const status = await runConductorAuthStatus(options);
115
+ if ('providers' in status) {
116
+ console.log(`Pi auth file: ${status.authPath}`);
117
+ if (status.providers.length === 0) {
118
+ console.log('Pi: no provider credentials configured');
119
+ }
120
+ for (const provider of status.providers) {
121
+ const state = provider.configured ? 'configured' : 'not configured';
122
+ const source = provider.source ? `; source=${provider.source}` : '';
123
+ const label = provider.label ? `; label=${provider.label}` : '';
124
+ console.log(`Pi: ${provider.provider}: ${state}${source}${label}`);
125
+ }
126
+ return;
127
+ }
102
128
  if (status.status === 'logged-in') {
103
129
  const who = status.email ?? 'unknown';
104
130
  const expires = status.apiKeyExpiresAtMs
@@ -121,16 +147,18 @@ auth
121
147
  process.exit(1);
122
148
  }
123
149
  });
124
- const models = program
125
- .command('models')
126
- .description('Conductor (SDK) model catalog');
127
- models
128
- .command('list')
129
- .description('List models available to the authenticated conductor account')
150
+ const models = program.command('models').description('Conductor model catalog');
151
+ addConductorCommandOptions(models.command('list'))
152
+ .description('List models available to the authenticated conductor backend')
130
153
  .option('--json', 'Output JSON')
131
154
  .action(async (options) => {
132
155
  try {
133
- const catalog = await listConductorModels();
156
+ const context = await resolveConductorCommandContext(options);
157
+ const catalog = await listConductorModels({
158
+ ...context.auth,
159
+ ...(options.provider ? { provider: options.provider } : {}),
160
+ ...(options.modelId ? { modelId: options.modelId } : {}),
161
+ });
134
162
  if (options.json) {
135
163
  console.log(formatModelsListJson(catalog));
136
164
  return;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAuF/E;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"}
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,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CA4F/E;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"}
@@ -3,24 +3,24 @@ function classifyConductorSendError(message, code) {
3
3
  const signal = `${message} ${code ?? ''}`;
4
4
  if (isConductorAuthError(signal)) {
5
5
  return {
6
- category: 'conductor SDK の認証障害',
7
- recovery: '認証状態を確認し、必要なら ensemble auth logout → ensemble auth login 後に再試行してください',
6
+ category: 'conductor の認証障害',
7
+ recovery: '認証状態を確認し、表示された backend 固有の復旧手順で再試行してください',
8
8
  };
9
9
  }
10
10
  if (/connection stalled repeatedly|connection|transport|network|timeout|timed out|deadline exceeded|unavailable|socket/i.test(signal)) {
11
11
  return {
12
- category: 'conductor SDK の接続障害',
12
+ category: 'conductor の接続障害',
13
13
  recovery: '接続状態を確認してから再試行してください',
14
14
  };
15
15
  }
16
16
  if (/model blocked|content policy|safety/i.test(signal)) {
17
17
  return {
18
- category: 'conductor SDK のモデル拒否',
18
+ category: 'conductor のモデル拒否',
19
19
  recovery: 'モデル設定と入力内容を確認して再試行してください',
20
20
  };
21
21
  }
22
22
  return {
23
- category: 'conductor SDK の実行障害',
23
+ category: 'conductor の実行障害',
24
24
  recovery: 'エラー詳細を確認し、必要ならセッションを再試行してください',
25
25
  };
26
26
  }
@@ -67,6 +67,11 @@ export function formatHarnessLogBody(event) {
67
67
  }
68
68
  case 'permission.pending':
69
69
  return renderSessionLogEvent(event);
70
+ case 'permission.cleanup': {
71
+ const worker = event.workerId ? ` worker=${event.workerId}` : '';
72
+ const ids = event.entries.map((entry) => entry.id).join(',');
73
+ return `permission.cleanup reason=${event.reason}${worker} count=${event.entries.length}${ids ? ` ids=${ids}` : ''}`;
74
+ }
70
75
  case 'conductor.send': {
71
76
  let line = `conductor.send n=${event.sendCount} status=${event.status} workerDone=${event.workerDispatches} workerFailed=${event.workerFailures}`;
72
77
  if (event.status === 'error') {
@@ -1 +1 @@
1
- {"version":3,"file":"session-log-lines.js","sourceRoot":"","sources":["../src/session-log-lines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-log-lines.js","sourceRoot":"","sources":["../src/session-log-lines.ts"],"names":[],"mappings":"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"}
@@ -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;AAQ5D,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CASlF;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,CAwCpF;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"}
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;AAQ5D,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CASlF;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"}
@@ -43,6 +43,7 @@ export function createDialogueSink(options = {}) {
43
43
  case 'session.continue':
44
44
  case 'session.post_loop_wait':
45
45
  case 'conductor.dispatch_hold':
46
+ case 'permission.cleanup':
46
47
  case 'conductor.auth.recovery':
47
48
  case 'conductor.auth.reconnect':
48
49
  case 'conductor.transport.reconnect':
@@ -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,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAOlE,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,CAAC,CAAC;QACzC,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,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
+ {"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,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAOlE,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,CAAC,CAAC;QACzC,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"}
package/docs/config.md CHANGED
@@ -107,7 +107,7 @@ profile / worker に `acp` がある worker は `--default-acp-*` / config `acp.
107
107
 
108
108
  ### Pi resource root
109
109
 
110
- `conductor.backend: pi` のとき、Pi の標準ファイル名・ディレクトリを次の 2 層から解決します。プロジェクト層がユーザ層を上書きします。
110
+ `conductor.backend: pi` のとき、Pi 1.x の標準ファイル名・ディレクトリを次の 2 層から解決します。プロジェクト層がユーザ層を上書きします。
111
111
 
112
112
  | 層 | 既定パス |
113
113
  |----|----------|
@@ -118,14 +118,16 @@ profile / worker に `acp` がある worker は `--default-acp-*` / config `acp.
118
118
 
119
119
  - `settings.json` / `auth.json`: user → project の deep merge。credential は provider 単位で project entry を優先します。
120
120
  - `models.json`: Pi 標準の `providers` / `models` / built-in `modelOverrides` / request headers を model 解決へ反映します。
121
- - `extensions/`: ExtensionAPI の tool を読み込み、fixed harness tools → MCP bridge → local extension の順で追加します。同名の harness/MCP tool は上書きしません。
121
+ - `extensions/`: ExtensionAPI の tool を読み込み、fixed harness tools と local extension tools を conductor の custom tools として追加します。同名の harness tool は上書きしません。MCP は下記の Pi 公式 extension が担当します。
122
122
  - `skills/`: `SKILL.md` を読み込み、model invocation が有効な skill 本文を compiled system prompt の後ろに追加します。`/skill:<name>` で明示的に展開できます。
123
123
  - `prompts/`: Markdown template を読み込み、`/name args` の user prompt を Pi 標準の引数置換で展開します。
124
- - `themes/`: Pi 標準 JSON として読み込み、project 同名を優先します。conductor は headless `pi-agent-core` のため TUI renderer がなく、theme の色・表示設定はモデル入出力には適用しません。
124
+ - `themes/`: Pi 標準 JSON として読み込み、project 同名を優先します。conductor は headless `AgentSession` のため TUI renderer がなく、theme の色・表示設定はモデル入出力には適用しません。
125
+
126
+ Pi の認証 CLI は provider 単位です。`ensemble auth login --provider <id>` は API-key provider なら secret prompt の値を user root の `auth.json`(既定 `~/.ensemble/pi/auth.json`)へ保存し、OAuth provider なら Pi 1.x の `ModelRuntime.login` を TTY / stderr 経由で実行します。`--provider` を省略した場合は `settings.json` の `defaultProvider` または選択モデルから解決します。`logout` / `status` も同じ provider 解決を使います。project `auth.json` は既存の project-over-user 読取優先を維持しますが、login の書込み先にはなりません。project 層の明示的な OAuth credential は runtime が安全に refresh できないため実行時には使わず、user 層でのログインを案内します。Pi の MCP HTTP OAuth は conductor provider OAuth とは別に、公式 MCP extension が `mcp-auth.json` と対話フローを管理します。`ensemble models list` は `ModelRegistry` と project resource の解決結果から認証済み model だけを表示します。
125
127
 
126
128
  #### `settings.json` の headless 対応範囲
127
129
 
128
- conductor は `pi-agent-core` を直接使い、`pi-coding-agent` の設定適用器・TUI・package manager は起動しません。そのため `settings.json` は Pi 標準のファイル名と resource path の意味を保ちますが、headless conductor が実際に参照するキーだけを契約とします。
130
+ conductor は Pi 1.x の `createAgentSession` / `DefaultResourceLoader` を headless で使います。TUI と package manager は起動しないため、`settings.json` は Pi 標準のファイル名と resource path の意味を保ちますが、headless conductor が実際に参照するキーだけを契約とします。
129
131
 
130
132
  実際に効くキーは次のとおりです。
131
133
 
@@ -141,7 +143,7 @@ Pi の `settings.md` にあるが headless conductor が適用しないキーは
141
143
  |------------------------------|------------------|
142
144
  | `defaultThinkingLevel` / `modelThinkingLevels` / `thinkingBudgets` / `enabledModels` | thinking level、budget、model cycling の設定 |
143
145
  | `hideThinkingBlock` / `showCacheMissNotices` / `cacheWarming` / `steeringMode` / `followUpMode` | transcript 表示、cache、対話キューの設定 |
144
- | `defaultTools` / `codemode.*` | Pi built-in coding tools の選択。conductor は harness / MCP / local extension の tool loadout を使います。 |
146
+ | `defaultTools` / `codemode.*` | Pi built-in coding tools の選択。conductor は built-in coding tools を無効にし、harness / MCP / local extension と公式 codemode/tool-search extension の loadout を使います。 |
145
147
  | `packages` | Pi package の install・解決。package が提供する resource は自動導入しません。 |
146
148
  | `enableSkillCommands` | skill command の登録 toggle。読み込んだ skill の `/skill:<name>` 展開可否はこのキーで変更できません。 |
147
149
  | `sessionDir` / `compaction.*` / `branchSummary.*` | Pi の session・compact・branch summary。session は harness の `.ensemble/pi/sessions/` が管理します。 |
@@ -209,17 +211,17 @@ MCP 設定は次の 2 層から読み込み、`mcpServers` のサーバー名単
209
211
  }
210
212
  ```
211
213
 
212
- 解決済み設定は conductor の両 backend に同じ map として渡す。Cursor SDK では `Agent.create` / `Agent.resume` の inline MCP として、Pi では harness 内蔵 MCP bridge が MCP client と Pi `AgentTool` に変換して使う。この bridge は Pi の ExtensionAPI extension をロードするものではなく、`@agents-ensemble/core` 内で `@modelcontextprotocol/sdk` client を接続する in-process thin bridge である。どちらも `resume` と認証・transport エラーからの in-process reconnect で同じ設定を再注入する。Pi は MCP 設定がある場合、session 開始前に全サーバーへ接続して tools を発見するため、接続または bridge の読み込みに失敗したら起動を fail する。
214
+ 解決済み設定は conductor の両 backend に同じ map として渡す。Cursor SDK では `Agent.create` / `Agent.resume` の inline MCP として、Pi では Pi 1.x の `DefaultResourceLoader` に `createMcpExtension({ loadConfig })` を extension factory として登録し、`createAgentSession` の起動時に注入する。Pi 側で `.pi/mcp.json` へ同期・コピー・symlink は行わず、resume 時も harness が解決した同じ map を再注入する。sidecar にはこの map の canonical SHA-256 digest だけを保存し、resume 時に現在の digest と比較するため、設定変更は新しい session を要求する。digest に秘密値そのものは保存しない。MCP 接続の管理、tool discovery、OAuth、resource tools は Pi 公式 extension に委ね、core は MCP client/transport を実装しない。
213
215
 
214
- 設定値の `${env:...}` や `${workspaceFolder}` などの展開は Cursor SDK では SDK に任せ、Pi bridge では起動時の process environment と conductor cwd を使って同じ参照を展開する。Pi bridge は `stdio` / `http`(Streamable HTTP)/ `sse`、`env`、`cwd`、`headers` を扱う。Cursor SDK が提供する OAuth 対話(`auth` 定義)は Pi bridge の制限により未対応で、該当定義は明確なエラーにする。`.cursor/mcp.json` や `.pi/mcp.json` へのコピー・symlink、`settings.json` の書き換えは行わず、ACP worker にはこの設定を渡さない。Pi MCP tools は `mcp_<server>_<tool>` という衝突回避済みの名前で表示され、resources/prompts の専用 API は今回の bridge の対象外とする。Pi MCP tool の `callTool` 例外または MCP `isError` は成功結果に変換せず、`AgentTool.execute` の throw として model loop に伝える。Pi では extension の読み込み有無にかかわらず、harness tools と解決済み MCP bridge tools が conductor の tool loadout に含まれる。
216
+ `env` / `headers` / `cwd` は harness 境界で Cursor 形式の placeholder を解決してから Pi 公式 extension に渡す。`${env:VAR}` は現在の process environment の値、`${workspaceFolder}` / `${workspaceFolderBasename}` は conductor の cwd へ変換し、値が見つからない placeholder は literal のまま渡さず明確なエラーにする。Pi 標準の `$VAR` / `${VAR}` は公式 resolver に委ねる。Pi は `stdio` と Streamable HTTP (`http`) をサポートするが、shared `mcp.json` の `sse` 定義は Pi 1.x ではサポートしないため、Pi conductor の起動時に明確なエラーにする。HTTP の `auth` (`CLIENT_ID` / `CLIENT_SECRET` / `scopes`) は Pi の MCP OAuth 設定へ渡され、認可フローと credential 保存は公式 extension が管理する。`.cursor/mcp.json` や `.pi/mcp.json` へのコピー・symlink、`settings.json` の書き換えは行わず、ACP worker にはこの設定を渡さない。MCP server tool は公式名 `mcp__<server>__<tool>`(長すぎる・衝突する場合は Pi の hash suffix)で公開される。resources がある場合は公式の `list_mcp_resources`、`list_mcp_resource_templates`、`read_mcp_resource` が提供される。`codemode` / `tool_search` の exposure は公式 extension の設定に従う。
215
217
 
216
- Pi bridge は `@modelcontextprotocol/sdk@1.30.0` を core に同梱する。依存が欠落した環境で MCP 設定を持つ Pi backend を起動した場合は、インストールすべき固定バージョンを含むエラーで停止する。MCP 未設定時は bridge をロードせず、両 backend とも従来どおり MCP なしで起動する。
218
+ Pi backend は `@earendil-works/pi-coding-agent@1.0.x` の公式 MCP extension を使う。MCP 未設定時は extension に空の解決結果を渡し、conductor は harness tools と local extension tools だけで起動する。
217
219
 
218
- JSON が不正、または `mcpServers` / サーバー定義の形式が不正な場合は、そのファイルを `[mcp]` 警告とともにスキップする。もう一方の層が有効ならそちらは引き続き読み込み、両方をスキップした場合は MCP なしで起動する。MCP のホットリロードは行わないため、変更後は新しいセッションを開始する。
220
+ JSON が不正、または `mcpServers` / サーバー定義の形式が不正な場合は、そのファイルを `[mcp]` 警告とともにスキップする。もう一方の層が有効ならそちらは引き続き読み込み、両方をスキップした場合は MCP なしで起動する。MCP のホットリロードは行わない。実行中の session の設定を変更した場合は、resume 時に digest mismatch として fail fast するため、新しい session を開始する。
219
221
 
220
222
  ## 秘密情報を config に書かない
221
223
 
222
- **token 本体を config に平文で保存しない。** 認証は環境変数、`gh auth login`、将来の stored credential 経路(別 Issue)を使う。
224
+ **token 本体を config に平文で保存しない。** 認証は環境変数、`gh auth login`、Cursor の `ensemble auth login`、または Pi の provider 単位 `ensemble auth login` / `ModelRuntime` を使う。MCP HTTP OAuth の credential は Pi 公式 extension の管理領域に保存する。
223
225
 
224
226
  ## スキーマ外キー
225
227
 
package/docs/settings.md CHANGED
@@ -28,7 +28,7 @@ CLI > 環境変数 > project config > user config > コード default
28
28
 
29
29
  `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
30
 
31
- `conductor.backend` は、選択した profile の `conductor.backend` を project/user の deep merge 済み config より優先し、どちらも未指定なら `cursor` を使います。`cursor` は Cursor SDK 経路、`pi` は Pi Agent Core 経路を選びます。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 へ追加し、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` は Cursor SDK 向けで、Pi の認証には使いません。`settings.json` の headless 対応キーはモデル選択、認証 fallback、resource path に限られ、`defaultThinkingLevel` / `thinkingBudgets` / `packages` / `enableSkillCommands` など未対応キーは警告なしで無視します(詳細は [config.md](config.md#settingsjson-の-headless-対応範囲))。resume では sidecar に保存した backend と起動時の解決結果が一致しない場合、次のエラーで conductor を起動せず失敗します。
31
+ `conductor.backend` は、選択した profile の `conductor.backend` を project/user の deep merge 済み config より優先し、どちらも未指定なら `cursor` を使います。`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 へ追加し、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
32
 
33
33
  ```text
34
34
  Session sidecar conductorBackend mismatch: pi !== cursor
@@ -62,7 +62,7 @@ config キーなし。CI・スクリプト・端末検出、または 1 回限
62
62
  |------|--------|
63
63
  | GitHub API | `GITHUB_TOKEN` > `GH_TOKEN` > (`allowGhAuthTokenFallback: true` 時のみ)`gh auth token` |
64
64
  | conductor (cursor) | `CURSOR_API_KEY` > `~/.cursor/sdk/auth.json`(`ensemble auth login`) |
65
- | conductor (pi) | Pi の `auth.json` / `settings.json`(`~/.ensemble/pi/` → `<repoRoot>/.ensemble/pi/`、`conductor.pi.*` で root 上書き) > provider 環境変数。`ensemble auth` は使わない |
65
+ | conductor (pi) | project `auth.json` の読取優先 > user `ModelRuntime`(`~/.ensemble/pi/auth.json`、`conductor.pi.agentDir` で上書き) > `settings.json` fallback > provider 環境変数。`ensemble auth` は user 層へ provider 単位で保存。project 層の明示的な OAuth credential は refresh できないため使わず、user 層の runtime へログインする |
66
66
  | worker ACP(preset 依存) | preset ごとに README / ADR 0019 参照 |
67
67
 
68
68
  ## 一覧 — Phase 1(config.yaml)
@@ -114,7 +114,7 @@ TUI 設定は `loadEnsembleConfig` 結果を `createIssueSessionTuiHost` へ渡
114
114
  |------|----------|------------------------|
115
115
  | GitHub API token | `GITHUB_TOKEN` / `GH_TOKEN` | `github.auth.allowGhAuthTokenFallback` のみ |
116
116
  | conductor API key (cursor) | `CURSOR_API_KEY` | —(`ensemble auth login` は別経路) |
117
- | conductor API key (pi) | provider ごとの環境変数(Pi の env mapping) | Pi `auth.json` / `settings.json` にも設定可能 |
117
+ | conductor API key (pi) | provider ごとの環境変数(Pi の env mapping) | `ensemble auth login --provider <id>`、Pi `auth.json` / `settings.json` にも設定可能 |
118
118
 
119
119
  ## 一覧 — 別ファイル
120
120
 
@@ -138,7 +138,7 @@ TUI 設定は `loadEnsembleConfig` 結果を `createIssueSessionTuiHost` へ渡
138
138
  | チーム / 個人の恒久既定(モデル、worktree、monitor) | `~/.ensemble/config.yaml` または project `.ensemble/config.yaml` |
139
139
  | CI で 1 ジョブだけ上書き | 環境変数(`CONDUCTOR_MODEL_ID` 等) |
140
140
  | 1 回限りの実行 | CLI フラグ(初回メッセージは `ensemble issue <ref> [message...]`) |
141
- | token | Cursor: 環境変数 or `ensemble auth login`、Pi: Pi の `auth.json` / `settings.json`、GitHub: `gh auth login`(いずれも config に書かない) |
141
+ | token | Cursor: 環境変数 or `ensemble auth login`、Pi: `ensemble auth login --provider <id>` / Pi `auth.json` / provider 環境変数、GitHub: `gh auth login`(いずれも config に書かない) |
142
142
  | tmux 内で Issue リンクを短縮表示 | `~/.ensemble/config.yaml` に `tui.forceHyperlink: on`(または env `FORCE_HYPERLINK=1`) |
143
143
  | worker ごとの ACP / cwd | `profile.yaml` |
144
144
  | conductor の MCP | `mcp.json` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agents-ensemble/cli",
3
- "version": "0.7.0",
3
+ "version": "0.9.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.7.0"
20
+ "@agents-ensemble/core": "0.9.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/js-yaml": "4.0.9",