refactor: centralize task runtime contracts (#199)

This commit is contained in:
Eyejoker
2026-05-30 01:56:41 +09:00
committed by GitHub
parent 1531482363
commit 37b57b20bb
14 changed files with 152 additions and 77 deletions

View File

@@ -27,6 +27,16 @@ export {
type GitHubEvidenceAction,
type HostEvidenceAction,
} from './evidence-actions.js';
export {
DEFAULT_SCHEDULE_TASK_CONTEXT_MODE,
DEFAULT_TASK_CONTEXT_MODE,
DEFAULT_WATCH_CI_CONTEXT_MODE,
TASK_CONTEXT_MODES,
WATCH_CI_PROMPT_PREFIX,
isTaskContextMode,
normalizeTaskContextMode,
type TaskContextMode,
} from './task-runtime.js';
export {
extractMarkdownImageAttachments,
extractMediaAttachments,

View File

@@ -0,0 +1,18 @@
export const TASK_CONTEXT_MODES = ['group', 'isolated'] as const;
export type TaskContextMode = (typeof TASK_CONTEXT_MODES)[number];
export const DEFAULT_TASK_CONTEXT_MODE: TaskContextMode = 'isolated';
export const DEFAULT_SCHEDULE_TASK_CONTEXT_MODE: TaskContextMode = 'group';
export const DEFAULT_WATCH_CI_CONTEXT_MODE: TaskContextMode = 'isolated';
export const WATCH_CI_PROMPT_PREFIX = '[BACKGROUND CI WATCH]';
export function isTaskContextMode(value: unknown): value is TaskContextMode {
return value === 'group' || value === 'isolated';
}
export function normalizeTaskContextMode(
value: unknown,
fallback: TaskContextMode = DEFAULT_TASK_CONTEXT_MODE,
): TaskContextMode {
return isTaskContextMode(value) ? value : fallback;
}