mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-24 20:38:44 -05:00
ba803abdfc00a10ee4e7517a1b3ba022b545d703
18 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ba803abdfc |
chore: regenerate examples (#2291)
Co-authored-by: GitHub Action <action@github.com> |
||
|
|
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> |
||
|
|
3f660ad761 |
chore: regenerate examples (#2145)
Co-authored-by: GitHub Action <action@github.com> |
||
|
|
a2b60c79fe |
[HAT-429] Go SDK v1 (#2089)
* first version of new syntax and semantics * lint fix * add very basic example * fix err handling * Run method * more Go SDK v1 examples * more v1 Go SDK examples * everything inside sdks/go * fix lint * remove code * fix cancellations example * fix child workflows example * fix durablecontext reflection * events example * more examples ported to v1 * RunBulk -> RunMany * address PR comments * add link to examples in go doc |
||
|
|
c8d5144ed4 |
[Python] Feat: Dependency Injection, Improved error handling (#2067)
* feat: first pass at dependency injection * feat: add DI example + tests * feat: finish up tests * feat: docs * chore: gen * chore: lint * chore: changelog + ver * fix: split up paragraphs * refactor: improve impl * chore: gen * feat: inject input + ctx into deps * chore: gen * [Python] Feat: More use of `logger.exception` (#2069) * feat: add more instances of `logger.exception` * chore: ver * chore: changelog * fix: one more error log * chore: gen * chore: gen * chore: lint * fix: improve shutdown * chore: changelog * unwind: exit handler * feat: task run error * feat: improve error serde with more context * chore: changelog * fix: changelog * chore: gen * fix: rm celpy + lark dep, casing issues * chore: changelog * fix: respect log levels over the API * fix: changelog * refactor: rename log forwarder * fix: circular import |
||
|
|
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> |
||
|
|
f1f276f6dc |
Feat: Python task unit tests (#1990)
* feat: add mock run methods for tasks * feat: docs * feat: first pass at unit tests * cleanup: split out tests * feat: pass lifespan through * fix: rm comment * drive by: retry on 404 to help with races * chore: changelog * chore: ver * feat: improve logging everywhere * chore: changelog * fix: rm print cruft * feat: print statement linter * feat: helper for getting result of a standalone * feat: docs for mock run * feat: add task run getter * feat: propagate additional metadata properly * chore: gen * fix: date * chore: gen * feat: return exceptions * chore: gen * chore: changelog * feat: tests + gen again * fix: rm print cruft |
||
|
|
c86a65bb0f |
Add new streaming support to Go SDK (#1955)
* add Go SDK streaming support * make docs changes for go sdk streaming * fix git lfs warning * streaming go example * fix lint * fix auto generated snip * revert poetry lock changes * some cleanup |
||
|
|
2cfb345dcf |
Feat: Handle unicode error, fix OTel error capturing (#1959)
* feat: raise illegal task output error out of the runner if we get a null unicode escape sequence * feat: add helper for sanitizing outputs * feat: improve error * fix: lock index * feat: use async stream method in example * chore: ver * chore: changelog * fix: turns out we don't need to lock * fix: return exception for instrumentation * chore: changelog * chore: bunch of generated crap * fix: comment placement * fix: copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> |
||
|
|
33ec5fb7d8 | add docs for Go SDK bulk operations (#1954) | ||
|
|
6e820a120c |
feat: waterfall component (#1952)
* tmp: waterfall component * feat: waterfall component * address pr review comments |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
09f8bd6118 |
feat--frontend-overhaul (#1537)
* reintegration * fix: relative routes * dynamic routes * up/downgrade ui * memoize * fix breadcrumbs * cleanup * titles * title format * additional meta * cli upgrade * button * lint * Update frontend/app/src/next/components/runs/run-id.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * build errors * unbind on return * lint * Fe overhaul run form (#1547) * simple trigger * populated * feat:trigger modal * clear * Update frontend/app/src/next/hooks/use-runs.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fe overhaul details (#1552) * simple trigger * populated * feat:trigger modal * clear * Update frontend/app/src/next/hooks/use-runs.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * wip activity log * merged logs * wip * wip * search box * fudge sort * wip improved worker sheet * wip * chore: improve error on dispatcher (#1538) * fix: empty billing context (#1553) * fix: empty * precommit * hotfix: priority nil pointer (#1555) * hotfix: priority on schedule workflow (#1556) * hotfix: priority on schedule workflow * fix: build * build * lint * build --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: abelanger5 <belanger@sas.upenn.edu> * Fe overhaul burndown 1 (#1563) * chore: improve error on dispatcher (#1538) * fix: empty billing context (#1553) * fix: empty * precommit * hotfix: priority nil pointer (#1555) * hotfix: priority on schedule workflow (#1556) * hotfix: priority on schedule workflow * fix: build * Hotfix: Handle EOF Properly (#1557) * fix: handle EOF properly * chore: version * fix: debug logs * fix: rm eof type * hotfix: priority on cron workflow for v0 (#1558) * fix: one more possible null deref (#1560) * 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 * 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> * feat: toggle doc sheet * docs: concurrency cleanup (#1562) * feat: storage adapter * docs--worker-config-options (#1535) * docs--worker-config-options * Update frontend/docs/pages/home/workers.mdx Co-authored-by: abelanger5 <belanger@sas.upenn.edu> * Update worker-configuration-options.mdx * lint --------- Co-authored-by: abelanger5 <belanger@sas.upenn.edu> --------- Co-authored-by: abelanger5 <belanger@sas.upenn.edu> Co-authored-by: Matt Kaye <mrkaye97@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: bit of spacing * single generated api * feat: initial styling pass on runs views (#1586) * Feat: Workflows pages (#1577) * feat: simple workflows list page * feat: refactor + add route for individual workflow * feat: start wiring up workflow detail page --------- Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com> * fix: tsc * fix: compiler * fe overhaul runs bash (#1599) * wip sidebar * wip: navigation * fix nits * tweaks * clear filter button * filter on click * always scroll y * wip time filters * state changes * wip * wip * functional, no style * fix default * wip * queue metrics * multi-select * padding * counts * fix always num * actions * fix maxheight * wip * spacing * fix: tenant state * fix: tenant * lint * github page * tenant alerting * ingestors * fix: tenant state * build errrors * empty state alerter * dropdown only on mobile * billing and limits * fix form * fix form * wip * wip * env vars * wip * what a component * wip * fix inf render * cleanup * persistent tabs * wip * common actions * deploy modal * update * delete * you're a wizard harry * Feat: Subrows in Runs View (#1595) * fix: type * feat: start wiring up subrows * fix: tsc * fix: hook order * fix: hack for tsc * fix: add some margin * fix: empty state * fix: empty state centering * fix: task detail links * fix: handle error, tweak child run styling * fix: lint * fix: edge case * all mw config * wip * fix breadcrumb hook * fixes * upgrade surfaces --------- Co-authored-by: Matt Kaye <mrkaye97@gmail.com> * bring back error toast * toast improvements * lint * fix: cloud only surface * cloud surface * fix breadcrumbs * feat: config view on workflow run page (#1607) * feat: config * fix: rm schedule timeout * Feat: Rework runs sidebar (#1612) * feat: rq devtools * fix: badge hover * feat: improve sidebar * refactor: hook * fix: input undefined * feat: waterfall diagram and cleanup runs view (#1606) * merge * merge * fix merge issue * rm debug lines * case on count * fix: display names * colors and handle on click --------- Co-authored-by: mrkaye97 <mrkaye97@gmail.com> * fix: remove a ton of dead code (#1618) * fix: remove n+1 query (#1619) * Fe overhaul managed compute and onboarding (#1614) * fix tab state on state changes * fix collapsed children * setup * layout * layout * move feature * wip * chore(deps): bump k8s.io/client-go from 0.32.3 to 0.33.0 (#1608) Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.32.3 to 0.33.0. - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](https://github.com/kubernetes/client-go/compare/v0.32.3...v0.33.0) --- updated-dependencies: - dependency-name: k8s.io/client-go dependency-version: 0.33.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> * wip * universal install * initial migration guide * fakefake tokens * fake secret * fixes * lint * lint * lint * tidy * chore: expose clean docs on top level * drop reo * wip * static * functional * bump go 1.23 -> 1.24 * fix: whitespace lint * bump golangci-lint version * wip * try to set up go before pre commit runs * lint * names * lint * fix: session store * wip * normalized snips * fix links * 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> * reusable state * fix: rm unimplemented pages for now (#1615) * feature dir * fixes (#1616) * with public auth * completed typescript flow * go blocks * wip * layout * wip * feat: read replica support and docs (#1617) * feat: read replica support and docs * fix: load logic * wip * wip * remove provider * migrate to static * fix block * lint * fix: loadtest * add task for linting * cleanup * fix meta sync * clean examples with highlights * get snips into app * sync * remove fake highlights * always gen before build * ignore generated * ignore * ignore generated * cleanup * always start the dev server * examples dependabot * app examples built off sdk examples * auto sync on main changes * sync the quickstarts with updating dependencies * examples and quickstart dependabots * only examples * functional onboarding * fix worker detail page * fix detail page * lint * init * tested structure copy * prepend * ❓to >, ‼️ to !! * normalize * separate example source * multi source * with index * wip * clean generation * migrated * cleanup * should build * sync before build * fix steps * inline * mkdirs * revert build * gen docs * static * rm * update examples * lint * fix: ts * fix remove lines on match * fix: client * add snips * dont lint examples * fix source * dont test examples * exclude quickstart * lint * dont break examples * cleanup * cleanup --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alexander Belanger <alexander@hatchet.run> Co-authored-by: Matt Kaye <mrkaye97@gmail.com> Co-authored-by: abelanger5 <belanger@sas.upenn.edu> * Merge main * lint * fix * Update api-server-setup.mdx * cleanup * github state * review and build --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: abelanger5 <belanger@sas.upenn.edu> Co-authored-by: Matt Kaye <mrkaye97@gmail.com> Co-authored-by: Alexander Belanger <alexander@hatchet.run> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
ffbeafc204 |
revert: add back testing harness (#1659)
* re-add new testing harness * add healthcheck port and pick random grpc port to listen on * feat: parallel load tests and faster tests * make parallelism = 5 * fix: lint * add linter to pre * fix: add back rampup fixes * reduce matrix on PR, add matrix to pre-release step * make load tests less likely to block * make limit strategy group round robin * uncomment lines |
||
|
|
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 |