@_davideast/stitch-mcp 0.5.5 → 0.7.0

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 (148) hide show
  1. package/dist/chunk-0xbbvsve.js +370 -0
  2. package/dist/chunk-0xbbvsve.js.map +16 -0
  3. package/dist/chunk-11ab03kg.js +137 -0
  4. package/dist/chunk-11ab03kg.js.map +10 -0
  5. package/dist/chunk-17cs61t4.js +270 -0
  6. package/dist/chunk-17cs61t4.js.map +10 -0
  7. package/dist/chunk-1mz7188j.js +20 -0
  8. package/dist/chunk-1mz7188j.js.map +9 -0
  9. package/dist/chunk-1txb8kjb.js +17 -0
  10. package/dist/chunk-1txb8kjb.js.map +9 -0
  11. package/dist/chunk-1v5q6d3n.js +17 -0
  12. package/dist/chunk-1v5q6d3n.js.map +9 -0
  13. package/dist/chunk-1wcg0pjg.js +94 -0
  14. package/dist/chunk-1wcg0pjg.js.map +10 -0
  15. package/dist/chunk-2zp03jky.js +19 -0
  16. package/dist/chunk-2zp03jky.js.map +9 -0
  17. package/dist/chunk-441ntz7a.js +137 -0
  18. package/dist/chunk-441ntz7a.js.map +10 -0
  19. package/dist/chunk-543135qd.js +43679 -0
  20. package/dist/chunk-543135qd.js.map +234 -0
  21. package/dist/chunk-564wpgj7.js +246 -0
  22. package/dist/chunk-564wpgj7.js.map +14 -0
  23. package/dist/chunk-5jbenaez.js +19185 -0
  24. package/dist/chunk-5jbenaez.js.map +115 -0
  25. package/dist/chunk-7ryqstaa.js +7065 -0
  26. package/dist/chunk-7ryqstaa.js.map +115 -0
  27. package/dist/chunk-86gwwcyr.js +46325 -0
  28. package/dist/chunk-86gwwcyr.js.map +261 -0
  29. package/dist/chunk-8gegrmmt.js +256 -0
  30. package/dist/chunk-8gegrmmt.js.map +11 -0
  31. package/dist/chunk-8hgrrc49.js +17 -0
  32. package/dist/chunk-8hgrrc49.js.map +9 -0
  33. package/dist/chunk-8w97w2wa.js +50 -0
  34. package/dist/chunk-8w97w2wa.js.map +9 -0
  35. package/dist/chunk-8yfetpqq.js +19132 -0
  36. package/dist/chunk-8yfetpqq.js.map +115 -0
  37. package/dist/chunk-94knm2sw.js +1495 -0
  38. package/dist/chunk-94knm2sw.js.map +23 -0
  39. package/dist/chunk-appd0sxm.js +5217 -0
  40. package/dist/chunk-appd0sxm.js.map +67 -0
  41. package/dist/chunk-c08qy4ty.js +67 -0
  42. package/dist/chunk-c08qy4ty.js.map +10 -0
  43. package/dist/chunk-d1ea3tmp.js +17 -0
  44. package/dist/chunk-d1ea3tmp.js.map +9 -0
  45. package/dist/chunk-ecn1ca83.js +34253 -0
  46. package/dist/chunk-ecn1ca83.js.map +261 -0
  47. package/dist/chunk-ef1c6gq5.js +947 -0
  48. package/dist/chunk-ef1c6gq5.js.map +28 -0
  49. package/dist/chunk-f0dt9hv8.js +680 -0
  50. package/dist/chunk-f0dt9hv8.js.map +17 -0
  51. package/dist/chunk-f2aj8ff8.js +11 -0
  52. package/dist/chunk-f2aj8ff8.js.map +9 -0
  53. package/dist/chunk-f3wp07zw.js +24 -0
  54. package/dist/chunk-f3wp07zw.js.map +9 -0
  55. package/dist/chunk-f5wqd3z3.js +10 -0
  56. package/dist/chunk-f5wqd3z3.js.map +9 -0
  57. package/dist/chunk-g8hwy0wx.js +504 -0
  58. package/dist/chunk-g8hwy0wx.js.map +21 -0
  59. package/dist/chunk-gcx3c3yc.js +680 -0
  60. package/dist/chunk-gcx3c3yc.js.map +17 -0
  61. package/dist/chunk-gq6vxp70.js +202 -0
  62. package/dist/chunk-gq6vxp70.js.map +13 -0
  63. package/dist/chunk-gw64p5pg.js +164 -0
  64. package/dist/chunk-gw64p5pg.js.map +10 -0
  65. package/dist/chunk-hst78da7.js +87 -0
  66. package/dist/chunk-hst78da7.js.map +13 -0
  67. package/dist/chunk-hsxpgjyd.js +256 -0
  68. package/dist/chunk-hsxpgjyd.js.map +11 -0
  69. package/dist/chunk-j1v44zzm.js +109 -0
  70. package/dist/chunk-j1v44zzm.js.map +10 -0
  71. package/dist/chunk-jfd5md63.js +736 -0
  72. package/dist/chunk-jfd5md63.js.map +16 -0
  73. package/dist/chunk-jvhzgyhy.js +62 -0
  74. package/dist/chunk-jvhzgyhy.js.map +10 -0
  75. package/dist/chunk-k86st2r8.js +7 -0
  76. package/dist/chunk-k86st2r8.js.map +9 -0
  77. package/dist/chunk-kztccppz.js +606 -0
  78. package/dist/chunk-kztccppz.js.map +15 -0
  79. package/dist/chunk-m2vk15q9.js +503 -0
  80. package/dist/chunk-m2vk15q9.js.map +21 -0
  81. package/dist/chunk-mk40f3ka.js +31529 -0
  82. package/dist/chunk-mk40f3ka.js.map +245 -0
  83. package/dist/chunk-mp1sf8x6.js +264 -0
  84. package/dist/chunk-mp1sf8x6.js.map +12 -0
  85. package/dist/chunk-n9fs543g.js +94 -0
  86. package/dist/chunk-n9fs543g.js.map +10 -0
  87. package/dist/chunk-nbbwjw90.js +165 -0
  88. package/dist/chunk-nbbwjw90.js.map +10 -0
  89. package/dist/chunk-qnd877d5.js +947 -0
  90. package/dist/chunk-qnd877d5.js.map +28 -0
  91. package/dist/chunk-rng2ypf7.js +538 -0
  92. package/dist/chunk-rng2ypf7.js.map +15 -0
  93. package/dist/chunk-sjq10wbw.js +39 -0
  94. package/dist/chunk-sjq10wbw.js.map +9 -0
  95. package/dist/chunk-snv6a65k.js +759 -0
  96. package/dist/chunk-snv6a65k.js.map +19 -0
  97. package/dist/chunk-sqhdg0mf.js +2138 -0
  98. package/dist/chunk-sqhdg0mf.js.map +44 -0
  99. package/dist/chunk-tebher8z.js +514 -0
  100. package/dist/chunk-tebher8z.js.map +12 -0
  101. package/dist/chunk-v0wtyr4k.js +66 -0
  102. package/dist/chunk-v0wtyr4k.js.map +10 -0
  103. package/dist/chunk-v20274k8.js +246 -0
  104. package/dist/chunk-v20274k8.js.map +14 -0
  105. package/dist/chunk-vcp9fp2w.js +839 -0
  106. package/dist/chunk-vcp9fp2w.js.map +11 -0
  107. package/dist/chunk-vz737k5f.js +269 -0
  108. package/dist/chunk-vz737k5f.js.map +10 -0
  109. package/dist/chunk-x6bsgeqa.js +736 -0
  110. package/dist/chunk-x6bsgeqa.js.map +16 -0
  111. package/dist/chunk-xg9kcbp1.js +371 -0
  112. package/dist/chunk-xg9kcbp1.js.map +16 -0
  113. package/dist/chunk-xhad5b8x.js +110 -0
  114. package/dist/chunk-xhad5b8x.js.map +10 -0
  115. package/dist/chunk-xkwa1mn5.js +203 -0
  116. package/dist/chunk-xkwa1mn5.js.map +13 -0
  117. package/dist/chunk-xtcg74kf.js +50 -0
  118. package/dist/chunk-xtcg74kf.js.map +9 -0
  119. package/dist/chunk-xzjkaqe9.js +759 -0
  120. package/dist/chunk-xzjkaqe9.js.map +19 -0
  121. package/dist/chunk-y65xgj69.js +1495 -0
  122. package/dist/chunk-y65xgj69.js.map +23 -0
  123. package/dist/commands/doctor/command.js +1 -1
  124. package/dist/commands/init/command.js +1 -1
  125. package/dist/commands/logout/command.js +1 -1
  126. package/dist/commands/proxy/LoggingCallToolHandler.d.ts +11 -0
  127. package/dist/commands/proxy/command.js +1 -1
  128. package/dist/commands/screens/command.js +4 -4
  129. package/dist/commands/serve/command.js +5 -5
  130. package/dist/commands/site/command.js +1 -1
  131. package/dist/commands/snapshot/command.js +1 -1
  132. package/dist/commands/tool/command.js +1 -1
  133. package/dist/commands/tool/steps/LogExecuteToolStep.d.ts +19 -0
  134. package/dist/commands/upload/command.d.ts +2 -0
  135. package/dist/commands/upload/command.js +77 -0
  136. package/dist/commands/upload/command.js.map +11 -0
  137. package/dist/commands/upload/handler.d.ts +20 -0
  138. package/dist/commands/upload/spec.d.ts +38 -0
  139. package/dist/commands/view/command.js +1 -1
  140. package/dist/index.js +9 -9
  141. package/dist/index.js.map +1 -1
  142. package/dist/lib/log/append.d.ts +12 -0
  143. package/dist/lib/log/blob-store/handler.d.ts +10 -0
  144. package/dist/lib/log/blob-store/spec.d.ts +251 -0
  145. package/dist/lib/log/capture/handler.d.ts +10 -0
  146. package/dist/lib/log/capture/spec.d.ts +1504 -0
  147. package/dist/lib/log/factory.d.ts +4 -0
  148. package/package.json +2 -2
@@ -0,0 +1,264 @@
1
+ import {
2
+ require_react
3
+ } from "./chunk-vcp9fp2w.js";
4
+ import {
5
+ __commonJS,
6
+ __toESM
7
+ } from "./chunk-9wyra8hs.js";
8
+
9
+ // node_modules/react/cjs/react-jsx-dev-runtime.development.js
10
+ var require_react_jsx_dev_runtime_development = __commonJS((exports) => {
11
+ var React = __toESM(require_react());
12
+ (function() {
13
+ function getComponentNameFromType(type) {
14
+ if (type == null)
15
+ return null;
16
+ if (typeof type === "function")
17
+ return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
18
+ if (typeof type === "string")
19
+ return type;
20
+ switch (type) {
21
+ case REACT_FRAGMENT_TYPE:
22
+ return "Fragment";
23
+ case REACT_PROFILER_TYPE:
24
+ return "Profiler";
25
+ case REACT_STRICT_MODE_TYPE:
26
+ return "StrictMode";
27
+ case REACT_SUSPENSE_TYPE:
28
+ return "Suspense";
29
+ case REACT_SUSPENSE_LIST_TYPE:
30
+ return "SuspenseList";
31
+ case REACT_ACTIVITY_TYPE:
32
+ return "Activity";
33
+ }
34
+ if (typeof type === "object")
35
+ switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
36
+ case REACT_PORTAL_TYPE:
37
+ return "Portal";
38
+ case REACT_CONTEXT_TYPE:
39
+ return type.displayName || "Context";
40
+ case REACT_CONSUMER_TYPE:
41
+ return (type._context.displayName || "Context") + ".Consumer";
42
+ case REACT_FORWARD_REF_TYPE:
43
+ var innerType = type.render;
44
+ type = type.displayName;
45
+ type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
46
+ return type;
47
+ case REACT_MEMO_TYPE:
48
+ return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
49
+ case REACT_LAZY_TYPE:
50
+ innerType = type._payload;
51
+ type = type._init;
52
+ try {
53
+ return getComponentNameFromType(type(innerType));
54
+ } catch (x) {}
55
+ }
56
+ return null;
57
+ }
58
+ function testStringCoercion(value) {
59
+ return "" + value;
60
+ }
61
+ function checkKeyStringCoercion(value) {
62
+ try {
63
+ testStringCoercion(value);
64
+ var JSCompiler_inline_result = false;
65
+ } catch (e) {
66
+ JSCompiler_inline_result = true;
67
+ }
68
+ if (JSCompiler_inline_result) {
69
+ JSCompiler_inline_result = console;
70
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
71
+ var JSCompiler_inline_result$jscomp$0 = typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
72
+ JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
73
+ return testStringCoercion(value);
74
+ }
75
+ }
76
+ function getTaskName(type) {
77
+ if (type === REACT_FRAGMENT_TYPE)
78
+ return "<>";
79
+ if (typeof type === "object" && type !== null && type.$$typeof === REACT_LAZY_TYPE)
80
+ return "<...>";
81
+ try {
82
+ var name = getComponentNameFromType(type);
83
+ return name ? "<" + name + ">" : "<...>";
84
+ } catch (x) {
85
+ return "<...>";
86
+ }
87
+ }
88
+ function getOwner() {
89
+ var dispatcher = ReactSharedInternals.A;
90
+ return dispatcher === null ? null : dispatcher.getOwner();
91
+ }
92
+ function UnknownOwner() {
93
+ return Error("react-stack-top-frame");
94
+ }
95
+ function hasValidKey(config) {
96
+ if (hasOwnProperty.call(config, "key")) {
97
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
98
+ if (getter && getter.isReactWarning)
99
+ return false;
100
+ }
101
+ return config.key !== undefined;
102
+ }
103
+ function defineKeyPropWarningGetter(props, displayName) {
104
+ function warnAboutAccessingKey() {
105
+ specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
106
+ }
107
+ warnAboutAccessingKey.isReactWarning = true;
108
+ Object.defineProperty(props, "key", {
109
+ get: warnAboutAccessingKey,
110
+ configurable: true
111
+ });
112
+ }
113
+ function elementRefGetterWithDeprecationWarning() {
114
+ var componentName = getComponentNameFromType(this.type);
115
+ didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
116
+ componentName = this.props.ref;
117
+ return componentName !== undefined ? componentName : null;
118
+ }
119
+ function ReactElement(type, key, props, owner, debugStack, debugTask) {
120
+ var refProp = props.ref;
121
+ type = {
122
+ $$typeof: REACT_ELEMENT_TYPE,
123
+ type,
124
+ key,
125
+ props,
126
+ _owner: owner
127
+ };
128
+ (refProp !== undefined ? refProp : null) !== null ? Object.defineProperty(type, "ref", {
129
+ enumerable: false,
130
+ get: elementRefGetterWithDeprecationWarning
131
+ }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
132
+ type._store = {};
133
+ Object.defineProperty(type._store, "validated", {
134
+ configurable: false,
135
+ enumerable: false,
136
+ writable: true,
137
+ value: 0
138
+ });
139
+ Object.defineProperty(type, "_debugInfo", {
140
+ configurable: false,
141
+ enumerable: false,
142
+ writable: true,
143
+ value: null
144
+ });
145
+ Object.defineProperty(type, "_debugStack", {
146
+ configurable: false,
147
+ enumerable: false,
148
+ writable: true,
149
+ value: debugStack
150
+ });
151
+ Object.defineProperty(type, "_debugTask", {
152
+ configurable: false,
153
+ enumerable: false,
154
+ writable: true,
155
+ value: debugTask
156
+ });
157
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
158
+ return type;
159
+ }
160
+ function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
161
+ var children = config.children;
162
+ if (children !== undefined)
163
+ if (isStaticChildren)
164
+ if (isArrayImpl(children)) {
165
+ for (isStaticChildren = 0;isStaticChildren < children.length; isStaticChildren++)
166
+ validateChildKeys(children[isStaticChildren]);
167
+ Object.freeze && Object.freeze(children);
168
+ } else
169
+ console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
170
+ else
171
+ validateChildKeys(children);
172
+ if (hasOwnProperty.call(config, "key")) {
173
+ children = getComponentNameFromType(type);
174
+ var keys = Object.keys(config).filter(function(k) {
175
+ return k !== "key";
176
+ });
177
+ isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
178
+ didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(`A props object containing a "key" prop is being spread into JSX:
179
+ let props = %s;
180
+ <%s {...props} />
181
+ React keys must be passed directly to JSX without using spread:
182
+ let props = %s;
183
+ <%s key={someKey} {...props} />`, isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = true);
184
+ }
185
+ children = null;
186
+ maybeKey !== undefined && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
187
+ hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
188
+ if ("key" in config) {
189
+ maybeKey = {};
190
+ for (var propName in config)
191
+ propName !== "key" && (maybeKey[propName] = config[propName]);
192
+ } else
193
+ maybeKey = config;
194
+ children && defineKeyPropWarningGetter(maybeKey, typeof type === "function" ? type.displayName || type.name || "Unknown" : type);
195
+ return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
196
+ }
197
+ function validateChildKeys(node) {
198
+ isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
199
+ }
200
+ function isValidElement(object) {
201
+ return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
202
+ }
203
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
204
+ return null;
205
+ };
206
+ React = {
207
+ react_stack_bottom_frame: function(callStackForError) {
208
+ return callStackForError();
209
+ }
210
+ };
211
+ var specialPropKeyWarningShown;
212
+ var didWarnAboutElementRef = {};
213
+ var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
214
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
215
+ var didWarnAboutKeySpread = {};
216
+ exports.Fragment = REACT_FRAGMENT_TYPE;
217
+ exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) {
218
+ var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
219
+ return jsxDEVImpl(type, config, maybeKey, isStaticChildren, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
220
+ };
221
+ })();
222
+ });
223
+
224
+ // node_modules/react/jsx-dev-runtime.js
225
+ var require_jsx_dev_runtime = __commonJS((exports, module) => {
226
+ var react_jsx_dev_runtime_development = __toESM(require_react_jsx_dev_runtime_development());
227
+ if (false) {} else {
228
+ module.exports = react_jsx_dev_runtime_development;
229
+ }
230
+ });
231
+
232
+ // src/platform/browser.ts
233
+ import { spawn } from "node:child_process";
234
+ function validateUrl(url) {
235
+ try {
236
+ const parsedUrl = new URL(url);
237
+ if (parsedUrl.protocol !== "http:" && parsedUrl.protocol !== "https:") {
238
+ throw new Error("Invalid protocol. Only http and https are allowed.");
239
+ }
240
+ return parsedUrl.toString();
241
+ } catch (error) {
242
+ throw new Error(`Invalid URL: ${error instanceof Error ? error.message : String(error)}`);
243
+ }
244
+ }
245
+ function openUrl(url) {
246
+ const validatedUrl = validateUrl(url);
247
+ if (process.platform === "win32") {
248
+ spawn("cmd", ["/c", "start", '""', `"${validatedUrl}"`], {
249
+ detached: true,
250
+ stdio: "ignore",
251
+ shell: false
252
+ }).unref();
253
+ } else {
254
+ const cmd = process.platform === "darwin" ? "open" : "xdg-open";
255
+ spawn(cmd, [validatedUrl], {
256
+ detached: true,
257
+ stdio: "ignore"
258
+ }).unref();
259
+ }
260
+ }
261
+
262
+ export { openUrl, require_jsx_dev_runtime };
263
+
264
+ //# debugId=2659200B7D2D7C6E64756E2164756E21
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/react/cjs/react-jsx-dev-runtime.development.js", "../node_modules/react/jsx-dev-runtime.js", "../src/platform/browser.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n",
6
+ "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-dev-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-dev-runtime.development.js');\n}\n",
7
+ "import { spawn } from 'node:child_process';\n\n/**\n * Validates a URL to ensure it uses an allowed protocol (http or https).\n */\nexport function validateUrl(url: string): string {\n try {\n const parsedUrl = new URL(url);\n if (parsedUrl.protocol !== 'http:' && parsedUrl.protocol !== 'https:') {\n throw new Error('Invalid protocol. Only http and https are allowed.');\n }\n return parsedUrl.toString();\n } catch (error) {\n throw new Error(`Invalid URL: ${error instanceof Error ? error.message : String(error)}`);\n }\n}\n\n/**\n * Opens a URL in the system's default browser.\n */\nexport function openUrl(url: string): void {\n const validatedUrl = validateUrl(url);\n\n if (process.platform === 'win32') {\n // On Windows, 'start' is a shell builtin. We use 'cmd /c' to invoke it.\n // To prevent ampersand (&) injection, we pass the URL as a single quoted argument.\n // Node's spawn with shell: false (default) will handle basic quoting,\n // but 'cmd /c start' has complex parsing rules.\n // Using '\"\"' as the first argument to 'start' ensures the URL isn't interpreted as a window title.\n // We wrap the URL in double quotes to prevent shell characters like '&' from being interpreted.\n // Since validateUrl ensures no double quotes are in the string, this is safe.\n spawn('cmd', ['/c', 'start', '\"\"', `\"${validatedUrl}\"`], {\n detached: true,\n stdio: 'ignore',\n shell: false,\n }).unref();\n } else {\n const cmd = process.platform === 'darwin' ? 'open' : 'xdg-open';\n spawn(cmd, [validatedUrl], {\n detached: true,\n stdio: 'ignore',\n }).unref();\n }\n}\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "2659200B7D2D7C6E64756E2164756E21",
11
+ "names": []
12
+ }
@@ -0,0 +1,94 @@
1
+ import {
2
+ render_default
3
+ } from "./chunk-8yfetpqq.js";
4
+ import"./chunk-b43pzs3z.js";
5
+ import"./chunk-q6sv0243.js";
6
+ import"./chunk-3sfn889r.js";
7
+ import"./chunk-9wyra8hs.js";
8
+
9
+ // node_modules/ink-testing-library/build/index.js
10
+ import { EventEmitter } from "node:events";
11
+ class Stdout extends EventEmitter {
12
+ get columns() {
13
+ return 100;
14
+ }
15
+ frames = [];
16
+ _lastFrame;
17
+ write = (frame) => {
18
+ this.frames.push(frame);
19
+ this._lastFrame = frame;
20
+ };
21
+ lastFrame = () => this._lastFrame;
22
+ }
23
+
24
+ class Stderr extends EventEmitter {
25
+ frames = [];
26
+ _lastFrame;
27
+ write = (frame) => {
28
+ this.frames.push(frame);
29
+ this._lastFrame = frame;
30
+ };
31
+ lastFrame = () => this._lastFrame;
32
+ }
33
+
34
+ class Stdin extends EventEmitter {
35
+ isTTY = true;
36
+ data = null;
37
+ constructor(options = {}) {
38
+ super();
39
+ this.isTTY = options.isTTY ?? true;
40
+ }
41
+ write = (data) => {
42
+ this.data = data;
43
+ this.emit("readable");
44
+ this.emit("data", data);
45
+ };
46
+ setEncoding() {}
47
+ setRawMode() {}
48
+ resume() {}
49
+ pause() {}
50
+ ref() {}
51
+ unref() {}
52
+ read = () => {
53
+ const { data } = this;
54
+ this.data = null;
55
+ return data;
56
+ };
57
+ }
58
+ var instances = [];
59
+ var render = (tree) => {
60
+ const stdout = new Stdout;
61
+ const stderr = new Stderr;
62
+ const stdin = new Stdin;
63
+ const instance = render_default(tree, {
64
+ stdout,
65
+ stderr,
66
+ stdin,
67
+ debug: true,
68
+ exitOnCtrlC: false,
69
+ patchConsole: false
70
+ });
71
+ instances.push(instance);
72
+ return {
73
+ rerender: instance.rerender,
74
+ unmount: instance.unmount,
75
+ cleanup: instance.cleanup,
76
+ stdout,
77
+ stderr,
78
+ stdin,
79
+ frames: stdout.frames,
80
+ lastFrame: stdout.lastFrame
81
+ };
82
+ };
83
+ var cleanup = () => {
84
+ for (const instance of instances) {
85
+ instance.unmount();
86
+ instance.cleanup();
87
+ }
88
+ };
89
+ export {
90
+ render,
91
+ cleanup
92
+ };
93
+
94
+ //# debugId=AB4AFCB358C7E08B64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/ink-testing-library/build/index.js"],
4
+ "sourcesContent": [
5
+ "import { EventEmitter } from 'node:events';\nimport { render as inkRender } from 'ink';\nclass Stdout extends EventEmitter {\n get columns() {\n return 100;\n }\n frames = [];\n _lastFrame;\n write = (frame) => {\n this.frames.push(frame);\n this._lastFrame = frame;\n };\n lastFrame = () => this._lastFrame;\n}\nclass Stderr extends EventEmitter {\n frames = [];\n _lastFrame;\n write = (frame) => {\n this.frames.push(frame);\n this._lastFrame = frame;\n };\n lastFrame = () => this._lastFrame;\n}\nclass Stdin extends EventEmitter {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n isTTY = true;\n data = null; // eslint-disable-line @typescript-eslint/ban-types\n constructor(options = {}) {\n super();\n this.isTTY = options.isTTY ?? true;\n }\n write = (data) => {\n this.data = data;\n this.emit('readable');\n this.emit('data', data);\n };\n setEncoding() {\n // Do nothing\n }\n setRawMode() {\n // Do nothing\n }\n resume() {\n // Do nothing\n }\n pause() {\n // Do nothing\n }\n ref() {\n // Do nothing\n }\n unref() {\n // Do nothing\n }\n // eslint-disable-next-line @typescript-eslint/ban-types\n read = () => {\n const { data } = this;\n this.data = null;\n return data;\n };\n}\nconst instances = [];\nexport const render = (tree) => {\n const stdout = new Stdout();\n const stderr = new Stderr();\n const stdin = new Stdin();\n const instance = inkRender(tree, {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n stdout: stdout,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n stderr: stderr,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n stdin: stdin,\n debug: true,\n exitOnCtrlC: false,\n patchConsole: false,\n });\n instances.push(instance);\n return {\n rerender: instance.rerender,\n unmount: instance.unmount,\n cleanup: instance.cleanup,\n stdout,\n stderr,\n stdin,\n frames: stdout.frames,\n lastFrame: stdout.lastFrame,\n };\n};\nexport const cleanup = () => {\n for (const instance of instances) {\n instance.unmount();\n instance.cleanup();\n }\n};\n//# sourceMappingURL=index.js.map"
6
+ ],
7
+ "mappings": ";;;;;;;;;AAAA;AAEA,MAAM,eAAe,aAAa;AAAA,MAC1B,OAAO,GAAG;AAAA,IACV,OAAO;AAAA;AAAA,EAEX,SAAS,CAAC;AAAA,EACV;AAAA,EACA,QAAQ,CAAC,UAAU;AAAA,IACf,KAAK,OAAO,KAAK,KAAK;AAAA,IACtB,KAAK,aAAa;AAAA;AAAA,EAEtB,YAAY,MAAM,KAAK;AAC3B;AAAA;AACA,MAAM,eAAe,aAAa;AAAA,EAC9B,SAAS,CAAC;AAAA,EACV;AAAA,EACA,QAAQ,CAAC,UAAU;AAAA,IACf,KAAK,OAAO,KAAK,KAAK;AAAA,IACtB,KAAK,aAAa;AAAA;AAAA,EAEtB,YAAY,MAAM,KAAK;AAC3B;AAAA;AACA,MAAM,cAAc,aAAa;AAAA,EAE7B,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,WAAW,CAAC,UAAU,CAAC,GAAG;AAAA,IACtB,MAAM;AAAA,IACN,KAAK,QAAQ,QAAQ,SAAS;AAAA;AAAA,EAElC,QAAQ,CAAC,SAAS;AAAA,IACd,KAAK,OAAO;AAAA,IACZ,KAAK,KAAK,UAAU;AAAA,IACpB,KAAK,KAAK,QAAQ,IAAI;AAAA;AAAA,EAE1B,WAAW,GAAG;AAAA,EAGd,UAAU,GAAG;AAAA,EAGb,MAAM,GAAG;AAAA,EAGT,KAAK,GAAG;AAAA,EAGR,GAAG,GAAG;AAAA,EAGN,KAAK,GAAG;AAAA,EAIR,OAAO,MAAM;AAAA,IACT,QAAQ,SAAS;AAAA,IACjB,KAAK,OAAO;AAAA,IACZ,OAAO;AAAA;AAEf;AACA,IAAM,YAAY,CAAC;AACZ,IAAM,SAAS,CAAC,SAAS;AAAA,EAC5B,MAAM,SAAS,IAAI;AAAA,EACnB,MAAM,SAAS,IAAI;AAAA,EACnB,MAAM,QAAQ,IAAI;AAAA,EAClB,MAAM,WAAW,eAAU,MAAM;AAAA,IAE7B;AAAA,IAEA;AAAA,IAEA;AAAA,IACA,OAAO;AAAA,IACP,aAAa;AAAA,IACb,cAAc;AAAA,EAClB,CAAC;AAAA,EACD,UAAU,KAAK,QAAQ;AAAA,EACvB,OAAO;AAAA,IACH,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,IAClB,SAAS,SAAS;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,OAAO;AAAA,IACf,WAAW,OAAO;AAAA,EACtB;AAAA;AAEG,IAAM,UAAU,MAAM;AAAA,EACzB,WAAW,YAAY,WAAW;AAAA,IAC9B,SAAS,QAAQ;AAAA,IACjB,SAAS,QAAQ;AAAA,EACrB;AAAA;",
8
+ "debugId": "AB4AFCB358C7E08B64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,165 @@
1
+ import {
2
+ openUrl,
3
+ require_jsx_dev_runtime
4
+ } from "./chunk-mp1sf8x6.js";
5
+ import {
6
+ StitchViteServer
7
+ } from "./chunk-tebher8z.js";
8
+ import"./chunk-sqhdg0mf.js";
9
+ import {
10
+ Box_default,
11
+ Text,
12
+ use_app_default,
13
+ use_input_default
14
+ } from "./chunk-5jbenaez.js";
15
+ import {
16
+ require_react
17
+ } from "./chunk-vcp9fp2w.js";
18
+ import {
19
+ downloadText
20
+ } from "./chunk-fkzq5m59.js";
21
+ import"./chunk-543135qd.js";
22
+ import"./chunk-hst78da7.js";
23
+ import"./chunk-3sfn889r.js";
24
+ import {
25
+ __toESM
26
+ } from "./chunk-9wyra8hs.js";
27
+
28
+ // src/commands/serve/ServeView.tsx
29
+ var import_react = __toESM(require_react(), 1);
30
+ var jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
31
+ function ServeView({ projectId, projectTitle, screens }) {
32
+ const { exit } = use_app_default();
33
+ const [selectedIndex, setSelectedIndex] = import_react.useState(0);
34
+ const [serverUrl, setServerUrl] = import_react.useState(null);
35
+ const [status, setStatus] = import_react.useState("Starting server...");
36
+ const [server, setServer] = import_react.useState(null);
37
+ import_react.useEffect(() => {
38
+ const srv = new StitchViteServer;
39
+ setServer(srv);
40
+ let mounted = true;
41
+ async function init() {
42
+ try {
43
+ const url = await srv.start(0);
44
+ if (mounted)
45
+ setServerUrl(url);
46
+ await Promise.all(screens.map(async (screen) => {
47
+ try {
48
+ const html = await downloadText(screen.codeUrl);
49
+ srv.mount(`/screens/${screen.screenId}`, html);
50
+ } catch (e) {
51
+ console.error(`Failed to load ${screen.screenId}`);
52
+ }
53
+ }));
54
+ const indexHtml = `<!DOCTYPE html>
55
+ <html>
56
+ <head>
57
+ <title>${projectTitle}</title>
58
+ <style>
59
+ body { font-family: system-ui, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; background: #1a1a1a; color: #fff; }
60
+ ul { list-style: none; padding: 0; }
61
+ li { margin: 12px 0; padding: 16px; background: #252525; border-radius: 8px; }
62
+ a { color: #4fc3f7; text-decoration: none; font-size: 18px; display: block; }
63
+ a:hover { text-decoration: underline; }
64
+ </style>
65
+ </head>
66
+ <body>
67
+ <h1>${projectTitle}</h1>
68
+ <ul>
69
+ ${screens.map((s) => `<li>
70
+ <a href="/screens/${s.screenId}">${s.title}</a>
71
+ </li>`).join(`
72
+ `)}
73
+ </ul>
74
+ </body>
75
+ </html>`;
76
+ srv.mount("/", indexHtml);
77
+ if (mounted)
78
+ setStatus("Ready");
79
+ } catch (e) {
80
+ if (mounted)
81
+ setStatus(`Error: ${e.message}`);
82
+ }
83
+ }
84
+ init();
85
+ return () => {
86
+ mounted = false;
87
+ srv.stop();
88
+ };
89
+ }, []);
90
+ use_input_default((input, key) => {
91
+ if (input === "q") {
92
+ exit();
93
+ return;
94
+ }
95
+ if (key.upArrow || input === "k") {
96
+ setSelectedIndex((prev) => Math.max(0, prev - 1));
97
+ }
98
+ if (key.downArrow || input === "j") {
99
+ setSelectedIndex((prev) => Math.min(screens.length, prev + 1));
100
+ }
101
+ if (key.return && serverUrl) {
102
+ let target = serverUrl;
103
+ if (selectedIndex > 0) {
104
+ const screen = screens[selectedIndex - 1];
105
+ if (screen) {
106
+ target = `${serverUrl}/screens/${screen.screenId}`;
107
+ }
108
+ }
109
+ openUrl(target);
110
+ }
111
+ });
112
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Box_default, {
113
+ flexDirection: "column",
114
+ padding: 1,
115
+ children: [
116
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Text, {
117
+ bold: true,
118
+ children: projectTitle
119
+ }, undefined, false, undefined, this),
120
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Text, {
121
+ color: "green",
122
+ children: serverUrl || "Starting..."
123
+ }, undefined, false, undefined, this),
124
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Text, {
125
+ children: status
126
+ }, undefined, false, undefined, this),
127
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Box_default, {
128
+ marginTop: 1,
129
+ flexDirection: "column",
130
+ children: [
131
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Text, {
132
+ color: selectedIndex === 0 ? "cyan" : undefined,
133
+ children: [
134
+ selectedIndex === 0 ? "> " : " ",
135
+ " Index (/)"
136
+ ]
137
+ }, undefined, true, undefined, this),
138
+ screens.map((s, i) => /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Text, {
139
+ color: selectedIndex === i + 1 ? "cyan" : undefined,
140
+ children: [
141
+ selectedIndex === i + 1 ? "> " : " ",
142
+ " ",
143
+ s.title,
144
+ " (/screens/",
145
+ s.screenId,
146
+ ")"
147
+ ]
148
+ }, s.screenId, true, undefined, this))
149
+ ]
150
+ }, undefined, true, undefined, this),
151
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Box_default, {
152
+ marginTop: 1,
153
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Text, {
154
+ dimColor: true,
155
+ children: "[Enter] Open | [q] Quit"
156
+ }, undefined, false, undefined, this)
157
+ }, undefined, false, undefined, this)
158
+ ]
159
+ }, undefined, true, undefined, this);
160
+ }
161
+ export {
162
+ ServeView
163
+ };
164
+
165
+ //# debugId=95ED6DBF2775D41B64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/commands/serve/ServeView.tsx"],
4
+ "sourcesContent": [
5
+ "import React, { useState, useEffect } from 'react';\nimport { Box, Text, useInput, useApp } from 'ink';\nimport { StitchViteServer } from '../../lib/server/vite/StitchViteServer.js';\nimport { downloadText } from '../../ui/copy-behaviors/clipboard.js';\nimport { openUrl } from '../../platform/browser.js';\n\ninterface CodeScreen {\n screenId: string;\n title: string;\n codeUrl: string;\n}\n\ninterface ServeViewProps {\n projectId: string;\n projectTitle: string;\n screens: CodeScreen[];\n}\n\nexport function ServeView({ projectId, projectTitle, screens }: ServeViewProps) {\n const { exit } = useApp();\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [serverUrl, setServerUrl] = useState<string | null>(null);\n const [status, setStatus] = useState('Starting server...');\n const [server, setServer] = useState<StitchViteServer | null>(null);\n\n useEffect(() => {\n const srv = new StitchViteServer();\n setServer(srv);\n let mounted = true;\n\n async function init() {\n try {\n const url = await srv.start(0);\n if (mounted) setServerUrl(url);\n\n // Fetch and mount screens\n await Promise.all(screens.map(async (screen) => {\n try {\n const html = await downloadText(screen.codeUrl);\n srv.mount(`/screens/${screen.screenId}`, html);\n } catch (e) {\n console.error(`Failed to load ${screen.screenId}`);\n }\n }));\n\n // Generate Index\n const indexHtml = `<!DOCTYPE html>\n<html>\n<head>\n <title>${projectTitle}</title>\n <style>\n body { font-family: system-ui, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; background: #1a1a1a; color: #fff; }\n ul { list-style: none; padding: 0; }\n li { margin: 12px 0; padding: 16px; background: #252525; border-radius: 8px; }\n a { color: #4fc3f7; text-decoration: none; font-size: 18px; display: block; }\n a:hover { text-decoration: underline; }\n </style>\n</head>\n<body>\n <h1>${projectTitle}</h1>\n <ul>\n ${screens.map(s => `<li>\n <a href=\"/screens/${s.screenId}\">${s.title}</a>\n </li>`).join('\\n')}\n </ul>\n</body>\n</html>`;\n srv.mount('/', indexHtml);\n\n if (mounted) setStatus('Ready');\n } catch (e: any) {\n if (mounted) setStatus(`Error: ${e.message}`);\n }\n }\n\n init();\n\n return () => {\n mounted = false;\n srv.stop();\n };\n }, []);\n\n useInput((input, key) => {\n if (input === 'q') {\n exit();\n return;\n }\n\n if (key.upArrow || input === 'k') {\n setSelectedIndex(prev => Math.max(0, prev - 1));\n }\n if (key.downArrow || input === 'j') {\n setSelectedIndex(prev => Math.min(screens.length, prev + 1));\n }\n\n if (key.return && serverUrl) {\n let target = serverUrl;\n if (selectedIndex > 0) {\n const screen = screens[selectedIndex - 1];\n if (screen) {\n target = `${serverUrl}/screens/${screen.screenId}`;\n }\n }\n openUrl(target);\n }\n });\n\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Text bold>{projectTitle}</Text>\n <Text color=\"green\">{serverUrl || 'Starting...'}</Text>\n <Text>{status}</Text>\n <Box marginTop={1} flexDirection=\"column\">\n <Text color={selectedIndex === 0 ? 'cyan' : undefined}>\n {selectedIndex === 0 ? '> ' : ' '} Index (/)\n </Text>\n {screens.map((s, i) => (\n <Text key={s.screenId} color={selectedIndex === i + 1 ? 'cyan' : undefined}>\n {selectedIndex === i + 1 ? '> ' : ' '} {s.title} (/screens/{s.screenId})\n </Text>\n ))}\n </Box>\n <Box marginTop={1}>\n <Text dimColor>[Enter] Open | [q] Quit</Text>\n </Box>\n </Box>\n );\n}\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAkBO,SAAS,SAAS,GAAG,WAAW,cAAc,WAA2B;AAAA,EAC9E,QAAQ,SAAS,gBAAO;AAAA,EACxB,OAAO,eAAe,oBAAoB,sBAAS,CAAC;AAAA,EACpD,OAAO,WAAW,gBAAgB,sBAAwB,IAAI;AAAA,EAC9D,OAAO,QAAQ,aAAa,sBAAS,oBAAoB;AAAA,EACzD,OAAO,QAAQ,aAAa,sBAAkC,IAAI;AAAA,EAElE,uBAAU,MAAM;AAAA,IACd,MAAM,MAAM,IAAI;AAAA,IAChB,UAAU,GAAG;AAAA,IACb,IAAI,UAAU;AAAA,IAEd,eAAe,IAAI,GAAG;AAAA,MACpB,IAAI;AAAA,QACF,MAAM,MAAM,MAAM,IAAI,MAAM,CAAC;AAAA,QAC7B,IAAI;AAAA,UAAS,aAAa,GAAG;AAAA,QAG7B,MAAM,QAAQ,IAAI,QAAQ,IAAI,OAAO,WAAW;AAAA,UAC3C,IAAI;AAAA,YACA,MAAM,OAAO,MAAM,aAAa,OAAO,OAAO;AAAA,YAC9C,IAAI,MAAM,YAAY,OAAO,YAAY,IAAI;AAAA,YAC/C,OAAO,GAAG;AAAA,YACR,QAAQ,MAAM,kBAAkB,OAAO,UAAU;AAAA;AAAA,SAEzD,CAAC;AAAA,QAGF,MAAM,YAAY;AAAA;AAAA;AAAA,WAGf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAUH;AAAA;AAAA,MAEF,QAAQ,IAAI,OAAK;AAAA,0BACG,EAAE,aAAa,EAAE;AAAA,UACjC,EAAE,KAAK;AAAA,CAAI;AAAA;AAAA;AAAA;AAAA,QAIb,IAAI,MAAM,KAAK,SAAS;AAAA,QAExB,IAAI;AAAA,UAAS,UAAU,OAAO;AAAA,QAC9B,OAAO,GAAQ;AAAA,QACf,IAAI;AAAA,UAAS,UAAU,UAAU,EAAE,SAAS;AAAA;AAAA;AAAA,IAIhD,KAAK;AAAA,IAEL,OAAO,MAAM;AAAA,MACT,UAAU;AAAA,MACV,IAAI,KAAK;AAAA;AAAA,KAEZ,CAAC,CAAC;AAAA,EAEL,kBAAS,CAAC,OAAO,QAAQ;AAAA,IACrB,IAAI,UAAU,KAAK;AAAA,MACf,KAAK;AAAA,MACL;AAAA,IACJ;AAAA,IAEA,IAAI,IAAI,WAAW,UAAU,KAAK;AAAA,MAC9B,iBAAiB,UAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,CAAC;AAAA,IAClD;AAAA,IACA,IAAI,IAAI,aAAa,UAAU,KAAK;AAAA,MAChC,iBAAiB,UAAQ,KAAK,IAAI,QAAQ,QAAQ,OAAO,CAAC,CAAC;AAAA,IAC/D;AAAA,IAEA,IAAI,IAAI,UAAU,WAAW;AAAA,MACzB,IAAI,SAAS;AAAA,MACb,IAAI,gBAAgB,GAAG;AAAA,QACnB,MAAM,SAAS,QAAQ,gBAAgB;AAAA,QACvC,IAAI,QAAQ;AAAA,UACR,SAAS,GAAG,qBAAqB,OAAO;AAAA,QAC5C;AAAA,MACJ;AAAA,MACA,QAAQ,MAAM;AAAA,IAClB;AAAA,GACH;AAAA,EAED,uBACE,uBAiBE,aAjBF;AAAA,IAAK,eAAc;AAAA,IAAS,SAAS;AAAA,IAArC,UAiBE;AAAA,sBAhBE,uBAA2B,MAA3B;AAAA,QAAM,MAAI;AAAA,QAAV,UAAY;AAAA,SAAZ,iCAA2B;AAAA,sBAC3B,uBAAkD,MAAlD;AAAA,QAAM,OAAM;AAAA,QAAZ,UAAqB,aAAa;AAAA,SAAlC,iCAAkD;AAAA,sBAClD,uBAAgB,MAAhB;AAAA,kBAAO;AAAA,SAAP,iCAAgB;AAAA,sBAChB,uBASE,aATF;AAAA,QAAK,WAAW;AAAA,QAAG,eAAc;AAAA,QAAjC,UASE;AAAA,0BARE,uBAEE,MAFF;AAAA,YAAM,OAAO,kBAAkB,IAAI,SAAS;AAAA,YAA5C,UAEE;AAAA,cADG,kBAAkB,IAAI,OAAO;AAAA,cADlC;AAAA;AAAA,6CAEE;AAAA,UACD,QAAQ,IAAI,CAAC,GAAG,sBACb,uBAEE,MAFF;AAAA,YAAuB,OAAO,kBAAkB,IAAI,IAAI,SAAS;AAAA,YAAjE,UAEE;AAAA,cADG,kBAAkB,IAAI,IAAI,OAAO;AAAA,cADtC;AAAA,cAC6C,EAAE;AAAA,cAD/C;AAAA,cACiE,EAAE;AAAA,cADnE;AAAA;AAAA,aAAW,EAAE,UAAb,qBAEE,CACL;AAAA;AAAA,SARL,gCASE;AAAA,sBACF,uBAEE,aAFF;AAAA,QAAK,WAAW;AAAA,QAAhB,0BACI,uBAAwC,MAAxC;AAAA,UAAM,UAAQ;AAAA,UAAd;AAAA,4CAAwC;AAAA,SAD5C,iCAEE;AAAA;AAAA,KAhBN,gCAiBE;AAAA;",
8
+ "debugId": "95ED6DBF2775D41B64756E2164756E21",
9
+ "names": []
10
+ }