Settings

Theme

Show HN: Durable Actor Session Protocol

dasp-protocol.github.io

18 points by mikehostetler · 8 comments · 1 min read

Reader

Hey HN

I'm the author of Jido, an Elixir Actor & Agent SDK. I was building out an Elixir Durable Actor/Agent server and hit a wall regarding communication protocols. I reviewed all the existing protocols; A2A, ACP, AHP and nothing met my needs.

I wanted a language agnostic durable actor session protocol. Agent Host Protocol (AHP) from Microsoft was close, but was centered around "chat".

The future I envision for agents goes far beyond just text chat. Thus, DASP was born.

I'm submitting to HN because I know this is the one place where I'll get real feedback on whether this is an actual need or my tokenmaxxing got the best of me this weekend.

This is a builder protocol. I'll be building out clients beyond Elixir and TypeScript, but plan to only support an Elixir server built around my Jido ecosystem.

4 threads
nkko

I’ve been playing a lot with durable agents, can’t say that I know what the final thing should look like but this could be a part of it. For now I have celld in front of sandbox, if I get this right: agent -> dasp -> celld -> sandbox

mathieu_aithos

Do you envision an A2A adapter for Jido, with DASP handling durable execution underneath? I’d be curious how an uncertain outcome would map to an A2A task state.

  • mikehostetlerOP

    Yes. A2A and ACP adapters would sit above DASP.

    The `uncertain` mapping isn't clean. DASP treats it as terminal: the host can't prove whether effects occurred, so it must not retry. A2A's `TASK_STATE_UNSPECIFIED` is indeterminate, but not terminal. The adapter must preserve the DASP outcome in metadata and map it conservatively, likely to `FAILED`.

yodon

Is this purely polling, or am I missing how to subscribe to events?

  • mikehostetlerOP

    The protocol is transport agnostic - but I'm primarily building it to work over Web Sockets

    • yodon

      My question wasn't about transport - it's more do I have to repeatedly poll for events, or can I make a request that effectively subscribes me to a stream of events.

HalcyonicStorm

Really great stuff! Cant wait to try it out in my harness!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection