Skip to content

🚧 [TEMP — DO NOT MERGE] Agentserver durable preview share bundle (internal experimentation)#47535

Draft
RaviPidaparthi wants to merge 11 commits into
mainfrom
feature/agentserver-durable-preview-share
Draft

🚧 [TEMP — DO NOT MERGE] Agentserver durable preview share bundle (internal experimentation)#47535
RaviPidaparthi wants to merge 11 commits into
mainfrom
feature/agentserver-durable-preview-share

Conversation

@RaviPidaparthi

Copy link
Copy Markdown
Member

🚧 TEMPORARY — DO NOT MERGE / DO NOT REVIEW 🚧

This PR exists only to share a self-contained preview drop of the
azure-ai-agentserver-* durable primitives with an internal team for
experimentation. It is not intended for review or merge and will be
closed/deleted once the drop is no longer needed. The real work lands
via the proper stacked branches (core → responses → demo).

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 install and experiment without a source build or PyPI publish.

Path Contents
sdk/agentserver/wheels/ Pre-built core / invocations / responses wheels
sdk/agentserver/skills/ 4 standalone Copilot skills
azure-ai-agentserver-core/docs/, …-responses/docs/ Durable-task / streaming / responses guides + specs
…-responses/samples/, …-invocations/samples/ Host samples + azd-deployable durable demos
sdk/agentserver/PREVIEW-SHARE.md Consumption guide

⚠️ The package source under azure-ai-agentserver-*/azure/... is main's —
consume the wheels, not the in-tree source.

Notes

  • Wheels carry the durable cold-start recovery fix (core) and the spec-025
    checkpoint API (responses, built from the responses-spec016 source).
  • Verified end-to-end: local crash → recover completes the full plan (12/12 items).
  • All environment-specific deployment state has been scrubbed.

Again: this is a throwaway sharing branch. Please do not review or merge.

RaviPidaparthi and others added 2 commits June 16, 2026 20:23
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>
@github-actions github-actions Bot added the Hosted Agents sdk/agentserver/* label Jun 16, 2026
RaviPidaparthi and others added 9 commits June 16, 2026 21:56
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Hosted Agents sdk/agentserver/*

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant