n8n-nodes-base 2.34.2 → 2.35.0
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.
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/credentials/DiscordBotApi.credentials.d.ts.map +1 -1
- package/dist/credentials/DiscordBotApi.credentials.js +17 -0
- package/dist/credentials/DiscordBotApi.credentials.js.map +1 -1
- package/dist/credentials/SlackOAuth2Api.credentials.d.ts.map +1 -1
- package/dist/credentials/SlackOAuth2Api.credentials.js +9 -0
- package/dist/credentials/SlackOAuth2Api.credentials.js.map +1 -1
- package/dist/credentials/TwitterOAuth2Api.credentials.js +2 -2
- package/dist/credentials/TwitterOAuth2Api.credentials.js.map +1 -1
- package/dist/known/credentials.json +2 -1
- package/dist/known/nodes.json +4 -0
- package/dist/node-definitions/.nodes-hash +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v1/mode_each.ts +40 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v1/mode_once.ts +40 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v11/mode_each.ts +40 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v11/mode_once.ts +40 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v12/mode_each.ts +41 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v12/mode_once.ts +41 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v13/mode_each.ts +41 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v13/mode_once.ts +41 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/github/v1/resource_workflow/operation_dispatch_and_wait.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/github/v1/resource_workflow/operation_dispatch_and_wait.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/github/v11/resource_workflow/operation_dispatch_and_wait.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/github/v11/resource_workflow/operation_dispatch_and_wait.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/googleAnalytics/v2/resource_report/operation_get.ts +2 -2
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v2.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v2.ts +3 -2
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v3.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v3.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v4.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v4.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v41.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v41.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v42.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v42.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v43.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v43.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v44.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v44.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v45.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v45.ts +8 -7
- package/dist/node-definitions/nodes/n8n-nodes-base/kafka/index.ts +3 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/kafka/v2.schema.js +35 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/kafka/v2.ts +100 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/kafkaTrigger/index.ts +3 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/kafkaTrigger/v2.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/kafkaTrigger/v2.ts +124 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/microsoftOutlook/v2/resource_event/operation_create.ts +2 -2
- package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v1.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v1.ts +6 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v11.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v11.ts +6 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/index.ts +3 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v2/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v2/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v21/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v21/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v22/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v22/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v23/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v23/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v24/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v24/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v25/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v25/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v26/resource_message/operation_search.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v26/resource_message/operation_search.ts +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/index.schema.js +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/index.ts +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/index.schema.js +52 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/index.ts +60 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_archive.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_archive.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_close.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_close.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_create.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_create.ts +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get.ts +39 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get_all.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get_all.ts +48 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_history.schema.js +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_history.ts +56 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_invite.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_invite.ts +35 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_join.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_join.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_kick.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_kick.ts +34 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_leave.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_leave.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_member.schema.js +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_member.ts +45 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_open.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_open.ts +41 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_rename.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_rename.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_replies.schema.js +27 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_replies.ts +60 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_purpose.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_purpose.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_topic.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_topic.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_unarchive.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_unarchive.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get.ts +27 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get_all.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get_all.ts +62 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_upload.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_upload.ts +56 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/index.schema.js +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/index.ts +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete.schema.js +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete.ts +44 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete_scheduled.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete_scheduled.ts +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_many_scheduled.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_many_scheduled.ts +50 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_permalink.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_permalink.ts +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_post.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_post.ts +237 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_schedule.schema.js +31 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_schedule.ts +241 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_search.schema.js +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_search.ts +98 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_send_and_wait.schema.js +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_send_and_wait.ts +341 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_update.schema.js +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_update.ts +72 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_add.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_add.ts +37 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_get.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_get.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_remove.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_remove.ts +37 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_add.schema.js +27 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_add.ts +53 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_delete.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_delete.ts +42 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_get_all.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_get_all.ts +34 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/index.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/index.ts +27 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_all.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_all.ts +34 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_presence.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_presence.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_profile.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_profile.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_info.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_info.ts +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_lookup_by_email.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_lookup_by_email.ts +27 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_update_profile.schema.js +23 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_update_profile.ts +78 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/index.schema.js +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/index.ts +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_create.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_create.ts +48 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_disable.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_disable.ts +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_enable.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_enable.ts +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_all.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_all.ts +52 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_users.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_users.ts +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update.ts +50 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update_users.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update_users.ts +42 -0
- package/dist/nodes/Confluence/Confluence.node.d.ts +6 -0
- package/dist/nodes/Confluence/Confluence.node.d.ts.map +1 -0
- package/dist/nodes/Confluence/Confluence.node.js +13 -0
- package/dist/nodes/Confluence/Confluence.node.js.map +1 -0
- package/dist/nodes/Confluence/Confluence.node.json +18 -0
- package/dist/nodes/Confluence/actions/description.d.ts +3 -0
- package/dist/nodes/Confluence/actions/description.d.ts.map +1 -0
- package/dist/nodes/Confluence/actions/description.js +28 -0
- package/dist/nodes/Confluence/actions/description.js.map +1 -0
- package/dist/nodes/Confluence/actions/router.d.ts +9 -0
- package/dist/nodes/Confluence/actions/router.d.ts.map +1 -0
- package/dist/nodes/Confluence/actions/router.js +15 -0
- package/dist/nodes/Confluence/actions/router.js.map +1 -0
- package/dist/nodes/Confluence/confluence.svg +1 -0
- package/dist/nodes/Confluence/transport/index.d.ts +20 -0
- package/dist/nodes/Confluence/transport/index.d.ts.map +1 -0
- package/dist/nodes/Confluence/transport/index.js +117 -0
- package/dist/nodes/Confluence/transport/index.js.map +1 -0
- package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.d.ts.map +1 -1
- package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.js +48 -0
- package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.js.map +1 -1
- package/dist/nodes/Form/interfaces.d.ts +1 -0
- package/dist/nodes/Form/interfaces.d.ts.map +1 -1
- package/dist/nodes/Form/interfaces.js.map +1 -1
- package/dist/nodes/Form/utils/utils.d.ts +4 -2
- package/dist/nodes/Form/utils/utils.d.ts.map +1 -1
- package/dist/nodes/Form/utils/utils.js +125 -2
- package/dist/nodes/Form/utils/utils.js.map +1 -1
- package/dist/nodes/Function/Function.node.d.ts.map +1 -1
- package/dist/nodes/Function/Function.node.js +7 -1
- package/dist/nodes/Function/Function.node.js.map +1 -1
- package/dist/nodes/FunctionItem/FunctionItem.node.d.ts.map +1 -1
- package/dist/nodes/FunctionItem/FunctionItem.node.js +7 -1
- package/dist/nodes/FunctionItem/FunctionItem.node.js.map +1 -1
- package/dist/nodes/Github/Github.node.d.ts.map +1 -1
- package/dist/nodes/Github/Github.node.js +25 -1
- package/dist/nodes/Github/Github.node.js.map +1 -1
- package/dist/nodes/HttpRequest/V3/Description.js +5 -5
- package/dist/nodes/HttpRequest/V3/Description.js.map +1 -1
- package/dist/nodes/Kafka/Kafka.node.d.ts +3 -9
- package/dist/nodes/Kafka/Kafka.node.d.ts.map +1 -1
- package/dist/nodes/Kafka/Kafka.node.js +17 -382
- package/dist/nodes/Kafka/Kafka.node.js.map +1 -1
- package/dist/nodes/Kafka/KafkaTrigger.node.d.ts +3 -4
- package/dist/nodes/Kafka/KafkaTrigger.node.d.ts.map +1 -1
- package/dist/nodes/Kafka/KafkaTrigger.node.js +18 -452
- package/dist/nodes/Kafka/KafkaTrigger.node.js.map +1 -1
- package/dist/nodes/Kafka/utils.d.ts +62 -1
- package/dist/nodes/Kafka/utils.d.ts.map +1 -1
- package/dist/nodes/Kafka/utils.js +151 -16
- package/dist/nodes/Kafka/utils.js.map +1 -1
- package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.d.ts +7 -0
- package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.d.ts.map +1 -0
- package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.js +480 -0
- package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.js.map +1 -0
- package/dist/nodes/Kafka/v1/KafkaV1.node.d.ts +12 -0
- package/dist/nodes/Kafka/v1/KafkaV1.node.d.ts.map +1 -0
- package/dist/nodes/Kafka/v1/KafkaV1.node.js +397 -0
- package/dist/nodes/Kafka/v1/KafkaV1.node.js.map +1 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.d.ts +7 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.js +101 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.js.map +1 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.d.ts +3 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.js +291 -0
- package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.js.map +1 -0
- package/dist/nodes/Kafka/v2/KafkaV2.node.d.ts +7 -0
- package/dist/nodes/Kafka/v2/KafkaV2.node.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/KafkaV2.node.js +386 -0
- package/dist/nodes/Kafka/v2/KafkaV2.node.js.map +1 -0
- package/dist/nodes/Kafka/v2/TriggerSettings.d.ts +109 -0
- package/dist/nodes/Kafka/v2/TriggerSettings.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/TriggerSettings.js +273 -0
- package/dist/nodes/Kafka/v2/TriggerSettings.js.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.d.ts +51 -0
- package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.js +189 -0
- package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.js.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/DataEmitter.d.ts +45 -0
- package/dist/nodes/Kafka/v2/consumer/DataEmitter.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/DataEmitter.js +153 -0
- package/dist/nodes/Kafka/v2/consumer/DataEmitter.js.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/MessageParser.d.ts +23 -0
- package/dist/nodes/Kafka/v2/consumer/MessageParser.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/MessageParser.js +100 -0
- package/dist/nodes/Kafka/v2/consumer/MessageParser.js.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/index.d.ts +7 -0
- package/dist/nodes/Kafka/v2/consumer/index.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/consumer/index.js +13 -0
- package/dist/nodes/Kafka/v2/consumer/index.js.map +1 -0
- package/dist/nodes/Kafka/v2/transport/LibraryLogger.d.ts +18 -0
- package/dist/nodes/Kafka/v2/transport/LibraryLogger.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/transport/LibraryLogger.js +94 -0
- package/dist/nodes/Kafka/v2/transport/LibraryLogger.js.map +1 -0
- package/dist/nodes/Kafka/v2/transport/client.d.ts +20 -0
- package/dist/nodes/Kafka/v2/transport/client.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/transport/client.js +36 -0
- package/dist/nodes/Kafka/v2/transport/client.js.map +1 -0
- package/dist/nodes/Kafka/v2/transport/config.d.ts +13 -0
- package/dist/nodes/Kafka/v2/transport/config.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/transport/config.js +57 -0
- package/dist/nodes/Kafka/v2/transport/config.js.map +1 -0
- package/dist/nodes/Kafka/v2/transport/consumer.d.ts +66 -0
- package/dist/nodes/Kafka/v2/transport/consumer.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/transport/consumer.js +48 -0
- package/dist/nodes/Kafka/v2/transport/consumer.js.map +1 -0
- package/dist/nodes/Kafka/v2/transport/index.d.ts +6 -0
- package/dist/nodes/Kafka/v2/transport/index.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/transport/index.js +16 -0
- package/dist/nodes/Kafka/v2/transport/index.js.map +1 -0
- package/dist/nodes/Kafka/v2/transport/producer.d.ts +9 -0
- package/dist/nodes/Kafka/v2/transport/producer.d.ts.map +1 -0
- package/dist/nodes/Kafka/v2/transport/producer.js +18 -0
- package/dist/nodes/Kafka/v2/transport/producer.js.map +1 -0
- package/dist/nodes/Merge/Merge.node.json +1 -1
- package/dist/nodes/Microsoft/SharePoint/v2/file/index.d.ts.map +1 -1
- package/dist/nodes/Microsoft/SharePoint/v2/file/index.js +0 -3
- package/dist/nodes/Microsoft/SharePoint/v2/file/index.js.map +1 -1
- package/dist/nodes/Microsoft/SharePoint/v2/site/index.d.ts.map +1 -1
- package/dist/nodes/Microsoft/SharePoint/v2/site/index.js +10 -8
- package/dist/nodes/Microsoft/SharePoint/v2/site/index.js.map +1 -1
- package/dist/nodes/Notion/shared/GenericFunctions.d.ts +3 -3
- package/dist/nodes/Notion/shared/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/Salesforce/SalesforceTrigger.node.d.ts.map +1 -1
- package/dist/nodes/Salesforce/SalesforceTrigger.node.js +31 -0
- package/dist/nodes/Salesforce/SalesforceTrigger.node.js.map +1 -1
- package/dist/nodes/Schedule/GenericFunctions.d.ts +2 -1
- package/dist/nodes/Schedule/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/Schedule/GenericFunctions.js +43 -0
- package/dist/nodes/Schedule/GenericFunctions.js.map +1 -1
- package/dist/nodes/Schedule/ScheduleTrigger.node.d.ts.map +1 -1
- package/dist/nodes/Schedule/ScheduleTrigger.node.js +2 -1
- package/dist/nodes/Schedule/ScheduleTrigger.node.js.map +1 -1
- package/dist/nodes/Schedule/SchedulerInterface.d.ts +15 -1
- package/dist/nodes/Schedule/SchedulerInterface.d.ts.map +1 -1
- package/dist/nodes/Slack/Slack.node.d.ts.map +1 -1
- package/dist/nodes/Slack/Slack.node.js +2 -1
- package/dist/nodes/Slack/Slack.node.js.map +1 -1
- package/dist/nodes/Slack/V2/GenericFunctions.d.ts +12 -0
- package/dist/nodes/Slack/V2/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/Slack/V2/GenericFunctions.js +80 -19
- package/dist/nodes/Slack/V2/GenericFunctions.js.map +1 -1
- package/dist/nodes/Slack/V2/MessageDescription.d.ts.map +1 -1
- package/dist/nodes/Slack/V2/MessageDescription.js +137 -0
- package/dist/nodes/Slack/V2/MessageDescription.js.map +1 -1
- package/dist/nodes/Slack/V2/SlackHitlWebhook.d.ts +1 -1
- package/dist/nodes/Slack/V2/SlackV2.node.d.ts.map +1 -1
- package/dist/nodes/Slack/V2/SlackV2.node.js +64 -17
- package/dist/nodes/Slack/V2/SlackV2.node.js.map +1 -1
- package/dist/nodes/Slack/__schema__/v2.7.0/message/search.json +75 -0
- package/dist/nodes/Twitter/V2/GenericFunctions.js +1 -1
- package/dist/nodes/Twitter/V2/GenericFunctions.js.map +1 -1
- package/dist/nodes/Webhook/description.d.ts.map +1 -1
- package/dist/nodes/Webhook/description.js +15 -9
- package/dist/nodes/Webhook/description.js.map +1 -1
- package/dist/types/credentials.json +4 -4
- package/dist/types/nodes.json +18 -15
- package/package.json +14 -12
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaV2 = void 0;
|
|
4
|
+
const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const utilities_1 = require("../../../utils/utilities");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
const transport_1 = require("./transport");
|
|
9
|
+
const DEFAULT_TIMEOUT_MS = 30000;
|
|
10
|
+
/**
|
|
11
|
+
* Maps the `options` collection onto the producer factory's options. Both fields
|
|
12
|
+
* differ deliberately from v1, so they are converted in one place rather than at
|
|
13
|
+
* the call site.
|
|
14
|
+
*/
|
|
15
|
+
function toProducerOptions(options) {
|
|
16
|
+
return {
|
|
17
|
+
// -1 = all in-sync replicas, matching the option description. v1 maps
|
|
18
|
+
// `true` to 1 (leader only) — a bug not worth carrying into a new version.
|
|
19
|
+
acks: options.acks === true ? -1 : 0,
|
|
20
|
+
// Unlike v1 (kafkajs tolerates `undefined`), confluent's native library
|
|
21
|
+
// crashes if either of these reaches the producer config as `undefined` —
|
|
22
|
+
// which they would be if the user never added the option, since a
|
|
23
|
+
// `collection` param only carries the keys the user explicitly set,
|
|
24
|
+
// ignoring its declared UI default. Fall back to those defaults here.
|
|
25
|
+
// 'none' is a codec of its own, so it reaches the config explicitly.
|
|
26
|
+
compression: (options.compression ?? 'none'),
|
|
27
|
+
timeout: options.timeout ?? DEFAULT_TIMEOUT_MS,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Encodes a message for the wire, returning it unchanged when the Schema Registry
|
|
32
|
+
* is off. Both failure modes are the user's to fix, so each maps to its own
|
|
33
|
+
* message rather than surfacing a registry-internal error.
|
|
34
|
+
*/
|
|
35
|
+
async function encodeMessage(message, schemaRegistry, node, itemIndex) {
|
|
36
|
+
if (!schemaRegistry)
|
|
37
|
+
return message;
|
|
38
|
+
let parsedMessage;
|
|
39
|
+
try {
|
|
40
|
+
parsedMessage = JSON.parse(message);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
throw new n8n_workflow_1.NodeOperationError(node, 'Message is not valid JSON', {
|
|
44
|
+
description: 'The Schema Registry encodes JSON messages. Provide a valid JSON message, or turn off "Use Schema Registry".',
|
|
45
|
+
itemIndex,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
return await schemaRegistry.registry.encode(schemaRegistry.schemaId, parsedMessage);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// The original error is dropped rather than kept as `cause`: registry errors
|
|
53
|
+
// interpolate the request URL and response body, which would then be
|
|
54
|
+
// persisted into execution data.
|
|
55
|
+
throw new n8n_workflow_1.NodeOperationError(node, 'Verify your Schema Registry configuration', { itemIndex });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The native binding rejects a non-string header value only after the message is queued,
|
|
60
|
+
* so an unchecked value fails the node for a message the broker already accepted.
|
|
61
|
+
*/
|
|
62
|
+
function validateHeaders(headers, node, itemIndex) {
|
|
63
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
64
|
+
const values = Array.isArray(value) ? value : [value];
|
|
65
|
+
if (values.some((entry) => typeof entry !== 'string' && !Buffer.isBuffer(entry))) {
|
|
66
|
+
throw new n8n_workflow_1.NodeOperationError(node, `Header "${key}" must be a string`, { itemIndex });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const versionDescription = {
|
|
71
|
+
displayName: 'Kafka',
|
|
72
|
+
name: 'kafka',
|
|
73
|
+
icon: { light: 'file:kafka.svg', dark: 'file:kafka.dark.svg' },
|
|
74
|
+
group: ['transform'],
|
|
75
|
+
version: 2,
|
|
76
|
+
description: 'Sends messages to a Kafka topic',
|
|
77
|
+
defaults: {
|
|
78
|
+
name: 'Kafka',
|
|
79
|
+
},
|
|
80
|
+
usableAsTool: true,
|
|
81
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
82
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
83
|
+
credentials: [
|
|
84
|
+
{
|
|
85
|
+
// Leave the `kafka` credential test to v1: it is resolved per credential type, so a
|
|
86
|
+
// `methods.credentialTest.kafkaConnectionTest` here would take over v1's test too.
|
|
87
|
+
// See 'should leave the kafka credential test to v1' in test/Kafka.node.test.ts.
|
|
88
|
+
name: 'kafka',
|
|
89
|
+
required: true,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'schemaRegistryApi',
|
|
93
|
+
required: false,
|
|
94
|
+
displayName: 'Schema Registry',
|
|
95
|
+
displayOptions: {
|
|
96
|
+
show: {
|
|
97
|
+
useSchemaRegistry: [true],
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
properties: [
|
|
103
|
+
{
|
|
104
|
+
displayName: 'Topic',
|
|
105
|
+
name: 'topic',
|
|
106
|
+
type: 'string',
|
|
107
|
+
default: '',
|
|
108
|
+
placeholder: 'topic-name',
|
|
109
|
+
description: 'Name of the queue of topic to publish to',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
displayName: 'Send Input Data',
|
|
113
|
+
name: 'sendInputData',
|
|
114
|
+
type: 'boolean',
|
|
115
|
+
default: true,
|
|
116
|
+
description: 'Whether to send the data the node receives as JSON to Kafka',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
displayName: 'Message',
|
|
120
|
+
name: 'message',
|
|
121
|
+
type: 'string',
|
|
122
|
+
displayOptions: {
|
|
123
|
+
show: {
|
|
124
|
+
sendInputData: [false],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
default: '',
|
|
128
|
+
description: 'The message to be sent',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
displayName: 'JSON Parameters',
|
|
132
|
+
name: 'jsonParameters',
|
|
133
|
+
type: 'boolean',
|
|
134
|
+
default: false,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
displayName: 'Use Schema Registry',
|
|
138
|
+
name: 'useSchemaRegistry',
|
|
139
|
+
type: 'boolean',
|
|
140
|
+
default: false,
|
|
141
|
+
description: 'Whether to use Confluent Schema Registry',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
displayName: 'Schema Registry URL',
|
|
145
|
+
name: 'schemaRegistryUrl',
|
|
146
|
+
type: 'string',
|
|
147
|
+
displayOptions: {
|
|
148
|
+
show: {
|
|
149
|
+
useSchemaRegistry: [true],
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
placeholder: 'https://schema-registry-domain:8081',
|
|
153
|
+
default: '',
|
|
154
|
+
description: 'URL of the schema registry. Only used when no Schema Registry credential is selected.',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
displayName: 'Use Key',
|
|
158
|
+
name: 'useKey',
|
|
159
|
+
type: 'boolean',
|
|
160
|
+
default: false,
|
|
161
|
+
description: 'Whether to use a message key',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
displayName: 'Key',
|
|
165
|
+
name: 'key',
|
|
166
|
+
type: 'string',
|
|
167
|
+
required: true,
|
|
168
|
+
displayOptions: {
|
|
169
|
+
show: {
|
|
170
|
+
useKey: [true],
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
placeholder: '',
|
|
174
|
+
default: '',
|
|
175
|
+
description: 'The message key',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
displayName: 'Event Name',
|
|
179
|
+
name: 'eventName',
|
|
180
|
+
type: 'string',
|
|
181
|
+
required: true,
|
|
182
|
+
displayOptions: {
|
|
183
|
+
show: {
|
|
184
|
+
useSchemaRegistry: [true],
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
default: '',
|
|
188
|
+
description: 'Namespace and Name of Schema in Schema Registry (namespace.name)',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
displayName: 'Headers',
|
|
192
|
+
name: 'headersUi',
|
|
193
|
+
placeholder: 'Add Header',
|
|
194
|
+
type: 'fixedCollection',
|
|
195
|
+
displayOptions: {
|
|
196
|
+
show: {
|
|
197
|
+
jsonParameters: [false],
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
typeOptions: {
|
|
201
|
+
multipleValues: true,
|
|
202
|
+
},
|
|
203
|
+
default: {},
|
|
204
|
+
options: [
|
|
205
|
+
{
|
|
206
|
+
name: 'headerValues',
|
|
207
|
+
displayName: 'Header',
|
|
208
|
+
values: [
|
|
209
|
+
{
|
|
210
|
+
displayName: 'Key',
|
|
211
|
+
name: 'key',
|
|
212
|
+
type: 'string',
|
|
213
|
+
default: '',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
displayName: 'Value',
|
|
217
|
+
name: 'value',
|
|
218
|
+
type: 'string',
|
|
219
|
+
default: '',
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
displayName: 'Headers (JSON)',
|
|
227
|
+
name: 'headerParametersJson',
|
|
228
|
+
type: 'json',
|
|
229
|
+
displayOptions: {
|
|
230
|
+
show: {
|
|
231
|
+
jsonParameters: [true],
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
default: '',
|
|
235
|
+
description: 'Header parameters as JSON (flat object)',
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
displayName: 'Options',
|
|
239
|
+
name: 'options',
|
|
240
|
+
type: 'collection',
|
|
241
|
+
default: {},
|
|
242
|
+
placeholder: 'Add option',
|
|
243
|
+
options: [
|
|
244
|
+
{
|
|
245
|
+
displayName: 'Acks',
|
|
246
|
+
name: 'acks',
|
|
247
|
+
type: 'boolean',
|
|
248
|
+
default: false,
|
|
249
|
+
description: 'Whether or not producer must wait for acknowledgement from all replicas',
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
displayName: 'Compression',
|
|
253
|
+
name: 'compression',
|
|
254
|
+
type: 'options',
|
|
255
|
+
default: 'none',
|
|
256
|
+
description: 'Codec used to compress messages. Version 1 of the Kafka Trigger cannot read Snappy, LZ4 or Zstd — use GZIP or None while version 1 triggers consume this topic.',
|
|
257
|
+
// eslint-disable-next-line n8n-nodes-base/node-param-options-type-unsorted-items -- 'None' (no compression) reads better last than between LZ4 and Snappy
|
|
258
|
+
options: [
|
|
259
|
+
{ name: 'GZIP', value: 'gzip' },
|
|
260
|
+
{ name: 'LZ4', value: 'lz4' },
|
|
261
|
+
{ name: 'Snappy', value: 'snappy' },
|
|
262
|
+
{ name: 'Zstd', value: 'zstd' },
|
|
263
|
+
{ name: 'None', value: 'none' },
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
displayName: 'Timeout',
|
|
268
|
+
name: 'timeout',
|
|
269
|
+
type: 'number',
|
|
270
|
+
default: DEFAULT_TIMEOUT_MS,
|
|
271
|
+
description: 'The time to await a response in ms',
|
|
272
|
+
},
|
|
273
|
+
],
|
|
274
|
+
},
|
|
275
|
+
],
|
|
276
|
+
};
|
|
277
|
+
class KafkaV2 {
|
|
278
|
+
description;
|
|
279
|
+
constructor(baseDescription) {
|
|
280
|
+
this.description = {
|
|
281
|
+
...baseDescription,
|
|
282
|
+
...versionDescription,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
async execute() {
|
|
286
|
+
const items = this.getInputData();
|
|
287
|
+
const itemData = (0, utilities_1.generatePairedItemData)(items.length);
|
|
288
|
+
const length = items.length;
|
|
289
|
+
const topicMessages = [];
|
|
290
|
+
let responseData;
|
|
291
|
+
try {
|
|
292
|
+
const producerOptions = toProducerOptions(this.getNodeParameter('options', 0));
|
|
293
|
+
const sendInputData = this.getNodeParameter('sendInputData', 0);
|
|
294
|
+
const useSchemaRegistry = this.getNodeParameter('useSchemaRegistry', 0);
|
|
295
|
+
const credentials = await this.getCredentials('kafka');
|
|
296
|
+
// Resolve the registry configuration once, before the producer is set
|
|
297
|
+
// up, so credential misconfiguration surfaces with its own error
|
|
298
|
+
// message and never leaks a connected producer. The registry client
|
|
299
|
+
// and schema ID are loop-invariant (`eventName` is read at index 0)
|
|
300
|
+
let schemaRegistry;
|
|
301
|
+
if (useSchemaRegistry) {
|
|
302
|
+
const registry = await (0, utils_1.createSchemaRegistry)(this, this.getNodeParameter('schemaRegistryUrl', 0));
|
|
303
|
+
try {
|
|
304
|
+
const eventName = this.getNodeParameter('eventName', 0);
|
|
305
|
+
const schemaId = await registry.getLatestSchemaId(eventName);
|
|
306
|
+
schemaRegistry = { registry, schemaId };
|
|
307
|
+
}
|
|
308
|
+
catch (exception) {
|
|
309
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Verify your Schema Registry configuration');
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
for (let i = 0; i < length; i++) {
|
|
313
|
+
const rawMessage = sendInputData
|
|
314
|
+
? JSON.stringify(items[i].json)
|
|
315
|
+
: this.getNodeParameter('message', i);
|
|
316
|
+
const message = await encodeMessage(rawMessage, schemaRegistry, this.getNode(), i);
|
|
317
|
+
const topic = this.getNodeParameter('topic', i);
|
|
318
|
+
const jsonParameters = this.getNodeParameter('jsonParameters', i);
|
|
319
|
+
const useKey = this.getNodeParameter('useKey', i);
|
|
320
|
+
const key = useKey ? this.getNodeParameter('key', i) : null;
|
|
321
|
+
let headers;
|
|
322
|
+
if (jsonParameters) {
|
|
323
|
+
try {
|
|
324
|
+
headers = (0, n8n_workflow_1.jsonParse)(this.getNodeParameter('headerParametersJson', i));
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Headers must be valid JSON', {
|
|
328
|
+
itemIndex: i,
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
// `Object.fromEntries` builds the object in one step rather than assigning
|
|
334
|
+
// user-supplied names as computed keys.
|
|
335
|
+
headers = Object.fromEntries((this.getNodeParameter('headersUi', i).headerValues ??
|
|
336
|
+
[]).map(({ key: headerKey, value }) => [headerKey, value]));
|
|
337
|
+
}
|
|
338
|
+
validateHeaders(headers, this.getNode(), i);
|
|
339
|
+
topicMessages.push({
|
|
340
|
+
topic,
|
|
341
|
+
messages: [
|
|
342
|
+
{
|
|
343
|
+
value: message,
|
|
344
|
+
headers,
|
|
345
|
+
key,
|
|
346
|
+
},
|
|
347
|
+
],
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
const producer = await (0, transport_1.createKafkaProducer)(credentials, producerOptions);
|
|
351
|
+
try {
|
|
352
|
+
await producer.connect();
|
|
353
|
+
responseData = await producer.sendBatch({ topicMessages });
|
|
354
|
+
}
|
|
355
|
+
finally {
|
|
356
|
+
// Unlike v1, always close the connection. The failure is logged rather than
|
|
357
|
+
// rethrown so it can never mask the error the user needs to see — but a native
|
|
358
|
+
// client that fails to disconnect leaks threads, so it must leave a trace.
|
|
359
|
+
await producer.disconnect().catch((disconnectError) => {
|
|
360
|
+
this.logger.warn('Kafka producer failed to disconnect', {
|
|
361
|
+
error: (0, ensure_error_1.ensureError)(disconnectError).message,
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
if (responseData.length === 0) {
|
|
366
|
+
responseData.push({
|
|
367
|
+
success: true,
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData });
|
|
371
|
+
return [executionData];
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
if (this.continueOnFail()) {
|
|
375
|
+
return [[{ json: { error: (0, ensure_error_1.ensureError)(error).message }, pairedItem: itemData }]];
|
|
376
|
+
}
|
|
377
|
+
// The transport throws plain UserErrors for an unusable credential, and core adds no
|
|
378
|
+
// node context to non-NodeErrors, so they would surface in the UI unattributed.
|
|
379
|
+
if (error instanceof n8n_workflow_1.NodeError)
|
|
380
|
+
throw error;
|
|
381
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), (0, ensure_error_1.ensureError)(error));
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
exports.KafkaV2 = KafkaV2;
|
|
386
|
+
//# sourceMappingURL=KafkaV2.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KafkaV2.node.js","sourceRoot":"","sources":["../../../../nodes/Kafka/v2/KafkaV2.node.ts"],"names":[],"mappings":";;;AAEA,iEAA6D;AAU7D,+CAA6F;AAE7F,gDAA0D;AAE1D,oCAAuE;AACvE,2CAA6E;AAE7E,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAQjC;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAoB;IAC9C,OAAO;QACN,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,wEAAwE;QACxE,0EAA0E;QAC1E,kEAAkE;QAClE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAA6B;QACxE,OAAO,EAAG,OAAO,CAAC,OAA8B,IAAI,kBAAkB;KACtE,CAAC;AACH,CAAC;AAQD;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAC3B,OAAe,EACf,cAAkD,EAClD,IAAW,EACX,SAAiB;IAEjB,IAAI,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC;IAEpC,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,2BAA2B,EAAE;YAC/D,WAAW,EACV,6GAA6G;YAC9G,SAAS;SACT,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,MAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACR,6EAA6E;QAC7E,qEAAqE;QACrE,iCAAiC;QACjC,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,2CAA2C,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAChG,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,OAAyB,EAAE,IAAW,EAAE,SAAiB;IACjF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,iCAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,kBAAkB,GAAyB;IAChD,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC9D,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,iCAAiC;IAC9C,QAAQ,EAAE;QACT,IAAI,EAAE,OAAO;KACb;IACD,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;IACnC,WAAW,EAAE;QACZ;YACC,oFAAoF;YACpF,mFAAmF;YACnF,iFAAiF;YACjF,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;SACd;QACD;YACC,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,iBAAiB;YAC9B,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,iBAAiB,EAAE,CAAC,IAAI,CAAC;iBACzB;aACD;SACD;KACD;IACD,UAAU,EAAE;QACX;YACC,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,0CAA0C;SACvD;QACD;YACC,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,6DAA6D;SAC1E;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,aAAa,EAAE,CAAC,KAAK,CAAC;iBACtB;aACD;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,wBAAwB;SACrC;QACD;YACC,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACd;QACD;YACC,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,0CAA0C;SACvD;QACD;YACC,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,iBAAiB,EAAE,CAAC,IAAI,CAAC;iBACzB;aACD;YACD,WAAW,EAAE,qCAAqC;YAClD,OAAO,EAAE,EAAE;YACX,WAAW,EACV,uFAAuF;SACxF;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,8BAA8B;SAC3C;QACD;YACC,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,MAAM,EAAE,CAAC,IAAI,CAAC;iBACd;aACD;YACD,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iBAAiB;SAC9B;QACD;YACC,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,iBAAiB,EAAE,CAAC,IAAI,CAAC;iBACzB;aACD;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,kEAAkE;SAC/E;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,iBAAiB;YACvB,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,cAAc,EAAE,CAAC,KAAK,CAAC;iBACvB;aACD;YACD,WAAW,EAAE;gBACZ,cAAc,EAAE,IAAI;aACpB;YACD,OAAO,EAAE,EAAE;YACX,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE;wBACP;4BACC,WAAW,EAAE,KAAK;4BAClB,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;yBACX;wBACD;4BACC,WAAW,EAAE,OAAO;4BACpB,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;yBACX;qBACD;iBACD;aACD;SACD;QACD;YACC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,cAAc,EAAE,CAAC,IAAI,CAAC;iBACtB;aACD;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,yCAAyC;SACtD;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE;gBACR;oBACC,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,yEAAyE;iBACtF;gBACD;oBACC,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,MAAM;oBACf,WAAW,EACV,iKAAiK;oBAClK,0JAA0J;oBAC1J,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC/B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;wBAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;qBAC/B;iBACD;gBACD;oBACC,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kBAAkB;oBAC3B,WAAW,EAAE,oCAAoC;iBACjD;aACD;SACD;KACD;CACD,CAAC;AAEF;IACC,WAAW,CAAuB;IAElC,YAAY,eAAyC;QACpD,IAAI,CAAC,WAAW,GAAG;YAClB,GAAG,eAAe;YAClB,GAAG,kBAAkB;SACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAA,kCAAsB,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,MAAM,aAAa,GAA4B,EAAE,CAAC;QAElD,IAAI,YAA2B,CAAC;QAEhC,IAAI,CAAC;YACJ,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAY,CAAC;YAE3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAY,CAAC;YAEnF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAmB,OAAO,CAAC,CAAC;YAEzE,sEAAsE;YACtE,iEAAiE;YACjE,oEAAoE;YACpE,oEAAoE;YACpE,IAAI,cAAkD,CAAC;YAEvD,IAAI,iBAAiB,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAoB,EAC1C,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAW,CACvD,CAAC;gBAEF,IAAI,CAAC;oBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;oBAClE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC7D,cAAc,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACzC,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACpB,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,2CAA2C,CAAC,CAAC;gBAC3F,CAAC;YACF,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,aAAa;oBAC/B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/B,CAAC,CAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAY,CAAC;gBAEnD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEnF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAW,CAAC;gBAE1D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBAElE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAY,CAAC;gBAE7D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBAExE,IAAI,OAAyB,CAAC;gBAE9B,IAAI,cAAc,EAAE,CAAC;oBACpB,IAAI,CAAC;wBACJ,OAAO,GAAG,IAAA,wBAAS,EAClB,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAW,CAC1D,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACR,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,EAAE;4BAC1E,SAAS,EAAE,CAAC;yBACZ,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,2EAA2E;oBAC3E,wCAAwC;oBACxC,OAAO,GAAG,MAAM,CAAC,WAAW,CAE1B,CAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAiB,CAAC,YAAY;wBACnE,EAAE,CACH,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACxD,CAAC;gBACH,CAAC;gBAED,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAE5C,aAAa,CAAC,IAAI,CAAC;oBAClB,KAAK;oBACL,QAAQ,EAAE;wBACT;4BACC,KAAK,EAAE,OAAO;4BACd,OAAO;4BACP,GAAG;yBACH;qBACD;iBACD,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEzE,IAAI,CAAC;gBACJ,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACzB,YAAY,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;YAC5D,CAAC;oBAAS,CAAC;gBACV,4EAA4E;gBAC5E,+EAA+E;gBAC/E,2EAA2E;gBAC3E,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;wBACvD,KAAK,EAAE,IAAA,0BAAW,EAAC,eAAe,CAAC,CAAC,OAAO;qBAC3C,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,IAAI;iBACb,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAC5D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,EAC1C,EAAE,QAAQ,EAAE,CACZ,CAAC;YAEF,OAAO,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,qFAAqF;YACrF,gFAAgF;YAChF,IAAI,KAAK,YAAY,wBAAS;gBAAE,MAAM,KAAK,CAAC;YAE5C,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type { ITriggerFunctions, Logger } from 'n8n-workflow';
|
|
2
|
+
import type { DataEmitterOptions, KafkaMessageParserOptions, ResolveOffsetMode } from './consumer';
|
|
3
|
+
import type { KafkaConsumerOptions } from './transport';
|
|
4
|
+
/** v1.3's `options` collection. Every field is optional: a `collection` node
|
|
5
|
+
* parameter only carries the keys the user actually set, never its declared
|
|
6
|
+
* UI defaults, so the converters below resolve each one explicitly. */
|
|
7
|
+
export interface KafkaTriggerV2Options extends KafkaMessageParserOptions {
|
|
8
|
+
batchSize?: number;
|
|
9
|
+
partitionsConsumedConcurrently?: number;
|
|
10
|
+
errorRetryDelay?: number;
|
|
11
|
+
sessionTimeout?: number;
|
|
12
|
+
heartbeatInterval?: number;
|
|
13
|
+
rebalanceTimeout?: number;
|
|
14
|
+
fetchMaxBytes?: number;
|
|
15
|
+
fetchMinBytes?: number;
|
|
16
|
+
maxInFlightRequests?: number;
|
|
17
|
+
fromBeginning?: boolean;
|
|
18
|
+
autoCommitInterval?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Everything `trigger()` needs, already read, defaulted and converted. The
|
|
22
|
+
* node's own code only ever deals with `settings.xxx`, never a raw
|
|
23
|
+
* `getNodeParameter` call or an `options.foo as bar`.
|
|
24
|
+
*/
|
|
25
|
+
export interface KafkaTriggerSettings {
|
|
26
|
+
topic: string;
|
|
27
|
+
/** Whether this is an editor test run, which gets a throwaway consumer group. */
|
|
28
|
+
isManualRun: boolean;
|
|
29
|
+
/** The Group ID as typed, before a manual run's suffix. For error messages. */
|
|
30
|
+
configuredGroupId: string;
|
|
31
|
+
/** Ready for the consumer factory, including the manual-run group. */
|
|
32
|
+
consumer: KafkaConsumerOptions;
|
|
33
|
+
/** Ready for the data emitter, including the manual-run offset mode. */
|
|
34
|
+
emitter: DataEmitterOptions;
|
|
35
|
+
/** The subset of options that changes the parsed item shape. */
|
|
36
|
+
parser: KafkaMessageParserOptions;
|
|
37
|
+
batchSize?: number;
|
|
38
|
+
partitionsConsumedConcurrently?: number;
|
|
39
|
+
errorRetryDelay?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Reads and resolves every node parameter up front, so the trigger below never
|
|
43
|
+
* touches one directly. The single cast is contained here: a `collection`
|
|
44
|
+
* parameter is untyped at the boundary, and this is the one place that knows
|
|
45
|
+
* its shape.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getSettings(this: ITriggerFunctions): KafkaTriggerSettings;
|
|
48
|
+
/**
|
|
49
|
+
* The consumer group a run joins. A manual run gets a throwaway one.
|
|
50
|
+
*
|
|
51
|
+
* Sharing the configured group with an activated workflow means Kafka splits the
|
|
52
|
+
* partitions between the two, and a test run resolves offsets immediately, so
|
|
53
|
+
* pressing "Listen for test event" would mark messages read that the activated
|
|
54
|
+
* workflow never saw. A group of its own leaves production untouched. v1 has
|
|
55
|
+
* this defect and needs its own fix.
|
|
56
|
+
*
|
|
57
|
+
* The throwaway group is left behind on the broker; Kafka expires an empty group
|
|
58
|
+
* on its own once its retention window passes.
|
|
59
|
+
* @param configured - The node's Group ID parameter
|
|
60
|
+
* @param isManualRun - Whether this is an editor test run
|
|
61
|
+
*/
|
|
62
|
+
export declare function manualRunGroupId(configured: string, isManualRun: boolean): string;
|
|
63
|
+
/**
|
|
64
|
+
* Explains a group authorization failure on a manual run, where the group the
|
|
65
|
+
* broker refused is one the user never chose and cannot see.
|
|
66
|
+
*
|
|
67
|
+
* On a cluster with an authorizer, group ACLs are usually granted `LITERAL` on
|
|
68
|
+
* the exact Group ID. The throwaway group is a different resource name, so the
|
|
69
|
+
* join is denied while the activated workflow keeps working: "Listen for test
|
|
70
|
+
* event" fails on its own, and the raw broker message names neither the group
|
|
71
|
+
* nor the fix. A `PREFIXED` ACL on the stable part covers every future test run.
|
|
72
|
+
*
|
|
73
|
+
* Only manual runs are rewritten. On an activated workflow the group is exactly
|
|
74
|
+
* what the user typed, so the broker's own message is already actionable.
|
|
75
|
+
* @param error - The error raised from the library's log stream
|
|
76
|
+
* @param configuredGroupId - The node's Group ID parameter, before the suffix
|
|
77
|
+
* @param isManualRun - Whether this is an editor test run
|
|
78
|
+
*/
|
|
79
|
+
export declare function explainManualRunGroupDenial(error: Error, configuredGroupId: string, isManualRun: boolean): Error;
|
|
80
|
+
/**
|
|
81
|
+
* Maps the node's options onto the consumer factory.
|
|
82
|
+
*
|
|
83
|
+
* `rebalanceTimeout` is the one value not passed straight through. In this
|
|
84
|
+
* library it also becomes `max.poll.interval.ms`, the deadline to finish one
|
|
85
|
+
* batch before the consumer is dropped from its group, and the library doubles
|
|
86
|
+
* whatever it is given (`_consumer.js:711`). So the workflow's own execution
|
|
87
|
+
* timeout is the deadline we actually want, and it is halved here to survive
|
|
88
|
+
* that doubling, then capped at {@link MAX_REBALANCE_TIMEOUT_MS}. An unbounded
|
|
89
|
+
* workflow timeout (<= 0), or one that is not a usable number, has no deadline
|
|
90
|
+
* to derive from, so the Rebalance Timeout option stands in.
|
|
91
|
+
* @param options - The node's `options` collection
|
|
92
|
+
* @param groupId - The node's consumer group id
|
|
93
|
+
* @param executionTimeoutSeconds - `getWorkflowSettings().executionTimeout`, raw
|
|
94
|
+
* @param logger - Warns when a supplied value could not be used as given
|
|
95
|
+
*/
|
|
96
|
+
export declare function toConsumerOptions(options: KafkaTriggerV2Options, groupId: string, executionTimeoutSeconds: number | undefined, logger?: Logger): KafkaConsumerOptions;
|
|
97
|
+
/**
|
|
98
|
+
* Maps the node's options and offset settings onto the emitter.
|
|
99
|
+
*
|
|
100
|
+
* `executionTimeoutSeconds` is passed through raw: n8n treats <= 0 as
|
|
101
|
+
* explicitly unbounded, and the emitter handles that. Coercing it to a default
|
|
102
|
+
* here would reintroduce a deadline the user switched off.
|
|
103
|
+
* @param options - The node's `options` collection
|
|
104
|
+
* @param resolveOffsetMode - Already resolved, including the manual-mode override
|
|
105
|
+
* @param allowedStatuses - Only meaningful when the mode is `onStatus`
|
|
106
|
+
* @param executionTimeoutSeconds - `getWorkflowSettings().executionTimeout`, raw
|
|
107
|
+
*/
|
|
108
|
+
export declare function toEmitterOptions(options: KafkaTriggerV2Options, resolveOffsetMode: ResolveOffsetMode, allowedStatuses: string[], executionTimeoutSeconds: number | undefined): DataEmitterOptions;
|
|
109
|
+
//# sourceMappingURL=TriggerSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerSettings.d.ts","sourceRoot":"","sources":["../../../../nodes/Kafka/v2/TriggerSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;uEAEuE;AACvE,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,WAAW,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,wEAAwE;IACxE,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gEAAgE;IAChE,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAiGD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,CA2CzE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAEjF;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,OAAO,GAClB,KAAK,CAOP;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,MAAM,GAAG,SAAS,EAC3C,MAAM,CAAC,EAAE,MAAM,GACb,oBAAoB,CAqFtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,MAAM,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAAG,SAAS,GACzC,kBAAkB,CAOpB"}
|