@telemetryos/development-application-host-ui 1.6.1 → 1.7.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.
@@ -0,0 +1 @@
1
+ *{box-sizing:border-box}:root{--font-sans: "Rubik", sans-serif;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--muted: 220 12% 95%;--muted-foreground: 215.4 16.3% 46.9%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--accent: 220 12% 95%;--accent-foreground: 222.2 47.4% 11.2%;--primary: 39 93% 59%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--destructive: 6 86% 61%;--destructive-foreground: 210 40% 98%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 210 28% 8%;--foreground: 210 40% 88%;--muted: 212, 28%, 10%;--muted-foreground: 215 20.2% 65.1%;--border: 212 24% 19%;--input: 210 5% 31%;--card: 212 28% 10%;--card-foreground: 210 40% 98%;--accent: 211 30% 15%;--accent-foreground: 210 40% 98%;--primary: 39 93% 59%;--primary-foreground: 210 40% 98%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--destructive: 6 86% 61%;--destructive-foreground: 210 40% 98%;--ring: 212.7 26.8% 83.9%;--radius: .5rem}html{height:100%;font-family:Rubik,sans-serif;font-size:14px}body{display:flex;flex-direction:column;min-height:100%;margin:0;background:hsl(var(--background));color:hsl(var(--foreground));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}#app{display:flex;flex:1}.app__canvas-surround{display:flex;flex:1;padding:20px;min-width:0;min-height:0}.canvas{display:flex;flex-direction:column;flex:1;align-items:center;justify-content:center}.canvas__application-container{position:relative;display:flex;flex-direction:column;border:1px solid hsl(212 24% 19%);border-radius:8px;background:#121921}.canvas__application-container iframe{flex:1;border:none}.canvas__application-container-drag-handle{position:absolute;bottom:2px;right:2px;display:flex;align-items:center;justify-content:center;width:12px;height:12px;opacity:.3;cursor:se-resize}.canvas__application-container-drag-handle svg{width:12px;height:12px}.application-info{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.application-info__empty{padding:20px;color:hsl(var(--muted-foreground));font-size:14px;text-align:center;font-style:italic}.application-info__section{margin-bottom:24px}.application-info__section:last-child{margin-bottom:0}.application-info__section-title{color:hsl(var(--foreground));font-size:14px;font-weight:600;margin:0 0 12px}.application-info__field{margin-bottom:24px}.application-info__field:last-child{margin-bottom:0}.application-info__label{display:block;color:hsl(var(--foreground));font-size:14px;font-weight:500;margin-bottom:6px}.application-info__value{color:hsl(var(--foreground));font-size:14px;padding:8px 12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);word-break:break-all}.application-info__thumbnail-container{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius)}.application-info__thumbnail{max-width:75px;max-height:75px;width:auto;height:auto;object-fit:contain;border-radius:4px}.application-settings{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.application-settings__loading,.application-settings__empty{padding:20px;color:hsl(var(--muted-foreground));font-size:14px;text-align:center;font-style:italic}.device-config{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.device-config__section{margin-bottom:24px}.device-config__section:last-child{margin-bottom:0}.device-config__section-title{color:hsl(var(--foreground));font-size:14px;font-weight:600;margin:0 0 12px}.device-config__field{margin-bottom:24px}.device-config__field:last-child{margin-bottom:0}.device-config__label{display:block;color:hsl(var(--foreground));font-size:14px;font-weight:500;margin-bottom:6px}.device-config__input{width:100%;height:40px;padding:8px 12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;font-family:inherit}.device-config__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;padding:8px 36px 8px 12px;background-color:hsl(var(--background));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;font-family:inherit;cursor:pointer;transition:background-color .15s}.device-config__select:hover{background-color:hsl(var(--accent))}.device-config__input::placeholder{color:hsl(var(--muted-foreground));opacity:1}.device-config__input:focus,.device-config__select:focus{outline:1px solid hsl(var(--primary));outline-offset:0}.account-config{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.account-config__loading,.account-config__empty{padding:20px;color:hsl(var(--muted-foreground));font-size:14px;text-align:center;font-style:italic}.account-config__section{margin-bottom:24px}.account-config__section:last-child{margin-bottom:0}.account-config__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.account-config__section-title{color:hsl(var(--foreground));font-size:14px;font-weight:600;margin:0 0 12px}.account-config__section-header .account-config__section-title{margin:0}.account-config__field{margin-bottom:24px}.account-config__field:last-child{margin-bottom:0}.account-config__label{display:block;color:hsl(var(--foreground));font-size:14px;font-weight:500;margin-bottom:6px}.account-config__value{color:hsl(var(--foreground));font-size:14px;padding:8px 12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);word-break:break-all}.account-config__input{width:100%;height:40px;padding:8px 12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;font-family:inherit}.account-config__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;padding:8px 36px 8px 12px;background-color:hsl(var(--background));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;font-family:inherit;cursor:pointer;transition:background-color .15s}.account-config__select:hover{background-color:hsl(var(--accent))}.account-config__input::placeholder{color:hsl(var(--muted-foreground));opacity:1}.account-config__input:focus,.account-config__select:focus{outline:1px solid hsl(var(--primary));outline-offset:0}.account-config__button{height:36px;padding:6px 12px;background:hsl(var(--primary));border:none;border-radius:var(--radius);color:#000;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease-in-out}.account-config__button:hover{background:#f7a918}.account-config__button:active{background:#ec9d09}.account-config__button--small{height:32px;padding:4px 8px;font-size:12px}.account-config__button--danger{background:hsl(var(--destructive));border:none;color:hsl(var(--primary-foreground))}.account-config__button--danger:hover{background:#ef3d2a}.account-config__button--danger:active{background:#ed2812}.account-config__item{padding:12px;margin-bottom:12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius)}.account-config__item:last-child{margin-bottom:0}.account-config__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid hsl(var(--border))}.account-config__item-title{color:hsl(var(--foreground));font-size:12px;font-weight:600}.media-config{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.media-config__empty{padding:20px;color:hsl(var(--muted-foreground));font-size:14px;text-align:center;font-style:italic}.media-config__section{margin-bottom:24px}.media-config__section:last-child{margin-bottom:0}.media-config__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.media-config__section-title{color:hsl(var(--foreground));font-size:14px;font-weight:600;margin:0 0 12px}.media-config__section-header .media-config__section-title{margin:0}.media-config__field{margin-bottom:24px}.media-config__field:last-child{margin-bottom:0}.media-config__label{display:block;color:hsl(var(--foreground));font-size:14px;font-weight:500;margin-bottom:6px}.media-config__input{width:100%;height:40px;padding:8px 12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:14px;font-family:inherit}.media-config__input::placeholder{color:hsl(var(--muted-foreground));opacity:1}.media-config__input:focus{outline:1px solid hsl(var(--primary));outline-offset:0}.media-config__button{height:36px;padding:6px 12px;background:hsl(var(--primary));border:none;border-radius:var(--radius);color:#000;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease-in-out}.media-config__button:hover{background:#f7a918}.media-config__button:active{background:#ec9d09}.media-config__button--small{height:32px;padding:4px 8px;font-size:12px}.media-config__button--danger{background:hsl(var(--destructive));border:none;color:hsl(var(--primary-foreground))}.media-config__button--danger:hover{background:#ef3d2a}.media-config__button--danger:active{background:#ed2812}.media-config__item{padding:12px;margin-bottom:12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius)}.media-config__item:last-child{margin-bottom:0}.media-config__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid hsl(var(--border))}.media-config__item-title{color:hsl(var(--foreground));font-size:12px;font-weight:600}.weather-config{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.weather-config__top-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid hsl(var(--border))}.weather-config__reset-button{padding:8px 16px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.weather-config__reset-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary))}.weather-config__unit-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:hsl(var(--muted-foreground))}.weather-config__unit-active{color:hsl(var(--foreground));font-weight:500}.weather-config__toggle-switch{position:relative;display:inline-block;width:40px;height:22px}.weather-config__toggle-switch input{opacity:0;width:0;height:0}.weather-config__toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:hsl(var(--border));transition:.2s;border-radius:22px}.weather-config__toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:hsl(var(--foreground));transition:.2s;border-radius:50%}.weather-config__toggle-switch input:checked+.weather-config__toggle-slider{background-color:hsl(var(--primary))}.weather-config__toggle-switch input:checked+.weather-config__toggle-slider:before{transform:translate(18px)}.weather-config__section{margin-bottom:8px;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;flex-shrink:0}.weather-config__section:last-child{margin-bottom:0}.weather-config__section-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;background:hsl(var(--background));border:none;color:hsl(var(--foreground));font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s}.weather-config__section-header:hover{background:hsl(var(--accent))}.weather-config__section-title{margin:0}.weather-config__section-toggle{font-size:16px;font-weight:400;color:hsl(var(--muted-foreground))}.weather-config__section-content{padding:16px;background:hsl(var(--card));border-top:1px solid hsl(var(--border))}.weather-config__json-textarea{width:100%;height:50svh;padding:12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:12px;line-height:1.5;resize:vertical;transition:border-color .15s}.weather-config__json-textarea:focus{outline:none;border-color:hsl(var(--primary))}.weather-config__json-textarea--invalid{border-color:#ef4343;border-width:2px}.weather-config__json-textarea--invalid:focus{border-color:#ef4343}.weather-config__helpers{margin-top:16px;padding-top:16px;border-top:1px solid hsl(var(--border))}.weather-config__helper-row{margin-bottom:16px}.weather-config__helper-row:last-child{margin-bottom:0}.weather-config__helper-label{display:block;color:hsl(var(--foreground));font-size:12px;font-weight:500;margin-bottom:8px}.weather-config__helper-hint{margin:8px 0 0;font-size:11px;color:hsl(var(--muted-foreground))}.weather-config__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:36px;padding:6px 32px 6px 10px;background-color:hsl(var(--background));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:13px;font-family:inherit;cursor:pointer;transition:background-color .15s}.weather-config__select:hover{background-color:hsl(var(--accent))}.weather-config__select:focus{outline:1px solid hsl(var(--primary));outline-offset:0}.weather-config__pod-buttons{display:flex;gap:8px}.weather-config__pod-button{flex:1;padding:8px 16px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:13px;font-family:inherit;cursor:pointer;transition:background-color .15s,border-color .15s}.weather-config__pod-button:hover{background:hsl(var(--accent))}.weather-config__pod-button--active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.weather-config__pod-button--active:hover{background:hsl(var(--primary))}.weather-config__slider{width:100%;height:6px;background:hsl(var(--border));border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.weather-config__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:hsl(var(--primary));border-radius:50%;cursor:pointer;transition:transform .1s}.weather-config__slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.weather-config__slider::-moz-range-thumb{width:16px;height:16px;background:hsl(var(--primary));border:none;border-radius:50%;cursor:pointer}.weather-config__current-values{display:flex;gap:16px;padding:12px;background:hsl(var(--background));border-radius:var(--radius);font-size:13px;color:hsl(var(--muted-foreground))}.weather-config__current-values strong{color:hsl(var(--foreground))}.weather-config__action-buttons{display:flex;gap:8px}.weather-config__action-button{flex:1;padding:10px 16px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.weather-config__action-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary))}.weather-config__action-button:first-child{color:#f97415}.weather-config__action-button:last-child{color:#39f}.color-scheme-toggle{position:relative}.color-scheme-toggle__button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .3s ease-in-out}.color-scheme-toggle__button:hover{border-color:hsl(var(--foreground));color:hsl(var(--foreground))}.color-scheme-toggle__icon{position:absolute;opacity:0;transform:rotate(90deg) scale(0);transition:all .3s ease-in-out}.color-scheme-toggle__icon--visible{opacity:1;transform:rotate(0) scale(1)}.color-scheme-toggle__dropdown{position:absolute;bottom:100%;left:0;margin-bottom:4px;min-width:100px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:100;transition:all .3s ease-in-out}.color-scheme-toggle__dropdown-item{display:block;width:100%;padding:8px 12px;background:transparent;border:none;color:hsl(var(--foreground));font-size:14px;font-family:inherit;text-align:left;cursor:pointer;transition:all .3s ease-in-out}.color-scheme-toggle__dropdown-item:hover{background:hsl(var(--accent))}.color-scheme-toggle__dropdown-item--active{color:hsl(var(--primary))}.right-sidebar{display:flex;flex-direction:row;width:450px}.right-sidebar__nav{display:flex;flex-direction:column;width:64px;padding:16px 8px;gap:4px;background:hsl(var(--background));border-right:1px solid hsl(var(--border));align-items:center}.right-sidebar__nav-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .3s ease-in-out}.right-sidebar__nav-button:hover{border-color:hsl(var(--foreground));color:hsl(var(--foreground))}.right-sidebar__nav-button--active{border-color:hsl(var(--primary));color:hsl(var(--primary))}.right-sidebar__nav-spacer{flex-grow:1}.right-sidebar__container{display:flex;flex-direction:column;flex:1;max-height:100lvh;overflow:hidden;background:hsl(var(--card));font-family:Rubik,sans-serif;font-feature-settings:"rlig" 1,"calt" 1}.right-sidebar__header{display:flex;align-items:center;height:48px;padding:0 16px;border-bottom:1px solid hsl(var(--border));flex-shrink:0}.right-sidebar__header-title{color:hsl(var(--foreground));font-size:14px;font-weight:600}.right-sidebar__content{flex:1;overflow:hidden;display:flex;flex-direction:column}.scaling-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0}.scaling-container__inner{display:flex;flex-direction:column}
@@ -0,0 +1,2 @@
1
+ import './ColorSchemeToggle.css';
2
+ export declare function ColorSchemeToggle(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import './WeatherConfig.css';
2
+ export declare function WeatherConfig(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The application specifier used for the development application
3
+ * in the development host environment.
4
+ * Matches the format used in the player: 'dev-root-' prefix + 33 zeros
5
+ */
6
+ export declare const developmentApplicationSpecifier = "dev-root-0000000000000000000000000000000";
@@ -1,20 +1 @@
1
- type TelemetryConfig = {
2
- name?: string;
3
- version?: string;
4
- thumbnailPath?: string;
5
- mountPoints?: Record<string, string | {
6
- path: string;
7
- }>;
8
- workerScripts?: Record<string, string | {
9
- path: string;
10
- }>;
11
- containers?: Record<string, string | {
12
- image: string;
13
- }>;
14
- devServer?: {
15
- url: string;
16
- runCommand?: string;
17
- };
18
- };
19
- export declare function useTelemetryConfig(): TelemetryConfig | null;
20
- export {};
1
+ export declare function useTelemetryConfig(): import("../services/config").TelemetryConfig | null;
package/dist/index.html CHANGED
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>TelemetryOS Development Environment</title>
7
- <script type="module" crossorigin src="/assets/index-BgAq5D2L.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-Dd6tbmCG.css">
7
+ <script type="module" crossorigin src="/assets/index-B1Knvy_Z.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-zvMpkETV.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="app"></div>
@@ -1,44 +1,41 @@
1
- import type { Bridge } from '@telemetryos/root-sdk/bridge';
2
- import type { Message } from './sdk-bridge';
1
+ import type { Bridge, ClientMessage } from '@telemetryos/root-sdk/bridge';
3
2
  export declare class ApiCoordinator {
4
- private _bridge;
5
- private _handlers;
6
- private _storeSubscriptions;
7
- private _subscriptionStates;
3
+ _bridge: Bridge;
4
+ _handlers: Record<string, (message: ClientMessage) => Promise<void> | void>;
8
5
  constructor(bridge: Bridge);
9
- handleMessage(message: Message): Promise<void> | undefined;
10
- private _handleDevicesGetInformation;
6
+ handleMessage(message: ClientMessage): Promise<void> | undefined;
7
+ _send(message: any): void;
8
+ _handleDevicesGetInformation(message: ClientMessage): void;
11
9
  private _handleEnvironmentGetColorScheme;
12
- private _handleAccountsGetCurrent;
13
- private _handleUsersGetCurrent;
14
- private _handleApplicationsGetAllByMountPoint;
15
- private _handleApplicationsGetByName;
16
- private _handleApplicationsSetDependencies;
17
- private _handleMediaFoldersGetAll;
18
- private _handleMediaGetAllByFolderId;
19
- private _handleMediaGetAllByTag;
20
- private _handleMediaGetById;
10
+ private _handleEnvironmentSubscribe;
11
+ private _handleEnvironmentUnsubscribe;
12
+ _handleAccountsGetCurrent(message: ClientMessage): void;
13
+ _handleUsersGetCurrent(message: ClientMessage): void;
14
+ _handleApplicationsGetAllByMountPoint(message: ClientMessage): void;
15
+ _handleApplicationsGetByName(message: ClientMessage): void;
16
+ _handleApplicationsSetDependencies(message: ClientMessage): void;
17
+ _handleMediaFoldersGetAll(message: ClientMessage): void;
18
+ _handleMediaGetAllByFolderId(message: ClientMessage): void;
19
+ _handleMediaGetAllByTag(message: ClientMessage): void;
20
+ _handleMediaGetById(message: ClientMessage): void;
21
21
  private _handleWeatherGetConditions;
22
22
  private _handleWeatherGetDailyForecast;
23
23
  private _handleWeatherGetHourlyForecast;
24
- private _handleWeatherGetAccuWeatherConditions;
25
- private _handleWeatherGetAccuWeatherDailyForecast;
26
- private _handleWeatherGetAccuWeatherHourlyForecast;
27
- private _handleProxyFetch;
28
- private _handlePlaylistNextPage;
29
- private _handlePlaylistPreviousPage;
30
- private _handlePlaylistSetDuration;
31
- private _handleOverridesSetOverride;
32
- private _handleOverridesClearOverride;
33
- private _handleWebsiteAppInjectScriptToIframe;
34
- private _handleReportPlayback;
35
- private _handleReportCampaignView;
36
- private _handleReportAdPlayed;
37
- private _handleReportDeviceLog;
38
- private _handleCampaignsGetNextAd;
39
- private _handleStoreSet;
40
- private _handleStoreGet;
41
- private _handleStoreSubscribe;
42
- private _handleStoreUnsubscribe;
43
- private _handleStoreDelete;
24
+ _handleProxyFetch(message: ClientMessage): Promise<void>;
25
+ _handlePlaylistNextPage(message: ClientMessage): void;
26
+ _handlePlaylistPreviousPage(message: ClientMessage): void;
27
+ _handlePlaylistSetDuration(message: ClientMessage): void;
28
+ _handleOverridesSetOverride(message: ClientMessage): void;
29
+ _handleOverridesClearOverride(message: ClientMessage): void;
30
+ _handleWebsiteAppInjectScriptToIframe(message: ClientMessage): void;
31
+ _handleReportPlayback(message: ClientMessage): void;
32
+ _handleReportCampaignView(message: ClientMessage): void;
33
+ _handleReportAdPlayed(message: ClientMessage): void;
34
+ _handleReportDeviceLog(message: ClientMessage): void;
35
+ _handleCampaignsGetNextAd(message: ClientMessage): void;
36
+ _handleStoreSet(message: ClientMessage): void;
37
+ _handleStoreGet(message: ClientMessage): void;
38
+ _handleStoreSubscribe(message: ClientMessage): void;
39
+ _handleStoreUnsubscribe(message: ClientMessage): void;
40
+ _handleStoreDelete(message: ClientMessage): void;
44
41
  }
@@ -0,0 +1,33 @@
1
+ export type TelemetryConfig = {
2
+ name?: string;
3
+ version?: string;
4
+ thumbnailPath?: string;
5
+ mountPoints?: Record<string, string | {
6
+ path: string;
7
+ }>;
8
+ backgroundWorkers?: Record<string, string | {
9
+ path: string;
10
+ }>;
11
+ serverWorkers?: Record<string, string | {
12
+ path: string;
13
+ }>;
14
+ containers?: Record<string, string | {
15
+ image: string;
16
+ }>;
17
+ devServer?: {
18
+ url: string;
19
+ runCommand?: string;
20
+ };
21
+ };
22
+ declare class ConfigService {
23
+ _config: TelemetryConfig | null;
24
+ _hasFetched: boolean;
25
+ _onChangeHandlers: Set<() => void>;
26
+ fetch(): Promise<TelemetryConfig | null>;
27
+ get(): TelemetryConfig | null;
28
+ subscribe(callback: () => void): () => void;
29
+ _hasConfigChanged(oldConfig: TelemetryConfig | null, newConfig: TelemetryConfig | null): boolean;
30
+ _notifyListeners(): void;
31
+ }
32
+ export declare const configService: ConfigService;
33
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Bridge } from '@telemetryos/root-sdk/bridge';
2
+ import type { ColorScheme } from '@telemetryos/root-sdk';
3
+ import { Message } from './sdk-bridge';
4
+ type ColorSchemeListener = (colorScheme: ColorScheme) => void;
5
+ export declare function getColorScheme(): ColorScheme;
6
+ export declare function setColorScheme(value: ColorScheme): void;
7
+ export declare function onColorSchemeChange(listener: ColorSchemeListener): () => void;
8
+ export declare function handleEnvironmentMessage(bridge: Bridge, message: Message): void;
9
+ export {};
@@ -1,10 +1,5 @@
1
+ import { Bridge } from '@telemetryos/root-sdk/bridge';
2
+ import { ApiCoordinator } from './api-coordinator';
3
+ export declare const bridge: Bridge;
4
+ export declare const apiCoordinator: ApiCoordinator;
1
5
  export declare function setupSdkBridge(): void;
2
- export type Message = {
3
- telemetrySdkVersion: string;
4
- applicationName: string;
5
- name: string;
6
- data?: any;
7
- responseName?: string;
8
- subscriptionName?: string;
9
- unsubscribeName?: string;
10
- };
@@ -1,3 +1,2 @@
1
- import { Bridge } from '@telemetryos/root-sdk/bridge';
2
- import { Message } from './sdk-bridge';
3
- export declare function handleStoreMessage(bridge: Bridge, message: Message): void;
1
+ import { Bridge, ClientMessage } from '@telemetryos/root-sdk/bridge';
2
+ export declare function handleStoreMessage(bridge: Bridge, message: ClientMessage): void;