@psnext/slingcli 2.5.20260629-1 → 2.5.20260705-1
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/node_modules/@aws/lambda-invoke-store/README.md +25 -1
- package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +12 -0
- package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +12 -0
- package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +6 -0
- package/node_modules/@aws/lambda-invoke-store/package.json +1 -1
- package/node_modules/@aws-sdk/core/account-id-endpoint.d.ts +1 -3
- package/node_modules/@aws-sdk/core/client.d.ts +1 -3
- package/node_modules/@aws-sdk/core/httpAuthSchemes.d.ts +1 -3
- package/node_modules/@aws-sdk/core/package.json +10 -17
- package/node_modules/@aws-sdk/core/protocols.d.ts +1 -3
- package/node_modules/@aws-sdk/core/util.d.ts +1 -3
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +172 -1
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +3 -51
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -3
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -3
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-http/package.json +8 -10
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +58 -3
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -8
- package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-websocket/package.json +7 -7
- package/node_modules/@aws-sdk/nested-clients/cognito-identity.d.ts +1 -3
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +13 -25
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +13 -17
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +12 -15
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +12 -15
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +13 -25
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/commandBuilder.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/commands/GetCredentialsForIdentityCommand.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/commands/GetIdCommand.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/index.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.browser.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +1 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.native.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commandBuilder.js +8 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js +2 -17
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.browser.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +1 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.native.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commandBuilder.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/GetRoleCredentialsCommand.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/index.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.browser.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +1 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.native.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commandBuilder.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.browser.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +1 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.native.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commandBuilder.js +6 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js +2 -14
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.browser.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +1 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.native.js +0 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +2 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/commandBuilder.d.ts +18 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/commands/GetCredentialsForIdentityCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/commands/GetIdCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.browser.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.native.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commandBuilder.d.ts +18 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commands/CreateOAuth2TokenCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.browser.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.native.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/commandBuilder.d.ts +18 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/commands/GetRoleCredentialsCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.browser.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.native.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commandBuilder.d.ts +18 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.browser.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.native.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commandBuilder.d.ts +18 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/commandBuilder.d.ts +46 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/commands/GetCredentialsForIdentityCommand.d.ts +7 -16
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/commands/GetIdCommand.d.ts +7 -16
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.browser.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.native.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/commandBuilder.d.ts +42 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/commands/CreateOAuth2TokenCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.browser.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.native.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/commandBuilder.d.ts +42 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/commands/GetRoleCredentialsCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.browser.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.native.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/commandBuilder.d.ts +42 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +3 -8
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.browser.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.native.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/commandBuilder.d.ts +46 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/commands/AssumeRoleCommand.d.ts +7 -16
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +7 -16
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/index.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +8 -2
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.shared.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +3 -51
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -3
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -3
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +4 -4
- package/node_modules/@aws-sdk/nested-clients/package.json +8 -10
- package/node_modules/@aws-sdk/nested-clients/signin.d.ts +1 -3
- package/node_modules/@aws-sdk/nested-clients/sso-oidc.d.ts +1 -3
- package/node_modules/@aws-sdk/nested-clients/sso.d.ts +1 -3
- package/node_modules/@aws-sdk/nested-clients/sts.d.ts +1 -3
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
- package/node_modules/@aws-sdk/types/package.json +2 -2
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +236 -3
- package/node_modules/@aws-sdk/xml-builder/package.json +3 -4
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +10 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +4 -6
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +20 -2
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +2 -14
- package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +16 -5
- package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +54 -19
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +8 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +2 -14
- package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -45
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +124 -4
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +18 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js +18 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +18 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +4 -3
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +57 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js +4 -4
- package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js +4 -4
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +5 -5
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +75 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +105 -88
- package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +41 -4
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +12 -12
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +12 -12
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +12 -12
- package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js +15 -15
- package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js +109 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +15 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +3 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +1 -0
- package/node_modules/@earendil-works/pi-ai/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +35 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +13 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +5 -8
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +6 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +33 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js +28 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +14 -17
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.js +0 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +87 -68
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +8 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +20 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.js +15 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-entry.js +52 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +13 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/status-indicator.js +60 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +18 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +143 -130
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -12
- package/node_modules/@earendil-works/pi-coding-agent/package.json +4 -4
- package/node_modules/@earendil-works/pi-orchestrator/package.json +2 -2
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.browser.js +358 -145
- package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +462 -142
- package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.native.js +358 -145
- package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +18 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +108 -63
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +11 -8
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +11 -8
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +5 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +30 -36
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +85 -137
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +30 -36
- package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js +30 -0
- package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js +24 -0
- package/node_modules/@smithy/core/dist-es/submodules/checksum/index.browser.js +7 -1
- package/node_modules/@smithy/core/dist-es/submodules/checksum/index.js +7 -1
- package/node_modules/@smithy/core/dist-es/submodules/checksum/index.native.js +7 -1
- package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js +92 -0
- package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js +29 -0
- package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js +179 -0
- package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js +59 -0
- package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js +71 -0
- package/node_modules/@smithy/core/dist-es/submodules/client/index.js +1 -0
- package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client-command-builder.js +17 -0
- package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js +6 -1
- package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js +92 -0
- package/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js +3 -0
- package/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js +3 -56
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js +5 -3
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js +7 -6
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +4 -1
- package/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js +15 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +2 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +2 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +2 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js +35 -27
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js +2 -1
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js +12 -38
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js +18 -33
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.browser.js +3 -0
- package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js +3 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Js.d.ts +18 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Node.d.ts +18 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/index.browser.d.ts +7 -1
- package/node_modules/@smithy/core/dist-types/submodules/checksum/index.d.ts +7 -1
- package/node_modules/@smithy/core/dist-types/submodules/checksum/index.native.d.ts +7 -1
- package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Js.d.ts +19 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Node.d.ts +17 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Js.d.ts +28 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Node.d.ts +13 -0
- package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256WebCrypto.d.ts +22 -0
- package/node_modules/@smithy/core/dist-types/submodules/client/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/client-command-builder.d.ts +22 -0
- package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/command.d.ts +5 -6
- package/node_modules/@smithy/core/dist-types/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.d.ts +7 -0
- package/node_modules/@smithy/core/dist-types/submodules/config/defaults-mode/constants.d.ts +12 -0
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.browser.d.ts +4 -5
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +4 -5
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.d.ts +3 -4
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/endpointMiddleware.d.ts +1 -2
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/getEndpointPlugin.d.ts +1 -2
- package/node_modules/@smithy/core/dist-types/submodules/serde/concatBytes.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/submodules/serde/index.browser.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/submodules/serde/index.native.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/checksum/ChecksumStream.d.ts +29 -12
- package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.browser.d.ts +8 -2
- package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.d.ts +4 -1
- package/node_modules/@smithy/core/package.json +5 -5
- package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
- package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +2 -55
- package/node_modules/@smithy/fetch-http-handler/dist-es/index.js +2 -2
- package/node_modules/@smithy/fetch-http-handler/dist-types/index.d.ts +2 -2
- package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
- package/node_modules/@smithy/signature-v4/package.json +3 -4
- package/node_modules/@smithy/types/dist-types/index.d.ts +1 -0
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.d.ts +64 -25
- package/node_modules/@types/node/crypto.d.ts +18 -5
- package/node_modules/@types/node/diagnostics_channel.d.ts +237 -3
- package/node_modules/@types/node/dns.d.ts +1 -1
- package/node_modules/@types/node/ffi.d.ts +486 -0
- package/node_modules/@types/node/fs/promises.d.ts +3 -0
- package/node_modules/@types/node/fs.d.ts +21 -6
- package/node_modules/@types/node/http.d.ts +25 -0
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/process.d.ts +14 -1
- package/node_modules/@types/node/quic.d.ts +92 -11
- package/node_modules/@types/node/sqlite.d.ts +55 -0
- package/node_modules/@types/node/stream/iter.d.ts +150 -0
- package/node_modules/@types/node/stream.d.ts +32 -0
- package/node_modules/@types/node/test.d.ts +112 -2
- package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/node_modules/@types/node/util.d.ts +19 -2
- package/node_modules/@types/node/v8.d.ts +84 -2
- package/node_modules/@types/node/worker_threads.d.ts +8 -7
- package/node_modules/protobufjs/dist/light/protobuf.js +2 -2
- package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
- package/node_modules/protobufjs/dist/protobuf.js +5 -2
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/package.json +1 -1
- package/node_modules/protobufjs/src/parse.js +3 -0
- package/package.json +7 -7
- package/slingshot/index.js +261 -261
- package/node_modules/@aws-crypto/crc32/CHANGELOG.md +0 -100
- package/node_modules/@aws-crypto/crc32/LICENSE +0 -201
- package/node_modules/@aws-crypto/crc32/README.md +0 -16
- package/node_modules/@aws-crypto/crc32/build/main/aws_crc32.d.ts +0 -7
- package/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js +0 -31
- package/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js.map +0 -1
- package/node_modules/@aws-crypto/crc32/build/main/index.d.ts +0 -7
- package/node_modules/@aws-crypto/crc32/build/main/index.js +0 -108
- package/node_modules/@aws-crypto/crc32/build/main/index.js.map +0 -1
- package/node_modules/@aws-crypto/crc32/build/module/aws_crc32.d.ts +0 -7
- package/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js +0 -28
- package/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js.map +0 -1
- package/node_modules/@aws-crypto/crc32/build/module/index.d.ts +0 -7
- package/node_modules/@aws-crypto/crc32/build/module/index.js +0 -103
- package/node_modules/@aws-crypto/crc32/build/module/index.js.map +0 -1
- package/node_modules/@aws-crypto/crc32/package.json +0 -32
- package/node_modules/@aws-crypto/crc32/src/aws_crc32.ts +0 -24
- package/node_modules/@aws-crypto/crc32/src/index.ts +0 -92
- package/node_modules/@aws-crypto/crc32/tsconfig.json +0 -9
- package/node_modules/@aws-crypto/crc32/tsconfig.module.json +0 -7
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +0 -869
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +0 -862
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js +0 -42
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js +0 -27
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +0 -71
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js +0 -49
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js +0 -13
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.browser.js +0 -2
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
- package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -7
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +0 -29
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +0 -25
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
- package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -7
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +0 -57
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +0 -234
- package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/constants.js +0 -3
- package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/md5.js +0 -168
- package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/constants.d.ts +0 -12
- package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/md5.d.ts +0 -16
- package/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js +0 -53
- package/node_modules/@smithy/fetch-http-handler/dist-types/stream-collector.d.ts +0 -2
- /package/node_modules/@smithy/{core/dist-es/submodules/endpoints/middleware-endpoint/types.js → types/dist-es/endpoints/EndpointParameterInstructions.js} +0 -0
- /package/node_modules/@smithy/{core/dist-types/submodules/endpoints/middleware-endpoint/types.d.ts → types/dist-types/endpoints/EndpointParameterInstructions.d.ts} +0 -0
package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js
CHANGED
|
@@ -7,7 +7,7 @@ import * as fs from "node:fs";
|
|
|
7
7
|
import * as os from "node:os";
|
|
8
8
|
import * as path from "node:path";
|
|
9
9
|
import { getProviders, } from "@earendil-works/pi-ai/compat";
|
|
10
|
-
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink,
|
|
10
|
+
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TUI, visibleWidth, } from "@earendil-works/pi-tui";
|
|
11
11
|
import chalk from "chalk";
|
|
12
12
|
import { spawn, spawnSync } from "child_process";
|
|
13
13
|
import { APP_NAME, APP_TITLE, CONFIG_DIR_NAME, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION, } from "../../config.js";
|
|
@@ -21,7 +21,7 @@ import { defaultModelPerProvider, findExactModelReferenceMatch, resolveModelScop
|
|
|
21
21
|
import { DefaultPackageManager } from "../../core/package-manager.js";
|
|
22
22
|
import { BUILT_IN_PROVIDER_DISPLAY_NAMES } from "../../core/provider-display-names.js";
|
|
23
23
|
import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
|
|
24
|
-
import { SessionManager } from "../../core/session-manager.js";
|
|
24
|
+
import { SessionManager, sessionEntryToContextMessages } from "../../core/session-manager.js";
|
|
25
25
|
import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
|
|
26
26
|
import { isInstallTelemetryEnabled } from "../../core/telemetry.js";
|
|
27
27
|
import { hasTrustRequiringProjectResources, ProjectTrustStore } from "../../core/trust-manager.js";
|
|
@@ -40,8 +40,8 @@ import { BashExecutionComponent } from "./components/bash-execution.js";
|
|
|
40
40
|
import { BorderedLoader } from "./components/bordered-loader.js";
|
|
41
41
|
import { BranchSummaryMessageComponent } from "./components/branch-summary-message.js";
|
|
42
42
|
import { CompactionSummaryMessageComponent } from "./components/compaction-summary-message.js";
|
|
43
|
-
import { CountdownTimer } from "./components/countdown-timer.js";
|
|
44
43
|
import { CustomEditor } from "./components/custom-editor.js";
|
|
44
|
+
import { CustomEntryComponent } from "./components/custom-entry.js";
|
|
45
45
|
import { CustomMessageComponent } from "./components/custom-message.js";
|
|
46
46
|
import { DaxnutsComponent } from "./components/daxnuts.js";
|
|
47
47
|
import { DynamicBorder } from "./components/dynamic-border.js";
|
|
@@ -58,6 +58,7 @@ import { ScopedModelsSelectorComponent } from "./components/scoped-models-select
|
|
|
58
58
|
import { SessionSelectorComponent } from "./components/session-selector.js";
|
|
59
59
|
import { SettingsSelectorComponent } from "./components/settings-selector.js";
|
|
60
60
|
import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
|
|
61
|
+
import { BranchSummaryStatusIndicator, CompactionStatusIndicator, IdleStatus, RetryStatusIndicator, WorkingStatusIndicator, } from "./components/status-indicator.js";
|
|
61
62
|
import { ToolExecutionComponent } from "./components/tool-execution.js";
|
|
62
63
|
import { TreeSelectorComponent } from "./components/tree-selector.js";
|
|
63
64
|
import { TrustSelectorComponent } from "./components/trust-selector.js";
|
|
@@ -81,6 +82,9 @@ class ExpandableText extends Text {
|
|
|
81
82
|
this.setText(expanded ? this.getExpandedText() : this.getCollapsedText());
|
|
82
83
|
}
|
|
83
84
|
}
|
|
85
|
+
function isCustomSessionEntry(item) {
|
|
86
|
+
return "type" in item && item.type === "custom";
|
|
87
|
+
}
|
|
84
88
|
const DEAD_TERMINAL_ERROR_CODES = new Set(["EIO", "EPIPE", "ENOTCONN"]);
|
|
85
89
|
function isDeadTerminalError(error) {
|
|
86
90
|
if (!error || typeof error !== "object" || !("code" in error)) {
|
|
@@ -153,7 +157,8 @@ export class InteractiveMode {
|
|
|
153
157
|
isInitialized = false;
|
|
154
158
|
onInputCallback;
|
|
155
159
|
pendingUserInputs = [];
|
|
156
|
-
|
|
160
|
+
activeStatusIndicator = undefined;
|
|
161
|
+
idleStatus = new IdleStatus();
|
|
157
162
|
workingMessage = undefined;
|
|
158
163
|
workingVisible = true;
|
|
159
164
|
workingIndicatorOptions = undefined;
|
|
@@ -177,6 +182,7 @@ export class InteractiveMode {
|
|
|
177
182
|
toolOutputExpanded = false;
|
|
178
183
|
// Thinking block visibility state
|
|
179
184
|
hideThinkingBlock = false;
|
|
185
|
+
outputPad = 1;
|
|
180
186
|
// Skill commands: command name -> skill file path
|
|
181
187
|
skillCommands = new Map();
|
|
182
188
|
// Agent subscription unsubscribe function
|
|
@@ -189,11 +195,8 @@ export class InteractiveMode {
|
|
|
189
195
|
// Track pending bash components (shown in pending area, moved to chat on submit)
|
|
190
196
|
pendingBashComponents = [];
|
|
191
197
|
// Auto-compaction state
|
|
192
|
-
autoCompactionLoader = undefined;
|
|
193
198
|
autoCompactionEscapeHandler;
|
|
194
199
|
// Auto-retry state
|
|
195
|
-
retryLoader = undefined;
|
|
196
|
-
retryCountdown = undefined;
|
|
197
200
|
retryEscapeHandler;
|
|
198
201
|
// Messages queued while compaction is running
|
|
199
202
|
compactionQueuedMessages = [];
|
|
@@ -269,6 +272,7 @@ export class InteractiveMode {
|
|
|
269
272
|
this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled);
|
|
270
273
|
// Load hide thinking block setting
|
|
271
274
|
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
275
|
+
this.outputPad = this.settingsManager.getOutputPad();
|
|
272
276
|
// Register themes from resource loader and initialize
|
|
273
277
|
setRegisteredThemes(this.session.resourceLoader.getThemes().themes);
|
|
274
278
|
this.themeController = new InteractiveThemeController(this.ui, this.settingsManager, (message) => this.showError(message), () => this.updateEditorBorderColor());
|
|
@@ -1157,11 +1161,7 @@ export class InteractiveMode {
|
|
|
1157
1161
|
commandContextActions: {
|
|
1158
1162
|
waitForIdle: () => this.session.agent.waitForIdle(),
|
|
1159
1163
|
newSession: async (options) => {
|
|
1160
|
-
|
|
1161
|
-
this.loadingAnimation.stop();
|
|
1162
|
-
this.loadingAnimation = undefined;
|
|
1163
|
-
}
|
|
1164
|
-
this.statusContainer.clear();
|
|
1164
|
+
this.clearStatusIndicator();
|
|
1165
1165
|
try {
|
|
1166
1166
|
return await this.runtimeHost.newSession(options);
|
|
1167
1167
|
}
|
|
@@ -1231,8 +1231,13 @@ export class InteractiveMode {
|
|
|
1231
1231
|
this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled);
|
|
1232
1232
|
this.footerDataProvider.setCwd(this.sessionManager.getCwd());
|
|
1233
1233
|
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
1234
|
+
this.outputPad = this.settingsManager.getOutputPad();
|
|
1234
1235
|
this.ui.setShowHardwareCursor(this.settingsManager.getShowHardwareCursor());
|
|
1235
|
-
this.
|
|
1236
|
+
const clearOnShrink = this.settingsManager.getClearOnShrink();
|
|
1237
|
+
this.ui.setClearOnShrink(clearOnShrink);
|
|
1238
|
+
if (!clearOnShrink && !this.activeStatusIndicator) {
|
|
1239
|
+
this.statusContainer.clear();
|
|
1240
|
+
}
|
|
1236
1241
|
const editorPaddingX = this.settingsManager.getEditorPaddingX();
|
|
1237
1242
|
const autocompleteMaxVisible = this.settingsManager.getAutocompleteMaxVisible();
|
|
1238
1243
|
this.defaultEditor.setPaddingX(editorPaddingX);
|
|
@@ -1345,36 +1350,41 @@ export class InteractiveMode {
|
|
|
1345
1350
|
this.footerDataProvider.setExtensionStatus(key, text);
|
|
1346
1351
|
this.ui.requestRender();
|
|
1347
1352
|
}
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
+
showStatusIndicator(indicator) {
|
|
1354
|
+
this.activeStatusIndicator?.dispose();
|
|
1355
|
+
this.activeStatusIndicator = indicator;
|
|
1356
|
+
this.statusContainer.clear();
|
|
1357
|
+
this.statusContainer.addChild(indicator);
|
|
1353
1358
|
}
|
|
1354
|
-
|
|
1355
|
-
if (this.
|
|
1356
|
-
|
|
1357
|
-
this.loadingAnimation = undefined;
|
|
1359
|
+
clearStatusIndicator(kind) {
|
|
1360
|
+
if (kind && this.activeStatusIndicator?.kind !== kind) {
|
|
1361
|
+
return;
|
|
1358
1362
|
}
|
|
1363
|
+
const hadActiveStatusIndicator = this.activeStatusIndicator !== undefined;
|
|
1364
|
+
this.activeStatusIndicator?.dispose();
|
|
1365
|
+
this.activeStatusIndicator = undefined;
|
|
1359
1366
|
this.statusContainer.clear();
|
|
1367
|
+
if (hadActiveStatusIndicator && this.ui.getClearOnShrink()) {
|
|
1368
|
+
this.statusContainer.addChild(this.idleStatus);
|
|
1369
|
+
}
|
|
1360
1370
|
}
|
|
1361
1371
|
setWorkingVisible(visible) {
|
|
1362
1372
|
this.workingVisible = visible;
|
|
1363
1373
|
if (!visible) {
|
|
1364
|
-
this.
|
|
1374
|
+
this.clearStatusIndicator("working");
|
|
1365
1375
|
this.ui.requestRender();
|
|
1366
1376
|
return;
|
|
1367
1377
|
}
|
|
1368
|
-
if (this.session.isStreaming &&
|
|
1369
|
-
this.
|
|
1370
|
-
this.loadingAnimation = this.createWorkingLoader();
|
|
1371
|
-
this.statusContainer.addChild(this.loadingAnimation);
|
|
1378
|
+
if (this.session.isStreaming && this.activeStatusIndicator?.kind !== "working") {
|
|
1379
|
+
this.showStatusIndicator(new WorkingStatusIndicator(this.ui, this.workingMessage ?? this.defaultWorkingMessage, this.workingIndicatorOptions));
|
|
1372
1380
|
}
|
|
1373
1381
|
this.ui.requestRender();
|
|
1374
1382
|
}
|
|
1375
1383
|
setWorkingIndicator(options) {
|
|
1376
1384
|
this.workingIndicatorOptions = options;
|
|
1377
|
-
this.
|
|
1385
|
+
if (this.activeStatusIndicator?.kind === "working") {
|
|
1386
|
+
this.activeStatusIndicator.setIndicator(options);
|
|
1387
|
+
}
|
|
1378
1388
|
this.ui.requestRender();
|
|
1379
1389
|
}
|
|
1380
1390
|
setHiddenThinkingLabel(label) {
|
|
@@ -1462,8 +1472,8 @@ export class InteractiveMode {
|
|
|
1462
1472
|
this.workingMessage = undefined;
|
|
1463
1473
|
this.workingVisible = true;
|
|
1464
1474
|
this.setWorkingIndicator();
|
|
1465
|
-
if (this.
|
|
1466
|
-
this.
|
|
1475
|
+
if (this.activeStatusIndicator?.kind === "working") {
|
|
1476
|
+
this.activeStatusIndicator.setMessage(`${this.defaultWorkingMessage} (${keyText("app.interrupt")} to interrupt)`);
|
|
1467
1477
|
}
|
|
1468
1478
|
this.setHiddenThinkingLabel();
|
|
1469
1479
|
}
|
|
@@ -1603,8 +1613,8 @@ export class InteractiveMode {
|
|
|
1603
1613
|
setStatus: (key, text) => this.setExtensionStatus(key, text),
|
|
1604
1614
|
setWorkingMessage: (message) => {
|
|
1605
1615
|
this.workingMessage = message;
|
|
1606
|
-
if (this.
|
|
1607
|
-
this.
|
|
1616
|
+
if (this.activeStatusIndicator?.kind === "working") {
|
|
1617
|
+
this.activeStatusIndicator.setMessage(message ?? this.defaultWorkingMessage);
|
|
1608
1618
|
}
|
|
1609
1619
|
},
|
|
1610
1620
|
setWorkingVisible: (visible) => this.setWorkingVisible(visible),
|
|
@@ -2223,18 +2233,11 @@ export class InteractiveMode {
|
|
|
2223
2233
|
this.defaultEditor.onEscape = this.retryEscapeHandler;
|
|
2224
2234
|
this.retryEscapeHandler = undefined;
|
|
2225
2235
|
}
|
|
2226
|
-
if (this.retryCountdown) {
|
|
2227
|
-
this.retryCountdown.dispose();
|
|
2228
|
-
this.retryCountdown = undefined;
|
|
2229
|
-
}
|
|
2230
|
-
if (this.retryLoader) {
|
|
2231
|
-
this.retryLoader.stop();
|
|
2232
|
-
this.retryLoader = undefined;
|
|
2233
|
-
}
|
|
2234
|
-
this.stopWorkingLoader();
|
|
2235
2236
|
if (this.workingVisible) {
|
|
2236
|
-
this.
|
|
2237
|
-
|
|
2237
|
+
this.showStatusIndicator(new WorkingStatusIndicator(this.ui, this.workingMessage ?? this.defaultWorkingMessage, this.workingIndicatorOptions));
|
|
2238
|
+
}
|
|
2239
|
+
else {
|
|
2240
|
+
this.clearStatusIndicator();
|
|
2238
2241
|
}
|
|
2239
2242
|
this.ui.requestRender();
|
|
2240
2243
|
break;
|
|
@@ -2242,6 +2245,12 @@ export class InteractiveMode {
|
|
|
2242
2245
|
this.updatePendingMessagesDisplay();
|
|
2243
2246
|
this.ui.requestRender();
|
|
2244
2247
|
break;
|
|
2248
|
+
case "entry_appended":
|
|
2249
|
+
if (event.entry.type === "custom") {
|
|
2250
|
+
this.addCustomEntryToChat(event.entry);
|
|
2251
|
+
this.ui.requestRender();
|
|
2252
|
+
}
|
|
2253
|
+
break;
|
|
2245
2254
|
case "session_info_changed":
|
|
2246
2255
|
this.updateTerminalTitle();
|
|
2247
2256
|
this.footer.invalidate();
|
|
@@ -2262,7 +2271,7 @@ export class InteractiveMode {
|
|
|
2262
2271
|
this.ui.requestRender();
|
|
2263
2272
|
}
|
|
2264
2273
|
else if (event.message.role === "assistant") {
|
|
2265
|
-
this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
|
|
2274
|
+
this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad);
|
|
2266
2275
|
this.streamingMessage = event.message;
|
|
2267
2276
|
this.chatContainer.addChild(this.streamingComponent);
|
|
2268
2277
|
this.streamingComponent.updateContent(this.streamingMessage);
|
|
@@ -2370,11 +2379,7 @@ export class InteractiveMode {
|
|
|
2370
2379
|
if (this.settingsManager.getShowTerminalProgress()) {
|
|
2371
2380
|
this.ui.terminal.setProgress(false);
|
|
2372
2381
|
}
|
|
2373
|
-
|
|
2374
|
-
this.loadingAnimation.stop();
|
|
2375
|
-
this.loadingAnimation = undefined;
|
|
2376
|
-
this.statusContainer.clear();
|
|
2377
|
-
}
|
|
2382
|
+
this.clearStatusIndicator("working");
|
|
2378
2383
|
if (this.streamingComponent) {
|
|
2379
2384
|
this.chatContainer.removeChild(this.streamingComponent);
|
|
2380
2385
|
this.streamingComponent = undefined;
|
|
@@ -2393,13 +2398,7 @@ export class InteractiveMode {
|
|
|
2393
2398
|
this.defaultEditor.onEscape = () => {
|
|
2394
2399
|
this.session.abortCompaction();
|
|
2395
2400
|
};
|
|
2396
|
-
this.
|
|
2397
|
-
const cancelHint = `(${keyText("app.interrupt")} to cancel)`;
|
|
2398
|
-
const label = event.reason === "manual"
|
|
2399
|
-
? `Compacting context... ${cancelHint}`
|
|
2400
|
-
: `${event.reason === "overflow" ? "Context overflow detected, " : ""}Auto-compacting... ${cancelHint}`;
|
|
2401
|
-
this.autoCompactionLoader = new Loader(this.ui, (spinner) => theme.fg("accent", spinner), (text) => theme.fg("muted", text), label);
|
|
2402
|
-
this.statusContainer.addChild(this.autoCompactionLoader);
|
|
2401
|
+
this.showStatusIndicator(new CompactionStatusIndicator(this.ui, event.reason));
|
|
2403
2402
|
this.ui.requestRender();
|
|
2404
2403
|
break;
|
|
2405
2404
|
}
|
|
@@ -2411,11 +2410,7 @@ export class InteractiveMode {
|
|
|
2411
2410
|
this.defaultEditor.onEscape = this.autoCompactionEscapeHandler;
|
|
2412
2411
|
this.autoCompactionEscapeHandler = undefined;
|
|
2413
2412
|
}
|
|
2414
|
-
|
|
2415
|
-
this.autoCompactionLoader.stop();
|
|
2416
|
-
this.autoCompactionLoader = undefined;
|
|
2417
|
-
this.statusContainer.clear();
|
|
2418
|
-
}
|
|
2413
|
+
this.clearStatusIndicator("compaction");
|
|
2419
2414
|
if (event.aborted) {
|
|
2420
2415
|
if (event.reason === "manual") {
|
|
2421
2416
|
this.showError("Compaction cancelled");
|
|
@@ -2449,17 +2444,7 @@ export class InteractiveMode {
|
|
|
2449
2444
|
this.defaultEditor.onEscape = () => {
|
|
2450
2445
|
this.session.abortRetry();
|
|
2451
2446
|
};
|
|
2452
|
-
|
|
2453
|
-
this.statusContainer.clear();
|
|
2454
|
-
this.retryCountdown?.dispose();
|
|
2455
|
-
const retryMessage = (seconds) => `Retrying (${event.attempt}/${event.maxAttempts}) in ${seconds}s... (${keyText("app.interrupt")} to cancel)`;
|
|
2456
|
-
this.retryLoader = new Loader(this.ui, (spinner) => theme.fg("warning", spinner), (text) => theme.fg("muted", text), retryMessage(Math.ceil(event.delayMs / 1000)));
|
|
2457
|
-
this.retryCountdown = new CountdownTimer(event.delayMs, this.ui, (seconds) => {
|
|
2458
|
-
this.retryLoader?.setMessage(retryMessage(seconds));
|
|
2459
|
-
}, () => {
|
|
2460
|
-
this.retryCountdown = undefined;
|
|
2461
|
-
});
|
|
2462
|
-
this.statusContainer.addChild(this.retryLoader);
|
|
2447
|
+
this.showStatusIndicator(new RetryStatusIndicator(this.ui, event.attempt, event.maxAttempts, event.delayMs));
|
|
2463
2448
|
this.ui.requestRender();
|
|
2464
2449
|
break;
|
|
2465
2450
|
}
|
|
@@ -2469,16 +2454,7 @@ export class InteractiveMode {
|
|
|
2469
2454
|
this.defaultEditor.onEscape = this.retryEscapeHandler;
|
|
2470
2455
|
this.retryEscapeHandler = undefined;
|
|
2471
2456
|
}
|
|
2472
|
-
|
|
2473
|
-
this.retryCountdown.dispose();
|
|
2474
|
-
this.retryCountdown = undefined;
|
|
2475
|
-
}
|
|
2476
|
-
// Stop loader
|
|
2477
|
-
if (this.retryLoader) {
|
|
2478
|
-
this.retryLoader.stop();
|
|
2479
|
-
this.retryLoader = undefined;
|
|
2480
|
-
this.statusContainer.clear();
|
|
2481
|
-
}
|
|
2457
|
+
this.clearStatusIndicator("retry");
|
|
2482
2458
|
// Show error only on final failure (success shows normal response)
|
|
2483
2459
|
if (!event.success) {
|
|
2484
2460
|
this.showError(`Retry failed after ${event.attempt} attempts: ${event.finalError || "Unknown error"}`);
|
|
@@ -2520,6 +2496,25 @@ export class InteractiveMode {
|
|
|
2520
2496
|
this.lastStatusText = text;
|
|
2521
2497
|
this.ui.requestRender();
|
|
2522
2498
|
}
|
|
2499
|
+
addCustomEntryToChat(entry) {
|
|
2500
|
+
const renderer = this.session.extensionRunner.getEntryRenderer(entry.customType);
|
|
2501
|
+
if (!renderer) {
|
|
2502
|
+
return;
|
|
2503
|
+
}
|
|
2504
|
+
const component = new CustomEntryComponent(entry, renderer);
|
|
2505
|
+
component.setExpanded(this.toolOutputExpanded);
|
|
2506
|
+
if (!component.hasContent()) {
|
|
2507
|
+
return;
|
|
2508
|
+
}
|
|
2509
|
+
if (this.streamingComponent) {
|
|
2510
|
+
const streamingIndex = this.chatContainer.children.indexOf(this.streamingComponent);
|
|
2511
|
+
if (streamingIndex >= 0) {
|
|
2512
|
+
this.chatContainer.children.splice(streamingIndex, 0, component);
|
|
2513
|
+
return;
|
|
2514
|
+
}
|
|
2515
|
+
}
|
|
2516
|
+
this.chatContainer.addChild(component);
|
|
2517
|
+
}
|
|
2523
2518
|
addMessageToChat(message, options) {
|
|
2524
2519
|
switch (message.role) {
|
|
2525
2520
|
case "bashExecution": {
|
|
@@ -2569,12 +2564,12 @@ export class InteractiveMode {
|
|
|
2569
2564
|
// Render user message separately if present
|
|
2570
2565
|
if (skillBlock.userMessage) {
|
|
2571
2566
|
this.chatContainer.addChild(new Spacer(1));
|
|
2572
|
-
const userComponent = new UserMessageComponent(skillBlock.userMessage, this.getMarkdownThemeWithSettings());
|
|
2567
|
+
const userComponent = new UserMessageComponent(skillBlock.userMessage, this.getMarkdownThemeWithSettings(), this.outputPad);
|
|
2573
2568
|
this.chatContainer.addChild(userComponent);
|
|
2574
2569
|
}
|
|
2575
2570
|
}
|
|
2576
2571
|
else {
|
|
2577
|
-
const userComponent = new UserMessageComponent(textContent, this.getMarkdownThemeWithSettings());
|
|
2572
|
+
const userComponent = new UserMessageComponent(textContent, this.getMarkdownThemeWithSettings(), this.outputPad);
|
|
2578
2573
|
this.chatContainer.addChild(userComponent);
|
|
2579
2574
|
}
|
|
2580
2575
|
if (options?.populateHistory) {
|
|
@@ -2584,7 +2579,7 @@ export class InteractiveMode {
|
|
|
2584
2579
|
break;
|
|
2585
2580
|
}
|
|
2586
2581
|
case "assistant": {
|
|
2587
|
-
const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
|
|
2582
|
+
const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad);
|
|
2588
2583
|
this.chatContainer.addChild(assistantComponent);
|
|
2589
2584
|
break;
|
|
2590
2585
|
}
|
|
@@ -2597,20 +2592,19 @@ export class InteractiveMode {
|
|
|
2597
2592
|
}
|
|
2598
2593
|
}
|
|
2599
2594
|
}
|
|
2600
|
-
|
|
2601
|
-
* Render session context to chat. Used for initial load and rebuild after compaction.
|
|
2602
|
-
* @param sessionContext Session context to render
|
|
2603
|
-
* @param options.updateFooter Update footer state
|
|
2604
|
-
* @param options.populateHistory Add user messages to editor history
|
|
2605
|
-
*/
|
|
2606
|
-
renderSessionContext(sessionContext, options = {}) {
|
|
2595
|
+
renderSessionItems(items, options = {}) {
|
|
2607
2596
|
this.pendingTools.clear();
|
|
2608
2597
|
const renderedPendingTools = new Map();
|
|
2609
2598
|
if (options.updateFooter) {
|
|
2610
2599
|
this.footer.invalidate();
|
|
2611
2600
|
this.updateEditorBorderColor();
|
|
2612
2601
|
}
|
|
2613
|
-
for (const
|
|
2602
|
+
for (const item of items) {
|
|
2603
|
+
if (isCustomSessionEntry(item)) {
|
|
2604
|
+
this.addCustomEntryToChat(item);
|
|
2605
|
+
continue;
|
|
2606
|
+
}
|
|
2607
|
+
const message = item;
|
|
2614
2608
|
// Assistant messages need special handling for tool calls
|
|
2615
2609
|
if (message.role === "assistant") {
|
|
2616
2610
|
this.addMessageToChat(message);
|
|
@@ -2661,10 +2655,24 @@ export class InteractiveMode {
|
|
|
2661
2655
|
}
|
|
2662
2656
|
this.ui.requestRender();
|
|
2663
2657
|
}
|
|
2658
|
+
/**
|
|
2659
|
+
* Render session entries to chat. Used for initial load and rebuild after compaction.
|
|
2660
|
+
* @param entries Compaction-aware session entries to render
|
|
2661
|
+
* @param options.updateFooter Update footer state
|
|
2662
|
+
* @param options.populateHistory Add user messages to editor history
|
|
2663
|
+
*/
|
|
2664
|
+
renderSessionEntries(entries, options = {}) {
|
|
2665
|
+
const items = entries.flatMap((entry) => {
|
|
2666
|
+
if (entry.type === "custom") {
|
|
2667
|
+
return [entry];
|
|
2668
|
+
}
|
|
2669
|
+
return sessionEntryToContextMessages(entry);
|
|
2670
|
+
});
|
|
2671
|
+
this.renderSessionItems(items, options);
|
|
2672
|
+
}
|
|
2664
2673
|
renderInitialMessages() {
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
this.renderSessionContext(context, {
|
|
2674
|
+
const entries = this.sessionManager.buildContextEntries();
|
|
2675
|
+
this.renderSessionEntries(entries, {
|
|
2668
2676
|
updateFooter: true,
|
|
2669
2677
|
populateHistory: true,
|
|
2670
2678
|
});
|
|
@@ -2700,8 +2708,7 @@ export class InteractiveMode {
|
|
|
2700
2708
|
}
|
|
2701
2709
|
rebuildChatFromMessages() {
|
|
2702
2710
|
this.chatContainer.clear();
|
|
2703
|
-
|
|
2704
|
-
this.renderSessionContext(context);
|
|
2711
|
+
this.renderSessionEntries(this.sessionManager.buildContextEntries());
|
|
2705
2712
|
}
|
|
2706
2713
|
// =========================================================================
|
|
2707
2714
|
// Key handlers
|
|
@@ -3302,6 +3309,7 @@ export class InteractiveMode {
|
|
|
3302
3309
|
showHardwareCursor: this.settingsManager.getShowHardwareCursor(),
|
|
3303
3310
|
defaultProjectTrust: this.settingsManager.getDefaultProjectTrust(),
|
|
3304
3311
|
editorPaddingX: this.settingsManager.getEditorPaddingX(),
|
|
3312
|
+
outputPad: this.settingsManager.getOutputPad(),
|
|
3305
3313
|
autocompleteMaxVisible: this.settingsManager.getAutocompleteMaxVisible(),
|
|
3306
3314
|
quietStartup: this.settingsManager.getQuietStartup(),
|
|
3307
3315
|
clearOnShrink: this.settingsManager.getClearOnShrink(),
|
|
@@ -3403,6 +3411,23 @@ export class InteractiveMode {
|
|
|
3403
3411
|
this.editor.setPaddingX(padding);
|
|
3404
3412
|
}
|
|
3405
3413
|
},
|
|
3414
|
+
onOutputPadChange: (padding) => {
|
|
3415
|
+
this.settingsManager.setOutputPad(padding);
|
|
3416
|
+
this.outputPad = padding;
|
|
3417
|
+
if (this.streamingComponent || this.session.isStreaming) {
|
|
3418
|
+
for (const child of this.chatContainer.children) {
|
|
3419
|
+
if (child instanceof AssistantMessageComponent || child instanceof UserMessageComponent) {
|
|
3420
|
+
child.setOutputPad(padding);
|
|
3421
|
+
}
|
|
3422
|
+
}
|
|
3423
|
+
if (this.streamingComponent) {
|
|
3424
|
+
this.streamingComponent.setOutputPad(padding);
|
|
3425
|
+
}
|
|
3426
|
+
this.ui.requestRender();
|
|
3427
|
+
return;
|
|
3428
|
+
}
|
|
3429
|
+
this.rebuildChatFromMessages();
|
|
3430
|
+
},
|
|
3406
3431
|
onAutocompleteMaxVisibleChange: (maxVisible) => {
|
|
3407
3432
|
this.settingsManager.setAutocompleteMaxVisible(maxVisible);
|
|
3408
3433
|
this.defaultEditor.setAutocompleteMaxVisible(maxVisible);
|
|
@@ -3413,6 +3438,9 @@ export class InteractiveMode {
|
|
|
3413
3438
|
onClearOnShrinkChange: (enabled) => {
|
|
3414
3439
|
this.settingsManager.setClearOnShrink(enabled);
|
|
3415
3440
|
this.ui.setClearOnShrink(enabled);
|
|
3441
|
+
if (!enabled && !this.activeStatusIndicator) {
|
|
3442
|
+
this.statusContainer.clear();
|
|
3443
|
+
}
|
|
3416
3444
|
},
|
|
3417
3445
|
onShowTerminalProgressChange: (enabled) => {
|
|
3418
3446
|
this.settingsManager.setShowTerminalProgress(enabled);
|
|
@@ -3730,16 +3758,16 @@ export class InteractiveMode {
|
|
|
3730
3758
|
break;
|
|
3731
3759
|
}
|
|
3732
3760
|
}
|
|
3733
|
-
// Set up escape handler and
|
|
3734
|
-
let
|
|
3761
|
+
// Set up escape handler and status indicator if summarizing
|
|
3762
|
+
let showingSummaryIndicator = false;
|
|
3735
3763
|
const originalOnEscape = this.defaultEditor.onEscape;
|
|
3736
3764
|
if (wantsSummary) {
|
|
3737
3765
|
this.defaultEditor.onEscape = () => {
|
|
3738
3766
|
this.session.abortBranchSummary();
|
|
3739
3767
|
};
|
|
3740
3768
|
this.chatContainer.addChild(new Spacer(1));
|
|
3741
|
-
|
|
3742
|
-
|
|
3769
|
+
this.showStatusIndicator(new BranchSummaryStatusIndicator(this.ui));
|
|
3770
|
+
showingSummaryIndicator = true;
|
|
3743
3771
|
this.ui.requestRender();
|
|
3744
3772
|
}
|
|
3745
3773
|
try {
|
|
@@ -3770,9 +3798,8 @@ export class InteractiveMode {
|
|
|
3770
3798
|
this.showError(error instanceof Error ? error.message : String(error));
|
|
3771
3799
|
}
|
|
3772
3800
|
finally {
|
|
3773
|
-
if (
|
|
3774
|
-
|
|
3775
|
-
this.statusContainer.clear();
|
|
3801
|
+
if (showingSummaryIndicator) {
|
|
3802
|
+
this.clearStatusIndicator("branchSummary");
|
|
3776
3803
|
}
|
|
3777
3804
|
this.defaultEditor.onEscape = originalOnEscape;
|
|
3778
3805
|
}
|
|
@@ -3813,11 +3840,7 @@ export class InteractiveMode {
|
|
|
3813
3840
|
});
|
|
3814
3841
|
}
|
|
3815
3842
|
async handleResumeSession(sessionPath, options) {
|
|
3816
|
-
|
|
3817
|
-
this.loadingAnimation.stop();
|
|
3818
|
-
this.loadingAnimation = undefined;
|
|
3819
|
-
}
|
|
3820
|
-
this.statusContainer.clear();
|
|
3843
|
+
this.clearStatusIndicator();
|
|
3821
3844
|
try {
|
|
3822
3845
|
const result = await this.runtimeHost.switchSession(sessionPath, {
|
|
3823
3846
|
withSession: options?.withSession,
|
|
@@ -4210,6 +4233,7 @@ export class InteractiveMode {
|
|
|
4210
4233
|
return;
|
|
4211
4234
|
}
|
|
4212
4235
|
this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
|
|
4236
|
+
this.outputPad = this.settingsManager.getOutputPad();
|
|
4213
4237
|
this.rebuildChatFromMessages();
|
|
4214
4238
|
chatRestoredBeforeSessionStart = true;
|
|
4215
4239
|
};
|
|
@@ -4233,7 +4257,11 @@ export class InteractiveMode {
|
|
|
4233
4257
|
this.editor.setAutocompleteMaxVisible?.(autocompleteMaxVisible);
|
|
4234
4258
|
}
|
|
4235
4259
|
this.ui.setShowHardwareCursor(this.settingsManager.getShowHardwareCursor());
|
|
4236
|
-
this.
|
|
4260
|
+
const clearOnShrink = this.settingsManager.getClearOnShrink();
|
|
4261
|
+
this.ui.setClearOnShrink(clearOnShrink);
|
|
4262
|
+
if (!clearOnShrink && !this.activeStatusIndicator) {
|
|
4263
|
+
this.statusContainer.clear();
|
|
4264
|
+
}
|
|
4237
4265
|
this.setupAutocompleteProvider();
|
|
4238
4266
|
const runner = this.session.extensionRunner;
|
|
4239
4267
|
this.setupExtensionShortcuts(runner);
|
|
@@ -4312,11 +4340,7 @@ export class InteractiveMode {
|
|
|
4312
4340
|
return;
|
|
4313
4341
|
}
|
|
4314
4342
|
try {
|
|
4315
|
-
|
|
4316
|
-
this.loadingAnimation.stop();
|
|
4317
|
-
this.loadingAnimation = undefined;
|
|
4318
|
-
}
|
|
4319
|
-
this.statusContainer.clear();
|
|
4343
|
+
this.clearStatusIndicator();
|
|
4320
4344
|
const result = await this.runtimeHost.importFromJsonl(inputPath);
|
|
4321
4345
|
if (result.cancelled) {
|
|
4322
4346
|
this.showStatus("Import cancelled");
|
|
@@ -4642,11 +4666,7 @@ export class InteractiveMode {
|
|
|
4642
4666
|
this.ui.requestRender();
|
|
4643
4667
|
}
|
|
4644
4668
|
async handleClearCommand() {
|
|
4645
|
-
|
|
4646
|
-
this.loadingAnimation.stop();
|
|
4647
|
-
this.loadingAnimation = undefined;
|
|
4648
|
-
}
|
|
4649
|
-
this.statusContainer.clear();
|
|
4669
|
+
this.clearStatusIndicator();
|
|
4650
4670
|
try {
|
|
4651
4671
|
const result = await this.runtimeHost.newSession();
|
|
4652
4672
|
if (result.cancelled) {
|
|
@@ -4773,11 +4793,7 @@ export class InteractiveMode {
|
|
|
4773
4793
|
this.ui.requestRender();
|
|
4774
4794
|
}
|
|
4775
4795
|
async handleCompactCommand(customInstructions) {
|
|
4776
|
-
|
|
4777
|
-
this.loadingAnimation.stop();
|
|
4778
|
-
this.loadingAnimation = undefined;
|
|
4779
|
-
}
|
|
4780
|
-
this.statusContainer.clear();
|
|
4796
|
+
this.clearStatusIndicator();
|
|
4781
4797
|
try {
|
|
4782
4798
|
await this.session.compact(customInstructions);
|
|
4783
4799
|
}
|
|
@@ -4789,10 +4805,7 @@ export class InteractiveMode {
|
|
|
4789
4805
|
if (this.settingsManager.getShowTerminalProgress()) {
|
|
4790
4806
|
this.ui.terminal.setProgress(false);
|
|
4791
4807
|
}
|
|
4792
|
-
|
|
4793
|
-
this.loadingAnimation.stop();
|
|
4794
|
-
this.loadingAnimation = undefined;
|
|
4795
|
-
}
|
|
4808
|
+
this.clearStatusIndicator();
|
|
4796
4809
|
this.themeController.disableAutoSync();
|
|
4797
4810
|
this.clearExtensionTerminalInputListeners();
|
|
4798
4811
|
this.footer.dispose();
|
|
@@ -320,6 +320,10 @@ function printSelfUpdateUnavailable(npmCommand, updatePackageTarget = PACKAGE_NA
|
|
|
320
320
|
function printSelfUpdateFallback(command) {
|
|
321
321
|
console.error(chalk.dim(`If this keeps failing, run this command yourself: ${command.display}`));
|
|
322
322
|
}
|
|
323
|
+
function printPnpmSelfUpdateMetadataHint() {
|
|
324
|
+
console.error(chalk.yellow("If pnpm reports missing package versions, its cached registry metadata may be stale."));
|
|
325
|
+
console.error(chalk.yellow(`Run \`pnpm store prune\` and retry \`${APP_NAME} update --self\`.`));
|
|
326
|
+
}
|
|
323
327
|
function printSelfUpdateNote(note) {
|
|
324
328
|
const trimmedNote = note.trim();
|
|
325
329
|
if (!trimmedNote) {
|
|
@@ -639,6 +643,9 @@ export async function handlePackageCommand(args, runtimeOptions = {}) {
|
|
|
639
643
|
catch (error) {
|
|
640
644
|
const message = error instanceof Error ? error.message : "Unknown package command error";
|
|
641
645
|
console.error(chalk.red(`Error: ${message}`));
|
|
646
|
+
if (installMethod === "pnpm") {
|
|
647
|
+
printPnpmSelfUpdateMetadataHint();
|
|
648
|
+
}
|
|
642
649
|
printSelfUpdateFallback(selfUpdateCommand);
|
|
643
650
|
process.exitCode = 1;
|
|
644
651
|
return true;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@earendil-works/pi-coding-agent",
|
|
3
|
-
"version": "0.80.
|
|
3
|
+
"version": "0.80.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@earendil-works/pi-coding-agent",
|
|
9
|
-
"version": "0.80.
|
|
9
|
+
"version": "0.80.3",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@earendil-works/pi-agent-core": "^0.80.
|
|
13
|
-
"@earendil-works/pi-ai": "^0.80.
|
|
14
|
-
"@earendil-works/pi-tui": "^0.80.
|
|
12
|
+
"@earendil-works/pi-agent-core": "^0.80.3",
|
|
13
|
+
"@earendil-works/pi-ai": "^0.80.3",
|
|
14
|
+
"@earendil-works/pi-tui": "^0.80.3",
|
|
15
15
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
16
16
|
"chalk": "5.6.2",
|
|
17
17
|
"cross-spawn": "7.0.6",
|
|
@@ -474,11 +474,11 @@
|
|
|
474
474
|
}
|
|
475
475
|
},
|
|
476
476
|
"node_modules/@earendil-works/pi-agent-core": {
|
|
477
|
-
"version": "0.80.
|
|
478
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.80.
|
|
477
|
+
"version": "0.80.3",
|
|
478
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.80.3.tgz",
|
|
479
479
|
"license": "MIT",
|
|
480
480
|
"dependencies": {
|
|
481
|
-
"@earendil-works/pi-ai": "^0.80.
|
|
481
|
+
"@earendil-works/pi-ai": "^0.80.3",
|
|
482
482
|
"ignore": "7.0.5",
|
|
483
483
|
"typebox": "1.1.38",
|
|
484
484
|
"yaml": "2.9.0"
|
|
@@ -488,8 +488,8 @@
|
|
|
488
488
|
}
|
|
489
489
|
},
|
|
490
490
|
"node_modules/@earendil-works/pi-ai": {
|
|
491
|
-
"version": "0.80.
|
|
492
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.
|
|
491
|
+
"version": "0.80.3",
|
|
492
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.80.3.tgz",
|
|
493
493
|
"license": "MIT",
|
|
494
494
|
"dependencies": {
|
|
495
495
|
"@anthropic-ai/sdk": "0.91.1",
|
|
@@ -512,8 +512,8 @@
|
|
|
512
512
|
}
|
|
513
513
|
},
|
|
514
514
|
"node_modules/@earendil-works/pi-tui": {
|
|
515
|
-
"version": "0.80.
|
|
516
|
-
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.
|
|
515
|
+
"version": "0.80.3",
|
|
516
|
+
"resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.80.3.tgz",
|
|
517
517
|
"license": "MIT",
|
|
518
518
|
"dependencies": {
|
|
519
519
|
"get-east-asian-width": "1.6.0",
|