matt
6c29e48204
Feat: Dynamic worker label assign ( #3137 )
...
* feat: initial wiring work on desired labels
* feat: initial wiring
* chore: gen python
* fix: use the whole desired label thing instead
* fix: more wiring, improve types
* fix: sql type
* fix: len check
* chore: gen python
* fix: initial plural label work
* fix: store the labels properly on the task
* fix: skip cache on override
* fix: bug
* fix: scoping bug whoops
* chore: lint
* fix: send labels back over the api correctly
* feat: python test
* fix: lint
* fix: comment
* fix: override
* fix: namespaces, ugh
* fix: no need for error here
* chore: version
* feat: ruby, go, ts
* feat: versions
* fix: appease the rubocop
* chore: lint
* chore: bundle install
* fix: tests
* chore: lint
* chore: lint more
* fix: ts test
* fix: rb
* chore: gen
* chore: reset gemfile
* chore: reset changelog
* fix: pgroup
* fix: tests, part i
* Revert "chore: reset changelog"
This reverts commit b63bf7d3e5 .
* Revert "chore: reset gemfile"
This reverts commit bb848bb6f0 .
* fix: go -> golang mapping hack
* fix: go enums
* fix: appease the cop
* fix: namespace
* chore: gen
2026-03-04 11:03:58 -05:00
Gabe Ruttner
2fdc47a6af
feat: multiple slot types ( #2927 )
...
* feat: adds support for multiple slot types, primarily motivated by durable slots
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-02-17 05:43:47 -08:00
Mohammed Nafees
eefbcdc532
Return event ID after successful webhook trigger ( #3039 )
...
* return webhook event ID on successful receive
* fix pytest
* err handling for json unmarshal
* if clause
2026-02-16 18:36:51 +01:00
Gabe Ruttner
7875d78057
Feat: Official Ruby SDK ( #3004 )
...
* feat: initial ruby sdk
* fix: run listener
* fix: scope
* feat: rest feature clients
* fix: bugs
* fix: concurrent register
* fix: tests and ergonomics
* docs: all of them
* chore: lint
* feat: add RBS
* feat: add GitHub Actions workflow for Ruby SDK with linting, testing, and publishing steps
* chore: lint
* refactor: simplify load path setup for Hatchet REST client and remove symlink creation
* fix: cert path
* fix: test
* fix: blocking
* fix: ensure Hatchet client is only initialized once across examples
* fix: tests
* remove: unused example
* fix: bubble up errors
* test: skip flaky for now
* remove: lifespans
* fix: durable context bugs
* fix: bulk replay
* fix: tests
* cleanup: generate tooling
* fix: integration test
* chore: lint
* release: 0.1.0
* chore: remove python comments
* refactor: remove OpenTelemetry configuration and related unused options
* fix: default no healthcheck
* chore: lockfile
* feat: register as ruby
* chore: lint
* chore: update py/ts apis to include ruby
* chore: docs pass
* chore: lint
* chore: generate
* chore: cleanup
* chore: generate examples
* tests: add e2e tests
* tests: cache examples dependencies
* fix: namespace
* fix: namespace
* fix: namespaces
* chore:lint
* fix: improve cancellation workflow polling logic and add error handling
* revert: py/ts versions
2026-02-15 14:32:15 -08:00
Jishnu
9e0182ec77
feat: add python and typescript webhook client ( #2959 )
...
* feat: add python webhook client
* refactor: python webhook client, webhook tests
* add: ts webhook client, example
* remove unwanted assert
* refactor: webhook update eventkey optional
* fix lint
* bump version
* fix: webhooks.create args, webhook example
* fix: infer auth_type from auth payload python
* fix: infer auth type from payload ts
* remove auth type magic strings
2026-02-13 14:04:08 -05:00
Mohammed Nafees
4fd7b94751
Add support for Svix webhooks ( #2996 )
...
* support Svix webhooks
* add migration
* use http status codes
* comment fix
* custom svix verification logic
* copilot comments
* copilot comments
2026-02-11 16:41:36 +01:00
Gabe Ruttner
4054d170d8
chore: proto naming conventions ( #2913 )
...
* fix: add type override in sqlc.yaml
* chore: gen sqlc
* chore: big find and replace
* chore: more
* fix: clean up bunch of outdated `.Valid` refs
* refactor: remove `sqlchelpers.uuidFromStr()` in favor of `uuid.MustParse()`
* refactor: remove uuidToStr
* fix: lint
* fix: use pointers for null uuids
* chore: clean up more null pointers
* chore: clean up a bunch more
* fix: couple more
* fix: some types on the api
* fix: incorrectly non-null param
* fix: more nullable params
* fix: more refs
* refactor: start replacing tenant id strings with uuids
* refactor: more tenant id uuid casting
* refactor: fix a bunch more
* refactor: more
* refactor: more
* refactor: is that all of them?!
* fix: panic
* fix: rm scans
* fix: unwind some broken things
* chore: tests
* fix: rebase issues
* fix: more tests
* fix: nil checks
* Refactor: Make all UUIDs into `uuid.UUID` (#2897 )
* refactor: remove a bunch more string uuids
* refactor: pointers and lists
* refactor: fix all the refs
* refactor: fix a few more
* fix: config loader
* fix: revert some changes
* fix: tests
* fix: test
* chore: proto
* fix: durable listener
* fix: some more string types
* fix: python health worker sleep
* fix: remove a bunch of `MustParse`s from the various gRPC servers
* fix: rm more uuid.MustParse calls
* fix: rm mustparse from api
* fix: test
* fix: merge issues
* fix: handle a bunch more uses of `MustParse` everywhere
* fix: nil id for worker label
* fix: more casting in the oss
* fix: more id parsing
* fix: stringify jwt opt
* fix: couple more bugs in untyped calls
* fix: more types
* fix: broken test
* refactor: implement `GetKeyUuid`
* cleanup
* gen
* missed name
* slot naming consistency
* snake_case
* lint
* regenerate python
* typescript sdk
* deprecated getters
* lint
* fix tests
* version bumps
* chore: regen sqlc
* chore: replace pgtype.UUID again
* fix: bunch more type errors
* no compat
* fix: remove isort
* note
* Update sdks/python/CHANGELOG.md
Co-authored-by: matt <mrkaye97@gmail.com >
* feedback
* fix: no isort in ci
* tui
* ts lint
* lint
* weird undefined
* fix test
* last changes
* lint
* fix: ts child spawning
* consistent naming
* map fields
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-02-05 10:35:13 -08:00
Jishnu
ed43cae0a2
feat: Extend webhook support for scope_expression and payload ( #2874 )
...
* add: scope_expression and payload columns for v1_webhook
* refactor: insert or update sql cmds for v1_webhook
* feat: update api clients, openapi schema for new webhook body
* refactor: receiver and transformer for v1 webhook
* add: python sdk changes
* feat: ts sdk changes
* feat: add FE for webhook new params
* fix: scope expression empty payload
* add: support for scope and payload for go client
* fix: lint
* fix: error message UI on webhook
* fix: lint
* fix: migraiton conflict, build failure
* fix: error handling
* update docs, add tests
* fix: lint, test file name
2026-02-04 12:44:52 -05:00
matt
ffe9f5ce74
Log Search Frontend, Part II ( #2886 )
...
* fix: don't toggle selection if a user is dragging
* fix: command selection state
* fix: close search bar on enter
* fix: improve search bar styling a bit, make it more consistent with designs
* chore: tsc
* Feat: Logs Frontend, Part III (#2888 )
* fix: propagate retry count through properly
* feat: attempt switcher
* fix: attempt numbers
* feat: add attempt param to log query
* feat: wiring
* feat: attempt filter
* chore: changelog
* fix: use the button component
* fix: only close on enter when in FTS mode
* fix: pass retry count and log level in Go
* fix: feedback
* chore: lint
* fix: rm cruft comment
2026-01-30 13:17:21 -05:00
matt
a3fe89ef03
Feat: Workflow input JSON schema in trigger preview ( #2851 )
...
* feat: add input json schema to workflow version
* feat: add json schema to putworkflow proto
* feat: wire up writes of the json schema
* chore: gen python
* feat: send json schema from the python code
* feat: wiring
* feat: pass json schema into code editor
* feat: pass prop
* fix: clean up validation stuff
* feat: allow zod `input` as optional ts field
* fix: try except logic hack
* fix: rename input -> inputValidator for consistency
* chore: gen api
* fix: improve hack slightly
* chore: changelogs, versions
* feat: zod example
* chore: rework api a bit
* fix: tsc, allow schema to update
* fix: improve loading state
* fix: api cleanup, sqlc cleanup
* fix: initial mount
* chore: lint
* chore: lint
* chore: tsc
* fix: lint
* fix: unwind unneeded change
* [Python] Feat: Default additional metadata (#2876 )
* Add doc about autoscaling workers (#2864 )
* add doc for autoscaling workers
* oldest also in running stats
* chore(deps): bump google.golang.org/api from 0.262.0 to 0.263.0 (#2869 )
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.262.0 to 0.263.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases )
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.262.0...v0.263.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.263.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump github.com/getsentry/sentry-go from 0.41.0 to 0.42.0 (#2870 )
Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go ) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases )
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-go/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump hatchet-sdk in /examples/python/quickstart (#2871 )
Bumps hatchet-sdk from 1.22.10 to 1.22.11.
---
updated-dependencies:
- dependency-name: hatchet-sdk
dependency-version: 1.22.11
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: default additional meta
* feat: wiring
* chore: changelog, version
* fix: copy
* feat: add default meta to stubs
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Mohammed Nafees <hello@mnafees.me >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: migration ver
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Mohammed Nafees <hello@mnafees.me >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 11:38:25 -05:00
matt
dcf1d377ca
Feat: Add order by direction param to v1LogLineList ( #2849 )
...
* feat: add order by direction param
* fix: order ascending on existing fe
* chore: gen openapi
2026-01-26 14:01:03 -05:00
matt
2837573b6c
[Go] Feat: Webhooks feature client for the Go SDK ( #2792 )
...
* feat: webhooks feature client
* feat: add webhook client
* feat: add v1 webhook client
* feat: example
* fix: webhook client impl
* fix: example + error handling + other client
* fix: missing webhook resources
* chore: gen
2026-01-23 11:04:34 -05:00
matt
b093cc4878
Feat: Add search and levels to logs API ( #2835 )
...
* feat: add log levels and search query to log query
* feat: pass levels, search through
* feat: add log level to query
* feat: wire up levels and search query
2026-01-21 14:27:47 -05:00
Mohammed Nafees
6eba6fa91f
Billing changes ( #2643 )
...
* make changes for billing
* progress around redesign
* meter callback
* modify limits
* upcoming subscription
* fix lint
* fix payment methods
* fix build
* PR comments
* address PR comments
* update cloud contracts
* fix migration name
* fix json serialization error
* loader and fixed for managed compute
* PR comments
* upgrade Go version
* fix migration name
* fix CI
* fix lint CI
* golangci-lint fix
* dedicated subscription
2026-01-19 12:15:11 +01:00
matt
3981626804
Fix: Concurrency display on workflow page ( #2780 )
...
* chore: add task concurrency
* feat: wire up new concurrency field
* feat: clean up table
* feat: some page cleanup
* chore: cleanup
* chore: revert python changes
* feat: code highlighter
* chore: lint
2026-01-12 15:44:44 -05:00
matt
ebe2f9acfd
Feat: Add additional meta to the run detail getter ( #2770 )
...
* feat: add additional meta to proto
* feat: propagate metadata
* feat: expand test
* fix: wiring
* chore: version
* chore: lint
2026-01-12 13:46:16 -05:00
matt
73229b0e21
Feat: Run detail getter on the engine ( #2725 )
...
* feat: initial rpc
* chore: gen python
* feat: add more fields
* chore: gen again
* fix: finish cleaning up python
* feat: start wiring up api
* fix: panic
* feat: start implementing getters
* fix: improve api
* feat: expand return type a bit
* feat: more wiring
* feat: more wiring
* fix: finish wiring up input reads
* fix: admin client cleanup
* fix: ordering
* fix: add all_finished param
* feat: wire up all finished
* fix: propagate allfinished
* fix: propagate external ids
* chore: gen protos again
* fix: one more thing
* chore: rename
* chore: rename
* chore: fix typing
* fix: cleanup
* feat: add queued default
* fix: wiring
* feat: running check
* fix: query
* chore: rm print
* fix: edge case handling
* feat: python test
* feat: add `done` field
* feat: pass `done` through
* fix: test done flag
* fix: cleanup
* fix: handle cancelled
* refactor: clean up implementations of status handling
* fix: feedback
* fix: done logic
* fix: export run status
* fix: couple small bugs
* fix: handle done
* fix: properly extract input
* fix: bug with sequential dags
* refactor: improve performance of lookup query slightly
* refactor: add helpers on V1StepRunData for getting input + parsing bytes
* refactor: create listutils internal package
* refactor: status derivation
* fix: rm unused method
* fix: sqlcv1 import
* fix: error log
* fix: 404 on not found
* feat: changelog, async method
2026-01-08 12:44:01 -05:00
matt
1c4642f33d
Chore: Regen SDKs ( #2731 )
...
* chore: gen python
* chore: start generating ts
* chore: regen ts
* chore: changelog
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-31 08:34:48 -07:00
abelanger5
dd9c36c315
refactor: remove v0 paths from codebase ( #2728 )
...
* refactor: remove v0 paths from codebase
* remove uiVersion references
2025-12-30 09:57:00 -05:00
Mohammed Nafees
58758d35b2
Publish COULD_NOT_SEND_TO_WORKER OLAP event due to worker backlog ( #2710 )
...
* could not send to worker OLAP event
* fix lint and PR comments
* submodule GHA
* remove submodule
* no gitsubmodule
* fix migration
* revert sdk workflows
* revert sdk workflows
* revert sdk workflows
2025-12-26 09:35:15 -07:00
Gabe Ruttner
51464917f7
Feat: bulk management schedules ( #2687 )
...
* fix: filter + pagination state handling hack
* fix: use location.pathname
* update to go 1.25
* fix: add version to sdk-go.yml
* schedule run bulk actions
* lint
* typescript
* python
* lint
* docs
* lint docs
* lint
* feedback
* fix lint
* rm unused chunk
* rm statues
* i dont understand python linting sometimes
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-12-23 07:44:12 -08:00
matt
bb9f9e2609
Feat: New event getter + janky v0 fix ( #2667 )
...
* feat: v1 event get api
* feat: initial api work
* refactor: clean up existing impl
* chore: gen python
* feat: event get on the events client
* fix: order
* chore: another handler
* chore: new populator hack
* fix: populator
* chore: gen
* chore: version
2025-12-17 11:21:59 -05:00
matt
3a94d06bc6
Feat: Add oldest queued + running jobs to task stats ( #2638 )
...
* feat: add oldest item in task stat
* feat: extend query
* feat: api wiring
* fix: where we compute this
* chore: gen sdk
* chore: changelog, version
2025-12-11 09:54:12 -05:00
Jishnu
e82915b626
feat: add pagination support for V1LogLineList ( #2354 )
...
* feat: pagination for v1 loglines list
* add: sqlc v1 query for loglines count
* add: generated rest-client changes for python sdk
* refactor: frontend logs UI with pagination elements
* add: ts-sdk logline pagination, py logline list pagination docstring
* feat: add since queryparam for v1logline, add infinitescroll pagination on FE
* add custom polling for logs refresh on FE, remove inefficient default refresh logic
* add since queryparam of v1logline to all rest-clients
* refactor: remove offset query param, add until query param(v1logline)
* remove pagination from v1loglinelist
* fix: inconsistent scroll behaviour, add pagination response schema on v1loglist
* add: infinite scroll behavior for smooth log scrolling; prefetch next page logs in advance
* fix: pagination scroll, when task is running, remove stale pagination data when logs tab inactive
* chore: lint
* chore: lint
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-11-07 17:38:29 +01:00
Mohammed Nafees
91cdb28ddf
Logs for liveness and readiness endpoints + PG conn stats ( #2460 )
...
* error logs for liveness and readiness endpoints with pg information
* use context timeout of 3 seconds
* context
2025-10-30 14:35:02 +01:00
Mohammed Nafees
56eb054a1e
New tenant task stats endpoint ( #2433 )
...
* tenant workflow stats endpoint
* not olap but task
* lint
* enable rate limiting on endpoint
* fix SQL query
* spelling
* lesser CTEs
* fix query
* rename to task
* update query
* fix nil pointer
* typed API object
* queues have counts
2025-10-28 16:52:19 +01:00
matt
5b5adcb8ed
Feat: Scheduled run detail view, bulk cancel / replay with pagination helper ( #2416 )
...
* feat: endpoint for listing external ids
* feat: wire up external id list
* chore: regen api
* feat: py sdk wrapper
* fix: since type
* fix: log
* fix: improve defaults for statuses
* feat: docs
* feat: docs
* fix: rm extra file
* feat: add id column to scheduled runs
* feat: side panel for scheduled runs
* fix: side panel header pinned
* fix: border + padding
* chore: gen
* chore: lint
* chore: changelog, version
* fix: spacing of cols
* fix: empty webhook resource limit
* fix: tsc
* fix: sort organizations and tenants alphabetically
2025-10-15 11:36:45 -04:00
matt
8fd90a29a6
Feat: Pausable Crons ( #2395 )
...
* feat: update query, patch route
* feat: api for update
* fix: simplify ui a bit
* feat: wire up fe
* feat: improve copy, spinners
* fix: invert naming to avoid horrible double negative
* fix: improve handling of optional types
* fix: last bits of naming
* feat: persist enabled flag across workflow versions properly
* fix: update spinner
2025-10-08 11:12:14 -04:00
Mohammed Nafees
648244fc9c
use member populator for tenant member API ops ( #2363 )
2025-09-29 21:54:42 +02:00
matt
c1e5fa828b
FE Polish, VI: Make badges dynamically sized, use slate instead of fuchsia for queued, display ms on dates ( #2352 )
...
* fix: rm w-full from badges
* fix: use slate instead of fuchsia for queued
* fix: use `date-funs` to parse + display dates
* fix: worker styling
* debug: redocly
* debug: redocly
* debug: redocly
* debug: redocly
* debug: redocly
* debug: redocly
* feat: direct workflow id getter
* fix: dedupe
* fix: return workflow type
* chore: lint
* chore: lint
* fix: overflow
* fix: include tenant in query for safety
2025-09-26 13:59:06 -04:00
matt
ced1ad43aa
Feat: Filters UI, Events page refactor, Misc. other fixes ( #2276 )
...
* feat: initial filters page work
* feat: cols
* feat: start implementing filters in the hook
* fix: rm some effects
* fix: filter pagination
* fix: placeholder data, query key
* refactor: factor out popover + columns
* fix: tsc
* fix: empty state
* fix: move filters tab down
* fix: remove run id from scheduled runs table
* fix: rm unused
* fix: rm tmp change
* fix: rm one more
* fix: lint
* fix: colname
* feat: declarative checkmark, col key to name mapping
* fix: add more col key to name mappings
* fix: rm log
* fix: rm id checkboxes for events and filters
* refactor: start fixing event cols
* refactor: events hook
* fix: event id
* fix: clickable id
* fix: unwind example
* feat: delete mutation
* feat: form + schema
* feat: update + create mutations
* feat: filter detail
* feat: filter create
* feat: modify cols
* feat: filter detail side panel
* fix: json fallback
* fix: cursors, etc
* fix: cursor
* fix: invalidate
* fix: modal copy
* chore: lint
* fix: openapi spec
2025-09-11 13:41:12 -04:00
Gabe Ruttner
9459dad14d
Feat improve auth error handling ( #1893 )
...
* common errors
* rate limits
* add IP extractor to api server
* use echo rate limit middleware func
* use rate limit for webhooks as well
---------
Co-authored-by: Mohammed Nafees <hello@mnafees.me >
2025-09-11 18:30:07 +02:00
matt
c42d59f5d8
Fix: Remove custom auth ( #2203 )
...
* fix: rm custom auth
* fix: change auth strategy
2025-08-26 13:57:24 -04:00
matt
80fb7657ed
Fix: Child runs not rendering after one day, empty worker ids, additional meta filters not being applied to counts ( #2196 )
...
* fix: child runs not rendering b/c they've timed out of the lookback window
* fix: migration version
* fix: dead links
* fix: additional meta filters for status counts
* chore: lint
2025-08-25 18:20:08 -04:00
Gabe Ruttner
59fe6c110e
feat: improved onboarding part 1 ( #2186 )
...
* feat: analytics events
* improved forms
* store state
* lint
* cleanup tenant name
* nits
* add environment to the form
* environment tag
* include env with tenant
* lint
* fix gen
* address comments
* feedback
* fix: layout
* navigation state
* rm dep
* lint
* address review
* lint
* lint
* fix: build
2025-08-25 11:14:34 -07:00
Mohammed Nafees
2603939526
Introduce customAuth to the OpenAPI spec ( #2168 )
...
* introduce custom auth
* support optional CustomAuthorizationHandler
2025-08-20 17:05:11 +02:00
matt
355a7f197e
Feat: Add Linear to preconfigured webhooks ( #2157 )
...
* feat: add linear
* feat: linear fallthrough
* feat: linear
* fix: copy tweak
2025-08-18 12:19:43 -04:00
matt
36924936fa
Feat: Webhook fixes / improvements ( #2131 )
...
* feat: webhook update
* feat: add headers to cel env
* fix: header casing
* feat: wire up edits
* fix: updates
* fix: finish wiring up updates
* fix: handle save on enter
* fix: lint
* feat: add slack and discord
* feat: initial slack setup
* fix: get slack working
* fix: rm discord for now
* fix: lint
* chore: gen
* fix: explicit save button
* feat: add link to CEL docs
* feat: add callout for reaching out to support
* feat: docs
* refactor: challenge
* fix: naming
* fix: return
* fix: resp codes
* fix: webhooks beta flag
* fix: rm discord
* fix: docs
2025-08-14 10:46:57 -05:00
Mohammed Nafees
34074affd8
Add contextual data for trigger via events ( #2092 )
...
* add contextual data for trigger via events
* fix corrId
* string needed
2025-08-06 16:52:06 -04:00
Mohammed Nafees
e6c50ca1a0
Allow member roles to be changed by owners and admins ( #2044 )
...
* allow member roles to be changed by owners and admins
* PR comments
* chore: gen
* fix: rm changes to /next/
* chore: gen
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-07-30 17:42:34 -04:00
matt
d6f8be2c0f
Feat: OLAP Table for CEL Eval Failures ( #2012 )
...
* feat: add table, wire up partitioning
* feat: wire failures into the OLAP db from rabbit
* feat: bubble failures up to controller
* fix: naming
* fix: hack around enum type
* fix: typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: typos
* fix: migration name
* feat: log debug failure
* feat: pub message from debug endpoint to log failure
* fix: error handling
* fix: use ingestor
* fix: olap suffix
* fix: pass source through
* fix: dont log ingest failure
* fix: rm debug as enum opt
* chore: gen
* Feat: Webhooks (#1978 )
* feat: migration + go gen
* feat: non unique source name
* feat: api types
* fix: rm cruft
* feat: initial api for webhooks
* feat: handle encryption of incoming keys
* fix: nil pointer errors
* fix: import
* feat: add endpoint for incoming webhooks
* fix: naming
* feat: start wiring up basic auth
* feat: wire up cel event parsing
* feat: implement authentication
* fix: hack for plain text content
* feat: add source to enum
* feat: add source name enum
* feat: db source name enum fix
* fix: use source name enums
* feat: nest sources
* feat: first pass at stripe
* fix: clean up source name passing
* fix: use unique name for webhook
* feat: populator test
* fix: null values
* fix: ordering
* fix: rm unnecessary index
* fix: validation
* feat: validation on create
* fix: lint
* fix: naming
* feat: wire triggering webhook name through to events table
* feat: cleanup + python gen + e2e test for basic auth
* feat: query to insert webhook validation errors
* refactor: auth handler
* fix: naming
* refactor: validation errors, part II
* feat: wire up writes through olap
* fix: linting, fallthrough case
* fix: validation
* feat: tests for failure cases for basic auth
* feat: expand tests
* fix: correctly return 404 out of task getter
* chore: generated stuff
* fix: rm cruft
* fix: longer sleep
* debug: print name + events to logs
* feat: limit to N
* feat: add limit env var
* debug: ci test
* fix: apply namespaces to keys
* fix: namespacing, part ii
* fix: sdk config
* fix: handle prefixing
* feat: handle partitioning logic
* chore: gen
* feat: add webhook limit
* feat: wire up limits
* fix: gen
* fix: reverse order of generic fallthrough
* fix: comment for potential unexpected behavior
* fix: add check constraints, improve error handling
* chore: gen
* chore: gen
* fix: improve naming
* feat: scaffold webhooks page
* feat: sidebar
* feat: first pass at page
* feat: improve feedback on UI
* feat: initial work on create modal
* feat: change default to basic
* fix: openapi spec discriminated union
* fix: go side
* feat: start wiring up placeholders for stripe and github
* feat: pre-populated fields for Stripe + Github
* feat: add name section
* feat: copy improvements, show URL
* feat: UI cleanup
* fix: check if tenant populator errors
* feat: add comments
* chore: gen again
* fix: default name
* fix: styling
* fix: improve stripe header processing
* feat: docs, part 1
* fix: lint
* fix: migration order
* feat: implement rate limit per-webhook
* feat: comment
* feat: clean up docs
* chore: gen
* fix: migration versions
* fix: olap naming
* fix: partitions
* chore: gen
* feat: store webhook cel eval failures properly
* fix: pk order
* fix: auth tweaks, move fetches out of populator
* fix: pgtype.Text instead of string pointer
* chore: gen
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-30 13:27:38 -04:00
matt
c202ec8359
Feat: CEL Debug Endpoint ( #2010 )
...
* feat: openapi spec + gen
* feat: scaffold cel service
* feat: impl with discriminated union
* fix: reversed
* chore: gen py
* chore: gen + add cel to hatchet client
* feat: wire up TS CEL client
* chore: versions
* feat: impl for go
* fix: error handling
* feat: python tests
2025-07-20 22:44:08 -04:00
Matt Kaye
4676ae8508
FIx: Feedback on replay / cancel ( #1997 )
...
* feat: return a response from replays
* fix: return correct thing
* feat: wire up cancel + replay toasts on FE
* fix: naming
* fix: other refs
* fix: linter setup
2025-07-15 13:29:52 -04:00
abelanger5
6e820a120c
feat: waterfall component ( #1952 )
...
* tmp: waterfall component
* feat: waterfall component
* address pr review comments
2025-07-04 14:47:30 -04:00
Mohammed Nafees
ef498a6235
Introduce tenant Prometheus metrics ( #1875 )
...
* introduce tenant workflow completed metric
* expose tenant prom metrics via handler
* fix workflow and worker id in metrics
* correctly add workflow metrics from workflow controller
* use olap DB to gather information for workflow completion
* fix prom metrics endpoint for tenant
* workflow name from external id
* simplify tenant registry based metrics
* add docs for prometheus metrics
* fix docs lint
* run prettier fix
* WIP metrics work
* use federate prom server URL to proxy metrics
* implement workflow duration histogram metric
* separate prom stack docker compose
* fix duration metrics calls
* move scheduler metrics to prom tenant specific file
* update docs for prom metrics
* fix lint
* use proper indices to query for durations
* reorg tenant metrics
* fix lint for doc
* update docs with promql examples and casing around prom metrics enabled
* update prom server url
* fix lint
* enabled prom metrics for v1 only from controller
2025-06-27 11:46:31 -04:00
Matt Kaye
a45816c6c2
Fix: Streaming + Misc SDK Fixes ( #1903 )
...
* fix: filters contracts + version bumps
* chore: gen
* feat: implement streaming for ts
* fix: v0 sdk side by side
* fix: optional status on semaphore slots
* fix: gen script
* chore: lint + gen
* chore: gen
* fix: fmt
* fix: revert changes
* feat: handle incorrect return types
* fix: worker status not assigned
* fix: improve handling of other types of pydantic models
* fix: handle null output case
* fix: get group key
* fix: info level log for non-retry
* fix: export non retry at top level
* fix: changelog
* chore: gen
* chore: gen
2025-06-26 17:42:34 -04:00
Matt Kaye
25a98cf372
Feat: Copy workflow config from run pages ( #1901 )
...
* feat: add workflow details to more responses
* send workflow version back with task summary
* feat: add copy to run page
* feat: wire up button on other pages
* fix: copy
2025-06-25 13:26:13 -04:00
Matt Kaye
2f33dd4dbd
Feat: Misc. Python improvements + Streaming Improvements ( #1846 )
...
* fix: contextvars explicit copy
* feat: fix a ton of ruff errors
* fix: couple more ruff rules
* fix: ignore unhelpful rule
* fix: exception group in newer Python versions for improved handling
* fix: workflow docs
* feat: context docs
* feat: simple task counter
* feat: config for setting max tasks
* feat: graceful exit once worker exceeds max tasks
* fix: optional
* fix: docs
* fix: events docs + gen
* chore: gen
* fix: one more dangling task
* feat: add xdist in ci
* fix: CI
* fix: xdist fails me once again
* fix: fix + extend some tests
* fix: test cleanup
* fix: exception group
* fix: ugh
* feat: changelog
* Add Ruff linter callout to post
* refactor: clean up runner error handling
* feat: improved errors
* fix: lint
* feat: hacky serde impl
* fix: improve serde + formatting
* fix: logging
* fix: lint
* fix: unexpected errors
* fix: naming, ruff
* fix: rm cruft
* Fix: Attempt to fix namespacing issue in event waits (#1885 )
* feat: add xdist in ci
* fix: attempt to fix namespacing issue in event waits
* fix: namespaced worker names
* fix: applied namespace to the wrong thing
* fix: rm hack
* drive by: namespacing improvement
* fix: delay
* fix: changelog
* fix: initial log work
* fix: more logging work
* fix: rm print cruft
* feat: use a queue to send logs
* fix: sentinel value to stop the loop
* fix: use the log sender everywhere
* fix: make streaming blocking, remove more thread pools
* feat: changelog
* fix: linting issues
* fix: broken test
* chore: bunch more generated stuff
* fix: changelog
* fix: one more
* fix: mypy
* chore: gen
* Feat: Streaming Improvements (#1886 )
* Fix: Filter list improvements (#1899 )
* fix: uuid validation
* fix: improve filter filtering
* fix: inner join
* fix: bug in workflow cached prop
* chore: bump
* fix: lint
* chore: changelog
* fix: separate filter queries
* feat: improve filter filtering
* fix: queries and the like
* feat: add xdist in ci
* feat: streaming test + gen
* feat: add index to stream event
* fix: rm langfuse dep
* fix: lf
* chore: gen
* feat: impl index for stream on context
* feat: tweak protos
* feat: extend test
* feat: send event index through queue
* feat: first pass + debug logging
* debug: fixes
* debug: more possible issues
* feat: generate new stream event protos
* feat: first pass at using an alternate exchange for replaying incoming stream events
* fix: exchange create timing
* fix: rm unused protos
* chore: gen
* feat: python cleanup
* fix: revert rabbit changes
* fix: unwind a bunch of cruft
* fix: optional index
* chore: gen python
* fix: event index nil handling
* feat: improve test
* fix: stream impl in sdk
* fix: make test faster
* chore: gen a ton more stuff
* fix: test
* fix: sorting helper
* fix: bug
* fix: one more ordering bug
* feat: add some tests for buffering logic
* feat: hangup test
* feat: test no buffering if no index sent
* fix: regular mutex
* fix: pr feedback
* fix: conflicts
2025-06-25 10:11:01 -04:00
Matt Kaye
a887c62809
Fix: Store CreateWorkflowVersionOpts for debugging ( #1890 )
...
* feat: add json column for opts
* feat: wiring
* feat: send config through the api
* feat: FE
* fix: order
* fix: hide sched timeout
* fix: lint
* fix: return mutated opts
* fix: adv section
* fix: remove unnecessary headers
* feat: styling improvements to settings
* feat: styling, pt ii
* feat: styling, pt iii
* fix: cron
2025-06-23 16:56:22 -04:00
Matt Kaye
4348dc99e5
Feat: Events Frontend, Redux ( #1859 )
...
* feat: add params to events api
* feat: add more filters to event query
* fix: count query
* feat: start wiring up events queries
* feat: overwrites for queries
* feat: query for event keys
* feat: wire up event key api
* feat: wire up two queries on fe
* feat: fix more wiring
* feat: display event data
* fix: styling
* feat: sidebar
* fix: types + default viz
* feat: scope filter
* feat: index
* fix: queries
* fix: queries, deduping, popover
* fix: lint
* feat: add filter id col to the event to run table
* feat: add filter id to copy
* feat: wire filter through to the db
* feat: send back triggered run ids over the api
* fix: query
* feat: json obj for triggered runs on the event
* fix: cast trick to rm overwrite
* fix: migration
* fix: rm search
* fix: don't show counts on runs modal
* fix: key
* chore: gen ts
* chore: python
* fix: changelog
2025-06-13 14:16:08 -04:00