From 80e2f9ec021242e69002c580888c1067d36a1983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Fri, 30 Aug 2024 18:14:09 +0200 Subject: [PATCH] [Move `@kbn/config-schema` to server] `stack_connectors` --- .../stack_connectors/common/auth/types.ts | 20 ++-- .../stack_connectors/common/bedrock/types.ts | 48 +++----- .../common/crowdstrike/types.ts | 44 ++----- .../common/d3security/types.ts | 18 +-- .../stack_connectors/common/gemini/types.ts | 45 +++----- .../stack_connectors/common/openai/types.ts | 33 ++---- .../common/sentinelone/types.ts | 109 ++++-------------- .../common/slack_api/types.ts | 39 +++---- .../stack_connectors/common/thehive/types.ts | 32 ++--- .../stack_connectors/common/tines/types.ts | 35 ++---- .../connector_types}/auth/schema.ts | 20 ++-- .../connector_types/bedrock/bedrock.test.ts | 2 +- .../server/connector_types/bedrock/bedrock.ts | 4 +- .../server/connector_types/bedrock/index.ts | 2 +- .../connector_types}/bedrock/schema.ts | 19 ++- .../connector_types/cases_webhook/schema.ts | 2 +- .../crowdstrike/crowdstrike.ts | 2 +- .../connector_types/crowdstrike/index.ts | 5 +- .../connector_types}/crowdstrike/schema.ts | 23 +++- .../d3security/d3security.test.ts | 2 +- .../connector_types/d3security/d3security.ts | 5 +- .../connector_types/d3security/index.ts | 2 +- .../connector_types}/d3security/schema.ts | 9 +- .../connector_types/gemini/gemini.test.ts | 2 +- .../server/connector_types/gemini/gemini.ts | 4 +- .../server/connector_types/gemini/index.ts | 2 +- .../connector_types}/gemini/schema.ts | 18 ++- .../server/connector_types/openai/index.ts | 2 +- .../connector_types/openai/openai.test.ts | 2 +- .../server/connector_types/openai/openai.ts | 2 +- .../connector_types}/openai/schema.ts | 14 ++- .../connector_types/sentinelone/index.ts | 5 +- .../connector_types}/sentinelone/schema.ts | 69 ++++++++++- .../sentinelone/sentinelone.test.ts | 2 +- .../sentinelone/sentinelone.ts | 2 +- .../server/connector_types/slack_api/index.ts | 6 +- .../connector_types}/slack_api/schema.test.ts | 0 .../connector_types}/slack_api/schema.ts | 13 ++- .../server/connector_types/thehive/index.ts | 6 +- .../connector_types}/thehive/schema.ts | 16 ++- .../connector_types/thehive/thehive.test.ts | 2 +- .../server/connector_types/thehive/thehive.ts | 2 +- .../connector_types/tines/api_schema.ts | 2 +- .../server/connector_types/tines/index.ts | 3 +- .../connector_types}/tines/schema.ts | 13 ++- .../server/connector_types/tines/tines.ts | 4 +- .../server/connector_types/webhook/index.ts | 2 +- .../server/connector_types/webhook/schema.ts | 2 +- .../server/connector_types/webhook/types.ts | 2 +- .../plugins/stack_connectors/server/index.ts | 2 +- 50 files changed, 352 insertions(+), 367 deletions(-) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/auth/schema.ts (74%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/bedrock/schema.ts (78%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/crowdstrike/schema.ts (90%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/d3security/schema.ts (65%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/gemini/schema.ts (75%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/openai/schema.ts (85%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/sentinelone/schema.ts (91%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/slack_api/schema.test.ts (100%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/slack_api/schema.ts (74%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/thehive/schema.ts (89%) rename x-pack/plugins/stack_connectors/{common => server/connector_types}/tines/schema.ts (66%) diff --git a/x-pack/plugins/stack_connectors/common/auth/types.ts b/x-pack/plugins/stack_connectors/common/auth/types.ts index ba09bc1a23d68..0e1159f13a218 100644 --- a/x-pack/plugins/stack_connectors/common/auth/types.ts +++ b/x-pack/plugins/stack_connectors/common/auth/types.ts @@ -5,16 +5,10 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - AuthConfiguration, - authTypeSchema, - hasAuthSchema, - SecretConfigurationSchema, -} from './schema'; - -export type HasAuth = TypeOf; -export type AuthTypeName = TypeOf; -export type SecretsConfigurationType = TypeOf; -export type CAType = TypeOf; -export type VerificationModeType = TypeOf; +export type { + HasAuth, + AuthTypeName, + SecretsConfigurationType, + CAType, + VerificationModeType, +} from '../../server/connector_types/auth/schema'; diff --git a/x-pack/plugins/stack_connectors/common/bedrock/types.ts b/x-pack/plugins/stack_connectors/common/bedrock/types.ts index 3b02f40d2de62..3b63f87d58864 100644 --- a/x-pack/plugins/stack_connectors/common/bedrock/types.ts +++ b/x-pack/plugins/stack_connectors/common/bedrock/types.ts @@ -5,35 +5,19 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - ConfigSchema, - DashboardActionParamsSchema, - DashboardActionResponseSchema, - SecretsSchema, - RunActionParamsSchema, - RunActionResponseSchema, - InvokeAIActionParamsSchema, - InvokeAIActionResponseSchema, - InvokeAIRawActionParamsSchema, - InvokeAIRawActionResponseSchema, - StreamingResponseSchema, - RunApiLatestResponseSchema, - BedrockMessageSchema, - BedrockToolChoiceSchema, -} from './schema'; - -export type Config = TypeOf; -export type Secrets = TypeOf; -export type RunActionParams = TypeOf; -export type InvokeAIActionParams = TypeOf; -export type InvokeAIActionResponse = TypeOf; -export type InvokeAIRawActionParams = TypeOf; -export type InvokeAIRawActionResponse = TypeOf; -export type RunApiLatestResponse = TypeOf; -export type RunActionResponse = TypeOf; -export type StreamingResponse = TypeOf; -export type DashboardActionParams = TypeOf; -export type DashboardActionResponse = TypeOf; -export type BedRockMessage = TypeOf; -export type BedrockToolChoice = TypeOf; +export type { + Config, + Secrets, + RunActionParams, + InvokeAIActionParams, + InvokeAIActionResponse, + InvokeAIRawActionParams, + InvokeAIRawActionResponse, + RunApiLatestResponse, + RunActionResponse, + StreamingResponse, + DashboardActionParams, + DashboardActionResponse, + BedRockMessage, + BedrockToolChoice, +} from '../../server/connector_types/bedrock/schema'; diff --git a/x-pack/plugins/stack_connectors/common/crowdstrike/types.ts b/x-pack/plugins/stack_connectors/common/crowdstrike/types.ts index c0f98ee1b90a1..362916267f048 100644 --- a/x-pack/plugins/stack_connectors/common/crowdstrike/types.ts +++ b/x-pack/plugins/stack_connectors/common/crowdstrike/types.ts @@ -5,35 +5,15 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - CrowdstrikeBaseApiResponseSchema, - CrowdstrikeConfigSchema, - CrowdstrikeGetAgentsParamsSchema, - CrowdstrikeGetAgentOnlineStatusResponseSchema, - CrowdstrikeHostActionsParamsSchema, - CrowdstrikeSecretsSchema, - CrowdstrikeActionParamsSchema, - CrowdstrikeGetTokenResponseSchema, - CrowdstrikeGetAgentsResponseSchema, - RelaxedCrowdstrikeBaseApiResponseSchema, -} from './schema'; - -export type CrowdstrikeConfig = TypeOf; -export type CrowdstrikeSecrets = TypeOf; - -export type CrowdstrikeBaseApiResponse = TypeOf; -export type RelaxedCrowdstrikeBaseApiResponse = TypeOf< - typeof RelaxedCrowdstrikeBaseApiResponseSchema ->; - -export type CrowdstrikeGetAgentsParams = Partial>; -export type CrowdstrikeGetAgentsResponse = TypeOf; -export type CrowdstrikeGetAgentOnlineStatusResponse = TypeOf< - typeof CrowdstrikeGetAgentOnlineStatusResponseSchema ->; -export type CrowdstrikeGetTokenResponse = TypeOf; - -export type CrowdstrikeHostActionsParams = TypeOf; - -export type CrowdstrikeActionParams = TypeOf; +export type { + CrowdstrikeConfig, + CrowdstrikeSecrets, + CrowdstrikeBaseApiResponse, + RelaxedCrowdstrikeBaseApiResponse, + CrowdstrikeGetAgentsParams, + CrowdstrikeGetAgentsResponse, + CrowdstrikeGetAgentOnlineStatusResponse, + CrowdstrikeGetTokenResponse, + CrowdstrikeHostActionsParams, + CrowdstrikeActionParams, +} from '../../server/connector_types/crowdstrike/schema'; diff --git a/x-pack/plugins/stack_connectors/common/d3security/types.ts b/x-pack/plugins/stack_connectors/common/d3security/types.ts index 4cb765429cfb2..35d4ab132c7c5 100644 --- a/x-pack/plugins/stack_connectors/common/d3security/types.ts +++ b/x-pack/plugins/stack_connectors/common/d3security/types.ts @@ -5,15 +5,9 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - D3SecurityConfigSchema, - D3SecuritySecretsSchema, - D3SecurityRunActionParamsSchema, - D3SecurityRunActionResponseSchema, -} from './schema'; - -export type D3SecurityConfig = TypeOf; -export type D3SecuritySecrets = TypeOf; -export type D3SecurityRunActionParams = TypeOf; -export type D3SecurityRunActionResponse = TypeOf; +export type { + D3SecurityConfig, + D3SecuritySecrets, + D3SecurityRunActionParams, + D3SecurityRunActionResponse, +} from '../../server/connector_types/d3security/schema'; diff --git a/x-pack/plugins/stack_connectors/common/gemini/types.ts b/x-pack/plugins/stack_connectors/common/gemini/types.ts index 52a8c090a002e..78166c8fbb423 100644 --- a/x-pack/plugins/stack_connectors/common/gemini/types.ts +++ b/x-pack/plugins/stack_connectors/common/gemini/types.ts @@ -5,33 +5,18 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - ConfigSchema, - DashboardActionParamsSchema, - DashboardActionResponseSchema, - SecretsSchema, - RunActionParamsSchema, - RunActionResponseSchema, - RunActionRawResponseSchema, - RunApiResponseSchema, - InvokeAIActionParamsSchema, - InvokeAIActionResponseSchema, - InvokeAIRawActionParamsSchema, - InvokeAIRawActionResponseSchema, - StreamingResponseSchema, -} from './schema'; - -export type Config = TypeOf; -export type Secrets = TypeOf; -export type RunActionParams = TypeOf; -export type RunApiResponse = TypeOf; -export type RunActionResponse = TypeOf; -export type RunActionRawResponse = TypeOf; -export type DashboardActionParams = TypeOf; -export type DashboardActionResponse = TypeOf; -export type InvokeAIActionParams = TypeOf; -export type InvokeAIActionResponse = TypeOf; -export type InvokeAIRawActionParams = TypeOf; -export type InvokeAIRawActionResponse = TypeOf; -export type StreamingResponse = TypeOf; +export type { + Config, + Secrets, + RunActionParams, + RunApiResponse, + RunActionResponse, + RunActionRawResponse, + DashboardActionParams, + DashboardActionResponse, + InvokeAIActionParams, + InvokeAIActionResponse, + InvokeAIRawActionParams, + InvokeAIRawActionResponse, + StreamingResponse, +} from '../../server/connector_types/gemini/schema'; diff --git a/x-pack/plugins/stack_connectors/common/openai/types.ts b/x-pack/plugins/stack_connectors/common/openai/types.ts index 86e2c172846dc..69d8e62de3e11 100644 --- a/x-pack/plugins/stack_connectors/common/openai/types.ts +++ b/x-pack/plugins/stack_connectors/common/openai/types.ts @@ -5,25 +5,14 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - ConfigSchema, - SecretsSchema, - RunActionParamsSchema, - RunActionResponseSchema, - DashboardActionParamsSchema, - DashboardActionResponseSchema, - StreamActionParamsSchema, - InvokeAIActionParamsSchema, - InvokeAIActionResponseSchema, -} from './schema'; - -export type Config = TypeOf; -export type Secrets = TypeOf; -export type RunActionParams = TypeOf; -export type InvokeAIActionParams = TypeOf; -export type InvokeAIActionResponse = TypeOf; -export type RunActionResponse = TypeOf; -export type DashboardActionParams = TypeOf; -export type DashboardActionResponse = TypeOf; -export type StreamActionParams = TypeOf; +export type { + Config, + Secrets, + RunActionParams, + InvokeAIActionParams, + InvokeAIActionResponse, + RunActionResponse, + DashboardActionParams, + DashboardActionResponse, + StreamActionParams, +} from '../../server/connector_types/openai/schema'; diff --git a/x-pack/plugins/stack_connectors/common/sentinelone/types.ts b/x-pack/plugins/stack_connectors/common/sentinelone/types.ts index 3290784a430f7..5e89d9b89c572 100644 --- a/x-pack/plugins/stack_connectors/common/sentinelone/types.ts +++ b/x-pack/plugins/stack_connectors/common/sentinelone/types.ts @@ -5,29 +5,28 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { Mutable } from 'utility-types'; -import { - SentinelOneBaseApiResponseSchema, - SentinelOneConfigSchema, - SentinelOneExecuteScriptParamsSchema, - SentinelOneGetAgentsParamsSchema, - SentinelOneGetAgentsResponseSchema, - SentinelOneGetRemoteScriptsParamsSchema, - SentinelOneGetRemoteScriptsResponseSchema, - SentinelOneGetRemoteScriptStatusParamsSchema, - SentinelOneIsolateHostParamsSchema, - SentinelOneSecretsSchema, - SentinelOneActionParamsSchema, - SentinelOneFetchAgentFilesParamsSchema, - SentinelOneFetchAgentFilesResponseSchema, - SentinelOneDownloadAgentFileParamsSchema, - SentinelOneGetActivitiesParamsSchema, - SentinelOneGetActivitiesResponseSchema, - SentinelOneExecuteScriptResponseSchema, - SentinelOneGetRemoteScriptResultsParamsSchema, - SentinelOneDownloadRemoteScriptResultsParamsSchema, -} from './schema'; +export type { + SentinelOneConfig, + SentinelOneSecrets, + SentinelOneBaseApiResponse, + SentinelOneGetAgentsParams, + SentinelOneGetAgentsResponse, + SentinelOneExecuteScriptParams, + SentinelOneExecuteScriptResponse, + SentinelOneGetRemoteScriptStatusParams, + SentinelOneGetRemoteScriptResultsParams, + SentinelOneDownloadRemoteScriptResultsParams, + SentinelOneGetRemoteScriptsParams, + SentinelOneGetRemoteScriptsResponse, + SentinelOneFetchAgentFilesParams, + SentinelOneFetchAgentFilesResponse, + SentinelOneDownloadAgentFileParams, + SentinelOneActivityRecord, + SentinelOneGetActivitiesParams, + SentinelOneGetActivitiesResponse, + SentinelOneIsolateHostParams, + SentinelOneActionParams, +} from '../../server/connector_types/sentinelone/schema'; interface SentinelOnePagination { pagination: { @@ -42,19 +41,6 @@ interface SentinelOneErrors { export type SentinelOneOsType = 'linux' | 'macos' | 'windows'; -export type SentinelOneConfig = TypeOf; -export type SentinelOneSecrets = TypeOf; - -export type SentinelOneBaseApiResponse = TypeOf; - -export type SentinelOneGetAgentsParams = Partial>; -export type SentinelOneGetAgentsResponse = TypeOf; - -export type SentinelOneExecuteScriptParams = TypeOf; -export type SentinelOneExecuteScriptResponse = TypeOf< - typeof SentinelOneExecuteScriptResponseSchema ->; - export interface SentinelOneRemoteScriptExecutionStatus { accountId: string; accountName: string; @@ -96,20 +82,12 @@ export interface SentinelOneRemoteScriptExecutionStatus { updatedAt: string; } -export type SentinelOneGetRemoteScriptStatusParams = TypeOf< - typeof SentinelOneGetRemoteScriptStatusParamsSchema ->; - export interface SentinelOneGetRemoteScriptStatusApiResponse extends SentinelOnePagination, SentinelOneErrors { data: SentinelOneRemoteScriptExecutionStatus[]; } -export type SentinelOneGetRemoteScriptResultsParams = TypeOf< - typeof SentinelOneGetRemoteScriptResultsParamsSchema ->; - export interface SentinelOneGetRemoteScriptResults { download_links: Array<{ downloadUrl: string; @@ -125,46 +103,3 @@ export interface SentinelOneGetRemoteScriptResults { export interface SentinelOneGetRemoteScriptResultsApiResponse extends SentinelOneErrors { data: SentinelOneGetRemoteScriptResults; } - -export type SentinelOneDownloadRemoteScriptResultsParams = TypeOf< - typeof SentinelOneDownloadRemoteScriptResultsParamsSchema ->; - -export type SentinelOneGetRemoteScriptsParams = TypeOf< - typeof SentinelOneGetRemoteScriptsParamsSchema ->; - -export type SentinelOneGetRemoteScriptsResponse = TypeOf< - typeof SentinelOneGetRemoteScriptsResponseSchema ->; - -export type SentinelOneFetchAgentFilesParams = Mutable< - TypeOf ->; -export type SentinelOneFetchAgentFilesResponse = TypeOf< - typeof SentinelOneFetchAgentFilesResponseSchema ->; - -export type SentinelOneDownloadAgentFileParams = Mutable< - TypeOf ->; - -export type SentinelOneActivityRecord = Omit< - TypeOf['data'][number], - 'data' -> & { - data: TData; -}; - -export type SentinelOneGetActivitiesParams = TypeOf; - -export type SentinelOneGetActivitiesResponse = Omit< - TypeOf, - 'data' -> & { data: Array> }; - -export type SentinelOneIsolateHostParams = Partial< - Mutable> ->; - -export type SentinelOneActionParams = TypeOf; diff --git a/x-pack/plugins/stack_connectors/common/slack_api/types.ts b/x-pack/plugins/stack_connectors/common/slack_api/types.ts index a19aa5c2159fa..ae71d1d394d03 100644 --- a/x-pack/plugins/stack_connectors/common/slack_api/types.ts +++ b/x-pack/plugins/stack_connectors/common/slack_api/types.ts @@ -6,29 +6,28 @@ */ import type { ActionType as ConnectorType } from '@kbn/actions-plugin/server/types'; -import { TypeOf } from '@kbn/config-schema'; import type { ActionTypeExecutorOptions as ConnectorTypeExecutorOptions } from '@kbn/actions-plugin/server/types'; import type { ActionTypeExecutorResult as ConnectorTypeExecutorResult } from '@kbn/actions-plugin/server/types'; -import { - PostMessageParamsSchema, - PostMessageSubActionParamsSchema, - PostBlockkitSubActionParamsSchema, - PostBlockkitParamsSchema, - SlackApiSecretsSchema, - SlackApiParamsSchema, - SlackApiConfigSchema, - ValidChannelIdSubActionParamsSchema, -} from './schema'; +import type { + PostBlockkitSubActionParams, + PostMessageSubActionParams, + SlackApiConfig, + SlackApiParams, + SlackApiSecrets, +} from '../../server/connector_types/slack_api/schema'; -export type SlackApiSecrets = TypeOf; -export type SlackApiConfig = TypeOf; +export type { + SlackApiSecrets, + SlackApiConfig, + PostMessageParams, + PostMessageSubActionParams, + PostBlockkitSubActionParams, + PostBlockkitParams, + ValidChannelIdSubActionParams, + SlackApiParams, + SlackApiActionParams, +} from '../../server/connector_types/slack_api/schema'; -export type PostMessageParams = TypeOf; -export type PostMessageSubActionParams = TypeOf; -export type PostBlockkitSubActionParams = TypeOf; -export type PostBlockkitParams = TypeOf; -export type ValidChannelIdSubActionParams = TypeOf; -export type SlackApiParams = TypeOf; export type SlackApiConnectorType = ConnectorType< SlackApiConfig, SlackApiSecrets, @@ -48,8 +47,6 @@ export type SlackExecutorOptions = ConnectorTypeExecutorOptions< SlackApiParams >; -export type SlackApiActionParams = TypeOf; - export interface SlackAPiResponse { ok: boolean; error?: string; diff --git a/x-pack/plugins/stack_connectors/common/thehive/types.ts b/x-pack/plugins/stack_connectors/common/thehive/types.ts index b67820ac77e5e..7acf67f338298 100644 --- a/x-pack/plugins/stack_connectors/common/thehive/types.ts +++ b/x-pack/plugins/stack_connectors/common/thehive/types.ts @@ -5,27 +5,17 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - TheHiveConfigSchema, - TheHiveSecretsSchema, - ExecutorParamsSchema, - ExecutorSubActionPushParamsSchema, - ExecutorSubActionCreateAlertParamsSchema, - TheHiveFailureResponseSchema, - TheHiveIncidentResponseSchema, -} from './schema'; +import type { ExecutorSubActionPushParams } from '../../server/connector_types/thehive/schema'; -export type TheHiveConfig = TypeOf; -export type TheHiveSecrets = TypeOf; - -export type ExecutorParams = TypeOf; -export type ExecutorSubActionPushParams = TypeOf; -export type ExecutorSubActionCreateAlertParams = TypeOf< - typeof ExecutorSubActionCreateAlertParamsSchema ->; - -export type TheHiveFailureResponse = TypeOf; +export type { + TheHiveConfig, + TheHiveSecrets, + ExecutorParams, + ExecutorSubActionPushParams, + ExecutorSubActionCreateAlertParams, + TheHiveFailureResponse, + GetIncidentResponse, +} from '../../server/connector_types/thehive/schema'; export interface ExternalServiceIncidentResponse { id: string; @@ -35,5 +25,3 @@ export interface ExternalServiceIncidentResponse { } export type Incident = Omit; - -export type GetIncidentResponse = TypeOf; diff --git a/x-pack/plugins/stack_connectors/common/tines/types.ts b/x-pack/plugins/stack_connectors/common/tines/types.ts index f67d7a072c3b4..61e9113879a70 100644 --- a/x-pack/plugins/stack_connectors/common/tines/types.ts +++ b/x-pack/plugins/stack_connectors/common/tines/types.ts @@ -5,26 +5,15 @@ * 2.0. */ -import { TypeOf } from '@kbn/config-schema'; -import { - TinesConfigSchema, - TinesSecretsSchema, - TinesRunActionParamsSchema, - TinesRunActionResponseSchema, - TinesStoriesActionResponseSchema, - TinesWebhooksActionResponseSchema, - TinesWebhooksActionParamsSchema, - TinesWebhookObjectSchema, - TinesStoryObjectSchema, -} from './schema'; - -export type TinesConfig = TypeOf; -export type TinesSecrets = TypeOf; -export type TinesRunActionParams = TypeOf; -export type TinesRunActionResponse = TypeOf; -export type TinesStoriesActionParams = void; -export type TinesStoryObject = TypeOf; -export type TinesStoriesActionResponse = TypeOf; -export type TinesWebhooksActionParams = TypeOf; -export type TinesWebhooksActionResponse = TypeOf; -export type TinesWebhookObject = TypeOf; +export type { + TinesConfig, + TinesSecrets, + TinesRunActionParams, + TinesRunActionResponse, + TinesStoriesActionParams, + TinesStoryObject, + TinesStoriesActionResponse, + TinesWebhooksActionParams, + TinesWebhooksActionResponse, + TinesWebhookObject, +} from '../../server/connector_types/tines/schema'; diff --git a/x-pack/plugins/stack_connectors/common/auth/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/auth/schema.ts similarity index 74% rename from x-pack/plugins/stack_connectors/common/auth/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/auth/schema.ts index 91754b38f84db..1afccbdabfa03 100644 --- a/x-pack/plugins/stack_connectors/common/auth/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/auth/schema.ts @@ -7,8 +7,8 @@ import { i18n } from '@kbn/i18n'; -import { schema } from '@kbn/config-schema'; -import { AuthType, SSLCertType } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { AuthType, SSLCertType } from '../../../common/auth/constants'; export const authTypeSchema = schema.maybe( schema.oneOf( @@ -33,16 +33,16 @@ export const AuthConfiguration = { ), }; -export const SecretConfiguration = { +export const SecretConfiguration = schema.object({ user: schema.nullable(schema.string()), password: schema.nullable(schema.string()), crt: schema.nullable(schema.string()), key: schema.nullable(schema.string()), pfx: schema.nullable(schema.string()), -}; +}); export const SecretConfigurationSchemaValidation = { - validate: (secrets: any) => { + validate: (secrets: TypeOf) => { // user and password must be set together (or not at all) if (!secrets.password && !secrets.user && !secrets.crt && !secrets.key && !secrets.pfx) return; if (secrets.password && secrets.user && !secrets.crt && !secrets.key && !secrets.pfx) return; @@ -55,7 +55,13 @@ export const SecretConfigurationSchemaValidation = { }, }; -export const SecretConfigurationSchema = schema.object( - SecretConfiguration, +export const SecretConfigurationSchema = SecretConfiguration.extends( + {}, SecretConfigurationSchemaValidation ); + +export type HasAuth = TypeOf; +export type AuthTypeName = TypeOf; +export type SecretsConfigurationType = TypeOf; +export type CAType = TypeOf; +export type VerificationModeType = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.test.ts index 2a4d91a07f1d3..dd68de3a25d8b 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.test.ts @@ -14,7 +14,7 @@ import { RunActionResponseSchema, RunApiLatestResponseSchema, StreamingResponseSchema, -} from '../../../common/bedrock/schema'; +} from './schema'; import { BEDROCK_CONNECTOR_ID, DEFAULT_BEDROCK_MODEL, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.ts b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.ts index c2c773bdeaf87..0897012b09cc4 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/bedrock.ts @@ -21,7 +21,7 @@ import { StreamingResponseSchema, RunActionResponseSchema, RunApiLatestResponseSchema, -} from '../../../common/bedrock/schema'; +} from './schema'; import type { Config, Secrets, @@ -45,7 +45,7 @@ import { DashboardActionResponse, StreamingResponse, } from '../../../common/bedrock/types'; -import { DashboardActionParamsSchema } from '../../../common/bedrock/schema'; +import { DashboardActionParamsSchema } from './schema'; interface SignedRequest { host: string; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts index bebd05b1cad6e..65ea131d9a0d3 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts @@ -19,7 +19,7 @@ import { urlAllowListValidator } from '@kbn/actions-plugin/server'; import { ValidatorServices } from '@kbn/actions-plugin/server/types'; import { assertURL } from '@kbn/actions-plugin/server/sub_action_framework/helpers/validators'; import { BEDROCK_CONNECTOR_ID, BEDROCK_TITLE } from '../../../common/bedrock/constants'; -import { ConfigSchema, SecretsSchema } from '../../../common/bedrock/schema'; +import { ConfigSchema, SecretsSchema } from './schema'; import { Config, Secrets } from '../../../common/bedrock/types'; import { BedrockConnector } from './bedrock'; import { renderParameterTemplates } from './render'; diff --git a/x-pack/plugins/stack_connectors/common/bedrock/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/schema.ts similarity index 78% rename from x-pack/plugins/stack_connectors/common/bedrock/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/bedrock/schema.ts index 03f4f5cc01735..b2f0d5937c1c5 100644 --- a/x-pack/plugins/stack_connectors/common/bedrock/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/schema.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { DEFAULT_BEDROCK_MODEL } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { DEFAULT_BEDROCK_MODEL } from '../../../common/bedrock/constants'; // Connector schema export const ConfigSchema = schema.object({ @@ -143,3 +143,18 @@ export const DashboardActionParamsSchema = schema.object({ export const DashboardActionResponseSchema = schema.object({ available: schema.boolean(), }); + +export type Config = TypeOf; +export type Secrets = TypeOf; +export type RunActionParams = TypeOf; +export type InvokeAIActionParams = TypeOf; +export type InvokeAIActionResponse = TypeOf; +export type InvokeAIRawActionParams = TypeOf; +export type InvokeAIRawActionResponse = TypeOf; +export type RunApiLatestResponse = TypeOf; +export type RunActionResponse = TypeOf; +export type StreamingResponse = TypeOf; +export type DashboardActionParams = TypeOf; +export type DashboardActionResponse = TypeOf; +export type BedRockMessage = TypeOf; +export type BedrockToolChoice = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/cases_webhook/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/cases_webhook/schema.ts index 00b4fdc60a3ab..fec7a1f5a25e7 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/cases_webhook/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/cases_webhook/schema.ts @@ -7,7 +7,7 @@ import { schema } from '@kbn/config-schema'; import { WebhookMethods } from '../../../common/auth/constants'; -import { AuthConfiguration, SecretConfigurationSchema } from '../../../common/auth/schema'; +import { AuthConfiguration, SecretConfigurationSchema } from '../auth/schema'; const HeadersSchema = schema.recordOf(schema.string(), schema.string()); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/crowdstrike.ts b/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/crowdstrike.ts index a4fc84ae6a49a..d6e372c88c765 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/crowdstrike.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/crowdstrike.ts @@ -27,7 +27,7 @@ import { CrowdstrikeGetTokenResponseSchema, CrowdstrikeHostActionsResponseSchema, RelaxedCrowdstrikeBaseApiResponseSchema, -} from '../../../common/crowdstrike/schema'; +} from './schema'; import { SUB_ACTION } from '../../../common/crowdstrike/constants'; import { CrowdstrikeError } from './error'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/index.ts index f7c50478979c7..8385aab096f34 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/index.ts @@ -12,10 +12,7 @@ import { import { SecurityConnectorFeatureId } from '@kbn/actions-plugin/common'; import { urlAllowListValidator } from '@kbn/actions-plugin/server'; import { CROWDSTRIKE_CONNECTOR_ID, CROWDSTRIKE_TITLE } from '../../../common/crowdstrike/constants'; -import { - CrowdstrikeConfigSchema, - CrowdstrikeSecretsSchema, -} from '../../../common/crowdstrike/schema'; +import { CrowdstrikeConfigSchema, CrowdstrikeSecretsSchema } from './schema'; import { CrowdstrikeConfig, CrowdstrikeSecrets } from '../../../common/crowdstrike/types'; import { CrowdstrikeConnector } from './crowdstrike'; diff --git a/x-pack/plugins/stack_connectors/common/crowdstrike/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/schema.ts similarity index 90% rename from x-pack/plugins/stack_connectors/common/crowdstrike/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/schema.ts index 4e3d6464821b6..f99f214583a2f 100644 --- a/x-pack/plugins/stack_connectors/common/crowdstrike/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/crowdstrike/schema.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { SUB_ACTION } from './constants'; +import { type TypeOf, schema } from '@kbn/config-schema'; +import { SUB_ACTION } from '../../../common/crowdstrike/constants'; // Connector schema export const CrowdstrikeConfigSchema = schema.object({ @@ -261,3 +261,22 @@ export const CrowdstrikeHostActionsSchema = schema.object({ }); export const CrowdstrikeActionParamsSchema = schema.oneOf([CrowdstrikeHostActionsSchema]); + +export type CrowdstrikeConfig = TypeOf; +export type CrowdstrikeSecrets = TypeOf; + +export type CrowdstrikeBaseApiResponse = TypeOf; +export type RelaxedCrowdstrikeBaseApiResponse = TypeOf< + typeof RelaxedCrowdstrikeBaseApiResponseSchema +>; + +export type CrowdstrikeGetAgentsParams = Partial>; +export type CrowdstrikeGetAgentsResponse = TypeOf; +export type CrowdstrikeGetAgentOnlineStatusResponse = TypeOf< + typeof CrowdstrikeGetAgentOnlineStatusResponseSchema +>; +export type CrowdstrikeGetTokenResponse = TypeOf; + +export type CrowdstrikeHostActionsParams = TypeOf; + +export type CrowdstrikeActionParams = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.test.ts index 055a7fe7a7dba..89ab182b18415 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.test.ts @@ -10,7 +10,7 @@ import { actionsConfigMock } from '@kbn/actions-plugin/server/actions_config.moc import { D3_SECURITY_CONNECTOR_ID } from '../../../common/d3security/constants'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { actionsMock } from '@kbn/actions-plugin/server/mocks'; -import { D3SecurityRunActionResponseSchema } from '../../../common/d3security/schema'; +import { D3SecurityRunActionResponseSchema } from './schema'; import { ConnectorUsageCollector } from '@kbn/actions-plugin/server/types'; describe('D3SecurityConnector', () => { diff --git a/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.ts b/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.ts index 0c35766a3ddf3..5f5802342014d 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/d3security/d3security.ts @@ -9,10 +9,7 @@ import { ServiceParams, SubActionConnector } from '@kbn/actions-plugin/server'; import type { AxiosError } from 'axios'; import { ConnectorUsageCollector } from '@kbn/actions-plugin/server/types'; import { addSeverityAndEventTypeInBody } from './helpers'; -import { - D3SecurityRunActionParamsSchema, - D3SecurityRunActionResponseSchema, -} from '../../../common/d3security/schema'; +import { D3SecurityRunActionParamsSchema, D3SecurityRunActionResponseSchema } from './schema'; import type { D3SecurityConfig, D3SecuritySecrets, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/d3security/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/d3security/index.ts index 4e98938335808..79b6b1e897bba 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/d3security/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/d3security/index.ts @@ -14,7 +14,7 @@ import { SecurityConnectorFeatureId, } from '@kbn/actions-plugin/common/types'; import { urlAllowListValidator } from '@kbn/actions-plugin/server'; -import { D3SecurityConfigSchema, D3SecuritySecretsSchema } from '../../../common/d3security/schema'; +import { D3SecurityConfigSchema, D3SecuritySecretsSchema } from './schema'; import { renderParameterTemplates } from './render'; import { D3SecurityConnector } from './d3security'; import { D3_SECURITY_CONNECTOR_ID, D3_SECURITY_TITLE } from '../../../common/d3security/constants'; diff --git a/x-pack/plugins/stack_connectors/common/d3security/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/d3security/schema.ts similarity index 65% rename from x-pack/plugins/stack_connectors/common/d3security/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/d3security/schema.ts index 1294db739967a..eb9ca0ab8af87 100644 --- a/x-pack/plugins/stack_connectors/common/d3security/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/d3security/schema.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { D3SecuritySeverity } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { D3SecuritySeverity } from '../../../common/d3security/constants'; // Connector schema export const D3SecurityConfigSchema = schema.object({ @@ -28,3 +28,8 @@ export const D3SecurityRunActionResponseSchema = schema.object( }, { unknowns: 'ignore' } ); + +export type D3SecurityConfig = TypeOf; +export type D3SecuritySecrets = TypeOf; +export type D3SecurityRunActionParams = TypeOf; +export type D3SecurityRunActionResponse = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.test.ts index 94dd7aa0d153c..bd0c18a21a133 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.test.ts @@ -11,7 +11,7 @@ import { actionsConfigMock } from '@kbn/actions-plugin/server/actions_config.moc import { actionsMock } from '@kbn/actions-plugin/server/mocks'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { initDashboard } from '../lib/gen_ai/create_gen_ai_dashboard'; -import { RunApiResponseSchema, StreamingResponseSchema } from '../../../common/gemini/schema'; +import { RunApiResponseSchema, StreamingResponseSchema } from './schema'; import { DEFAULT_GEMINI_MODEL } from '../../../common/gemini/constants'; import { AxiosError } from 'axios'; import { Transform } from 'stream'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.ts b/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.ts index 895dfe66d6de4..4db5eb4cfffca 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/gemini/gemini.ts @@ -24,7 +24,7 @@ import { InvokeAIActionParamsSchema, InvokeAIRawActionParamsSchema, StreamingResponseSchema, -} from '../../../common/gemini/schema'; +} from './schema'; import { initDashboard } from '../lib/gen_ai/create_gen_ai_dashboard'; import { Config, @@ -46,7 +46,7 @@ import { DEFAULT_TIMEOUT_MS, DEFAULT_TOKEN_LIMIT, } from '../../../common/gemini/constants'; -import { DashboardActionParamsSchema } from '../../../common/gemini/schema'; +import { DashboardActionParamsSchema } from './schema'; /** Interfaces to define Gemini model response type */ interface MessagePart { diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gemini/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/gemini/index.ts index d8add7df88177..f72a23337798d 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gemini/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/gemini/index.ts @@ -19,7 +19,7 @@ import { ValidatorServices } from '@kbn/actions-plugin/server/types'; import { assertURL } from '@kbn/actions-plugin/server/sub_action_framework/helpers/validators'; import { GenerativeAIForObservabilityConnectorFeatureId } from '@kbn/actions-plugin/common/connector_feature_config'; import { GEMINI_CONNECTOR_ID, GEMINI_TITLE } from '../../../common/gemini/constants'; -import { ConfigSchema, SecretsSchema } from '../../../common/gemini/schema'; +import { ConfigSchema, SecretsSchema } from './schema'; import { Config, Secrets } from '../../../common/gemini/types'; import { GeminiConnector } from './gemini'; import { renderParameterTemplates } from './render'; diff --git a/x-pack/plugins/stack_connectors/common/gemini/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/gemini/schema.ts similarity index 75% rename from x-pack/plugins/stack_connectors/common/gemini/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/gemini/schema.ts index 43bf7337626e3..b0b6224030037 100644 --- a/x-pack/plugins/stack_connectors/common/gemini/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/gemini/schema.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { DEFAULT_GEMINI_MODEL } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { DEFAULT_GEMINI_MODEL } from '../../../common/gemini/constants'; export const ConfigSchema = schema.object({ apiUrl: schema.string(), @@ -105,3 +105,17 @@ export const DashboardActionParamsSchema = schema.object({ export const DashboardActionResponseSchema = schema.object({ available: schema.boolean(), }); + +export type Config = TypeOf; +export type Secrets = TypeOf; +export type RunActionParams = TypeOf; +export type RunApiResponse = TypeOf; +export type RunActionResponse = TypeOf; +export type RunActionRawResponse = TypeOf; +export type DashboardActionParams = TypeOf; +export type DashboardActionResponse = TypeOf; +export type InvokeAIActionParams = TypeOf; +export type InvokeAIActionResponse = TypeOf; +export type InvokeAIRawActionParams = TypeOf; +export type InvokeAIRawActionResponse = TypeOf; +export type StreamingResponse = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/openai/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/index.ts index f8a3a3d32ddb2..9d2cff7bf8161 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/openai/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/index.ts @@ -23,7 +23,7 @@ import { OPENAI_TITLE, OpenAiProviderType, } from '../../../common/openai/constants'; -import { ConfigSchema, SecretsSchema } from '../../../common/openai/schema'; +import { ConfigSchema, SecretsSchema } from './schema'; import { Config, Secrets } from '../../../common/openai/types'; import { OpenAIConnector } from './openai'; import { renderParameterTemplates } from './render'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.test.ts index 87dacaf4e6f17..4d3f7e90fd3ac 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.test.ts @@ -16,7 +16,7 @@ import { } from '../../../common/openai/constants'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { actionsMock } from '@kbn/actions-plugin/server/mocks'; -import { RunActionResponseSchema, StreamingResponseSchema } from '../../../common/openai/schema'; +import { RunActionResponseSchema, StreamingResponseSchema } from './schema'; import { initDashboard } from '../lib/gen_ai/create_gen_ai_dashboard'; import { PassThrough, Transform } from 'stream'; import { ConnectorUsageCollector } from '@kbn/actions-plugin/server/types'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.ts index 6cadc322a3d78..2b66731c1dc76 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.ts @@ -25,7 +25,7 @@ import { StreamActionParamsSchema, StreamingResponseSchema, InvokeAIActionParamsSchema, -} from '../../../common/openai/schema'; +} from './schema'; import type { Config, Secrets, diff --git a/x-pack/plugins/stack_connectors/common/openai/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/schema.ts similarity index 85% rename from x-pack/plugins/stack_connectors/common/openai/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/schema.ts index f62ee1f35174c..ff34940bd0a6c 100644 --- a/x-pack/plugins/stack_connectors/common/openai/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/schema.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from '../../../common/openai/constants'; // Connector schema export const ConfigSchema = schema.oneOf([ @@ -171,3 +171,13 @@ export const DashboardActionParamsSchema = schema.object({ export const DashboardActionResponseSchema = schema.object({ available: schema.boolean(), }); + +export type Config = TypeOf; +export type Secrets = TypeOf; +export type RunActionParams = TypeOf; +export type InvokeAIActionParams = TypeOf; +export type InvokeAIActionResponse = TypeOf; +export type RunActionResponse = TypeOf; +export type DashboardActionParams = TypeOf; +export type DashboardActionResponse = TypeOf; +export type StreamActionParams = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/index.ts index 849d54e276e11..afa07bcd6a3be 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/index.ts @@ -12,10 +12,7 @@ import { import { SecurityConnectorFeatureId } from '@kbn/actions-plugin/common'; import { urlAllowListValidator } from '@kbn/actions-plugin/server'; import { SENTINELONE_CONNECTOR_ID, SENTINELONE_TITLE } from '../../../common/sentinelone/constants'; -import { - SentinelOneConfigSchema, - SentinelOneSecretsSchema, -} from '../../../common/sentinelone/schema'; +import { SentinelOneConfigSchema, SentinelOneSecretsSchema } from './schema'; import { SentinelOneConfig, SentinelOneSecrets } from '../../../common/sentinelone/types'; import { SentinelOneConnector } from './sentinelone'; import { renderParameterTemplates } from './render'; diff --git a/x-pack/plugins/stack_connectors/common/sentinelone/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/schema.ts similarity index 91% rename from x-pack/plugins/stack_connectors/common/sentinelone/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/sentinelone/schema.ts index d78ba776944f7..02caaa8d58f2a 100644 --- a/x-pack/plugins/stack_connectors/common/sentinelone/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/schema.ts @@ -7,8 +7,9 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { schema } from '@kbn/config-schema'; -import { SUB_ACTION } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { Mutable } from 'utility-types'; +import { SUB_ACTION } from '../../../common/sentinelone/constants'; // Connector schema export const SentinelOneConfigSchema = schema.object({ url: schema.string() }); @@ -586,3 +587,67 @@ export const SentinelOneActionParamsSchema = schema.oneOf([ SentinelOneReleaseHostSchema, SentinelOneExecuteScriptSchema, ]); + +export type SentinelOneConfig = TypeOf; +export type SentinelOneSecrets = TypeOf; + +export type SentinelOneBaseApiResponse = TypeOf; + +export type SentinelOneGetAgentsParams = Partial>; +export type SentinelOneGetAgentsResponse = TypeOf; + +export type SentinelOneExecuteScriptParams = TypeOf; +export type SentinelOneExecuteScriptResponse = TypeOf< + typeof SentinelOneExecuteScriptResponseSchema +>; + +export type SentinelOneGetRemoteScriptStatusParams = TypeOf< + typeof SentinelOneGetRemoteScriptStatusParamsSchema +>; + +export type SentinelOneGetRemoteScriptResultsParams = TypeOf< + typeof SentinelOneGetRemoteScriptResultsParamsSchema +>; + +export type SentinelOneDownloadRemoteScriptResultsParams = TypeOf< + typeof SentinelOneDownloadRemoteScriptResultsParamsSchema +>; + +export type SentinelOneGetRemoteScriptsParams = TypeOf< + typeof SentinelOneGetRemoteScriptsParamsSchema +>; + +export type SentinelOneGetRemoteScriptsResponse = TypeOf< + typeof SentinelOneGetRemoteScriptsResponseSchema +>; + +export type SentinelOneFetchAgentFilesParams = Mutable< + TypeOf +>; +export type SentinelOneFetchAgentFilesResponse = TypeOf< + typeof SentinelOneFetchAgentFilesResponseSchema +>; + +export type SentinelOneDownloadAgentFileParams = Mutable< + TypeOf +>; + +export type SentinelOneActivityRecord = Omit< + TypeOf['data'][number], + 'data' +> & { + data: TData; +}; + +export type SentinelOneGetActivitiesParams = TypeOf; + +export type SentinelOneGetActivitiesResponse = Omit< + TypeOf, + 'data' +> & { data: Array> }; + +export type SentinelOneIsolateHostParams = Partial< + Mutable> +>; + +export type SentinelOneActionParams = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.test.ts index 8a13a48e47be1..be71563317532 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.test.ts @@ -12,7 +12,7 @@ import { SentinelOneGetActivitiesParams, } from '../../../common/sentinelone/types'; import { API_PATH } from './sentinelone'; -import { SentinelOneGetActivitiesResponseSchema } from '../../../common/sentinelone/schema'; +import { SentinelOneGetActivitiesResponseSchema } from './schema'; import { ConnectorUsageCollector } from '@kbn/actions-plugin/server/types'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.ts b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.ts index dd73bafae8d2f..216313ac99a7e 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/sentinelone/sentinelone.ts @@ -43,7 +43,7 @@ import { SentinelOneGetRemoteScriptResultsParamsSchema, SentinelOneDownloadRemoteScriptResultsParamsSchema, SentinelOneDownloadRemoteScriptResultsResponseSchema, -} from '../../../common/sentinelone/schema'; +} from './schema'; import { SUB_ACTION } from '../../../common/sentinelone/constants'; import { SentinelOneFetchAgentFilesParams, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts index b816a1b014678..7ed1a2d7e05f1 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts @@ -21,11 +21,7 @@ import type { SlackApiParams, SlackApiSecrets, } from '../../../common/slack_api/types'; -import { - SlackApiSecretsSchema, - SlackApiParamsSchema, - SlackApiConfigSchema, -} from '../../../common/slack_api/schema'; +import { SlackApiSecretsSchema, SlackApiParamsSchema, SlackApiConfigSchema } from './schema'; import { SLACK_API_CONNECTOR_ID, SLACK_URL } from '../../../common/slack_api/constants'; import { SLACK_CONNECTOR_NAME } from './translations'; import { api } from './api'; diff --git a/x-pack/plugins/stack_connectors/common/slack_api/schema.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/schema.test.ts similarity index 100% rename from x-pack/plugins/stack_connectors/common/slack_api/schema.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/slack_api/schema.test.ts diff --git a/x-pack/plugins/stack_connectors/common/slack_api/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/schema.ts similarity index 74% rename from x-pack/plugins/stack_connectors/common/slack_api/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/slack_api/schema.ts index 029b2fb0e81f0..bcdc53b32375d 100644 --- a/x-pack/plugins/stack_connectors/common/slack_api/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/schema.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; +import { TypeOf, schema } from '@kbn/config-schema'; export const SlackApiSecretsSchema = schema.object({ token: schema.string({ minLength: 1 }), @@ -71,3 +71,14 @@ export const SlackApiParamsSchema = schema.oneOf([ PostMessageParamsSchema, PostBlockkitParamsSchema, ]); + +export type SlackApiSecrets = TypeOf; +export type SlackApiConfig = TypeOf; + +export type PostMessageParams = TypeOf; +export type PostMessageSubActionParams = TypeOf; +export type PostBlockkitSubActionParams = TypeOf; +export type PostBlockkitParams = TypeOf; +export type ValidChannelIdSubActionParams = TypeOf; +export type SlackApiParams = TypeOf; +export type SlackApiActionParams = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/thehive/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/thehive/index.ts index d39849adb4490..f5d8545826229 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/thehive/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/thehive/index.ts @@ -16,11 +16,7 @@ import { } from '@kbn/actions-plugin/common/types'; import { urlAllowListValidator } from '@kbn/actions-plugin/server'; import { TheHiveConnector } from './thehive'; -import { - TheHiveConfigSchema, - TheHiveSecretsSchema, - PushToServiceIncidentSchema, -} from '../../../common/thehive/schema'; +import { TheHiveConfigSchema, TheHiveSecretsSchema, PushToServiceIncidentSchema } from './schema'; import { THEHIVE_CONNECTOR_ID, THEHIVE_TITLE } from '../../../common/thehive/constants'; import { TheHiveConfig, TheHiveSecrets } from '../../../common/thehive/types'; diff --git a/x-pack/plugins/stack_connectors/common/thehive/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/thehive/schema.ts similarity index 89% rename from x-pack/plugins/stack_connectors/common/thehive/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/thehive/schema.ts index e880ca900591a..68f5a55eb0bd7 100644 --- a/x-pack/plugins/stack_connectors/common/thehive/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/thehive/schema.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { TheHiveSeverity, TheHiveTLP, SUB_ACTION } from './constants'; +import { TypeOf, schema } from '@kbn/config-schema'; +import { TheHiveSeverity, TheHiveTLP, SUB_ACTION } from '../../../common/thehive/constants'; export const TheHiveConfigSchema = schema.object({ url: schema.string(), @@ -184,3 +184,15 @@ export const TheHiveFailureResponseSchema = schema.object( }, { unknowns: 'ignore' } ); + +export type TheHiveConfig = TypeOf; +export type TheHiveSecrets = TypeOf; + +export type ExecutorParams = TypeOf; +export type ExecutorSubActionPushParams = TypeOf; +export type ExecutorSubActionCreateAlertParams = TypeOf< + typeof ExecutorSubActionCreateAlertParamsSchema +>; + +export type TheHiveFailureResponse = TypeOf; +export type GetIncidentResponse = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.test.ts index 5972d5da570ef..d822a5e2790d2 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.test.ts @@ -16,7 +16,7 @@ import { TheHiveAddCommentResponseSchema, TheHiveCreateAlertResponseSchema, PushToServiceIncidentSchema, -} from '../../../common/thehive/schema'; +} from './schema'; import type { ExecutorSubActionCreateAlertParams, Incident } from '../../../common/thehive/types'; import { ConnectorUsageCollector } from '@kbn/actions-plugin/server/types'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.ts b/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.ts index 623a9b8ee73d7..e309eacbc501b 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/thehive/thehive.ts @@ -16,7 +16,7 @@ import { TheHiveAddCommentResponseSchema, TheHiveCreateAlertResponseSchema, ExecutorSubActionCreateAlertParamsSchema, -} from '../../../common/thehive/schema'; +} from './schema'; import type { TheHiveConfig, TheHiveSecrets, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/tines/api_schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/tines/api_schema.ts index 85fdf4ae94683..423c8266c4606 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/tines/api_schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/tines/api_schema.ts @@ -6,7 +6,7 @@ */ import { schema, TypeOf } from '@kbn/config-schema'; -import { TinesStoryObjectSchema } from '../../../common/tines/schema'; +import { TinesStoryObjectSchema } from './schema'; // Tines response base schema export const TinesBaseApiResponseSchema = schema.object( diff --git a/x-pack/plugins/stack_connectors/server/connector_types/tines/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/tines/index.ts index 1f0a4560c47b0..e4b2ed0348f80 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/tines/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/tines/index.ts @@ -12,8 +12,7 @@ import { import { SecurityConnectorFeatureId } from '@kbn/actions-plugin/common'; import { urlAllowListValidator } from '@kbn/actions-plugin/server'; import { TINES_CONNECTOR_ID, TINES_TITLE } from '../../../common/tines/constants'; -import { TinesConfigSchema, TinesSecretsSchema } from '../../../common/tines/schema'; -import { TinesConfig, TinesSecrets } from '../../../common/tines/types'; +import { TinesConfig, TinesSecrets, TinesConfigSchema, TinesSecretsSchema } from './schema'; import { TinesConnector } from './tines'; import { renderParameterTemplates } from './render'; diff --git a/x-pack/plugins/stack_connectors/common/tines/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/tines/schema.ts similarity index 66% rename from x-pack/plugins/stack_connectors/common/tines/schema.ts rename to x-pack/plugins/stack_connectors/server/connector_types/tines/schema.ts index 81f176bcec6a9..b9f9afcf96d3e 100644 --- a/x-pack/plugins/stack_connectors/common/tines/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/tines/schema.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; +import { type TypeOf, schema } from '@kbn/config-schema'; // Connector schema export const TinesConfigSchema = schema.object({ url: schema.string() }); @@ -44,3 +44,14 @@ export const TinesRunActionParamsSchema = schema.object({ body: schema.string(), }); export const TinesRunActionResponseSchema = schema.object({}, { unknowns: 'ignore' }); + +export type TinesConfig = TypeOf; +export type TinesSecrets = TypeOf; +export type TinesRunActionParams = TypeOf; +export type TinesRunActionResponse = TypeOf; +export type TinesStoriesActionParams = void; +export type TinesStoryObject = TypeOf; +export type TinesStoriesActionResponse = TypeOf; +export type TinesWebhooksActionParams = TypeOf; +export type TinesWebhooksActionResponse = TypeOf; +export type TinesWebhookObject = TypeOf; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/tines/tines.ts b/x-pack/plugins/stack_connectors/server/connector_types/tines/tines.ts index f7e3f4bea1444..6d012234c3459 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/tines/tines.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/tines/tines.ts @@ -13,7 +13,7 @@ import { TinesStoriesActionParamsSchema, TinesWebhooksActionParamsSchema, TinesRunActionParamsSchema, -} from '../../../common/tines/schema'; +} from './schema'; import type { TinesConfig, TinesSecrets, @@ -24,7 +24,7 @@ import type { TinesWebhooksActionResponse, TinesWebhookObject, TinesStoryObject, -} from '../../../common/tines/types'; +} from './schema'; import { TinesStoriesApiResponseSchema, TinesWebhooksApiResponseSchema, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/webhook/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/webhook/index.ts index f7c7fd4f6d61e..939b591b3b60f 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/webhook/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/webhook/index.ts @@ -37,7 +37,7 @@ import { getRetryAfterIntervalFromHeaders } from '../lib/http_response_retry_hea import { isOk, promiseResult, Result } from '../lib/result_type'; import { ConfigSchema, ParamsSchema } from './schema'; import { buildConnectorAuth } from '../../../common/auth/utils'; -import { SecretConfigurationSchema } from '../../../common/auth/schema'; +import { SecretConfigurationSchema } from '../auth/schema'; export const ConnectorTypeId = '.webhook'; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/webhook/schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/webhook/schema.ts index b6eca5de787f3..9c22211c02f67 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/webhook/schema.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/webhook/schema.ts @@ -6,7 +6,7 @@ */ import { schema } from '@kbn/config-schema'; -import { AuthConfiguration } from '../../../common/auth/schema'; +import { AuthConfiguration } from '../auth/schema'; import { WebhookMethods } from '../../../common/auth/constants'; export const HeadersSchema = schema.recordOf(schema.string(), schema.string()); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/webhook/types.ts b/x-pack/plugins/stack_connectors/server/connector_types/webhook/types.ts index 4857a88f2a042..45a1679782185 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/webhook/types.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/webhook/types.ts @@ -11,7 +11,7 @@ import type { ActionTypeExecutorOptions as ConnectorTypeExecutorOptions, } from '@kbn/actions-plugin/server/types'; import { ParamsSchema, ConfigSchema } from './schema'; -import { SecretConfigurationSchema } from '../../../common/auth/schema'; +import { SecretConfigurationSchema } from '../auth/schema'; export type WebhookConnectorType = ConnectorType< ConnectorTypeConfigType, diff --git a/x-pack/plugins/stack_connectors/server/index.ts b/x-pack/plugins/stack_connectors/server/index.ts index 38fc3b3297c58..aeb6e538fc837 100644 --- a/x-pack/plugins/stack_connectors/server/index.ts +++ b/x-pack/plugins/stack_connectors/server/index.ts @@ -6,7 +6,7 @@ */ import { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; import { configSchema, ConfigSchema } from './config'; -import { SlackApiParamsSchema } from '../common/slack_api/schema'; +import { SlackApiParamsSchema } from './connector_types/slack_api/schema'; export { ParamsSchema as SlackParamsSchema } from './connector_types/slack'; export { ParamsSchema as EmailParamsSchema } from './connector_types/email';