Commit graph

5 commits

Author SHA1 Message Date
tanzhenxin
8ae1efbf80
test(integration): switch settings-migration probe from --help to mcp list (#3486)
* test(integration): switch settings-migration probe from --help to mcp list

--help is a purely informational command and intentionally does not
load settings. The settings-migration integration test was leaning on
a legacy side effect where --help happened to run loadSettings() during
startup, which in turn persisted the migrated file back to disk. After
the bare startup mode refactor reordered startup so that argument
parsing runs before settings loading, yargs now exits inside parse()
on --help before loadSettings() is ever called, and the test fixtures
stayed at their original version on disk.

Switch the probe to `mcp list`, which is a first-class subcommand that
goes through loadSettings() (and therefore the migration chain and
the write-back) and then exits without needing API credentials or
network. On a fresh test rig with no configured servers it prints a
single line and returns, so the test stays fast.

No production code changes; --help remains side-effect-free.

* test(cli): remove flaky right-arrow prompt suggestion test

The test intermittently fails in CI because the render and stdin write
race with the component's readiness window; covered by the other prompt
suggestion tests in the same file.
2026-04-21 14:19:44 +08:00
tanzhenxin
e03144ed34 fix: resolve punycode to userland package and skip env var test in sandbox
- Resolve punycode to userland package instead of deprecated node:punycode
  built-in to avoid deprecation warnings
- Skip cron-tools env var test in sandbox mode since Docker containers
  don't receive environment variables set in the test process

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-01 18:58:19 +08:00
tanzhenxin
1af0ef9a7c Merge remote-tracking branch 'origin/main' into feat/in-session-cron-loops 2026-03-30 19:08:25 +08:00
tanzhenxin
9dd22eb152 feat(cron): integrate cron scheduling into ACP session lifecycle
- Add cron queue and scheduler state management to Session class
- Handle cron cancellation on user prompt and cancelPendingPrompt
- Start cron scheduler after prompt execution completes
- Drain cron queue sequentially to prevent concurrent chat access
- Execute cron prompts with proper message echoing and tool handling
- Add integration test for cron firing and sessionUpdate streaming

This enables cron jobs created during an ACP session to fire in the
background and stream results back to the client via sessionUpdate
notifications, even after the originating prompt has returned.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-30 18:06:09 +08:00
tanzhenxin
ded89618ec refactor(tests): reorganize integration tests by execution mode
Move non-interactive tests to cli/, interactive tests to interactive/.
Add cron-interactive.test.ts wrapping terminal-capture E2E in vitest.
Update npm scripts and release workflow for new directory layout.
2026-03-29 05:49:17 +00:00