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

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