mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-23 06:54:13 +08:00
feat: add agent mode for automation scenarios (#337)
* feat: add agent mode for automation scenarios - Add agent mode that always triggers without checking for mentions - Implement Mode interface with support for mode-specific tool configuration - Add getAllowedTools() and getDisallowedTools() methods to Mode interface - Simplify tests by combining related test cases - Update documentation and examples to include agent mode - Fix TypeScript imports to prevent circular dependencies Agent mode is designed for automation and workflow_dispatch scenarios where Claude should always run without requiring trigger phrases. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Minor update to readme (from @main to @beta) * Since workflow_dispatch isn't in the base action, update the examples accordingly * minor formatting issue * Update to say beta instead of main * Fix missed tracking comment to be false --------- Co-authored-by: km-anthropic <km-anthropic@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { ParsedGitHubContext } from "../github/context";
|
||||
import type { ModeName } from "./registry";
|
||||
|
||||
export type ModeName = "tag" | "agent";
|
||||
|
||||
export type ModeContext = {
|
||||
mode: ModeName;
|
||||
@@ -20,9 +21,9 @@ export type ModeData = {
|
||||
* Each mode defines its own behavior for trigger detection, prompt generation,
|
||||
* and tracking comment creation.
|
||||
*
|
||||
* Future modes might include:
|
||||
* - 'review': Optimized for code reviews without tracking comments
|
||||
* - 'freeform': For automation with no trigger checking
|
||||
* Current modes include:
|
||||
* - 'tag': Traditional implementation triggered by mentions/assignments
|
||||
* - 'agent': For automation with no trigger checking
|
||||
*/
|
||||
export type Mode = {
|
||||
name: ModeName;
|
||||
@@ -39,13 +40,12 @@ export type Mode = {
|
||||
prepareContext(context: ParsedGitHubContext, data?: ModeData): ModeContext;
|
||||
|
||||
/**
|
||||
* Returns additional tools that should be allowed for this mode
|
||||
* (base GitHub tools are always included)
|
||||
* Returns the list of tools that should be allowed for this mode
|
||||
*/
|
||||
getAllowedTools(): string[];
|
||||
|
||||
/**
|
||||
* Returns tools that should be disallowed for this mode
|
||||
* Returns the list of tools that should be disallowed for this mode
|
||||
*/
|
||||
getDisallowedTools(): string[];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user