Skip to content

Current Function app cannot start with its pinned 0.3.0b1 toolkit package #39

Description

@coding-totoro

What happened

A clean checkout of the current main branch cannot start the checked-in Durable Function app.

function_app/requirements.txt pins azure-cosmos-agent-memory==0.3.0b1, but the Function app now imports episode settings and calls pipeline methods that were added after that package was published.

Why this matters

The deployment can complete its package build, but the Function host cannot load the application. No change-feed or orchestration functions are available.

Reproduction (no Azure resources required)

git clone https://github.com/AzureCosmosDB/AgentMemoryToolkit.git
cd AgentMemoryToolkit

python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r function_app/requirements.txt

PYTHONPATH=function_app python -c "import function_app"

On current main, this fails with:

ImportError: cannot import name 'DEFAULT_EPISODE_EVAL_EVERY_N'
from 'azure.cosmos.agent_memory.thresholds'

The API mismatch is also visible directly:

python - <<'PY'
from azure.cosmos.agent_memory.services.pipeline import PipelineService

for name in (
    "extract_memories_durable",
    "generate_thread_summary_durable",
    "generate_user_summary_durable",
    "extract_episodes_durable",
):
    print(name, hasattr(PipelineService, name))
PY

All four checks print False when installed from the Function app's pinned requirements.

Verified versions

  • Repository commit: 925358e0b754ba8ab747fd1eca9b973acc407243
  • Function app package pin: azure-cosmos-agent-memory==0.3.0b1
  • Reproduced on Python 3.13; the deployed Function target is Python 3.11.

Expected behavior

Installing function_app/requirements.txt should install a toolkit version compatible with the Function source in the same checkout, and import function_app should succeed.

Suggested resolution

Publish a toolkit package containing the APIs used by the current Function app and update the pin, or package the Function with the toolkit source from the same repository commit. A small CI smoke test that installs function_app/requirements.txt and imports function_app would catch this before merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions