@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.
Files changed (304) hide show
  1. package/bin/_internal/81d243bd2c585b0f4821__mypyc.cp312-win_amd64.pyd +0 -0
  2. package/bin/_internal/VCRUNTIME140.dll +0 -0
  3. package/bin/_internal/VCRUNTIME140_1.dll +0 -0
  4. package/bin/_internal/_asyncio.pyd +0 -0
  5. package/bin/_internal/_bz2.pyd +0 -0
  6. package/bin/_internal/_cffi_backend.cp312-win_amd64.pyd +0 -0
  7. package/bin/_internal/_ctypes.pyd +0 -0
  8. package/bin/_internal/_decimal.pyd +0 -0
  9. package/bin/_internal/_hashlib.pyd +0 -0
  10. package/bin/_internal/_lzma.pyd +0 -0
  11. package/bin/_internal/_multiprocessing.pyd +0 -0
  12. package/bin/_internal/_overlapped.pyd +0 -0
  13. package/bin/_internal/_queue.pyd +0 -0
  14. package/bin/_internal/_socket.pyd +0 -0
  15. package/bin/_internal/_ssl.pyd +0 -0
  16. package/bin/_internal/_uuid.pyd +0 -0
  17. package/bin/_internal/_wmi.pyd +0 -0
  18. package/bin/_internal/_zoneinfo.pyd +0 -0
  19. package/bin/_internal/aiohttp/_http_parser.cp312-win_amd64.pyd +0 -0
  20. package/bin/_internal/aiohttp/_http_writer.cp312-win_amd64.pyd +0 -0
  21. package/bin/_internal/aiohttp/_websocket/mask.cp312-win_amd64.pyd +0 -0
  22. package/bin/_internal/aiohttp/_websocket/reader_c.cp312-win_amd64.pyd +0 -0
  23. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  24. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  25. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  26. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  27. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  28. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  29. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  30. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  31. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  32. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  33. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  34. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  35. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  36. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  37. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  38. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  39. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  46. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  52. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  59. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  60. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  61. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  62. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  63. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  64. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  65. package/bin/_internal/base_library.zip +0 -0
  66. package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
  67. package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
  68. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  69. package/bin/_internal/cryptography-46.0.7.dist-info/RECORD +2 -2
  70. package/bin/_internal/cryptography-46.0.7.dist-info/WHEEL +1 -2
  71. package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +1 -1
  72. package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
  73. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +32 -32
  74. package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +136 -136
  75. package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +128 -128
  76. package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +116 -116
  77. package/bin/_internal/integrations/github/claude-code-action/LICENSE +20 -20
  78. package/bin/_internal/integrations/github/claude-code-action/README.md +52 -52
  79. package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +20 -20
  80. package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +15 -15
  81. package/bin/_internal/integrations/github/claude-code-action/action.yml +294 -294
  82. package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +60 -60
  83. package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +128 -128
  84. package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +136 -136
  85. package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +21 -21
  86. package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +11 -11
  87. package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +521 -521
  88. package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +149 -149
  89. package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +54 -54
  90. package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +108 -108
  91. package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +23 -23
  92. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +12 -12
  93. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +45 -45
  94. package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +82 -82
  95. package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +82 -82
  96. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +257 -257
  97. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +300 -300
  98. package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +68 -68
  99. package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +54 -54
  100. package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +11 -11
  101. package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +17 -17
  102. package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +30 -30
  103. package/bin/_internal/integrations/github/claude-code-action/bun.lock +384 -384
  104. package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +33 -33
  105. package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +99 -99
  106. package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +345 -345
  107. package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +113 -113
  108. package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +128 -128
  109. package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +205 -205
  110. package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +261 -261
  111. package/bin/_internal/integrations/github/claude-code-action/docs/security.md +38 -38
  112. package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +146 -146
  113. package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +213 -213
  114. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +97 -97
  115. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +127 -127
  116. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +97 -97
  117. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +148 -148
  118. package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +63 -63
  119. package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +75 -75
  120. package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +74 -74
  121. package/bin/_internal/integrations/github/claude-code-action/package.json +31 -31
  122. package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +12 -12
  123. package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +45 -45
  124. package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +122 -122
  125. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +799 -799
  126. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +102 -102
  127. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +58 -58
  128. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +465 -465
  129. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +98 -98
  130. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +245 -245
  131. package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +23 -23
  132. package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +4 -4
  133. package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +117 -117
  134. package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +277 -277
  135. package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +233 -233
  136. package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +144 -144
  137. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +132 -132
  138. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +163 -163
  139. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +203 -203
  140. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +33 -33
  141. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +111 -111
  142. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +70 -70
  143. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +57 -57
  144. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +62 -62
  145. package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +108 -108
  146. package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +98 -98
  147. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +246 -246
  148. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +100 -100
  149. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +64 -64
  150. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +47 -47
  151. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +148 -148
  152. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +279 -279
  153. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +101 -101
  154. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +677 -677
  155. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +184 -184
  156. package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +201 -201
  157. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +152 -152
  158. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +22 -22
  159. package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +66 -66
  160. package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +54 -54
  161. package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +187 -187
  162. package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +100 -100
  163. package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +20 -20
  164. package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +20 -20
  165. package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +40 -40
  166. package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +30 -30
  167. package/bin/_internal/integrations/n8n/LICENSE +20 -20
  168. package/bin/_internal/integrations/n8n/README.md +297 -297
  169. package/bin/_internal/integrations/n8n/package-lock.json +2989 -2989
  170. package/bin/_internal/integrations/n8n/package.json +68 -68
  171. package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +52 -52
  172. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +34 -34
  173. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +304 -304
  174. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +37 -37
  175. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +151 -151
  176. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +252 -252
  177. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +56 -56
  178. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +29 -29
  179. package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +92 -92
  180. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +42 -42
  181. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +20 -20
  182. package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +72 -72
  183. package/bin/_internal/integrations/n8n/tsconfig.json +19 -19
  184. package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
  185. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
  186. package/bin/_internal/libcrypto-3.dll +0 -0
  187. package/bin/_internal/libffi-8.dll +0 -0
  188. package/bin/_internal/libssl-3.dll +0 -0
  189. package/bin/_internal/mcp-1.27.0.dist-info/RECORD +1 -1
  190. package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
  191. package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
  192. package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
  193. package/bin/_internal/pyexpat.pyd +0 -0
  194. package/bin/_internal/python3.dll +0 -0
  195. package/bin/_internal/python312.dll +0 -0
  196. package/bin/_internal/pywin32_system32/pythoncom312.dll +0 -0
  197. package/bin/_internal/pywin32_system32/pywintypes312.dll +0 -0
  198. package/bin/_internal/rpds/rpds.cp312-win_amd64.pyd +0 -0
  199. package/bin/_internal/select.pyd +0 -0
  200. package/bin/_internal/ucrtbase.dll +0 -0
  201. package/bin/_internal/{python3.12/lib-dynload/unicodedata.cpython-312-x86_64-linux-gnu.so → unicodedata.pyd} +0 -0
  202. package/bin/_internal/vicoa/_bin/README.md +28 -28
  203. package/bin/_internal/vicoa-1.3.10.dist-info/METADATA +311 -311
  204. package/bin/_internal/vicoa-1.3.10.dist-info/RECORD +6 -6
  205. package/bin/_internal/vicoa-1.3.10.dist-info/WHEEL +1 -1
  206. package/bin/_internal/vicoa-1.3.10.dist-info/direct_url.json +1 -1
  207. package/bin/_internal/vicoa-1.3.10.dist-info/licenses/LICENSE +201 -201
  208. package/bin/_internal/watchfiles/_rust_notify.cp312-win_amd64.pyd +0 -0
  209. package/bin/_internal/websockets/speedups.cp312-win_amd64.pyd +0 -0
  210. package/bin/_internal/websockets-16.0.dist-info/METADATA +179 -179
  211. package/bin/_internal/websockets-16.0.dist-info/RECORD +53 -53
  212. package/bin/_internal/websockets-16.0.dist-info/WHEEL +1 -3
  213. package/bin/_internal/websockets-16.0.dist-info/licenses/LICENSE +24 -24
  214. package/bin/_internal/win32/_win32sysloader.pyd +0 -0
  215. package/bin/_internal/win32/win32api.pyd +0 -0
  216. package/bin/_internal/win32/win32evtlog.pyd +0 -0
  217. package/bin/_internal/win32/win32job.pyd +0 -0
  218. package/bin/_internal/yaml/_yaml.cp312-win_amd64.pyd +0 -0
  219. package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
  220. package/bin/{vicoa → vicoa.exe} +0 -0
  221. package/package.json +3 -3
  222. package/bin/_internal/81d243bd2c585b0f4821__mypyc.cpython-312-x86_64-linux-gnu.so +0 -0
  223. package/bin/_internal/_cffi_backend.cpython-312-x86_64-linux-gnu.so +0 -0
  224. package/bin/_internal/aiohttp/_http_parser.cpython-312-x86_64-linux-gnu.so +0 -0
  225. package/bin/_internal/aiohttp/_http_writer.cpython-312-x86_64-linux-gnu.so +0 -0
  226. package/bin/_internal/aiohttp/_websocket/mask.cpython-312-x86_64-linux-gnu.so +0 -0
  227. package/bin/_internal/aiohttp/_websocket/reader_c.cpython-312-x86_64-linux-gnu.so +0 -0
  228. package/bin/_internal/caio/linux_aio.cpython-312-x86_64-linux-gnu.so +0 -0
  229. package/bin/_internal/caio/thread_aio.cpython-312-x86_64-linux-gnu.so +0 -0
  230. package/bin/_internal/charset_normalizer/cd.cpython-312-x86_64-linux-gnu.so +0 -0
  231. package/bin/_internal/charset_normalizer/md.cpython-312-x86_64-linux-gnu.so +0 -0
  232. package/bin/_internal/cryptography/hazmat/bindings/_rust.abi3.so +0 -0
  233. package/bin/_internal/frozenlist/_frozenlist.cpython-312-x86_64-linux-gnu.so +0 -0
  234. package/bin/_internal/jiter/jiter.cpython-312-x86_64-linux-gnu.so +0 -0
  235. package/bin/_internal/libbz2.so.1.0 +0 -0
  236. package/bin/_internal/libcrypto.so.3 +0 -0
  237. package/bin/_internal/libffi.so.8 +0 -0
  238. package/bin/_internal/libgcc_s.so.1 +0 -0
  239. package/bin/_internal/liblzma.so.5 +0 -0
  240. package/bin/_internal/libpython3.12.so.1.0 +0 -0
  241. package/bin/_internal/libreadline.so.8 +0 -0
  242. package/bin/_internal/libssl.so.3 +0 -0
  243. package/bin/_internal/libstdc++.so.6 +0 -0
  244. package/bin/_internal/libtinfo.so.6 +0 -0
  245. package/bin/_internal/libuuid.so.1 +0 -0
  246. package/bin/_internal/libz.so.1 +0 -0
  247. package/bin/_internal/multidict/_multidict.cpython-312-x86_64-linux-gnu.so +0 -0
  248. package/bin/_internal/propcache/_helpers_c.cpython-312-x86_64-linux-gnu.so +0 -0
  249. package/bin/_internal/pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so +0 -0
  250. package/bin/_internal/python3.12/lib-dynload/_asyncio.cpython-312-x86_64-linux-gnu.so +0 -0
  251. package/bin/_internal/python3.12/lib-dynload/_bisect.cpython-312-x86_64-linux-gnu.so +0 -0
  252. package/bin/_internal/python3.12/lib-dynload/_blake2.cpython-312-x86_64-linux-gnu.so +0 -0
  253. package/bin/_internal/python3.12/lib-dynload/_bz2.cpython-312-x86_64-linux-gnu.so +0 -0
  254. package/bin/_internal/python3.12/lib-dynload/_codecs_cn.cpython-312-x86_64-linux-gnu.so +0 -0
  255. package/bin/_internal/python3.12/lib-dynload/_codecs_hk.cpython-312-x86_64-linux-gnu.so +0 -0
  256. package/bin/_internal/python3.12/lib-dynload/_codecs_iso2022.cpython-312-x86_64-linux-gnu.so +0 -0
  257. package/bin/_internal/python3.12/lib-dynload/_codecs_jp.cpython-312-x86_64-linux-gnu.so +0 -0
  258. package/bin/_internal/python3.12/lib-dynload/_codecs_kr.cpython-312-x86_64-linux-gnu.so +0 -0
  259. package/bin/_internal/python3.12/lib-dynload/_codecs_tw.cpython-312-x86_64-linux-gnu.so +0 -0
  260. package/bin/_internal/python3.12/lib-dynload/_contextvars.cpython-312-x86_64-linux-gnu.so +0 -0
  261. package/bin/_internal/python3.12/lib-dynload/_csv.cpython-312-x86_64-linux-gnu.so +0 -0
  262. package/bin/_internal/python3.12/lib-dynload/_ctypes.cpython-312-x86_64-linux-gnu.so +0 -0
  263. package/bin/_internal/python3.12/lib-dynload/_datetime.cpython-312-x86_64-linux-gnu.so +0 -0
  264. package/bin/_internal/python3.12/lib-dynload/_decimal.cpython-312-x86_64-linux-gnu.so +0 -0
  265. package/bin/_internal/python3.12/lib-dynload/_hashlib.cpython-312-x86_64-linux-gnu.so +0 -0
  266. package/bin/_internal/python3.12/lib-dynload/_heapq.cpython-312-x86_64-linux-gnu.so +0 -0
  267. package/bin/_internal/python3.12/lib-dynload/_json.cpython-312-x86_64-linux-gnu.so +0 -0
  268. package/bin/_internal/python3.12/lib-dynload/_lzma.cpython-312-x86_64-linux-gnu.so +0 -0
  269. package/bin/_internal/python3.12/lib-dynload/_md5.cpython-312-x86_64-linux-gnu.so +0 -0
  270. package/bin/_internal/python3.12/lib-dynload/_multibytecodec.cpython-312-x86_64-linux-gnu.so +0 -0
  271. package/bin/_internal/python3.12/lib-dynload/_multiprocessing.cpython-312-x86_64-linux-gnu.so +0 -0
  272. package/bin/_internal/python3.12/lib-dynload/_opcode.cpython-312-x86_64-linux-gnu.so +0 -0
  273. package/bin/_internal/python3.12/lib-dynload/_pickle.cpython-312-x86_64-linux-gnu.so +0 -0
  274. package/bin/_internal/python3.12/lib-dynload/_posixshmem.cpython-312-x86_64-linux-gnu.so +0 -0
  275. package/bin/_internal/python3.12/lib-dynload/_posixsubprocess.cpython-312-x86_64-linux-gnu.so +0 -0
  276. package/bin/_internal/python3.12/lib-dynload/_queue.cpython-312-x86_64-linux-gnu.so +0 -0
  277. package/bin/_internal/python3.12/lib-dynload/_random.cpython-312-x86_64-linux-gnu.so +0 -0
  278. package/bin/_internal/python3.12/lib-dynload/_sha1.cpython-312-x86_64-linux-gnu.so +0 -0
  279. package/bin/_internal/python3.12/lib-dynload/_sha2.cpython-312-x86_64-linux-gnu.so +0 -0
  280. package/bin/_internal/python3.12/lib-dynload/_sha3.cpython-312-x86_64-linux-gnu.so +0 -0
  281. package/bin/_internal/python3.12/lib-dynload/_socket.cpython-312-x86_64-linux-gnu.so +0 -0
  282. package/bin/_internal/python3.12/lib-dynload/_ssl.cpython-312-x86_64-linux-gnu.so +0 -0
  283. package/bin/_internal/python3.12/lib-dynload/_statistics.cpython-312-x86_64-linux-gnu.so +0 -0
  284. package/bin/_internal/python3.12/lib-dynload/_struct.cpython-312-x86_64-linux-gnu.so +0 -0
  285. package/bin/_internal/python3.12/lib-dynload/_uuid.cpython-312-x86_64-linux-gnu.so +0 -0
  286. package/bin/_internal/python3.12/lib-dynload/_zoneinfo.cpython-312-x86_64-linux-gnu.so +0 -0
  287. package/bin/_internal/python3.12/lib-dynload/array.cpython-312-x86_64-linux-gnu.so +0 -0
  288. package/bin/_internal/python3.12/lib-dynload/binascii.cpython-312-x86_64-linux-gnu.so +0 -0
  289. package/bin/_internal/python3.12/lib-dynload/fcntl.cpython-312-x86_64-linux-gnu.so +0 -0
  290. package/bin/_internal/python3.12/lib-dynload/grp.cpython-312-x86_64-linux-gnu.so +0 -0
  291. package/bin/_internal/python3.12/lib-dynload/math.cpython-312-x86_64-linux-gnu.so +0 -0
  292. package/bin/_internal/python3.12/lib-dynload/mmap.cpython-312-x86_64-linux-gnu.so +0 -0
  293. package/bin/_internal/python3.12/lib-dynload/pyexpat.cpython-312-x86_64-linux-gnu.so +0 -0
  294. package/bin/_internal/python3.12/lib-dynload/readline.cpython-312-x86_64-linux-gnu.so +0 -0
  295. package/bin/_internal/python3.12/lib-dynload/resource.cpython-312-x86_64-linux-gnu.so +0 -0
  296. package/bin/_internal/python3.12/lib-dynload/select.cpython-312-x86_64-linux-gnu.so +0 -0
  297. package/bin/_internal/python3.12/lib-dynload/syslog.cpython-312-x86_64-linux-gnu.so +0 -0
  298. package/bin/_internal/python3.12/lib-dynload/termios.cpython-312-x86_64-linux-gnu.so +0 -0
  299. package/bin/_internal/python3.12/lib-dynload/zlib.cpython-312-x86_64-linux-gnu.so +0 -0
  300. package/bin/_internal/rpds/rpds.cpython-312-x86_64-linux-gnu.so +0 -0
  301. package/bin/_internal/watchfiles/_rust_notify.cpython-312-x86_64-linux-gnu.so +0 -0
  302. package/bin/_internal/websockets/speedups.cpython-312-x86_64-linux-gnu.so +0 -0
  303. package/bin/_internal/yaml/_yaml.cpython-312-x86_64-linux-gnu.so +0 -0
  304. 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
@@ -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"