create-skybridge 0.0.0-dev.6f2d80b → 0.0.0-dev.6fd50f4

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 (38) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +97 -27
  4. package/dist/index.test.d.ts +1 -0
  5. package/dist/index.test.js +23 -0
  6. package/index.js +6 -1
  7. package/package.json +11 -10
  8. package/template/README.md +13 -2
  9. package/template/_gitignore +2 -1
  10. package/template/alpic.json +1 -2
  11. package/template/node_modules/.bin/mcp-inspector +21 -0
  12. package/template/node_modules/.bin/nodemon +21 -0
  13. package/template/node_modules/.bin/sb +21 -0
  14. package/template/node_modules/.bin/shx +21 -0
  15. package/template/node_modules/.bin/skybridge +21 -0
  16. package/template/node_modules/.bin/tsc +21 -0
  17. package/template/node_modules/.bin/tsserver +21 -0
  18. package/template/node_modules/.bin/tsx +21 -0
  19. package/template/node_modules/.bin/vite +21 -0
  20. package/template/nodemon.json +5 -0
  21. package/template/package.json +32 -10
  22. package/template/server/src/index.ts +16 -8
  23. package/template/server/src/server.ts +6 -20
  24. package/template/tsconfig.json +23 -0
  25. package/template/tsconfig.server.json +11 -0
  26. package/template/web/src/index.css +1 -0
  27. package/template/web/src/widgets/magic-8-ball.tsx +5 -3
  28. package/template/web/vite.config.ts +1 -1
  29. package/template/pnpm-lock.yaml +0 -317
  30. package/template/pnpm-workspace.yaml +0 -7
  31. package/template/server/nodemon.json +0 -5
  32. package/template/server/package.json +0 -34
  33. package/template/server/src/env.ts +0 -12
  34. package/template/server/tsconfig.json +0 -17
  35. package/template/web/package.json +0 -24
  36. package/template/web/tsconfig.app.json +0 -34
  37. package/template/web/tsconfig.json +0 -13
  38. package/template/web/tsconfig.node.json +0 -26
@@ -1,8 +1,9 @@
1
+ import path from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import cors from "cors";
1
4
  import express, { type Express } from "express";
2
-
3
5
  import { widgetsDevServer } from "skybridge/server";
4
6
  import type { ViteDevServer } from "vite";
5
- import { env } from "./env.js";
6
7
  import { mcp } from "./middleware.js";
7
8
  import server from "./server.js";
8
9
 
@@ -12,20 +13,27 @@ app.use(express.json());
12
13
 
13
14
  app.use(mcp(server));
14
15
 
15
- if (env.NODE_ENV !== "production") {
16
+ const env = process.env.NODE_ENV || "development";
17
+
18
+ if (env !== "production") {
19
+ const { devtoolsStaticServer } = await import("@skybridge/devtools");
20
+ app.use(await devtoolsStaticServer());
16
21
  app.use(await widgetsDevServer());
17
22
  }
18
23
 
24
+ if (env === "production") {
25
+ const __filename = fileURLToPath(import.meta.url);
26
+ const __dirname = path.dirname(__filename);
27
+
28
+ app.use("/assets", cors());
29
+ app.use("/assets", express.static(path.join(__dirname, "assets")));
30
+ }
31
+
19
32
  app.listen(3000, (error) => {
20
33
  if (error) {
21
34
  console.error("Failed to start server:", error);
22
35
  process.exit(1);
23
36
  }
24
-
25
- console.log(`Server listening on port 3000 - ${env.NODE_ENV}`);
26
- console.log(
27
- "Make your local server accessible with 'ngrok http 3000' and connect to ChatGPT with URL https://xxxxxx.ngrok-free.app/mcp",
28
- );
29
37
  });
30
38
 
31
39
  process.on("SIGINT", async () => {
@@ -3,10 +3,6 @@ import { z } from "zod";
3
3
 
4
4
  const Answers = [
5
5
  "As I see it, yes",
6
- "Ask again later",
7
- "Better not tell you now",
8
- "Cannot predict now",
9
- "Concentrate and ask again",
10
6
  "Don't count on it",
11
7
  "It is certain",
12
8
  "It is decidedly so",
@@ -15,7 +11,6 @@ const Answers = [
15
11
  "My sources say no",
16
12
  "Outlook good",
17
13
  "Outlook not so good",
18
- "Reply hazy, try again",
19
14
  "Signs point to yes",
20
15
  "Very doubtful",
21
16
  "Without a doubt",
@@ -43,22 +38,13 @@ const server = new McpServer(
43
38
  },
44
39
  async ({ question }) => {
45
40
  try {
46
- const answer = Answers[Math.floor(Math.random() * Answers.length)];
41
+ // deterministic answer
42
+ const hash = question
43
+ .split("")
44
+ .reduce((acc, char) => acc + char.charCodeAt(0), 0);
45
+ const answer = Answers[hash % Answers.length];
47
46
  return {
48
- /**
49
- * Arbitrary JSON passed only to the component.
50
- * Use it for data that should not influence the model’s reasoning, like the full set of locations that backs a dropdown.
51
- * _meta is never shown to the model.
52
- */
53
- _meta: {},
54
- /**
55
- * Structured data that is used to hydrate your component.
56
- * ChatGPT injects this object into your iframe as window.openai.toolOutput
57
- */
58
- structuredContent: { question, answer },
59
- /**
60
- * Optional free-form text that the model receives verbatim
61
- */
47
+ structuredContent: { answer },
62
48
  content: [],
63
49
  isError: false,
64
50
  };
@@ -0,0 +1,23 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
+ "jsx": "react-jsx",
8
+
9
+ "strict": true,
10
+ "skipLibCheck": true,
11
+ "esModuleInterop": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "verbatimModuleSyntax": true,
14
+
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+
19
+ "noEmit": true
20
+ },
21
+ "include": ["server/src", "web/src", "web/vite.config.ts"],
22
+ "exclude": ["dist", "node_modules"]
23
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "noEmit": false,
5
+ "outDir": "dist",
6
+ "sourceMap": true,
7
+ "declaration": true
8
+ },
9
+ "include": ["server/src"],
10
+ "exclude": ["dist", "node_modules"]
11
+ }
@@ -15,6 +15,7 @@
15
15
  align-items: center;
16
16
  justify-content: center;
17
17
  font-family: monospace;
18
+ text-align: center;
18
19
  }
19
20
 
20
21
  .question {
@@ -4,13 +4,15 @@ import { mountWidget } from "skybridge/web";
4
4
  import { useToolInfo } from "../helpers";
5
5
 
6
6
  function Magic8Ball() {
7
- const { output } = useToolInfo<"magic-8-ball">();
8
- if (!output) return <div>Shaking...</div>;
7
+ const { input, output } = useToolInfo<"magic-8-ball">();
8
+ if (!output) {
9
+ return <div>Shaking...</div>;
10
+ }
9
11
 
10
12
  return (
11
13
  <div className="container">
12
14
  <div className="ball">
13
- <div className="question">{output.question}</div>
15
+ <div className="question">{input.question}</div>
14
16
  <div className="answer">{output.answer}</div>
15
17
  </div>
16
18
  </div>
@@ -6,7 +6,7 @@ import { defineConfig } from "vite";
6
6
  // https://vite.dev/config/
7
7
  export default defineConfig({
8
8
  plugins: [skybridge(), react()],
9
-
9
+ root: __dirname,
10
10
  resolve: {
11
11
  alias: {
12
12
  "@": path.resolve(__dirname, "./src"),
@@ -1,317 +0,0 @@
1
- lockfileVersion: '9.0'
2
-
3
- settings:
4
- autoInstallPeers: true
5
- excludeLinksFromLockfile: false
6
-
7
- importers:
8
-
9
- .:
10
- devDependencies:
11
- tsx:
12
- specifier: ^4.19.4
13
- version: 4.20.6
14
-
15
- packages:
16
-
17
- '@esbuild/aix-ppc64@0.25.11':
18
- resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
19
- engines: {node: '>=18'}
20
- cpu: [ppc64]
21
- os: [aix]
22
-
23
- '@esbuild/android-arm64@0.25.11':
24
- resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==}
25
- engines: {node: '>=18'}
26
- cpu: [arm64]
27
- os: [android]
28
-
29
- '@esbuild/android-arm@0.25.11':
30
- resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==}
31
- engines: {node: '>=18'}
32
- cpu: [arm]
33
- os: [android]
34
-
35
- '@esbuild/android-x64@0.25.11':
36
- resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==}
37
- engines: {node: '>=18'}
38
- cpu: [x64]
39
- os: [android]
40
-
41
- '@esbuild/darwin-arm64@0.25.11':
42
- resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==}
43
- engines: {node: '>=18'}
44
- cpu: [arm64]
45
- os: [darwin]
46
-
47
- '@esbuild/darwin-x64@0.25.11':
48
- resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==}
49
- engines: {node: '>=18'}
50
- cpu: [x64]
51
- os: [darwin]
52
-
53
- '@esbuild/freebsd-arm64@0.25.11':
54
- resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==}
55
- engines: {node: '>=18'}
56
- cpu: [arm64]
57
- os: [freebsd]
58
-
59
- '@esbuild/freebsd-x64@0.25.11':
60
- resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==}
61
- engines: {node: '>=18'}
62
- cpu: [x64]
63
- os: [freebsd]
64
-
65
- '@esbuild/linux-arm64@0.25.11':
66
- resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==}
67
- engines: {node: '>=18'}
68
- cpu: [arm64]
69
- os: [linux]
70
-
71
- '@esbuild/linux-arm@0.25.11':
72
- resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==}
73
- engines: {node: '>=18'}
74
- cpu: [arm]
75
- os: [linux]
76
-
77
- '@esbuild/linux-ia32@0.25.11':
78
- resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==}
79
- engines: {node: '>=18'}
80
- cpu: [ia32]
81
- os: [linux]
82
-
83
- '@esbuild/linux-loong64@0.25.11':
84
- resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==}
85
- engines: {node: '>=18'}
86
- cpu: [loong64]
87
- os: [linux]
88
-
89
- '@esbuild/linux-mips64el@0.25.11':
90
- resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==}
91
- engines: {node: '>=18'}
92
- cpu: [mips64el]
93
- os: [linux]
94
-
95
- '@esbuild/linux-ppc64@0.25.11':
96
- resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==}
97
- engines: {node: '>=18'}
98
- cpu: [ppc64]
99
- os: [linux]
100
-
101
- '@esbuild/linux-riscv64@0.25.11':
102
- resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==}
103
- engines: {node: '>=18'}
104
- cpu: [riscv64]
105
- os: [linux]
106
-
107
- '@esbuild/linux-s390x@0.25.11':
108
- resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==}
109
- engines: {node: '>=18'}
110
- cpu: [s390x]
111
- os: [linux]
112
-
113
- '@esbuild/linux-x64@0.25.11':
114
- resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==}
115
- engines: {node: '>=18'}
116
- cpu: [x64]
117
- os: [linux]
118
-
119
- '@esbuild/netbsd-arm64@0.25.11':
120
- resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==}
121
- engines: {node: '>=18'}
122
- cpu: [arm64]
123
- os: [netbsd]
124
-
125
- '@esbuild/netbsd-x64@0.25.11':
126
- resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==}
127
- engines: {node: '>=18'}
128
- cpu: [x64]
129
- os: [netbsd]
130
-
131
- '@esbuild/openbsd-arm64@0.25.11':
132
- resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==}
133
- engines: {node: '>=18'}
134
- cpu: [arm64]
135
- os: [openbsd]
136
-
137
- '@esbuild/openbsd-x64@0.25.11':
138
- resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==}
139
- engines: {node: '>=18'}
140
- cpu: [x64]
141
- os: [openbsd]
142
-
143
- '@esbuild/openharmony-arm64@0.25.11':
144
- resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==}
145
- engines: {node: '>=18'}
146
- cpu: [arm64]
147
- os: [openharmony]
148
-
149
- '@esbuild/sunos-x64@0.25.11':
150
- resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==}
151
- engines: {node: '>=18'}
152
- cpu: [x64]
153
- os: [sunos]
154
-
155
- '@esbuild/win32-arm64@0.25.11':
156
- resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==}
157
- engines: {node: '>=18'}
158
- cpu: [arm64]
159
- os: [win32]
160
-
161
- '@esbuild/win32-ia32@0.25.11':
162
- resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==}
163
- engines: {node: '>=18'}
164
- cpu: [ia32]
165
- os: [win32]
166
-
167
- '@esbuild/win32-x64@0.25.11':
168
- resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==}
169
- engines: {node: '>=18'}
170
- cpu: [x64]
171
- os: [win32]
172
-
173
- esbuild@0.25.11:
174
- resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
175
- engines: {node: '>=18'}
176
- hasBin: true
177
-
178
- fsevents@2.3.3:
179
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
180
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
181
- os: [darwin]
182
-
183
- get-tsconfig@4.12.0:
184
- resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==}
185
-
186
- resolve-pkg-maps@1.0.0:
187
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
188
-
189
- tsx@4.20.6:
190
- resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==}
191
- engines: {node: '>=18.0.0'}
192
- hasBin: true
193
-
194
- snapshots:
195
-
196
- '@esbuild/aix-ppc64@0.25.11':
197
- optional: true
198
-
199
- '@esbuild/android-arm64@0.25.11':
200
- optional: true
201
-
202
- '@esbuild/android-arm@0.25.11':
203
- optional: true
204
-
205
- '@esbuild/android-x64@0.25.11':
206
- optional: true
207
-
208
- '@esbuild/darwin-arm64@0.25.11':
209
- optional: true
210
-
211
- '@esbuild/darwin-x64@0.25.11':
212
- optional: true
213
-
214
- '@esbuild/freebsd-arm64@0.25.11':
215
- optional: true
216
-
217
- '@esbuild/freebsd-x64@0.25.11':
218
- optional: true
219
-
220
- '@esbuild/linux-arm64@0.25.11':
221
- optional: true
222
-
223
- '@esbuild/linux-arm@0.25.11':
224
- optional: true
225
-
226
- '@esbuild/linux-ia32@0.25.11':
227
- optional: true
228
-
229
- '@esbuild/linux-loong64@0.25.11':
230
- optional: true
231
-
232
- '@esbuild/linux-mips64el@0.25.11':
233
- optional: true
234
-
235
- '@esbuild/linux-ppc64@0.25.11':
236
- optional: true
237
-
238
- '@esbuild/linux-riscv64@0.25.11':
239
- optional: true
240
-
241
- '@esbuild/linux-s390x@0.25.11':
242
- optional: true
243
-
244
- '@esbuild/linux-x64@0.25.11':
245
- optional: true
246
-
247
- '@esbuild/netbsd-arm64@0.25.11':
248
- optional: true
249
-
250
- '@esbuild/netbsd-x64@0.25.11':
251
- optional: true
252
-
253
- '@esbuild/openbsd-arm64@0.25.11':
254
- optional: true
255
-
256
- '@esbuild/openbsd-x64@0.25.11':
257
- optional: true
258
-
259
- '@esbuild/openharmony-arm64@0.25.11':
260
- optional: true
261
-
262
- '@esbuild/sunos-x64@0.25.11':
263
- optional: true
264
-
265
- '@esbuild/win32-arm64@0.25.11':
266
- optional: true
267
-
268
- '@esbuild/win32-ia32@0.25.11':
269
- optional: true
270
-
271
- '@esbuild/win32-x64@0.25.11':
272
- optional: true
273
-
274
- esbuild@0.25.11:
275
- optionalDependencies:
276
- '@esbuild/aix-ppc64': 0.25.11
277
- '@esbuild/android-arm': 0.25.11
278
- '@esbuild/android-arm64': 0.25.11
279
- '@esbuild/android-x64': 0.25.11
280
- '@esbuild/darwin-arm64': 0.25.11
281
- '@esbuild/darwin-x64': 0.25.11
282
- '@esbuild/freebsd-arm64': 0.25.11
283
- '@esbuild/freebsd-x64': 0.25.11
284
- '@esbuild/linux-arm': 0.25.11
285
- '@esbuild/linux-arm64': 0.25.11
286
- '@esbuild/linux-ia32': 0.25.11
287
- '@esbuild/linux-loong64': 0.25.11
288
- '@esbuild/linux-mips64el': 0.25.11
289
- '@esbuild/linux-ppc64': 0.25.11
290
- '@esbuild/linux-riscv64': 0.25.11
291
- '@esbuild/linux-s390x': 0.25.11
292
- '@esbuild/linux-x64': 0.25.11
293
- '@esbuild/netbsd-arm64': 0.25.11
294
- '@esbuild/netbsd-x64': 0.25.11
295
- '@esbuild/openbsd-arm64': 0.25.11
296
- '@esbuild/openbsd-x64': 0.25.11
297
- '@esbuild/openharmony-arm64': 0.25.11
298
- '@esbuild/sunos-x64': 0.25.11
299
- '@esbuild/win32-arm64': 0.25.11
300
- '@esbuild/win32-ia32': 0.25.11
301
- '@esbuild/win32-x64': 0.25.11
302
-
303
- fsevents@2.3.3:
304
- optional: true
305
-
306
- get-tsconfig@4.12.0:
307
- dependencies:
308
- resolve-pkg-maps: 1.0.0
309
-
310
- resolve-pkg-maps@1.0.0: {}
311
-
312
- tsx@4.20.6:
313
- dependencies:
314
- esbuild: 0.25.11
315
- get-tsconfig: 4.12.0
316
- optionalDependencies:
317
- fsevents: 2.3.3
@@ -1,7 +0,0 @@
1
- packages:
2
- - "web"
3
- - "server"
4
- sharedWorkspaceLockfile: false
5
-
6
- catalog:
7
- skybridge: ^0.13.1
@@ -1,5 +0,0 @@
1
- {
2
- "watch": ["src/**/*"],
3
- "ext": "ts,js,json",
4
- "exec": "tsx src/index.ts"
5
- }
@@ -1,34 +0,0 @@
1
- {
2
- "name": "@apps-sdk-template/server",
3
- "version": "0.0.1",
4
- "private": true,
5
- "main": "dist/index.js",
6
- "description": "Alpic MCP Server Template",
7
- "files": [
8
- "dist"
9
- ],
10
- "type": "module",
11
- "scripts": {
12
- "dev": "nodemon",
13
- "build": "tsc",
14
- "start": "node dist/index.js",
15
- "inspector": "mcp-inspector http://localhost:3000/mcp"
16
- },
17
- "dependencies": {
18
- "@modelcontextprotocol/sdk": "^1.24.3",
19
- "@t3-oss/env-core": "^0.13.8",
20
- "dotenv": "^17.2.3",
21
- "express": "^5.1.0",
22
- "skybridge": "catalog:",
23
- "vite": "^7.1.11",
24
- "zod": "^4.1.13"
25
- },
26
- "devDependencies": {
27
- "@modelcontextprotocol/inspector": "^0.17.5",
28
- "@types/express": "^5.0.3",
29
- "@types/node": "^22.15.30",
30
- "nodemon": "^3.1.10",
31
- "tsx": "^4.19.2",
32
- "typescript": "^5.7.2"
33
- }
34
- }
@@ -1,12 +0,0 @@
1
- import "dotenv/config";
2
-
3
- import { createEnv } from "@t3-oss/env-core";
4
- import { z } from "zod";
5
-
6
- export const env = createEnv({
7
- server: {
8
- NODE_ENV: z.enum(["development", "production"]).default("development"),
9
- },
10
- runtimeEnv: process.env,
11
- emptyStringAsUndefined: true,
12
- });
@@ -1,17 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "esModuleInterop": true,
7
- "strict": true,
8
- "skipLibCheck": true,
9
- "forceConsistentCasingInFileNames": true,
10
- "outDir": "dist",
11
- "sourceMap": true,
12
- "jsx": "react",
13
- "inlineSources": true
14
- },
15
- "include": ["**/*.ts", "**/*.tsx"],
16
- "exclude": ["dist", "node_modules"]
17
- }
@@ -1,24 +0,0 @@
1
- {
2
- "name": "@apps-sdk-template/web",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "echo 'Not implemented",
8
- "build": "tsc -b && vite build",
9
- "preview": "vite preview"
10
- },
11
- "dependencies": {
12
- "skybridge": "catalog:",
13
- "react": "^19.1.1",
14
- "react-dom": "^19.1.1"
15
- },
16
- "devDependencies": {
17
- "@types/node": "^24.6.0",
18
- "@types/react": "^19.1.16",
19
- "@types/react-dom": "^19.1.9",
20
- "@vitejs/plugin-react": "^5.0.4",
21
- "typescript": "~5.9.3",
22
- "vite": "^7.1.11"
23
- }
24
- }
@@ -1,34 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
- "target": "ES2022",
5
- "useDefineForClassFields": true,
6
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
- "module": "ESNext",
8
- "types": ["vite/client"],
9
- "skipLibCheck": true,
10
-
11
- /* Bundler mode */
12
- "moduleResolution": "bundler",
13
- "allowImportingTsExtensions": true,
14
- "verbatimModuleSyntax": true,
15
- "moduleDetection": "force",
16
- "noEmit": true,
17
- "jsx": "react-jsx",
18
-
19
- /* Linting */
20
- "strict": true,
21
- "noUnusedLocals": true,
22
- "noUnusedParameters": true,
23
- "erasableSyntaxOnly": true,
24
- "noFallthroughCasesInSwitch": true,
25
- "noUncheckedSideEffectImports": true,
26
-
27
- /* Shadcn Config */
28
- "baseUrl": ".",
29
- "paths": {
30
- "@/*": ["./src/*"]
31
- }
32
- },
33
- "include": ["src"]
34
- }
@@ -1,13 +0,0 @@
1
- {
2
- "files": [],
3
- "references": [
4
- { "path": "./tsconfig.app.json" },
5
- { "path": "./tsconfig.node.json" }
6
- ],
7
- "compilerOptions": {
8
- "baseUrl": ".",
9
- "paths": {
10
- "@/*": ["./src/*"]
11
- }
12
- }
13
- }
@@ -1,26 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
- "target": "ES2023",
5
- "lib": ["ES2023"],
6
- "module": "ESNext",
7
- "types": ["node"],
8
- "skipLibCheck": true,
9
-
10
- /* Bundler mode */
11
- "moduleResolution": "bundler",
12
- "allowImportingTsExtensions": true,
13
- "verbatimModuleSyntax": true,
14
- "moduleDetection": "force",
15
- "noEmit": true,
16
-
17
- /* Linting */
18
- "strict": true,
19
- "noUnusedLocals": true,
20
- "noUnusedParameters": true,
21
- "erasableSyntaxOnly": true,
22
- "noFallthroughCasesInSwitch": true,
23
- "noUncheckedSideEffectImports": true
24
- },
25
- "include": ["vite.config.ts"]
26
- }