@agents-ensemble/core 0.20.0 → 0.22.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/assets/pi/pi-cli-env-wrapper.cmd +28 -0
- package/assets/pi/pi-cli-env-wrapper.sh +19 -0
- package/assets/pi/settings.json +4 -0
- package/dist/acp/acp-preset-bins.d.ts +3 -3
- package/dist/acp/acp-preset-bins.d.ts.map +1 -1
- package/dist/acp/acp-preset-bins.js +3 -3
- package/dist/acp/acp-preset-bins.js.map +1 -1
- package/dist/acp/index.d.ts +3 -1
- package/dist/acp/index.d.ts.map +1 -1
- package/dist/acp/index.js +2 -1
- package/dist/acp/index.js.map +1 -1
- package/dist/acp/pi-acp-wrapper.d.ts +3 -0
- package/dist/acp/pi-acp-wrapper.d.ts.map +1 -0
- package/dist/acp/pi-acp-wrapper.js +41 -0
- package/dist/acp/pi-acp-wrapper.js.map +1 -0
- package/dist/acp/pi-builtin-config.d.ts +10 -0
- package/dist/acp/pi-builtin-config.d.ts.map +1 -0
- package/dist/acp/pi-builtin-config.js +36 -0
- package/dist/acp/pi-builtin-config.js.map +1 -0
- package/dist/acp/pi-runtime.d.ts +23 -0
- package/dist/acp/pi-runtime.d.ts.map +1 -0
- package/dist/acp/pi-runtime.js +160 -0
- package/dist/acp/pi-runtime.js.map +1 -0
- package/dist/acp/pi-session-map.d.ts +36 -0
- package/dist/acp/pi-session-map.d.ts.map +1 -0
- package/dist/acp/pi-session-map.js +266 -0
- package/dist/acp/pi-session-map.js.map +1 -0
- package/dist/acp/resolve-acp-spawn.d.ts +9 -3
- package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
- package/dist/acp/resolve-acp-spawn.js +41 -9
- package/dist/acp/resolve-acp-spawn.js.map +1 -1
- package/dist/acp/resolve-bundled-acp-bin.d.ts +2 -2
- package/dist/acp/resolve-bundled-acp-bin.d.ts.map +1 -1
- package/dist/acp/resolve-bundled-acp-bin.js +4 -4
- package/dist/acp/resolve-bundled-acp-bin.js.map +1 -1
- package/dist/acp/validate-acp-preset-prerequisites.d.ts +1 -1
- package/dist/acp/validate-acp-preset-prerequisites.d.ts.map +1 -1
- package/dist/acp/validate-acp-preset-prerequisites.js +30 -10
- package/dist/acp/validate-acp-preset-prerequisites.js.map +1 -1
- package/dist/conductor/conductor-agent.d.ts +15 -3
- package/dist/conductor/conductor-agent.d.ts.map +1 -1
- package/dist/conductor/conductor-auth.d.ts +4 -3
- package/dist/conductor/conductor-auth.d.ts.map +1 -1
- package/dist/conductor/conductor-auth.js +20 -4
- package/dist/conductor/conductor-auth.js.map +1 -1
- package/dist/conductor/conductor-dispatch-lifecycle.d.ts +85 -0
- package/dist/conductor/conductor-dispatch-lifecycle.d.ts.map +1 -0
- package/dist/conductor/conductor-dispatch-lifecycle.js +190 -0
- package/dist/conductor/conductor-dispatch-lifecycle.js.map +1 -0
- package/dist/conductor/conductor-history.d.ts +15 -0
- package/dist/conductor/conductor-history.d.ts.map +1 -1
- package/dist/conductor/conductor-history.js +38 -7
- package/dist/conductor/conductor-history.js.map +1 -1
- package/dist/conductor/conductor-path-safety.d.ts +23 -0
- package/dist/conductor/conductor-path-safety.d.ts.map +1 -0
- package/dist/conductor/conductor-path-safety.js +319 -0
- package/dist/conductor/conductor-path-safety.js.map +1 -0
- package/dist/conductor/conductor-pi-auth.d.ts +57 -2
- package/dist/conductor/conductor-pi-auth.d.ts.map +1 -1
- package/dist/conductor/conductor-pi-auth.js +718 -40
- package/dist/conductor/conductor-pi-auth.js.map +1 -1
- package/dist/conductor/conductor-recovery-inbox.d.ts +73 -0
- package/dist/conductor/conductor-recovery-inbox.d.ts.map +1 -0
- package/dist/conductor/conductor-recovery-inbox.js +181 -0
- package/dist/conductor/conductor-recovery-inbox.js.map +1 -0
- package/dist/conductor/conductor-send-reconnect.d.ts +33 -4
- package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -1
- package/dist/conductor/conductor-send-reconnect.js +89 -24
- package/dist/conductor/conductor-send-reconnect.js.map +1 -1
- package/dist/conductor/conductor-session-driver.d.ts +34 -1
- package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
- package/dist/conductor/conductor-session-driver.js +529 -75
- package/dist/conductor/conductor-session-driver.js.map +1 -1
- package/dist/conductor/conductor-session.d.ts +4 -0
- package/dist/conductor/conductor-session.d.ts.map +1 -1
- package/dist/conductor/conductor-session.js +416 -145
- package/dist/conductor/conductor-session.js.map +1 -1
- package/dist/conductor/conductor-setup.d.ts +30 -0
- package/dist/conductor/conductor-setup.d.ts.map +1 -0
- package/dist/conductor/conductor-setup.js +243 -0
- package/dist/conductor/conductor-setup.js.map +1 -0
- package/dist/conductor/cursor-bootstrap-state.d.ts +9 -0
- package/dist/conductor/cursor-bootstrap-state.d.ts.map +1 -0
- package/dist/conductor/cursor-bootstrap-state.js +11 -0
- package/dist/conductor/cursor-bootstrap-state.js.map +1 -0
- package/dist/conductor/cursor-run-snapshots.d.ts +30 -0
- package/dist/conductor/cursor-run-snapshots.d.ts.map +1 -0
- package/dist/conductor/cursor-run-snapshots.js +120 -0
- package/dist/conductor/cursor-run-snapshots.js.map +1 -0
- package/dist/conductor/index.d.ts +18 -7
- package/dist/conductor/index.d.ts.map +1 -1
- package/dist/conductor/index.js +9 -4
- package/dist/conductor/index.js.map +1 -1
- package/dist/conductor/operator-command.d.ts +5 -0
- package/dist/conductor/operator-command.d.ts.map +1 -1
- package/dist/conductor/operator-command.js +6 -0
- package/dist/conductor/operator-command.js.map +1 -1
- package/dist/conductor/operator-input-binding.d.ts +17 -0
- package/dist/conductor/operator-input-binding.d.ts.map +1 -1
- package/dist/conductor/pi-auth-recovery-snapshot-store.d.ts +45 -0
- package/dist/conductor/pi-auth-recovery-snapshot-store.d.ts.map +1 -0
- package/dist/conductor/pi-auth-recovery-snapshot-store.js +116 -0
- package/dist/conductor/pi-auth-recovery-snapshot-store.js.map +1 -0
- package/dist/conductor/pi-conductor-agent.d.ts +6 -3
- package/dist/conductor/pi-conductor-agent.d.ts.map +1 -1
- package/dist/conductor/pi-conductor-agent.js +276 -53
- package/dist/conductor/pi-conductor-agent.js.map +1 -1
- package/dist/conductor/pi-conductor-session-file.d.ts +13 -0
- package/dist/conductor/pi-conductor-session-file.d.ts.map +1 -0
- package/dist/conductor/pi-conductor-session-file.js +21 -0
- package/dist/conductor/pi-conductor-session-file.js.map +1 -0
- package/dist/conductor/pi-resource-loader.d.ts +6 -0
- package/dist/conductor/pi-resource-loader.d.ts.map +1 -1
- package/dist/conductor/pi-resource-loader.js +26 -12
- package/dist/conductor/pi-resource-loader.js.map +1 -1
- package/dist/conductor/pi-user-root-lock.d.ts +8 -0
- package/dist/conductor/pi-user-root-lock.d.ts.map +1 -0
- package/dist/conductor/pi-user-root-lock.js +53 -0
- package/dist/conductor/pi-user-root-lock.js.map +1 -0
- package/dist/conductor/recovery-inbox-command.d.ts +29 -0
- package/dist/conductor/recovery-inbox-command.d.ts.map +1 -0
- package/dist/conductor/recovery-inbox-command.js +248 -0
- package/dist/conductor/recovery-inbox-command.js.map +1 -0
- package/dist/conductor/session/events/index.d.ts +1 -1
- 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 +43 -1
- package/dist/conductor/session/events/session-event.d.ts.map +1 -1
- package/dist/conductor/session/events/session-log-event-groups.d.ts +1 -1
- package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
- package/dist/conductor/session/events/session-log-event-groups.js +2 -0
- package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
- package/dist/conductor/session/events/session-log-event.d.ts +4 -0
- package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
- package/dist/conductor/session/format-session-event.js +57 -5
- package/dist/conductor/session/format-session-event.js.map +1 -1
- package/dist/conductor/session/select-dispatch-batch.d.ts +2 -0
- package/dist/conductor/session/select-dispatch-batch.d.ts.map +1 -1
- package/dist/conductor/session/select-dispatch-batch.js +36 -2
- package/dist/conductor/session/select-dispatch-batch.js.map +1 -1
- package/dist/conductor/session/session-event-queue.d.ts +14 -0
- package/dist/conductor/session/session-event-queue.d.ts.map +1 -1
- package/dist/conductor/session/session-event-queue.js +82 -10
- package/dist/conductor/session/session-event-queue.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-policy.d.ts.map +1 -1
- package/dist/conductor/session-policy.js +8 -4
- package/dist/conductor/session-policy.js.map +1 -1
- package/dist/conductor/submit-operator-input.d.ts +3 -0
- package/dist/conductor/submit-operator-input.d.ts.map +1 -1
- package/dist/conductor/submit-operator-input.js +21 -0
- package/dist/conductor/submit-operator-input.js.map +1 -1
- package/dist/config/deep-merge.d.ts.map +1 -1
- package/dist/config/deep-merge.js +13 -3
- package/dist/config/deep-merge.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/doctor-settings.d.ts +59 -0
- package/dist/config/doctor-settings.d.ts.map +1 -0
- package/dist/config/doctor-settings.js +343 -0
- package/dist/config/doctor-settings.js.map +1 -0
- package/dist/config/ensemble-config-digest.d.ts +2 -4
- package/dist/config/ensemble-config-digest.d.ts.map +1 -1
- package/dist/config/ensemble-config-digest.js +2 -4
- package/dist/config/ensemble-config-digest.js.map +1 -1
- package/dist/config/index.d.ts +3 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- 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 +8 -1
- package/dist/config/load-ensemble-config.js.map +1 -1
- package/dist/config/parse-config.d.ts.map +1 -1
- package/dist/config/parse-config.js +34 -14
- package/dist/config/parse-config.js.map +1 -1
- package/dist/config/resolve-settings.d.ts +3 -1
- package/dist/config/resolve-settings.d.ts.map +1 -1
- package/dist/config/resolve-settings.js +7 -4
- package/dist/config/resolve-settings.js.map +1 -1
- package/dist/config/types.d.ts +14 -5
- package/dist/config/types.d.ts.map +1 -1
- package/dist/dispatch/attach-worker.js +1 -1
- package/dist/dispatch/attach-worker.js.map +1 -1
- package/dist/dispatch/worker-acp-session.d.ts +21 -3
- package/dist/dispatch/worker-acp-session.d.ts.map +1 -1
- package/dist/dispatch/worker-acp-session.js +50 -13
- package/dist/dispatch/worker-acp-session.js.map +1 -1
- package/dist/ensemble-paths.d.ts +19 -19
- package/dist/ensemble-paths.d.ts.map +1 -1
- package/dist/ensemble-paths.js +40 -22
- package/dist/ensemble-paths.js.map +1 -1
- package/dist/issue/resolve-issue-url.d.ts +4 -0
- package/dist/issue/resolve-issue-url.d.ts.map +1 -1
- package/dist/issue/resolve-issue-url.js +2 -2
- package/dist/issue/resolve-issue-url.js.map +1 -1
- package/dist/operator-runtime.d.ts +19 -4
- package/dist/operator-runtime.d.ts.map +1 -1
- package/dist/operator-runtime.js +13 -2
- package/dist/operator-runtime.js.map +1 -1
- package/dist/profile/types.d.ts +4 -0
- package/dist/profile/types.d.ts.map +1 -1
- package/dist/profile/types.js +29 -12
- package/dist/profile/types.js.map +1 -1
- package/dist/representation/escape-terminal-control-characters.d.ts +9 -0
- package/dist/representation/escape-terminal-control-characters.d.ts.map +1 -0
- package/dist/representation/escape-terminal-control-characters.js +34 -0
- package/dist/representation/escape-terminal-control-characters.js.map +1 -0
- package/dist/representation/index.d.ts +1 -0
- package/dist/representation/index.d.ts.map +1 -1
- package/dist/representation/index.js +1 -0
- package/dist/representation/index.js.map +1 -1
- package/dist/runtime/types.d.ts +9 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/worker-runtime.d.ts +14 -1
- package/dist/runtime/worker-runtime.d.ts.map +1 -1
- package/dist/runtime/worker-runtime.js +197 -50
- package/dist/runtime/worker-runtime.js.map +1 -1
- package/dist/runtime/worker-session.d.ts +2 -1
- package/dist/runtime/worker-session.d.ts.map +1 -1
- package/dist/runtime/worker-session.js +1 -0
- package/dist/runtime/worker-session.js.map +1 -1
- package/dist/session/export-session-bundle.d.ts +77 -0
- package/dist/session/export-session-bundle.d.ts.map +1 -0
- package/dist/session/export-session-bundle.js +640 -0
- package/dist/session/export-session-bundle.js.map +1 -0
- package/dist/session/index.d.ts +6 -3
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +4 -1
- package/dist/session/index.js.map +1 -1
- package/dist/session/open-question-control.d.ts +9 -0
- package/dist/session/open-question-control.d.ts.map +1 -1
- package/dist/session/open-question-control.js +26 -1
- package/dist/session/open-question-control.js.map +1 -1
- package/dist/session/open-questions-store.d.ts +1 -1
- package/dist/session/open-questions-store.d.ts.map +1 -1
- package/dist/session/open-questions-store.js +3 -6
- package/dist/session/open-questions-store.js.map +1 -1
- package/dist/session/persisted-file.d.ts +5 -0
- package/dist/session/persisted-file.d.ts.map +1 -0
- package/dist/session/persisted-file.js +56 -0
- package/dist/session/persisted-file.js.map +1 -0
- package/dist/session/session-resume-store.d.ts +79 -10
- package/dist/session/session-resume-store.d.ts.map +1 -1
- package/dist/session/session-resume-store.js +353 -83
- package/dist/session/session-resume-store.js.map +1 -1
- package/dist/session/session-snapshot-paths.d.ts +11 -0
- package/dist/session/session-snapshot-paths.d.ts.map +1 -0
- package/dist/session/session-snapshot-paths.js +41 -0
- package/dist/session/session-snapshot-paths.js.map +1 -0
- package/dist/session/session-state-store.d.ts +2 -2
- package/dist/session/session-state-store.d.ts.map +1 -1
- package/dist/session/session-state-store.js +5 -16
- package/dist/session/session-state-store.js.map +1 -1
- package/dist/session/tool-call-snapshot-history.d.ts +12 -1
- package/dist/session/tool-call-snapshot-history.d.ts.map +1 -1
- package/dist/session/tool-call-snapshot-history.js +75 -70
- package/dist/session/tool-call-snapshot-history.js.map +1 -1
- package/dist/session/worker-session-history.d.ts +51 -0
- package/dist/session/worker-session-history.d.ts.map +1 -0
- package/dist/session/worker-session-history.js +654 -0
- package/dist/session/worker-session-history.js.map +1 -0
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/worktree/worktree.d.ts +6 -1
- package/dist/worktree/worktree.d.ts.map +1 -1
- package/dist/worktree/worktree.js +123 -2
- package/dist/worktree/worktree.js.map +1 -1
- package/package.json +9 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isBuiltinAcpPresetId } from './resolve-acp-spawn.js';
|
|
2
|
-
import { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI,
|
|
2
|
+
import { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI, ACP_PRESET_ADAPTER_PACKAGES, } from './acp-preset-bins.js';
|
|
3
|
+
import { assertBuiltinPiNodeVersionSupported, resolveBuiltinPiAcpEntrypointPath, resolveBuiltinPiAcpWrapperPath, resolveBuiltinPiCliEnvWrapperPath, resolveBundledPiCliPath, } from './pi-runtime.js';
|
|
3
4
|
import { resolveAcpBin, resolveAcpBinFromPath, resolveBundledAcpBin, } from './resolve-bundled-acp-bin.js';
|
|
4
5
|
export class AcpPresetPrerequisiteError extends Error {
|
|
5
6
|
constructor(message) {
|
|
@@ -14,7 +15,7 @@ export function formatAcpPresetInstallHint(preset) {
|
|
|
14
15
|
return ('[acp] cursor preset: Cursor Agent CLI (`agent`) が PATH にありません。\n' +
|
|
15
16
|
' https://cursor.com/docs/cli を参照してインストールし、`agent login` を実行してください。');
|
|
16
17
|
case 'claude': {
|
|
17
|
-
const { packageName, binName } =
|
|
18
|
+
const { packageName, binName } = ACP_PRESET_ADAPTER_PACKAGES.claude;
|
|
18
19
|
return (`[acp] claude preset: ACP adapter \`${binName}\` が見つかりません。\n` +
|
|
19
20
|
' 開発: リポジトリルートで `pnpm install`(optional 再試行)\n' +
|
|
20
21
|
` 利用者: \`npm i -g ${packageName}\`\n` +
|
|
@@ -22,7 +23,7 @@ export function formatAcpPresetInstallHint(preset) {
|
|
|
22
23
|
' Claude Code の認証: 先に `claude` / Claude Code でログインしてください(ensemble は ACP authenticate を skip し CLI セッションを利用)。');
|
|
23
24
|
}
|
|
24
25
|
case 'codex': {
|
|
25
|
-
const { packageName, binName } =
|
|
26
|
+
const { packageName, binName } = ACP_PRESET_ADAPTER_PACKAGES.codex;
|
|
26
27
|
return (`[acp] codex preset: ACP adapter \`${binName}\` が見つかりません。\n` +
|
|
27
28
|
' 開発: リポジトリルートで `pnpm install`(optional 再試行)\n' +
|
|
28
29
|
` 利用者: \`npm i -g ${packageName}\`\n` +
|
|
@@ -30,11 +31,10 @@ export function formatAcpPresetInstallHint(preset) {
|
|
|
30
31
|
' Codex の認証: `~/.codex` 等の runtime 設定(`model_provider` / `[model_providers.*.auth]`)を整えてください(ensemble は既定で ACP authenticate を skip し移譲 — ADR 0028)。');
|
|
31
32
|
}
|
|
32
33
|
case 'pi': {
|
|
33
|
-
const { packageName, binName } =
|
|
34
|
+
const { packageName, binName } = ACP_PRESET_ADAPTER_PACKAGES.pi;
|
|
34
35
|
return (`[acp] pi preset: ACP adapter \`${binName}\` が見つかりません。\n` +
|
|
35
|
-
|
|
36
|
-
`
|
|
37
|
-
` または PATH 上に \`${binName}\` を配置してください。`);
|
|
36
|
+
` \`@agents-ensemble/core\` の依存を再インストールするか、\`npm i -g ${packageName}\` を実行してください。\n` +
|
|
37
|
+
` PATH 上の \`${binName}\` も fallback として使えます。`);
|
|
38
38
|
}
|
|
39
39
|
case 'custom':
|
|
40
40
|
return ('[acp] custom preset: 指定した command が PATH にありません。\n' +
|
|
@@ -52,8 +52,21 @@ export function formatAcpExternalCliInstallHint(preset, cliName) {
|
|
|
52
52
|
return (`[acp] ${preset} preset: 外部 CLI \`${cliName}\` が PATH にありません。\n` +
|
|
53
53
|
' 必要な CLI をインストールして PATH に追加してください。');
|
|
54
54
|
}
|
|
55
|
-
function validateBuiltinPreset(preset, fromModuleUrl) {
|
|
55
|
+
function validateBuiltinPreset(preset, piRuntime, fromModuleUrl) {
|
|
56
56
|
const moduleUrl = fromModuleUrl ?? import.meta.url;
|
|
57
|
+
if (preset === 'pi' && piRuntime === 'builtin') {
|
|
58
|
+
try {
|
|
59
|
+
resolveBuiltinPiAcpEntrypointPath(moduleUrl);
|
|
60
|
+
assertBuiltinPiNodeVersionSupported();
|
|
61
|
+
resolveBundledPiCliPath(moduleUrl);
|
|
62
|
+
resolveBuiltinPiAcpWrapperPath();
|
|
63
|
+
resolveBuiltinPiCliEnvWrapperPath(moduleUrl);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw new AcpPresetPrerequisiteError(error instanceof Error ? error.message : String(error));
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
57
70
|
if (preset === 'cursor') {
|
|
58
71
|
if (!resolveAcpBinFromPath(ACP_PRESET_BIN_NAMES.cursor)) {
|
|
59
72
|
throw new AcpPresetPrerequisiteError(formatAcpPresetInstallHint('cursor'));
|
|
@@ -70,7 +83,7 @@ function validateBuiltinPreset(preset, fromModuleUrl) {
|
|
|
70
83
|
throw new AcpPresetPrerequisiteError(formatAcpExternalCliInstallHint(preset, externalCli));
|
|
71
84
|
}
|
|
72
85
|
}
|
|
73
|
-
/** spawn 前に preset
|
|
86
|
+
/** spawn 前に preset 前提(同梱または PATH adapter / 外部 CLI)を検証する。 */
|
|
74
87
|
export function validateAcpPresetPrerequisites(spawn, options) {
|
|
75
88
|
if (spawn.preset === 'custom') {
|
|
76
89
|
if (!resolveAcpBinFromPath(spawn.command)) {
|
|
@@ -81,7 +94,7 @@ export function validateAcpPresetPrerequisites(spawn, options) {
|
|
|
81
94
|
if (!isBuiltinAcpPresetId(spawn.preset)) {
|
|
82
95
|
throw new AcpPresetPrerequisiteError(`[acp] Unknown ACP preset "${spawn.preset}".`);
|
|
83
96
|
}
|
|
84
|
-
validateBuiltinPreset(spawn.preset, options?.fromModuleUrl);
|
|
97
|
+
validateBuiltinPreset(spawn.preset, spawn.piRuntime, options?.fromModuleUrl);
|
|
85
98
|
}
|
|
86
99
|
/** 検証済み spawn の command を bundled / PATH 解決後の絶対パスへ置き換える。 */
|
|
87
100
|
export function resolveAcpSpawnExecutable(spawn, options) {
|
|
@@ -92,6 +105,13 @@ export function resolveAcpSpawnExecutable(spawn, options) {
|
|
|
92
105
|
if (!isBuiltinAcpPresetId(spawn.preset)) {
|
|
93
106
|
throw new Error(`Unknown ACP preset "${spawn.preset}"`);
|
|
94
107
|
}
|
|
108
|
+
if (spawn.preset === 'pi' && spawn.piRuntime === 'builtin') {
|
|
109
|
+
return {
|
|
110
|
+
...spawn,
|
|
111
|
+
command: process.execPath,
|
|
112
|
+
args: [resolveBuiltinPiAcpWrapperPath(), ...spawn.args],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
95
115
|
const resolved = resolveAcpBin(spawn.preset, options?.fromModuleUrl ?? import.meta.url);
|
|
96
116
|
if (!resolved) {
|
|
97
117
|
throw new AcpPresetPrerequisiteError(formatAcpPresetInstallHint(spawn.preset));
|
|
@@ -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,
|
|
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,10 +13,20 @@ 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
|
+
/**
|
|
17
|
+
* Pi backend only: load and expand Pi prompt templates and explicit skill
|
|
18
|
+
* invocations; omitted means enabled.
|
|
19
|
+
*/
|
|
20
|
+
piPromptResources?: boolean;
|
|
16
21
|
/** Pi backend only: use Pi standard skill discovery; omitted means enabled. */
|
|
17
22
|
piSkills?: boolean;
|
|
18
23
|
/** Pi backend only: load configured extension modules and tools; omitted means enabled. */
|
|
19
24
|
piExtensions?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Pi backend only: register Pi's built-in MCP, Codemode, and Tool Search
|
|
27
|
+
* extensions; omitted means enabled.
|
|
28
|
+
*/
|
|
29
|
+
piInternalExtensions?: boolean;
|
|
20
30
|
/** Pi backend only: called when `compaction_end` reports a successful compaction. */
|
|
21
31
|
onContextCompaction?: () => void;
|
|
22
32
|
apiKey?: string;
|
|
@@ -30,10 +40,12 @@ export interface ConductorAgentCreateOptions {
|
|
|
30
40
|
mcpServers?: McpServerConfigMap;
|
|
31
41
|
/** Pi-only resource root overrides; ignored by other backends. */
|
|
32
42
|
pi?: ConductorPiResourceOptions;
|
|
33
|
-
/** Pi-only
|
|
43
|
+
/** Pi-only Issue identity used to resolve the canonical transcript directory. */
|
|
44
|
+
issueUrl?: string;
|
|
45
|
+
/** Pi-only explicit transcript directory override. Defaults to the canonical user store from issueUrl. */
|
|
34
46
|
sessionDir?: string;
|
|
35
|
-
/** Pi
|
|
36
|
-
|
|
47
|
+
/** CWDs from the saved session whose Pi transcript may be resumed in this clone. */
|
|
48
|
+
resumeCwds?: readonly string[];
|
|
37
49
|
customTools?: ConductorToolSet;
|
|
38
50
|
onStreamText?: (text: string) => void;
|
|
39
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,0BAA0B;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,0EAA0E;AAC1E,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qFAAqF;IACrF,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,kEAAkE;IAClE,EAAE,CAAC,EAAE,0BAA0B,CAAC;IAChC,
|
|
1
|
+
{"version":3,"file":"conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { SdkAuthStatus, SdkLoginResult } from '@cursor/sdk';
|
|
2
|
-
import type
|
|
3
|
-
import { type PiConductorAuthOptions, type PiConductorAuthStatus, type PiConductorLoginResult, type PiConductorLogoutResult } from './conductor-pi-auth.js';
|
|
2
|
+
import { type PiConductorAuthOptions, type PiConductorAuthStatus, type PiConductorLoginResult, type PiConductorLogoutResult, type PiConductorOAuthLoginCallbacks } from './conductor-pi-auth.js';
|
|
4
3
|
import type { ConductorBackend, EnsembleConfig } from '../config/types.js';
|
|
5
4
|
import type { ConductorSendResult } from './conductor-agent.js';
|
|
6
5
|
/**
|
|
@@ -21,7 +20,7 @@ export interface ConductorAuthOptions {
|
|
|
21
20
|
provider?: string;
|
|
22
21
|
modelId?: string;
|
|
23
22
|
apiKey?: string;
|
|
24
|
-
oauthCallbacks?:
|
|
23
|
+
oauthCallbacks?: PiConductorOAuthLoginCallbacks;
|
|
25
24
|
}
|
|
26
25
|
export type ConductorAuthStatus = SdkAuthStatus | PiConductorAuthStatus;
|
|
27
26
|
export type ConductorLoginResult = SdkLoginResult | PiConductorLoginResult;
|
|
@@ -46,6 +45,8 @@ export declare function isConductorAuthError(message: string): boolean;
|
|
|
46
45
|
export declare function isBareConductorSendAuthError(result: ConductorSendResult): boolean;
|
|
47
46
|
/** send 結果が auth-like(明示 message または保守的 bare error)か。 */
|
|
48
47
|
export declare function isConductorSendAuthError(result: ConductorSendResult): boolean;
|
|
48
|
+
/** Pi の API key 解決が provider request 前に失敗した結果か。 */
|
|
49
|
+
export declare function isPiApiKeyResolutionFailure(result: ConductorSendResult): boolean;
|
|
49
50
|
/** auth エラー時に stderr へ出す短い復旧手順。 */
|
|
50
51
|
export declare function formatConductorAuthRecoveryHint(agentId?: string, options?: ConductorAuthRecoveryOptions): string;
|
|
51
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conductor-auth.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"conductor-auth.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAML,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACpC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAEiD,CAAC;AAElF,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,gBAAgB,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,qBAAqB,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,sBAAsB,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,uBAAuB,CAAC;AAEnE,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,EAAE,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,kFAAkF;AAClF,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAM,GACzE,gBAAgB,CASlB;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAejF;AAED,yDAAyD;AACzD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAW7E;AAED,mDAAmD;AACnD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAYT;AAED,mCAAmC;AACnC,wBAAgB,+BAA+B,CAC7C,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,4BAAiC,GACzC,MAAM,CA+BR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5E;AAED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAU5E;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAS9B;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAED,wBAAsB,eAAe,CACnC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAShC"}
|
|
@@ -22,7 +22,7 @@ export function resolveConductorAuthBackend(options = {}) {
|
|
|
22
22
|
}
|
|
23
23
|
/** RunResult.error 等の message が conductor 認証失敗か判定する。 */
|
|
24
24
|
export function isConductorAuthError(message) {
|
|
25
|
-
return /authentication error|not logged in|invalid api key|no api key(?: for provider)?\s*[: ]|unauthenticated|unauthorized|\b(?:http\s*)?401\b|try logging out/i.test(message);
|
|
25
|
+
return /authentication error|not logged in|invalid api key|api key auth failed for provider|no api key(?: for provider)?\s*[: ]|unauthenticated|unauthorized|\b(?:http\s*)?401\b|try logging out/i.test(message);
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* SDK idle / stale 接続で message 欠落の bare `status: "error"` が返る既知ケース。
|
|
@@ -49,11 +49,24 @@ export function isConductorSendAuthError(result) {
|
|
|
49
49
|
if (result.status !== 'error') {
|
|
50
50
|
return false;
|
|
51
51
|
}
|
|
52
|
+
if (result.error?.code?.trim().toLowerCase() === 'auth') {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
52
55
|
if (isConductorAuthError(result.error?.message ?? '')) {
|
|
53
56
|
return true;
|
|
54
57
|
}
|
|
55
58
|
return isBareConductorSendAuthError(result);
|
|
56
59
|
}
|
|
60
|
+
/** Pi の API key 解決が provider request 前に失敗した結果か。 */
|
|
61
|
+
export function isPiApiKeyResolutionFailure(result) {
|
|
62
|
+
if (result.status !== 'error' ||
|
|
63
|
+
result.error?.code?.trim().toLowerCase() !== 'auth') {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const message = result.error.message;
|
|
67
|
+
return (/api key auth failed for provider\b/i.test(message) &&
|
|
68
|
+
/failed to resolve api key for (?:pi )?provider\b/i.test(message));
|
|
69
|
+
}
|
|
57
70
|
/** auth エラー時に stderr へ出す短い復旧手順。 */
|
|
58
71
|
export function formatConductorAuthRecoveryHint(agentId, options = {}) {
|
|
59
72
|
const resume = agentId ? `--resume ${agentId}` : '--resume <agentId>';
|
|
@@ -61,10 +74,13 @@ export function formatConductorAuthRecoveryHint(agentId, options = {}) {
|
|
|
61
74
|
const provider = options.provider ?? '<provider>';
|
|
62
75
|
const agentDir = options.pi?.agentDir ?? '~/.ensemble/pi';
|
|
63
76
|
const resumeInstruction = options.resumeInstruction ??
|
|
64
|
-
|
|
77
|
+
`認証設定を直した後、同じ TTY では /reconnect を試してください。再送されない場合や tool が始まっていた場合は状態を確認し、新しい operator message で未完了分を伝えてください。process 終了後は ensemble issue ... ${resume} で session を再開できます。`;
|
|
65
78
|
return (`[auth] Pi 認証エラー(provider=${provider})。` +
|
|
66
|
-
`ensemble auth login --provider ${provider}
|
|
67
|
-
|
|
79
|
+
`API key を使う場合は、TTY で \`ensemble auth login --provider ${provider} --api-key-prompt\` ` +
|
|
80
|
+
`(非表示 prompt)を実行してください。非 TTY では \`ensemble auth login --provider ${provider} --api-key-stdin\` ` +
|
|
81
|
+
`に stdin から key を渡します。key を command line や hint に含めないでください。` +
|
|
82
|
+
`OAuth を使う場合は TTY で \`ensemble auth login --provider ${provider}\` を実行してください。` +
|
|
83
|
+
`${agentDir}/auth.json または request 時に使う環境変数 ${formatPiProviderEnvHint(provider)} も確認してください。` +
|
|
68
84
|
resumeInstruction);
|
|
69
85
|
}
|
|
70
86
|
if (process.env.CURSOR_API_KEY) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conductor-auth.js","sourceRoot":"","sources":["../../src/conductor/conductor-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"conductor-auth.js","sourceRoot":"","sources":["../../src/conductor/conductor-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { ConductorSendResult } from './conductor-agent.js';
|
|
2
|
+
import { type ConductorRecoveryAttemptMetadata, type ConductorRecoveryBackend, type ConductorRecoveryFailureClass, type ConductorRecoveryReservation, type ConductorRecoverySnapshotSummary, type ConductorRecoveryWorkflow, ConductorRecoveryInbox } from './conductor-recovery-inbox.js';
|
|
3
|
+
export type ConductorDispatchState = 'ready' | 'in_flight' | 'reconnecting' | 'unavailable' | 'attention';
|
|
4
|
+
export interface ConductorDispatchLease<T> {
|
|
5
|
+
readonly id: number;
|
|
6
|
+
readonly attemptId: string;
|
|
7
|
+
readonly kind: 'send';
|
|
8
|
+
readonly payload: T;
|
|
9
|
+
readonly token: symbol;
|
|
10
|
+
}
|
|
11
|
+
export interface ConductorReconnectLease {
|
|
12
|
+
readonly id: number;
|
|
13
|
+
readonly attemptId: string;
|
|
14
|
+
readonly kind: 'reconnect';
|
|
15
|
+
readonly token: symbol;
|
|
16
|
+
}
|
|
17
|
+
export interface SettleConductorDispatchInput<T> {
|
|
18
|
+
lifecycle: ConductorDispatchLifecycle<T>;
|
|
19
|
+
lease: ConductorDispatchLease<T>;
|
|
20
|
+
inbox?: ConductorRecoveryInbox;
|
|
21
|
+
reservation?: ConductorRecoveryReservation;
|
|
22
|
+
workflow: ConductorRecoveryWorkflow;
|
|
23
|
+
backend: ConductorRecoveryBackend;
|
|
24
|
+
sendCount: number;
|
|
25
|
+
sourceKey: string;
|
|
26
|
+
eventTypes: readonly string[];
|
|
27
|
+
operatorInputTexts: readonly string[];
|
|
28
|
+
result: ConductorSendResult;
|
|
29
|
+
automaticReconnect?: ConductorRecoveryAttemptMetadata['automaticReconnect'];
|
|
30
|
+
toolCallStarted: boolean;
|
|
31
|
+
/** Shutdown does not leave process-local recovery content behind. */
|
|
32
|
+
captureFailure?: boolean;
|
|
33
|
+
/** A workflow-specific retry can keep its existing settlement contract. */
|
|
34
|
+
requiresConfirmation?: boolean;
|
|
35
|
+
failureClass?: ConductorRecoveryFailureClass;
|
|
36
|
+
/** A rejected send closes the handle until an explicit reconnect. */
|
|
37
|
+
agentAvailable?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface SettleConductorDispatchResult {
|
|
40
|
+
completed: boolean;
|
|
41
|
+
failureClass?: ConductorRecoveryFailureClass;
|
|
42
|
+
snapshot?: ConductorRecoverySnapshotSummary;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Applies one final send result to the shared lifecycle and optional inbox.
|
|
46
|
+
* Workflow queues retain their own event-specific acknowledgement behavior.
|
|
47
|
+
*/
|
|
48
|
+
export declare function settleConductorDispatch<T>(input: SettleConductorDispatchInput<T>): SettleConductorDispatchResult;
|
|
49
|
+
/**
|
|
50
|
+
* Owns the single in-flight conductor operation and its post-failure gate.
|
|
51
|
+
* Workflow queues keep their selectors and settle their own event types.
|
|
52
|
+
*/
|
|
53
|
+
export declare class ConductorDispatchLifecycle<T> {
|
|
54
|
+
private sequence;
|
|
55
|
+
private activeLease;
|
|
56
|
+
private agentAvailable;
|
|
57
|
+
private attentionAttemptId;
|
|
58
|
+
private lastFailureClass;
|
|
59
|
+
private readonly listeners;
|
|
60
|
+
get state(): ConductorDispatchState;
|
|
61
|
+
get available(): boolean;
|
|
62
|
+
get confirmationRequired(): boolean;
|
|
63
|
+
get pendingAttemptId(): string | undefined;
|
|
64
|
+
get lastFailure(): ConductorRecoveryFailureClass | undefined;
|
|
65
|
+
get canDispatch(): boolean;
|
|
66
|
+
subscribe(listener: () => void): () => void;
|
|
67
|
+
beginSend(payload: T): ConductorDispatchLease<T> | undefined;
|
|
68
|
+
beginReconnect(): ConductorReconnectLease | undefined;
|
|
69
|
+
settleSend(lease: ConductorDispatchLease<T>, outcome: {
|
|
70
|
+
completed: boolean;
|
|
71
|
+
failureClass?: ConductorRecoveryFailureClass;
|
|
72
|
+
/** Omit to preserve availability reported by an automatic reconnect. */
|
|
73
|
+
agentAvailable?: boolean;
|
|
74
|
+
/** Report-only retries keep their existing workflow-specific contract. */
|
|
75
|
+
requiresConfirmation?: boolean;
|
|
76
|
+
}): void;
|
|
77
|
+
settleReconnect(lease: ConductorReconnectLease, succeeded: boolean): void;
|
|
78
|
+
setAgentAvailable(available: boolean): void;
|
|
79
|
+
/** Explicit operator confirmation releases the later-dispatch gate. */
|
|
80
|
+
confirmRecovery(): boolean;
|
|
81
|
+
wake(): void;
|
|
82
|
+
private assertActiveLease;
|
|
83
|
+
private notify;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=conductor-dispatch-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conductor-dispatch-lifecycle.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-dispatch-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { classifyConductorRecoveryFailure, CONDUCTOR_RECOVERY_INPUT_BYTE_LIMIT, } from './conductor-recovery-inbox.js';
|
|
2
|
+
/**
|
|
3
|
+
* Applies one final send result to the shared lifecycle and optional inbox.
|
|
4
|
+
* Workflow queues retain their own event-specific acknowledgement behavior.
|
|
5
|
+
*/
|
|
6
|
+
export function settleConductorDispatch(input) {
|
|
7
|
+
const completed = input.result.status === 'finished' ||
|
|
8
|
+
input.result.status === 'completed' ||
|
|
9
|
+
// The Issue workflow has historically treated `running` as a normal
|
|
10
|
+
// nonterminal result and continues consuming later events. The
|
|
11
|
+
// operator-agent workflow keeps its narrower acknowledgement contract so
|
|
12
|
+
// watched reports can retry while user input waits for confirmation.
|
|
13
|
+
(input.workflow === 'issue' && input.result.status === 'running');
|
|
14
|
+
if (completed) {
|
|
15
|
+
if (input.reservation)
|
|
16
|
+
input.inbox?.release(input.reservation);
|
|
17
|
+
input.lifecycle.settleSend(input.lease, { completed: true });
|
|
18
|
+
return { completed: true };
|
|
19
|
+
}
|
|
20
|
+
const failureClass = classifyConductorRecoveryFailure(input.result);
|
|
21
|
+
let snapshot;
|
|
22
|
+
const shouldCapture = input.captureFailure !== false;
|
|
23
|
+
if (shouldCapture && input.operatorInputTexts.length > 0) {
|
|
24
|
+
if (!input.inbox || !input.reservation) {
|
|
25
|
+
throw new Error('Operator input failed without an admitted recovery inbox reservation.');
|
|
26
|
+
}
|
|
27
|
+
if (input.operatorInputTexts.reduce((total, text) => total + Buffer.byteLength(text, 'utf8'), 0) > CONDUCTOR_RECOVERY_INPUT_BYTE_LIMIT) {
|
|
28
|
+
throw new Error('Operator input exceeded the recovery admission limit after selection.');
|
|
29
|
+
}
|
|
30
|
+
const metadata = {
|
|
31
|
+
recoveryId: `conductor-recovery-${input.lease.attemptId}`,
|
|
32
|
+
workflow: input.workflow,
|
|
33
|
+
backend: input.backend,
|
|
34
|
+
sendCount: input.sendCount,
|
|
35
|
+
...(input.result.runId ? { runId: input.result.runId } : {}),
|
|
36
|
+
sourceKey: input.sourceKey,
|
|
37
|
+
eventTypes: [...new Set(input.eventTypes)],
|
|
38
|
+
status: input.result.status,
|
|
39
|
+
failureClass,
|
|
40
|
+
...(input.automaticReconnect
|
|
41
|
+
? { automaticReconnect: { ...input.automaticReconnect } }
|
|
42
|
+
: {}),
|
|
43
|
+
automaticRetryAttempts: 0,
|
|
44
|
+
toolCallStarted: input.toolCallStarted,
|
|
45
|
+
};
|
|
46
|
+
snapshot = input.inbox.commit(input.reservation, metadata, input.operatorInputTexts);
|
|
47
|
+
if (!snapshot) {
|
|
48
|
+
throw new Error('Could not commit a reserved operator input to the recovery inbox.');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (input.reservation) {
|
|
52
|
+
input.inbox?.release(input.reservation);
|
|
53
|
+
}
|
|
54
|
+
input.lifecycle.settleSend(input.lease, {
|
|
55
|
+
completed: false,
|
|
56
|
+
failureClass,
|
|
57
|
+
...(input.agentAvailable !== undefined
|
|
58
|
+
? { agentAvailable: input.agentAvailable }
|
|
59
|
+
: {}),
|
|
60
|
+
...(input.requiresConfirmation !== undefined
|
|
61
|
+
? { requiresConfirmation: input.requiresConfirmation }
|
|
62
|
+
: {}),
|
|
63
|
+
});
|
|
64
|
+
return { completed: false, failureClass, ...(snapshot ? { snapshot } : {}) };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Owns the single in-flight conductor operation and its post-failure gate.
|
|
68
|
+
* Workflow queues keep their selectors and settle their own event types.
|
|
69
|
+
*/
|
|
70
|
+
export class ConductorDispatchLifecycle {
|
|
71
|
+
sequence = 0;
|
|
72
|
+
activeLease;
|
|
73
|
+
agentAvailable = true;
|
|
74
|
+
attentionAttemptId;
|
|
75
|
+
lastFailureClass;
|
|
76
|
+
listeners = new Set();
|
|
77
|
+
get state() {
|
|
78
|
+
if (this.activeLease?.kind === 'send')
|
|
79
|
+
return 'in_flight';
|
|
80
|
+
if (this.activeLease?.kind === 'reconnect')
|
|
81
|
+
return 'reconnecting';
|
|
82
|
+
if (!this.agentAvailable)
|
|
83
|
+
return 'unavailable';
|
|
84
|
+
if (this.attentionAttemptId !== undefined)
|
|
85
|
+
return 'attention';
|
|
86
|
+
return 'ready';
|
|
87
|
+
}
|
|
88
|
+
get available() {
|
|
89
|
+
return this.agentAvailable;
|
|
90
|
+
}
|
|
91
|
+
get confirmationRequired() {
|
|
92
|
+
return this.attentionAttemptId !== undefined;
|
|
93
|
+
}
|
|
94
|
+
get pendingAttemptId() {
|
|
95
|
+
return this.attentionAttemptId;
|
|
96
|
+
}
|
|
97
|
+
get lastFailure() {
|
|
98
|
+
return this.lastFailureClass;
|
|
99
|
+
}
|
|
100
|
+
get canDispatch() {
|
|
101
|
+
return (this.activeLease === undefined &&
|
|
102
|
+
this.agentAvailable &&
|
|
103
|
+
this.attentionAttemptId === undefined);
|
|
104
|
+
}
|
|
105
|
+
subscribe(listener) {
|
|
106
|
+
this.listeners.add(listener);
|
|
107
|
+
return () => this.listeners.delete(listener);
|
|
108
|
+
}
|
|
109
|
+
beginSend(payload) {
|
|
110
|
+
if (!this.canDispatch)
|
|
111
|
+
return undefined;
|
|
112
|
+
const id = ++this.sequence;
|
|
113
|
+
const token = Symbol(`conductor-send-${id}`);
|
|
114
|
+
this.activeLease = { token, kind: 'send', id };
|
|
115
|
+
this.notify();
|
|
116
|
+
return {
|
|
117
|
+
id,
|
|
118
|
+
attemptId: String(id),
|
|
119
|
+
kind: 'send',
|
|
120
|
+
payload,
|
|
121
|
+
token,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
beginReconnect() {
|
|
125
|
+
if (this.activeLease !== undefined)
|
|
126
|
+
return undefined;
|
|
127
|
+
const id = ++this.sequence;
|
|
128
|
+
const token = Symbol(`conductor-reconnect-${id}`);
|
|
129
|
+
this.activeLease = { token, kind: 'reconnect', id };
|
|
130
|
+
this.notify();
|
|
131
|
+
return { id, attemptId: String(id), kind: 'reconnect', token };
|
|
132
|
+
}
|
|
133
|
+
settleSend(lease, outcome) {
|
|
134
|
+
this.assertActiveLease(lease, 'send');
|
|
135
|
+
this.activeLease = undefined;
|
|
136
|
+
if (outcome.agentAvailable !== undefined) {
|
|
137
|
+
this.agentAvailable = outcome.agentAvailable;
|
|
138
|
+
}
|
|
139
|
+
if (outcome.completed) {
|
|
140
|
+
this.attentionAttemptId = undefined;
|
|
141
|
+
this.lastFailureClass = undefined;
|
|
142
|
+
}
|
|
143
|
+
else if (outcome.requiresConfirmation !== false) {
|
|
144
|
+
this.attentionAttemptId = lease.attemptId;
|
|
145
|
+
this.lastFailureClass = outcome.failureClass;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.lastFailureClass = outcome.failureClass;
|
|
149
|
+
}
|
|
150
|
+
this.notify();
|
|
151
|
+
}
|
|
152
|
+
settleReconnect(lease, succeeded) {
|
|
153
|
+
this.assertActiveLease(lease, 'reconnect');
|
|
154
|
+
this.activeLease = undefined;
|
|
155
|
+
this.agentAvailable = succeeded;
|
|
156
|
+
this.notify();
|
|
157
|
+
}
|
|
158
|
+
setAgentAvailable(available) {
|
|
159
|
+
if (this.agentAvailable === available)
|
|
160
|
+
return;
|
|
161
|
+
this.agentAvailable = available;
|
|
162
|
+
this.notify();
|
|
163
|
+
}
|
|
164
|
+
/** Explicit operator confirmation releases the later-dispatch gate. */
|
|
165
|
+
confirmRecovery() {
|
|
166
|
+
if (this.activeLease !== undefined || this.attentionAttemptId === undefined) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
this.attentionAttemptId = undefined;
|
|
170
|
+
this.notify();
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
wake() {
|
|
174
|
+
this.notify();
|
|
175
|
+
}
|
|
176
|
+
assertActiveLease(lease, kind) {
|
|
177
|
+
if (this.activeLease?.token !== lease.token ||
|
|
178
|
+
this.activeLease.id !== lease.id ||
|
|
179
|
+
this.activeLease.kind !== kind ||
|
|
180
|
+
lease.kind !== kind) {
|
|
181
|
+
throw new Error(`Cannot settle inactive conductor ${kind} lease.`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
notify() {
|
|
185
|
+
for (const listener of [...this.listeners]) {
|
|
186
|
+
listener();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=conductor-dispatch-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conductor-dispatch-lifecycle.js","sourceRoot":"","sources":["../../src/conductor/conductor-dispatch-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,12 +19,27 @@ export interface ConductorProviderHistoryResult {
|
|
|
19
19
|
messages: ConductorProviderHistoryMessage[];
|
|
20
20
|
hasMore: boolean;
|
|
21
21
|
}
|
|
22
|
+
/** Free-text fields in each returned provider-history message. */
|
|
23
|
+
export type ConductorProviderHistoryTextField = 'inbound' | 'text';
|
|
24
|
+
/**
|
|
25
|
+
* Caller-provided transformation for provider-history free text.
|
|
26
|
+
* It does not guarantee that secrets are detected or removed.
|
|
27
|
+
*/
|
|
28
|
+
export type ConductorProviderHistorySanitizer = (value: string, field: ConductorProviderHistoryTextField) => string | Promise<string>;
|
|
22
29
|
/** Read the latest eligible user/final-response pairs from a provider session. */
|
|
23
30
|
export declare function listConductorProviderHistory(input: {
|
|
24
31
|
backend: ConductorBackend;
|
|
25
32
|
conductorAgentId: string;
|
|
26
33
|
cwd: string;
|
|
34
|
+
/** Repository root for Pi's user-level transcript path; defaults to cwd. */
|
|
35
|
+
repoRoot?: string;
|
|
36
|
+
/** Issue URL scopes Pi transcripts to their canonical repository slug. */
|
|
37
|
+
issueUrl?: string;
|
|
38
|
+
/** Saved workspaces used only to resolve CWD metadata for canonical transcripts. */
|
|
39
|
+
resumeCwds?: readonly string[];
|
|
27
40
|
cursorBootstrapRunId?: string;
|
|
28
41
|
query: ConductorProviderHistoryQuery;
|
|
42
|
+
/** Optional post-page text transformation; omitted to preserve raw values. */
|
|
43
|
+
sanitizer?: ConductorProviderHistorySanitizer;
|
|
29
44
|
}): Promise<ConductorProviderHistoryResult>;
|
|
30
45
|
//# sourceMappingURL=conductor-history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conductor-history.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conductor-history.d.ts","sourceRoot":"","sources":["../../src/conductor/conductor-history.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,+BAA+B,EAAE,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,kEAAkE;AAClE,MAAM,MAAM,iCAAiC,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,iCAAiC,KACrC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,kFAAkF;AAClF,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,6BAA6B,CAAC;IACrC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,iCAAiC,CAAC;CAC/C,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAuC1C"}
|