qwen-code/.github/workflows
John London 4cd9f0cbe4
feat(core): add shared permission flow for tool execution unification (#3723)
* docs: scaffold branch for #3247 tool execution unification

Placeholder commit to establish the branch for PR creation.
Actual refactoring will be done in subsequent commits.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(core): add shared permission flow for tool execution unification

This addresses #3247 by consolidating duplicated tool execution behavior
across Interactive, Non-Interactive, and ACP modes behind shared execution
utilities.

- Add permissionFlow.ts: shared L3→L4 permission evaluation logic
- Add permissionFlow.test.ts: comprehensive test coverage (17 tests)
- Export from index.ts for use across all execution modes

Why: Permission handling logic was duplicated in CoreToolScheduler and
Session.runTool(). This shared module ensures consistent behavior across
all modes and provides a single source of truth for future fixes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(e2e): add bundle step to E2E workflow and fix canUseTool test

- Add 'npm run bundle' to E2E workflow so dist/cli.js exists for SDK tests
- Fix 'should handle control responses when stdin closes before replies' test:
  - Use helper.getPath() for absolute file path
  - Make prompt explicitly invoke write_file tool
  - Remove inputStreamDonePromise timeout that caused false failures
  - Add q.endInput() to signal stdin done
  - Assert canUseTool was called and file content is updated

* fix(core): wire evaluatePermissionFlow() and address PR review feedback

Address review feedback on PR #3723:
- Wire evaluatePermissionFlow() in coreToolScheduler.ts (both call sites)
- Wire evaluatePermissionFlow() in Session.ts (ACP mode)
- Delete TOOL_EXECUTION_UNIFICATION.md (had literal \n artifacts)
- Add PermissionFlowPermission union type for stronger typing
- Document the 'default' permission state in docstring
- Use needsConfirmation/isPlanModeBlocked/isAutoEditApproved helpers

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 22:10:37 +08:00
..
build-and-publish-image.yml fix(docker): use scripts/build.js and update workflow for manual builds 2026-02-05 14:52:18 +08:00
check-issue-completeness.yml chore: re-organize labels for better triage results (#819) 2025-10-17 19:49:11 +08:00
ci.yml fix(i18n): sync mismatched keys between en.js and zh.js (#3534) 2026-04-24 00:38:32 +08:00
docs-page-action.yml chore(ci): fix yamllint issues (#6112) 2025-08-13 03:24:39 +00:00
e2e.yml feat(core): add shared permission flow for tool execution unification (#3723) 2026-04-30 22:10:37 +08:00
gemini-scheduled-pr-triage.yml chore: fix action lint errors 2025-08-22 12:00:10 +08:00
qwen-automated-issue-triage.yml Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
qwen-code-pr-review.yml Fix GitHub Workflows Configuration Issues (#451) 2025-08-26 16:54:52 +08:00
qwen-scheduled-issue-triage.yml Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
release-sdk.yml fix(ci): preserve preview version overrides (#3705) 2026-04-28 20:26:42 +08:00
release-vscode-companion.yml style: apply formatting and linting fixes across codebase 2026-03-06 21:58:22 +08:00
release.yml fix(ci): add merge-back PR for stable releases in release workflow (#3764) 2026-04-30 15:25:02 +08:00
sdk-python.yml feat(SDK) Add Python SDK implementation for #3010 (#3494) 2026-04-25 07:02:58 +08:00
stale.yml ci(stale): enable 35+35 stale/close policy for pull requests (#3375) 2026-04-19 09:45:17 +08:00
terminal-bench.yml Terminal Bench Integration Test (#521) 2025-09-05 17:02:03 +08:00