@google/stitch-sdk 0.0.1
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/README.md +271 -0
- package/dist/generated/src/index.d.ts +13 -0
- package/dist/generated/src/index.d.ts.map +1 -0
- package/dist/generated/src/index.js +13 -0
- package/dist/generated/src/index.js.map +1 -0
- package/dist/generated/src/project.d.ts +35 -0
- package/dist/generated/src/project.d.ts.map +1 -0
- package/dist/generated/src/project.js +62 -0
- package/dist/generated/src/project.js.map +1 -0
- package/dist/generated/src/screen.d.ts +40 -0
- package/dist/generated/src/screen.d.ts.map +1 -0
- package/dist/generated/src/screen.js +82 -0
- package/dist/generated/src/screen.js.map +1 -0
- package/dist/generated/src/stitch.d.ts +23 -0
- package/dist/generated/src/stitch.d.ts.map +1 -0
- package/dist/generated/src/stitch.js +27 -0
- package/dist/generated/src/stitch.js.map +1 -0
- package/dist/generated/src/tool-definitions.d.ts +20 -0
- package/dist/generated/src/tool-definitions.d.ts.map +1 -0
- package/dist/generated/src/tool-definitions.js +333 -0
- package/dist/generated/src/tool-definitions.js.map +1 -0
- package/dist/src/ai.d.ts +17 -0
- package/dist/src/ai.d.ts.map +1 -0
- package/dist/src/ai.js +30 -0
- package/dist/src/ai.js.map +1 -0
- package/dist/src/client.d.ts +77 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +135 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +15 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +25 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/proxy/client.d.ts +22 -0
- package/dist/src/proxy/client.d.ts.map +1 -0
- package/dist/src/proxy/client.js +87 -0
- package/dist/src/proxy/client.js.map +1 -0
- package/dist/src/proxy/core.d.ts +16 -0
- package/dist/src/proxy/core.d.ts.map +1 -0
- package/dist/src/proxy/core.js +68 -0
- package/dist/src/proxy/core.js.map +1 -0
- package/dist/src/proxy/handlers/callTool.d.ts +7 -0
- package/dist/src/proxy/handlers/callTool.d.ts.map +1 -0
- package/dist/src/proxy/handlers/callTool.js +40 -0
- package/dist/src/proxy/handlers/callTool.js.map +1 -0
- package/dist/src/proxy/handlers/listTools.d.ts +7 -0
- package/dist/src/proxy/handlers/listTools.d.ts.map +1 -0
- package/dist/src/proxy/handlers/listTools.js +36 -0
- package/dist/src/proxy/handlers/listTools.js.map +1 -0
- package/dist/src/proxy/index.d.ts +4 -0
- package/dist/src/proxy/index.d.ts.map +1 -0
- package/dist/src/proxy/index.js +17 -0
- package/dist/src/proxy/index.js.map +1 -0
- package/dist/src/singleton.d.ts +25 -0
- package/dist/src/singleton.d.ts.map +1 -0
- package/dist/src/singleton.js +76 -0
- package/dist/src/singleton.js.map +1 -0
- package/dist/src/spec/client.d.ts +52 -0
- package/dist/src/spec/client.d.ts.map +1 -0
- package/dist/src/spec/client.js +52 -0
- package/dist/src/spec/client.js.map +1 -0
- package/dist/src/spec/errors.d.ts +39 -0
- package/dist/src/spec/errors.d.ts.map +1 -0
- package/dist/src/spec/errors.js +56 -0
- package/dist/src/spec/errors.js.map +1 -0
- package/dist/src/spec/proxy.d.ts +22 -0
- package/dist/src/spec/proxy.d.ts.map +1 -0
- package/dist/src/spec/proxy.js +31 -0
- package/dist/src/spec/proxy.js.map +1 -0
- package/dist/src/tools-adapter.d.ts +27 -0
- package/dist/src/tools-adapter.d.ts.map +1 -0
- package/dist/src/tools-adapter.js +66 -0
- package/dist/src/tools-adapter.js.map +1 -0
- package/dist/src/types.d.ts +38 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +15 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +3 -0
- package/dist/src/version.js.map +1 -0
- package/package.json +63 -0
package/README.md
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# @google/stitch-sdk
|
|
2
|
+
|
|
3
|
+
Generate UI screens from text prompts and extract their HTML and screenshots programmatically.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
Set your API key and generate a screen:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { stitch } from "@google/stitch-sdk";
|
|
11
|
+
|
|
12
|
+
// STITCH_API_KEY must be set in the environment
|
|
13
|
+
const project = await stitch.createProject("My App");
|
|
14
|
+
const screen = await project.generate("A login page with email and password fields");
|
|
15
|
+
const html = await screen.getHtml();
|
|
16
|
+
const imageUrl = await screen.getImage();
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`html` is a download URL for the screen's HTML. `imageUrl` is a download URL for the screenshot.
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @google/stitch-sdk
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
To use `stitchTools()` with the [Vercel AI SDK](https://sdk.vercel.ai/), install `ai` as well:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install @google/stitch-sdk ai
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Working with Projects and Screens
|
|
34
|
+
|
|
35
|
+
### List existing projects
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import { stitch } from "@google/stitch-sdk";
|
|
39
|
+
|
|
40
|
+
const projects = await stitch.projects();
|
|
41
|
+
for (const project of projects) {
|
|
42
|
+
console.log(project.id, project.projectId);
|
|
43
|
+
const screens = await project.screens();
|
|
44
|
+
console.log(` ${screens.length} screens`);
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Reference a project by ID
|
|
49
|
+
|
|
50
|
+
If you already have a project ID, reference it directly:
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
const project = stitch.project("4044680601076201931");
|
|
54
|
+
// Call methods on it — each method fetches data as needed
|
|
55
|
+
const screens = await project.screens();
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Edit a screen
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
const screen = await project.generate("A dashboard with charts");
|
|
62
|
+
const edited = await screen.edit("Make the background dark and add a sidebar");
|
|
63
|
+
const editedHtml = await edited.getHtml();
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Generate variants
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
const variants = await screen.variants("Try different color schemes", {
|
|
70
|
+
variantCount: 3,
|
|
71
|
+
creativeRange: "EXPLORE",
|
|
72
|
+
aspects: ["COLOR_SCHEME", "LAYOUT"],
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
for (const variant of variants) {
|
|
76
|
+
console.log(variant.id, await variant.getHtml());
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
`variantOptions` fields:
|
|
81
|
+
|
|
82
|
+
| Field | Type | Default | Description |
|
|
83
|
+
|---|---|---|---|
|
|
84
|
+
| `variantCount` | `number` | 3 | Number of variants (1–5) |
|
|
85
|
+
| `creativeRange` | `string` | `"EXPLORE"` | `"REFINE"`, `"EXPLORE"`, or `"REIMAGINE"` |
|
|
86
|
+
| `aspects` | `string[]` | all | `"LAYOUT"`, `"COLOR_SCHEME"`, `"IMAGES"`, `"TEXT_FONT"`, `"TEXT_CONTENT"` |
|
|
87
|
+
|
|
88
|
+
## Tool Client (Agent Usage)
|
|
89
|
+
|
|
90
|
+
For agents and orchestration scripts that need direct MCP tool access:
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
import { StitchToolClient } from "@google/stitch-sdk";
|
|
94
|
+
|
|
95
|
+
const client = new StitchToolClient({ apiKey: "your-api-key" });
|
|
96
|
+
|
|
97
|
+
// List available tools
|
|
98
|
+
const { tools } = await client.listTools();
|
|
99
|
+
for (const tool of tools) {
|
|
100
|
+
console.log(tool.name, tool.description);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Call a tool directly
|
|
104
|
+
const result = await client.callTool("create_project", {
|
|
105
|
+
title: "Agent Project",
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
await client.close();
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The client auto-connects on the first `callTool` or `listTools` call. No explicit `connect()` needed.
|
|
112
|
+
|
|
113
|
+
## API Reference
|
|
114
|
+
|
|
115
|
+
### `Stitch`
|
|
116
|
+
|
|
117
|
+
The root class. Manages projects.
|
|
118
|
+
|
|
119
|
+
| Method | Parameters | Returns | Description |
|
|
120
|
+
|---|---|---|---|
|
|
121
|
+
| `createProject(title)` | `title: string` | `Promise<Project>` | Create a new project |
|
|
122
|
+
| `projects()` | — | `Promise<Project[]>` | List all accessible projects |
|
|
123
|
+
| `project(id)` | `id: string` | `Project` | Reference a project by ID (no API call) |
|
|
124
|
+
|
|
125
|
+
### `Project`
|
|
126
|
+
|
|
127
|
+
A Stitch project containing screens.
|
|
128
|
+
|
|
129
|
+
| Property | Type | Description |
|
|
130
|
+
|---|---|---|
|
|
131
|
+
| `id` | `string` | Alias for `projectId` |
|
|
132
|
+
| `projectId` | `string` | Bare project ID (no `projects/` prefix) |
|
|
133
|
+
|
|
134
|
+
| Method | Parameters | Returns | Description |
|
|
135
|
+
|---|---|---|---|
|
|
136
|
+
| `generate(prompt, deviceType?)` | `prompt: string`, `deviceType?: DeviceType` | `Promise<Screen>` | Generate a screen from a text prompt |
|
|
137
|
+
| `screens()` | — | `Promise<Screen[]>` | List all screens in the project |
|
|
138
|
+
| `getScreen(screenId)` | `screenId: string` | `Promise<Screen>` | Retrieve a specific screen by ID |
|
|
139
|
+
|
|
140
|
+
`DeviceType`: `"MOBILE"` \| `"DESKTOP"` \| `"TABLET"` \| `"AGNOSTIC"`
|
|
141
|
+
|
|
142
|
+
### `Screen`
|
|
143
|
+
|
|
144
|
+
A generated UI screen. Provides access to HTML and screenshots.
|
|
145
|
+
|
|
146
|
+
| Property | Type | Description |
|
|
147
|
+
|---|---|---|
|
|
148
|
+
| `id` | `string` | Alias for `screenId` |
|
|
149
|
+
| `screenId` | `string` | Bare screen ID |
|
|
150
|
+
| `projectId` | `string` | Parent project ID |
|
|
151
|
+
|
|
152
|
+
| Method | Parameters | Returns | Description |
|
|
153
|
+
|---|---|---|---|
|
|
154
|
+
| `edit(prompt, deviceType?, modelId?)` | `prompt: string` | `Promise<Screen>` | Edit the screen with a text prompt |
|
|
155
|
+
| `variants(prompt, variantOptions, deviceType?, modelId?)` | `prompt: string`, `variantOptions: object` | `Promise<Screen[]>` | Generate design variants |
|
|
156
|
+
| `getHtml()` | — | `Promise<string>` | Get the screen's HTML download URL |
|
|
157
|
+
| `getImage()` | — | `Promise<string>` | Get the screen's screenshot download URL |
|
|
158
|
+
|
|
159
|
+
`getHtml()` and `getImage()` use cached data from the generation response when available. If the screen was loaded from `screens()` or `getScreen()`, they call the `get_screen` API automatically.
|
|
160
|
+
|
|
161
|
+
`modelId`: `"GEMINI_3_PRO"` \| `"GEMINI_3_FLASH"`
|
|
162
|
+
|
|
163
|
+
### `StitchToolClient`
|
|
164
|
+
|
|
165
|
+
Low-level authenticated pipe to the Stitch MCP server. Use this when you need direct tool access (e.g., in an AI agent).
|
|
166
|
+
|
|
167
|
+
```ts
|
|
168
|
+
const client = new StitchToolClient({ apiKey: "..." });
|
|
169
|
+
const result = await client.callTool<any>("tool_name", { arg: "value" });
|
|
170
|
+
await client.close();
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
| Method | Parameters | Returns | Description |
|
|
174
|
+
|---|---|---|---|
|
|
175
|
+
| `callTool<T>(name, args)` | `name: string`, `args: Record<string, any>` | `Promise<T>` | Call an MCP tool |
|
|
176
|
+
| `listTools()` | — | `Promise<{ tools }>` | List available tools |
|
|
177
|
+
| `connect()` | — | `Promise<void>` | Explicitly connect (auto-called by `callTool`) |
|
|
178
|
+
| `close()` | — | `Promise<void>` | Close the connection |
|
|
179
|
+
|
|
180
|
+
### `StitchProxy`
|
|
181
|
+
|
|
182
|
+
An MCP proxy server that forwards requests to Stitch. Use this to expose Stitch tools through your own MCP server.
|
|
183
|
+
|
|
184
|
+
```ts
|
|
185
|
+
import { StitchProxy } from "@google/stitch-sdk";
|
|
186
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
187
|
+
|
|
188
|
+
const proxy = new StitchProxy({ apiKey: "..." });
|
|
189
|
+
const transport = new StdioServerTransport();
|
|
190
|
+
await proxy.start(transport);
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### `stitch` Singleton
|
|
194
|
+
|
|
195
|
+
A pre-configured `Stitch` instance that reads `STITCH_API_KEY` from the environment. Lazily initialized on first use.
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
import { stitch } from "@google/stitch-sdk";
|
|
199
|
+
|
|
200
|
+
// No setup needed — just use it
|
|
201
|
+
const projects = await stitch.projects();
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Configuration
|
|
205
|
+
|
|
206
|
+
### Environment Variables
|
|
207
|
+
|
|
208
|
+
| Variable | Required | Description |
|
|
209
|
+
|---|---|---|
|
|
210
|
+
| `STITCH_API_KEY` | Yes (or use OAuth) | API key for authentication |
|
|
211
|
+
| `STITCH_ACCESS_TOKEN` | No | OAuth access token (alternative to API key) |
|
|
212
|
+
| `GOOGLE_CLOUD_PROJECT` | With OAuth | Google Cloud project ID |
|
|
213
|
+
| `STITCH_HOST` | No | Override the MCP server URL |
|
|
214
|
+
|
|
215
|
+
### Explicit Configuration
|
|
216
|
+
|
|
217
|
+
```ts
|
|
218
|
+
import { Stitch, StitchToolClient } from "@google/stitch-sdk";
|
|
219
|
+
|
|
220
|
+
const client = new StitchToolClient({
|
|
221
|
+
apiKey: "your-api-key",
|
|
222
|
+
baseUrl: "https://stitch.googleapis.com/mcp",
|
|
223
|
+
timeout: 300_000,
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
const sdk = new Stitch(client);
|
|
227
|
+
const projects = await sdk.projects();
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
| Option | Type | Default | Description |
|
|
231
|
+
|---|---|---|---|
|
|
232
|
+
| `apiKey` | `string` | `STITCH_API_KEY` | API key |
|
|
233
|
+
| `accessToken` | `string` | `STITCH_ACCESS_TOKEN` | OAuth token |
|
|
234
|
+
| `projectId` | `string` | `GOOGLE_CLOUD_PROJECT` | Cloud project ID |
|
|
235
|
+
| `baseUrl` | `string` | `https://stitch.googleapis.com/mcp` | MCP server URL |
|
|
236
|
+
| `timeout` | `number` | `300000` | Request timeout (ms) |
|
|
237
|
+
|
|
238
|
+
Authentication requires either `apiKey` or both `accessToken` and `projectId`.
|
|
239
|
+
|
|
240
|
+
## Error Handling
|
|
241
|
+
|
|
242
|
+
All domain class methods throw `StitchError` on failure:
|
|
243
|
+
|
|
244
|
+
```ts
|
|
245
|
+
import { stitch, StitchError } from "@google/stitch-sdk";
|
|
246
|
+
|
|
247
|
+
try {
|
|
248
|
+
const project = stitch.project("bad-id");
|
|
249
|
+
await project.screens();
|
|
250
|
+
} catch (error) {
|
|
251
|
+
if (error instanceof StitchError) {
|
|
252
|
+
console.error(error.code); // "UNKNOWN_ERROR"
|
|
253
|
+
console.error(error.message); // Human-readable description
|
|
254
|
+
console.error(error.recoverable); // false
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Error codes: `AUTH_FAILED`, `NOT_FOUND`, `PERMISSION_DENIED`, `RATE_LIMITED`, `NETWORK_ERROR`, `VALIDATION_ERROR`, `UNKNOWN_ERROR`.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Disclaimer
|
|
264
|
+
|
|
265
|
+
This is not an officially supported Google product. This project is not
|
|
266
|
+
eligible for the [Google Open Source Software Vulnerability Rewards
|
|
267
|
+
Program](https://bughunters.google.com/open-source-security).
|
|
268
|
+
|
|
269
|
+
## License
|
|
270
|
+
|
|
271
|
+
Apache 2.0 — see [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED by scripts/generate-sdk.ts
|
|
3
|
+
DO NOT EDIT — changes will be overwritten.
|
|
4
|
+
|
|
5
|
+
Source: tools-manifest.json (sha256:1f84b31604f9...)
|
|
6
|
+
domain-map.json (sha256:49ed76857ca3...)
|
|
7
|
+
Generated: 2026-03-12T15:11:01.420Z
|
|
8
|
+
*/
|
|
9
|
+
export { Stitch } from "./stitch.js";
|
|
10
|
+
export { Project } from "./project.js";
|
|
11
|
+
export { Screen } from "./screen.js";
|
|
12
|
+
export { toolDefinitions, type ToolDefinition } from "./tool-definitions.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../generated/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED by scripts/generate-sdk.ts
|
|
3
|
+
DO NOT EDIT — changes will be overwritten.
|
|
4
|
+
|
|
5
|
+
Source: tools-manifest.json (sha256:1f84b31604f9...)
|
|
6
|
+
domain-map.json (sha256:49ed76857ca3...)
|
|
7
|
+
Generated: 2026-03-12T15:11:01.420Z
|
|
8
|
+
*/
|
|
9
|
+
export { Stitch } from "./stitch.js";
|
|
10
|
+
export { Project } from "./project.js";
|
|
11
|
+
export { Screen } from "./screen.js";
|
|
12
|
+
export { toolDefinitions } from "./tool-definitions.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAuB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED by scripts/generate-sdk.ts
|
|
3
|
+
DO NOT EDIT — changes will be overwritten.
|
|
4
|
+
|
|
5
|
+
Source: tools-manifest.json (sha256:1f84b31604f9...)
|
|
6
|
+
domain-map.json (sha256:49ed76857ca3...)
|
|
7
|
+
Generated: 2026-03-12T15:11:01.420Z
|
|
8
|
+
*/
|
|
9
|
+
import { type StitchToolClient } from "../../src/client.js";
|
|
10
|
+
import { Screen } from "./screen.js";
|
|
11
|
+
/** A Stitch project containing screens. */
|
|
12
|
+
export declare class Project {
|
|
13
|
+
private client;
|
|
14
|
+
readonly projectId: string;
|
|
15
|
+
data: any;
|
|
16
|
+
constructor(client: StitchToolClient, data: any);
|
|
17
|
+
/** Convenience alias for projectId */
|
|
18
|
+
get id(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generates a new screen within a project from a text prompt.
|
|
21
|
+
* Tool: generate_screen_from_text
|
|
22
|
+
*/
|
|
23
|
+
generate(prompt: string, deviceType?: "DEVICE_TYPE_UNSPECIFIED" | "MOBILE" | "DESKTOP" | "TABLET" | "AGNOSTIC", modelId?: "MODEL_ID_UNSPECIFIED" | "GEMINI_3_PRO" | "GEMINI_3_FLASH"): Promise<Screen>;
|
|
24
|
+
/**
|
|
25
|
+
* Lists all screens within a given Stitch project.
|
|
26
|
+
* Tool: list_screens
|
|
27
|
+
*/
|
|
28
|
+
screens(): Promise<Screen[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves the details of a specific screen within a project.
|
|
31
|
+
* Tool: get_screen
|
|
32
|
+
*/
|
|
33
|
+
getScreen(screenId: string): Promise<Screen>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../generated/src/project.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,2CAA2C;AAC3C,qBAAa,OAAO;IAIJ,OAAO,CAAC,MAAM;IAH1B,SAAgB,SAAS,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;gBAEG,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG;IAUvD,sCAAsC;IACtC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,yBAAyB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5M;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IASlC;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQrD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { StitchError } from "../../src/spec/errors.js";
|
|
2
|
+
import { Screen } from "./screen.js";
|
|
3
|
+
/** A Stitch project containing screens. */
|
|
4
|
+
export class Project {
|
|
5
|
+
client;
|
|
6
|
+
projectId;
|
|
7
|
+
data;
|
|
8
|
+
constructor(client, data) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
{
|
|
11
|
+
let _v = typeof data === "string" ? data : data.name;
|
|
12
|
+
if (typeof _v === "string" && _v.startsWith("projects/"))
|
|
13
|
+
_v = _v.slice(9);
|
|
14
|
+
this.projectId = _v;
|
|
15
|
+
}
|
|
16
|
+
this.data = typeof data === "object" ? data : undefined;
|
|
17
|
+
}
|
|
18
|
+
/** Convenience alias for projectId */
|
|
19
|
+
get id() {
|
|
20
|
+
return this.projectId;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Generates a new screen within a project from a text prompt.
|
|
24
|
+
* Tool: generate_screen_from_text
|
|
25
|
+
*/
|
|
26
|
+
async generate(prompt, deviceType, modelId) {
|
|
27
|
+
try {
|
|
28
|
+
const raw = await this.client.callTool("generate_screen_from_text", { projectId: this.projectId, prompt, deviceType, modelId });
|
|
29
|
+
return new Screen(this.client, { ...raw.outputComponents[0].design.screens[0], projectId: this.projectId });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
throw StitchError.fromUnknown(error);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Lists all screens within a given Stitch project.
|
|
37
|
+
* Tool: list_screens
|
|
38
|
+
*/
|
|
39
|
+
async screens() {
|
|
40
|
+
try {
|
|
41
|
+
const raw = await this.client.callTool("list_screens", { projectId: this.projectId });
|
|
42
|
+
return (raw.screens || []).map((item) => new Screen(this.client, { ...item, projectId: this.projectId }));
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw StitchError.fromUnknown(error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Retrieves the details of a specific screen within a project.
|
|
50
|
+
* Tool: get_screen
|
|
51
|
+
*/
|
|
52
|
+
async getScreen(screenId) {
|
|
53
|
+
try {
|
|
54
|
+
const raw = await this.client.callTool("get_screen", { projectId: this.projectId, screenId, name: `projects/${this.projectId}/screens/${screenId}` });
|
|
55
|
+
return new Screen(this.client, { ...raw, projectId: this.projectId });
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw StitchError.fromUnknown(error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../generated/src/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED by scripts/generate-sdk.ts
|
|
3
|
+
DO NOT EDIT — changes will be overwritten.
|
|
4
|
+
|
|
5
|
+
Source: tools-manifest.json (sha256:1f84b31604f9...)
|
|
6
|
+
domain-map.json (sha256:49ed76857ca3...)
|
|
7
|
+
Generated: 2026-03-12T15:11:01.420Z
|
|
8
|
+
*/
|
|
9
|
+
import { type StitchToolClient } from "../../src/client.js";
|
|
10
|
+
/** A generated UI screen. Provides access to HTML and screenshots. */
|
|
11
|
+
export declare class Screen {
|
|
12
|
+
private client;
|
|
13
|
+
readonly projectId: string;
|
|
14
|
+
readonly screenId: string;
|
|
15
|
+
data: any;
|
|
16
|
+
constructor(client: StitchToolClient, data: any);
|
|
17
|
+
/** Convenience alias for screenId */
|
|
18
|
+
get id(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Edits existing screens within a project using a text prompt.
|
|
21
|
+
* Tool: edit_screens
|
|
22
|
+
*/
|
|
23
|
+
edit(prompt: string, deviceType?: "DEVICE_TYPE_UNSPECIFIED" | "MOBILE" | "DESKTOP" | "TABLET" | "AGNOSTIC", modelId?: "MODEL_ID_UNSPECIFIED" | "GEMINI_3_PRO" | "GEMINI_3_FLASH"): Promise<Screen>;
|
|
24
|
+
/**
|
|
25
|
+
* Generates variants of existing screens within a project using a text prompt.
|
|
26
|
+
* Tool: generate_variants
|
|
27
|
+
*/
|
|
28
|
+
variants(prompt: string, variantOptions: any, deviceType?: "DEVICE_TYPE_UNSPECIFIED" | "MOBILE" | "DESKTOP" | "TABLET" | "AGNOSTIC", modelId?: "MODEL_ID_UNSPECIFIED" | "GEMINI_3_PRO" | "GEMINI_3_FLASH"): Promise<Screen[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves the details of a specific screen within a project.
|
|
31
|
+
* Tool: get_screen
|
|
32
|
+
*/
|
|
33
|
+
getHtml(): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Retrieves the details of a specific screen within a project.
|
|
36
|
+
* Tool: get_screen
|
|
37
|
+
*/
|
|
38
|
+
getImage(): Promise<string>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../generated/src/screen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,sEAAsE;AACtE,qBAAa,MAAM;IAKH,OAAO,CAAC,MAAM;IAJ1B,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;gBAEG,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG;IAWvD,qCAAqC;IACrC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,yBAAyB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IASxM;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,yBAAyB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,cAAc,GAAG,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASnO;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAYhC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAWpC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { StitchError } from "../../src/spec/errors.js";
|
|
2
|
+
/** A generated UI screen. Provides access to HTML and screenshots. */
|
|
3
|
+
export class Screen {
|
|
4
|
+
client;
|
|
5
|
+
projectId;
|
|
6
|
+
screenId;
|
|
7
|
+
data;
|
|
8
|
+
constructor(client, data) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
this.projectId = typeof data === "string" ? data : data.projectId;
|
|
11
|
+
this.screenId = typeof data === "string" ? data : data.id;
|
|
12
|
+
if (!this.screenId && typeof data === "object" && data.name) {
|
|
13
|
+
const parts = data.name.split("/screens/");
|
|
14
|
+
if (parts.length === 2)
|
|
15
|
+
this.screenId = parts[1];
|
|
16
|
+
}
|
|
17
|
+
this.data = typeof data === "object" ? data : undefined;
|
|
18
|
+
}
|
|
19
|
+
/** Convenience alias for screenId */
|
|
20
|
+
get id() {
|
|
21
|
+
return this.screenId;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Edits existing screens within a project using a text prompt.
|
|
25
|
+
* Tool: edit_screens
|
|
26
|
+
*/
|
|
27
|
+
async edit(prompt, deviceType, modelId) {
|
|
28
|
+
try {
|
|
29
|
+
const raw = await this.client.callTool("edit_screens", { projectId: this.projectId, selectedScreenIds: [this.screenId], prompt, deviceType, modelId });
|
|
30
|
+
return new Screen(this.client, { ...raw.outputComponents[0].design.screens[0], projectId: this.projectId });
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw StitchError.fromUnknown(error);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Generates variants of existing screens within a project using a text prompt.
|
|
38
|
+
* Tool: generate_variants
|
|
39
|
+
*/
|
|
40
|
+
async variants(prompt, variantOptions, deviceType, modelId) {
|
|
41
|
+
try {
|
|
42
|
+
const raw = await this.client.callTool("generate_variants", { projectId: this.projectId, selectedScreenIds: [this.screenId], prompt, variantOptions, deviceType, modelId });
|
|
43
|
+
return ((raw.outputComponents || []).flatMap((a) => a?.design?.screens || []) || []).map((item) => new Screen(this.client, { ...item, projectId: this.projectId }));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
throw StitchError.fromUnknown(error);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Retrieves the details of a specific screen within a project.
|
|
51
|
+
* Tool: get_screen
|
|
52
|
+
*/
|
|
53
|
+
async getHtml() {
|
|
54
|
+
// Use cached HTML download URL from generation response if available
|
|
55
|
+
if (this.data?.htmlCode?.downloadUrl)
|
|
56
|
+
return this.data?.htmlCode?.downloadUrl;
|
|
57
|
+
try {
|
|
58
|
+
const raw = await this.client.callTool("get_screen", { projectId: this.projectId, screenId: this.screenId, name: `projects/${this.projectId}/screens/${this.screenId}` });
|
|
59
|
+
return raw.htmlCode.downloadUrl || "";
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
throw StitchError.fromUnknown(error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Retrieves the details of a specific screen within a project.
|
|
67
|
+
* Tool: get_screen
|
|
68
|
+
*/
|
|
69
|
+
async getImage() {
|
|
70
|
+
// Use cached screenshot URL from generation response
|
|
71
|
+
if (this.data?.screenshot?.downloadUrl)
|
|
72
|
+
return this.data?.screenshot?.downloadUrl;
|
|
73
|
+
try {
|
|
74
|
+
const raw = await this.client.callTool("get_screen", { projectId: this.projectId, screenId: this.screenId, name: `projects/${this.projectId}/screens/${this.screenId}` });
|
|
75
|
+
return raw.screenshot.downloadUrl || "";
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw StitchError.fromUnknown(error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../generated/src/screen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED by scripts/generate-sdk.ts
|
|
3
|
+
DO NOT EDIT — changes will be overwritten.
|
|
4
|
+
|
|
5
|
+
Source: tools-manifest.json (sha256:1f84b31604f9...)
|
|
6
|
+
domain-map.json (sha256:49ed76857ca3...)
|
|
7
|
+
Generated: 2026-03-12T15:11:01.420Z
|
|
8
|
+
*/
|
|
9
|
+
import { type StitchToolClient } from "../../src/client.js";
|
|
10
|
+
import { Project } from "./project.js";
|
|
11
|
+
/** Main entry point. Manages projects. */
|
|
12
|
+
export declare class Stitch {
|
|
13
|
+
private client;
|
|
14
|
+
constructor(client: StitchToolClient);
|
|
15
|
+
/**
|
|
16
|
+
* Lists all Stitch projects accessible to the user. By default, it lists projects owned by the user.
|
|
17
|
+
* Tool: list_projects
|
|
18
|
+
*/
|
|
19
|
+
projects(): Promise<Project[]>;
|
|
20
|
+
/** Create a Project handle from an existing ID without an API call. */
|
|
21
|
+
project(id: string): Project;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=stitch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stitch.d.ts","sourceRoot":"","sources":["../../../generated/src/stitch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0CAA0C;AAC1C,qBAAa,MAAM;IACH,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAG5C;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASpC,uEAAuE;IACvE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAG/B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StitchError } from "../../src/spec/errors.js";
|
|
2
|
+
import { Project } from "./project.js";
|
|
3
|
+
/** Main entry point. Manages projects. */
|
|
4
|
+
export class Stitch {
|
|
5
|
+
client;
|
|
6
|
+
constructor(client) {
|
|
7
|
+
this.client = client;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Lists all Stitch projects accessible to the user. By default, it lists projects owned by the user.
|
|
11
|
+
* Tool: list_projects
|
|
12
|
+
*/
|
|
13
|
+
async projects() {
|
|
14
|
+
try {
|
|
15
|
+
const raw = await this.client.callTool("list_projects", {});
|
|
16
|
+
return (raw.projects || []).map((item) => new Project(this.client, item));
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
throw StitchError.fromUnknown(error);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** Create a Project handle from an existing ID without an API call. */
|
|
23
|
+
project(id) {
|
|
24
|
+
return new Project(this.client, id);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=stitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stitch.js","sourceRoot":"","sources":["../../../generated/src/stitch.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0CAA0C;AAC1C,MAAM,OAAO,MAAM;IACK;IAApB,YAAoB,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAC5C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAM,eAAe,EAAE,EAAI,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,OAAO,CAAC,EAAU;QACd,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;CACJ"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED by scripts/generate-sdk.ts
|
|
3
|
+
DO NOT EDIT — changes will be overwritten.
|
|
4
|
+
|
|
5
|
+
Source: tools-manifest.json (sha256:1f84b31604f9...)
|
|
6
|
+
domain-map.json (sha256:49ed76857ca3...)
|
|
7
|
+
Generated: 2026-03-12T15:11:01.420Z
|
|
8
|
+
*/
|
|
9
|
+
/** Static tool definition from the Stitch MCP server manifest. */
|
|
10
|
+
export interface ToolDefinition {
|
|
11
|
+
/** MCP tool name, e.g. "create_project" */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Human-readable description of what the tool does */
|
|
14
|
+
description: string;
|
|
15
|
+
/** JSON Schema for the tool's input parameters */
|
|
16
|
+
inputSchema: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
/** All tools available on the Stitch MCP server, generated from tools-manifest.json. */
|
|
19
|
+
export declare const toolDefinitions: ToolDefinition[];
|
|
20
|
+
//# sourceMappingURL=tool-definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-definitions.d.ts","sourceRoot":"","sources":["../../../generated/src/tool-definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC3B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,wFAAwF;AACxF,eAAO,MAAM,eAAe,EAAE,cAAc,EA0U3C,CAAC"}
|