@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,75 +1,75 @@
|
|
|
1
|
-
name: Vicoa AI Assistant
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
# Trigger via repository_dispatch (from Vicoa dashboard)
|
|
5
|
-
repository_dispatch:
|
|
6
|
-
types: [vicoa-trigger]
|
|
7
|
-
|
|
8
|
-
# Direct triggers from GitHub events (for @vicoa mentions)
|
|
9
|
-
issue_comment:
|
|
10
|
-
types: [created]
|
|
11
|
-
pull_request_review_comment:
|
|
12
|
-
types: [created]
|
|
13
|
-
|
|
14
|
-
permissions:
|
|
15
|
-
contents: write
|
|
16
|
-
issues: write
|
|
17
|
-
pull-requests: write
|
|
18
|
-
actions: write
|
|
19
|
-
id-token: write # Required for OIDC
|
|
20
|
-
|
|
21
|
-
jobs:
|
|
22
|
-
vicoa-assistant:
|
|
23
|
-
runs-on: ubuntu-latest
|
|
24
|
-
|
|
25
|
-
steps:
|
|
26
|
-
- name: Checkout repository
|
|
27
|
-
uses: actions/checkout@v4
|
|
28
|
-
with:
|
|
29
|
-
fetch-depth: 0 # Fetch all history for all branches
|
|
30
|
-
|
|
31
|
-
- name: Setup branch from payload
|
|
32
|
-
if: github.event.client_payload.branch_name
|
|
33
|
-
run: |
|
|
34
|
-
BRANCH_NAME="${{ github.event.client_payload.branch_name }}"
|
|
35
|
-
echo "Branch requested: $BRANCH_NAME"
|
|
36
|
-
|
|
37
|
-
# Check if branch exists remotely
|
|
38
|
-
if git ls-remote --heads origin "$BRANCH_NAME" | grep -q "$BRANCH_NAME"; then
|
|
39
|
-
echo "Branch exists, checking it out..."
|
|
40
|
-
git checkout "$BRANCH_NAME"
|
|
41
|
-
else
|
|
42
|
-
echo "Branch doesn't exist, creating new branch from main..."
|
|
43
|
-
# Fetch main branch first
|
|
44
|
-
git checkout main || git checkout master || git checkout $(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
|
|
45
|
-
git pull origin $(git branch --show-current)
|
|
46
|
-
# Create and checkout new branch
|
|
47
|
-
git checkout -b "$BRANCH_NAME"
|
|
48
|
-
echo "Created new branch: $BRANCH_NAME"
|
|
49
|
-
fi
|
|
50
|
-
|
|
51
|
-
- name: Run Vicoa Claude Code Action
|
|
52
|
-
uses: vicoa-ai/vicoa/src/integrations/github/claude-code-action@main
|
|
53
|
-
with:
|
|
54
|
-
# The prompt will come from repository_dispatch payload
|
|
55
|
-
# For @vicoa mentions, the action auto-detects from comments
|
|
56
|
-
prompt: ${{ github.event.client_payload.prompt }}
|
|
57
|
-
|
|
58
|
-
# Claude configuration using new v1.0 claude_args format
|
|
59
|
-
claude_args: |
|
|
60
|
-
--max-turns 30
|
|
61
|
-
--model claude-3-5-sonnet-latest
|
|
62
|
-
|
|
63
|
-
# Override trigger phrase to use @vicoa instead of @claude
|
|
64
|
-
trigger_phrase: "@vicoa"
|
|
65
|
-
|
|
66
|
-
# Authentication for Claude
|
|
67
|
-
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
68
|
-
|
|
69
|
-
env:
|
|
70
|
-
# Vicoa configuration - automatically activates Vicoa when:
|
|
71
|
-
# 1. VICOA_API_KEY is present AND
|
|
72
|
-
# 2. Either triggered by repository_dispatch OR @vicoa mention
|
|
73
|
-
VICOA_API_KEY: ${{ github.event.client_payload.vicoa_api_key || secrets.VICOA_API_KEY }}
|
|
74
|
-
VICOA_AGENT_INSTANCE_ID: ${{ github.event.client_payload.agent_instance_id || format('vicoa-{0}', github.run_id) }}
|
|
1
|
+
name: Vicoa AI Assistant
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
# Trigger via repository_dispatch (from Vicoa dashboard)
|
|
5
|
+
repository_dispatch:
|
|
6
|
+
types: [vicoa-trigger]
|
|
7
|
+
|
|
8
|
+
# Direct triggers from GitHub events (for @vicoa mentions)
|
|
9
|
+
issue_comment:
|
|
10
|
+
types: [created]
|
|
11
|
+
pull_request_review_comment:
|
|
12
|
+
types: [created]
|
|
13
|
+
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write
|
|
16
|
+
issues: write
|
|
17
|
+
pull-requests: write
|
|
18
|
+
actions: write
|
|
19
|
+
id-token: write # Required for OIDC
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
vicoa-assistant:
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- name: Checkout repository
|
|
27
|
+
uses: actions/checkout@v4
|
|
28
|
+
with:
|
|
29
|
+
fetch-depth: 0 # Fetch all history for all branches
|
|
30
|
+
|
|
31
|
+
- name: Setup branch from payload
|
|
32
|
+
if: github.event.client_payload.branch_name
|
|
33
|
+
run: |
|
|
34
|
+
BRANCH_NAME="${{ github.event.client_payload.branch_name }}"
|
|
35
|
+
echo "Branch requested: $BRANCH_NAME"
|
|
36
|
+
|
|
37
|
+
# Check if branch exists remotely
|
|
38
|
+
if git ls-remote --heads origin "$BRANCH_NAME" | grep -q "$BRANCH_NAME"; then
|
|
39
|
+
echo "Branch exists, checking it out..."
|
|
40
|
+
git checkout "$BRANCH_NAME"
|
|
41
|
+
else
|
|
42
|
+
echo "Branch doesn't exist, creating new branch from main..."
|
|
43
|
+
# Fetch main branch first
|
|
44
|
+
git checkout main || git checkout master || git checkout $(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
|
|
45
|
+
git pull origin $(git branch --show-current)
|
|
46
|
+
# Create and checkout new branch
|
|
47
|
+
git checkout -b "$BRANCH_NAME"
|
|
48
|
+
echo "Created new branch: $BRANCH_NAME"
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
- name: Run Vicoa Claude Code Action
|
|
52
|
+
uses: vicoa-ai/vicoa/src/integrations/github/claude-code-action@main
|
|
53
|
+
with:
|
|
54
|
+
# The prompt will come from repository_dispatch payload
|
|
55
|
+
# For @vicoa mentions, the action auto-detects from comments
|
|
56
|
+
prompt: ${{ github.event.client_payload.prompt }}
|
|
57
|
+
|
|
58
|
+
# Claude configuration using new v1.0 claude_args format
|
|
59
|
+
claude_args: |
|
|
60
|
+
--max-turns 30
|
|
61
|
+
--model claude-3-5-sonnet-latest
|
|
62
|
+
|
|
63
|
+
# Override trigger phrase to use @vicoa instead of @claude
|
|
64
|
+
trigger_phrase: "@vicoa"
|
|
65
|
+
|
|
66
|
+
# Authentication for Claude
|
|
67
|
+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
68
|
+
|
|
69
|
+
env:
|
|
70
|
+
# Vicoa configuration - automatically activates Vicoa when:
|
|
71
|
+
# 1. VICOA_API_KEY is present AND
|
|
72
|
+
# 2. Either triggered by repository_dispatch OR @vicoa mention
|
|
73
|
+
VICOA_API_KEY: ${{ github.event.client_payload.vicoa_api_key || secrets.VICOA_API_KEY }}
|
|
74
|
+
VICOA_AGENT_INSTANCE_ID: ${{ github.event.client_payload.agent_instance_id || format('vicoa-{0}', github.run_id) }}
|
|
75
75
|
VICOA_AGENT_TYPE: ${{ github.event.client_payload.agent_type || 'Claude Code' }}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@anthropic-ai/claude-code-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
|
-
"@actions/github": "^6.0.1",
|
|
15
|
-
"@modelcontextprotocol/sdk": "^1.11.0",
|
|
16
|
-
"@octokit/graphql": "^8.2.2",
|
|
17
|
-
"@octokit/rest": "^21.1.1",
|
|
18
|
-
"@octokit/webhooks-types": "^7.6.1",
|
|
19
|
-
"node-fetch": "^3.3.2",
|
|
20
|
-
"shell-quote": "^1.8.3",
|
|
21
|
-
"zod": "^3.24.4"
|
|
22
|
-
},
|
|
23
|
-
"devDependencies": {
|
|
24
|
-
"@types/bun": "1.2.11",
|
|
25
|
-
"@types/node": "^20.0.0",
|
|
26
|
-
"@types/node-fetch": "^2.6.12",
|
|
27
|
-
"@types/shell-quote": "^1.7.5",
|
|
28
|
-
"prettier": "3.5.3",
|
|
29
|
-
"typescript": "^5.8.3"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@anthropic-ai/claude-code-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
|
+
"@actions/github": "^6.0.1",
|
|
15
|
+
"@modelcontextprotocol/sdk": "^1.11.0",
|
|
16
|
+
"@octokit/graphql": "^8.2.2",
|
|
17
|
+
"@octokit/rest": "^21.1.1",
|
|
18
|
+
"@octokit/webhooks-types": "^7.6.1",
|
|
19
|
+
"node-fetch": "^3.3.2",
|
|
20
|
+
"shell-quote": "^1.8.3",
|
|
21
|
+
"zod": "^3.24.4"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/bun": "1.2.11",
|
|
25
|
+
"@types/node": "^20.0.0",
|
|
26
|
+
"@types/node-fetch": "^2.6.12",
|
|
27
|
+
"@types/shell-quote": "^1.7.5",
|
|
28
|
+
"prettier": "3.5.3",
|
|
29
|
+
"typescript": "^5.8.3"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -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-commit hook
|
|
10
|
-
cp scripts/pre-commit .git/hooks/pre-commit
|
|
11
|
-
chmod +x .git/hooks/pre-commit
|
|
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-commit hook
|
|
10
|
+
cp scripts/pre-commit .git/hooks/pre-commit
|
|
11
|
+
chmod +x .git/hooks/pre-commit
|
|
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
|
package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh
CHANGED
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Setup Network Restrictions with Squid Proxy
|
|
4
|
-
# This script sets up a Squid proxy to restrict network access to whitelisted domains only.
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
# Check if experimental_allowed_domains is provided
|
|
9
|
-
if [ -z "$EXPERIMENTAL_ALLOWED_DOMAINS" ]; then
|
|
10
|
-
echo "ERROR: EXPERIMENTAL_ALLOWED_DOMAINS environment variable is required"
|
|
11
|
-
exit 1
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
|
-
# Check required environment variables
|
|
15
|
-
if [ -z "$RUNNER_TEMP" ]; then
|
|
16
|
-
echo "ERROR: RUNNER_TEMP environment variable is required"
|
|
17
|
-
exit 1
|
|
18
|
-
fi
|
|
19
|
-
|
|
20
|
-
if [ -z "$GITHUB_ENV" ]; then
|
|
21
|
-
echo "ERROR: GITHUB_ENV environment variable is required"
|
|
22
|
-
exit 1
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
echo "Setting up network restrictions with Squid proxy..."
|
|
26
|
-
|
|
27
|
-
SQUID_START_TIME=$(date +%s.%N)
|
|
28
|
-
|
|
29
|
-
# Create whitelist file
|
|
30
|
-
echo "$EXPERIMENTAL_ALLOWED_DOMAINS" > $RUNNER_TEMP/whitelist.txt
|
|
31
|
-
|
|
32
|
-
# Ensure each domain has proper format
|
|
33
|
-
# If domain doesn't start with a dot and isn't an IP, add the dot for subdomain matching
|
|
34
|
-
mv $RUNNER_TEMP/whitelist.txt $RUNNER_TEMP/whitelist.txt.orig
|
|
35
|
-
while IFS= read -r domain; do
|
|
36
|
-
if [ -n "$domain" ]; then
|
|
37
|
-
# Trim whitespace
|
|
38
|
-
domain=$(echo "$domain" | xargs)
|
|
39
|
-
# If it's not empty and doesn't start with a dot, add one
|
|
40
|
-
if [[ "$domain" != .* ]] && [[ ! "$domain" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
41
|
-
echo ".$domain" >> $RUNNER_TEMP/whitelist.txt
|
|
42
|
-
else
|
|
43
|
-
echo "$domain" >> $RUNNER_TEMP/whitelist.txt
|
|
44
|
-
fi
|
|
45
|
-
fi
|
|
46
|
-
done < $RUNNER_TEMP/whitelist.txt.orig
|
|
47
|
-
|
|
48
|
-
# Create Squid config with whitelist
|
|
49
|
-
echo "http_port 3128" > $RUNNER_TEMP/squid.conf
|
|
50
|
-
echo "" >> $RUNNER_TEMP/squid.conf
|
|
51
|
-
echo "# Define ACLs" >> $RUNNER_TEMP/squid.conf
|
|
52
|
-
echo "acl whitelist dstdomain \"/etc/squid/whitelist.txt\"" >> $RUNNER_TEMP/squid.conf
|
|
53
|
-
echo "acl localnet src 127.0.0.1/32" >> $RUNNER_TEMP/squid.conf
|
|
54
|
-
echo "acl localnet src 172.17.0.0/16" >> $RUNNER_TEMP/squid.conf
|
|
55
|
-
echo "acl SSL_ports port 443" >> $RUNNER_TEMP/squid.conf
|
|
56
|
-
echo "acl Safe_ports port 80" >> $RUNNER_TEMP/squid.conf
|
|
57
|
-
echo "acl Safe_ports port 443" >> $RUNNER_TEMP/squid.conf
|
|
58
|
-
echo "acl CONNECT method CONNECT" >> $RUNNER_TEMP/squid.conf
|
|
59
|
-
echo "" >> $RUNNER_TEMP/squid.conf
|
|
60
|
-
echo "# Deny requests to certain unsafe ports" >> $RUNNER_TEMP/squid.conf
|
|
61
|
-
echo "http_access deny !Safe_ports" >> $RUNNER_TEMP/squid.conf
|
|
62
|
-
echo "" >> $RUNNER_TEMP/squid.conf
|
|
63
|
-
echo "# Only allow CONNECT to SSL ports" >> $RUNNER_TEMP/squid.conf
|
|
64
|
-
echo "http_access deny CONNECT !SSL_ports" >> $RUNNER_TEMP/squid.conf
|
|
65
|
-
echo "" >> $RUNNER_TEMP/squid.conf
|
|
66
|
-
echo "# Allow localhost" >> $RUNNER_TEMP/squid.conf
|
|
67
|
-
echo "http_access allow localhost" >> $RUNNER_TEMP/squid.conf
|
|
68
|
-
echo "" >> $RUNNER_TEMP/squid.conf
|
|
69
|
-
echo "# Allow localnet access to whitelisted domains" >> $RUNNER_TEMP/squid.conf
|
|
70
|
-
echo "http_access allow localnet whitelist" >> $RUNNER_TEMP/squid.conf
|
|
71
|
-
echo "" >> $RUNNER_TEMP/squid.conf
|
|
72
|
-
echo "# Deny everything else" >> $RUNNER_TEMP/squid.conf
|
|
73
|
-
echo "http_access deny all" >> $RUNNER_TEMP/squid.conf
|
|
74
|
-
|
|
75
|
-
echo "Starting Squid proxy..."
|
|
76
|
-
# First, remove any existing container
|
|
77
|
-
sudo docker rm -f squid-proxy 2>/dev/null || true
|
|
78
|
-
|
|
79
|
-
# Ensure whitelist file is not empty (Squid fails with empty files)
|
|
80
|
-
if [ ! -s "$RUNNER_TEMP/whitelist.txt" ]; then
|
|
81
|
-
echo "WARNING: Whitelist file is empty, adding a dummy entry"
|
|
82
|
-
echo ".example.com" >> $RUNNER_TEMP/whitelist.txt
|
|
83
|
-
fi
|
|
84
|
-
|
|
85
|
-
# Use sudo to prevent Claude from stopping the container
|
|
86
|
-
CONTAINER_ID=$(sudo docker run -d \
|
|
87
|
-
--name squid-proxy \
|
|
88
|
-
-p 127.0.0.1:3128:3128 \
|
|
89
|
-
-v $RUNNER_TEMP/squid.conf:/etc/squid/squid.conf:ro \
|
|
90
|
-
-v $RUNNER_TEMP/whitelist.txt:/etc/squid/whitelist.txt:ro \
|
|
91
|
-
ubuntu/squid:latest 2>&1) || {
|
|
92
|
-
echo "ERROR: Failed to start Squid container"
|
|
93
|
-
exit 1
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
# Wait for proxy to be ready (usually < 1 second)
|
|
97
|
-
READY=false
|
|
98
|
-
for i in {1..30}; do
|
|
99
|
-
if nc -z 127.0.0.1 3128 2>/dev/null; then
|
|
100
|
-
TOTAL_TIME=$(echo "scale=3; $(date +%s.%N) - $SQUID_START_TIME" | bc)
|
|
101
|
-
echo "Squid proxy ready in ${TOTAL_TIME}s"
|
|
102
|
-
READY=true
|
|
103
|
-
break
|
|
104
|
-
fi
|
|
105
|
-
sleep 0.1
|
|
106
|
-
done
|
|
107
|
-
|
|
108
|
-
if [ "$READY" != "true" ]; then
|
|
109
|
-
echo "ERROR: Squid proxy failed to start within 3 seconds"
|
|
110
|
-
echo "Container logs:"
|
|
111
|
-
sudo docker logs squid-proxy 2>&1 || true
|
|
112
|
-
echo "Container status:"
|
|
113
|
-
sudo docker ps -a | grep squid-proxy || true
|
|
114
|
-
exit 1
|
|
115
|
-
fi
|
|
116
|
-
|
|
117
|
-
# Set proxy environment variables
|
|
118
|
-
echo "http_proxy=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
119
|
-
echo "https_proxy=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
120
|
-
echo "HTTP_PROXY=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
121
|
-
echo "HTTPS_PROXY=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
122
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Setup Network Restrictions with Squid Proxy
|
|
4
|
+
# This script sets up a Squid proxy to restrict network access to whitelisted domains only.
|
|
5
|
+
|
|
6
|
+
set -e
|
|
7
|
+
|
|
8
|
+
# Check if experimental_allowed_domains is provided
|
|
9
|
+
if [ -z "$EXPERIMENTAL_ALLOWED_DOMAINS" ]; then
|
|
10
|
+
echo "ERROR: EXPERIMENTAL_ALLOWED_DOMAINS environment variable is required"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
# Check required environment variables
|
|
15
|
+
if [ -z "$RUNNER_TEMP" ]; then
|
|
16
|
+
echo "ERROR: RUNNER_TEMP environment variable is required"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
if [ -z "$GITHUB_ENV" ]; then
|
|
21
|
+
echo "ERROR: GITHUB_ENV environment variable is required"
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
echo "Setting up network restrictions with Squid proxy..."
|
|
26
|
+
|
|
27
|
+
SQUID_START_TIME=$(date +%s.%N)
|
|
28
|
+
|
|
29
|
+
# Create whitelist file
|
|
30
|
+
echo "$EXPERIMENTAL_ALLOWED_DOMAINS" > $RUNNER_TEMP/whitelist.txt
|
|
31
|
+
|
|
32
|
+
# Ensure each domain has proper format
|
|
33
|
+
# If domain doesn't start with a dot and isn't an IP, add the dot for subdomain matching
|
|
34
|
+
mv $RUNNER_TEMP/whitelist.txt $RUNNER_TEMP/whitelist.txt.orig
|
|
35
|
+
while IFS= read -r domain; do
|
|
36
|
+
if [ -n "$domain" ]; then
|
|
37
|
+
# Trim whitespace
|
|
38
|
+
domain=$(echo "$domain" | xargs)
|
|
39
|
+
# If it's not empty and doesn't start with a dot, add one
|
|
40
|
+
if [[ "$domain" != .* ]] && [[ ! "$domain" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
41
|
+
echo ".$domain" >> $RUNNER_TEMP/whitelist.txt
|
|
42
|
+
else
|
|
43
|
+
echo "$domain" >> $RUNNER_TEMP/whitelist.txt
|
|
44
|
+
fi
|
|
45
|
+
fi
|
|
46
|
+
done < $RUNNER_TEMP/whitelist.txt.orig
|
|
47
|
+
|
|
48
|
+
# Create Squid config with whitelist
|
|
49
|
+
echo "http_port 3128" > $RUNNER_TEMP/squid.conf
|
|
50
|
+
echo "" >> $RUNNER_TEMP/squid.conf
|
|
51
|
+
echo "# Define ACLs" >> $RUNNER_TEMP/squid.conf
|
|
52
|
+
echo "acl whitelist dstdomain \"/etc/squid/whitelist.txt\"" >> $RUNNER_TEMP/squid.conf
|
|
53
|
+
echo "acl localnet src 127.0.0.1/32" >> $RUNNER_TEMP/squid.conf
|
|
54
|
+
echo "acl localnet src 172.17.0.0/16" >> $RUNNER_TEMP/squid.conf
|
|
55
|
+
echo "acl SSL_ports port 443" >> $RUNNER_TEMP/squid.conf
|
|
56
|
+
echo "acl Safe_ports port 80" >> $RUNNER_TEMP/squid.conf
|
|
57
|
+
echo "acl Safe_ports port 443" >> $RUNNER_TEMP/squid.conf
|
|
58
|
+
echo "acl CONNECT method CONNECT" >> $RUNNER_TEMP/squid.conf
|
|
59
|
+
echo "" >> $RUNNER_TEMP/squid.conf
|
|
60
|
+
echo "# Deny requests to certain unsafe ports" >> $RUNNER_TEMP/squid.conf
|
|
61
|
+
echo "http_access deny !Safe_ports" >> $RUNNER_TEMP/squid.conf
|
|
62
|
+
echo "" >> $RUNNER_TEMP/squid.conf
|
|
63
|
+
echo "# Only allow CONNECT to SSL ports" >> $RUNNER_TEMP/squid.conf
|
|
64
|
+
echo "http_access deny CONNECT !SSL_ports" >> $RUNNER_TEMP/squid.conf
|
|
65
|
+
echo "" >> $RUNNER_TEMP/squid.conf
|
|
66
|
+
echo "# Allow localhost" >> $RUNNER_TEMP/squid.conf
|
|
67
|
+
echo "http_access allow localhost" >> $RUNNER_TEMP/squid.conf
|
|
68
|
+
echo "" >> $RUNNER_TEMP/squid.conf
|
|
69
|
+
echo "# Allow localnet access to whitelisted domains" >> $RUNNER_TEMP/squid.conf
|
|
70
|
+
echo "http_access allow localnet whitelist" >> $RUNNER_TEMP/squid.conf
|
|
71
|
+
echo "" >> $RUNNER_TEMP/squid.conf
|
|
72
|
+
echo "# Deny everything else" >> $RUNNER_TEMP/squid.conf
|
|
73
|
+
echo "http_access deny all" >> $RUNNER_TEMP/squid.conf
|
|
74
|
+
|
|
75
|
+
echo "Starting Squid proxy..."
|
|
76
|
+
# First, remove any existing container
|
|
77
|
+
sudo docker rm -f squid-proxy 2>/dev/null || true
|
|
78
|
+
|
|
79
|
+
# Ensure whitelist file is not empty (Squid fails with empty files)
|
|
80
|
+
if [ ! -s "$RUNNER_TEMP/whitelist.txt" ]; then
|
|
81
|
+
echo "WARNING: Whitelist file is empty, adding a dummy entry"
|
|
82
|
+
echo ".example.com" >> $RUNNER_TEMP/whitelist.txt
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# Use sudo to prevent Claude from stopping the container
|
|
86
|
+
CONTAINER_ID=$(sudo docker run -d \
|
|
87
|
+
--name squid-proxy \
|
|
88
|
+
-p 127.0.0.1:3128:3128 \
|
|
89
|
+
-v $RUNNER_TEMP/squid.conf:/etc/squid/squid.conf:ro \
|
|
90
|
+
-v $RUNNER_TEMP/whitelist.txt:/etc/squid/whitelist.txt:ro \
|
|
91
|
+
ubuntu/squid:latest 2>&1) || {
|
|
92
|
+
echo "ERROR: Failed to start Squid container"
|
|
93
|
+
exit 1
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
# Wait for proxy to be ready (usually < 1 second)
|
|
97
|
+
READY=false
|
|
98
|
+
for i in {1..30}; do
|
|
99
|
+
if nc -z 127.0.0.1 3128 2>/dev/null; then
|
|
100
|
+
TOTAL_TIME=$(echo "scale=3; $(date +%s.%N) - $SQUID_START_TIME" | bc)
|
|
101
|
+
echo "Squid proxy ready in ${TOTAL_TIME}s"
|
|
102
|
+
READY=true
|
|
103
|
+
break
|
|
104
|
+
fi
|
|
105
|
+
sleep 0.1
|
|
106
|
+
done
|
|
107
|
+
|
|
108
|
+
if [ "$READY" != "true" ]; then
|
|
109
|
+
echo "ERROR: Squid proxy failed to start within 3 seconds"
|
|
110
|
+
echo "Container logs:"
|
|
111
|
+
sudo docker logs squid-proxy 2>&1 || true
|
|
112
|
+
echo "Container status:"
|
|
113
|
+
sudo docker ps -a | grep squid-proxy || true
|
|
114
|
+
exit 1
|
|
115
|
+
fi
|
|
116
|
+
|
|
117
|
+
# Set proxy environment variables
|
|
118
|
+
echo "http_proxy=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
119
|
+
echo "https_proxy=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
120
|
+
echo "HTTP_PROXY=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
121
|
+
echo "HTTPS_PROXY=http://127.0.0.1:3128" >> $GITHUB_ENV
|
|
122
|
+
|
|
123
123
|
echo "Network restrictions setup completed successfully"
|