Skip to main content

Class: RedTeamTargetsClient

Defined in: src/red-team/targets-client.ts:52

Client for Red Team management plane target operations.

Constructors

Constructor

new RedTeamTargetsClient(opts): RedTeamTargetsClient;

Defined in: src/red-team/targets-client.ts:57

Parameters

ParameterType
optsRedTeamTargetsClientOptions

Returns

RedTeamTargetsClient

Methods

create()

create(body, opts?): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
target_metadata: ZodOptional<ZodUnknown>;
target_background: ZodOptional<ZodUnknown>;
profiling_status: ZodOptional<ZodUnknown>;
additional_context: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:88

Create a new target.

Parameters

ParameterTypeDescription
body{ name: string; description?: string | null; target_type?: string | null; connection_type?: string | null; api_endpoint_type?: string | null; response_mode?: string | null; connection_params?: | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; } & { response_stop_key: ZodString; response_stop_value: ZodString; }, ZodTypeAny, "passthrough"> | null; session_supported?: boolean; target_metadata?: objectOutputType<{ multi_turn: ZodOptional<ZodBoolean>; multi_turn_error_message: ZodOptional<ZodNullable<ZodString>>; rate_limit: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_enabled: ZodOptional<ZodBoolean>; rate_limit_error_code: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; rate_limit_error_message: ZodOptional<ZodNullable<ZodString>>; content_filter_enabled: ZodOptional<ZodBoolean>; content_filter_error_code: ZodOptional<ZodNullable<ZodNumber>>; content_filter_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; content_filter_error_message: ZodOptional<ZodNullable<ZodString>>; probe_message: ZodOptional<ZodString>; request_timeout: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">; target_background?: | objectOutputType<{ industry: ZodOptional<ZodNullable<ZodString>>; use_case: ZodOptional<ZodNullable<ZodString>>; competitors: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null; additional_context?: | objectOutputType<{ base_model: ZodOptional<ZodNullable<ZodString>>; core_architecture: ZodOptional<ZodNullable<ZodString>>; system_prompt: ZodOptional<ZodNullable<ZodString>>; languages_supported: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; banned_keywords: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; tools_accessible: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null; extra_info?: Record<string, unknown> | null; network_broker_channel_uuid?: string | null; }Target creation request body.
body.namestring-
body.description?string | null-
body.target_type?string | null-
body.connection_type?string | null-
body.api_endpoint_type?string | null-
body.response_mode?string | null-
body.connection_params?| objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; } & { response_stop_key: ZodString; response_stop_value: ZodString; }, ZodTypeAny, "passthrough"> | null-
body.session_supported?boolean-
body.target_metadata?objectOutputType<{ multi_turn: ZodOptional<ZodBoolean>; multi_turn_error_message: ZodOptional<ZodNullable<ZodString>>; rate_limit: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_enabled: ZodOptional<ZodBoolean>; rate_limit_error_code: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; rate_limit_error_message: ZodOptional<ZodNullable<ZodString>>; content_filter_enabled: ZodOptional<ZodBoolean>; content_filter_error_code: ZodOptional<ZodNullable<ZodNumber>>; content_filter_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; content_filter_error_message: ZodOptional<ZodNullable<ZodString>>; probe_message: ZodOptional<ZodString>; request_timeout: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">-
body.target_background?| objectOutputType<{ industry: ZodOptional<ZodNullable<ZodString>>; use_case: ZodOptional<ZodNullable<ZodString>>; competitors: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null-
body.additional_context?| objectOutputType<{ base_model: ZodOptional<ZodNullable<ZodString>>; core_architecture: ZodOptional<ZodNullable<ZodString>>; system_prompt: ZodOptional<ZodNullable<ZodString>>; languages_supported: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; banned_keywords: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; tools_accessible: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null-
body.extra_info?Record<string, unknown> | null-
body.network_broker_channel_uuid?string | null-
opts?TargetOperationOptionsOptional operation options (e.g. validate connection).

Returns

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; target_metadata: ZodOptional<ZodUnknown>; target_background: ZodOptional<ZodUnknown>; profiling_status: ZodOptional<ZodUnknown>; additional_context: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

The created target response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const target = await rt.targets.create(
{
name: 'prod-chatbot',
target_type: 'API',
connection_params: {
api_endpoint: 'https://api.openai.com/v1/responses',
response_key: 'output[0].content[0].text',
},
},
{ validate: true },
);
// target =>
// { uuid: '550e8400-...', name: 'prod-chatbot', status: 'VALIDATED', active: true, validated: true }

list()

list(opts?): Promise<objectOutputType<{
pagination: ZodObject<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;
data: ZodOptional<ZodArray<ZodObject<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>, "many">>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:118

List targets with optional filters.

Parameters

ParameterTypeDescription
opts?TargetListOptionsOptional pagination, search, and filter options.

Returns

Promise<objectOutputType<{ pagination: ZodObject<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, "passthrough", ZodTypeAny, objectOutputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">, objectInputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>; data: ZodOptional<ZodArray<ZodObject<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, "passthrough", ZodTypeAny, objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">, objectInputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>, "many">>; }, ZodTypeAny, "passthrough">>

The paginated list of targets.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const targets = await rt.targets.list({ limit: 10, target_type: 'API' });
// targets =>
// { pagination: { total_items: 4 }, data: [{ uuid: '550e8400-...', name: 'prod-chatbot', status: 'READY' }] }

get()

get(uuid): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
target_metadata: ZodOptional<ZodUnknown>;
target_background: ZodOptional<ZodUnknown>;
profiling_status: ZodOptional<ZodUnknown>;
additional_context: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:148

Get a target by UUID.

Parameters

ParameterTypeDescription
uuidstringThe target UUID.

Returns

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; target_metadata: ZodOptional<ZodUnknown>; target_background: ZodOptional<ZodUnknown>; profiling_status: ZodOptional<ZodUnknown>; additional_context: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

The target response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const target = await rt.targets.get('550e8400-e29b-41d4-a716-446655440000');
// target =>
// { uuid: '550e8400-...', name: 'prod-chatbot', status: 'READY', active: true, validated: true }

update()

update(
uuid,
body,
opts?): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
target_metadata: ZodOptional<ZodUnknown>;
target_background: ZodOptional<ZodUnknown>;
profiling_status: ZodOptional<ZodUnknown>;
additional_context: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:180

Update a target.

Parameters

ParameterTypeDescription
uuidstringThe target UUID.
body{ name: string; description?: string | null; target_type?: string | null; connection_type?: string | null; api_endpoint_type?: string | null; response_mode?: string | null; connection_params?: | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; } & { response_stop_key: ZodString; response_stop_value: ZodString; }, ZodTypeAny, "passthrough"> | null; session_supported?: boolean; target_metadata?: objectOutputType<{ multi_turn: ZodOptional<ZodBoolean>; multi_turn_error_message: ZodOptional<ZodNullable<ZodString>>; rate_limit: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_enabled: ZodOptional<ZodBoolean>; rate_limit_error_code: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; rate_limit_error_message: ZodOptional<ZodNullable<ZodString>>; content_filter_enabled: ZodOptional<ZodBoolean>; content_filter_error_code: ZodOptional<ZodNullable<ZodNumber>>; content_filter_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; content_filter_error_message: ZodOptional<ZodNullable<ZodString>>; probe_message: ZodOptional<ZodString>; request_timeout: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">; target_background?: | objectOutputType<{ industry: ZodOptional<ZodNullable<ZodString>>; use_case: ZodOptional<ZodNullable<ZodString>>; competitors: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null; additional_context?: | objectOutputType<{ base_model: ZodOptional<ZodNullable<ZodString>>; core_architecture: ZodOptional<ZodNullable<ZodString>>; system_prompt: ZodOptional<ZodNullable<ZodString>>; languages_supported: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; banned_keywords: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; tools_accessible: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null; extra_info?: Record<string, unknown> | null; network_broker_channel_uuid?: string | null; }Target update request body.
body.namestring-
body.description?string | null-
body.target_type?string | null-
body.connection_type?string | null-
body.api_endpoint_type?string | null-
body.response_mode?string | null-
body.connection_params?| objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; } & { response_stop_key: ZodString; response_stop_value: ZodString; }, ZodTypeAny, "passthrough"> | null-
body.session_supported?boolean-
body.target_metadata?objectOutputType<{ multi_turn: ZodOptional<ZodBoolean>; multi_turn_error_message: ZodOptional<ZodNullable<ZodString>>; rate_limit: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_enabled: ZodOptional<ZodBoolean>; rate_limit_error_code: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; rate_limit_error_message: ZodOptional<ZodNullable<ZodString>>; content_filter_enabled: ZodOptional<ZodBoolean>; content_filter_error_code: ZodOptional<ZodNullable<ZodNumber>>; content_filter_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; content_filter_error_message: ZodOptional<ZodNullable<ZodString>>; probe_message: ZodOptional<ZodString>; request_timeout: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">-
body.target_background?| objectOutputType<{ industry: ZodOptional<ZodNullable<ZodString>>; use_case: ZodOptional<ZodNullable<ZodString>>; competitors: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null-
body.additional_context?| objectOutputType<{ base_model: ZodOptional<ZodNullable<ZodString>>; core_architecture: ZodOptional<ZodNullable<ZodString>>; system_prompt: ZodOptional<ZodNullable<ZodString>>; languages_supported: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; banned_keywords: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; tools_accessible: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null-
body.extra_info?Record<string, unknown> | null-
body.network_broker_channel_uuid?string | null-
opts?TargetOperationOptionsOptional operation options (e.g. validate connection).

Returns

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; target_metadata: ZodOptional<ZodUnknown>; target_background: ZodOptional<ZodUnknown>; profiling_status: ZodOptional<ZodUnknown>; additional_context: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

The updated target response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const target = await rt.targets.update(
'550e8400-e29b-41d4-a716-446655440000',
{ name: 'prod-chatbot-v2' },
{ validate: false },
);
// target =>
// { uuid: '550e8400-...', name: 'prod-chatbot-v2', status: 'READY', updated_at: '2026-03-08T10:00:00Z' }

delete()

delete(uuid): Promise<
| objectOutputType<{
message: ZodString;
status: ZodNumber;
}, ZodTypeAny, "passthrough">
| undefined>;

Defined in: src/red-team/targets-client.ts:215

Delete a target.

Parameters

ParameterTypeDescription
uuidstringThe target UUID.

Returns

Promise< | objectOutputType<{ message: ZodString; status: ZodNumber; }, ZodTypeAny, "passthrough"> | undefined>

The delete response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const result = await rt.targets.delete('550e8400-e29b-41d4-a716-446655440000');
// result =>
// { message: 'ok', status: 200 }

probe()

probe(body): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
target_metadata: ZodOptional<ZodUnknown>;
target_background: ZodOptional<ZodUnknown>;
profiling_status: ZodOptional<ZodUnknown>;
additional_context: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:246

Run profiling probes on a target.

Parameters

ParameterTypeDescription
body{ name: string; description?: string | null; target_type?: string | null; connection_type?: string | null; api_endpoint_type?: string | null; response_mode?: string | null; connection_params?: | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; } & { response_stop_key: ZodString; response_stop_value: ZodString; }, ZodTypeAny, "passthrough"> | null; session_supported?: boolean; target_metadata?: objectOutputType<{ multi_turn: ZodOptional<ZodBoolean>; multi_turn_error_message: ZodOptional<ZodNullable<ZodString>>; rate_limit: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_enabled: ZodOptional<ZodBoolean>; rate_limit_error_code: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; rate_limit_error_message: ZodOptional<ZodNullable<ZodString>>; content_filter_enabled: ZodOptional<ZodBoolean>; content_filter_error_code: ZodOptional<ZodNullable<ZodNumber>>; content_filter_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; content_filter_error_message: ZodOptional<ZodNullable<ZodString>>; probe_message: ZodOptional<ZodString>; request_timeout: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">; target_background?: | objectOutputType<{ industry: ZodOptional<ZodNullable<ZodString>>; use_case: ZodOptional<ZodNullable<ZodString>>; competitors: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null; additional_context?: | objectOutputType<{ base_model: ZodOptional<ZodNullable<ZodString>>; core_architecture: ZodOptional<ZodNullable<ZodString>>; system_prompt: ZodOptional<ZodNullable<ZodString>>; languages_supported: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; banned_keywords: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; tools_accessible: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null; extra_info?: Record<string, unknown> | null; network_broker_channel_uuid?: string | null; uuid?: string | null; probe_fields?: string[] | null; }The probe request body.
body.namestring-
body.description?string | null-
body.target_type?string | null-
body.connection_type?string | null-
body.api_endpoint_type?string | null-
body.response_mode?string | null-
body.connection_params?| objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; }, ZodTypeAny, "passthrough"> | objectOutputType<{ api_endpoint: ZodOptional<ZodNullable<ZodString>>; request_headers: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; request_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; response_key: ZodOptional<ZodNullable<ZodString>>; target_connection_config: ZodOptional<ZodNullable<ZodUnknown>>; curl: ZodOptional<ZodNullable<ZodString>>; multi_turn_config: ZodOptional<ZodNullable<ZodUnknown>>; } & { response_stop_key: ZodString; response_stop_value: ZodString; }, ZodTypeAny, "passthrough"> | null-
body.session_supported?boolean-
body.target_metadata?objectOutputType<{ multi_turn: ZodOptional<ZodBoolean>; multi_turn_error_message: ZodOptional<ZodNullable<ZodString>>; rate_limit: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_enabled: ZodOptional<ZodBoolean>; rate_limit_error_code: ZodOptional<ZodNullable<ZodNumber>>; rate_limit_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; rate_limit_error_message: ZodOptional<ZodNullable<ZodString>>; content_filter_enabled: ZodOptional<ZodBoolean>; content_filter_error_code: ZodOptional<ZodNullable<ZodNumber>>; content_filter_error_json: ZodOptional<ZodNullable<ZodRecord<ZodString, ZodUnknown>>>; content_filter_error_message: ZodOptional<ZodNullable<ZodString>>; probe_message: ZodOptional<ZodString>; request_timeout: ZodOptional<ZodNumber>; }, ZodTypeAny, "passthrough">-
body.target_background?| objectOutputType<{ industry: ZodOptional<ZodNullable<ZodString>>; use_case: ZodOptional<ZodNullable<ZodString>>; competitors: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null-
body.additional_context?| objectOutputType<{ base_model: ZodOptional<ZodNullable<ZodString>>; core_architecture: ZodOptional<ZodNullable<ZodString>>; system_prompt: ZodOptional<ZodNullable<ZodString>>; languages_supported: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; banned_keywords: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; tools_accessible: ZodOptional<ZodNullable<ZodArray<ZodString, "many">>>; }, ZodTypeAny, "passthrough"> | null-
body.extra_info?Record<string, unknown> | null-
body.network_broker_channel_uuid?string | null-
body.uuid?string | null-
body.probe_fields?string[] | null-

Returns

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; target_metadata: ZodOptional<ZodUnknown>; target_background: ZodOptional<ZodUnknown>; profiling_status: ZodOptional<ZodUnknown>; additional_context: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

The target response after probing.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const target = await rt.targets.probe({
name: 'prod-chatbot',
uuid: '550e8400-e29b-41d4-a716-446655440000',
probe_fields: ['multi_turn', 'rate_limit'],
});
// target =>
// { uuid: '550e8400-...', name: 'prod-chatbot', status: 'READY', validated: true }

getProfile()

getProfile(uuid): Promise<objectOutputType<{
target_id: ZodString;
target_version: ZodNumber;
status: ZodString;
profiling_status: ZodOptional<ZodUnknown>;
target_background: ZodOptional<ZodUnknown>;
additional_context: ZodOptional<ZodUnknown>;
ai_generated_fields: ZodOptional<ZodUnknown>;
other_details: ZodOptional<ZodUnknown>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:272

Get profiling results for a target.

Parameters

ParameterTypeDescription
uuidstringThe target UUID.

Returns

Promise<objectOutputType<{ target_id: ZodString; target_version: ZodNumber; status: ZodString; profiling_status: ZodOptional<ZodUnknown>; target_background: ZodOptional<ZodUnknown>; additional_context: ZodOptional<ZodUnknown>; ai_generated_fields: ZodOptional<ZodUnknown>; other_details: ZodOptional<ZodUnknown>; }, ZodTypeAny, "passthrough">>

The target profile response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const profile = await rt.targets.getProfile('550e8400-e29b-41d4-a716-446655440000');
// profile =>
// { target_id: '550e8400-...', target_version: 1, status: 'READY' }

updateProfile()

updateProfile(uuid, body): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
status: ZodUnknown;
active: ZodBoolean;
validated: ZodBoolean;
created_at: ZodString;
updated_at: ZodString;
description: ZodOptional<ZodUnknown>;
target_type: ZodOptional<ZodUnknown>;
connection_type: ZodOptional<ZodUnknown>;
api_endpoint_type: ZodOptional<ZodUnknown>;
response_mode: ZodOptional<ZodUnknown>;
session_supported: ZodOptional<ZodBoolean>;
extra_info: ZodOptional<ZodUnknown>;
version: ZodOptional<ZodUnknown>;
secret_version: ZodOptional<ZodUnknown>;
created_by_user_id: ZodOptional<ZodUnknown>;
updated_by_user_id: ZodOptional<ZodUnknown>;
target_metadata: ZodOptional<ZodUnknown>;
target_background: ZodOptional<ZodUnknown>;
profiling_status: ZodOptional<ZodUnknown>;
additional_context: ZodOptional<ZodUnknown>;
auth_type: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:302

Update a target profile (background + additional context).

Parameters

ParameterTypeDescription
uuidstringThe target UUID.
bodyobjectOutputTypeThe context update request body.

Returns

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; status: ZodUnknown; active: ZodBoolean; validated: ZodBoolean; created_at: ZodString; updated_at: ZodString; description: ZodOptional<ZodUnknown>; target_type: ZodOptional<ZodUnknown>; connection_type: ZodOptional<ZodUnknown>; api_endpoint_type: ZodOptional<ZodUnknown>; response_mode: ZodOptional<ZodUnknown>; session_supported: ZodOptional<ZodBoolean>; extra_info: ZodOptional<ZodUnknown>; version: ZodOptional<ZodUnknown>; secret_version: ZodOptional<ZodUnknown>; created_by_user_id: ZodOptional<ZodUnknown>; updated_by_user_id: ZodOptional<ZodUnknown>; target_metadata: ZodOptional<ZodUnknown>; target_background: ZodOptional<ZodUnknown>; profiling_status: ZodOptional<ZodUnknown>; additional_context: ZodOptional<ZodUnknown>; auth_type: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

The updated target response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const target = await rt.targets.updateProfile('550e8400-e29b-41d4-a716-446655440000', {
target_background: { industry: 'Healthcare', use_case: 'Patient Support Chatbot' },
additional_context: { base_model: 'GPT-4', languages_supported: ['en', 'es'] },
});
// target =>
// { uuid: '550e8400-...', name: 'prod-chatbot', status: 'READY' }

validateAuth()

validateAuth(body): Promise<objectOutputType<{
validated: ZodBoolean;
token_preview: ZodOptional<ZodNullable<ZodString>>;
expires_in: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:332

Validate target authentication credentials.

Parameters

ParameterTypeDescription
bodyobjectOutputTypeThe auth validation request body.

Returns

Promise<objectOutputType<{ validated: ZodBoolean; token_preview: ZodOptional<ZodNullable<ZodString>>; expires_in: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>

The auth validation response.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const result = await rt.targets.validateAuth({
auth_type: 'HEADERS',
auth_config: { Authorization: 'Bearer sk-xxx' },
});
// result =>
// { validated: true }

getTargetMetadata()

getTargetMetadata(): Promise<Record<string, unknown>>;

Defined in: src/red-team/targets-client.ts:357

Get target metadata (field definitions for target configuration).

Returns

Promise<Record<string, unknown>>

The target metadata object.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const metadata = await rt.targets.getTargetMetadata();
// metadata =>
// { rate_limit: { type: 'number', required: false }, multi_turn: { type: 'boolean' } }

getTargetTemplates()

getTargetTemplates(): Promise<objectOutputType<{
OPENAI: ZodRecord<ZodString, ZodUnknown>;
HUGGING_FACE: ZodRecord<ZodString, ZodUnknown>;
DATABRICKS: ZodRecord<ZodString, ZodUnknown>;
BEDROCK: ZodRecord<ZodString, ZodUnknown>;
REST: ZodRecord<ZodString, ZodUnknown>;
STREAMING: ZodRecord<ZodString, ZodUnknown>;
WEBSOCKET: ZodRecord<ZodString, ZodUnknown>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/red-team/targets-client.ts:381

Get target templates for all supported provider types.

Returns

Promise<objectOutputType<{ OPENAI: ZodRecord<ZodString, ZodUnknown>; HUGGING_FACE: ZodRecord<ZodString, ZodUnknown>; DATABRICKS: ZodRecord<ZodString, ZodUnknown>; BEDROCK: ZodRecord<ZodString, ZodUnknown>; REST: ZodRecord<ZodString, ZodUnknown>; STREAMING: ZodRecord<ZodString, ZodUnknown>; WEBSOCKET: ZodRecord<ZodString, ZodUnknown>; }, ZodTypeAny, "passthrough">>

The collection of target templates keyed by provider.

Example

import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
const rt = new RedTeamClient();

const templates = await rt.targets.getTargetTemplates();
// templates =>
// { OPENAI: {...}, HUGGING_FACE: {...}, DATABRICKS: {...}, BEDROCK: {...}, REST: {...}, STREAMING: {...} }