@vicoa/cli 1.3.10 → 1.3.11-linux-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 (301) hide show
  1. package/bin/_internal/81d243bd2c585b0f4821__mypyc.cpython-312-x86_64-linux-gnu.so +0 -0
  2. package/bin/_internal/_cffi_backend.cpython-312-x86_64-linux-gnu.so +0 -0
  3. package/bin/_internal/aiofile-3.9.0.dist-info/INSTALLER +1 -0
  4. package/bin/_internal/aiofile-3.9.0.dist-info/LICENCE +195 -0
  5. package/bin/_internal/aiofile-3.9.0.dist-info/LICENCE.md +195 -0
  6. package/bin/_internal/aiofile-3.9.0.dist-info/METADATA +492 -0
  7. package/bin/_internal/aiofile-3.9.0.dist-info/RECORD +15 -0
  8. package/bin/_internal/aiofile-3.9.0.dist-info/WHEEL +4 -0
  9. package/bin/_internal/aiohttp/_http_parser.cpython-312-x86_64-linux-gnu.so +0 -0
  10. package/bin/_internal/aiohttp/_http_writer.cpython-312-x86_64-linux-gnu.so +0 -0
  11. package/bin/_internal/aiohttp/_websocket/mask.cpython-312-x86_64-linux-gnu.so +0 -0
  12. package/bin/_internal/aiohttp/_websocket/reader_c.cpython-312-x86_64-linux-gnu.so +0 -0
  13. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +1 -0
  14. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +199 -0
  15. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +55 -0
  16. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +4 -0
  17. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +21 -0
  18. package/bin/_internal/base_library.zip +0 -0
  19. package/bin/_internal/caio/linux_aio.cpython-312-x86_64-linux-gnu.so +0 -0
  20. package/bin/_internal/caio/thread_aio.cpython-312-x86_64-linux-gnu.so +0 -0
  21. package/bin/_internal/certifi/cacert.pem +4494 -0
  22. package/bin/_internal/certifi/py.typed +0 -0
  23. package/bin/_internal/charset_normalizer/cd.cpython-312-x86_64-linux-gnu.so +0 -0
  24. package/bin/_internal/charset_normalizer/md.cpython-312-x86_64-linux-gnu.so +0 -0
  25. package/bin/_internal/click-8.3.2.dist-info/INSTALLER +1 -0
  26. package/bin/_internal/click-8.3.2.dist-info/METADATA +84 -0
  27. package/bin/_internal/click-8.3.2.dist-info/RECORD +40 -0
  28. package/bin/_internal/click-8.3.2.dist-info/WHEEL +4 -0
  29. package/bin/_internal/click-8.3.2.dist-info/licenses/LICENSE.txt +28 -0
  30. package/bin/_internal/cryptography/hazmat/bindings/_rust.abi3.so +0 -0
  31. package/bin/_internal/cryptography-46.0.7.dist-info/INSTALLER +1 -0
  32. package/bin/_internal/cryptography-46.0.7.dist-info/METADATA +139 -0
  33. package/bin/_internal/cryptography-46.0.7.dist-info/RECORD +180 -0
  34. package/bin/_internal/cryptography-46.0.7.dist-info/WHEEL +5 -0
  35. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE +3 -0
  36. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE.APACHE +202 -0
  37. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE.BSD +27 -0
  38. package/bin/_internal/email_validator-2.3.0.dist-info/INSTALLER +1 -0
  39. package/bin/_internal/email_validator-2.3.0.dist-info/METADATA +466 -0
  40. package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +27 -0
  41. package/bin/_internal/email_validator-2.3.0.dist-info/WHEEL +5 -0
  42. package/bin/_internal/email_validator-2.3.0.dist-info/entry_points.txt +2 -0
  43. package/bin/_internal/email_validator-2.3.0.dist-info/licenses/LICENSE +27 -0
  44. package/bin/_internal/email_validator-2.3.0.dist-info/top_level.txt +1 -0
  45. package/bin/_internal/frozenlist/_frozenlist.cpython-312-x86_64-linux-gnu.so +0 -0
  46. package/bin/_internal/importlib_metadata-8.7.1.dist-info/INSTALLER +1 -0
  47. package/bin/_internal/importlib_metadata-8.7.1.dist-info/METADATA +133 -0
  48. package/bin/_internal/importlib_metadata-8.7.1.dist-info/RECORD +33 -0
  49. package/bin/_internal/importlib_metadata-8.7.1.dist-info/WHEEL +5 -0
  50. package/bin/_internal/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +73 -0
  51. package/bin/_internal/importlib_metadata-8.7.1.dist-info/top_level.txt +1 -0
  52. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +33 -0
  53. package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +136 -0
  54. package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +128 -0
  55. package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +116 -0
  56. package/bin/_internal/integrations/github/claude-code-action/LICENSE +21 -0
  57. package/bin/_internal/integrations/github/claude-code-action/README.md +53 -0
  58. package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +20 -0
  59. package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +15 -0
  60. package/bin/_internal/integrations/github/claude-code-action/action.yml +294 -0
  61. package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +60 -0
  62. package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +128 -0
  63. package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +136 -0
  64. package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +21 -0
  65. package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +11 -0
  66. package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +521 -0
  67. package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +149 -0
  68. package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +54 -0
  69. package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +108 -0
  70. package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +23 -0
  71. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +13 -0
  72. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +46 -0
  73. package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +82 -0
  74. package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +82 -0
  75. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +257 -0
  76. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +301 -0
  77. package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +68 -0
  78. package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +54 -0
  79. package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +12 -0
  80. package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +18 -0
  81. package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +30 -0
  82. package/bin/_internal/integrations/github/claude-code-action/bun.lock +384 -0
  83. package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +33 -0
  84. package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +99 -0
  85. package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +345 -0
  86. package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +113 -0
  87. package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +128 -0
  88. package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +205 -0
  89. package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +261 -0
  90. package/bin/_internal/integrations/github/claude-code-action/docs/security.md +38 -0
  91. package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +146 -0
  92. package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +213 -0
  93. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +97 -0
  94. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +127 -0
  95. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +97 -0
  96. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +148 -0
  97. package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +63 -0
  98. package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +75 -0
  99. package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +75 -0
  100. package/bin/_internal/integrations/github/claude-code-action/package.json +31 -0
  101. package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +13 -0
  102. package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +46 -0
  103. package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +123 -0
  104. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +799 -0
  105. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +102 -0
  106. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +58 -0
  107. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +465 -0
  108. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +98 -0
  109. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +245 -0
  110. package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +23 -0
  111. package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +4 -0
  112. package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +117 -0
  113. package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +277 -0
  114. package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +233 -0
  115. package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +144 -0
  116. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +132 -0
  117. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +163 -0
  118. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +203 -0
  119. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +33 -0
  120. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +111 -0
  121. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +70 -0
  122. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +57 -0
  123. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +62 -0
  124. package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +108 -0
  125. package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +98 -0
  126. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +246 -0
  127. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +100 -0
  128. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +64 -0
  129. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +47 -0
  130. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +148 -0
  131. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +279 -0
  132. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +101 -0
  133. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +677 -0
  134. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +184 -0
  135. package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +201 -0
  136. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +152 -0
  137. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +22 -0
  138. package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +66 -0
  139. package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +54 -0
  140. package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +187 -0
  141. package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +100 -0
  142. package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +20 -0
  143. package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +20 -0
  144. package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +40 -0
  145. package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +30 -0
  146. package/bin/_internal/integrations/n8n/LICENSE +21 -0
  147. package/bin/_internal/integrations/n8n/README.md +298 -0
  148. package/bin/_internal/integrations/n8n/package-lock.json +2989 -0
  149. package/bin/_internal/integrations/n8n/package.json +68 -0
  150. package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +52 -0
  151. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +35 -0
  152. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +304 -0
  153. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +37 -0
  154. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +151 -0
  155. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +252 -0
  156. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +56 -0
  157. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +29 -0
  158. package/bin/_internal/integrations/n8n/src/nodes/Omnara/vicoa.png +0 -0
  159. package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +93 -0
  160. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +42 -0
  161. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +20 -0
  162. package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +72 -0
  163. package/bin/_internal/integrations/n8n/tsconfig.json +20 -0
  164. package/bin/_internal/jiter/jiter.cpython-312-x86_64-linux-gnu.so +0 -0
  165. package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +2653 -0
  166. package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +1 -0
  167. package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +170 -0
  168. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +82 -0
  169. package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +4 -0
  170. package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +2 -0
  171. package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +19 -0
  172. package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
  173. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
  174. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
  175. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
  176. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
  177. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
  178. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
  179. package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
  180. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
  181. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
  182. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
  183. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
  184. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
  185. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
  186. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
  187. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
  188. package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
  189. package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
  190. package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
  191. package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
  192. package/bin/_internal/libbz2.so.1.0 +0 -0
  193. package/bin/_internal/libcrypto.so.3 +0 -0
  194. package/bin/_internal/libffi.so.8 +0 -0
  195. package/bin/_internal/libgcc_s.so.1 +0 -0
  196. package/bin/_internal/liblzma.so.5 +0 -0
  197. package/bin/_internal/libpython3.12.so.1.0 +0 -0
  198. package/bin/_internal/libreadline.so.8 +0 -0
  199. package/bin/_internal/libssl.so.3 +0 -0
  200. package/bin/_internal/libstdc++.so.6 +0 -0
  201. package/bin/_internal/libtinfo.so.6 +0 -0
  202. package/bin/_internal/libuuid.so.1 +0 -0
  203. package/bin/_internal/libz.so.1 +0 -0
  204. package/bin/_internal/mcp-1.27.0.dist-info/INSTALLER +1 -0
  205. package/bin/_internal/mcp-1.27.0.dist-info/METADATA +230 -0
  206. package/bin/_internal/mcp-1.27.0.dist-info/RECORD +226 -0
  207. package/bin/_internal/mcp-1.27.0.dist-info/WHEEL +4 -0
  208. package/bin/_internal/mcp-1.27.0.dist-info/entry_points.txt +2 -0
  209. package/bin/_internal/mcp-1.27.0.dist-info/licenses/LICENSE +21 -0
  210. package/bin/_internal/multidict/_multidict.cpython-312-x86_64-linux-gnu.so +0 -0
  211. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/INSTALLER +1 -0
  212. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/METADATA +45 -0
  213. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/RECORD +81 -0
  214. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/WHEEL +4 -0
  215. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/entry_points.txt +15 -0
  216. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/licenses/LICENSE +201 -0
  217. package/bin/_internal/propcache/_helpers_c.cpython-312-x86_64-linux-gnu.so +0 -0
  218. package/bin/_internal/pydantic-2.13.2.dist-info/INSTALLER +1 -0
  219. package/bin/_internal/pydantic-2.13.2.dist-info/METADATA +1269 -0
  220. package/bin/_internal/pydantic-2.13.2.dist-info/RECORD +217 -0
  221. package/bin/_internal/pydantic-2.13.2.dist-info/WHEEL +4 -0
  222. package/bin/_internal/pydantic-2.13.2.dist-info/licenses/LICENSE +21 -0
  223. package/bin/_internal/pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so +0 -0
  224. package/bin/_internal/python3.12/lib-dynload/_asyncio.cpython-312-x86_64-linux-gnu.so +0 -0
  225. package/bin/_internal/python3.12/lib-dynload/_bisect.cpython-312-x86_64-linux-gnu.so +0 -0
  226. package/bin/_internal/python3.12/lib-dynload/_blake2.cpython-312-x86_64-linux-gnu.so +0 -0
  227. package/bin/_internal/python3.12/lib-dynload/_bz2.cpython-312-x86_64-linux-gnu.so +0 -0
  228. package/bin/_internal/python3.12/lib-dynload/_codecs_cn.cpython-312-x86_64-linux-gnu.so +0 -0
  229. package/bin/_internal/python3.12/lib-dynload/_codecs_hk.cpython-312-x86_64-linux-gnu.so +0 -0
  230. package/bin/_internal/python3.12/lib-dynload/_codecs_iso2022.cpython-312-x86_64-linux-gnu.so +0 -0
  231. package/bin/_internal/python3.12/lib-dynload/_codecs_jp.cpython-312-x86_64-linux-gnu.so +0 -0
  232. package/bin/_internal/python3.12/lib-dynload/_codecs_kr.cpython-312-x86_64-linux-gnu.so +0 -0
  233. package/bin/_internal/python3.12/lib-dynload/_codecs_tw.cpython-312-x86_64-linux-gnu.so +0 -0
  234. package/bin/_internal/python3.12/lib-dynload/_contextvars.cpython-312-x86_64-linux-gnu.so +0 -0
  235. package/bin/_internal/python3.12/lib-dynload/_csv.cpython-312-x86_64-linux-gnu.so +0 -0
  236. package/bin/_internal/python3.12/lib-dynload/_ctypes.cpython-312-x86_64-linux-gnu.so +0 -0
  237. package/bin/_internal/python3.12/lib-dynload/_datetime.cpython-312-x86_64-linux-gnu.so +0 -0
  238. package/bin/_internal/python3.12/lib-dynload/_decimal.cpython-312-x86_64-linux-gnu.so +0 -0
  239. package/bin/_internal/python3.12/lib-dynload/_hashlib.cpython-312-x86_64-linux-gnu.so +0 -0
  240. package/bin/_internal/python3.12/lib-dynload/_heapq.cpython-312-x86_64-linux-gnu.so +0 -0
  241. package/bin/_internal/python3.12/lib-dynload/_json.cpython-312-x86_64-linux-gnu.so +0 -0
  242. package/bin/_internal/python3.12/lib-dynload/_lzma.cpython-312-x86_64-linux-gnu.so +0 -0
  243. package/bin/_internal/python3.12/lib-dynload/_md5.cpython-312-x86_64-linux-gnu.so +0 -0
  244. package/bin/_internal/python3.12/lib-dynload/_multibytecodec.cpython-312-x86_64-linux-gnu.so +0 -0
  245. package/bin/_internal/python3.12/lib-dynload/_multiprocessing.cpython-312-x86_64-linux-gnu.so +0 -0
  246. package/bin/_internal/python3.12/lib-dynload/_opcode.cpython-312-x86_64-linux-gnu.so +0 -0
  247. package/bin/_internal/python3.12/lib-dynload/_pickle.cpython-312-x86_64-linux-gnu.so +0 -0
  248. package/bin/_internal/python3.12/lib-dynload/_posixshmem.cpython-312-x86_64-linux-gnu.so +0 -0
  249. package/bin/_internal/python3.12/lib-dynload/_posixsubprocess.cpython-312-x86_64-linux-gnu.so +0 -0
  250. package/bin/_internal/python3.12/lib-dynload/_queue.cpython-312-x86_64-linux-gnu.so +0 -0
  251. package/bin/_internal/python3.12/lib-dynload/_random.cpython-312-x86_64-linux-gnu.so +0 -0
  252. package/bin/_internal/python3.12/lib-dynload/_sha1.cpython-312-x86_64-linux-gnu.so +0 -0
  253. package/bin/_internal/python3.12/lib-dynload/_sha2.cpython-312-x86_64-linux-gnu.so +0 -0
  254. package/bin/_internal/python3.12/lib-dynload/_sha3.cpython-312-x86_64-linux-gnu.so +0 -0
  255. package/bin/_internal/python3.12/lib-dynload/_socket.cpython-312-x86_64-linux-gnu.so +0 -0
  256. package/bin/_internal/python3.12/lib-dynload/_ssl.cpython-312-x86_64-linux-gnu.so +0 -0
  257. package/bin/_internal/python3.12/lib-dynload/_statistics.cpython-312-x86_64-linux-gnu.so +0 -0
  258. package/bin/_internal/python3.12/lib-dynload/_struct.cpython-312-x86_64-linux-gnu.so +0 -0
  259. package/bin/_internal/python3.12/lib-dynload/_uuid.cpython-312-x86_64-linux-gnu.so +0 -0
  260. package/bin/_internal/python3.12/lib-dynload/_zoneinfo.cpython-312-x86_64-linux-gnu.so +0 -0
  261. package/bin/_internal/python3.12/lib-dynload/array.cpython-312-x86_64-linux-gnu.so +0 -0
  262. package/bin/_internal/python3.12/lib-dynload/binascii.cpython-312-x86_64-linux-gnu.so +0 -0
  263. package/bin/_internal/python3.12/lib-dynload/fcntl.cpython-312-x86_64-linux-gnu.so +0 -0
  264. package/bin/_internal/python3.12/lib-dynload/grp.cpython-312-x86_64-linux-gnu.so +0 -0
  265. package/bin/_internal/python3.12/lib-dynload/math.cpython-312-x86_64-linux-gnu.so +0 -0
  266. package/bin/_internal/python3.12/lib-dynload/mmap.cpython-312-x86_64-linux-gnu.so +0 -0
  267. package/bin/_internal/python3.12/lib-dynload/pyexpat.cpython-312-x86_64-linux-gnu.so +0 -0
  268. package/bin/_internal/python3.12/lib-dynload/readline.cpython-312-x86_64-linux-gnu.so +0 -0
  269. package/bin/_internal/python3.12/lib-dynload/resource.cpython-312-x86_64-linux-gnu.so +0 -0
  270. package/bin/_internal/python3.12/lib-dynload/select.cpython-312-x86_64-linux-gnu.so +0 -0
  271. package/bin/_internal/python3.12/lib-dynload/syslog.cpython-312-x86_64-linux-gnu.so +0 -0
  272. package/bin/_internal/python3.12/lib-dynload/termios.cpython-312-x86_64-linux-gnu.so +0 -0
  273. package/bin/_internal/python3.12/lib-dynload/unicodedata.cpython-312-x86_64-linux-gnu.so +0 -0
  274. package/bin/_internal/python3.12/lib-dynload/zlib.cpython-312-x86_64-linux-gnu.so +0 -0
  275. package/bin/_internal/rpds/rpds.cpython-312-x86_64-linux-gnu.so +0 -0
  276. package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +2 -0
  277. package/bin/_internal/vicoa/_bin/README.md +28 -0
  278. package/bin/_internal/vicoa-1.3.10.dist-info/INSTALLER +1 -0
  279. package/bin/_internal/vicoa-1.3.10.dist-info/METADATA +311 -0
  280. package/bin/_internal/vicoa-1.3.10.dist-info/RECORD +11 -0
  281. package/bin/_internal/vicoa-1.3.10.dist-info/REQUESTED +0 -0
  282. package/bin/_internal/vicoa-1.3.10.dist-info/WHEEL +5 -0
  283. package/bin/_internal/vicoa-1.3.10.dist-info/direct_url.json +1 -0
  284. package/bin/_internal/vicoa-1.3.10.dist-info/entry_points.txt +2 -0
  285. package/bin/_internal/vicoa-1.3.10.dist-info/licenses/LICENSE +201 -0
  286. package/bin/_internal/vicoa-1.3.10.dist-info/top_level.txt +3 -0
  287. package/bin/_internal/watchfiles/_rust_notify.cpython-312-x86_64-linux-gnu.so +0 -0
  288. package/bin/_internal/websockets/speedups.cpython-312-x86_64-linux-gnu.so +0 -0
  289. package/bin/_internal/websockets-16.0.dist-info/INSTALLER +1 -0
  290. package/bin/_internal/websockets-16.0.dist-info/METADATA +179 -0
  291. package/bin/_internal/websockets-16.0.dist-info/RECORD +108 -0
  292. package/bin/_internal/websockets-16.0.dist-info/WHEEL +7 -0
  293. package/bin/_internal/websockets-16.0.dist-info/entry_points.txt +2 -0
  294. package/bin/_internal/websockets-16.0.dist-info/licenses/LICENSE +24 -0
  295. package/bin/_internal/websockets-16.0.dist-info/top_level.txt +1 -0
  296. package/bin/_internal/yaml/_yaml.cpython-312-x86_64-linux-gnu.so +0 -0
  297. package/bin/_internal/yarl/_quoting_c.cpython-312-x86_64-linux-gnu.so +0 -0
  298. package/bin/vicoa +0 -0
  299. package/package.json +10 -16
  300. package/README.md +0 -82
  301. package/bin/vicoa.js +0 -38
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Anthropic, PBC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,53 @@
1
+ # Vicoa GitHub Integration
2
+
3
+ This integration allows you to trigger AI agents from GitHub issues, PRs, and the Vicoa dashboard to automatically respond to comments and perform code tasks.
4
+
5
+ ## Quick Setup Guide
6
+
7
+ ### Prerequisites
8
+
9
+ 1. **GitHub Personal Access Token (PAT)**
10
+ - Go to GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
11
+ - Click "Generate new token (classic)"
12
+ - Select scopes: `repo` (full control of private repositories)
13
+ - Save the token securely
14
+
15
+ 2. **Vicoa API Key**
16
+ - Get your API key from the [Vicoa dashboard](https://vicoa.ai)
17
+ - You'll need this for webhook configuration
18
+
19
+ 3. **Anthropic API Key**
20
+ - Sign up at [Anthropic](https://console.anthropic.com)
21
+ - Generate an API key from your account settings
22
+
23
+ ### Step 1: Install the Claude Code GitHub App
24
+
25
+ Visit [github.com/apps/claude-code](https://github.com/apps/claude-code) and install the app on your repository or organization.
26
+
27
+ ### Step 2: Add the Workflow to Your Repository
28
+
29
+ 1. Create `.github/workflows/vicoa.yml` in your repository
30
+ 2. Copy the workflow from [src/integrations/github/claude-code-action/examples/vicoa.yml](examples/vicoa.yml)
31
+ 3. Commit and push the file
32
+
33
+ ### Step 3: Configure Repository Secrets
34
+
35
+ Add these secrets to your repository (Settings → Secrets and variables → Actions):
36
+
37
+ - `ANTHROPIC_API_KEY`: Your Anthropic API key
38
+
39
+ ### Step 4: Set Up Webhook in Vicoa Dashboard
40
+
41
+ 1. Go to the Vicoa dashboard
42
+ 2. Create a new agent any name, and then assign it with type "GitHub Webhook"
43
+ 3. Fill in the configuration:
44
+ - **Repository**: `YOUR_ORG/YOUR_REPO`
45
+ - **PAT Token**: Your GitHub Personal Access Token
46
+ - **Event Type**: `vicoa-trigger`
47
+
48
+ ### Step 5: Launch Your Agent
49
+
50
+ From the Vicoa dashboard, you can now:
51
+ 1. Click "Launch" or "+" on your configured agent
52
+ 2. Enter a prompt for the AI to execute
53
+ 3. The agent will create a branch, make changes, and optionally create a PR if you ask it to
@@ -0,0 +1,20 @@
1
+ # Claude Code GitHub Action Roadmap
2
+
3
+ Thank you for trying out the beta of our GitHub Action! This document outlines our path to `v1.0`. Items are not necessarily in priority order.
4
+
5
+ ## Path to 1.0
6
+
7
+ - ~**Ability to see GitHub Action CI results** - This will enable Claude to look at CI failures and make updates to PRs to fix test failures, lint errors, and the like.~
8
+ - **Cross-repo support** - Enable Claude to work across multiple repositories in a single session
9
+ - **Ability to modify workflow files** - Let Claude update GitHub Actions workflows and other CI configuration files
10
+ - **Support for workflow_dispatch and repository_dispatch events** - Dispatch Claude on events triggered via API from other workflows or from other services
11
+ - **Ability to disable commit signing** - Option to turn off GPG signing for environments where it's not required. This will enable Claude to use normal `git` bash commands for committing. This will likely become the default behavior once added.
12
+ - **Better code review behavior** - Support inline comments on specific lines, provide higher quality reviews with more actionable feedback
13
+ - ~**Support triggering @claude from bot users** - Allow automation and bot accounts to invoke Claude~
14
+ - **Customizable base prompts** - Full control over Claude's initial context with template variables like `$PR_COMMENTS`, `$PR_FILES`, etc. Users can replace our default prompt entirely while still accessing key contextual data
15
+
16
+ ---
17
+
18
+ **Note:** This roadmap represents our current vision for reaching `v1.0` and is subject to change based on user feedback and development priorities.
19
+
20
+ We welcome feedback on these planned features! If you're interested in contributing to any of these features, please open an issue to discuss implementation details with us. We're also open to suggestions for new features not listed here.
@@ -0,0 +1,15 @@
1
+ # Security Policy
2
+
3
+ Thank you for helping us keep this action and the systems they interact with secure.
4
+
5
+ ## Reporting Security Issues
6
+
7
+ This repository is maintained by [Anthropic](https://www.anthropic.com/).
8
+
9
+ The security of our systems and user data is Anthropic’s top priority. We appreciate the work of security researchers acting in good faith in identifying and reporting potential vulnerabilities.
10
+
11
+ Our security program is managed on HackerOne and we ask that any validated vulnerability in this functionality be reported through their [submission form](https://hackerone.com/anthropic-vdp/reports/new?type=team&report_type=vulnerability).
12
+
13
+ ## Vulnerability Disclosure Program
14
+
15
+ Our Vulnerability Program Guidelines are defined on our [HackerOne program page](https://hackerone.com/anthropic-vdp).
@@ -0,0 +1,294 @@
1
+ name: "Claude Code Action v1.0"
2
+ description: "Flexible GitHub automation platform with Claude. Auto-detects mode based on event type: PR reviews, @claude mentions, or custom automation."
3
+ branding:
4
+ icon: "at-sign"
5
+ color: "orange"
6
+
7
+ inputs:
8
+ trigger_phrase:
9
+ description: "The trigger phrase to look for in comments or issue body"
10
+ required: false
11
+ default: "@claude"
12
+ assignee_trigger:
13
+ description: "The assignee username that triggers the action (e.g. @claude)"
14
+ required: false
15
+ label_trigger:
16
+ description: "The label that triggers the action (e.g. claude)"
17
+ required: false
18
+ default: "claude"
19
+ base_branch:
20
+ description: "The branch to use as the base/source when creating new branches (defaults to repository default branch)"
21
+ required: false
22
+ branch_prefix:
23
+ description: "The prefix to use for Claude branches (defaults to 'claude/', use 'claude-' for dash format)"
24
+ required: false
25
+ default: "claude/"
26
+ allowed_bots:
27
+ description: "Comma-separated list of allowed bot usernames, or '*' to allow all bots. Empty string (default) allows no bots."
28
+ required: false
29
+ default: ""
30
+
31
+ # Claude Code configuration
32
+ prompt:
33
+ description: "Instructions for Claude. Can be a direct prompt or custom template."
34
+ required: false
35
+ default: ""
36
+ settings:
37
+ description: "Claude Code settings as JSON string or path to settings JSON file"
38
+ required: false
39
+ default: ""
40
+
41
+ # Auth configuration
42
+ anthropic_api_key:
43
+ description: "Anthropic API key (required for direct API, not needed for Bedrock/Vertex)"
44
+ required: false
45
+ claude_code_oauth_token:
46
+ description: "Claude Code OAuth token (alternative to anthropic_api_key)"
47
+ required: false
48
+ github_token:
49
+ description: "GitHub token with repo and pull request permissions (optional if using GitHub App)"
50
+ required: false
51
+ use_bedrock:
52
+ description: "Use Amazon Bedrock with OIDC authentication instead of direct Anthropic API"
53
+ required: false
54
+ default: "false"
55
+ use_vertex:
56
+ description: "Use Google Vertex AI with OIDC authentication instead of direct Anthropic API"
57
+ required: false
58
+ default: "false"
59
+
60
+ claude_args:
61
+ description: "Additional arguments to pass directly to Claude CLI"
62
+ required: false
63
+ default: ""
64
+ additional_permissions:
65
+ description: "Additional GitHub permissions to request (e.g., 'actions: read')"
66
+ required: false
67
+ default: ""
68
+ use_sticky_comment:
69
+ description: "Use just one comment to deliver issue/PR comments"
70
+ required: false
71
+ default: "false"
72
+ use_commit_signing:
73
+ description: "Enable commit signing using GitHub's commit signature verification. When false, Claude uses standard git commands"
74
+ required: false
75
+ default: "false"
76
+ experimental_allowed_domains:
77
+ description: "Restrict network access to these domains only (newline-separated). If not set, no restrictions are applied. Provider domains are auto-detected."
78
+ required: false
79
+ default: ""
80
+ path_to_claude_code_executable:
81
+ description: "Optional path to a custom Claude Code executable. If provided, skips automatic installation and uses this executable instead. WARNING: Using an older version may cause problems if the action begins taking advantage of new Claude Code features. This input is typically not needed unless you're debugging something specific or have unique needs in your environment."
82
+ required: false
83
+ default: ""
84
+ path_to_bun_executable:
85
+ description: "Optional path to a custom Bun executable. If provided, skips automatic Bun installation and uses this executable instead. WARNING: Using an incompatible version may cause problems if the action requires specific Bun features. This input is typically not needed unless you're debugging something specific or have unique needs in your environment."
86
+ required: false
87
+ default: ""
88
+
89
+ outputs:
90
+ execution_file:
91
+ description: "Path to the Claude Code execution output file"
92
+ value: ${{ steps.claude-code.outputs.execution_file }}
93
+ branch_name:
94
+ description: "The branch created by Claude Code for this execution"
95
+ value: ${{ steps.prepare.outputs.CLAUDE_BRANCH }}
96
+ github_token:
97
+ description: "The GitHub token used by the action (Claude App token if available)"
98
+ value: ${{ steps.prepare.outputs.github_token }}
99
+
100
+ runs:
101
+ using: "composite"
102
+ steps:
103
+ - name: Install Bun
104
+ if: inputs.path_to_bun_executable == ''
105
+ uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # https://github.com/oven-sh/setup-bun/releases/tag/v2.0.2
106
+ with:
107
+ bun-version: 1.2.11
108
+
109
+ - name: Setup Custom Bun Path
110
+ if: inputs.path_to_bun_executable != ''
111
+ shell: bash
112
+ run: |
113
+ echo "Using custom Bun executable: ${{ inputs.path_to_bun_executable }}"
114
+ # Add the directory containing the custom executable to PATH
115
+ BUN_DIR=$(dirname "${{ inputs.path_to_bun_executable }}")
116
+ echo "$BUN_DIR" >> "$GITHUB_PATH"
117
+
118
+ - name: Install Dependencies
119
+ shell: bash
120
+ run: |
121
+ cd ${GITHUB_ACTION_PATH}
122
+ bun install
123
+
124
+ - name: Prepare action
125
+ id: prepare
126
+ shell: bash
127
+ run: |
128
+ bun run ${GITHUB_ACTION_PATH}/src/entrypoints/prepare.ts
129
+ env:
130
+ MODE: ${{ inputs.mode }}
131
+ PROMPT: ${{ inputs.prompt }}
132
+ TRIGGER_PHRASE: ${{ inputs.trigger_phrase }}
133
+ ASSIGNEE_TRIGGER: ${{ inputs.assignee_trigger }}
134
+ LABEL_TRIGGER: ${{ inputs.label_trigger }}
135
+ BASE_BRANCH: ${{ inputs.base_branch }}
136
+ BRANCH_PREFIX: ${{ inputs.branch_prefix }}
137
+ OVERRIDE_GITHUB_TOKEN: ${{ inputs.github_token }}
138
+ ALLOWED_BOTS: ${{ inputs.allowed_bots }}
139
+ GITHUB_RUN_ID: ${{ github.run_id }}
140
+ USE_STICKY_COMMENT: ${{ inputs.use_sticky_comment }}
141
+ DEFAULT_WORKFLOW_TOKEN: ${{ github.token }}
142
+ USE_COMMIT_SIGNING: ${{ inputs.use_commit_signing }}
143
+ ADDITIONAL_PERMISSIONS: ${{ inputs.additional_permissions }}
144
+ CLAUDE_ARGS: ${{ inputs.claude_args }}
145
+ ALL_INPUTS: ${{ toJson(inputs) }}
146
+
147
+ - name: Install Base Action Dependencies
148
+ if: steps.prepare.outputs.contains_trigger == 'true'
149
+ shell: bash
150
+ run: |
151
+ echo "Installing base-action dependencies..."
152
+ cd ${GITHUB_ACTION_PATH}/base-action
153
+ bun install
154
+ echo "Base-action dependencies installed"
155
+ cd -
156
+
157
+ # Install Claude Code if no custom executable is provided
158
+ if [ -z "${{ inputs.path_to_claude_code_executable }}" ]; then
159
+ echo "Installing Claude Code..."
160
+ curl -fsSL https://claude.ai/install.sh | bash -s 1.0.93
161
+ echo "$HOME/.local/bin" >> "$GITHUB_PATH"
162
+ else
163
+ echo "Using custom Claude Code executable: ${{ inputs.path_to_claude_code_executable }}"
164
+ # Add the directory containing the custom executable to PATH
165
+ CLAUDE_DIR=$(dirname "${{ inputs.path_to_claude_code_executable }}")
166
+ echo "$CLAUDE_DIR" >> "$GITHUB_PATH"
167
+ fi
168
+
169
+ # Install Vicoa if VICOA_API_KEY is set
170
+ if [ -n "${VICOA_API_KEY}" ]; then
171
+ echo "Vicoa API key detected, installing Vicoa package..."
172
+ python3 -m pip install --upgrade pip
173
+ pip install vicoa
174
+ echo "Vicoa package installed"
175
+ fi
176
+
177
+ - name: Setup Network Restrictions
178
+ if: steps.prepare.outputs.contains_trigger == 'true' && inputs.experimental_allowed_domains != ''
179
+ shell: bash
180
+ run: |
181
+ chmod +x ${GITHUB_ACTION_PATH}/scripts/setup-network-restrictions.sh
182
+ ${GITHUB_ACTION_PATH}/scripts/setup-network-restrictions.sh
183
+ env:
184
+ EXPERIMENTAL_ALLOWED_DOMAINS: ${{ inputs.experimental_allowed_domains }}
185
+
186
+ - name: Run Claude Code
187
+ id: claude-code
188
+ if: steps.prepare.outputs.contains_trigger == 'true'
189
+ shell: bash
190
+ run: |
191
+
192
+ # Run the base-action
193
+ bun run ${GITHUB_ACTION_PATH}/base-action/src/index.ts
194
+ env:
195
+ # Base-action inputs
196
+ CLAUDE_CODE_ACTION: "1"
197
+ INPUT_PROMPT_FILE: ${{ runner.temp }}/claude-prompts/claude-prompt.txt
198
+ INPUT_SETTINGS: ${{ inputs.settings }}
199
+ INPUT_CLAUDE_ARGS: ${{ steps.prepare.outputs.claude_args }}
200
+ INPUT_EXPERIMENTAL_SLASH_COMMANDS_DIR: ${{ github.action_path }}/slash-commands
201
+ INPUT_ACTION_INPUTS_PRESENT: ${{ steps.prepare.outputs.action_inputs_present }}
202
+ INPUT_PATH_TO_CLAUDE_CODE_EXECUTABLE: ${{ inputs.path_to_claude_code_executable }}
203
+ INPUT_PATH_TO_BUN_EXECUTABLE: ${{ inputs.path_to_bun_executable }}
204
+
205
+ # Model configuration
206
+ GITHUB_TOKEN: ${{ steps.prepare.outputs.GITHUB_TOKEN }}
207
+ NODE_VERSION: ${{ env.NODE_VERSION }}
208
+ DETAILED_PERMISSION_MESSAGES: "1"
209
+
210
+ # Provider configuration
211
+ ANTHROPIC_API_KEY: ${{ inputs.anthropic_api_key }}
212
+ CLAUDE_CODE_OAUTH_TOKEN: ${{ inputs.claude_code_oauth_token }}
213
+ ANTHROPIC_BASE_URL: ${{ env.ANTHROPIC_BASE_URL }}
214
+ CLAUDE_CODE_USE_BEDROCK: ${{ inputs.use_bedrock == 'true' && '1' || '' }}
215
+ CLAUDE_CODE_USE_VERTEX: ${{ inputs.use_vertex == 'true' && '1' || '' }}
216
+
217
+ # AWS configuration
218
+ AWS_REGION: ${{ env.AWS_REGION }}
219
+ AWS_ACCESS_KEY_ID: ${{ env.AWS_ACCESS_KEY_ID }}
220
+ AWS_SECRET_ACCESS_KEY: ${{ env.AWS_SECRET_ACCESS_KEY }}
221
+ AWS_SESSION_TOKEN: ${{ env.AWS_SESSION_TOKEN }}
222
+ ANTHROPIC_BEDROCK_BASE_URL: ${{ env.ANTHROPIC_BEDROCK_BASE_URL || (env.AWS_REGION && format('https://bedrock-runtime.{0}.amazonaws.com', env.AWS_REGION)) }}
223
+
224
+ # GCP configuration
225
+ ANTHROPIC_VERTEX_PROJECT_ID: ${{ env.ANTHROPIC_VERTEX_PROJECT_ID }}
226
+ CLOUD_ML_REGION: ${{ env.CLOUD_ML_REGION }}
227
+ GOOGLE_APPLICATION_CREDENTIALS: ${{ env.GOOGLE_APPLICATION_CREDENTIALS }}
228
+ ANTHROPIC_VERTEX_BASE_URL: ${{ env.ANTHROPIC_VERTEX_BASE_URL }}
229
+
230
+ # Model-specific regions for Vertex
231
+ VERTEX_REGION_CLAUDE_3_5_HAIKU: ${{ env.VERTEX_REGION_CLAUDE_3_5_HAIKU }}
232
+ VERTEX_REGION_CLAUDE_3_5_SONNET: ${{ env.VERTEX_REGION_CLAUDE_3_5_SONNET }}
233
+ VERTEX_REGION_CLAUDE_3_7_SONNET: ${{ env.VERTEX_REGION_CLAUDE_3_7_SONNET }}
234
+
235
+ # Vicoa configuration (dynamically enabled when API key present)
236
+ VICOA_API_KEY: ${{ env.VICOA_API_KEY }}
237
+ VICOA_AGENT_INSTANCE_ID: ${{ env.VICOA_AGENT_INSTANCE_ID }}
238
+ VICOA_AGENT_TYPE: ${{ env.VICOA_AGENT_TYPE }}
239
+
240
+ # Pass context for dynamic Vicoa detection
241
+ TRIGGER_PHRASE: ${{ inputs.trigger_phrase }}
242
+ GITHUB_EVENT_NAME: ${{ github.event_name }}
243
+
244
+ - name: Update comment with job link
245
+ if: steps.prepare.outputs.contains_trigger == 'true' && steps.prepare.outputs.claude_comment_id && always()
246
+ shell: bash
247
+ run: |
248
+ bun run ${GITHUB_ACTION_PATH}/src/entrypoints/update-comment-link.ts
249
+ env:
250
+ REPOSITORY: ${{ github.repository }}
251
+ PR_NUMBER: ${{ github.event.issue.number || github.event.pull_request.number }}
252
+ CLAUDE_COMMENT_ID: ${{ steps.prepare.outputs.claude_comment_id }}
253
+ GITHUB_RUN_ID: ${{ github.run_id }}
254
+ GITHUB_TOKEN: ${{ steps.prepare.outputs.GITHUB_TOKEN }}
255
+ GITHUB_EVENT_NAME: ${{ github.event_name }}
256
+ TRIGGER_COMMENT_ID: ${{ github.event.comment.id }}
257
+ CLAUDE_BRANCH: ${{ steps.prepare.outputs.CLAUDE_BRANCH }}
258
+ IS_PR: ${{ github.event.issue.pull_request != null || github.event_name == 'pull_request_review_comment' }}
259
+ BASE_BRANCH: ${{ steps.prepare.outputs.BASE_BRANCH }}
260
+ CLAUDE_SUCCESS: ${{ steps.claude-code.outputs.conclusion == 'success' }}
261
+ OUTPUT_FILE: ${{ steps.claude-code.outputs.execution_file || '' }}
262
+ TRIGGER_USERNAME: ${{ github.event.comment.user.login || github.event.issue.user.login || github.event.pull_request.user.login || github.event.sender.login || github.triggering_actor || github.actor || '' }}
263
+ PREPARE_SUCCESS: ${{ steps.prepare.outcome == 'success' }}
264
+ PREPARE_ERROR: ${{ steps.prepare.outputs.prepare_error || '' }}
265
+ USE_STICKY_COMMENT: ${{ inputs.use_sticky_comment }}
266
+ USE_COMMIT_SIGNING: ${{ inputs.use_commit_signing }}
267
+
268
+ - name: Display Claude Code Report
269
+ if: steps.prepare.outputs.contains_trigger == 'true' && steps.claude-code.outputs.execution_file != ''
270
+ shell: bash
271
+ run: |
272
+ # Try to format the turns, but if it fails, dump the raw JSON
273
+ if bun run ${{ github.action_path }}/src/entrypoints/format-turns.ts "${{ steps.claude-code.outputs.execution_file }}" >> $GITHUB_STEP_SUMMARY 2>/dev/null; then
274
+ echo "Successfully formatted Claude Code report"
275
+ else
276
+ echo "## Claude Code Report (Raw Output)" >> $GITHUB_STEP_SUMMARY
277
+ echo "" >> $GITHUB_STEP_SUMMARY
278
+ echo "Failed to format output (please report). Here's the raw JSON:" >> $GITHUB_STEP_SUMMARY
279
+ echo "" >> $GITHUB_STEP_SUMMARY
280
+ echo '```json' >> $GITHUB_STEP_SUMMARY
281
+ cat "${{ steps.claude-code.outputs.execution_file }}" >> $GITHUB_STEP_SUMMARY
282
+ echo '```' >> $GITHUB_STEP_SUMMARY
283
+ fi
284
+
285
+ - name: Revoke app token
286
+ if: always() && inputs.github_token == '' && steps.prepare.outputs.skipped_due_to_workflow_validation_mismatch != 'true'
287
+ shell: bash
288
+ run: |
289
+ curl -L \
290
+ -X DELETE \
291
+ -H "Accept: application/vnd.github+json" \
292
+ -H "Authorization: Bearer ${{ steps.prepare.outputs.GITHUB_TOKEN }}" \
293
+ -H "X-GitHub-Api-Version: 2022-11-28" \
294
+ ${GITHUB_API_URL:-https://api.github.com}/installation/token
@@ -0,0 +1,60 @@
1
+ # CLAUDE.md
2
+
3
+ ## Common Commands
4
+
5
+ ### Development Commands
6
+
7
+ - Build/Type check: `bun run typecheck`
8
+ - Format code: `bun run format`
9
+ - Check formatting: `bun run format:check`
10
+ - Run tests: `bun test`
11
+ - Install dependencies: `bun install`
12
+
13
+ ### Action Testing
14
+
15
+ - Test action locally: `./test-local.sh`
16
+ - Test specific file: `bun test test/prepare-prompt.test.ts`
17
+
18
+ ## Architecture Overview
19
+
20
+ This is a GitHub Action that allows running Claude Code within GitHub workflows. The action consists of:
21
+
22
+ ### Core Components
23
+
24
+ 1. **Action Definition** (`action.yml`): Defines inputs, outputs, and the composite action steps
25
+ 2. **Prompt Preparation** (`src/index.ts`): Runs Claude Code with specified arguments
26
+
27
+ ### Key Design Patterns
28
+
29
+ - Uses Bun runtime for development and execution
30
+ - Named pipes for IPC between prompt input and Claude process
31
+ - JSON streaming output format for execution logs
32
+ - Composite action pattern to orchestrate multiple steps
33
+ - Provider-agnostic design supporting Anthropic API, AWS Bedrock, and Google Vertex AI
34
+
35
+ ## Provider Authentication
36
+
37
+ 1. **Anthropic API** (default): Requires API key via `anthropic_api_key` input
38
+ 2. **AWS Bedrock**: Uses OIDC authentication when `use_bedrock: true`
39
+ 3. **Google Vertex AI**: Uses OIDC authentication when `use_vertex: true`
40
+
41
+ ## Testing Strategy
42
+
43
+ ### Local Testing
44
+
45
+ - Use `act` tool to run GitHub Actions workflows locally
46
+ - `test-local.sh` script automates local testing setup
47
+ - Requires `ANTHROPIC_API_KEY` environment variable
48
+
49
+ ### Test Structure
50
+
51
+ - Unit tests for configuration logic
52
+ - Integration tests for prompt preparation
53
+ - Full workflow tests in `.github/workflows/test-action.yml`
54
+
55
+ ## Important Technical Details
56
+
57
+ - Uses `mkfifo` to create named pipes for prompt input
58
+ - Outputs execution logs as JSON to `/tmp/claude-execution-output.json`
59
+ - Timeout enforcement via `timeout` command wrapper
60
+ - Strict TypeScript configuration with Bun-specific settings
@@ -0,0 +1,128 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our Standards
16
+
17
+ Examples of behavior that contributes to a positive environment for our
18
+ community include:
19
+
20
+ - Demonstrating empathy and kindness toward other people
21
+ - Being respectful of differing opinions, viewpoints, and experiences
22
+ - Giving and gracefully accepting constructive feedback
23
+ - Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ - Focusing on what is best not just for us as individuals, but for the
26
+ overall community
27
+
28
+ Examples of unacceptable behavior include:
29
+
30
+ - The use of sexualized language or imagery, and sexual attention or
31
+ advances of any kind
32
+ - Trolling, insulting or derogatory comments, and personal or political attacks
33
+ - Public or private harassment
34
+ - Publishing others' private information, such as a physical or email
35
+ address, without their explicit permission
36
+ - Other conduct which could reasonably be considered inappropriate in a
37
+ professional setting
38
+
39
+ ## Enforcement Responsibilities
40
+
41
+ Community leaders are responsible for clarifying and enforcing our standards of
42
+ acceptable behavior and will take appropriate and fair corrective action in
43
+ response to any behavior that they deem inappropriate, threatening, offensive,
44
+ or harmful.
45
+
46
+ Community leaders have the right and responsibility to remove, edit, or reject
47
+ comments, commits, code, wiki edits, issues, and other contributions that are
48
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
49
+ decisions when appropriate.
50
+
51
+ ## Scope
52
+
53
+ This Code of Conduct applies within all community spaces, and also applies when
54
+ an individual is officially representing the community in public spaces.
55
+ Examples of representing our community include using an official e-mail address,
56
+ posting via an official social media account, or acting as an appointed
57
+ representative at an online or offline event.
58
+
59
+ ## Enforcement
60
+
61
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
+ reported to the community leaders responsible for enforcement at
63
+ claude-code-action-coc@anthropic.com.
64
+ All complaints will be reviewed and investigated promptly and fairly.
65
+
66
+ All community leaders are obligated to respect the privacy and security of the
67
+ reporter of any incident.
68
+
69
+ ## Enforcement Guidelines
70
+
71
+ Community leaders will follow these Community Impact Guidelines in determining
72
+ the consequences for any action they deem in violation of this Code of Conduct:
73
+
74
+ ### 1. Correction
75
+
76
+ **Community Impact**: Use of inappropriate language or other behavior deemed
77
+ unprofessional or unwelcome in the community.
78
+
79
+ **Consequence**: A private, written warning from community leaders, providing
80
+ clarity around the nature of the violation and an explanation of why the
81
+ behavior was inappropriate. A public apology may be requested.
82
+
83
+ ### 2. Warning
84
+
85
+ **Community Impact**: A violation through a single incident or series
86
+ of actions.
87
+
88
+ **Consequence**: A warning with consequences for continued behavior. No
89
+ interaction with the people involved, including unsolicited interaction with
90
+ those enforcing the Code of Conduct, for a specified period of time. This
91
+ includes avoiding interactions in community spaces as well as external channels
92
+ like social media. Violating these terms may lead to a temporary or
93
+ permanent ban.
94
+
95
+ ### 3. Temporary Ban
96
+
97
+ **Community Impact**: A serious violation of community standards, including
98
+ sustained inappropriate behavior.
99
+
100
+ **Consequence**: A temporary ban from any sort of interaction or public
101
+ communication with the community for a specified period of time. No public or
102
+ private interaction with the people involved, including unsolicited interaction
103
+ with those enforcing the Code of Conduct, is allowed during this period.
104
+ Violating these terms may lead to a permanent ban.
105
+
106
+ ### 4. Permanent Ban
107
+
108
+ **Community Impact**: Demonstrating a pattern of violation of community
109
+ standards, including sustained inappropriate behavior, harassment of an
110
+ individual, or aggression toward or disparagement of classes of individuals.
111
+
112
+ **Consequence**: A permanent ban from any sort of public interaction within
113
+ the community.
114
+
115
+ ## Attribution
116
+
117
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
+ version 2.0, available at
119
+ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120
+
121
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct
122
+ enforcement ladder](https://github.com/mozilla/diversity).
123
+
124
+ [homepage]: https://www.contributor-covenant.org
125
+
126
+ For answers to common questions about this code of conduct, see the FAQ at
127
+ https://www.contributor-covenant.org/faq. Translations are available at
128
+ https://www.contributor-covenant.org/translations.