shortcutxl 0.3.76 → 0.3.78
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/BINARY-INVENTORY.json +813 -813
- package/CHANGELOG.md +14 -0
- package/dist/ai/models.d.ts +10 -6
- package/dist/ai/models.generated.d.ts +72 -0
- package/dist/ai/models.generated.js +33 -0
- package/dist/ai/models.js +36 -13
- package/dist/ai/providers/anthropic.d.ts +4 -2
- package/dist/ai/providers/anthropic.js +59 -29
- package/dist/ai/providers/azure-openai-responses.d.ts +2 -1
- package/dist/ai/providers/azure-openai-responses.js +4 -20
- package/dist/ai/providers/google-vertex.d.ts +8 -2
- package/dist/ai/providers/google-vertex.js +66 -54
- package/dist/ai/providers/google.js +15 -48
- package/dist/ai/providers/openai-completions.d.ts +4 -1
- package/dist/ai/providers/openai-completions.js +26 -10
- package/dist/ai/providers/openai-reasoning.d.ts +5 -0
- package/dist/ai/providers/openai-reasoning.js +13 -0
- package/dist/ai/providers/openai-responses-shared.js +1 -1
- package/dist/ai/providers/openai-responses.d.ts +6 -2
- package/dist/ai/providers/openai-responses.js +28 -23
- package/dist/ai/providers/simple-options.d.ts +2 -3
- package/dist/ai/providers/simple-options.js +4 -6
- package/dist/ai/types.d.ts +19 -2
- package/dist/app/agent-session-runtime-adapter.js +7 -6
- package/dist/app/agent-session.d.ts +0 -15
- package/dist/app/agent-session.js +0 -37
- package/dist/app/approvals/approval-errors.d.ts +15 -0
- package/dist/app/approvals/approval-errors.js +14 -0
- package/dist/app/approvals/runtime-approval-gates.d.ts +1 -2
- package/dist/app/approvals/tool-approval.d.ts +1 -0
- package/dist/app/approvals/tool-approval.js +11 -23
- package/dist/app/approvals/types.d.ts +0 -14
- package/dist/app/approvals/types.js +0 -2
- package/dist/app/background/tool-summaries.js +0 -2
- package/dist/app/extensions/slash-commands.js +1 -3
- package/dist/app/local/tools/execute-code/executor.d.ts +1 -1
- package/dist/app/local/tools/execute-code/executor.js +20 -10
- package/dist/app/local/tools/execute-code/tool.js +21 -2
- package/dist/app/modes/action/agent.js +4 -5
- package/dist/app/modes/ask/agent.js +4 -6
- package/dist/app/modes/index.js +20 -10
- package/dist/app/modes/installation/agent.js +4 -5
- package/dist/app/modes/manage/agent.js +3 -4
- package/dist/app/modes/manage/prompt.js +1 -2
- package/dist/app/modes/metadata.d.ts +31 -0
- package/dist/app/modes/metadata.js +35 -0
- package/dist/app/modes/plan/agent.js +5 -8
- package/dist/app/modes/plan/prompt.js +3 -3
- package/dist/app/permissions/runtime-approval-flow.d.ts +1 -5
- package/dist/app/permissions/runtime-approval-flow.js +0 -28
- package/dist/app/permissions/tool-gates.d.ts +2 -3
- package/dist/app/permissions/tool-gates.js +3 -81
- package/dist/app/prompts/com-api.js +1 -1
- package/dist/app/prompts/shared-guidelines.js +7 -3
- package/dist/app/providers/google-vertex-gateway.js +4 -51
- package/dist/app/providers/model-registry.d.ts +1 -0
- package/dist/app/providers/model-registry.js +39 -0
- package/dist/app/providers/model-resolver.js +10 -7
- package/dist/app/providers/register-shortcut-provider.js +6 -6
- package/dist/app/providers/shortcut-api-v2-transport.js +4 -0
- package/dist/app/providers/shortcut-llm-proxy-client.d.ts +2 -2
- package/dist/app/providers/shortcut-llm-proxy-client.js +1 -0
- package/dist/app/resources/package-manager.js +2 -123
- package/dist/app/resources/resource-patterns.d.ts +9 -0
- package/dist/app/resources/resource-patterns.js +120 -0
- package/dist/app/session/forked-agent.d.ts +2 -2
- package/dist/app/session/model-manager.js +3 -2
- package/dist/app/session/session-lifecycle.js +3 -2
- package/dist/app/session/session-models.d.ts +2 -0
- package/dist/app/session/session-models.js +14 -6
- package/dist/app/settings-manager.d.ts +3 -3
- package/dist/app/shared/tools/execute-code/mog.d.ts +3 -1
- package/dist/app/shared/tools/execute-code/mog.js +18 -2
- package/dist/app/tools/bash.js +3 -3
- package/dist/app/tools/execute-code/index.d.ts +1 -0
- package/dist/app/tools/execute-code/index.js +3 -1
- package/dist/app/tools/find-ignore-files.d.ts +3 -0
- package/dist/app/tools/find-ignore-files.js +33 -0
- package/dist/app/tools/find.js +2 -21
- package/dist/app/tools/llm-analysis.js +0 -2
- package/dist/app/tools/refresh-context.d.ts +1 -1
- package/dist/app/tools/session-settings/update-session-settings.js +2 -2
- package/dist/app/tools/switch-mode.js +2 -2
- package/dist/app/tools/take-screenshot.js +0 -2
- package/dist/app/tools/task/runner.js +1 -2
- package/dist/app/tools/task/task.d.ts +1 -3
- package/dist/app/tools/task/task.js +20 -40
- package/dist/app/tools/web-search.js +12 -2
- package/dist/autocomplete/core.d.ts +33 -0
- package/dist/autocomplete/core.js +113 -0
- package/dist/{tui → autocomplete}/fuzzy.d.ts +0 -1
- package/dist/{tui → autocomplete}/fuzzy.js +0 -1
- package/dist/{tui/autocomplete.d.ts → autocomplete/index.d.ts} +0 -1
- package/dist/{tui/autocomplete.js → autocomplete/index.js} +62 -158
- package/dist/cli/args.js +1 -1
- package/dist/cli/list-models.js +1 -1
- package/dist/cli.js +26227 -30480
- package/dist/constants.d.ts +0 -2
- package/dist/constants.js +0 -3
- package/dist/contracts/agent-session-store.d.ts +1 -1
- package/dist/contracts/agent-settings.d.ts +1 -0
- package/dist/contracts/agent-settings.js +2 -1
- package/dist/contracts/model-call.d.ts +1 -2
- package/dist/contracts/model-call.js +1 -2
- package/dist/contracts/model-stream.d.ts +1 -0
- package/dist/contracts/model-stream.js +1 -0
- package/dist/contracts/wire.d.ts +10 -7
- package/dist/contracts/wire.js +8 -0
- package/dist/core/agent-engine.js +1 -1
- package/dist/core/core-types.d.ts +1 -21
- package/dist/core/defaults.d.ts +1 -1
- package/dist/core/defaults.js +9 -1
- package/dist/core/prompts/agent-guidelines.d.ts +4 -5
- package/dist/core/prompts/agent-guidelines.js +28 -42
- package/dist/core/session-schema.d.ts +1 -1
- package/dist/embedded-agent/ai-invoke.d.ts +1 -2
- package/dist/embedded-agent/ai-invoke.js +2 -70
- package/dist/embedded-agent/anthropic-messages-transport.d.ts +4 -20
- package/dist/embedded-agent/anthropic-messages-transport.js +23 -786
- package/dist/embedded-agent/bootstrap.js +2 -2
- package/dist/embedded-agent/compose.js +8 -7
- package/dist/embedded-agent/gateway-base-url.d.ts +3 -0
- package/dist/embedded-agent/gateway-base-url.js +35 -0
- package/dist/embedded-agent/google-vertex-transport.d.ts +2 -11
- package/dist/embedded-agent/google-vertex-transport.js +20 -117
- package/dist/embedded-agent/host-runtime-options.d.ts +0 -8
- package/dist/embedded-agent/host-runtime-options.js +10 -2
- package/dist/embedded-agent/host-tools/invoke-llm/contract.d.ts +2 -2
- package/dist/embedded-agent/host-tools/invoke-llm/contract.js +4 -2
- package/dist/embedded-agent/host-tools/sandbox-llm/contract.d.ts +8 -3
- package/dist/embedded-agent/host-tools/sandbox-llm/contract.js +12 -8
- package/dist/embedded-agent/host-tools/sandbox-llm/index.d.ts +1 -1
- package/dist/embedded-agent/host-tools/sandbox-llm/index.js +1 -1
- package/dist/embedded-agent/host-tools/shared/index.d.ts +1 -1
- package/dist/embedded-agent/host-tools/shared/index.js +1 -1
- package/dist/embedded-agent/host-tools/shared/llm-stream-error.d.ts +7 -0
- package/dist/embedded-agent/host-tools/shared/llm-stream-error.js +10 -0
- package/dist/embedded-agent/host-tools/take-screenshot/contract.d.ts +0 -2
- package/dist/embedded-agent/host-tools/take-screenshot/contract.js +1 -3
- package/dist/embedded-agent/host-tools/take-screenshot/index.d.ts +1 -1
- package/dist/embedded-agent/host-tools/take-screenshot/index.js +1 -1
- package/dist/embedded-agent/host-tools/task/agents/clone.js +1 -2
- package/dist/embedded-agent/host-tools/task/contract.js +1 -1
- package/dist/embedded-agent/index.d.ts +3 -4
- package/dist/embedded-agent/index.js +2 -3
- package/dist/embedded-agent/model-selection.d.ts +0 -6
- package/dist/embedded-agent/model-selection.js +15 -8
- package/dist/embedded-agent/openai-completions-transport.d.ts +2 -11
- package/dist/embedded-agent/openai-completions-transport.js +20 -120
- package/dist/embedded-agent/openai-responses-transport.d.ts +2 -11
- package/dist/embedded-agent/openai-responses-transport.js +15 -170
- package/dist/embedded-agent/prompt/build.js +1 -2
- package/dist/embedded-agent/prompt/sections.d.ts +1 -1
- package/dist/embedded-agent/prompt/sections.js +2 -0
- package/dist/embedded-agent/provider-native-request.d.ts +29 -0
- package/dist/embedded-agent/provider-native-request.js +65 -0
- package/dist/embedded-agent/run-stats.d.ts +1 -1
- package/dist/embedded-agent/stream.d.ts +10 -96
- package/dist/embedded-agent/stream.js +31 -556
- package/dist/embedded-agent/suggestions.d.ts +1 -1
- package/dist/embedded-agent/suggestions.js +1 -1
- package/dist/embedded-agent/worker-bridge/host-client.d.ts +7 -0
- package/dist/embedded-agent/worker-bridge/host-client.js +15 -0
- package/dist/embedded-agent/worker-bridge/worker-port.js +17 -1
- package/dist/main.js +18 -14
- package/dist/rpc/index.d.ts +1 -1
- package/dist/rpc/rpc-approval-gates.js +1 -2
- package/dist/rpc/rpc-host.d.ts +4 -0
- package/dist/rpc/rpc-host.js +13 -24
- package/dist/rpc/rpc-types.d.ts +6 -17
- package/dist/shared/platform/open.d.ts +4 -1
- package/dist/shared/platform/open.js +14 -2
- package/dist/shell/approvals/runtime-approval-gates.js +1 -3
- package/dist/shell/components/selectors/model-selector.js +2 -1
- package/dist/shell/components/selectors/session-selector-search.js +1 -1
- package/dist/shell/components/selectors/thinking-selector.js +7 -6
- package/dist/shell/index.d.ts +0 -1
- package/dist/shell/index.js +0 -1
- package/dist/shell/interactive/interactive-mode-options.d.ts +10 -0
- package/dist/shell/interactive/interactive-mode.d.ts +6 -12
- package/dist/shell/interactive/interactive-mode.js +39 -158
- package/dist/shell/interactive/slash-commands.d.ts +0 -34
- package/dist/shell/interactive/slash-commands.js +0 -2
- package/dist/shell/links/local-file-link-input.d.ts +15 -0
- package/dist/shell/links/local-file-link-input.js +38 -0
- package/dist/shell/links/local-file-link.d.ts +7 -0
- package/dist/shell/links/local-file-link.js +35 -0
- package/dist/shell/links/local-file-opener.d.ts +16 -0
- package/dist/shell/links/local-file-opener.js +90 -0
- package/dist/shell/session-client.d.ts +0 -1
- package/dist/shell/session-client.js +0 -6
- package/dist/shell/status/update-check-scheduler.d.ts +30 -0
- package/dist/shell/status/update-check-scheduler.js +71 -0
- package/dist/shell/status/update-reminder-controller.d.ts +22 -0
- package/dist/shell/status/update-reminder-controller.js +40 -0
- package/dist/shell/status/update-reminder.d.ts +6 -0
- package/dist/shell/status/update-reminder.js +4 -0
- package/dist/shell/theme/dark.json +1 -2
- package/dist/shell/theme/light.json +1 -2
- package/dist/shell/theme/runtime.d.ts +2 -3
- package/dist/shell/theme/runtime.js +2 -6
- package/dist/shell/theme/theme-schema.json +1 -6
- package/dist/shortcut-model-catalog.d.ts +7 -2
- package/dist/shortcut-model-catalog.js +134 -10
- package/dist/startup/update-manager.d.ts +6 -6
- package/dist/startup/update-manager.js +23 -38
- package/dist/startup/update-prompt.d.ts +1 -0
- package/dist/startup/update-prompt.js +2 -2
- package/dist/tui/components/editor.d.ts +1 -1
- package/dist/tui/components/editor.js +1 -1
- package/dist/tui/components/markdown.js +15 -6
- package/dist/tui/components/settings-list.js +1 -1
- package/dist/tui/editor-component.d.ts +1 -1
- package/dist/tui/index.d.ts +7 -8
- package/dist/tui/index.js +7 -6
- package/dist/tui/tui.d.ts +2 -0
- package/dist/tui/tui.js +16 -1
- package/dist/tui/utils.d.ts +7 -0
- package/dist/tui/utils.js +58 -8
- package/native-app/main/index.js +3200 -48
- package/native-app/main/{photon_rs-SoVDgheu.js → photon_rs-XkYyYTVA.js} +2 -2
- package/native-app/package.json +1 -1
- package/native-app/preload/index.cjs +2 -0
- package/native-app/renderer/assets/{index-CFc-oZuS.js → index-B4jz6epR.js} +825 -155
- package/native-app/renderer/assets/{index-OhGE0UY4.css → index-C__g36ft.css} +412 -162
- package/native-app/renderer/assets/shortcutagent-DxFsGSkw.png +0 -0
- package/native-app/renderer/index.html +2 -2
- package/package.json +17 -3
- package/skills/add-custom-model/SKILL.md +52 -0
- package/user-docs/dist/index.html +1 -1
- package/user-docs/dist/shortcutxl-docs.pdf +0 -0
- package/xll/ShortcutXL.xll +0 -0
- package/xll/modules/shortcut_xl/_managed.py +26 -7
- package/xll/modules/shortcut_xl/_tracking.py +141 -251
- package/xll/modules/shortcut_xl/api/__init__.py +60 -0
- package/xll/modules/shortcut_xl/api/workbook.py +9 -1
- package/xll/modules/shortcut_xl/api/worksheet.py +4 -1
- package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
- package/xll/python/Lib/site-packages/idna-3.18.dist-info/RECORD +1 -1
- package/xll/python/Lib/site-packages/pip/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/build_env/__init__.py +25 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/base.py +103 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/installer.py +333 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/noop.py +42 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/venv.py +145 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/virtual.py +139 -0
- package/xll/python/Lib/site-packages/pip/_internal/cache.py +4 -1
- package/xll/python/Lib/site-packages/pip/_internal/cli/autocompletion.py +4 -1
- package/xll/python/Lib/site-packages/pip/_internal/cli/base_command.py +11 -14
- package/xll/python/Lib/site-packages/pip/_internal/cli/cmdoptions.py +133 -22
- package/xll/python/Lib/site-packages/pip/_internal/cli/index_command.py +11 -6
- package/xll/python/Lib/site-packages/pip/_internal/cli/main.py +2 -1
- package/xll/python/Lib/site-packages/pip/_internal/cli/main_parser.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/cli/parser.py +10 -2
- package/xll/python/Lib/site-packages/pip/_internal/cli/progress_bars.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/cli/req_command.py +57 -25
- package/xll/python/Lib/site-packages/pip/_internal/cli/status_codes.py +1 -0
- package/xll/python/Lib/site-packages/pip/_internal/commands/cache.py +7 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/configuration.py +2 -1
- package/xll/python/Lib/site-packages/pip/_internal/commands/debug.py +4 -5
- package/xll/python/Lib/site-packages/pip/_internal/commands/download.py +4 -0
- package/xll/python/Lib/site-packages/pip/_internal/commands/freeze.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/commands/index.py +10 -3
- package/xll/python/Lib/site-packages/pip/_internal/commands/inspect.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/commands/install.py +6 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/list.py +11 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/lock.py +4 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/show.py +14 -8
- package/xll/python/Lib/site-packages/pip/_internal/commands/wheel.py +7 -1
- package/xll/python/Lib/site-packages/pip/_internal/configuration.py +2 -3
- package/xll/python/Lib/site-packages/pip/_internal/distributions/base.py +5 -3
- package/xll/python/Lib/site-packages/pip/_internal/distributions/installed.py +3 -2
- package/xll/python/Lib/site-packages/pip/_internal/distributions/sdist.py +45 -20
- package/xll/python/Lib/site-packages/pip/_internal/distributions/wheel.py +3 -2
- package/xll/python/Lib/site-packages/pip/_internal/exceptions.py +174 -0
- package/xll/python/Lib/site-packages/pip/_internal/index/collector.py +70 -48
- package/xll/python/Lib/site-packages/pip/_internal/index/package_finder.py +46 -7
- package/xll/python/Lib/site-packages/pip/_internal/index/sources.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/locations/_sysconfig.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/locations/base.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/metadata/base.py +10 -5
- package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +8 -3
- package/xll/python/Lib/site-packages/pip/_internal/models/candidate.py +5 -1
- package/xll/python/Lib/site-packages/pip/_internal/models/link.py +53 -13
- package/xll/python/Lib/site-packages/pip/_internal/network/auth.py +38 -21
- package/xll/python/Lib/site-packages/pip/_internal/network/cache.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/network/download.py +58 -11
- package/xll/python/Lib/site-packages/pip/_internal/network/session.py +35 -40
- package/xll/python/Lib/site-packages/pip/_internal/network/utils.py +109 -1
- package/xll/python/Lib/site-packages/pip/_internal/operations/check.py +2 -3
- package/xll/python/Lib/site-packages/pip/_internal/operations/install/wheel.py +23 -18
- package/xll/python/Lib/site-packages/pip/_internal/operations/prepare.py +152 -7
- package/xll/python/Lib/site-packages/pip/_internal/req/__init__.py +2 -0
- package/xll/python/Lib/site-packages/pip/_internal/req/constructors.py +54 -69
- package/xll/python/Lib/site-packages/pip/_internal/req/req_file.py +6 -6
- package/xll/python/Lib/site-packages/pip/_internal/req/req_install.py +25 -21
- package/xll/python/Lib/site-packages/pip/_internal/req/req_uninstall.py +13 -8
- package/xll/python/Lib/site-packages/pip/_internal/resolution/base.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -1
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +39 -52
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +3 -3
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +3 -0
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +9 -0
- package/xll/python/Lib/site-packages/pip/_internal/utils/compat.py +15 -9
- package/xll/python/Lib/site-packages/pip/_internal/utils/deprecation.py +6 -1
- package/xll/python/Lib/site-packages/pip/_internal/utils/filesystem.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/logging.py +11 -3
- package/xll/python/Lib/site-packages/pip/_internal/utils/misc.py +48 -4
- package/xll/python/Lib/site-packages/pip/_internal/utils/pylock.py +18 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/retry.py +2 -1
- package/xll/python/Lib/site-packages/pip/_internal/utils/subprocess.py +4 -3
- package/xll/python/Lib/site-packages/pip/_internal/utils/temp_dir.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/unpacking.py +30 -4
- package/xll/python/Lib/site-packages/pip/_internal/utils/urls.py +5 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/virtualenv.py +2 -36
- package/xll/python/Lib/site-packages/pip/_internal/vcs/git.py +8 -5
- package/xll/python/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/wheel_builder.py +5 -1
- package/xll/python/Lib/site-packages/pip/_vendor/bom.cdx.json +231 -0
- package/xll/python/Lib/site-packages/pip/_vendor/certifi/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/certifi/cacert.pem +0 -631
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/compat.py +34 -64
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/resources.py +28 -14
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/scripts.py +7 -3
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/util.py +48 -11
- package/xll/python/Lib/site-packages/pip/_vendor/idna/LICENSE.md +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/idna/__main__.py +6 -0
- package/xll/python/Lib/site-packages/pip/_vendor/idna/cli.py +128 -0
- package/xll/python/Lib/site-packages/pip/_vendor/idna/codec.py +50 -13
- package/xll/python/Lib/site-packages/pip/_vendor/idna/compat.py +26 -0
- package/xll/python/Lib/site-packages/pip/_vendor/idna/core.py +352 -141
- package/xll/python/Lib/site-packages/pip/_vendor/idna/idnadata.py +571 -2983
- package/xll/python/Lib/site-packages/pip/_vendor/idna/intranges.py +5 -7
- package/xll/python/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/idna/uts46data.py +16887 -8832
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +352 -66
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +11 -0
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/_xdg.py +171 -0
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/android.py +92 -41
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/api.py +213 -49
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/macos.py +128 -51
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/unix.py +176 -127
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/version.py +8 -18
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/windows.py +185 -68
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/__init__.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/__main__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/console.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/filter.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +10 -8
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatter.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexer.py +7 -5
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +9 -8
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +35 -32
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/modeline.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/plugin.py +3 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/regexopt.py +13 -2
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/scanner.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/style.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/token.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/unistring.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/util.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/__init__.py +52 -16
- package/xll/python/Lib/site-packages/pip/_vendor/requests/__version__.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/_types.py +183 -0
- package/xll/python/Lib/site-packages/pip/_vendor/requests/adapters.py +101 -50
- package/xll/python/Lib/site-packages/pip/_vendor/requests/api.py +31 -8
- package/xll/python/Lib/site-packages/pip/_vendor/requests/auth.py +80 -40
- package/xll/python/Lib/site-packages/pip/_vendor/requests/compat.py +9 -3
- package/xll/python/Lib/site-packages/pip/_vendor/requests/cookies.py +143 -79
- package/xll/python/Lib/site-packages/pip/_vendor/requests/exceptions.py +15 -5
- package/xll/python/Lib/site-packages/pip/_vendor/requests/help.py +13 -10
- package/xll/python/Lib/site-packages/pip/_vendor/requests/hooks.py +23 -9
- package/xll/python/Lib/site-packages/pip/_vendor/requests/models.py +265 -126
- package/xll/python/Lib/site-packages/pip/_vendor/requests/py.typed +0 -0
- package/xll/python/Lib/site-packages/pip/_vendor/requests/sessions.py +164 -78
- package/xll/python/Lib/site-packages/pip/_vendor/requests/status_codes.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/structures.py +51 -20
- package/xll/python/Lib/site-packages/pip/_vendor/requests/utils.py +161 -89
- package/xll/python/Lib/site-packages/pip/_vendor/tomli/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/tomli/_parser.py +9 -4
- package/xll/python/Lib/site-packages/pip/_vendor/tomli/_re.py +13 -9
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_base_connection.py +3 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_version.py +8 -18
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connection.py +4 -4
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +23 -10
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py +5 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +7 -8
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/fields.py +14 -14
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +8 -6
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/response.py +35 -22
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +8 -0
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +11 -61
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +5 -11
- package/xll/python/Lib/site-packages/pip/_vendor/vendor.txt +8 -8
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/METADATA +3 -2
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/RECORD +208 -188
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/AUTHORS.txt +20 -0
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/idna/LICENSE.md +1 -1
- package/xll/python/Lib/site-packages/pywin32-311.dist-info/RECORD +2 -2
- package/xll/python/Scripts/httpx.exe +0 -0
- package/xll/python/Scripts/idna.exe +0 -0
- package/xll/python/Scripts/pip.exe +0 -0
- package/xll/python/Scripts/pip3.13.exe +0 -0
- package/xll/python/Scripts/pip3.exe +0 -0
- package/xll/python/Scripts/pywin32_postinstall.exe +0 -0
- package/xll/python/Scripts/pywin32_testall.exe +0 -0
- package/dist/app/collab/awareness.d.ts +0 -32
- package/dist/app/collab/awareness.js +0 -52
- package/dist/app/collab/collab-client.d.ts +0 -37
- package/dist/app/collab/collab-client.js +0 -208
- package/dist/app/collab/collab-manager.d.ts +0 -91
- package/dist/app/collab/collab-manager.js +0 -218
- package/dist/app/collab/collab-sync.d.ts +0 -62
- package/dist/app/collab/collab-sync.js +0 -215
- package/dist/app/collab/index.d.ts +0 -9
- package/dist/app/collab/index.js +0 -6
- package/dist/app/collab/super-fight.d.ts +0 -90
- package/dist/app/collab/super-fight.js +0 -310
- package/dist/app/collab/sync-bridge.d.ts +0 -35
- package/dist/app/collab/sync-bridge.js +0 -109
- package/dist/app/collab/types.d.ts +0 -75
- package/dist/app/collab/types.js +0 -5
- package/dist/embedded-agent/ai-content.d.ts +0 -52
- package/dist/embedded-agent/ai-content.js +0 -101
- package/dist/embedded-agent/host-tools/shared/llm-stream.d.ts +0 -31
- package/dist/embedded-agent/host-tools/shared/llm-stream.js +0 -136
- package/dist/embedded-agent/model-call-orchestrator.d.ts +0 -22
- package/dist/embedded-agent/model-call-orchestrator.js +0 -22
- package/dist/embedded-agent/stream-errors.d.ts +0 -10
- package/dist/embedded-agent/stream-errors.js +0 -73
- package/dist/embedded-agent/stream-message-state.d.ts +0 -14
- package/dist/embedded-agent/stream-message-state.js +0 -271
- package/dist/embedded-agent/stream-sse.d.ts +0 -78
- package/dist/embedded-agent/stream-sse.js +0 -73
- package/dist/shell/approvals/task-spawn-approval.d.ts +0 -20
- package/dist/shell/approvals/task-spawn-approval.js +0 -93
- package/dist/shell/interactive/collab-command.d.ts +0 -9
- package/dist/shell/interactive/collab-command.js +0 -115
- package/dist/shell/interactive/super-fight-ui.d.ts +0 -80
- package/dist/shell/interactive/super-fight-ui.js +0 -484
- package/dist/shell/status/collab-status.d.ts +0 -18
- package/dist/shell/status/collab-status.js +0 -46
- package/xll/python/Lib/site-packages/pip/_internal/build_env.py +0 -606
- /package/dist/{tui → autocomplete}/skill-autocomplete.js +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/INSTALLER +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/REQUESTED +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/WHEEL +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/entry_points.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/LICENSE.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/certifi/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distlib/LICENSE.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distro/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/msgpack/COPYING +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pkg_resources/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/platformdirs/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pygments/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/requests/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/resolvelib/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/rich/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli_w/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/truststore/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
|
@@ -5,6 +5,8 @@ requests.auth
|
|
|
5
5
|
This module contains the authentication handlers for Requests.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
8
10
|
import hashlib
|
|
9
11
|
import os
|
|
10
12
|
import re
|
|
@@ -12,17 +14,24 @@ import threading
|
|
|
12
14
|
import time
|
|
13
15
|
import warnings
|
|
14
16
|
from base64 import b64encode
|
|
17
|
+
from typing import TYPE_CHECKING, Any, Final, cast, overload
|
|
15
18
|
|
|
16
19
|
from ._internal_utils import to_native_string
|
|
17
20
|
from .compat import basestring, str, urlparse
|
|
18
21
|
from .cookies import extract_cookies_to_jar
|
|
19
22
|
from .utils import parse_dict_header
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
if TYPE_CHECKING:
|
|
25
|
+
from http.cookiejar import CookieJar
|
|
26
|
+
from typing import Any
|
|
27
|
+
|
|
28
|
+
from .models import PreparedRequest, Response
|
|
29
|
+
|
|
30
|
+
CONTENT_TYPE_FORM_URLENCODED: Final = "application/x-www-form-urlencoded"
|
|
31
|
+
CONTENT_TYPE_MULTI_PART: Final = "multipart/form-data"
|
|
23
32
|
|
|
24
33
|
|
|
25
|
-
def _basic_auth_str(username, password):
|
|
34
|
+
def _basic_auth_str(username: bytes | str, password: bytes | str) -> str:
|
|
26
35
|
"""Returns a Basic Auth string."""
|
|
27
36
|
|
|
28
37
|
# "I want us to put a big-ol' comment on top of it that
|
|
@@ -32,7 +41,7 @@ def _basic_auth_str(username, password):
|
|
|
32
41
|
#
|
|
33
42
|
# These are here solely to maintain backwards compatibility
|
|
34
43
|
# for things like ints. This will be removed in 3.0.0.
|
|
35
|
-
if not isinstance(username, basestring):
|
|
44
|
+
if not isinstance(username, basestring): # type: ignore[reportUnnecessaryIsInstance] # runtime guard for non-str/bytes
|
|
36
45
|
warnings.warn(
|
|
37
46
|
"Non-string usernames will no longer be supported in Requests "
|
|
38
47
|
f"3.0.0. Please convert the object you've passed in ({username!r}) to "
|
|
@@ -42,7 +51,7 @@ def _basic_auth_str(username, password):
|
|
|
42
51
|
)
|
|
43
52
|
username = str(username)
|
|
44
53
|
|
|
45
|
-
if not isinstance(password, basestring):
|
|
54
|
+
if not isinstance(password, basestring): # type: ignore[reportUnnecessaryIsInstance] # runtime guard for non-str/bytes
|
|
46
55
|
warnings.warn(
|
|
47
56
|
"Non-string passwords will no longer be supported in Requests "
|
|
48
57
|
f"3.0.0. Please convert the object you've passed in ({type(password)!r}) to "
|
|
@@ -69,18 +78,26 @@ def _basic_auth_str(username, password):
|
|
|
69
78
|
class AuthBase:
|
|
70
79
|
"""Base class that all auth implementations derive from"""
|
|
71
80
|
|
|
72
|
-
def __call__(self, r):
|
|
81
|
+
def __call__(self, r: PreparedRequest) -> PreparedRequest:
|
|
73
82
|
raise NotImplementedError("Auth hooks must be callable.")
|
|
74
83
|
|
|
75
84
|
|
|
76
85
|
class HTTPBasicAuth(AuthBase):
|
|
77
86
|
"""Attaches HTTP Basic Authentication to the given Request object."""
|
|
78
87
|
|
|
79
|
-
|
|
88
|
+
username: bytes | str
|
|
89
|
+
password: bytes | str
|
|
90
|
+
|
|
91
|
+
@overload
|
|
92
|
+
def __init__(self, username: str, password: str) -> None: ...
|
|
93
|
+
@overload
|
|
94
|
+
def __init__(self, username: bytes, password: bytes) -> None: ...
|
|
95
|
+
|
|
96
|
+
def __init__(self, username: bytes | str, password: bytes | str) -> None:
|
|
80
97
|
self.username = username
|
|
81
98
|
self.password = password
|
|
82
99
|
|
|
83
|
-
def __eq__(self, other):
|
|
100
|
+
def __eq__(self, other: object) -> bool:
|
|
84
101
|
return all(
|
|
85
102
|
[
|
|
86
103
|
self.username == getattr(other, "username", None),
|
|
@@ -88,10 +105,10 @@ class HTTPBasicAuth(AuthBase):
|
|
|
88
105
|
]
|
|
89
106
|
)
|
|
90
107
|
|
|
91
|
-
def __ne__(self, other):
|
|
108
|
+
def __ne__(self, other: Any) -> bool:
|
|
92
109
|
return not self == other
|
|
93
110
|
|
|
94
|
-
def __call__(self, r):
|
|
111
|
+
def __call__(self, r: PreparedRequest) -> PreparedRequest:
|
|
95
112
|
r.headers["Authorization"] = _basic_auth_str(self.username, self.password)
|
|
96
113
|
return r
|
|
97
114
|
|
|
@@ -99,7 +116,7 @@ class HTTPBasicAuth(AuthBase):
|
|
|
99
116
|
class HTTPProxyAuth(HTTPBasicAuth):
|
|
100
117
|
"""Attaches HTTP Proxy Authentication to a given Request object."""
|
|
101
118
|
|
|
102
|
-
def __call__(self, r):
|
|
119
|
+
def __call__(self, r: PreparedRequest) -> PreparedRequest:
|
|
103
120
|
r.headers["Proxy-Authorization"] = _basic_auth_str(self.username, self.password)
|
|
104
121
|
return r
|
|
105
122
|
|
|
@@ -107,13 +124,27 @@ class HTTPProxyAuth(HTTPBasicAuth):
|
|
|
107
124
|
class HTTPDigestAuth(AuthBase):
|
|
108
125
|
"""Attaches HTTP Digest Authentication to the given Request object."""
|
|
109
126
|
|
|
110
|
-
|
|
127
|
+
username: bytes | str
|
|
128
|
+
password: bytes | str
|
|
129
|
+
_thread_local: threading.local
|
|
130
|
+
last_nonce: str
|
|
131
|
+
nonce_count: int
|
|
132
|
+
chal: dict[str, str]
|
|
133
|
+
pos: int | None
|
|
134
|
+
num_401_calls: int | None
|
|
135
|
+
|
|
136
|
+
@overload
|
|
137
|
+
def __init__(self, username: str, password: str) -> None: ...
|
|
138
|
+
@overload
|
|
139
|
+
def __init__(self, username: bytes, password: bytes) -> None: ...
|
|
140
|
+
|
|
141
|
+
def __init__(self, username: bytes | str, password: bytes | str) -> None:
|
|
111
142
|
self.username = username
|
|
112
143
|
self.password = password
|
|
113
144
|
# Keep state in per-thread local storage
|
|
114
145
|
self._thread_local = threading.local()
|
|
115
146
|
|
|
116
|
-
def init_per_thread_state(self):
|
|
147
|
+
def init_per_thread_state(self) -> None:
|
|
117
148
|
# Ensure state is initialized just once per-thread
|
|
118
149
|
if not hasattr(self._thread_local, "init"):
|
|
119
150
|
self._thread_local.init = True
|
|
@@ -123,7 +154,7 @@ class HTTPDigestAuth(AuthBase):
|
|
|
123
154
|
self._thread_local.pos = None
|
|
124
155
|
self._thread_local.num_401_calls = None
|
|
125
156
|
|
|
126
|
-
def build_digest_header(self, method, url):
|
|
157
|
+
def build_digest_header(self, method: str, url: str) -> str | None:
|
|
127
158
|
"""
|
|
128
159
|
:rtype: str
|
|
129
160
|
"""
|
|
@@ -142,42 +173,43 @@ class HTTPDigestAuth(AuthBase):
|
|
|
142
173
|
# lambdas assume digest modules are imported at the top level
|
|
143
174
|
if _algorithm == "MD5" or _algorithm == "MD5-SESS":
|
|
144
175
|
|
|
145
|
-
def md5_utf8(x):
|
|
176
|
+
def md5_utf8(x: str | bytes) -> str:
|
|
146
177
|
if isinstance(x, str):
|
|
147
178
|
x = x.encode("utf-8")
|
|
148
|
-
return hashlib.md5(x).hexdigest()
|
|
179
|
+
return hashlib.md5(x, usedforsecurity=False).hexdigest()
|
|
149
180
|
|
|
150
181
|
hash_utf8 = md5_utf8
|
|
151
182
|
elif _algorithm == "SHA":
|
|
152
183
|
|
|
153
|
-
def sha_utf8(x):
|
|
184
|
+
def sha_utf8(x: str | bytes) -> str:
|
|
154
185
|
if isinstance(x, str):
|
|
155
186
|
x = x.encode("utf-8")
|
|
156
|
-
return hashlib.sha1(x).hexdigest()
|
|
187
|
+
return hashlib.sha1(x, usedforsecurity=False).hexdigest()
|
|
157
188
|
|
|
158
189
|
hash_utf8 = sha_utf8
|
|
159
190
|
elif _algorithm == "SHA-256":
|
|
160
191
|
|
|
161
|
-
def sha256_utf8(x):
|
|
192
|
+
def sha256_utf8(x: str | bytes) -> str:
|
|
162
193
|
if isinstance(x, str):
|
|
163
194
|
x = x.encode("utf-8")
|
|
164
|
-
return hashlib.sha256(x).hexdigest()
|
|
195
|
+
return hashlib.sha256(x, usedforsecurity=False).hexdigest()
|
|
165
196
|
|
|
166
197
|
hash_utf8 = sha256_utf8
|
|
167
198
|
elif _algorithm == "SHA-512":
|
|
168
199
|
|
|
169
|
-
def sha512_utf8(x):
|
|
200
|
+
def sha512_utf8(x: str | bytes) -> str:
|
|
170
201
|
if isinstance(x, str):
|
|
171
202
|
x = x.encode("utf-8")
|
|
172
|
-
return hashlib.sha512(x).hexdigest()
|
|
203
|
+
return hashlib.sha512(x, usedforsecurity=False).hexdigest()
|
|
173
204
|
|
|
174
205
|
hash_utf8 = sha512_utf8
|
|
175
206
|
|
|
176
|
-
KD = lambda s, d: hash_utf8(f"{s}:{d}") # noqa:E731
|
|
177
|
-
|
|
178
207
|
if hash_utf8 is None:
|
|
179
208
|
return None
|
|
180
209
|
|
|
210
|
+
def KD(s: str, d: str) -> str:
|
|
211
|
+
return hash_utf8(f"{s}:{d}")
|
|
212
|
+
|
|
181
213
|
# XXX not implemented yet
|
|
182
214
|
entdig = None
|
|
183
215
|
p_parsed = urlparse(url)
|
|
@@ -202,9 +234,9 @@ class HTTPDigestAuth(AuthBase):
|
|
|
202
234
|
s += time.ctime().encode("utf-8")
|
|
203
235
|
s += os.urandom(8)
|
|
204
236
|
|
|
205
|
-
cnonce = hashlib.sha1(s).hexdigest()[:16]
|
|
237
|
+
cnonce = hashlib.sha1(s, usedforsecurity=False).hexdigest()[:16]
|
|
206
238
|
if _algorithm == "MD5-SESS":
|
|
207
|
-
HA1 = hash_utf8(f"{HA1}:{nonce}:{cnonce}")
|
|
239
|
+
HA1 = hash_utf8(f"{HA1}:{nonce}:{cnonce}") # type: ignore[reportConstantRedefinition] # RFC 2617 terminology
|
|
208
240
|
|
|
209
241
|
if not qop:
|
|
210
242
|
respdig = KD(HA1, f"{nonce}:{HA2}")
|
|
@@ -233,12 +265,12 @@ class HTTPDigestAuth(AuthBase):
|
|
|
233
265
|
|
|
234
266
|
return f"Digest {base}"
|
|
235
267
|
|
|
236
|
-
def handle_redirect(self, r, **kwargs):
|
|
268
|
+
def handle_redirect(self, r: Response, **kwargs: Any) -> None:
|
|
237
269
|
"""Reset num_401_calls counter on redirects."""
|
|
238
270
|
if r.is_redirect:
|
|
239
271
|
self._thread_local.num_401_calls = 1
|
|
240
272
|
|
|
241
|
-
def handle_401(self, r, **kwargs):
|
|
273
|
+
def handle_401(self, r: Response, **kwargs: Any) -> Response:
|
|
242
274
|
"""
|
|
243
275
|
Takes the given response and tries digest-auth, if needed.
|
|
244
276
|
|
|
@@ -254,7 +286,8 @@ class HTTPDigestAuth(AuthBase):
|
|
|
254
286
|
if self._thread_local.pos is not None:
|
|
255
287
|
# Rewind the file position indicator of the body to where
|
|
256
288
|
# it was to resend the request.
|
|
257
|
-
r.request.body
|
|
289
|
+
if (seek := getattr(r.request.body, "seek", None)) is not None:
|
|
290
|
+
seek(self._thread_local.pos)
|
|
258
291
|
s_auth = r.headers.get("www-authenticate", "")
|
|
259
292
|
|
|
260
293
|
if "digest" in s_auth.lower() and self._thread_local.num_401_calls < 2:
|
|
@@ -267,12 +300,15 @@ class HTTPDigestAuth(AuthBase):
|
|
|
267
300
|
r.content
|
|
268
301
|
r.close()
|
|
269
302
|
prep = r.request.copy()
|
|
270
|
-
|
|
271
|
-
|
|
303
|
+
cookie_jar = cast("CookieJar", prep._cookies) # type: ignore[reportPrivateUsage]
|
|
304
|
+
extract_cookies_to_jar(cookie_jar, r.request, r.raw)
|
|
305
|
+
prep.prepare_cookies(cookie_jar)
|
|
272
306
|
|
|
273
|
-
|
|
274
|
-
prep.method, prep.url
|
|
307
|
+
_digest_auth = self.build_digest_header(
|
|
308
|
+
cast(str, prep.method), cast(str, prep.url)
|
|
275
309
|
)
|
|
310
|
+
if _digest_auth:
|
|
311
|
+
prep.headers["Authorization"] = _digest_auth
|
|
276
312
|
_r = r.connection.send(prep, **kwargs)
|
|
277
313
|
_r.history.append(r)
|
|
278
314
|
_r.request = prep
|
|
@@ -282,15 +318,19 @@ class HTTPDigestAuth(AuthBase):
|
|
|
282
318
|
self._thread_local.num_401_calls = 1
|
|
283
319
|
return r
|
|
284
320
|
|
|
285
|
-
def __call__(self, r):
|
|
321
|
+
def __call__(self, r: PreparedRequest) -> PreparedRequest:
|
|
286
322
|
# Initialize per-thread state, if needed
|
|
287
323
|
self.init_per_thread_state()
|
|
288
324
|
# If we have a saved nonce, skip the 401
|
|
289
325
|
if self._thread_local.last_nonce:
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
326
|
+
_digest_auth = self.build_digest_header(
|
|
327
|
+
cast(str, r.method), cast(str, r.url)
|
|
328
|
+
)
|
|
329
|
+
if _digest_auth:
|
|
330
|
+
r.headers["Authorization"] = _digest_auth
|
|
331
|
+
if (tell := getattr(r.body, "tell", None)) is not None:
|
|
332
|
+
self._thread_local.pos = tell()
|
|
333
|
+
else:
|
|
294
334
|
# In the case of HTTPDigestAuth being reused and the body of
|
|
295
335
|
# the previous request was a file-like object, pos has the
|
|
296
336
|
# file position of the previous body. Ensure it's set to
|
|
@@ -302,7 +342,7 @@ class HTTPDigestAuth(AuthBase):
|
|
|
302
342
|
|
|
303
343
|
return r
|
|
304
344
|
|
|
305
|
-
def __eq__(self, other):
|
|
345
|
+
def __eq__(self, other: object) -> bool:
|
|
306
346
|
return all(
|
|
307
347
|
[
|
|
308
348
|
self.username == getattr(other, "username", None),
|
|
@@ -310,5 +350,5 @@ class HTTPDigestAuth(AuthBase):
|
|
|
310
350
|
]
|
|
311
351
|
)
|
|
312
352
|
|
|
313
|
-
def __ne__(self, other):
|
|
353
|
+
def __ne__(self, other: Any) -> bool:
|
|
314
354
|
return not self == other
|
|
@@ -7,12 +7,18 @@ between Python 2 and Python 3. It remains for backwards
|
|
|
7
7
|
compatibility until the next major version.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
# pyright: reportUnusedImport=false
|
|
11
|
+
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
10
14
|
import sys
|
|
11
15
|
|
|
12
16
|
# -------
|
|
13
17
|
# urllib3
|
|
14
18
|
# -------
|
|
15
|
-
from pip._vendor.urllib3 import
|
|
19
|
+
from pip._vendor.urllib3 import (
|
|
20
|
+
__version__ as urllib3_version, # type: ignore[reportPrivateImportUsage]
|
|
21
|
+
)
|
|
16
22
|
|
|
17
23
|
# Detect which major version of urllib3 is being used.
|
|
18
24
|
try:
|
|
@@ -26,7 +32,7 @@ except (TypeError, AttributeError):
|
|
|
26
32
|
# -------------------
|
|
27
33
|
|
|
28
34
|
|
|
29
|
-
def _resolve_char_detection():
|
|
35
|
+
def _resolve_char_detection() -> None:
|
|
30
36
|
"""Find supported character detection libraries."""
|
|
31
37
|
chardet = None
|
|
32
38
|
return chardet
|
|
@@ -79,7 +85,7 @@ from urllib.request import (
|
|
|
79
85
|
getproxies_environment,
|
|
80
86
|
parse_http_list,
|
|
81
87
|
proxy_bypass,
|
|
82
|
-
proxy_bypass_environment,
|
|
88
|
+
proxy_bypass_environment, # type: ignore[attr-defined] # https://github.com/python/cpython/issues/145331
|
|
83
89
|
)
|
|
84
90
|
|
|
85
91
|
builtin_str = str
|