@vicoa/cli 1.3.11-linux-x64 → 1.3.11-win32-x64
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/bin/_internal/81d243bd2c585b0f4821__mypyc.cp312-win_amd64.pyd +0 -0
- 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/_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/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/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/base_library.zip +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/cryptography/hazmat/bindings/_rust.pyd +0 -0
- package/bin/_internal/cryptography-46.0.7.dist-info/RECORD +2 -2
- package/bin/_internal/cryptography-46.0.7.dist-info/WHEEL +1 -2
- package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +1 -1
- package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +32 -32
- package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +136 -136
- package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +128 -128
- package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +116 -116
- package/bin/_internal/integrations/github/claude-code-action/LICENSE +20 -20
- package/bin/_internal/integrations/github/claude-code-action/README.md +52 -52
- package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +20 -20
- package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +15 -15
- package/bin/_internal/integrations/github/claude-code-action/action.yml +294 -294
- package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +60 -60
- package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +128 -128
- package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +136 -136
- package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +21 -21
- package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +11 -11
- package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +521 -521
- package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +149 -149
- package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +54 -54
- package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +108 -108
- package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +23 -23
- package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +12 -12
- package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +45 -45
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +82 -82
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +82 -82
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +257 -257
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +300 -300
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +68 -68
- package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +54 -54
- package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +11 -11
- package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +17 -17
- package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +30 -30
- package/bin/_internal/integrations/github/claude-code-action/bun.lock +384 -384
- package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +33 -33
- package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +99 -99
- package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +345 -345
- package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +113 -113
- package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +128 -128
- package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +205 -205
- package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +261 -261
- package/bin/_internal/integrations/github/claude-code-action/docs/security.md +38 -38
- package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +146 -146
- package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +213 -213
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +97 -97
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +127 -127
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +97 -97
- package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +148 -148
- package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +63 -63
- package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +75 -75
- package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +74 -74
- package/bin/_internal/integrations/github/claude-code-action/package.json +31 -31
- package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +12 -12
- package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +45 -45
- package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +122 -122
- package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +799 -799
- package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +102 -102
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +58 -58
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +465 -465
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +98 -98
- package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +245 -245
- package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +23 -23
- package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +4 -4
- package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +117 -117
- package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +277 -277
- package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +233 -233
- package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +144 -144
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +132 -132
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +163 -163
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +203 -203
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +33 -33
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +111 -111
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +70 -70
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +57 -57
- package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +62 -62
- package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +108 -108
- package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +98 -98
- package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +246 -246
- package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +100 -100
- package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +64 -64
- package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +47 -47
- package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +148 -148
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +279 -279
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +101 -101
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +677 -677
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +184 -184
- package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +201 -201
- package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +152 -152
- package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +22 -22
- package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +66 -66
- package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +54 -54
- package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +187 -187
- package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +100 -100
- package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +20 -20
- package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +20 -20
- package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +40 -40
- package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +30 -30
- package/bin/_internal/integrations/n8n/LICENSE +20 -20
- package/bin/_internal/integrations/n8n/README.md +297 -297
- package/bin/_internal/integrations/n8n/package-lock.json +2989 -2989
- package/bin/_internal/integrations/n8n/package.json +68 -68
- package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +52 -52
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +34 -34
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +304 -304
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +37 -37
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +151 -151
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +252 -252
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +56 -56
- package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +29 -29
- package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +92 -92
- package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +42 -42
- package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +20 -20
- package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +72 -72
- package/bin/_internal/integrations/n8n/tsconfig.json +19 -19
- package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
- 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.27.0.dist-info/RECORD +1 -1
- package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
- package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
- 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/ucrtbase.dll +0 -0
- package/bin/_internal/{python3.12/lib-dynload/unicodedata.cpython-312-x86_64-linux-gnu.so → unicodedata.pyd} +0 -0
- package/bin/_internal/vicoa/_bin/README.md +28 -28
- package/bin/_internal/vicoa-1.3.10.dist-info/METADATA +311 -311
- package/bin/_internal/vicoa-1.3.10.dist-info/RECORD +6 -6
- package/bin/_internal/vicoa-1.3.10.dist-info/WHEEL +1 -1
- package/bin/_internal/vicoa-1.3.10.dist-info/direct_url.json +1 -1
- package/bin/_internal/vicoa-1.3.10.dist-info/licenses/LICENSE +201 -201
- 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-16.0.dist-info/METADATA +179 -179
- package/bin/_internal/websockets-16.0.dist-info/RECORD +53 -53
- package/bin/_internal/websockets-16.0.dist-info/WHEEL +1 -3
- package/bin/_internal/websockets-16.0.dist-info/licenses/LICENSE +24 -24
- 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 → vicoa.exe} +0 -0
- package/package.json +3 -3
- package/bin/_internal/81d243bd2c585b0f4821__mypyc.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/_cffi_backend.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/aiohttp/_http_parser.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/aiohttp/_http_writer.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/aiohttp/_websocket/mask.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/aiohttp/_websocket/reader_c.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/caio/linux_aio.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/caio/thread_aio.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/charset_normalizer/cd.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/charset_normalizer/md.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/cryptography/hazmat/bindings/_rust.abi3.so +0 -0
- package/bin/_internal/frozenlist/_frozenlist.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/jiter/jiter.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/libbz2.so.1.0 +0 -0
- package/bin/_internal/libcrypto.so.3 +0 -0
- package/bin/_internal/libffi.so.8 +0 -0
- package/bin/_internal/libgcc_s.so.1 +0 -0
- package/bin/_internal/liblzma.so.5 +0 -0
- package/bin/_internal/libpython3.12.so.1.0 +0 -0
- package/bin/_internal/libreadline.so.8 +0 -0
- package/bin/_internal/libssl.so.3 +0 -0
- package/bin/_internal/libstdc++.so.6 +0 -0
- package/bin/_internal/libtinfo.so.6 +0 -0
- package/bin/_internal/libuuid.so.1 +0 -0
- package/bin/_internal/libz.so.1 +0 -0
- package/bin/_internal/multidict/_multidict.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/propcache/_helpers_c.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_asyncio.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_bisect.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_blake2.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_bz2.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_codecs_cn.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_codecs_hk.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_codecs_iso2022.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_codecs_jp.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_codecs_kr.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_codecs_tw.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_contextvars.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_csv.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_ctypes.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_datetime.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_decimal.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_hashlib.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_heapq.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_json.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_lzma.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_md5.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_multibytecodec.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_multiprocessing.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_opcode.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_pickle.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_posixshmem.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_posixsubprocess.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_queue.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_random.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_sha1.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_sha2.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_sha3.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_socket.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_ssl.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_statistics.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_struct.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_uuid.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/_zoneinfo.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/array.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/binascii.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/fcntl.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/grp.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/math.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/mmap.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/pyexpat.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/readline.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/resource.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/select.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/syslog.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/termios.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.12/lib-dynload/zlib.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/rpds/rpds.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/watchfiles/_rust_notify.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/websockets/speedups.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/yaml/_yaml.cpython-312-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/yarl/_quoting_c.cpython-312-x86_64-linux-gnu.so +0 -0
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Create the initial tracking comment when Claude Code starts working
|
|
5
|
-
* This comment shows the working status and includes a link to the job run
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { appendFileSync } from "fs";
|
|
9
|
-
import { createJobRunLink, createCommentBody } from "./common";
|
|
10
|
-
import {
|
|
11
|
-
isPullRequestReviewCommentEvent,
|
|
12
|
-
isPullRequestEvent,
|
|
13
|
-
type ParsedGitHubContext,
|
|
14
|
-
} from "../../context";
|
|
15
|
-
import type { Octokit } from "@octokit/rest";
|
|
16
|
-
|
|
17
|
-
const CLAUDE_APP_BOT_ID = 209825114;
|
|
18
|
-
|
|
19
|
-
export async function createInitialComment(
|
|
20
|
-
octokit: Octokit,
|
|
21
|
-
context: ParsedGitHubContext,
|
|
22
|
-
) {
|
|
23
|
-
const { owner, repo } = context.repository;
|
|
24
|
-
|
|
25
|
-
const jobRunLink = createJobRunLink(owner, repo, context.runId);
|
|
26
|
-
const initialBody = createCommentBody(jobRunLink);
|
|
27
|
-
|
|
28
|
-
try {
|
|
29
|
-
let response;
|
|
30
|
-
|
|
31
|
-
if (
|
|
32
|
-
context.inputs.useStickyComment &&
|
|
33
|
-
context.isPR &&
|
|
34
|
-
isPullRequestEvent(context)
|
|
35
|
-
) {
|
|
36
|
-
const comments = await octokit.rest.issues.listComments({
|
|
37
|
-
owner,
|
|
38
|
-
repo,
|
|
39
|
-
issue_number: context.entityNumber,
|
|
40
|
-
});
|
|
41
|
-
const existingComment = comments.data.find((comment) => {
|
|
42
|
-
const idMatch = comment.user?.id === CLAUDE_APP_BOT_ID;
|
|
43
|
-
const botNameMatch =
|
|
44
|
-
comment.user?.type === "Bot" &&
|
|
45
|
-
comment.user?.login.toLowerCase().includes("claude");
|
|
46
|
-
const bodyMatch = comment.body === initialBody;
|
|
47
|
-
|
|
48
|
-
return idMatch || botNameMatch || bodyMatch;
|
|
49
|
-
});
|
|
50
|
-
if (existingComment) {
|
|
51
|
-
response = await octokit.rest.issues.updateComment({
|
|
52
|
-
owner,
|
|
53
|
-
repo,
|
|
54
|
-
comment_id: existingComment.id,
|
|
55
|
-
body: initialBody,
|
|
56
|
-
});
|
|
57
|
-
} else {
|
|
58
|
-
// Create new comment if no existing one found
|
|
59
|
-
response = await octokit.rest.issues.createComment({
|
|
60
|
-
owner,
|
|
61
|
-
repo,
|
|
62
|
-
issue_number: context.entityNumber,
|
|
63
|
-
body: initialBody,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
} else if (isPullRequestReviewCommentEvent(context)) {
|
|
67
|
-
// Only use createReplyForReviewComment if it's a PR review comment AND we have a comment_id
|
|
68
|
-
response = await octokit.rest.pulls.createReplyForReviewComment({
|
|
69
|
-
owner,
|
|
70
|
-
repo,
|
|
71
|
-
pull_number: context.entityNumber,
|
|
72
|
-
comment_id: context.payload.comment.id,
|
|
73
|
-
body: initialBody,
|
|
74
|
-
});
|
|
75
|
-
} else {
|
|
76
|
-
// For all other cases (issues, issue comments, or missing comment_id)
|
|
77
|
-
response = await octokit.rest.issues.createComment({
|
|
78
|
-
owner,
|
|
79
|
-
repo,
|
|
80
|
-
issue_number: context.entityNumber,
|
|
81
|
-
body: initialBody,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Output the comment ID for downstream steps using GITHUB_OUTPUT
|
|
86
|
-
const githubOutput = process.env.GITHUB_OUTPUT!;
|
|
87
|
-
appendFileSync(githubOutput, `claude_comment_id=${response.data.id}\n`);
|
|
88
|
-
console.log(`✅ Created initial comment with ID: ${response.data.id}`);
|
|
89
|
-
return response.data;
|
|
90
|
-
} catch (error) {
|
|
91
|
-
console.error("Error in initial comment:", error);
|
|
92
|
-
|
|
93
|
-
// Always fall back to regular issue comment if anything fails
|
|
94
|
-
try {
|
|
95
|
-
const response = await octokit.rest.issues.createComment({
|
|
96
|
-
owner,
|
|
97
|
-
repo,
|
|
98
|
-
issue_number: context.entityNumber,
|
|
99
|
-
body: initialBody,
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
const githubOutput = process.env.GITHUB_OUTPUT!;
|
|
103
|
-
appendFileSync(githubOutput, `claude_comment_id=${response.data.id}\n`);
|
|
104
|
-
console.log(`✅ Created fallback comment with ID: ${response.data.id}`);
|
|
105
|
-
return response.data;
|
|
106
|
-
} catch (fallbackError) {
|
|
107
|
-
console.error("Error creating fallback comment:", fallbackError);
|
|
108
|
-
throw fallbackError;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create the initial tracking comment when Claude Code starts working
|
|
5
|
+
* This comment shows the working status and includes a link to the job run
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { appendFileSync } from "fs";
|
|
9
|
+
import { createJobRunLink, createCommentBody } from "./common";
|
|
10
|
+
import {
|
|
11
|
+
isPullRequestReviewCommentEvent,
|
|
12
|
+
isPullRequestEvent,
|
|
13
|
+
type ParsedGitHubContext,
|
|
14
|
+
} from "../../context";
|
|
15
|
+
import type { Octokit } from "@octokit/rest";
|
|
16
|
+
|
|
17
|
+
const CLAUDE_APP_BOT_ID = 209825114;
|
|
18
|
+
|
|
19
|
+
export async function createInitialComment(
|
|
20
|
+
octokit: Octokit,
|
|
21
|
+
context: ParsedGitHubContext,
|
|
22
|
+
) {
|
|
23
|
+
const { owner, repo } = context.repository;
|
|
24
|
+
|
|
25
|
+
const jobRunLink = createJobRunLink(owner, repo, context.runId);
|
|
26
|
+
const initialBody = createCommentBody(jobRunLink);
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
let response;
|
|
30
|
+
|
|
31
|
+
if (
|
|
32
|
+
context.inputs.useStickyComment &&
|
|
33
|
+
context.isPR &&
|
|
34
|
+
isPullRequestEvent(context)
|
|
35
|
+
) {
|
|
36
|
+
const comments = await octokit.rest.issues.listComments({
|
|
37
|
+
owner,
|
|
38
|
+
repo,
|
|
39
|
+
issue_number: context.entityNumber,
|
|
40
|
+
});
|
|
41
|
+
const existingComment = comments.data.find((comment) => {
|
|
42
|
+
const idMatch = comment.user?.id === CLAUDE_APP_BOT_ID;
|
|
43
|
+
const botNameMatch =
|
|
44
|
+
comment.user?.type === "Bot" &&
|
|
45
|
+
comment.user?.login.toLowerCase().includes("claude");
|
|
46
|
+
const bodyMatch = comment.body === initialBody;
|
|
47
|
+
|
|
48
|
+
return idMatch || botNameMatch || bodyMatch;
|
|
49
|
+
});
|
|
50
|
+
if (existingComment) {
|
|
51
|
+
response = await octokit.rest.issues.updateComment({
|
|
52
|
+
owner,
|
|
53
|
+
repo,
|
|
54
|
+
comment_id: existingComment.id,
|
|
55
|
+
body: initialBody,
|
|
56
|
+
});
|
|
57
|
+
} else {
|
|
58
|
+
// Create new comment if no existing one found
|
|
59
|
+
response = await octokit.rest.issues.createComment({
|
|
60
|
+
owner,
|
|
61
|
+
repo,
|
|
62
|
+
issue_number: context.entityNumber,
|
|
63
|
+
body: initialBody,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
} else if (isPullRequestReviewCommentEvent(context)) {
|
|
67
|
+
// Only use createReplyForReviewComment if it's a PR review comment AND we have a comment_id
|
|
68
|
+
response = await octokit.rest.pulls.createReplyForReviewComment({
|
|
69
|
+
owner,
|
|
70
|
+
repo,
|
|
71
|
+
pull_number: context.entityNumber,
|
|
72
|
+
comment_id: context.payload.comment.id,
|
|
73
|
+
body: initialBody,
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
// For all other cases (issues, issue comments, or missing comment_id)
|
|
77
|
+
response = await octokit.rest.issues.createComment({
|
|
78
|
+
owner,
|
|
79
|
+
repo,
|
|
80
|
+
issue_number: context.entityNumber,
|
|
81
|
+
body: initialBody,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Output the comment ID for downstream steps using GITHUB_OUTPUT
|
|
86
|
+
const githubOutput = process.env.GITHUB_OUTPUT!;
|
|
87
|
+
appendFileSync(githubOutput, `claude_comment_id=${response.data.id}\n`);
|
|
88
|
+
console.log(`✅ Created initial comment with ID: ${response.data.id}`);
|
|
89
|
+
return response.data;
|
|
90
|
+
} catch (error) {
|
|
91
|
+
console.error("Error in initial comment:", error);
|
|
92
|
+
|
|
93
|
+
// Always fall back to regular issue comment if anything fails
|
|
94
|
+
try {
|
|
95
|
+
const response = await octokit.rest.issues.createComment({
|
|
96
|
+
owner,
|
|
97
|
+
repo,
|
|
98
|
+
issue_number: context.entityNumber,
|
|
99
|
+
body: initialBody,
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
const githubOutput = process.env.GITHUB_OUTPUT!;
|
|
103
|
+
appendFileSync(githubOutput, `claude_comment_id=${response.data.id}\n`);
|
|
104
|
+
console.log(`✅ Created fallback comment with ID: ${response.data.id}`);
|
|
105
|
+
return response.data;
|
|
106
|
+
} catch (fallbackError) {
|
|
107
|
+
console.error("Error creating fallback comment:", fallbackError);
|
|
108
|
+
throw fallbackError;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { Octokit } from "@octokit/rest";
|
|
2
|
-
|
|
3
|
-
export type UpdateClaudeCommentParams = {
|
|
4
|
-
owner: string;
|
|
5
|
-
repo: string;
|
|
6
|
-
commentId: number;
|
|
7
|
-
body: string;
|
|
8
|
-
isPullRequestReviewComment: boolean;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export type UpdateClaudeCommentResult = {
|
|
12
|
-
id: number;
|
|
13
|
-
html_url: string;
|
|
14
|
-
updated_at: string;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Updates a Claude comment on GitHub (either an issue/PR comment or a PR review comment)
|
|
19
|
-
*
|
|
20
|
-
* @param octokit - Authenticated Octokit instance
|
|
21
|
-
* @param params - Parameters for updating the comment
|
|
22
|
-
* @returns The updated comment details
|
|
23
|
-
* @throws Error if the update fails
|
|
24
|
-
*/
|
|
25
|
-
export async function updateClaudeComment(
|
|
26
|
-
octokit: Octokit,
|
|
27
|
-
params: UpdateClaudeCommentParams,
|
|
28
|
-
): Promise<UpdateClaudeCommentResult> {
|
|
29
|
-
const { owner, repo, commentId, body, isPullRequestReviewComment } = params;
|
|
30
|
-
|
|
31
|
-
let response;
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
if (isPullRequestReviewComment) {
|
|
35
|
-
// Try PR review comment API first
|
|
36
|
-
response = await octokit.rest.pulls.updateReviewComment({
|
|
37
|
-
owner,
|
|
38
|
-
repo,
|
|
39
|
-
comment_id: commentId,
|
|
40
|
-
body,
|
|
41
|
-
});
|
|
42
|
-
} else {
|
|
43
|
-
// Use issue comment API (works for both issues and PR general comments)
|
|
44
|
-
response = await octokit.rest.issues.updateComment({
|
|
45
|
-
owner,
|
|
46
|
-
repo,
|
|
47
|
-
comment_id: commentId,
|
|
48
|
-
body,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
} catch (error: any) {
|
|
52
|
-
// If PR review comment update fails with 404, fall back to issue comment API
|
|
53
|
-
if (isPullRequestReviewComment && error.status === 404) {
|
|
54
|
-
response = await octokit.rest.issues.updateComment({
|
|
55
|
-
owner,
|
|
56
|
-
repo,
|
|
57
|
-
comment_id: commentId,
|
|
58
|
-
body,
|
|
59
|
-
});
|
|
60
|
-
} else {
|
|
61
|
-
throw error;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
id: response.data.id,
|
|
67
|
-
html_url: response.data.html_url,
|
|
68
|
-
updated_at: response.data.updated_at,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
1
|
+
import { Octokit } from "@octokit/rest";
|
|
2
|
+
|
|
3
|
+
export type UpdateClaudeCommentParams = {
|
|
4
|
+
owner: string;
|
|
5
|
+
repo: string;
|
|
6
|
+
commentId: number;
|
|
7
|
+
body: string;
|
|
8
|
+
isPullRequestReviewComment: boolean;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type UpdateClaudeCommentResult = {
|
|
12
|
+
id: number;
|
|
13
|
+
html_url: string;
|
|
14
|
+
updated_at: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Updates a Claude comment on GitHub (either an issue/PR comment or a PR review comment)
|
|
19
|
+
*
|
|
20
|
+
* @param octokit - Authenticated Octokit instance
|
|
21
|
+
* @param params - Parameters for updating the comment
|
|
22
|
+
* @returns The updated comment details
|
|
23
|
+
* @throws Error if the update fails
|
|
24
|
+
*/
|
|
25
|
+
export async function updateClaudeComment(
|
|
26
|
+
octokit: Octokit,
|
|
27
|
+
params: UpdateClaudeCommentParams,
|
|
28
|
+
): Promise<UpdateClaudeCommentResult> {
|
|
29
|
+
const { owner, repo, commentId, body, isPullRequestReviewComment } = params;
|
|
30
|
+
|
|
31
|
+
let response;
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
if (isPullRequestReviewComment) {
|
|
35
|
+
// Try PR review comment API first
|
|
36
|
+
response = await octokit.rest.pulls.updateReviewComment({
|
|
37
|
+
owner,
|
|
38
|
+
repo,
|
|
39
|
+
comment_id: commentId,
|
|
40
|
+
body,
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
// Use issue comment API (works for both issues and PR general comments)
|
|
44
|
+
response = await octokit.rest.issues.updateComment({
|
|
45
|
+
owner,
|
|
46
|
+
repo,
|
|
47
|
+
comment_id: commentId,
|
|
48
|
+
body,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
} catch (error: any) {
|
|
52
|
+
// If PR review comment update fails with 404, fall back to issue comment API
|
|
53
|
+
if (isPullRequestReviewComment && error.status === 404) {
|
|
54
|
+
response = await octokit.rest.issues.updateComment({
|
|
55
|
+
owner,
|
|
56
|
+
repo,
|
|
57
|
+
comment_id: commentId,
|
|
58
|
+
body,
|
|
59
|
+
});
|
|
60
|
+
} else {
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
id: response.data.id,
|
|
67
|
+
html_url: response.data.html_url,
|
|
68
|
+
updated_at: response.data.updated_at,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Update the initial tracking comment with branch link
|
|
5
|
-
* This happens after the branch is created for issues
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
createJobRunLink,
|
|
10
|
-
createBranchLink,
|
|
11
|
-
createCommentBody,
|
|
12
|
-
} from "./common";
|
|
13
|
-
import { type Octokits } from "../../api/client";
|
|
14
|
-
import {
|
|
15
|
-
isPullRequestReviewCommentEvent,
|
|
16
|
-
type ParsedGitHubContext,
|
|
17
|
-
} from "../../context";
|
|
18
|
-
import { updateClaudeComment } from "./update-claude-comment";
|
|
19
|
-
|
|
20
|
-
export async function updateTrackingComment(
|
|
21
|
-
octokit: Octokits,
|
|
22
|
-
context: ParsedGitHubContext,
|
|
23
|
-
commentId: number,
|
|
24
|
-
branch?: string,
|
|
25
|
-
) {
|
|
26
|
-
const { owner, repo } = context.repository;
|
|
27
|
-
|
|
28
|
-
const jobRunLink = createJobRunLink(owner, repo, context.runId);
|
|
29
|
-
|
|
30
|
-
// Add branch link for issues (not PRs)
|
|
31
|
-
let branchLink = "";
|
|
32
|
-
if (branch && !context.isPR) {
|
|
33
|
-
branchLink = createBranchLink(owner, repo, branch);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const updatedBody = createCommentBody(jobRunLink, branchLink);
|
|
37
|
-
|
|
38
|
-
// Update the existing comment with the branch link
|
|
39
|
-
try {
|
|
40
|
-
const isPRReviewComment = isPullRequestReviewCommentEvent(context);
|
|
41
|
-
|
|
42
|
-
await updateClaudeComment(octokit.rest, {
|
|
43
|
-
owner,
|
|
44
|
-
repo,
|
|
45
|
-
commentId,
|
|
46
|
-
body: updatedBody,
|
|
47
|
-
isPullRequestReviewComment: isPRReviewComment,
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
console.log(
|
|
51
|
-
`✅ Updated ${isPRReviewComment ? "PR review" : "issue"} comment ${commentId} with branch link`,
|
|
52
|
-
);
|
|
53
|
-
} catch (error) {
|
|
54
|
-
console.error("Error updating comment with branch link:", error);
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Update the initial tracking comment with branch link
|
|
5
|
+
* This happens after the branch is created for issues
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
createJobRunLink,
|
|
10
|
+
createBranchLink,
|
|
11
|
+
createCommentBody,
|
|
12
|
+
} from "./common";
|
|
13
|
+
import { type Octokits } from "../../api/client";
|
|
14
|
+
import {
|
|
15
|
+
isPullRequestReviewCommentEvent,
|
|
16
|
+
type ParsedGitHubContext,
|
|
17
|
+
} from "../../context";
|
|
18
|
+
import { updateClaudeComment } from "./update-claude-comment";
|
|
19
|
+
|
|
20
|
+
export async function updateTrackingComment(
|
|
21
|
+
octokit: Octokits,
|
|
22
|
+
context: ParsedGitHubContext,
|
|
23
|
+
commentId: number,
|
|
24
|
+
branch?: string,
|
|
25
|
+
) {
|
|
26
|
+
const { owner, repo } = context.repository;
|
|
27
|
+
|
|
28
|
+
const jobRunLink = createJobRunLink(owner, repo, context.runId);
|
|
29
|
+
|
|
30
|
+
// Add branch link for issues (not PRs)
|
|
31
|
+
let branchLink = "";
|
|
32
|
+
if (branch && !context.isPR) {
|
|
33
|
+
branchLink = createBranchLink(owner, repo, branch);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const updatedBody = createCommentBody(jobRunLink, branchLink);
|
|
37
|
+
|
|
38
|
+
// Update the existing comment with the branch link
|
|
39
|
+
try {
|
|
40
|
+
const isPRReviewComment = isPullRequestReviewCommentEvent(context);
|
|
41
|
+
|
|
42
|
+
await updateClaudeComment(octokit.rest, {
|
|
43
|
+
owner,
|
|
44
|
+
repo,
|
|
45
|
+
commentId,
|
|
46
|
+
body: updatedBody,
|
|
47
|
+
isPullRequestReviewComment: isPRReviewComment,
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
console.log(
|
|
51
|
+
`✅ Updated ${isPRReviewComment ? "PR review" : "issue"} comment ${commentId} with branch link`,
|
|
52
|
+
);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
console.error("Error updating comment with branch link:", error);
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
}
|
package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Configure git authentication for non-signing mode
|
|
5
|
-
* Sets up git user and authentication to work with GitHub App tokens
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { $ } from "bun";
|
|
9
|
-
import type { GitHubContext } from "../context";
|
|
10
|
-
import { GITHUB_SERVER_URL } from "../api/config";
|
|
11
|
-
|
|
12
|
-
type GitUser = {
|
|
13
|
-
login: string;
|
|
14
|
-
id: number;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export async function configureGitAuth(
|
|
18
|
-
githubToken: string,
|
|
19
|
-
context: GitHubContext,
|
|
20
|
-
user: GitUser | null,
|
|
21
|
-
) {
|
|
22
|
-
console.log("Configuring git authentication for non-signing mode");
|
|
23
|
-
|
|
24
|
-
// Determine the noreply email domain based on GITHUB_SERVER_URL
|
|
25
|
-
const serverUrl = new URL(GITHUB_SERVER_URL);
|
|
26
|
-
const noreplyDomain =
|
|
27
|
-
serverUrl.hostname === "github.com"
|
|
28
|
-
? "users.noreply.github.com"
|
|
29
|
-
: `users.noreply.${serverUrl.hostname}`;
|
|
30
|
-
|
|
31
|
-
// Configure git user based on the comment creator
|
|
32
|
-
console.log("Configuring git user...");
|
|
33
|
-
if (user) {
|
|
34
|
-
const botName = user.login;
|
|
35
|
-
const botId = user.id;
|
|
36
|
-
console.log(`Setting git user as ${botName}...`);
|
|
37
|
-
await $`git config user.name "${botName}"`;
|
|
38
|
-
await $`git config user.email "${botId}+${botName}@${noreplyDomain}"`;
|
|
39
|
-
console.log(`✓ Set git user as ${botName}`);
|
|
40
|
-
} else {
|
|
41
|
-
console.log("No user data in comment, using default bot user");
|
|
42
|
-
await $`git config user.name "github-actions[bot]"`;
|
|
43
|
-
await $`git config user.email "41898282+github-actions[bot]@${noreplyDomain}"`;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Remove the authorization header that actions/checkout sets
|
|
47
|
-
console.log("Removing existing git authentication headers...");
|
|
48
|
-
try {
|
|
49
|
-
await $`git config --unset-all http.${GITHUB_SERVER_URL}/.extraheader`;
|
|
50
|
-
console.log("✓ Removed existing authentication headers");
|
|
51
|
-
} catch (e) {
|
|
52
|
-
console.log("No existing authentication headers to remove");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Update the remote URL to include the token for authentication
|
|
56
|
-
console.log("Updating remote URL with authentication...");
|
|
57
|
-
const remoteUrl = `https://x-access-token:${githubToken}@${serverUrl.host}/${context.repository.owner}/${context.repository.repo}.git`;
|
|
58
|
-
await $`git remote set-url origin ${remoteUrl}`;
|
|
59
|
-
console.log("✓ Updated remote URL with authentication token");
|
|
60
|
-
|
|
61
|
-
console.log("Git authentication configured successfully");
|
|
62
|
-
}
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Configure git authentication for non-signing mode
|
|
5
|
+
* Sets up git user and authentication to work with GitHub App tokens
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { $ } from "bun";
|
|
9
|
+
import type { GitHubContext } from "../context";
|
|
10
|
+
import { GITHUB_SERVER_URL } from "../api/config";
|
|
11
|
+
|
|
12
|
+
type GitUser = {
|
|
13
|
+
login: string;
|
|
14
|
+
id: number;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export async function configureGitAuth(
|
|
18
|
+
githubToken: string,
|
|
19
|
+
context: GitHubContext,
|
|
20
|
+
user: GitUser | null,
|
|
21
|
+
) {
|
|
22
|
+
console.log("Configuring git authentication for non-signing mode");
|
|
23
|
+
|
|
24
|
+
// Determine the noreply email domain based on GITHUB_SERVER_URL
|
|
25
|
+
const serverUrl = new URL(GITHUB_SERVER_URL);
|
|
26
|
+
const noreplyDomain =
|
|
27
|
+
serverUrl.hostname === "github.com"
|
|
28
|
+
? "users.noreply.github.com"
|
|
29
|
+
: `users.noreply.${serverUrl.hostname}`;
|
|
30
|
+
|
|
31
|
+
// Configure git user based on the comment creator
|
|
32
|
+
console.log("Configuring git user...");
|
|
33
|
+
if (user) {
|
|
34
|
+
const botName = user.login;
|
|
35
|
+
const botId = user.id;
|
|
36
|
+
console.log(`Setting git user as ${botName}...`);
|
|
37
|
+
await $`git config user.name "${botName}"`;
|
|
38
|
+
await $`git config user.email "${botId}+${botName}@${noreplyDomain}"`;
|
|
39
|
+
console.log(`✓ Set git user as ${botName}`);
|
|
40
|
+
} else {
|
|
41
|
+
console.log("No user data in comment, using default bot user");
|
|
42
|
+
await $`git config user.name "github-actions[bot]"`;
|
|
43
|
+
await $`git config user.email "41898282+github-actions[bot]@${noreplyDomain}"`;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Remove the authorization header that actions/checkout sets
|
|
47
|
+
console.log("Removing existing git authentication headers...");
|
|
48
|
+
try {
|
|
49
|
+
await $`git config --unset-all http.${GITHUB_SERVER_URL}/.extraheader`;
|
|
50
|
+
console.log("✓ Removed existing authentication headers");
|
|
51
|
+
} catch (e) {
|
|
52
|
+
console.log("No existing authentication headers to remove");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Update the remote URL to include the token for authentication
|
|
56
|
+
console.log("Updating remote URL with authentication...");
|
|
57
|
+
const remoteUrl = `https://x-access-token:${githubToken}@${serverUrl.host}/${context.repository.owner}/${context.repository.repo}.git`;
|
|
58
|
+
await $`git remote set-url origin ${remoteUrl}`;
|
|
59
|
+
console.log("✓ Updated remote URL with authentication token");
|
|
60
|
+
|
|
61
|
+
console.log("Git authentication configured successfully");
|
|
62
|
+
}
|