🚧 [TEMP — DO NOT MERGE] Agentserver durable preview share bundle (internal experimentation)#47535
Draft
RaviPidaparthi wants to merge 11 commits into
Draft
🚧 [TEMP — DO NOT MERGE] Agentserver durable preview share bundle (internal experimentation)#47535RaviPidaparthi wants to merge 11 commits into
RaviPidaparthi wants to merge 11 commits into
Conversation
Self-contained preview distribution for internal teams to experiment with the azure-ai-agentserver durable + Responses/Invocations primitives, assembled off main: - wheels/: pre-built core (2.0.0b7) / invocations (1.0.0b6) / responses (1.0.0b8) wheels. Core carries the cold-start recovery etag fix; responses carries the spec-025 checkpoint API (built from the responses-spec016 source). Verified end-to-end: local crash->recover completes the full plan (12/12 items). - skills/: 4 standalone Copilot skills (durable-task, streaming, invocations, responses). - core + responses docs/: durable-task / streaming / responses guides and SOT specs. - responses + invocations samples/ incl. the azd-deployable durable demos. - PREVIEW-SHARE.md: consumption guide. Scrubbed all environment-specific deployment state: removed the invocations demo's tracked .azure/ env (subscription/tenant IDs, App Insights key, ACR/project endpoints) and genericized hardcoded endpoint defaults + doc references in the demo clients/READMEs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The private share drop copies from the demo branch. Update its responses docs + standalone durable samples to the spec-025 versions (conversation_chain_metadata rename, unified exit_for_recovery, stream checkpoints, internal_metadata) so they match the spec016-built wheels the drop ships. Adds durability-contract.md. The demo-only azd durable-responses-agent-demo (with its genericized client) is preserved. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Per the share-drop scope: - Remove the internal source-of-truth spec/contract docs (task-and-streaming-spec, responses-durability-spec, durability-contract) and de-link references to them from the kept developer guides + skills. - Remove non-durable samples (responses 01-16; invocations simple/async/streaming/multiturn/ws basic-protocol samples), keeping only the durable samples + the azd demos. Trim the package + samples READMEs and skill reference tables accordingly; repoint skill links to this branch. - Add a verified local crash-recovery kit at azure-ai-agentserver-responses/samples/durable-responses-agent-demo/local/ (setup.sh, run.sh, serve.sh, recovery_demo.py, README.md). Because the hosted task API returns 403, it runs the agent fully locally (AGENTSERVER_TASKS_BACKEND=local + file-backed stores) and drives stream -> crash -> restart -> recover -> verify. Verified end-to-end: the response completes the full plan (12/12 output items) across a crash. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a prominent top callout (hosted task API returns 403 -> use local/) and replace the manual 'Local iteration' steps with a pointer to the verified local/ crash-recovery kit (setup.sh / run.sh / serve.sh). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Mirror the responses local kit for the invocations durable-agent-demo (durable-research-agent): setup.sh, run.sh, serve.sh, recovery_demo.py, README.md. Because the hosted task API returns 403, it runs the agent fully locally (AGENTSERVER_TASKS_BACKEND=local + FOUNDRY_AGENT_SESSION_ID pinned across restarts) and drives POST /invocations -> stream -> crash -> restart -> reconnect (last_event_id) -> verify. Verified end-to-end: the run emits 'recovered' and reaches 'run_complete' with all phases done across a crash. Point the demo's top-level README at the kit (top callout + Run-locally section) and mention it in PREVIEW-SHARE.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Both local crash-recovery kits now handle a busy port gracefully:
- recovery_demo.py auto-picks the next free port (up to +25) if the
requested PORT is taken, instead of hanging on startup.
- serve.sh does a pre-flight check and exits with a clear message
("Port N is already in use ... PORT=8090 ./serve.sh") instead of a
hypercorn LifespanFailureError traceback.
Add a Troubleshooting note to both kit READMEs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…are drop The fixed responses wheel carries the spec-026 recovery-stream fix (no duplicate response.created on recovery; drop recovery when the response was never persisted). Update the dev + handler guides to describe the single-created recovered stream sequence. (The drop consumes the wheel; in-tree source stays main's by design.) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…re (+ spec 026/027) Rebuilds the checked-in preview responses wheel from the canonical responses-spec016 source so the share preview's local crash-recovery kit writes the normalized on-disk layout: each item stored once under items/, the response envelope holds pointer stubs, and the write-only per-response items directory is gone (spec 028). The wheel also carries the spec 026 recovery-stream fix and the spec 027 doc/dead-code cleanup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…istory.json) Rebuilds the checked-in preview responses wheel from responses-spec016 so the share preview's local kit stops writing the redundant per-response history.json (history_item_ids live in indexes.json). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…durability guides Rebuilds the preview responses wheel from responses-spec016 (acceptance hook now returns a typed ResponseObject) and refreshes the two shipped durability guides with the drift fixes, true-to-ship corrections, and loosened guidance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ped samples Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this branch is
A private "early wheels" drop assembled off
main, bundling pre-built wheels +runnable samples + reference guides + Copilot skills so a downstream team can
pip installand experiment without a source build or PyPI publish.sdk/agentserver/wheels/core/invocations/responseswheelssdk/agentserver/skills/azure-ai-agentserver-core/docs/,…-responses/docs/…-responses/samples/,…-invocations/samples/sdk/agentserver/PREVIEW-SHARE.mdNotes
checkpoint API (responses, built from the
responses-spec016source).Again: this is a throwaway sharing branch. Please do not review or merge.