@vicoa/cli 1.7.12-win32-x64 → 1.7.12

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 (330) hide show
  1. package/README.md +82 -0
  2. package/bin/vicoa.js +38 -0
  3. package/package.json +30 -10
  4. package/bin/_internal/VCRUNTIME140.dll +0 -0
  5. package/bin/_internal/VCRUNTIME140_1.dll +0 -0
  6. package/bin/_internal/_asyncio.pyd +0 -0
  7. package/bin/_internal/_bz2.pyd +0 -0
  8. package/bin/_internal/_cffi_backend.cp312-win_amd64.pyd +0 -0
  9. package/bin/_internal/_ctypes.pyd +0 -0
  10. package/bin/_internal/_decimal.pyd +0 -0
  11. package/bin/_internal/_hashlib.pyd +0 -0
  12. package/bin/_internal/_lzma.pyd +0 -0
  13. package/bin/_internal/_multiprocessing.pyd +0 -0
  14. package/bin/_internal/_overlapped.pyd +0 -0
  15. package/bin/_internal/_queue.pyd +0 -0
  16. package/bin/_internal/_socket.pyd +0 -0
  17. package/bin/_internal/_sqlite3.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.12.3.dist-info/INSTALLER +0 -1
  23. package/bin/_internal/aiofile-3.12.3.dist-info/METADATA +0 -564
  24. package/bin/_internal/aiofile-3.12.3.dist-info/RECORD +0 -15
  25. package/bin/_internal/aiofile-3.12.3.dist-info/WHEEL +0 -4
  26. package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE +0 -195
  27. package/bin/_internal/aiofile-3.12.3.dist-info/licenses/LICENCE.md +0 -195
  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/aiohttp-3.14.3.dist-info/INSTALLER +0 -1
  33. package/bin/_internal/aiohttp-3.14.3.dist-info/METADATA +0 -257
  34. package/bin/_internal/aiohttp-3.14.3.dist-info/RECORD +0 -130
  35. package/bin/_internal/aiohttp-3.14.3.dist-info/WHEEL +0 -5
  36. package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/LICENSE.txt +0 -201
  37. package/bin/_internal/aiohttp-3.14.3.dist-info/licenses/vendor/llhttp/LICENSE +0 -22
  38. package/bin/_internal/aiohttp-3.14.3.dist-info/top_level.txt +0 -1
  39. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  46. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  52. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  59. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  60. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  61. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  62. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  63. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  64. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  65. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  66. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  67. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  68. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  69. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  70. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  71. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  72. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  73. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  74. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  75. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  76. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  77. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  78. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  79. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  80. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  81. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +0 -1
  82. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +0 -199
  83. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +0 -55
  84. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +0 -4
  85. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +0 -21
  86. package/bin/_internal/base_library.zip +0 -0
  87. package/bin/_internal/certifi/cacert.pem +0 -3959
  88. package/bin/_internal/certifi/py.typed +0 -0
  89. package/bin/_internal/charset_normalizer/cd.cp312-win_amd64.pyd +0 -0
  90. package/bin/_internal/charset_normalizer/md.cp312-win_amd64.pyd +0 -0
  91. package/bin/_internal/click-8.4.2.dist-info/INSTALLER +0 -1
  92. package/bin/_internal/click-8.4.2.dist-info/METADATA +0 -84
  93. package/bin/_internal/click-8.4.2.dist-info/RECORD +0 -40
  94. package/bin/_internal/click-8.4.2.dist-info/WHEEL +0 -4
  95. package/bin/_internal/click-8.4.2.dist-info/licenses/LICENSE.txt +0 -28
  96. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  97. package/bin/_internal/cryptography-50.0.0.dist-info/INSTALLER +0 -1
  98. package/bin/_internal/cryptography-50.0.0.dist-info/METADATA +0 -110
  99. package/bin/_internal/cryptography-50.0.0.dist-info/RECORD +0 -199
  100. package/bin/_internal/cryptography-50.0.0.dist-info/WHEEL +0 -4
  101. package/bin/_internal/cryptography-50.0.0.dist-info/licenses/LICENSE +0 -3
  102. package/bin/_internal/cryptography-50.0.0.dist-info/licenses/LICENSE.APACHE +0 -202
  103. package/bin/_internal/cryptography-50.0.0.dist-info/licenses/LICENSE.BSD +0 -27
  104. package/bin/_internal/cryptography-50.0.0.dist-info/sboms/cryptography-rust.cyclonedx.json +0 -1365
  105. package/bin/_internal/cryptography-50.0.0.dist-info/sboms/sbom.json +0 -43
  106. package/bin/_internal/email_validator-2.3.0.dist-info/INSTALLER +0 -1
  107. package/bin/_internal/email_validator-2.3.0.dist-info/METADATA +0 -466
  108. package/bin/_internal/email_validator-2.3.0.dist-info/RECORD +0 -27
  109. package/bin/_internal/email_validator-2.3.0.dist-info/WHEEL +0 -5
  110. package/bin/_internal/email_validator-2.3.0.dist-info/entry_points.txt +0 -2
  111. package/bin/_internal/email_validator-2.3.0.dist-info/licenses/LICENSE +0 -27
  112. package/bin/_internal/email_validator-2.3.0.dist-info/top_level.txt +0 -1
  113. package/bin/_internal/fastmcp-3.4.7.dist-info/INSTALLER +0 -1
  114. package/bin/_internal/fastmcp-3.4.7.dist-info/METADATA +0 -160
  115. package/bin/_internal/fastmcp-3.4.7.dist-info/RECORD +0 -5
  116. package/bin/_internal/fastmcp-3.4.7.dist-info/WHEEL +0 -4
  117. package/bin/_internal/fastmcp-3.4.7.dist-info/licenses/LICENSE +0 -201
  118. package/bin/_internal/frozenlist/_frozenlist.cp312-win_amd64.pyd +0 -0
  119. package/bin/_internal/httpcore2-2.12.0.dist-info/INSTALLER +0 -1
  120. package/bin/_internal/httpcore2-2.12.0.dist-info/METADATA +0 -737
  121. package/bin/_internal/httpcore2-2.12.0.dist-info/RECORD +0 -68
  122. package/bin/_internal/httpcore2-2.12.0.dist-info/WHEEL +0 -4
  123. package/bin/_internal/httpcore2-2.12.0.dist-info/licenses/LICENSE.md +0 -28
  124. package/bin/_internal/httpx2-2.12.0.dist-info/INSTALLER +0 -1
  125. package/bin/_internal/httpx2-2.12.0.dist-info/METADATA +0 -230
  126. package/bin/_internal/httpx2-2.12.0.dist-info/RECORD +0 -68
  127. package/bin/_internal/httpx2-2.12.0.dist-info/WHEEL +0 -4
  128. package/bin/_internal/httpx2-2.12.0.dist-info/entry_points.txt +0 -2
  129. package/bin/_internal/httpx2-2.12.0.dist-info/licenses/LICENSE.md +0 -13
  130. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +0 -33
  131. package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +0 -136
  132. package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +0 -128
  133. package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +0 -116
  134. package/bin/_internal/integrations/github/claude-code-action/LICENSE +0 -21
  135. package/bin/_internal/integrations/github/claude-code-action/README.md +0 -53
  136. package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +0 -20
  137. package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +0 -15
  138. package/bin/_internal/integrations/github/claude-code-action/action.yml +0 -294
  139. package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +0 -60
  140. package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +0 -128
  141. package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +0 -136
  142. package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +0 -21
  143. package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +0 -11
  144. package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +0 -521
  145. package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +0 -149
  146. package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +0 -54
  147. package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +0 -108
  148. package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +0 -23
  149. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +0 -13
  150. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +0 -46
  151. package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +0 -82
  152. package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +0 -82
  153. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +0 -257
  154. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +0 -301
  155. package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +0 -68
  156. package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +0 -54
  157. package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +0 -12
  158. package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +0 -18
  159. package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +0 -30
  160. package/bin/_internal/integrations/github/claude-code-action/bun.lock +0 -384
  161. package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +0 -33
  162. package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +0 -99
  163. package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +0 -345
  164. package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +0 -113
  165. package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +0 -128
  166. package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +0 -205
  167. package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +0 -261
  168. package/bin/_internal/integrations/github/claude-code-action/docs/security.md +0 -38
  169. package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +0 -146
  170. package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +0 -213
  171. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +0 -97
  172. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +0 -127
  173. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +0 -97
  174. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +0 -148
  175. package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +0 -63
  176. package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +0 -75
  177. package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +0 -75
  178. package/bin/_internal/integrations/github/claude-code-action/package.json +0 -31
  179. package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +0 -13
  180. package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +0 -46
  181. package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +0 -123
  182. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +0 -799
  183. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +0 -102
  184. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +0 -58
  185. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +0 -465
  186. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +0 -98
  187. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +0 -245
  188. package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +0 -23
  189. package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +0 -4
  190. package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +0 -117
  191. package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +0 -277
  192. package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +0 -233
  193. package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +0 -144
  194. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +0 -132
  195. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +0 -163
  196. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +0 -203
  197. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +0 -33
  198. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +0 -111
  199. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +0 -70
  200. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +0 -57
  201. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +0 -62
  202. package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +0 -108
  203. package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +0 -98
  204. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +0 -246
  205. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +0 -100
  206. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +0 -64
  207. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +0 -47
  208. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +0 -148
  209. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +0 -279
  210. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +0 -101
  211. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +0 -677
  212. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +0 -184
  213. package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +0 -201
  214. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +0 -152
  215. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +0 -22
  216. package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +0 -66
  217. package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +0 -54
  218. package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +0 -187
  219. package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +0 -100
  220. package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +0 -20
  221. package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +0 -20
  222. package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +0 -40
  223. package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +0 -30
  224. package/bin/_internal/integrations/headless/tests/README.md +0 -58
  225. package/bin/_internal/integrations/n8n/LICENSE +0 -21
  226. package/bin/_internal/integrations/n8n/README.md +0 -298
  227. package/bin/_internal/integrations/n8n/package-lock.json +0 -2989
  228. package/bin/_internal/integrations/n8n/package.json +0 -68
  229. package/bin/_internal/integrations/n8n/src/credentials/OmnaraApi.credentials.ts +0 -52
  230. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.json +0 -35
  231. package/bin/_internal/integrations/n8n/src/nodes/Omnara/Omnara.node.ts +0 -304
  232. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/index.ts +0 -37
  233. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/send.operation.ts +0 -151
  234. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/message/sendAndWait.operation.ts +0 -252
  235. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/end.operation.ts +0 -56
  236. package/bin/_internal/integrations/n8n/src/nodes/Omnara/actions/session/index.ts +0 -29
  237. package/bin/_internal/integrations/n8n/src/nodes/Omnara/vicoa.png +0 -0
  238. package/bin/_internal/integrations/n8n/src/utils/GenericFunctions.ts +0 -93
  239. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/configureWaitTillDate.ts +0 -42
  240. package/bin/_internal/integrations/n8n/src/utils/sendAndWait/descriptions.ts +0 -20
  241. package/bin/_internal/integrations/n8n/src/utils/sendAndWaitWebhook.ts +0 -72
  242. package/bin/_internal/integrations/n8n/tsconfig.json +0 -20
  243. package/bin/_internal/jiter/jiter.cp312-win_amd64.pyd +0 -0
  244. package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +0 -2653
  245. package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +0 -1
  246. package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +0 -170
  247. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +0 -82
  248. package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +0 -4
  249. package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +0 -2
  250. package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +0 -19
  251. package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +0 -42
  252. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +0 -56
  253. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +0 -17
  254. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +0 -57
  255. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +0 -14
  256. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +0 -37
  257. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +0 -98
  258. package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +0 -58
  259. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +0 -48
  260. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +0 -17
  261. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +0 -51
  262. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +0 -14
  263. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +0 -14
  264. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +0 -37
  265. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +0 -15
  266. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +0 -98
  267. package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +0 -172
  268. package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +0 -149
  269. package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +0 -153
  270. package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +0 -166
  271. package/bin/_internal/libcrypto-3.dll +0 -0
  272. package/bin/_internal/libffi-8.dll +0 -0
  273. package/bin/_internal/libssl-3.dll +0 -0
  274. package/bin/_internal/mcp-1.29.0.dist-info/INSTALLER +0 -1
  275. package/bin/_internal/mcp-1.29.0.dist-info/METADATA +0 -239
  276. package/bin/_internal/mcp-1.29.0.dist-info/RECORD +0 -228
  277. package/bin/_internal/mcp-1.29.0.dist-info/WHEEL +0 -4
  278. package/bin/_internal/mcp-1.29.0.dist-info/entry_points.txt +0 -2
  279. package/bin/_internal/mcp-1.29.0.dist-info/licenses/LICENSE +0 -21
  280. package/bin/_internal/multidict/_multidict.cp312-win_amd64.pyd +0 -0
  281. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/INSTALLER +0 -1
  282. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/METADATA +0 -43
  283. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/RECORD +0 -78
  284. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/WHEEL +0 -4
  285. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/entry_points.txt +0 -15
  286. package/bin/_internal/opentelemetry_api-1.44.0.dist-info/licenses/LICENSE +0 -201
  287. package/bin/_internal/propcache/_helpers_c.cp312-win_amd64.pyd +0 -0
  288. package/bin/_internal/pydantic-2.13.4.dist-info/INSTALLER +0 -1
  289. package/bin/_internal/pydantic-2.13.4.dist-info/METADATA +0 -1294
  290. package/bin/_internal/pydantic-2.13.4.dist-info/RECORD +0 -217
  291. package/bin/_internal/pydantic-2.13.4.dist-info/WHEEL +0 -4
  292. package/bin/_internal/pydantic-2.13.4.dist-info/licenses/LICENSE +0 -21
  293. package/bin/_internal/pydantic_core/_pydantic_core.cp312-win_amd64.pyd +0 -0
  294. package/bin/_internal/pyexpat.pyd +0 -0
  295. package/bin/_internal/python3.dll +0 -0
  296. package/bin/_internal/python312.dll +0 -0
  297. package/bin/_internal/pywin32_system32/pythoncom312.dll +0 -0
  298. package/bin/_internal/pywin32_system32/pywintypes312.dll +0 -0
  299. package/bin/_internal/rpds/rpds.cp312-win_amd64.pyd +0 -0
  300. package/bin/_internal/select.pyd +0 -0
  301. package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +0 -2
  302. package/bin/_internal/sqlite3.dll +0 -0
  303. package/bin/_internal/ucrtbase.dll +0 -0
  304. package/bin/_internal/unicodedata.pyd +0 -0
  305. package/bin/_internal/vicoa/_bin/README.md +0 -28
  306. package/bin/_internal/vicoa-1.7.12.dist-info/INSTALLER +0 -1
  307. package/bin/_internal/vicoa-1.7.12.dist-info/METADATA +0 -314
  308. package/bin/_internal/vicoa-1.7.12.dist-info/RECORD +0 -11
  309. package/bin/_internal/vicoa-1.7.12.dist-info/REQUESTED +0 -0
  310. package/bin/_internal/vicoa-1.7.12.dist-info/WHEEL +0 -5
  311. package/bin/_internal/vicoa-1.7.12.dist-info/direct_url.json +0 -1
  312. package/bin/_internal/vicoa-1.7.12.dist-info/entry_points.txt +0 -2
  313. package/bin/_internal/vicoa-1.7.12.dist-info/licenses/LICENSE +0 -201
  314. package/bin/_internal/vicoa-1.7.12.dist-info/top_level.txt +0 -4
  315. package/bin/_internal/watchfiles/_rust_notify.cp312-win_amd64.pyd +0 -0
  316. package/bin/_internal/websockets/speedups.cp312-win_amd64.pyd +0 -0
  317. package/bin/_internal/websockets-17.0.1.dist-info/INSTALLER +0 -1
  318. package/bin/_internal/websockets-17.0.1.dist-info/METADATA +0 -170
  319. package/bin/_internal/websockets-17.0.1.dist-info/RECORD +0 -116
  320. package/bin/_internal/websockets-17.0.1.dist-info/WHEEL +0 -5
  321. package/bin/_internal/websockets-17.0.1.dist-info/entry_points.txt +0 -2
  322. package/bin/_internal/websockets-17.0.1.dist-info/licenses/LICENSE +0 -24
  323. package/bin/_internal/websockets-17.0.1.dist-info/top_level.txt +0 -1
  324. package/bin/_internal/win32/_win32sysloader.pyd +0 -0
  325. package/bin/_internal/win32/win32api.pyd +0 -0
  326. package/bin/_internal/win32/win32evtlog.pyd +0 -0
  327. package/bin/_internal/win32/win32job.pyd +0 -0
  328. package/bin/_internal/yaml/_yaml.cp312-win_amd64.pyd +0 -0
  329. package/bin/_internal/yarl/_quoting_c.cp312-win_amd64.pyd +0 -0
  330. package/bin/vicoa.exe +0 -0
@@ -1,68 +0,0 @@
1
- {
2
- "name": "n8n-nodes-vicoa",
3
- "version": "0.1.6",
4
- "description": "n8n node for Vicoa - communicate with AI agents",
5
- "keywords": [
6
- "n8n",
7
- "n8n-node",
8
- "n8n-community-node-package",
9
- "vicoa",
10
- "ai",
11
- "agents",
12
- "workflow"
13
- ],
14
- "license": "MIT",
15
- "homepage": "https://github.com/vicoa-ai/vicoa/tree/main/src/integrations/n8n",
16
- "author": {
17
- "name": "Vicoa",
18
- "email": "hi@vicoa.ai"
19
- },
20
- "repository": {
21
- "type": "git",
22
- "url": "git+https://github.com/vicoa-ai/vicoa.git",
23
- "directory": "src/integrations/n8n"
24
- },
25
- "main": "dist/index.js",
26
- "scripts": {
27
- "build": "tsc && npm run copy-assets",
28
- "copy-assets": "cp src/nodes/Vicoa/vicoa.png dist/nodes/Vicoa/ && cp src/nodes/Vicoa/Vicoa.node.json dist/nodes/Vicoa/",
29
- "dev": "tsc --watch",
30
- "format": "prettier --write .",
31
- "lint": "eslint . --ext .ts",
32
- "lint:fix": "eslint . --ext .ts --fix",
33
- "prepublishOnly": "npm run build"
34
- },
35
- "files": [
36
- "dist",
37
- "LICENSE"
38
- ],
39
- "n8n": {
40
- "n8nNodesApiVersion": 1,
41
- "credentials": [
42
- "dist/credentials/VicoaApi.credentials.js"
43
- ],
44
- "nodes": [
45
- "dist/nodes/Vicoa/Vicoa.node.js"
46
- ]
47
- },
48
- "devDependencies": {
49
- "@types/node": "^20.10.0",
50
- "@types/uuid": "^9.0.0",
51
- "@typescript-eslint/eslint-plugin": "^6.13.0",
52
- "@typescript-eslint/parser": "^6.13.0",
53
- "eslint": "^8.54.0",
54
- "eslint-config-prettier": "^9.0.0",
55
- "eslint-plugin-prettier": "^5.0.1",
56
- "prettier": "^3.1.0",
57
- "typescript": "^5.3.2"
58
- },
59
- "dependencies": {
60
- "uuid": "^9.0.1"
61
- },
62
- "peerDependencies": {
63
- "n8n-workflow": "*"
64
- },
65
- "engines": {
66
- "node": ">=20.15.0"
67
- }
68
- }
@@ -1,52 +0,0 @@
1
- import {
2
- IAuthenticateGeneric,
3
- ICredentialTestRequest,
4
- ICredentialType,
5
- INodeProperties,
6
- } from 'n8n-workflow';
7
-
8
- export class VicoaApi implements ICredentialType {
9
- name = 'vicoaApi';
10
- displayName = 'Vicoa API';
11
- documentationUrl = 'https://github.com/vicoa-ai/vicoa';
12
- properties: INodeProperties[] = [
13
- {
14
- displayName: 'API Key',
15
- name: 'apiKey',
16
- type: 'string',
17
- typeOptions: {
18
- password: true,
19
- },
20
- default: '',
21
- required: true,
22
- description: 'Your Vicoa API key. Get it from your Vicoa dashboard.',
23
- },
24
- {
25
- displayName: 'API URL',
26
- name: 'serverUrl',
27
- type: 'string',
28
- default: 'https://agents.vicoa.ai',
29
- required: true,
30
- description:
31
- 'The Vicoa API URL (without /api/v1). Use the default unless you have a custom deployment.',
32
- placeholder: 'https://agents.vicoa.ai',
33
- },
34
- ];
35
-
36
- authenticate: IAuthenticateGeneric = {
37
- type: 'generic',
38
- properties: {
39
- headers: {
40
- Authorization: '=Bearer {{$credentials.apiKey}}',
41
- },
42
- },
43
- };
44
-
45
- test: ICredentialTestRequest = {
46
- request: {
47
- baseURL: '={{$credentials.serverUrl}}',
48
- url: '/api/v1/auth/verify',
49
- method: 'GET',
50
- },
51
- };
52
- }
@@ -1,35 +0,0 @@
1
- {
2
- "node": "n8n-nodes-vicoa.vicoa",
3
- "nodeVersion": "1.0",
4
- "codexVersion": "1.0",
5
- "categories": [
6
- "Communication",
7
- "Development"
8
- ],
9
- "resources": {
10
- "credentialDocumentation": [
11
- {
12
- "url": "https://github.com/vicoa-ai/vicoa"
13
- }
14
- ],
15
- "primaryDocumentation": [
16
- {
17
- "url": "https://github.com/vicoa-ai/vicoa"
18
- }
19
- ]
20
- },
21
- "subcategories": {
22
- "Communication": [
23
- "Chat"
24
- ],
25
- "Development": [
26
- "AI"
27
- ]
28
- },
29
- "alias": [
30
- "AI",
31
- "Agent",
32
- "Claude",
33
- "Assistant"
34
- ]
35
- }
@@ -1,304 +0,0 @@
1
- import {
2
- IExecuteFunctions,
3
- INodeExecutionData,
4
- INodeType,
5
- INodeTypeDescription,
6
- NodeConnectionTypes,
7
- NodeOperationError,
8
- SEND_AND_WAIT_OPERATION
9
- } from 'n8n-workflow';
10
-
11
- import * as message from './actions/message';
12
- import * as session from './actions/session';
13
- import { vicoaSendAndWaitWebhook } from '../../utils/sendAndWaitWebhook';
14
- import { sendAndWaitWebhooksDescription } from '../../utils/sendAndWait/descriptions';
15
- import { configureWaitTillDate } from '../../utils/sendAndWait/configureWaitTillDate';
16
- import { vicoaApiRequest, generateAgentInstanceId, getAgentType } from '../../utils/GenericFunctions';
17
-
18
-
19
- export class Vicoa implements INodeType {
20
- webhook = vicoaSendAndWaitWebhook;
21
-
22
- description: INodeTypeDescription = {
23
- displayName: 'Vicoa',
24
- name: 'vicoa',
25
- icon: 'file:vicoa.png',
26
- group: ['transform'],
27
- version: 1,
28
- subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
29
- description:
30
- 'Send messages to users via Vicoa - a web and mobile platform for human-AI communication',
31
- defaults: {
32
- name: 'Vicoa',
33
- },
34
- inputs: [NodeConnectionTypes.Main],
35
- outputs: [NodeConnectionTypes.Main],
36
- webhooks: sendAndWaitWebhooksDescription,
37
- credentials: [
38
- {
39
- name: 'vicoaApi',
40
- required: true,
41
- },
42
- ],
43
- properties: [
44
- {
45
- displayName: 'Resource',
46
- name: 'resource',
47
- type: 'options',
48
- noDataExpression: true,
49
- options: [
50
- {
51
- name: 'Message',
52
- value: 'message',
53
- description: 'Send messages to Vicoa agents',
54
- },
55
- {
56
- name: 'Session',
57
- value: 'session',
58
- description: 'Manage agent sessions',
59
- },
60
- ],
61
- default: 'message',
62
- },
63
- ...message.descriptions,
64
- ...session.descriptions,
65
- ],
66
- usableAsTool: true,
67
- };
68
-
69
- async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
70
- const items = this.getInputData();
71
- const returnData: INodeExecutionData[] = [];
72
- const resource = this.getNodeParameter('resource', 0) as string;
73
- const operation = this.getNodeParameter('operation', 0) as string;
74
- for (let i = 0; i < items.length; i++) {
75
- try {
76
- let responseData: INodeExecutionData[] = [];
77
- if (resource === 'message') {
78
- if (operation === 'send') {
79
- responseData = await message.send.execute.call(this, i);
80
- } else if (operation === SEND_AND_WAIT_OPERATION || operation === 'sendAndWait') {
81
- // FOLLOWING SLACK PATTERN EXACTLY
82
- const agentType = getAgentType.call(this, 0);
83
- const agentInstanceId = generateAgentInstanceId.call(this, 0, agentType);
84
- const messageContent = this.getNodeParameter('message', 0) as string;
85
- const options = this.getNodeParameter('options', 0, {}) as any;
86
-
87
- // Check if sync mode is enabled (for AI Agent compatibility)
88
- const syncMode = options.syncMode === true;
89
-
90
- if (syncMode) {
91
- // Sync mode: Poll for responses instead of using putExecutionToWait
92
- // This is necessary for AI Agents which don't support async/await properly
93
- const syncTimeout = options.syncTimeout || 7200; // Default 2 hours
94
- const pollInterval = options.pollInterval || 5; // Default 5 seconds
95
-
96
- // Send the message first
97
- const body: any = {
98
- agent_instance_id: agentInstanceId,
99
- agent_type: agentType,
100
- content: messageContent,
101
- requires_user_input: true,
102
- // Don't send webhook URL in sync mode
103
- message_metadata: {
104
- sync_mode: true,
105
- node_id: this.getNode().id,
106
- },
107
- };
108
-
109
- if (options.sendEmail !== undefined) {
110
- body.send_email = options.sendEmail;
111
- }
112
- if (options.sendSms !== undefined) {
113
- body.send_sms = options.sendSms;
114
- }
115
- if (options.sendPush !== undefined) {
116
- body.send_push = options.sendPush;
117
- }
118
-
119
- const sendResponse = await vicoaApiRequest.call(
120
- this,
121
- 'POST',
122
- '/messages/agent',
123
- body,
124
- );
125
-
126
- const messageId = sendResponse.message_id;
127
-
128
- // Now poll for responses
129
- const startTime = Date.now();
130
- const timeoutMs = syncTimeout * 1000;
131
- const lastReadMessageId = messageId;
132
-
133
- while (Date.now() - startTime < timeoutMs) {
134
- // Wait for poll interval using Date.now()
135
- // Community nodes must avoid restricted globals
136
- const pollStart = Date.now();
137
- const pollMs = pollInterval * 1000;
138
- while (Date.now() - pollStart < pollMs) {
139
- // Small delay to avoid blocking
140
- await new Promise((resolve) => resolve(undefined));
141
- }
142
-
143
- // Check for pending messages
144
- try {
145
- const pendingResponse = await vicoaApiRequest.call(
146
- this,
147
- 'GET',
148
- '/messages/pending',
149
- {},
150
- {
151
- agent_instance_id: agentInstanceId,
152
- last_read_message_id: lastReadMessageId,
153
- },
154
- );
155
-
156
- // Check if we got any user messages
157
- if (pendingResponse.messages && pendingResponse.messages.length > 0) {
158
- // Return the last user message as the result
159
- const lastMessage =
160
- pendingResponse.messages[pendingResponse.messages.length - 1];
161
-
162
- // Return the response in a format compatible with the workflow
163
- return [
164
- [
165
- {
166
- json: {
167
- success: true,
168
- agent_instance_id: agentInstanceId,
169
- user_response: lastMessage.content,
170
- message_id: lastMessage.id,
171
- response_time: lastMessage.created_at,
172
- all_responses: pendingResponse.messages.map((m: any) => ({
173
- content: m.content,
174
- id: m.id,
175
- created_at: m.created_at,
176
- })),
177
- },
178
- pairedItem: i,
179
- },
180
- ],
181
- ];
182
- }
183
-
184
- // If status is 'stale', continue polling
185
- if (pendingResponse.status === 'stale') {
186
- // We might need to re-fetch to get the current state
187
- // For now, continue polling
188
- }
189
- } catch (pollError) {
190
- // Continue polling on error
191
- }
192
- }
193
-
194
- // Timeout reached without response
195
- return [
196
- [
197
- {
198
- json: {
199
- success: false,
200
- agent_instance_id: agentInstanceId,
201
- error: 'Timeout waiting for user response',
202
- timeout_seconds: syncTimeout,
203
- },
204
- pairedItem: i,
205
- },
206
- ],
207
- ];
208
- } else {
209
- // Original async mode with putExecutionToWait
210
- // Get the webhook URL from n8n's execution context
211
- // This automatically provides the correct URL for any n8n instance
212
- const resumeUrl = this.evaluateExpression('{{ $execution?.resumeUrl }}', 0) as string;
213
- const nodeId = this.evaluateExpression('{{ $nodeId }}', 0) as string;
214
- const executionId = this.getExecutionId();
215
-
216
- // Construct the full webhook URL with node ID appended
217
- const webhookUrl = `${resumeUrl}/${nodeId}`;
218
-
219
- const body: any = {
220
- agent_instance_id: agentInstanceId,
221
- agent_type: agentType,
222
- content: messageContent,
223
- requires_user_input: true,
224
- // Send webhook URL in metadata so Vicoa knows where to send the response
225
- message_metadata: {
226
- webhook_url: webhookUrl, // Full URL with execution ID and node ID
227
- execution_id: executionId,
228
- node_id: nodeId,
229
- webhook_type: 'n8n_send_and_wait',
230
- },
231
- };
232
-
233
- if (options.sendEmail !== undefined) {
234
- body.send_email = options.sendEmail;
235
- }
236
- if (options.sendSms !== undefined) {
237
- body.send_sms = options.sendSms;
238
- }
239
- if (options.sendPush !== undefined) {
240
- body.send_push = options.sendPush;
241
- }
242
-
243
- // Send message to Vicoa (like Slack sends to chat.postMessage)
244
- await vicoaApiRequest.call(this, 'POST', '/messages/agent', body);
245
-
246
- // Configure wait time
247
- const waitTill = configureWaitTillDate(this, 0);
248
-
249
- // Put execution to wait
250
- if (waitTill === 'WAIT_INDEFINITELY') {
251
- await this.putExecutionToWait(new Date(Date.now() + 365 * 24 * 60 * 60 * 1000));
252
- } else {
253
- await this.putExecutionToWait(waitTill as Date);
254
- }
255
-
256
- // Return input data
257
- return [this.getInputData()];
258
- }
259
- } else {
260
- throw new NodeOperationError(
261
- this.getNode(),
262
- `The operation "${operation}" is not supported for resource "${resource}"`,
263
- { itemIndex: i },
264
- );
265
- }
266
- } else if (resource === 'session') {
267
- if (operation === 'end') {
268
- responseData = await session.end.execute.call(this, i);
269
- } else {
270
- throw new NodeOperationError(
271
- this.getNode(),
272
- `The operation "${operation}" is not supported for resource "${resource}"`,
273
- { itemIndex: i },
274
- );
275
- }
276
- } else {
277
- throw new NodeOperationError(
278
- this.getNode(),
279
- `The resource "${resource}" is not supported`,
280
- { itemIndex: i },
281
- );
282
- }
283
-
284
- returnData.push(...responseData);
285
- } catch (error) {
286
- if (this.continueOnFail()) {
287
- returnData.push({
288
- json: {
289
- error: error instanceof Error ? error.message : String(error),
290
- resource,
291
- operation,
292
- itemIndex: i,
293
- },
294
- pairedItem: i,
295
- });
296
- continue;
297
- }
298
- throw error;
299
- }
300
- }
301
-
302
- return [returnData];
303
- }
304
- }
@@ -1,37 +0,0 @@
1
- import * as send from './send.operation';
2
- import * as sendAndWait from './sendAndWait.operation';
3
-
4
- import { INodeProperties } from 'n8n-workflow';
5
-
6
- export { send, sendAndWait };
7
-
8
- export const descriptions: INodeProperties[] = [
9
- {
10
- displayName: 'Operation',
11
- name: 'operation',
12
- type: 'options',
13
- noDataExpression: true,
14
- displayOptions: {
15
- show: {
16
- resource: ['message'],
17
- },
18
- },
19
- options: [
20
- {
21
- name: 'Send',
22
- value: 'send',
23
- description: 'Send a non-blocking message to the user (for status updates, progress reports, or sharing your thought process). Use this when you want to inform the user but do not need their response to continue',
24
- action: 'Send message',
25
- },
26
- {
27
- name: 'Send and Wait',
28
- value: 'sendAndWait',
29
- description: 'Send a message and wait for the user\'s response (for questions, approvals, or conversations). Use this when you need the user\'s input to proceed with your task',
30
- action: 'Send message and wait for response',
31
- },
32
- ],
33
- default: 'send',
34
- },
35
- ...send.sendMessageDescription,
36
- ...sendAndWait.sendAndWaitDescription,
37
- ];
@@ -1,151 +0,0 @@
1
- import {
2
- IExecuteFunctions,
3
- INodeExecutionData,
4
- INodeProperties,
5
- NodeOperationError,
6
- } from 'n8n-workflow';
7
-
8
- import { vicoaApiRequest, formatMessageResponse, generateAgentInstanceId, getAgentType } from '../../../../utils/GenericFunctions';
9
-
10
- export const sendMessageDescription: INodeProperties[] = [
11
- {
12
- displayName: 'Agent Instance ID',
13
- name: 'agentInstanceId',
14
- type: 'string',
15
- default: '',
16
- required: false,
17
- displayOptions: {
18
- show: {
19
- resource: ['message'],
20
- operation: ['send'],
21
- },
22
- },
23
- placeholder: 'e.g. 550e8400-e29b-41d4-a716-446655440000',
24
- description:
25
- 'A unique UUID for this workflow run. Must be the same across all Vicoa nodes in this workflow. Use webhook data or generate with {{ $uuid() }}. If left empty, a default value will be generated.',
26
- },
27
- {
28
- displayName: 'Agent Type',
29
- name: 'agentType',
30
- type: 'string',
31
- default: '',
32
- required: false,
33
- displayOptions: {
34
- show: {
35
- resource: ['message'],
36
- operation: ['send'],
37
- },
38
- },
39
- placeholder: 'e.g. Customer Support',
40
- description:
41
- 'The name of your agent on Vicoa dashboard. Must be the same across all Vicoa nodes. If left empty, the workflow name will be used as the default.',
42
- },
43
- {
44
- displayName: 'Message',
45
- name: 'message',
46
- type: 'string',
47
- default: '',
48
- required: true,
49
- typeOptions: {
50
- rows: 4,
51
- },
52
- displayOptions: {
53
- show: {
54
- resource: ['message'],
55
- operation: ['send'],
56
- },
57
- },
58
- placeholder: 'e.g. Build completed successfully',
59
- description:
60
- 'Status update or informational message to send to the user. This will appear in their Vicoa web/mobile app. The workflow will continue immediately without waiting for a response.',
61
- },
62
- {
63
- displayName: 'Additional Options',
64
- name: 'additionalOptions',
65
- type: 'collection',
66
- placeholder: 'Add Option',
67
- default: {},
68
- displayOptions: {
69
- show: {
70
- resource: ['message'],
71
- operation: ['send'],
72
- },
73
- },
74
- options: [
75
- {
76
- displayName: 'Send Email Notification',
77
- name: 'sendEmail',
78
- type: 'boolean',
79
- default: false,
80
- description: 'Whether to send an email notification',
81
- },
82
- {
83
- displayName: 'Send SMS Notification',
84
- name: 'sendSms',
85
- type: 'boolean',
86
- default: false,
87
- description: 'Whether to send an SMS notification',
88
- },
89
- {
90
- displayName: 'Send Push Notification',
91
- name: 'sendPush',
92
- type: 'boolean',
93
- default: false,
94
- description: 'Whether to send a push notification',
95
- },
96
- ],
97
- },
98
- ];
99
-
100
- export async function execute(
101
- this: IExecuteFunctions,
102
- index: number,
103
- ): Promise<INodeExecutionData[]> {
104
-
105
- const agentType = getAgentType.call(this, 0);
106
- const agentInstanceId = generateAgentInstanceId.call(this, 0, agentType);
107
-
108
- const message = this.getNodeParameter('message', index) as string;
109
- const additionalOptions = this.getNodeParameter('additionalOptions', index, {}) as any;
110
-
111
- if (!message) {
112
- throw new NodeOperationError(this.getNode(), 'Message is required', { itemIndex: index });
113
- }
114
-
115
- const body: any = {
116
- agent_instance_id: agentInstanceId,
117
- agent_type: agentType,
118
- content: message,
119
- requires_user_input: false,
120
- };
121
- if (additionalOptions.sendEmail !== undefined) {
122
- body.send_email = additionalOptions.sendEmail;
123
- }
124
- if (additionalOptions.sendSms !== undefined) {
125
- body.send_sms = additionalOptions.sendSms;
126
- }
127
- if (additionalOptions.sendPush !== undefined) {
128
- body.send_push = additionalOptions.sendPush;
129
- }
130
-
131
- try {
132
- const response = await vicoaApiRequest.call(this, 'POST', '/messages/agent', body);
133
-
134
- const result = {
135
- success: response.success,
136
- agentInstanceId: response.agent_instance_id,
137
- messageId: response.message_id,
138
- queuedUserMessages: response.queued_user_messages
139
- ? response.queued_user_messages.map(formatMessageResponse)
140
- : [],
141
- };
142
-
143
- return [{ json: result }];
144
- } catch (error) {
145
- throw new NodeOperationError(
146
- this.getNode(),
147
- `Failed to send message: ${error instanceof Error ? error.message : String(error)}`,
148
- { itemIndex: index },
149
- );
150
- }
151
- }