feat(session): conversation-management contract (astrid-bus:session 1.1.0)#16
Conversation
Bump astrid-bus:session to 1.1.0 with the additive conversation-management
surface a multi-device client and the agent need, all scoped per principal:
- list (paginated thread metadata; include-archived, total)
- get-meta (one thread's metadata)
- update (patch title / archived / opaque client meta; rename + archive
are both expressed through it)
- delete (hard-purge a thread)
- search (keyword/substring across the caller's transcripts, paginated)
session-summary carries title, first-message preview, last-message preview,
message-count, created/updated timestamps, archived, parent chain, and an
opaque client 'meta' string (tags/pin/read-state) the capsule stores but
never interprets — the forward-compat escape hatch so new per-thread
attributes need no contract bump.
Mutations fan out a session-event on session.v1.event.<kind> (a variant:
created/updated/deleted), stamped with the acting principal, so other
devices update their thread list live.
Existing 1.0.0 records (get-messages, clear, append, session-cleared) are
unchanged.
Refs astrid-runtime/astrid#972 astrid-runtime/astrid#974 astrid-runtime/astrid#1041
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
There was a problem hiding this comment.
Pull request overview
Adds the astrid-bus:session@1.1.0 WIT contract to cover conversation/thread management (listing, metadata fetch/update, deletion, search) and lifecycle fan-out events for multi-device synchronization.
Changes:
- Bumps
astrid-bus:sessionpackage version from1.0.0to1.1.0and documents the additive scope. - Introduces new request/response records for
list,get-meta,update,delete, andsearch, plus enrichedsession-summary. - Adds
session-eventandsession-event-kindforcreated/updated/deletedlifecycle notifications.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The get-meta-response doc-comment used <corr-id> while every other reply topic uses <correlation-id>. Align it so readers don't infer a different placeholder. (The get_meta topic segment keeps its underscore, matching the existing get_messages convention — WIT records are kebab-case, wire topic segments are underscore-joined.) Refs astrid-runtime/astrid#974
|
Thanks — fixed the real one in 0c0f3f5: the On |
Adds the
astrid-bus:session1.1.0 conversation-management contract — the WIT records behind the gateway/CLI/agent conversation surface.Additive over 1.0.0 (existing
get-messages/clear/append/session-clearedrecords unchanged):list,get-meta,update,delete,searchsession-summary—title, first- and last-message previews,message-count,created-at/updated-at,archived,parent-session-id, and an opaque clientmetastring (the forward-compat escape hatch)listgainsinclude-archived+total;searchpaginatessession-event+ asession-event-kindvariant (created/updated/deleted) for thesession.v1.event.*lifecycle fan-outastrid-bus:*(capsule-to-capsule) additive change — governed by the topic-versioning convention per the Host ABI RFC (#22), not the host ABI. Standardised in the session-interface RFC (rfcs). Consumers (core gateway, capsule-session) publish/subscribe by string topic and serialise with serde, so they build independently of the submodule pin; the pin bump (core + sdk-rust + sdk-js) + bundle re-sync follow once this lands.Stays open / accrues toward 1.0. Relates to astrid#972 / astrid#974 / astrid#1041.