Commit Graph

738 Commits

Author SHA1 Message Date
matt
43e7466d0f Feat: Durable Execution Revamp (#2954)
* Feat: Durable Execution Revamp

---------

Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com>
2026-03-16 11:24:29 -04:00
matt
3f50be4b4d Fix: Sort registered workflows on the worker page (#3284)
* fix: sort registered workflows on the worker page

* fix: lowercase
2026-03-15 11:08:00 -04:00
abelanger5
330868c79a docs: cleanup of first three pages (#3253)
* docs: cleanup of first three pages

* feat: hidden keywords

* fix: search component scrolls now

* downrank reference pages

* rewrite what is hatchet

* fixes

* more small fixes
2026-03-14 10:45:30 -04:00
Greg Furman
588be514f3 fix(sdk): Configure logger for Hatchet client (#3046) 2026-03-14 15:24:26 +02:00
Julius Park
a44aa50d5c Fix typo in cron docs (#3197)
* initial

* fix pipe
2026-03-13 10:18:12 -04:00
Gabe Ruttner
8fe86a940d chore: disable ph on docs (#3265) 2026-03-13 05:40:35 -07:00
Jishnu
c77bfa9274 feat: add logs client for TS SDK (#3237)
* feat: add logs client for typescript

* docs: add ts logs docs

* fix: lint

* bump: version, changelog

* fix: lint
2026-03-11 17:30:04 -04:00
Julius Park
1d02a2a994 Fix owner invitation bug (#3230)
* initial commit

* update
2026-03-10 13:35:57 -04:00
Mohammed Nafees
ab6cae4420 Test PgBouncer against our code-level partitioning logic (#3178)
* test partition drops with pgbouncer

* dedicated DDLPool to bypass pgbouncer

* fix generate

* add env var

* min env var

* update documentation

* no go mod redundancy
2026-03-10 12:24:07 +01:00
Julius Park
6c1bd9a074 Fix broken docs links (#3217)
* initial commit

* idk why those files got updated

* the gh action for checking links isn't viable :/

* try again

* fix child-spawning

* fix more

* fix some more

* fix lint

* remove gh workflow for now
2026-03-09 16:25:31 -04:00
Mohammed Nafees
11dcb60d9d Fix frontend build issues with latest cloud API (#3216)
* isIac no longer exists on ManagedWorker

* fix lint
2026-03-09 18:17:29 +01:00
Julius Park
56a5f26bde Fix TUI docs video urls (#3195) 2026-03-06 16:28:11 -05:00
Julius Park
517ebdbe4a Update documentation for cron change (#3194)
* initial commit

* run prettier

* change to office hours link

* fix lint :/
2026-03-06 15:56:23 -05:00
Gabe Ruttner
642828df63 chore: remove duped pages and hide cookbooks (#3193) 2026-03-06 12:49:49 -08:00
Mohammed Nafees
ad2493b106 pause workflow query is deprecated so remove the option from the frontend (#3183) 2026-03-06 14:15:55 +01:00
Mohammed Nafees
00b53529bd Add missing Go SDK examples for worker affinity and manual slot release (#3179)
* add missing Go SDK examples for affinity and manual slot release

* fix gen
2026-03-06 01:51:27 +01:00
matt
2137108300 fix: add index page (#3176) 2026-03-05 18:32:54 -05:00
Jishnu
09b6001fc8 docs: python webhooks docs, update current docs (#3159) 2026-03-05 18:19:12 -05:00
Gabe Ruttner
5babd09679 docs: chunky overhaul (#3129)
* improve overall docs structure and things
2026-03-04 14:33:15 -08:00
Jishnu
508edde607 feat: automatic doc generator for TS SDK (#3047)
* add: typedoc config

* refactor: typeconfig, name feature client modules

* add: custom hatchet md plugin, feature client docs

* docs: filters client

* docs: add worker, workflows defintions

* fix: client and context docs, update typedoc

* fix: lint, add runnables doc

* add: additional md formatter methods, module docs

* add: geneated mdx, core generate and format logic

* refactor: new function changes

* fix: lint, lockfile

* fix: lint, strip generics in classes for docs

* refactor: use single line comments for deprecated

* fix: markdown escaping by typedoc

* docs: regenerate docs with new changes

* docs: refactor methods on alphabetical order

* refactor: non method headers to normal text

* docs: regenerate docs with 3 type depth
2026-03-03 12:07:41 -05:00
Erol
7cc0dec126 fix: remove /index suffix from search result urls to fix 404 routes (#3145) 2026-03-03 11:03:30 -05:00
Erol
f3a7e824fe fix: update relative links in home docs to fix sidebar (#3135) 2026-03-03 11:02:32 -05:00
matt
9d42c08f0e Hotfix: More small tenant switching + z index issues (#3124)
* fix: make tenant switch button into a picker

* fix: improve ui, group by org

* fix: more problematic z indexes

* fix: more z index issues, remove standalone tenants
2026-02-28 09:57:50 -05:00
Gabe Ruttner
8796d0ab7d chore: update dependencies for dependabot alerts (#3119)
* chore: update dependencies for dependabot alerts

* chore: bump main deps instead

* release: bump versions

* chore: bump gem

* chore: update hatchet-sdk to version 0.1.1 in Gemfile.lock
2026-02-28 06:48:15 -08:00
matt
5f9351ff06 fix: rm z index for action dialog (#3120) 2026-02-27 17:36:26 -05:00
Josh Duff
78e866c78f Feat: New "create organization" and "create tenant" interfaces (#3068)
* Tell eslint to ignore the generated code so that the npm run commands are usable

* Cleaning something I noticed while reading around

* An editorconfig so my editor knows when to use tabs and when to use spaces

* make it so you don't have to pass in unnecessary empty objects

* Two "new organization" pages – one for onboarding, one for after, both displaying the same form

* Fix a bug with asChild in the button component + make the "Create Organization" button a proper link

* the same form + save logic used in a "new organization" onboarding screen and a regular "new organization" screen

* not tested, but this tenant saver form looks like a reasonable starting place

* a "new tenant" modal that seems to work

* move minimumReleaseAge to a pnpm-specific config so npm doesn't complain at me when I reflexively type `npm run`

* automated unit tests for the frontend

* Rework the tenant+organization onboarding redirects, and use union types to try to make working with the organization in the app context more painless

* When onboarding, default the organization to the user's name

* isSaving doesn't need to be optional

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835696077

* wrap callback in useCallback

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835697163

* empty string is not the correct default

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835702156

* only set up the event listener once!

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835712324

* use tiny-invariant for assertions

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835707451

* [jedi hand move]

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835700130

* try a mutation

* I thiiiiink this is about what I want

* Finish getting the user-universe provider up to snuff, implement it in a few places.

Also fix a bug caused by the fact that some pages that assumed you were authenticated were not underneath the authenticated route

* change appContext to pull from user universe rather than querying tenants + organizations itself

also, rename the organization/tenant hooks isLoading->isUserUniverseLoaded

* We want resetQueries, not invalidateQueries

invalidate sets the query to stale, but leaves the data around and leaves isSuccess = true

* Make the user universe query dependent on isCloudEnabled + get the query client from context

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854606886
https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854611980
https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854614616

* get rid of an unpleasant `as`

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854620958

* fix a name that was too generic for what it was being used for

* Make the NewOrganizationSaverForm assertion message more useful

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854629289

* some embarrassing errors in the non-cloud flow

* fix: unwind pnpm changes

* Revert "fix: unwind pnpm changes"

This reverts commit 5df6a4b5d3.

* fix: add `packages` hack to pnpm-workspace files

* fix: shrink spacing

* fix: start improving styling of orgs page with tabs

* fix: start cleaning up UI

* fix: remove mobile views, nobody uses them

* fix: spacing, border

* fix: org edit button

* fix: remove invites tab

* fix: factor out columns

* login screen needs to clear any current user query errors before redirecting

otherwise it keeps trying to redirect you back to the login screen until the latest metadata request succeeds

* Fix some issues during login when switching between users

- we need to invalidate all the previous user's information when they log out so that it's not floating around in memory
- we need to validate the tenant id stored in localstorage before passing it along to the rest of the world
- to be safe, invalidate the user universe and start refetching it as soon as they log in, before we redirect to the authenticated route

* One more bit of explicit fetching that needs to happen

* After accepting a tenant invite, need to invalidate the user universe and re-fetch

Also, kill the listTenantMemberships query to force people to use the query that's wrapped up by the user universe

* Change the tenant-create e2e testto account for the UI changes

* It seems like Cypress was trying to navigate to the onboarding page too quickly for the test to pass on my machine

* Slightly better copy for the tenant label

* fix lint issues

* quote the glob paths?

* Disable running the tests in CI for now

* use the width settings that are most common across dialogs right now

* node 20 -> 24

* Need to manually specify node version apparently?

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2026-02-27 13:14:00 -05:00
Josh Duff
68d33fee65 Fix: Modals should appear above the mobile sidebar (#3114) 2026-02-26 17:35:18 -05:00
Gabe Ruttner
faa3fb8504 feat: add credit balance query and display in subscription component (#3107)
* feat: add credit balance query and display in subscription component

* fix: only show if > 0

* chore: gen

* chore: review
2026-02-25 15:02:51 -08:00
Mohammed Nafees
f3ec9597a6 Add env vars for max conn lifetime and idle time for pgx (#3096)
* add env vars for max conn lifetime and idele time for pgx

* add doc
2026-02-24 21:54:09 +01:00
Gabe Ruttner
a4d02e3924 docs: experimental flag (#3082) 2026-02-23 04:29:05 -08:00
Gabe Ruttner
de68e1375a Feat: typescript middleware (#3066)
* feat: typed middleware

* feat: chaining

* feat: typed global input

* feat: typed global output

* feat: inferred types from middleware

* feat: with chaining

* docs: initial pass

* feat: implicit chaining

* fix: implicit spread

* docs: separate examples

* refactor: rename middleware hooks from `pre`/`post` to `before`/`after` for consistency

* fix: search

* chore: lint

* fix: tests

* Update frontend/docs/pages/home/middleware.mdx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* release: 1.13.0

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-23 04:16:00 -08:00
matt
df9e86081a Fix: Move event log to a tab on the task run detail (#3067)
* fix: separate tab for activity on run detail

* fix: output payload bug

* fix: couple more uuid bugs

* fix: set var

* fix: add event type check
2026-02-22 19:02:22 -08:00
Gabe Ruttner
dd48ee136a feat(agents): add new agent instruction tools (#3059) 2026-02-21 08:49:28 -08:00
matt
30c6209fbc Fix: Expand long logs on click instead of on hover (#3069)
* fix: log expand on click

* fix: only show pointer on lines that will be truncated
2026-02-20 23:08:22 -05:00
matt
0cce1cfc04 Revert: Cancellation token Python changes (#3061)
* revert: cancellation token changes

* fix: changelog

* fix: add note on yank
2026-02-19 12:41:43 -05:00
Mohammed Nafees
1361047d11 Add upgrading and downgrading guide to self-hosting docs (#3044)
* new instance upgrade downgrade doc

* fix vercel build

* PR comments

* fix services

* no best practices section
2026-02-19 15:41:56 +01:00
abelanger5
73ef4747e7 feat: new search bar component (#2909)
* fix: compute payload size correctly for pg_notify

* refactor: pull search bar into its own component

* just use tab for autocomplete

* fix: log line typing

* Refactor Search Bar (#2964)

* Add empty search state

* V1 table layout logviewer

* Add temp hatchet-worker for testing

* Fix log css grid when expanded

* undo search notfound logic, needs API logic

* Rework workflow example

* use correct info color

* better table headers

* Add back ansi formatting

* Allow enter along with tab to traverse chips

* remove tutorial

* Add syntax color to search chips

* styling progress

* styling progress

* constrain width

* Add rel time

* Readd flag conditional

* remove hatchet-worker, feature flag, and cypress test

* remove tenant hook

---------

Co-authored-by: Alexander Belanger <alexander@hatchet.run>

* fix: remove ansi-to-html, review feedback

---------

Co-authored-by: Sebastian Graz <graz@live.se>
2026-02-17 20:47:20 -08:00
Gabe Ruttner
0a3ad9e3f7 Feat improved py cancellation (#2965)
* lint

* lint

* fix lockfile

* py test

* improved cancellation signaling

* feedback

* exit early

* cleanup

* cleanup

* rm unused

* chore: lint py

* Chore: Fix Python linters, regenerate (#2966)

* chore: regenerate python

* chore: bump and pin linter versions

* chore: run the linters

* fix: replace deprecated `grpc-stubs` with `types-grpcio`

* chore: add some fixmes

* chore: fix grpc version

* fix: patched file import order

* lint

* revert: go whitespace

* chore: feedback round i

* chore: feedback ii

* chore: feedback

* chore: lint

* release: 1.25.0

* revert: worker to main

---------

Co-authored-by: matt <mrkaye97@gmail.com>
2026-02-17 07:16:59 -08:00
Gabe Ruttner
2fdc47a6af feat: multiple slot types (#2927)
* feat: adds support for multiple slot types, primarily motivated by durable slots

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2026-02-17 05:43:47 -08:00
Mohammed Nafees
eefbcdc532 Return event ID after successful webhook trigger (#3039)
* return webhook event ID on successful receive

* fix pytest

* err handling for json unmarshal

* if clause
2026-02-16 18:36:51 +01:00
Gabe Ruttner
94066fab98 Feat--llm-readable-docs (#3030)
* feat: generate flat files

* feat: init mcp

* feat: enhance tab labels with themed icons and add new logos for programming languages

* feat: install in onboarding flows

* structural cleanup

* chore: remove desktop and add buttons

* feat: posthog instrumentation

* fix: responsive buttons

* nit: raw

* feat: minisearch

* feat: wip improved search

* feat: update MCP installation documentation and links

* chore: lint

* chore: cleanup comment

* fix: docstring

* fix: improve search highlighting and scrolling behavior

* chore: lint

* chore: review

* feat: add safeBase64Encode function and update origin handling in theme.config.tsx

* chore: feedback

* feat: ruby logo

* chore: lint
2026-02-16 03:07:45 -08:00
Gabe Ruttner
7875d78057 Feat: Official Ruby SDK (#3004)
* feat: initial ruby sdk

* fix: run listener

* fix: scope

* feat: rest feature clients

* fix: bugs

* fix: concurrent register

* fix: tests and ergonomics

* docs: all of them

* chore: lint

* feat: add RBS

* feat: add GitHub Actions workflow for Ruby SDK with linting, testing, and publishing steps

* chore: lint

* refactor: simplify load path setup for Hatchet REST client and remove symlink creation

* fix: cert path

* fix: test

* fix: blocking

* fix: ensure Hatchet client is only initialized once across examples

* fix: tests

* remove: unused example

* fix: bubble up errors

* test: skip flaky for now

* remove: lifespans

* fix: durable context bugs

* fix: bulk replay

* fix: tests

* cleanup: generate tooling

* fix: integration test

* chore: lint

* release: 0.1.0

* chore: remove python comments

* refactor: remove OpenTelemetry configuration and related unused options

* fix: default no healthcheck

* chore: lockfile

* feat: register as ruby

* chore: lint

* chore: update py/ts apis to include ruby

* chore: docs pass

* chore: lint

* chore: generate

* chore: cleanup

* chore: generate examples

* tests: add e2e tests

* tests: cache examples dependencies

* fix: namespace

* fix: namespace

* fix: namespaces

* chore:lint

* fix: improve cancellation workflow polling logic and add error handling

* revert: py/ts versions
2026-02-15 14:32:15 -08:00
Jishnu
9e0182ec77 feat: add python and typescript webhook client (#2959)
* feat: add python webhook client

* refactor: python webhook client, webhook tests

* add: ts webhook client, example

* remove unwanted assert

* refactor: webhook update eventkey optional

* fix lint

* bump version

* fix: webhooks.create args, webhook example

* fix: infer auth_type from auth payload python

* fix: infer auth type from payload ts

* remove auth type magic strings
2026-02-13 14:04:08 -05:00
Mohammed Nafees
40a1044b44 New UpdateLimits method for TenantResourceLimit table (#2895)
* new UpdateLimits method to tenant limits

* WIP: clean resource limits repo

* fmt changes and cvm needs to remain

* remove unnecessary metering logic

* updated openapi

* last fixes

* PR comments

* fixes

* default limits

* fix generate test

* fix lint
2026-02-13 18:01:46 +01:00
Greg Furman
77b7e5bdca chore(docs): Improve CONTRIBUTING.md, update docs, & cleanup Taskfile (#2972) 2026-02-12 18:13:10 -05:00
Mohammed Nafees
4fd7b94751 Add support for Svix webhooks (#2996)
* support Svix webhooks

* add migration

* use http status codes

* comment fix

* custom svix verification logic

* copilot comments

* copilot comments
2026-02-11 16:41:36 +01:00
Mohammed Nafees
871d63d429 [hotfix] Fix Docker frontend build issue (#2983)
* fix docker build error

* make tenantId not nullable
2026-02-10 17:29:54 +01:00
Mohammed Nafees
9e18860810 [hotfix] Fix BillingRequired component (#2982)
* fix billing required TSX component

* use tenant id
2026-02-10 17:13:13 +01:00
Mohammed Nafees
e448777339 Tasks marked as skipped in the UI (#2978)
* indicate skipped task runs correctly in the UI

* do not use useCurrentTenantId

* naming

* new hook for task skipped
2026-02-09 22:07:38 +01:00
Jishnu
ed43cae0a2 feat: Extend webhook support for scope_expression and payload (#2874)
* add: scope_expression and payload columns for v1_webhook

* refactor: insert or update sql cmds for v1_webhook

* feat: update api clients, openapi schema for new webhook body

* refactor: receiver and transformer for v1 webhook

* add: python sdk changes

* feat: ts sdk changes

* feat: add FE for webhook new params

* fix: scope expression empty payload

* add: support for scope and payload for go client

* fix: lint

* fix: error message UI on webhook

* fix: lint

* fix: migraiton conflict, build failure

* fix: error handling

* update docs, add tests

* fix: lint, test file name
2026-02-04 12:44:52 -05:00