import * as HttpClient from "effect/unstable/http/HttpClient";
import * as redacted from "effect/Redacted";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.js";
import * as T from "../traits.js";
import * as C from "../category.js";
import { SensitiveString } from "../sensitive.js";
const svc = T.AwsApiService({
    sdkId: "DevOps Agent",
    serviceShapeName: "DevOpsAgent",
});
const auth = T.AwsAuthSigv4({ name: "aidevops" });
const ver = T.ServiceVersion("2026-01-01");
const proto = T.AwsProtocolsRestJson1();
const rules = T.EndpointResolver((p, _) => {
    const { UseFIPS = false, Endpoint, Region } = p;
    const e = (u, p = {}, h = {}) => ({
        type: "endpoint",
        endpoint: { url: u, properties: p, headers: h },
    });
    const err = (m) => ({
        type: "error",
        message: m,
    });
    if (Endpoint != null) {
        if (UseFIPS === true) {
            return err("Invalid Configuration: FIPS and custom endpoint are not supported");
        }
        return e(Endpoint);
    }
    if (Region != null) {
        {
            const PartitionResult = _.partition(Region);
            if (PartitionResult != null && PartitionResult !== false) {
                if (UseFIPS === true) {
                    return e(`https://aidevops-fips.${Region}.${_.getAttr(PartitionResult, "dualStackDnsSuffix")}`);
                }
                return e(`https://aidevops.${Region}.${_.getAttr(PartitionResult, "dualStackDnsSuffix")}`);
            }
        }
    }
    return err("Invalid Configuration: Missing Region");
});
export const AllowVendedLogDeliveryForResourceInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    resourceArnBeingAuthorized: S.String,
    deliverySourceArn: S.String,
    logType: S.optional(S.String),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/allow-vended-log-delivery-for-resource",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "AllowVendedLogDeliveryForResourceInput",
});
export const AllowVendedLogDeliveryForResourceOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ message: S.optional(S.String) })).annotate({
    identifier: "AllowVendedLogDeliveryForResourceOutput",
});
export const ReferenceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    system: S.String,
    title: S.optional(S.String),
    referenceId: S.String,
    referenceUrl: S.String,
    associationId: S.String,
})).annotate({ identifier: "ReferenceInput" });
export const TaskType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const Priority = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const CreateBacklogTaskRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    reference: S.optional(ReferenceInput),
    taskType: TaskType,
    title: S.String,
    description: S.optional(S.String),
    priority: Priority,
    clientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/backlog/agent-space/{agentSpaceId}/tasks",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "CreateBacklogTaskRequest",
});
export const ReferenceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    system: S.String,
    title: S.optional(S.String),
    referenceId: S.String,
    referenceUrl: S.String,
    associationId: S.String,
})).annotate({
    identifier: "ReferenceOutput",
});
export const TaskStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const Task = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String,
    taskId: S.String,
    executionId: S.optional(S.String),
    title: S.String,
    description: S.optional(S.String),
    reference: S.optional(ReferenceOutput),
    taskType: TaskType,
    priority: Priority,
    status: TaskStatus,
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    version: S.Number,
    supportMetadata: S.optional(S.Any),
    metadata: S.optional(S.Any),
    primaryTaskId: S.optional(S.String),
    statusReason: S.optional(S.String),
    hasLinkedTasks: S.optional(S.Boolean),
})).annotate({ identifier: "Task" });
export const CreateBacklogTaskResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ task: Task })).annotate({
    identifier: "CreateBacklogTaskResponse",
});
export const ValidationExceptionField = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ path: S.String, message: S.String })).annotate({
    identifier: "ValidationExceptionField",
});
export const ValidationExceptionFieldList = /*@__PURE__*/ /*#__PURE__*/ S.Array(ValidationExceptionField);
export const UserType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const CreateChatRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    userId: S.String.pipe(T.HttpQuery("userId")),
    userType: S.optional(UserType).pipe(T.HttpQuery("userType")),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/agents/agent-space/{agentSpaceId}/chat/create",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "CreateChatRequest",
});
export const CreateChatResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    executionId: S.String,
    createdAt: S.Date.pipe(T.TimestampFormat("epoch-seconds")),
})).annotate({
    identifier: "CreateChatResponse",
});
export const GetAccountUsageInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.all(T.Http({ method: "GET", uri: "/usage/account" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetAccountUsageInput",
});
export const UsageMetric = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ limit: S.Number, usage: S.Number })).annotate({ identifier: "UsageMetric" });
export const GetAccountUsageOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    monthlyAccountInvestigationHours: S.optional(UsageMetric),
    monthlyAccountEvaluationHours: S.optional(UsageMetric),
    monthlyAccountSystemLearningHours: S.optional(UsageMetric),
    monthlyAccountOnDemandHours: S.optional(UsageMetric),
    usagePeriodStartTime: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    usagePeriodEndTime: T.DateFromString.pipe(T.TimestampFormat("date-time")),
})).annotate({
    identifier: "GetAccountUsageOutput",
});
export const GetBacklogTaskRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    taskId: S.String.pipe(T.HttpLabel("taskId")),
}).pipe(T.all(T.Http({
    method: "GET",
    uri: "/backlog/agent-space/{agentSpaceId}/tasks/{taskId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetBacklogTaskRequest",
});
export const GetBacklogTaskResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ task: Task })).annotate({
    identifier: "GetBacklogTaskResponse",
});
export const GetRecommendationRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    recommendationId: S.String.pipe(T.HttpLabel("recommendationId")),
    recommendationVersion: S.optional(S.Number).pipe(T.HttpQuery("recommendationVersion")),
}).pipe(T.all(T.Http({
    method: "GET",
    uri: "/backlog/agent-space/{agentSpaceId}/recommendations/{recommendationId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetRecommendationRequest",
});
export const RecommendationContent = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ summary: S.String, spec: S.optional(S.String) })).annotate({
    identifier: "RecommendationContent",
});
export const RecommendationStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const RecommendationPriority = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const Recommendation = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceArn: S.String,
    recommendationId: S.String,
    taskId: S.String,
    goalId: S.optional(S.String),
    title: S.String,
    content: RecommendationContent,
    status: RecommendationStatus,
    priority: RecommendationPriority,
    goalVersion: S.optional(S.Number),
    additionalContext: S.optional(S.String),
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    version: S.Number,
})).annotate({ identifier: "Recommendation" });
export const GetRecommendationResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ recommendation: Recommendation })).annotate({
    identifier: "GetRecommendationResponse",
});
export const PriorityList = /*@__PURE__*/ /*#__PURE__*/ S.Array(Priority);
export const TaskStatusList = /*@__PURE__*/ /*#__PURE__*/ S.Array(TaskStatus);
export const TaskTypeList = /*@__PURE__*/ /*#__PURE__*/ S.Array(TaskType);
export const TaskFilter = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    createdAfter: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    createdBefore: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    priority: S.optional(PriorityList),
    status: S.optional(TaskStatusList),
    taskType: S.optional(TaskTypeList),
    primaryTaskId: S.optional(S.String),
})).annotate({ identifier: "TaskFilter" });
export const TaskSortField = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const TaskSortOrder = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const ListBacklogTasksRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    filter: S.optional(TaskFilter),
    limit: S.optional(S.Number),
    nextToken: S.optional(S.String),
    sortField: S.optional(TaskSortField),
    order: S.optional(TaskSortOrder),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/backlog/agent-space/{agentSpaceId}/tasks/list",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListBacklogTasksRequest",
});
export const TaskList = /*@__PURE__*/ /*#__PURE__*/ S.Array(Task);
export const ListBacklogTasksResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ tasks: TaskList, nextToken: S.optional(S.String) })).annotate({
    identifier: "ListBacklogTasksResponse",
});
export const ListChatsRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    userId: S.String.pipe(T.HttpQuery("userId")),
    maxResults: S.optional(S.Number).pipe(T.HttpQuery("maxResults")),
    nextToken: S.optional(S.String).pipe(T.HttpQuery("nextToken")),
}).pipe(T.all(T.Http({
    method: "GET",
    uri: "/agents/agent-space/{agentSpaceId}/chat/list",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListChatsRequest",
});
export const ChatExecution = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    executionId: S.String,
    createdAt: S.Date.pipe(T.TimestampFormat("epoch-seconds")),
    updatedAt: S.optional(S.Date.pipe(T.TimestampFormat("epoch-seconds"))),
    summary: S.optional(S.String),
})).annotate({ identifier: "ChatExecution" });
export const ChatExecutionList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(ChatExecution);
export const ListChatsResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ executions: ChatExecutionList, nextToken: S.optional(S.String) })).annotate({
    identifier: "ListChatsResponse",
});
export const ListExecutionsRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    taskId: S.String,
    limit: S.optional(S.Number),
    nextToken: S.optional(S.String),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/journal/agent-space/{agentSpaceId}/executions",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListExecutionsRequest",
});
export const ExecutionStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const Execution = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String,
    executionId: S.String,
    parentExecutionId: S.optional(S.String),
    agentSubTask: S.String,
    createdAt: S.Date.pipe(T.TimestampFormat("epoch-seconds")),
    updatedAt: S.Date.pipe(T.TimestampFormat("epoch-seconds")),
    executionStatus: ExecutionStatus,
    agentType: S.optional(S.String),
    uid: S.optional(S.String),
})).annotate({ identifier: "Execution" });
export const ExecutionList = /*@__PURE__*/ /*#__PURE__*/ S.Array(Execution);
export const ListExecutionsResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ executions: ExecutionList, nextToken: S.optional(S.String) })).annotate({
    identifier: "ListExecutionsResponse",
});
export const GoalStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GoalType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const ListGoalsRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    status: S.optional(GoalStatus),
    goalType: S.optional(GoalType),
    limit: S.optional(S.Number),
    nextToken: S.optional(S.String),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/backlog/agent-space/{agentSpaceId}/goals/list",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListGoalsRequest",
});
export const GoalContent = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ description: S.String, objectives: S.String })).annotate({ identifier: "GoalContent" });
export const SchedulerState = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GoalSchedule = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ state: SchedulerState, expression: S.optional(S.String) })).annotate({ identifier: "GoalSchedule" });
export const Goal = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceArn: S.String,
    goalId: S.String,
    title: S.String,
    content: GoalContent,
    status: GoalStatus,
    goalType: GoalType,
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    lastEvaluatedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    lastTaskId: S.optional(S.String),
    lastSuccessfulTaskId: S.optional(S.String),
    version: S.Number,
    evaluationSchedule: S.optional(GoalSchedule),
})).annotate({ identifier: "Goal" });
export const GoalList = /*@__PURE__*/ /*#__PURE__*/ S.Array(Goal);
export const ListGoalsResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ goals: GoalList, nextToken: S.optional(S.String) })).annotate({
    identifier: "ListGoalsResponse",
});
export const OrderType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const ListJournalRecordsRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    executionId: S.String,
    limit: S.optional(S.Number),
    nextToken: S.optional(S.String),
    recordType: S.optional(S.String),
    order: S.optional(OrderType),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/journal/agent-space/{agentSpaceId}/journalRecords",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListJournalRecordsRequest",
});
export const UserReference = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ userId: S.String, userType: UserType })).annotate({ identifier: "UserReference" });
export const JournalRecord = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String,
    executionId: S.String,
    recordId: S.String,
    content: S.Any,
    createdAt: S.Date.pipe(T.TimestampFormat("epoch-seconds")),
    recordType: S.String,
    userReference: S.optional(UserReference),
})).annotate({ identifier: "JournalRecord" });
export const JournalRecordList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(JournalRecord);
export const ListJournalRecordsResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ records: JournalRecordList, nextToken: S.optional(S.String) })).annotate({
    identifier: "ListJournalRecordsResponse",
});
export const ListPendingMessagesRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    executionId: S.String,
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/agents/agent-space/{agentSpaceId}/pendingMessages",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListPendingMessagesRequest",
});
export const UserMessageBlock = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ text: S.String }),
    S.Struct({ toolResult: S.Any }),
]);
export const UserMessage = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(UserMessageBlock);
export const AssistantMessageBlock = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ text: S.String }),
    S.Struct({ toolUse: S.Any }),
]);
export const AssistantMessage = /*@__PURE__*/ /*#__PURE__*/ S.Array(AssistantMessageBlock);
export const Message = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ userMessage: UserMessage }),
    S.Struct({ assistantMessage: AssistantMessage }),
]);
export const PendingMessage = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ messageId: S.String, message: Message })).annotate({ identifier: "PendingMessage" });
export const PendingMessages = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(PendingMessage);
export const ListPendingMessagesResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String,
    executionId: S.String,
    messages: PendingMessages,
    createdAt: S.Date.pipe(T.TimestampFormat("epoch-seconds")),
})).annotate({
    identifier: "ListPendingMessagesResponse",
});
export const ListRecommendationsRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    taskId: S.optional(S.String),
    goalId: S.optional(S.String),
    status: S.optional(RecommendationStatus),
    priority: S.optional(RecommendationPriority),
    limit: S.optional(S.Number),
    nextToken: S.optional(S.String),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/backlog/agent-space/{agentSpaceId}/recommendations/list",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListRecommendationsRequest",
});
export const RecommendationList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(Recommendation);
export const ListRecommendationsResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    recommendations: RecommendationList,
    nextToken: S.optional(S.String),
})).annotate({
    identifier: "ListRecommendationsResponse",
});
export const ListTagsForResourceRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ resourceArn: S.String.pipe(T.HttpLabel("resourceArn")) }).pipe(T.all(T.Http({ method: "GET", uri: "/tags/{resourceArn}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListTagsForResourceRequest",
});
export const Tags = /*@__PURE__*/ /*#__PURE__*/ S.Record(S.String, S.String.pipe(S.optional));
export const ListTagsForResourceResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ tags: Tags })).annotate({
    identifier: "ListTagsForResourceResponse",
});
export const SendMessageContext = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    currentPage: S.optional(S.String),
    lastMessage: S.optional(S.String),
    userActionResponse: S.optional(S.String),
})).annotate({
    identifier: "SendMessageContext",
});
export const SendMessageRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    executionId: S.String,
    content: S.String,
    context: S.optional(SendMessageContext),
    userId: S.String,
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/agents/agent-space/{agentSpaceId}/chat/sendMessage",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "SendMessageRequest",
});
export const SendMessageResponseCreatedEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    responseId: S.optional(S.String),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageResponseCreatedEvent",
});
export const SendMessageResponseInProgressEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    responseId: S.optional(S.String),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageResponseInProgressEvent",
});
export const SendMessageUsageInfo = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    inputTokens: S.optional(S.Number),
    outputTokens: S.optional(S.Number),
    totalTokens: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageUsageInfo",
});
export const SendMessageResponseCompletedEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    responseId: S.optional(S.String),
    usage: S.optional(SendMessageUsageInfo),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageResponseCompletedEvent",
});
export const SendMessageResponseFailedEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    responseId: S.optional(S.String),
    errorCode: S.optional(S.String),
    errorMessage: S.optional(S.String),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageResponseFailedEvent",
});
export const SendMessageSummaryEvent = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    content: S.optional(S.String),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageSummaryEvent",
});
export const SendMessageHeartbeatEvent = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "SendMessageHeartbeatEvent",
});
export const SendMessageContentBlockStartEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    index: S.optional(S.Number),
    type: S.optional(S.String),
    id: S.optional(S.String),
    parentId: S.optional(S.String),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageContentBlockStartEvent",
});
export const SendMessageTextDelta = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ text: S.optional(S.String) })).annotate({
    identifier: "SendMessageTextDelta",
});
export const SendMessageJsonDelta = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ partialJson: S.optional(S.String) })).annotate({
    identifier: "SendMessageJsonDelta",
});
export const SendMessageContentBlockDelta = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ textDelta: SendMessageTextDelta }),
    S.Struct({ jsonDelta: SendMessageJsonDelta }),
]);
export const SendMessageContentBlockDeltaEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    index: S.optional(S.Number),
    delta: S.optional(SendMessageContentBlockDelta),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageContentBlockDeltaEvent",
});
export const SendMessageContentBlockStopEvent = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    index: S.optional(S.Number),
    type: S.optional(S.String),
    text: S.optional(S.String),
    last: S.optional(S.Boolean),
    sequenceNumber: S.optional(S.Number),
})).annotate({
    identifier: "SendMessageContentBlockStopEvent",
});
export const SendMessageEvents = /*@__PURE__*/ /*#__PURE__*/ T.EventStream(S.Union([
    S.Struct({ responseCreated: SendMessageResponseCreatedEvent }),
    S.Struct({ responseInProgress: SendMessageResponseInProgressEvent }),
    S.Struct({ responseCompleted: SendMessageResponseCompletedEvent }),
    S.Struct({ responseFailed: SendMessageResponseFailedEvent }),
    S.Struct({ summary: SendMessageSummaryEvent }),
    S.Struct({ heartbeat: SendMessageHeartbeatEvent }),
    S.Struct({ contentBlockStart: SendMessageContentBlockStartEvent }),
    S.Struct({ contentBlockDelta: SendMessageContentBlockDeltaEvent }),
    S.Struct({ contentBlockStop: SendMessageContentBlockStopEvent }),
]));
export const SendMessageResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ events: SendMessageEvents.pipe(T.HttpPayload()) })).annotate({
    identifier: "SendMessageResponse",
});
export const TagResourceRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    resourceArn: S.String.pipe(T.HttpLabel("resourceArn")),
    tags: Tags,
}).pipe(T.all(T.Http({ method: "POST", uri: "/tags/{resourceArn}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "TagResourceRequest",
});
export const TagResourceResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "TagResourceResponse",
});
export const TagKeyList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const UntagResourceRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    resourceArn: S.String.pipe(T.HttpLabel("resourceArn")),
    tagKeys: TagKeyList.pipe(T.HttpQuery("tagKeys")),
}).pipe(T.all(T.Http({ method: "DELETE", uri: "/tags/{resourceArn}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "UntagResourceRequest",
});
export const UntagResourceResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "UntagResourceResponse",
});
export const UpdateBacklogTaskRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    taskId: S.String.pipe(T.HttpLabel("taskId")),
    taskStatus: S.optional(TaskStatus),
    clientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({
    method: "PATCH",
    uri: "/backlog/agent-space/{agentSpaceId}/tasks/{taskId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateBacklogTaskRequest",
});
export const UpdateBacklogTaskResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ task: Task })).annotate({
    identifier: "UpdateBacklogTaskResponse",
});
export const GoalScheduleInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ state: SchedulerState })).annotate({
    identifier: "GoalScheduleInput",
});
export const UpdateGoalRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    goalId: S.String.pipe(T.HttpLabel("goalId")),
    evaluationSchedule: S.optional(GoalScheduleInput),
    clientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({
    method: "PATCH",
    uri: "/backlog/agent-space/{agentSpaceId}/goals/{goalId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateGoalRequest",
});
export const UpdateGoalResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ goal: Goal })).annotate({
    identifier: "UpdateGoalResponse",
});
export const UpdateRecommendationRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    recommendationId: S.String.pipe(T.HttpLabel("recommendationId")),
    status: S.optional(RecommendationStatus),
    additionalContext: S.optional(S.String),
    clientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({
    method: "PATCH",
    uri: "/backlog/agent-space/{agentSpaceId}/recommendations/{recommendationId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateRecommendationRequest",
});
export const UpdateRecommendationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ recommendation: Recommendation })).annotate({
    identifier: "UpdateRecommendationResponse",
});
export const CreateAgentSpaceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    description: S.optional(SensitiveString),
    locale: S.optional(S.String),
    kmsKeyArn: S.optional(S.String),
    clientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    tags: S.optional(Tags),
}).pipe(T.all(T.Http({ method: "POST", uri: "/v1/agentspaces" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CreateAgentSpaceInput",
});
export const AgentSpace = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    description: S.optional(SensitiveString),
    locale: S.optional(S.String),
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    kmsKeyArn: S.optional(S.String),
    agentSpaceId: S.String,
})).annotate({ identifier: "AgentSpace" });
export const CreateAgentSpaceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpace: AgentSpace, tags: S.optional(Tags) })).annotate({
    identifier: "CreateAgentSpaceOutput",
});
export const GetAgentSpaceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")) }).pipe(T.all(T.Http({ method: "GET", uri: "/v1/agentspaces/{agentSpaceId}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetAgentSpaceInput",
});
export const GetAgentSpaceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpace: AgentSpace, tags: S.optional(Tags) })).annotate({
    identifier: "GetAgentSpaceOutput",
});
export const UpdateAgentSpaceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    name: S.optional(S.String),
    description: S.optional(SensitiveString),
    locale: S.optional(S.String),
}).pipe(T.all(T.Http({ method: "PATCH", uri: "/v1/agentspaces/{agentSpaceId}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateAgentSpaceInput",
});
export const UpdateAgentSpaceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpace: AgentSpace })).annotate({
    identifier: "UpdateAgentSpaceOutput",
});
export const DeleteAgentSpaceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")) }).pipe(T.all(T.Http({ method: "DELETE", uri: "/v1/agentspaces/{agentSpaceId}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "DeleteAgentSpaceInput",
});
export const DeleteAgentSpaceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "DeleteAgentSpaceOutput",
});
export const AuthFlow = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const DisableOperatorAppInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    authFlow: S.optional(AuthFlow).pipe(T.HttpHeader("x-amzn-app-auth-flow")),
}).pipe(T.all(T.Http({
    method: "DELETE",
    uri: "/v1/agentspaces/{agentSpaceId}/operator",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "DisableOperatorAppInput",
});
export const DisableOperatorAppResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "DisableOperatorAppResponse",
});
export const EnableOperatorAppInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    authFlow: AuthFlow,
    operatorAppRoleArn: S.String,
    idcInstanceArn: S.optional(S.String),
    issuerUrl: S.optional(S.String),
    idpClientId: S.optional(S.String),
    idpClientSecret: S.optional(SensitiveString),
    provider: S.optional(S.String),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/v1/agentspaces/{agentSpaceId}/operator",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "EnableOperatorAppInput",
});
export const IamAuthConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    operatorAppRoleArn: S.String,
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "IamAuthConfiguration",
});
export const IdcAuthConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    operatorAppRoleArn: S.String,
    idcInstanceArn: S.String,
    idcApplicationArn: S.optional(S.String),
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "IdcAuthConfiguration",
});
export const IdpAuthConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    issuerUrl: S.String,
    clientId: S.String,
    operatorAppRoleArn: S.String,
    provider: S.String,
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "IdpAuthConfiguration",
});
export const EnableOperatorAppOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String,
    iam: S.optional(IamAuthConfiguration),
    idc: S.optional(IdcAuthConfiguration),
    idp: S.optional(IdpAuthConfiguration),
})).annotate({
    identifier: "EnableOperatorAppOutput",
});
export const GetOperatorAppInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")) }).pipe(T.all(T.Http({ method: "GET", uri: "/v2/agentspaces/{agentSpaceId}/operator" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetOperatorAppInput",
});
export const GetOperatorAppOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    iam: S.optional(IamAuthConfiguration),
    idc: S.optional(IdcAuthConfiguration),
    idp: S.optional(IdpAuthConfiguration),
})).annotate({
    identifier: "GetOperatorAppOutput",
});
export const UpdateOperatorAppIdpConfigInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    idpClientSecret: S.optional(SensitiveString),
}).pipe(T.all(T.Http({
    method: "PATCH",
    uri: "/v1/agentspaces/{agentSpaceId}/operator/idp",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateOperatorAppIdpConfigInput",
});
export const UpdateOperatorAppIdpConfigOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpaceId: S.String, idp: IdpAuthConfiguration })).annotate({
    identifier: "UpdateOperatorAppIdpConfigOutput",
});
export const ListAgentSpacesInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    maxResults: S.optional(S.Number).pipe(T.HttpQuery("maxResults")),
    nextToken: S.optional(S.String).pipe(T.HttpQuery("nextToken")),
}).pipe(T.all(T.Http({ method: "POST", uri: "/v1/agentspaces/list" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListAgentSpacesInput",
});
export const AgentSpaceList = /*@__PURE__*/ /*#__PURE__*/ S.Array(AgentSpace);
export const ListAgentSpacesOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ nextToken: S.optional(S.String), agentSpaces: AgentSpaceList })).annotate({
    identifier: "ListAgentSpacesOutput",
});
export const SourceAccountType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const SourceAwsConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    accountId: S.String,
    accountType: SourceAccountType,
    assumableRoleArn: S.String,
    externalId: S.optional(S.String),
})).annotate({
    identifier: "SourceAwsConfiguration",
});
export const MonitorAccountType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const AWSConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    assumableRoleArn: S.String,
    accountId: S.String,
    accountType: MonitorAccountType,
})).annotate({
    identifier: "AWSConfiguration",
});
export const GithubRepoOwnerType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GitHubConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    repoName: S.String,
    repoId: S.String,
    owner: S.String,
    ownerType: GithubRepoOwnerType,
    instanceIdentifier: S.optional(S.String),
})).annotate({
    identifier: "GitHubConfiguration",
});
export const SlackChannel = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ channelName: S.optional(S.String), channelId: S.String })).annotate({ identifier: "SlackChannel" });
export const SlackTransmissionTarget = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    opsOncallTarget: SlackChannel,
    opsSRETarget: S.optional(SlackChannel),
})).annotate({
    identifier: "SlackTransmissionTarget",
});
export const SlackConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    workspaceId: S.String,
    workspaceName: S.String,
    transmissionTarget: SlackTransmissionTarget,
})).annotate({
    identifier: "SlackConfiguration",
});
export const DynatraceResourceList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const DynatraceConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ envId: S.String, resources: S.optional(DynatraceResourceList) })).annotate({
    identifier: "DynatraceConfiguration",
});
export const ServiceNowAuthenticationScopeList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const ServiceNowConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    instanceId: S.optional(S.String),
    authScopes: S.optional(ServiceNowAuthenticationScopeList),
})).annotate({
    identifier: "ServiceNowConfiguration",
});
export const MCPServerNewRelicConfiguration = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String, endpoint: S.String })).annotate({
    identifier: "MCPServerNewRelicConfiguration",
});
export const MCPServerDatadogConfiguration = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "MCPServerDatadogConfiguration",
});
export const MCPToolsList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const MCPServerConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ tools: MCPToolsList })).annotate({
    identifier: "MCPServerConfiguration",
});
export const GitLabConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    projectId: S.String,
    projectPath: S.String,
    instanceIdentifier: S.optional(S.String),
})).annotate({
    identifier: "GitLabConfiguration",
});
export const MCPServerSplunkConfiguration = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "MCPServerSplunkConfiguration",
});
export const EventChannelConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "EventChannelConfiguration",
});
export const AzureConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ subscriptionId: S.String })).annotate({
    identifier: "AzureConfiguration",
});
export const AzureDevOpsConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    organizationName: S.String,
    projectId: S.String,
    projectName: S.String,
})).annotate({
    identifier: "AzureDevOpsConfiguration",
});
export const MCPServerGrafanaConfiguration = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    endpoint: S.String,
    organizationId: S.optional(S.String),
    tools: S.optional(MCPToolsList),
})).annotate({
    identifier: "MCPServerGrafanaConfiguration",
});
export const PagerDutyServicesList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const PagerDutyConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    services: PagerDutyServicesList,
    customerEmail: SensitiveString,
})).annotate({
    identifier: "PagerDutyConfiguration",
});
export const ServiceConfiguration = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ sourceAws: SourceAwsConfiguration }),
    S.Struct({ aws: AWSConfiguration }),
    S.Struct({ github: GitHubConfiguration }),
    S.Struct({ slack: SlackConfiguration }),
    S.Struct({ dynatrace: DynatraceConfiguration }),
    S.Struct({ servicenow: ServiceNowConfiguration }),
    S.Struct({ mcpservernewrelic: MCPServerNewRelicConfiguration }),
    S.Struct({ mcpserverdatadog: MCPServerDatadogConfiguration }),
    S.Struct({ mcpserver: MCPServerConfiguration }),
    S.Struct({ gitlab: GitLabConfiguration }),
    S.Struct({ mcpserversplunk: MCPServerSplunkConfiguration }),
    S.Struct({ eventChannel: EventChannelConfiguration }),
    S.Struct({ azure: AzureConfiguration }),
    S.Struct({ azuredevops: AzureDevOpsConfiguration }),
    S.Struct({ mcpservergrafana: MCPServerGrafanaConfiguration }),
    S.Struct({ pagerduty: PagerDutyConfiguration }),
]);
export const AssociateServiceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    serviceId: S.String,
    configuration: ServiceConfiguration,
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/v1/agentspaces/{agentSpaceId}/associations",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "AssociateServiceInput",
});
export const ValidationStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const Association = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String,
    createdAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    updatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    status: S.optional(ValidationStatus),
    associationId: S.String,
    serviceId: S.String,
    configuration: ServiceConfiguration,
})).annotate({ identifier: "Association" });
export const WebhookType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GenericWebhook = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    webhookUrl: S.optional(S.String),
    webhookId: S.optional(S.String),
    webhookType: S.optional(WebhookType),
    webhookSecret: S.optional(SensitiveString),
    apiKey: S.optional(SensitiveString),
})).annotate({ identifier: "GenericWebhook" });
export const AssociateServiceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ association: Association, webhook: S.optional(GenericWebhook) })).annotate({
    identifier: "AssociateServiceOutput",
});
export const GetAssociationInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    associationId: S.String.pipe(T.HttpLabel("associationId")),
}).pipe(T.all(T.Http({
    method: "GET",
    uri: "/v1/agentspaces/{agentSpaceId}/associations/{associationId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetAssociationInput",
});
export const GetAssociationOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ association: Association })).annotate({
    identifier: "GetAssociationOutput",
});
export const UpdateAssociationInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    associationId: S.String.pipe(T.HttpLabel("associationId")),
    configuration: ServiceConfiguration,
}).pipe(T.all(T.Http({
    method: "PATCH",
    uri: "/v1/agentspaces/{agentSpaceId}/associations/{associationId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateAssociationInput",
});
export const UpdateAssociationOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ association: Association, webhook: S.optional(GenericWebhook) })).annotate({
    identifier: "UpdateAssociationOutput",
});
export const DisassociateServiceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    associationId: S.String.pipe(T.HttpLabel("associationId")),
}).pipe(T.all(T.Http({
    method: "DELETE",
    uri: "/v1/agentspaces/{agentSpaceId}/associations/{associationId}",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "DisassociateServiceInput",
});
export const DisassociateServiceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "DisassociateServiceOutput",
});
export const ListWebhooksInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    associationId: S.String.pipe(T.HttpLabel("associationId")),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/v1/agentspaces/{agentSpaceId}/associations/{associationId}/webhooks/list",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListWebhooksInput",
});
export const Webhook = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    webhookUrl: S.String,
    webhookType: S.optional(WebhookType),
    webhookId: S.String,
})).annotate({ identifier: "Webhook" });
export const WebhooksList = /*@__PURE__*/ /*#__PURE__*/ S.Array(Webhook);
export const ListWebhooksOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ webhooks: WebhooksList })).annotate({
    identifier: "ListWebhooksOutput",
});
export const ListAssociationsInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")),
    maxResults: S.optional(S.Number).pipe(T.HttpQuery("maxResults")),
    nextToken: S.optional(S.String).pipe(T.HttpQuery("nextToken")),
    filterServiceTypes: S.optional(S.String).pipe(T.HttpQuery("filterServiceTypes")),
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/v1/agentspaces/{agentSpaceId}/associations/list",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListAssociationsInput",
});
export const AssociationsList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(Association);
export const ListAssociationsOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    nextToken: S.optional(S.String),
    associations: AssociationsList,
})).annotate({
    identifier: "ListAssociationsOutput",
});
export const ValidateAwsAssociationsInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ agentSpaceId: S.String.pipe(T.HttpLabel("agentSpaceId")) }).pipe(T.all(T.Http({
    method: "POST",
    uri: "/v1/agentspaces/{agentSpaceId}/associations/validate",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "ValidateAwsAssociationsInput",
});
export const ValidateAwsAssociationsOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "ValidateAwsAssociationsOutput",
});
export const ListOfSubnetIds = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const ListOfSecurityGroupIds = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const IpAddressType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const PortRanges = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const ServiceManagedInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    hostAddress: S.String,
    vpcId: S.String,
    subnetIds: ListOfSubnetIds,
    securityGroupIds: S.optional(ListOfSecurityGroupIds),
    ipAddressType: S.optional(IpAddressType),
    ipv4AddressesPerEni: S.optional(S.Number),
    portRanges: S.optional(PortRanges),
    certificate: S.optional(S.String),
})).annotate({
    identifier: "ServiceManagedInput",
});
export const SelfManagedInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    resourceConfigurationId: S.String,
    certificate: S.optional(S.String),
})).annotate({
    identifier: "SelfManagedInput",
});
export const PrivateConnectionMode = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ serviceManaged: ServiceManagedInput }),
    S.Struct({ selfManaged: SelfManagedInput }),
]);
export const CreatePrivateConnectionInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    mode: PrivateConnectionMode,
    tags: S.optional(Tags),
}).pipe(T.all(T.Http({ method: "POST", uri: "/v1/private-connections" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CreatePrivateConnectionInput",
});
export const PrivateConnectionType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const PrivateConnectionStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const CreatePrivateConnectionOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    type: PrivateConnectionType,
    resourceGatewayId: S.optional(S.String),
    hostAddress: S.optional(S.String),
    vpcId: S.optional(S.String),
    resourceConfigurationId: S.optional(S.String),
    status: PrivateConnectionStatus,
    certificateExpiryTime: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    tags: S.optional(Tags),
})).annotate({
    identifier: "CreatePrivateConnectionOutput",
});
export const DescribePrivateConnectionInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ name: S.String.pipe(T.HttpLabel("name")) }).pipe(T.all(T.Http({ method: "GET", uri: "/v1/private-connections/{name}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "DescribePrivateConnectionInput",
});
export const DescribePrivateConnectionOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    type: PrivateConnectionType,
    resourceGatewayId: S.optional(S.String),
    hostAddress: S.optional(S.String),
    vpcId: S.optional(S.String),
    resourceConfigurationId: S.optional(S.String),
    status: PrivateConnectionStatus,
    certificateExpiryTime: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    tags: S.optional(Tags),
})).annotate({
    identifier: "DescribePrivateConnectionOutput",
});
export const DeletePrivateConnectionInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ name: S.String.pipe(T.HttpLabel("name")) }).pipe(T.all(T.Http({ method: "DELETE", uri: "/v1/private-connections/{name}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "DeletePrivateConnectionInput",
});
export const DeletePrivateConnectionOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ name: S.String, status: PrivateConnectionStatus })).annotate({
    identifier: "DeletePrivateConnectionOutput",
});
export const ListPrivateConnectionsInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.all(T.Http({ method: "GET", uri: "/v1/private-connections" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListPrivateConnectionsInput",
});
export const PrivateConnectionSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    type: PrivateConnectionType,
    resourceGatewayId: S.optional(S.String),
    hostAddress: S.optional(S.String),
    vpcId: S.optional(S.String),
    resourceConfigurationId: S.optional(S.String),
    status: PrivateConnectionStatus,
    certificateExpiryTime: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "PrivateConnectionSummary",
});
export const PrivateConnectionSummaryList = /*@__PURE__*/ /*#__PURE__*/ S.Array(PrivateConnectionSummary);
export const ListPrivateConnectionsOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ privateConnections: PrivateConnectionSummaryList })).annotate({
    identifier: "ListPrivateConnectionsOutput",
});
export const UpdatePrivateConnectionCertificateInput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String.pipe(T.HttpLabel("name")),
    certificate: S.String,
}).pipe(T.all(T.Http({
    method: "POST",
    uri: "/v1/private-connections/{name}/certificate",
}), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdatePrivateConnectionCertificateInput",
});
export const UpdatePrivateConnectionCertificateOutput = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    type: PrivateConnectionType,
    resourceGatewayId: S.optional(S.String),
    hostAddress: S.optional(S.String),
    vpcId: S.optional(S.String),
    resourceConfigurationId: S.optional(S.String),
    status: PrivateConnectionStatus,
    certificateExpiryTime: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "UpdatePrivateConnectionCertificateOutput",
});
export const PostRegisterServiceSupportedService = 
/*@__PURE__*/ /*#__PURE__*/ S.String;
export const ExchangeParameters = /*@__PURE__*/ /*#__PURE__*/ S.Record(S.String, SensitiveString.pipe(S.optional));
export const DynatraceOAuthClientCredentialsConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    clientName: S.optional(S.String),
    clientId: SensitiveString,
    exchangeParameters: S.optional(ExchangeParameters),
    clientSecret: SensitiveString,
})).annotate({
    identifier: "DynatraceOAuthClientCredentialsConfig",
});
export const DynatraceServiceAuthorizationConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ oAuthClientCredentials: DynatraceOAuthClientCredentialsConfig }),
]);
export const DynatraceServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    accountUrn: S.String,
    authorizationConfig: S.optional(DynatraceServiceAuthorizationConfig),
})).annotate({
    identifier: "DynatraceServiceDetails",
});
export const ServiceNowOAuthClientCredentialsConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    clientName: S.optional(S.String),
    clientId: SensitiveString,
    exchangeParameters: S.optional(ExchangeParameters),
    clientSecret: SensitiveString,
})).annotate({
    identifier: "ServiceNowOAuthClientCredentialsConfig",
});
export const ServiceNowServiceAuthorizationConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({
        oAuthClientCredentials: ServiceNowOAuthClientCredentialsConfig,
    }),
]);
export const ServiceNowServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    instanceUrl: S.String,
    authorizationConfig: S.optional(ServiceNowServiceAuthorizationConfig),
})).annotate({
    identifier: "ServiceNowServiceDetails",
});
export const MCPServerAuthorizationDiscoveryConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ returnToEndpoint: S.String })).annotate({
    identifier: "MCPServerAuthorizationDiscoveryConfig",
});
export const DatadogAuthorizationConfig = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ authorizationDiscovery: MCPServerAuthorizationDiscoveryConfig }),
]);
export const DatadogServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    endpoint: S.String,
    description: S.optional(SensitiveString),
    authorizationConfig: DatadogAuthorizationConfig,
})).annotate({
    identifier: "DatadogServiceDetails",
});
export const Scopes = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const MCPServerOAuthClientCredentialsConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    clientName: S.optional(S.String),
    clientId: SensitiveString,
    exchangeParameters: S.optional(ExchangeParameters),
    clientSecret: SensitiveString,
    exchangeUrl: S.String,
    scopes: S.optional(Scopes),
})).annotate({
    identifier: "MCPServerOAuthClientCredentialsConfig",
});
export const MCPServerOAuth3LOConfig = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    clientName: S.optional(S.String),
    clientId: SensitiveString,
    exchangeParameters: S.optional(ExchangeParameters),
    returnToEndpoint: S.String,
    authorizationUrl: S.String,
    exchangeUrl: S.String,
    clientSecret: S.optional(SensitiveString),
    supportCodeChallenge: S.optional(S.Boolean),
    scopes: S.optional(Scopes),
})).annotate({
    identifier: "MCPServerOAuth3LOConfig",
});
export const MCPServerAPIKeyConfig = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    apiKeyName: S.String,
    apiKeyValue: SensitiveString,
    apiKeyHeader: S.String,
})).annotate({
    identifier: "MCPServerAPIKeyConfig",
});
export const MCPServerBearerTokenConfig = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    tokenName: S.String,
    tokenValue: SensitiveString,
    authorizationHeader: S.optional(S.String),
})).annotate({
    identifier: "MCPServerBearerTokenConfig",
});
export const MCPServerAuthorizationConfig = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ oAuthClientCredentials: MCPServerOAuthClientCredentialsConfig }),
    S.Struct({ oAuth3LO: MCPServerOAuth3LOConfig }),
    S.Struct({ apiKey: MCPServerAPIKeyConfig }),
    S.Struct({ bearerToken: MCPServerBearerTokenConfig }),
    S.Struct({ authorizationDiscovery: MCPServerAuthorizationDiscoveryConfig }),
]);
export const MCPServerDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    endpoint: S.String,
    description: S.optional(SensitiveString),
    authorizationConfig: MCPServerAuthorizationConfig,
})).annotate({
    identifier: "MCPServerDetails",
});
export const GitLabTokenType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GitLabDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    targetUrl: S.String,
    tokenType: GitLabTokenType,
    tokenValue: SensitiveString,
    groupId: S.optional(S.String),
})).annotate({ identifier: "GitLabDetails" });
export const NewRelicRegion = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const NewRelicApplicationIds = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const NewRelicEntityGuids = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const NewRelicAlertPolicyIds = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const NewRelicApiKeyConfig = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    apiKey: SensitiveString,
    accountId: S.String,
    region: NewRelicRegion,
    applicationIds: S.optional(NewRelicApplicationIds),
    entityGuids: S.optional(NewRelicEntityGuids),
    alertPolicyIds: S.optional(NewRelicAlertPolicyIds),
})).annotate({
    identifier: "NewRelicApiKeyConfig",
});
export const NewRelicServiceAuthorizationConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ apiKey: NewRelicApiKeyConfig }),
]);
export const NewRelicServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ authorizationConfig: NewRelicServiceAuthorizationConfig })).annotate({
    identifier: "NewRelicServiceDetails",
});
export const EventChannelType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const EventChannelDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ type: S.optional(EventChannelType) })).annotate({
    identifier: "EventChannelDetails",
});
export const GrafanaServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    endpoint: S.String,
    description: S.optional(SensitiveString),
    authorizationConfig: MCPServerAuthorizationConfig,
})).annotate({
    identifier: "GrafanaServiceDetails",
});
export const PagerDutyScopes = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const PagerDutyOAuthClientCredentialsConfig = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    clientName: S.optional(S.String),
    clientId: SensitiveString,
    exchangeParameters: S.optional(ExchangeParameters),
    clientSecret: SensitiveString,
})).annotate({
    identifier: "PagerDutyOAuthClientCredentialsConfig",
});
export const PagerDutyAuthorizationConfig = /*@__PURE__*/ /*#__PURE__*/ S.Union([S.Struct({ oAuthClientCredentials: PagerDutyOAuthClientCredentialsConfig })]);
export const PagerDutyDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    scopes: PagerDutyScopes,
    authorizationConfig: PagerDutyAuthorizationConfig,
})).annotate({
    identifier: "PagerDutyDetails",
});
export const WebIdentityTokenAudienceList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const RegisteredAzureIdentityDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    tenantId: S.String,
    clientId: S.String,
    webIdentityRoleArn: S.String,
    webIdentityTokenAudiences: WebIdentityTokenAudienceList,
})).annotate({
    identifier: "RegisteredAzureIdentityDetails",
});
export const ServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ dynatrace: DynatraceServiceDetails }),
    S.Struct({ servicenow: ServiceNowServiceDetails }),
    S.Struct({ mcpserverdatadog: DatadogServiceDetails }),
    S.Struct({ mcpserver: MCPServerDetails }),
    S.Struct({ gitlab: GitLabDetails }),
    S.Struct({ mcpserversplunk: MCPServerDetails }),
    S.Struct({ mcpservernewrelic: NewRelicServiceDetails }),
    S.Struct({ eventChannel: EventChannelDetails }),
    S.Struct({ mcpservergrafana: GrafanaServiceDetails }),
    S.Struct({ pagerduty: PagerDutyDetails }),
    S.Struct({ azureidentity: RegisteredAzureIdentityDetails }),
]);
export const RegisterServiceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    service: PostRegisterServiceSupportedService.pipe(T.HttpLabel("service")),
    serviceDetails: ServiceDetails,
    kmsKeyArn: S.optional(S.String),
    privateConnectionName: S.optional(S.String),
    name: S.optional(S.String),
    tags: S.optional(Tags),
}).pipe(T.all(T.Http({ method: "POST", uri: "/v1/register/{service}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "RegisterServiceInput",
});
export const OAuthAdditionalStepDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ authorizationUrl: S.String })).annotate({
    identifier: "OAuthAdditionalStepDetails",
});
export const AdditionalServiceRegistrationStep = 
/*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ oauth: OAuthAdditionalStepDetails }),
]);
export const RegisterServiceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    serviceId: S.optional(S.String),
    additionalStep: S.optional(AdditionalServiceRegistrationStep),
    kmsKeyArn: S.optional(S.String),
    tags: S.optional(Tags),
})).annotate({
    identifier: "RegisterServiceOutput",
});
export const GetServiceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ serviceId: S.String.pipe(T.HttpLabel("serviceId")) }).pipe(T.all(T.Http({ method: "GET", uri: "/v1/services/{serviceId}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetServiceInput",
});
export const Service = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const DocumentList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.Any);
export const RegisteredGithubServiceDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    owner: S.String,
    ownerType: GithubRepoOwnerType,
    targetUrl: S.optional(S.String),
})).annotate({
    identifier: "RegisteredGithubServiceDetails",
});
export const RegisteredSlackServiceDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ teamId: S.String, teamName: S.String })).annotate({
    identifier: "RegisteredSlackServiceDetails",
});
export const MCPServerAuthorizationMethod = 
/*@__PURE__*/ /*#__PURE__*/ S.String;
export const RegisteredMCPServerDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    name: S.String,
    endpoint: S.String,
    authorizationMethod: MCPServerAuthorizationMethod,
    description: S.optional(SensitiveString),
    apiKeyHeader: S.optional(S.String),
})).annotate({
    identifier: "RegisteredMCPServerDetails",
});
export const RegisteredServiceNowDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ instanceUrl: S.optional(S.String) })).annotate({
    identifier: "RegisteredServiceNowDetails",
});
export const RegisteredGitLabServiceDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    targetUrl: S.String,
    tokenType: GitLabTokenType,
    groupId: S.optional(S.String),
})).annotate({
    identifier: "RegisteredGitLabServiceDetails",
});
export const RegisteredNewRelicDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    accountId: S.String,
    region: NewRelicRegion,
    description: S.optional(SensitiveString),
})).annotate({
    identifier: "RegisteredNewRelicDetails",
});
export const RegisteredAzureDevOpsServiceDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ organizationName: S.String })).annotate({
    identifier: "RegisteredAzureDevOpsServiceDetails",
});
export const RegisteredGrafanaServerDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    endpoint: S.String,
    authorizationMethod: MCPServerAuthorizationMethod,
})).annotate({
    identifier: "RegisteredGrafanaServerDetails",
});
export const PagerDutyScopesList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const RegisteredPagerDutyDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ scopes: PagerDutyScopesList })).annotate({
    identifier: "RegisteredPagerDutyDetails",
});
export const AdditionalServiceDetails = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ github: RegisteredGithubServiceDetails }),
    S.Struct({ slack: RegisteredSlackServiceDetails }),
    S.Struct({ mcpserverdatadog: RegisteredMCPServerDetails }),
    S.Struct({ mcpserver: RegisteredMCPServerDetails }),
    S.Struct({ servicenow: RegisteredServiceNowDetails }),
    S.Struct({ gitlab: RegisteredGitLabServiceDetails }),
    S.Struct({ mcpserversplunk: RegisteredMCPServerDetails }),
    S.Struct({ mcpservernewrelic: RegisteredNewRelicDetails }),
    S.Struct({ azuredevops: RegisteredAzureDevOpsServiceDetails }),
    S.Struct({ azureidentity: RegisteredAzureIdentityDetails }),
    S.Struct({ mcpservergrafana: RegisteredGrafanaServerDetails }),
    S.Struct({ pagerduty: RegisteredPagerDutyDetails }),
]);
export const RegisteredService = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    serviceId: S.String,
    serviceType: Service,
    name: S.optional(S.String),
    accessibleResources: S.optional(DocumentList),
    additionalServiceDetails: S.optional(AdditionalServiceDetails),
    kmsKeyArn: S.optional(S.String),
    privateConnectionName: S.optional(S.String),
})).annotate({
    identifier: "RegisteredService",
});
export const GetServiceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ service: RegisteredService, tags: S.optional(Tags) })).annotate({
    identifier: "GetServiceOutput",
});
export const DeregisterServiceInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ serviceId: S.String.pipe(T.HttpLabel("serviceId")) }).pipe(T.all(T.Http({ method: "DELETE", uri: "/v1/services/{serviceId}" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "DeregisterServiceInput",
});
export const DeregisterServiceOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "DeregisterServiceOutput",
});
export const ListServicesInput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    maxResults: S.optional(S.Number).pipe(T.HttpQuery("maxResults")),
    nextToken: S.optional(S.String).pipe(T.HttpQuery("nextToken")),
    filterServiceType: S.optional(Service).pipe(T.HttpQuery("filterServiceType")),
}).pipe(T.all(T.Http({ method: "POST", uri: "/v1/services/list" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListServicesInput",
});
export const RegisteredServicesList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(RegisteredService);
export const ListServicesOutput = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    nextToken: S.optional(S.String),
    services: RegisteredServicesList,
})).annotate({
    identifier: "ListServicesOutput",
});
//# Errors
export class AccessDeniedException extends S.TaggedErrorClass()("AccessDeniedException", { message: S.String }).pipe(C.withAuthError) {
}
export class ConflictException extends S.TaggedErrorClass()("ConflictException", { message: S.String }).pipe(C.withConflictError) {
}
export class InternalServerException extends S.TaggedErrorClass()("InternalServerException", { message: S.String }, T.Retryable()).pipe(C.withServerError, C.withRetryableError) {
}
export class ResourceNotFoundException extends S.TaggedErrorClass()("ResourceNotFoundException", { message: S.String }).pipe(C.withBadRequestError) {
}
export class ThrottlingException extends S.TaggedErrorClass()("ThrottlingException", { message: S.String }, T.Retryable()).pipe(C.withThrottlingError, C.withRetryableError) {
}
export class ValidationException extends S.TaggedErrorClass()("ValidationException", { message: S.String, fieldList: S.optional(ValidationExceptionFieldList) }) {
}
export class ServiceQuotaExceededException extends S.TaggedErrorClass()("ServiceQuotaExceededException", { message: S.String }).pipe(C.withQuotaError) {
}
export class InvalidParameterException extends S.TaggedErrorClass()("InvalidParameterException", { message: S.String }).pipe(C.withBadRequestError) {
}
export class IdentityCenterServiceException extends S.TaggedErrorClass()("IdentityCenterServiceException", { message: S.String, underlyingErrorCode: S.optional(S.String) }).pipe(C.withBadRequestError) {
}
/**
 * Authorize Ingestion Hub subscription operation.
 */
export const allowVendedLogDeliveryForResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: AllowVendedLogDeliveryForResourceInput,
    output: AllowVendedLogDeliveryForResourceOutput,
    errors: [],
}));
/**
 * Creates a new backlog task in the specified agent space
 */
export const createBacklogTask = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateBacklogTaskRequest,
    output: CreateBacklogTaskResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Creates a new chat execution in the specified agent space
 */
export const createChat = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateChatRequest,
    output: CreateChatResponse,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves monthly account usage metrics and limits for the AWS account.
 */
export const getAccountUsage = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetAccountUsageInput,
    output: GetAccountUsageOutput,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Gets a backlog task for the specified agent space and task id
 */
export const getBacklogTask = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetBacklogTaskRequest,
    output: GetBacklogTaskResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves a specific recommendation by its ID
 */
export const getRecommendation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetRecommendationRequest,
    output: GetRecommendationResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists backlog tasks in the specified agent space with optional filtering and sorting
 */
export const listBacklogTasks = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListBacklogTasksRequest,
    output: ListBacklogTasksResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "tasks",
        pageSize: "limit",
    },
}));
/**
 * Retrieves a paginated list of the user's recent chat executions
 */
export const listChats = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListChatsRequest,
    output: ListChatsResponse,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * List executions
 */
export const listExecutions = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListExecutionsRequest,
    output: ListExecutionsResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "executions",
        pageSize: "limit",
    },
}));
/**
 * Lists goals in the specified agent space with optional filtering
 */
export const listGoals = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListGoalsRequest,
    output: ListGoalsResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "goals",
        pageSize: "limit",
    },
}));
/**
 * List journal records for a specific execution
 */
export const listJournalRecords = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListJournalRecordsRequest,
    output: ListJournalRecordsResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "records",
        pageSize: "limit",
    },
}));
/**
 * List pending messages for a specific execution.
 */
export const listPendingMessages = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListPendingMessagesRequest,
    output: ListPendingMessagesResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists recommendations for the specified agent space
 */
export const listRecommendations = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListRecommendationsRequest,
    output: ListRecommendationsResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists tags for the specified AWS DevOps Agent resource.
 */
export const listTagsForResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListTagsForResourceRequest,
    output: ListTagsForResourceResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ValidationException,
    ],
}));
/**
 * Sends a chat message and streams the response for the specified agent space execution
 */
export const sendMessage = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: SendMessageRequest,
    output: SendMessageResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Adds or overwrites tags for the specified AWS DevOps Agent resource.
 */
export const tagResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: TagResourceRequest,
    output: TagResourceResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ValidationException,
    ],
}));
/**
 * Removes tags from the specified AWS DevOps Agent resource.
 */
export const untagResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UntagResourceRequest,
    output: UntagResourceResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ValidationException,
    ],
}));
/**
 * Update an existing backlog task.
 */
export const updateBacklogTask = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateBacklogTaskRequest,
    output: UpdateBacklogTaskResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Update an existing goal
 */
export const updateGoal = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateGoalRequest,
    output: UpdateGoalResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Updates an existing recommendation with new content, status, or metadata
 */
export const updateRecommendation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateRecommendationRequest,
    output: UpdateRecommendationResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Creates a new AgentSpace with the specified name and description. Duplicate space names are allowed.
 */
export const createAgentSpace = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateAgentSpaceInput,
    output: CreateAgentSpaceOutput,
    errors: [
        ConflictException,
        InternalServerException,
        InvalidParameterException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves detailed information about a specific AgentSpace.
 */
export const getAgentSpace = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetAgentSpaceInput,
    output: GetAgentSpaceOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Updates the information of an existing AgentSpace.
 */
export const updateAgentSpace = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateAgentSpaceInput,
    output: UpdateAgentSpaceOutput,
    errors: [
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Deletes an AgentSpace. This operation is idempotent and returns a 204 No Content response on success.
 */
export const deleteAgentSpace = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeleteAgentSpaceInput,
    output: DeleteAgentSpaceOutput,
    errors: [
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Disable the Operator App for the specified AgentSpace
 */
export const disableOperatorApp = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DisableOperatorAppInput,
    output: DisableOperatorAppResponse,
    errors: [
        IdentityCenterServiceException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Enable the Operator App to access the given AgentSpace
 */
export const enableOperatorApp = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: EnableOperatorAppInput,
    output: EnableOperatorAppOutput,
    errors: [
        IdentityCenterServiceException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Get the full auth configuration of operator including any enabled auth flow
 */
export const getOperatorApp = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetOperatorAppInput,
    output: GetOperatorAppOutput,
    errors: [InternalServerException, ThrottlingException, ValidationException],
}));
/**
 * Update the external Identity Provider configuration for the Operator App
 */
export const updateOperatorAppIdpConfig = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateOperatorAppIdpConfigInput,
    output: UpdateOperatorAppIdpConfigOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists all AgentSpaces with optional pagination.
 */
export const listAgentSpaces = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListAgentSpacesInput,
    output: ListAgentSpacesOutput,
    errors: [InternalServerException, ThrottlingException, ValidationException],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "agentSpaces",
        pageSize: "maxResults",
    },
}));
/**
 * Adds a specific service association to an AgentSpace. It overwrites the existing association of the same service. Returns 201 Created on success.
 */
export const associateService = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: AssociateServiceInput,
    output: AssociateServiceOutput,
    errors: [
        ConflictException,
        InternalServerException,
        InvalidParameterException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves given associations configured for a specific AgentSpace.
 */
export const getAssociation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetAssociationInput,
    output: GetAssociationOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Partially updates the configuration of an existing service association for an AgentSpace. Present fields are fully replaced; absent fields are left unchanged. Returns 200 OK on success.
 */
export const updateAssociation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateAssociationInput,
    output: UpdateAssociationOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Deletes a specific service association from an AgentSpace. This operation is idempotent and returns a 204 No Content response on success.
 */
export const disassociateService = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DisassociateServiceInput,
    output: DisassociateServiceOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * List all webhooks for given Association
 */
export const listWebhooks = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListWebhooksInput,
    output: ListWebhooksOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * List all associations for given AgentSpace
 */
export const listAssociations = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListAssociationsInput,
    output: ListAssociationsOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "associations",
        pageSize: "maxResults",
    },
}));
/**
 * Validates an aws association and set status and returns a 204 No Content response on success.
 */
export const validateAwsAssociations = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ValidateAwsAssociationsInput,
    output: ValidateAwsAssociationsOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Creates a Private Connection to a target resource.
 */
export const createPrivateConnection = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreatePrivateConnectionInput,
    output: CreatePrivateConnectionOutput,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves details of an existing Private Connection.
 */
export const describePrivateConnection = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DescribePrivateConnectionInput,
    output: DescribePrivateConnectionOutput,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Deletes a Private Connection. The deletion is asynchronous and returns DELETE_IN_PROGRESS status.
 */
export const deletePrivateConnection = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeletePrivateConnectionInput,
    output: DeletePrivateConnectionOutput,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists all Private Connections in the caller's account.
 */
export const listPrivateConnections = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListPrivateConnectionsInput,
    output: ListPrivateConnectionsOutput,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Updates the certificate associated with a Private Connection.
 */
export const updatePrivateConnectionCertificate = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdatePrivateConnectionCertificateInput,
    output: UpdatePrivateConnectionCertificateOutput,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * This operation registers the specified service
 */
export const registerService = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: RegisterServiceInput,
    output: RegisterServiceOutput,
    errors: [
        InternalServerException,
        InvalidParameterException,
        ResourceNotFoundException,
        ValidationException,
    ],
}));
/**
 * Retrieves given service by it's unique identifier
 */
export const getService = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetServiceInput,
    output: GetServiceOutput,
    errors: [
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Deregister a service
 */
export const deregisterService = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeregisterServiceInput,
    output: DeregisterServiceOutput,
    errors: [
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * List a list of registered service on the account level.
 */
export const listServices = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListServicesInput,
    output: ListServicesOutput,
    errors: [InternalServerException, ThrottlingException, ValidationException],
    pagination: {
        inputToken: "nextToken",
        outputToken: "nextToken",
        items: "services",
        pageSize: "maxResults",
    },
}));
//# sourceMappingURL=devops-agent.js.map