UNPKG

@mitre-attack/attack-data-model

Version:

A TypeScript API for the MITRE ATT&CK data model

55 lines (52 loc) 2.13 kB
import { z } from 'zod/v4'; import { StixIdentifier } from './stix-id.js'; import './stix-type.js'; /** * The official STIX identifier for the MITRE Corporation identity object. * * This constant represents MITRE's identity in the STIX ecosystem and is used to * attribute objects to the MITRE organization. */ declare const xMitreIdentity: StixIdentifier; /** * Schema for validating the MITRE identity identifier. * * Ensures that the value exactly matches MITRE's official STIX identity. */ declare const xMitreIdentitySchema: z.ZodLiteral<`identity--${string}`>; /** * Schema for validating modified-by references (`x_mitre_modified_by_ref`). * * The STIX ID of the MITRE identity object, used to track the identity of the MITRE * organization which created the current version of the object. Previous versions may * have been created by other individuals or organizations. * * @example * ```typescript * xMitreModifiedByRefSchema.parse('identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5'); // Valid * xMitreModifiedByRefSchema.parse('identity--other'); // Invalid - must be MITRE identity * ``` */ declare const xMitreModifiedByRefSchema: z.ZodLiteral<`identity--${string}`>; /** * Type representing a validated MITRE modified-by reference. */ type XMitreModifiedByRef = z.infer<typeof xMitreModifiedByRefSchema>; /** * Schema for validating contributors (`x_mitre_contributors`). * * An array of names representing people and organizations who have contributed to the * ATT&CK object. This property is not found on relationship objects. * * @example * ```typescript * xMitreContributorsSchema.parse(['John Doe', 'Acme Security']); // Valid * xMitreContributorsSchema.parse([]); // Invalid - at least one contributor required when present * ``` */ declare const xMitreContributorsSchema: z.ZodArray<z.ZodString>; /** * Type representing a list of contributors. */ type XMitreContributors = z.infer<typeof xMitreContributorsSchema>; export { type XMitreContributors, type XMitreModifiedByRef, xMitreContributorsSchema, xMitreIdentity, xMitreIdentitySchema, xMitreModifiedByRefSchema };