orca/src/shared/agent-cli-flag-detection.ts

14 lines
507 B
TypeScript

import { agentArgOptionTokens } from './agent-session-option-agent-args'
/** Matches an exact token, the `flag=value` form, and clustered single-dash flags (`-mopus`). */
export function hasFlag(tokens: readonly string[], flags: readonly string[]): boolean {
return agentArgOptionTokens(tokens).some((token) =>
flags.some(
(flag) =>
token === flag ||
token.startsWith(`${flag}=`) ||
(flag.startsWith('-') && !flag.startsWith('--') && token.startsWith(flag))
)
)
}