@agents-ensemble/core 0.21.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 +2 -3
- package/dist/conductor/conductor-auth.d.ts.map +1 -1
- package/dist/conductor/conductor-auth.js +5 -2
- 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 +6 -0
- package/dist/conductor/conductor-history.d.ts.map +1 -1
- package/dist/conductor/conductor-history.js +11 -6
- 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 +27 -5
- package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -1
- package/dist/conductor/conductor-send-reconnect.js +88 -39
- package/dist/conductor/conductor-send-reconnect.js.map +1 -1
- package/dist/conductor/conductor-session-driver.d.ts +32 -7
- package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
- package/dist/conductor/conductor-session-driver.js +474 -233
- package/dist/conductor/conductor-session-driver.js.map +1 -1
- package/dist/conductor/conductor-session.d.ts +2 -0
- package/dist/conductor/conductor-session.d.ts.map +1 -1
- package/dist/conductor/conductor-session.js +404 -156
- 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 +15 -6
- package/dist/conductor/index.d.ts.map +1 -1
- package/dist/conductor/index.js +8 -4
- package/dist/conductor/index.js.map +1 -1
- package/dist/conductor/operator-command.d.ts +1 -1
- package/dist/conductor/operator-command.js +1 -1
- package/dist/conductor/operator-command.js.map +1 -1
- package/dist/conductor/operator-input-binding.d.ts +12 -0
- package/dist/conductor/operator-input-binding.d.ts.map +1 -1
- package/dist/conductor/pi-auth-recovery-snapshot-store.d.ts +4 -1
- package/dist/conductor/pi-auth-recovery-snapshot-store.d.ts.map +1 -1
- package/dist/conductor/pi-auth-recovery-snapshot-store.js +4 -1
- package/dist/conductor/pi-auth-recovery-snapshot-store.js.map +1 -1
- 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 +272 -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/session-event.d.ts +15 -2
- 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 +1 -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 +25 -4
- 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 +31 -2
- package/dist/conductor/session/select-dispatch-batch.js.map +1 -1
- package/dist/conductor/session/session-event-queue.d.ts +5 -0
- package/dist/conductor/session/session-event-queue.d.ts.map +1 -1
- package/dist/conductor/session/session-event-queue.js +41 -4
- 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 +4 -2
- 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 +17 -4
- package/dist/operator-runtime.d.ts.map +1 -1
- package/dist/operator-runtime.js +12 -3
- 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 +4 -3
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -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 +77 -10
- package/dist/session/session-resume-store.d.ts.map +1 -1
- package/dist/session/session-resume-store.js +346 -83
- package/dist/session/session-resume-store.js.map +1 -1
- package/dist/session/session-snapshot-paths.d.ts +7 -1
- package/dist/session/session-snapshot-paths.d.ts.map +1 -1
- package/dist/session/session-snapshot-paths.js +29 -26
- package/dist/session/session-snapshot-paths.js.map +1 -1
- 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 +13 -1
- package/dist/session/worker-session-history.d.ts.map +1 -1
- package/dist/session/worker-session-history.js +171 -50
- package/dist/session/worker-session-history.js.map +1 -1
- 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
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
setlocal
|
|
3
|
+
|
|
4
|
+
if not defined ENSEMBLE_PI_CLI_NODE (
|
|
5
|
+
echo [acp] builtin Pi Node.js executable was not configured 1>&2
|
|
6
|
+
exit /b 1
|
|
7
|
+
)
|
|
8
|
+
if not defined ENSEMBLE_PI_CLI_EXECUTABLE (
|
|
9
|
+
echo [acp] builtin Pi CLI was not configured 1>&2
|
|
10
|
+
exit /b 1
|
|
11
|
+
)
|
|
12
|
+
if not defined ENSEMBLE_PI_CLI_HOME (
|
|
13
|
+
echo [acp] builtin Pi CLI HOME was not configured 1>&2
|
|
14
|
+
exit /b 1
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
set "piNode=%ENSEMBLE_PI_CLI_NODE%"
|
|
18
|
+
set "piCli=%ENSEMBLE_PI_CLI_EXECUTABLE%"
|
|
19
|
+
set "HOME=%ENSEMBLE_PI_CLI_HOME%"
|
|
20
|
+
set "USERPROFILE=%ENSEMBLE_PI_CLI_USERPROFILE%"
|
|
21
|
+
set "ENSEMBLE_PI_CLI_NODE="
|
|
22
|
+
set "ENSEMBLE_PI_CLI_EXECUTABLE="
|
|
23
|
+
set "ENSEMBLE_PI_CLI_HOME="
|
|
24
|
+
set "ENSEMBLE_PI_CLI_USERPROFILE="
|
|
25
|
+
set "PI_ACP_PI_COMMAND="
|
|
26
|
+
|
|
27
|
+
"%piNode%" "%piCli%" %*
|
|
28
|
+
exit /b %ERRORLEVEL%
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
pi_node=${ENSEMBLE_PI_CLI_NODE:?builtin Pi Node.js executable was not configured}
|
|
5
|
+
pi_cli=${ENSEMBLE_PI_CLI_EXECUTABLE:?builtin Pi CLI was not configured}
|
|
6
|
+
pi_home=${ENSEMBLE_PI_CLI_HOME:?builtin Pi CLI HOME was not configured}
|
|
7
|
+
pi_userprofile=${ENSEMBLE_PI_CLI_USERPROFILE:-$pi_home}
|
|
8
|
+
|
|
9
|
+
HOME=$pi_home
|
|
10
|
+
USERPROFILE=$pi_userprofile
|
|
11
|
+
export HOME USERPROFILE
|
|
12
|
+
|
|
13
|
+
unset ENSEMBLE_PI_CLI_NODE
|
|
14
|
+
unset ENSEMBLE_PI_CLI_EXECUTABLE
|
|
15
|
+
unset ENSEMBLE_PI_CLI_HOME
|
|
16
|
+
unset ENSEMBLE_PI_CLI_USERPROFILE
|
|
17
|
+
unset PI_ACP_PI_COMMAND
|
|
18
|
+
|
|
19
|
+
exec "$pi_node" "$pi_cli" "$@"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { BuiltinAcpPresetId } from './resolve-acp-spawn.js';
|
|
2
|
-
/**
|
|
3
|
-
export declare const
|
|
2
|
+
/** preset ごとの同梱 adapter package と bin 名。cursor は bundled なし。 */
|
|
3
|
+
export declare const ACP_PRESET_ADAPTER_PACKAGES: Record<Exclude<BuiltinAcpPresetId, 'cursor'>, {
|
|
4
4
|
packageName: string;
|
|
5
5
|
binName: string;
|
|
6
6
|
}>;
|
|
7
7
|
export declare const ACP_PRESET_BIN_NAMES: Record<BuiltinAcpPresetId, string>;
|
|
8
|
-
/** pi preset が spawn 前に PATH 上で必要とする外部 CLI。 */
|
|
8
|
+
/** BYO runtime の pi preset が spawn 前に PATH 上で必要とする外部 CLI。 */
|
|
9
9
|
export declare const ACP_PRESET_EXTERNAL_CLI: Partial<Record<BuiltinAcpPresetId, string>>;
|
|
10
10
|
//# sourceMappingURL=acp-preset-bins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-preset-bins.d.ts","sourceRoot":"","sources":["../../src/acp/acp-preset-bins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,
|
|
1
|
+
{"version":3,"file":"acp-preset-bins.d.ts","sourceRoot":"","sources":["../../src/acp/acp-preset-bins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,gEAAgE;AAChE,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EACrC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAczC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAKnE,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAG/E,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
export const
|
|
1
|
+
/** preset ごとの同梱 adapter package と bin 名。cursor は bundled なし。 */
|
|
2
|
+
export const ACP_PRESET_ADAPTER_PACKAGES = {
|
|
3
3
|
claude: {
|
|
4
4
|
packageName: '@agentclientprotocol/claude-agent-acp',
|
|
5
5
|
binName: 'claude-agent-acp',
|
|
@@ -19,7 +19,7 @@ export const ACP_PRESET_BIN_NAMES = {
|
|
|
19
19
|
codex: 'codex-acp',
|
|
20
20
|
pi: 'pi-acp',
|
|
21
21
|
};
|
|
22
|
-
/** pi preset が spawn 前に PATH 上で必要とする外部 CLI。 */
|
|
22
|
+
/** BYO runtime の pi preset が spawn 前に PATH 上で必要とする外部 CLI。 */
|
|
23
23
|
export const ACP_PRESET_EXTERNAL_CLI = {
|
|
24
24
|
cursor: 'agent',
|
|
25
25
|
pi: 'pi',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-preset-bins.js","sourceRoot":"","sources":["../../src/acp/acp-preset-bins.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"acp-preset-bins.js","sourceRoot":"","sources":["../../src/acp/acp-preset-bins.ts"],"names":[],"mappings":"AAEA,gEAAgE;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAGpC;IACF,MAAM,EAAE;QACN,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,kBAAkB;KAC5B;IACD,KAAK,EAAE;QACL,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,WAAW;KACrB;IACD,EAAE,EAAE;QACF,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,QAAQ;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAuC;IACtE,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,WAAW;IAClB,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAgD;IAClF,MAAM,EAAE,OAAO;IACf,EAAE,EAAE,IAAI;CACT,CAAC"}
|
package/dist/acp/index.d.ts
CHANGED
|
@@ -5,13 +5,15 @@ export type { JsonRpcPeerOptions, NotificationHandler, RequestHandler, } from '.
|
|
|
5
5
|
export { AcpClient, terminateChildProcess } from './acp-client.js';
|
|
6
6
|
export type { AcpClientOptions, AcpClientStreams, ChildProcessTerminationOptions, SessionUpdateHandler, } from './acp-client.js';
|
|
7
7
|
export { spawnAcpProcess, runAcpSession, } from './acp-process.js';
|
|
8
|
-
export { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI,
|
|
8
|
+
export { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI, ACP_PRESET_ADAPTER_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
11
|
export { parseProfileAcpAuthenticate, resolveAcpAuthenticateStrategy, resolveBuiltinAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
12
12
|
export type { AcpAuthenticateStrategy } from './resolve-acp-auth.js';
|
|
13
13
|
export { ENSEMBLE_DEFAULT_ACP_CLI_ENV, resolveBuiltinAcpPreset, resolveDefaultAcpSpawn, resolveWorkerAcpSpawn, resolveWorkerAcpSpawns, acpSpawnFingerprint, computeAcpSpawnEnvDigest, 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
|
+
export { assertBuiltinPiNodeVersionSupported, configurePiWorkerRuntime, isBuiltinPiNodeVersionSupported, resolveBundledPiCliPath, BUILTIN_PI_MIN_NODE_VERSION, } from './pi-runtime.js';
|
|
16
|
+
export type { PiAcpRuntimeMarker } from './resolve-acp-spawn.js';
|
|
15
17
|
export type { SpawnAcpProcessOptions, RunAcpSessionOptions, ChildProcess, } from './acp-process.js';
|
|
16
18
|
export { AcpBridge } from './acp-bridge.js';
|
|
17
19
|
export type { AcpBridgeConnectOptions, AcpBridgeRunSessionOptions, } 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,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,
|
|
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,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,GAC5B,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,wBAAwB,EACxB,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,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,+BAA+B,EAC/B,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,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
|
@@ -2,11 +2,12 @@ export { NdJsonLineBuffer, parseMessage, serializeMessage, isJsonRpcResponse, is
|
|
|
2
2
|
export { JsonRpcPeer } from './json-rpc-peer.js';
|
|
3
3
|
export { AcpClient, terminateChildProcess } from './acp-client.js';
|
|
4
4
|
export { spawnAcpProcess, runAcpSession, } from './acp-process.js';
|
|
5
|
-
export { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI,
|
|
5
|
+
export { ACP_PRESET_BIN_NAMES, ACP_PRESET_EXTERNAL_CLI, ACP_PRESET_ADAPTER_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
8
|
export { parseProfileAcpAuthenticate, resolveAcpAuthenticateStrategy, resolveBuiltinAcpAuthenticateStrategy, } from './resolve-acp-auth.js';
|
|
9
9
|
export { ENSEMBLE_DEFAULT_ACP_CLI_ENV, resolveBuiltinAcpPreset, resolveDefaultAcpSpawn, resolveWorkerAcpSpawn, resolveWorkerAcpSpawns, acpSpawnFingerprint, computeAcpSpawnEnvDigest, assertAcpSpawnMatchesResume, resolvedAcpSpawnToOptions, listBuiltinAcpPresetIds, isBuiltinAcpPresetId, mergeAcpSpawnEnv, } from './resolve-acp-spawn.js';
|
|
10
|
+
export { assertBuiltinPiNodeVersionSupported, configurePiWorkerRuntime, isBuiltinPiNodeVersionSupported, resolveBundledPiCliPath, BUILTIN_PI_MIN_NODE_VERSION, } from './pi-runtime.js';
|
|
10
11
|
export { AcpBridge } from './acp-bridge.js';
|
|
11
12
|
export { DEFAULT_PERMISSION_DECISION, } from './types.js';
|
|
12
13
|
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;AAQnE,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,
|
|
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;AAQnE,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,GAC5B,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,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAQhC,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,+BAA+B,EAC/B,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAQzB,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-acp-wrapper.d.ts","sourceRoot":"","sources":["../../src/acp/pi-acp-wrapper.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { pathToFileURL } from 'node:url';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { ensureBuiltinPiConfig } from './pi-builtin-config.js';
|
|
5
|
+
import { preparePiAcpSessionStorage, resolvePiAcpSessionMapPaths, setPrivatePiSessionStorageUmask, } from './pi-session-map.js';
|
|
6
|
+
import { resolveBuiltinPiAcpEntrypointPath } from './pi-runtime.js';
|
|
7
|
+
setPrivatePiSessionStorageUmask();
|
|
8
|
+
async function main() {
|
|
9
|
+
const workerHome = process.env.HOME ??
|
|
10
|
+
process.env.USERPROFILE ??
|
|
11
|
+
process.env.PI_CODING_AGENT_DIR;
|
|
12
|
+
if (!workerHome) {
|
|
13
|
+
throw new Error('builtin worker HOME was not configured');
|
|
14
|
+
}
|
|
15
|
+
const legacyWorkerHome = process.env.ENSEMBLE_PI_LEGACY_WORKER_HOME || undefined;
|
|
16
|
+
const sessionDir = process.env.PI_CODING_AGENT_SESSION_DIR ?? join(workerHome, 'sessions');
|
|
17
|
+
const workerStorageRoot = dirname(dirname(workerHome));
|
|
18
|
+
preparePiAcpSessionStorage({
|
|
19
|
+
workerStorageParent: dirname(workerStorageRoot),
|
|
20
|
+
workerStorageRoot,
|
|
21
|
+
workerHome,
|
|
22
|
+
sessionsDir: sessionDir,
|
|
23
|
+
...(legacyWorkerHome ? { legacyWorkerHome } : {}),
|
|
24
|
+
mapPaths: resolvePiAcpSessionMapPaths(workerHome, legacyWorkerHome),
|
|
25
|
+
});
|
|
26
|
+
ensureBuiltinPiConfig({
|
|
27
|
+
...(process.env.PI_CODING_AGENT_DIR
|
|
28
|
+
? { agentDir: process.env.PI_CODING_AGENT_DIR }
|
|
29
|
+
: {}),
|
|
30
|
+
});
|
|
31
|
+
await import(pathToFileURL(resolveBuiltinPiAcpEntrypointPath()).href);
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await main();
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
38
|
+
process.stderr.write(`[acp] builtin Pi wrapper failed: ${detail}\n`);
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=pi-acp-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-acp-wrapper.js","sourceRoot":"","sources":["../../src/acp/pi-acp-wrapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAEpE,+BAA+B,EAAE,CAAC;AAElC,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,IAAI;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,SAAS,CAAC;IAC1D,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,0BAA0B,CAAC;QACzB,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC/C,iBAAiB;QACjB,UAAU;QACV,WAAW,EAAE,UAAU;QACvB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,QAAQ,EAAE,2BAA2B,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACpE,CAAC,CAAC;IAEH,qBAAqB,CAAC;QACpB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACjC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,aAAa,CAAC,iCAAiC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,IAAI,CAAC;IACH,MAAM,IAAI,EAAE,CAAC;AACf,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface EnsureBuiltinPiConfigOptions {
|
|
2
|
+
agentDir?: string;
|
|
3
|
+
defaultsPath?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Install the builtin Pi defaults only when the configured user root has no
|
|
7
|
+
* settings file. Existing Pi settings remain the user's source of truth.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ensureBuiltinPiConfig(options?: EnsureBuiltinPiConfigOptions): void;
|
|
10
|
+
//# sourceMappingURL=pi-builtin-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-builtin-config.d.ts","sourceRoot":"","sources":["../../src/acp/pi-builtin-config.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,4BAAiC,GACzC,IAAI,CAuBN"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { constants, copyFileSync, existsSync, mkdirSync, } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join, resolve } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
function bundledDefaultsPath() {
|
|
6
|
+
const path = fileURLToPath(new URL('../../assets/pi/settings.json', import.meta.url));
|
|
7
|
+
if (!existsSync(path)) {
|
|
8
|
+
throw new Error('builtin Pi wrapper: bundled settings.json is missing.');
|
|
9
|
+
}
|
|
10
|
+
return path;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Install the builtin Pi defaults only when the configured user root has no
|
|
14
|
+
* settings file. Existing Pi settings remain the user's source of truth.
|
|
15
|
+
*/
|
|
16
|
+
export function ensureBuiltinPiConfig(options = {}) {
|
|
17
|
+
const agentDir = resolve(options.agentDir ??
|
|
18
|
+
process.env.PI_CODING_AGENT_DIR ??
|
|
19
|
+
join(homedir(), '.pi', 'agent'));
|
|
20
|
+
const settingsPath = join(agentDir, 'settings.json');
|
|
21
|
+
const defaultsPath = options.defaultsPath ?? bundledDefaultsPath();
|
|
22
|
+
mkdirSync(agentDir, { recursive: true });
|
|
23
|
+
try {
|
|
24
|
+
copyFileSync(defaultsPath, settingsPath, constants.COPYFILE_EXCL);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (error &&
|
|
28
|
+
typeof error === 'object' &&
|
|
29
|
+
'code' in error &&
|
|
30
|
+
error.code === 'EEXIST') {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=pi-builtin-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-builtin-config.js","sourceRoot":"","sources":["../../src/acp/pi-builtin-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAOzC,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,aAAa,CACxB,IAAI,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC1D,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,OAAO,CACtB,OAAO,CAAC,QAAQ;QACd,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC/B,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAClC,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,EAAE,CAAC;IAEnE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,IAAI,KAAK;YACf,KAAK,CAAC,IAAI,KAAK,QAAQ,EACvB,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResolvedAcpSpawn } from './resolve-acp-spawn.js';
|
|
2
|
+
export declare const BUILTIN_PI_MIN_NODE_VERSION = "22.19.0";
|
|
3
|
+
export declare function isBuiltinPiNodeVersionSupported(version?: string): boolean;
|
|
4
|
+
export declare function assertBuiltinPiNodeVersionSupported(version?: string): void;
|
|
5
|
+
export declare function resolveBundledPiCliPath(fromModuleUrl?: string | URL): string;
|
|
6
|
+
/** Resolve the builtin-only alias to the pinned upstream pi-acp package. */
|
|
7
|
+
export declare function resolveBuiltinPiAcpEntrypointPath(fromModuleUrl?: string | URL): string;
|
|
8
|
+
/** Resolve the core-owned wrapper shipped beside the compiled ACP runtime. */
|
|
9
|
+
export declare function resolveBuiltinPiAcpWrapperPath(fromModuleUrl?: string | URL): string;
|
|
10
|
+
/** Resolve the small launcher that restores the operator home for Pi and shell children. */
|
|
11
|
+
export declare function resolveBuiltinPiCliEnvWrapperPath(fromModuleUrl?: string | URL): string;
|
|
12
|
+
/**
|
|
13
|
+
* Isolate upstream pi-acp's HOME-based map while preserving the operator's
|
|
14
|
+
* home for the Pi CLI and its shell children. Internal paths override matching
|
|
15
|
+
* acp.env values; explicit acp.env HOME / USERPROFILE become Pi CLI homes.
|
|
16
|
+
*/
|
|
17
|
+
export declare function configurePiWorkerRuntime(spawn: ResolvedAcpSpawn, input: {
|
|
18
|
+
repoRoot: string;
|
|
19
|
+
issueNumber: number;
|
|
20
|
+
workerName: string;
|
|
21
|
+
agentDir?: string;
|
|
22
|
+
}): ResolvedAcpSpawn;
|
|
23
|
+
//# sourceMappingURL=pi-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-runtime.d.ts","sourceRoot":"","sources":["../../src/acp/pi-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,eAAO,MAAM,2BAA2B,YAAY,CAAC;AAErD,wBAAgB,+BAA+B,CAC7C,OAAO,SAAwB,GAC9B,OAAO,CAaT;AAED,wBAAgB,mCAAmC,CACjD,OAAO,SAAwB,GAC9B,IAAI,CAMN;AAED,wBAAgB,uBAAuB,CACrC,aAAa,GAAE,MAAM,GAAG,GAAqB,GAC5C,MAAM,CAwDR;AAED,4EAA4E;AAC5E,wBAAgB,iCAAiC,CAC/C,aAAa,GAAE,MAAM,GAAG,GAAqB,GAC5C,MAAM,CAoDR;AAED,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAC5C,aAAa,GAAE,MAAM,GAAG,GAAqB,GAC5C,MAAM,CAOR;AAED,4FAA4F;AAC5F,wBAAgB,iCAAiC,CAC/C,aAAa,GAAE,MAAM,GAAG,GAAqB,GAC5C,MAAM,CAoBR;AA8BD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE;IACL,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,gBAAgB,CA+BlB"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { dirname, join, relative, resolve, sep } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { resolveEnsemblePaths } from '../ensemble-paths.js';
|
|
7
|
+
const PI_CODING_AGENT_PACKAGE = '@earendil-works/pi-coding-agent';
|
|
8
|
+
const BUILTIN_PI_ACP_PACKAGE = 'pi-acp-builtin';
|
|
9
|
+
const BUILTIN_PI_ACP_VERSION = '0.0.34';
|
|
10
|
+
export const BUILTIN_PI_MIN_NODE_VERSION = '22.19.0';
|
|
11
|
+
export function isBuiltinPiNodeVersionSupported(version = process.versions.node) {
|
|
12
|
+
const match = /^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/u.exec(version);
|
|
13
|
+
if (!match)
|
|
14
|
+
return false;
|
|
15
|
+
const actual = [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
16
|
+
const minimum = [22, 19, 0];
|
|
17
|
+
for (let index = 0; index < minimum.length; index += 1) {
|
|
18
|
+
if (actual[index] > minimum[index])
|
|
19
|
+
return true;
|
|
20
|
+
if (actual[index] < minimum[index])
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return match[4] === undefined;
|
|
24
|
+
}
|
|
25
|
+
export function assertBuiltinPiNodeVersionSupported(version = process.versions.node) {
|
|
26
|
+
if (!isBuiltinPiNodeVersionSupported(version)) {
|
|
27
|
+
throw new Error(`[acp] builtin Pi runtime requires Node.js ${BUILTIN_PI_MIN_NODE_VERSION} or later (current: ${version}). Use the BYO Pi runtime or upgrade Node.js.`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export function resolveBundledPiCliPath(fromModuleUrl = import.meta.url) {
|
|
31
|
+
const require = createRequire(fromModuleUrl);
|
|
32
|
+
const packageJsonPath = require
|
|
33
|
+
.resolve
|
|
34
|
+
.paths(PI_CODING_AGENT_PACKAGE)
|
|
35
|
+
?.map((nodeModulesPath) => join(nodeModulesPath, '@earendil-works', 'pi-coding-agent', 'package.json'))
|
|
36
|
+
.find(existsSync);
|
|
37
|
+
if (!packageJsonPath) {
|
|
38
|
+
throw new Error(`[acp] builtin Pi runtime could not resolve ${PI_CODING_AGENT_PACKAGE}. Reinstall @agents-ensemble/core with its dependencies.`);
|
|
39
|
+
}
|
|
40
|
+
const packageDirectory = dirname(packageJsonPath);
|
|
41
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
42
|
+
if (pkg.name !== PI_CODING_AGENT_PACKAGE) {
|
|
43
|
+
throw new Error(`[acp] builtin Pi runtime resolved an unexpected package for ${PI_CODING_AGENT_PACKAGE}.`);
|
|
44
|
+
}
|
|
45
|
+
const bin = typeof pkg.bin === 'string'
|
|
46
|
+
? pkg.bin
|
|
47
|
+
: pkg.bin &&
|
|
48
|
+
typeof pkg.bin === 'object' &&
|
|
49
|
+
!Array.isArray(pkg.bin)
|
|
50
|
+
? pkg.bin.pi
|
|
51
|
+
: undefined;
|
|
52
|
+
if (typeof bin !== 'string' || bin.trim() === '') {
|
|
53
|
+
throw new Error(`[acp] ${PI_CODING_AGENT_PACKAGE} does not declare the \`pi\` CLI bin.`);
|
|
54
|
+
}
|
|
55
|
+
const binPath = resolve(packageDirectory, bin);
|
|
56
|
+
const relativeBinPath = relative(packageDirectory, binPath);
|
|
57
|
+
if (relativeBinPath === '..' ||
|
|
58
|
+
relativeBinPath.startsWith(`..${sep}`) ||
|
|
59
|
+
!existsSync(binPath)) {
|
|
60
|
+
throw new Error(`[acp] ${PI_CODING_AGENT_PACKAGE} declares a missing or invalid \`pi\` CLI bin.`);
|
|
61
|
+
}
|
|
62
|
+
return binPath;
|
|
63
|
+
}
|
|
64
|
+
/** Resolve the builtin-only alias to the pinned upstream pi-acp package. */
|
|
65
|
+
export function resolveBuiltinPiAcpEntrypointPath(fromModuleUrl = import.meta.url) {
|
|
66
|
+
const require = createRequire(fromModuleUrl);
|
|
67
|
+
let packageJsonPath;
|
|
68
|
+
try {
|
|
69
|
+
packageJsonPath = require.resolve(`${BUILTIN_PI_ACP_PACKAGE}/package.json`);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw new Error(`[acp] builtin Pi runtime could not resolve upstream pi-acp@${BUILTIN_PI_ACP_VERSION} (${BUILTIN_PI_ACP_PACKAGE}). Reinstall @agents-ensemble/core with its dependencies.`, { cause: error });
|
|
73
|
+
}
|
|
74
|
+
const packageDirectory = dirname(packageJsonPath);
|
|
75
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
76
|
+
if (pkg.name !== 'pi-acp' || pkg.version !== BUILTIN_PI_ACP_VERSION) {
|
|
77
|
+
throw new Error(`[acp] builtin Pi runtime expected upstream pi-acp@${BUILTIN_PI_ACP_VERSION}, but resolved an unexpected package.`);
|
|
78
|
+
}
|
|
79
|
+
const bin = typeof pkg.bin === 'string'
|
|
80
|
+
? pkg.bin
|
|
81
|
+
: pkg.bin &&
|
|
82
|
+
typeof pkg.bin === 'object' &&
|
|
83
|
+
!Array.isArray(pkg.bin)
|
|
84
|
+
? pkg.bin['pi-acp']
|
|
85
|
+
: undefined;
|
|
86
|
+
if (typeof bin !== 'string' || bin.trim() === '') {
|
|
87
|
+
throw new Error(`[acp] upstream pi-acp@${BUILTIN_PI_ACP_VERSION} does not declare its \`pi-acp\` bin.`);
|
|
88
|
+
}
|
|
89
|
+
const entrypoint = resolve(packageDirectory, bin);
|
|
90
|
+
const relativeEntrypoint = relative(packageDirectory, entrypoint);
|
|
91
|
+
if (relativeEntrypoint === '..' ||
|
|
92
|
+
relativeEntrypoint.startsWith(`..${sep}`) ||
|
|
93
|
+
!existsSync(entrypoint)) {
|
|
94
|
+
throw new Error(`[acp] upstream pi-acp@${BUILTIN_PI_ACP_VERSION} declares a missing or invalid \`pi-acp\` bin.`);
|
|
95
|
+
}
|
|
96
|
+
return entrypoint;
|
|
97
|
+
}
|
|
98
|
+
/** Resolve the core-owned wrapper shipped beside the compiled ACP runtime. */
|
|
99
|
+
export function resolveBuiltinPiAcpWrapperPath(fromModuleUrl = import.meta.url) {
|
|
100
|
+
const packageDirectory = resolve(dirname(fileURLToPath(fromModuleUrl)), '..', '..');
|
|
101
|
+
return join(packageDirectory, 'dist', 'acp', 'pi-acp-wrapper.js');
|
|
102
|
+
}
|
|
103
|
+
/** Resolve the small launcher that restores the operator home for Pi and shell children. */
|
|
104
|
+
export function resolveBuiltinPiCliEnvWrapperPath(fromModuleUrl = import.meta.url) {
|
|
105
|
+
const packageDirectory = resolve(dirname(fileURLToPath(fromModuleUrl)), '..', '..');
|
|
106
|
+
const wrapperPath = join(packageDirectory, 'assets', 'pi', process.platform === 'win32'
|
|
107
|
+
? 'pi-cli-env-wrapper.cmd'
|
|
108
|
+
: 'pi-cli-env-wrapper.sh');
|
|
109
|
+
if (!existsSync(wrapperPath)) {
|
|
110
|
+
throw new Error(`[acp] builtin Pi runtime could not find its Pi CLI environment wrapper: ${wrapperPath}`);
|
|
111
|
+
}
|
|
112
|
+
return wrapperPath;
|
|
113
|
+
}
|
|
114
|
+
function firstNonEmpty(...values) {
|
|
115
|
+
return values.find((value) => value !== undefined && value.trim() !== '');
|
|
116
|
+
}
|
|
117
|
+
function resolvePiCliHome(spawn) {
|
|
118
|
+
const configuredHome = firstNonEmpty(spawn.env?.HOME);
|
|
119
|
+
const configuredUserProfile = firstNonEmpty(spawn.env?.USERPROFILE);
|
|
120
|
+
const hostHome = firstNonEmpty(process.platform === 'win32' ? process.env.USERPROFILE : process.env.HOME, process.env.HOME, process.env.USERPROFILE, homedir());
|
|
121
|
+
const hostUserProfile = firstNonEmpty(process.env.USERPROFILE, process.env.HOME, hostHome);
|
|
122
|
+
const home = configuredHome ?? configuredUserProfile ?? hostHome;
|
|
123
|
+
const userProfile = configuredUserProfile ?? configuredHome ?? hostUserProfile ?? home;
|
|
124
|
+
return { home, userProfile };
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Isolate upstream pi-acp's HOME-based map while preserving the operator's
|
|
128
|
+
* home for the Pi CLI and its shell children. Internal paths override matching
|
|
129
|
+
* acp.env values; explicit acp.env HOME / USERPROFILE become Pi CLI homes.
|
|
130
|
+
*/
|
|
131
|
+
export function configurePiWorkerRuntime(spawn, input) {
|
|
132
|
+
if (spawn.preset !== 'pi' || spawn.piRuntime !== 'builtin')
|
|
133
|
+
return spawn;
|
|
134
|
+
assertBuiltinPiNodeVersionSupported();
|
|
135
|
+
const paths = resolveEnsemblePaths({ repoRoot: input.repoRoot });
|
|
136
|
+
const workerHome = paths.piWorkerDir(input.workerName, input.issueNumber);
|
|
137
|
+
const legacyWorkerHome = paths.legacyPiWorkerDir(input.workerName);
|
|
138
|
+
const piCliHome = resolvePiCliHome(spawn);
|
|
139
|
+
const env = { ...(spawn.env ?? {}) };
|
|
140
|
+
// Upstream pi-acp has no map path override; HOME determines its map location.
|
|
141
|
+
delete env.PI_ACP_SESSION_MAP_PATH;
|
|
142
|
+
return {
|
|
143
|
+
...spawn,
|
|
144
|
+
env: {
|
|
145
|
+
...env,
|
|
146
|
+
ENSEMBLE_PI_BUILTIN_RUNTIME: '1',
|
|
147
|
+
ENSEMBLE_PI_CLI_HOME: piCliHome.home,
|
|
148
|
+
ENSEMBLE_PI_CLI_USERPROFILE: piCliHome.userProfile,
|
|
149
|
+
ENSEMBLE_PI_CLI_NODE: process.execPath,
|
|
150
|
+
ENSEMBLE_PI_CLI_EXECUTABLE: resolveBundledPiCliPath(),
|
|
151
|
+
HOME: workerHome,
|
|
152
|
+
USERPROFILE: workerHome,
|
|
153
|
+
ENSEMBLE_PI_LEGACY_WORKER_HOME: legacyWorkerHome,
|
|
154
|
+
PI_CODING_AGENT_DIR: input.agentDir ?? paths.piUserDir,
|
|
155
|
+
PI_CODING_AGENT_SESSION_DIR: paths.piWorkerSessionsDir(input.workerName, input.issueNumber),
|
|
156
|
+
PI_ACP_PI_COMMAND: resolveBuiltinPiCliEnvWrapperPath(),
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=pi-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-runtime.js","sourceRoot":"","sources":["../../src/acp/pi-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface PiAcpStorageSecurityOptions {
|
|
2
|
+
/** Override the host platform in filesystem-security tests. */
|
|
3
|
+
platform?: NodeJS.Platform;
|
|
4
|
+
/** Replace Windows ACL operations in tests. */
|
|
5
|
+
applyWindowsOwnerOnlyAcl?: (paths: readonly string[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface PiAcpSessionMapPaths {
|
|
8
|
+
upstreamPath: string;
|
|
9
|
+
/** Map path used by the earlier builtin wrapper before upstream pi-acp. */
|
|
10
|
+
legacyPath: string;
|
|
11
|
+
/** Previous shared worker map locations, retained for migration and reading. */
|
|
12
|
+
compatibilityPaths: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function resolvePiAcpSessionMapPaths(homeDir: string, previousWorkerHome?: string): PiAcpSessionMapPaths;
|
|
15
|
+
/** New files created by upstream Pi inherit this process umask on POSIX. */
|
|
16
|
+
export declare function setPrivatePiSessionStorageUmask(platform?: NodeJS.Platform): void;
|
|
17
|
+
/**
|
|
18
|
+
* Prepare builtin Pi's issue-scoped storage, migrate an older shared map, and
|
|
19
|
+
* restrict existing map/transcript files before upstream code opens them.
|
|
20
|
+
*/
|
|
21
|
+
export declare function preparePiAcpSessionStorage(input: {
|
|
22
|
+
/** Shared parent that contains repository-keyed worker storage roots. */
|
|
23
|
+
workerStorageParent: string;
|
|
24
|
+
/** Repository-scoped root beneath workerStorageParent. */
|
|
25
|
+
workerStorageRoot: string;
|
|
26
|
+
workerHome: string;
|
|
27
|
+
sessionsDir: string;
|
|
28
|
+
legacyWorkerHome?: string;
|
|
29
|
+
mapPaths: PiAcpSessionMapPaths;
|
|
30
|
+
}, security?: PiAcpStorageSecurityOptions): void;
|
|
31
|
+
/**
|
|
32
|
+
* Copy the first available old map into upstream pi-acp's HOME-based location.
|
|
33
|
+
* Sources remain intact so existing transcript paths and older readers work.
|
|
34
|
+
*/
|
|
35
|
+
export declare function migrateLegacyPiAcpSessionMap(paths: PiAcpSessionMapPaths): boolean;
|
|
36
|
+
//# sourceMappingURL=pi-session-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-session-map.d.ts","sourceRoot":"","sources":["../../src/acp/pi-session-map.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,2BAA2B;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,+CAA+C;IAC/C,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/D;AA0FD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,MAAM,GAC1B,oBAAoB,CAWtB;AAED,4EAA4E;AAC5E,wBAAgB,+BAA+B,CAC7C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,yEAAyE;IACzE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,oBAAoB,CAAC;CAChC,EAAE,QAAQ,GAAE,2BAAgC,GAAG,IAAI,CAgDnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CA+BT"}
|