Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 19, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

* refactor: add shared pagination helpers for Hookdeck API alignment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: extend pagination helpers with full Hookdeck query operators

- Add gt, lt operators to date filter (in addition to gte, lte)
- Add any operator for date, string, and number filters
- Add contains operator for string filters
- Add number filter with all comparison operators
- Add array param parser for bracket notation (item[0]=a&item[1]=b)
- Remove defaults from ParseDir and ParseOrderBy (store handles defaults)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: simplify pagination helpers to only support gte/lte

- Remove gt, lt, any, contains operators (stores don't support yet)
- Return 400 for unsupported operators with clear message
- Remove string and number filter helpers (not needed yet)
- Keep array param parser for future use

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: update error response format to Hookdeck style

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: update list endpoints to Hookdeck response format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: remove created_at filtering from ListTenant

ListTenant does not support date filtering - only basic pagination with
dir parameter.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: update OpenAPI spec and code for new pagination format

- Rename list responses to {Entity}PaginatedResult pattern
- Rename PaginationInfo to SeekPagination
- Update query params: dir, order_by, bracket notation dates
- Add APIErrorResponse and EventPaginatedResult schemas

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: update e2e tests for new API format

- Update list response assertions: data -> models
- Update pagination cursor access: body["next"] -> body["pagination"]["next"]
- Update date filter tests: start= -> event_time[gte]=
- Update sort order tests: sort_order= -> dir=
- Update validation error assertions: map format -> array format
- Legacy endpoint tests unchanged (backward compatibility)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add GT/LT operator support to time filters

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: add cursor pagination with time filter tests

Add comprehensive tests for cursor-based pagination combined with time
filters (GTE/LTE/GT/LT):

- drivertest/pagination.go: TimeFilterWithCursor test suite covering
  paginating within time windows, boundary exclusion with GT/LT,
  backward pagination, and both events and deliveries

- e2e/log_test.go: API-level test for cursor + time filter interaction
  using explicit event timestamps for deterministic ordering

- pagination.go: Update parseDateTime to try RFC3339Nano first to
  handle millisecond precision timestamps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add time field to PublishRequest schema

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: reject requests with both next and prev cursors

* fix: return literal ["*"] for tenant topics with wildcard destination

Previously expanded to availableTopics list, now returns ["*"] directly.

* docs: improve date format error message with examples

Show example timestamps in the validation error to make it clearer
that millisecond precision (RFC3339Nano) is also supported.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@pull pull bot locked and limited conversation to collaborators Jan 19, 2026
@pull pull bot added the ⤵️ pull label Jan 19, 2026
@pull pull bot merged commit 78f162e into erickirt:main Jan 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant