Commit Graph

109 Commits

Author SHA1 Message Date
matt
6efdba02e8 [Python]: Hotfix: Pydantic serialization error from failing to encode bytes (#2602)
* hotfix: handle pydantic serialization errors

* chore: changelog

* fix(python-sdk): Fix RateLimit validation incorrectly rejects valid CEL expression strings (#2536)

* fix(python-sdk): Fix RateLimit validation incorrectly rejects valid CEL expression strings

* fix(python-sdk): Update RateLimit validation to use union type for limit instead of tuple syntax

* chore(python-sdk): update changelog and bump the patch version to 1.21.4

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>

---------

Co-authored-by: miyelani-inc <139712015+miyelani-inc@users.noreply.github.com>
2025-12-04 14:22:49 -05:00
Sid Premkumar
709dd89a18 Add gzip compression (#2539)
* Add gzip compression init

* revert

* Feat: Initial cross-domain identify setup (#2533)

* feat: initial setup

* fix: factor out

* chore: lint

* fix: xss vuln

* feat: set up properly

* fix: lint

* fix: key

* fix: keys, cleanup

* Fix: use sessionStorage instead of localStorage (#2541)

* chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 (#2545)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.44.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.44.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.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/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml (#2547)

Bumps [google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml](https://github.com/google/osv-scanner-action) from 2.2.4 to 2.3.0.
- [Release notes](https://github.com/google/osv-scanner-action/releases)
- [Commits](https://github.com/google/osv-scanner-action/compare/v2.2.4...v2.3.0)

---
updated-dependencies:
- dependency-name: google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml
  dependency-version: 2.3.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>

* [Go SDK] Resubscribe and get a new listener stream when gRPC connections fail (#2544)

* fix listener cache issue to resubscribe when erroring out

* worker retry message clarification (#2543)

* add another retry layer and add comments

* fix loop logic

* make listener channel retry

* Compression test utils, and add log to indicate its enabled

* clean + fix

* more fallbacks

* common pgxpool afterconnect method (#2553)

* remove

* lint

* lint

* add cpu monitor during test

* fix background monitor and lint

* Make envvar to disable compression

* cleanup monitoring

* PR Feedback

* Update paths in compression tests + bump package versions

* path issue on test script

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: matt <mrkaye97@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Nafees <hello@mnafees.me>
2025-11-26 17:14:38 -05:00
matt
727a8fe470 Fix: OLAP Task Event Dual Write Bug (#2572)
* fix: task events bug

* fix: fallback bug

* fix: simplfiy test
2025-11-25 17:24:56 -05:00
matt
bef8e916d2 fix: worker fixture (#2527) 2025-11-14 11:18:20 -05:00
matt
58c0f0c9a2 [Python]: Add span kind to OTel spans (#2521)
* feat: add span kinds

* chore: version, changelog

* feat: root span naming convention

* fix: naming
2025-11-14 10:30:01 -05:00
matt
f14e999a76 Fix: TS & Py versions for log pagination (#2505)
* chore: gen ts

* chore: python

* fix: change default

* chore: regen docs
2025-11-08 10:46:44 +01:00
Jishnu
e82915b626 feat: add pagination support for V1LogLineList (#2354)
* feat: pagination for v1 loglines list

* add: sqlc v1 query for loglines count

* add: generated rest-client changes for python sdk

* refactor: frontend logs UI with pagination elements

* add: ts-sdk logline pagination, py logline list pagination docstring

* feat: add since queryparam for v1logline, add infinitescroll pagination on FE

* add custom polling for logs refresh on FE, remove inefficient default refresh logic

* add since queryparam of v1logline to all rest-clients

* refactor: remove offset query param, add until query param(v1logline)

* remove pagination from v1loglinelist

* fix: inconsistent scroll behaviour, add pagination response schema on v1loglist

* add: infinite scroll behavior for smooth log scrolling; prefetch next page logs in advance

* fix: pagination scroll, when task is running, remove stale pagination data when logs tab inactive

* chore: lint

* chore: lint

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2025-11-07 17:38:29 +01:00
matt
25776624ea Docs: Dataclasses (#2488)
* feat: dataclass docs

* fix: add min version
2025-11-06 16:04:39 +01:00
matt
4518ff771c [Python] Feat: Dataclass Support (#2476)
* fix: prevent lifespan error from hanging worker

* fix: handle cleanup

* feat: dataclass outputs

* feat: dataclasses

* feat: incremental dataclass work

* feat: dataclass tests

* fix: lint

* fix: register wf

* fix: ugh

* chore: changelog

* fix: validation issue

* fix: none check

* fix: lint

* fix: error type
2025-11-01 00:27:28 +01:00
Mohammed Nafees
409b611d89 upgrade grpcio libs for python sdk (#2436) 2025-10-23 17:48:12 +02:00
matt
c6e154fd03 Feat: OLAP Payloads (#2410)
* feat: olap payloads table

* feat: olap queue messages for payload puts

* feat: wire up writes on task write

* driveby: add + ignore psql-connect

* fix: down migration

* fix: use external id for pk

* fix: insert query

* fix: more external ids

* fix: bit more cleanup

* feat: dags

* fix: the rest of the refs

* fix: placeholder uuid

* fix: write external ids

* feat: wire up messages over the queue

* fix: panic

* Revert "fix: panic"

This reverts commit c0adccf2ea.

* Revert "feat: wire up messages over the queue"

This reverts commit 36f425f3c1.

* fix: rm unused method

* fix: rm more

* fix: rm cruft

* feat: wire up failures

* feat: start wiring up completed events

* fix: more wiring

* fix: finish wiring up completed event payloads

* fix: lint

* feat: start wiring up external ids in the core

* feat: olap pub

* fix: add returning

* fix: wiring

* debug: log lines for pubs

* fix: external id writes

* Revert "debug: log lines for pubs"

This reverts commit fe430840bd.

* fix: rm sample

* debug: rm pub buffer param

* Revert "debug: rm pub buffer param"

This reverts commit b42a5cacbb.

* debug: stuck queries

* debug: more logs

* debug: yet more logs

* fix: rename BulkRetrieve -> Retrieve

* chore: lint

* fix: naming

* fix: conn leak in putpayloads

* fix: revert debug

* Revert "debug: more logs"

This reverts commit 95da7de64f.

* Revert "debug: stuck queries"

This reverts commit 8fda64adc4.

* feat: improve getters, olap getter

* fix: key type

* feat: first pass at pulling olap payloads from the payload store

* fix: start fixing bugs

* fix: start reworking `includePayloads` param

* fix: include payloads wiring

* feat: analyze for payloads

* fix: simplify writes more + write event payloads

* feat: read out event payloads

* feat: env vars for dual writes

* refactor: clean up task prop drilling a bit

* feat: add include payloads params to python for tests

* fix: tx commit

* fix: dual writes

* fix: not null constraint

* fix: one more

* debug: logging

* fix: more debugging, tweak function sig

* fix: function sig

* fix: refs

* debug: more logging

* debug: more logging

* debug: fix condition

* debug: overwrite properly

* fix: revert debug

* fix: rm more drilling

* fix: comments

* fix: partitioning jobs

* chore: ver

* fix: bug, docs

* hack: dummy id and inserted at for payload offloads

* fix: bug

* fix: no need to handle offloads for task event data

* hack: jitter + current ts

* fix: short circuit

* fix: offload payloads in a tx

* fix: uncomment sampling

* fix: don't offload if external store is disabled

* chore: gen sqlc

* fix: migration

* fix: start reworking types

* fix: couple more

* fix: rm unused code

* fix: drill includePayloads down again

* fix: silence annoying error in some cases

* fix: always store payloads

* debug: use workflow run id for input

* fix: improve logging

* debug: logging on retrieve

* debug: task input

* fix: use correct field

* debug: write even null payloads to limit errors

* debug: hide error lines

* fix: quieting more errors

* fix: duplicate example names, remove print lines

* debug: add logging for olap event writes

* hack: immediate event offloads and cutovers

* fix: rm log line

* fix: import

* fix: short circuit events

* fix: duped names
2025-10-20 09:09:49 -04:00
matt
5b5adcb8ed Feat: Scheduled run detail view, bulk cancel / replay with pagination helper (#2416)
* feat: endpoint for listing external ids

* feat: wire up external id list

* chore: regen api

* feat: py sdk wrapper

* fix: since type

* fix: log

* fix: improve defaults for statuses

* feat: docs

* feat: docs

* fix: rm extra file

* feat: add id column to scheduled runs

* feat: side panel for scheduled runs

* fix: side panel header pinned

* fix: border + padding

* chore: gen

* chore: lint

* chore: changelog, version

* fix: spacing of cols

* fix: empty webhook resource limit

* fix: tsc

* fix: sort organizations and tenants alphabetically
2025-10-15 11:36:45 -04:00
matt
2a08cbf77b [Python]: Remove refs to *_group_key_* (#2379)
* chore: remove all group key refs

* fix: rm engine version refs

* chore: version + changelog
2025-10-03 12:52:05 -04:00
matt
35b97be825 [Python]: Pytest improvements (#2348)
* feat: try running in parallel in CI

* fix: simplify

* feat: add task

* fix: increase retry delay
2025-09-26 11:47:34 -04:00
matt
45b71ff058 [Python]: Removes the v0 SDK (#2330)
* fix: remove the v0 code!

* chore: changelog

* fix: rm unused deps

* chore: changelog

* fix: add back urllib3 direct dep
2025-09-24 10:38:06 -04:00
matt
8b8ded655d Fix: Update payload properly on replay (#2317)
* fix: overwrite payloads when task is in an initially e.g. cancelled state

* fix: add distinct to payload writes to limit conflict resolution

* feat: first pass at test

* fix: tenant in warning

* fix: lint, more assertions

* fix: bug

* fix: my pet peeve
2025-09-18 20:42:39 -04:00
matt
3ebf76b638 Fix: Event filtering edge case (#2311)
* fix: bugs in python tests + extend them to assert more

* fix: bug

* chore: lint

* fix: typo

* fix: longer timeout

* debug: more iterations

* debug: try fixing test again

* fix: allocate memory initially
2025-09-18 09:48:01 -04:00
matt
93454d6e75 Fix: More doc snippets (#2267)
* fix: batch i

* fix: batch ii

* fix: batch iii

* fix: batch iv

* fix: batch v

* fix: guide

* fix: batch vi

* fix: batch vii

* fix: dag docs

* fix: separate dag tasks
2025-09-09 15:37:20 -04:00
matt
4a50e454a6 Fix: Python docs examples (#2255)
* feat: client example

* fix: batch i

* fix: batch ii

* fix: batch iii

* fix: batch iv
2025-09-05 15:08:23 -04:00
matt
d97f825fe9 [Python]: Fix install issue (#2209)
* fix: naming conflict

* feat: add test install in ci

* chore: lock

* debug: try reverting to see if problem shows up

* Revert "debug: try reverting to see if problem shows up"

This reverts commit 3513b65f33.
2025-08-26 17:10:39 -04:00
matt
cf0aa21623 [Python]: Enable force kill on sigterm for hot reloading, stub workflow + task (#2197)
* feat: exit forcefully

* fix: handler, ver

* chore: lint

* feat: stubs client

* fix: more overloads

* chore: version

* chore: changelog

* feat: example of stubs

* feat: comment

* fix: add dedenting

* fix: snippet for running external tasks
2025-08-26 15:22:46 -04:00
matt
12086f489d Misc. Python Fixes (#2172)
* fix: add deps

* fix: add CEL as an optional extra

* chore: ver

* chore: changelog

* chore: changelog
2025-08-20 16:27:44 -04:00
matt
19550614f7 [Python] Feat: configurable log queue size (#2158)
* feat: configurable queue size

* chore: changelog, version

* fix: timeout
2025-08-18 14:11:19 -04:00
matt
f8e5f357d9 Fix: More examples / snippets fixes + rework (#2150)
* feat: start reworking snippets

* feat: start cleaning up gen script

* fix: start updating refs everywhere

* feat: start fixing broken snippet links

* fix: more snippets

* fix: more updates

* chore: lint

* fix: taskfile

* fix: script

* fix: escaping issue + mergent blog

* fix: bunch more

* chore: lint

* fix: implement more of them

* fix: retry

* fix: the rest

* chore: lint

* fix: highlight

* fix: ugh

* fix: start removing dead code from old snippet method

* fix: rest of the refs

* fix: remove all of the rest of the <GithubSnippet uses

* fix: couple more

* fix: last few errors

* fix: handle example writes

* fix: delete to test update

* fix: CI, attempt 1

* feat: helpful error on no snippet

* fix: lint

* chore: rm unused js file

* feat: improve GHA

* debug: run action on branch

* fix: rm pnpm

* fix: try to leave comment instead

* fix: don't run on branch

* fix: factor out GH info

* fix: include code path

* fix: ts
2025-08-17 10:22:16 -05:00
matt
82c9d2d17c Fix: Deadlocking on DAG concurrency (#2111)
* debug: try fixing lock order

* fix: single `FOR UPDATE`

* fix: raw sql

* fix: explicit case handling

* fix: cancel in progress

* fix: query bugs

* fix: one more

* feat: cancel newest

* feat: test for cancel in progress
2025-08-14 15:21:24 -04:00
matt
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
2025-08-11 23:10:44 -04:00
Sunny Rochiramani
797c043e6c Fix: Update prometheus-client version to >=0.21.1 (#2098)
* Update prometheus-client version to >=0.21.1 (instead of being pinned to v0.21.1)

This MR relaxes the version constraint of prometheus-client from ^0.21.1 to >=0.22. The reason for this change is that the previous constraint was too strict and caused dependency conflicts in Poetry when used alongside other packages that require a newer version. Since prometheus-client>=0.22 is backward compatible, this update is safe and avoids unnecessary version resolution issues.

* Update pyproject.toml

Update patch version as per PR comments.
2025-08-06 18:13:05 -04:00
mrkaye97
d68a28abdf Merge branch 'main' into v0.70.0 2025-07-30 17:24:29 -04:00
matt
9bd62b2eda [Python]: Flag to enable / disable gRPC fork support, modify valid task return type (#2057)
* feat: add flag to handle disabling fork support

* chore: version

* chore: changelog

* feat: allow TypedDict return from tasks

* chore: changelog

* feat: add poll strategy, change type
2025-07-30 13:48:38 -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
matt
cca0999eea [Python]: Fixing logging bugs, fixing duped sleep key bug (#2040)
* feat: add flag to disable log capture

* fix: sleep bug with duped key

* fix: allow formatters to be passed through

* feat: support filters too

* fix: cruft

* chore: gen

* feat: changelog

* fix: lint

* [Python] Fix: Don't retry gRPC requests on 4xx (#2024)

* fix: dont retry on 4xx

* chore: ver

* fix: sleep conditions with index

* fix: bug in sleep conditions

* chore: gen
2025-07-23 15:15:31 -04:00
Sam Wolk
d5b2b7817d [Python] Feat: create typed input validator access on base workflow (#2026)
* create typed input validator access on base workflow

* Bump version in toml

* add message to changelog
2025-07-22 11:12:29 -04:00
matt
7295254bfa Fix: filter lookup not retaining scope information (#2036)
* fix: filter lookup not retaining scope information

* fix: copilot suggestion

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

* fix: add DISTINCT to filter query

* fix: struct deduping

* feat: test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-22 11:59:34 +02: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
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
2025-07-17 13:54:40 -04:00
Matt Kaye
271dc2b243 Hotfix: Allow other types in remove_null_unicode_character (#1988)
* fix: allow any types in `remove_null_unicode_character`

* chore: ver

* chore: changelog

* feat: tests
2025-07-14 13:24:34 -04:00
Matt Kaye
725eaad425 Fix: Blocking event loop on log puts (#1986) 2025-07-12 17:19:18 -04:00
Matt Kaye
1302d62957 Hotfix: Add available slots back to worker page (#1983)
* fix: add available slots to worker page

* fix: add runtime info to py sdk

* chore: ver

* chore: changelog
2025-07-11 10:17:18 -04:00
Matt Kaye
9b39ac92e4 Feat: Improve metrics feature client (#1976)
* feat: add optional replacement to remove null unicode char

* feat: rework metrics client

* feat: rm unused

* chore: changelog

* chore: gen

* feat: add tenant prom metrics scraper

* feat: docs

* chore: changelog, naming

* fix: lint

* fix: type

* fix: pass replacement through
2025-07-10 11:50:55 -04:00
Matt Kaye
63004ec9ab Feat: Add workflow delete API to workflows client (#1970)
* feat: add workflow delete api to workflows client

* feat: add delete methods to workflows + runnables

* chore: docs gen
2025-07-09 16:20:21 -04:00
Matt Kaye
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>
2025-07-09 14:18:41 -04:00
Matt Kaye
3442c11106 Feat: Top-level stream consumer in the SDKs (#1917)
* feat: add stream sub on top level

* feat: clean up examples

* chore: gen

* feat: move stream onto the runs client in ts

* fix: examples

* chore: gen

* fix: circular import issues

* chore: lint

* feat: first pass at Next app

* fix: pull next out to top level

* fix: all the things

* fix: get it all wired up

* fix: imports

* fix: lint rule

* fix: just use js

* fix: revert tsconfig changes

* fix: check in pages

* fix: hangup event in streaming impl

* chore: gen

* chore: generate again, remove lots of nextjs stuff

* fix: one more ignore

* fix: gen

* fix: ignore

* fix: ugh

* fix: simplify a bunch

* fix: lint

* fix: rm gen cruft

* fix: changelog

* feat: implement list with pagination

* feat: add some tests

* feat: add warnings

* fix: update workflow / task methods

* chore: version

* feat: retries
2025-07-03 18:49:16 -04:00
Matt Kaye
7679732b15 Fix: Skipping conditions with multiple parents (#1948)
* fix: skipping bug

* fix: move `waits` -> `conditions`

* fix: refs

* chore: ver

* feat: add skipped task to test

* feat: start implementing or groups in wait for

* feat: test of or groups on durable context

* fix: lint

* chore: gen

* fix: lint

* fix: branching hell
2025-07-03 16:50:57 -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
1cd12f24f8 Feat: Streaming Docs + Examples (#1912)
* feat: streaming examples + gen

* feat: more examples

* chore: gen again

* feat: fastapi example

* chore: gen

* feat: callout

* fix: typos

* fix: whoops - how did this work?

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-26 17:28:05 -04:00
Matt Kaye
7eb4e8a9be Fix: version (#1900) 2025-06-25 12:11:33 -04:00
Matt Kaye
2f33dd4dbd Feat: Misc. Python improvements + Streaming Improvements (#1846)
* fix: contextvars explicit copy

* feat: fix a ton of ruff errors

* fix: couple more ruff rules

* fix: ignore unhelpful rule

* fix: exception group in newer Python versions for improved handling

* fix: workflow docs

* feat: context docs

* feat: simple task counter

* feat: config for setting max tasks

* feat: graceful exit once worker exceeds max tasks

* fix: optional

* fix: docs

* fix: events docs + gen

* chore: gen

* fix: one more dangling task

* feat: add xdist in ci

* fix: CI

* fix: xdist fails me once again

* fix: fix + extend some tests

* fix: test cleanup

* fix: exception group

* fix: ugh

* feat: changelog

* Add Ruff linter callout to post

* refactor: clean up runner error handling

* feat: improved errors

* fix: lint

* feat: hacky serde impl

* fix: improve serde + formatting

* fix: logging

* fix: lint

* fix: unexpected errors

* fix: naming, ruff

* fix: rm cruft

* Fix: Attempt to fix namespacing issue in event waits (#1885)

* feat: add xdist in ci

* fix: attempt to fix namespacing issue in event waits

* fix: namespaced worker names

* fix: applied namespace to the wrong thing

* fix: rm hack

* drive by: namespacing improvement

* fix: delay

* fix: changelog

* fix: initial log work

* fix: more logging work

* fix: rm print cruft

* feat: use a queue to send logs

* fix: sentinel value to stop the loop

* fix: use the log sender everywhere

* fix: make streaming blocking, remove more thread pools

* feat: changelog

* fix: linting issues

* fix: broken test

* chore: bunch more generated stuff

* fix: changelog

* fix: one more

* fix: mypy

* chore: gen

* Feat: Streaming Improvements (#1886)

* Fix: Filter list improvements (#1899)

* fix: uuid validation

* fix: improve filter filtering

* fix: inner join

* fix: bug in workflow cached prop

* chore: bump

* fix: lint

* chore: changelog

* fix: separate filter queries

* feat: improve filter filtering

* fix: queries and the like

* feat: add xdist in ci

* feat: streaming test + gen

* feat: add index to stream event

* fix: rm langfuse dep

* fix: lf

* chore: gen

* feat: impl index for stream on context

* feat: tweak protos

* feat: extend test

* feat: send event index through queue

* feat: first pass + debug logging

* debug: fixes

* debug: more possible issues

* feat: generate new stream event protos

* feat: first pass at using an alternate exchange for replaying incoming stream events

* fix: exchange create timing

* fix: rm unused protos

* chore: gen

* feat: python cleanup

* fix: revert rabbit changes

* fix: unwind a bunch of cruft

* fix: optional index

* chore: gen python

* fix: event index nil handling

* feat: improve test

* fix: stream impl in sdk

* fix: make test faster

* chore: gen a ton more stuff

* fix: test

* fix: sorting helper

* fix: bug

* fix: one more ordering bug

* feat: add some tests for buffering logic

* feat: hangup test

* feat: test no buffering if no index sent

* fix: regular mutex

* fix: pr feedback

* fix: conflicts
2025-06-25 10:11:01 -04:00
Matt Kaye
33d60dfcd2 Fix: Filter list improvements (#1899)
* fix: uuid validation

* fix: improve filter filtering

* fix: inner join

* fix: bug in workflow cached prop

* chore: bump

* fix: lint

* chore: changelog

* fix: separate filter queries

* feat: improve filter filtering

* fix: queries and the like
2025-06-25 09:44:17 -04:00
Gabe Ruttner
bd40740420 chore: update protobuf (#1868)
* update protobuf

* fix: mypy

* chore: ver

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2025-06-17 11:33:35 -04:00
Matt Kaye
4348dc99e5 Feat: Events Frontend, Redux (#1859)
* feat: add params to events api

* feat: add more filters to event query

* fix: count query

* feat: start wiring up events queries

* feat: overwrites for queries

* feat: query for event keys

* feat: wire up event key api

* feat: wire up two queries on fe

* feat: fix more wiring

* feat: display event data

* fix: styling

* feat: sidebar

* fix: types + default viz

* feat: scope filter

* feat: index

* fix: queries

* fix: queries, deduping, popover

* fix: lint

* feat: add filter id col to the event to run table

* feat: add filter id to copy

* feat: wire filter through to the db

* feat: send back triggered run ids over the api

* fix: query

* feat: json obj for triggered runs on the event

* fix: cast trick to rm overwrite

* fix: migration

* fix: rm search

* fix: don't show counts on runs modal

* fix: key

* chore: gen ts

* chore: python

* fix: changelog
2025-06-13 14:16:08 -04:00