@vicoa/cli 1.3.21-win32-x64 → 1.3.21

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 (250) 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/aiohttp/_http_parser.cp312-win_amd64.pyd +0 -0
  23. package/bin/_internal/aiohttp/_http_writer.cp312-win_amd64.pyd +0 -0
  24. package/bin/_internal/aiohttp/_websocket/mask.cp312-win_amd64.pyd +0 -0
  25. package/bin/_internal/aiohttp/_websocket/reader_c.cp312-win_amd64.pyd +0 -0
  26. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  27. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  28. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  29. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  30. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  31. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  32. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  33. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  34. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  35. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  36. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  37. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  38. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  39. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  46. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  52. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  59. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  60. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  61. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  62. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  63. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  64. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  65. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  66. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  67. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  68. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +0 -1
  69. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +0 -199
  70. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +0 -55
  71. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +0 -4
  72. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +0 -21
  73. package/bin/_internal/base_library.zip +0 -0
  74. package/bin/_internal/certifi/cacert.pem +0 -3933
  75. package/bin/_internal/certifi/py.typed +0 -0
  76. package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
  77. package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
  78. package/bin/_internal/click-8.3.3.dist-info/INSTALLER +0 -1
  79. package/bin/_internal/click-8.3.3.dist-info/METADATA +0 -84
  80. package/bin/_internal/click-8.3.3.dist-info/RECORD +0 -40
  81. package/bin/_internal/click-8.3.3.dist-info/WHEEL +0 -4
  82. package/bin/_internal/click-8.3.3.dist-info/licenses/LICENSE.txt +0 -28
  83. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  84. package/bin/_internal/cryptography-48.0.0.dist-info/INSTALLER +0 -1
  85. package/bin/_internal/cryptography-48.0.0.dist-info/METADATA +0 -110
  86. package/bin/_internal/cryptography-48.0.0.dist-info/RECORD +0 -195
  87. package/bin/_internal/cryptography-48.0.0.dist-info/WHEEL +0 -4
  88. package/bin/_internal/cryptography-48.0.0.dist-info/licenses/LICENSE +0 -3
  89. package/bin/_internal/cryptography-48.0.0.dist-info/licenses/LICENSE.APACHE +0 -202
  90. package/bin/_internal/cryptography-48.0.0.dist-info/licenses/LICENSE.BSD +0 -27
  91. package/bin/_internal/cryptography-48.0.0.dist-info/sboms/cryptography-rust.cyclonedx.json +0 -1362
  92. package/bin/_internal/cryptography-48.0.0.dist-info/sboms/sbom.json +0 -43
  93. package/bin/_internal/fastmcp-2.9.2.dist-info/INSTALLER +0 -1
  94. package/bin/_internal/fastmcp-2.9.2.dist-info/METADATA +0 -465
  95. package/bin/_internal/fastmcp-2.9.2.dist-info/RECORD +0 -149
  96. package/bin/_internal/fastmcp-2.9.2.dist-info/WHEEL +0 -4
  97. package/bin/_internal/fastmcp-2.9.2.dist-info/entry_points.txt +0 -2
  98. package/bin/_internal/fastmcp-2.9.2.dist-info/licenses/LICENSE +0 -201
  99. package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
  100. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +0 -33
  101. package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +0 -136
  102. package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +0 -128
  103. package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +0 -116
  104. package/bin/_internal/integrations/github/claude-code-action/LICENSE +0 -21
  105. package/bin/_internal/integrations/github/claude-code-action/README.md +0 -53
  106. package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +0 -20
  107. package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +0 -15
  108. package/bin/_internal/integrations/github/claude-code-action/action.yml +0 -294
  109. package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +0 -60
  110. package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +0 -128
  111. package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +0 -136
  112. package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +0 -21
  113. package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +0 -11
  114. package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +0 -521
  115. package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +0 -149
  116. package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +0 -54
  117. package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +0 -108
  118. package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +0 -23
  119. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +0 -13
  120. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +0 -46
  121. package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +0 -82
  122. package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +0 -82
  123. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +0 -257
  124. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +0 -301
  125. package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +0 -68
  126. package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +0 -54
  127. package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +0 -12
  128. package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +0 -18
  129. package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +0 -30
  130. package/bin/_internal/integrations/github/claude-code-action/bun.lock +0 -384
  131. package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +0 -33
  132. package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +0 -99
  133. package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +0 -345
  134. package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +0 -113
  135. package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +0 -128
  136. package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +0 -205
  137. package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +0 -261
  138. package/bin/_internal/integrations/github/claude-code-action/docs/security.md +0 -38
  139. package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +0 -146
  140. package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +0 -213
  141. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +0 -97
  142. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +0 -127
  143. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +0 -97
  144. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +0 -148
  145. package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +0 -63
  146. package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +0 -75
  147. package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +0 -75
  148. package/bin/_internal/integrations/github/claude-code-action/package.json +0 -31
  149. package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +0 -13
  150. package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +0 -46
  151. package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +0 -123
  152. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +0 -799
  153. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +0 -102
  154. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +0 -58
  155. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +0 -465
  156. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +0 -98
  157. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +0 -245
  158. package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +0 -23
  159. package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +0 -4
  160. package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +0 -117
  161. package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +0 -277
  162. package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +0 -233
  163. package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +0 -144
  164. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +0 -132
  165. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +0 -163
  166. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +0 -203
  167. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +0 -33
  168. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +0 -111
  169. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +0 -70
  170. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +0 -57
  171. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +0 -62
  172. package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +0 -108
  173. package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +0 -98
  174. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +0 -246
  175. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +0 -100
  176. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +0 -64
  177. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +0 -47
  178. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +0 -148
  179. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +0 -279
  180. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +0 -101
  181. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +0 -677
  182. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +0 -184
  183. package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +0 -201
  184. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +0 -152
  185. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +0 -22
  186. package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +0 -66
  187. package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +0 -54
  188. package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +0 -187
  189. package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +0 -100
  190. package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +0 -20
  191. package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +0 -20
  192. package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +0 -40
  193. package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +0 -30
  194. package/bin/_internal/integrations/n8n/LICENSE +0 -21
  195. package/bin/_internal/integrations/n8n/README.md +0 -298
  196. package/bin/_internal/integrations/n8n/package-lock.json +0 -2989
  197. package/bin/_internal/integrations/n8n/package.json +0 -68
  198. package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +0 -52
  199. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +0 -35
  200. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +0 -304
  201. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +0 -37
  202. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +0 -151
  203. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +0 -252
  204. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +0 -56
  205. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +0 -29
  206. package/bin/_internal/integrations/n8n/src/nodes/Omnara/vicoa.png +0 -0
  207. package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +0 -93
  208. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +0 -42
  209. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +0 -20
  210. package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +0 -72
  211. package/bin/_internal/integrations/n8n/tsconfig.json +0 -20
  212. package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
  213. package/bin/_internal/libcrypto-3.dll +0 -0
  214. package/bin/_internal/libffi-8.dll +0 -0
  215. package/bin/_internal/libssl-3.dll +0 -0
  216. package/bin/_internal/mcp-1.9.4.dist-info/INSTALLER +0 -1
  217. package/bin/_internal/mcp-1.9.4.dist-info/METADATA +0 -939
  218. package/bin/_internal/mcp-1.9.4.dist-info/RECORD +0 -154
  219. package/bin/_internal/mcp-1.9.4.dist-info/WHEEL +0 -4
  220. package/bin/_internal/mcp-1.9.4.dist-info/entry_points.txt +0 -2
  221. package/bin/_internal/mcp-1.9.4.dist-info/licenses/LICENSE +0 -21
  222. package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
  223. package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
  224. package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
  225. package/bin/_internal/pyexpat.pyd +0 -0
  226. package/bin/_internal/python3.dll +0 -0
  227. package/bin/_internal/python312.dll +0 -0
  228. package/bin/_internal/select.pyd +0 -0
  229. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/INSTALLER +0 -1
  230. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/METADATA +0 -133
  231. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/RECORD +0 -21
  232. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/REQUESTED +0 -0
  233. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/WHEEL +0 -5
  234. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +0 -73
  235. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/top_level.txt +0 -1
  236. package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
  237. package/bin/_internal/ucrtbase.dll +0 -0
  238. package/bin/_internal/unicodedata.pyd +0 -0
  239. package/bin/_internal/vicoa/_bin/README.md +0 -28
  240. package/bin/_internal/vicoa-1.3.21.dist-info/INSTALLER +0 -1
  241. package/bin/_internal/vicoa-1.3.21.dist-info/METADATA +0 -313
  242. package/bin/_internal/vicoa-1.3.21.dist-info/RECORD +0 -11
  243. package/bin/_internal/vicoa-1.3.21.dist-info/REQUESTED +0 -0
  244. package/bin/_internal/vicoa-1.3.21.dist-info/WHEEL +0 -5
  245. package/bin/_internal/vicoa-1.3.21.dist-info/direct_url.json +0 -1
  246. package/bin/_internal/vicoa-1.3.21.dist-info/entry_points.txt +0 -2
  247. package/bin/_internal/vicoa-1.3.21.dist-info/licenses/LICENSE +0 -201
  248. package/bin/_internal/vicoa-1.3.21.dist-info/top_level.txt +0 -3
  249. package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
  250. package/bin/vicoa.exe +0 -0
@@ -1,98 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- /**
4
- * Prepare the Claude action by checking trigger conditions, verifying human actor,
5
- * and creating the initial tracking comment
6
- */
7
-
8
- import * as core from "@actions/core";
9
- import { setupGitHubToken } from "../github/token";
10
- import { checkWritePermissions } from "../github/validation/permissions";
11
- import { createOctokit } from "../github/api/client";
12
- import { parseGitHubContext, isEntityContext } from "../github/context";
13
- import { getMode } from "../modes/registry";
14
- import { prepare } from "../prepare";
15
- import { collectActionInputsPresence } from "./collect-inputs";
16
-
17
- async function run() {
18
- try {
19
- collectActionInputsPresence();
20
-
21
- // Parse GitHub context first to enable mode detection
22
- const context = parseGitHubContext();
23
-
24
- // Auto-detect mode based on context
25
- const mode = getMode(context);
26
-
27
- // Setup GitHub token
28
- const githubToken = await setupGitHubToken();
29
- const octokit = createOctokit(githubToken);
30
-
31
- // Step 3: Check write permissions (only for entity contexts)
32
- if (isEntityContext(context)) {
33
- const hasWritePermissions = await checkWritePermissions(
34
- octokit.rest,
35
- context,
36
- );
37
- if (!hasWritePermissions) {
38
- throw new Error(
39
- "Actor does not have write permissions to the repository",
40
- );
41
- }
42
- }
43
-
44
- // Check trigger conditions
45
- const containsTrigger = mode.shouldTrigger(context);
46
-
47
- // Debug logging
48
- console.log(`Mode: ${mode.name}`);
49
- console.log(`Context prompt: ${context.inputs?.prompt || "NO PROMPT"}`);
50
- console.log(`Trigger result: ${containsTrigger}`);
51
-
52
- // Set output for action.yml to check
53
- core.setOutput("contains_trigger", containsTrigger.toString());
54
-
55
- if (!containsTrigger) {
56
- console.log("No trigger found, skipping remaining steps");
57
- // Still set github_token output even when skipping
58
- core.setOutput("github_token", githubToken);
59
- return;
60
- }
61
-
62
- // Step 5: Use the new modular prepare function
63
- const result = await prepare({
64
- context,
65
- octokit,
66
- mode,
67
- githubToken,
68
- });
69
-
70
- // MCP config is handled by individual modes (tag/agent) and included in their claude_args output
71
-
72
- // Expose the GitHub token (Claude App token) as an output
73
- core.setOutput("github_token", githubToken);
74
-
75
- // Step 6: Get system prompt from mode if available
76
- if (mode.getSystemPrompt) {
77
- const modeContext = mode.prepareContext(context, {
78
- commentId: result.commentId,
79
- baseBranch: result.branchInfo.baseBranch,
80
- claudeBranch: result.branchInfo.claudeBranch,
81
- });
82
- const systemPrompt = mode.getSystemPrompt(modeContext);
83
- if (systemPrompt) {
84
- core.exportVariable("APPEND_SYSTEM_PROMPT", systemPrompt);
85
- }
86
- }
87
- } catch (error) {
88
- const errorMessage = error instanceof Error ? error.message : String(error);
89
- core.setFailed(`Prepare step failed with error: ${errorMessage}`);
90
- // Also output the clean error message for the action to capture
91
- core.setOutput("prepare_error", errorMessage);
92
- process.exit(1);
93
- }
94
- }
95
-
96
- if (import.meta.main) {
97
- run();
98
- }
@@ -1,245 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- import { createOctokit } from "../github/api/client";
4
- import * as fs from "fs/promises";
5
- import {
6
- updateCommentBody,
7
- type CommentUpdateInput,
8
- } from "../github/operations/comment-logic";
9
- import {
10
- parseGitHubContext,
11
- isPullRequestReviewCommentEvent,
12
- isEntityContext,
13
- } from "../github/context";
14
- import { GITHUB_SERVER_URL } from "../github/api/config";
15
- import { checkAndCommitOrDeleteBranch } from "../github/operations/branch-cleanup";
16
- import { updateClaudeComment } from "../github/operations/comments/update-claude-comment";
17
-
18
- async function run() {
19
- try {
20
- const commentId = parseInt(process.env.CLAUDE_COMMENT_ID!);
21
- const githubToken = process.env.GITHUB_TOKEN!;
22
- const claudeBranch = process.env.CLAUDE_BRANCH;
23
- const baseBranch = process.env.BASE_BRANCH || "main";
24
- const triggerUsername = process.env.TRIGGER_USERNAME;
25
-
26
- const context = parseGitHubContext();
27
-
28
- // This script is only called for entity-based events
29
- if (!isEntityContext(context)) {
30
- throw new Error("update-comment-link requires an entity context");
31
- }
32
-
33
- const { owner, repo } = context.repository;
34
-
35
- const octokit = createOctokit(githubToken);
36
-
37
- const serverUrl = GITHUB_SERVER_URL;
38
- const jobUrl = `${serverUrl}/${owner}/${repo}/actions/runs/${process.env.GITHUB_RUN_ID}`;
39
-
40
- let comment;
41
- let isPRReviewComment = false;
42
-
43
- try {
44
- // GitHub has separate ID namespaces for review comments and issue comments
45
- // We need to use the correct API based on the event type
46
- if (isPullRequestReviewCommentEvent(context)) {
47
- // For PR review comments, use the pulls API
48
- console.log(`Fetching PR review comment ${commentId}`);
49
- const { data: prComment } = await octokit.rest.pulls.getReviewComment({
50
- owner,
51
- repo,
52
- comment_id: commentId,
53
- });
54
- comment = prComment;
55
- isPRReviewComment = true;
56
- console.log("Successfully fetched as PR review comment");
57
- }
58
-
59
- // For all other event types, use the issues API
60
- if (!comment) {
61
- console.log(`Fetching issue comment ${commentId}`);
62
- const { data: issueComment } = await octokit.rest.issues.getComment({
63
- owner,
64
- repo,
65
- comment_id: commentId,
66
- });
67
- comment = issueComment;
68
- isPRReviewComment = false;
69
- console.log("Successfully fetched as issue comment");
70
- }
71
- } catch (finalError) {
72
- // If all attempts fail, try to determine more information about the comment
73
- console.error("Failed to fetch comment. Debug info:");
74
- console.error(`Comment ID: ${commentId}`);
75
- console.error(`Event name: ${context.eventName}`);
76
- console.error(`Entity number: ${context.entityNumber}`);
77
- console.error(`Repository: ${context.repository.full_name}`);
78
-
79
- // Try to get the PR info to understand the comment structure
80
- try {
81
- const { data: pr } = await octokit.rest.pulls.get({
82
- owner,
83
- repo,
84
- pull_number: context.entityNumber,
85
- });
86
- console.log(`PR state: ${pr.state}`);
87
- console.log(`PR comments count: ${pr.comments}`);
88
- console.log(`PR review comments count: ${pr.review_comments}`);
89
- } catch {
90
- console.error("Could not fetch PR info for debugging");
91
- }
92
-
93
- throw finalError;
94
- }
95
-
96
- const currentBody = comment.body ?? "";
97
-
98
- // Check if we need to add branch link for new branches
99
- const useCommitSigning = process.env.USE_COMMIT_SIGNING === "true";
100
- const { shouldDeleteBranch, branchLink } =
101
- await checkAndCommitOrDeleteBranch(
102
- octokit,
103
- owner,
104
- repo,
105
- claudeBranch,
106
- baseBranch,
107
- useCommitSigning,
108
- );
109
-
110
- // Check if we need to add PR URL when we have a new branch
111
- let prLink = "";
112
- // If claudeBranch is set, it means we created a new branch (for issues or closed/merged PRs)
113
- if (claudeBranch && !shouldDeleteBranch) {
114
- // Check if comment already contains a PR URL
115
- const serverUrlPattern = serverUrl.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
116
- const prUrlPattern = new RegExp(
117
- `${serverUrlPattern}\\/.+\\/compare\\/${baseBranch.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\.\\.\\.`,
118
- );
119
- const containsPRUrl = currentBody.match(prUrlPattern);
120
-
121
- if (!containsPRUrl) {
122
- // Check if there are changes to the branch compared to the default branch
123
- try {
124
- const { data: comparison } =
125
- await octokit.rest.repos.compareCommitsWithBasehead({
126
- owner,
127
- repo,
128
- basehead: `${baseBranch}...${claudeBranch}`,
129
- });
130
-
131
- // If there are changes (commits or file changes), add the PR URL
132
- if (
133
- comparison.total_commits > 0 ||
134
- (comparison.files && comparison.files.length > 0)
135
- ) {
136
- const entityType = context.isPR ? "PR" : "Issue";
137
- const prTitle = encodeURIComponent(
138
- `${entityType} #${context.entityNumber}: Changes from Claude`,
139
- );
140
- const prBody = encodeURIComponent(
141
- `This PR addresses ${entityType.toLowerCase()} #${context.entityNumber}\n\nGenerated with [Claude Code](https://claude.ai/code)`,
142
- );
143
- const prUrl = `${serverUrl}/${owner}/${repo}/compare/${baseBranch}...${claudeBranch}?quick_pull=1&title=${prTitle}&body=${prBody}`;
144
- prLink = `\n[Create a PR](${prUrl})`;
145
- }
146
- } catch (error) {
147
- console.error("Error checking for changes in branch:", error);
148
- // Don't fail the entire update if we can't check for changes
149
- }
150
- }
151
- }
152
-
153
- // Check if action failed and read output file for execution details
154
- let executionDetails: {
155
- cost_usd?: number;
156
- duration_ms?: number;
157
- duration_api_ms?: number;
158
- } | null = null;
159
- let actionFailed = false;
160
- let errorDetails: string | undefined;
161
-
162
- // First check if prepare step failed
163
- const prepareSuccess = process.env.PREPARE_SUCCESS !== "false";
164
- const prepareError = process.env.PREPARE_ERROR;
165
-
166
- if (!prepareSuccess && prepareError) {
167
- actionFailed = true;
168
- errorDetails = prepareError;
169
- } else {
170
- // Check for existence of output file and parse it if available
171
- try {
172
- const outputFile = process.env.OUTPUT_FILE;
173
- if (outputFile) {
174
- const fileContent = await fs.readFile(outputFile, "utf8");
175
- const outputData = JSON.parse(fileContent);
176
-
177
- // Output file is an array, get the last element which contains execution details
178
- if (Array.isArray(outputData) && outputData.length > 0) {
179
- const lastElement = outputData[outputData.length - 1];
180
- if (
181
- lastElement.type === "result" &&
182
- "cost_usd" in lastElement &&
183
- "duration_ms" in lastElement
184
- ) {
185
- executionDetails = {
186
- cost_usd: lastElement.cost_usd,
187
- duration_ms: lastElement.duration_ms,
188
- duration_api_ms: lastElement.duration_api_ms,
189
- };
190
- }
191
- }
192
- }
193
-
194
- // Check if the Claude action failed
195
- const claudeSuccess = process.env.CLAUDE_SUCCESS !== "false";
196
- actionFailed = !claudeSuccess;
197
- } catch (error) {
198
- console.error("Error reading output file:", error);
199
- // If we can't read the file, check for any failure markers
200
- actionFailed = process.env.CLAUDE_SUCCESS === "false";
201
- }
202
- }
203
-
204
- // Prepare input for updateCommentBody function
205
- const commentInput: CommentUpdateInput = {
206
- currentBody,
207
- actionFailed,
208
- executionDetails,
209
- jobUrl,
210
- branchLink,
211
- prLink,
212
- branchName: shouldDeleteBranch || !branchLink ? undefined : claudeBranch,
213
- triggerUsername,
214
- errorDetails,
215
- };
216
-
217
- const updatedBody = updateCommentBody(commentInput);
218
-
219
- try {
220
- await updateClaudeComment(octokit.rest, {
221
- owner,
222
- repo,
223
- commentId,
224
- body: updatedBody,
225
- isPullRequestReviewComment: isPRReviewComment,
226
- });
227
- console.log(
228
- `✅ Updated ${isPRReviewComment ? "PR review" : "issue"} comment ${commentId} with job link`,
229
- );
230
- } catch (updateError) {
231
- console.error(
232
- `Failed to update ${isPRReviewComment ? "PR review" : "issue"} comment:`,
233
- updateError,
234
- );
235
- throw updateError;
236
- }
237
-
238
- process.exit(0);
239
- } catch (error) {
240
- console.error("Error updating comment with job link:", error);
241
- process.exit(1);
242
- }
243
- }
244
-
245
- run();
@@ -1,23 +0,0 @@
1
- import { Octokit } from "@octokit/rest";
2
- import { graphql } from "@octokit/graphql";
3
- import { GITHUB_API_URL } from "./config";
4
-
5
- export type Octokits = {
6
- rest: Octokit;
7
- graphql: typeof graphql;
8
- };
9
-
10
- export function createOctokit(token: string): Octokits {
11
- return {
12
- rest: new Octokit({
13
- auth: token,
14
- baseUrl: GITHUB_API_URL,
15
- }),
16
- graphql: graphql.defaults({
17
- baseUrl: GITHUB_API_URL,
18
- headers: {
19
- authorization: `token ${token}`,
20
- },
21
- }),
22
- };
23
- }
@@ -1,4 +0,0 @@
1
- export const GITHUB_API_URL =
2
- process.env.GITHUB_API_URL || "https://api.github.com";
3
- export const GITHUB_SERVER_URL =
4
- process.env.GITHUB_SERVER_URL || "https://github.com";
@@ -1,117 +0,0 @@
1
- // GraphQL queries for GitHub data
2
-
3
- export const PR_QUERY = `
4
- query($owner: String!, $repo: String!, $number: Int!) {
5
- repository(owner: $owner, name: $repo) {
6
- pullRequest(number: $number) {
7
- title
8
- body
9
- author {
10
- login
11
- }
12
- baseRefName
13
- headRefName
14
- headRefOid
15
- createdAt
16
- additions
17
- deletions
18
- state
19
- commits(first: 100) {
20
- totalCount
21
- nodes {
22
- commit {
23
- oid
24
- message
25
- author {
26
- name
27
- email
28
- }
29
- }
30
- }
31
- }
32
- files(first: 100) {
33
- nodes {
34
- path
35
- additions
36
- deletions
37
- changeType
38
- }
39
- }
40
- comments(first: 100) {
41
- nodes {
42
- id
43
- databaseId
44
- body
45
- author {
46
- login
47
- }
48
- createdAt
49
- isMinimized
50
- }
51
- }
52
- reviews(first: 100) {
53
- nodes {
54
- id
55
- databaseId
56
- author {
57
- login
58
- }
59
- body
60
- state
61
- submittedAt
62
- comments(first: 100) {
63
- nodes {
64
- id
65
- databaseId
66
- body
67
- path
68
- line
69
- author {
70
- login
71
- }
72
- createdAt
73
- isMinimized
74
- }
75
- }
76
- }
77
- }
78
- }
79
- }
80
- }
81
- `;
82
-
83
- export const ISSUE_QUERY = `
84
- query($owner: String!, $repo: String!, $number: Int!) {
85
- repository(owner: $owner, name: $repo) {
86
- issue(number: $number) {
87
- title
88
- body
89
- author {
90
- login
91
- }
92
- createdAt
93
- state
94
- comments(first: 100) {
95
- nodes {
96
- id
97
- databaseId
98
- body
99
- author {
100
- login
101
- }
102
- createdAt
103
- isMinimized
104
- }
105
- }
106
- }
107
- }
108
- }
109
- `;
110
-
111
- export const USER_QUERY = `
112
- query($login: String!) {
113
- user(login: $login) {
114
- name
115
- }
116
- }
117
- `;