<commit_before>import { Entity, JovoSession } from '@jovotech/framework';

export interface Session {
  new: boolean;
  sessionId: string;
  application: Application;
  attributes: JovoSession;
  user: User;
  person: Person;
}

export interface Context {
  System: System;
  Viewport?: Viewport;
  AudioPlayer?: AudioPlayerContext;
  Geolocation?: Geolocation;
}

export interface AudioPlayerContext {
  token: string;
  offsetInMilliseconds: number;
  playerActivity: string;
}

export interface Geolocation {
  // Either "locationServices" or "coordinate" will be present
  locationServices?: LocationServices;
  timestamp: string; // ISO 8601
  coordinate?: Coordinate;
  altitude?: Altitude;
  heading?: Heading;
  speed?: Speed;
}

export type LocationServicesAccess = 'ENABLED' | 'DISABLED';
export type LocationServicesStatus = 'RUNNING' | 'STOPPED';

export interface LocationServices {
  access: LocationServicesAccess;
  status: LocationServicesStatus;
}

export interface Coordinate {
  latitudeInDegrees: number; // [-90.0, 90.0]
  longitudeInDegrees: number; // [-180.0, 190.0]
  accuracyInMeters: number; // [0, MAX_INTEGER]
}

export interface Altitude {
  altitudeInMeters?: number; // [-6350, 18000]
  accuracyInMeters?: number; // [0, MAX_INTEGER]
}

export interface Heading {
  directionInDegrees?: number; // (0, 360.0]
  accuracyInDegrees?: number; // [0, MAX_INTEGER]
}

export interface Speed {
  speedInMetersPerSecond?: number; // [0, 1900] not optional if automotive
  accuracyInMetersPerSecond?: number; // [0, MAX_INTEGER]
}

export type PermissionStatus = 'GRANTED' | 'DENIED' | 'ACCEPTED' | 'NOT_ANSWERED';

export interface System {
  application: Application;
  user: User;<commit_msg>:bug: Remove GRANTED type for PermissionStatus<commit_after>import { Entity, JovoSession } from '@jovotech/framework';

export interface Session {
  new: boolean;
  sessionId: string;
  application: Application;
  attributes: JovoSession;
  user: User;
  person: Person;
}

export interface Context {
  System: System;
  Viewport?: Viewport;
  AudioPlayer?: AudioPlayerContext;
  Geolocation?: Geolocation;
}

export interface AudioPlayerContext {
  token: string;
  offsetInMilliseconds: number;
  playerActivity: string;
}

export interface Geolocation {
  // Either "locationServices" or "coordinate" will be present
  locationServices?: LocationServices;
  timestamp: string; // ISO 8601
  coordinate?: Coordinate;
  altitude?: Altitude;
  heading?: Heading;
  speed?: Speed;
}

export type LocationServicesAccess = 'ENABLED' | 'DISABLED';
export type LocationServicesStatus = 'RUNNING' | 'STOPPED';

export interface LocationServices {
  access: LocationServicesAccess;
  status: LocationServicesStatus;
}

export interface Coordinate {
  latitudeInDegrees: number; // [-90.0, 90.0]
  longitudeInDegrees: number; // [-180.0, 190.0]
  accuracyInMeters: number; // [0, MAX_INTEGER]
}

export interface Altitude {
  altitudeInMeters?: number; // [-6350, 18000]
  accuracyInMeters?: number; // [0, MAX_INTEGER]
}

export interface Heading {
  directionInDegrees?: number; // (0, 360.0]
  accuracyInDegrees?: number; // [0, MAX_INTEGER]
}

export interface Speed {
  speedInMetersPerSecond?: number; // [0, 1900] not optional if automotive
  accuracyInMetersPerSecond?: number; // [0, MAX_INTEGER]
}

export type PermissionStatus = 'DENIED' | 'ACCEPTED' | 'NOT_ANSWERED';

export interface System {
  application: Application;
  user: User;
{'fraction_non_alphanumeric': 0.1130384504191963, 'fraction_numerical': 0.02370627348944782, 'mean_word_length': 4.824915824915825, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6948974', 'n_tokens_mistral': 1131, 'n_tokens_neox': 1071, 'n_words': 297}