@psnext/slingcli 2.5.20260629-1 → 2.5.20260707-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 +11 -18
- 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 +141 -4
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +21 -173
- 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 +5 -4
- 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/huggingface.models.js +18 -0
- 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 +93 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +194 -87
- 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/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +254 -597
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +254 -597
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.d.ts +26 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js +26 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +174 -111
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +174 -111
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +484 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +484 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +254 -597
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +254 -597
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.d.ts +26 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js +26 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +174 -111
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +174 -111
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +484 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +484 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +254 -597
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +289 -650
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.d.ts +26 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js +27 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +174 -111
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +181 -118
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +484 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +506 -7
- package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/package.json +3 -3
- package/node_modules/@protobufjs/utf8/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/utf8/index.js +29 -18
- package/node_modules/@protobufjs/utf8/package.json +2 -2
- package/node_modules/@protobufjs/utf8/tests/index.js +5 -0
- 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/gaxios/build/cjs/src/gaxios.js +1 -1
- package/node_modules/gaxios/build/cjs/src/gaxios.js.map +1 -1
- package/node_modules/gaxios/build/cjs/test/test.getch.js +66 -0
- package/node_modules/gaxios/build/cjs/test/test.getch.js.map +1 -1
- package/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/node_modules/gaxios/build/esm/src/gaxios.js +1 -1
- package/node_modules/gaxios/build/esm/src/gaxios.js.map +1 -1
- package/node_modules/gaxios/build/esm/test/test.getch.js +66 -0
- package/node_modules/gaxios/build/esm/test/test.getch.js.map +1 -1
- package/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
- package/node_modules/gaxios/package.json +4 -4
- 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/sling-default-packages.json +2 -1
- 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",
|