项目文件夹

文件
Ali Khokhar 12621477c9 Fix cross-drive messaging startup with native Claude plan storage (#1085)
## Problem

Messaging startup computed a relative path from `ALLOWED_DIR` to FCC's
plan directory. Windows raises before Telegram or Discord polling starts
when those paths are on different drives, while Claude requires custom
plan directories to remain inside the project root. Fixes #1077.

## Changes

| Before | After |
| --- | --- |
| Runtime startup converted FCC's plan path relative to the customer
workspace. | Runtime startup no longer computes or transports a custom
plan path. |
| Managed Claude configuration carried `plans_directory` through four
ownership layers. | Managed Claude relies on its native user-level plan
storage. |
| `~/.fcc/agent_workspace` was described as a Claude workspace. | The
existing path is explicitly owned as messaging state for
`sessions.json`. |
| Cross-volume `ALLOWED_DIR` values could disable messaging startup. |
`ALLOWED_DIR` remains the project workspace regardless of filesystem
volume. |
2026-07-12 16:58:33 -07:00

18 行
608 B
Python

from pathlib import Path
from free_claude_code.cli.managed.session import ManagedClaudeSession
def test_cli_session_owns_typed_runner_config(tmp_path: Path) -> None:
session = ManagedClaudeSession(
workspace_path=str(tmp_path),
proxy_root_url="http://127.0.0.1:8082",
allowed_dirs=[str(tmp_path)],
claude_bin="claude-test",
)
assert session.config.workspace_path == str(tmp_path)
assert session.config.proxy_root_url == "http://127.0.0.1:8082"
assert session.config.allowed_dirs == [str(tmp_path)]
assert session.config.claude_bin == "claude-test"