@vicoa/cli 1.7.12-win32-x64 → 1.7.12
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/README.md +82 -0
- package/bin/vicoa.js +38 -0
- package/package.json +30 -10
- package/bin/_internal/VCRUNTIME140.dll +0 -0
- package/bin/_internal/VCRUNTIME140_1.dll +0 -0
- package/bin/_internal/_asyncio.pyd +0 -0
- package/bin/_internal/_bz2.pyd +0 -0
- package/bin/_internal/_cffi_backend.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/_ctypes.pyd +0 -0
- package/bin/_internal/_decimal.pyd +0 -0
- package/bin/_internal/_hashlib.pyd +0 -0
- package/bin/_internal/_lzma.pyd +0 -0
- package/bin/_internal/_multiprocessing.pyd +0 -0
- package/bin/_internal/_overlapped.pyd +0 -0
- package/bin/_internal/_queue.pyd +0 -0
- package/bin/_internal/_socket.pyd +0 -0
- package/bin/_internal/_sqlite3.pyd +0 -0
- package/bin/_internal/_ssl.pyd +0 -0
- package/bin/_internal/_uuid.pyd +0 -0
- package/bin/_internal/_wmi.pyd +0 -0
- package/bin/_internal/_zoneinfo.pyd +0 -0
- package/bin/_internal/aiofile-3.12.3.dist-info/INSTALLER +0 -1
- package/bin/_internal/aiofile-3.12.3.dist-info/METADATA +0 -564
- package/bin/_internal/aiofile-3.12.3.dist-info/RECORD +0 -15
- package/bin/_internal/aiofile-3.12.3.dist-info/WHEEL +0 -4
- package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE +0 -195
- package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE.md +0 -195
- package/bin/_internal/aiohttp/_http_parser.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp/_http_writer.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp/_websocket/mask.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp/_websocket/reader_c.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/aiohttp-3.14.3.dist-info/INSTALLER +0 -1
- package/bin/_internal/aiohttp-3.14.3.dist-info/METADATA +0 -257
- package/bin/_internal/aiohttp-3.14.3.dist-info/RECORD +0 -130
- package/bin/_internal/aiohttp-3.14.3.dist-info/WHEEL +0 -5
- package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/LICENSE.txt +0 -201
- package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/vendor/llhttp/LICENSE +0 -22
- package/bin/_internal/aiohttp-3.14.3.dist-info/top_level.txt +0 -1
- package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
- package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
- package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
- package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
- package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
- package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/attrs-26.1.0.dist-info/METADATA +0 -199
- package/bin/_internal/attrs-26.1.0.dist-info/RECORD +0 -55
- package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +0 -4
- package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +0 -21
- package/bin/_internal/base_library.zip +0 -0
- package/bin/_internal/certifi/cacert.pem +0 -3959
- package/bin/_internal/certifi/py.typed +0 -0
- package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/click-8.4.2.dist-info/INSTALLER +0 -1
- package/bin/_internal/click-8.4.2.dist-info/METADATA +0 -84
- package/bin/_internal/click-8.4.2.dist-info/RECORD +0 -40
- package/bin/_internal/click-8.4.2.dist-info/WHEEL +0 -4
- package/bin/_internal/click-8.4.2.dist-info/licenses/LICENSE.txt +0 -28
- package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
- package/bin/_internal/cryptography-50.0.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/cryptography-50.0.0.dist-info/METADATA +0 -110
- package/bin/_internal/cryptography-50.0.0.dist-info/RECORD +0 -199
- package/bin/_internal/cryptography-50.0.0.dist-info/WHEEL +0 -4
- package/bin/_internal/cryptography-50.0.0.dist-info/licenses/LICENSE +0 -3
- package/bin/_internal/cryptography-50.0.0.dist-info/licenses/LICENSE.APACHE +0 -202
- package/bin/_internal/cryptography-50.0.0.dist-info/licenses/LICENSE.BSD +0 -27
- package/bin/_internal/cryptography-50.0.0.dist-info/sboms/cryptography-rust.cyclonedx.json +0 -1365
- package/bin/_internal/cryptography-50.0.0.dist-info/sboms/sbom.json +0 -43
- package/bin/_internal/email_validator-2.3.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/email_validator-2.3.0.dist-info/METADATA +0 -466
- package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +0 -27
- package/bin/_internal/email_validator-2.3.0.dist-info/WHEEL +0 -5
- package/bin/_internal/email_validator-2.3.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/email_validator-2.3.0.dist-info/licenses/LICENSE +0 -27
- package/bin/_internal/email_validator-2.3.0.dist-info/top_level.txt +0 -1
- package/bin/_internal/fastmcp-3.4.7.dist-info/INSTALLER +0 -1
- package/bin/_internal/fastmcp-3.4.7.dist-info/METADATA +0 -160
- package/bin/_internal/fastmcp-3.4.7.dist-info/RECORD +0 -5
- package/bin/_internal/fastmcp-3.4.7.dist-info/WHEEL +0 -4
- package/bin/_internal/fastmcp-3.4.7.dist-info/licenses/LICENSE +0 -201
- package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/httpcore2-2.12.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/httpcore2-2.12.0.dist-info/METADATA +0 -737
- package/bin/_internal/httpcore2-2.12.0.dist-info/RECORD +0 -68
- package/bin/_internal/httpcore2-2.12.0.dist-info/WHEEL +0 -4
- package/bin/_internal/httpcore2-2.12.0.dist-info/licenses/LICENSE.md +0 -28
- package/bin/_internal/httpx2-2.12.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/httpx2-2.12.0.dist-info/METADATA +0 -230
- package/bin/_internal/httpx2-2.12.0.dist-info/RECORD +0 -68
- package/bin/_internal/httpx2-2.12.0.dist-info/WHEEL +0 -4
- package/bin/_internal/httpx2-2.12.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/httpx2-2.12.0.dist-info/licenses/LICENSE.md +0 -13
- package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +0 -33
- package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +0 -136
- package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +0 -128
- package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +0 -116
- package/bin/_internal/integrations/github/claude-code-action/LICENSE +0 -21
- package/bin/_internal/integrations/github/claude-code-action/README.md +0 -53
- package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +0 -20
- package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +0 -15
- package/bin/_internal/integrations/github/claude-code-action/action.yml +0 -294
- package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +0 -60
- package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +0 -128
- package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +0 -136
- package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +0 -21
- package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +0 -11
- package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +0 -521
- package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +0 -149
- package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +0 -54
- package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +0 -108
- package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +0 -23
- package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +0 -13
- package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +0 -46
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +0 -82
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +0 -82
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +0 -257
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +0 -301
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +0 -68
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +0 -54
- package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +0 -12
- package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +0 -18
- package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +0 -30
- package/bin/_internal/integrations/github/claude-code-action/bun.lock +0 -384
- package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +0 -33
- package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +0 -99
- package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +0 -345
- package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +0 -113
- package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +0 -128
- package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +0 -205
- package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +0 -261
- package/bin/_internal/integrations/github/claude-code-action/docs/security.md +0 -38
- package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +0 -146
- package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +0 -213
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +0 -97
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +0 -127
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +0 -97
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +0 -148
- package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +0 -63
- package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +0 -75
- package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +0 -75
- package/bin/_internal/integrations/github/claude-code-action/package.json +0 -31
- package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +0 -13
- package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +0 -46
- package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +0 -123
- package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +0 -799
- package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +0 -102
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +0 -58
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +0 -465
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +0 -98
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +0 -245
- package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +0 -23
- package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +0 -4
- package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +0 -117
- package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +0 -277
- package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +0 -233
- package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +0 -144
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +0 -132
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +0 -163
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +0 -203
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +0 -33
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +0 -111
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +0 -70
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +0 -57
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +0 -62
- package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +0 -108
- package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +0 -98
- package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +0 -246
- package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +0 -100
- package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +0 -64
- package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +0 -47
- package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +0 -148
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +0 -279
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +0 -101
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +0 -677
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +0 -184
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +0 -201
- package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +0 -152
- package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +0 -22
- package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +0 -66
- package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +0 -54
- package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +0 -187
- package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +0 -100
- package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +0 -20
- package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +0 -20
- package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +0 -40
- package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +0 -30
- package/bin/_internal/integrations/headless/tests/README.md +0 -58
- package/bin/_internal/integrations/n8n/LICENSE +0 -21
- package/bin/_internal/integrations/n8n/README.md +0 -298
- package/bin/_internal/integrations/n8n/package-lock.json +0 -2989
- package/bin/_internal/integrations/n8n/package.json +0 -68
- package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +0 -52
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +0 -35
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +0 -304
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +0 -37
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +0 -151
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +0 -252
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +0 -56
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +0 -29
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/vicoa.png +0 -0
- package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +0 -93
- package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +0 -42
- package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +0 -20
- package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +0 -72
- package/bin/_internal/integrations/n8n/tsconfig.json +0 -20
- package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +0 -2653
- package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +0 -170
- package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +0 -82
- package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +0 -4
- package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +0 -19
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +0 -42
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +0 -56
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +0 -17
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +0 -57
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +0 -14
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +0 -37
- package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +0 -98
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +0 -58
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +0 -48
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +0 -17
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +0 -51
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +0 -14
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +0 -14
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +0 -37
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +0 -15
- package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +0 -98
- package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +0 -172
- package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +0 -149
- package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +0 -153
- package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +0 -166
- package/bin/_internal/libcrypto-3.dll +0 -0
- package/bin/_internal/libffi-8.dll +0 -0
- package/bin/_internal/libssl-3.dll +0 -0
- package/bin/_internal/mcp-1.29.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/mcp-1.29.0.dist-info/METADATA +0 -239
- package/bin/_internal/mcp-1.29.0.dist-info/RECORD +0 -228
- package/bin/_internal/mcp-1.29.0.dist-info/WHEEL +0 -4
- package/bin/_internal/mcp-1.29.0.dist-info/entry_points.txt +0 -2
- package/bin/_internal/mcp-1.29.0.dist-info/licenses/LICENSE +0 -21
- package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/METADATA +0 -43
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/RECORD +0 -78
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/WHEEL +0 -4
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/entry_points.txt +0 -15
- package/bin/_internal/opentelemetry_api-1.44.0.dist-info/licenses/LICENSE +0 -201
- package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/pydantic-2.13.4.dist-info/INSTALLER +0 -1
- package/bin/_internal/pydantic-2.13.4.dist-info/METADATA +0 -1294
- package/bin/_internal/pydantic-2.13.4.dist-info/RECORD +0 -217
- package/bin/_internal/pydantic-2.13.4.dist-info/WHEEL +0 -4
- package/bin/_internal/pydantic-2.13.4.dist-info/licenses/LICENSE +0 -21
- package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/pyexpat.pyd +0 -0
- package/bin/_internal/python3.dll +0 -0
- package/bin/_internal/python312.dll +0 -0
- package/bin/_internal/pywin32_system32/pythoncom312.dll +0 -0
- package/bin/_internal/pywin32_system32/pywintypes312.dll +0 -0
- package/bin/_internal/rpds/rpds.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/select.pyd +0 -0
- package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
- package/bin/_internal/sqlite3.dll +0 -0
- package/bin/_internal/ucrtbase.dll +0 -0
- package/bin/_internal/unicodedata.pyd +0 -0
- package/bin/_internal/vicoa/_bin/README.md +0 -28
- package/bin/_internal/vicoa-1.7.12.dist-info/INSTALLER +0 -1
- package/bin/_internal/vicoa-1.7.12.dist-info/METADATA +0 -314
- package/bin/_internal/vicoa-1.7.12.dist-info/RECORD +0 -11
- package/bin/_internal/vicoa-1.7.12.dist-info/REQUESTED +0 -0
- package/bin/_internal/vicoa-1.7.12.dist-info/WHEEL +0 -5
- package/bin/_internal/vicoa-1.7.12.dist-info/direct_url.json +0 -1
- package/bin/_internal/vicoa-1.7.12.dist-info/entry_points.txt +0 -2
- package/bin/_internal/vicoa-1.7.12.dist-info/licenses/LICENSE +0 -201
- package/bin/_internal/vicoa-1.7.12.dist-info/top_level.txt +0 -4
- package/bin/_internal/watchfiles/_rust_notify.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/websockets/speedups.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/websockets-17.0.1.dist-info/INSTALLER +0 -1
- package/bin/_internal/websockets-17.0.1.dist-info/METADATA +0 -170
- package/bin/_internal/websockets-17.0.1.dist-info/RECORD +0 -116
- package/bin/_internal/websockets-17.0.1.dist-info/WHEEL +0 -5
- package/bin/_internal/websockets-17.0.1.dist-info/entry_points.txt +0 -2
- package/bin/_internal/websockets-17.0.1.dist-info/licenses/LICENSE +0 -24
- package/bin/_internal/websockets-17.0.1.dist-info/top_level.txt +0 -1
- package/bin/_internal/win32/_win32sysloader.pyd +0 -0
- package/bin/_internal/win32/win32api.pyd +0 -0
- package/bin/_internal/win32/win32evtlog.pyd +0 -0
- package/bin/_internal/win32/win32job.pyd +0 -0
- package/bin/_internal/yaml/_yaml.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
- package/bin/vicoa.exe +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
httpcore2-2.12.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
2
|
-
httpcore2-2.12.0.dist-info/METADATA,sha256=PlPlSrfYLxO2MlqsXHkZ8fophnrrStgzglLUSIga0ko,25815
|
|
3
|
-
httpcore2-2.12.0.dist-info/RECORD,,
|
|
4
|
-
httpcore2-2.12.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
5
|
-
httpcore2-2.12.0.dist-info/licenses/LICENSE.md,sha256=xN8SXIB7BhNQHpQ6XJJJbdEdLBZgTOOWCXqN3jljBNk,1599
|
|
6
|
-
httpcore2/__init__.py,sha256=jAhvhEBbwqLtHC3PKzTQ3MZFjwnxzSTCETuB9CC5wdg,3473
|
|
7
|
-
httpcore2/__pycache__/__init__.cpython-312.pyc,,
|
|
8
|
-
httpcore2/__pycache__/_api.cpython-312.pyc,,
|
|
9
|
-
httpcore2/__pycache__/_exceptions.cpython-312.pyc,,
|
|
10
|
-
httpcore2/__pycache__/_models.cpython-312.pyc,,
|
|
11
|
-
httpcore2/__pycache__/_ssl.cpython-312.pyc,,
|
|
12
|
-
httpcore2/__pycache__/_synchronization.cpython-312.pyc,,
|
|
13
|
-
httpcore2/__pycache__/_trace.cpython-312.pyc,,
|
|
14
|
-
httpcore2/__pycache__/_utils.cpython-312.pyc,,
|
|
15
|
-
httpcore2/_api.py,sha256=3xEGeZ6U2rrQsFu-9aHhBNPvdrMU7FLb3cya2ovihQs,3184
|
|
16
|
-
httpcore2/_async/__init__.py,sha256=3FmsS1b2TK-nAlgpKmVGLEFigUYTtoV1CgyJq-Cl5xc,1223
|
|
17
|
-
httpcore2/_async/__pycache__/__init__.cpython-312.pyc,,
|
|
18
|
-
httpcore2/_async/__pycache__/connection.cpython-312.pyc,,
|
|
19
|
-
httpcore2/_async/__pycache__/connection_pool.cpython-312.pyc,,
|
|
20
|
-
httpcore2/_async/__pycache__/http11.cpython-312.pyc,,
|
|
21
|
-
httpcore2/_async/__pycache__/http2.cpython-312.pyc,,
|
|
22
|
-
httpcore2/_async/__pycache__/http_proxy.cpython-312.pyc,,
|
|
23
|
-
httpcore2/_async/__pycache__/interfaces.cpython-312.pyc,,
|
|
24
|
-
httpcore2/_async/__pycache__/socks_proxy.cpython-312.pyc,,
|
|
25
|
-
httpcore2/_async/connection.py,sha256=0wQ_FTJWljZHtStOi0eDzBtbMpbkVaBQqUZ7cCDdRbE,8276
|
|
26
|
-
httpcore2/_async/connection_pool.py,sha256=KiYnYlJE9oOn-TutTbL9T06Q0YwX61IMHBzVl9YWhRI,19629
|
|
27
|
-
httpcore2/_async/http11.py,sha256=m8OisIV3ixcPvSK20NYfiERIqdgwHkSNEUb3JOu0KwA,13926
|
|
28
|
-
httpcore2/_async/http2.py,sha256=3E-XPqLMdr9qsxIp5DfdjL4JKM5IQkyYMEfVwYkdEQ8,24005
|
|
29
|
-
httpcore2/_async/http_proxy.py,sha256=-Cu8fuvTYGYm9A5BPqo7Q1s8NssX5FyjGOjoeSOKoRw,14517
|
|
30
|
-
httpcore2/_async/interfaces.py,sha256=EJ3o4y61Q82cmm7H2IinHxJDqwO18BKyEAA5b3DLuys,5363
|
|
31
|
-
httpcore2/_async/socks_proxy.py,sha256=m3h2BCQkSow4pVHDt8hsZ8rtDLJvLNhBojxuNky04e0,13862
|
|
32
|
-
httpcore2/_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
httpcore2/_backends/__pycache__/__init__.cpython-312.pyc,,
|
|
34
|
-
httpcore2/_backends/__pycache__/anyio.cpython-312.pyc,,
|
|
35
|
-
httpcore2/_backends/__pycache__/auto.cpython-312.pyc,,
|
|
36
|
-
httpcore2/_backends/__pycache__/base.cpython-312.pyc,,
|
|
37
|
-
httpcore2/_backends/__pycache__/mock.cpython-312.pyc,,
|
|
38
|
-
httpcore2/_backends/__pycache__/sync.cpython-312.pyc,,
|
|
39
|
-
httpcore2/_backends/__pycache__/trio.cpython-312.pyc,,
|
|
40
|
-
httpcore2/_backends/anyio.py,sha256=QlM55m7iLJYTNf0ICa3VbFjKe-EqMpa_Di9b5dE3oSg,5499
|
|
41
|
-
httpcore2/_backends/auto.py,sha256=NI_UX8sCgRbuxrbK-6tpaV7rgFBgOVfo6d6itTKqA3o,1642
|
|
42
|
-
httpcore2/_backends/base.py,sha256=bGgfuJlHOjPZgQAlGpC4UmTCaYtrblWo3fL12HJKGTU,2997
|
|
43
|
-
httpcore2/_backends/mock.py,sha256=ahbwYl2mEu5K075jTtG6jwLCVHYdVqV2mS0G4-KNQIE,4079
|
|
44
|
-
httpcore2/_backends/sync.py,sha256=sFp-UsYnx7i4qLQVnPp1IPvjn3ZeNO6O5tAJ9Ot2WNM,7959
|
|
45
|
-
httpcore2/_backends/trio.py,sha256=hNOqRRdRbAWmsezO8PGIC6qwvgX4Bg2SSZ7zOht14E4,5961
|
|
46
|
-
httpcore2/_exceptions.py,sha256=ffKPbxfqN_qezmQ2f1B_zrYOw67kEj1K-PCNiCVTEiA,1239
|
|
47
|
-
httpcore2/_models.py,sha256=gELd8jvTk-nkXzLvWIAodlG7Ep6cE0IbLj2D8BcMEGc,17422
|
|
48
|
-
httpcore2/_ssl.py,sha256=ye9EHkxTUjSCwVvoRzIdqzsp6qpck5rMVxKtleqNBuM,398
|
|
49
|
-
httpcore2/_sync/__init__.py,sha256=AQ-tXy0gVolW_kNYfBxzR86v7C3GBSXf1TnGCtC6GhA,1143
|
|
50
|
-
httpcore2/_sync/__pycache__/__init__.cpython-312.pyc,,
|
|
51
|
-
httpcore2/_sync/__pycache__/connection.cpython-312.pyc,,
|
|
52
|
-
httpcore2/_sync/__pycache__/connection_pool.cpython-312.pyc,,
|
|
53
|
-
httpcore2/_sync/__pycache__/http11.cpython-312.pyc,,
|
|
54
|
-
httpcore2/_sync/__pycache__/http2.cpython-312.pyc,,
|
|
55
|
-
httpcore2/_sync/__pycache__/http_proxy.cpython-312.pyc,,
|
|
56
|
-
httpcore2/_sync/__pycache__/interfaces.cpython-312.pyc,,
|
|
57
|
-
httpcore2/_sync/__pycache__/socks_proxy.cpython-312.pyc,,
|
|
58
|
-
httpcore2/_sync/connection.py,sha256=8dv4YWoKS850kTbzZeCPWhFHSMDPwaF28gZBPM01RgI,8065
|
|
59
|
-
httpcore2/_sync/connection_pool.py,sha256=6meZmb5dXO3OY7jVJTsos5btmmBuOpZC5Ubnp43zU_A,19246
|
|
60
|
-
httpcore2/_sync/http11.py,sha256=2ZmbOOjU89HLNNtZKVI-9Q98ChXvteqqT86_5fkLI8c,13487
|
|
61
|
-
httpcore2/_sync/http2.py,sha256=2i7RAc5LNZils7O6swdUZKODEcqQl8mNqyfpdgN31Ak,23428
|
|
62
|
-
httpcore2/_sync/http_proxy.py,sha256=b2KhpaMPpKMPv1aL6JymasqwXEYwxpY8kdvyetAhviQ,14279
|
|
63
|
-
httpcore2/_sync/interfaces.py,sha256=a6n964OVWiQeSk01nfS6hp63EgGXibxEPhIk-Bm2eKc,5247
|
|
64
|
-
httpcore2/_sync/socks_proxy.py,sha256=Ox7n-PMK-vvIemjZ7WMYNqAlcATzd0xQhVwtEGZ6wSU,13635
|
|
65
|
-
httpcore2/_synchronization.py,sha256=JYjm3eZ9KFm-wcTZBTIV87KcQSMs1AZeRTP2amb4IoE,9442
|
|
66
|
-
httpcore2/_trace.py,sha256=FUYsjUcH1GK1eeWRqXaCuSYy6eA2GcwQUphLbJRQL9o,3928
|
|
67
|
-
httpcore2/_utils.py,sha256=9ojvy52eR6DsD053ZrjnYNO0KuOHG6FqHzeWUZPXYh0,2528
|
|
68
|
-
httpcore2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
Copyright © 2026 to present Pydantic Services Inc. and individual contributors.
|
|
2
|
-
Copyright © 2020, [Encode OSS Ltd](https://www.encode.io/).
|
|
3
|
-
All rights reserved.
|
|
4
|
-
|
|
5
|
-
Redistribution and use in source and binary forms, with or without
|
|
6
|
-
modification, are permitted provided that the following conditions are met:
|
|
7
|
-
|
|
8
|
-
* Redistributions of source code must retain the above copyright notice, this
|
|
9
|
-
list of conditions and the following disclaimer.
|
|
10
|
-
|
|
11
|
-
* Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
-
this list of conditions and the following disclaimer in the documentation
|
|
13
|
-
and/or other materials provided with the distribution.
|
|
14
|
-
|
|
15
|
-
* Neither the name of the copyright holder nor the names of its
|
|
16
|
-
contributors may be used to endorse or promote products derived from
|
|
17
|
-
this software without specific prior written permission.
|
|
18
|
-
|
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pip
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.5
|
|
2
|
-
Name: httpx2
|
|
3
|
-
Version: 2.12.0
|
|
4
|
-
Summary: The next generation HTTP client.
|
|
5
|
-
Project-URL: Changelog, https://github.com/pydantic/httpx2/blob/main/src/httpx2/CHANGELOG.md
|
|
6
|
-
Project-URL: Homepage, https://github.com/pydantic/httpx2
|
|
7
|
-
Project-URL: Source, https://github.com/pydantic/httpx2
|
|
8
|
-
Author-email: Tom Christie <tom@tomchristie.com>
|
|
9
|
-
Maintainer-email: "Pydantic Services Inc." <engineering@pydantic.dev>
|
|
10
|
-
License-Expression: BSD-3-Clause
|
|
11
|
-
License-File: LICENSE.md
|
|
12
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
-
Classifier: Environment :: Web Environment
|
|
14
|
-
Classifier: Framework :: AnyIO
|
|
15
|
-
Classifier: Framework :: AsyncIO
|
|
16
|
-
Classifier: Framework :: Trio
|
|
17
|
-
Classifier: Intended Audience :: Developers
|
|
18
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
19
|
-
Classifier: Operating System :: OS Independent
|
|
20
|
-
Classifier: Programming Language :: Python :: 3
|
|
21
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
27
|
-
Classifier: Programming Language :: Python :: 3.15
|
|
28
|
-
Classifier: Topic :: Internet :: WWW/HTTP
|
|
29
|
-
Requires-Python: >=3.10
|
|
30
|
-
Requires-Dist: anyio>=4.10; sys_platform != 'emscripten'
|
|
31
|
-
Requires-Dist: httpcore2==2.12.0; sys_platform != 'emscripten'
|
|
32
|
-
Requires-Dist: httpx2-jsfetch; sys_platform == 'emscripten' and python_version >= '3.12'
|
|
33
|
-
Requires-Dist: idna>=3.18
|
|
34
|
-
Requires-Dist: truststore>=0.10; sys_platform != 'emscripten'
|
|
35
|
-
Requires-Dist: typing-extensions>=4.5.0; python_version < '3.13'
|
|
36
|
-
Provides-Extra: brotli
|
|
37
|
-
Requires-Dist: brotli>=1.2.0; (platform_python_implementation == 'CPython') and extra == 'brotli'
|
|
38
|
-
Requires-Dist: brotlicffi>=1.2.0.0; (platform_python_implementation != 'CPython') and extra == 'brotli'
|
|
39
|
-
Provides-Extra: cli
|
|
40
|
-
Requires-Dist: click>=8.4.2; extra == 'cli'
|
|
41
|
-
Requires-Dist: pygments==2.*; extra == 'cli'
|
|
42
|
-
Requires-Dist: rich<16,>=10; extra == 'cli'
|
|
43
|
-
Provides-Extra: http2
|
|
44
|
-
Requires-Dist: h2<5,>=3; extra == 'http2'
|
|
45
|
-
Provides-Extra: socks
|
|
46
|
-
Requires-Dist: socksio==1.*; extra == 'socks'
|
|
47
|
-
Provides-Extra: ws
|
|
48
|
-
Requires-Dist: wsproto>=1.2; extra == 'ws'
|
|
49
|
-
Provides-Extra: zstd
|
|
50
|
-
Requires-Dist: backports-zstd>=1.0.0; (python_version <= '3.13') and extra == 'zstd'
|
|
51
|
-
Description-Content-Type: text/markdown
|
|
52
|
-
|
|
53
|
-
<h1 align="center">HTTPX2</h1>
|
|
54
|
-
|
|
55
|
-
<p align="center"><em>A next-generation HTTP client for Python.</em></p>
|
|
56
|
-
|
|
57
|
-
<p align="center">
|
|
58
|
-
<a href="https://github.com/pydantic/httpx2/actions"><img src="https://github.com/pydantic/httpx2/workflows/Test%20Suite/badge.svg" alt="Test Suite"></a>
|
|
59
|
-
<a href="https://pypi.org/project/httpx2/"><img src="https://badge.fury.io/py/httpx2.svg" alt="Package version"></a>
|
|
60
|
-
</p>
|
|
61
|
-
|
|
62
|
-
HTTPX2 is a fully featured HTTP client library for Python. It includes **an integrated command line client**, has support for both **HTTP/1.1 and HTTP/2**, and provides both **sync and async APIs**.
|
|
63
|
-
|
|
64
|
-
> [!NOTE]
|
|
65
|
-
> HTTPX2 is a continuation of the wonderful work started by [@lovelydinosaur](https://github.com/lovelydinosaur) and the broader HTTPX community. We're enormously grateful for everything that has gone into HTTPX over the years - it has been a foundational piece of the modern Python ecosystem, and this project would not exist without it.
|
|
66
|
-
>
|
|
67
|
-
> With HTTPX itself seeing limited activity recently, Pydantic is picking up stewardship under the HTTPX2 name so that users have a reliably maintained path forward - including timely security updates for a library that sits in the critical path of so many production systems. Our aim is to honour the original project's design, keep it stable for everyone relying on it, and continue evolving it carefully. Thank you to [@lovelydinosaur](https://github.com/lovelydinosaur) and every past contributor for laying such a strong foundation. 💙
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
Install HTTPX2 using pip:
|
|
72
|
-
|
|
73
|
-
```shell
|
|
74
|
-
pip install httpx2
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Now, let's get started:
|
|
78
|
-
|
|
79
|
-
```pycon
|
|
80
|
-
>>> import httpx2
|
|
81
|
-
>>> r = httpx2.get('https://www.example.org/')
|
|
82
|
-
>>> r
|
|
83
|
-
<Response [200 OK]>
|
|
84
|
-
>>> r.status_code
|
|
85
|
-
200
|
|
86
|
-
>>> r.headers['content-type']
|
|
87
|
-
'text/html; charset=UTF-8'
|
|
88
|
-
>>> r.text
|
|
89
|
-
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Or, using the command-line client.
|
|
93
|
-
|
|
94
|
-
```shell
|
|
95
|
-
pip install 'httpx2[cli]' # The command line client is an optional dependency.
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Which now allows us to use HTTPX2 directly from the command-line:
|
|
99
|
-
|
|
100
|
-
```shell
|
|
101
|
-
httpx2 --help
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Features
|
|
105
|
-
|
|
106
|
-
HTTPX2 builds on the well-established usability of `requests`, and gives you:
|
|
107
|
-
|
|
108
|
-
* A broadly [requests-compatible API](https://httpx2.pydantic.dev/compatibility/).
|
|
109
|
-
* An integrated command-line client.
|
|
110
|
-
* HTTP/1.1 [and HTTP/2 support](https://httpx2.pydantic.dev/http2/).
|
|
111
|
-
* Standard synchronous interface, but with [async support if you need it](https://httpx2.pydantic.dev/async/).
|
|
112
|
-
* Ability to make requests directly to [WSGI applications](https://httpx2.pydantic.dev/advanced/transports/#wsgi-transport) or [ASGI applications](https://httpx2.pydantic.dev/advanced/transports/#asgi-transport).
|
|
113
|
-
* Strict timeouts everywhere.
|
|
114
|
-
* Fully type annotated.
|
|
115
|
-
* 100% test coverage.
|
|
116
|
-
|
|
117
|
-
Plus all the standard features of `requests`...
|
|
118
|
-
|
|
119
|
-
* International Domains and URLs
|
|
120
|
-
* Keep-Alive & Connection Pooling
|
|
121
|
-
* Sessions with Cookie Persistence
|
|
122
|
-
* Browser-style SSL Verification
|
|
123
|
-
* Basic/Digest Authentication
|
|
124
|
-
* Elegant Key/Value Cookies
|
|
125
|
-
* Automatic Decompression
|
|
126
|
-
* Automatic Content Decoding
|
|
127
|
-
* Unicode Response Bodies
|
|
128
|
-
* Multipart File Uploads
|
|
129
|
-
* HTTP(S) Proxy Support
|
|
130
|
-
* Connection Timeouts
|
|
131
|
-
* Streaming Downloads
|
|
132
|
-
* .netrc Support
|
|
133
|
-
* Chunked Requests
|
|
134
|
-
|
|
135
|
-
## Installation
|
|
136
|
-
|
|
137
|
-
Install with pip:
|
|
138
|
-
|
|
139
|
-
```shell
|
|
140
|
-
pip install httpx2
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Or, to include the optional HTTP/2 support, use:
|
|
144
|
-
|
|
145
|
-
```shell
|
|
146
|
-
pip install httpx2[http2]
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## Documentation
|
|
150
|
-
|
|
151
|
-
Project documentation is available at [https://httpx2.pydantic.dev/](https://httpx2.pydantic.dev/).
|
|
152
|
-
|
|
153
|
-
For a run-through of all the basics, head over to the [QuickStart](https://httpx2.pydantic.dev/quickstart/).
|
|
154
|
-
|
|
155
|
-
For more advanced topics, see the [Advanced Usage](https://httpx2.pydantic.dev/advanced/) section, the [async support](https://httpx2.pydantic.dev/async/) section, or the [HTTP/2](https://httpx2.pydantic.dev/http2/) section.
|
|
156
|
-
|
|
157
|
-
The [Developer Interface](https://httpx2.pydantic.dev/api/) provides a comprehensive API reference.
|
|
158
|
-
|
|
159
|
-
To find out about tools that integrate with HTTPX, see [Third Party Packages](https://httpx2.pydantic.dev/third_party_packages/).
|
|
160
|
-
|
|
161
|
-
## Observability with Pydantic Logfire
|
|
162
|
-
|
|
163
|
-
Install Logfire with HTTPX instrumentation support:
|
|
164
|
-
|
|
165
|
-
```shell
|
|
166
|
-
pip install 'logfire[httpx]'
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
HTTPX2 works out of the box with [Pydantic Logfire](https://pydantic.dev/logfire), our observability platform built on OpenTelemetry. One line instruments every request, giving you traces, timings, and status codes with no other changes:
|
|
170
|
-
|
|
171
|
-
```python
|
|
172
|
-
import logfire
|
|
173
|
-
import httpx2
|
|
174
|
-
|
|
175
|
-
logfire.configure()
|
|
176
|
-
logfire.instrument_httpx()
|
|
177
|
-
|
|
178
|
-
httpx2.get("https://pydantic.dev/")
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
This works the same way for explicit `httpx2.Client()` and `httpx2.AsyncClient()` instances, and you can scope instrumentation to a single client by passing it in: `logfire.instrument_httpx(client)`. Pass `capture_all=True` to also record headers and bodies. See the [Logfire HTTPX docs](https://logfire.pydantic.dev/docs/integrations/http-clients/httpx/) for the full set of options.
|
|
182
|
-
|
|
183
|
-
## Contribute
|
|
184
|
-
|
|
185
|
-
If you want to contribute with HTTPX2 check out the [Contributing Guide](https://httpx2.pydantic.dev/contributing/) to learn how to start.
|
|
186
|
-
|
|
187
|
-
## Dependencies
|
|
188
|
-
|
|
189
|
-
The HTTPX2 project relies on these excellent libraries:
|
|
190
|
-
|
|
191
|
-
* `httpcore2` - The underlying transport implementation for `httpx2`.
|
|
192
|
-
* `h11` - HTTP/1.1 support.
|
|
193
|
-
* `anyio` - Structured concurrency primitives, used to support both `asyncio` and `trio`.
|
|
194
|
-
* `truststore` - SSL verification using the operating system's trust store.
|
|
195
|
-
* `idna` - Internationalized domain name support.
|
|
196
|
-
|
|
197
|
-
As well as these optional installs:
|
|
198
|
-
|
|
199
|
-
* `h2` - HTTP/2 support. *(Optional, with `httpx2[http2]`)*
|
|
200
|
-
* `socksio` - SOCKS proxy support. *(Optional, with `httpx2[socks]`)*
|
|
201
|
-
* `rich` - Rich terminal support. *(Optional, with `httpx2[cli]`)*
|
|
202
|
-
* `click` - Command line client support. *(Optional, with `httpx2[cli]`)*
|
|
203
|
-
* `brotli` or `brotlicffi` - Decoding for "brotli" compressed responses. *(Optional, with `httpx2[brotli]`)*
|
|
204
|
-
* `backports.zstd` - Decoding for "zstd" compressed responses on Python 3.13 and below. *(Optional, with `httpx2[zstd]`. On Python 3.14+, `zstd` is supported via the stdlib [`compression.zstd`](https://docs.python.org/3/library/compression.zstd.html) module when it is available, and the `httpx2[zstd]` extra installs nothing.)*
|
|
205
|
-
|
|
206
|
-
A huge amount of credit is due to `requests` for the API layout that
|
|
207
|
-
much of this work follows, as well as to `urllib3` for plenty of design
|
|
208
|
-
inspiration around the lower-level networking details.
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
<p align="center"><i>HTTPX2 is <a href="https://github.com/pydantic/httpx2/blob/main/LICENSE.md">BSD licensed</a> code.<br/>Designed & crafted with care.</i><br/>— 🦋 —</p>
|
|
213
|
-
|
|
214
|
-
## Release Information
|
|
215
|
-
|
|
216
|
-
## 2.12.0 (August 18th, 2026)
|
|
217
|
-
|
|
218
|
-
### Changed
|
|
219
|
-
|
|
220
|
-
* Use `backports.zstd` for Zstandard decoding on Python 3.13 and earlier.
|
|
221
|
-
([#1146](https://github.com/pydantic/httpx2/pull/1146))
|
|
222
|
-
|
|
223
|
-
### Fixed
|
|
224
|
-
|
|
225
|
-
* Bound peak memory while streaming compressed responses and close response streams when decoding fails.
|
|
226
|
-
([#1126](https://github.com/pydantic/httpx2/pull/1126))
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
[Full changelog](https://github.com/pydantic/httpx2/blob/main/src/httpx2/CHANGELOG.md)
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
../../Scripts/httpx2.exe,sha256=CmqmCYBw-ftnVQieXx6OtFS22jpjqQS3DlWBD8Z4Izo,108351
|
|
2
|
-
httpx2-2.12.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
3
|
-
httpx2-2.12.0.dist-info/METADATA,sha256=Pdfyxr7VPlyRCcyoTFeAJhDU6y_x37h9s5O40M-jNIM,9466
|
|
4
|
-
httpx2-2.12.0.dist-info/RECORD,,
|
|
5
|
-
httpx2-2.12.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
6
|
-
httpx2-2.12.0.dist-info/entry_points.txt,sha256=3uiZorRQlQAFNoHaDxuMsmkdjt3rUTmuBz81tLXFdQY,45
|
|
7
|
-
httpx2-2.12.0.dist-info/licenses/LICENSE.md,sha256=fn1tuvf-Fg05_W6E_QLDPKuWvL6jTTaZjVRbzrShnDA,1589
|
|
8
|
-
httpx2/__init__.py,sha256=tYQ7oEPlO5P8I8tzgPRaEz2gnBtr4Jzw8xhYFMVY5ZM,2419
|
|
9
|
-
httpx2/__pycache__/__init__.cpython-312.pyc,,
|
|
10
|
-
httpx2/__pycache__/__version__.cpython-312.pyc,,
|
|
11
|
-
httpx2/__pycache__/_alias.cpython-312.pyc,,
|
|
12
|
-
httpx2/__pycache__/_api.cpython-312.pyc,,
|
|
13
|
-
httpx2/__pycache__/_auth.cpython-312.pyc,,
|
|
14
|
-
httpx2/__pycache__/_client.cpython-312.pyc,,
|
|
15
|
-
httpx2/__pycache__/_config.cpython-312.pyc,,
|
|
16
|
-
httpx2/__pycache__/_content.cpython-312.pyc,,
|
|
17
|
-
httpx2/__pycache__/_decoders.cpython-312.pyc,,
|
|
18
|
-
httpx2/__pycache__/_exceptions.cpython-312.pyc,,
|
|
19
|
-
httpx2/__pycache__/_main.cpython-312.pyc,,
|
|
20
|
-
httpx2/__pycache__/_models.cpython-312.pyc,,
|
|
21
|
-
httpx2/__pycache__/_multipart.cpython-312.pyc,,
|
|
22
|
-
httpx2/__pycache__/_sse.cpython-312.pyc,,
|
|
23
|
-
httpx2/__pycache__/_status_codes.cpython-312.pyc,,
|
|
24
|
-
httpx2/__pycache__/_types.cpython-312.pyc,,
|
|
25
|
-
httpx2/__pycache__/_urlparse.cpython-312.pyc,,
|
|
26
|
-
httpx2/__pycache__/_urls.cpython-312.pyc,,
|
|
27
|
-
httpx2/__pycache__/_utils.cpython-312.pyc,,
|
|
28
|
-
httpx2/__version__.py,sha256=XWKDNx4TZNJGkuO6vv16RvfV8lhdgdMIbQ8Bt0cR4UQ,158
|
|
29
|
-
httpx2/_alias.py,sha256=Evn6S3BWugzd5XgDAYOsQf45_tAQpgae4JJ6U6n02Bw,2431
|
|
30
|
-
httpx2/_api.py,sha256=0s7W-PPmjwv9nU6axFhP7c-VSYFV4mOdZJlfF2hcLek,14792
|
|
31
|
-
httpx2/_auth.py,sha256=qBNZ6I_DrWPLLZRa0oZT6cD3NP5NrG6f6KREUdhKugo,11648
|
|
32
|
-
httpx2/_client.py,sha256=kC2WVbDjr1ThUE6W_GDKpLePf1_PBKCWNQHf3esHGYE,75400
|
|
33
|
-
httpx2/_config.py,sha256=sI6Ou-4D8lRfpjcGKmDZMywsSa95cwxQpAxIz1QcYPw,8908
|
|
34
|
-
httpx2/_content.py,sha256=lwcx_-IzOPLBcvuTk3A__zWvX6TenCab26kypCFeshE,8470
|
|
35
|
-
httpx2/_decoders.py,sha256=C479GSHULT-xFz3Rr5TwZ0uUn2ih_afezn7QcgoIfAA,15046
|
|
36
|
-
httpx2/_exceptions.py,sha256=69TPZgHvTkkjV1P0y5DSVOmDkxwCRsKhCfhd_qTTaVc,8857
|
|
37
|
-
httpx2/_main.py,sha256=RPJZeb7Z9QGpsm_GIcCQ4wVxRT4d4-bTymSvkFsnB88,15448
|
|
38
|
-
httpx2/_models.py,sha256=0TnQxUoazWWZX2k9h2RB5V_kGO8nmfZH7GNh9pWw1NY,45738
|
|
39
|
-
httpx2/_multipart.py,sha256=ksgIJarALvO7EcgDmc40GX6GyVO6XG0faszehXdRaTg,10018
|
|
40
|
-
httpx2/_sse.py,sha256=IZ1Lf6NrgoZa7FP5-n_VhKhk0eEYFkPZtOC8g5JpQCk,7552
|
|
41
|
-
httpx2/_status_codes.py,sha256=0CWpuD1dw8PYrt9f7epZ0bZZQEnmqe-z6FK_IzIeh14,6625
|
|
42
|
-
httpx2/_transports/__init__.py,sha256=e65w9X4RMK9O_0Q6kPqpXr1ijeEf6b9xbl4KfrAYDCI,711
|
|
43
|
-
httpx2/_transports/__pycache__/__init__.cpython-312.pyc,,
|
|
44
|
-
httpx2/_transports/__pycache__/asgi.cpython-312.pyc,,
|
|
45
|
-
httpx2/_transports/__pycache__/base.cpython-312.pyc,,
|
|
46
|
-
httpx2/_transports/__pycache__/default.cpython-312.pyc,,
|
|
47
|
-
httpx2/_transports/__pycache__/mock.cpython-312.pyc,,
|
|
48
|
-
httpx2/_transports/__pycache__/wsgi.cpython-312.pyc,,
|
|
49
|
-
httpx2/_transports/asgi.py,sha256=PWe4gtw8l2NqK5VusB4uprs6l46fJ4ewLX8FUEOozuk,5429
|
|
50
|
-
httpx2/_transports/base.py,sha256=KY5zBVbdG6ge2sE-j0ZKyJ1C1LWBZVHQnOg0BdQ6idE,2584
|
|
51
|
-
httpx2/_transports/default.py,sha256=j8Q6KILUca_3UTZqfyjpHF4xgxpLKao7tOZpMaIUjpc,13913
|
|
52
|
-
httpx2/_transports/mock.py,sha256=3LZowN_YXbXezA2P4D4g29bCemTiT5Gr8U_vBvxtgxs,1209
|
|
53
|
-
httpx2/_transports/wsgi.py,sha256=R5UApE_xXvl3BwKMgokN5irXiXGRFbOrtTdiKXFEBkI,4904
|
|
54
|
-
httpx2/_types.py,sha256=pVETNjBR2OoWs9-sY7tRTAQM8sZx8-kNwZ4DjZcEYZU,2671
|
|
55
|
-
httpx2/_urlparse.py,sha256=X-_rLDsC9QMIGc1FXr9DVRTYsLLB_SOdaCOtF2-DRIA,18323
|
|
56
|
-
httpx2/_urls.py,sha256=2fwGvKbXbZ4JlzjFHei2ryRbXGwubF44bD6NRtQAF1Y,23185
|
|
57
|
-
httpx2/_utils.py,sha256=vdzYsiRABPDDYZuirH7WxZLoB1qpwEbIGsWAFvt9h4c,8282
|
|
58
|
-
httpx2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
httpx2/websockets/__init__.py,sha256=K66d2Zczl0Ewa0ey0Q2ETx5utzVH6n5G6J22mR3GbV0,1826
|
|
60
|
-
httpx2/websockets/__pycache__/__init__.cpython-312.pyc,,
|
|
61
|
-
httpx2/websockets/__pycache__/_api.cpython-312.pyc,,
|
|
62
|
-
httpx2/websockets/__pycache__/_exceptions.cpython-312.pyc,,
|
|
63
|
-
httpx2/websockets/__pycache__/_ping.cpython-312.pyc,,
|
|
64
|
-
httpx2/websockets/__pycache__/_transport.cpython-312.pyc,,
|
|
65
|
-
httpx2/websockets/_api.py,sha256=lGnUhhvgOtIAAHwO9DnkpNnd1vHYby8kpfJCJ7rzGxc,62175
|
|
66
|
-
httpx2/websockets/_exceptions.py,sha256=4Li4-F6O5g0aI6AIlvpOKUSkWdMy5rEUIm7-dmuYyCk,1289
|
|
67
|
-
httpx2/websockets/_ping.py,sha256=M6Xmbap01-ldl1ejejmkjJbBgK1ulBj-_oaUoKciqrM,1258
|
|
68
|
-
httpx2/websockets/_transport.py,sha256=Sb8G6vgI8jy4Ky91Zrb14Ri01qsTx9OcqK-YzHpQxik,10831
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
Copyright © 2026 to present Pydantic Services Inc. and individual contributors.
|
|
2
|
-
Copyright © 2019, [Encode OSS Ltd](https://www.encode.io/).
|
|
3
|
-
All rights reserved.
|
|
4
|
-
|
|
5
|
-
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
6
|
-
|
|
7
|
-
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
8
|
-
|
|
9
|
-
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
10
|
-
|
|
11
|
-
* Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
12
|
-
|
|
13
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Important Use Cases
|
|
2
|
-
|
|
3
|
-
This document summarizes important use cases for testing whether the wrapper works.
|
|
4
|
-
|
|
5
|
-
## Normal messages
|
|
6
|
-
|
|
7
|
-
1. User message sent from UI should be sent and submitted to terminal
|
|
8
|
-
2. User message sent from terminal should be displayed in UI.
|
|
9
|
-
3. Agent message from terminal should be displayed in UI.
|
|
10
|
-
4. No duplicate of user or agent messages
|
|
11
|
-
|
|
12
|
-
## Push Notifications
|
|
13
|
-
|
|
14
|
-
5. Push notifications should be sent to user when agent completes a task, not while it is running.
|
|
15
|
-
|
|
16
|
-
## Permission Requests
|
|
17
|
-
|
|
18
|
-
6. Permission request response options should be properly displayed in UI.
|
|
19
|
-
7. Selecting an option of permission request in UI should be sent to terminal.
|
|
20
|
-
8. Selecting options like "No" of permission request response options, it should be able to send new messages from UI to terminal.
|
|
21
|
-
|
|
22
|
-
## Control Messages
|
|
23
|
-
|
|
24
|
-
e.g. interruption, change permission mode, change model, change agent, etc.
|
|
25
|
-
|
|
26
|
-
9. Interrupt the agent from UI while it is busy.
|
|
27
|
-
10. User messages sent while agent is busy should be handled directly, control messages are processed, other messages are send to the terminal directly.
|
|
28
|
-
11. Permission mode changes in terminal is reflected in UI with a response.
|
|
29
|
-
12. Permission mode changes from UI should be reflected in terminal.
|
|
30
|
-
|
|
31
|
-
## Close Terminal
|
|
32
|
-
|
|
33
|
-
13. Closing the terminal should update the session status.
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## Development Tools
|
|
6
|
-
|
|
7
|
-
- Runtime: Bun 1.2.11
|
|
8
|
-
- TypeScript with strict configuration
|
|
9
|
-
|
|
10
|
-
## Common Development Tasks
|
|
11
|
-
|
|
12
|
-
### Available npm/bun scripts from package.json:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
# Test
|
|
16
|
-
bun test
|
|
17
|
-
|
|
18
|
-
# Formatting
|
|
19
|
-
bun run format # Format code with prettier
|
|
20
|
-
bun run format:check # Check code formatting
|
|
21
|
-
|
|
22
|
-
# Type checking
|
|
23
|
-
bun run typecheck # Run TypeScript type checker
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Architecture Overview
|
|
27
|
-
|
|
28
|
-
This is a GitHub Action that enables Claude to interact with GitHub PRs and issues. The action operates in two main phases:
|
|
29
|
-
|
|
30
|
-
### Phase 1: Preparation (`src/entrypoints/prepare.ts`)
|
|
31
|
-
|
|
32
|
-
1. **Authentication Setup**: Establishes GitHub token via OIDC or GitHub App
|
|
33
|
-
2. **Permission Validation**: Verifies actor has write permissions
|
|
34
|
-
3. **Trigger Detection**: Uses mode-specific logic to determine if Claude should respond
|
|
35
|
-
4. **Context Creation**: Prepares GitHub context and initial tracking comment
|
|
36
|
-
|
|
37
|
-
### Phase 2: Execution (`base-action/`)
|
|
38
|
-
|
|
39
|
-
The `base-action/` directory contains the core Claude Code execution logic, which serves a dual purpose:
|
|
40
|
-
|
|
41
|
-
- **Standalone Action**: Published separately as `@anthropic-ai/claude-code-base-action` for direct use
|
|
42
|
-
- **Inner Logic**: Used internally by this GitHub Action after preparation phase completes
|
|
43
|
-
|
|
44
|
-
Execution steps:
|
|
45
|
-
|
|
46
|
-
1. **MCP Server Setup**: Installs and configures GitHub MCP server for tool access
|
|
47
|
-
2. **Prompt Generation**: Creates context-rich prompts from GitHub data
|
|
48
|
-
3. **Claude Integration**: Executes via multiple providers (Anthropic API, AWS Bedrock, Google Vertex AI)
|
|
49
|
-
4. **Result Processing**: Updates comments and creates branches/PRs as needed
|
|
50
|
-
|
|
51
|
-
### Key Architectural Components
|
|
52
|
-
|
|
53
|
-
#### Mode System (`src/modes/`)
|
|
54
|
-
|
|
55
|
-
- **Tag Mode** (`tag/`): Responds to `@claude` mentions and issue assignments
|
|
56
|
-
- **Agent Mode** (`agent/`): Direct execution when explicit prompt is provided
|
|
57
|
-
- Extensible registry pattern in `modes/registry.ts`
|
|
58
|
-
|
|
59
|
-
#### GitHub Integration (`src/github/`)
|
|
60
|
-
|
|
61
|
-
- **Context Parsing** (`context.ts`): Unified GitHub event handling
|
|
62
|
-
- **Data Fetching** (`data/fetcher.ts`): Retrieves PR/issue data via GraphQL/REST
|
|
63
|
-
- **Data Formatting** (`data/formatter.ts`): Converts GitHub data to Claude-readable format
|
|
64
|
-
- **Branch Operations** (`operations/branch.ts`): Handles branch creation and cleanup
|
|
65
|
-
- **Comment Management** (`operations/comments/`): Creates and updates tracking comments
|
|
66
|
-
|
|
67
|
-
#### MCP Server Integration (`src/mcp/`)
|
|
68
|
-
|
|
69
|
-
- **GitHub Actions Server** (`github-actions-server.ts`): Workflow and CI access
|
|
70
|
-
- **GitHub Comment Server** (`github-comment-server.ts`): Comment operations
|
|
71
|
-
- **GitHub File Operations** (`github-file-ops-server.ts`): File system access
|
|
72
|
-
- Auto-installation and configuration in `install-mcp-server.ts`
|
|
73
|
-
|
|
74
|
-
#### Authentication & Security (`src/github/`)
|
|
75
|
-
|
|
76
|
-
- **Token Management** (`token.ts`): OIDC token exchange and GitHub App authentication
|
|
77
|
-
- **Permission Validation** (`validation/permissions.ts`): Write access verification
|
|
78
|
-
- **Actor Validation** (`validation/actor.ts`): Human vs bot detection
|
|
79
|
-
|
|
80
|
-
### Project Structure
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
src/
|
|
84
|
-
├── entrypoints/ # Action entry points
|
|
85
|
-
│ ├── prepare.ts # Main preparation logic
|
|
86
|
-
│ ├── update-comment-link.ts # Post-execution comment updates
|
|
87
|
-
│ └── format-turns.ts # Claude conversation formatting
|
|
88
|
-
├── github/ # GitHub integration layer
|
|
89
|
-
│ ├── api/ # REST/GraphQL clients
|
|
90
|
-
│ ├── data/ # Data fetching and formatting
|
|
91
|
-
│ ├── operations/ # Branch, comment, git operations
|
|
92
|
-
│ ├── validation/ # Permission and trigger validation
|
|
93
|
-
│ └── utils/ # Image downloading, sanitization
|
|
94
|
-
├── modes/ # Execution modes
|
|
95
|
-
│ ├── tag/ # @claude mention mode
|
|
96
|
-
│ ├── agent/ # Automation mode
|
|
97
|
-
│ └── registry.ts # Mode selection logic
|
|
98
|
-
├── mcp/ # MCP server implementations
|
|
99
|
-
├── prepare/ # Preparation orchestration
|
|
100
|
-
└── utils/ # Shared utilities
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Important Implementation Notes
|
|
104
|
-
|
|
105
|
-
### Authentication Flow
|
|
106
|
-
|
|
107
|
-
- Uses GitHub OIDC token exchange for secure authentication
|
|
108
|
-
- Supports custom GitHub Apps via `APP_ID` and `APP_PRIVATE_KEY`
|
|
109
|
-
- Falls back to official Claude GitHub App if no custom app provided
|
|
110
|
-
|
|
111
|
-
### MCP Server Architecture
|
|
112
|
-
|
|
113
|
-
- Each MCP server has specific GitHub API access patterns
|
|
114
|
-
- Servers are auto-installed in `~/.claude/mcp/github-{type}-server/`
|
|
115
|
-
- Configuration merged with user-provided MCP config via `mcp_config` input
|
|
116
|
-
|
|
117
|
-
### Mode System Design
|
|
118
|
-
|
|
119
|
-
- Modes implement `Mode` interface with `shouldTrigger()` and `prepare()` methods
|
|
120
|
-
- Registry validates mode compatibility with GitHub event types
|
|
121
|
-
- Agent mode triggers when explicit prompt is provided
|
|
122
|
-
|
|
123
|
-
### Comment Threading
|
|
124
|
-
|
|
125
|
-
- Single tracking comment updated throughout execution
|
|
126
|
-
- Progress indicated via dynamic checkboxes
|
|
127
|
-
- Links to job runs and created branches/PRs
|
|
128
|
-
- Sticky comment option for consolidated PR comments
|
|
129
|
-
|
|
130
|
-
## Code Conventions
|
|
131
|
-
|
|
132
|
-
- Use Bun-specific TypeScript configuration with `moduleResolution: "bundler"`
|
|
133
|
-
- Strict TypeScript with `noUnusedLocals` and `noUnusedParameters` enabled
|
|
134
|
-
- Prefer explicit error handling with detailed error messages
|
|
135
|
-
- Use discriminated unions for GitHub context types
|
|
136
|
-
- Implement retry logic for GitHub API operations via `utils/retry.ts`
|