qati-sdk 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +464 -105
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1967 -362
- package/dist/index.d.ts +1967 -362
- package/dist/index.js +456 -106
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -780,6 +780,9 @@ var Session = class {
|
|
|
780
780
|
return new Client(this._config, httpClients ?? {});
|
|
781
781
|
}
|
|
782
782
|
};
|
|
783
|
+
var fraction01 = () => zod.z.number().min(0).max(1);
|
|
784
|
+
var fraction01Nullable = () => fraction01().nullable().optional();
|
|
785
|
+
var nonEmptyString = () => zod.z.string().min(1);
|
|
783
786
|
|
|
784
787
|
// src/shared/types/signal-type.ts
|
|
785
788
|
var SIGNAL_TYPES = [
|
|
@@ -789,7 +792,16 @@ var SIGNAL_TYPES = [
|
|
|
789
792
|
"SYSTEM_TELEMETRY",
|
|
790
793
|
"MODEL_OUTPUT",
|
|
791
794
|
"ANOMALY_FLAG",
|
|
792
|
-
"NETWORK_EVENT"
|
|
795
|
+
"NETWORK_EVENT",
|
|
796
|
+
"SESSION",
|
|
797
|
+
"PROMPT_INPUT",
|
|
798
|
+
"CONTEXT_INTEGRITY",
|
|
799
|
+
"TOOL_CALL",
|
|
800
|
+
"RAG_RETRIEVAL",
|
|
801
|
+
"POLICY_EVENT",
|
|
802
|
+
"USER_FEEDBACK",
|
|
803
|
+
"WORKFLOW_ACTION",
|
|
804
|
+
"API_CALL"
|
|
793
805
|
];
|
|
794
806
|
|
|
795
807
|
// src/shared/types/provenance-mode.ts
|
|
@@ -838,103 +850,15 @@ var RawEventRequestSchema = zod.z.object({
|
|
|
838
850
|
payload: zod.z.record(zod.z.any()).describe("JSON payload (stored as JSONB in DB).")
|
|
839
851
|
});
|
|
840
852
|
|
|
841
|
-
// src/v1/schemas/
|
|
842
|
-
var TransactionSignalPayloadSchema = zod.z.object({
|
|
843
|
-
amount: zod.z.number().nonnegative().default(0),
|
|
844
|
-
amount_minor: zod.z.number().int().nonnegative().nullable().optional(),
|
|
845
|
-
amount_usd: zod.z.number().nonnegative().nullable().optional(),
|
|
846
|
-
currency: zod.z.string().nullable().optional(),
|
|
847
|
-
merchant_category: zod.z.string().nullable().optional(),
|
|
848
|
-
merchant_id: zod.z.string().nullable().optional(),
|
|
849
|
-
channel: zod.z.string().nullable().optional(),
|
|
850
|
-
country: zod.z.string().nullable().optional(),
|
|
851
|
-
velocity: zod.z.number().nonnegative().nullable().optional(),
|
|
852
|
-
external_anomaly_score: zod.z.number().nullable().optional(),
|
|
853
|
-
geo_distance: zod.z.number().nonnegative().nullable().optional(),
|
|
854
|
-
geo_distance_km: zod.z.number().nonnegative().nullable().optional(),
|
|
855
|
-
records_accessed: zod.z.number().int().nonnegative().nullable().optional(),
|
|
856
|
-
baseline_records_accessed: zod.z.number().int().nonnegative().nullable().optional(),
|
|
857
|
-
sensitivity_level: zod.z.string().nullable().optional(),
|
|
858
|
-
export_count: zod.z.number().int().nonnegative().nullable().optional(),
|
|
859
|
-
bulk_export: zod.z.boolean().optional().default(false),
|
|
860
|
-
contains_phi: zod.z.boolean().optional().default(false),
|
|
861
|
-
control_command: zod.z.string().nullable().optional(),
|
|
862
|
-
authorized: zod.z.boolean().nullable().optional(),
|
|
863
|
-
safety_critical: zod.z.boolean().optional().default(false)
|
|
864
|
-
});
|
|
865
|
-
var AuthSignalPayloadSchema = zod.z.object({
|
|
866
|
-
result: zod.z.string().nullable().optional(),
|
|
867
|
-
auth_method: zod.z.string().nullable().optional(),
|
|
868
|
-
mfa_used: zod.z.boolean().nullable().optional(),
|
|
869
|
-
mfa_bypassed: zod.z.boolean().optional().default(false),
|
|
870
|
-
failed_attempts: zod.z.number().int().nonnegative().optional().default(0),
|
|
871
|
-
ip: zod.z.string().nullable().optional(),
|
|
872
|
-
country: zod.z.string().nullable().optional(),
|
|
873
|
-
user_agent: zod.z.string().nullable().optional(),
|
|
874
|
-
unusual_location: zod.z.boolean().optional().default(false),
|
|
875
|
-
after_hours_login: zod.z.boolean().optional().default(false)
|
|
876
|
-
});
|
|
877
|
-
var ModelOutputSignalPayloadSchema = zod.z.object({
|
|
878
|
-
missing_citations_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
879
|
-
citation_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
880
|
-
expected_citation_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
881
|
-
policy_violations: zod.z.number().int().nonnegative().optional().default(0),
|
|
882
|
-
policy_violation_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
883
|
-
tool_call_inconsistency: zod.z.number().min(0).max(1).optional().default(0),
|
|
884
|
-
tool_inconsistency_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
885
|
-
tool_miss_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
886
|
-
eval_window_n: zod.z.number().int().min(1).nullable().optional()
|
|
887
|
-
});
|
|
888
|
-
var SystemTelemetrySignalPayloadSchema = zod.z.object({
|
|
889
|
-
metric_name: zod.z.string().nullable().optional(),
|
|
890
|
-
value: zod.z.number().nullable().optional(),
|
|
891
|
-
baseline: zod.z.number().nullable().optional(),
|
|
892
|
-
window_seconds: zod.z.number().int().min(1).nullable().optional(),
|
|
893
|
-
error_rate: zod.z.number().min(0).max(1).optional().default(0),
|
|
894
|
-
baseline_error_rate: zod.z.number().min(0).max(1).nullable().optional(),
|
|
895
|
-
unusual_auth_rate: zod.z.number().min(0).max(1).optional().default(0),
|
|
896
|
-
firmware_hash_changed: zod.z.boolean().optional().default(false),
|
|
897
|
-
expected_hash_match: zod.z.boolean().nullable().optional(),
|
|
898
|
-
sensor_deviation_score: zod.z.number().min(0).max(1).nullable().optional()
|
|
899
|
-
});
|
|
853
|
+
// src/v1/schemas/anomaly-flag.ts
|
|
900
854
|
var AnomalyFlagSignalPayloadSchema = zod.z.object({
|
|
901
|
-
severity:
|
|
902
|
-
});
|
|
903
|
-
var BehaviorSignalPayloadSchema = zod.z.object({
|
|
904
|
-
deviation_score: zod.z.number().min(0).max(1)
|
|
905
|
-
});
|
|
906
|
-
var NetworkSignalPayloadSchema = zod.z.object({
|
|
907
|
-
ip: zod.z.string().nullable().optional(),
|
|
908
|
-
asn: zod.z.string().nullable().optional(),
|
|
909
|
-
reputation_score: zod.z.number().min(0).max(1).nullable().optional(),
|
|
910
|
-
threat_score: zod.z.number().min(0).max(1).nullable().optional(),
|
|
911
|
-
is_datacenter: zod.z.boolean().nullable().optional(),
|
|
912
|
-
is_untrusted_segment: zod.z.boolean().optional().default(false),
|
|
913
|
-
asn_reputation: zod.z.number().min(0).max(1).nullable().optional()
|
|
914
|
-
});
|
|
915
|
-
BaseEventSchema.extend({
|
|
916
|
-
signal_payload: TransactionSignalPayloadSchema
|
|
855
|
+
severity: fraction01()
|
|
917
856
|
});
|
|
918
857
|
BaseEventSchema.extend({
|
|
919
858
|
signal_payload: AnomalyFlagSignalPayloadSchema
|
|
920
859
|
});
|
|
921
|
-
BaseEventSchema.extend({
|
|
922
|
-
signal_payload: AuthSignalPayloadSchema
|
|
923
|
-
});
|
|
924
|
-
BaseEventSchema.extend({
|
|
925
|
-
signal_payload: BehaviorSignalPayloadSchema
|
|
926
|
-
});
|
|
927
|
-
BaseEventSchema.extend({
|
|
928
|
-
signal_payload: NetworkSignalPayloadSchema
|
|
929
|
-
});
|
|
930
|
-
BaseEventSchema.extend({
|
|
931
|
-
signal_payload: ModelOutputSignalPayloadSchema
|
|
932
|
-
});
|
|
933
|
-
BaseEventSchema.extend({
|
|
934
|
-
signal_payload: SystemTelemetrySignalPayloadSchema
|
|
935
|
-
});
|
|
936
860
|
|
|
937
|
-
// src/v1/builders/
|
|
861
|
+
// src/v1/builders/_common.ts
|
|
938
862
|
var buildRawEventPayload = (event, signalPayload, signalType) => {
|
|
939
863
|
const rawEventPayload = {
|
|
940
864
|
timestamp: event.timestamp,
|
|
@@ -960,36 +884,296 @@ var buildRawEventRequest = (event, signalPayload, signalType) => {
|
|
|
960
884
|
payload: rawEventPayload
|
|
961
885
|
};
|
|
962
886
|
};
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
return buildRawEventRequest(event, signalPayload, "AUTH");
|
|
966
|
-
};
|
|
967
|
-
function createTransactionEvent(event) {
|
|
968
|
-
const signalPayload = TransactionSignalPayloadSchema.parse(
|
|
969
|
-
event.signal_payload
|
|
970
|
-
);
|
|
971
|
-
return buildRawEventRequest(event, signalPayload, "TRANSACTION");
|
|
972
|
-
}
|
|
887
|
+
|
|
888
|
+
// src/v1/builders/anomaly-flag-builder.ts
|
|
973
889
|
var createAnomalyFlagEvent = (event) => {
|
|
974
890
|
const signalPayload = AnomalyFlagSignalPayloadSchema.parse(
|
|
975
891
|
event.signal_payload
|
|
976
892
|
);
|
|
977
893
|
return buildRawEventRequest(event, signalPayload, "ANOMALY_FLAG");
|
|
978
894
|
};
|
|
895
|
+
|
|
896
|
+
// src/shared/types/http-method.ts
|
|
897
|
+
var HTTP_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE"];
|
|
898
|
+
|
|
899
|
+
// src/v1/schemas/api-call.ts
|
|
900
|
+
var ApiCallSignalPayloadSchema = zod.z.object({
|
|
901
|
+
service_id: nonEmptyString(),
|
|
902
|
+
endpoint: nonEmptyString(),
|
|
903
|
+
method: zod.z.enum(HTTP_METHODS),
|
|
904
|
+
status_code: zod.z.number().int().min(100).max(599),
|
|
905
|
+
authorized: zod.z.boolean().nullable(),
|
|
906
|
+
authentication_present: zod.z.boolean().nullable().optional(),
|
|
907
|
+
rate_limited: zod.z.boolean().nullable().optional(),
|
|
908
|
+
external_side_effect: zod.z.boolean().nullable().optional(),
|
|
909
|
+
records_returned: zod.z.number().int().nonnegative().nullable().optional(),
|
|
910
|
+
records_modified: zod.z.number().int().nonnegative().nullable().optional(),
|
|
911
|
+
contains_sensitive_data: zod.z.boolean().nullable().optional(),
|
|
912
|
+
latency_ms: zod.z.number().nonnegative().nullable().optional(),
|
|
913
|
+
retry_count: zod.z.number().int().nonnegative().nullable().optional(),
|
|
914
|
+
api_key_id: zod.z.string().nullable().optional()
|
|
915
|
+
});
|
|
916
|
+
BaseEventSchema.extend({
|
|
917
|
+
signal_payload: ApiCallSignalPayloadSchema
|
|
918
|
+
});
|
|
919
|
+
|
|
920
|
+
// src/v1/builders/api-call-builder.ts
|
|
921
|
+
var createApiCallEvent = (event) => {
|
|
922
|
+
const signalPayload = ApiCallSignalPayloadSchema.parse(event.signal_payload);
|
|
923
|
+
return buildRawEventRequest(event, signalPayload, "API_CALL");
|
|
924
|
+
};
|
|
925
|
+
var AuthSignalPayloadSchema = zod.z.object({
|
|
926
|
+
result: zod.z.string().nullable().optional(),
|
|
927
|
+
auth_method: zod.z.string().nullable().optional(),
|
|
928
|
+
mfa_used: zod.z.boolean().nullable().optional(),
|
|
929
|
+
mfa_bypassed: zod.z.boolean().optional().default(false),
|
|
930
|
+
failed_attempts: zod.z.number().int().nonnegative().optional().default(0),
|
|
931
|
+
ip: zod.z.string().nullable().optional(),
|
|
932
|
+
country: zod.z.string().nullable().optional(),
|
|
933
|
+
user_agent: zod.z.string().nullable().optional(),
|
|
934
|
+
unusual_location: zod.z.boolean().optional().default(false),
|
|
935
|
+
after_hours_login: zod.z.boolean().optional().default(false)
|
|
936
|
+
});
|
|
937
|
+
BaseEventSchema.extend({
|
|
938
|
+
signal_payload: AuthSignalPayloadSchema
|
|
939
|
+
});
|
|
940
|
+
|
|
941
|
+
// src/v1/builders/auth-builder.ts
|
|
942
|
+
var createAuthEvent = (event) => {
|
|
943
|
+
const signalPayload = AuthSignalPayloadSchema.parse(event.signal_payload);
|
|
944
|
+
return buildRawEventRequest(event, signalPayload, "AUTH");
|
|
945
|
+
};
|
|
946
|
+
var BehaviorSignalPayloadSchema = zod.z.object({
|
|
947
|
+
deviation_score: fraction01()
|
|
948
|
+
});
|
|
949
|
+
BaseEventSchema.extend({
|
|
950
|
+
signal_payload: BehaviorSignalPayloadSchema
|
|
951
|
+
});
|
|
952
|
+
|
|
953
|
+
// src/v1/builders/behavior-builder.ts
|
|
979
954
|
var createBehaviorEvent = (event) => {
|
|
980
955
|
const signalPayload = BehaviorSignalPayloadSchema.parse(event.signal_payload);
|
|
981
956
|
return buildRawEventRequest(event, signalPayload, "BEHAVIOR");
|
|
982
957
|
};
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
958
|
+
|
|
959
|
+
// src/shared/types/context-integrity.ts
|
|
960
|
+
var CONTEXT_SOURCES = [
|
|
961
|
+
"CONVERSATION_HISTORY",
|
|
962
|
+
"RETRIEVED_DOCUMENT",
|
|
963
|
+
"TOOL_OUTPUT",
|
|
964
|
+
"SYSTEM",
|
|
965
|
+
"DEVELOPER",
|
|
966
|
+
"USER"
|
|
967
|
+
];
|
|
968
|
+
|
|
969
|
+
// src/v1/schemas/context-integrity.ts
|
|
970
|
+
var ContextIntegritySignalPayloadSchema = zod.z.object({
|
|
971
|
+
context_source: zod.z.enum(CONTEXT_SOURCES),
|
|
972
|
+
instruction_conflict_detected: zod.z.boolean(),
|
|
973
|
+
untrusted_instruction_detected: zod.z.boolean(),
|
|
974
|
+
context_priority_violation: zod.z.boolean(),
|
|
975
|
+
recursive_instruction_pattern: zod.z.boolean().optional().default(false),
|
|
976
|
+
context_drift_score: fraction01Nullable(),
|
|
977
|
+
system_prompt_conflict_score: fraction01Nullable(),
|
|
978
|
+
developer_prompt_conflict_score: fraction01Nullable(),
|
|
979
|
+
retrieved_instruction_count: zod.z.number().int().nonnegative().optional().default(0),
|
|
980
|
+
hidden_instruction_score: fraction01Nullable(),
|
|
981
|
+
source_document_id: zod.z.string().nullable().optional(),
|
|
982
|
+
untrusted_source_count: zod.z.number().int().nonnegative().optional().default(0),
|
|
983
|
+
source_trust_score: fraction01Nullable(),
|
|
984
|
+
lowest_source_trust_score: fraction01Nullable(),
|
|
985
|
+
recursive_pattern_score: fraction01Nullable(),
|
|
986
|
+
prompt_injection_score: fraction01Nullable(),
|
|
987
|
+
contains_instruction_override: zod.z.boolean().optional().default(false),
|
|
988
|
+
context_injection_score: fraction01Nullable()
|
|
989
|
+
});
|
|
990
|
+
BaseEventSchema.extend({
|
|
991
|
+
signal_payload: ContextIntegritySignalPayloadSchema
|
|
992
|
+
});
|
|
993
|
+
|
|
994
|
+
// src/v1/builders/context-integrity-builder.ts
|
|
995
|
+
var createContextIntegrityEvent = (event) => {
|
|
996
|
+
const signalPayload = ContextIntegritySignalPayloadSchema.parse(
|
|
997
|
+
event.signal_payload
|
|
998
|
+
);
|
|
999
|
+
return buildRawEventRequest(event, signalPayload, "CONTEXT_INTEGRITY");
|
|
986
1000
|
};
|
|
1001
|
+
var ModelOutputSignalPayloadSchema = zod.z.object({
|
|
1002
|
+
missing_citations_rate: fraction01Nullable(),
|
|
1003
|
+
citation_rate: fraction01Nullable(),
|
|
1004
|
+
expected_citation_rate: fraction01Nullable(),
|
|
1005
|
+
policy_violations: zod.z.number().int().nonnegative().optional().default(0),
|
|
1006
|
+
policy_violation_rate: fraction01Nullable(),
|
|
1007
|
+
tool_call_inconsistency: fraction01().optional().default(0),
|
|
1008
|
+
tool_inconsistency_rate: fraction01Nullable(),
|
|
1009
|
+
tool_miss_rate: fraction01Nullable(),
|
|
1010
|
+
eval_window_n: zod.z.number().int().min(1).nullable().optional(),
|
|
1011
|
+
hallucination_risk_score: fraction01Nullable(),
|
|
1012
|
+
self_contradiction_score: fraction01Nullable(),
|
|
1013
|
+
grounding_score: fraction01Nullable(),
|
|
1014
|
+
contains_unsupported_claims: zod.z.boolean().optional().default(false)
|
|
1015
|
+
});
|
|
1016
|
+
BaseEventSchema.extend({
|
|
1017
|
+
signal_payload: ModelOutputSignalPayloadSchema
|
|
1018
|
+
});
|
|
1019
|
+
|
|
1020
|
+
// src/v1/builders/model-output-builder.ts
|
|
987
1021
|
var createModelOutputEvent = (event) => {
|
|
988
1022
|
const signalPayload = ModelOutputSignalPayloadSchema.parse(
|
|
989
1023
|
event.signal_payload
|
|
990
1024
|
);
|
|
991
1025
|
return buildRawEventRequest(event, signalPayload, "MODEL_OUTPUT");
|
|
992
1026
|
};
|
|
1027
|
+
var NetworkSignalPayloadSchema = zod.z.object({
|
|
1028
|
+
ip: zod.z.string().nullable().optional(),
|
|
1029
|
+
asn: zod.z.string().nullable().optional(),
|
|
1030
|
+
reputation_score: fraction01Nullable(),
|
|
1031
|
+
threat_score: fraction01Nullable(),
|
|
1032
|
+
is_datacenter: zod.z.boolean().nullable().optional(),
|
|
1033
|
+
is_untrusted_segment: zod.z.boolean().optional().default(false),
|
|
1034
|
+
asn_reputation: fraction01Nullable()
|
|
1035
|
+
});
|
|
1036
|
+
BaseEventSchema.extend({
|
|
1037
|
+
signal_payload: NetworkSignalPayloadSchema
|
|
1038
|
+
});
|
|
1039
|
+
|
|
1040
|
+
// src/v1/builders/network-builder.ts
|
|
1041
|
+
var createNetworkEvent = (event) => {
|
|
1042
|
+
const signalPayload = NetworkSignalPayloadSchema.parse(event.signal_payload);
|
|
1043
|
+
return buildRawEventRequest(event, signalPayload, "NETWORK_EVENT");
|
|
1044
|
+
};
|
|
1045
|
+
|
|
1046
|
+
// src/shared/types/policy-event.ts
|
|
1047
|
+
var POLICY_CATEGORIES = [
|
|
1048
|
+
"SAFETY",
|
|
1049
|
+
"PRIVACY",
|
|
1050
|
+
"SECURITY",
|
|
1051
|
+
"COMPLIANCE",
|
|
1052
|
+
"CONTENT",
|
|
1053
|
+
"OTHER"
|
|
1054
|
+
];
|
|
1055
|
+
var POLICY_RESULTS = ["PASS", "WARN", "FAIL", "BLOCKED"];
|
|
1056
|
+
|
|
1057
|
+
// src/v1/schemas/policy-event.ts
|
|
1058
|
+
var PolicyEventSignalPayloadSchema = zod.z.object({
|
|
1059
|
+
policy_check_name: nonEmptyString(),
|
|
1060
|
+
policy_category: zod.z.enum(POLICY_CATEGORIES),
|
|
1061
|
+
policy_result: zod.z.enum(POLICY_RESULTS),
|
|
1062
|
+
severity: fraction01(),
|
|
1063
|
+
blocked: zod.z.boolean().optional().default(false),
|
|
1064
|
+
violation_count: zod.z.number().int().nonnegative().optional().default(0),
|
|
1065
|
+
policy_confidence: fraction01Nullable(),
|
|
1066
|
+
redaction_applied: zod.z.boolean().optional().default(false)
|
|
1067
|
+
});
|
|
1068
|
+
BaseEventSchema.extend({
|
|
1069
|
+
signal_payload: PolicyEventSignalPayloadSchema
|
|
1070
|
+
});
|
|
1071
|
+
|
|
1072
|
+
// src/v1/builders/policy-event-builder.ts
|
|
1073
|
+
var createPolicyEvent = (event) => {
|
|
1074
|
+
const signalPayload = PolicyEventSignalPayloadSchema.parse(
|
|
1075
|
+
event.signal_payload
|
|
1076
|
+
);
|
|
1077
|
+
return buildRawEventRequest(event, signalPayload, "POLICY_EVENT");
|
|
1078
|
+
};
|
|
1079
|
+
var promptHashSchema = zod.z.string().regex(/^[a-fA-F0-9]{64}$/).optional();
|
|
1080
|
+
var PromptInputSignalPayloadSchema = zod.z.object({
|
|
1081
|
+
prompt_length_chars: zod.z.number().int().nonnegative(),
|
|
1082
|
+
conversation_turn_index: zod.z.number().int().nonnegative(),
|
|
1083
|
+
contains_instruction_override: zod.z.boolean(),
|
|
1084
|
+
contains_tool_request: zod.z.boolean().optional().default(false),
|
|
1085
|
+
contains_secret_request: zod.z.boolean().optional().default(false),
|
|
1086
|
+
contains_policy_challenge: zod.z.boolean().optional().default(false),
|
|
1087
|
+
recursive_pattern_score: fraction01Nullable(),
|
|
1088
|
+
prompt_injection_score: fraction01Nullable(),
|
|
1089
|
+
sensitive_domain: zod.z.boolean().optional().default(false),
|
|
1090
|
+
complexity_score: fraction01Nullable(),
|
|
1091
|
+
prompt_hash: promptHashSchema
|
|
1092
|
+
});
|
|
1093
|
+
BaseEventSchema.extend({
|
|
1094
|
+
signal_payload: PromptInputSignalPayloadSchema
|
|
1095
|
+
});
|
|
1096
|
+
|
|
1097
|
+
// src/v1/builders/prompt-input-builder.ts
|
|
1098
|
+
var createPromptInputEvent = (event) => {
|
|
1099
|
+
const signalPayload = PromptInputSignalPayloadSchema.parse(
|
|
1100
|
+
event.signal_payload
|
|
1101
|
+
);
|
|
1102
|
+
return buildRawEventRequest(event, signalPayload, "PROMPT_INPUT");
|
|
1103
|
+
};
|
|
1104
|
+
var RagRetrievalSignalPayloadSchema = zod.z.object({
|
|
1105
|
+
retriever_id: nonEmptyString(),
|
|
1106
|
+
query_hash: zod.z.string().nullable().optional(),
|
|
1107
|
+
documents_retrieved: zod.z.number().int().nonnegative(),
|
|
1108
|
+
top_k: zod.z.number().int().min(1),
|
|
1109
|
+
average_relevance_score: fraction01(),
|
|
1110
|
+
source_trust_score: fraction01(),
|
|
1111
|
+
lowest_source_trust_score: fraction01Nullable(),
|
|
1112
|
+
untrusted_source_count: zod.z.number().int().nonnegative().optional().default(0),
|
|
1113
|
+
retrieved_context_tokens: zod.z.number().int().nonnegative().optional().default(0),
|
|
1114
|
+
context_injection_score: fraction01().optional().default(0),
|
|
1115
|
+
document_ids: zod.z.array(zod.z.string()).optional().default([])
|
|
1116
|
+
});
|
|
1117
|
+
BaseEventSchema.extend({
|
|
1118
|
+
signal_payload: RagRetrievalSignalPayloadSchema
|
|
1119
|
+
});
|
|
1120
|
+
|
|
1121
|
+
// src/v1/builders/rag-retrieval-builder.ts
|
|
1122
|
+
var createRagRetrievalEvent = (event) => {
|
|
1123
|
+
const signalPayload = RagRetrievalSignalPayloadSchema.parse(
|
|
1124
|
+
event.signal_payload
|
|
1125
|
+
);
|
|
1126
|
+
return buildRawEventRequest(event, signalPayload, "RAG_RETRIEVAL");
|
|
1127
|
+
};
|
|
1128
|
+
|
|
1129
|
+
// src/shared/types/session.ts
|
|
1130
|
+
var SESSION_STATUSES = [
|
|
1131
|
+
"STARTED",
|
|
1132
|
+
"ACTIVE",
|
|
1133
|
+
"ENDED",
|
|
1134
|
+
"TIMEOUT",
|
|
1135
|
+
"ABANDONED"
|
|
1136
|
+
];
|
|
1137
|
+
|
|
1138
|
+
// src/v1/schemas/session.ts
|
|
1139
|
+
var SessionSignalPayloadSchema = zod.z.object({
|
|
1140
|
+
session_status: zod.z.enum(SESSION_STATUSES),
|
|
1141
|
+
session_age_seconds: zod.z.number().nonnegative().optional().default(0),
|
|
1142
|
+
turn_count: zod.z.number().int().nonnegative().optional().default(0),
|
|
1143
|
+
messages_last_minute: zod.z.number().nonnegative().optional().default(0),
|
|
1144
|
+
avg_seconds_between_turns: zod.z.number().nonnegative().nullable().optional(),
|
|
1145
|
+
restart_count_10m: zod.z.number().int().nonnegative().optional().default(0),
|
|
1146
|
+
session_timeout: zod.z.boolean().optional().default(false),
|
|
1147
|
+
abandoned: zod.z.boolean().optional().default(false),
|
|
1148
|
+
conversation_id: zod.z.string().nullable().optional(),
|
|
1149
|
+
user_id: zod.z.string().nullable().optional()
|
|
1150
|
+
});
|
|
1151
|
+
BaseEventSchema.extend({
|
|
1152
|
+
signal_payload: SessionSignalPayloadSchema
|
|
1153
|
+
});
|
|
1154
|
+
|
|
1155
|
+
// src/v1/builders/session-builder.ts
|
|
1156
|
+
var createSessionEvent = (event) => {
|
|
1157
|
+
const signalPayload = SessionSignalPayloadSchema.parse(event.signal_payload);
|
|
1158
|
+
return buildRawEventRequest(event, signalPayload, "SESSION");
|
|
1159
|
+
};
|
|
1160
|
+
var SystemTelemetrySignalPayloadSchema = zod.z.object({
|
|
1161
|
+
metric_name: zod.z.string().nullable().optional(),
|
|
1162
|
+
value: zod.z.number().nullable().optional(),
|
|
1163
|
+
baseline: zod.z.number().nullable().optional(),
|
|
1164
|
+
window_seconds: zod.z.number().int().min(1).nullable().optional(),
|
|
1165
|
+
error_rate: fraction01().optional().default(0),
|
|
1166
|
+
baseline_error_rate: fraction01Nullable(),
|
|
1167
|
+
unusual_auth_rate: fraction01().optional().default(0),
|
|
1168
|
+
firmware_hash_changed: zod.z.boolean().optional().default(false),
|
|
1169
|
+
expected_hash_match: zod.z.boolean().nullable().optional(),
|
|
1170
|
+
sensor_deviation_score: fraction01Nullable()
|
|
1171
|
+
});
|
|
1172
|
+
BaseEventSchema.extend({
|
|
1173
|
+
signal_payload: SystemTelemetrySignalPayloadSchema
|
|
1174
|
+
});
|
|
1175
|
+
|
|
1176
|
+
// src/v1/builders/system-telemetry-builder.ts
|
|
993
1177
|
var createSystemTelemetryEvent = (event) => {
|
|
994
1178
|
const signalPayload = SystemTelemetrySignalPayloadSchema.parse(
|
|
995
1179
|
event.signal_payload
|
|
@@ -997,6 +1181,172 @@ var createSystemTelemetryEvent = (event) => {
|
|
|
997
1181
|
return buildRawEventRequest(event, signalPayload, "SYSTEM_TELEMETRY");
|
|
998
1182
|
};
|
|
999
1183
|
|
|
1184
|
+
// src/shared/types/tool-call.ts
|
|
1185
|
+
var TOOL_CATEGORIES = [
|
|
1186
|
+
"RETRIEVAL",
|
|
1187
|
+
"DATABASE",
|
|
1188
|
+
"PAYMENT",
|
|
1189
|
+
"MESSAGING",
|
|
1190
|
+
"CODE_EXECUTION",
|
|
1191
|
+
"FILE",
|
|
1192
|
+
"EXTERNAL_API",
|
|
1193
|
+
"OTHER"
|
|
1194
|
+
];
|
|
1195
|
+
|
|
1196
|
+
// src/v1/schemas/tool-call.ts
|
|
1197
|
+
var ToolCallSignalPayloadSchema = zod.z.object({
|
|
1198
|
+
tool_name: nonEmptyString(),
|
|
1199
|
+
tool_category: zod.z.enum(TOOL_CATEGORIES),
|
|
1200
|
+
action: nonEmptyString(),
|
|
1201
|
+
authorized: zod.z.boolean().nullable(),
|
|
1202
|
+
safety_critical: zod.z.boolean(),
|
|
1203
|
+
external_side_effect: zod.z.boolean(),
|
|
1204
|
+
tool_call_success: zod.z.boolean().nullable().optional(),
|
|
1205
|
+
latency_ms: zod.z.number().nonnegative().nullable().optional(),
|
|
1206
|
+
error_code: zod.z.string().nullable().optional(),
|
|
1207
|
+
argument_risk_score: fraction01Nullable(),
|
|
1208
|
+
result_size_bytes: zod.z.number().int().nonnegative().nullable().optional(),
|
|
1209
|
+
records_accessed: zod.z.number().int().nonnegative().optional().default(0),
|
|
1210
|
+
contains_sensitive_data: zod.z.boolean().optional().default(false),
|
|
1211
|
+
action_category: zod.z.string().nullable().optional(),
|
|
1212
|
+
method: zod.z.string().nullable().optional(),
|
|
1213
|
+
sensitive_data_involved: zod.z.boolean().optional().default(false),
|
|
1214
|
+
contains_phi: zod.z.boolean().optional().default(false),
|
|
1215
|
+
sensitive_domain: zod.z.boolean().optional().default(false)
|
|
1216
|
+
});
|
|
1217
|
+
BaseEventSchema.extend({
|
|
1218
|
+
signal_payload: ToolCallSignalPayloadSchema
|
|
1219
|
+
});
|
|
1220
|
+
|
|
1221
|
+
// src/v1/builders/tool-call-builder.ts
|
|
1222
|
+
var createToolCallEvent = (event) => {
|
|
1223
|
+
const signalPayload = ToolCallSignalPayloadSchema.parse(event.signal_payload);
|
|
1224
|
+
return buildRawEventRequest(event, signalPayload, "TOOL_CALL");
|
|
1225
|
+
};
|
|
1226
|
+
var TransactionSignalPayloadSchema = zod.z.object({
|
|
1227
|
+
amount: zod.z.number().nonnegative().default(0),
|
|
1228
|
+
amount_minor: zod.z.number().int().nonnegative().nullable().optional(),
|
|
1229
|
+
amount_usd: zod.z.number().nonnegative().nullable().optional(),
|
|
1230
|
+
currency: zod.z.string().nullable().optional(),
|
|
1231
|
+
merchant_category: zod.z.string().nullable().optional(),
|
|
1232
|
+
merchant_id: zod.z.string().nullable().optional(),
|
|
1233
|
+
channel: zod.z.string().nullable().optional(),
|
|
1234
|
+
country: zod.z.string().nullable().optional(),
|
|
1235
|
+
velocity: zod.z.number().nonnegative().nullable().optional(),
|
|
1236
|
+
external_anomaly_score: zod.z.number().nullable().optional(),
|
|
1237
|
+
geo_distance: zod.z.number().nonnegative().nullable().optional(),
|
|
1238
|
+
geo_distance_km: zod.z.number().nonnegative().nullable().optional(),
|
|
1239
|
+
records_accessed: zod.z.number().int().nonnegative().nullable().optional(),
|
|
1240
|
+
baseline_records_accessed: zod.z.number().int().nonnegative().nullable().optional(),
|
|
1241
|
+
sensitivity_level: zod.z.string().nullable().optional(),
|
|
1242
|
+
export_count: zod.z.number().int().nonnegative().nullable().optional(),
|
|
1243
|
+
bulk_export: zod.z.boolean().optional().default(false),
|
|
1244
|
+
contains_phi: zod.z.boolean().optional().default(false),
|
|
1245
|
+
control_command: zod.z.string().nullable().optional(),
|
|
1246
|
+
authorized: zod.z.boolean().nullable().optional(),
|
|
1247
|
+
safety_critical: zod.z.boolean().optional().default(false)
|
|
1248
|
+
});
|
|
1249
|
+
BaseEventSchema.extend({
|
|
1250
|
+
signal_payload: TransactionSignalPayloadSchema
|
|
1251
|
+
});
|
|
1252
|
+
|
|
1253
|
+
// src/v1/builders/transaction-builder.ts
|
|
1254
|
+
var createTransactionEvent = (event) => {
|
|
1255
|
+
const signalPayload = TransactionSignalPayloadSchema.parse(
|
|
1256
|
+
event.signal_payload
|
|
1257
|
+
);
|
|
1258
|
+
return buildRawEventRequest(event, signalPayload, "TRANSACTION");
|
|
1259
|
+
};
|
|
1260
|
+
|
|
1261
|
+
// src/shared/types/user-feedback.ts
|
|
1262
|
+
var FEEDBACK_TYPES = [
|
|
1263
|
+
"THUMBS_UP",
|
|
1264
|
+
"THUMBS_DOWN",
|
|
1265
|
+
"REPORT",
|
|
1266
|
+
"CORRECTION",
|
|
1267
|
+
"RATING"
|
|
1268
|
+
];
|
|
1269
|
+
var FEEDBACK_ISSUE_TYPES = [
|
|
1270
|
+
"HALLUCINATION",
|
|
1271
|
+
"UNSAFE",
|
|
1272
|
+
"IRRELEVANT",
|
|
1273
|
+
"PRIVACY",
|
|
1274
|
+
"OFFENSIVE",
|
|
1275
|
+
"OTHER"
|
|
1276
|
+
];
|
|
1277
|
+
|
|
1278
|
+
// src/v1/schemas/user-feedback.ts
|
|
1279
|
+
var UserFeedbackSignalPayloadSchema = zod.z.object({
|
|
1280
|
+
feedback_type: zod.z.enum(FEEDBACK_TYPES),
|
|
1281
|
+
rating: zod.z.number().nullable().optional(),
|
|
1282
|
+
reported_issue: zod.z.boolean().optional().default(false),
|
|
1283
|
+
issue_type: zod.z.enum(FEEDBACK_ISSUE_TYPES).nullable().optional(),
|
|
1284
|
+
severity: fraction01Nullable(),
|
|
1285
|
+
response_id: zod.z.string().nullable().optional(),
|
|
1286
|
+
user_comment_hash: zod.z.string().nullable().optional()
|
|
1287
|
+
});
|
|
1288
|
+
BaseEventSchema.extend({
|
|
1289
|
+
signal_payload: UserFeedbackSignalPayloadSchema
|
|
1290
|
+
});
|
|
1291
|
+
|
|
1292
|
+
// src/v1/builders/user-feedback-builder.ts
|
|
1293
|
+
var createUserFeedbackEvent = (event) => {
|
|
1294
|
+
const signalPayload = UserFeedbackSignalPayloadSchema.parse(
|
|
1295
|
+
event.signal_payload
|
|
1296
|
+
);
|
|
1297
|
+
return buildRawEventRequest(event, signalPayload, "USER_FEEDBACK");
|
|
1298
|
+
};
|
|
1299
|
+
|
|
1300
|
+
// src/shared/types/workflow-action.ts
|
|
1301
|
+
var WORKFLOW_ACTION_CATEGORIES = [
|
|
1302
|
+
"FINANCIAL",
|
|
1303
|
+
"DATA_ACCESS",
|
|
1304
|
+
"COMMUNICATION",
|
|
1305
|
+
"ADMIN",
|
|
1306
|
+
"SECURITY",
|
|
1307
|
+
"CODE",
|
|
1308
|
+
"OTHER"
|
|
1309
|
+
];
|
|
1310
|
+
var WORKFLOW_ACTION_STAGES = [
|
|
1311
|
+
"PROPOSED",
|
|
1312
|
+
"PRE_EXECUTION",
|
|
1313
|
+
"EXECUTED",
|
|
1314
|
+
"FAILED",
|
|
1315
|
+
"ROLLED_BACK"
|
|
1316
|
+
];
|
|
1317
|
+
var WORKFLOW_ACTOR_TYPES = ["USER", "AI_AGENT", "SYSTEM"];
|
|
1318
|
+
|
|
1319
|
+
// src/v1/schemas/workflow-action.ts
|
|
1320
|
+
var WorkflowActionSignalPayloadSchema = zod.z.object({
|
|
1321
|
+
workflow_id: nonEmptyString(),
|
|
1322
|
+
workflow_type: nonEmptyString(),
|
|
1323
|
+
action_name: nonEmptyString(),
|
|
1324
|
+
action_category: zod.z.enum(WORKFLOW_ACTION_CATEGORIES),
|
|
1325
|
+
action_stage: zod.z.enum(WORKFLOW_ACTION_STAGES),
|
|
1326
|
+
actor_type: zod.z.enum(WORKFLOW_ACTOR_TYPES),
|
|
1327
|
+
requires_approval: zod.z.boolean().optional().default(false),
|
|
1328
|
+
approval_present: zod.z.boolean().optional().default(false),
|
|
1329
|
+
external_side_effect: zod.z.boolean().nullable().optional(),
|
|
1330
|
+
safety_critical: zod.z.boolean().nullable().optional(),
|
|
1331
|
+
amount_usd: zod.z.number().nonnegative().nullable().optional(),
|
|
1332
|
+
sensitive_data_involved: zod.z.boolean().optional().default(false),
|
|
1333
|
+
new_counterparty: zod.z.boolean().optional().default(false),
|
|
1334
|
+
is_new_vendor: zod.z.boolean().optional().default(false),
|
|
1335
|
+
is_new_recipient: zod.z.boolean().optional().default(false),
|
|
1336
|
+
is_new_endpoint: zod.z.boolean().optional().default(false)
|
|
1337
|
+
});
|
|
1338
|
+
BaseEventSchema.extend({
|
|
1339
|
+
signal_payload: WorkflowActionSignalPayloadSchema
|
|
1340
|
+
});
|
|
1341
|
+
|
|
1342
|
+
// src/v1/builders/workflow-action-builder.ts
|
|
1343
|
+
var createWorkflowActionEvent = (event) => {
|
|
1344
|
+
const signalPayload = WorkflowActionSignalPayloadSchema.parse(
|
|
1345
|
+
event.signal_payload
|
|
1346
|
+
);
|
|
1347
|
+
return buildRawEventRequest(event, signalPayload, "WORKFLOW_ACTION");
|
|
1348
|
+
};
|
|
1349
|
+
|
|
1000
1350
|
exports.API_REGISTRY = API_REGISTRY;
|
|
1001
1351
|
exports.QatiAPIError = QatiAPIError;
|
|
1002
1352
|
exports.QatiAuthError = QatiAuthError;
|
|
@@ -1009,12 +1359,21 @@ exports.RawEventRequestSchema = RawEventRequestSchema;
|
|
|
1009
1359
|
exports.Session = Session;
|
|
1010
1360
|
exports.baseUrlFor = baseUrlFor;
|
|
1011
1361
|
exports.createAnomalyFlagEvent = createAnomalyFlagEvent;
|
|
1362
|
+
exports.createApiCallEvent = createApiCallEvent;
|
|
1012
1363
|
exports.createAuthEvent = createAuthEvent;
|
|
1013
1364
|
exports.createBehaviorEvent = createBehaviorEvent;
|
|
1365
|
+
exports.createContextIntegrityEvent = createContextIntegrityEvent;
|
|
1014
1366
|
exports.createModelOutputEvent = createModelOutputEvent;
|
|
1015
1367
|
exports.createNetworkEvent = createNetworkEvent;
|
|
1368
|
+
exports.createPolicyEvent = createPolicyEvent;
|
|
1369
|
+
exports.createPromptInputEvent = createPromptInputEvent;
|
|
1370
|
+
exports.createRagRetrievalEvent = createRagRetrievalEvent;
|
|
1371
|
+
exports.createSessionEvent = createSessionEvent;
|
|
1016
1372
|
exports.createSystemTelemetryEvent = createSystemTelemetryEvent;
|
|
1373
|
+
exports.createToolCallEvent = createToolCallEvent;
|
|
1017
1374
|
exports.createTransactionEvent = createTransactionEvent;
|
|
1375
|
+
exports.createUserFeedbackEvent = createUserFeedbackEvent;
|
|
1376
|
+
exports.createWorkflowActionEvent = createWorkflowActionEvent;
|
|
1018
1377
|
exports.parseQatiConfig = parseQatiConfig;
|
|
1019
1378
|
exports.resolveQatiConfig = resolveQatiConfig;
|
|
1020
1379
|
//# sourceMappingURL=index.cjs.map
|