// Code generated by "stringer -type=State -trimprefix=State"; DO NOT EDIT.

package loop

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[StateUnknown-0]
	_ = x[StateReady-1]
	_ = x[StateWaitingForUserInput-2]
	_ = x[StateSendingToLLM-3]
	_ = x[StateProcessingLLMResponse-4]
	_ = x[StateEndOfTurn-5]
	_ = x[StateToolUseRequested-6]
	_ = x[StateCheckingForCancellation-7]
	_ = x[StateRunningTool-8]
	_ = x[StateCheckingGitCommits-9]
	_ = x[StateRunningAutoformatters-10]
	_ = x[StateCheckingBudget-11]
	_ = x[StateGatheringAdditionalMessages-12]
	_ = x[StateSendingToolResults-13]
	_ = x[StateCancelled-14]
	_ = x[StateBudgetExceeded-15]
	_ = x[StateError-16]
	_ = x[StateCompacting-17]
}

const _State_name = "UnknownReadyWaitingForUserInputSendingToLLMProcessingLLMResponseEndOfTurnToolUseRequestedCheckingForCancellationRunningToolCheckingGitCommitsRunningAutoformattersCheckingBudgetGatheringAdditionalMessagesSendingToolResultsCancelledBudgetExceededErrorCompacting"

var _State_index = [...]uint16{0, 7, 12, 31, 43, 64, 73, 89, 112, 123, 141, 162, 176, 203, 221, 230, 244, 249, 259}

func (i State) String() string {
	if i < 0 || i >= State(len(_State_index)-1) {
		return "State(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _State_name[_State_index[i]:_State_index[i+1]]
}
