Commit Graph

228 Commits

Author SHA1 Message Date
Mohammed Nafees
03e5b37059 Introduce UI for Organizations (#2247)
* org selector

* org selector and pages

* org page starts to look nice I think

* add mgmt tokens section

* better messaging

* custom auth interface

* add comments

* more modals

* more fixes

* onboarding create tenant for orgs

* use ConfirmDialog

* org invite modal

* org invites work

* email service into pkg

* fix build error

* attempt at creating hook

* address PR comments

* more fixes

* update for org list endpoint
2025-09-05 21:30:37 +02:00
Mohammed Nafees
a4506e6f82 Properly handle 404s from populator middleware to avoid panics (#2238)
* properly handle 404 in populator

* remove debug
2025-09-02 19:05:54 +02:00
Mohammed Nafees
5decda7588 inject into context (#2213) 2025-08-28 21:25:09 +02:00
Gabe Ruttner
9db1854533 onboarding key (#2212) 2025-08-27 14:22:55 -04:00
matt
c42d59f5d8 Fix: Remove custom auth (#2203)
* fix: rm custom auth

* fix: change auth strategy
2025-08-26 13:57:24 -04:00
matt
80fb7657ed Fix: Child runs not rendering after one day, empty worker ids, additional meta filters not being applied to counts (#2196)
* fix: child runs not rendering b/c they've timed out of the lookback window

* fix: migration version

* fix: dead links

* fix: additional meta filters for status counts

* chore: lint
2025-08-25 18:20:08 -04:00
Gabe Ruttner
59fe6c110e feat: improved onboarding part 1 (#2186)
* feat: analytics events

* improved forms

* store state

* lint

* cleanup tenant name

* nits

* add environment to the form

* environment tag

* include env with tenant

* lint

* fix gen

* address comments

* feedback

* fix: layout

* navigation state

* rm dep

* lint

* address review

* lint

* lint

* fix: build
2025-08-25 11:14:34 -07:00
Gabe Ruttner
f59ebd6c47 feat: analytics events (#2171)
* feat: analytics events

* review comments
2025-08-22 05:41:17 -07:00
Mohammed Nafees
2603939526 Introduce customAuth to the OpenAPI spec (#2168)
* introduce custom auth

* support optional CustomAuthorizationHandler
2025-08-20 17:05:11 +02:00
matt
355a7f197e Feat: Add Linear to preconfigured webhooks (#2157)
* feat: add linear

* feat: linear fallthrough

* feat: linear

* fix: copy tweak
2025-08-18 12:19:43 -04:00
matt
882caabe17 Refactor: Runs list state management + bug fixes part I (#2114)
* feat: hook for runs table state

* feat: filters hook

* feat: pass data down into task runs hook

* feat: pass data down to metrics hook

* feat: implement new useRuns hook and RunsTable component

* refactor: factor out table header + actions

* refactor: fix all the refs

* feat: improve flashing on additional meta

* fix: rm parent task banner

* refactor: remove a bunch of dead code

* fix: start getting filters working for buttons

* fix: filter naming, meta flashing

* feat: initial provider work

* refactor: wire up provider

* fix: replacing query params

* fix: pass more params through

* fix: lint + start working on cancel / replay modal styling

* fix: no need to prop drill into time filter

* refactor: less prop drilling

* fix: lint

* feat: mutliselect workflow and status filters

* fix: make status and workflows list-only

* fix: unbreak trigger form

* fix: clean up some copy

* fix: change tasks back to workflows to limit confusion

* fix: column visibility

* fix: hide parent external id

* chore: lint

* chore: cruft comment

* fix: hack for parent id

* fix: add comment

* fix: redirects, misc errors

* chore: lint

* fix: prop

* fix: replay / cancel styling

* fix: toolbar filter types

* fix: rm link

* fix: rm fixed height for mini map

* fix: pagination on child runs

* fix: metadata

* fix: additional meta flashing, part ii

* chore: lint

* fix: additional meta flashing, part a trillion

* feat: actions popover

* feat: improve icons + spacing

* feat: improved layout of actions

* fix: back button, lint

* fix: change which buttons get shown on different pages

* fix: z index

* fix: button text size

* fix: column names

* fix: dom nesting warning

* fix: remove client-side sorting from events table

* feat: initial work on flatten dag switch

* feat: allow flattening tasks

* feat: improve typing of columns

* fix: remove uses of `any`

* fix: dont rotate the snowflake

* fix: rm log line

* fix: workflow names on flattened

* fix: flatten styling

* fix: reset styling

* fix: clean up dialog open/close states

* fix: flatten state

* refactor: naming of show / hide, hide flatten option

* fix: hide cancel / replay on workers

* fix: column keys
2025-08-14 13:35:06 -04:00
matt
36924936fa Feat: Webhook fixes / improvements (#2131)
* feat: webhook update

* feat: add headers to cel env

* fix: header casing

* feat: wire up edits

* fix: updates

* fix: finish wiring up updates

* fix: handle save on enter

* fix: lint

* feat: add slack and discord

* feat: initial slack setup

* fix: get slack working

* fix: rm discord for now

* fix: lint

* chore: gen

* fix: explicit save button

* feat: add link to CEL docs

* feat: add callout for reaching out to support

* feat: docs

* refactor: challenge

* fix: naming

* fix: return

* fix: resp codes

* fix: webhooks beta flag

* fix: rm discord

* fix: docs
2025-08-14 10:46:57 -05:00
Mohammed Nafees
1ff21c6746 [hotfix] Better messaging around tenant prometheus metrics empty state (#2124)
* better messaging around prom metrics

* fix var

* better handling
2025-08-13 10:49:58 +02:00
Mohammed Nafees
51a037d493 Workflow combobox search functionality (#2118)
* add pagination support for trigger workflow dropdown

* fix lint

* message fix

* no pagination but search

* no need for useless allocation

* PR comments
2025-08-12 20:43:30 +02:00
matt
d2b60917ee Fix: Waterfall panic + query simplification (#2116)
* fix: simplify query a bunch

* fix: simplify more

* fix: simplify a whole bunch more

* fix: wire up

* fix: query

* fix: the actual bug
2025-08-12 07:56:13 -04:00
Mohammed Nafees
8a0e88ac48 [HAT-432] Enforce task priorities to be between 1 and 3 (#2110)
* user provided priorities can only be 1,2,3

* sanitize

* check for retry counts

* update partition functions to include constraints

* do SQL migration afterwards

* revert sql changes
2025-08-11 21:50:34 +02:00
Mohammed Nafees
0b646316f1 Add GRPC callback interceptor and correlation IDs to respective API and GRPC handlers (#2073)
* chore(deps): bump hatchet-sdk in /examples/python/quickstart (#2070)

Bumps hatchet-sdk from 1.16.3 to 1.16.4.

---
updated-dependencies:
- dependency-name: hatchet-sdk
  dependency-version: 1.16.4
  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>

* chore(deps): bump google.golang.org/api from 0.243.0 to 0.244.0 (#2071)

Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.243.0 to 0.244.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.243.0...v0.244.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-version: 0.244.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>

* add grpc callback interceptor

* add correlation id to more endpoints

* fix string interpolation payment methods (#2072)

* hotfix: empty scope in OLAP replication (#2068)

* fix lint

* update comment

* feat: activity detection (#2055)

* feat: activity detection

* address comments

* chore(deps): bump github.com/prometheus/client_golang (#2074)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.22.0 to 1.23.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.23.0/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.22.0...v1.23.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-version: 1.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump github.com/getsentry/sentry-go from 0.34.1 to 0.35.0 (#2075)

Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.34.1 to 0.35.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases)
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-go/compare/v0.34.1...v0.35.0)

---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
  dependency-version: 0.35.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>

* add resource id and type

* update grpc callback middleware

* fix v0 trigger

* use constants

* fix values

* use constants

* use string declared method

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: matt <mrkaye97@gmail.com>
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com>
2025-08-04 12:29:01 -04:00
Mohammed Nafees
e6c50ca1a0 Allow member roles to be changed by owners and admins (#2044)
* allow member roles to be changed by owners and admins

* PR comments

* chore: gen

* fix: rm changes to /next/

* chore: gen

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2025-07-30 17:42:34 -04:00
matt
d6f8be2c0f Feat: OLAP Table for CEL Eval Failures (#2012)
* feat: add table, wire up partitioning

* feat: wire failures into the OLAP db from rabbit

* feat: bubble failures up to controller

* fix: naming

* fix: hack around enum type

* fix: typo

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

* fix: typos

* fix: migration name

* feat: log debug failure

* feat: pub message from debug endpoint to log failure

* fix: error handling

* fix: use ingestor

* fix: olap suffix

* fix: pass source through

* fix: dont log ingest failure

* fix: rm debug as enum opt

* chore: gen

* Feat: Webhooks (#1978)

* feat: migration + go gen

* feat: non unique source name

* feat: api types

* fix: rm cruft

* feat: initial api for webhooks

* feat: handle encryption of incoming keys

* fix: nil pointer errors

* fix: import

* feat: add endpoint for incoming webhooks

* fix: naming

* feat: start wiring up basic auth

* feat: wire up cel event parsing

* feat: implement authentication

* fix: hack for plain text content

* feat: add source to enum

* feat: add source name enum

* feat: db source name enum fix

* fix: use source name enums

* feat: nest sources

* feat: first pass at stripe

* fix: clean up source name passing

* fix: use unique name for webhook

* feat: populator test

* fix: null values

* fix: ordering

* fix: rm unnecessary index

* fix: validation

* feat: validation on create

* fix: lint

* fix: naming

* feat: wire triggering webhook name through to events table

* feat: cleanup + python gen + e2e test for basic auth

* feat: query to insert webhook validation errors

* refactor: auth handler

* fix: naming

* refactor: validation errors, part II

* feat: wire up writes through olap

* fix: linting, fallthrough case

* fix: validation

* feat: tests for failure cases for basic auth

* feat: expand tests

* fix: correctly return 404 out of task getter

* chore: generated stuff

* fix: rm cruft

* fix: longer sleep

* debug: print name + events to logs

* feat: limit to N

* feat: add limit env var

* debug: ci test

* fix: apply namespaces to keys

* fix: namespacing, part ii

* fix: sdk config

* fix: handle prefixing

* feat: handle partitioning logic

* chore: gen

* feat: add webhook limit

* feat: wire up limits

* fix: gen

* fix: reverse order of generic fallthrough

* fix: comment for potential unexpected behavior

* fix: add check constraints, improve error handling

* chore: gen

* chore: gen

* fix: improve naming

* feat: scaffold webhooks page

* feat: sidebar

* feat: first pass at page

* feat: improve feedback on UI

* feat: initial work on create modal

* feat: change default to basic

* fix: openapi spec discriminated union

* fix: go side

* feat: start wiring up placeholders for stripe and github

* feat: pre-populated fields for Stripe + Github

* feat: add name section

* feat: copy improvements, show URL

* feat: UI cleanup

* fix: check if tenant populator errors

* feat: add comments

* chore: gen again

* fix: default name

* fix: styling

* fix: improve stripe header processing

* feat: docs, part 1

* fix: lint

* fix: migration order

* feat: implement rate limit per-webhook

* feat: comment

* feat: clean up docs

* chore: gen

* fix: migration versions

* fix: olap naming

* fix: partitions

* chore: gen

* feat: store webhook cel eval failures properly

* fix: pk order

* fix: auth tweaks, move fetches out of populator

* fix: pgtype.Text instead of string pointer

* chore: gen

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-30 13:27:38 -04:00
Mohammed Nafees
1b2a2bf566 change the behavior of RunWithMiddlewares (#2063) 2025-07-30 14:04:44 +02:00
Mohammed Nafees
b1758a3831 add new method on APIServer to add additional middlewares (#2048) 2025-07-23 23:19:44 +02:00
matt
42cb2d2dcc fix: return 404 from a few populators (#2031) 2025-07-21 20:41:36 +02:00
matt
5bf9f97720 Fix: Validate payloads + metadata and error on illegal unicode (#2023)
* feat: add helper method to repository

* feat: 400 on event pushes with invalid payloads

* fix: pointer

* feat: add to trigger

* feat: error on bulk trigger

* feat: error on schedule

* fix: validate log lines

* feat: validate crons

* feat: fail the task

* fix: rm debug line
2025-07-20 22:44:28 -04:00
matt
c202ec8359 Feat: CEL Debug Endpoint (#2010)
* feat: openapi spec + gen

* feat: scaffold cel service

* feat: impl with discriminated union

* fix: reversed

* chore: gen py

* chore: gen + add cel to hatchet client

* feat: wire up TS CEL client

* chore: versions

* feat: impl for go

* fix: error handling

* feat: python tests
2025-07-20 22:44:08 -04:00
Matt Kaye
4676ae8508 FIx: Feedback on replay / cancel (#1997)
* feat: return a response from replays

* fix: return correct thing

* feat: wire up cancel + replay toasts on FE

* fix: naming

* fix: other refs

* fix: linter setup
2025-07-15 13:29:52 -04:00
Matt Kaye
7c4685d48d Fix: Fix status assign to 500 (#1984)
* fix: remove assign to 500

* fix: reset on the incorrect case
2025-07-14 13:12:07 -04:00
abelanger5
6e820a120c feat: waterfall component (#1952)
* tmp: waterfall component

* feat: waterfall component

* address pr review comments
2025-07-04 14:47:30 -04:00
Matt Kaye
c805a52e38 Fix: Events query performance improvements (#1930)
* fix: split up event queries for perf

* fix: refs

* fix: event join
2025-07-01 11:58:15 -04:00
Mohammed Nafees
ef498a6235 Introduce tenant Prometheus metrics (#1875)
* introduce tenant workflow completed metric

* expose tenant prom metrics via handler

* fix workflow and worker id in metrics

* correctly add workflow metrics from workflow controller

* use olap DB to gather information for workflow completion

* fix prom metrics endpoint for tenant

* workflow name from external id

* simplify tenant registry based metrics

* add docs for prometheus metrics

* fix docs lint

* run prettier fix

* WIP metrics work

* use federate prom server URL to proxy metrics

* implement workflow duration histogram metric

* separate prom stack docker compose

* fix duration metrics calls

* move scheduler metrics to prom tenant specific file

* update docs for prom metrics

* fix lint

* use proper indices to query for durations

* reorg tenant metrics

* fix lint for doc

* update docs with promql examples and casing around prom metrics enabled

* update prom server url

* fix lint

* enabled prom metrics for v1 only from controller
2025-06-27 11:46:31 -04:00
Matt Kaye
a45816c6c2 Fix: Streaming + Misc SDK Fixes (#1903)
* fix: filters contracts + version bumps

* chore: gen

* feat: implement streaming for ts

* fix: v0 sdk side by side

* fix: optional status on semaphore slots

* fix: gen script

* chore: lint + gen

* chore: gen

* fix: fmt

* fix: revert changes

* feat: handle incorrect return types

* fix: worker status not assigned

* fix: improve handling of other types of pydantic models

* fix: handle null output case

* fix: get group key

* fix: info level log for non-retry

* fix: export non retry at top level

* fix: changelog

* chore: gen

* chore: gen
2025-06-26 17:42:34 -04:00
Matt Kaye
25a98cf372 Feat: Copy workflow config from run pages (#1901)
* feat: add workflow details to more responses

* send workflow version back with task summary

* feat: add copy to run page

* feat: wire up button on other pages

* fix: copy
2025-06-25 13:26:13 -04:00
Matt Kaye
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
Matt Kaye
a887c62809 Fix: Store CreateWorkflowVersionOpts for debugging (#1890)
* feat: add json column for opts

* feat: wiring

* feat: send config through the api

* feat: FE

* fix: order

* fix: hide sched timeout

* fix: lint

* fix: return mutated opts

* fix: adv section

* fix: remove unnecessary headers

* feat: styling improvements to settings

* feat: styling, pt ii

* feat: styling, pt iii

* fix: cron
2025-06-23 16:56:22 -04:00
Matt Kaye
98ba7b9a1d fix: silly bug (#1862) 2025-06-13 16:04:05 -04:00
abelanger5
f86eccfd9f fix: don't allow UserCreate endpoint if no basic auth enabled (#1861) 2025-06-13 14:30:45 -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
2591c1a4b0 FE Burndown VII: List View, Onboarding, Misc other stuff (#1851)
* fix: selection states, part i

* fix: selected task deduplication

* fix: naming

* chore: gen

* chore: cruft

* fix: rm cruft

* fix: time filter width on smaller screens

* fix: add cancel badge

* fix: extend timeout of recenter

* fix: exclude more filters on main view

* fix: metadata tooltip / popover layout shift, excluded filters

* fix: more excluded filters

* fix: improve events tooltips

* fix: shad label

* fix: rm worker details side panel

* fix: activity filters

* fix: error message

* fix: start unbreaking onboarding

* feat: add param for engine version on tenant create

* fix: wire up tenant version

* fix: continue reverting onboarding

* fix: sidebar + link

* fix: linters

* fix: default ver

* fix: engine ver handling

* fix: simplify

* fix: simplify

* fix: pluralize build to avoid being dockerignored
2025-06-11 16:30:40 -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
8f098360ef Feat: Tenant-in-path (#1756)
* feat: put tenant in path everywhere

* fix: no need for a tenant provider

* feat: rm tenant from local storage + query params

* fix: use `tenantId` everywhere we access the id

* fix: couple more

* feat: separate hook for getting just the tenant id

* fix: fix a couple routes

* chore: tons more generated stuff

* fix: login page

* fix: some paths

* fix: onboarding create tenant page

* feat: sent ui version when creating tenant

* fix: new tenant creation on signup

* fix: naming

* feat: redirect to v1 if the tenant has a v1 ui ver

* hack: redirect button if we get stuck

* fix: cruft

* fix: login

* chore: lint

* fix: redirect to signup

* fix: null pointer

* fix: redirects

* fix: redirect to the right place on login

* fix: make `/learn` tenanted

* fix: check tenant exists

* fix: broken lesson styling

* chore: lint

* Feat: Worker Detail (#1765)

* fix: nuke breadcrumbs

* fix: rip out query param state thing for now

* fix: rm more query state

* fix: eslint warnings

* debug: infinite loop

* fix: infinite loop

* fix: worker detail

* feat: initial work on worker filter

* fix: docs

* fix: rename worker services to pools

* fix: copy

* fix: rename

* fix: bunch more renaming

* fix: tsc

* fix: one more

* fix: more "service" refs

* fix: whoooole bunch more naming

* fix: last few

* fix: id -> name

* fix: list task runs on worker

* fix: filter state updates

* feat: worker detail query

* fix: separate components for the two pages

* fix: tsc

* feat: start sending actions over the API for worker list

* feat: actions view

* fix: styling

* fix: group pools by actions

* fix: ordering

* fix: improve sorting

* fix: copilot

* fix: don't set `replace`
2025-05-23 15:29:27 -04:00
Matt Kaye
3878bc3ca3 Feat: Remove inputs and outputs from workflow run list (#1720)
* feat: add new route

* feat: thread param through for i/o

* fix: rm inputs

* fix: children

* refactor: cleanup

* fix: rebase

* fix: nil check

* fix: use query param instead

* fix: lint

* fix: lint

* fix: wire param through

* chore: gen yet again

* fix: comma

* chore: gen
2025-05-20 16:45:09 -04:00
Matt Kaye
495fb756b5 Feat: UI Upgrade Flow (#1750)
* refactor: hook

* feat: add ui version to the tenant

* feat: add ui version to the tenant

* chore: bunch of generated stuff

* feat: return ui ver from db

* revert: flags change

* feat: wire up tenant update

* fix: type

* feat: upgrade / downgrade UI

* chore: tons more generated stuff 😬

* fix: some redirect logic

* fix: copy

* fix: non-required

* chore: gen

* fix: transformers

* fix: rm from v0 tenants

* fix: redirect
2025-05-20 16:28:50 -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
3e7a73a81c Hotfix: Go SDK scheduled workflows issues (#1727)
* fix: scheduled workflow namespace + input

* fix: send namespace through to schedules client

* tweak: do nothing with invalid json

* fix: helper
2025-05-16 08:11:33 -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
bf29269a27 Revert "Feat: Events in the OLAP Repo (#1633)" (#1706)
This reverts commit d6c491badf.
2025-05-12 17:17:26 -04:00
Matt Kaye
d6c491badf Feat: Events in the OLAP Repo (#1633)
* 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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-12 16:17:29 -04:00
Gabe Ruttner
00510869d2 Fix: more UI bugs -- focus on run detail view (#1703)
* wip improved signatures

* gen

* api tokens page

* codeblock

* no bg on button

* alerter empty state

* layout consistency, sidebar fixes

* sidebar tool tips

* layout improvements

* spacing

* not active top level settings

* no analytics opt out oss

* layout consistency

* pagination consistency

* only show chat if enabled

* refresh list

* fundamental responsive fixes

* navbar close on interaction

* update

* lint

* fix browser navigation

* lint

* layout

* clean console

* simplified refetch

* finally bash breadcrumbs hopefully

* lint

* no sync

* build

* invalidate

* add workflow run id to task timing

* fix parent breadcrumb

* add fallback runid

* waterfall fixes

* lint

* revert

* optional workflow run id

* remove unused prop

* lint

* fix build

* fix: dont render trigger unless needed

* variable size sheet

* minor tweaks

* global sidebar

* sheet scrolling

* header consistency

* expose classname

* selection state

* revert layout

* tmp pulse indicator

* fix: minimap

* clear breadcrumbs on exit

* error data might not be json

* interactive dag

* expand row on click

* bug fixes

* add retry counts to task summary

* wip

* feat: retry count and improved logger

* task pre

* update example

* gen

* add retry count to task event

* sheet with attempt state

* wip with attempt payloads

* event log navigation

* wip dag sidebar

* rm debug lines

* fix

* fix 404

* fix: latest default

* optimizations

* fix dag nav

* layout

* lint

* fix

* address reveiw

* use shad button

* add fixme

* review

* lint

* fix panic
2025-05-12 10:49:52 -07:00
Gabe Ruttner
3831fa3ede feat(ts): improved custom logger (#1652)
* wip improved signatures

* feat: retry count and improved logger

* task pre

* update example
2025-05-12 09:49:18 -07:00
Gabe Ruttner
d56da1aa4c fix: UI bugs (#1690)
* gen

* api tokens page

* codeblock

* no bg on button

* alerter empty state

* layout consistency, sidebar fixes

* sidebar tool tips

* layout improvements

* spacing

* not active top level settings

* no analytics opt out oss

* layout consistency

* pagination consistency

* only show chat if enabled

* refresh list

* fundamental responsive fixes

* navbar close on interaction

* update

* lint

* fix browser navigation

* lint

* layout

* clean console

* simplified refetch

* finally bash breadcrumbs hopefully

* lint

* no sync

* build

* invalidate

* add workflow run id to task timing

* fix parent breadcrumb

* add fallback runid

* waterfall fixes

* lint

* revert

* optional workflow run id

* remove unused prop

* lint

* fix build
2025-05-07 12:53:32 -07:00
Gabe Ruttner
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>
2025-05-05 08:17:29 -07:00