skybridge 0.0.0-dev.5c6cff7 → 0.0.0-dev.5cb0706

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 (90) hide show
  1. package/README.md +144 -0
  2. package/bin/run.js +0 -4
  3. package/dist/cli/telemetry.d.ts +3 -35
  4. package/dist/cli/telemetry.js +17 -78
  5. package/dist/cli/telemetry.js.map +1 -1
  6. package/dist/cli/use-execute-steps.d.ts +2 -1
  7. package/dist/cli/use-execute-steps.js +6 -1
  8. package/dist/cli/use-execute-steps.js.map +1 -1
  9. package/dist/cli/use-nodemon.d.ts +6 -0
  10. package/dist/cli/use-nodemon.js +61 -0
  11. package/dist/cli/use-nodemon.js.map +1 -0
  12. package/dist/cli/use-typescript-check.d.ts +8 -0
  13. package/dist/cli/use-typescript-check.js +59 -0
  14. package/dist/cli/use-typescript-check.js.map +1 -0
  15. package/dist/commands/build.js +4 -2
  16. package/dist/commands/build.js.map +1 -1
  17. package/dist/commands/dev.d.ts +3 -1
  18. package/dist/commands/dev.js +20 -9
  19. package/dist/commands/dev.js.map +1 -1
  20. package/dist/commands/start.js +4 -9
  21. package/dist/commands/start.js.map +1 -1
  22. package/dist/commands/telemetry/disable.d.ts +5 -0
  23. package/dist/commands/telemetry/disable.js +14 -0
  24. package/dist/commands/telemetry/disable.js.map +1 -0
  25. package/dist/commands/telemetry/enable.d.ts +5 -0
  26. package/dist/commands/telemetry/enable.js +14 -0
  27. package/dist/commands/telemetry/enable.js.map +1 -0
  28. package/dist/commands/telemetry/status.d.ts +5 -0
  29. package/dist/commands/telemetry/status.js +14 -0
  30. package/dist/commands/telemetry/status.js.map +1 -0
  31. package/dist/server/asset-base-url-transform-plugin.d.ts +11 -0
  32. package/dist/server/asset-base-url-transform-plugin.js +34 -0
  33. package/dist/server/asset-base-url-transform-plugin.js.map +1 -0
  34. package/dist/server/asset-base-url-transform-plugin.test.d.ts +1 -0
  35. package/dist/server/asset-base-url-transform-plugin.test.js +56 -0
  36. package/dist/server/asset-base-url-transform-plugin.test.js.map +1 -0
  37. package/dist/server/server.js +18 -3
  38. package/dist/server/server.js.map +1 -1
  39. package/dist/server/templateHelper.d.ts +1 -0
  40. package/dist/server/templateHelper.js.map +1 -1
  41. package/dist/server/templates/development.hbs +3 -2
  42. package/dist/server/templates/production.hbs +1 -2
  43. package/dist/server/widgetsDevServer.js +11 -1
  44. package/dist/server/widgetsDevServer.js.map +1 -1
  45. package/dist/test/widget.test.js +2 -2
  46. package/dist/test/widget.test.js.map +1 -1
  47. package/dist/web/bridges/apps-sdk/adaptor.d.ts +9 -1
  48. package/dist/web/bridges/apps-sdk/adaptor.js +25 -0
  49. package/dist/web/bridges/apps-sdk/adaptor.js.map +1 -1
  50. package/dist/web/bridges/apps-sdk/index.d.ts +1 -1
  51. package/dist/web/bridges/apps-sdk/index.js.map +1 -1
  52. package/dist/web/bridges/apps-sdk/types.d.ts +8 -14
  53. package/dist/web/bridges/apps-sdk/types.js.map +1 -1
  54. package/dist/web/bridges/mcp-app/adaptor.d.ts +18 -1
  55. package/dist/web/bridges/mcp-app/adaptor.js +40 -0
  56. package/dist/web/bridges/mcp-app/adaptor.js.map +1 -1
  57. package/dist/web/bridges/types.d.ts +24 -0
  58. package/dist/web/components/modal-provider.d.ts +4 -0
  59. package/dist/web/components/modal-provider.js +47 -0
  60. package/dist/web/components/modal-provider.js.map +1 -0
  61. package/dist/web/hooks/index.d.ts +1 -0
  62. package/dist/web/hooks/index.js +1 -0
  63. package/dist/web/hooks/index.js.map +1 -1
  64. package/dist/web/hooks/use-files.d.ts +2 -6
  65. package/dist/web/hooks/use-files.js +4 -2
  66. package/dist/web/hooks/use-files.js.map +1 -1
  67. package/dist/web/hooks/use-files.test.js +1 -0
  68. package/dist/web/hooks/use-files.test.js.map +1 -1
  69. package/dist/web/hooks/use-request-modal.d.ts +2 -2
  70. package/dist/web/hooks/use-request-modal.js +9 -7
  71. package/dist/web/hooks/use-request-modal.js.map +1 -1
  72. package/dist/web/hooks/use-set-open-in-app-url.d.ts +1 -0
  73. package/dist/web/hooks/use-set-open-in-app-url.js +8 -0
  74. package/dist/web/hooks/use-set-open-in-app-url.js.map +1 -0
  75. package/dist/web/hooks/use-set-open-in-app-url.test.d.ts +1 -0
  76. package/dist/web/hooks/use-set-open-in-app-url.test.js +49 -0
  77. package/dist/web/hooks/use-set-open-in-app-url.test.js.map +1 -0
  78. package/dist/web/mount-widget.js +9 -1
  79. package/dist/web/mount-widget.js.map +1 -1
  80. package/dist/web/plugin/plugin.js +16 -9
  81. package/dist/web/plugin/plugin.js.map +1 -1
  82. package/dist/web/proxy.js +0 -1
  83. package/dist/web/proxy.js.map +1 -1
  84. package/package.json +21 -19
  85. package/dist/commands/telemetry.d.ts +0 -9
  86. package/dist/commands/telemetry.js +0 -40
  87. package/dist/commands/telemetry.js.map +0 -1
  88. package/dist/hooks/finally.d.ts +0 -8
  89. package/dist/hooks/finally.js +0 -19
  90. package/dist/hooks/finally.js.map +0 -1
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "skybridge",
3
- "version": "0.0.0-dev.5c6cff7",
4
- "description": "Skybridge is a framework for building ChatGPT apps",
3
+ "version": "0.0.0-dev.5cb0706",
4
+ "description": "Skybridge is a framework for building ChatGPT and MCP Apps",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/alpic-ai/skybridge.git"
8
8
  },
9
9
  "type": "module",
10
10
  "files": [
11
- "dist"
11
+ "dist",
12
+ "README.md"
12
13
  ],
13
14
  "exports": {
14
15
  "./server": {
@@ -30,44 +31,45 @@
30
31
  "license": "ISC",
31
32
  "peerDependencies": {
32
33
  "@modelcontextprotocol/sdk": ">=1.0.0",
34
+ "nodemon": ">=3.0.0",
33
35
  "react": ">=18.0.0",
34
36
  "react-dom": ">=18.0.0"
35
37
  },
36
38
  "dependencies": {
37
- "@babel/core": "^7.28.6",
39
+ "@babel/core": "^7.29.0",
38
40
  "@oclif/core": "^4.8.0",
39
- "ci-info": "^4.3.1",
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",
46
- "posthog-node": "^5.21.0",
48
+ "posthog-node": "^5.24.9",
47
49
  "superjson": "^2.2.6",
48
50
  "vite": "^7.3.1",
49
- "zustand": "^5.0.10"
51
+ "zustand": "^5.0.11"
50
52
  },
51
53
  "devDependencies": {
52
- "@modelcontextprotocol/ext-apps": "^0.4.0",
53
- "@modelcontextprotocol/sdk": "^1.25.2",
54
+ "@modelcontextprotocol/ext-apps": "^1.0.1",
55
+ "@modelcontextprotocol/sdk": "^1.25.3",
54
56
  "@testing-library/dom": "^10.4.1",
55
- "@testing-library/react": "^16.3.1",
57
+ "@testing-library/react": "^16.3.2",
56
58
  "@total-typescript/tsconfig": "^1.0.4",
57
59
  "@types/babel__core": "^7.20.5",
58
60
  "@types/cors": "^2.8.19",
59
61
  "@types/express": "^5.0.6",
60
62
  "@types/jsdom": "^27.0.0",
61
- "@types/node": "^24.10.8",
62
- "@types/react": "^19.2.8",
63
+ "@types/node": "^24.10.10",
64
+ "@types/react": "^19.2.10",
63
65
  "@types/react-dom": "^19.2.3",
64
- "@vitest/ui": "^4.0.17",
65
- "jsdom": "^27.4.0",
66
+ "@vitest/ui": "^4.0.18",
67
+ "jsdom": "^28.0.0",
66
68
  "shx": "^0.4.0",
67
69
  "ts-node": "^10.9.2",
68
70
  "typescript": "^5.9.3",
69
- "vitest": "^4.0.17",
70
- "zod": "^4.3.5"
71
+ "vitest": "^4.0.18",
72
+ "zod": "^4.3.6"
71
73
  },
72
74
  "bin": {
73
75
  "sb": "./bin/run.js",
@@ -79,7 +81,7 @@
79
81
  "dirname": "skybridge",
80
82
  "topicSeparator": " ",
81
83
  "hooks": {
82
- "finally": "./dist/hooks/finally"
84
+ "finally": "./dist/cli/telemetry"
83
85
  }
84
86
  },
85
87
  "scripts": {
@@ -1,9 +0,0 @@
1
- import { Command } from "@oclif/core";
2
- export default class Telemetry extends Command {
3
- static args: {
4
- action: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
5
- };
6
- static description: string;
7
- static examples: string[];
8
- run(): Promise<void>;
9
- }
@@ -1,40 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Args, Command } from "@oclif/core";
3
- import { Box, render, Text } from "ink";
4
- import { getCI, getGlobalConfigPath, getMachineId, getProjectId, isEnabled, setEnabled, } from "../cli/telemetry.js";
5
- export default class Telemetry extends Command {
6
- static args = {
7
- action: Args.string({
8
- description: "Action to perform: status, enable, or disable",
9
- options: ["status", "enable", "disable"],
10
- }),
11
- };
12
- static description = "Manage Skybridge telemetry settings";
13
- static examples = [
14
- "skybridge telemetry status",
15
- "skybridge telemetry enable",
16
- "skybridge telemetry disable",
17
- ];
18
- async run() {
19
- const { args } = await this.parse(Telemetry);
20
- const action = args.action || "status";
21
- if (action === "enable") {
22
- setEnabled(true);
23
- const App = () => (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "green", children: "\u2713" }), _jsx(Text, { children: " Telemetry has been " }), _jsx(Text, { color: "green", bold: true, children: "enabled" })] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", children: ["Config saved to: ", getGlobalConfigPath()] }) })] }));
24
- render(_jsx(App, {}));
25
- return;
26
- }
27
- if (action === "disable") {
28
- setEnabled(false);
29
- const App = () => (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "yellow", children: "\u2713" }), _jsx(Text, { children: " Telemetry has been " }), _jsx(Text, { color: "yellow", bold: true, children: "disabled" })] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", children: ["Config saved to: ", getGlobalConfigPath()] }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "You can also set SKYBRIDGE_TELEMETRY_DISABLED=1 to disable telemetry via environment variable." }) })] }));
30
- render(_jsx(App, {}));
31
- return;
32
- }
33
- // Status (default)
34
- const enabled = isEnabled();
35
- const ciInfo = getCI();
36
- const App = () => (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Text, { bold: true, underline: true, children: "Skybridge Telemetry" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { children: "Status: " }), enabled ? (_jsx(Text, { color: "green", bold: true, children: "Enabled" })) : (_jsx(Text, { color: "yellow", bold: true, children: "Disabled" }))] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "gray", children: "Machine ID: " }), _jsx(Text, { children: getMachineId() })] }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Project ID: " }), _jsx(Text, { children: getProjectId() })] }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "CI Environment: " }), _jsx(Text, { children: ciInfo.isCI ? ciInfo.name || "Yes" : "No" })] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "gray", children: "Config file: " }), _jsx(Text, { children: getGlobalConfigPath() })] })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "gray", children: "To opt out, run: skybridge telemetry disable" }), _jsx(Text, { color: "gray", children: "Or set: SKYBRIDGE_TELEMETRY_DISABLED=1" }), _jsx(Text, { color: "gray", children: "Debug mode: SKYBRIDGE_TELEMETRY_DEBUG=1" })] })] }));
37
- render(_jsx(App, {}));
38
- }
39
- }
40
- //# sourceMappingURL=telemetry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/commands/telemetry.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { Hook } from "@oclif/core";
2
- /**
3
- * Oclif finally hook that automatically tracks telemetry for all commands.
4
- * This hook runs after every command completes, regardless of success or failure,
5
- * and receives the error if one occurred.
6
- */
7
- declare const hook: Hook<"finally">;
8
- export default hook;
@@ -1,19 +0,0 @@
1
- import { trackCommand } from "../cli/telemetry.js";
2
- /**
3
- * Oclif finally hook that automatically tracks telemetry for all commands.
4
- * This hook runs after every command completes, regardless of success or failure,
5
- * and receives the error if one occurred.
6
- */
7
- const hook = async (options) => {
8
- // Skip tracking the telemetry command itself to avoid noise
9
- if (options.id === "telemetry") {
10
- return;
11
- }
12
- const commandId = options.id ?? "unknown";
13
- const version = options.config.version;
14
- const outcome = options.error ? "failure" : "success";
15
- // Track the command execution with outcome
16
- await trackCommand(commandId, version, outcome);
17
- };
18
- export default hook;
19
- //# sourceMappingURL=finally.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finally.js","sourceRoot":"","sources":["../../src/hooks/finally.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,IAAI,GAAoB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9C,4DAA4D;IAC5D,IAAI,OAAO,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,IAAI,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtD,2CAA2C;IAC3C,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}