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
33d60dfcd2
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
2025-06-25 09:44:17 -04:00
Gabe Ruttner
bd40740420
chore: update protobuf ( #1868 )
...
* update protobuf
* fix: mypy
* chore: ver
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-06-17 11:33:35 -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
Matt Kaye
a73e34cd92
Feat: Batched replays ( #1860 )
...
* feat: batched replays
* fix: add some comments
* feat: e2e test for bulk replays
* chore: gen
* fix: improving tests a bit
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* chore: gen
* fix: tag
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-13 13:47:50 -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
7ec142ff29
Fix: Internal blocking calls in admin client ( #1818 )
...
* fix: admin client blockages
* chore: ver
* chore: changelog
2025-06-05 08:25:04 -04:00
Matt Kaye
9630bf5a7d
Fix: UI Bug Burndown, Part II ( #1788 )
...
* fix: hard redirect
* fix: set value
* fix: drill
* fix: start time default bug
* fix: only show worker filter if there are active workers
* fix: rm deps from callbacks
* fix: worker filtering
* hack: events runs on hover
* feat: badge ui
* fix: remove event detail page
* fix: rm cruft
* fix: loading state
* fix: initial side sheet rework
* feat: initial work un-borking the side sheet
* fix: more ui
* fix: so close!
* fix: fixed height for main view
* fix: height
* fix: race
* feat: improved handle
* fix: docs
* fix: close the side sheet on opening docs
* fix: close docs on side sheet open
* chore: lint
* fix: doc sheet
* fix: route
* feat: persist panel width
* feat: progress on combining docs and detail sheets
* feat: wire up docs
* feat: clean up some dead code, improve typing
* fix: more layout tweaks
* fix: more misc. things
* fix: side panel
* fix: rm more dead code
* fix: rm duped use of sheet + docs providers
* fix: worker detail
* fix: remove side sheet!
* fix: remove a ton more dead code (detailWithSheet thing)
* fix: use docs button on sidebar
* feat: remove the rest of the docs code
* fix: attempts
* chore: gen
* fix: don't run tests on FE changes
* Fix bug burndown part iii (#1789 )
* fix: hard redirect
* fix: set value
* fix: drill
* fix: start time default bug
* fix: only show worker filter if there are active workers
* fix: rm deps from callbacks
* fix: worker filtering
* fix: auth
* redirect issue
* empty state and layout
* trigger bug fixes
* empty state
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
2025-06-02 08:19:19 -07:00
Matt Kaye
bd1452482e
Feat: Expand OpenTelemetry Integration ( #1792 )
...
* feat: initial work expanding instrumentation
* feat: automatically inject traceparent into metadata in instrumentor
* feat: deprecate old attrs
* feat: add new namespaced attrs
* chore: version
* fix: type bug
* feat: tracing scheduled workflows
* fix: don't need duplication
* feat: convert timestamps to ISO
* fix: warn on use of old methods
* feat: changelog
* fix: enum breakages
* fix: docs
* feat: add a couple of additional attrs to bulk events
* cleanup: types
* fix: comment
* fix: example
* feat: langfuse example
* tweak: edge cases
* feat: example cleanup
* feat: examples
* chore: gen
* feat: langfuse docs
* feat: extend docs
* fix: lint
* fix: disclaimer
* fix: start and end whitespace
* fix: rm langfuse for now
* fix: rm langfuse trace pic
* fix: ci config
2025-05-30 11:20:00 -04:00
Matt Kaye
f9d3d508ca
Blocked event loop blog post ( #1775 )
...
* feat: snippets
* feat: first couple paragraphs
* feat: flesh out hatchet examples
* fix: one more
* feat: log view
* fix: cleanup
* feat: another section
* fix: fmt
* feat: debugging section
* fix: proofread
* fix: lint
* chore: gen
* fix: copilot
* fix: copilot
* feat: add blog post link
* fix: feedback
* chore: sdk ver
* chore: gen
* fix: ugh
2025-05-27 11:07:34 -07:00
Matt Kaye
76ecbcc1fc
Feat: Event filtering docs ( #1753 )
...
* chore: gen yet again
* feat: filters client + docs
* fix: lint
* fix: revert cruft
* fix: trigger
* fix: lint
* fix: gen
* Update frontend/docs/pages/home/run-on-event.mdx
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* Update frontend/docs/pages/home/run-on-event.mdx
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2025-05-19 18:56:42 -04:00
Matt Kaye
e4b1d36de6
Fix: Spawn index incorrect on retry ( #1752 )
...
* fix: child index on retry not being reset correctly
* chore: ver
* chore: changelog
* feat: test
2025-05-19 15:38:52 -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
c03531d44f
Fix: Bump Version ( #1741 )
2025-05-16 16:36:39 -04:00
Matt Kaye
793658be0e
[Python]: Feat: Config for excluding specific OTel attributes ( #1739 )
...
* feat: exclude otel attrs
* chore: changelog
* feat: export otel attr at top level
* fix: couple more exports
* allow env var
* fix: naming
* fix: changelog
* fix: circular import
* feat: alphabetizing, autodoc
2025-05-16 16:32:07 -04:00
Matt Kaye
08bd27a869
Feat: Dynamic (Event) Filters ( #1704 )
...
* feat: add events tables
* fix: tweak PK
* feat: migration
* feat: gen models
* fix: add external id col + index
* fix: uuid pk
* fix: types
* chore: gen
* feat: add index
* Feat: Write events into OLAP tables (#1634 )
* feat: query for event creation
* feat: olap impl
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* chore: lint
* fix: diff
* feat: add new partitions
* fix: eof
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: bug
* refactor: return type of trigger
* fix: unnest ids
* fix: unnest tenant ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: cruft
* fix: bug
* Update pkg/repository/v1/olap.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: rework to avoid n^2 loop
* fix: transaction timeout
* fix: lint
* fix: use error
* fix: rm penultimate version
* fix: rm penultimate test part ii
* Feat: CEL-based filtering of events (#1676 )
* feat: add optional expression to workflow trigger event ref
* feat: proto field for expression
* feat: write and parse the expression
* feat: wire up through put workflow ver request
* feat: query
* fix: naming
* fix: cleanup
* fix: rebase
* Update pkg/repository/v1/trigger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: skip workflow on cel eval failure
* fix: zero value
* fix: cel evaluator
* fix: usage
* fix: naming + type
* fix: rm event filter from v0 defn
* feat: tests + fix typing
* fix: usage
* fix: construct input
* feat: always write events
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: select existing partitions
* feat: add prio to push event request
* feat: priority from pushed events
* fix: missed a spot
* fix: write events even if they're not tied to any workflows
* fix: revert cel event filtering
* fix: couple more
* fix: simplify
* feat: filters api
* feat: table for storing filters
* feat: migration
* fix: pk ordering
* feat: wiring up initial api
* feat: impl filter list
* feat: wire up inserts of filters
* feat: add resource hint to push event
* feat: multi-select filters
* feat: wire up resource hint on event push
* feat: filtering
* fix: small bug
* fix: rm version id
* fix: query
* fix: panic
* fix: schema
* fix: naming
* fix: rm python changes
* chore: lint
* fix: uuid hint
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: use overwrite for listing filters b/c of nullable arg
* fix: naming
* feat: add events tables
* fix: tweak PK
* feat: migration
* feat: gen models
* fix: add external id col + index
* fix: uuid pk
* fix: types
* chore: gen
* feat: add index
* Feat: Write events into OLAP tables (#1634 )
* feat: query for event creation
* feat: olap impl
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* chore: lint
* fix: diff
* feat: add new partitions
* fix: eof
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: bug
* refactor: return type of trigger
* fix: unnest ids
* fix: unnest tenant ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: cruft
* fix: bug
* Update pkg/repository/v1/olap.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: rework to avoid n^2 loop
* fix: transaction timeout
* fix: lint
* fix: use error
* fix: rm penultimate version
* fix: rm penultimate test part ii
* Feat: CEL-based filtering of events (#1676 )
* feat: add optional expression to workflow trigger event ref
* feat: proto field for expression
* feat: write and parse the expression
* feat: wire up through put workflow ver request
* feat: query
* fix: naming
* fix: cleanup
* fix: rebase
* Update pkg/repository/v1/trigger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: skip workflow on cel eval failure
* fix: zero value
* fix: cel evaluator
* fix: usage
* fix: naming + type
* fix: rm event filter from v0 defn
* feat: tests + fix typing
* fix: usage
* fix: construct input
* feat: always write events
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: select existing partitions
* feat: add prio to push event request
* feat: priority from pushed events
* fix: missed a spot
* fix: write events even if they're not tied to any workflows
* fix: revert cel event filtering
* fix: couple more
* fix: simplify
* fix: gen api
* fix: merge issues
* feat: filter delete endpoint
* fix: overwrite
* fix: delete filter api wiring
* fix: migration patch
* chore: gen
* fix: merge hell
* Revert "Revert "Feat: Events in the OLAP Repo (#1633 )" (#1706 )"
This reverts commit bf29269a27 .
* Feat: Events Frontend (#1678 )
* feat: add events tables
* fix: tweak PK
* feat: migration
* feat: gen models
* fix: add external id col + index
* fix: uuid pk
* fix: types
* chore: gen
* feat: add index
* Feat: Write events into OLAP tables (#1634 )
* feat: query for event creation
* feat: olap impl
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* chore: lint
* fix: diff
* feat: add new partitions
* fix: eof
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: bug
* refactor: return type of trigger
* fix: unnest ids
* fix: unnest tenant ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: cruft
* fix: bug
* Update pkg/repository/v1/olap.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: rework to avoid n^2 loop
* fix: transaction timeout
* fix: lint
* fix: use error
* fix: rm penultimate version
* fix: rm penultimate test part ii
* Feat: CEL-based filtering of events (#1676 )
* feat: add optional expression to workflow trigger event ref
* feat: proto field for expression
* feat: write and parse the expression
* feat: wire up through put workflow ver request
* feat: query
* fix: naming
* fix: cleanup
* fix: rebase
* Update pkg/repository/v1/trigger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: skip workflow on cel eval failure
* fix: zero value
* fix: cel evaluator
* fix: usage
* fix: naming + type
* fix: rm event filter from v0 defn
* feat: tests + fix typing
* fix: usage
* fix: construct input
* feat: always write events
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: select existing partitions
* feat: add prio to push event request
* feat: priority from pushed events
* fix: missed a spot
* fix: write events even if they're not tied to any workflows
* fix: revert cel event filtering
* fix: couple more
* fix: simplify
* feat: initial API work
* chore: gen ts
* feat: fe skeleton
* feat: wiring up skeleton data
* feat: hook
* fix: bugs
* fix: lint on gen
* fix: couple more
* feat: wire up counts
* feat: initial events cols + styling
* feat: layout
* feat: styling
* fix: cleanup
* feat: use external ids on the FE
* fix: separate openapi spec for new events route
* fix: required param
* fix: update queries and api
* feat: event detail
* fix: page
* fix: rebase
* tweak: table
* feat: add events page to sidebar
* feat: modify queries to allow fetching by triggering event
* feat: add triggering event id to api
* chore: lint
* feat: wire up events api
* fix: rm log
* fix: gen
* feat: wire up status counts
* fix: rm time series
* fix: rm state
* fix: lint
* fix: eof
* chore: lint
* feat: wire up filters
* fix: lint
* chore: api gen
* feat: add events tables
* fix: tweak PK
* feat: migration
* feat: gen models
* fix: add external id col + index
* fix: uuid pk
* fix: types
* chore: gen
* feat: add index
* Feat: Write events into OLAP tables (#1634 )
* feat: query for event creation
* feat: olap impl
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* chore: lint
* fix: diff
* feat: add new partitions
* fix: eof
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: bug
* refactor: return type of trigger
* fix: unnest ids
* fix: unnest tenant ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: cruft
* fix: bug
* Update pkg/repository/v1/olap.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: rework to avoid n^2 loop
* fix: transaction timeout
* fix: lint
* fix: use error
* fix: rm penultimate version
* fix: rm penultimate test part ii
* Feat: CEL-based filtering of events (#1676 )
* feat: add optional expression to workflow trigger event ref
* feat: proto field for expression
* feat: write and parse the expression
* feat: wire up through put workflow ver request
* feat: query
* fix: naming
* fix: cleanup
* fix: rebase
* Update pkg/repository/v1/trigger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: skip workflow on cel eval failure
* fix: zero value
* fix: cel evaluator
* fix: usage
* fix: naming + type
* fix: rm event filter from v0 defn
* feat: tests + fix typing
* fix: usage
* fix: construct input
* feat: always write events
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: select existing partitions
* feat: add prio to push event request
* feat: priority from pushed events
* fix: missed a spot
* fix: write events even if they're not tied to any workflows
* fix: revert cel event filtering
* fix: couple more
* fix: simplify
* fix: gen api
* fix: gen
* fix: more merge issues
* chore: gen
* fix: lockfile
* fix: merge issues
* chore: gen again
* fix: rm unused fields from openapi spec
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: migration ver
* fix: insert trigger, event types
* fix: bunch o refs
* fix: migration
* fix: queries
* fix: finish wiring up inserts
* fix: misc bugs
* fix: fe filtering
* chore: gen
* fix: migration ver
* chore: lint
* fix: missed a couple
* fix: whitespace
* fix: formatting, gen
* fix: uuid id for filters
* feat: rest api for filters
* fix: tag
* feat: add event id, payload, and metadata to cel env
* fix: rename resource hint to scope
* chore: gen
* fix: same conflict, different day
* feat: send filter payload with input
* fix: lint
* fix: invert filter to "positive" case
* fix: naming
* feat: send payloads back with trigger data
* fix: add case to check if no filters were found
* fix: send additional meta back on bulk push
* fix: cleanup from self review
* fix: more small cleanup
* feat: initial pr feedback
* feat: validation
* fix: populator
* Feat: SDK changes for event filtering (#1677 )
* feat: query for event creation
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* fix: diff
* feat: add new partitions
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: unnest ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: rework to avoid n^2 loop
* feat: proto field for expression
* fix: rm event filter from v0 defn
* chore: gen python
* Revert "fix: select existing partitions"
This reverts commit fefbdd5122b85c5d807c3dce3aed7d974f01a7d8.
* fix: rebase hell
* feat: prio
* chore: docs
* feat: gen ts
* feat: ts wiring
* feat: go
* fix: prio test bug
* chore: gen
* fix: validation bug
* feat: extend events client
* feat: e2e test
* chore: docs
* fix: test
* fix: unwind event filter
* fix: rm should skip
* chore: gen
* chore: gen
* chore: gen
* feat: resource hints + more e2e tests
* fix: use `cached_property` for id
* fix: raises
* fix: rm print cruft
* feat: wiring + e2e test
* chore: gen
* feat: wire up python sdk
* feat: static payload in test
* fix: use test run id in payload
* fix: longer sleeps
* feat: more tests
* feat: intermediate work
* feat: add validator for filter payload
* fix: rm cruft
* fix: event example
* fix: event example
* fix: e2e tests
* fix: finish cleaning up tests
* fix: __hash__ method
* fix: copilot comments!
* fix: apply namespaces to workflow names in a couple of the feature clients
* fix: handle case where namespace is falsey
* refactor: factor out
* fix: all the other refs to namespaced things
* fix: put `apply_namespace` on the client config
* fix: namespace overrides
* fix: implicitly use function name for hatchet task
* fix: name
* fix: refs
* chore: ver
* fix: durable tests
* feat: add a changelog!
* fix: changelog format
* feat: start wiring up filters in ts
* feat: scopes on event push
* feat: wire up triggering event id filter
* feat: initial ts e2e test work
* fix: run the test
* fix: drive-by bug in AI-gen slop
* fix: test naming
* feat: more test cleanup
* fix: api
* fix: ns override
* fix: test + API
* fix: lint
* fix: cruft
* chore: gen
* fix: dont run in ci?
* fix: wire up Go SDK
* fix: compiler
* fix: examples
* fix: event snippet, I think
* chore: docs
* Revert "fix: examples"
This reverts commit cbf33d6299 .
* Revert "fix: compiler"
This reverts commit 52336abeb2 .
* fix: add push opt funcs for prio and scope
* chore: ver
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-16 15:44:28 -04:00
Matt Kaye
9a5e4d7642
Fix: Add workflowId and workflowVersionId to AssignedAction ( #1726 )
...
* feat: send workflow id + version id back on assigned action
* feat: wire up python sdk
* fix: patch ver
* feat: wire ts up
* feat: wire up Go
* fix: lint + tests
* Feat: Cancel from context in TS (#1722 )
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
2025-05-16 11:46:57 -04:00
Nathan Gage
99bcfa1037
add: CoroutineLike & AwaitableLike types ( #1713 )
...
* add: CoroutineLike & AwaitableLike types
* fix: type checker
* fix: reduce type narrowing on _parse_task_name
* fix: rm _aio_output helper
* Revert "fix: rm _aio_output helper"
This reverts commit ff51126c43 .
* fix: rm _aio_output helper
* chore: version
* feat: add tests for all the standalone run flavors
* refactor: simplify internals a bit
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-05-14 11:06:14 -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
37482a354b
Feat: Events in the OLAP Repo ( #1707 )
...
* Revert "Revert "Feat: Events in the OLAP Repo (#1633 )" (#1706 )"
This reverts commit bf29269a27 .
* Feat: Events Frontend (#1678 )
* feat: add events tables
* fix: tweak PK
* feat: migration
* feat: gen models
* fix: add external id col + index
* fix: uuid pk
* fix: types
* chore: gen
* feat: add index
* Feat: Write events into OLAP tables (#1634 )
* feat: query for event creation
* feat: olap impl
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* chore: lint
* fix: diff
* feat: add new partitions
* fix: eof
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: bug
* refactor: return type of trigger
* fix: unnest ids
* fix: unnest tenant ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: cruft
* fix: bug
* Update pkg/repository/v1/olap.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: rework to avoid n^2 loop
* fix: transaction timeout
* fix: lint
* fix: use error
* fix: rm penultimate version
* fix: rm penultimate test part ii
* Feat: CEL-based filtering of events (#1676 )
* feat: add optional expression to workflow trigger event ref
* feat: proto field for expression
* feat: write and parse the expression
* feat: wire up through put workflow ver request
* feat: query
* fix: naming
* fix: cleanup
* fix: rebase
* Update pkg/repository/v1/trigger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: skip workflow on cel eval failure
* fix: zero value
* fix: cel evaluator
* fix: usage
* fix: naming + type
* fix: rm event filter from v0 defn
* feat: tests + fix typing
* fix: usage
* fix: construct input
* feat: always write events
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: select existing partitions
* feat: add prio to push event request
* feat: priority from pushed events
* fix: missed a spot
* fix: write events even if they're not tied to any workflows
* fix: revert cel event filtering
* fix: couple more
* fix: simplify
* feat: initial API work
* chore: gen ts
* feat: fe skeleton
* feat: wiring up skeleton data
* feat: hook
* fix: bugs
* fix: lint on gen
* fix: couple more
* feat: wire up counts
* feat: initial events cols + styling
* feat: layout
* feat: styling
* fix: cleanup
* feat: use external ids on the FE
* fix: separate openapi spec for new events route
* fix: required param
* fix: update queries and api
* feat: event detail
* fix: page
* fix: rebase
* tweak: table
* feat: add events page to sidebar
* feat: modify queries to allow fetching by triggering event
* feat: add triggering event id to api
* chore: lint
* feat: wire up events api
* fix: rm log
* fix: gen
* feat: wire up status counts
* fix: rm time series
* fix: rm state
* fix: lint
* fix: eof
* chore: lint
* feat: wire up filters
* fix: lint
* chore: api gen
* feat: add events tables
* fix: tweak PK
* feat: migration
* feat: gen models
* fix: add external id col + index
* fix: uuid pk
* fix: types
* chore: gen
* feat: add index
* Feat: Write events into OLAP tables (#1634 )
* feat: query for event creation
* feat: olap impl
* feat: wire up the olap event write
* feat: goroutine?
* feat: start wiring up inserts to triggers
* fix: no `RETURNING`
* fix: hack
* fix: inner join
* feat: attempt 2
* fix: return errors
* chore: lint
* fix: diff
* feat: add new partitions
* fix: eof
* fix: write external ids into table
* chore: gen
* fix: wiring
* fix: event deduping
* fix: insert in bulk
* fix: bug
* refactor: return type of trigger
* fix: unnest ids
* fix: unnest tenant ids
* fix: run ids in bulk insert
* feat: two bulk inserts, one tx
* fix: cruft
* fix: bug
* Update pkg/repository/v1/olap.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: rework to avoid n^2 loop
* fix: transaction timeout
* fix: lint
* fix: use error
* fix: rm penultimate version
* fix: rm penultimate test part ii
* Feat: CEL-based filtering of events (#1676 )
* feat: add optional expression to workflow trigger event ref
* feat: proto field for expression
* feat: write and parse the expression
* feat: wire up through put workflow ver request
* feat: query
* fix: naming
* fix: cleanup
* fix: rebase
* Update pkg/repository/v1/trigger.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: skip workflow on cel eval failure
* fix: zero value
* fix: cel evaluator
* fix: usage
* fix: naming + type
* fix: rm event filter from v0 defn
* feat: tests + fix typing
* fix: usage
* fix: construct input
* feat: always write events
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: select existing partitions
* feat: add prio to push event request
* feat: priority from pushed events
* fix: missed a spot
* fix: write events even if they're not tied to any workflows
* fix: revert cel event filtering
* fix: couple more
* fix: simplify
* fix: gen api
* fix: gen
* fix: more merge issues
* chore: gen
* fix: lockfile
* fix: merge issues
* chore: gen again
* fix: rm unused fields from openapi spec
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: migration ver
* fix: insert trigger, event types
* fix: bunch o refs
* fix: migration
* fix: queries
* fix: finish wiring up inserts
* fix: misc bugs
* fix: fe filtering
* chore: lint
* fix: formatting, gen
* fix: current_date
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-13 14:11:12 -04:00
Matt Kaye
db246df476
Hotfix: ValueError for skipped task ( #1689 )
...
* fix: bug
* chore: ver
* fix: bump timeout
2025-05-07 07:50:02 -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
799b5d0dcf
Feat: Add cron filters to the API ( #1641 )
...
* feat: add params to api
* feat: wire up API to accept params
* fix: queries, gen python
* chore: python version
* feat: gen ts
* chore: ver
* chore: lint
* [Python]: Feat: Workflow runs API wrapper, slightly improved typing, cruft (#1636 )
* feat: add runs list wrapper around API
* chore: version
* feat: add to standalone
* chore: docs
* fix: clean up workflow registration
* fix: add additional opts to trigger opts
* fix: warning
* fix: defaults
* fix: docs
* docs: fix cron docs
* fix: gen
2025-04-30 16:41:33 -04:00
Matt Kaye
bea5d94215
Fix: On-Success Bug ( #1626 )
...
* fix: on success task
* chore: version
* fix: error message
* fix: docstring
* fix: docs
2025-04-26 10:06:13 -04:00
Matt Kaye
1eeb8e915d
Fix: Queue blocking on many concurrency keys + failures ( #1622 )
...
* fix: move around case ordering
* feat: move worker fixture around
* fix: clean up fixtures
* feat: expand test, try to repro
* debug: more minimal repro
* fix: bug bashing
* fix: factor out concurrency queries into overwrite
* feat: improve test
* fix: improve test
* fix: lint
* feat: migration for trigger
* Fix: Retry + Cancel Bugs (#1620 )
* fix: send original retry count to cancel
* fix: key threads, contexts, and tasks on retry count
* fix: store the key on the action and use it everywhere
* refactor: signature consistency
* fix: instrumentor types
* chore: version
* feat: comment
* fix: thank you mypy
* fix: simplify callback
* fix: ts implementation
* chore: lint
* fix: rework how retries are passed
* Fix: Add Retries to Log Pushes (#1594 )
* fix: retry log pushes
* chore: version
2025-04-25 21:49:30 -04:00
Gabe Ruttner
5655f23e07
blog: mergent migration ( #1611 )
...
* universal install
* initial migration guide
* fakefake tokens
* fake secret
* fixes
* lint
* lint
* lint
* tidy
* bump go 1.23 -> 1.24
* fix: whitespace lint
* bump golangci-lint version
* try to set up go before pre commit runs
* lint
* names
* lint
* fix: session store
* fix links
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-04-24 12:09:09 -07:00
Matt Kaye
c8f56e0872
Feat: Python SDK Documentation, Part I ( #1567 )
...
* feat: initial mkdocs setup
* chore: lock
* fix: config + start getting docs working
* fix: remove lots more redundant :type docs, update config more
* feat: split up clients
* feat: add pydoclint
* fix: rm defaults from docstrings
* fix: pydoclint errors
* feat: run pydoclint in ci
* fix: lint on 3.13
* debug: try explicit config path
* fix: ignore venv
* feat: index, styling
* fix: rm footer
* fix: more style tweaks
* feat: generated docs
* fix: refactor a bit
* fix: regen
* Revert "fix: regen"
This reverts commit 7f66adc77840ad96d0eafe55c8dd467f71eb50fb.
* feat: improve prompting
* feat: add docs, modify theme config to enable toc for docs
* fix: lint
* fix: lint
* feat: regenerate
* feat: bs4 for html parsing
* feat: preview correctly
* fix: exclude site subdir from all the linters
* refactor: break up script into components
* feat: remove a bunch more stuff from the html
* feat: prettier, enable toc
* fix: enable tocs in more places + sort properly
* fix: code blocks, ordering
* fix: ordering
* feat: finish up feature clients
* fix: rm unused deps
* fix: routing + property tags + sidebar
* fix: hatchet client + formatting
* fix: allow selecting single set of files
* fix: lint
* rm: cruft
* fix: naming
* fix: runs client attrs
* fix: rm cruft page
* feat: internal linking + top level description
* [Python]: Fixing some more issues (#1573 )
* fix: pass priority through from the task
* fix: improve eof handling slightly
* chore: version
* fix: improve eof handling
* fix: send prio from durable
* fix: naming
* cleanup: use a variable
* chore: version
* feat: comment explaining page depth thing
* chore: bump ver
* feat: standalone docs
* fix: prompting + heading levels
2025-04-18 15:34:07 -04:00
Matt Kaye
8de5cea480
Fix: Duration conversion to Go duration strings ( #1578 )
...
* fix: bug in timeouts
* chore: ver
* fix: `total_seconds`
* fix: linter
2025-04-18 14:18:56 -04: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
abelanger5
ef6668a8c3
fix: go signature and docs ( #1561 )
...
* fix: go signature and docs
* Update examples/v1/workflows/concurrency-rr.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-04-15 17:31:48 -04:00
Matt Kaye
0823ae3316
Hatchet Python Blog Post ( #1526 )
...
* feat: initial pass at first parts of blog post
* feat: initial mkdocs setup
* feat: first pass at embedding mkdocs
* fix: config
* debug: paths
* fix: unwind docs hack
* feat: start working on mkdocs theme
* fix: paths
* feat: wrap up post
* fix: proof
* fix: doc links
* fix: rm docs
* fix: lint
* fix: lint
* fix: typos + tweak
* fix: tweaks
* fix: typo
* fix: cleanup
2025-04-15 17:21:31 -04:00
Matt Kaye
3ee5a1ef88
Hotfix: Handle EOF Properly ( #1557 )
...
* fix: handle EOF properly
* chore: version
* fix: debug logs
* fix: rm eof type
2025-04-15 13:53:13 -04:00
abelanger5
1dcb50c170
hotfix: priority on schedule workflow ( #1556 )
...
* hotfix: priority on schedule workflow
* fix: build
2025-04-15 13:10:40 -04:00
abelanger5
c6abd6b9d2
feat: multiple workflow concurrency keys ( #1511 )
...
* feat: multiple workflow concurrency keys
* [Python]: Allow multiple workflow-level concurrency keys (#1512 )
* chore: generate
* feat: multi concurrency
* chore: version
* feat: example + test
* fix: expand tests
* Feat ts multiple wf concurrency (#1522 )
* feat: multiple concurrency
* release: 1.2.0
* fix: merge
* fix: concurrency defn
* fix: ts multiple concurrency backwards compat (#1531 )
* fix
* gen
* chore: lint
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
* chore: ver
* chore: gen
* chore: versions
* fix: manually rename migration
* fix: patch ver
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
2025-04-14 17:29:17 -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
Matt Kaye
eee938e326
Fix: Unique readable data key errors ( #1546 )
...
* feat: export readable data key + dedupe better
* chore: ver
2025-04-14 14:45:30 -04:00
Matt Kaye
90805ca763
Feat: Lifespans! ( #1541 )
...
* feat: implement lifespans
* feat: add psycopg test dep
* feat: lifespan script
* feat: examples and tests
* drive-by: add license
* drive-by: throw errors for sanity checks
* feat: docs
* feat: sync and async
* fix: docs
* fix: lint
* fix: small tweaks
* fix: rm unused
* fix: typed example
* fix: print
2025-04-14 08:56:39 -04:00
Matt Kaye
e4e57e7951
[Python]: Refactor: Remove validator registry ( #1528 )
...
* feat: remove validator registry!
* chore: version
* refactor: rename `WorkflowValidator` -> `TaskIOValidator`
* fix: rm unnecessary variable
2025-04-10 17:45:35 -04:00
Matt Kaye
7781200123
Hotfix: Pydantic validation of actionId ( #1525 )
...
* fix: pydantic validation of action
* chore: version
2025-04-10 12:25:39 -04:00
Matt Kaye
993817b049
[Python] Single listener base class + bug fixes + refactors ( #1470 )
...
* fix: register durable steps and workflows separately
* chore: initial copy of pooled listener
* feat: initial generic impl
* feat: use pooled listener for wf run listener
* refactor: move listeners to subdir
* feat: refactor durable event listener
* fix: bug
* feat: share single pooled workflow listener and event listener everywhere
* cruft: rm hatchet fixture
* fix: rebase issue
* feat: remove asyncio api client in favor of sync one
* chore: minor version
* proposal: crazy hack idea to make the workflow run listener work
* fix: sleeps and error handling
* Revert "cruft: rm hatchet fixture"
This reverts commit b75f625e6ccec095e8c4e294d6727db166796411.
* fix: set timeout
* fix: rm pytest-timeout
* fix: rm retry
* fix: use v1 by default
* fix: try removing retry state
* fix: try using async client?
* fix: try running sequentially
* debug: loop
* debug: maybe it's this?
* fix: lint
* fix: re-remove unused fixtures
* fix: lazily create clients in admin client
* fix: default
* fix: lazily initialize dispatcher client
* fix: hint
* fix: no. way.
* feat: add back retries in ci
* fix: clients + imports
* fix: loop scope
* debug: try running skipped tests in ci again
* Revert "debug: try running skipped tests in ci again"
This reverts commit 8d9e18150e5207ee6051d8df8a6fe2a7504c722e.
* fix: rm duped code
* refactor: rename everything as `to_proto`
* refactor: removals of `namespace` being passed around
* fix: task output stupidity
* feat: add deprecation warning
* fix: remove more unused code
* feat: mix sync and async in dag example
* fix: autouse
* fix: more input types
* feat: remove ability to pass in loop
* fix: overload key gen
2025-04-10 08:18:17 -04:00
Nick Bradford
247730158e
Update workflow.py to use model_dump(mode="json") ( #1514 )
...
* Update workflow.py to use model_dump(mode="json")
* drive-by: refactor a bit + fix incorrect input types
* chore: ver
---------
Co-authored-by: Nick Bradford <6633811+nsbradford@users.noreply.github.com >
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-04-09 21:59:26 -04:00
Matt Kaye
4c97bd5c74
Fix: Test failures ( #1510 )
...
* fix: test name
* fix: shrink test
* fix: correct logic for group membership
* fix: expand test again
2025-04-08 18:16:50 -04:00
abelanger5
f09c1d11fa
feat: multiple non-workflow level concurrency slots ( #1508 )
...
* feat: multiple non-workflow level concurrency slots
* feat: first pass at e2e test
* fix: lint
* fix: try sleeping?
* fix: namespacing
* chore: version
* feat: expand test
* Fix: Add `get_run_ref` to `runs` client (#1509 )
* feat: add run ref
* chore: ver
* fix: expand standalone
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-04-08 17:17:28 -04:00
Matt Kaye
76c0bdfc17
[Python]: Batch Bulk Run Calls ( #1504 )
...
* chore: ver
* feat: auto-batch to max batch size of 1000 workflows
* fix: magic number
* feat: bulk for TS
* Revert "feat: bulk for TS"
This reverts commit edbe731bfb .
2025-04-07 17:10:50 -04:00
Matt Kaye
63e10c65c7
Fix: Server URL and Host Port Overrides ( #1491 )
...
* fix: host port and server url overrides
* feat: tests
* chore: ver
2025-04-03 19:22:58 -04:00
abelanger5
9c1e6ecf2b
docs: durable execution + update self-hosted defaults to use v1 ( #1484 )
...
* docs: update self-hosted defaults to use v1
* docs: durable execution
* rm dep
* lint: run black
* redundant readme
* more wording
* other small things
* isort
2025-04-03 11:29:59 -04:00
Gabe Ruttner
747fa28ac4
Wip consistent naming ( #1480 )
...
* readme changes
* test readme changes
* try spaces
* readme indent
* add task orchestration features
* newline
* fix: headings and indent
* add flow control
* add scheduling
* rest of readme changes
* Update README.md
* Update README.md
* fix: small setup guide improvements
* Apply suggestions from code review
Co-authored-by: Matt Kaye <mrkaye97@gmail.com >
* Update frontend/docs/pages/home/index.mdx
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
* wip
* wip
* naming
* task
* lint
* compute
* fix: add a bunch of redirects
* fix: dynamic
* link to docs
* revert
* revert some changes
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
Co-authored-by: Matt Kaye <mrkaye97@gmail.com >
2025-04-03 11:27:19 -04:00
Matt Kaye
b3e5630e1a
Fix: Move Non-Retryable to hatchet_sdk.exceptions ( #1483 )
...
* feat: move non-retry to exceptions
* fix: client config default
* chore: ver
* cleanup: fix some dependencies
* feat: add retries to pytest in CI
2025-04-03 09:00:18 -04:00
Matt Kaye
77f81476bd
[Docs, Python] Expand Cancellation + Conditional Workflow Docs, Fix cancellation in Python ( #1471 )
...
* feat: expand conditional docs
* feat: initial cancellation work + fixing some broken links
* feat: docs on cancellation
* python: fix cancellation
* python: cruft
* chore: version
* feat: python example
* fix: TS cancellation examples
* fix: lint
* feat: go example
* feat: half-baked ts conditional logic workflow
* feat: add ts example conditional workflow
* feat: go example
* feat: go example
* fix: cancellation test
* fix: thanks, copilot!
* Update frontend/docs/pages/home/conditional-workflows.mdx
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
* fix: lint
* chore: lint
* fix: longer sleep
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
2025-04-02 19:51:51 -04:00