@_davideast/stitch-mcp 0.5.5 → 0.7.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/dist/chunk-0xbbvsve.js +370 -0
- package/dist/chunk-0xbbvsve.js.map +16 -0
- package/dist/chunk-11ab03kg.js +137 -0
- package/dist/chunk-11ab03kg.js.map +10 -0
- package/dist/chunk-17cs61t4.js +270 -0
- package/dist/chunk-17cs61t4.js.map +10 -0
- package/dist/chunk-1mz7188j.js +20 -0
- package/dist/chunk-1mz7188j.js.map +9 -0
- package/dist/chunk-1txb8kjb.js +17 -0
- package/dist/chunk-1txb8kjb.js.map +9 -0
- package/dist/chunk-1v5q6d3n.js +17 -0
- package/dist/chunk-1v5q6d3n.js.map +9 -0
- package/dist/chunk-1wcg0pjg.js +94 -0
- package/dist/chunk-1wcg0pjg.js.map +10 -0
- package/dist/chunk-2zp03jky.js +19 -0
- package/dist/chunk-2zp03jky.js.map +9 -0
- package/dist/chunk-441ntz7a.js +137 -0
- package/dist/chunk-441ntz7a.js.map +10 -0
- package/dist/chunk-543135qd.js +43679 -0
- package/dist/chunk-543135qd.js.map +234 -0
- package/dist/chunk-564wpgj7.js +246 -0
- package/dist/chunk-564wpgj7.js.map +14 -0
- package/dist/chunk-5jbenaez.js +19185 -0
- package/dist/chunk-5jbenaez.js.map +115 -0
- package/dist/chunk-633ma50k.js +371 -0
- package/dist/chunk-633ma50k.js.map +16 -0
- package/dist/chunk-7ryqstaa.js +7065 -0
- package/dist/chunk-7ryqstaa.js.map +115 -0
- package/dist/chunk-7z5z40ar.js +165 -0
- package/dist/chunk-7z5z40ar.js.map +10 -0
- package/dist/chunk-86gwwcyr.js +46325 -0
- package/dist/chunk-86gwwcyr.js.map +261 -0
- package/dist/chunk-8gegrmmt.js +256 -0
- package/dist/chunk-8gegrmmt.js.map +11 -0
- package/dist/chunk-8hgrrc49.js +17 -0
- package/dist/chunk-8hgrrc49.js.map +9 -0
- package/dist/chunk-8w97w2wa.js +50 -0
- package/dist/chunk-8w97w2wa.js.map +9 -0
- package/dist/chunk-8yfetpqq.js +19132 -0
- package/dist/chunk-8yfetpqq.js.map +115 -0
- package/dist/chunk-94knm2sw.js +1495 -0
- package/dist/chunk-94knm2sw.js.map +23 -0
- package/dist/chunk-9ckyz47q.js +518 -0
- package/dist/chunk-9ckyz47q.js.map +12 -0
- package/dist/chunk-appd0sxm.js +5217 -0
- package/dist/chunk-appd0sxm.js.map +67 -0
- package/dist/chunk-b9atzag0.js +67 -0
- package/dist/chunk-b9atzag0.js.map +10 -0
- package/dist/chunk-c08qy4ty.js +67 -0
- package/dist/chunk-c08qy4ty.js.map +10 -0
- package/dist/chunk-c5dtqvff.js +11 -0
- package/dist/chunk-c5dtqvff.js.map +9 -0
- package/dist/chunk-d1ea3tmp.js +17 -0
- package/dist/chunk-d1ea3tmp.js.map +9 -0
- package/dist/chunk-ecn1ca83.js +34253 -0
- package/dist/chunk-ecn1ca83.js.map +261 -0
- package/dist/chunk-ef1c6gq5.js +947 -0
- package/dist/chunk-ef1c6gq5.js.map +28 -0
- package/dist/chunk-ef355a3f.js +20 -0
- package/dist/chunk-ef355a3f.js.map +9 -0
- package/dist/chunk-f0dt9hv8.js +680 -0
- package/dist/chunk-f0dt9hv8.js.map +17 -0
- package/dist/chunk-f2aj8ff8.js +11 -0
- package/dist/chunk-f2aj8ff8.js.map +9 -0
- package/dist/chunk-f3wp07zw.js +24 -0
- package/dist/chunk-f3wp07zw.js.map +9 -0
- package/dist/chunk-f5wqd3z3.js +10 -0
- package/dist/chunk-f5wqd3z3.js.map +9 -0
- package/dist/chunk-g8hwy0wx.js +504 -0
- package/dist/chunk-g8hwy0wx.js.map +21 -0
- package/dist/chunk-gcx3c3yc.js +680 -0
- package/dist/chunk-gcx3c3yc.js.map +17 -0
- package/dist/chunk-gq6vxp70.js +202 -0
- package/dist/chunk-gq6vxp70.js.map +13 -0
- package/dist/chunk-gw64p5pg.js +164 -0
- package/dist/chunk-gw64p5pg.js.map +10 -0
- package/dist/chunk-hgv5frj1.js +256 -0
- package/dist/chunk-hgv5frj1.js.map +11 -0
- package/dist/chunk-hst78da7.js +87 -0
- package/dist/chunk-hst78da7.js.map +13 -0
- package/dist/chunk-hsxpgjyd.js +256 -0
- package/dist/chunk-hsxpgjyd.js.map +11 -0
- package/dist/chunk-j1v44zzm.js +109 -0
- package/dist/chunk-j1v44zzm.js.map +10 -0
- package/dist/chunk-jfd5md63.js +736 -0
- package/dist/chunk-jfd5md63.js.map +16 -0
- package/dist/chunk-jn5pcnz9.js +270 -0
- package/dist/chunk-jn5pcnz9.js.map +10 -0
- package/dist/chunk-jvhzgyhy.js +62 -0
- package/dist/chunk-jvhzgyhy.js.map +10 -0
- package/dist/chunk-k86st2r8.js +7 -0
- package/dist/chunk-k86st2r8.js.map +9 -0
- package/dist/chunk-kztccppz.js +606 -0
- package/dist/chunk-kztccppz.js.map +15 -0
- package/dist/chunk-m2vk15q9.js +503 -0
- package/dist/chunk-m2vk15q9.js.map +21 -0
- package/dist/chunk-mk40f3ka.js +31529 -0
- package/dist/chunk-mk40f3ka.js.map +245 -0
- package/dist/chunk-mp1sf8x6.js +264 -0
- package/dist/chunk-mp1sf8x6.js.map +12 -0
- package/dist/chunk-mzyqavzd.js +736 -0
- package/dist/chunk-mzyqavzd.js.map +16 -0
- package/dist/chunk-n9fs543g.js +94 -0
- package/dist/chunk-n9fs543g.js.map +10 -0
- package/dist/chunk-nbbwjw90.js +165 -0
- package/dist/chunk-nbbwjw90.js.map +10 -0
- package/dist/chunk-nh14pn95.js +137 -0
- package/dist/chunk-nh14pn95.js.map +10 -0
- package/dist/chunk-qnd877d5.js +947 -0
- package/dist/chunk-qnd877d5.js.map +28 -0
- package/dist/chunk-rng2ypf7.js +538 -0
- package/dist/chunk-rng2ypf7.js.map +15 -0
- package/dist/chunk-sjq10wbw.js +39 -0
- package/dist/chunk-sjq10wbw.js.map +9 -0
- package/dist/chunk-snv6a65k.js +759 -0
- package/dist/chunk-snv6a65k.js.map +19 -0
- package/dist/chunk-sqhdg0mf.js +2138 -0
- package/dist/chunk-sqhdg0mf.js.map +44 -0
- package/dist/chunk-tebher8z.js +514 -0
- package/dist/chunk-tebher8z.js.map +12 -0
- package/dist/chunk-v0wtyr4k.js +66 -0
- package/dist/chunk-v0wtyr4k.js.map +10 -0
- package/dist/chunk-v20274k8.js +246 -0
- package/dist/chunk-v20274k8.js.map +14 -0
- package/dist/chunk-vcp9fp2w.js +839 -0
- package/dist/chunk-vcp9fp2w.js.map +11 -0
- package/dist/chunk-vz737k5f.js +269 -0
- package/dist/chunk-vz737k5f.js.map +10 -0
- package/dist/chunk-x6bsgeqa.js +736 -0
- package/dist/chunk-x6bsgeqa.js.map +16 -0
- package/dist/chunk-xg9kcbp1.js +371 -0
- package/dist/chunk-xg9kcbp1.js.map +16 -0
- package/dist/chunk-xhad5b8x.js +110 -0
- package/dist/chunk-xhad5b8x.js.map +10 -0
- package/dist/chunk-xkwa1mn5.js +203 -0
- package/dist/chunk-xkwa1mn5.js.map +13 -0
- package/dist/chunk-xtcg74kf.js +50 -0
- package/dist/chunk-xtcg74kf.js.map +9 -0
- package/dist/chunk-xzjkaqe9.js +759 -0
- package/dist/chunk-xzjkaqe9.js.map +19 -0
- package/dist/chunk-y65xgj69.js +1495 -0
- package/dist/chunk-y65xgj69.js.map +23 -0
- package/dist/commands/doctor/command.js +1 -1
- package/dist/commands/init/command.js +1 -1
- package/dist/commands/logout/command.js +1 -1
- package/dist/commands/proxy/LoggingCallToolHandler.d.ts +11 -0
- package/dist/commands/proxy/command.js +1 -1
- package/dist/commands/screens/command.js +4 -4
- package/dist/commands/serve/command.js +5 -5
- package/dist/commands/site/command.js +1 -1
- package/dist/commands/snapshot/command.js +1 -1
- package/dist/commands/tool/command.js +1 -1
- package/dist/commands/tool/steps/LogExecuteToolStep.d.ts +19 -0
- package/dist/commands/upload/command.d.ts +2 -0
- package/dist/commands/upload/command.js +77 -0
- package/dist/commands/upload/command.js.map +11 -0
- package/dist/commands/upload/handler.d.ts +20 -0
- package/dist/commands/upload/spec.d.ts +38 -0
- package/dist/commands/view/command.js +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/log/append.d.ts +12 -0
- package/dist/lib/log/blob-store/handler.d.ts +10 -0
- package/dist/lib/log/blob-store/spec.d.ts +251 -0
- package/dist/lib/log/capture/handler.d.ts +10 -0
- package/dist/lib/log/capture/spec.d.ts +1504 -0
- package/dist/lib/log/factory.d.ts +4 -0
- package/package.json +2 -2
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_lib
|
|
3
|
+
} from "./chunk-sqhdg0mf.js";
|
|
4
|
+
import {
|
|
5
|
+
theme
|
|
6
|
+
} from "./chunk-kbtqrkwh.js";
|
|
7
|
+
import"./chunk-3sfn889r.js";
|
|
8
|
+
import {
|
|
9
|
+
__require,
|
|
10
|
+
__toESM
|
|
11
|
+
} from "./chunk-9wyra8hs.js";
|
|
12
|
+
|
|
13
|
+
// src/commands/snapshot/handler.ts
|
|
14
|
+
var import_fs_extra = __toESM(require_lib(), 1);
|
|
15
|
+
|
|
16
|
+
// src/framework/MockUI.ts
|
|
17
|
+
class MockUI {
|
|
18
|
+
data;
|
|
19
|
+
constructor(data) {
|
|
20
|
+
this.data = data;
|
|
21
|
+
}
|
|
22
|
+
async promptMcpClient() {
|
|
23
|
+
if (!this.data.mcpClient) {
|
|
24
|
+
throw new Error("MockUI: Missing data for mcpClient");
|
|
25
|
+
}
|
|
26
|
+
return this.data.mcpClient;
|
|
27
|
+
}
|
|
28
|
+
async promptAuthMode() {
|
|
29
|
+
if (!this.data.authMode) {
|
|
30
|
+
throw new Error("MockUI: Missing data for authMode");
|
|
31
|
+
}
|
|
32
|
+
return this.data.authMode;
|
|
33
|
+
}
|
|
34
|
+
async promptTransportType(authMode) {
|
|
35
|
+
if (this.data.transportType) {
|
|
36
|
+
return this.data.transportType;
|
|
37
|
+
}
|
|
38
|
+
throw new Error("MockUI: Missing data for transportType");
|
|
39
|
+
}
|
|
40
|
+
async promptApiKeyStorage() {
|
|
41
|
+
if (!this.data.apiKeyStorage) {
|
|
42
|
+
throw new Error("MockUI: Missing data for apiKeyStorage");
|
|
43
|
+
}
|
|
44
|
+
return this.data.apiKeyStorage;
|
|
45
|
+
}
|
|
46
|
+
async promptApiKey() {
|
|
47
|
+
if (!this.data.apiKey) {
|
|
48
|
+
throw new Error("MockUI: Missing data for apiKey");
|
|
49
|
+
}
|
|
50
|
+
return this.data.apiKey;
|
|
51
|
+
}
|
|
52
|
+
async promptConfirm(message, defaultYes) {
|
|
53
|
+
if (typeof this.data.confirm === "boolean") {
|
|
54
|
+
return this.data.confirm;
|
|
55
|
+
}
|
|
56
|
+
return defaultYes ?? false;
|
|
57
|
+
}
|
|
58
|
+
log(message) {
|
|
59
|
+
console.log(message);
|
|
60
|
+
}
|
|
61
|
+
warn(message) {
|
|
62
|
+
console.log(`WARN: ${message}`);
|
|
63
|
+
}
|
|
64
|
+
error(message) {
|
|
65
|
+
console.error(`ERROR: ${message}`);
|
|
66
|
+
}
|
|
67
|
+
success(message) {
|
|
68
|
+
console.log(`SUCCESS: ${message}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// src/commands/snapshot/handler.ts
|
|
73
|
+
var SCHEMAS = {
|
|
74
|
+
init: {
|
|
75
|
+
description: "Data schema for 'init' command",
|
|
76
|
+
type: "object",
|
|
77
|
+
properties: {
|
|
78
|
+
mcpClient: { type: "string", enum: ["vscode", "cursor", "claude-code", "gemini-cli", "codex", "opencode"] },
|
|
79
|
+
authMode: { type: "string", enum: ["apiKey", "oauth"] },
|
|
80
|
+
transportType: { type: "string", enum: ["http", "stdio"] },
|
|
81
|
+
apiKeyStorage: { type: "string", enum: ["config", "skip", ".env"] },
|
|
82
|
+
apiKey: { type: "string" },
|
|
83
|
+
confirm: { type: "boolean" },
|
|
84
|
+
inputArgs: {
|
|
85
|
+
type: "object",
|
|
86
|
+
description: "Arguments to pass to the command execution",
|
|
87
|
+
properties: {
|
|
88
|
+
local: { type: "boolean" },
|
|
89
|
+
defaults: { type: "boolean" },
|
|
90
|
+
autoVerify: { type: "boolean" },
|
|
91
|
+
client: { type: "string" },
|
|
92
|
+
transport: { type: "string" }
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
required: ["mcpClient", "authMode"]
|
|
97
|
+
},
|
|
98
|
+
doctor: {
|
|
99
|
+
description: "Data schema for 'doctor' command",
|
|
100
|
+
type: "object",
|
|
101
|
+
properties: {
|
|
102
|
+
confirm: { type: "boolean" },
|
|
103
|
+
inputArgs: {
|
|
104
|
+
type: "object",
|
|
105
|
+
description: "Arguments to pass to the command execution",
|
|
106
|
+
properties: {
|
|
107
|
+
verbose: { type: "boolean" }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
site: {
|
|
113
|
+
description: "Data schema for 'site' command",
|
|
114
|
+
type: "object",
|
|
115
|
+
properties: {
|
|
116
|
+
screens: {
|
|
117
|
+
type: "array",
|
|
118
|
+
items: {
|
|
119
|
+
type: "object",
|
|
120
|
+
properties: {
|
|
121
|
+
id: { type: "string" },
|
|
122
|
+
title: { type: "string" },
|
|
123
|
+
description: { type: "string" },
|
|
124
|
+
type: { type: "string" },
|
|
125
|
+
content: { type: "string" }
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
inputArgs: {
|
|
130
|
+
type: "object",
|
|
131
|
+
properties: {
|
|
132
|
+
projectId: { type: "string" },
|
|
133
|
+
outputDir: { type: "string" }
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
class SnapshotHandler {
|
|
141
|
+
services;
|
|
142
|
+
constructor(services) {
|
|
143
|
+
this.services = services;
|
|
144
|
+
}
|
|
145
|
+
async execute(input) {
|
|
146
|
+
if (input.schema) {
|
|
147
|
+
if (input.command) {
|
|
148
|
+
const schema = SCHEMAS[input.command];
|
|
149
|
+
if (!schema) {
|
|
150
|
+
return {
|
|
151
|
+
success: false,
|
|
152
|
+
error: { message: `No schema found for command '${input.command}'` }
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
console.log(JSON.stringify(schema, null, 2));
|
|
156
|
+
} else {
|
|
157
|
+
console.log(JSON.stringify(Object.keys(SCHEMAS), null, 2));
|
|
158
|
+
}
|
|
159
|
+
return { success: true };
|
|
160
|
+
}
|
|
161
|
+
if (!input.command) {
|
|
162
|
+
return { success: false, error: { message: "Command (-c) is required unless using -s" } };
|
|
163
|
+
}
|
|
164
|
+
if (!input.data) {
|
|
165
|
+
return { success: false, error: { message: "Data file (-d) is required unless using -s" } };
|
|
166
|
+
}
|
|
167
|
+
let data;
|
|
168
|
+
try {
|
|
169
|
+
if (await import_fs_extra.default.pathExists(input.data)) {
|
|
170
|
+
data = await import_fs_extra.default.readJson(input.data);
|
|
171
|
+
} else {
|
|
172
|
+
try {
|
|
173
|
+
data = JSON.parse(input.data);
|
|
174
|
+
} catch {
|
|
175
|
+
return { success: false, error: { message: `Data file not found at '${input.data}' and content is not valid JSON` } };
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
} catch (e) {
|
|
179
|
+
return { success: false, error: { message: `Failed to read data: ${e instanceof Error ? e.message : String(e)}` } };
|
|
180
|
+
}
|
|
181
|
+
const mockUI = new MockUI(data);
|
|
182
|
+
try {
|
|
183
|
+
switch (input.command) {
|
|
184
|
+
case "init": {
|
|
185
|
+
const { InitHandler } = await import("./chunk-8hgrrc49.js");
|
|
186
|
+
const handler = new InitHandler(this.services?.gcloud, this.services?.mcpConfig, this.services?.project, this.services?.stitch, mockUI);
|
|
187
|
+
const initInput = {
|
|
188
|
+
local: false,
|
|
189
|
+
defaults: false,
|
|
190
|
+
autoVerify: true,
|
|
191
|
+
...data.inputArgs
|
|
192
|
+
};
|
|
193
|
+
const result = await handler.execute(initInput);
|
|
194
|
+
if (!result.success) {
|
|
195
|
+
console.error("Init failed:", result.error);
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
case "doctor": {
|
|
200
|
+
const { DoctorHandler } = await import("./chunk-1v5q6d3n.js");
|
|
201
|
+
const handler = new DoctorHandler(this.services?.gcloud, this.services?.stitch, mockUI);
|
|
202
|
+
const doctorInput = {
|
|
203
|
+
verbose: false,
|
|
204
|
+
...data.inputArgs
|
|
205
|
+
};
|
|
206
|
+
const result = await handler.execute(doctorInput);
|
|
207
|
+
if (!result.success) {
|
|
208
|
+
console.error("Doctor failed:", result.error);
|
|
209
|
+
}
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
case "site": {
|
|
213
|
+
const { SiteBuilder } = await import("./chunk-ef355a3f.js");
|
|
214
|
+
const { createMockStitch, createMockProject, createMockScreen } = await import("./chunk-98trrxk2.js");
|
|
215
|
+
const mockScreens = (data.screens || []).map((s) => createMockScreen({
|
|
216
|
+
screenId: s.name,
|
|
217
|
+
title: s.title,
|
|
218
|
+
getHtml: () => Promise.resolve(s.htmlCode?.downloadUrl || null)
|
|
219
|
+
}));
|
|
220
|
+
const mockClient = createMockStitch(createMockProject(data.inputArgs?.projectId || "mock-project", mockScreens));
|
|
221
|
+
try {
|
|
222
|
+
const { render } = await import("./chunk-1wcg0pjg.js");
|
|
223
|
+
const React = await import("./chunk-k86st2r8.js");
|
|
224
|
+
const projectId = data.inputArgs?.projectId || "mock-project";
|
|
225
|
+
const { lastFrame, unmount } = render(React.createElement(SiteBuilder, {
|
|
226
|
+
projectId,
|
|
227
|
+
client: mockClient,
|
|
228
|
+
onExit: () => {}
|
|
229
|
+
}));
|
|
230
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
231
|
+
console.log(lastFrame());
|
|
232
|
+
unmount();
|
|
233
|
+
} catch (e) {
|
|
234
|
+
if (e.code === "ERR_MODULE_NOT_FOUND") {
|
|
235
|
+
console.warn(theme.yellow("ink-testing-library not found. Install dev dependencies to snapshot site command."));
|
|
236
|
+
} else {
|
|
237
|
+
throw e;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
default:
|
|
243
|
+
return { success: false, error: { message: `Unsupported command '${input.command}'` } };
|
|
244
|
+
}
|
|
245
|
+
} catch (error) {
|
|
246
|
+
console.error(theme.red("Command execution failed:"), error);
|
|
247
|
+
return { success: true };
|
|
248
|
+
}
|
|
249
|
+
return { success: true };
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
export {
|
|
253
|
+
SnapshotHandler
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
//# debugId=F78CBF4C733E0A4464756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/commands/snapshot/handler.ts", "../src/framework/MockUI.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import fs from 'fs-extra';\nimport { type SnapshotCommand, type SnapshotInput, type SnapshotResult } from './spec.js';\nimport { MockUI } from '../../framework/MockUI.js';\nimport { theme } from '../../ui/theme.js';\nimport { type GcloudService } from '../../services/gcloud/spec.js';\nimport { type StitchService } from '../../services/stitch/spec.js';\nimport { type McpConfigService } from '../../services/mcp-config/spec.js';\nimport { type ProjectService } from '../../services/project/spec.js';\n\ninterface SnapshotServices {\n gcloud?: GcloudService;\n stitch?: StitchService;\n mcpConfig?: McpConfigService;\n project?: ProjectService;\n}\n\n// Schemas for the commands to be printed with -s\nconst SCHEMAS: Record<string, any> = {\n init: {\n description: \"Data schema for 'init' command\",\n type: \"object\",\n properties: {\n mcpClient: { type: \"string\", enum: [\"vscode\", \"cursor\", \"claude-code\", \"gemini-cli\", \"codex\", \"opencode\"] },\n authMode: { type: \"string\", enum: [\"apiKey\", \"oauth\"] },\n transportType: { type: \"string\", enum: [\"http\", \"stdio\"] },\n apiKeyStorage: { type: \"string\", enum: [\"config\", \"skip\", \".env\"] },\n apiKey: { type: \"string\" },\n confirm: { type: \"boolean\" },\n inputArgs: {\n type: \"object\",\n description: \"Arguments to pass to the command execution\",\n properties: {\n local: { type: \"boolean\" },\n defaults: { type: \"boolean\" },\n autoVerify: { type: \"boolean\" },\n client: { type: \"string\" },\n transport: { type: \"string\" }\n }\n }\n },\n required: [\"mcpClient\", \"authMode\"]\n },\n doctor: {\n description: \"Data schema for 'doctor' command\",\n type: \"object\",\n properties: {\n confirm: { type: \"boolean\" },\n inputArgs: {\n type: \"object\",\n description: \"Arguments to pass to the command execution\",\n properties: {\n verbose: { type: \"boolean\" }\n }\n }\n }\n },\n site: {\n description: \"Data schema for 'site' command\",\n type: \"object\",\n properties: {\n screens: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n title: { type: \"string\" },\n description: { type: \"string\" },\n type: { type: \"string\" },\n content: { type: \"string\" }\n }\n }\n },\n inputArgs: {\n type: \"object\",\n properties: {\n projectId: { type: \"string\" },\n outputDir: { type: \"string\" }\n }\n }\n }\n }\n};\n\nexport class SnapshotHandler implements SnapshotCommand {\n constructor(private readonly services?: SnapshotServices) {}\n\n async execute(input: SnapshotInput): Promise<SnapshotResult> {\n if (input.schema) {\n if (input.command) {\n const schema = SCHEMAS[input.command];\n if (!schema) {\n return {\n success: false,\n error: { message: `No schema found for command '${input.command}'` }\n };\n }\n console.log(JSON.stringify(schema, null, 2));\n } else {\n console.log(JSON.stringify(Object.keys(SCHEMAS), null, 2));\n }\n return { success: true };\n }\n\n if (!input.command) {\n return { success: false, error: { message: \"Command (-c) is required unless using -s\" } };\n }\n if (!input.data) {\n return { success: false, error: { message: \"Data file (-d) is required unless using -s\" } };\n }\n\n // Load data\n let data: any;\n try {\n if (await fs.pathExists(input.data)) {\n data = await fs.readJson(input.data);\n } else {\n // Try parsing as JSON string\n try {\n data = JSON.parse(input.data);\n } catch {\n return { success: false, error: { message: `Data file not found at '${input.data}' and content is not valid JSON` } };\n }\n }\n } catch (e) {\n return { success: false, error: { message: `Failed to read data: ${e instanceof Error ? e.message : String(e)}` } };\n }\n\n const mockUI = new MockUI(data);\n\n try {\n switch (input.command) {\n case 'init': {\n const { InitHandler } = await import('../init/handler.js');\n const handler = new InitHandler(\n this.services?.gcloud,\n this.services?.mcpConfig,\n this.services?.project,\n this.services?.stitch,\n mockUI\n );\n const initInput = {\n local: false,\n defaults: false,\n autoVerify: true,\n ...data.inputArgs\n };\n const result = await handler.execute(initInput);\n if (!result.success) {\n console.error('Init failed:', result.error);\n }\n break;\n }\n case 'doctor': {\n const { DoctorHandler } = await import('../doctor/handler.js');\n const handler = new DoctorHandler(\n this.services?.gcloud,\n this.services?.stitch,\n mockUI\n );\n const doctorInput = {\n verbose: false,\n ...data.inputArgs\n };\n const result = await handler.execute(doctorInput);\n if (!result.success) {\n console.error('Doctor failed:', result.error);\n }\n break;\n }\n case 'site': {\n const { SiteBuilder } = await import('../site/ui/SiteBuilder.js');\n const { createMockStitch, createMockProject, createMockScreen } = await import('../../services/stitch-sdk/MockStitchSDK.js');\n\n const mockScreens = (data.screens || []).map((s: any) => createMockScreen({\n screenId: s.name,\n title: s.title,\n getHtml: (() => Promise.resolve(s.htmlCode?.downloadUrl || null)) as any,\n }));\n const mockClient = createMockStitch(createMockProject(data.inputArgs?.projectId || 'mock-project', mockScreens));\n\n // Use ink-testing-library to render and snapshot the UI\n try {\n // We use require to avoid type checking issues if it's not installed in prod build env,\n // although this command is a dev tool.\n const { render } = await import('ink-testing-library');\n const React = await import('react');\n\n const projectId = data.inputArgs?.projectId || 'mock-project';\n\n const { lastFrame, unmount } = render(\n React.createElement(SiteBuilder, {\n projectId,\n client: mockClient,\n onExit: () => {}\n })\n );\n\n // Wait for async operations (loading screens)\n // Simple delay for now, or check frame content until \"Loading\" is gone\n // Since we can't easily wait for a specific state without more complex logic,\n // let's try a short delay to allow useEffect to run.\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n console.log(lastFrame());\n unmount();\n } catch (e) {\n if ((e as any).code === 'ERR_MODULE_NOT_FOUND') {\n console.warn(theme.yellow('ink-testing-library not found. Install dev dependencies to snapshot site command.'));\n } else {\n throw e;\n }\n }\n break;\n }\n default:\n return { success: false, error: { message: `Unsupported command '${input.command}'` } };\n }\n } catch (error) {\n console.error(theme.red('Command execution failed:'), error);\n // Return success: true because the snapshotting process ran, even if the command failed.\n // The error is part of the snapshot.\n return { success: true };\n }\n\n return { success: true };\n }\n}\n",
|
|
6
|
+
"import { type UserInterface } from './UserInterface.js';\nimport type { McpClient } from '../ui/wizard.js';\n\nexport class MockUI implements UserInterface {\n constructor(private readonly data: Record<string, any>) {}\n\n async promptMcpClient(): Promise<McpClient> {\n if (!this.data.mcpClient) {\n throw new Error('MockUI: Missing data for mcpClient');\n }\n return this.data.mcpClient;\n }\n\n async promptAuthMode(): Promise<'apiKey' | 'oauth'> {\n if (!this.data.authMode) {\n throw new Error('MockUI: Missing data for authMode');\n }\n return this.data.authMode;\n }\n\n async promptTransportType(authMode?: 'apiKey' | 'oauth'): Promise<'http' | 'stdio'> {\n if (this.data.transportType) {\n return this.data.transportType;\n }\n throw new Error('MockUI: Missing data for transportType');\n }\n\n async promptApiKeyStorage(): Promise<'config' | 'skip' | '.env'> {\n if (!this.data.apiKeyStorage) {\n throw new Error('MockUI: Missing data for apiKeyStorage');\n }\n return this.data.apiKeyStorage;\n }\n\n async promptApiKey(): Promise<string> {\n if (!this.data.apiKey) {\n throw new Error('MockUI: Missing data for apiKey');\n }\n return this.data.apiKey;\n }\n\n async promptConfirm(message: string, defaultYes?: boolean): Promise<boolean> {\n if (typeof this.data.confirm === 'boolean') {\n return this.data.confirm;\n }\n // If specific confirm keys are provided in data, could use that too.\n // For now, default to defaultYes or false.\n return defaultYes ?? false;\n }\n\n log(message: string): void {\n console.log(message);\n }\n\n warn(message: string): void {\n console.log(`WARN: ${message}`);\n }\n\n error(message: string): void {\n console.error(`ERROR: ${message}`);\n }\n\n success(message: string): void {\n console.log(`SUCCESS: ${message}`);\n }\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "F78CBF4C733E0A4464756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// node_modules/get-east-asian-width/lookup-data.js
|
|
2
|
+
var ambiguousMinimalCodePoint = 161;
|
|
3
|
+
var ambiguousMaximumCodePoint = 1114109;
|
|
4
|
+
var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
|
|
5
|
+
var fullwidthMinimalCodePoint = 12288;
|
|
6
|
+
var fullwidthMaximumCodePoint = 65510;
|
|
7
|
+
var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
|
|
8
|
+
var wideMinimalCodePoint = 4352;
|
|
9
|
+
var wideMaximumCodePoint = 262141;
|
|
10
|
+
var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
|
|
11
|
+
|
|
12
|
+
// node_modules/get-east-asian-width/utilities.js
|
|
13
|
+
var isInRange = (ranges, codePoint) => {
|
|
14
|
+
let low = 0;
|
|
15
|
+
let high = Math.floor(ranges.length / 2) - 1;
|
|
16
|
+
while (low <= high) {
|
|
17
|
+
const mid = Math.floor((low + high) / 2);
|
|
18
|
+
const i = mid * 2;
|
|
19
|
+
if (codePoint < ranges[i]) {
|
|
20
|
+
high = mid - 1;
|
|
21
|
+
} else if (codePoint > ranges[i + 1]) {
|
|
22
|
+
low = mid + 1;
|
|
23
|
+
} else {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// node_modules/get-east-asian-width/lookup.js
|
|
31
|
+
var commonCjkCodePoint = 19968;
|
|
32
|
+
var [wideFastPathStart, wideFastPathEnd] = /* @__PURE__ */ findWideFastPathRange(wideRanges);
|
|
33
|
+
function findWideFastPathRange(ranges) {
|
|
34
|
+
let fastPathStart = ranges[0];
|
|
35
|
+
let fastPathEnd = ranges[1];
|
|
36
|
+
for (let index = 0;index < ranges.length; index += 2) {
|
|
37
|
+
const start = ranges[index];
|
|
38
|
+
const end = ranges[index + 1];
|
|
39
|
+
if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
|
|
40
|
+
return [start, end];
|
|
41
|
+
}
|
|
42
|
+
if (end - start > fastPathEnd - fastPathStart) {
|
|
43
|
+
fastPathStart = start;
|
|
44
|
+
fastPathEnd = end;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return [fastPathStart, fastPathEnd];
|
|
48
|
+
}
|
|
49
|
+
var isAmbiguous = (codePoint) => {
|
|
50
|
+
if (codePoint < ambiguousMinimalCodePoint || codePoint > ambiguousMaximumCodePoint) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
return isInRange(ambiguousRanges, codePoint);
|
|
54
|
+
};
|
|
55
|
+
var isFullWidth = (codePoint) => {
|
|
56
|
+
if (codePoint < fullwidthMinimalCodePoint || codePoint > fullwidthMaximumCodePoint) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return isInRange(fullwidthRanges, codePoint);
|
|
60
|
+
};
|
|
61
|
+
var isWide = (codePoint) => {
|
|
62
|
+
if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if (codePoint < wideMinimalCodePoint || codePoint > wideMaximumCodePoint) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return isInRange(wideRanges, codePoint);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// node_modules/get-east-asian-width/index.js
|
|
72
|
+
function validate(codePoint) {
|
|
73
|
+
if (!Number.isSafeInteger(codePoint)) {
|
|
74
|
+
throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
|
|
78
|
+
validate(codePoint);
|
|
79
|
+
if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
|
|
80
|
+
return 2;
|
|
81
|
+
}
|
|
82
|
+
return 1;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { isFullWidth, isWide, eastAsianWidth };
|
|
86
|
+
|
|
87
|
+
//# debugId=86F48E5D065A3EAC64756E2164756E21
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/get-east-asian-width/lookup-data.js", "../node_modules/get-east-asian-width/utilities.js", "../node_modules/get-east-asian-width/lookup.js", "../node_modules/get-east-asian-width/index.js"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"// Generated by scripts/build.js\n\nexport const ambiguousMinimalCodePoint = 161;\nexport const ambiguousMaximumCodePoint = 1114109;\nexport const ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];\n\nexport const fullwidthMinimalCodePoint = 12288;\nexport const fullwidthMaximumCodePoint = 65510;\nexport const fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];\n\nexport const halfwidthMinimalCodePoint = 8361;\nexport const halfwidthMaximumCodePoint = 65518;\nexport const halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];\n\nexport const narrowMinimalCodePoint = 32;\nexport const narrowMaximumCodePoint = 10630;\nexport const narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];\n\nexport const wideMinimalCodePoint = 4352;\nexport const wideMaximumCodePoint = 262141;\nexport const wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];\n",
|
|
6
|
+
"/**\nBinary search on a sorted flat array of [start, end] pairs.\n\n@param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20].\n@param {number} codePoint - The value to search for.\n@returns {boolean} Whether the value falls within any of the ranges.\n*/\nexport const isInRange = (ranges, codePoint) => {\n\tlet low = 0;\n\tlet high = Math.floor(ranges.length / 2) - 1;\n\twhile (low <= high) {\n\t\tconst mid = Math.floor((low + high) / 2);\n\t\tconst i = mid * 2;\n\t\tif (codePoint < ranges[i]) {\n\t\t\thigh = mid - 1;\n\t\t} else if (codePoint > ranges[i + 1]) {\n\t\t\tlow = mid + 1;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n",
|
|
7
|
+
"import {\n\tambiguousMinimalCodePoint,\n\tambiguousMaximumCodePoint,\n\tambiguousRanges,\n\n\tfullwidthMinimalCodePoint,\n\tfullwidthMaximumCodePoint,\n\tfullwidthRanges,\n\n\thalfwidthMinimalCodePoint,\n\thalfwidthMaximumCodePoint,\n\thalfwidthRanges,\n\n\tnarrowMinimalCodePoint,\n\tnarrowMaximumCodePoint,\n\tnarrowRanges,\n\n\twideMinimalCodePoint,\n\twideMaximumCodePoint,\n\twideRanges,\n} from './lookup-data.js';\nimport {isInRange} from './utilities.js';\n\nconst commonCjkCodePoint = 0x4E_00;\nconst [wideFastPathStart, wideFastPathEnd] = /* #__PURE__ */ findWideFastPathRange(wideRanges);\n\n// Use a hot-path range so common `isWide` calls can skip binary search.\n// The range containing U+4E00 covers common CJK ideographs;\n// fallback to the largest range for resilience to Unicode table changes.\nfunction findWideFastPathRange(ranges) {\n\tlet fastPathStart = ranges[0];\n\tlet fastPathEnd = ranges[1];\n\n\tfor (let index = 0; index < ranges.length; index += 2) {\n\t\tconst start = ranges[index];\n\t\tconst end = ranges[index + 1];\n\n\t\tif (\n\t\t\tcommonCjkCodePoint >= start\n\t\t\t&& commonCjkCodePoint <= end\n\t\t) {\n\t\t\treturn [start, end];\n\t\t}\n\n\t\tif ((end - start) > (fastPathEnd - fastPathStart)) {\n\t\t\tfastPathStart = start;\n\t\t\tfastPathEnd = end;\n\t\t}\n\t}\n\n\treturn [fastPathStart, fastPathEnd];\n}\n\nexport const isAmbiguous = codePoint => {\n\tif (\n\t\tcodePoint < ambiguousMinimalCodePoint\n\t\t|| codePoint > ambiguousMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(ambiguousRanges, codePoint);\n};\n\nexport const isFullWidth = codePoint => {\n\tif (\n\t\tcodePoint < fullwidthMinimalCodePoint\n\t\t|| codePoint > fullwidthMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(fullwidthRanges, codePoint);\n};\n\nconst isHalfWidth = codePoint => {\n\tif (\n\t\tcodePoint < halfwidthMinimalCodePoint\n\t\t|| codePoint > halfwidthMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(halfwidthRanges, codePoint);\n};\n\nconst isNarrow = codePoint => {\n\tif (\n\t\tcodePoint < narrowMinimalCodePoint\n\t\t|| codePoint > narrowMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(narrowRanges, codePoint);\n};\n\nexport const isWide = codePoint => {\n\tif (\n\t\tcodePoint >= wideFastPathStart\n\t\t&& codePoint <= wideFastPathEnd\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tcodePoint < wideMinimalCodePoint\n\t\t|| codePoint > wideMaximumCodePoint\n\t) {\n\t\treturn false;\n\t}\n\n\treturn isInRange(wideRanges, codePoint);\n};\n\nexport function getCategory(codePoint) {\n\tif (isAmbiguous(codePoint)) {\n\t\treturn 'ambiguous';\n\t}\n\n\tif (isFullWidth(codePoint)) {\n\t\treturn 'fullwidth';\n\t}\n\n\tif (isHalfWidth(codePoint)) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (isNarrow(codePoint)) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(codePoint)) {\n\t\treturn 'wide';\n\t}\n\n\treturn 'neutral';\n}\n",
|
|
8
|
+
"import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// Private exports for https://github.com/sindresorhus/is-fullwidth-code-point\nexport {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js';\n"
|
|
9
|
+
],
|
|
10
|
+
"mappings": ";AAEO,IAAM,4BAA4B;AAClC,IAAM,4BAA4B;AAClC,IAAM,kBAAkB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,M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",
|
|
11
|
+
"debugId": "86F48E5D065A3EAC64756E2164756E21",
|
|
12
|
+
"names": []
|
|
13
|
+
}
|