@openapi-studio/core 0.0.3 → 0.0.8

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/build.json CHANGED
@@ -1 +1 @@
1
- {"version":"0.0.3","build_id":"4156b8e2bda4563db4aad4ef1aa1ca99823989fa"}
1
+ {"version":"0.0.8","build_id":"04957d6c053426d98a1aab286a2fa0d2cc40d3f1"}
@@ -0,0 +1,772 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark" data-beasties-container>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="/favicon.ico" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <title>OpenAPI Studio</title>
8
+
9
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
10
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
11
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <script
14
+ type="module"
15
+ async
16
+ crossorigin
17
+ src="/assets/app-DBtr1xw6.js"
18
+ ></script>
19
+ <style>
20
+ @font-face {
21
+ font-family: Open Sans Variable;
22
+ font-style: normal;
23
+ font-display: swap;
24
+ font-weight: 300 800;
25
+ src: url(/assets/open-sans-cyrillic-ext-wght-normal-D8xHCTEw.woff2)
26
+ format("woff2-variations");
27
+ unicode-range:
28
+ U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F,
29
+ U+FE2E-FE2F;
30
+ }
31
+ @font-face {
32
+ font-family: Open Sans Variable;
33
+ font-style: normal;
34
+ font-display: swap;
35
+ font-weight: 300 800;
36
+ src: url(/assets/open-sans-cyrillic-wght-normal-bOs07Rf4.woff2)
37
+ format("woff2-variations");
38
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
39
+ }
40
+ @font-face {
41
+ font-family: Open Sans Variable;
42
+ font-style: normal;
43
+ font-display: swap;
44
+ font-weight: 300 800;
45
+ src: url(/assets/open-sans-greek-ext-wght-normal-Bm9CHu9r.woff2)
46
+ format("woff2-variations");
47
+ unicode-range: U+1F00-1FFF;
48
+ }
49
+ @font-face {
50
+ font-family: Open Sans Variable;
51
+ font-style: normal;
52
+ font-display: swap;
53
+ font-weight: 300 800;
54
+ src: url(/assets/open-sans-greek-wght-normal-8neIfJ3r.woff2)
55
+ format("woff2-variations");
56
+ unicode-range:
57
+ U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1,
58
+ U+03A3-03FF;
59
+ }
60
+ @font-face {
61
+ font-family: Open Sans Variable;
62
+ font-style: normal;
63
+ font-display: swap;
64
+ font-weight: 300 800;
65
+ src: url(/assets/open-sans-hebrew-wght-normal-BjjtG49P.woff2)
66
+ format("woff2-variations");
67
+ unicode-range:
68
+ U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
69
+ }
70
+ @font-face {
71
+ font-family: Open Sans Variable;
72
+ font-style: normal;
73
+ font-display: swap;
74
+ font-weight: 300 800;
75
+ src: url(/assets/open-sans-math-wght-normal-C1FvUlkR.woff2)
76
+ format("woff2-variations");
77
+ unicode-range:
78
+ U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A,
79
+ U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346,
80
+ U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6,
81
+ U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040,
82
+ U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E,
83
+ U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112,
84
+ U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE,
85
+ U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF,
86
+ U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395,
87
+ U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7,
88
+ U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF,
89
+ U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D,
90
+ U+1D400-1D7FF, U+1EE00-1EEFF;
91
+ }
92
+ @font-face {
93
+ font-family: Open Sans Variable;
94
+ font-style: normal;
95
+ font-display: swap;
96
+ font-weight: 300 800;
97
+ src: url(/assets/open-sans-symbols-wght-normal-BAf6-sld.woff2)
98
+ format("woff2-variations");
99
+ unicode-range:
100
+ U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4,
101
+ U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3,
102
+ U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A,
103
+ U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF,
104
+ U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E,
105
+ U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E,
106
+ U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD,
107
+ U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E,
108
+ U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F,
109
+ U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE,
110
+ U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408,
111
+ U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444,
112
+ U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3,
113
+ U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6,
114
+ U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7,
115
+ U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D,
116
+ U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F,
117
+ U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2,
118
+ U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA,
119
+ U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B,
120
+ U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD,
121
+ U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946,
122
+ U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C,
123
+ U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9,
124
+ U+1FAF0-1FAF8, U+1FB00-1FBFF;
125
+ }
126
+ @font-face {
127
+ font-family: Open Sans Variable;
128
+ font-style: normal;
129
+ font-display: swap;
130
+ font-weight: 300 800;
131
+ src: url(/assets/open-sans-vietnamese-wght-normal-UygKeDyW.woff2)
132
+ format("woff2-variations");
133
+ unicode-range:
134
+ U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
135
+ U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
136
+ U+1EA0-1EF9, U+20AB;
137
+ }
138
+ @font-face {
139
+ font-family: Open Sans Variable;
140
+ font-style: normal;
141
+ font-display: swap;
142
+ font-weight: 300 800;
143
+ src: url(/assets/open-sans-latin-ext-wght-normal-DPNHYqvY.woff2)
144
+ format("woff2-variations");
145
+ unicode-range:
146
+ U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
147
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
148
+ U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
149
+ }
150
+ @font-face {
151
+ font-family: Open Sans Variable;
152
+ font-style: normal;
153
+ font-display: swap;
154
+ font-weight: 300 800;
155
+ src: url(/assets/open-sans-latin-wght-normal-CWNzRldh.woff2)
156
+ format("woff2-variations");
157
+ unicode-range:
158
+ U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
159
+ U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
160
+ U+2212, U+2215, U+FEFF, U+FFFD;
161
+ }
162
+ :root {
163
+ --background: 0 0% 3.9%;
164
+ --foreground: 0 0% 98%;
165
+ --card: 0 0% 7%;
166
+ --card-foreground: 0 0% 98%;
167
+ --popover: 0 0% 5%;
168
+ --popover-foreground: 0 0% 98%;
169
+ --primary: 0 0% 100%;
170
+ --primary-foreground: 0 0% 9%;
171
+ --secondary: 0 0% 14.9%;
172
+ --secondary-foreground: 0 0% 98%;
173
+ --muted: 0 0% 14.9%;
174
+ --muted-foreground: 0 0% 63.9%;
175
+ --accent: 0 0% 14.9%;
176
+ --accent-foreground: 0 0% 98%;
177
+ --destructive: 0 0% 50%;
178
+ --destructive-foreground: 0 0% 98%;
179
+ --border: 0 0% 14.9%;
180
+ --input: 0 0% 14.9%;
181
+ --ring: 0 0% 83.1%;
182
+ --radius: 0.5rem;
183
+ }
184
+ * {
185
+ margin: 0;
186
+ padding: 0;
187
+ box-sizing: border-box;
188
+ }
189
+ html,
190
+ body {
191
+ height: 100%;
192
+ margin: 0;
193
+ padding: 0;
194
+ overflow: hidden;
195
+ }
196
+ body {
197
+ font-family:
198
+ Open Sans Variable,
199
+ sans-serif;
200
+ background-color: hsl(var(--background));
201
+ color: hsl(var(--foreground));
202
+ line-height: 1.5;
203
+ }
204
+ button {
205
+ background-color: hsl(var(--background));
206
+ color: hsl(var(--foreground));
207
+ border-color: hsl(var(--border));
208
+ }
209
+ a {
210
+ color: hsl(var(--primary));
211
+ text-decoration: none;
212
+ }
213
+ a:hover {
214
+ text-decoration: underline;
215
+ }
216
+ #app {
217
+ height: 100vh;
218
+ overflow: hidden;
219
+ display: flex;
220
+ flex-direction: column;
221
+ }
222
+ .openapi-test {
223
+ height: 100vh;
224
+ display: flex;
225
+ flex-direction: column;
226
+ background: hsl(var(--background));
227
+ color: hsl(var(--foreground));
228
+ overflow: hidden;
229
+ }
230
+ .test-header {
231
+ border-bottom: 1px solid hsl(var(--border));
232
+ background: hsl(var(--card));
233
+ flex-shrink: 0;
234
+ z-index: 100;
235
+ }
236
+ .app-footer {
237
+ margin-top: auto;
238
+ text-align: center;
239
+ }
240
+ .app-footer p {
241
+ margin: 0;
242
+ font-size: 0.875rem;
243
+ color: hsl(var(--muted-foreground));
244
+ }
245
+ .header-content {
246
+ max-width: 100%;
247
+ margin: 0 auto;
248
+ padding: 1rem 2rem;
249
+ display: flex;
250
+ justify-content: space-between;
251
+ align-items: center;
252
+ gap: 2rem;
253
+ flex-wrap: wrap;
254
+ }
255
+ .header-title-section {
256
+ display: flex;
257
+ flex-direction: column;
258
+ gap: 0.25rem;
259
+ flex: 1;
260
+ min-width: 0;
261
+ }
262
+ .title-row {
263
+ display: flex;
264
+ align-items: baseline;
265
+ gap: 0.75rem;
266
+ }
267
+ .logo {
268
+ font-size: 1.5rem;
269
+ font-weight: 700;
270
+ margin: 0;
271
+ line-height: 1.2;
272
+ }
273
+ .header-actions {
274
+ display: flex;
275
+ align-items: center;
276
+ gap: 1.5rem;
277
+ }
278
+ .openapi-spec-link,
279
+ .github-link {
280
+ display: flex;
281
+ align-items: center;
282
+ justify-content: center;
283
+ color: hsl(var(--foreground));
284
+ text-decoration: none;
285
+ transition:
286
+ color 0.2s,
287
+ opacity 0.2s;
288
+ padding: 0.5rem;
289
+ border-radius: calc(var(--radius) - 2px);
290
+ }
291
+ .openapi-spec-link:hover,
292
+ .github-link:hover {
293
+ color: hsl(var(--primary));
294
+ opacity: 0.8;
295
+ }
296
+ .openapi-spec-link:focus,
297
+ .github-link:focus {
298
+ outline: none;
299
+ color: hsl(var(--primary));
300
+ }
301
+ .auth-menu-toggle {
302
+ padding: 0.5rem 1rem;
303
+ background: hsl(var(--muted));
304
+ color: hsl(var(--foreground));
305
+ border: 1px solid hsl(var(--border));
306
+ border-radius: calc(var(--radius) - 2px);
307
+ cursor: pointer;
308
+ font-weight: 500;
309
+ font-size: 0.875rem;
310
+ transition: all 0.2s;
311
+ display: flex;
312
+ align-items: center;
313
+ gap: 0.5rem;
314
+ }
315
+ .auth-menu-toggle:hover {
316
+ background: hsl(var(--accent));
317
+ opacity: 0.9;
318
+ }
319
+ .test-container {
320
+ display: flex;
321
+ flex: 1;
322
+ overflow: hidden;
323
+ min-height: 0;
324
+ }
325
+ .endpoints-sidebar {
326
+ width: 500px;
327
+ border-right: 1px solid hsl(var(--border));
328
+ background: hsl(var(--card));
329
+ display: flex;
330
+ flex-direction: column;
331
+ flex-shrink: 0;
332
+ overflow: hidden;
333
+ transition: width 0.3s ease;
334
+ }
335
+ .endpoints-sidebar .sidebar-header {
336
+ display: flex;
337
+ justify-content: space-between;
338
+ align-items: center;
339
+ padding: 1rem;
340
+ flex-shrink: 0;
341
+ }
342
+ .endpoints-sidebar .sidebar-header h2 {
343
+ font-size: 1rem;
344
+ margin: 0;
345
+ font-weight: 600;
346
+ white-space: nowrap;
347
+ overflow: hidden;
348
+ text-overflow: ellipsis;
349
+ }
350
+ .sidebar-toggle {
351
+ padding: 0.25rem 0.5rem;
352
+ background: hsl(var(--muted));
353
+ color: hsl(var(--foreground));
354
+ border: 1px solid hsl(var(--border));
355
+ border-radius: calc(var(--radius) - 2px);
356
+ cursor: pointer;
357
+ line-height: 1;
358
+ transition: all 0.2s;
359
+ flex-shrink: 0;
360
+ display: flex;
361
+ align-items: center;
362
+ justify-content: center;
363
+ }
364
+ .sidebar-toggle:hover {
365
+ background: hsl(var(--accent));
366
+ opacity: 0.9;
367
+ }
368
+ .sidebar-toggle:active {
369
+ transform: scale(0.95);
370
+ }
371
+ .sidebar-content {
372
+ flex: 1;
373
+ overflow-y: auto;
374
+ overflow-x: hidden;
375
+ min-height: 0;
376
+ padding-left: 1rem;
377
+ padding-bottom: 1rem;
378
+ }
379
+ .loading {
380
+ padding: 0.75rem;
381
+ text-align: center;
382
+ color: hsl(var(--muted-foreground));
383
+ font-size: 0.875rem;
384
+ }
385
+ .endpoint-tester {
386
+ flex: 1;
387
+ padding: 1.5rem;
388
+ overflow-y: auto;
389
+ overflow-x: hidden;
390
+ min-height: 0;
391
+ background-color: hsl(var(--background));
392
+ background-image:
393
+ linear-gradient(hsl(var(--border) / 0.3) 1px, transparent 1px),
394
+ linear-gradient(90deg, hsl(var(--border) / 0.3) 1px, transparent 1px);
395
+ background-size: 50px 50px;
396
+ background-position:
397
+ 0 0,
398
+ 0 0;
399
+ border-right: 1px solid hsl(var(--border));
400
+ display: flex;
401
+ flex-direction: column;
402
+ }
403
+ .endpoint-tester.empty {
404
+ align-items: center;
405
+ justify-content: center;
406
+ }
407
+ .empty-state {
408
+ display: flex;
409
+ align-items: center;
410
+ justify-content: center;
411
+ padding: 3rem 2rem;
412
+ }
413
+ .welcome-content {
414
+ max-width: 600px;
415
+ text-align: center;
416
+ animation: fadeIn 0.5s ease-in;
417
+ }
418
+ @keyframes fadeIn {
419
+ 0% {
420
+ opacity: 0;
421
+ transform: translateY(10px);
422
+ }
423
+ to {
424
+ opacity: 1;
425
+ transform: translateY(0);
426
+ }
427
+ }
428
+ .welcome-icon {
429
+ margin-bottom: 1.5rem;
430
+ display: flex;
431
+ justify-content: center;
432
+ color: hsl(var(--foreground));
433
+ opacity: 0.9;
434
+ }
435
+ .welcome-title {
436
+ font-size: 2rem;
437
+ font-weight: 600;
438
+ color: hsl(var(--foreground));
439
+ margin: 0 0 1rem;
440
+ letter-spacing: -0.02em;
441
+ }
442
+ .welcome-description {
443
+ font-size: 1.125rem;
444
+ color: hsl(var(--muted-foreground));
445
+ margin: 0 0 2.5rem;
446
+ line-height: 1.6;
447
+ }
448
+ .welcome-tips {
449
+ display: flex;
450
+ flex-direction: column;
451
+ gap: 1rem;
452
+ margin-top: 2rem;
453
+ text-align: left;
454
+ }
455
+ .tip-item {
456
+ display: flex;
457
+ align-items: center;
458
+ gap: 0.75rem;
459
+ padding: 0.75rem 1rem;
460
+ background: hsl(var(--card));
461
+ border: 1px solid hsl(var(--border));
462
+ border-radius: 6px;
463
+ color: hsl(var(--foreground));
464
+ font-size: 0.9375rem;
465
+ cursor: default;
466
+ -webkit-user-select: none;
467
+ user-select: none;
468
+ }
469
+ .tip-icon {
470
+ flex-shrink: 0;
471
+ color: hsl(var(--muted-foreground));
472
+ }
473
+ </style>
474
+ <link
475
+ rel="preload"
476
+ crossorigin
477
+ href="/assets/app-Dzrp8B7R.css"
478
+ as="style"
479
+ />
480
+ <link rel="modulepreload" crossorigin href="/assets/Main-9sORQCnK.js" />
481
+ <link rel="preload" href="/assets/Main-AU5IrlUT.css" as="style" />
482
+ <link
483
+ rel="preload"
484
+ as="font"
485
+ crossorigin="anonymous"
486
+ href="/assets/open-sans-cyrillic-ext-wght-normal-D8xHCTEw.woff2"
487
+ />
488
+ <link
489
+ rel="preload"
490
+ as="font"
491
+ crossorigin="anonymous"
492
+ href="/assets/open-sans-cyrillic-wght-normal-bOs07Rf4.woff2"
493
+ />
494
+ <link
495
+ rel="preload"
496
+ as="font"
497
+ crossorigin="anonymous"
498
+ href="/assets/open-sans-greek-ext-wght-normal-Bm9CHu9r.woff2"
499
+ />
500
+ <link
501
+ rel="preload"
502
+ as="font"
503
+ crossorigin="anonymous"
504
+ href="/assets/open-sans-greek-wght-normal-8neIfJ3r.woff2"
505
+ />
506
+ <link
507
+ rel="preload"
508
+ as="font"
509
+ crossorigin="anonymous"
510
+ href="/assets/open-sans-hebrew-wght-normal-BjjtG49P.woff2"
511
+ />
512
+ <link
513
+ rel="preload"
514
+ as="font"
515
+ crossorigin="anonymous"
516
+ href="/assets/open-sans-math-wght-normal-C1FvUlkR.woff2"
517
+ />
518
+ <link
519
+ rel="preload"
520
+ as="font"
521
+ crossorigin="anonymous"
522
+ href="/assets/open-sans-symbols-wght-normal-BAf6-sld.woff2"
523
+ />
524
+ <link
525
+ rel="preload"
526
+ as="font"
527
+ crossorigin="anonymous"
528
+ href="/assets/open-sans-vietnamese-wght-normal-UygKeDyW.woff2"
529
+ />
530
+ <link
531
+ rel="preload"
532
+ as="font"
533
+ crossorigin="anonymous"
534
+ href="/assets/open-sans-latin-ext-wght-normal-DPNHYqvY.woff2"
535
+ />
536
+ <link
537
+ rel="preload"
538
+ as="font"
539
+ crossorigin="anonymous"
540
+ href="/assets/open-sans-latin-wght-normal-CWNzRldh.woff2"
541
+ />
542
+ <link
543
+ rel="preload"
544
+ as="font"
545
+ crossorigin="anonymous"
546
+ href="/assets/chivo-mono-vietnamese-wght-normal-CR-pvMd4.woff2"
547
+ />
548
+ <link
549
+ rel="preload"
550
+ as="font"
551
+ crossorigin="anonymous"
552
+ href="/assets/chivo-mono-latin-ext-wght-normal-Cnx6d2Yf.woff2"
553
+ />
554
+ <link
555
+ rel="preload"
556
+ as="font"
557
+ crossorigin="anonymous"
558
+ href="/assets/chivo-mono-latin-wght-normal-DXNvimoL.woff2"
559
+ />
560
+ </head>
561
+
562
+ <body>
563
+ <div id="app" data-server-rendered="true">
564
+ <div class="openapi-test">
565
+ <header class="test-header">
566
+ <div class="header-content">
567
+ <div class="header-title-section">
568
+ <div class="title-row">
569
+ <h1 class="logo">OpenAPI Studio</h1>
570
+ <!---->
571
+ </div>
572
+ <!---->
573
+ </div>
574
+ <div class="header-actions">
575
+ <a
576
+ href="openapi.json"
577
+ target="_blank"
578
+ rel="noopener noreferrer"
579
+ class="openapi-spec-link"
580
+ title="View OpenAPI Spec JSON"
581
+ ><svg
582
+ xmlns="http://www.w3.org/2000/svg"
583
+ width="20"
584
+ height="20"
585
+ viewBox="0 0 24 24"
586
+ fill="none"
587
+ stroke="currentColor"
588
+ stroke-width="2"
589
+ stroke-linecap="round"
590
+ stroke-linejoin="round"
591
+ class="lucide lucide-file-text-icon lucide-file-text"
592
+ >
593
+ <path
594
+ d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"
595
+ />
596
+ <path d="M14 2v5a1 1 0 0 0 1 1h5" />
597
+ <path d="M10 9H8" />
598
+ <path d="M16 13H8" />
599
+ <path d="M16 17H8" /></svg></a
600
+ ><a
601
+ href="https://github.com/gamja-labs/openapi-studio"
602
+ target="_blank"
603
+ rel="noopener noreferrer"
604
+ class="github-link"
605
+ title="View on GitHub"
606
+ ><svg
607
+ xmlns="http://www.w3.org/2000/svg"
608
+ width="20"
609
+ height="20"
610
+ viewBox="0 0 24 24"
611
+ fill="none"
612
+ stroke="currentColor"
613
+ stroke-width="2"
614
+ stroke-linecap="round"
615
+ stroke-linejoin="round"
616
+ class="lucide lucide-github-icon lucide-github"
617
+ >
618
+ <path
619
+ d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"
620
+ />
621
+ <path d="M9 18c-4.51 2-5-2-7-2" /></svg></a
622
+ ><button class="auth-menu-toggle" title="Security Scheme">
623
+ <svg
624
+ xmlns="http://www.w3.org/2000/svg"
625
+ width="16"
626
+ height="16"
627
+ viewBox="0 0 24 24"
628
+ fill="none"
629
+ stroke="currentColor"
630
+ stroke-width="2"
631
+ stroke-linecap="round"
632
+ stroke-linejoin="round"
633
+ class="lucide lucide-lock-open-icon lucide-lock-open"
634
+ >
635
+ <rect width="18" height="11" x="3" y="11" rx="2" ry="2" />
636
+ <path d="M7 11V7a5 5 0 0 1 9.9-1" /></svg
637
+ ><span>Security</span></button
638
+ ><!---->
639
+ </div>
640
+ </div>
641
+ </header>
642
+ <!---->
643
+ <div class="test-container">
644
+ <aside class="endpoints-sidebar">
645
+ <div class="sidebar-header">
646
+ <h2>Endpoints</h2>
647
+ <button class="sidebar-toggle" title="Collapse sidebar">
648
+ <svg
649
+ xmlns="http://www.w3.org/2000/svg"
650
+ width="16"
651
+ height="16"
652
+ viewBox="0 0 24 24"
653
+ fill="none"
654
+ stroke="currentColor"
655
+ stroke-width="2"
656
+ stroke-linecap="round"
657
+ stroke-linejoin="round"
658
+ class="lucide lucide-chevron-left-icon lucide-chevron-left"
659
+ >
660
+ <path d="m15 18-6-6 6-6" />
661
+ </svg>
662
+ </button>
663
+ </div>
664
+ <div class="sidebar-content" style>
665
+ <div class="loading">Loading OpenAPI spec...</div>
666
+ </div>
667
+ </aside>
668
+ <main class="endpoint-tester empty">
669
+ <div class="empty-state">
670
+ <div class="welcome-content">
671
+ <div class="welcome-icon">
672
+ <svg
673
+ xmlns="http://www.w3.org/2000/svg"
674
+ width="64"
675
+ height="64"
676
+ viewBox="0 0 24 24"
677
+ fill="none"
678
+ stroke="currentColor"
679
+ stroke-width="2"
680
+ stroke-linecap="round"
681
+ stroke-linejoin="round"
682
+ class="lucide lucide-rocket-icon lucide-rocket"
683
+ >
684
+ <path
685
+ d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"
686
+ />
687
+ <path
688
+ d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"
689
+ />
690
+ <path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
691
+ <path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
692
+ </svg>
693
+ </div>
694
+ <h1 class="welcome-title">Welcome to OpenAPI Studio</h1>
695
+ <p class="welcome-description">
696
+ Select an endpoint from the sidebar to start testing your API
697
+ endpoints.
698
+ </p>
699
+ <div class="welcome-tips">
700
+ <div class="tip-item">
701
+ <svg
702
+ xmlns="http://www.w3.org/2000/svg"
703
+ width="20"
704
+ height="20"
705
+ viewBox="0 0 24 24"
706
+ fill="none"
707
+ stroke="currentColor"
708
+ stroke-width="2"
709
+ stroke-linecap="round"
710
+ stroke-linejoin="round"
711
+ class="lucide tip-icon lucide-file-text-icon lucide-file-text tip-icon"
712
+ >
713
+ <path
714
+ d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"
715
+ />
716
+ <path d="M14 2v5a1 1 0 0 0 1 1h5" />
717
+ <path d="M10 9H8" />
718
+ <path d="M16 13H8" />
719
+ <path d="M16 17H8" /></svg
720
+ ><span>Browse available endpoints in the sidebar</span>
721
+ </div>
722
+ <div class="tip-item">
723
+ <svg
724
+ xmlns="http://www.w3.org/2000/svg"
725
+ width="20"
726
+ height="20"
727
+ viewBox="0 0 24 24"
728
+ fill="none"
729
+ stroke="currentColor"
730
+ stroke-width="2"
731
+ stroke-linecap="round"
732
+ stroke-linejoin="round"
733
+ class="lucide tip-icon lucide-zap-icon lucide-zap tip-icon"
734
+ >
735
+ <path
736
+ d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"
737
+ /></svg
738
+ ><span>Test requests with custom parameters</span>
739
+ </div>
740
+ <div class="tip-item">
741
+ <svg
742
+ xmlns="http://www.w3.org/2000/svg"
743
+ width="20"
744
+ height="20"
745
+ viewBox="0 0 24 24"
746
+ fill="none"
747
+ stroke="currentColor"
748
+ stroke-width="2"
749
+ stroke-linecap="round"
750
+ stroke-linejoin="round"
751
+ class="lucide tip-icon lucide-chart-no-axes-column-increasing-icon lucide-chart-no-axes-column-increasing tip-icon"
752
+ >
753
+ <path d="M5 21v-6" />
754
+ <path d="M12 21V9" />
755
+ <path d="M19 21V3" /></svg
756
+ ><span>View responses and schema documentation</span>
757
+ </div>
758
+ </div>
759
+ </div>
760
+ </div>
761
+ <footer class="app-footer"><p>© 2026 Gamja Labs</p></footer>
762
+ </main>
763
+ </div>
764
+ </div>
765
+ </div>
766
+
767
+ <link rel="stylesheet" crossorigin href="/assets/app-Dzrp8B7R.css" /><link
768
+ rel="stylesheet"
769
+ href="/assets/Main-AU5IrlUT.css"
770
+ />
771
+ </body>
772
+ </html>
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "@openapi-studio/core",
3
- "version": "0.0.3",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": "^20.19.0 || >=22.12.0"
7
7
  },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/gamja-labs/openapi-studio"
11
+ },
8
12
  "scripts": {
9
13
  "dev": "vite",
10
14
  "build": "vite-ssg build",
@@ -38,5 +42,8 @@
38
42
  "vue-router": "^4.6.4",
39
43
  "vue-tsc": "^3.2.1",
40
44
  "vue3-ts-jsoneditor": "^3.3.0"
45
+ },
46
+ "publishConfig": {
47
+ "provenance": true
41
48
  }
42
49
  }