@disclosureos/records 1.0.0
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/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +121 -0
- package/dist/attachment-Hrg8uHuf.d.ts +23 -0
- package/dist/confidence-level-CV3P1W5_.d.ts +25 -0
- package/dist/constants/index.d.ts +28 -0
- package/dist/constants/index.js +885 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/credibility-CcQ0MUfQ.d.ts +14 -0
- package/dist/digital-ADBJTqSi.d.ts +278 -0
- package/dist/domains-CjIFZGBh.d.ts +330 -0
- package/dist/enum-guard-DzPkp2oJ.d.ts +101 -0
- package/dist/extensions/document/index.d.ts +47 -0
- package/dist/extensions/document/index.js +31 -0
- package/dist/extensions/document/index.js.map +1 -0
- package/dist/extensions/identifiers/index.d.ts +139 -0
- package/dist/extensions/identifiers/index.js +47 -0
- package/dist/extensions/identifiers/index.js.map +1 -0
- package/dist/extensions/physical/index.d.ts +84 -0
- package/dist/extensions/physical/index.js +84 -0
- package/dist/extensions/physical/index.js.map +1 -0
- package/dist/extensions/provenance/index.d.ts +153 -0
- package/dist/extensions/provenance/index.js +120 -0
- package/dist/extensions/provenance/index.js.map +1 -0
- package/dist/extensions/testimony/index.d.ts +400 -0
- package/dist/extensions/testimony/index.js +203 -0
- package/dist/extensions/testimony/index.js.map +1 -0
- package/dist/factories/index.d.ts +31 -0
- package/dist/factories/index.js +905 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/formatters/index.d.ts +18 -0
- package/dist/formatters/index.js +156 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/geo/index.d.ts +16 -0
- package/dist/geo/index.js +146 -0
- package/dist/geo/index.js.map +1 -0
- package/dist/guards/index.d.ts +74 -0
- package/dist/guards/index.js +892 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.js +1350 -0
- package/dist/index.js.map +1 -0
- package/dist/labels/index.d.ts +33 -0
- package/dist/labels/index.js +181 -0
- package/dist/labels/index.js.map +1 -0
- package/dist/location-56xtMNtC.d.ts +408 -0
- package/dist/media/index.d.ts +3 -0
- package/dist/media/index.js +21 -0
- package/dist/media/index.js.map +1 -0
- package/dist/observation/index.d.ts +7 -0
- package/dist/observation/index.js +865 -0
- package/dist/observation/index.js.map +1 -0
- package/dist/shared/index.d.ts +29 -0
- package/dist/shared/index.js +87 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/source/index.d.ts +51 -0
- package/dist/source/index.js +45 -0
- package/dist/source/index.js.map +1 -0
- package/dist/source/sensor/index.d.ts +170 -0
- package/dist/source/sensor/index.js +69 -0
- package/dist/source/sensor/index.js.map +1 -0
- package/dist/temporal/index.d.ts +20 -0
- package/dist/temporal/index.js +78 -0
- package/dist/temporal/index.js.map +1 -0
- package/dist/temporal-data-t8Mzu8Ui.d.ts +148 -0
- package/dist/time-of-day-DLDBwTrn.d.ts +165 -0
- package/dist/types-CzNfaip-.d.ts +1267 -0
- package/dist/types-DH_-SdHj.d.ts +11 -0
- package/dist/types-clxXEQOH.d.ts +27 -0
- package/dist/validation-C-_QLXXf.d.ts +34 -0
- package/dist/validators/index.d.ts +15 -0
- package/dist/validators/index.js +895 -0
- package/dist/validators/index.js.map +1 -0
- package/package.json +146 -0
- package/schema/records.schema.json +2538 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/confidence-level.ts","../../src/shared/enum-guard.ts","../../src/source/types.ts","../../src/source/credibility.ts","../../src/temporal/certainty.ts","../../src/temporal/time-of-day.ts","../../src/temporal/date-range.ts","../../src/media/types.ts","../../src/geo/location.ts","../../src/source/reference.ts","../../src/observation/domains.ts","../../src/extensions/testimony/category.ts","../../src/source/sensor/types.ts","../../src/extensions/provenance/custody.ts","../../src/extensions/physical/types.ts","../../src/extensions/provenance/digital.ts","../../src/temporal/temporal-data.ts","../../src/media/attachment.ts","../../src/extensions/provenance/index.ts","../../src/extensions/identifiers/external.ts","../../src/extensions/testimony/credibility.ts","../../src/extensions/testimony/witness.ts","../../src/extensions/testimony/statement.ts","../../src/extensions/document/types.ts","../../src/observation/types.ts","../../src/guards/index.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["import { z } from 'zod';\n\n/**\n * The single qualitative confidence magnitude for the ecosystem.\n * Merges the former `ConfidenceLevel` (investigation) and `CredibilityRating`\n * (testimony) — which were byte-identical — plus the inline high/medium/low\n * scales in `provenance/digital`.\n *\n * Distinct from `SourceCredibility` (trust tier), `TemporalCertainty` (time\n * precision), and `AssessmentLevel` (evidentiary tier) — those are the other\n * three orthogonal axes and are intentionally NOT merged here.\n */\nexport const ConfidenceLevelSchema = z\n .enum(['very_high', 'high', 'moderate', 'low', 'very_low', 'unassessed'])\n .describe('Qualitative confidence magnitude.');\n\nexport type ConfidenceLevel = z.infer<typeof ConfidenceLevelSchema>;\n\nexport const CONFIDENCE_LEVELS = ConfidenceLevelSchema.options;\n\nexport function isConfidenceLevel(value: unknown): value is ConfidenceLevel {\n return ConfidenceLevelSchema.safeParse(value).success;\n}\n","/**\n * One canonical enum-guard factory for the whole ecosystem.\n *\n * Replaces the three byte-identical private copies that lived in\n * `records/guards`, `observables/guards`, and `origins/guards`.\n */\nexport function createEnumGuard<T extends string>(values: readonly T[]) {\n const set = new Set<string>(values);\n return (value: unknown): value is T => typeof value === 'string' && set.has(value);\n}\n\nimport type { ZodType } from 'zod';\n\n/**\n * Schema-derived type guard. Replaces hand-maintained `createEnumGuard(ARRAY)`\n * calls once a Zod schema is the source of truth — `makeGuard(XSchema)` narrows\n * to the schema's inferred type with no parallel value array to drift.\n */\nexport function makeGuard<T>(schema: ZodType<T>) {\n return (value: unknown): value is T => schema.safeParse(value).success;\n}\n","import { z } from 'zod';\n\nexport const SourceTypeSchema = z\n .enum([\n 'foia',\n 'official_report',\n 'official_statement',\n 'congressional_testimony',\n 'congressional_report',\n 'military_document',\n 'intelligence_document',\n 'whistleblower',\n 'firsthand_witness',\n 'secondhand_account',\n 'news_article',\n 'documentary',\n 'interview',\n 'book',\n 'academic_paper',\n 'investigation_report',\n 'database_entry',\n 'social_media',\n 'website',\n 'other',\n ])\n .describe('Kind of source backing an observation (document, testimony, media, etc.).');\n\nexport type SourceType = z.infer<typeof SourceTypeSchema>;\n","import { z } from 'zod';\n\nexport const SourceCredibilitySchema = z\n .enum(['official', 'verified', 'credible', 'unverified', 'questionable', 'disputed', 'unknown'])\n .describe('Trust tier of a source — an orthogonal axis to confidence and temporal certainty.');\n\nexport type SourceCredibility = z.infer<typeof SourceCredibilitySchema>;\n","import { z } from 'zod';\n\n/**\n * How confident we are in a date or time value.\n *\n * The single certainty scale for all temporal values in the model —\n * `TemporalData.date`/`time`, `FuzzyDate`, `DateRange` bounds, and testimony\n * dates all use it.\n */\nexport const TemporalCertaintySchema = z\n .enum(['exact', 'approximate', 'estimated', 'unknown'])\n .describe('Confidence in a date or time value — the single certainty scale for all temporal values.');\n\nexport type TemporalCertainty = z.infer<typeof TemporalCertaintySchema>;\n","import { z } from 'zod';\n\n/** Twilight-aware time-of-day bucket for an observation. */\nexport const TimeOfDaySchema = z\n .enum([\n 'astronomical_dawn',\n 'nautical_dawn',\n 'civil_dawn',\n 'sunrise',\n 'morning',\n 'noon',\n 'afternoon',\n 'sunset',\n 'civil_dusk',\n 'nautical_dusk',\n 'astronomical_dusk',\n 'night',\n 'unknown',\n ])\n .describe('Twilight-aware time-of-day bucket for an observation.');\n\nexport type TimeOfDay = z.infer<typeof TimeOfDaySchema>;\n","import { z } from 'zod';\nimport { TemporalCertaintySchema } from './certainty';\n\nexport const DateGranularitySchema = z\n .enum(['exact', 'month', 'quarter', 'year', 'decade', 'century', 'unknown'])\n .describe('Precision of a date value, from calendar-day (`exact`) to `century`.');\n\nexport type DateGranularity = z.infer<typeof DateGranularitySchema>;\n\nexport const DateRangeTypeSchema = z\n .enum(['span', 'uncertainty', 'active_period', 'investigation_period', 'observation_window'])\n .describe('What a DateRange represents (a true span vs. an uncertainty window, etc.).');\n\nexport type DateRangeType = z.infer<typeof DateRangeTypeSchema>;\n\n/**\n * A single date whose precision is coarser than a calendar day (e.g. \"summer 1947\").\n * Used as the bounds of a {@link DateRange}; for a top-level observation date,\n * prefer `TemporalData.date` + `dateGranularity` (the flattened form).\n */\nexport const FuzzyDateSchema = z\n .object({\n value: z\n .string()\n .describe('Machine-comparable anchor (ISO-like, as precise as known, e.g. `1947`, `1947-07`).'),\n granularity: DateGranularitySchema,\n certainty: TemporalCertaintySchema,\n quarter: z\n .union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)])\n .optional()\n .describe('Calendar quarter (1–4) when granularity is `quarter`.'),\n display: z.string().optional().describe('Human display override, e.g. \"Summer 1947\".'),\n notes: z.string().optional().describe('Free-text caveats about how this date was determined.'),\n })\n .meta({ id: 'FuzzyDate' })\n .describe('A date whose precision is coarser than a calendar day (e.g. \"summer 1947\").');\n\nexport type FuzzyDate = z.infer<typeof FuzzyDateSchema>;\n\nexport const DateRangeSchema = z\n .object({\n start: FuzzyDateSchema,\n end: FuzzyDateSchema,\n type: DateRangeTypeSchema,\n display: z.string().optional().describe('Human display override, e.g. \"July–August 1952\".'),\n inclusive: z.boolean().optional().describe('Whether the end date is included in the range. Defaults to true.'),\n })\n .meta({ id: 'DateRange' })\n .describe('A period or uncertainty window bounded by two FuzzyDates.');\n\nexport type DateRange = z.infer<typeof DateRangeSchema>;\n\nexport const RelativeDateSchema = z\n .object({\n referenceEvent: z.string().describe('The event this date is anchored to (e.g. \"the crash\").'),\n referenceDate: FuzzyDateSchema.optional(),\n relation: z\n .enum(['before', 'after', 'during', 'around'])\n .describe('How this date relates to the reference event.'),\n offset: z\n .object({\n value: z.number(),\n unit: z.enum(['minutes', 'hours', 'days', 'weeks', 'months', 'years']),\n approximate: z.boolean().optional(),\n })\n .optional()\n .describe('Distance from the reference event (e.g. value 3, unit \"days\").'),\n display: z.string().optional().describe('Human display override, e.g. \"three days after the crash\".'),\n })\n .meta({ id: 'RelativeDate' })\n .describe('A date known only relative to another event (e.g. \"3 days after the crash\").');\n\nexport type RelativeDate = z.infer<typeof RelativeDateSchema>;\n","import { z } from 'zod';\n\nexport const MediaTypeSchema = z\n .enum(['image', 'video', 'document', 'audio'])\n .describe('Kind of media attachment.');\n\nexport type MediaType = z.infer<typeof MediaTypeSchema>;\n","import { z } from 'zod';\n\nexport const CoordinatePrecisionSchema = z\n .enum(['exact', 'address', 'locality', 'region', 'approximate', 'unknown'])\n .describe('How precisely a coordinate is known.');\n\nexport type CoordinatePrecision = z.infer<typeof CoordinatePrecisionSchema>;\n\nexport const SiteTypeSchema = z\n .enum([\n 'military_air_base',\n 'military_naval_base',\n 'military_army_base',\n 'military_missile_site',\n 'military_radar_station',\n 'military_research_facility',\n 'military_training_area',\n 'military_other',\n 'nuclear_power_plant',\n 'nuclear_weapons_storage',\n 'nuclear_research_facility',\n 'nuclear_waste_storage',\n 'nuclear_other',\n 'civilian_airport',\n 'private_airfield',\n 'heliport',\n 'seaport',\n 'offshore_platform',\n 'naval_vessel',\n 'government_facility',\n 'embassy',\n 'intelligence_facility',\n 'power_plant',\n 'dam',\n 'telecommunications',\n 'water_treatment',\n 'research_facility',\n 'test_range',\n 'space_station',\n 'archaeological_site',\n 'volcano',\n 'command_center',\n 'residential',\n 'commercial',\n 'industrial',\n 'agricultural',\n 'wilderness',\n 'ocean',\n 'lake',\n 'mountain',\n 'desert',\n 'forest',\n 'urban',\n 'suburban',\n 'rural',\n 'other',\n 'unknown',\n ])\n .describe('Category of site at or near the observation location (military, nuclear, civilian, natural, etc.).');\n\nexport type SiteType = z.infer<typeof SiteTypeSchema>;\n\nexport const TerrainTypeSchema = z\n .enum([\n 'ocean',\n 'coastal',\n 'lake',\n 'river',\n 'wetland',\n 'plains',\n 'hills',\n 'mountains',\n 'desert',\n 'forest',\n 'jungle',\n 'tundra',\n 'arctic',\n 'urban',\n 'suburban',\n 'rural',\n 'underground',\n 'underwater',\n 'airborne',\n 'space',\n 'unknown',\n ])\n .describe('Physical terrain at the observation location.');\n\nexport type TerrainType = z.infer<typeof TerrainTypeSchema>;\n\nexport const AirspaceClassSchema = z\n .enum([\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'G',\n 'restricted',\n 'prohibited',\n 'warning',\n 'moa',\n 'alert',\n 'cfa',\n 'national_security',\n 'tfr',\n 'international',\n 'unknown',\n ])\n .describe('Airspace classification over the location (ICAO classes plus special-use airspace).');\n\nexport type AirspaceClass = z.infer<typeof AirspaceClassSchema>;\n\nexport const LocationSensitivitySchema = z\n .enum(['critical', 'high', 'moderate', 'standard', 'none'])\n .describe('How sensitive the location is (e.g. proximity to critical infrastructure).');\n\nexport type LocationSensitivity = z.infer<typeof LocationSensitivitySchema>;\n\nexport const ProximitySiteSchema = z\n .object({\n siteType: SiteTypeSchema,\n siteName: z.string().optional().describe('Name of the nearby site (e.g. \"Naval Air Station Oceana\").'),\n distanceKm: z.number().describe('Distance from the observation location, in kilometers.'),\n bearing: z.number().optional().describe('Compass bearing from the observation location to the site, in degrees (0–360).'),\n })\n .meta({ id: 'ProximitySite' })\n .describe('A site of interest near the observation and its distance/bearing.');\n\nexport type ProximitySite = z.infer<typeof ProximitySiteSchema>;\n\nexport const LocationDataSchema = z\n .object({\n id: z.string().min(1).describe('Stable unique identifier for this location.'),\n name: z.string().min(1).describe('Human-readable place name (e.g. \"Off the coast of San Diego\").'),\n country: z.string().min(1).describe('Country where the observation occurred.'),\n countryCode: z.string().optional().describe('ISO 3166-1 alpha-2 country code (e.g. \"US\").'),\n region: z.string().optional().describe('State, province, or administrative region.'),\n city: z.string().optional().describe('Nearest city or town.'),\n address: z.string().optional().describe('Street address, when the location is that precise.'),\n longitude: z.number().min(-180).max(180).describe('Longitude in decimal degrees (WGS 84).'),\n latitude: z.number().min(-90).max(90).describe('Latitude in decimal degrees (WGS 84).'),\n coordinatePrecision: CoordinatePrecisionSchema.optional(),\n coordinatePrecisionMeters: z\n .number()\n .optional()\n .describe('Numeric uncertainty radius of the coordinates, in meters.'),\n coordinatesApproximate: z\n .boolean()\n .optional()\n .describe('Whether the coordinates are an approximation rather than a measured fix.'),\n elevationMeters: z.number().optional().describe('Ground elevation at the location, in meters above sea level.'),\n elevationSource: z\n .enum(['gps', 'map', 'estimated', 'unknown'])\n .optional()\n .describe('How the elevation value was obtained.'),\n siteType: SiteTypeSchema,\n secondarySiteTypes: z\n .array(SiteTypeSchema)\n .optional()\n .describe('Additional site categories that also apply to the location.'),\n terrain: TerrainTypeSchema.optional(),\n airspaceClass: AirspaceClassSchema.optional(),\n locationSensitivity: LocationSensitivitySchema.optional(),\n proximitySites: z\n .array(ProximitySiteSchema)\n .optional()\n .describe('Named sites of interest near the observation, with distance and bearing.'),\n nearestMilitaryKm: z\n .number()\n .optional()\n .describe('Distance to the nearest military installation, in kilometers.'),\n nearestNuclearKm: z.number().optional().describe('Distance to the nearest nuclear facility, in kilometers.'),\n nearestAirportKm: z.number().optional().describe('Distance to the nearest airport, in kilometers.'),\n waterDepthMeters: z\n .number()\n .optional()\n .describe('Water depth at the location for maritime observations, in meters.'),\n vesselName: z.string().optional().describe('Name of the vessel the observer was aboard, if any.'),\n vesselType: z.string().optional().describe('Type of vessel (e.g. \"aircraft carrier\", \"fishing trawler\").'),\n aircraftType: z.string().optional().describe('Type of aircraft the observer was aboard, if any.'),\n aircraftCallsign: z.string().optional().describe('Callsign of the observer\\u2019s aircraft.'),\n flightNumber: z.string().optional().describe('Commercial flight number, for airline observations.'),\n observerAltitudeMeters: z\n .number()\n .optional()\n .describe('Altitude of an airborne observer at the time of observation, in meters.'),\n })\n .meta({ id: 'LocationData' })\n .describe('Where an observation occurred — identity, coordinates, site classification, and proximity context.');\n\nexport type LocationData = z.infer<typeof LocationDataSchema>;\n","import { z } from 'zod';\nimport { SourceTypeSchema } from './types';\nimport { SourceCredibilitySchema } from './credibility';\n\nexport const SourceReferenceSchema = z\n .object({\n sourceId: z.string().describe('Stable unique identifier for this source.'),\n type: SourceTypeSchema,\n title: z.string().describe('Title of the source document, article, or material.'),\n author: z.string().optional().describe('Author of the source material.'),\n organization: z.string().optional().describe('Organization that produced or published the source.'),\n date: z.string().optional().describe('Publication or creation date of the source (ISO date).'),\n url: z.string().optional().describe('Link to the source material.'),\n archiveUrl: z.string().optional().describe('Archived copy of the source (e.g. Wayback Machine), in case the original disappears.'),\n reference: z\n .string()\n .optional()\n .describe('Citation locator within the source (e.g. page number, document section).'),\n credibility: SourceCredibilitySchema,\n isPrimarySource: z\n .boolean()\n .optional()\n .describe('Whether this is a primary source (original document/recording) rather than secondary reporting.'),\n classificationLevel: z\n .string()\n .optional()\n .describe('Government classification of the source, if it was ever classified.'),\n notes: z.string().optional().describe('Free-text context about the source.'),\n })\n .meta({ id: 'SourceReference' })\n .describe('A citation/source backing an observation, with its credibility tier.');\n\nexport type SourceReference = z.infer<typeof SourceReferenceSchema>;\n","import { z } from 'zod';\nimport { SourceReferenceSchema } from '../source/reference';\n// `ConfidenceLevel` (investigation confidence) is the single shared qualitative\n// scale; imported here to keep one source of truth (DRY #1).\nimport { ConfidenceLevelSchema } from '../shared';\n\nexport const ObjectShapeSchema = z\n .enum([\n 'sphere', 'orb', 'disc', 'saucer', 'oval', 'egg',\n 'cylinder', 'cigar', 'tic_tac',\n 'triangle', 'delta', 'boomerang', 'chevron',\n 'diamond', 'rectangle', 'square', 'cube',\n 'cross', 'star',\n 'amorphous', 'changing', 'light_only',\n 'other', 'unknown',\n ])\n .describe('Reported shape of the observed object.');\n\nexport type ObjectShape = z.infer<typeof ObjectShapeSchema>;\n\nexport const ObjectCharacteristicsSchema = z\n .object({\n shape: ObjectShapeSchema.optional(),\n size: z.string().optional().describe('Apparent size as reported (e.g. \"size of a commercial airliner\").'),\n sizeMeters: z.number().optional().describe('Estimated size of the object, in meters.'),\n color: z.string().optional().describe('Primary color of the object as reported.'),\n secondaryColors: z.array(z.string()).optional().describe('Additional colors observed on the object.'),\n luminosity: z\n .string()\n .optional()\n .describe('Light emission as reported (e.g. \"glowing white\", \"self-luminous\", \"no lights\").'),\n sound: z.string().optional().describe('Whether and what sound the object produced (e.g. \"silent\", \"humming\").'),\n soundDescription: z.string().optional().describe('Fuller free-text description of any sound.'),\n surfaceDetails: z\n .string()\n .optional()\n .describe('Visible surface features (e.g. \"metallic, seamless, no rivets or seams\").'),\n numberObserved: z.number().optional().describe('How many objects were observed.'),\n formation: z\n .string()\n .optional()\n .describe('Geometric arrangement when multiple objects were observed (e.g. \"triangular formation\").'),\n structuralFeatures: z\n .array(z.string())\n .optional()\n .describe('Distinct structural elements reported (e.g. \"dome\", \"portholes\", \"appendages\").'),\n })\n .meta({ id: 'ObjectCharacteristics' })\n .describe('Physical description of the observed object(s).');\n\nexport type ObjectCharacteristics = z.infer<typeof ObjectCharacteristicsSchema>;\n\nexport const ManeuverTypeSchema = z\n .enum([\n 'hover', 'instant_acceleration', 'instant_stop',\n 'right_angle_turn', 'zigzag', 'pendulum',\n 'split', 'merge', 'disappear', 'appear',\n 'transmedium_entry', 'transmedium_exit',\n 'vertical_ascent', 'vertical_descent',\n 'rotation', 'wobble',\n 'other',\n ])\n .describe('A distinctive movement/maneuver exhibited by the object.');\n\nexport type ManeuverType = z.infer<typeof ManeuverTypeSchema>;\n\nexport const MovementSchema = z\n .object({\n speed: z.string().optional().describe('Speed as reported (e.g. \"faster than any known aircraft\").'),\n speedKmh: z.number().optional().describe('Estimated speed, in kilometers per hour.'),\n altitude: z.string().optional().describe('Altitude as reported (e.g. \"treetop level\", \"very high\").'),\n altitudeMeters: z.number().optional().describe('Estimated altitude of the object, in meters.'),\n heading: z.number().optional().describe('Direction of travel, in compass degrees (0–360).'),\n flightPath: z\n .string()\n .optional()\n .describe('Narrative of the object\\u2019s path through the encounter (e.g. \"descended from 80,000 ft to sea level\").'),\n maneuvers: z.array(ManeuverTypeSchema).optional().describe('Distinctive maneuvers exhibited, from the typed vocabulary.'),\n maneuverDescriptions: z\n .array(z.string())\n .optional()\n .describe('Free-text descriptions elaborating on the typed maneuvers.'),\n radarData: z.boolean().optional().describe('Whether the movement was tracked on radar.'),\n infraredSignature: z.boolean().optional().describe('Whether the object showed an infrared signature.'),\n trajectory: z.string().optional().describe('Overall trajectory summary (e.g. \"erratic\", \"straight and level\").'),\n })\n .meta({ id: 'Movement' })\n .describe('How the object moved — kinematics and notable maneuvers.');\n\nexport type Movement = z.infer<typeof MovementSchema>;\n\nexport const InvestigationSchema = z\n .object({\n investigatingBody: z\n .string()\n .optional()\n .describe('Primary organization that investigated (e.g. \"AARO\", \"Project Blue Book\").'),\n investigatingBodies: z\n .array(z.string())\n .optional()\n .describe('All organizations that investigated, when more than one.'),\n caseNumber: z.string().optional().describe('Case or file number assigned by the investigating body.'),\n investigationDate: z.string().optional().describe('When the investigation was conducted (ISO date).'),\n conclusion: z.string().optional().describe('Official conclusion reached (e.g. \"unidentified\", \"weather balloon\").'),\n confidence: ConfidenceLevelSchema.optional(),\n methodologies: z\n .array(z.string())\n .optional()\n .describe('Methods used (e.g. \"witness interviews\", \"radar data analysis\").'),\n findings: z.string().optional().describe('Summary of what the investigation found.'),\n recommendations: z.string().optional().describe('Recommendations issued by the investigation.'),\n })\n .meta({ id: 'Investigation' })\n .describe('Official/independent investigation of the observation.');\n\nexport type Investigation = z.infer<typeof InvestigationSchema>;\n\nexport const WitnessesSchema = z\n .object({\n count: z.number().optional().describe('Total number of witnesses.'),\n categories: z\n .array(z.string())\n .optional()\n .describe('Kinds of witnesses present (e.g. \"military pilots\", \"radar operators\", \"civilians\").'),\n militaryWitnesses: z.boolean().optional().describe('Whether any witnesses were military personnel.'),\n aviationWitnesses: z\n .boolean()\n .optional()\n .describe('Whether any witnesses were pilots or aviation professionals.'),\n multipleIndependent: z\n .boolean()\n .optional()\n .describe('Whether independent witnesses observed from separate vantage points.'),\n professionalObservers: z\n .boolean()\n .optional()\n .describe('Whether any witnesses were trained observers (pilots, astronomers, military).'),\n descriptions: z.array(z.string()).optional().describe('Brief summaries of individual witness accounts.'),\n })\n .meta({ id: 'Witnesses' })\n .describe('Aggregate summary of who witnessed the observation.');\n\nexport type Witnesses = z.infer<typeof WitnessesSchema>;\n\nexport const ResponseImpactSchema = z\n .object({\n officialResponse: z\n .string()\n .optional()\n .describe('How officials responded (statements, denials, acknowledgments).'),\n mediaAttention: z.boolean().optional().describe('Whether the observation received media coverage.'),\n publicImpact: z.string().optional().describe('Effect on public awareness or discourse.'),\n policyImpact: z\n .string()\n .optional()\n .describe('Policy consequences (e.g. hearings, legislation, reporting-process changes).'),\n militaryResponse: z\n .string()\n .optional()\n .describe('Military actions taken (e.g. intercept scrambled, alert status changed).'),\n coverUpAlleged: z\n .boolean()\n .optional()\n .describe('Whether suppression or concealment of the event has been alleged.'),\n })\n .meta({ id: 'ResponseImpact' })\n .describe('Official, media, and public response to the observation.');\n\nexport type ResponseImpact = z.infer<typeof ResponseImpactSchema>;\n\nexport const EnvironmentSchema = z\n .object({\n weather: z.string().optional().describe('General weather conditions (e.g. \"clear\", \"overcast\").'),\n visibility: z.string().optional().describe('Visibility conditions (e.g. \"unlimited\", \"10 miles\", \"hazy\").'),\n cloudCover: z.string().optional().describe('Cloud cover description (e.g. \"scattered at 5,000 ft\").'),\n windSpeed: z.string().optional().describe('Wind conditions as reported.'),\n temperature: z.number().optional().describe('Air temperature, in degrees Celsius.'),\n humidity: z.number().optional().describe('Relative humidity, as a percentage (0–100).'),\n celestialConditions: z\n .string()\n .optional()\n .describe('Sky conditions relevant to identification (e.g. visible planets, meteor showers, satellites).'),\n moonPhase: z.string().optional().describe('Moon phase description at the time of observation.'),\n precipitation: z.string().optional().describe('Precipitation at the time of observation, if any.'),\n })\n .meta({ id: 'Environment' })\n .describe('Environmental and weather conditions at the time of observation.');\n\nexport type Environment = z.infer<typeof EnvironmentSchema>;\n\nexport const RelationKindSchema = z\n .enum([\n 'corroborates',\n 'contradicts',\n 'duplicate_of',\n 'same_object',\n 'supersedes',\n 'superseded_by',\n 're_analysis_of',\n 'part_of',\n ])\n .describe('How one observation relates to another (typed edge vocabulary).');\n\nexport type RelationKind = z.infer<typeof RelationKindSchema>;\n\nexport const RelationEdgeSchema = z\n .object({\n kind: RelationKindSchema,\n targetId: z.string().min(1).describe('The `Observation.id` this edge points at.'),\n note: z.string().optional().describe('Free-text context for why the link exists.'),\n })\n .meta({ id: 'RelationEdge' })\n .describe('A typed link from this observation to another.');\n\nexport type RelationEdge = z.infer<typeof RelationEdgeSchema>;\n\nexport const RelationsSchema = z\n .object({\n /** Typed edges to other observations — the standardized way to link records. */\n edges: z\n .array(RelationEdgeSchema)\n .optional()\n .describe('Typed edges to other observations — the standardized way to link records.'),\n /** Named grouping into a flap (a localized cluster of sightings). */\n flap: z.string().optional().describe('Named grouping into a flap (a localized cluster of sightings).'),\n /** Named grouping into a wave (a broad temporal surge of sightings). */\n wave: z.string().optional().describe('Named grouping into a wave (a broad temporal surge of sightings).'),\n /** Named grouping into an ad-hoc cluster. */\n cluster: z.string().optional().describe('Named grouping into an ad-hoc cluster.'),\n /** @deprecated Use typed `edges` with `kind: 'corroborates' | 'same_object' | …`. */\n relatedObservationIds: z\n .array(z.string())\n .optional()\n .describe('Deprecated — use typed `edges` with `kind: \"corroborates\" | \"same_object\" | …`.'),\n /** @deprecated Use typed `edges` with `kind: 'supersedes' | 're_analysis_of' | …`. */\n precedingEvents: z\n .array(z.string())\n .optional()\n .describe('Deprecated — use typed `edges` with `kind: \"supersedes\" | \"re_analysis_of\" | …`.'),\n /** @deprecated Use typed `edges`. */\n followingEvents: z.array(z.string()).optional().describe('Deprecated — use typed `edges`.'),\n })\n .meta({ id: 'Relations' })\n .describe('Typed links to related observations, plus flap/wave/cluster groupings.');\n\nexport type Relations = z.infer<typeof RelationsSchema>;\n\nexport const AviationSchema = z\n .object({\n aircraftType: z.string().optional().describe('Type of aircraft involved (e.g. \"F/A-18F Super Hornet\").'),\n aircraftDesignation: z.string().optional().describe('Military designation or tail number of the aircraft.'),\n squadron: z.string().optional().describe('Squadron or unit the aircraft belonged to.'),\n flightMission: z.string().optional().describe('Mission being flown at the time (e.g. \"training exercise\", \"combat air patrol\").'),\n altitude: z.number().optional().describe('Aircraft altitude during the encounter, in meters.'),\n speed: z.number().optional().describe('Aircraft speed during the encounter, in kilometers per hour.'),\n heading: z.number().optional().describe('Aircraft heading during the encounter, in compass degrees (0–360).'),\n radarContact: z.boolean().optional().describe('Whether the aircraft\\u2019s radar held contact with the object.'),\n weaponsSystemEngaged: z\n .boolean()\n .optional()\n .describe('Whether a weapons system locked onto or tracked the object.'),\n interceptAttempted: z.boolean().optional().describe('Whether an intercept of the object was attempted.'),\n })\n .meta({ id: 'Aviation' })\n .describe('Aviation context when the observation involved aircraft.');\n\nexport type Aviation = z.infer<typeof AviationSchema>;\n\nexport const SourceDataSchema = z\n .object({\n primarySource: SourceReferenceSchema.optional(),\n sources: z.array(SourceReferenceSchema).optional(),\n originalClassification: z\n .string()\n .optional()\n .describe('Original government classification of the source material (e.g. \"SECRET\").'),\n declassificationDate: z.string().optional().describe('When the source material was declassified (ISO date).'),\n foiaRequestId: z.string().optional().describe('FOIA request number that produced the source material.'),\n archiveLocation: z\n .string()\n .optional()\n .describe('Physical or digital archive where the source material resides.'),\n })\n .meta({ id: 'SourceData' })\n .describe(\n 'Where the observation data came from. Forensic custody/authenticity now lives in the optional `Observation.provenance` slot (@disclosureos/records/extensions/provenance).',\n );\n\nexport type SourceData = z.infer<typeof SourceDataSchema>;\n\n// Re-export the shared qualitative confidence scale under the historical name\n// so existing `domains` consumers keep resolving `ConfidenceLevel` here.\nexport type { ConfidenceLevel } from '../shared';\n","import { z } from 'zod';\n\nexport const WitnessCategorySchema = z\n .enum([\n 'military_pilot',\n 'military_aircrew',\n 'military_ground',\n 'military_naval',\n 'military_radar_operator',\n 'military_other',\n 'commercial_pilot',\n 'commercial_aircrew',\n 'private_pilot',\n 'air_traffic_controller',\n 'aviation_other',\n 'government_official',\n 'elected_official',\n 'intelligence_officer',\n 'law_enforcement',\n 'scientist',\n 'astronomer',\n 'meteorologist',\n 'engineer',\n 'medical_professional',\n 'maritime',\n 'civilian',\n 'civilian_group',\n 'anonymous',\n 'unknown',\n ])\n .describe('Professional/role category of a witness.');\n\nexport type WitnessCategory = z.infer<typeof WitnessCategorySchema>;\n","import { z } from 'zod';\n\nexport const DetectionMethodSchema = z\n .enum([\n 'radar_primary',\n 'radar_secondary',\n 'radar_doppler',\n 'radar_phased_array',\n 'infrared_flir',\n 'infrared_other',\n 'electro_optical',\n 'visual_camera',\n 'satellite_imagery',\n 'sonar_active',\n 'sonar_passive',\n 'electromagnetic',\n 'radiation_detector',\n 'magnetometer',\n 'gravimeter',\n 'acoustic',\n 'seismic',\n 'lidar',\n 'spectroscopic',\n 'radio_frequency',\n 'multiple',\n 'other',\n 'unknown',\n ])\n .describe('How a sensor detected the object.');\n\nexport type DetectionMethod = z.infer<typeof DetectionMethodSchema>;\n\nexport const SensorTypeSchema = z\n .enum([\n 'military_radar',\n 'civilian_radar',\n 'airborne_radar',\n 'shipborne_radar',\n 'ground_radar',\n 'flir',\n 'eo_sensor',\n 'satellite',\n 'sonar',\n 'electromagnetic_sensor',\n 'radiation_sensor',\n 'civilian_camera',\n 'security_camera',\n 'dashcam',\n 'phone_camera',\n 'other',\n ])\n .describe('Class of sensor that produced a reading.');\n\nexport type SensorType = z.infer<typeof SensorTypeSchema>;\n\nexport const SensorReadingSchema = z\n .object({\n id: z.string().min(1).describe('Stable id, addressable by a claim `evidenceRef` (\"sensor:<id>\").'),\n sensorType: SensorTypeSchema,\n detectionMethod: DetectionMethodSchema,\n platform: z\n .string()\n .optional()\n .describe('Platform carrying the sensor (e.g. \"USS Princeton\", \"F/A-18F\").'),\n operator: z.string().optional().describe('Person or unit operating the sensor.'),\n timestamp: z.string().optional().describe('When the reading was recorded (ISO timestamp).'),\n duration: z.number().optional().describe('How long the sensor held contact, in seconds.'),\n rawDataAvailable: z.boolean().optional().describe('Whether the raw sensor data still exists and is obtainable.'),\n calibrated: z.boolean().optional().describe('Whether the sensor was calibrated at the time of the reading.'),\n readings: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('Sensor-specific measured values, keyed by measurement name.'),\n notes: z.string().optional().describe('Free-text context about the reading.'),\n })\n .meta({ id: 'SensorReading' })\n .describe('A single sensor reading and its provenance.');\n\nexport type SensorReading = z.infer<typeof SensorReadingSchema>;\n\nexport const SensorEvidenceDataSchema = z\n .object({\n sensors: z.array(SensorReadingSchema),\n multiSensorCorrelation: z\n .boolean()\n .optional()\n .describe('Whether independent sensors corroborated the same object.'),\n dataRetentionStatus: z\n .enum(['available', 'archived', 'destroyed', 'classified', 'unknown'])\n .optional()\n .describe('Current status of the underlying sensor data.'),\n anomalies: z\n .array(z.string())\n .optional()\n .describe('Anomalies in the sensor data itself (e.g. \"jamming indications\", \"signal dropout\").'),\n })\n .meta({ id: 'SensorEvidenceData' })\n .describe('Instrument-recorded evidence for an observation (radar, FLIR, EO, etc.).');\n\nexport type SensorEvidenceData = z.infer<typeof SensorEvidenceDataSchema>;\n","import { z } from 'zod';\n\nexport const ChainOfCustodySchema = z\n .enum([\n 'verified',\n 'partial',\n 'unverified',\n 'government_held',\n 'private_held',\n 'lost',\n 'destroyed',\n 'classified',\n 'unknown',\n ])\n .describe('Custody status of an evidence item.');\n\nexport type ChainOfCustody = z.infer<typeof ChainOfCustodySchema>;\n\nexport const CustodyActionSchema = z\n .enum([\n 'creation',\n 'collection',\n 'transfer',\n 'storage',\n 'analysis',\n 'release',\n 'classification',\n 'destruction',\n 'loss',\n 'recovery',\n 'other',\n ])\n .describe('An action recorded in a chain-of-custody entry.');\n\nexport type CustodyAction = z.infer<typeof CustodyActionSchema>;\n\nexport const CustodyEntrySchema = z\n .object({\n entryId: z.string().describe('Stable unique identifier for this custody entry.'),\n date: z.string().describe('When the custody event occurred (ISO date).'),\n action: CustodyActionSchema,\n from: z.string().optional().describe('Party that held the evidence before this event.'),\n to: z.string().optional().describe('Party that held the evidence after this event.'),\n location: z.string().optional().describe('Where the custody event took place.'),\n reference: z\n .string()\n .optional()\n .describe('Document or record substantiating the event (e.g. transfer receipt, log entry).'),\n notes: z.string().optional().describe('Free-text context about the event.'),\n })\n .meta({ id: 'CustodyEntry' })\n .describe('A single custody event for an evidence item.');\n\nexport type CustodyEntry = z.infer<typeof CustodyEntrySchema>;\n\nexport const ChainOfCustodyRecordSchema = z\n .object({\n evidenceId: z.string().describe('Identifier of the evidence item this custody history belongs to.'),\n status: ChainOfCustodySchema,\n entries: z.array(CustodyEntrySchema),\n })\n .meta({ id: 'ChainOfCustodyRecord' })\n .describe('The full custody history for a piece of evidence.');\n\nexport type ChainOfCustodyRecord = z.infer<typeof ChainOfCustodyRecordSchema>;\n","import { z } from 'zod';\nimport { ChainOfCustodySchema } from '../provenance/custody';\n\nexport const EvidenceTypeSchema = z\n .enum([\n 'material_sample',\n 'ground_trace',\n 'radiation_reading',\n 'electromagnetic_recording',\n 'photographic',\n 'video',\n 'audio_recording',\n 'biological_sample',\n 'implant',\n 'debris',\n 'soil_sample',\n 'water_sample',\n 'vegetation_sample',\n 'impression',\n 'burn_mark',\n 'other',\n ])\n .describe('Kind of physical evidence collected.');\n\nexport type EvidenceType = z.infer<typeof EvidenceTypeSchema>;\n\nexport const EvidenceQualitySchema = z\n .enum(['laboratory_grade', 'field_collected', 'uncontrolled', 'degraded', 'contaminated', 'unknown'])\n .describe('Collection/handling quality of a physical evidence item.');\n\nexport type EvidenceQuality = z.infer<typeof EvidenceQualitySchema>;\n\nexport const PhysicalEvidenceItemSchema = z\n .object({\n id: z.string().describe('Stable id, addressable by a claim `evidenceRef` (\"physical:<id>\").'),\n type: EvidenceTypeSchema,\n quality: EvidenceQualitySchema,\n description: z.string().optional().describe('What the evidence item is and what makes it notable.'),\n collectionDate: z.string().optional().describe('When the evidence was collected (ISO date).'),\n collectionMethod: z\n .string()\n .optional()\n .describe('How the evidence was collected (e.g. \"sterile swab\", \"soil core sample\").'),\n collectorName: z.string().optional().describe('Person who collected the evidence.'),\n collectorOrganization: z.string().optional().describe('Organization the collector represents.'),\n storageLocation: z.string().optional().describe('Where the evidence is currently stored.'),\n chainOfCustody: ChainOfCustodySchema.optional(),\n analysisPerformed: z\n .array(z.string())\n .optional()\n .describe('Analyses run on the evidence (e.g. \"isotopic analysis\", \"spectroscopy\").'),\n analysisResults: z.string().optional().describe('Summary of what the analyses found.'),\n photographed: z.boolean().optional().describe('Whether the evidence was photographed in situ or in the lab.'),\n labReport: z.boolean().optional().describe('Whether a formal laboratory report exists.'),\n notes: z.string().optional().describe('Free-text context about the evidence item.'),\n })\n .meta({ id: 'PhysicalEvidenceItem' })\n .describe('A physical artifact associated with an observation and its handling record.');\n\nexport type PhysicalEvidenceItem = z.infer<typeof PhysicalEvidenceItemSchema>;\n","import { z } from 'zod';\n\nexport const HashAlgorithmSchema = z\n .enum(['sha256', 'sha512', 'sha1', 'md5'])\n .describe('Cryptographic hash algorithm used to fingerprint a file.');\n\nexport type HashAlgorithm = z.infer<typeof HashAlgorithmSchema>;\n\nexport const FileHashSchema = z\n .object({\n algorithm: HashAlgorithmSchema,\n value: z.string().describe('Hex-encoded hash digest of the file contents.'),\n })\n .meta({ id: 'FileHash' })\n .describe('A content hash of a file.');\n\nexport type FileHash = z.infer<typeof FileHashSchema>;\n\nexport const VerificationMethodSchema = z\n .enum([\n 'metadata_analysis',\n 'forensic_analysis',\n 'hash_verification',\n 'chain_of_custody',\n 'source_confirmation',\n 'expert_review',\n 'ai_analysis',\n 'other',\n ])\n .describe('Method used to verify media authenticity.');\n\nexport type VerificationMethod = z.infer<typeof VerificationMethodSchema>;\n\nexport const VerificationResultSchema = z\n .enum([\n 'authentic',\n 'likely_authentic',\n 'inconclusive',\n 'likely_manipulated',\n 'manipulated',\n 'ai_generated',\n 'deepfake',\n 'composite',\n 'unknown',\n ])\n .describe('Outcome of an authenticity verification.');\n\nexport type VerificationResult = z.infer<typeof VerificationResultSchema>;\n\nexport const ThirdPartyVerificationSchema = z\n .object({\n verifier: z.string().describe('Name of the person who performed the verification.'),\n organization: z.string().optional().describe('Organization the verifier represents.'),\n credentials: z\n .string()\n .optional()\n .describe('Verifier\\u2019s relevant qualifications (e.g. \"certified forensic video analyst\").'),\n date: z.string().describe('When the verification was performed (ISO date).'),\n method: VerificationMethodSchema,\n methodDescription: z.string().optional().describe('Fuller description of how the verification was performed.'),\n result: VerificationResultSchema,\n confidence: z\n .enum(['high', 'medium', 'low'])\n .optional()\n .describe('Verifier\\u2019s confidence in their own result.'),\n findings: z.string().optional().describe('Summary of what the verification found.'),\n reportUrl: z.string().optional().describe('Link to the full verification report.'),\n })\n .meta({ id: 'ThirdPartyVerification' })\n .describe('An independent authenticity assessment of media or a document.');\n\nexport type ThirdPartyVerification = z.infer<typeof ThirdPartyVerificationSchema>;\n\nexport const CaptureMetadataSchema = z\n .object({\n device: z.string().optional().describe('Capture device as recorded in metadata (e.g. \"iPhone 14 Pro\").'),\n manufacturer: z.string().optional().describe('Device manufacturer from metadata.'),\n model: z.string().optional().describe('Device model from metadata.'),\n software: z.string().optional().describe('Software that produced or processed the file.'),\n originalFilename: z.string().optional().describe('Filename as originally captured, before any renaming.'),\n originalCreationDate: z.string().optional().describe('Creation timestamp embedded in the file metadata.'),\n gpsCoordinates: z\n .object({\n latitude: z.number(),\n longitude: z.number(),\n altitude: z.number().optional(),\n })\n .optional()\n .describe('GPS position embedded in the file metadata.'),\n metadataPreserved: z.boolean().optional().describe('Whether the original metadata survives intact.'),\n metadataStripped: z.boolean().optional().describe('Whether metadata was removed at some point.'),\n strippedReason: z\n .string()\n .optional()\n .describe('Why metadata was stripped (e.g. \"platform re-encoding\", \"privacy redaction\").'),\n })\n .meta({ id: 'CaptureMetadata' })\n .describe('Capture/EXIF-style metadata extracted from a media file.');\n\nexport type CaptureMetadata = z.infer<typeof CaptureMetadataSchema>;\n\nexport const DigitalProvenanceSchema = z\n .object({\n hash: FileHashSchema.optional(),\n additionalHashes: z.array(FileHashSchema).optional(),\n captureMetadata: CaptureMetadataSchema.optional(),\n verifications: z.array(ThirdPartyVerificationSchema).optional(),\n provenanceChain: z\n .array(z.string())\n .optional()\n .describe('Ordered hops the file took from capture to here (e.g. \"witness phone → NYT → public release\").'),\n manipulationDetected: z.boolean().optional().describe('Whether any analysis found evidence of manipulation.'),\n manipulationDescription: z.string().optional().describe('What manipulation was found, if any.'),\n authenticityAssessment: VerificationResultSchema.optional(),\n authenticityConfidence: z\n .enum(['high', 'medium', 'low', 'unassessed'])\n .optional()\n .describe('Overall confidence in the authenticity assessment.'),\n lastUpdated: z.string().optional().describe('When this provenance record was last updated (ISO timestamp).'),\n notes: z.string().optional().describe('Free-text context about the provenance trail.'),\n })\n .meta({ id: 'DigitalProvenance' })\n .describe('Digital authenticity trail for media: hashes, capture metadata, and verifications.');\n\nexport type DigitalProvenance = z.infer<typeof DigitalProvenanceSchema>;\n","import { z } from 'zod';\nimport { TemporalCertaintySchema } from './certainty';\nimport { TimeOfDaySchema } from './time-of-day';\nimport { DateGranularitySchema, DateRangeSchema, RelativeDateSchema } from './date-range';\n\nexport const TemporalDataSchema = z\n .object({\n date: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'must be a valid ISO date (YYYY-MM-DD)')\n .describe(\n 'Canonical, machine-sortable date anchor in ISO YYYY-MM-DD form. ALWAYS present, even when the true date is fuzzy or a range — set it to the best single representative. Express nuance via dateGranularity, dateRange, or relativeDate.',\n ),\n dateCertainty: TemporalCertaintySchema,\n dateGranularity: DateGranularitySchema.optional().describe(\n 'Precision of `date`. Defaults to day-level when omitted (e.g. \"July 1947\" → date \"1947-07-01\", dateGranularity \"month\").',\n ),\n time: z.string().optional().describe('Local clock time of the observation (HH:MM or HH:MM:SS, 24-hour).'),\n timezone: z.string().optional().describe('IANA timezone of the local time (e.g. \"America/Los_Angeles\").'),\n utcTime: z.string().optional().describe('Observation time converted to UTC, when known.'),\n timeCertainty: TemporalCertaintySchema.optional(),\n durationSeconds: z.number().optional().describe('How long the observation lasted, in seconds.'),\n durationDescription: z\n .string()\n .optional()\n .describe('Duration as reported when not precisely known (e.g. \"several minutes\").'),\n timeOfDay: TimeOfDaySchema.optional(),\n isDaylightSaving: z\n .boolean()\n .optional()\n .describe('Whether daylight saving time was in effect at the local time.'),\n moonPhase: z\n .number()\n .optional()\n .describe('Moon phase at the time of observation (0 = new moon, 0.5 = full, 1 = new).'),\n moonIllumination: z\n .number()\n .optional()\n .describe('Fraction of the moon illuminated at the time of observation (0–1).'),\n dateRange: DateRangeSchema.optional().describe(\n 'For events spanning a period or with a genuine uncertainty window. `date` should still anchor within/at the range.',\n ),\n relativeDate: RelativeDateSchema.optional().describe(\n 'For dates known only relative to another event (e.g. \"3 days after the crash\").',\n ),\n })\n .meta({ id: 'TemporalData' })\n .describe('When an observation occurred — a sortable anchor date plus optional fuzzy/range/relative nuance.');\n\nexport type TemporalData = z.infer<typeof TemporalDataSchema>;\n","import { z } from 'zod';\nimport { MediaTypeSchema } from './types';\n\nexport const MediaAttachmentSchema = z\n .object({\n id: z.string().min(1).describe('Stable id, addressable by a claim `evidenceRef` (\"media:<id>\").'),\n type: MediaTypeSchema,\n url: z.string().describe('Where the media file is hosted.'),\n thumbnailUrl: z.string().optional().describe('Preview/thumbnail image for the media.'),\n caption: z.string().optional().describe('Human-readable caption describing what the media shows.'),\n credit: z.string().optional().describe('Attribution for who captured or owns the media.'),\n mimeType: z.string().optional().describe('MIME type of the file (e.g. \"video/mp4\").'),\n fileSize: z.number().optional().describe('File size, in bytes.'),\n duration: z.number().optional().describe('Playback duration for video/audio, in seconds.'),\n width: z.number().optional().describe('Pixel width for images and video.'),\n height: z.number().optional().describe('Pixel height for images and video.'),\n })\n .meta({ id: 'MediaAttachment' })\n .describe('A media file associated with an observation (image, video, document, or audio).');\n\nexport type MediaAttachment = z.infer<typeof MediaAttachmentSchema>;\n","import { z } from 'zod';\nimport { ChainOfCustodyRecordSchema, ChainOfCustodySchema } from './custody';\nimport { DigitalProvenanceSchema } from './digital';\n\nexport {\n ChainOfCustodySchema,\n CustodyActionSchema,\n CustodyEntrySchema,\n ChainOfCustodyRecordSchema,\n} from './custody';\nexport type {\n ChainOfCustody,\n CustodyAction,\n CustodyEntry,\n ChainOfCustodyRecord,\n} from './custody';\nexport {\n HashAlgorithmSchema,\n FileHashSchema,\n ThirdPartyVerificationSchema,\n VerificationMethodSchema,\n VerificationResultSchema,\n CaptureMetadataSchema,\n DigitalProvenanceSchema,\n} from './digital';\nexport type {\n HashAlgorithm,\n FileHash,\n ThirdPartyVerification,\n VerificationMethod,\n VerificationResult,\n CaptureMetadata,\n DigitalProvenance,\n} from './digital';\n\n/**\n * Payload of the optional `Observation.provenance` slot — the forensic/custody\n * trail for a record: high-level custody status, the full custody chain, and the\n * digital authenticity record. All optional; attach only what applies.\n */\nexport const ProvenanceSchema = z\n .object({\n custodyStatus: ChainOfCustodySchema.optional(),\n custody: ChainOfCustodyRecordSchema.optional(),\n digital: DigitalProvenanceSchema.optional(),\n })\n .meta({ id: 'Provenance' })\n .describe('Forensic provenance for an observation: custody status/chain and digital authenticity.');\n\nexport type Provenance = z.infer<typeof ProvenanceSchema>;\n","import { z } from 'zod';\n\nexport const IdentifierSystemSchema = z\n .enum([\n 'nuforc',\n 'mufon',\n 'geipan',\n 'cufos',\n 'nicap',\n 'bluebook',\n 'nara',\n 'foia',\n 'aaro',\n 'congress',\n 'doi',\n 'arxiv',\n 'orcid',\n 'pubmed',\n 'isbn',\n 'issn',\n 'youtube',\n 'vimeo',\n 'internet_archive',\n 'wayback',\n 'url',\n 'uri',\n 'custom',\n ])\n .describe('External identifier namespace (reporting centers, archives, academic registries, media hosts).');\n\nexport type IdentifierSystem = z.infer<typeof IdentifierSystemSchema>;\n\nexport const ExternalIdentifierSchema = z\n .object({\n system: IdentifierSystemSchema,\n systemName: z\n .string()\n .optional()\n .describe('Display name of the system, required when `system` is \"custom\".'),\n value: z.string().describe('The identifier value within the external system (e.g. a case number).'),\n url: z.string().optional().describe('Direct link to the record in the external system.'),\n verified: z.boolean().optional().describe('Whether the identifier has been confirmed to point at this observation.'),\n verifiedDate: z.string().optional().describe('When the identifier was last verified (ISO date).'),\n accessible: z.boolean().optional().describe('Whether the external record is currently reachable.'),\n accessCheckedDate: z.string().optional().describe('When accessibility was last checked (ISO date).'),\n notes: z.string().optional().describe('Free-text context about the cross-reference.'),\n })\n .meta({ id: 'ExternalIdentifier' })\n .describe('A reference to this observation in an external system or archive.');\n\nexport type ExternalIdentifier = z.infer<typeof ExternalIdentifierSchema>;\n\nexport const CrossReferencesSchema = z\n .object({\n primary: ExternalIdentifierSchema.optional(),\n identifiers: z.array(ExternalIdentifierSchema),\n })\n .meta({ id: 'CrossReferences' })\n .describe('External identifiers cross-referencing this observation, with an optional primary.');\n\nexport type CrossReferences = z.infer<typeof CrossReferencesSchema>;\n","import { z } from 'zod';\nimport { ConfidenceLevelSchema } from '../../shared';\n\nexport const CredibilityFactorSchema = z\n .enum([\n 'professional_training',\n 'official_capacity',\n 'sworn_statement',\n 'contemporaneous_record',\n 'corroborating_witnesses',\n 'corroborating_evidence',\n 'consistent_account',\n 'no_apparent_motive',\n 'reputation_risk',\n 'security_clearance',\n ])\n .describe('A factor strengthening witness credibility.');\n\nexport type CredibilityFactor = z.infer<typeof CredibilityFactorSchema>;\n\nexport const CredibilityDetractorSchema = z\n .enum([\n 'anonymous',\n 'inconsistent_account',\n 'delayed_report',\n 'known_fabricator',\n 'financial_motive',\n 'single_witness',\n 'impaired_state',\n 'recovered_memory',\n ])\n .describe('A factor weakening witness credibility.');\n\nexport type CredibilityDetractor = z.infer<typeof CredibilityDetractorSchema>;\n\nexport const WitnessCredibilitySchema = z\n .object({\n // The former `CredibilityRating` was byte-identical to the qualitative\n // `ConfidenceLevel`; it is now the single shared scale (DRY #1).\n rating: ConfidenceLevelSchema.optional(),\n factors: z.array(CredibilityFactorSchema).optional(),\n detractors: z.array(CredibilityDetractorSchema).optional(),\n isProfessionalObserver: z\n .boolean()\n .optional()\n .describe('Whether the witness is a trained observer (pilot, astronomer, military).'),\n hasAviationExperience: z.boolean().optional().describe('Whether the witness has aviation experience.'),\n hasMilitaryExperience: z.boolean().optional().describe('Whether the witness has military experience.'),\n hasScientificBackground: z.boolean().optional().describe('Whether the witness has a scientific background.'),\n hasPriorUAPKnowledge: z\n .boolean()\n .optional()\n .describe('Whether the witness had prior knowledge of or interest in UAP before the observation.'),\n wasSkepticPrior: z\n .boolean()\n .optional()\n .describe('Whether the witness was a skeptic before the observation.'),\n underOathTestimony: z.boolean().optional().describe('Whether the testimony was given under oath.'),\n polygraphAdministered: z.boolean().optional().describe('Whether a polygraph was administered.'),\n polygraphPassed: z.boolean().optional().describe('Whether the witness passed the polygraph.'),\n consistentTestimony: z\n .boolean()\n .optional()\n .describe('Whether the account has remained consistent across retellings.'),\n willingToBeIdentified: z\n .boolean()\n .optional()\n .describe('Whether the witness is willing to be publicly identified.'),\n notes: z.string().optional().describe('Free-text context about the credibility assessment.'),\n })\n .meta({ id: 'WitnessCredibility' })\n .describe('Structured assessment of a witness\\'s credibility (rating, factors, detractors).');\n\nexport type WitnessCredibility = z.infer<typeof WitnessCredibilitySchema>;\n","import { z } from 'zod';\nimport { WitnessCategorySchema } from './category';\nimport { WitnessCredibilitySchema } from './credibility';\n\nexport const SecurityClearanceSchema = z\n .enum(['none', 'confidential', 'secret', 'top_secret', 'sci', 'unknown'])\n .describe('Security clearance level held by a witness.');\n\nexport type SecurityClearance = z.infer<typeof SecurityClearanceSchema>;\n\nexport const WitnessSchema = z\n .object({\n witnessId: z.string().describe('Stable unique identifier for this witness.'),\n category: WitnessCategorySchema,\n anonymous: z.boolean().describe('Whether the witness\\u2019s identity is withheld.'),\n publicName: z.string().optional().describe('Witness\\u2019s name as publicly known, when not anonymous.'),\n pseudonym: z.string().optional().describe('Pseudonym used when the witness is anonymous.'),\n role: z.string().optional().describe('Witness\\u2019s role at the time (e.g. \"F/A-18F pilot\", \"radar operator\").'),\n organization: z.string().optional().describe('Organization the witness belonged to at the time.'),\n experienceYears: z.number().optional().describe('Years of relevant professional experience.'),\n securityClearance: SecurityClearanceSchema.optional(),\n credibility: WitnessCredibilitySchema.optional(),\n statementSummary: z.string().optional().describe('Brief summary of what the witness reported.'),\n interviewAvailable: z.boolean().optional().describe('Whether a recorded interview with the witness exists.'),\n writtenReportAvailable: z.boolean().optional().describe('Whether a written report from the witness exists.'),\n })\n .meta({ id: 'Witness' })\n .describe('A person who reported or corroborated an observation.');\n\nexport type Witness = z.infer<typeof WitnessSchema>;\n","import { z } from 'zod';\nimport { TemporalCertaintySchema } from '../../temporal/certainty';\nimport { ChainOfCustodySchema } from '../provenance/custody';\nimport { SourceReferenceSchema } from '../../source/reference';\nimport { WitnessSchema } from './witness';\n\nexport const TestimonyContextSchema = z\n .enum([\n 'sworn_affidavit',\n 'congressional_testimony',\n 'deposition',\n 'official_interview',\n 'written_statement',\n 'recorded_interview',\n 'informal_account',\n 'anonymous_tip',\n 'whistleblower_disclosure',\n ])\n .describe('The setting in which testimony was given.');\n\nexport type TestimonyContext = z.infer<typeof TestimonyContextSchema>;\n\nexport const TestimonyDateSchema = z\n .object({\n date: z.string().describe('When the testimony was given (ISO date).'),\n certainty: TemporalCertaintySchema,\n })\n .meta({ id: 'TestimonyDate' })\n .describe('When testimony was given, with its certainty.');\n\nexport type TestimonyDate = z.infer<typeof TestimonyDateSchema>;\n\nexport const TestimonyStatementSchema = z\n .object({\n statementId: z\n .string()\n .describe('Stable id, addressable by a claim `evidenceRef` (\"testimony:<statementId>\").'),\n witness: WitnessSchema,\n context: TestimonyContextSchema,\n date: TestimonyDateSchema,\n content: z.string().optional().describe('Full text of the statement, when available.'),\n summary: z.string().optional().describe('Brief summary of what the statement asserts.'),\n sourceDocument: SourceReferenceSchema.optional(),\n chainOfCustody: ChainOfCustodySchema.optional(),\n additionalEvidenceIds: z\n .array(z.string())\n .optional()\n .describe('Ids of other evidence items the statement references or supports.'),\n })\n .meta({ id: 'TestimonyStatement' })\n .describe('A single witness statement, its context, and supporting documentation.');\n\nexport type TestimonyStatement = z.infer<typeof TestimonyStatementSchema>;\n","import { z } from 'zod';\n\nexport const DocumentTypeSchema = z\n .enum([\n 'foia_release',\n 'official_report',\n 'congressional_record',\n 'military_memo',\n 'intelligence_assessment',\n 'inspector_general',\n 'presidential_directive',\n 'executive_order',\n 'declassified_cable',\n 'investigation_file',\n 'other',\n ])\n .describe('Kind of government/official document.');\n\nexport type DocumentType = z.infer<typeof DocumentTypeSchema>;\n\nexport const DocumentMetadataSchema = z\n .object({\n documentType: DocumentTypeSchema,\n classificationLevel: z\n .string()\n .optional()\n .describe('Current classification of the document (e.g. \"UNCLASSIFIED\", \"SECRET//NOFORN\").'),\n originatingAgency: z.string().optional().describe('Agency that produced the document.'),\n controlNumbers: z\n .array(z.string())\n .optional()\n .describe('Agency control or tracking numbers stamped on the document.'),\n foiaRequestNumber: z.string().optional().describe('FOIA request number that produced the document.'),\n declassificationDate: z.string().optional().describe('When the document was declassified (ISO date).'),\n originalClassification: z.string().optional().describe('Classification the document carried when created.'),\n pageCount: z.number().optional().describe('Number of pages in the document.'),\n redactionLevel: z\n .enum(['none', 'partial', 'heavy', 'unknown'])\n .optional()\n .describe('How much of the document is redacted.'),\n })\n .meta({ id: 'DocumentMetadata' })\n .describe('Provenance metadata for a source document (classification, agency, redaction).');\n\nexport type DocumentMetadata = z.infer<typeof DocumentMetadataSchema>;\n","import { z } from 'zod';\nimport { TemporalDataSchema } from '../temporal/temporal-data';\nimport { LocationDataSchema } from '../geo/location';\nimport { MediaAttachmentSchema } from '../media/attachment';\nimport { SensorEvidenceDataSchema } from '../source/sensor/types';\nimport { ProvenanceSchema } from '../extensions/provenance';\nimport { CrossReferencesSchema } from '../extensions/identifiers';\nimport { TestimonyStatementSchema } from '../extensions/testimony';\nimport { PhysicalEvidenceItemSchema } from '../extensions/physical';\nimport { DocumentMetadataSchema } from '../extensions/document';\nimport type { LocationData } from '../geo/location';\nimport type { TemporalData } from '../temporal/temporal-data';\nimport {\n ObjectCharacteristicsSchema,\n MovementSchema,\n WitnessesSchema,\n InvestigationSchema,\n ResponseImpactSchema,\n EnvironmentSchema,\n RelationsSchema,\n AviationSchema,\n SourceDataSchema,\n} from './domains';\n\nexport const PublicationStatusSchema = z\n .enum(['draft', 'review', 'published', 'archived', 'retracted'])\n .describe('Lifecycle/publication state of an observation record.');\n\nexport type PublicationStatus = z.infer<typeof PublicationStatusSchema>;\n\n/**\n * Open extension seam for cross-package slots.\n *\n * `records` declares this empty. The layer packages `@disclosureos/observables`\n * and `@disclosureos/origins` augment it via `declare module '@disclosureos/records'`\n * so that **importing a layer package automatically types its slot on\n * `Observation`** — no manual intersection, no `unknown` casts. (`@disclosureos/scoring`\n * does NOT augment — it only *consumes* these slots.) Slots are absent on the\n * type until their owning package is imported into the compilation. They are\n * intentionally NOT part of `ObservationSchema` (records can't import its\n * satellites); JSON-Schema composition of the slots happens at the all-packages\n * bundling step.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ObservationExtensions {}\n\n/**\n * Core observation record schema — the single source of truth for the record\n * lexicon. Satellite slots (`observableAssessments`, `origin`, …) attach via\n * module augmentation of {@link ObservationExtensions}, not this schema.\n *\n * ⚠️ STRIP HAZARD: because the augmented slots are not part of this `z.object`,\n * `ObservationSchema.parse(record)` SILENTLY DROPS `observableAssessments` /\n * `origin` (Zod strips unknown keys by default). Use {@link validateObservation}\n * (which returns issues without stripping the caller's object) to validate, and\n * do NOT use a raw `.parse()` round-trip to \"clean\" an enriched record. The\n * non-stripping composed parse + JSON-Schema composition lands at the\n * all-packages bundling step (Phase 4 `composeObservationSchema`).\n */\nexport const ObservationSchema = z\n .object({\n // === REQUIRED ===\n id: z.string().min(1).describe('Stable unique identifier for this observation.'),\n temporal: TemporalDataSchema,\n location: LocationDataSchema,\n status: PublicationStatusSchema,\n createdAt: z.string().describe('ISO timestamp when the record was created.'),\n updatedAt: z.string().describe('ISO timestamp when the record was last updated.'),\n\n // === DESCRIPTIVE ===\n summary: z.string().optional().describe('One-or-two sentence summary of the observation.'),\n description: z.string().optional().describe('Full narrative account of the observation.'),\n objectCharacteristics: ObjectCharacteristicsSchema.optional(),\n eventType: z\n .string()\n .optional()\n .describe(\n 'Local event-type tag (e.g. \"multi-sensor military encounter\"). The word \"classification\" is reserved for the origin taxonomy in @disclosureos/origins; this is just a free-text descriptor.',\n ),\n sourceData: SourceDataSchema.optional(),\n investigation: InvestigationSchema.optional(),\n\n // === DETAILED ===\n movement: MovementSchema.optional(),\n witnesses: WitnessesSchema.optional(),\n sensorEvidence: SensorEvidenceDataSchema.optional(),\n responseImpact: ResponseImpactSchema.optional(),\n environment: EnvironmentSchema.optional(),\n relations: RelationsSchema.optional(),\n aviation: AviationSchema.optional(),\n\n // === MEDIA ===\n media: z.array(MediaAttachmentSchema).optional(),\n featuredMedia: MediaAttachmentSchema.optional(),\n\n // === RECORDS-OWNED EXTENSION SLOTS ===\n // Optional, off-the-hot-path forensic/clerical surfaces. Their schemas live\n // under @disclosureos/records/extensions/* (subpath-only) and attach here as\n // plain optional fields (cross-package slots use module augmentation instead).\n provenance: ProvenanceSchema.optional(),\n identifiers: CrossReferencesSchema.optional(),\n testimony: z.array(TestimonyStatementSchema).optional(),\n physicalEvidence: z.array(PhysicalEvidenceItemSchema).optional(),\n documents: z.array(DocumentMetadataSchema).optional(),\n\n // === METADATA ===\n dataSourceId: z\n .string()\n .optional()\n .describe('Identifier of the dataset or pipeline this record came from.'),\n schemaVersion: z\n .string()\n .optional()\n .describe('Version of the records schema this record was authored against.'),\n extensions: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('Third-party extension bag for slots not owned by a first-party package.'),\n internalNotes: z\n .string()\n .optional()\n .describe('Private working notes for maintainers — not part of the public record.'),\n })\n .meta({ id: 'Observation' })\n .describe('A single UAP observation record — the core unit of the DisclosureOS lexicon.');\n\n/**\n * The primary record type. Core fields come from {@link ObservationSchema};\n * cross-package slots merge in via {@link ObservationExtensions} augmentation.\n */\nexport type Observation = z.infer<typeof ObservationSchema> & ObservationExtensions;\n\nexport type ObservationInput = Omit<Partial<Observation>, 'temporal' | 'location'> & {\n temporal: TemporalData;\n location: Partial<LocationData> & {\n name: string;\n country: string;\n longitude: number;\n latitude: number;\n siteType: LocationData['siteType'];\n };\n};\n","/**\n * Schema-derived type guards (C3). `makeGuard(XSchema)` narrows to the schema's\n * inferred type with no parallel value array.\n */\nimport { makeGuard } from '../shared';\n\nimport { SourceTypeSchema } from '../source/types';\nimport { SourceCredibilitySchema } from '../source/credibility';\nimport { TemporalCertaintySchema } from '../temporal/certainty';\nimport { TimeOfDaySchema } from '../temporal/time-of-day';\nimport {\n DateGranularitySchema,\n DateRangeTypeSchema,\n FuzzyDateSchema,\n DateRangeSchema,\n RelativeDateSchema,\n} from '../temporal/date-range';\nimport { MediaTypeSchema } from '../media/types';\nimport {\n CoordinatePrecisionSchema,\n SiteTypeSchema,\n TerrainTypeSchema,\n AirspaceClassSchema,\n LocationSensitivitySchema,\n} from '../geo/location';\nimport { ObjectShapeSchema, ManeuverTypeSchema, RelationKindSchema } from '../observation/domains';\nimport { WitnessCategorySchema } from '../extensions/testimony/category';\nimport { DetectionMethodSchema, SensorTypeSchema } from '../source/sensor/types';\nimport { EvidenceTypeSchema, EvidenceQualitySchema } from '../extensions/physical/types';\nimport { ChainOfCustodySchema } from '../extensions/provenance/custody';\nimport { VerificationMethodSchema, VerificationResultSchema, HashAlgorithmSchema } from '../extensions/provenance/digital';\nimport { PublicationStatusSchema } from '../observation/types';\n\nexport const isSourceType = makeGuard(SourceTypeSchema);\nexport const isSourceCredibility = makeGuard(SourceCredibilitySchema);\nexport const isTemporalCertainty = makeGuard(TemporalCertaintySchema);\nexport const isDateGranularity = makeGuard(DateGranularitySchema);\nexport const isDateRangeType = makeGuard(DateRangeTypeSchema);\nexport const isTimeOfDay = makeGuard(TimeOfDaySchema);\nexport const isMediaType = makeGuard(MediaTypeSchema);\nexport const isLocationSensitivity = makeGuard(LocationSensitivitySchema);\nexport const isSiteType = makeGuard(SiteTypeSchema);\nexport const isTerrainType = makeGuard(TerrainTypeSchema);\nexport const isAirspaceClass = makeGuard(AirspaceClassSchema);\nexport const isCoordinatePrecision = makeGuard(CoordinatePrecisionSchema);\nexport const isObjectShape = makeGuard(ObjectShapeSchema);\nexport const isManeuverType = makeGuard(ManeuverTypeSchema);\nexport const isRelationKind = makeGuard(RelationKindSchema);\nexport const isWitnessCategory = makeGuard(WitnessCategorySchema);\nexport const isDetectionMethod = makeGuard(DetectionMethodSchema);\nexport const isSensorType = makeGuard(SensorTypeSchema);\nexport const isEvidenceType = makeGuard(EvidenceTypeSchema);\nexport const isEvidenceQuality = makeGuard(EvidenceQualitySchema);\nexport const isChainOfCustody = makeGuard(ChainOfCustodySchema);\nexport const isVerificationMethod = makeGuard(VerificationMethodSchema);\nexport const isVerificationResult = makeGuard(VerificationResultSchema);\nexport const isHashAlgorithm = makeGuard(HashAlgorithmSchema);\nexport const isPublicationStatus = makeGuard(PublicationStatusSchema);\n\nexport const isFuzzyDate = makeGuard(FuzzyDateSchema);\nexport const isDateRange = makeGuard(DateRangeSchema);\nexport const isRelativeDate = makeGuard(RelativeDateSchema);\n"]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export { O as Observation, a as ObservationExtensions, b as ObservationInput, c as ObservationSchema, P as PublicationStatus, d as PublicationStatusSchema } from './types-CzNfaip-.js';
|
|
2
|
+
export { DetectionMethod, DetectionMethodSchema, SensorEvidenceData, SensorEvidenceDataSchema, SensorReading, SensorReadingSchema, SensorType, SensorTypeSchema } from './source/sensor/index.js';
|
|
3
|
+
export { A as Aviation, a as AviationSchema, E as Environment, b as EnvironmentSchema, I as Investigation, c as InvestigationSchema, M as ManeuverType, d as ManeuverTypeSchema, e as Movement, f as MovementSchema, O as ObjectCharacteristics, g as ObjectCharacteristicsSchema, h as ObjectShape, i as ObjectShapeSchema, R as RelationEdge, j as RelationEdgeSchema, k as RelationKind, l as RelationKindSchema, m as Relations, n as RelationsSchema, o as ResponseImpact, p as ResponseImpactSchema, S as SourceData, q as SourceDataSchema, W as Witnesses, r as WitnessesSchema } from './domains-CjIFZGBh.js';
|
|
4
|
+
export { TemporalCertainty, TemporalCertaintySchema } from './temporal/index.js';
|
|
5
|
+
export { D as DateGranularity, a as DateGranularitySchema, b as DateRange, c as DateRangeSchema, d as DateRangeType, e as DateRangeTypeSchema, F as FuzzyDate, f as FuzzyDateSchema, R as RelativeDate, g as RelativeDateSchema, T as TimeOfDay, h as TimeOfDaySchema } from './time-of-day-DLDBwTrn.js';
|
|
6
|
+
export { T as TemporalData, a as TemporalDataSchema } from './temporal-data-t8Mzu8Ui.js';
|
|
7
|
+
export { GeoBounds, GeoBoundsSchema, GeoPolygon, GeoPolygonSchema } from './geo/index.js';
|
|
8
|
+
export { A as AirspaceClass, a as AirspaceClassSchema, C as CoordinatePrecision, b as CoordinatePrecisionSchema, L as LocationData, c as LocationDataSchema, d as LocationSensitivity, e as LocationSensitivitySchema, P as ProximitySite, f as ProximitySiteSchema, S as SiteType, g as SiteTypeSchema, T as TerrainType, h as TerrainTypeSchema } from './location-56xtMNtC.js';
|
|
9
|
+
export { M as MediaType, a as MediaTypeSchema } from './types-DH_-SdHj.js';
|
|
10
|
+
export { M as MediaAttachment, a as MediaAttachmentSchema } from './attachment-Hrg8uHuf.js';
|
|
11
|
+
export { S as SourceType, a as SourceTypeSchema } from './types-clxXEQOH.js';
|
|
12
|
+
export { S as SourceCredibility, a as SourceCredibilitySchema } from './credibility-CcQ0MUfQ.js';
|
|
13
|
+
export { SourceReference, SourceReferenceSchema } from './source/index.js';
|
|
14
|
+
export { isValidISODate, isValidLatitude, isValidLongitude, validateObservation } from './validators/index.js';
|
|
15
|
+
export { CHAIN_OF_CUSTODY_LABELS, CONFIDENCE_LEVEL_LABELS, COORDINATE_PRECISION_LABELS, DATE_GRANULARITY_LABELS, DATE_RANGE_TYPE_LABELS, EVIDENCE_QUALITY_LABELS, LOCATION_SENSITIVITY_LABELS, MEDIA_TYPE_LABELS, OBJECT_SHAPE_LABELS, PUBLICATION_STATUS_LABELS, RELATION_KIND_LABELS, RELATIVE_RELATION_LABELS, SOURCE_CREDIBILITY_LABELS, SOURCE_TYPE_LABELS, TEMPORAL_CERTAINTY_LABELS, TIME_OF_DAY_LABELS, VERIFICATION_RESULT_LABELS } from './labels/index.js';
|
|
16
|
+
export { AIRSPACE_CLASSES, CHAIN_OF_CUSTODY_STATUSES, CONFIDENCE_LEVELS, COORDINATE_PRECISIONS, DATE_GRANULARITIES, DATE_RANGE_TYPES, DETECTION_METHODS, EVIDENCE_QUALITIES, EVIDENCE_TYPES, HASH_ALGORITHMS, LOCATION_SENSITIVITIES, MANEUVER_TYPES, MEDIA_TYPES, OBJECT_SHAPES, PUBLICATION_STATUSES, RELATION_KINDS, SENSOR_TYPES, SITE_TYPES, SOURCE_CREDIBILITIES, SOURCE_TYPES, TEMPORAL_CERTAINTIES, TERRAIN_TYPES, TIMES_OF_DAY, VERIFICATION_METHODS, VERIFICATION_RESULTS, WITNESS_CATEGORIES } from './constants/index.js';
|
|
17
|
+
export { isAirspaceClass, isChainOfCustody, isCoordinatePrecision, isDateGranularity, isDateRange, isDateRangeType, isDetectionMethod, isEvidenceQuality, isEvidenceType, isFuzzyDate, isHashAlgorithm, isLocationSensitivity, isManeuverType, isMediaType, isObjectShape, isPublicationStatus, isRelationKind, isRelativeDate, isSensorType, isSiteType, isSourceCredibility, isSourceType, isTemporalCertainty, isTerrainType, isTimeOfDay, isVerificationMethod, isVerificationResult, isWitnessCategory } from './guards/index.js';
|
|
18
|
+
export { CreateObservationOptions, createMediaAttachment, createObservation, createSensorReading, createTemporalData } from './factories/index.js';
|
|
19
|
+
export { formatCoordinatePrecision, formatDateRange, formatFuzzyDate, formatRelativeDate, formatSourceType, formatTemporalData, formatTimeOfDay } from './formatters/index.js';
|
|
20
|
+
export { A as Attribution, a as AttributionSchema, B as Brand, C as Claim, b as ClaimSchema, c as Confidence, d as ConfidenceSchema, E as EVIDENCE_REF_KINDS, e as EvidenceRefKind, O as ObservationId, f as asConfidence, g as asObservationId, h as assertConfidence, i as createEnumGuard, j as evidenceRef, k as isConfidence, l as isEvidenceRef, m as makeGuard, p as parseEvidenceRef } from './enum-guard-DzPkp2oJ.js';
|
|
21
|
+
export { C as ConfidenceLevel, a as ConfidenceLevelSchema, i as isConfidenceLevel } from './confidence-level-CV3P1W5_.js';
|
|
22
|
+
export { V as ValidationIssue, i as issuesFrom } from './validation-C-_QLXXf.js';
|
|
23
|
+
import 'zod';
|
|
24
|
+
import './digital-ADBJTqSi.js';
|
|
25
|
+
import './extensions/physical/index.js';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Version of the emitted JSON Schema artifact. Bump on any intentional change to
|
|
29
|
+
* the records schema shape; the committed `schema/records.schema.json` and the
|
|
30
|
+
* drift test (`src/__tests__/schema.test.ts`) keep this honest.
|
|
31
|
+
*/
|
|
32
|
+
declare const RECORDS_SCHEMA_VERSION = "1.0.0";
|
|
33
|
+
declare const RECORDS_SCHEMA_ID: string;
|
|
34
|
+
/**
|
|
35
|
+
* Emit the canonical JSON Schema (draft 2020-12) for the core {@link ObservationSchema}.
|
|
36
|
+
* This is the interop artifact consumed by non-TS toolchains (Pydantic / R) and
|
|
37
|
+
* the docs pipeline. Satellite slots (`observableAssessments`, `origin`, …) are
|
|
38
|
+
* NOT included — they compose in at the all-packages bundling step.
|
|
39
|
+
*/
|
|
40
|
+
declare function recordsJsonSchema(): Record<string, unknown>;
|
|
41
|
+
|
|
42
|
+
export { RECORDS_SCHEMA_ID, RECORDS_SCHEMA_VERSION, recordsJsonSchema };
|