async function shouldHandle()

in src/github/junie/prepare-junie.ts [87:112]


async function shouldHandle(context: JunieExecutionContext, octokit: Octokits): Promise<boolean> {
    if (isTriggeredByUserInteraction(context)) {
        const hasWritePermissions = await verifyRepositoryAccess(
            octokit.rest,
            context,
        );
        if (!hasWritePermissions) {
            console.log("No write permissions, skipping junie");
            return false;
        }
    }

    if (context.inputs.prompt) {
        return true;
    }

    if (context.inputs.resolveConflicts) {
        return await shouldResolveConflicts(context, octokit)
    }

    if (isJiraWorkflowDispatchEvent(context)) {
        return true;
    }

    return isTriggeredByUserInteraction(context) && detectJunieTriggerPhrase(context) && checkHumanActor(octokit.rest, context);
}