Skip to content

feat: extend connectorTrigger with polling and batching options - #483

Open
Swapnil Nagar (swapnil-nagar) wants to merge 1 commit into
v4.xfrom
feat/connector-trigger-polling
Open

Swapnil Nagar (swapnil-nagar) wants to merge 1 commit into
v4.xfrom
feat/connector-trigger-polling

Conversation

@swapnil-nagar

Copy link
Copy Markdown
Contributor

Summary

Extend the Node.js connectorTrigger contract with typed polling and batching options, aligning with Azure/azure-functions-python-library#370.

Changes

  • Add documented connector trigger options:
    • deliveryMode: 'Poll' | 'Webhook'
    • connection
    • triggerConfigName
    • cardinality: 'one' | 'many'
    • maxBatchSize
    • maxConcurrentCalls
    • targetPendingEventThreshold
  • Require connection and triggerConfigName when deliveryMode is 'Poll', with an error listing missing settings.
  • Preserve existing default/webhook usage and custom binding properties.
  • Leave optional settings omitted so the extension supplies host-owned defaults.
  • Retain existing Node.js batch payload conversion behavior.
  • Bump the package version and runtime version constant from 4.16.5 to 4.16.6.

Test Coverage

  • Polling configuration and required-field validation.
  • Default/webhook compatibility and custom properties.
  • Binding metadata for single-event and batch cardinalities.
  • Independent batch/concurrency overrides and zero-value preservation.
  • String, byte, and empty batch payload conversion.
  • Public TypeScript contracts, typed batch handlers, and invalid option types.

Validation

  • Full test suite: 481 passing.
  • Focused connector and payload-conversion tests: 48 passing.
  • Targeted ESLint checks: passed.
  • TypeScript compilation (--noEmit): passed.
  • Webpack development build: passed.
  • Package/runtime version consistency: passed.
  • CRLF-aware Git whitespace check: passed.

Notes

  • Delivery mode uses canonical TypeScript string literals rather than Python's case-insensitive enum parsing.
  • Live Azure Functions connector-extension integration was not exercised.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant