Skip to content

Add azure.ai.loom CLI support for Foundry experiment tracking APIs #9796

Description

Add a standalone first-party azure.ai.loom extension for the Microsoft Foundry experiment-tracking data plane. The extension keeps the established azure.ai.projects surface unchanged and exposes all experiment operations under azd ai loom run.

CLI surfaces

Run inspection

  • azd ai loom run list
  • azd ai loom run history-keys --run-id <run-id>
  • azd ai loom run summary --run-id <run-id>
  • azd ai loom run metrics --run-id <run-id>
  • azd ai loom run system-metrics --run-id <run-id> --name <metric>
  • azd ai loom run logs --run-id <run-id>
  • azd ai loom run log-records --run-id <run-id>
  • azd ai loom run compare --run-id <first-run> --run-id <second-run> --metric <metric>

Traces and spans

  • azd ai loom run trace list --run-id <run-id>
  • azd ai loom run trace show --run-id <run-id> --trace-id <trace-id>
  • azd ai loom run trace chat --run-id <run-id> --trace-id <trace-id>
  • azd ai loom run span query --run-id <run-id>

Span queries support inline filters (--filter), filter files (--filter-file), complete request bodies (--request-file), detailed results (--include-details), and result limits (--limit).

OpenTelemetry ingestion

  • azd ai loom run ingest metrics --run-id <run-id> --file <metrics.pb>
  • azd ai loom run ingest logs --run-id <run-id> --file <logs.pb>
  • azd ai loom run ingest traces --run-id <run-id> --file <traces.pb>
  • azd ai loom run ingest agent-traces --run-id <run-id> --file <agent-traces.json>

OTLP metrics, logs, and traces accept protobuf payloads. Agent traces accept JSON. All ingestion commands support --file - for stdin and reject empty payloads.

W&B compatibility

  • azd ai loom run wandb graphql --file <request.json>
  • azd ai loom run wandb file-stream --run-id <run-id> --file <request.json>

Shared behavior

  • Resolve the project endpoint from --project-endpoint, the active azd environment, compatible azure.ai.projects context, or host environment variables.
  • Allow Loom to run independently of the azure.ai.projects extension.
  • Derive the project ID from /api/projects/{projectId}, with --project-id override support.
  • Default to Microsoft Entra bearer authentication using https://ai.azure.com/.default.
  • Support AZURE_AI_PROJECT_API_KEY as an explicit project data-plane authentication override.
  • Support --api-version overrides.
  • Emit complete JSON responses for automation.
  • Preserve escaped path identifiers and large JSON numbers in request files.
  • Include unit tests, extension build/release wiring, and usage documentation.

Implemented by #9795. Official extension-registry publication will follow the normal release handoff.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcustomer-reportedidentify a customer issue

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions