@agents-ensemble/core 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/dist/acp/index.d.ts +2 -2
- package/dist/acp/index.d.ts.map +1 -1
- package/dist/acp/index.js +2 -2
- package/dist/acp/index.js.map +1 -1
- package/dist/acp/resolve-acp-auth.d.ts +2 -0
- package/dist/acp/resolve-acp-auth.d.ts.map +1 -1
- package/dist/acp/resolve-acp-auth.js +13 -2
- package/dist/acp/resolve-acp-auth.js.map +1 -1
- package/dist/acp/resolve-acp-spawn.d.ts +15 -8
- package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
- package/dist/acp/resolve-acp-spawn.js +53 -108
- package/dist/acp/resolve-acp-spawn.js.map +1 -1
- package/dist/acp/validate-acp-preset-prerequisites.js +1 -1
- package/dist/acp/validate-acp-preset-prerequisites.js.map +1 -1
- package/dist/conductor/conductor-agent.d.ts +2 -0
- package/dist/conductor/conductor-agent.d.ts.map +1 -1
- package/dist/conductor/conductor-session-driver.d.ts +9 -1
- package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
- package/dist/conductor/conductor-session-driver.js +19 -6
- package/dist/conductor/conductor-session-driver.js.map +1 -1
- package/dist/conductor/conductor-session.d.ts +1 -1
- package/dist/conductor/conductor-session.d.ts.map +1 -1
- package/dist/conductor/conductor-session.js +44 -7
- package/dist/conductor/conductor-session.js.map +1 -1
- package/dist/conductor/index.d.ts +2 -2
- package/dist/conductor/index.d.ts.map +1 -1
- package/dist/conductor/index.js.map +1 -1
- package/dist/conductor/pi-conductor-agent.d.ts +2 -1
- package/dist/conductor/pi-conductor-agent.d.ts.map +1 -1
- package/dist/conductor/pi-conductor-agent.js +22 -15
- package/dist/conductor/pi-conductor-agent.js.map +1 -1
- package/dist/conductor/pi-headless-settings.d.ts +2 -0
- package/dist/conductor/pi-headless-settings.d.ts.map +1 -1
- package/dist/conductor/pi-headless-settings.js +8 -0
- package/dist/conductor/pi-headless-settings.js.map +1 -1
- package/dist/conductor/pi-resource-loader.d.ts +5 -3
- package/dist/conductor/pi-resource-loader.d.ts.map +1 -1
- package/dist/conductor/pi-resource-loader.js +5 -27
- package/dist/conductor/pi-resource-loader.js.map +1 -1
- package/dist/conductor/session/dispatch-hold.d.ts +1 -1
- package/dist/conductor/session/dispatch-hold.d.ts.map +1 -1
- package/dist/conductor/session/events/index.d.ts +2 -2
- package/dist/conductor/session/events/index.d.ts.map +1 -1
- package/dist/conductor/session/events/index.js.map +1 -1
- package/dist/conductor/session/events/session-event.d.ts +11 -1
- package/dist/conductor/session/events/session-event.d.ts.map +1 -1
- package/dist/conductor/session/events/session-log-event-groups.d.ts +3 -3
- package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
- package/dist/conductor/session/events/session-log-event-groups.js +4 -0
- package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
- package/dist/conductor/session/events/session-log-event.d.ts +22 -1
- package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
- package/dist/conductor/session/format-session-event.js +15 -0
- package/dist/conductor/session/format-session-event.js.map +1 -1
- package/dist/conductor/session/select-dispatch-batch.d.ts.map +1 -1
- package/dist/conductor/session/select-dispatch-batch.js +5 -0
- package/dist/conductor/session/select-dispatch-batch.js.map +1 -1
- package/dist/conductor/session/session-event.d.ts +1 -1
- package/dist/conductor/session/session-event.d.ts.map +1 -1
- package/dist/conductor/session/session-logger.d.ts.map +1 -1
- package/dist/conductor/session/session-logger.js +3 -0
- package/dist/conductor/session/session-logger.js.map +1 -1
- package/dist/conductor/session-policy.d.ts.map +1 -1
- package/dist/conductor/session-policy.js +2 -1
- package/dist/conductor/session-policy.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/load-ensemble-config.d.ts.map +1 -1
- package/dist/config/load-ensemble-config.js.map +1 -1
- package/dist/config/parse-config.d.ts +2 -2
- package/dist/config/parse-config.d.ts.map +1 -1
- package/dist/config/parse-config.js +29 -3
- package/dist/config/parse-config.js.map +1 -1
- package/dist/config/resolve-settings.d.ts +8 -0
- package/dist/config/resolve-settings.d.ts.map +1 -1
- package/dist/config/resolve-settings.js +24 -0
- package/dist/config/resolve-settings.js.map +1 -1
- package/dist/config/types.d.ts +8 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/dispatch/set-dispatch-hold-tool.d.ts.map +1 -1
- package/dist/dispatch/set-dispatch-hold-tool.js +4 -3
- package/dist/dispatch/set-dispatch-hold-tool.js.map +1 -1
- package/dist/permission/index.d.ts +1 -1
- package/dist/permission/index.d.ts.map +1 -1
- package/dist/permission/index.js.map +1 -1
- package/dist/permission/permission-deadlock-monitor.d.ts +13 -2
- package/dist/permission/permission-deadlock-monitor.d.ts.map +1 -1
- package/dist/permission/permission-deadlock-monitor.js +14 -5
- package/dist/permission/permission-deadlock-monitor.js.map +1 -1
- package/dist/profile/index.d.ts +1 -1
- package/dist/profile/index.d.ts.map +1 -1
- package/dist/profile/index.js.map +1 -1
- package/dist/profile/load-profile.d.ts.map +1 -1
- package/dist/profile/load-profile.js +9 -6
- package/dist/profile/load-profile.js.map +1 -1
- package/dist/profile/types.d.ts +6 -13
- package/dist/profile/types.d.ts.map +1 -1
- package/dist/profile/types.js +15 -21
- package/dist/profile/types.js.map +1 -1
- package/dist/prompt/modules/ensemble/conductor-base-module.d.ts.map +1 -1
- package/dist/prompt/modules/ensemble/conductor-base-module.js +26 -32
- package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -1
- package/dist/session/session-sidecar.js +17 -0
- package/dist/session/session-sidecar.js.map +1 -1
- package/package.json +1 -1
package/dist/acp/index.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ export { spawnAcpProcess, runAcpSession, } from './acp-process.js';
|
|
|
8
8
|
export { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI, ACP_PRESET_OPTIONAL_PACKAGES, } from './acp-preset-bins.js';
|
|
9
9
|
export { resolveAcpBin, resolveAcpBinFromPath, resolveBundledAcpBin, } from './resolve-bundled-acp-bin.js';
|
|
10
10
|
export { AcpPresetPrerequisiteError, finalizeResolvedAcpSpawn, formatAcpExternalCliInstallHint, formatAcpPresetInstallHint, resolveAcpSpawnExecutable, validateAcpPresetPrerequisites, validateWorkerAcpPrerequisites, } from './validate-acp-preset-prerequisites.js';
|
|
11
|
-
export { resolveAcpAuthenticateStrategy, resolveBuiltinAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
11
|
+
export { parseProfileAcpAuthenticate, resolveAcpAuthenticateStrategy, resolveBuiltinAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
12
12
|
export type { AcpAuthenticateStrategy } from './resolve-acp-auth.js';
|
|
13
|
-
export { ENSEMBLE_DEFAULT_ACP_CLI_ENV, resolveBuiltinAcpPreset, resolveDefaultAcpSpawn, resolveWorkerAcpSpawn, resolveWorkerAcpSpawns,
|
|
13
|
+
export { ENSEMBLE_DEFAULT_ACP_CLI_ENV, resolveBuiltinAcpPreset, resolveDefaultAcpSpawn, resolveWorkerAcpSpawn, resolveWorkerAcpSpawns, acpSpawnFingerprint, assertAcpSpawnMatchesResume, resolvedAcpSpawnToOptions, listBuiltinAcpPresetIds, isBuiltinAcpPresetId, mergeAcpSpawnEnv, } from './resolve-acp-spawn.js';
|
|
14
14
|
export type { BuiltinAcpPresetId, AcpPresetId, ResolvedAcpSpawn, AcpSpawnFingerprint, DefaultAcpResolutionOptions, } from './resolve-acp-spawn.js';
|
|
15
15
|
export type { SpawnAcpProcessOptions, RunAcpSessionOptions, ChildProcess, } from './acp-process.js';
|
|
16
16
|
export { AcpBridge } from './acp-bridge.js';
|
package/dist/acp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC"}
|
package/dist/acp/index.js
CHANGED
|
@@ -5,8 +5,8 @@ export { spawnAcpProcess, runAcpSession, } from './acp-process.js';
|
|
|
5
5
|
export { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI, ACP_PRESET_OPTIONAL_PACKAGES, } from './acp-preset-bins.js';
|
|
6
6
|
export { resolveAcpBin, resolveAcpBinFromPath, resolveBundledAcpBin, } from './resolve-bundled-acp-bin.js';
|
|
7
7
|
export { AcpPresetPrerequisiteError, finalizeResolvedAcpSpawn, formatAcpExternalCliInstallHint, formatAcpPresetInstallHint, resolveAcpSpawnExecutable, validateAcpPresetPrerequisites, validateWorkerAcpPrerequisites, } from './validate-acp-preset-prerequisites.js';
|
|
8
|
-
export { resolveAcpAuthenticateStrategy, resolveBuiltinAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
9
|
-
export { ENSEMBLE_DEFAULT_ACP_CLI_ENV, resolveBuiltinAcpPreset, resolveDefaultAcpSpawn, resolveWorkerAcpSpawn, resolveWorkerAcpSpawns,
|
|
8
|
+
export { parseProfileAcpAuthenticate, resolveAcpAuthenticateStrategy, resolveBuiltinAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
9
|
+
export { ENSEMBLE_DEFAULT_ACP_CLI_ENV, resolveBuiltinAcpPreset, resolveDefaultAcpSpawn, resolveWorkerAcpSpawn, resolveWorkerAcpSpawns, acpSpawnFingerprint, assertAcpSpawnMatchesResume, resolvedAcpSpawnToOptions, listBuiltinAcpPresetIds, isBuiltinAcpPresetId, mergeAcpSpawnEnv, } from './resolve-acp-spawn.js';
|
|
10
10
|
export { AcpBridge } from './acp-bridge.js';
|
|
11
11
|
export { DEFAULT_PERMISSION_DECISION, } from './types.js';
|
|
12
12
|
export { extractAcpToolName } from './extract-acp-tool-name.js';
|
package/dist/acp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAOnE,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAOnE,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,OAAO,EACL,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAUhE,OAAO,EACL,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC"}
|
|
@@ -6,6 +6,8 @@ export type AcpAuthenticateStrategy = {
|
|
|
6
6
|
} | {
|
|
7
7
|
kind: 'skip';
|
|
8
8
|
};
|
|
9
|
+
/** profile `acp.authenticate` 文字列を戦略へ。`skip` または method id(例: `chat-gpt`)。 */
|
|
10
|
+
export declare function parseProfileAcpAuthenticate(value: string, label?: string): AcpAuthenticateStrategy;
|
|
9
11
|
/** built-in preset ごとのデフォルト authenticate 戦略。 */
|
|
10
12
|
export declare function resolveBuiltinAcpAuthenticateStrategy(preset: Exclude<AcpPresetId, 'custom'>): AcpAuthenticateStrategy;
|
|
11
13
|
/** spawn 解決結果から ACP connect 時の authenticate 戦略を決める。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-acp-auth.d.ts","sourceRoot":"","sources":["../../src/acp/resolve-acp-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,mCAAmC;AACnC,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,gDAAgD;AAChD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,GACrC,uBAAuB,CAczB;AAMD,uDAAuD;AACvD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,GAC3D,uBAAuB,CASzB"}
|
|
1
|
+
{"version":3,"file":"resolve-acp-auth.d.ts","sourceRoot":"","sources":["../../src/acp/resolve-acp-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,mCAAmC;AACnC,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,uBAAuB,CAWzB;AAED,gDAAgD;AAChD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,GACrC,uBAAuB,CAczB;AAMD,uDAAuD;AACvD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,GAC3D,uBAAuB,CASzB"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { basename } from 'node:path';
|
|
2
|
+
/** profile `acp.authenticate` 文字列を戦略へ。`skip` または method id(例: `chat-gpt`)。 */
|
|
3
|
+
export function parseProfileAcpAuthenticate(value, label) {
|
|
4
|
+
const trimmed = value.trim();
|
|
5
|
+
if (!trimmed) {
|
|
6
|
+
throw new Error(`Invalid profile acp.authenticate${label ? ` in ${label}` : ''}: empty string`);
|
|
7
|
+
}
|
|
8
|
+
if (trimmed === 'skip') {
|
|
9
|
+
return { kind: 'skip' };
|
|
10
|
+
}
|
|
11
|
+
return { kind: 'method', methodId: trimmed };
|
|
12
|
+
}
|
|
2
13
|
/** built-in preset ごとのデフォルト authenticate 戦略。 */
|
|
3
14
|
export function resolveBuiltinAcpAuthenticateStrategy(preset) {
|
|
4
15
|
switch (preset) {
|
|
5
16
|
case 'cursor':
|
|
6
17
|
return { kind: 'method', methodId: 'cursor_login' };
|
|
7
18
|
case 'codex':
|
|
8
|
-
//
|
|
9
|
-
return { kind: '
|
|
19
|
+
// ADR 0028: 既定は移譲。管理モードは profile `acp.authenticate` で opt-in
|
|
20
|
+
return { kind: 'skip' };
|
|
10
21
|
case 'claude':
|
|
11
22
|
// claude-agent-acp: terminal / gateway 以外は未実装。CLI ログイン済みなら skip で session/new 可
|
|
12
23
|
return { kind: 'skip' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-acp-auth.js","sourceRoot":"","sources":["../../src/acp/resolve-acp-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQrC,gDAAgD;AAChD,MAAM,UAAU,qCAAqC,CACnD,MAAsC;IAEtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,
|
|
1
|
+
{"version":3,"file":"resolve-acp-auth.js","sourceRoot":"","sources":["../../src/acp/resolve-acp-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQrC,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,KAAc;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,qCAAqC,CACnD,MAAsC;IAEtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QACtD,KAAK,OAAO;YACV,6DAA6D;YAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,QAAQ;YACX,gFAAgF;YAChF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,IAAI;YACP,2DAA2D;YAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,IAAc;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;AACjF,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,8BAA8B,CAC5C,KAA4D;IAE5D,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,qCAAqC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import type { SpawnAcpProcessOptions } from './acp-process.js';
|
|
2
|
-
import
|
|
2
|
+
import { type AcpAuthenticateStrategy } from './resolve-acp-auth.js';
|
|
3
3
|
import type { EnsembleConfig } from '../config/types.js';
|
|
4
4
|
/** Built-in ACP preset id(Phase 1)。拡張時は adapter / capability を別途追加可能。 */
|
|
5
5
|
export type BuiltinAcpPresetId = 'cursor' | 'claude' | 'codex' | 'pi';
|
|
6
6
|
export type AcpPresetId = BuiltinAcpPresetId | 'custom';
|
|
7
7
|
export declare const ENSEMBLE_DEFAULT_ACP_CLI_ENV = "ENSEMBLE_DEFAULT_ACP_CLI";
|
|
8
|
-
/**
|
|
8
|
+
/** spawn 解決結果。 */
|
|
9
9
|
export interface ResolvedAcpSpawn {
|
|
10
10
|
preset: AcpPresetId;
|
|
11
11
|
command: string;
|
|
12
12
|
args: string[];
|
|
13
13
|
env?: Record<string, string>;
|
|
14
|
+
authenticate?: AcpAuthenticateStrategy;
|
|
14
15
|
}
|
|
15
16
|
/** resume 検証用。sidecar に保存する最小フィンガープリント。 */
|
|
16
17
|
export interface AcpSpawnFingerprint {
|
|
17
18
|
preset: AcpPresetId;
|
|
18
19
|
command: string;
|
|
19
20
|
args: string[];
|
|
21
|
+
/** spawn に渡す env(builtin preset → config `acp.env` のマージ結果)。 */
|
|
22
|
+
env?: Record<string, string>;
|
|
20
23
|
}
|
|
21
24
|
export interface DefaultAcpResolutionOptions {
|
|
22
25
|
/** CLI `--default-acp-cli` */
|
|
@@ -31,16 +34,20 @@ export interface DefaultAcpResolutionOptions {
|
|
|
31
34
|
export declare function listBuiltinAcpPresetIds(): BuiltinAcpPresetId[];
|
|
32
35
|
export declare function isBuiltinAcpPresetId(value: string): value is BuiltinAcpPresetId;
|
|
33
36
|
export declare function resolveBuiltinAcpPreset(preset: BuiltinAcpPresetId): ResolvedAcpSpawn;
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
/**
|
|
38
|
+
* ACP spawn env のマージ順(後勝ち):
|
|
39
|
+
* 1. builtin preset 既定(例: codex の `INITIAL_AGENT_MODE`)
|
|
40
|
+
* 2. ensemble config `acp.env`(user → project deep merge 済み)
|
|
41
|
+
*/
|
|
42
|
+
export declare function mergeAcpSpawnEnv(preset: AcpPresetId, configEnv?: Record<string, string>): Record<string, string> | undefined;
|
|
36
43
|
export declare function resolveDefaultAcpSpawn(options?: DefaultAcpResolutionOptions): ResolvedAcpSpawn;
|
|
37
|
-
export declare function resolveWorkerAcpSpawn(input
|
|
38
|
-
profileAcp?: ProfileAcpConfig;
|
|
39
|
-
workerAcp?: ProfileAcpConfig;
|
|
44
|
+
export declare function resolveWorkerAcpSpawn(input?: {
|
|
40
45
|
defaultOptions?: DefaultAcpResolutionOptions;
|
|
41
46
|
}): ResolvedAcpSpawn;
|
|
42
47
|
export declare function resolveWorkerAcpSpawns(input: {
|
|
43
|
-
|
|
48
|
+
workers: Array<{
|
|
49
|
+
name: string;
|
|
50
|
+
}>;
|
|
44
51
|
defaultOptions?: DefaultAcpResolutionOptions;
|
|
45
52
|
}): Map<string, ResolvedAcpSpawn>;
|
|
46
53
|
export declare function acpSpawnFingerprint(spawn: ResolvedAcpSpawn): AcpSpawnFingerprint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-acp-spawn.d.ts","sourceRoot":"","sources":["../../src/acp/resolve-acp-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-acp-spawn.d.ts","sourceRoot":"","sources":["../../src/acp/resolve-acp-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAExD,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AAEvE,kBAAkB;AAClB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAuBD,wBAAgB,uBAAuB,IAAI,kBAAkB,EAAE,CAE9D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,kBAAkB,CAE/E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB,CAQpF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAUpC;AAuBD,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,2BAAgC,GACxC,gBAAgB,CA0ClB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C,GAAG,gBAAgB,CAEnB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAOhC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,CAOhF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAG5E;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAgBP;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,IAAI,CAAC,EAAE,sBAAsB,GAC5B,sBAAsB,CAexB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveAcpAuthenticateStrategy } from './resolve-acp-auth.js';
|
|
1
|
+
import { resolveAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
2
2
|
export const ENSEMBLE_DEFAULT_ACP_CLI_ENV = 'ENSEMBLE_DEFAULT_ACP_CLI';
|
|
3
3
|
const BUILTIN_PRESETS = {
|
|
4
4
|
cursor: {
|
|
@@ -35,146 +35,74 @@ export function resolveBuiltinAcpPreset(preset) {
|
|
|
35
35
|
...(definition.env ? { env: { ...definition.env } } : {}),
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
: undefined;
|
|
51
|
-
let args;
|
|
52
|
-
if (config.args !== undefined) {
|
|
53
|
-
if (!Array.isArray(config.args) || config.args.some((arg) => typeof arg !== 'string')) {
|
|
54
|
-
throw new Error(`Invalid profile acp.args in ${label}: expected string array`);
|
|
55
|
-
}
|
|
56
|
-
args = config.args;
|
|
57
|
-
}
|
|
58
|
-
let env;
|
|
59
|
-
if (config.env !== undefined) {
|
|
60
|
-
if (!config.env || typeof config.env !== 'object' || Array.isArray(config.env)) {
|
|
61
|
-
throw new Error(`Invalid profile acp.env in ${label}: expected string map`);
|
|
62
|
-
}
|
|
63
|
-
env = {};
|
|
64
|
-
for (const [key, value] of Object.entries(config.env)) {
|
|
65
|
-
if (typeof value !== 'string') {
|
|
66
|
-
throw new Error(`Invalid profile acp.env.${key} in ${label}: expected string`);
|
|
67
|
-
}
|
|
68
|
-
env[key] = value;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (!preset && !command) {
|
|
72
|
-
throw new Error(`Invalid profile acp in ${label}: needs "preset" or "command"`);
|
|
73
|
-
}
|
|
74
|
-
if (preset === 'custom' && !command) {
|
|
75
|
-
throw new Error(`Invalid profile acp in ${label}: preset "custom" requires "command"`);
|
|
76
|
-
}
|
|
77
|
-
if (command && !preset) {
|
|
78
|
-
return { preset: 'custom', command, ...(args ? { args } : {}), ...(env ? { env } : {}) };
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
...(preset ? { preset } : {}),
|
|
82
|
-
...(command ? { command } : {}),
|
|
83
|
-
...(args ? { args } : {}),
|
|
84
|
-
...(env ? { env } : {}),
|
|
38
|
+
/**
|
|
39
|
+
* ACP spawn env のマージ順(後勝ち):
|
|
40
|
+
* 1. builtin preset 既定(例: codex の `INITIAL_AGENT_MODE`)
|
|
41
|
+
* 2. ensemble config `acp.env`(user → project deep merge 済み)
|
|
42
|
+
*/
|
|
43
|
+
export function mergeAcpSpawnEnv(preset, configEnv) {
|
|
44
|
+
const builtinEnv = isBuiltinAcpPresetId(preset) && BUILTIN_PRESETS[preset].env
|
|
45
|
+
? { ...BUILTIN_PRESETS[preset].env }
|
|
46
|
+
: {};
|
|
47
|
+
const merged = {
|
|
48
|
+
...builtinEnv,
|
|
49
|
+
...(configEnv ?? {}),
|
|
85
50
|
};
|
|
51
|
+
return Object.keys(merged).length > 0 ? merged : undefined;
|
|
86
52
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
function mergeProfileAcpConfig(base, override) {
|
|
91
|
-
if (!base && !override)
|
|
92
|
-
return undefined;
|
|
93
|
-
if (!base)
|
|
94
|
-
return override;
|
|
95
|
-
if (!override)
|
|
96
|
-
return base;
|
|
53
|
+
function resolveCustomAcpSpawn(input, configEnv) {
|
|
54
|
+
const mergedEnv = mergeAcpSpawnEnv('custom', configEnv);
|
|
97
55
|
return {
|
|
98
|
-
preset:
|
|
99
|
-
command:
|
|
100
|
-
args: [...(
|
|
101
|
-
|
|
56
|
+
preset: 'custom',
|
|
57
|
+
command: input.command,
|
|
58
|
+
args: [...(input.args ?? [])],
|
|
59
|
+
...(mergedEnv ? { env: mergedEnv } : {}),
|
|
102
60
|
};
|
|
103
61
|
}
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
if (!config.command) {
|
|
108
|
-
throw new Error('ACP custom preset requires "command"');
|
|
109
|
-
}
|
|
110
|
-
return {
|
|
111
|
-
preset: 'custom',
|
|
112
|
-
command: config.command,
|
|
113
|
-
args: [...(config.args ?? [])],
|
|
114
|
-
...(config.env && Object.keys(config.env).length > 0 ? { env: { ...config.env } } : {}),
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
if (!isBuiltinAcpPresetId(preset)) {
|
|
118
|
-
throw new Error(`Unknown ACP preset "${preset}"`);
|
|
119
|
-
}
|
|
120
|
-
const builtin = resolveBuiltinAcpPreset(preset);
|
|
121
|
-
const mergedEnv = {
|
|
122
|
-
...(builtin.env ?? {}),
|
|
123
|
-
...(config.env ?? {}),
|
|
124
|
-
};
|
|
125
|
-
return {
|
|
126
|
-
...builtin,
|
|
127
|
-
args: [...builtin.args, ...(config.args ?? [])],
|
|
128
|
-
...(Object.keys(mergedEnv).length > 0 ? { env: mergedEnv } : {}),
|
|
129
|
-
};
|
|
62
|
+
function withConfigAcpEnv(spawn, configEnv) {
|
|
63
|
+
const mergedEnv = mergeAcpSpawnEnv(spawn.preset, configEnv);
|
|
64
|
+
return { ...spawn, ...(mergedEnv ? { env: mergedEnv } : {}) };
|
|
130
65
|
}
|
|
131
66
|
export function resolveDefaultAcpSpawn(options = {}) {
|
|
132
67
|
const env = options.env ?? process.env;
|
|
68
|
+
const configEnv = options.config?.acp?.env;
|
|
133
69
|
const command = options.defaultAcpCommand?.trim();
|
|
134
70
|
if (command) {
|
|
135
|
-
return
|
|
136
|
-
preset: 'custom',
|
|
71
|
+
return resolveCustomAcpSpawn({
|
|
137
72
|
command,
|
|
138
73
|
...(options.defaultAcpArgs && options.defaultAcpArgs.length > 0
|
|
139
74
|
? { args: options.defaultAcpArgs }
|
|
140
75
|
: {}),
|
|
141
|
-
});
|
|
76
|
+
}, configEnv);
|
|
142
77
|
}
|
|
143
78
|
const cliPreset = options.defaultAcpCli?.trim();
|
|
144
79
|
if (cliPreset) {
|
|
145
80
|
if (!isBuiltinAcpPresetId(cliPreset)) {
|
|
146
81
|
throw new Error(`Invalid --default-acp-cli "${cliPreset}" (expected ${listBuiltinAcpPresetIds().join(' | ')})`);
|
|
147
82
|
}
|
|
148
|
-
return resolveBuiltinAcpPreset(cliPreset);
|
|
83
|
+
return withConfigAcpEnv(resolveBuiltinAcpPreset(cliPreset), configEnv);
|
|
149
84
|
}
|
|
150
85
|
const envPreset = env[ENSEMBLE_DEFAULT_ACP_CLI_ENV]?.trim();
|
|
151
86
|
if (envPreset) {
|
|
152
87
|
if (!isBuiltinAcpPresetId(envPreset)) {
|
|
153
88
|
throw new Error(`Invalid ${ENSEMBLE_DEFAULT_ACP_CLI_ENV}="${envPreset}" (expected ${listBuiltinAcpPresetIds().join(' | ')})`);
|
|
154
89
|
}
|
|
155
|
-
return resolveBuiltinAcpPreset(envPreset);
|
|
90
|
+
return withConfigAcpEnv(resolveBuiltinAcpPreset(envPreset), configEnv);
|
|
156
91
|
}
|
|
157
92
|
const configPreset = options.config?.acp.defaultPreset;
|
|
158
93
|
if (configPreset) {
|
|
159
|
-
return resolveBuiltinAcpPreset(configPreset);
|
|
94
|
+
return withConfigAcpEnv(resolveBuiltinAcpPreset(configPreset), configEnv);
|
|
160
95
|
}
|
|
161
|
-
return resolveBuiltinAcpPreset('cursor');
|
|
96
|
+
return withConfigAcpEnv(resolveBuiltinAcpPreset('cursor'), configEnv);
|
|
162
97
|
}
|
|
163
98
|
export function resolveWorkerAcpSpawn(input) {
|
|
164
|
-
|
|
165
|
-
if (merged) {
|
|
166
|
-
return resolveAcpConfig(merged);
|
|
167
|
-
}
|
|
168
|
-
return resolveDefaultAcpSpawn(input.defaultOptions);
|
|
99
|
+
return resolveDefaultAcpSpawn(input?.defaultOptions);
|
|
169
100
|
}
|
|
170
101
|
export function resolveWorkerAcpSpawns(input) {
|
|
102
|
+
const spawn = resolveDefaultAcpSpawn(input.defaultOptions);
|
|
171
103
|
const result = new Map();
|
|
172
|
-
for (const worker of input.
|
|
173
|
-
result.set(worker.name,
|
|
174
|
-
profileAcp: input.profile.acp,
|
|
175
|
-
workerAcp: worker.acp,
|
|
176
|
-
defaultOptions: input.defaultOptions,
|
|
177
|
-
}));
|
|
104
|
+
for (const worker of input.workers) {
|
|
105
|
+
result.set(worker.name, spawn);
|
|
178
106
|
}
|
|
179
107
|
return result;
|
|
180
108
|
}
|
|
@@ -183,6 +111,7 @@ export function acpSpawnFingerprint(spawn) {
|
|
|
183
111
|
preset: spawn.preset,
|
|
184
112
|
command: spawn.command,
|
|
185
113
|
args: [...spawn.args],
|
|
114
|
+
...(spawn.env && Object.keys(spawn.env).length > 0 ? { env: { ...spawn.env } } : {}),
|
|
186
115
|
};
|
|
187
116
|
}
|
|
188
117
|
export function formatAcpSpawnFingerprint(spawn) {
|
|
@@ -195,7 +124,8 @@ export function assertAcpSpawnMatchesResume(input) {
|
|
|
195
124
|
const actual = input.actual;
|
|
196
125
|
const same = input.expected.preset === actual.preset &&
|
|
197
126
|
input.expected.command === actual.command &&
|
|
198
|
-
arraysEqual(input.expected.args, actual.args)
|
|
127
|
+
arraysEqual(input.expected.args, actual.args) &&
|
|
128
|
+
envMapsEqualForResume(input.expected.env, actual.env);
|
|
199
129
|
if (same)
|
|
200
130
|
return;
|
|
201
131
|
const label = input.workerName ? `Worker "${input.workerName}"` : 'Worker';
|
|
@@ -206,7 +136,7 @@ export function resolvedAcpSpawnToOptions(spawn, base) {
|
|
|
206
136
|
...base,
|
|
207
137
|
command: spawn.command,
|
|
208
138
|
args: [...spawn.args],
|
|
209
|
-
authenticate: resolveAcpAuthenticateStrategy(spawn),
|
|
139
|
+
authenticate: spawn.authenticate ?? resolveAcpAuthenticateStrategy(spawn),
|
|
210
140
|
...(spawn.env
|
|
211
141
|
? {
|
|
212
142
|
env: {
|
|
@@ -220,4 +150,19 @@ export function resolvedAcpSpawnToOptions(spawn, base) {
|
|
|
220
150
|
function arraysEqual(left, right) {
|
|
221
151
|
return left.length === right.length && left.every((value, index) => value === right[index]);
|
|
222
152
|
}
|
|
153
|
+
function envMapsEqual(left, right) {
|
|
154
|
+
const leftKeys = Object.keys(left ?? {}).sort();
|
|
155
|
+
const rightKeys = Object.keys(right ?? {}).sort();
|
|
156
|
+
if (!arraysEqual(leftKeys, rightKeys)) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
return leftKeys.every((key) => left?.[key] === right?.[key]);
|
|
160
|
+
}
|
|
161
|
+
/** Legacy sidecar(env 未保存)では env 比較をスキップし preset/command/args のみ照合する。 */
|
|
162
|
+
function envMapsEqualForResume(expected, actual) {
|
|
163
|
+
if (!expected || Object.keys(expected).length === 0) {
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
return envMapsEqual(expected, actual);
|
|
167
|
+
}
|
|
223
168
|
//# sourceMappingURL=resolve-acp-spawn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-acp-spawn.js","sourceRoot":"","sources":["../../src/acp/resolve-acp-spawn.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-acp-spawn.js","sourceRoot":"","sources":["../../src/acp/resolve-acp-spawn.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,GAE/B,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AA+BvE,MAAM,eAAe,GAAiE;IACpF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,CAAC,KAAK,CAAC;KACd;IACD,MAAM,EAAE;QACN,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,EAAE;KACT;IACD,KAAK,EAAE;QACL,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,EAAE;QACR,0EAA0E;QAC1E,GAAG,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE;KACrC;IACD,EAAE,EAAE;QACF,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,EAAE;KACT;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB;IACrC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,uBAAuB,EAAE,CAAC,QAAQ,CAAC,KAA2B,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA0B;IAChE,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO;QACL,MAAM;QACN,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,SAAkC;IAElC,MAAM,UAAU,GACd,oBAAoB,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG;QACzD,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;QACpC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,MAAM,GAAG;QACb,GAAG,UAAU;QACb,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA2C,EAC3C,SAAkC;IAElC,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAuB,EACvB,SAAkC;IAElC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5D,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAuC,EAAE;IAEzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,qBAAqB,CAC1B;YACE,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC7D,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE;gBAClC,CAAC,CAAC,EAAE,CAAC;SACR,EACD,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,eAAe,uBAAuB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAC/F,CAAC;QACJ,CAAC;QACD,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,WAAW,4BAA4B,KAAK,SAAS,eAAe,uBAAuB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAErC;IACC,OAAO,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAGtC;IACC,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA0B;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAI3C;IACC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO;IAE5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GACR,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QACvC,KAAK,CAAC,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;QACzC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAC7C,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAExD,IAAI,IAAI;QAAE,OAAO;IAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3E,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,2CAA2C,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,iCAAiC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CACjK,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAuB,EACvB,IAA6B;IAE7B,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,8BAA8B,CAAC,KAAK,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,GAAG;YACX,CAAC,CAAC;gBACE,GAAG,EAAE;oBACH,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;oBAC7B,GAAG,KAAK,CAAC,GAAG;iBACb;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,KAAe;IAClD,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,YAAY,CACnB,IAA6B,EAC7B,KAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,yEAAyE;AACzE,SAAS,qBAAqB,CAC5B,QAAiC,EACjC,MAA+B;IAE/B,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -27,7 +27,7 @@ export function formatAcpPresetInstallHint(preset) {
|
|
|
27
27
|
' 開発: リポジトリルートで `pnpm install`(optional 再試行)\n' +
|
|
28
28
|
` 利用者: \`npm i -g ${packageName}\`\n` +
|
|
29
29
|
` または PATH 上に \`${binName}\` を配置してください。\n` +
|
|
30
|
-
' Codex の認証:
|
|
30
|
+
' Codex の認証: `~/.codex` 等の runtime 設定(`model_provider` / `[model_providers.*.auth]`)を整えてください(ensemble は既定で ACP authenticate を skip し移譲 — ADR 0028)。');
|
|
31
31
|
}
|
|
32
32
|
case 'pi': {
|
|
33
33
|
const { packageName, binName } = ACP_PRESET_OPTIONAL_PACKAGES.pi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-acp-preset-prerequisites.js","sourceRoot":"","sources":["../../src/acp/validate-acp-preset-prerequisites.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,sDAAsD;AACtD,MAAM,UAAU,0BAA0B,CAAC,MAAmB;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,CACL,kEAAkE;gBAClE,qEAAqE,CACtE,CAAC;QACJ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,4BAA4B,CAAC,MAAM,CAAC;YACrE,OAAO,CACL,sCAAsC,OAAO,gBAAgB;gBAC7D,gDAAgD;gBAChD,qBAAqB,WAAW,MAAM;gBACtC,mBAAmB,OAAO,iBAAiB;gBAC3C,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,4BAA4B,CAAC,KAAK,CAAC;YACpE,OAAO,CACL,qCAAqC,OAAO,gBAAgB;gBAC5D,gDAAgD;gBAChD,qBAAqB,WAAW,MAAM;gBACtC,mBAAmB,OAAO,iBAAiB;gBAC3C,
|
|
1
|
+
{"version":3,"file":"validate-acp-preset-prerequisites.js","sourceRoot":"","sources":["../../src/acp/validate-acp-preset-prerequisites.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export interface ConductorAgentCreateOptions {
|
|
|
13
13
|
systemPrompt: string;
|
|
14
14
|
/** Whether backend built-in coding tools are available; omitted means enabled. */
|
|
15
15
|
builtinTools?: boolean;
|
|
16
|
+
/** Pi backend only: use Pi standard skill discovery; omitted means enabled. */
|
|
17
|
+
piSkills?: boolean;
|
|
16
18
|
apiKey?: string;
|
|
17
19
|
modelId?: string;
|
|
18
20
|
mcpServers?: McpServerConfigMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { type IssueLoopStopReason } from './session-policy.js';
|
|
|
12
12
|
export interface ConductorSendStartedInfo {
|
|
13
13
|
/** これから実行する send の通し番号(1 始まり)。 */
|
|
14
14
|
sendCount: number;
|
|
15
|
-
/** dispatch 束の source key(`operator` / `permission` / `worker:*` / `initial`)。 */
|
|
15
|
+
/** dispatch 束の source key(`operator` / `permission` / `permission.stall` / `worker:*` / `initial`)。 */
|
|
16
16
|
dispatchSource?: string;
|
|
17
17
|
}
|
|
18
18
|
export interface ConductorSendProgressInfo {
|
|
@@ -20,6 +20,12 @@ export interface ConductorSendProgressInfo {
|
|
|
20
20
|
runId: string;
|
|
21
21
|
tool: string;
|
|
22
22
|
}
|
|
23
|
+
export interface ConductorInboundInfo {
|
|
24
|
+
/** 今回の `agent.send` に束ねた trigger 数。 */
|
|
25
|
+
triggers: number;
|
|
26
|
+
/** 束に含まれる SessionEvent の source key。initial を含む。 */
|
|
27
|
+
sources: string[];
|
|
28
|
+
}
|
|
23
29
|
export interface ConductorSendCompleteInfo {
|
|
24
30
|
sendCount: number;
|
|
25
31
|
runId: string;
|
|
@@ -54,6 +60,8 @@ export interface ConductorSessionDriverOptions {
|
|
|
54
60
|
stopOnUnansweredInput?: boolean;
|
|
55
61
|
workerDispatches: WorkerDispatchResult[];
|
|
56
62
|
workerFailures: WorkerFailureRecord[];
|
|
63
|
+
/** `agent.send` 直前の harness → conductor 境界要約。 */
|
|
64
|
+
onConductorInbound?: (info: ConductorInboundInfo) => void;
|
|
57
65
|
onSendStarted?: (info: ConductorSendStartedInfo) => void;
|
|
58
66
|
onSendProgress?: (info: ConductorSendProgressInfo) => void;
|
|
59
67
|
onSendComplete: (info: ConductorSendCompleteInfo) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conductor-session-driver.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-session-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EACV,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"conductor-session-driver.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-session-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EACV,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AASpC,OAAO,EAOL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uGAAuG;IACvG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,2BAA2B,EAAE,MAAM,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,oBAAoB,CAAC;IACtC,aAAa,EAAE,6BAA6B,CAAC;IAC7C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,aAAa,EAAE,oBAAoB,CAAC;IACpC,cAAc,EAAE,WAAW,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,OAAO,CAAC;IAClC,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC1D,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1D,uDAAuD;IACvD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,IAAI,CAChB,4BAA4B,EAC5B,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CACnD,GAAG;QAAE,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7D,yDAAyD;IACzD,+BAA+B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7C,0DAA0D;IAC1D,6BAA6B,CAAC,EAAE,MAAM,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,mBAAmB,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAwQvC"}
|
|
@@ -2,7 +2,7 @@ import { ensureMaxTurnsOpenQuestion } from '../escalation/enqueue-max-turns-ques
|
|
|
2
2
|
import { reconnectConductorAgent, sendConductorWithReconnect, } from './conductor-send-reconnect.js';
|
|
3
3
|
import { formatSessionEventsForConductor } from './session/format-session-event.js';
|
|
4
4
|
import { bufferDispatchHoldEvents, createDispatchHoldState, pruneStalePermissionEvents, } from './session/dispatch-hold.js';
|
|
5
|
-
import { countWorkerOutcomesInBatch, dispatchBatchStateAfterSend, markContinuationConsumed, selectDispatchBatch, } from './session/select-dispatch-batch.js';
|
|
5
|
+
import { countWorkerOutcomesInBatch, dispatchBatchStateAfterSend, eventSourceKey, markContinuationConsumed, selectDispatchBatch, } from './session/select-dispatch-batch.js';
|
|
6
6
|
import { autonomousTurnsAfterConductorBatch, buildIssueLoopStopInput, canDispatchConductorSend, isMaxTurnsLimited, resolveIssueLoopStopReason, shouldStopIssueLoop, } from './session-policy.js';
|
|
7
7
|
/**
|
|
8
8
|
* ConductorSession のイベント消費ループ(SessionDriver)。
|
|
@@ -72,6 +72,10 @@ export async function runConductorSessionDriver(options) {
|
|
|
72
72
|
return false;
|
|
73
73
|
};
|
|
74
74
|
if (!options.skipInitialSend) {
|
|
75
|
+
options.onConductorInbound?.({
|
|
76
|
+
triggers: 1,
|
|
77
|
+
sources: ['initial'],
|
|
78
|
+
});
|
|
75
79
|
lastSendResult = await runEventConductorSend({
|
|
76
80
|
// Keep the initial dispatch asynchronous as it was when the driver
|
|
77
81
|
// fetched and compiled the prompt itself.
|
|
@@ -196,6 +200,10 @@ export async function runConductorSessionDriver(options) {
|
|
|
196
200
|
}
|
|
197
201
|
const autonomousTurnsAfter = autonomousTurnsAfterConductorBatch(batch, autonomousTurns);
|
|
198
202
|
const { workerDispatches, workerFailures } = countWorkerOutcomesInBatch(batch);
|
|
203
|
+
options.onConductorInbound?.({
|
|
204
|
+
triggers: batch.length,
|
|
205
|
+
sources: uniqueSources(batch, dispatchResult.sourceKey),
|
|
206
|
+
});
|
|
199
207
|
inFlightSend = runEventConductorSend({
|
|
200
208
|
message: formatSessionEventsForConductor(batch),
|
|
201
209
|
conductorHandle: options.conductorHandle,
|
|
@@ -231,6 +239,10 @@ export async function runConductorSessionDriver(options) {
|
|
|
231
239
|
lastDispatchesThisTurn,
|
|
232
240
|
};
|
|
233
241
|
}
|
|
242
|
+
function uniqueSources(batch, fallback) {
|
|
243
|
+
const sources = [...new Set(batch.map((event) => eventSourceKey(event)))];
|
|
244
|
+
return sources.length > 0 ? sources : [fallback];
|
|
245
|
+
}
|
|
234
246
|
function runEventConductorSend(input) {
|
|
235
247
|
const workersBefore = input.workerDispatches.length;
|
|
236
248
|
const failuresBefore = input.workerFailures.length;
|
|
@@ -294,8 +306,9 @@ async function waitForDispatchBatch(input) {
|
|
|
294
306
|
maxTurns: input.maxTurns,
|
|
295
307
|
});
|
|
296
308
|
// operator.message は hold 中も通す。release 後に queue に残った
|
|
297
|
-
// permission.pending も held flush より先に通す。held
|
|
298
|
-
// permission
|
|
309
|
+
// permission.pending / permission.stall も held flush より先に通す。held
|
|
310
|
+
// buffer 内の permission 系イベントは max-turns で worker が止まっていても
|
|
311
|
+
// 下の分岐で救済する。
|
|
299
312
|
if (selected && isImmediateDispatchSource(selected.batch.sourceKey)) {
|
|
300
313
|
input.eventQueue.replaceQueue(selected.remainingQueue);
|
|
301
314
|
return {
|
|
@@ -315,9 +328,9 @@ async function waitForDispatchBatch(input) {
|
|
|
315
328
|
sourceKey: 'dispatch-hold',
|
|
316
329
|
};
|
|
317
330
|
}
|
|
318
|
-
// max-turns blocks worker/GitHub events, but permission
|
|
319
|
-
// dispatchable. Reuse the normal batch selector so held permissions
|
|
320
|
-
// selected with the same priority and batching rules as queued events.
|
|
331
|
+
// max-turns blocks worker/GitHub events, but permission events remain
|
|
332
|
+
// dispatchable. Reuse the normal batch selector so held permissions and
|
|
333
|
+
// stall notices are selected with the same priority and batching rules as queued events.
|
|
321
334
|
const selectedHeld = selectDispatchBatch({
|
|
322
335
|
queue: heldEvents,
|
|
323
336
|
state: input.dispatchBatchState,
|