@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,23 +1,23 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@anthropic-ai/claude-code-base-action",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"format": "prettier --write .",
|
|
7
|
-
"format:check": "prettier --check .",
|
|
8
|
-
"install-hooks": "bun run scripts/install-hooks.sh",
|
|
9
|
-
"test": "bun test",
|
|
10
|
-
"typecheck": "tsc --noEmit"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"@actions/core": "^1.10.1",
|
|
14
|
-
"shell-quote": "^1.8.3"
|
|
15
|
-
},
|
|
16
|
-
"devDependencies": {
|
|
17
|
-
"@types/bun": "^1.2.12",
|
|
18
|
-
"@types/node": "^20.0.0",
|
|
19
|
-
"@types/shell-quote": "^1.7.5",
|
|
20
|
-
"prettier": "3.5.3",
|
|
21
|
-
"typescript": "^5.8.3"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@anthropic-ai/claude-code-base-action",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"format": "prettier --write .",
|
|
7
|
+
"format:check": "prettier --check .",
|
|
8
|
+
"install-hooks": "bun run scripts/install-hooks.sh",
|
|
9
|
+
"test": "bun test",
|
|
10
|
+
"typecheck": "tsc --noEmit"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@actions/core": "^1.10.1",
|
|
14
|
+
"shell-quote": "^1.8.3"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/bun": "^1.2.12",
|
|
18
|
+
"@types/node": "^20.0.0",
|
|
19
|
+
"@types/shell-quote": "^1.7.5",
|
|
20
|
+
"prettier": "3.5.3",
|
|
21
|
+
"typescript": "^5.8.3"
|
|
22
|
+
}
|
|
23
|
+
}
|
package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
# Install git hooks
|
|
4
|
-
echo "Installing git hooks..."
|
|
5
|
-
|
|
6
|
-
# Make sure hooks directory exists
|
|
7
|
-
mkdir -p .git/hooks
|
|
8
|
-
|
|
9
|
-
# Install pre-push hook
|
|
10
|
-
cp scripts/pre-push .git/hooks/pre-push
|
|
11
|
-
chmod +x .git/hooks/pre-push
|
|
12
|
-
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
# Install git hooks
|
|
4
|
+
echo "Installing git hooks..."
|
|
5
|
+
|
|
6
|
+
# Make sure hooks directory exists
|
|
7
|
+
mkdir -p .git/hooks
|
|
8
|
+
|
|
9
|
+
# Install pre-push hook
|
|
10
|
+
cp scripts/pre-push .git/hooks/pre-push
|
|
11
|
+
chmod +x .git/hooks/pre-push
|
|
12
|
+
|
|
13
13
|
echo "Git hooks installed successfully!"
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
# Check if files need formatting before push
|
|
4
|
-
echo "Checking code formatting..."
|
|
5
|
-
|
|
6
|
-
# First check if any files need formatting
|
|
7
|
-
if ! bun run format:check; then
|
|
8
|
-
echo "Code formatting errors found. Running formatter..."
|
|
9
|
-
bun run format
|
|
10
|
-
|
|
11
|
-
# Check if there are any staged changes after formatting
|
|
12
|
-
if git diff --name-only --exit-code; then
|
|
13
|
-
echo "All files are now properly formatted."
|
|
14
|
-
else
|
|
15
|
-
echo ""
|
|
16
|
-
echo "ERROR: Code has been formatted but changes need to be committed!"
|
|
17
|
-
echo "Please commit the formatted files and try again."
|
|
18
|
-
echo ""
|
|
19
|
-
echo "The following files were modified:"
|
|
20
|
-
git diff --name-only
|
|
21
|
-
echo ""
|
|
22
|
-
exit 1
|
|
23
|
-
fi
|
|
24
|
-
else
|
|
25
|
-
echo "Code formatting is already correct."
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
# Run type checking
|
|
29
|
-
echo "Running type checking..."
|
|
30
|
-
if ! bun run typecheck; then
|
|
31
|
-
echo "Type checking failed. Please fix the type errors and try again."
|
|
32
|
-
exit 1
|
|
33
|
-
else
|
|
34
|
-
echo "Type checking passed."
|
|
35
|
-
fi
|
|
36
|
-
|
|
37
|
-
# Run tests
|
|
38
|
-
echo "Running tests..."
|
|
39
|
-
if ! bun run test; then
|
|
40
|
-
echo "Tests failed. Please fix the failing tests and try again."
|
|
41
|
-
exit 1
|
|
42
|
-
else
|
|
43
|
-
echo "All tests passed."
|
|
44
|
-
fi
|
|
45
|
-
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
# Check if files need formatting before push
|
|
4
|
+
echo "Checking code formatting..."
|
|
5
|
+
|
|
6
|
+
# First check if any files need formatting
|
|
7
|
+
if ! bun run format:check; then
|
|
8
|
+
echo "Code formatting errors found. Running formatter..."
|
|
9
|
+
bun run format
|
|
10
|
+
|
|
11
|
+
# Check if there are any staged changes after formatting
|
|
12
|
+
if git diff --name-only --exit-code; then
|
|
13
|
+
echo "All files are now properly formatted."
|
|
14
|
+
else
|
|
15
|
+
echo ""
|
|
16
|
+
echo "ERROR: Code has been formatted but changes need to be committed!"
|
|
17
|
+
echo "Please commit the formatted files and try again."
|
|
18
|
+
echo ""
|
|
19
|
+
echo "The following files were modified:"
|
|
20
|
+
git diff --name-only
|
|
21
|
+
echo ""
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
else
|
|
25
|
+
echo "Code formatting is already correct."
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
# Run type checking
|
|
29
|
+
echo "Running type checking..."
|
|
30
|
+
if ! bun run typecheck; then
|
|
31
|
+
echo "Type checking failed. Please fix the type errors and try again."
|
|
32
|
+
exit 1
|
|
33
|
+
else
|
|
34
|
+
echo "Type checking passed."
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
# Run tests
|
|
38
|
+
echo "Running tests..."
|
|
39
|
+
if ! bun run test; then
|
|
40
|
+
echo "Tests failed. Please fix the failing tests and try again."
|
|
41
|
+
exit 1
|
|
42
|
+
else
|
|
43
|
+
echo "All tests passed."
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
46
|
exit 0
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
import * as core from "@actions/core";
|
|
4
|
-
import { preparePrompt } from "./prepare-prompt";
|
|
5
|
-
import { runClaude } from "./run-claude";
|
|
6
|
-
import { runVicoa } from "./run-vicoa";
|
|
7
|
-
import { setupClaudeCodeSettings } from "./setup-claude-code-settings";
|
|
8
|
-
import { validateEnvironmentVariables } from "./validate-env";
|
|
9
|
-
|
|
10
|
-
async function run() {
|
|
11
|
-
try {
|
|
12
|
-
validateEnvironmentVariables();
|
|
13
|
-
|
|
14
|
-
await setupClaudeCodeSettings(
|
|
15
|
-
process.env.INPUT_SETTINGS,
|
|
16
|
-
undefined, // homeDir
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
const promptConfig = await preparePrompt({
|
|
20
|
-
prompt: process.env.INPUT_PROMPT || "",
|
|
21
|
-
promptFile: process.env.INPUT_PROMPT_FILE || "",
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
// Dynamically determine whether to use Vicoa based on:
|
|
25
|
-
// 1. VICOA_API_KEY is present (from repository_dispatch or secrets)
|
|
26
|
-
// 2. Trigger phrase contains "vicoa" (case-insensitive)
|
|
27
|
-
// This allows both @claude (regular) and @vicoa (with tracking) in same repo
|
|
28
|
-
const triggerPhrase = process.env.TRIGGER_PHRASE || "@claude";
|
|
29
|
-
const isVicoaTrigger = triggerPhrase.toLowerCase().includes("vicoa");
|
|
30
|
-
const hasVicoaKey = !!process.env.VICOA_API_KEY;
|
|
31
|
-
const isRepositoryDispatch = process.env.GITHUB_EVENT_NAME === "repository_dispatch";
|
|
32
|
-
|
|
33
|
-
// Check if @vicoa was used without API key - fall back to Claude with warning
|
|
34
|
-
if (isVicoaTrigger && !hasVicoaKey) {
|
|
35
|
-
console.warn("⚠️ WARNING: @vicoa was used but VICOA_API_KEY is not set in repository secrets.");
|
|
36
|
-
console.warn("⚠️ Falling back to standard Claude Code without session tracking.");
|
|
37
|
-
console.warn("⚠️ To enable Vicoa tracking, add VICOA_API_KEY to your repository secrets.");
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (hasVicoaKey && (isVicoaTrigger || isRepositoryDispatch)) {
|
|
41
|
-
// Use Vicoa headless for session tracking
|
|
42
|
-
console.log("✅ Using Vicoa headless for session tracking");
|
|
43
|
-
await runVicoa(promptConfig.path, {
|
|
44
|
-
allowedTools: process.env.INPUT_ALLOWED_TOOLS,
|
|
45
|
-
disallowedTools: process.env.INPUT_DISALLOWED_TOOLS,
|
|
46
|
-
maxTurns: process.env.INPUT_MAX_TURNS,
|
|
47
|
-
mcpConfig: process.env.INPUT_MCP_CONFIG,
|
|
48
|
-
systemPrompt: process.env.INPUT_SYSTEM_PROMPT,
|
|
49
|
-
appendSystemPrompt: process.env.INPUT_APPEND_SYSTEM_PROMPT,
|
|
50
|
-
claudeEnv: process.env.INPUT_CLAUDE_ENV,
|
|
51
|
-
fallbackModel: process.env.INPUT_FALLBACK_MODEL,
|
|
52
|
-
model: process.env.ANTHROPIC_MODEL,
|
|
53
|
-
timeoutMinutes: process.env.INPUT_TIMEOUT_MINUTES,
|
|
54
|
-
});
|
|
55
|
-
} else {
|
|
56
|
-
// Use standard Claude Code
|
|
57
|
-
console.log("ℹ️ Using standard Claude Code (no Vicoa tracking)");
|
|
58
|
-
await runClaude(promptConfig.path, {
|
|
59
|
-
claudeArgs: process.env.INPUT_CLAUDE_ARGS,
|
|
60
|
-
allowedTools: process.env.INPUT_ALLOWED_TOOLS,
|
|
61
|
-
disallowedTools: process.env.INPUT_DISALLOWED_TOOLS,
|
|
62
|
-
maxTurns: process.env.INPUT_MAX_TURNS,
|
|
63
|
-
mcpConfig: process.env.INPUT_MCP_CONFIG,
|
|
64
|
-
systemPrompt: process.env.INPUT_SYSTEM_PROMPT,
|
|
65
|
-
appendSystemPrompt: process.env.INPUT_APPEND_SYSTEM_PROMPT,
|
|
66
|
-
claudeEnv: process.env.INPUT_CLAUDE_ENV,
|
|
67
|
-
fallbackModel: process.env.INPUT_FALLBACK_MODEL,
|
|
68
|
-
model: process.env.ANTHROPIC_MODEL,
|
|
69
|
-
pathToClaudeCodeExecutable:
|
|
70
|
-
process.env.INPUT_PATH_TO_CLAUDE_CODE_EXECUTABLE,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
} catch (error) {
|
|
74
|
-
core.setFailed(`Action failed with error: ${error}`);
|
|
75
|
-
core.setOutput("conclusion", "failure");
|
|
76
|
-
process.exit(1);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (import.meta.main) {
|
|
81
|
-
run();
|
|
82
|
-
}
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
|
|
3
|
+
import * as core from "@actions/core";
|
|
4
|
+
import { preparePrompt } from "./prepare-prompt";
|
|
5
|
+
import { runClaude } from "./run-claude";
|
|
6
|
+
import { runVicoa } from "./run-vicoa";
|
|
7
|
+
import { setupClaudeCodeSettings } from "./setup-claude-code-settings";
|
|
8
|
+
import { validateEnvironmentVariables } from "./validate-env";
|
|
9
|
+
|
|
10
|
+
async function run() {
|
|
11
|
+
try {
|
|
12
|
+
validateEnvironmentVariables();
|
|
13
|
+
|
|
14
|
+
await setupClaudeCodeSettings(
|
|
15
|
+
process.env.INPUT_SETTINGS,
|
|
16
|
+
undefined, // homeDir
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const promptConfig = await preparePrompt({
|
|
20
|
+
prompt: process.env.INPUT_PROMPT || "",
|
|
21
|
+
promptFile: process.env.INPUT_PROMPT_FILE || "",
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// Dynamically determine whether to use Vicoa based on:
|
|
25
|
+
// 1. VICOA_API_KEY is present (from repository_dispatch or secrets)
|
|
26
|
+
// 2. Trigger phrase contains "vicoa" (case-insensitive)
|
|
27
|
+
// This allows both @claude (regular) and @vicoa (with tracking) in same repo
|
|
28
|
+
const triggerPhrase = process.env.TRIGGER_PHRASE || "@claude";
|
|
29
|
+
const isVicoaTrigger = triggerPhrase.toLowerCase().includes("vicoa");
|
|
30
|
+
const hasVicoaKey = !!process.env.VICOA_API_KEY;
|
|
31
|
+
const isRepositoryDispatch = process.env.GITHUB_EVENT_NAME === "repository_dispatch";
|
|
32
|
+
|
|
33
|
+
// Check if @vicoa was used without API key - fall back to Claude with warning
|
|
34
|
+
if (isVicoaTrigger && !hasVicoaKey) {
|
|
35
|
+
console.warn("⚠️ WARNING: @vicoa was used but VICOA_API_KEY is not set in repository secrets.");
|
|
36
|
+
console.warn("⚠️ Falling back to standard Claude Code without session tracking.");
|
|
37
|
+
console.warn("⚠️ To enable Vicoa tracking, add VICOA_API_KEY to your repository secrets.");
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (hasVicoaKey && (isVicoaTrigger || isRepositoryDispatch)) {
|
|
41
|
+
// Use Vicoa headless for session tracking
|
|
42
|
+
console.log("✅ Using Vicoa headless for session tracking");
|
|
43
|
+
await runVicoa(promptConfig.path, {
|
|
44
|
+
allowedTools: process.env.INPUT_ALLOWED_TOOLS,
|
|
45
|
+
disallowedTools: process.env.INPUT_DISALLOWED_TOOLS,
|
|
46
|
+
maxTurns: process.env.INPUT_MAX_TURNS,
|
|
47
|
+
mcpConfig: process.env.INPUT_MCP_CONFIG,
|
|
48
|
+
systemPrompt: process.env.INPUT_SYSTEM_PROMPT,
|
|
49
|
+
appendSystemPrompt: process.env.INPUT_APPEND_SYSTEM_PROMPT,
|
|
50
|
+
claudeEnv: process.env.INPUT_CLAUDE_ENV,
|
|
51
|
+
fallbackModel: process.env.INPUT_FALLBACK_MODEL,
|
|
52
|
+
model: process.env.ANTHROPIC_MODEL,
|
|
53
|
+
timeoutMinutes: process.env.INPUT_TIMEOUT_MINUTES,
|
|
54
|
+
});
|
|
55
|
+
} else {
|
|
56
|
+
// Use standard Claude Code
|
|
57
|
+
console.log("ℹ️ Using standard Claude Code (no Vicoa tracking)");
|
|
58
|
+
await runClaude(promptConfig.path, {
|
|
59
|
+
claudeArgs: process.env.INPUT_CLAUDE_ARGS,
|
|
60
|
+
allowedTools: process.env.INPUT_ALLOWED_TOOLS,
|
|
61
|
+
disallowedTools: process.env.INPUT_DISALLOWED_TOOLS,
|
|
62
|
+
maxTurns: process.env.INPUT_MAX_TURNS,
|
|
63
|
+
mcpConfig: process.env.INPUT_MCP_CONFIG,
|
|
64
|
+
systemPrompt: process.env.INPUT_SYSTEM_PROMPT,
|
|
65
|
+
appendSystemPrompt: process.env.INPUT_APPEND_SYSTEM_PROMPT,
|
|
66
|
+
claudeEnv: process.env.INPUT_CLAUDE_ENV,
|
|
67
|
+
fallbackModel: process.env.INPUT_FALLBACK_MODEL,
|
|
68
|
+
model: process.env.ANTHROPIC_MODEL,
|
|
69
|
+
pathToClaudeCodeExecutable:
|
|
70
|
+
process.env.INPUT_PATH_TO_CLAUDE_CODE_EXECUTABLE,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
} catch (error) {
|
|
74
|
+
core.setFailed(`Action failed with error: ${error}`);
|
|
75
|
+
core.setOutput("conclusion", "failure");
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (import.meta.main) {
|
|
81
|
+
run();
|
|
82
|
+
}
|
package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts
CHANGED
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
import { existsSync, statSync } from "fs";
|
|
2
|
-
import { mkdir, writeFile } from "fs/promises";
|
|
3
|
-
|
|
4
|
-
export type PreparePromptInput = {
|
|
5
|
-
prompt: string;
|
|
6
|
-
promptFile: string;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export type PreparePromptConfig = {
|
|
10
|
-
type: "file" | "inline";
|
|
11
|
-
path: string;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
async function validateAndPreparePrompt(
|
|
15
|
-
input: PreparePromptInput,
|
|
16
|
-
): Promise<PreparePromptConfig> {
|
|
17
|
-
// Validate inputs
|
|
18
|
-
if (!input.prompt && !input.promptFile) {
|
|
19
|
-
throw new Error(
|
|
20
|
-
"Neither 'prompt' nor 'prompt_file' was provided. At least one is required.",
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (input.prompt && input.promptFile) {
|
|
25
|
-
throw new Error(
|
|
26
|
-
"Both 'prompt' and 'prompt_file' were provided. Please specify only one.",
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Handle prompt file
|
|
31
|
-
if (input.promptFile) {
|
|
32
|
-
if (!existsSync(input.promptFile)) {
|
|
33
|
-
throw new Error(`Prompt file '${input.promptFile}' does not exist.`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Validate that the file is not empty
|
|
37
|
-
const stats = statSync(input.promptFile);
|
|
38
|
-
if (stats.size === 0) {
|
|
39
|
-
throw new Error(
|
|
40
|
-
"Prompt file is empty. Please provide a non-empty prompt.",
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return {
|
|
45
|
-
type: "file",
|
|
46
|
-
path: input.promptFile,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Handle inline prompt
|
|
51
|
-
if (!input.prompt || input.prompt.trim().length === 0) {
|
|
52
|
-
throw new Error("Prompt is empty. Please provide a non-empty prompt.");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const inlinePath = "/tmp/claude-action/prompt.txt";
|
|
56
|
-
return {
|
|
57
|
-
type: "inline",
|
|
58
|
-
path: inlinePath,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
async function createTemporaryPromptFile(
|
|
63
|
-
prompt: string,
|
|
64
|
-
promptPath: string,
|
|
65
|
-
): Promise<void> {
|
|
66
|
-
// Create the directory path
|
|
67
|
-
const dirPath = promptPath.substring(0, promptPath.lastIndexOf("/"));
|
|
68
|
-
await mkdir(dirPath, { recursive: true });
|
|
69
|
-
await writeFile(promptPath, prompt);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export async function preparePrompt(
|
|
73
|
-
input: PreparePromptInput,
|
|
74
|
-
): Promise<PreparePromptConfig> {
|
|
75
|
-
const config = await validateAndPreparePrompt(input);
|
|
76
|
-
|
|
77
|
-
if (config.type === "inline") {
|
|
78
|
-
await createTemporaryPromptFile(input.prompt, config.path);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return config;
|
|
82
|
-
}
|
|
1
|
+
import { existsSync, statSync } from "fs";
|
|
2
|
+
import { mkdir, writeFile } from "fs/promises";
|
|
3
|
+
|
|
4
|
+
export type PreparePromptInput = {
|
|
5
|
+
prompt: string;
|
|
6
|
+
promptFile: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type PreparePromptConfig = {
|
|
10
|
+
type: "file" | "inline";
|
|
11
|
+
path: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
async function validateAndPreparePrompt(
|
|
15
|
+
input: PreparePromptInput,
|
|
16
|
+
): Promise<PreparePromptConfig> {
|
|
17
|
+
// Validate inputs
|
|
18
|
+
if (!input.prompt && !input.promptFile) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
"Neither 'prompt' nor 'prompt_file' was provided. At least one is required.",
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (input.prompt && input.promptFile) {
|
|
25
|
+
throw new Error(
|
|
26
|
+
"Both 'prompt' and 'prompt_file' were provided. Please specify only one.",
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Handle prompt file
|
|
31
|
+
if (input.promptFile) {
|
|
32
|
+
if (!existsSync(input.promptFile)) {
|
|
33
|
+
throw new Error(`Prompt file '${input.promptFile}' does not exist.`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Validate that the file is not empty
|
|
37
|
+
const stats = statSync(input.promptFile);
|
|
38
|
+
if (stats.size === 0) {
|
|
39
|
+
throw new Error(
|
|
40
|
+
"Prompt file is empty. Please provide a non-empty prompt.",
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
type: "file",
|
|
46
|
+
path: input.promptFile,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Handle inline prompt
|
|
51
|
+
if (!input.prompt || input.prompt.trim().length === 0) {
|
|
52
|
+
throw new Error("Prompt is empty. Please provide a non-empty prompt.");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const inlinePath = "/tmp/claude-action/prompt.txt";
|
|
56
|
+
return {
|
|
57
|
+
type: "inline",
|
|
58
|
+
path: inlinePath,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async function createTemporaryPromptFile(
|
|
63
|
+
prompt: string,
|
|
64
|
+
promptPath: string,
|
|
65
|
+
): Promise<void> {
|
|
66
|
+
// Create the directory path
|
|
67
|
+
const dirPath = promptPath.substring(0, promptPath.lastIndexOf("/"));
|
|
68
|
+
await mkdir(dirPath, { recursive: true });
|
|
69
|
+
await writeFile(promptPath, prompt);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export async function preparePrompt(
|
|
73
|
+
input: PreparePromptInput,
|
|
74
|
+
): Promise<PreparePromptConfig> {
|
|
75
|
+
const config = await validateAndPreparePrompt(input);
|
|
76
|
+
|
|
77
|
+
if (config.type === "inline") {
|
|
78
|
+
await createTemporaryPromptFile(input.prompt, config.path);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return config;
|
|
82
|
+
}
|