Proto commits in hatchet-dev/hatchet

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:94f1c92
Author:mrkaye97

Merge branch 'main' into mk/feat-idempotency

Commit:a441554
Author:mrkaye97

chore: rm unused proto change

The documentation is generated from this commit.

Commit:02f6fd0
Author:Gabe Ruttner

chore order of things

Commit:115306a
Author:Gabe Ruttner

comments

Commit:e520b06
Author:Gabe Ruttner

refactor: more feedback and clarified naming

Commit:e8d2ba7
Author:Gabe Ruttner

ack

Commit:a1a84b4
Author:Gabe Ruttner

chore: refactor rate limit stuff

Commit:10301e1
Author:Gabe Ruttner

feat: separate stream proto

Commit:91d1343
Author:Gabe Ruttner

chore: easy feedback

Commit:151fd44
Author:Gabe Ruttner

Merge branch 'main' into feat--hatchet-v2-grpc-api

Commit:ac147cb
Author:mrkaye97

feat: sql, move some logic over from my old branch

Commit:91549f1
Author:Gabe Ruttner

fix change og

Commit:bd482af
Author:Gabe Ruttner

Merge branch 'main' into fix--durable-satisfied-callback-order-gurantees

Commit:1963828
Author:Julius Park

Merge branch 'main' into feat--batch-flush-redux

Commit:15addec
Author:matt
Committer:GitHub

fix(engine): correctly raise error in durable parent when child fails (#4154) * fix: propagate error back to the sdk * fix: python sdk * feat: add is_failure and error_message to the proto * feat: engine changes for wiring failure flag + error msg through * chore: other sdks * chore: cop * chore: nullif on write * fix: feedback * feat: e2e test * feat: tests * fix: tests * chore: lint * fix: test * chore: gen * chore: changelog sync * chore: lint ugh I hate our ci * fix: add tasks to worker * chore: gen * chore: versions, changelogs * chore: bundle * fix: rework test to fail on cloud * fix: autocomplete :facepalm: * chore: black * chore: gen

The documentation is generated from this commit.

Commit:2e0f991
Author:Gabe Ruttner

fix: track satisfied order

Commit:8d37fa8
Author:mrkaye97

fix: move graph creation to the engine

Commit:f29a397
Author:mrkaye97

feat: almost working e2e PoC

Commit:552a47e
Author:Gabe Ruttner

separate register and stream

Commit:ab7d578
Author:Gabe Ruttner

feat: proposed protos

Commit:0fb5bf6
Author:Julius Park

add result broadcasting

Commit:0bdfc1c
Author:mrkaye97

chore: vendor the status proto for js

Commit:17e5cbc
Author:Julius Park

rename proto fields

Commit:4942ad4
Author:mrkaye97

feat: wire up existing run ids

Commit:564d867
Author:Julius Park
Committer:Julius Park

wip merge

Commit:247dd6c
Author:mrkaye97

feat: add ttl col

Commit:09b749e
Author:mrkaye97

feat: add idempotency key expr to proto, workflow version

Commit:5e1fabb
Author:matt
Committer:GitHub

Fix: Webhook responses, event info on context, internal fix for labels matches (#3625) * feat: add boolean flag for whether or not to return the event as the response payload * feat: add field to indicate whether or not to return the event * fix: wire up receive api * feat: more columns for event trigger idea * feat: start wiring up queries * feat: internal wiring * fix: matches, more wiring * fix: simplify query * fix: more wiring * fix: clean up dag impl for worker labels too * fix: wiring, unwind dag changes * fix: if * feat: add webhook response switch on fe * fix: casing * fix: populator * feat: add fields to assigned action for trigger * feat: send trigger data back over the api to the context * chore: gen py * feat: wire up context in py * feat: update webhooks feature client * feat: ts, go * chore: lint * fix: more wiring for replay * fix: nil handling * chore: gen * chore: attempt to fix flaky test * feat: wire up olap writes * fix: rm changes on the olap side for now * fix: improve the `was_triggered_by_event` prop * chore: gen, fix migration version * chore: versions, changelogs

Commit:b39548c
Author:matt
Committer:GitHub

Feat: Durable execution frontend work and API improvements (#3639) * feat: initial work on durable event log ui * feat: use the logging component to show the event log * remove evicted crescent since the hover state was broken and it looked awkward * fix: filter out memo events, change copy * fix: durable event log height * feat: add helper hints for run triggers too * feat: rework wait data * feat: bulk run grouping * fix: or groups, more grouping on fe * feat: simplify api more * fix: get rid of cursor-impl mini map click behavior * feat: start consolidating durable and non-durable event logs * fix: make log level an enum for log component * feat: improve color of different logs, etc * fix: show task display names for dags * refactor: move durable event list to durable events repo, update api to return external ids and display names consistently * fix: swap order of replay / cancel buttons * feat: tabs cleanup for side panel * fix: input, output, additional metadata tab sizes in the side panel * chore: lint * feat: add link to log line * fix: improve copy * chore: lint and gen * feat: label in ts * chore: gen protos * fix: default behavior * chore: versions, changelogs * chore: rm some comments * chore: docs * fix: tests * fix: one more satisfied-now fix * fix: another copilot suggestion * fix: more copilot * fix: pagination * fix: start fixing link clicks * fix: log click overflow logic * Fix: Misc frontend issues (#3633) * fix: event column truncation * feat: add popover for worker labels * fix: memoize table cols * fix: simple table scrolling and padding * fix: lint * fix: dag view * fix: populator type assert * fix: remove duration string helper * fix: durable task ids

Commit:d69ef31
Author:matt
Committer:GitHub

Feat: Wait for event with lookback window (#3442) * feat: add scope to proto * chore: gen * feat: pass scope through to wait from sdk * feat: lookback window * feat: wire up opts * feat: add lookup query * feat: look up historical matches * fix: enable durable event log for everyone * fix: array len bug * fix: rm deduplication * fix: throw if either scope or lookback window is provided but not both * fix: simplify * fix: lint docs * fix: lint * refactor: pull satisfying matches into a separate tx * fix: forgot to commit :facepalm: * refactor: factor out logic into helper * feat: add some tests for lookbacks * fix: test cleanup, lint * fix: modify index, add scope * Revert "fix: modify index, add scope" This reverts commit b0ceb91cf36ed7dcb76ad47f81d0360e76a1b38b. * chore: gen ts * fix: start passing scope and lookback window through * fix: finish ts wiring * chore: replicate tests to ts * chore: gen everything * chore: gen again, it's neverending * fix: decrease sleep time * chore: lock * fix: commit if we return early * chore: comment * chore: try pinner redocly * fix: try overriding ajv * fix: impl consider events since in js correctly * chore: changelog * fix: max ordering, last event wins * chore: lint

Commit:a899c32
Author:matt
Committer:GitHub

Feat: Add `workflow_run_external_id` to trigger run ack proto (#3299) * feat: add external id to runs entry * chore: gen * fix: python wiring * chore: gen ts * chore: version * fix: wiring * chore: changelog, version * chore: gen

Commit:43e7466
Author:matt
Committer:GitHub

Feat: Durable Execution Revamp (#2954) * Feat: Durable Execution Revamp --------- Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com>

Commit:583bb6f
Author:Gabe Ruttner
Committer:GitHub

Feat--unify-running-and-evicted (#3248) * feat: unify running and evicted counts with filter * chore: gen * chore: gen lint * fix: opsies... * chore: gen * chore: feedback

Commit:468de0c
Author:Gabe Ruttner
Committer:GitHub

feat: handle server initiated eviction on workers (#3200) * refactor: ts in sync with python * fix: waits respect abort signal * chore: gen, lint * fix: update key extraction logic in durable workflow example * fix: flake * fix: racey test * chore: gen * feat: send eviction to engine * feat: handle eviction on workers * fix: tests and invocation scoped eviction * fix: cleanup scope * refactor: cleanup how we do action keys in ts * chore: gen, lint * fix: test * chore: lint * fix: mock * fix: cleanup * chore: lint * chore: copilot feedback * fix: reconnect durable listener * chore: feedback * fix: bump worker status on wait and reconnect * refactor: rename eviction notice * fix: return error on query failure * chore: lint * chore: gen * refactor: remove early completion * Revert "refactor: remove early completion" This reverts commit f756ce37b04f4eaf02d8e74615402b773e05049e. * chore: remove unused param

Commit:1cd9660
Author:Gabe Ruttner
Committer:GitHub

rip: remove unneeded durable event log update (#3186) * rip: update * refactor: start cleaning up proto defs * refactor: finish cleaning up proto definitions * fix: rm the kind * refactor: rewire the server to have different methods for the different paths * refactor: more intermediate work * fix: variables * fix: wire the kind through * refactor: get it to compile * chore: start fixing python * fix: first pass at fixing python * chore: rm unused sql * fix: rm invocation count, rework some logic * fix: alias (why does sqlc not catch this) * fix: panics * fix: add faster timeout to durable spawn test * fix: task id bug * refactor: more cleanup of types * refactor: rm stale entries logic * fix: rework getOrCreate logic * fix: clean up a bunch more unneeded stuff * fix: bug * fix: python code * fix: dag matches bug * fix: add parent to dag to make it more broken, add timeout * fix: more involved tests * fix: dag waits * fix: tests --------- Co-authored-by: mrkaye97 <mrkaye97@gmail.com>

Commit:12bf751
Author:Gabe Ruttner
Committer:GitHub

feat: durable-bulk-spawn (#3173) * feat: durable bulk spawn * feat: bulk db operations * chore: lint * chore: generate * fix: sqlc hack * cleanup * chore: lint * refactor: remove duplicated code * refactor: simplify input * ops: rules * fix: add missing workflows to worker * chore: add todo * refactor: single execution path * comment * refactor: remove extra class * chore: lint * chore: lint * refactor: batch ack * fix: handle empty refs * chore: feedback * fix: durable output * chore: lint * chore: lint * chore: test fix and gen * revert: actually use bulk * refactor: simplify path * chore: empty commit Made-with: Cursor

Commit:1bffb66
Author:matt
Committer:GitHub

Feat: Branching off branches (#3150) * feat: add branch point table * chore: gen * feat: id for ordering * feat: check for `isBranchPoint` and handle branching * feat: wire up branching over the api * fix: api, gen * fix: gen * fix: branch * feat: remove duped parent node and branch ids * fix: rm branch count, dupe of latest id * refactor: resolve naming * fix: base case * fix: test, + it's literally always a caching issue omg * fix: docs * chore: lint * refactor: make branch resolution more efficient * feat: stable sort, add a bunch of tests * fix: confusing naming * fix: naming * chore: gen * fix: update * fix: failing test --------- Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com>

Commit:a6f5fb6
Author:Gabe Ruttner
Committer:GitHub

chore: rename durable fork to branch (#3174)

Commit:5b58eed
Author:Gabe Ruttner
Committer:GitHub

tests: compat testing (#3144) * tests: compat testing * fix: new engine old sdk * feat: ruby ts * fix: namespaced tests, conditions * chore: lint ts * fix: python compat * chore: lint * fix: warn on version mismatch * chore: lint * fix: child spawn * refactor: address review * chore: lint * chore: lint * chore: lint * refactor: address reviews * chore: lint * fix: typeguard * tests: docker-compose * fix: docker compose * fix: labels? * chore: skip new tests * fix: backwards compat * fix: grpc proxy

Commit:e29459f
Author:mrkaye97

chore: merge main

Commit:6c29e48
Author:matt
Committer:GitHub

Feat: Dynamic worker label assign (#3137) * feat: initial wiring work on desired labels * feat: initial wiring * chore: gen python * fix: use the whole desired label thing instead * fix: more wiring, improve types * fix: sql type * fix: len check * chore: gen python * fix: initial plural label work * fix: store the labels properly on the task * fix: skip cache on override * fix: bug * fix: scoping bug whoops * chore: lint * fix: send labels back over the api correctly * feat: python test * fix: lint * fix: comment * fix: override * fix: namespaces, ugh * fix: no need for error here * chore: version * feat: ruby, go, ts * feat: versions * fix: appease the rubocop * chore: lint * chore: bundle install * fix: tests * chore: lint * chore: lint more * fix: ts test * fix: rb * chore: gen * chore: reset gemfile * chore: reset changelog * fix: pgroup * fix: tests, part i * Revert "chore: reset changelog" This reverts commit b63bf7d3e56d28569dd0344059f5e89c20aa8cee. * Revert "chore: reset gemfile" This reverts commit bb848bb6f0048587467141fb3fc24da0ed81a316. * fix: go -> golang mapping hack * fix: go enums * fix: appease the cop * fix: namespace * chore: gen

Commit:77f769b
Author:matt
Committer:GitHub

Feat: Durable Memoization (#3112) * feat: initial engine / db work * chore: gen python * feat: initial python work * feat: wiring * feat: initial test * fix: scope memo key to the run id (we might not even need this) * chore: gen, docstring * fix: mandatory result type * fix: docs * fix: log a warning and don't cache * fix: add test for non-unique keys, fix some bugs * chore: lint * chore: naming * fix: more naming * fix: comment * chore: gen * fix: docs * fix: naming, ugh * chore: gen * chore: gen * fix: always send event log entry and get ack * fix: initial rework of memo to only use stream * fix: start reworking python side * fix: finish wiring up memo put * chore: fmt * chore: comment for monday * fix: start reworking signature * fix: docstring * fix: union type for send event to improve typing a bunch * fix: memo key * chore: gen * fix: rm unused query * fix: comments

Commit:2d57b67
Author:Gabe Ruttner
Committer:GitHub

Feat durable olap refactor (#3115) * chore: lint * feat: counting and partitioning * feat: add reason field to DurableTaskEvictInvocationRequest and update eviction handling * fix: eviction durable execution race * chore: generate * refactor: simplified migration * refactor: address review * refactor: analyze parent tables in migraiton * fix: migration * fix: remove no txn * fix: one statement * fix: we do infact need no transaction * add down/up/down to the online migration test * fix: or multiple statements * fix: two migrations... * chore: rm old migraiton * chore: generate * chore: feedback * fix: idempotent migration * refactor: update assertions in durable tests and clean up imports in cache.py * revert: migraiton * chore: wrap down

Commit:daff28d
Author:Gabe Ruttner
Committer:GitHub

Feat: durable eviction take 2 (#3075) * feat: simplified eviction feature * fix: assign new worker id * test: shorter sleep * fix: completion race on same worker * chore: address todo * chore: lint * chore: generate * fix: n+1 queries * refactor: WasEvicted bool * feat: evicted state * chore: generate * fix: map status * fix: update PendingCallback structure to include InvocationCount * revert: comment * feat: add support for EVICTED status in waterfall component and metrics display * fix: implicit eviction * chore: readable cte * refactor: queued bool * refactor: rename eviction_policy * fix: aio only * chore: example return type * fix: map * feat: eviction error cases * refactor: change external ID maps to use UUID type * chore: feedback, cleanup * tests: additional cases * chore: generate * chore: lint * chore: lint generate * chore: clean up comments to make matt happy * refactor: more feedback * chore: add TODO for worker state reconciliation and clean up comments in eviction policy * tests: fix * chore: gen * test: increase ruby timeout... * fix: invocation count * fix: test cases * fix: stale log entry * chore: lint * revert: durable tests to use time.time * chore: lint

Commit:401f9dc
Author:mrkaye97

feat: bulk spawn protos

Commit:28c38ef
Author:Gabe Ruttner

feat: simplified eviction feature

Commit:6f3f6e0
Author:matt
Committer:GitHub

Feat: Replay as new (or from a node) (#3055) * feat: new messages for reset * chore: gen python * feat: reset scaffolding * feat: initial work * feat: initial e2e wiring of resetting from a specific node * fix: add branch to pk * fix: wire up branches * fix: add branch to awaited entry * feat: start wiring up reset api * fix: colname * fix: add branch id more places * fix: some bugs * fix: replay * fix: replay, simplify * feat: add parent branch id * fix: start reworking parent nodes and branches * fix: parent branch wiring * fix: start fixing some bugs * fix: parent branch bug * fix: advisory lock for locking the log file to prevent concurrent modification * fix: move claude.md ignore path * fix: remove eager replays of events * fix: rm cruft * fix: cleanup more params and such * fix: return type * fix: comment * fix: comments * fix: comment * chore: gen * chore: gen * fix: decrease sleep time * chore: gen again * fix: add invocation count on event log entries, make it int32, fix toInt * fix: more wiring * chore: gen, simplify * fix: lint * fix: more zero values, I hate Go * feat: add `is_durable` to v1_task * feat: initial work wiring up dispatcher to increment log entry invocation counts * feat: wire up assigned action * fix: property * fix: send is durable through to the engine * fix: more invoc count wiring * fix: node resetting * fix:revert * fix: import * chore: gen * fix: reset -> fork * fix: rm a bunch of dead code * fix: api * fix: repo method * fix: log file locking using `FOR UPDATE` + atomic compare-and-set update * fix: move to shared repo * feat: increment invocation count on the scheduler * fix: naming * fix: make test more reliable * fix: props * fix: node id reset

Commit:7e3e3b8
Author:matt
Committer:GitHub

Feat: Non-determinism errors (#3041) * fix: retrieve payloads in bulk * fix: hash -> idempotency key * feat: initial hashing work * feat: check idempotency key if entry exists * fix: panic * feat: initial work on custom error for non-determinism * fix: handle nondeterminism error properly * feat: add error response, pub message to task controller * chore: lint * feat: add node id field to error proto * chore: rm a bunch of unhelpful cancellation logs * fix: conflict issues * fix: rm another log * fix: send node id properly * fix: improve what we hash * fix: improve error handling * fix: python issues * fix: don't hash or group id * fix: rm print * feat: add python test * fix: add timeout * fix: improve handling of non determinism error * fix: propagate node id through * fix: types, test * fix: make serializable * fix: no need to cancel internally anymore * fix: hide another internal log * fix: add link to docs * fix: copilot * fix: use sha256 * fix: test cleanup * fix: add error type enum * fix: handle exceptions on the worker * fix: clean up a bunch of cursor imports * fix: cursor docstring formatting * fix: simplify idempotency key func * fix: add back cancellation logs * feat: tests for idempotency keys * fix: add a couple more for priority and metadata * chore: gen * fix: python reconnect * fix: noisy error * fix: improve log * fix: don't run durable listener if no durable tasks are registered * fix: non-null idempotency keys

Commit:eaf6bba
Author:matt
Committer:GitHub

Refactor: Remove separate callback table (#3045) * fix: remove callback table * fix: type * fix: type * fix: wiring everything up * fix: result payload for replays * chore: lint * feat: set fillfactor * chore: gen * fix: simplify v1 match changes * fix: simplify v1 match wiring * fix: rm print line * fix: some more wiring * fix: wiring * chore: comments * chore: gen, proto naming * chore: comments * fix: rm comment * fix: broken listener

Commit:00b875e
Author:Mohammed Nafees

remove useless proto

Commit:77b1e98
Author:Mohammed Nafees

Merge branch 'feat-durable-execution' into nafees/go-sdk-memo

Commit:7ad5bfd
Author:mrkaye97

Merge branch 'main' into feat-durable-execution

Commit:2fdc47a
Author:Gabe Ruttner
Committer:GitHub

feat: multiple slot types (#2927) * feat: adds support for multiple slot types, primarily motivated by durable slots --------- Co-authored-by: mrkaye97 <mrkaye97@gmail.com>

Commit:174bb13
Author:Gabe Ruttner
Committer:GitHub

Merge branch 'main' into feat--multiple-slot-types

Commit:63b4d14
Author:mrkaye97

refactor: initial work

Commit:05399eb
Author:matt
Committer:GitHub

Feat: Durable event log wiring (#2956) * feat: initial protos * chore: lint * fix: work on improving naming * chore: rename session id to invocation count * feat: scaffold implementation of durabletask rpc * fix: one more session rename * feat: initial work on the server scaffolding * chore: gen protos for python * feat: initial durable task client * feat: initial durable context work for python * fix: pass client through to runner * fix: clean up type checking errors * fix: cruft * feat: initial work wiring up durable events * fix: get -> getorcreate * feat: query + wiring for updating latest node id * fix: simplify, bump latest node ids in the same query * chore: note * feat: wire up sleeps with internal signal matches * chore: gen * fix: callback data writes * feat: cache previous events * fix: wire up external id writes * feat: got sleeps sorta working! * fix: tenant and external id wiring * chore: comments * fix: clean up some types a bit * feat: add run triggering params to proto to allow for spawning children * feat: first pass at child spawning * feat: start wiring up child spawning * fix: use `triggerWriter` for spawn * feat: update trigger proto def * chore: regen python * feat: start wiring up spawning correctly with all opts * refactor: share trigger code * chore: remove log lines, lint * fix: add triggered run external id * feat: start wiring up child key storage better * chore: gen again * fix: gen, colname * fix: trigger opts panicking * hack: get things working for now * feat: shared rpc message * chore: fix imports * feat: add tenant id to tables * fix: improve ingest logic * refactor: shared trigger opt type * fix: send tenant id through everywhere * chore: fix log file insert on conflict * fix: repo * fix: generate external id upstream * feat: add columns to the match * feat: first pass at durable waits on the controllers instead of the dispatcher * fix: types * feat: wire up callbacks * fix: invoc counts * fix: typing, lint * driveby: more constants for message ids * refactor: struct for callback keys everywhere * fix: bugs, passing tests * fix: return errnorows * fix: schema * fix: remove current callback flow * feat: new message types * fix: remove key from callback model * fix: rm unused queries * refactor: start reworking flow * fix: start working on feedback * fix: query * fix: wire up external ids * revert: drive by * refactor: rm extra interface * chore: move listener, lint * refactor: remove old listener, rename * refactor: consolidate migrations * fix: immediately send already-satisfied callbacks * fix: union * chore: rm unused queries * fix: check if entry already exists before re-spawning / signaling * fix: node id incrementation * fix: rm json dump * fix: don't pass node id * fix: store latest invocation, update query * fix: upsert logic * Revert "fix: upsert logic" This reverts commit cf7c609c1d8816e1283ab2769fcb88d70258fbc4. * fix: change logic slightly * fix: split up get and create queries * fix: err * fix: pass node ids around properly * fix: invocation handling * fix: callback bug * fix: naming * fix: rm cruft method, dynamic kind * fix: wire up memo payload and kind stuff * fix: propagate trigger opts * fix: child spawn signaling + olap wiring * fix: extract output method * feat: improve test coverage a bit * fix: child spawning * feat: another test * fix: query fixes, overwrite * fix: match bug * fix: proto indexes, regen * fix: eviction comment * fix: warning for non-async durable tasks * fix: rm contracts import * fix: basic locking, rm sync durable tasks * fix: invocation counts, etc. * chore: add fixme * fix: rm unused invocation count param from callback response * fix: rm dispatcher id from the callback * fix: di test * Revert "fix: rm dispatcher id from the callback" This reverts commit 26e6c82797858531a7e2f3a1951365342e06521c. * fix: migration * fix: use optimistictx * fix: lift grpc codes out of trigger repo * fix: span names * fix: rm comment * fix: consolidate kind types, batching, not-null kinds * fix: null bug * fix: satisfied claim bug, simplify queries * fix: add back payload storage * fix: match bug, simplification * fix: factor out trigger opts to the dispatcher level * fix: factor out conditions * fix: rm unused structs * fix: rm dupes * fix: migration * refactor: switch case helpers * fix: panic * fix: couple warnings * fix: lint * fix: generate external ids properly * refactor: return trigger task data from helper * fix: handle matches correctly for dag spawns * fix: add validators, one more uuid type * chore: gen * chore: bump pytest-asyncio to latest * fix: store the worker instead of the dispatcher, then look up the dispatcher * fix: store dispatcher id on the worker * chore: lint

Commit:7875d78
Author:Gabe Ruttner
Committer:GitHub

Feat: Official Ruby SDK (#3004) * feat: initial ruby sdk * fix: run listener * fix: scope * feat: rest feature clients * fix: bugs * fix: concurrent register * fix: tests and ergonomics * docs: all of them * chore: lint * feat: add RBS * feat: add GitHub Actions workflow for Ruby SDK with linting, testing, and publishing steps * chore: lint * refactor: simplify load path setup for Hatchet REST client and remove symlink creation * fix: cert path * fix: test * fix: blocking * fix: ensure Hatchet client is only initialized once across examples * fix: tests * remove: unused example * fix: bubble up errors * test: skip flaky for now * remove: lifespans * fix: durable context bugs * fix: bulk replay * fix: tests * cleanup: generate tooling * fix: integration test * chore: lint * release: 0.1.0 * chore: remove python comments * refactor: remove OpenTelemetry configuration and related unused options * fix: default no healthcheck * chore: lockfile * feat: register as ruby * chore: lint * chore: update py/ts apis to include ruby * chore: docs pass * chore: lint * chore: generate * chore: cleanup * chore: generate examples * tests: add e2e tests * tests: cache examples dependencies * fix: namespace * fix: namespace * fix: namespaces * chore:lint * fix: improve cancellation workflow polling logic and add error handling * revert: py/ts versions

Commit:f13cef5
Author:Gabe Ruttner
Committer:Gabe Ruttner

feat: register as ruby

Commit:f84f723
Author:Gabe Ruttner

chore: feedback

Commit:1ee54f0
Author:Gabe Ruttner

feat: semantic version string

Commit:90fa2e8
Author:Gabe Ruttner

feat: sdks backward compat with old engines

Commit:e8ff734
Author:Gabe Ruttner

refactor: restore event name

Commit:c026986
Author:Gabe Ruttner

feat: add server side evict/restore

Commit:43ff71d
Author:Gabe Ruttner

chore: remove unused durable slots param

Commit:18d586b
Author:gabriel ruttner
Committer:gabriel ruttner

naming

Commit:1c488e6
Author:gabriel ruttner
Committer:gabriel ruttner

dynamic slot types

Commit:b1fb028
Author:gabriel ruttner
Committer:gabriel ruttner

init

Commit:65df4ae
Author:gabriel ruttner

olap events

Commit:4054d17
Author:Gabe Ruttner
Committer:GitHub

chore: proto naming conventions (#2913) * fix: add type override in sqlc.yaml * chore: gen sqlc * chore: big find and replace * chore: more * fix: clean up bunch of outdated `.Valid` refs * refactor: remove `sqlchelpers.uuidFromStr()` in favor of `uuid.MustParse()` * refactor: remove uuidToStr * fix: lint * fix: use pointers for null uuids * chore: clean up more null pointers * chore: clean up a bunch more * fix: couple more * fix: some types on the api * fix: incorrectly non-null param * fix: more nullable params * fix: more refs * refactor: start replacing tenant id strings with uuids * refactor: more tenant id uuid casting * refactor: fix a bunch more * refactor: more * refactor: more * refactor: is that all of them?! * fix: panic * fix: rm scans * fix: unwind some broken things * chore: tests * fix: rebase issues * fix: more tests * fix: nil checks * Refactor: Make all UUIDs into `uuid.UUID` (#2897) * refactor: remove a bunch more string uuids * refactor: pointers and lists * refactor: fix all the refs * refactor: fix a few more * fix: config loader * fix: revert some changes * fix: tests * fix: test * chore: proto * fix: durable listener * fix: some more string types * fix: python health worker sleep * fix: remove a bunch of `MustParse`s from the various gRPC servers * fix: rm more uuid.MustParse calls * fix: rm mustparse from api * fix: test * fix: merge issues * fix: handle a bunch more uses of `MustParse` everywhere * fix: nil id for worker label * fix: more casting in the oss * fix: more id parsing * fix: stringify jwt opt * fix: couple more bugs in untyped calls * fix: more types * fix: broken test * refactor: implement `GetKeyUuid` * cleanup * gen * missed name * slot naming consistency * snake_case * lint * regenerate python * typescript sdk * deprecated getters * lint * fix tests * version bumps * chore: regen sqlc * chore: replace pgtype.UUID again * fix: bunch more type errors * no compat * fix: remove isort * note * Update sdks/python/CHANGELOG.md Co-authored-by: matt <mrkaye97@gmail.com> * feedback * fix: no isort in ci * tui * ts lint * lint * weird undefined * fix test * last changes * lint * fix: ts child spawning * consistent naming * map fields --------- Co-authored-by: mrkaye97 <mrkaye97@gmail.com>

Commit:87a4ded
Author:gabriel ruttner

Merge branch 'chore--proto-naming-conventions' into feat--durable-slot-suspension-py-cancellation

Commit:e691609
Author:gabriel ruttner

last changes

Commit:87e7b2b
Author:Alexander Belanger

remove latest registered node id

Commit:37b2b88
Author:Alexander Belanger

update DurableTask method

Commit:ea754b5
Author:gabriel ruttner

Merge branch 'chore--proto-naming-conventions' into feat--multiple-slot-types

Commit:c61d053
Author:gabriel ruttner

naming

Commit:96c76d9
Author:gabriel ruttner

feedback

Commit:1f5eac9
Author:gabriel ruttner

note

Commit:4051bdc
Author:gabriel ruttner

dynamic slot types

Commit:d57bb13
Author:gabriel ruttner

init

Commit:c5c968a
Author:Alexander Belanger

initial sketch for dispatcher

Commit:10ea4d6
Author:gabriel ruttner

snake_case

Commit:44f2c46
Author:gabriel ruttner

cleanup

Commit:2360b6d
Author:Mohammed Nafees

memo go sdk with temp SQL table impl

Commit:a3fe89e
Author:matt
Committer:GitHub

Feat: Workflow input JSON schema in trigger preview (#2851) * feat: add input json schema to workflow version * feat: add json schema to putworkflow proto * feat: wire up writes of the json schema * chore: gen python * feat: send json schema from the python code * feat: wiring * feat: pass json schema into code editor * feat: pass prop * fix: clean up validation stuff * feat: allow zod `input` as optional ts field * fix: try except logic hack * fix: rename input -> inputValidator for consistency * chore: gen api * fix: improve hack slightly * chore: changelogs, versions * feat: zod example * chore: rework api a bit * fix: tsc, allow schema to update * fix: improve loading state * fix: api cleanup, sqlc cleanup * fix: initial mount * chore: lint * chore: lint * chore: tsc * fix: lint * fix: unwind unneeded change * [Python] Feat: Default additional metadata (#2876) * Add doc about autoscaling workers (#2864) * add doc for autoscaling workers * oldest also in running stats * chore(deps): bump google.golang.org/api from 0.262.0 to 0.263.0 (#2869) Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.262.0 to 0.263.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.262.0...v0.263.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-version: 0.263.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.41.0 to 0.42.0 (#2870) Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.41.0 to 0.42.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.41.0...v0.42.0) --- updated-dependencies: - dependency-name: github.com/getsentry/sentry-go dependency-version: 0.42.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 (#2871) Bumps hatchet-sdk from 1.22.10 to 1.22.11. --- updated-dependencies: - dependency-name: hatchet-sdk dependency-version: 1.22.11 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> * feat: default additional meta * feat: wiring * chore: changelog, version * fix: copy * feat: add default meta to stubs --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Mohammed Nafees <hello@mnafees.me> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: migration ver --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Mohammed Nafees <hello@mnafees.me> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Commit:ebe2f9a
Author:matt
Committer:GitHub

Feat: Add additional meta to the run detail getter (#2770) * feat: add additional meta to proto * feat: propagate metadata * feat: expand test * fix: wiring * chore: version * chore: lint

Commit:73229b0
Author:matt
Committer:GitHub

Feat: Run detail getter on the engine (#2725) * feat: initial rpc * chore: gen python * feat: add more fields * chore: gen again * fix: finish cleaning up python * feat: start wiring up api * fix: panic * feat: start implementing getters * fix: improve api * feat: expand return type a bit * feat: more wiring * feat: more wiring * fix: finish wiring up input reads * fix: admin client cleanup * fix: ordering * fix: add all_finished param * feat: wire up all finished * fix: propagate allfinished * fix: propagate external ids * chore: gen protos again * fix: one more thing * chore: rename * chore: rename * chore: fix typing * fix: cleanup * feat: add queued default * fix: wiring * feat: running check * fix: query * chore: rm print * fix: edge case handling * feat: python test * feat: add `done` field * feat: pass `done` through * fix: test done flag * fix: cleanup * fix: handle cancelled * refactor: clean up implementations of status handling * fix: feedback * fix: done logic * fix: export run status * fix: couple small bugs * fix: handle done * fix: properly extract input * fix: bug with sequential dags * refactor: improve performance of lookup query slightly * refactor: add helpers on V1StepRunData for getting input + parsing bytes * refactor: create listutils internal package * refactor: status derivation * fix: rm unused method * fix: sqlcv1 import * fix: error log * fix: 404 on not found * feat: changelog, async method

Commit:b7299a0
Author:gabriel ruttner

signatures

Commit:ee200ee
Author:gabriel ruttner

easy feedback

Commit:77d84c2
Author:gabriel ruttner

defaults

Commit:e678696
Author:gabriel ruttner

simplify proto

Commit:4ff7ea0
Author:gabriel ruttner

initial feature

Commit:9559529
Author:mrkaye97
Committer:mrkaye97

feat: proto for bulk log puts

Commit:34074af
Author:Mohammed Nafees
Committer:GitHub

Add contextual data for trigger via events (#2092) * add contextual data for trigger via events * fix corrId * string needed

Commit:2f33dd4
Author:Matt Kaye
Committer:GitHub

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

Commit:a9f0bb9
Author:mrkaye97
Committer:mrkaye97

fix: optional index

Commit:9c92084
Author:mrkaye97
Committer:mrkaye97

fix: rm unused protos

Commit:dea1a0c
Author:mrkaye97
Committer:mrkaye97

feat: generate new stream event protos

Commit:33864a3
Author:mrkaye97
Committer:mrkaye97

feat: tweak protos

Commit:9e82832
Author:mrkaye97
Committer:mrkaye97

feat: add index to stream event

Commit:19f7dc8
Author:mrkaye97

fix: rm unused protos