Skip to main content

Class: Scanner

Defined in: src/scan/scanner.ts:42

Client for AIRS scan operations (sync, async, and query).

Constructors

Constructor

new Scanner(): Scanner;

Returns

Scanner

Methods

syncScan()

syncScan(
aiProfile,
content,
opts?): Promise<objectOutputType<{
source: ZodOptional<ZodString>;
report_id: ZodString;
scan_id: ZodString;
tr_id: ZodOptional<ZodString>;
session_id: ZodOptional<ZodString>;
profile_id: ZodOptional<ZodString>;
profile_name: ZodOptional<ZodString>;
category: ZodString;
action: ZodString;
timeout: ZodBoolean;
error: ZodBoolean;
errors: ZodArray<ZodObject<{
content_type: ZodOptional<ZodString>;
feature: ZodOptional<ZodString>;
status: ZodOptional<ZodString>;
}, "passthrough", ZodTypeAny, objectOutputType<{
content_type: ZodOptional<ZodString>;
feature: ZodOptional<ZodString>;
status: ZodOptional<ZodString>;
}, ZodTypeAny, "passthrough">, objectInputType<{
content_type: ZodOptional<ZodString>;
feature: ZodOptional<ZodString>;
status: ZodOptional<ZodString>;
}, ZodTypeAny, "passthrough">>, "many">;
prompt_detected: ZodOptional<ZodObject<{
url_cats: ZodOptional<ZodBoolean>;
dlp: ZodOptional<ZodBoolean>;
injection: ZodOptional<ZodBoolean>;
toxic_content: ZodOptional<ZodBoolean>;
malicious_code: ZodOptional<ZodBoolean>;
agent: ZodOptional<ZodBoolean>;
topic_violation: ZodOptional<ZodBoolean>;
}, "passthrough", ZodTypeAny, objectOutputType<{
url_cats: ZodOptional<ZodBoolean>;
dlp: ZodOptional<ZodBoolean>;
injection: ZodOptional<ZodBoolean>;
toxic_content: ZodOptional<ZodBoolean>;
malicious_code: ZodOptional<ZodBoolean>;
agent: ZodOptional<ZodBoolean>;
topic_violation: ZodOptional<ZodBoolean>;
}, ZodTypeAny, "passthrough">, objectInputType<{
url_cats: ZodOptional<ZodBoolean>;
dlp: ZodOptional<ZodBoolean>;
injection: ZodOptional<ZodBoolean>;
toxic_content: ZodOptional<ZodBoolean>;
malicious_code: ZodOptional<ZodBoolean>;
agent: ZodOptional<ZodBoolean>;
topic_violation: ZodOptional<ZodBoolean>;
}, ZodTypeAny, "passthrough">>>;
response_detected: ZodOptional<ZodObject<{
url_cats: ZodOptional<ZodBoolean>;
dlp: ZodOptional<ZodBoolean>;
db_security: ZodOptional<ZodBoolean>;
toxic_content: ZodOptional<ZodBoolean>;
malicious_code: ZodOptional<ZodBoolean>;
agent: ZodOptional<ZodBoolean>;
ungrounded: ZodOptional<ZodBoolean>;
topic_violation: ZodOptional<ZodBoolean>;
}, "passthrough", ZodTypeAny, objectOutputType<{
url_cats: ZodOptional<ZodBoolean>;
dlp: ZodOptional<ZodBoolean>;
db_security: ZodOptional<ZodBoolean>;
toxic_content: ZodOptional<ZodBoolean>;
malicious_code: ZodOptional<ZodBoolean>;
agent: ZodOptional<ZodBoolean>;
ungrounded: ZodOptional<ZodBoolean>;
topic_violation: ZodOptional<ZodBoolean>;
}, ZodTypeAny, "passthrough">, objectInputType<{
url_cats: ZodOptional<ZodBoolean>;
dlp: ZodOptional<ZodBoolean>;
db_security: ZodOptional<ZodBoolean>;
toxic_content: ZodOptional<ZodBoolean>;
malicious_code: ZodOptional<ZodBoolean>;
agent: ZodOptional<ZodBoolean>;
ungrounded: ZodOptional<ZodBoolean>;
topic_violation: ZodOptional<ZodBoolean>;
}, ZodTypeAny, "passthrough">>>;
prompt_masked_data: ZodOptional<ZodObject<{
data: ZodOptional<ZodString>;
pattern_detections: ZodOptional<ZodArray<ZodObject<{
pattern: ZodOptional<...>;
locations: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
pattern: ...;
locations: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
pattern: ...;
locations: ...;
}, ZodTypeAny, "passthrough">>, "many">>;
}, "passthrough", ZodTypeAny, objectOutputType<{
data: ZodOptional<ZodString>;
pattern_detections: ZodOptional<ZodArray<ZodObject<{
pattern: ...;
locations: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>;
}, ZodTypeAny, "passthrough">, objectInputType<{
data: ZodOptional<ZodString>;
pattern_detections: ZodOptional<ZodArray<ZodObject<{
pattern: ...;
locations: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>;
}, ZodTypeAny, "passthrough">>>;
response_masked_data: ZodOptional<ZodObject<{
data: ZodOptional<ZodString>;
pattern_detections: ZodOptional<ZodArray<ZodObject<{
pattern: ZodOptional<...>;
locations: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
pattern: ...;
locations: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
pattern: ...;
locations: ...;
}, ZodTypeAny, "passthrough">>, "many">>;
}, "passthrough", ZodTypeAny, objectOutputType<{
data: ZodOptional<ZodString>;
pattern_detections: ZodOptional<ZodArray<ZodObject<{
pattern: ...;
locations: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>;
}, ZodTypeAny, "passthrough">, objectInputType<{
data: ZodOptional<ZodString>;
pattern_detections: ZodOptional<ZodArray<ZodObject<{
pattern: ...;
locations: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>;
}, ZodTypeAny, "passthrough">>>;
prompt_detection_details: ZodOptional<ZodObject<{
topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
}, ZodTypeAny, "passthrough">>>;
response_detection_details: ZodOptional<ZodObject<{
topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
}, ZodTypeAny, "passthrough">>>;
tool_detected: ZodOptional<ZodObject<{
verdict: ZodOptional<ZodString>;
metadata: ZodOptional<ZodObject<{
ecosystem: ZodString;
method: ZodString;
server_name: ZodString;
tool_invoked: ZodOptional<ZodString>;
}, "passthrough", ZodTypeAny, objectOutputType<{
ecosystem: ZodString;
method: ZodString;
server_name: ZodString;
tool_invoked: ZodOptional<...>;
}, ZodTypeAny, "passthrough">, objectInputType<{
ecosystem: ZodString;
method: ZodString;
server_name: ZodString;
tool_invoked: ZodOptional<...>;
}, ZodTypeAny, "passthrough">>>;
summary: ZodOptional<ZodObject<{
detections: ZodObject<{
injection: ...;
url_cats: ...;
dlp: ...;
db_security: ...;
toxic_content: ...;
malicious_code: ...;
agent: ...;
topic_violation: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>;
threats: ZodArray<ZodString, "many">;
}, "passthrough", ZodTypeAny, objectOutputType<{
detections: ZodObject<..., ..., ..., ..., ...>;
threats: ZodArray<..., ...>;
}, ZodTypeAny, "passthrough">, objectInputType<{
detections: ZodObject<..., ..., ..., ..., ...>;
threats: ZodArray<..., ...>;
}, ZodTypeAny, "passthrough">>>;
input_detected: ZodOptional<ZodObject<{
detection_entries: ZodOptional<ZodArray<..., ...>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_entries: ZodOptional<...>;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_entries: ZodOptional<...>;
}, ZodTypeAny, "passthrough">>>;
output_detected: ZodOptional<ZodObject<{
detection_entries: ZodOptional<ZodArray<..., ...>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_entries: ZodOptional<...>;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_entries: ZodOptional<...>;
}, ZodTypeAny, "passthrough">>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
verdict: ZodOptional<ZodString>;
metadata: ZodOptional<ZodObject<{
ecosystem: ZodString;
method: ZodString;
server_name: ZodString;
tool_invoked: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
ecosystem: ...;
method: ...;
server_name: ...;
tool_invoked: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
ecosystem: ...;
method: ...;
server_name: ...;
tool_invoked: ...;
}, ZodTypeAny, "passthrough">>>;
summary: ZodOptional<ZodObject<{
detections: ZodObject<..., ..., ..., ..., ...>;
threats: ZodArray<..., ...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detections: ...;
threats: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
detections: ...;
threats: ...;
}, ZodTypeAny, "passthrough">>>;
input_detected: ZodOptional<ZodObject<{
detection_entries: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">>>;
output_detected: ZodOptional<ZodObject<{
detection_entries: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
verdict: ZodOptional<ZodString>;
metadata: ZodOptional<ZodObject<{
ecosystem: ZodString;
method: ZodString;
server_name: ZodString;
tool_invoked: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
ecosystem: ...;
method: ...;
server_name: ...;
tool_invoked: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
ecosystem: ...;
method: ...;
server_name: ...;
tool_invoked: ...;
}, ZodTypeAny, "passthrough">>>;
summary: ZodOptional<ZodObject<{
detections: ZodObject<..., ..., ..., ..., ...>;
threats: ZodArray<..., ...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detections: ...;
threats: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
detections: ...;
threats: ...;
}, ZodTypeAny, "passthrough">>>;
input_detected: ZodOptional<ZodObject<{
detection_entries: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">>>;
output_detected: ZodOptional<ZodObject<{
detection_entries: ZodOptional<...>;
}, "passthrough", ZodTypeAny, objectOutputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">, objectInputType<{
detection_entries: ...;
}, ZodTypeAny, "passthrough">>>;
}, ZodTypeAny, "passthrough">>>;
created_at: ZodOptional<ZodString>;
completed_at: ZodOptional<ZodString>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/scan/scanner.ts:81

Perform a synchronous content scan.

Parameters

ParameterTypeDescription
aiProfileobjectOutputTypeAI security profile to scan against.
contentContentContent to scan.
optsSyncScanOptionsOptional transaction/session IDs and metadata.

Returns

Promise<objectOutputType<{ source: ZodOptional<ZodString>; report_id: ZodString; scan_id: ZodString; tr_id: ZodOptional<ZodString>; session_id: ZodOptional<ZodString>; profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; category: ZodString; action: ZodString; timeout: ZodBoolean; error: ZodBoolean; errors: ZodArray<ZodObject<{ content_type: ZodOptional<ZodString>; feature: ZodOptional<ZodString>; status: ZodOptional<ZodString>; }, "passthrough", ZodTypeAny, objectOutputType<{ content_type: ZodOptional<ZodString>; feature: ZodOptional<ZodString>; status: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">, objectInputType<{ content_type: ZodOptional<ZodString>; feature: ZodOptional<ZodString>; status: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>, "many">; prompt_detected: ZodOptional<ZodObject<{ url_cats: ZodOptional<ZodBoolean>; dlp: ZodOptional<ZodBoolean>; injection: ZodOptional<ZodBoolean>; toxic_content: ZodOptional<ZodBoolean>; malicious_code: ZodOptional<ZodBoolean>; agent: ZodOptional<ZodBoolean>; topic_violation: ZodOptional<ZodBoolean>; }, "passthrough", ZodTypeAny, objectOutputType<{ url_cats: ZodOptional<ZodBoolean>; dlp: ZodOptional<ZodBoolean>; injection: ZodOptional<ZodBoolean>; toxic_content: ZodOptional<ZodBoolean>; malicious_code: ZodOptional<ZodBoolean>; agent: ZodOptional<ZodBoolean>; topic_violation: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">, objectInputType<{ url_cats: ZodOptional<ZodBoolean>; dlp: ZodOptional<ZodBoolean>; injection: ZodOptional<ZodBoolean>; toxic_content: ZodOptional<ZodBoolean>; malicious_code: ZodOptional<ZodBoolean>; agent: ZodOptional<ZodBoolean>; topic_violation: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">>>; response_detected: ZodOptional<ZodObject<{ url_cats: ZodOptional<ZodBoolean>; dlp: ZodOptional<ZodBoolean>; db_security: ZodOptional<ZodBoolean>; toxic_content: ZodOptional<ZodBoolean>; malicious_code: ZodOptional<ZodBoolean>; agent: ZodOptional<ZodBoolean>; ungrounded: ZodOptional<ZodBoolean>; topic_violation: ZodOptional<ZodBoolean>; }, "passthrough", ZodTypeAny, objectOutputType<{ url_cats: ZodOptional<ZodBoolean>; dlp: ZodOptional<ZodBoolean>; db_security: ZodOptional<ZodBoolean>; toxic_content: ZodOptional<ZodBoolean>; malicious_code: ZodOptional<ZodBoolean>; agent: ZodOptional<ZodBoolean>; ungrounded: ZodOptional<ZodBoolean>; topic_violation: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">, objectInputType<{ url_cats: ZodOptional<ZodBoolean>; dlp: ZodOptional<ZodBoolean>; db_security: ZodOptional<ZodBoolean>; toxic_content: ZodOptional<ZodBoolean>; malicious_code: ZodOptional<ZodBoolean>; agent: ZodOptional<ZodBoolean>; ungrounded: ZodOptional<ZodBoolean>; topic_violation: ZodOptional<ZodBoolean>; }, ZodTypeAny, "passthrough">>>; prompt_masked_data: ZodOptional<ZodObject<{ data: ZodOptional<ZodString>; pattern_detections: ZodOptional<ZodArray<ZodObject<{ pattern: ZodOptional<...>; locations: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ pattern: ...; locations: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ pattern: ...; locations: ...; }, ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", ZodTypeAny, objectOutputType<{ data: ZodOptional<ZodString>; pattern_detections: ZodOptional<ZodArray<ZodObject<{ pattern: ...; locations: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>; }, ZodTypeAny, "passthrough">, objectInputType<{ data: ZodOptional<ZodString>; pattern_detections: ZodOptional<ZodArray<ZodObject<{ pattern: ...; locations: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>; }, ZodTypeAny, "passthrough">>>; response_masked_data: ZodOptional<ZodObject<{ data: ZodOptional<ZodString>; pattern_detections: ZodOptional<ZodArray<ZodObject<{ pattern: ZodOptional<...>; locations: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ pattern: ...; locations: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ pattern: ...; locations: ...; }, ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", ZodTypeAny, objectOutputType<{ data: ZodOptional<ZodString>; pattern_detections: ZodOptional<ZodArray<ZodObject<{ pattern: ...; locations: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>; }, ZodTypeAny, "passthrough">, objectInputType<{ data: ZodOptional<ZodString>; pattern_detections: ZodOptional<ZodArray<ZodObject<{ pattern: ...; locations: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>, "many">>; }, ZodTypeAny, "passthrough">>>; prompt_detection_details: ZodOptional<ZodObject<{ topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, "passthrough", ZodTypeAny, objectOutputType<{ topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, ZodTypeAny, "passthrough">, objectInputType<{ topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, ZodTypeAny, "passthrough">>>; response_detection_details: ZodOptional<ZodObject<{ topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, "passthrough", ZodTypeAny, objectOutputType<{ topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, ZodTypeAny, "passthrough">, objectInputType<{ topic_guardrails_details: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, ZodTypeAny, "passthrough">>>; tool_detected: ZodOptional<ZodObject<{ verdict: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<{ ecosystem: ZodString; method: ZodString; server_name: ZodString; tool_invoked: ZodOptional<ZodString>; }, "passthrough", ZodTypeAny, objectOutputType<{ ecosystem: ZodString; method: ZodString; server_name: ZodString; tool_invoked: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ ecosystem: ZodString; method: ZodString; server_name: ZodString; tool_invoked: ZodOptional<...>; }, ZodTypeAny, "passthrough">>>; summary: ZodOptional<ZodObject<{ detections: ZodObject<{ injection: ...; url_cats: ...; dlp: ...; db_security: ...; toxic_content: ...; malicious_code: ...; agent: ...; topic_violation: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>; threats: ZodArray<ZodString, "many">; }, "passthrough", ZodTypeAny, objectOutputType<{ detections: ZodObject<..., ..., ..., ..., ...>; threats: ZodArray<..., ...>; }, ZodTypeAny, "passthrough">, objectInputType<{ detections: ZodObject<..., ..., ..., ..., ...>; threats: ZodArray<..., ...>; }, ZodTypeAny, "passthrough">>>; input_detected: ZodOptional<ZodObject<{ detection_entries: ZodOptional<ZodArray<..., ...>>; }, "passthrough", ZodTypeAny, objectOutputType<{ detection_entries: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ detection_entries: ZodOptional<...>; }, ZodTypeAny, "passthrough">>>; output_detected: ZodOptional<ZodObject<{ detection_entries: ZodOptional<ZodArray<..., ...>>; }, "passthrough", ZodTypeAny, objectOutputType<{ detection_entries: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ detection_entries: ZodOptional<...>; }, ZodTypeAny, "passthrough">>>; }, "passthrough", ZodTypeAny, objectOutputType<{ verdict: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<{ ecosystem: ZodString; method: ZodString; server_name: ZodString; tool_invoked: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ ecosystem: ...; method: ...; server_name: ...; tool_invoked: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ ecosystem: ...; method: ...; server_name: ...; tool_invoked: ...; }, ZodTypeAny, "passthrough">>>; summary: ZodOptional<ZodObject<{ detections: ZodObject<..., ..., ..., ..., ...>; threats: ZodArray<..., ...>; }, "passthrough", ZodTypeAny, objectOutputType<{ detections: ...; threats: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ detections: ...; threats: ...; }, ZodTypeAny, "passthrough">>>; input_detected: ZodOptional<ZodObject<{ detection_entries: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">>>; output_detected: ZodOptional<ZodObject<{ detection_entries: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">>>; }, ZodTypeAny, "passthrough">, objectInputType<{ verdict: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<{ ecosystem: ZodString; method: ZodString; server_name: ZodString; tool_invoked: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ ecosystem: ...; method: ...; server_name: ...; tool_invoked: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ ecosystem: ...; method: ...; server_name: ...; tool_invoked: ...; }, ZodTypeAny, "passthrough">>>; summary: ZodOptional<ZodObject<{ detections: ZodObject<..., ..., ..., ..., ...>; threats: ZodArray<..., ...>; }, "passthrough", ZodTypeAny, objectOutputType<{ detections: ...; threats: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ detections: ...; threats: ...; }, ZodTypeAny, "passthrough">>>; input_detected: ZodOptional<ZodObject<{ detection_entries: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">>>; output_detected: ZodOptional<ZodObject<{ detection_entries: ZodOptional<...>; }, "passthrough", ZodTypeAny, objectOutputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">, objectInputType<{ detection_entries: ...; }, ZodTypeAny, "passthrough">>>; }, ZodTypeAny, "passthrough">>>; created_at: ZodOptional<ZodString>; completed_at: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>

Scan response with verdict, action, and detection details.

Example

import { init, Scanner, Content } from '@cdot65/prisma-airs-sdk';
init(); // reads PANW_AI_SEC_API_KEY from env
const scanner = new Scanner();

const result = await scanner.syncScan(
{ profile_name: 'my-profile' },
new Content({ prompt: 'What is the capital of France?' }),
{ metadata: { app_name: 'my-app', app_user: 'user123', ai_model: 'gpt-4' } },
);
// result =>
// { report_id: 'R000...', scan_id: '550e...', category: 'benign',
// action: 'allow', timeout: false, error: false, errors: [] }

asyncScan()

asyncScan(scanObjects): Promise<objectOutputType<{
received: ZodString;
scan_id: ZodString;
report_id: ZodOptional<ZodString>;
source: ZodOptional<ZodString>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/scan/scanner.ts:141

Submit content for asynchronous scanning.

Parameters

ParameterTypeDescription
scanObjectsobjectOutputType<{ req_id: ZodNumber; scan_req: ZodObject<{ tr_id: ZodOptional<ZodString>; session_id: ZodOptional<ZodString>; ai_profile: ZodEffects<ZodObject<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, "passthrough", ZodTypeAny, objectOutputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">, objectInputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>, objectOutputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">, objectInputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>; metadata: ZodOptional<ZodObject<{ app_name: ZodOptional<ZodString>; app_user: ZodOptional<ZodString>; ai_model: ZodOptional<ZodString>; user_ip: ZodOptional<ZodString>; agent_meta: ZodOptional<ZodObject<{ agent_id: ...; agent_version: ...; agent_arn: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>>; }, "passthrough", ZodTypeAny, objectOutputType<{ app_name: ZodOptional<ZodString>; app_user: ZodOptional<ZodString>; ai_model: ZodOptional<ZodString>; user_ip: ZodOptional<ZodString>; agent_meta: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, ZodTypeAny, "passthrough">, objectInputType<{ app_name: ZodOptional<ZodString>; app_user: ZodOptional<ZodString>; ai_model: ZodOptional<ZodString>; user_ip: ZodOptional<ZodString>; agent_meta: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, ZodTypeAny, "passthrough">>>; contents: ZodArray<ZodObject<{ prompt: ZodOptional<ZodString>; response: ZodOptional<ZodString>; code_prompt: ZodOptional<ZodString>; code_response: ZodOptional<ZodString>; context: ZodOptional<ZodString>; tool_event: ZodOptional<ZodObject<{ metadata: ...; input: ...; output: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>>; }, "passthrough", ZodTypeAny, objectOutputType<{ prompt: ZodOptional<ZodString>; response: ZodOptional<ZodString>; code_prompt: ZodOptional<ZodString>; code_response: ZodOptional<ZodString>; context: ZodOptional<ZodString>; tool_event: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, ZodTypeAny, "passthrough">, objectInputType<{ prompt: ZodOptional<ZodString>; response: ZodOptional<ZodString>; code_prompt: ZodOptional<ZodString>; code_response: ZodOptional<ZodString>; context: ZodOptional<ZodString>; tool_event: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, ZodTypeAny, "passthrough">>, "many">; }, "passthrough", ZodTypeAny, objectOutputType<{ tr_id: ZodOptional<ZodString>; session_id: ZodOptional<ZodString>; ai_profile: ZodEffects<ZodObject<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, "passthrough", ZodTypeAny, objectOutputType<{ profile_id: ZodOptional<...>; profile_name: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ profile_id: ZodOptional<...>; profile_name: ZodOptional<...>; }, ZodTypeAny, "passthrough">>, objectOutputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">, objectInputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>; metadata: ZodOptional<ZodObject<{ app_name: ZodOptional<ZodString>; app_user: ZodOptional<ZodString>; ai_model: ZodOptional<ZodString>; user_ip: ZodOptional<ZodString>; agent_meta: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, "passthrough", ZodTypeAny, objectOutputType<{ app_name: ZodOptional<...>; app_user: ZodOptional<...>; ai_model: ZodOptional<...>; user_ip: ZodOptional<...>; agent_meta: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ app_name: ZodOptional<...>; app_user: ZodOptional<...>; ai_model: ZodOptional<...>; user_ip: ZodOptional<...>; agent_meta: ZodOptional<...>; }, ZodTypeAny, "passthrough">>>; contents: ZodArray<ZodObject<{ prompt: ZodOptional<ZodString>; response: ZodOptional<ZodString>; code_prompt: ZodOptional<ZodString>; code_response: ZodOptional<ZodString>; context: ZodOptional<ZodString>; tool_event: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, "passthrough", ZodTypeAny, objectOutputType<{ prompt: ZodOptional<...>; response: ZodOptional<...>; code_prompt: ZodOptional<...>; code_response: ZodOptional<...>; context: ZodOptional<...>; tool_event: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ prompt: ZodOptional<...>; response: ZodOptional<...>; code_prompt: ZodOptional<...>; code_response: ZodOptional<...>; context: ZodOptional<...>; tool_event: ZodOptional<...>; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">, objectInputType<{ tr_id: ZodOptional<ZodString>; session_id: ZodOptional<ZodString>; ai_profile: ZodEffects<ZodObject<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, "passthrough", ZodTypeAny, objectOutputType<{ profile_id: ZodOptional<...>; profile_name: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ profile_id: ZodOptional<...>; profile_name: ZodOptional<...>; }, ZodTypeAny, "passthrough">>, objectOutputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">, objectInputType<{ profile_id: ZodOptional<ZodString>; profile_name: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>; metadata: ZodOptional<ZodObject<{ app_name: ZodOptional<ZodString>; app_user: ZodOptional<ZodString>; ai_model: ZodOptional<ZodString>; user_ip: ZodOptional<ZodString>; agent_meta: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, "passthrough", ZodTypeAny, objectOutputType<{ app_name: ZodOptional<...>; app_user: ZodOptional<...>; ai_model: ZodOptional<...>; user_ip: ZodOptional<...>; agent_meta: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ app_name: ZodOptional<...>; app_user: ZodOptional<...>; ai_model: ZodOptional<...>; user_ip: ZodOptional<...>; agent_meta: ZodOptional<...>; }, ZodTypeAny, "passthrough">>>; contents: ZodArray<ZodObject<{ prompt: ZodOptional<ZodString>; response: ZodOptional<ZodString>; code_prompt: ZodOptional<ZodString>; code_response: ZodOptional<ZodString>; context: ZodOptional<ZodString>; tool_event: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, "passthrough", ZodTypeAny, objectOutputType<{ prompt: ZodOptional<...>; response: ZodOptional<...>; code_prompt: ZodOptional<...>; code_response: ZodOptional<...>; context: ZodOptional<...>; tool_event: ZodOptional<...>; }, ZodTypeAny, "passthrough">, objectInputType<{ prompt: ZodOptional<...>; response: ZodOptional<...>; code_prompt: ZodOptional<...>; code_response: ZodOptional<...>; context: ZodOptional<...>; tool_event: ZodOptional<...>; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>; }, ZodTypeAny, "passthrough">[]Array of scan objects (1–5 items).

Returns

Promise<objectOutputType<{ received: ZodString; scan_id: ZodString; report_id: ZodOptional<ZodString>; source: ZodOptional<ZodString>; }, ZodTypeAny, "passthrough">>

Response containing scan IDs for later querying.

Example

import { init, Scanner } from '@cdot65/prisma-airs-sdk';
init();
const scanner = new Scanner();

const result = await scanner.asyncScan([
{
req_id: 1,
scan_req: {
ai_profile: { profile_name: 'my-profile' },
contents: [{ prompt: 'Tell me about machine learning.' }],
},
},
]);
// result =>
// { received: '2024-01-01T00:00:00Z', scan_id: '550e...' }

queryByScanIds()

queryByScanIds(scanIds): Promise<ScanIdResult[]>;

Defined in: src/scan/scanner.ts:184

Query scan results by scan IDs.

Parameters

ParameterTypeDescription
scanIdsstring[]Array of scan UUIDs (1–5 items).

Returns

Promise<ScanIdResult[]>

Array of scan results with status and response data.

Example

import { init, Scanner } from '@cdot65/prisma-airs-sdk';
init();
const scanner = new Scanner();

const results = await scanner.queryByScanIds([
'550e8400-e29b-41d4-a716-446655440000',
]);
// results =>
// [{ scan_id: '550e8400-e29b-41d4-a716-446655440000', status: 'complete',
// result: { category: 'benign', action: 'allow', ... } }]

queryByReportIds()

queryByReportIds(reportIds): Promise<objectOutputType<{
source: ZodOptional<ZodString>;
report_id: ZodOptional<ZodString>;
scan_id: ZodOptional<ZodString>;
req_id: ZodOptional<ZodNumber>;
transaction_id: ZodOptional<ZodString>;
session_id: ZodOptional<ZodString>;
detection_results: ZodOptional<ZodArray<ZodObject<{
data_type: ZodOptional<ZodString>;
detection_service: ZodOptional<ZodString>;
verdict: ZodOptional<ZodString>;
action: ZodOptional<ZodString>;
metadata: ZodOptional<ZodObject<{
score: ...;
confidence: ...;
ecosystem: ...;
method: ...;
server_name: ...;
tool_invoked: ...;
direction: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>>;
result_detail: ZodOptional<ZodObject<{
urlf_report: ...;
dlp_report: ...;
dbs_report: ...;
tc_report: ...;
mc_report: ...;
agent_report: ...;
topic_guardrails_report: ...;
cg_report: ...;
}, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
data_type: ZodOptional<ZodString>;
detection_service: ZodOptional<ZodString>;
verdict: ZodOptional<ZodString>;
action: ZodOptional<ZodString>;
metadata: ZodOptional<ZodObject<..., ..., ..., ..., ...>>;
result_detail: ZodOptional<ZodObject<..., ..., ..., ..., ...>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
data_type: ZodOptional<ZodString>;
detection_service: ZodOptional<ZodString>;
verdict: ZodOptional<ZodString>;
action: ZodOptional<ZodString>;
metadata: ZodOptional<ZodObject<..., ..., ..., ..., ...>>;
result_detail: ZodOptional<ZodObject<..., ..., ..., ..., ...>>;
}, ZodTypeAny, "passthrough">>, "many">>;
}, ZodTypeAny, "passthrough">[]>;

Defined in: src/scan/scanner.ts:230

Query detailed threat reports by report IDs.

Parameters

ParameterTypeDescription
reportIdsstring[]Array of report IDs (1–5 items).

Returns

Promise<objectOutputType<{ source: ZodOptional<ZodString>; report_id: ZodOptional<ZodString>; scan_id: ZodOptional<ZodString>; req_id: ZodOptional<ZodNumber>; transaction_id: ZodOptional<ZodString>; session_id: ZodOptional<ZodString>; detection_results: ZodOptional<ZodArray<ZodObject<{ data_type: ZodOptional<ZodString>; detection_service: ZodOptional<ZodString>; verdict: ZodOptional<ZodString>; action: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<{ score: ...; confidence: ...; ecosystem: ...; method: ...; server_name: ...; tool_invoked: ...; direction: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>>; result_detail: ZodOptional<ZodObject<{ urlf_report: ...; dlp_report: ...; dbs_report: ...; tc_report: ...; mc_report: ...; agent_report: ...; topic_guardrails_report: ...; cg_report: ...; }, "passthrough", ZodTypeAny, objectOutputType<..., ..., ...>, objectInputType<..., ..., ...>>>; }, "passthrough", ZodTypeAny, objectOutputType<{ data_type: ZodOptional<ZodString>; detection_service: ZodOptional<ZodString>; verdict: ZodOptional<ZodString>; action: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; result_detail: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, ZodTypeAny, "passthrough">, objectInputType<{ data_type: ZodOptional<ZodString>; detection_service: ZodOptional<ZodString>; verdict: ZodOptional<ZodString>; action: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; result_detail: ZodOptional<ZodObject<..., ..., ..., ..., ...>>; }, ZodTypeAny, "passthrough">>, "many">>; }, ZodTypeAny, "passthrough">[]>

Array of threat scan reports with detection details.

Example

import { init, Scanner } from '@cdot65/prisma-airs-sdk';
init();
const scanner = new Scanner();

const reports = await scanner.queryByReportIds(['R000...']);
// reports =>
// [{ report_id: 'R000...', scan_id: '550e...',
// detection_results: [{ detection_service: 'pi', verdict: 'benign', action: 'allow' }] }]