skybridge 0.0.0-dev.a2b87cd → 0.0.0-dev.a2fbf1a

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.
Files changed (67) hide show
  1. package/README.md +145 -0
  2. package/dist/cli/telemetry.d.ts +7 -0
  3. package/dist/cli/telemetry.js +123 -0
  4. package/dist/cli/telemetry.js.map +1 -0
  5. package/dist/cli/use-execute-steps.d.ts +3 -2
  6. package/dist/cli/use-execute-steps.js +6 -1
  7. package/dist/cli/use-execute-steps.js.map +1 -1
  8. package/dist/cli/use-nodemon.d.ts +6 -0
  9. package/dist/cli/use-nodemon.js +61 -0
  10. package/dist/cli/use-nodemon.js.map +1 -0
  11. package/dist/cli/use-typescript-check.d.ts +8 -0
  12. package/dist/cli/use-typescript-check.js +59 -0
  13. package/dist/cli/use-typescript-check.js.map +1 -0
  14. package/dist/commands/build.js +4 -2
  15. package/dist/commands/build.js.map +1 -1
  16. package/dist/commands/dev.js +7 -8
  17. package/dist/commands/dev.js.map +1 -1
  18. package/dist/commands/start.js +4 -9
  19. package/dist/commands/start.js.map +1 -1
  20. package/dist/commands/telemetry/disable.d.ts +5 -0
  21. package/dist/commands/telemetry/disable.js +14 -0
  22. package/dist/commands/telemetry/disable.js.map +1 -0
  23. package/dist/commands/telemetry/enable.d.ts +5 -0
  24. package/dist/commands/telemetry/enable.js +14 -0
  25. package/dist/commands/telemetry/enable.js.map +1 -0
  26. package/dist/commands/telemetry/status.d.ts +5 -0
  27. package/dist/commands/telemetry/status.js +14 -0
  28. package/dist/commands/telemetry/status.js.map +1 -0
  29. package/dist/server/asset-base-url-transform-plugin.d.ts +11 -0
  30. package/dist/server/asset-base-url-transform-plugin.js +34 -0
  31. package/dist/server/asset-base-url-transform-plugin.js.map +1 -0
  32. package/dist/server/asset-base-url-transform-plugin.test.d.ts +1 -0
  33. package/dist/server/asset-base-url-transform-plugin.test.js +56 -0
  34. package/dist/server/asset-base-url-transform-plugin.test.js.map +1 -0
  35. package/dist/server/server.js +17 -3
  36. package/dist/server/server.js.map +1 -1
  37. package/dist/server/templateHelper.d.ts +1 -0
  38. package/dist/server/templateHelper.js.map +1 -1
  39. package/dist/server/templates/development.hbs +3 -2
  40. package/dist/server/templates/production.hbs +1 -2
  41. package/dist/server/widgetsDevServer.js +11 -1
  42. package/dist/server/widgetsDevServer.js.map +1 -1
  43. package/dist/test/widget.test.js +2 -2
  44. package/dist/test/widget.test.js.map +1 -1
  45. package/dist/web/bridges/apps-sdk/adaptor.d.ts +1 -0
  46. package/dist/web/bridges/apps-sdk/adaptor.js +16 -0
  47. package/dist/web/bridges/apps-sdk/adaptor.js.map +1 -1
  48. package/dist/web/bridges/apps-sdk/types.d.ts +7 -0
  49. package/dist/web/bridges/apps-sdk/types.js.map +1 -1
  50. package/dist/web/bridges/mcp-app/adaptor.d.ts +1 -0
  51. package/dist/web/bridges/mcp-app/adaptor.js +7 -1
  52. package/dist/web/bridges/mcp-app/adaptor.js.map +1 -1
  53. package/dist/web/bridges/types.d.ts +2 -0
  54. package/dist/web/hooks/index.d.ts +1 -0
  55. package/dist/web/hooks/index.js +1 -0
  56. package/dist/web/hooks/index.js.map +1 -1
  57. package/dist/web/hooks/use-set-open-in-app-url.d.ts +1 -0
  58. package/dist/web/hooks/use-set-open-in-app-url.js +8 -0
  59. package/dist/web/hooks/use-set-open-in-app-url.js.map +1 -0
  60. package/dist/web/hooks/use-set-open-in-app-url.test.d.ts +1 -0
  61. package/dist/web/hooks/use-set-open-in-app-url.test.js +49 -0
  62. package/dist/web/hooks/use-set-open-in-app-url.test.js.map +1 -0
  63. package/dist/web/plugin/plugin.js +16 -9
  64. package/dist/web/plugin/plugin.js.map +1 -1
  65. package/dist/web/proxy.js +0 -1
  66. package/dist/web/proxy.js.map +1 -1
  67. package/package.json +20 -14
@@ -0,0 +1,49 @@
1
+ import { renderHook } from "@testing-library/react";
2
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { AppsSdkAdaptor } from "../bridges/apps-sdk/adaptor.js";
4
+ import { useSetOpenInAppUrl } from "./use-set-open-in-app-url.js";
5
+ describe("useSetOpenInAppUrl", () => {
6
+ describe("apps-sdk host", () => {
7
+ let setOpenInAppUrlMock;
8
+ beforeEach(() => {
9
+ setOpenInAppUrlMock = vi.fn().mockResolvedValue(undefined);
10
+ vi.stubGlobal("openai", {
11
+ setOpenInAppUrl: setOpenInAppUrlMock,
12
+ });
13
+ vi.stubGlobal("skybridge", {
14
+ hostType: "apps-sdk",
15
+ serverUrl: "https://example.com",
16
+ });
17
+ });
18
+ afterEach(() => {
19
+ vi.unstubAllGlobals();
20
+ vi.resetAllMocks();
21
+ AppsSdkAdaptor.resetInstance();
22
+ });
23
+ it("should return a function that calls window.openai.setOpenInAppUrl with the href", async () => {
24
+ const { result } = renderHook(() => useSetOpenInAppUrl());
25
+ const href = "https://example.com/path";
26
+ await result.current(href);
27
+ expect(setOpenInAppUrlMock).toHaveBeenCalledTimes(1);
28
+ expect(setOpenInAppUrlMock).toHaveBeenCalledWith({ href });
29
+ });
30
+ it("should throw an error when href is empty", () => {
31
+ const { result } = renderHook(() => useSetOpenInAppUrl());
32
+ expect(() => result.current("")).toThrow("The href parameter is required.");
33
+ });
34
+ it("should throw an error when serverUrl is not set", () => {
35
+ vi.stubGlobal("skybridge", {
36
+ hostType: "apps-sdk",
37
+ serverUrl: undefined,
38
+ });
39
+ AppsSdkAdaptor.resetInstance();
40
+ const { result } = renderHook(() => useSetOpenInAppUrl());
41
+ expect(() => result.current("https://example.com/path")).toThrow("The widgetDomain property has not been set on the widget resource meta object.");
42
+ });
43
+ it("should throw an error when href origin differs from serverUrl origin", () => {
44
+ const { result } = renderHook(() => useSetOpenInAppUrl());
45
+ expect(() => result.current("https://different-domain.com/path")).toThrow("Provided href is not compatible with widget domain: origin differs");
46
+ });
47
+ });
48
+ });
49
+ //# sourceMappingURL=use-set-open-in-app-url.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-set-open-in-app-url.test.js","sourceRoot":"","sources":["../../../src/web/hooks/use-set-open-in-app-url.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,IAAI,mBAA6C,CAAC;QAElD,UAAU,CAAC,GAAG,EAAE;YACd,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC3D,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACtB,eAAe,EAAE,mBAAmB;aACrC,CAAC,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE;gBACzB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,qBAAqB;aACjC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACtB,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,cAAc,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAG,0BAA0B,CAAC;YACxC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE3B,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CACtC,iCAAiC,CAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE;gBACzB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YACH,cAAc,CAAC,aAAa,EAAE,CAAC;YAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAC9D,gFAAgF,CACjF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CACvE,oEAAoE,CACrE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -5,18 +5,18 @@ export function skybridge() {
5
5
  async config(config) {
6
6
  // Dynamic imports to ensure Node modules are only loaded in Node.js context
7
7
  const { globSync } = await import("node:fs");
8
- const { resolve } = await import("node:path");
8
+ const { basename, dirname, parse, resolve } = await import("node:path");
9
9
  const projectRoot = config.root || process.cwd();
10
10
  const flatWidgetPattern = resolve(projectRoot, "src/widgets/*.{js,ts,jsx,tsx,html}");
11
11
  const dirWidgetPattern = resolve(projectRoot, "src/widgets/*/index.tsx");
12
- const flatWidgets = globSync(flatWidgetPattern).map((file) => [
13
- file.match(/src\/widgets\/([^/]+)\.tsx$/)?.[1],
14
- file,
15
- ]);
16
- const dirWidgets = globSync(dirWidgetPattern).map((file) => [
17
- file.match(/src\/widgets\/([^/]+)\/index\.tsx$/)?.[1],
18
- file,
19
- ]);
12
+ const flatWidgets = globSync(flatWidgetPattern).map((file) => {
13
+ const name = parse(file).name;
14
+ return [name, file];
15
+ });
16
+ const dirWidgets = globSync(dirWidgetPattern).map((file) => {
17
+ const name = basename(dirname(file));
18
+ return [name, file];
19
+ });
20
20
  const input = Object.fromEntries([...flatWidgets, ...dirWidgets]);
21
21
  return {
22
22
  base: "/assets",
@@ -28,6 +28,13 @@ export function skybridge() {
28
28
  input,
29
29
  },
30
30
  },
31
+ experimental: {
32
+ renderBuiltUrl: (filename) => {
33
+ return {
34
+ runtime: `window.skybridge.serverUrl + "/assets/${filename}"`,
35
+ };
36
+ },
37
+ },
31
38
  };
32
39
  },
33
40
  enforce: "pre",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/web/plugin/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,IAAI,EAAE,WAAW;QAEjB,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,4EAA4E;YAC5E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,OAAO,CAC/B,WAAW,EACX,oCAAoC,CACrC,CAAC;YACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5D,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI;aACL,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1D,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrD,IAAI;aACL,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;YAElE,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE;wBACb,KAAK;qBACN;iBACF;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK;QACd,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/web/plugin/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,IAAI,EAAE,WAAW;QAEjB,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,4EAA4E;YAC5E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAExE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,OAAO,CAC/B,WAAW,EACX,oCAAoC,CACrC,CAAC;YACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBAC9B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;YAElE,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE;wBACb,KAAK;qBACN;iBACF;gBACD,YAAY,EAAE;oBACZ,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;wBAC3B,OAAO;4BACL,OAAO,EAAE,yCAAyC,QAAQ,GAAG;yBAC9D,CAAC;oBACJ,CAAC;iBACF;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK;QACd,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/web/proxy.js CHANGED
@@ -6,7 +6,6 @@ const colors = {
6
6
  };
7
7
  export function installOpenAILoggingProxy() {
8
8
  if (typeof window === "undefined" || !window.openai) {
9
- console.warn("[openai-proxy] window.openai not found, skipping proxy installation");
10
9
  return;
11
10
  }
12
11
  const descriptor = Object.getOwnPropertyDescriptor(window, "openai");
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/web/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/web/proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skybridge",
3
- "version": "0.0.0-dev.a2b87cd",
3
+ "version": "0.0.0-dev.a2fbf1a",
4
4
  "description": "Skybridge is a framework for building ChatGPT and MCP Apps",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,42 +31,45 @@
31
31
  "license": "ISC",
32
32
  "peerDependencies": {
33
33
  "@modelcontextprotocol/sdk": ">=1.0.0",
34
+ "nodemon": ">=3.0.0",
34
35
  "react": ">=18.0.0",
35
36
  "react-dom": ">=18.0.0"
36
37
  },
37
38
  "dependencies": {
38
- "@babel/core": "^7.28.6",
39
+ "@babel/core": "^7.29.0",
39
40
  "@oclif/core": "^4.8.0",
40
- "cors": "^2.8.5",
41
+ "ci-info": "^4.4.0",
42
+ "cors": "^2.8.6",
41
43
  "dequal": "^2.0.3",
42
- "es-toolkit": "^1.43.0",
44
+ "es-toolkit": "^1.44.0",
43
45
  "express": "^5.2.1",
44
46
  "handlebars": "^4.7.8",
45
47
  "ink": "^6.6.0",
48
+ "posthog-node": "^5.24.14",
46
49
  "superjson": "^2.2.6",
47
50
  "vite": "^7.3.1",
48
- "zustand": "^5.0.10"
51
+ "zustand": "^5.0.11"
49
52
  },
50
53
  "devDependencies": {
51
- "@modelcontextprotocol/ext-apps": "^0.4.0",
54
+ "@modelcontextprotocol/ext-apps": "^1.0.1",
52
55
  "@modelcontextprotocol/sdk": "^1.25.2",
53
56
  "@testing-library/dom": "^10.4.1",
54
- "@testing-library/react": "^16.3.1",
57
+ "@testing-library/react": "^16.3.2",
55
58
  "@total-typescript/tsconfig": "^1.0.4",
56
59
  "@types/babel__core": "^7.20.5",
57
60
  "@types/cors": "^2.8.19",
58
61
  "@types/express": "^5.0.6",
59
62
  "@types/jsdom": "^27.0.0",
60
- "@types/node": "^24.10.8",
61
- "@types/react": "^19.2.8",
63
+ "@types/node": "^24.10.12",
64
+ "@types/react": "^19.2.13",
62
65
  "@types/react-dom": "^19.2.3",
63
- "@vitest/ui": "^4.0.17",
64
- "jsdom": "^27.4.0",
66
+ "@vitest/ui": "^4.0.18",
67
+ "jsdom": "^28.0.0",
65
68
  "shx": "^0.4.0",
66
69
  "ts-node": "^10.9.2",
67
70
  "typescript": "^5.9.3",
68
- "vitest": "^4.0.17",
69
- "zod": "^4.3.5"
71
+ "vitest": "^4.0.18",
72
+ "zod": "^4.3.6"
70
73
  },
71
74
  "bin": {
72
75
  "sb": "./bin/run.js",
@@ -76,7 +79,10 @@
76
79
  "bin": "skybridge",
77
80
  "commands": "./dist/commands",
78
81
  "dirname": "skybridge",
79
- "topicSeparator": " "
82
+ "topicSeparator": " ",
83
+ "hooks": {
84
+ "finally": "./dist/cli/telemetry"
85
+ }
80
86
  },
81
87
  "scripts": {
82
88
  "build": "shx rm -rf dist && tsc && pnpm run build:templates",