create-skybridge 0.0.0-dev.7d48f61 → 0.0.0-dev.7d4c70e

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 (65) hide show
  1. package/dist/index.js +315 -214
  2. package/package.json +7 -6
  3. package/{template → templates/blank}/Dockerfile +3 -3
  4. package/templates/blank/README.md +92 -0
  5. package/{template → templates/blank}/_gitignore +2 -1
  6. package/{template → templates/blank}/node_modules/.bin/alpic +2 -2
  7. package/{template → templates/blank}/node_modules/.bin/tsc +2 -2
  8. package/{template → templates/blank}/node_modules/.bin/tsserver +2 -2
  9. package/{template → templates/blank}/node_modules/.bin/tsx +2 -2
  10. package/{template → templates/blank}/node_modules/.bin/vite +2 -2
  11. package/templates/blank/package.json +29 -0
  12. package/templates/blank/src/server.ts +16 -0
  13. package/templates/blank/tsconfig.json +5 -0
  14. package/templates/blank/vite.config.ts +6 -0
  15. package/templates/demo/.dockerignore +4 -0
  16. package/templates/demo/AGENTS.md +1 -0
  17. package/templates/demo/Dockerfile +53 -0
  18. package/{template → templates/demo}/README.md +16 -15
  19. package/templates/demo/_gitignore +7 -0
  20. package/templates/demo/alpic.json +3 -0
  21. package/templates/demo/node_modules/.bin/alpic +21 -0
  22. package/templates/demo/node_modules/.bin/sb +21 -0
  23. package/templates/demo/node_modules/.bin/skybridge +21 -0
  24. package/templates/demo/node_modules/.bin/tsc +21 -0
  25. package/templates/demo/node_modules/.bin/tsserver +21 -0
  26. package/templates/demo/node_modules/.bin/tsx +21 -0
  27. package/templates/demo/node_modules/.bin/vite +21 -0
  28. package/{template → templates/demo}/package.json +14 -14
  29. package/templates/demo/src/helpers.ts +4 -0
  30. package/{template → templates/demo}/src/server.ts +23 -6
  31. package/{template → templates/demo}/src/views/components/steps/tool-output.tsx +2 -2
  32. package/{template → templates/demo}/src/views/onboarding.tsx +1 -1
  33. package/dist/index.test.d.ts +0 -1
  34. package/dist/index.test.js +0 -35
  35. package/template/src/vite-manifest.d.ts +0 -4
  36. /package/{template → templates/blank}/.dockerignore +0 -0
  37. /package/{template → templates/blank}/AGENTS.md +0 -0
  38. /package/{template → templates/blank}/alpic.json +0 -0
  39. /package/{template → templates/blank}/node_modules/.bin/sb +0 -0
  40. /package/{template → templates/blank}/node_modules/.bin/skybridge +0 -0
  41. /package/{template → templates/blank}/src/helpers.ts +0 -0
  42. /package/{template → templates/demo}/src/index.css +0 -0
  43. /package/{template → templates/demo}/src/views/components/doc-link.tsx +0 -0
  44. /package/{template → templates/demo}/src/views/components/doc.tsx +0 -0
  45. /package/{template → templates/demo}/src/views/components/nav.tsx +0 -0
  46. /package/{template → templates/demo}/src/views/components/progress.tsx +0 -0
  47. /package/{template → templates/demo}/src/views/components/steps/outro.tsx +0 -0
  48. /package/{template → templates/demo}/src/views/components/steps/state.tsx +0 -0
  49. /package/{template → templates/demo}/src/views/components/steps/tool-call.tsx +0 -0
  50. /package/{template → templates/demo}/src/views/images/mascot/beret.png +0 -0
  51. /package/{template → templates/demo}/src/views/images/mascot/chapka.png +0 -0
  52. /package/{template → templates/demo}/src/views/images/mascot/cowboy-hat.png +0 -0
  53. /package/{template → templates/demo}/src/views/images/mascot/fez.png +0 -0
  54. /package/{template → templates/demo}/src/views/images/mascot/jester-hat.png +0 -0
  55. /package/{template → templates/demo}/src/views/images/mascot/mitre.png +0 -0
  56. /package/{template → templates/demo}/src/views/images/mascot/non-la.png +0 -0
  57. /package/{template → templates/demo}/src/views/images/mascot/original.png +0 -0
  58. /package/{template → templates/demo}/src/views/images/mascot/propeller-beanie.png +0 -0
  59. /package/{template → templates/demo}/src/views/images/mascot/ski-mask.png +0 -0
  60. /package/{template → templates/demo}/src/views/images/mascot/sombrero.png +0 -0
  61. /package/{template → templates/demo}/src/views/images/mascot/top-hat.png +0 -0
  62. /package/{template → templates/demo}/src/views/images/mascot/viking-helmet.png +0 -0
  63. /package/{template → templates/demo}/src/views/use-mascot.ts +0 -0
  64. /package/{template → templates/demo}/tsconfig.json +0 -0
  65. /package/{template → templates/demo}/vite.config.ts +0 -0
@@ -15,8 +15,20 @@ const server = new McpServer(
15
15
  inputSchema: {
16
16
  name: z.string().optional().describe("The user name."),
17
17
  },
18
+ annotations: {
19
+ title: "Start Skybridge onboarding",
20
+ readOnlyHint: true,
21
+ destructiveHint: false,
22
+ openWorldHint: false,
23
+ },
24
+ _meta: {
25
+ "openai/toolInvocation/invoking": "Starting the Skybridge onboarding…",
26
+ "openai/toolInvocation/invoked": "Onboarding ready.",
27
+ },
18
28
  view: {
19
29
  component: "onboarding",
30
+ // Replace with the URL your widget will be served from in production.
31
+ domain: "https://skybridge.tech",
20
32
  description: "Onboarding deck",
21
33
  csp: {
22
34
  resourceDomains: [
@@ -30,7 +42,7 @@ const server = new McpServer(
30
42
  async ({ name }) => {
31
43
  return {
32
44
  structuredContent: { name },
33
- content: [{ type: "text", text: `User name: ${name}` }],
45
+ content: [{ type: "text", text: `User name: ${name ?? "friend"}` }],
34
46
  isError: false,
35
47
  };
36
48
  },
@@ -39,6 +51,16 @@ const server = new McpServer(
39
51
  {
40
52
  name: "get-fortune-cookie",
41
53
  description: "Get fortune cookie",
54
+ annotations: {
55
+ title: "Get a fortune cookie",
56
+ readOnlyHint: true,
57
+ destructiveHint: false,
58
+ openWorldHint: false,
59
+ },
60
+ _meta: {
61
+ "openai/toolInvocation/invoking": "Cracking open a fortune cookie…",
62
+ "openai/toolInvocation/invoked": "Fortune revealed.",
63
+ },
42
64
  },
43
65
  async () => {
44
66
  const predictions = [
@@ -67,11 +89,6 @@ const server = new McpServer(
67
89
  },
68
90
  );
69
91
 
70
- if (process.env.NODE_ENV === "production") {
71
- const { default: manifest } = await import("./vite-manifest.js");
72
- server.setViteManifest(manifest);
73
- }
74
-
75
92
  export default await server.run();
76
93
 
77
94
  export type AppType = typeof server;
@@ -23,8 +23,8 @@ export default function ToolOutput() {
23
23
  ) : (
24
24
  <p>
25
25
  The view reads the <strong>tool output</strong>, but no{" "}
26
- <code>name</code> was passed this time. Try again with you surname
27
- to see with this view personalize.
26
+ <code>name</code> was passed this time. Try again with your surname
27
+ to see how this view personalizes.
28
28
  </p>
29
29
  )}
30
30
  </div>
@@ -26,7 +26,7 @@ export default function Onboarding() {
26
26
 
27
27
  return (
28
28
  <div
29
- className={`${theme === "dark" ? "dark" : ""} mx-auto w-full max-w-4xl rounded-xl border border-border overflow-hidden bg-background text-foreground`}
29
+ className={`${theme === "dark" ? "dark" : ""} mx-auto w-full max-w-4xl border border-border overflow-hidden bg-background text-foreground`}
30
30
  >
31
31
  <div className="min-h-136 md:min-h-95 flex flex-col items-center gap-6 p-6 bg-linear-to-br from-purple-50 via-white to-cyan-50 dark:from-purple-950/30 dark:via-zinc-950 dark:to-cyan-900/30 bg-size-[200%_200%] animate-aurora md:flex-row md:items-stretch">
32
32
  <div className="shrink-0 self-center animate-float">
@@ -1 +0,0 @@
1
- export {};
@@ -1,35 +0,0 @@
1
- import { randomBytes } from "node:crypto";
2
- import fs from "node:fs/promises";
3
- import path from "node:path";
4
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
5
- import { init } from "./index.js";
6
- describe("create-skybridge", () => {
7
- let tempDirName;
8
- beforeEach(() => {
9
- tempDirName = `test-${randomBytes(2).toString("hex")}`;
10
- });
11
- afterEach(async () => {
12
- await fs.rm(path.join(process.cwd(), tempDirName), {
13
- recursive: true,
14
- force: true,
15
- });
16
- });
17
- it("should copy the template", { timeout: 10000 }, async () => {
18
- const name = `../../${tempDirName}//project$`;
19
- await init([name]);
20
- await fs.access(path.join(process.cwd(), tempDirName, "project", ".gitignore"));
21
- await fs.access(path.join(process.cwd(), tempDirName, "project", ".dockerignore"));
22
- await fs.access(path.join(process.cwd(), tempDirName, "project", "Dockerfile"));
23
- expect(fs.access(path.join(process.cwd(), tempDirName, "project", ".npmrc"))).rejects.toThrowError();
24
- });
25
- it("should download template from repo", { timeout: 10000 }, async () => {
26
- const name = `../../${tempDirName}//project$`;
27
- await init([
28
- name,
29
- "--repo",
30
- "github:alpic-ai/skybridge/examples/ecom-carousel",
31
- ]);
32
- await fs.access(path.join(process.cwd(), tempDirName, "project", ".gitignore"));
33
- expect(fs.access(path.join(process.cwd(), tempDirName, "project", ".npmrc"))).rejects.toThrowError();
34
- });
35
- });
@@ -1,4 +0,0 @@
1
- // Typed shim for the Vite manifest emitted by `skybridge build`. The actual
2
- // `vite-manifest.js` is generated alongside this file and gitignored.
3
- declare const manifest: Record<string, { file: string }>;
4
- export default manifest;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes