@telemetryos/cli 1.4.2 → 1.4.4

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 CHANGED
@@ -1,5 +1,21 @@
1
1
  # @telemetryos/cli
2
2
 
3
+ ## 1.4.4
4
+
5
+ ### Patch Changes
6
+
7
+ - Correctly pass on messages from deeply nested applications up to the parent page and in the reverse
8
+ - Updated dependencies
9
+ - @telemetryos/development-application-host-ui@1.4.4
10
+
11
+ ## 1.4.3
12
+
13
+ ### Patch Changes
14
+
15
+ - Fix doc comments
16
+ - Updated dependencies
17
+ - @telemetryos/development-application-host-ui@1.4.3
18
+
3
19
  ## 1.4.2
4
20
 
5
21
  ### Patch Changes
@@ -1,13 +1,7 @@
1
- import { spawn } from "child_process";
2
- import fs from "fs/promises";
3
- import path from "path";
4
- const ignoredTemplateFiles = [
5
- '.DS_Store',
6
- 'thumbs.db',
7
- 'node_modules',
8
- '.git',
9
- 'dist'
10
- ];
1
+ import { spawn } from 'child_process';
2
+ import fs from 'fs/promises';
3
+ import path from 'path';
4
+ const ignoredTemplateFiles = ['.DS_Store', 'thumbs.db', 'node_modules', '.git', 'dist'];
11
5
  const templatesDir = path.join(import.meta.dirname, '../templates');
12
6
  export async function generateApplication(options) {
13
7
  const { name, description, author, version, template, projectPath, progressFn } = options;
@@ -25,16 +19,16 @@ export async function generateApplication(options) {
25
19
  async function installPackages(projectPath) {
26
20
  // Install SDK as a regular dependency
27
21
  await new Promise((resolve, reject) => {
28
- const sdkInstall = spawn('pnpm', ['add', '@telemetryos/sdk'], {
22
+ const sdkInstall = spawn('npm', ['install', '@telemetryos/sdk'], {
29
23
  cwd: projectPath,
30
- stdio: 'inherit'
24
+ stdio: 'inherit',
31
25
  });
32
26
  sdkInstall.on('close', (code) => {
33
27
  if (code === 0) {
34
28
  resolve();
35
29
  }
36
30
  else {
37
- reject(new Error(`pnpm add @telemetryos/sdk failed with code ${code}`));
31
+ reject(new Error(`npm install @telemetryos/sdk failed with code ${code}`));
38
32
  }
39
33
  });
40
34
  sdkInstall.on('error', (error) => {
@@ -43,16 +37,16 @@ async function installPackages(projectPath) {
43
37
  });
44
38
  // Install CLI as a dev dependency
45
39
  await new Promise((resolve, reject) => {
46
- const cliInstall = spawn('pnpm', ['add', '-D', '@telemetryos/cli'], {
40
+ const cliInstall = spawn('npm', ['install', '-D', '@telemetryos/cli'], {
47
41
  cwd: projectPath,
48
- stdio: 'inherit'
42
+ stdio: 'inherit',
49
43
  });
50
44
  cliInstall.on('close', (code) => {
51
45
  if (code === 0) {
52
46
  resolve();
53
47
  }
54
48
  else {
55
- reject(new Error(`pnpm add -D @telemetryos/cli failed with code ${code}`));
49
+ reject(new Error(`npm install -D @telemetryos/cli failed with code ${code}`));
56
50
  }
57
51
  });
58
52
  cliInstall.on('error', (error) => {
@@ -4,11 +4,35 @@ import http from 'http';
4
4
  import path from 'path';
5
5
  import readable from 'readline/promises';
6
6
  import serveHandler from 'serve-handler';
7
+ import z from 'zod';
7
8
  const ansiWhite = '\u001b[37m';
8
9
  const ansiYellow = '\u001b[33m';
9
10
  const ansiCyan = '\u001b[36m';
10
11
  const ansiBold = '\u001b[1m';
11
12
  const ansiReset = '\u001b[0m';
13
+ const mountPointSchema = z.object({
14
+ path: z.string(),
15
+ });
16
+ const workerScriptSchema = z.object({
17
+ path: z.string(),
18
+ });
19
+ const containerSchema = z.object({
20
+ image: z.string(),
21
+ });
22
+ const configSchema = z.object({
23
+ name: z.string().optional(),
24
+ version: z.string().optional(),
25
+ thumbnailPath: z.string().optional(),
26
+ mountPoints: z.record(z.string(), z.union([mountPointSchema, z.string()])).optional(),
27
+ workerScripts: z.record(z.string(), z.union([workerScriptSchema, z.string()])).optional(),
28
+ containers: z.record(z.string(), z.union([containerSchema, z.string()])).optional(),
29
+ devServer: z
30
+ .object({
31
+ runCommand: z.string().optional(),
32
+ url: z.string(),
33
+ })
34
+ .optional(),
35
+ });
12
36
  export async function runServer(projectPath, flags) {
13
37
  printSplashScreen();
14
38
  projectPath = path.resolve(process.cwd(), projectPath);
@@ -17,8 +41,17 @@ export async function runServer(projectPath, flags) {
17
41
  console.error('No telemetry configuration found. Are you in the right directory?');
18
42
  process.exit(1);
19
43
  }
20
- await serveDevelopmentApplicationHostUI(flags.port, telemetryConfig);
21
- await serveTelemetryApplication(projectPath, telemetryConfig);
44
+ const validationResult = configSchema.safeParse(telemetryConfig);
45
+ if (!validationResult.success) {
46
+ console.error('Invalid telemetry.config.json:');
47
+ validationResult.error.issues.forEach((issue) => {
48
+ console.error(` ${issue.path.join('.')}: ${issue.message}`);
49
+ });
50
+ console.error('\n');
51
+ process.exit(1);
52
+ }
53
+ await serveDevelopmentApplicationHostUI(flags.port, validationResult.data);
54
+ await serveTelemetryApplication(projectPath, validationResult.data);
22
55
  }
23
56
  async function serveDevelopmentApplicationHostUI(port, telemetryConfig) {
24
57
  const hostUiPath = await import.meta.resolve('@telemetryos/development-application-host-ui/dist');
@@ -42,8 +75,10 @@ async function serveDevelopmentApplicationHostUI(port, telemetryConfig) {
42
75
  }
43
76
  async function serveTelemetryApplication(rootPath, telemetryConfig) {
44
77
  var _a;
45
- if (!((_a = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.devServer) === null || _a === void 0 ? void 0 : _a.runCommand))
78
+ if (!((_a = telemetryConfig === null || telemetryConfig === void 0 ? void 0 : telemetryConfig.devServer) === null || _a === void 0 ? void 0 : _a.runCommand)) {
79
+ console.log('No value in config at devServer.runCommand');
46
80
  return;
81
+ }
47
82
  const runCommand = telemetryConfig.devServer.runCommand;
48
83
  const binPath = path.join(rootPath, 'node_modules', '.bin');
49
84
  const childProcess = spawn(runCommand, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telemetryos/cli",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "description": "The official TelemetryOS application CLI package. Use it to build applications that run on the TelemetryOS platform",
5
5
  "type": "module",
6
6
  "bin": {
@@ -25,11 +25,12 @@
25
25
  "license": "",
26
26
  "repository": "github:TelemetryTV/Application-API",
27
27
  "dependencies": {
28
- "@telemetryos/development-application-host-ui": "^1.4.2",
28
+ "@telemetryos/development-application-host-ui": "^1.4.4",
29
29
  "@types/serve-handler": "^6.1.4",
30
30
  "commander": "^14.0.0",
31
31
  "inquirer": "^12.9.6",
32
- "serve-handler": "^6.1.6"
32
+ "serve-handler": "^6.1.6",
33
+ "zod": "^4.1.12"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@eslint/js": "^9.26.0",
@@ -0,0 +1,11 @@
1
+ <svg width="747" height="170" viewBox="0 0 747 170" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_31_2)">
3
+ <path d="M29.0025 47.232V109.056C29.0025 111.701 29.5572 113.579 30.6665 114.688C31.8612 115.797 33.8665 116.352 36.6825 116.352H45.3865L47.0505 127.232C45.5998 127.659 43.8505 128.043 41.8025 128.384C39.7545 128.725 37.7492 128.939 35.7865 129.024C33.8238 129.195 32.1598 129.28 30.7945 129.28C25.3332 129.28 21.0665 127.829 17.9945 124.928C15.0078 121.941 13.5145 117.675 13.5145 112.128V47.232H29.0025ZM47.6905 65.152V75.904H2.3785V65.792L14.6665 65.152H47.6905ZM87.1735 63.616C97.3282 63.616 104.624 65.408 109.062 68.992C113.499 72.4907 115.76 77.696 115.846 84.608C115.931 90.3253 114.566 94.6773 111.75 97.664C109.019 100.565 104.454 102.016 98.0535 102.016H62.2135V92.416H93.8295C96.7308 92.416 98.5655 91.648 99.3335 90.112C100.187 88.576 100.614 86.6987 100.614 84.48C100.528 80.9813 99.5042 78.5493 97.5415 77.184C95.6642 75.8187 92.4215 75.136 87.8135 75.136C83.8028 75.136 80.6882 75.6907 78.4695 76.8C76.2508 77.9093 74.6722 79.9147 73.7335 82.816C72.8802 85.7173 72.4535 89.8987 72.4535 95.36C72.4535 101.163 73.0082 105.643 74.1175 108.8C75.2268 111.957 77.0615 114.133 79.6215 115.328C82.1815 116.437 85.5948 116.992 89.8615 116.992C93.0188 116.992 96.6455 116.864 100.742 116.608C104.923 116.352 108.934 116.011 112.774 115.584L114.31 125.44C112.006 126.379 109.36 127.147 106.374 127.744C103.387 128.341 100.272 128.768 97.0295 129.024C93.8722 129.365 90.8855 129.536 88.0695 129.536C80.3895 129.536 74.2028 128.427 69.5095 126.208C64.9015 123.904 61.5308 120.32 59.3975 115.456C57.3495 110.592 56.3255 104.32 56.3255 96.64C56.3255 88.3627 57.3495 81.8347 59.3975 77.056C61.5308 72.192 64.8588 68.736 69.3815 66.688C73.9895 64.64 79.9202 63.616 87.1735 63.616ZM145.255 38.4V109.056C145.255 111.445 145.937 113.28 147.303 114.56C148.668 115.755 150.631 116.352 153.191 116.352H158.694L160.487 127.232C159.548 127.659 158.225 128.043 156.519 128.384C154.897 128.725 153.191 128.939 151.399 129.024C149.692 129.195 148.199 129.28 146.919 129.28C141.713 129.28 137.575 127.872 134.503 125.056C131.431 122.24 129.895 118.187 129.895 112.896V38.4H145.255ZM198.174 63.616C208.328 63.616 215.624 65.408 220.062 68.992C224.499 72.4907 226.76 77.696 226.846 84.608C226.931 90.3253 225.566 94.6773 222.75 97.664C220.019 100.565 215.454 102.016 209.054 102.016H173.214V92.416H204.83C207.731 92.416 209.566 91.648 210.334 90.112C211.187 88.576 211.614 86.6987 211.614 84.48C211.528 80.9813 210.504 78.5493 208.542 77.184C206.664 75.8187 203.422 75.136 198.814 75.136C194.803 75.136 191.688 75.6907 189.47 76.8C187.251 77.9093 185.672 79.9147 184.734 82.816C183.88 85.7173 183.454 89.8987 183.454 95.36C183.454 101.163 184.008 105.643 185.118 108.8C186.227 111.957 188.062 114.133 190.622 115.328C193.182 116.437 196.595 116.992 200.862 116.992C204.019 116.992 207.646 116.864 211.742 116.608C215.923 116.352 219.934 116.011 223.774 115.584L225.31 125.44C223.006 126.379 220.36 127.147 217.374 127.744C214.387 128.341 211.272 128.768 208.03 129.024C204.872 129.365 201.886 129.536 199.069 129.536C191.39 129.536 185.203 128.427 180.51 126.208C175.902 123.904 172.531 120.32 170.398 115.456C168.35 110.592 167.326 104.32 167.326 96.64C167.326 88.3627 168.35 81.8347 170.398 77.056C172.531 72.192 175.859 68.736 180.382 66.688C184.99 64.64 190.92 63.616 198.174 63.616ZM319.103 63.616C324.649 63.616 328.873 65.1093 331.775 68.096C334.761 70.9973 336.255 75.264 336.255 80.896V128H320.895V85.632C320.809 82.4747 320.169 80.2133 318.975 78.848C317.78 77.3973 315.689 76.672 312.703 76.672C310.911 76.672 309.161 76.9707 307.455 77.568C305.833 78.08 303.999 78.9333 301.951 80.128C299.903 81.3227 297.428 82.9013 294.527 84.864L293.631 75.52C297.983 71.5093 302.164 68.5227 306.175 66.56C310.271 64.5973 314.58 63.616 319.103 63.616ZM253.183 65.152L254.719 77.44L256.255 79.232V128H240.767V65.152H253.183ZM279.039 63.616C284.5 63.616 288.681 65.0667 291.583 67.968C294.484 70.8693 295.935 75.1787 295.935 80.896V128H281.087V85.632C281.087 82.304 280.404 80 279.039 78.72C277.673 77.3547 275.625 76.672 272.895 76.672C271.188 76.672 269.481 76.928 267.775 77.44C266.068 77.952 264.191 78.8053 262.143 80C260.095 81.1947 257.535 82.816 254.463 84.864L253.567 75.52C257.833 71.5093 262.015 68.5227 266.111 66.56C270.207 64.5973 274.516 63.616 279.039 63.616ZM381.299 63.616C391.453 63.616 398.749 65.408 403.187 68.992C407.624 72.4907 409.885 77.696 409.971 84.608C410.056 90.3253 408.691 94.6773 405.875 97.664C403.144 100.565 398.579 102.016 392.179 102.016H356.339V92.416H387.955C390.856 92.416 392.691 91.648 393.459 90.112C394.312 88.576 394.739 86.6987 394.739 84.48C394.653 80.9813 393.629 78.5493 391.667 77.184C389.789 75.8187 386.547 75.136 381.939 75.136C377.928 75.136 374.813 75.6907 372.595 76.8C370.376 77.9093 368.797 79.9147 367.859 82.816C367.005 85.7173 366.579 89.8987 366.579 95.36C366.579 101.163 367.133 105.643 368.243 108.8C369.352 111.957 371.187 114.133 373.747 115.328C376.307 116.437 379.72 116.992 383.987 116.992C387.144 116.992 390.771 116.864 394.867 116.608C399.048 116.352 403.059 116.011 406.899 115.584L408.435 125.44C406.131 126.379 403.485 127.147 400.499 127.744C397.512 128.341 394.397 128.768 391.155 129.024C387.997 129.365 385.011 129.536 382.194 129.536C374.515 129.536 368.328 128.427 363.635 126.208C359.027 123.904 355.656 120.32 353.523 115.456C351.475 110.592 350.451 104.32 350.451 96.64C350.451 88.3627 351.475 81.8347 353.523 77.056C355.656 72.192 358.984 68.736 363.507 66.688C368.115 64.64 374.045 63.616 381.299 63.616ZM444.628 47.232V109.056C444.628 111.701 445.182 113.579 446.292 114.688C447.486 115.797 449.492 116.352 452.308 116.352H461.012L462.676 127.232C461.225 127.659 459.476 128.043 457.428 128.384C455.38 128.725 453.374 128.939 451.412 129.024C449.449 129.195 447.785 129.28 446.42 129.28C440.958 129.28 436.692 127.829 433.62 124.928C430.633 121.941 429.14 117.675 429.14 112.128V47.232H444.628ZM463.316 65.152V75.904H418.004V65.792L430.292 65.152H463.316ZM486.799 65.152L488.847 77.44L490.255 79.232V128H474.767V65.152H486.799ZM517.519 63.616L515.983 77.952H511.503C508.175 77.952 504.804 78.5067 501.391 79.616C497.977 80.7253 493.711 82.3893 488.591 84.608L487.567 75.52C492.004 71.7653 496.527 68.864 501.135 66.816C505.743 64.6827 510.18 63.616 514.447 63.616H517.519ZM588.049 65.152L564.497 129.92C563.387 132.907 561.979 135.851 560.273 138.752C558.651 141.739 556.561 144.427 554.001 146.816C551.441 149.205 548.411 151.083 544.913 152.448C541.414 153.813 537.361 154.325 532.753 153.984L531.473 144.768C536.593 143.317 540.561 141.355 543.377 138.88C546.278 136.405 548.539 133.248 550.161 129.408L553.617 121.216C554.385 119.339 555.11 117.205 555.793 114.816C556.561 112.341 557.201 110.208 557.713 108.416L571.409 65.152H588.049ZM537.361 65.152L551.312 108.416C551.739 109.867 552.123 111.36 552.465 112.896C552.806 114.347 553.105 115.797 553.361 117.248H556.561L551.697 128H547.601C546.406 128 545.339 127.659 544.401 126.976C543.462 126.293 542.822 125.355 542.481 124.16L520.849 65.152H537.361Z" fill="white"/>
4
+ <path d="M632.312 38.016C638.626 38.016 643.96 38.8267 648.312 40.448C652.664 41.984 656.162 44.544 658.808 48.128C661.453 51.6267 663.373 56.32 664.568 62.208C665.762 68.096 666.36 75.3067 666.36 83.84C666.36 92.3733 665.762 99.584 664.568 105.472C663.373 111.36 661.453 116.096 658.808 119.68C656.162 123.179 652.664 125.739 648.312 127.36C643.96 128.896 638.626 129.664 632.312 129.664C625.997 129.664 620.664 128.896 616.312 127.36C611.96 125.739 608.461 123.179 605.816 119.68C603.17 116.096 601.208 111.36 599.928 105.472C598.733 99.584 598.135 92.3733 598.135 83.84C598.135 75.3067 598.733 68.096 599.928 62.208C601.208 56.32 603.17 51.6267 605.816 48.128C608.461 44.544 611.96 41.984 616.312 40.448C620.664 38.8267 625.997 38.016 632.312 38.016ZM632.312 45.568C625.997 45.568 620.962 46.8053 617.208 49.28C613.538 51.6693 610.936 55.6373 609.4 61.184C607.864 66.7307 607.096 74.2827 607.096 83.84C607.096 93.3973 607.864 100.949 609.4 106.496C610.936 112.043 613.538 116.053 617.208 118.528C620.962 120.917 625.997 122.112 632.312 122.112C638.626 122.112 643.618 120.917 647.288 118.528C650.957 116.053 653.56 112.043 655.096 106.496C656.717 100.949 657.528 93.3973 657.528 83.84C657.528 74.2827 656.717 66.7307 655.096 61.184C653.56 55.6373 650.957 51.6693 647.288 49.28C643.618 46.8053 638.626 45.568 632.312 45.568ZM710.394 38.144C714.575 38.2293 718.799 38.4427 723.066 38.784C727.332 39.1253 731.599 39.68 735.866 40.448L735.226 46.592C731.471 46.336 727.46 46.1227 723.194 45.952C718.927 45.7813 714.788 45.696 710.778 45.696C707.279 45.696 704.25 45.824 701.69 46.08C699.215 46.336 697.167 46.9333 695.546 47.872C693.924 48.8107 692.73 50.3467 691.962 52.48C691.279 54.6133 690.938 57.6 690.938 61.44C690.938 66.9013 691.876 70.784 693.753 73.088C695.631 75.3067 698.746 76.8427 703.098 77.696L721.658 81.536C728.314 82.9013 732.922 85.504 735.482 89.344C738.127 93.184 739.45 98.6453 739.45 105.728C739.45 110.933 738.852 115.115 737.658 118.272C736.463 121.344 734.671 123.691 732.282 125.312C729.978 126.933 727.034 128.043 723.45 128.64C719.866 129.237 715.642 129.536 710.778 129.536C707.706 129.536 703.908 129.408 699.386 129.152C694.863 128.896 689.7 128.299 683.898 127.36L684.538 121.216C688.89 121.387 692.516 121.557 695.418 121.728C698.404 121.813 701.092 121.899 703.482 121.984C705.871 121.984 708.388 121.984 711.034 121.984C715.983 121.899 719.908 121.472 722.81 120.704C725.711 119.936 727.759 118.4 728.954 116.096C730.234 113.792 730.874 110.293 730.874 105.6C730.874 101.76 730.447 98.7733 729.594 96.64C728.826 94.4213 727.503 92.7573 725.626 91.648C723.834 90.4533 721.487 89.6 718.586 89.088L699.77 85.12C693.455 83.84 688.975 81.28 686.33 77.44C683.77 73.5147 682.49 68.1387 682.49 61.312C682.49 56.1067 683.044 51.968 684.154 48.896C685.348 45.7387 687.055 43.392 689.274 41.856C691.578 40.32 694.479 39.3387 697.978 38.912C701.476 38.4 705.615 38.144 710.394 38.144Z" fill="#F8B334"/>
5
+ </g>
6
+ <defs>
7
+ <clipPath id="clip0_31_2">
8
+ <rect width="747" height="170" fill="white"/>
9
+ </clipPath>
10
+ </defs>
11
+ </svg>
@@ -3,30 +3,30 @@
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  align-items: center;
6
- justify-content: center;
6
+ justify-content: space-between;
7
+ padding: 3rem 0 5rem;
7
8
  background: rgb(18, 25, 33);
8
9
  }
9
10
 
11
+ .render__logo {
12
+ max-width: 35rem;
13
+ }
14
+
10
15
  .render__hero {
11
16
  display: flex;
12
17
  flex-direction: column;
13
18
  align-items: center;
14
- margin-bottom: 4.8rem;
15
- }
16
-
17
- .render__hero-logo {
18
- margin-bottom: 1.2rem;
19
19
  }
20
20
 
21
21
  .render__hero-title {
22
- font-size: 4.2rem;
22
+ font-size: 4rem;
23
23
  line-height: 1.8em;
24
- margin-top: 1.6rem;
24
+ margin-bottom: 4rem;
25
25
  font-weight: 600;
26
26
  }
27
27
 
28
28
  .render__hero-subtitle {
29
- font-size: 1.8rem;
29
+ font-size: 2.5rem;
30
30
  }
31
31
 
32
32
  .render__docs-information {
@@ -36,14 +36,15 @@
36
36
  }
37
37
 
38
38
  .render__docs-information-title {
39
- font-size: 2.2rem;
39
+ font-size: 1.6rem;
40
40
  line-height: 1.8em;
41
41
  margin-bottom: 0.8rem;
42
42
  font-weight: 600;
43
+ text-align: center;
43
44
  }
44
45
 
45
46
  .render__docs-information-text {
46
- font-size: 1.6rem;
47
+ font-size: 1.3rem;
47
48
  line-height: 1.4em;
48
49
  margin-bottom: 2.4rem;
49
50
  max-width: 60rem;
@@ -55,7 +56,7 @@
55
56
  align-items: center;
56
57
  background: rgb(248, 180, 53);
57
58
  text-transform: uppercase;
58
- font-size: 1.225rem;
59
+ font-size: 1.5rem;
59
60
  height: 3.1rem;
60
61
  text-decoration: none;
61
62
  color: black;
@@ -1,40 +1,38 @@
1
- import './Render.css'
2
- import amberLogoPath from '../../assets/telemetry_amber_loader.webp'
3
1
  import { useEffect, useState } from 'react'
4
2
  import { store } from '@telemetryos/sdk'
3
+ import './Render.css'
4
+ import wordMarkPath from '../../assets/telemetryos-wordmark.svg'
5
5
 
6
6
  export function Render() {
7
7
  const [subtitle, setSubtitle] = useState('')
8
8
 
9
9
  const subscribeSubtitleEffect = () => {
10
- store().application.subscribe('subtitle', (value) => {
11
- setSubtitle(value)
10
+ store().instance.subscribe<string>('subtitle', (value) => {
11
+ const fallbackSubtitle = "Change this line in settings ⚙️ ↗️"
12
+ setSubtitle(value ?? fallbackSubtitle)
12
13
  }).catch(console.error)
13
14
  }
14
15
  useEffect(subscribeSubtitleEffect, [])
15
16
 
16
17
  return (
17
18
  <div className="render">
19
+ <img src={wordMarkPath} alt="TelemetryOS" className="render__logo" />
18
20
  <div className="render__hero">
19
- <div className="render__hero-logo">
20
- <img src={amberLogoPath} alt="TelemetryOS" />
21
- </div>
22
- <div className="render__hero-title">Hello from TelemetryOS!</div>
21
+ <div className="render__hero-title">Welcome to TelemetryOS SDK</div>
23
22
  <div className="render__hero-subtitle">{subtitle}</div>
24
23
  </div>
25
24
  <div className="render__docs-information">
26
- <div className="render__docs-information-title">Looking for help getting started?</div>
25
+ <div className="render__docs-information-title">To get started, edit the Render.tsx and Settings.tsx files</div>
27
26
  <div className="render__docs-information-text">
28
- Visit our application development documentation to learn more about building applications with
29
- TelemetryOS.
27
+ Visit our documentation on building applications to learn more
30
28
  </div>
31
29
  <a
32
30
  className="render__docs-information-button"
33
- href="http://docs.telemetryos.ai/"
31
+ href="https://docs.telemetryos.com/docs/sdk-getting-started"
34
32
  target="_blank"
35
33
  rel="noreferrer"
36
34
  >
37
- View Documentation
35
+ Documentation
38
36
  </a>
39
37
  </div>
40
38
  </div>
@@ -9,10 +9,14 @@ export function Settings() {
9
9
 
10
10
  const fetchSubtitleEffect = () => {
11
11
  (async () => {
12
- const defaultSubtitle = 'This is your render view.'
13
- let subtitle = await store().application.get('subtitle')
14
- if (!subtitle) await store().application.set('subtitle', defaultSubtitle)
15
- setSubtitleText(defaultSubtitle)
12
+ let subtitle = await store().instance.get<string>('subtitle')
13
+ if (subtitle !== undefined) {
14
+ setSubtitleText(subtitle)
15
+ } else {
16
+ const defaultSubtitle = "Change this line in settings ⚙️ ↗️"
17
+ await store().instance.set('subtitle', defaultSubtitle)
18
+ setSubtitleText(defaultSubtitle)
19
+ }
16
20
  setIsLoadingValue(false)
17
21
  })().catch(console.error)
18
22
  }
@@ -21,7 +25,7 @@ export function Settings() {
21
25
 
22
26
  const handleSubtitleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
23
27
  setSubtitleText(event.target.value)
24
- store().application.set('subtitle', event.target.value).catch(console.error)
28
+ store().instance.set('subtitle', event.target.value).catch(console.error)
25
29
  }
26
30
 
27
31
  return (
@@ -8,5 +8,6 @@
8
8
  "devServer": {
9
9
  "runCommand": "vite --port 3000",
10
10
  "url": "http://localhost:3000"
11
- }
11
+ },
12
+ "singlePageApplicationRouting": true
12
13
  }