openc3-cosmos-tool-cmdtlmserver 5.4.3.pre.beta0.20230214173507 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"js/872.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/openc3-api.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}, headerOptions = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n // console.log(error)\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [interface_name, interface_params])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30) {\n const data = await this.exec('get_tlm_values', [items], {\n stale_time: stale_time,\n })\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n"],"names":["props","refreshInterval","default","data","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","OpenC3Auth","updateToken","defaultMinValidity","headers","includes","toString","Promise","reject","body","statusText","config","message","exception","class","$notify","serious","title","method","kwparams","headerOptions","login","id","window","openc3Scope","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","offline_access_needed","then","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","exec","offline_access_token","target_name","interface_name","interface_params","length","router_name","target_commands","target","packet","item","log_writer_name","limits_set","packet_name","value_type","stale_time","type","len","converted","i","decode_openc3_type","items","item_name","undefined","item_hash","command_name","parameter_name","param_list","key","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","string","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join"],"sourceRoot":""}
1
+ {"version":3,"file":"js/872.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/openc3-api.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}, headerOptions = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n // console.log(error)\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [interface_name, interface_params])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30) {\n const data = await this.exec('get_tlm_values', [items], {\n stale_time: stale_time,\n })\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","_this","setInterval","update","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response2$conf","_error$response3","_error$response3$data","_error$response4","_error$response4$data","_error$response5","_error$response5$data","_error$response5$data2","status","OpenC3Auth","updateToken","defaultMinValidity","headers","includes","toString","Promise","reject","body","concat","statusText","config","message","exception","class","_error$response6","$notify","serious","title","_classCallCheck","_defineProperty","_createClass","key","value","_exec","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","kwparams","headerOptions","err","_args","arguments","wrap","_context","prev","next","length","undefined","t0","login","id","window","openc3Scope","jsonrpc","keyword_params","_objectSpread","Authorization","localStorage","openc3Token","sent","abrupt","result","t1","Error","name","request","stop","exec","_x","_x2","apply","val","_typeof","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","offline_access_needed","then","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","target_name","interface_name","_len","interface_params","Array","_key","router_name","target_commands","target","packet","item","log_writer_name","limits_set","packet_name","_get_tlm_packet","_callee2","value_type","stale_time","len","converted","i","_args2","_context2","type","decode_openc3_type","get_tlm_packet","_x3","_x4","_x5","_get_tlm_values","_callee3","items","_args3","_context3","get_tlm_values","_x6","item_name","_tlm","_callee4","_args4","_context4","tlm","_x7","_x8","_x9","_inject_tlm","_callee5","item_hash","_args5","_context5","inject_tlm","_x10","_x11","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","_hashString","_callee6","string","arrayBuffer","hashAsArrayBuffer","uint8ViewOfHash","_context6","isSecureContext","TextEncoder","encode","crypto","subtle","digest","Uint8Array","from","map","padStart","join","hashString","_x12"],"sourceRoot":""}