@vicoa/cli 1.3.13-win32-x64 → 1.3.13

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 (309) hide show
  1. package/README.md +82 -0
  2. package/bin/vicoa.js +38 -0
  3. package/package.json +29 -10
  4. package/bin/_internal/81d243bd2c585b0f4821__mypyc.cp312-win_amd64.pyd +0 -0
  5. package/bin/_internal/VCRUNTIME140.dll +0 -0
  6. package/bin/_internal/VCRUNTIME140_1.dll +0 -0
  7. package/bin/_internal/_asyncio.pyd +0 -0
  8. package/bin/_internal/_bz2.pyd +0 -0
  9. package/bin/_internal/_cffi_backend.cp312-win_amd64.pyd +0 -0
  10. package/bin/_internal/_ctypes.pyd +0 -0
  11. package/bin/_internal/_decimal.pyd +0 -0
  12. package/bin/_internal/_hashlib.pyd +0 -0
  13. package/bin/_internal/_lzma.pyd +0 -0
  14. package/bin/_internal/_multiprocessing.pyd +0 -0
  15. package/bin/_internal/_overlapped.pyd +0 -0
  16. package/bin/_internal/_queue.pyd +0 -0
  17. package/bin/_internal/_socket.pyd +0 -0
  18. package/bin/_internal/_ssl.pyd +0 -0
  19. package/bin/_internal/_uuid.pyd +0 -0
  20. package/bin/_internal/_wmi.pyd +0 -0
  21. package/bin/_internal/_zoneinfo.pyd +0 -0
  22. package/bin/_internal/aiofile-3.9.0.dist-info/INSTALLER +0 -1
  23. package/bin/_internal/aiofile-3.9.0.dist-info/LICENCE +0 -195
  24. package/bin/_internal/aiofile-3.9.0.dist-info/LICENCE.md +0 -195
  25. package/bin/_internal/aiofile-3.9.0.dist-info/METADATA +0 -492
  26. package/bin/_internal/aiofile-3.9.0.dist-info/RECORD +0 -15
  27. package/bin/_internal/aiofile-3.9.0.dist-info/WHEEL +0 -4
  28. package/bin/_internal/aiohttp/_http_parser.cp312-win_amd64.pyd +0 -0
  29. package/bin/_internal/aiohttp/_http_writer.cp312-win_amd64.pyd +0 -0
  30. package/bin/_internal/aiohttp/_websocket/mask.cp312-win_amd64.pyd +0 -0
  31. package/bin/_internal/aiohttp/_websocket/reader_c.cp312-win_amd64.pyd +0 -0
  32. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  33. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  34. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  35. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  36. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  37. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  38. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  39. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  46. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  52. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  59. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  60. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  61. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  62. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  63. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  64. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  65. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  66. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  67. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  68. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  69. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  70. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  71. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  72. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  73. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  74. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +0 -1
  75. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +0 -199
  76. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +0 -55
  77. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +0 -4
  78. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +0 -21
  79. package/bin/_internal/base_library.zip +0 -0
  80. package/bin/_internal/certifi/cacert.pem +0 -4494
  81. package/bin/_internal/certifi/py.typed +0 -0
  82. package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
  83. package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
  84. package/bin/_internal/click-8.3.2.dist-info/INSTALLER +0 -1
  85. package/bin/_internal/click-8.3.2.dist-info/METADATA +0 -84
  86. package/bin/_internal/click-8.3.2.dist-info/RECORD +0 -40
  87. package/bin/_internal/click-8.3.2.dist-info/WHEEL +0 -4
  88. package/bin/_internal/click-8.3.2.dist-info/licenses/LICENSE.txt +0 -28
  89. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  90. package/bin/_internal/cryptography-46.0.7.dist-info/INSTALLER +0 -1
  91. package/bin/_internal/cryptography-46.0.7.dist-info/METADATA +0 -139
  92. package/bin/_internal/cryptography-46.0.7.dist-info/RECORD +0 -180
  93. package/bin/_internal/cryptography-46.0.7.dist-info/WHEEL +0 -4
  94. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE +0 -3
  95. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE.APACHE +0 -202
  96. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE.BSD +0 -27
  97. package/bin/_internal/email_validator-2.3.0.dist-info/INSTALLER +0 -1
  98. package/bin/_internal/email_validator-2.3.0.dist-info/METADATA +0 -466
  99. package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +0 -27
  100. package/bin/_internal/email_validator-2.3.0.dist-info/WHEEL +0 -5
  101. package/bin/_internal/email_validator-2.3.0.dist-info/entry_points.txt +0 -2
  102. package/bin/_internal/email_validator-2.3.0.dist-info/licenses/LICENSE +0 -27
  103. package/bin/_internal/email_validator-2.3.0.dist-info/top_level.txt +0 -1
  104. package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
  105. package/bin/_internal/importlib_metadata-8.7.1.dist-info/INSTALLER +0 -1
  106. package/bin/_internal/importlib_metadata-8.7.1.dist-info/METADATA +0 -133
  107. package/bin/_internal/importlib_metadata-8.7.1.dist-info/RECORD +0 -33
  108. package/bin/_internal/importlib_metadata-8.7.1.dist-info/WHEEL +0 -5
  109. package/bin/_internal/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +0 -73
  110. package/bin/_internal/importlib_metadata-8.7.1.dist-info/top_level.txt +0 -1
  111. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +0 -33
  112. package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +0 -136
  113. package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +0 -128
  114. package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +0 -116
  115. package/bin/_internal/integrations/github/claude-code-action/LICENSE +0 -21
  116. package/bin/_internal/integrations/github/claude-code-action/README.md +0 -53
  117. package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +0 -20
  118. package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +0 -15
  119. package/bin/_internal/integrations/github/claude-code-action/action.yml +0 -294
  120. package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +0 -60
  121. package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +0 -128
  122. package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +0 -136
  123. package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +0 -21
  124. package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +0 -11
  125. package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +0 -521
  126. package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +0 -149
  127. package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +0 -54
  128. package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +0 -108
  129. package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +0 -23
  130. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +0 -13
  131. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +0 -46
  132. package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +0 -82
  133. package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +0 -82
  134. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +0 -257
  135. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +0 -301
  136. package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +0 -68
  137. package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +0 -54
  138. package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +0 -12
  139. package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +0 -18
  140. package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +0 -30
  141. package/bin/_internal/integrations/github/claude-code-action/bun.lock +0 -384
  142. package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +0 -33
  143. package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +0 -99
  144. package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +0 -345
  145. package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +0 -113
  146. package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +0 -128
  147. package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +0 -205
  148. package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +0 -261
  149. package/bin/_internal/integrations/github/claude-code-action/docs/security.md +0 -38
  150. package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +0 -146
  151. package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +0 -213
  152. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +0 -97
  153. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +0 -127
  154. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +0 -97
  155. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +0 -148
  156. package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +0 -63
  157. package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +0 -75
  158. package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +0 -75
  159. package/bin/_internal/integrations/github/claude-code-action/package.json +0 -31
  160. package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +0 -13
  161. package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +0 -46
  162. package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +0 -123
  163. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +0 -799
  164. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +0 -102
  165. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +0 -58
  166. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +0 -465
  167. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +0 -98
  168. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +0 -245
  169. package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +0 -23
  170. package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +0 -4
  171. package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +0 -117
  172. package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +0 -277
  173. package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +0 -233
  174. package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +0 -144
  175. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +0 -132
  176. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +0 -163
  177. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +0 -203
  178. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +0 -33
  179. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +0 -111
  180. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +0 -70
  181. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +0 -57
  182. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +0 -62
  183. package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +0 -108
  184. package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +0 -98
  185. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +0 -246
  186. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +0 -100
  187. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +0 -64
  188. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +0 -47
  189. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +0 -148
  190. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +0 -279
  191. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +0 -101
  192. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +0 -677
  193. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +0 -184
  194. package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +0 -201
  195. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +0 -152
  196. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +0 -22
  197. package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +0 -66
  198. package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +0 -54
  199. package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +0 -187
  200. package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +0 -100
  201. package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +0 -20
  202. package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +0 -20
  203. package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +0 -40
  204. package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +0 -30
  205. package/bin/_internal/integrations/n8n/LICENSE +0 -21
  206. package/bin/_internal/integrations/n8n/README.md +0 -298
  207. package/bin/_internal/integrations/n8n/package-lock.json +0 -2989
  208. package/bin/_internal/integrations/n8n/package.json +0 -68
  209. package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +0 -52
  210. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +0 -35
  211. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +0 -304
  212. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +0 -37
  213. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +0 -151
  214. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +0 -252
  215. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +0 -56
  216. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +0 -29
  217. package/bin/_internal/integrations/n8n/src/nodes/Omnara/vicoa.png +0 -0
  218. package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +0 -93
  219. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +0 -42
  220. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +0 -20
  221. package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +0 -72
  222. package/bin/_internal/integrations/n8n/tsconfig.json +0 -20
  223. package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
  224. package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +0 -2653
  225. package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +0 -1
  226. package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +0 -170
  227. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +0 -82
  228. package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +0 -4
  229. package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +0 -2
  230. package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +0 -19
  231. package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +0 -42
  232. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +0 -56
  233. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +0 -17
  234. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +0 -57
  235. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +0 -14
  236. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +0 -37
  237. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +0 -98
  238. package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +0 -58
  239. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +0 -48
  240. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +0 -17
  241. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +0 -51
  242. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +0 -14
  243. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +0 -14
  244. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +0 -37
  245. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +0 -15
  246. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +0 -98
  247. package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +0 -172
  248. package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +0 -149
  249. package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +0 -153
  250. package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +0 -166
  251. package/bin/_internal/libcrypto-3.dll +0 -0
  252. package/bin/_internal/libffi-8.dll +0 -0
  253. package/bin/_internal/libssl-3.dll +0 -0
  254. package/bin/_internal/mcp-1.27.0.dist-info/INSTALLER +0 -1
  255. package/bin/_internal/mcp-1.27.0.dist-info/METADATA +0 -230
  256. package/bin/_internal/mcp-1.27.0.dist-info/RECORD +0 -226
  257. package/bin/_internal/mcp-1.27.0.dist-info/WHEEL +0 -4
  258. package/bin/_internal/mcp-1.27.0.dist-info/entry_points.txt +0 -2
  259. package/bin/_internal/mcp-1.27.0.dist-info/licenses/LICENSE +0 -21
  260. package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
  261. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/INSTALLER +0 -1
  262. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/METADATA +0 -45
  263. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/RECORD +0 -81
  264. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/WHEEL +0 -4
  265. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/entry_points.txt +0 -15
  266. package/bin/_internal/opentelemetry_api-1.41.0.dist-info/licenses/LICENSE +0 -201
  267. package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
  268. package/bin/_internal/pydantic-2.13.3.dist-info/INSTALLER +0 -1
  269. package/bin/_internal/pydantic-2.13.3.dist-info/METADATA +0 -1279
  270. package/bin/_internal/pydantic-2.13.3.dist-info/RECORD +0 -217
  271. package/bin/_internal/pydantic-2.13.3.dist-info/WHEEL +0 -4
  272. package/bin/_internal/pydantic-2.13.3.dist-info/licenses/LICENSE +0 -21
  273. package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
  274. package/bin/_internal/pyexpat.pyd +0 -0
  275. package/bin/_internal/python3.dll +0 -0
  276. package/bin/_internal/python312.dll +0 -0
  277. package/bin/_internal/pywin32_system32/pythoncom312.dll +0 -0
  278. package/bin/_internal/pywin32_system32/pywintypes312.dll +0 -0
  279. package/bin/_internal/rpds/rpds.cp312-win_amd64.pyd +0 -0
  280. package/bin/_internal/select.pyd +0 -0
  281. package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
  282. package/bin/_internal/ucrtbase.dll +0 -0
  283. package/bin/_internal/unicodedata.pyd +0 -0
  284. package/bin/_internal/vicoa/_bin/README.md +0 -28
  285. package/bin/_internal/vicoa-1.3.13.dist-info/INSTALLER +0 -1
  286. package/bin/_internal/vicoa-1.3.13.dist-info/METADATA +0 -311
  287. package/bin/_internal/vicoa-1.3.13.dist-info/RECORD +0 -11
  288. package/bin/_internal/vicoa-1.3.13.dist-info/REQUESTED +0 -0
  289. package/bin/_internal/vicoa-1.3.13.dist-info/WHEEL +0 -5
  290. package/bin/_internal/vicoa-1.3.13.dist-info/direct_url.json +0 -1
  291. package/bin/_internal/vicoa-1.3.13.dist-info/entry_points.txt +0 -2
  292. package/bin/_internal/vicoa-1.3.13.dist-info/licenses/LICENSE +0 -201
  293. package/bin/_internal/vicoa-1.3.13.dist-info/top_level.txt +0 -3
  294. package/bin/_internal/watchfiles/_rust_notify.cp312-win_amd64.pyd +0 -0
  295. package/bin/_internal/websockets/speedups.cp312-win_amd64.pyd +0 -0
  296. package/bin/_internal/websockets-16.0.dist-info/INSTALLER +0 -1
  297. package/bin/_internal/websockets-16.0.dist-info/METADATA +0 -179
  298. package/bin/_internal/websockets-16.0.dist-info/RECORD +0 -108
  299. package/bin/_internal/websockets-16.0.dist-info/WHEEL +0 -5
  300. package/bin/_internal/websockets-16.0.dist-info/entry_points.txt +0 -2
  301. package/bin/_internal/websockets-16.0.dist-info/licenses/LICENSE +0 -24
  302. package/bin/_internal/websockets-16.0.dist-info/top_level.txt +0 -1
  303. package/bin/_internal/win32/_win32sysloader.pyd +0 -0
  304. package/bin/_internal/win32/win32api.pyd +0 -0
  305. package/bin/_internal/win32/win32evtlog.pyd +0 -0
  306. package/bin/_internal/win32/win32job.pyd +0 -0
  307. package/bin/_internal/yaml/_yaml.cp312-win_amd64.pyd +0 -0
  308. package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
  309. package/bin/vicoa.exe +0 -0
@@ -1,257 +0,0 @@
1
- import * as core from "@actions/core";
2
- import { exec } from "child_process";
3
- import { promisify } from "util";
4
- import { unlink, writeFile, stat } from "fs/promises";
5
- import { createWriteStream } from "fs";
6
- import { spawn } from "child_process";
7
- import { parse as parseShellArgs } from "shell-quote";
8
-
9
- const execAsync = promisify(exec);
10
-
11
- const PIPE_PATH = `${process.env.RUNNER_TEMP}/claude_prompt_pipe`;
12
- const EXECUTION_FILE = `${process.env.RUNNER_TEMP}/claude-execution-output.json`;
13
- const BASE_ARGS = ["--verbose", "--output-format", "stream-json"];
14
-
15
- export type ClaudeOptions = {
16
- claudeArgs?: string;
17
- model?: string;
18
- pathToClaudeCodeExecutable?: string;
19
- allowedTools?: string;
20
- disallowedTools?: string;
21
- maxTurns?: string;
22
- mcpConfig?: string;
23
- systemPrompt?: string;
24
- appendSystemPrompt?: string;
25
- claudeEnv?: string;
26
- fallbackModel?: string;
27
- };
28
-
29
- type PreparedConfig = {
30
- claudeArgs: string[];
31
- promptPath: string;
32
- env: Record<string, string>;
33
- };
34
-
35
- export function prepareRunConfig(
36
- promptPath: string,
37
- options: ClaudeOptions,
38
- ): PreparedConfig {
39
- // Build Claude CLI arguments:
40
- // 1. Prompt flag (always first)
41
- // 2. User's claudeArgs (full control)
42
- // 3. BASE_ARGS (always last, cannot be overridden)
43
-
44
- const claudeArgs = ["-p"];
45
-
46
- // Parse and add user's custom Claude arguments
47
- if (options.claudeArgs?.trim()) {
48
- const parsed = parseShellArgs(options.claudeArgs);
49
- const customArgs = parsed.filter(
50
- (arg): arg is string => typeof arg === "string",
51
- );
52
- claudeArgs.push(...customArgs);
53
- }
54
-
55
- // BASE_ARGS are always appended last (cannot be overridden)
56
- claudeArgs.push(...BASE_ARGS);
57
-
58
- const customEnv: Record<string, string> = {};
59
-
60
- if (process.env.INPUT_ACTION_INPUTS_PRESENT) {
61
- customEnv.GITHUB_ACTION_INPUTS = process.env.INPUT_ACTION_INPUTS_PRESENT;
62
- }
63
-
64
- return {
65
- claudeArgs,
66
- promptPath,
67
- env: customEnv,
68
- };
69
- }
70
-
71
- export async function runClaude(promptPath: string, options: ClaudeOptions) {
72
- const config = prepareRunConfig(promptPath, options);
73
-
74
- // Create a named pipe
75
- try {
76
- await unlink(PIPE_PATH);
77
- } catch (e) {
78
- // Ignore if file doesn't exist
79
- }
80
-
81
- // Create the named pipe
82
- await execAsync(`mkfifo "${PIPE_PATH}"`);
83
-
84
- // Log prompt file size
85
- let promptSize = "unknown";
86
- try {
87
- const stats = await stat(config.promptPath);
88
- promptSize = stats.size.toString();
89
- } catch (e) {
90
- // Ignore error
91
- }
92
-
93
- console.log(`Prompt file size: ${promptSize} bytes`);
94
-
95
- // Log custom environment variables if any
96
- const customEnvKeys = Object.keys(config.env).filter(
97
- (key) => key !== "CLAUDE_ACTION_INPUTS_PRESENT",
98
- );
99
- if (customEnvKeys.length > 0) {
100
- console.log(`Custom environment variables: ${customEnvKeys.join(", ")}`);
101
- }
102
-
103
- // Log custom arguments if any
104
- if (options.claudeArgs && options.claudeArgs.trim() !== "") {
105
- console.log(`Custom Claude arguments: ${options.claudeArgs}`);
106
- }
107
-
108
- // Output to console
109
- console.log(`Running Claude with prompt from file: ${config.promptPath}`);
110
- console.log(`Full command: claude ${config.claudeArgs.join(" ")}`);
111
-
112
- // Start sending prompt to pipe in background
113
- const catProcess = spawn("cat", [config.promptPath], {
114
- stdio: ["ignore", "pipe", "inherit"],
115
- });
116
- const pipeStream = createWriteStream(PIPE_PATH);
117
- catProcess.stdout.pipe(pipeStream);
118
-
119
- catProcess.on("error", (error) => {
120
- console.error("Error reading prompt file:", error);
121
- pipeStream.destroy();
122
- });
123
-
124
- // Use custom executable path if provided, otherwise default to "claude"
125
- const claudeExecutable = options.pathToClaudeCodeExecutable || "claude";
126
-
127
- const claudeProcess = spawn(claudeExecutable, config.claudeArgs, {
128
- stdio: ["pipe", "pipe", "inherit"],
129
- env: {
130
- ...process.env,
131
- ...config.env,
132
- },
133
- });
134
-
135
- // Handle Claude process errors
136
- claudeProcess.on("error", (error) => {
137
- console.error("Error spawning Claude process:", error);
138
- pipeStream.destroy();
139
- });
140
-
141
- // Capture output for parsing execution metrics
142
- let output = "";
143
- claudeProcess.stdout.on("data", (data) => {
144
- const text = data.toString();
145
-
146
- // Try to parse as JSON and pretty print if it's on a single line
147
- const lines = text.split("\n");
148
- lines.forEach((line: string, index: number) => {
149
- if (line.trim() === "") return;
150
-
151
- try {
152
- // Check if this line is a JSON object
153
- const parsed = JSON.parse(line);
154
- const prettyJson = JSON.stringify(parsed, null, 2);
155
- process.stdout.write(prettyJson);
156
- if (index < lines.length - 1 || text.endsWith("\n")) {
157
- process.stdout.write("\n");
158
- }
159
- } catch (e) {
160
- // Not a JSON object, print as is
161
- process.stdout.write(line);
162
- if (index < lines.length - 1 || text.endsWith("\n")) {
163
- process.stdout.write("\n");
164
- }
165
- }
166
- });
167
-
168
- output += text;
169
- });
170
-
171
- // Handle stdout errors
172
- claudeProcess.stdout.on("error", (error) => {
173
- console.error("Error reading Claude stdout:", error);
174
- });
175
-
176
- // Pipe from named pipe to Claude
177
- const pipeProcess = spawn("cat", [PIPE_PATH]);
178
- pipeProcess.stdout.pipe(claudeProcess.stdin);
179
-
180
- // Handle pipe process errors
181
- pipeProcess.on("error", (error) => {
182
- console.error("Error reading from named pipe:", error);
183
- claudeProcess.kill("SIGTERM");
184
- });
185
-
186
- // Wait for Claude to finish
187
- const exitCode = await new Promise<number>((resolve) => {
188
- claudeProcess.on("close", (code) => {
189
- resolve(code || 0);
190
- });
191
-
192
- claudeProcess.on("error", (error) => {
193
- console.error("Claude process error:", error);
194
- resolve(1);
195
- });
196
- });
197
-
198
- // Clean up processes
199
- try {
200
- catProcess.kill("SIGTERM");
201
- } catch (e) {
202
- // Process may already be dead
203
- }
204
- try {
205
- pipeProcess.kill("SIGTERM");
206
- } catch (e) {
207
- // Process may already be dead
208
- }
209
-
210
- // Clean up pipe file
211
- try {
212
- await unlink(PIPE_PATH);
213
- } catch (e) {
214
- // Ignore errors during cleanup
215
- }
216
-
217
- // Set conclusion based on exit code
218
- if (exitCode === 0) {
219
- // Try to process the output and save execution metrics
220
- try {
221
- await writeFile("output.txt", output);
222
-
223
- // Process output.txt into JSON and save to execution file
224
- // Increase maxBuffer from Node.js default of 1MB to 10MB to handle large Claude outputs
225
- const { stdout: jsonOutput } = await execAsync("jq -s '.' output.txt", {
226
- maxBuffer: 10 * 1024 * 1024,
227
- });
228
- await writeFile(EXECUTION_FILE, jsonOutput);
229
-
230
- console.log(`Log saved to ${EXECUTION_FILE}`);
231
- } catch (e) {
232
- core.warning(`Failed to process output for execution metrics: ${e}`);
233
- }
234
-
235
- core.setOutput("conclusion", "success");
236
- core.setOutput("execution_file", EXECUTION_FILE);
237
- } else {
238
- core.setOutput("conclusion", "failure");
239
-
240
- // Still try to save execution file if we have output
241
- if (output) {
242
- try {
243
- await writeFile("output.txt", output);
244
- // Increase maxBuffer from Node.js default of 1MB to 10MB to handle large Claude outputs
245
- const { stdout: jsonOutput } = await execAsync("jq -s '.' output.txt", {
246
- maxBuffer: 10 * 1024 * 1024,
247
- });
248
- await writeFile(EXECUTION_FILE, jsonOutput);
249
- core.setOutput("execution_file", EXECUTION_FILE);
250
- } catch (e) {
251
- // Ignore errors when processing output during failure
252
- }
253
- }
254
-
255
- process.exit(exitCode);
256
- }
257
- }
@@ -1,301 +0,0 @@
1
- import * as core from "@actions/core";
2
- import { spawn } from "child_process";
3
- import { unlink, writeFile, stat, readFile } from "fs/promises";
4
- import { promisify } from "util";
5
-
6
- const EXECUTION_FILE = `${process.env.RUNNER_TEMP}/vicoa-execution-output.json`;
7
-
8
- export type VicoaOptions = {
9
- allowedTools?: string;
10
- disallowedTools?: string;
11
- maxTurns?: string;
12
- mcpConfig?: string;
13
- systemPrompt?: string;
14
- appendSystemPrompt?: string;
15
- claudeEnv?: string;
16
- fallbackModel?: string;
17
- timeoutMinutes?: string;
18
- model?: string;
19
- };
20
-
21
- type PreparedConfig = {
22
- vicoaArgs: string[];
23
- promptPath: string;
24
- env: Record<string, string>;
25
- };
26
-
27
- function parseCustomEnvVars(claudeEnv?: string): Record<string, string> {
28
- if (!claudeEnv || claudeEnv.trim() === "") {
29
- return {};
30
- }
31
-
32
- const customEnv: Record<string, string> = {};
33
-
34
- // Split by lines and parse each line as KEY: VALUE
35
- const lines = claudeEnv.split("\n");
36
-
37
- for (const line of lines) {
38
- const trimmedLine = line.trim();
39
- if (trimmedLine === "" || trimmedLine.startsWith("#")) {
40
- continue; // Skip empty lines and comments
41
- }
42
-
43
- const colonIndex = trimmedLine.indexOf(":");
44
- if (colonIndex === -1) {
45
- continue; // Skip lines without colons
46
- }
47
-
48
- const key = trimmedLine.substring(0, colonIndex).trim();
49
- const value = trimmedLine.substring(colonIndex + 1).trim();
50
-
51
- if (key) {
52
- customEnv[key] = value;
53
- }
54
- }
55
-
56
- return customEnv;
57
- }
58
-
59
- export async function prepareRunConfig(
60
- promptPath: string,
61
- options: VicoaOptions,
62
- ): Promise<PreparedConfig> {
63
- // Build vicoa headless arguments
64
- const vicoaArgs = ["headless"];
65
-
66
- // Read prompt content from file to pass as --prompt argument
67
- let promptContent = '';
68
- try {
69
- promptContent = await readFile(promptPath, 'utf8');
70
- console.log(`Read prompt from file: ${promptPath} (${promptContent.length} characters)`);
71
- } catch (e) {
72
- console.error(`Error reading prompt file: ${e}`);
73
- }
74
-
75
- // Add required vicoa arguments
76
- if (promptContent) {
77
- vicoaArgs.push("--prompt", promptContent);
78
- }
79
-
80
- // Session ID from environment or generate
81
- const sessionId = process.env.VICOA_AGENT_INSTANCE_ID || `gh-action-${Date.now()}`;
82
- vicoaArgs.push("--session-id", sessionId);
83
-
84
- // Agent name/type from environment
85
- const agentType = process.env.VICOA_AGENT_TYPE || "GitHub Action";
86
- vicoaArgs.push("--name", agentType);
87
-
88
- // Tool configurations
89
- if (options.allowedTools) {
90
- vicoaArgs.push("--allowed-tools", options.allowedTools);
91
- }
92
- if (options.disallowedTools) {
93
- vicoaArgs.push("--disallowed-tools", options.disallowedTools);
94
- }
95
-
96
- // Pass max turns as extra arg for Claude SDK within vicoa
97
- if (options.maxTurns) {
98
- const maxTurnsNum = parseInt(options.maxTurns, 10);
99
- if (isNaN(maxTurnsNum) || maxTurnsNum <= 0) {
100
- throw new Error(
101
- `maxTurns must be a positive number, got: ${options.maxTurns}`,
102
- );
103
- }
104
- // Pass as extra args for Claude SDK
105
- vicoaArgs.push("--max-turns", options.maxTurns);
106
- }
107
-
108
- // Validate timeout
109
- if (options.timeoutMinutes) {
110
- const timeoutMinutesNum = parseInt(options.timeoutMinutes, 10);
111
- if (isNaN(timeoutMinutesNum) || timeoutMinutesNum <= 0) {
112
- throw new Error(
113
- `timeoutMinutes must be a positive number, got: ${options.timeoutMinutes}`,
114
- );
115
- }
116
- }
117
-
118
- // Parse custom environment variables
119
- const customEnv = parseCustomEnvVars(options.claudeEnv);
120
-
121
- if (process.env.INPUT_ACTION_INPUTS_PRESENT) {
122
- customEnv.GITHUB_ACTION_INPUTS = process.env.INPUT_ACTION_INPUTS_PRESENT;
123
- }
124
-
125
- return {
126
- vicoaArgs,
127
- promptPath,
128
- env: customEnv,
129
- };
130
- }
131
-
132
- export async function runVicoa(promptPath: string, options: VicoaOptions) {
133
- const config = await prepareRunConfig(promptPath, options);
134
-
135
- // Log configuration for debugging
136
- console.log("==================================================");
137
- console.log("Vicoa Configuration:");
138
- console.log(`Session ID: ${process.env.VICOA_AGENT_INSTANCE_ID || 'auto-generated'}`);
139
- console.log(`Agent Type: ${process.env.VICOA_AGENT_TYPE || 'GitHub Action'}`);
140
- console.log(`API Key: ${process.env.VICOA_API_KEY ? 'Present' : 'Missing'}`);
141
- console.log("==================================================");
142
-
143
- // Get prompt size
144
- let promptSize = "unknown";
145
- try {
146
- const stats = await stat(config.promptPath);
147
- promptSize = stats.size.toString();
148
- } catch (e) {
149
- // Ignore error
150
- }
151
-
152
- console.log(`Prompt file size: ${promptSize} bytes`);
153
-
154
- // Log custom environment variables if any
155
- const customEnvKeys = Object.keys(config.env).filter(
156
- (key) => key !== "GITHUB_ACTION_INPUTS",
157
- );
158
- if (customEnvKeys.length > 0) {
159
- console.log(`Custom environment variables: ${customEnvKeys.join(", ")}`);
160
- }
161
-
162
- // Output to console
163
- console.log(`Running Vicoa with command: vicoa ${config.vicoaArgs.join(' ')}`);
164
-
165
- // Vicoa headless uses Claude Code under the hood, so we need to ensure
166
- // Claude authentication is available in the environment
167
- const vicoaEnv = {
168
- ...process.env,
169
- ...config.env,
170
- // Ensure Vicoa variables are set
171
- VICOA_API_KEY: process.env.VICOA_API_KEY,
172
- VICOA_AGENT_INSTANCE_ID: process.env.VICOA_AGENT_INSTANCE_ID,
173
- VICOA_AGENT_TYPE: process.env.VICOA_AGENT_TYPE,
174
- // Pass through Claude authentication (vicoa will use these internally)
175
- ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY,
176
- CLAUDE_CODE_OAUTH_TOKEN: process.env.CLAUDE_CODE_OAUTH_TOKEN,
177
- // Pass through cloud provider credentials if using Bedrock/Vertex
178
- CLAUDE_CODE_USE_BEDROCK: process.env.CLAUDE_CODE_USE_BEDROCK,
179
- CLAUDE_CODE_USE_VERTEX: process.env.CLAUDE_CODE_USE_VERTEX,
180
- AWS_REGION: process.env.AWS_REGION,
181
- AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
182
- AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
183
- AWS_SESSION_TOKEN: process.env.AWS_SESSION_TOKEN,
184
- ANTHROPIC_BEDROCK_BASE_URL: process.env.ANTHROPIC_BEDROCK_BASE_URL,
185
- ANTHROPIC_VERTEX_PROJECT_ID: process.env.ANTHROPIC_VERTEX_PROJECT_ID,
186
- CLOUD_ML_REGION: process.env.CLOUD_ML_REGION,
187
- GOOGLE_APPLICATION_CREDENTIALS: process.env.GOOGLE_APPLICATION_CREDENTIALS,
188
- ANTHROPIC_VERTEX_BASE_URL: process.env.ANTHROPIC_VERTEX_BASE_URL,
189
- };
190
-
191
- const vicoaProcess = spawn("vicoa", config.vicoaArgs, {
192
- stdio: ["inherit", "pipe", "inherit"],
193
- env: vicoaEnv,
194
- });
195
-
196
- // Handle Vicoa process errors
197
- vicoaProcess.on("error", (error) => {
198
- console.error("Error spawning Vicoa process:", error);
199
- console.error("Make sure vicoa is installed: pip install vicoa");
200
- });
201
-
202
- // Capture output for parsing execution metrics
203
- let output = "";
204
- vicoaProcess.stdout.on("data", (data) => {
205
- const text = data.toString();
206
-
207
- // Try to parse as JSON and pretty print if it's on a single line
208
- const lines = text.split("\n");
209
- lines.forEach((line: string, index: number) => {
210
- if (line.trim() === "") return;
211
-
212
- try {
213
- // Check if this line is a JSON object
214
- const parsed = JSON.parse(line);
215
- const prettyJson = JSON.stringify(parsed, null, 2);
216
- process.stdout.write(prettyJson);
217
- if (index < lines.length - 1 || text.endsWith("\n")) {
218
- process.stdout.write("\n");
219
- }
220
- } catch (e) {
221
- // Not a JSON object, print as is
222
- process.stdout.write(line);
223
- if (index < lines.length - 1 || text.endsWith("\n")) {
224
- process.stdout.write("\n");
225
- }
226
- }
227
- });
228
-
229
- output += text;
230
- });
231
-
232
- // Handle stdout errors
233
- vicoaProcess.stdout.on("error", (error) => {
234
- console.error("Error reading Vicoa stdout:", error);
235
- });
236
-
237
- // Wait for Vicoa to finish with timeout
238
- let timeoutMs = 1440 * 60 * 1000; // Default 24 hours
239
- if (options.timeoutMinutes) {
240
- timeoutMs = parseInt(options.timeoutMinutes, 10) * 60 * 1000;
241
- } else if (process.env.INPUT_TIMEOUT_MINUTES) {
242
- const envTimeout = parseInt(process.env.INPUT_TIMEOUT_MINUTES, 10);
243
- if (isNaN(envTimeout) || envTimeout <= 0) {
244
- throw new Error(
245
- `INPUT_TIMEOUT_MINUTES must be a positive number, got: ${process.env.INPUT_TIMEOUT_MINUTES}`,
246
- );
247
- }
248
- timeoutMs = envTimeout * 60 * 1000;
249
- }
250
-
251
- await new Promise<void>((resolve, reject) => {
252
- const timeout = setTimeout(() => {
253
- vicoaProcess.kill("SIGTERM");
254
- reject(
255
- new Error(
256
- `Command timed out after ${timeoutMs / 1000 / 60} minutes`,
257
- ),
258
- );
259
- }, timeoutMs);
260
-
261
- vicoaProcess.on("exit", (code) => {
262
- clearTimeout(timeout);
263
- if (code === 0) {
264
- resolve();
265
- } else {
266
- reject(new Error(`Vicoa exited with code ${code}`));
267
- }
268
- });
269
- });
270
-
271
- // Save output to execution file
272
- await writeFile(EXECUTION_FILE, output);
273
-
274
- // Try to extract execution metrics from output
275
- let executionMetrics = {
276
- conclusion: "success",
277
- };
278
-
279
- try {
280
- // Try to parse the output as JSON lines
281
- const lines = output.split("\n");
282
- for (const line of lines) {
283
- if (line.trim()) {
284
- try {
285
- const parsed = JSON.parse(line);
286
- if (parsed.metrics) {
287
- executionMetrics = parsed.metrics;
288
- }
289
- } catch (e) {
290
- // Not JSON, skip
291
- }
292
- }
293
- }
294
- } catch (error) {
295
- console.error("Error parsing execution metrics:", error);
296
- }
297
-
298
- // Set outputs for GitHub Actions
299
- core.setOutput("execution_file", EXECUTION_FILE);
300
- core.setOutput("conclusion", executionMetrics.conclusion);
301
- }
@@ -1,68 +0,0 @@
1
- import { $ } from "bun";
2
- import { homedir } from "os";
3
- import { readFile } from "fs/promises";
4
-
5
- export async function setupClaudeCodeSettings(
6
- settingsInput?: string,
7
- homeDir?: string,
8
- ) {
9
- const home = homeDir ?? homedir();
10
- const settingsPath = `${home}/.claude/settings.json`;
11
- console.log(`Setting up Claude settings at: ${settingsPath}`);
12
-
13
- // Ensure .claude directory exists
14
- console.log(`Creating .claude directory...`);
15
- await $`mkdir -p ${home}/.claude`.quiet();
16
-
17
- let settings: Record<string, unknown> = {};
18
- try {
19
- const existingSettings = await $`cat ${settingsPath}`.quiet().text();
20
- if (existingSettings.trim()) {
21
- settings = JSON.parse(existingSettings);
22
- console.log(
23
- `Found existing settings:`,
24
- JSON.stringify(settings, null, 2),
25
- );
26
- } else {
27
- console.log(`Settings file exists but is empty`);
28
- }
29
- } catch (e) {
30
- console.log(`No existing settings file found, creating new one`);
31
- }
32
-
33
- // Handle settings input (either file path or JSON string)
34
- if (settingsInput && settingsInput.trim()) {
35
- console.log(`Processing settings input...`);
36
- let inputSettings: Record<string, unknown> = {};
37
-
38
- try {
39
- // First try to parse as JSON
40
- inputSettings = JSON.parse(settingsInput);
41
- console.log(`Parsed settings input as JSON`);
42
- } catch (e) {
43
- // If not JSON, treat as file path
44
- console.log(
45
- `Settings input is not JSON, treating as file path: ${settingsInput}`,
46
- );
47
- try {
48
- const fileContent = await readFile(settingsInput, "utf-8");
49
- inputSettings = JSON.parse(fileContent);
50
- console.log(`Successfully read and parsed settings from file`);
51
- } catch (fileError) {
52
- console.error(`Failed to read or parse settings file: ${fileError}`);
53
- throw new Error(`Failed to process settings input: ${fileError}`);
54
- }
55
- }
56
-
57
- // Merge input settings with existing settings
58
- settings = { ...settings, ...inputSettings };
59
- console.log(`Merged settings with input settings`);
60
- }
61
-
62
- // Always set enableAllProjectMcpServers to true
63
- settings.enableAllProjectMcpServers = true;
64
- console.log(`Updated settings with enableAllProjectMcpServers: true`);
65
-
66
- await $`echo ${JSON.stringify(settings, null, 2)} > ${settingsPath}`.quiet();
67
- console.log(`Settings saved successfully`);
68
- }
@@ -1,54 +0,0 @@
1
- /**
2
- * Validates the environment variables required for running Claude Code
3
- * based on the selected provider (Anthropic API, AWS Bedrock, or Google Vertex AI)
4
- */
5
- export function validateEnvironmentVariables() {
6
- const useBedrock = process.env.CLAUDE_CODE_USE_BEDROCK === "1";
7
- const useVertex = process.env.CLAUDE_CODE_USE_VERTEX === "1";
8
- const anthropicApiKey = process.env.ANTHROPIC_API_KEY;
9
- const claudeCodeOAuthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN;
10
-
11
- const errors: string[] = [];
12
-
13
- if (useBedrock && useVertex) {
14
- errors.push(
15
- "Cannot use both Bedrock and Vertex AI simultaneously. Please set only one provider.",
16
- );
17
- }
18
-
19
- if (!useBedrock && !useVertex) {
20
- if (!anthropicApiKey && !claudeCodeOAuthToken) {
21
- errors.push(
22
- "Either ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN is required when using direct Anthropic API.",
23
- );
24
- }
25
- } else if (useBedrock) {
26
- const requiredBedrockVars = {
27
- AWS_REGION: process.env.AWS_REGION,
28
- AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
29
- AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
30
- };
31
-
32
- Object.entries(requiredBedrockVars).forEach(([key, value]) => {
33
- if (!value) {
34
- errors.push(`${key} is required when using AWS Bedrock.`);
35
- }
36
- });
37
- } else if (useVertex) {
38
- const requiredVertexVars = {
39
- ANTHROPIC_VERTEX_PROJECT_ID: process.env.ANTHROPIC_VERTEX_PROJECT_ID,
40
- CLOUD_ML_REGION: process.env.CLOUD_ML_REGION,
41
- };
42
-
43
- Object.entries(requiredVertexVars).forEach(([key, value]) => {
44
- if (!value) {
45
- errors.push(`${key} is required when using Google Vertex AI.`);
46
- }
47
- });
48
- }
49
-
50
- if (errors.length > 0) {
51
- const errorMessage = `Environment variable validation failed:\n${errors.map((e) => ` - ${e}`).join("\n")}`;
52
- throw new Error(errorMessage);
53
- }
54
- }
@@ -1,12 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Install act if not already installed
4
- if ! command -v act &> /dev/null; then
5
- echo "Installing act..."
6
- brew install act
7
- fi
8
-
9
- # Run the test workflow locally
10
- # You'll need to provide your ANTHROPIC_API_KEY
11
- echo "Running action locally with act..."
12
- act push --secret ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" -W .github/workflows/test-action.yml --container-architecture linux/amd64