@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,152 +1,152 @@
|
|
|
1
|
-
import * as core from "@actions/core";
|
|
2
|
-
import { mkdir, writeFile } from "fs/promises";
|
|
3
|
-
import type { Mode, ModeOptions, ModeResult } from "../types";
|
|
4
|
-
import type { PreparedContext } from "../../create-prompt/types";
|
|
5
|
-
import { prepareMcpConfig } from "../../mcp/install-mcp-server";
|
|
6
|
-
import { parseAllowedTools } from "./parse-tools";
|
|
7
|
-
import { configureGitAuth } from "../../github/operations/git-config";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Agent mode implementation.
|
|
11
|
-
*
|
|
12
|
-
* This mode runs whenever an explicit prompt is provided in the workflow configuration.
|
|
13
|
-
* It bypasses the standard @claude mention checking and comment tracking used by tag mode,
|
|
14
|
-
* providing direct access to Claude Code for automation workflows.
|
|
15
|
-
*/
|
|
16
|
-
export const agentMode: Mode = {
|
|
17
|
-
name: "agent",
|
|
18
|
-
description: "Direct automation mode for explicit prompts",
|
|
19
|
-
|
|
20
|
-
shouldTrigger(context) {
|
|
21
|
-
// Only trigger when an explicit prompt is provided
|
|
22
|
-
return !!context.inputs?.prompt;
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
prepareContext(context) {
|
|
26
|
-
// Agent mode doesn't use comment tracking or branch management
|
|
27
|
-
return {
|
|
28
|
-
mode: "agent",
|
|
29
|
-
githubContext: context,
|
|
30
|
-
};
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
getAllowedTools() {
|
|
34
|
-
return [];
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
getDisallowedTools() {
|
|
38
|
-
return [];
|
|
39
|
-
},
|
|
40
|
-
|
|
41
|
-
shouldCreateTrackingComment() {
|
|
42
|
-
return false;
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
async prepare({
|
|
46
|
-
context,
|
|
47
|
-
githubToken,
|
|
48
|
-
octokit,
|
|
49
|
-
}: ModeOptions): Promise<ModeResult> {
|
|
50
|
-
// Configure git authentication for agent mode (same as tag mode)
|
|
51
|
-
if (!context.inputs.useCommitSigning) {
|
|
52
|
-
try {
|
|
53
|
-
// Get the authenticated user (will be claude[bot] when using Claude App token)
|
|
54
|
-
const { data: authenticatedUser } =
|
|
55
|
-
await octokit.rest.users.getAuthenticated();
|
|
56
|
-
const user = {
|
|
57
|
-
login: authenticatedUser.login,
|
|
58
|
-
id: authenticatedUser.id,
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
// Use the shared git configuration function
|
|
62
|
-
await configureGitAuth(githubToken, context, user);
|
|
63
|
-
} catch (error) {
|
|
64
|
-
console.error("Failed to configure git authentication:", error);
|
|
65
|
-
// Continue anyway - git operations may still work with default config
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Create prompt directory
|
|
70
|
-
await mkdir(`${process.env.RUNNER_TEMP || "/tmp"}/claude-prompts`, {
|
|
71
|
-
recursive: true,
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
// Write the prompt file - use the user's prompt directly
|
|
75
|
-
const promptContent =
|
|
76
|
-
context.inputs.prompt ||
|
|
77
|
-
`Repository: ${context.repository.owner}/${context.repository.repo}`;
|
|
78
|
-
|
|
79
|
-
await writeFile(
|
|
80
|
-
`${process.env.RUNNER_TEMP || "/tmp"}/claude-prompts/claude-prompt.txt`,
|
|
81
|
-
promptContent,
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
// Parse allowed tools from user's claude_args
|
|
85
|
-
const userClaudeArgs = process.env.CLAUDE_ARGS || "";
|
|
86
|
-
const allowedTools = parseAllowedTools(userClaudeArgs);
|
|
87
|
-
|
|
88
|
-
// Check for branch info from environment variables (useful for auto-fix workflows)
|
|
89
|
-
const claudeBranch = process.env.CLAUDE_BRANCH || undefined;
|
|
90
|
-
const baseBranch =
|
|
91
|
-
process.env.BASE_BRANCH || context.inputs.baseBranch || "main";
|
|
92
|
-
|
|
93
|
-
// Detect current branch from GitHub environment
|
|
94
|
-
const currentBranch =
|
|
95
|
-
claudeBranch ||
|
|
96
|
-
process.env.GITHUB_HEAD_REF ||
|
|
97
|
-
process.env.GITHUB_REF_NAME ||
|
|
98
|
-
"main";
|
|
99
|
-
|
|
100
|
-
// Get our GitHub MCP servers config
|
|
101
|
-
const ourMcpConfig = await prepareMcpConfig({
|
|
102
|
-
githubToken,
|
|
103
|
-
owner: context.repository.owner,
|
|
104
|
-
repo: context.repository.repo,
|
|
105
|
-
branch: currentBranch,
|
|
106
|
-
baseBranch: baseBranch,
|
|
107
|
-
claudeCommentId: undefined, // No tracking comment in agent mode
|
|
108
|
-
allowedTools,
|
|
109
|
-
context,
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
// Build final claude_args with multiple --mcp-config flags
|
|
113
|
-
let claudeArgs = "";
|
|
114
|
-
|
|
115
|
-
// Add our GitHub servers config if we have any
|
|
116
|
-
const ourConfig = JSON.parse(ourMcpConfig);
|
|
117
|
-
if (ourConfig.mcpServers && Object.keys(ourConfig.mcpServers).length > 0) {
|
|
118
|
-
const escapedOurConfig = ourMcpConfig.replace(/'/g, "'\\''");
|
|
119
|
-
claudeArgs = `--mcp-config '${escapedOurConfig}'`;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// Append user's claude_args (which may have more --mcp-config flags)
|
|
123
|
-
claudeArgs = `${claudeArgs} ${userClaudeArgs}`.trim();
|
|
124
|
-
|
|
125
|
-
core.setOutput("claude_args", claudeArgs);
|
|
126
|
-
|
|
127
|
-
return {
|
|
128
|
-
commentId: undefined,
|
|
129
|
-
branchInfo: {
|
|
130
|
-
baseBranch: baseBranch,
|
|
131
|
-
currentBranch: baseBranch, // Use base branch as current when creating new branch
|
|
132
|
-
claudeBranch: claudeBranch,
|
|
133
|
-
},
|
|
134
|
-
mcpConfig: ourMcpConfig,
|
|
135
|
-
};
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
generatePrompt(context: PreparedContext): string {
|
|
139
|
-
// Agent mode uses prompt field
|
|
140
|
-
if (context.prompt) {
|
|
141
|
-
return context.prompt;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Minimal fallback - repository is a string in PreparedContext
|
|
145
|
-
return `Repository: ${context.repository}`;
|
|
146
|
-
},
|
|
147
|
-
|
|
148
|
-
getSystemPrompt() {
|
|
149
|
-
// Agent mode doesn't need additional system prompts
|
|
150
|
-
return undefined;
|
|
151
|
-
},
|
|
152
|
-
};
|
|
1
|
+
import * as core from "@actions/core";
|
|
2
|
+
import { mkdir, writeFile } from "fs/promises";
|
|
3
|
+
import type { Mode, ModeOptions, ModeResult } from "../types";
|
|
4
|
+
import type { PreparedContext } from "../../create-prompt/types";
|
|
5
|
+
import { prepareMcpConfig } from "../../mcp/install-mcp-server";
|
|
6
|
+
import { parseAllowedTools } from "./parse-tools";
|
|
7
|
+
import { configureGitAuth } from "../../github/operations/git-config";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Agent mode implementation.
|
|
11
|
+
*
|
|
12
|
+
* This mode runs whenever an explicit prompt is provided in the workflow configuration.
|
|
13
|
+
* It bypasses the standard @claude mention checking and comment tracking used by tag mode,
|
|
14
|
+
* providing direct access to Claude Code for automation workflows.
|
|
15
|
+
*/
|
|
16
|
+
export const agentMode: Mode = {
|
|
17
|
+
name: "agent",
|
|
18
|
+
description: "Direct automation mode for explicit prompts",
|
|
19
|
+
|
|
20
|
+
shouldTrigger(context) {
|
|
21
|
+
// Only trigger when an explicit prompt is provided
|
|
22
|
+
return !!context.inputs?.prompt;
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
prepareContext(context) {
|
|
26
|
+
// Agent mode doesn't use comment tracking or branch management
|
|
27
|
+
return {
|
|
28
|
+
mode: "agent",
|
|
29
|
+
githubContext: context,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
getAllowedTools() {
|
|
34
|
+
return [];
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
getDisallowedTools() {
|
|
38
|
+
return [];
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
shouldCreateTrackingComment() {
|
|
42
|
+
return false;
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
async prepare({
|
|
46
|
+
context,
|
|
47
|
+
githubToken,
|
|
48
|
+
octokit,
|
|
49
|
+
}: ModeOptions): Promise<ModeResult> {
|
|
50
|
+
// Configure git authentication for agent mode (same as tag mode)
|
|
51
|
+
if (!context.inputs.useCommitSigning) {
|
|
52
|
+
try {
|
|
53
|
+
// Get the authenticated user (will be claude[bot] when using Claude App token)
|
|
54
|
+
const { data: authenticatedUser } =
|
|
55
|
+
await octokit.rest.users.getAuthenticated();
|
|
56
|
+
const user = {
|
|
57
|
+
login: authenticatedUser.login,
|
|
58
|
+
id: authenticatedUser.id,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// Use the shared git configuration function
|
|
62
|
+
await configureGitAuth(githubToken, context, user);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error("Failed to configure git authentication:", error);
|
|
65
|
+
// Continue anyway - git operations may still work with default config
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Create prompt directory
|
|
70
|
+
await mkdir(`${process.env.RUNNER_TEMP || "/tmp"}/claude-prompts`, {
|
|
71
|
+
recursive: true,
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Write the prompt file - use the user's prompt directly
|
|
75
|
+
const promptContent =
|
|
76
|
+
context.inputs.prompt ||
|
|
77
|
+
`Repository: ${context.repository.owner}/${context.repository.repo}`;
|
|
78
|
+
|
|
79
|
+
await writeFile(
|
|
80
|
+
`${process.env.RUNNER_TEMP || "/tmp"}/claude-prompts/claude-prompt.txt`,
|
|
81
|
+
promptContent,
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
// Parse allowed tools from user's claude_args
|
|
85
|
+
const userClaudeArgs = process.env.CLAUDE_ARGS || "";
|
|
86
|
+
const allowedTools = parseAllowedTools(userClaudeArgs);
|
|
87
|
+
|
|
88
|
+
// Check for branch info from environment variables (useful for auto-fix workflows)
|
|
89
|
+
const claudeBranch = process.env.CLAUDE_BRANCH || undefined;
|
|
90
|
+
const baseBranch =
|
|
91
|
+
process.env.BASE_BRANCH || context.inputs.baseBranch || "main";
|
|
92
|
+
|
|
93
|
+
// Detect current branch from GitHub environment
|
|
94
|
+
const currentBranch =
|
|
95
|
+
claudeBranch ||
|
|
96
|
+
process.env.GITHUB_HEAD_REF ||
|
|
97
|
+
process.env.GITHUB_REF_NAME ||
|
|
98
|
+
"main";
|
|
99
|
+
|
|
100
|
+
// Get our GitHub MCP servers config
|
|
101
|
+
const ourMcpConfig = await prepareMcpConfig({
|
|
102
|
+
githubToken,
|
|
103
|
+
owner: context.repository.owner,
|
|
104
|
+
repo: context.repository.repo,
|
|
105
|
+
branch: currentBranch,
|
|
106
|
+
baseBranch: baseBranch,
|
|
107
|
+
claudeCommentId: undefined, // No tracking comment in agent mode
|
|
108
|
+
allowedTools,
|
|
109
|
+
context,
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// Build final claude_args with multiple --mcp-config flags
|
|
113
|
+
let claudeArgs = "";
|
|
114
|
+
|
|
115
|
+
// Add our GitHub servers config if we have any
|
|
116
|
+
const ourConfig = JSON.parse(ourMcpConfig);
|
|
117
|
+
if (ourConfig.mcpServers && Object.keys(ourConfig.mcpServers).length > 0) {
|
|
118
|
+
const escapedOurConfig = ourMcpConfig.replace(/'/g, "'\\''");
|
|
119
|
+
claudeArgs = `--mcp-config '${escapedOurConfig}'`;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Append user's claude_args (which may have more --mcp-config flags)
|
|
123
|
+
claudeArgs = `${claudeArgs} ${userClaudeArgs}`.trim();
|
|
124
|
+
|
|
125
|
+
core.setOutput("claude_args", claudeArgs);
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
commentId: undefined,
|
|
129
|
+
branchInfo: {
|
|
130
|
+
baseBranch: baseBranch,
|
|
131
|
+
currentBranch: baseBranch, // Use base branch as current when creating new branch
|
|
132
|
+
claudeBranch: claudeBranch,
|
|
133
|
+
},
|
|
134
|
+
mcpConfig: ourMcpConfig,
|
|
135
|
+
};
|
|
136
|
+
},
|
|
137
|
+
|
|
138
|
+
generatePrompt(context: PreparedContext): string {
|
|
139
|
+
// Agent mode uses prompt field
|
|
140
|
+
if (context.prompt) {
|
|
141
|
+
return context.prompt;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Minimal fallback - repository is a string in PreparedContext
|
|
145
|
+
return `Repository: ${context.repository}`;
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
getSystemPrompt() {
|
|
149
|
+
// Agent mode doesn't need additional system prompts
|
|
150
|
+
return undefined;
|
|
151
|
+
},
|
|
152
|
+
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export function parseAllowedTools(claudeArgs: string): string[] {
|
|
2
|
-
// Match --allowedTools followed by the value
|
|
3
|
-
// Handle both quoted and unquoted values
|
|
4
|
-
const patterns = [
|
|
5
|
-
/--allowedTools\s+"([^"]+)"/, // Double quoted
|
|
6
|
-
/--allowedTools\s+'([^']+)'/, // Single quoted
|
|
7
|
-
/--allowedTools\s+([^\s]+)/, // Unquoted
|
|
8
|
-
];
|
|
9
|
-
|
|
10
|
-
for (const pattern of patterns) {
|
|
11
|
-
const match = claudeArgs.match(pattern);
|
|
12
|
-
if (match && match[1]) {
|
|
13
|
-
// Don't return if the value starts with -- (another flag)
|
|
14
|
-
if (match[1].startsWith("--")) {
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
return match[1].split(",").map((t) => t.trim());
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
1
|
+
export function parseAllowedTools(claudeArgs: string): string[] {
|
|
2
|
+
// Match --allowedTools followed by the value
|
|
3
|
+
// Handle both quoted and unquoted values
|
|
4
|
+
const patterns = [
|
|
5
|
+
/--allowedTools\s+"([^"]+)"/, // Double quoted
|
|
6
|
+
/--allowedTools\s+'([^']+)'/, // Single quoted
|
|
7
|
+
/--allowedTools\s+([^\s]+)/, // Unquoted
|
|
8
|
+
];
|
|
9
|
+
|
|
10
|
+
for (const pattern of patterns) {
|
|
11
|
+
const match = claudeArgs.match(pattern);
|
|
12
|
+
if (match && match[1]) {
|
|
13
|
+
// Don't return if the value starts with -- (another flag)
|
|
14
|
+
if (match[1].startsWith("--")) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
return match[1].split(",").map((t) => t.trim());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import type { GitHubContext } from "../github/context";
|
|
2
|
-
import {
|
|
3
|
-
isEntityContext,
|
|
4
|
-
isIssueCommentEvent,
|
|
5
|
-
isPullRequestReviewCommentEvent,
|
|
6
|
-
} from "../github/context";
|
|
7
|
-
import { checkContainsTrigger } from "../github/validation/trigger";
|
|
8
|
-
|
|
9
|
-
export type AutoDetectedMode = "tag" | "agent";
|
|
10
|
-
|
|
11
|
-
export function detectMode(context: GitHubContext): AutoDetectedMode {
|
|
12
|
-
// If prompt is provided, use agent mode for direct execution
|
|
13
|
-
if (context.inputs?.prompt) {
|
|
14
|
-
return "agent";
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// Check for @claude mentions (tag mode)
|
|
18
|
-
if (isEntityContext(context)) {
|
|
19
|
-
if (
|
|
20
|
-
isIssueCommentEvent(context) ||
|
|
21
|
-
isPullRequestReviewCommentEvent(context)
|
|
22
|
-
) {
|
|
23
|
-
if (checkContainsTrigger(context)) {
|
|
24
|
-
return "tag";
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (context.eventName === "issues") {
|
|
29
|
-
if (checkContainsTrigger(context)) {
|
|
30
|
-
return "tag";
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Default to agent mode (which won't trigger without a prompt)
|
|
36
|
-
return "agent";
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function getModeDescription(mode: AutoDetectedMode): string {
|
|
40
|
-
switch (mode) {
|
|
41
|
-
case "tag":
|
|
42
|
-
return "Interactive mode triggered by @claude mentions";
|
|
43
|
-
case "agent":
|
|
44
|
-
return "Direct automation mode for explicit prompts";
|
|
45
|
-
default:
|
|
46
|
-
return "Unknown mode";
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export function shouldUseTrackingComment(mode: AutoDetectedMode): boolean {
|
|
51
|
-
return mode === "tag";
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function getDefaultPromptForMode(
|
|
55
|
-
mode: AutoDetectedMode,
|
|
56
|
-
context: GitHubContext,
|
|
57
|
-
): string | undefined {
|
|
58
|
-
switch (mode) {
|
|
59
|
-
case "tag":
|
|
60
|
-
return undefined;
|
|
61
|
-
case "agent":
|
|
62
|
-
return context.inputs?.prompt;
|
|
63
|
-
default:
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
1
|
+
import type { GitHubContext } from "../github/context";
|
|
2
|
+
import {
|
|
3
|
+
isEntityContext,
|
|
4
|
+
isIssueCommentEvent,
|
|
5
|
+
isPullRequestReviewCommentEvent,
|
|
6
|
+
} from "../github/context";
|
|
7
|
+
import { checkContainsTrigger } from "../github/validation/trigger";
|
|
8
|
+
|
|
9
|
+
export type AutoDetectedMode = "tag" | "agent";
|
|
10
|
+
|
|
11
|
+
export function detectMode(context: GitHubContext): AutoDetectedMode {
|
|
12
|
+
// If prompt is provided, use agent mode for direct execution
|
|
13
|
+
if (context.inputs?.prompt) {
|
|
14
|
+
return "agent";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Check for @claude mentions (tag mode)
|
|
18
|
+
if (isEntityContext(context)) {
|
|
19
|
+
if (
|
|
20
|
+
isIssueCommentEvent(context) ||
|
|
21
|
+
isPullRequestReviewCommentEvent(context)
|
|
22
|
+
) {
|
|
23
|
+
if (checkContainsTrigger(context)) {
|
|
24
|
+
return "tag";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (context.eventName === "issues") {
|
|
29
|
+
if (checkContainsTrigger(context)) {
|
|
30
|
+
return "tag";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Default to agent mode (which won't trigger without a prompt)
|
|
36
|
+
return "agent";
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function getModeDescription(mode: AutoDetectedMode): string {
|
|
40
|
+
switch (mode) {
|
|
41
|
+
case "tag":
|
|
42
|
+
return "Interactive mode triggered by @claude mentions";
|
|
43
|
+
case "agent":
|
|
44
|
+
return "Direct automation mode for explicit prompts";
|
|
45
|
+
default:
|
|
46
|
+
return "Unknown mode";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function shouldUseTrackingComment(mode: AutoDetectedMode): boolean {
|
|
51
|
+
return mode === "tag";
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function getDefaultPromptForMode(
|
|
55
|
+
mode: AutoDetectedMode,
|
|
56
|
+
context: GitHubContext,
|
|
57
|
+
): string | undefined {
|
|
58
|
+
switch (mode) {
|
|
59
|
+
case "tag":
|
|
60
|
+
return undefined;
|
|
61
|
+
case "agent":
|
|
62
|
+
return context.inputs?.prompt;
|
|
63
|
+
default:
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mode Registry for claude-code-action v1.0
|
|
3
|
-
*
|
|
4
|
-
* This module provides access to all available execution modes and handles
|
|
5
|
-
* automatic mode detection based on GitHub event types.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { Mode, ModeName } from "./types";
|
|
9
|
-
import { tagMode } from "./tag";
|
|
10
|
-
import { agentMode } from "./agent";
|
|
11
|
-
import type { GitHubContext } from "../github/context";
|
|
12
|
-
import { detectMode, type AutoDetectedMode } from "./detector";
|
|
13
|
-
|
|
14
|
-
export const VALID_MODES = ["tag", "agent"] as const;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* All available modes in v1.0
|
|
18
|
-
*/
|
|
19
|
-
const modes = {
|
|
20
|
-
tag: tagMode,
|
|
21
|
-
agent: agentMode,
|
|
22
|
-
} as const satisfies Record<AutoDetectedMode, Mode>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Automatically detects and retrieves the appropriate mode based on the GitHub context.
|
|
26
|
-
* In v1.0, modes are auto-selected based on event type.
|
|
27
|
-
* @param context The GitHub context
|
|
28
|
-
* @returns The appropriate mode for the context
|
|
29
|
-
*/
|
|
30
|
-
export function getMode(context: GitHubContext): Mode {
|
|
31
|
-
const modeName = detectMode(context);
|
|
32
|
-
console.log(
|
|
33
|
-
`Auto-detected mode: ${modeName} for event: ${context.eventName}`,
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
const mode = modes[modeName];
|
|
37
|
-
if (!mode) {
|
|
38
|
-
throw new Error(
|
|
39
|
-
`Mode '${modeName}' not found. This should not happen. Please report this issue.`,
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return mode;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Type guard to check if a string is a valid mode name.
|
|
48
|
-
* @param name The string to check
|
|
49
|
-
* @returns True if the name is a valid mode name
|
|
50
|
-
*/
|
|
51
|
-
export function isValidMode(name: string): name is ModeName {
|
|
52
|
-
const validModes = ["tag", "agent"];
|
|
53
|
-
return validModes.includes(name);
|
|
54
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Mode Registry for claude-code-action v1.0
|
|
3
|
+
*
|
|
4
|
+
* This module provides access to all available execution modes and handles
|
|
5
|
+
* automatic mode detection based on GitHub event types.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { Mode, ModeName } from "./types";
|
|
9
|
+
import { tagMode } from "./tag";
|
|
10
|
+
import { agentMode } from "./agent";
|
|
11
|
+
import type { GitHubContext } from "../github/context";
|
|
12
|
+
import { detectMode, type AutoDetectedMode } from "./detector";
|
|
13
|
+
|
|
14
|
+
export const VALID_MODES = ["tag", "agent"] as const;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* All available modes in v1.0
|
|
18
|
+
*/
|
|
19
|
+
const modes = {
|
|
20
|
+
tag: tagMode,
|
|
21
|
+
agent: agentMode,
|
|
22
|
+
} as const satisfies Record<AutoDetectedMode, Mode>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Automatically detects and retrieves the appropriate mode based on the GitHub context.
|
|
26
|
+
* In v1.0, modes are auto-selected based on event type.
|
|
27
|
+
* @param context The GitHub context
|
|
28
|
+
* @returns The appropriate mode for the context
|
|
29
|
+
*/
|
|
30
|
+
export function getMode(context: GitHubContext): Mode {
|
|
31
|
+
const modeName = detectMode(context);
|
|
32
|
+
console.log(
|
|
33
|
+
`Auto-detected mode: ${modeName} for event: ${context.eventName}`,
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
const mode = modes[modeName];
|
|
37
|
+
if (!mode) {
|
|
38
|
+
throw new Error(
|
|
39
|
+
`Mode '${modeName}' not found. This should not happen. Please report this issue.`,
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return mode;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Type guard to check if a string is a valid mode name.
|
|
48
|
+
* @param name The string to check
|
|
49
|
+
* @returns True if the name is a valid mode name
|
|
50
|
+
*/
|
|
51
|
+
export function isValidMode(name: string): name is ModeName {
|
|
52
|
+
const validModes = ["tag", "agent"];
|
|
53
|
+
return validModes.includes(name);
|
|
54
|
+
}
|