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
92e86dc163
Feat: Next UI improvements, filters improvements, Langfuse docs, tenant getter, workflow status getter ( #1801 )
...
* fix: rm method from docs button
* feat: close side panel on navigate
* feat: migration to fix pk
* fix: create index at the end
* fix: properly compute pagination response for events
* feat: add event count to query
* feat: queries
* wire up since and until queries
* fix: fe
* fix: ordering
* chore: gen
* fix: pesky zero values
* fix: rm react-table side pagination
* fix: bug
* fix: start working on pagination
* fix: refactor a bit
* fix: pagination
* feat: pagination on workflows
* fix: callbacks
* fix: key
* fix: calc
* feat: migration attempt 2
* fix: lint
* chore: gen
* fix: recreate trigger in migration
* fix: test improvement
* fix: lint
* fix: order in schema
* fix: rename indexes in partitions too
* Feat: FE Burndown, Part V (#1814 )
* feat: extend eslint config to make a lot of rules much stricter
* fix: auto-fix a bunch of linting failures
* feat: start fixing a bunch of linting errors
* fix: more
* fix: run knip to remove a bunch of unused stuff
* fix: bunch more errors
* fix: bunch more
* fix: more
* fix: checkout old file
* fix: more
* fix: couple more callbacks
* fix: remaining issues
* fix: tsc
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: copilot pushing stuff that doesn't work, as usual
* fix: more ignores
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Feat: Langfuse Integration (#1822 )
* Fix: Internal blocking calls in admin client (#1818 )
* fix: admin client blockages
* chore: ver
* chore: changelog
* Revert "fix: rm langfuse for now"
This reverts commit 493566a307 .
* Revert "fix: rm langfuse trace pic"
This reverts commit fb689f4c50 .
* fix: pre
* chore(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 (#1827 )
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.38.0 to 0.39.0.
- [Commits](https://github.com/golang/crypto/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.39.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 google.golang.org/grpc from 1.72.2 to 1.73.0 (#1828 )
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.72.2 to 1.73.0.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.72.2...v1.73.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.73.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 golang.org/x/text from 0.25.0 to 0.26.0 (#1829 )
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.25.0 to 0.26.0.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.25.0...v0.26.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-version: 0.26.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 golang.org/x/sync from 0.14.0 to 0.15.0 (#1830 )
Bumps [golang.org/x/sync](https://github.com/golang/sync ) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/sync/compare/v0.14.0...v0.15.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sync
dependency-version: 0.15.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 golang.org/x/time from 0.11.0 to 0.12.0 (#1831 )
Bumps [golang.org/x/time](https://github.com/golang/time ) from 0.11.0 to 0.12.0.
- [Commits](https://github.com/golang/time/compare/v0.11.0...v0.12.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/time
dependency-version: 0.12.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 (#1832 )
Bumps hatchet-sdk from 1.11.0 to 1.11.1.
---
updated-dependencies:
- dependency-name: hatchet-sdk
dependency-version: 1.11.1
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>
* fix: update langfuse docs / examples to agree with their recommendations
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Feat: Filter + Events Improvements (#1806 )
* feat: query for listing filters on a workflow
* feat: first pass at new filtering logic
* feat: event key wildcards
* fix: typo
* fix: write wildcard on event ref insert
* feat: tests for wildcard
* chore: gen
* feat: working wildcards
* fix: test cruft
* fix: tests
* fix: tests
* fix: tests
* feat: improve wildcard handling
* fix: missed a payload include spot
* feat: extend tests more
* feat: extend test more
* fix: flakiness
* feat: add scope col to events
* feat: write scopes into db with events
* fix: god I hate zero values
* chore: gen, lint, etc.
* fix: try wrapping yield in try / finally for robustness
* fix: typing
* fix: simplify
* fix: migration ver
* Feat: Tenant getter + corresponding SDK warnings (#1809 )
* feat: tenant get endpoint
* feat: impl for tenant
* chore: gen
* feat: Python impl
* feat: scary warning
* chore: lint
* fix: try / except
* feat: ts client
* feat: go
* chore: versions
* Update sdks/python/hatchet_sdk/hatchet.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update sdks/typescript/src/v1/client/client.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: fmt
* fix: description
* fix: review
* fix: changelog
* chore: gen
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Feat: Workflow run status getter on the API (#1808 )
* feat: api for status getter
* feat: api
* feat: sdk
* chore: gen python
* chore: gen ts
* fix: simplify api
* chore: gen
* chore: rm unused python
* chore: vers
* fix: pr feedback
* chore: gen
* chore: gen
* chore: gen
* Feat: Filter Updates (#1840 )
* feat: api
* feat: impl
* fix: patch
* chore: gen
* feat: python
* chore: changelog
* feat: ts
* feat: go
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Feat: Declaratively create filters on worker start (#1825 )
* feat: dynamically create filters when workflow is registered
* fix: python utc timestamps everywhere
* refactor: fix up runs list a bit
* refactor: move more methods under shared BaseWorkflow
* feat: register default filters
* fix: docs
* chore: gen, docs
* chore: lint
* fix: v1
* fix: add filter to proto
* feat: implement default filters on put workflow
* feat: fix go impl
* chore: gen py
* feat: wire up Python
* fix: rm cruft
* fix: ts
* fix: bugs
* chore: gen, versions
* feat: changelog
* chore: lock
* fix: go
* fix: rm cruft
* fix: lockfile
* feat: add is_declarative flag to filters
* feat: extend filter insert queries
* feat: bulk upsert filters on workflow version create
* fix: wire up declarative stuff
* fix: mutexing issue
* feat: wire up declarative filters
* feat: naming
* chore: gen
* fix: nullable payloads
* fix: check json validity
* fix: rm on conflict
* fix: query naming + declarative-ness handling
* fix: rm payload from error
* fix: versions and such
* chore: gen
* Feat: Filtering + Events Docs Revamp + SDK Tweaks (#1843 )
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 11:48:31 -04:00
Matt Kaye
752e6bd5cf
Feat: Add event key to CEL env for filtering ( #1748 )
...
* feat: add event key to env
* chore: generate a bunch of stuff again
* feat: add a test for filtering by event key
* refactor: duped code
* fix: skip flaky test in ci
* Fix: Add filter payloads to context (#1743 )
* feat: add payload to ctx
* chore: ver
* fix: add filter payload to go
* fix: tests + lint
* fix: lint
* fix: naming
2025-05-19 12:52:41 -04:00
Matt Kaye
1db5cb5ee6
[Python]: Fix: Adding Observability + Failure Handling ( #1701 )
...
* feat: simple thread pool monitoring job
* feat: sdk-side workflow pause
* Revert "feat: sdk-side workflow pause"
This reverts commit 83b4a63c20 .
* feat: set stop signal to stop accepting new work
* proposal: no-op healthcheck workflow
* Revert "proposal: no-op healthcheck workflow"
This reverts commit f651a52137 .
* fix: rm removed concurrency strats
* chore: ver
* fix: rm heartbeat wf
* fix: rm zombie keys
* fix: hint on invalid token
* fix: flaky test
* fix: rm buggy / dead code
2025-05-13 14:11:36 -04:00
Matt Kaye
94d06a643c
[Python] Fix: Task defaults, Patching fixes, Datetime conversions ( #1667 )
...
* feat: start wiring up defaults
* feat: add test coverage
* fix: test docs
* feat: expand tests
* fix: rm validators for now
* chore: minor version
* fix: skip prio tests in ci for now
* chore: docs
* debug: attempt to fix prio test by running with a single slot and no concurrency
* fix: python script to apply patches
* chore; gen
* feat: atomic patches
* fix: rm sed-based patches
* fix: use current tz
* fix: ordering
2025-05-06 17:31:36 -04:00
Gabe Ruttner
8e80faf2d6
Fe overhaul docs ( #1640 )
...
* api changes
* doc changes
* move docs
* generated
* generate
* pkg
* backmerge main
* revert to main
* revert main
* race?
* remove go tests
2025-04-30 14:10:09 -07:00
Matt Kaye
ee0f6ad97d
Debug: Priority Tests ( #1548 )
...
* debug: prio tests
* debug: try running against staging
* Revert "debug: try running against staging"
This reverts commit de7fcc922b731f2c10497eabd746f90971cdfa5b.
* fix: turn down concurrency run number
2025-04-17 13:55:40 -04:00
Matt Kaye
80137736af
Feat: Priority ( #1513 )
...
* feat: initial work wiring up priorities
* fix: add default to default prio in the db
* feat: wire priority through api on wf creation
* feat: extend python test
* feat: priority for scheduled workflows
* feat: wire priority through python api
* feat: more wiring priority through the api
* feat: I think it works?
* feat: e2e test for priority
* it works!
* feat: expand tests for default priorities
* feat: e2e scheduling test
* fix: skip broken test for now
* fix: lint
* feat: add priority columns to cron and schedule ref tables
* feat: update inserts to include prio
* feat: wire up more apis
* feat: more wiring
* feat: wire up more rest api fields
* chore: cruft
* fix: more wiring
* fix: lint
* chore: gen + wire up priorities
* fix: retries
* fix: try changing fixture scope
* chore: bump version again
* feat: send priority with action payload
* fix: generate script
* Feat priority ts (#1518 )
* feat: initial work wiring up priorities
* fix: add default to default prio in the db
* feat: wire priority through api on wf creation
* feat: extend python test
* feat: priority for scheduled workflows
* feat: wire priority through python api
* feat: more wiring priority through the api
* feat: I think it works?
* feat: e2e test for priority
* it works!
* feat: expand tests for default priorities
* feat: e2e scheduling test
* chore: minor version for priority
* fix: skip broken test for now
* fix: lint
* feat: add priority columns to cron and schedule ref tables
* feat: update inserts to include prio
* feat: wire up more apis
* feat: more wiring
* feat: wire up more rest api fields
* chore: cruft
* fix: more wiring
* fix: lint
* chore: gen + wire up priorities
* fix: increase timeout
* fix: retries
* fix: try changing fixture scope
* chore: generate
* fix: set schedule priority
* feat: priority
* fix: move priority to wf
* release: 1.2.0
* rm log
* fix: import
* fix: add priority to step
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
* fix: add dummy runs to priority test to prevent race conditions
* fix: non-breaking field
* fix: gen
* feat: initial pass at docs
* feat: priority in go sdk
* feat: initial work on go example
* fix: doc examples
* fix: proofread
* chore: version
* feat: go sdk
* fix: lint
* fix: declarations and add back RunAsChild
* fix: child workflows
* fix: namespace
* fix: faster child workflows
* fix: sticky
* add back run as child
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-04-14 16:22:00 -04:00