fa-mcp-sdk 0.2.3

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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +283 -0
  3. package/dist/core/_types_/types.d.ts +67 -0
  4. package/dist/core/_types_/types.d.ts.map +1 -0
  5. package/dist/core/_types_/types.js +2 -0
  6. package/dist/core/_types_/types.js.map +1 -0
  7. package/dist/core/bootstrap/dotenv.d.ts +3 -0
  8. package/dist/core/bootstrap/dotenv.d.ts.map +1 -0
  9. package/dist/core/bootstrap/dotenv.js +3 -0
  10. package/dist/core/bootstrap/dotenv.js.map +1 -0
  11. package/dist/core/bootstrap/init-config.d.ts +11 -0
  12. package/dist/core/bootstrap/init-config.d.ts.map +1 -0
  13. package/dist/core/bootstrap/init-config.js +52 -0
  14. package/dist/core/bootstrap/init-config.js.map +1 -0
  15. package/dist/core/bootstrap/startup-info.d.ts +6 -0
  16. package/dist/core/bootstrap/startup-info.d.ts.map +1 -0
  17. package/dist/core/bootstrap/startup-info.js +43 -0
  18. package/dist/core/bootstrap/startup-info.js.map +1 -0
  19. package/dist/core/constants.d.ts +2 -0
  20. package/dist/core/constants.d.ts.map +1 -0
  21. package/dist/core/constants.js +2 -0
  22. package/dist/core/constants.js.map +1 -0
  23. package/dist/core/consul/access-points-updater.d.ts +5 -0
  24. package/dist/core/consul/access-points-updater.d.ts.map +1 -0
  25. package/dist/core/consul/access-points-updater.js +11 -0
  26. package/dist/core/consul/access-points-updater.js.map +1 -0
  27. package/dist/core/consul/deregister.d.ts +2 -0
  28. package/dist/core/consul/deregister.d.ts.map +1 -0
  29. package/dist/core/consul/deregister.js +21 -0
  30. package/dist/core/consul/deregister.js.map +1 -0
  31. package/dist/core/consul/get-consul-api.d.ts +2 -0
  32. package/dist/core/consul/get-consul-api.d.ts.map +1 -0
  33. package/dist/core/consul/get-consul-api.js +18 -0
  34. package/dist/core/consul/get-consul-api.js.map +1 -0
  35. package/dist/core/consul/register.d.ts +2 -0
  36. package/dist/core/consul/register.d.ts.map +1 -0
  37. package/dist/core/consul/register.js +6 -0
  38. package/dist/core/consul/register.js.map +1 -0
  39. package/dist/core/db/pg-db.d.ts +50 -0
  40. package/dist/core/db/pg-db.d.ts.map +1 -0
  41. package/dist/core/db/pg-db.js +89 -0
  42. package/dist/core/db/pg-db.js.map +1 -0
  43. package/dist/core/debug.d.ts +5 -0
  44. package/dist/core/debug.d.ts.map +1 -0
  45. package/dist/core/debug.js +32 -0
  46. package/dist/core/debug.js.map +1 -0
  47. package/dist/core/ee.d.ts +3 -0
  48. package/dist/core/ee.d.ts.map +1 -0
  49. package/dist/core/ee.js +4 -0
  50. package/dist/core/ee.js.map +1 -0
  51. package/dist/core/errors/BaseMcpError.d.ts +19 -0
  52. package/dist/core/errors/BaseMcpError.d.ts.map +1 -0
  53. package/dist/core/errors/BaseMcpError.js +47 -0
  54. package/dist/core/errors/BaseMcpError.js.map +1 -0
  55. package/dist/core/errors/ValidationError.d.ts +5 -0
  56. package/dist/core/errors/ValidationError.d.ts.map +1 -0
  57. package/dist/core/errors/ValidationError.js +7 -0
  58. package/dist/core/errors/ValidationError.js.map +1 -0
  59. package/dist/core/errors/errors.d.ts +24 -0
  60. package/dist/core/errors/errors.d.ts.map +1 -0
  61. package/dist/core/errors/errors.js +49 -0
  62. package/dist/core/errors/errors.js.map +1 -0
  63. package/dist/core/index.d.ts +19 -0
  64. package/dist/core/index.d.ts.map +1 -0
  65. package/dist/core/index.js +16 -0
  66. package/dist/core/index.js.map +1 -0
  67. package/dist/core/init-mcp-server.d.ts +8 -0
  68. package/dist/core/init-mcp-server.d.ts.map +1 -0
  69. package/dist/core/init-mcp-server.js +101 -0
  70. package/dist/core/init-mcp-server.js.map +1 -0
  71. package/dist/core/logger.d.ts +6 -0
  72. package/dist/core/logger.d.ts.map +1 -0
  73. package/dist/core/logger.js +53 -0
  74. package/dist/core/logger.js.map +1 -0
  75. package/dist/core/mcp/create-mcp-server.d.ts +6 -0
  76. package/dist/core/mcp/create-mcp-server.d.ts.map +1 -0
  77. package/dist/core/mcp/create-mcp-server.js +44 -0
  78. package/dist/core/mcp/create-mcp-server.js.map +1 -0
  79. package/dist/core/mcp/prompts.d.ts +10 -0
  80. package/dist/core/mcp/prompts.d.ts.map +1 -0
  81. package/dist/core/mcp/prompts.js +56 -0
  82. package/dist/core/mcp/prompts.js.map +1 -0
  83. package/dist/core/mcp/resources.d.ts +14 -0
  84. package/dist/core/mcp/resources.d.ts.map +1 -0
  85. package/dist/core/mcp/resources.js +72 -0
  86. package/dist/core/mcp/resources.js.map +1 -0
  87. package/dist/core/mcp/server-stdio.d.ts +5 -0
  88. package/dist/core/mcp/server-stdio.d.ts.map +1 -0
  89. package/dist/core/mcp/server-stdio.js +13 -0
  90. package/dist/core/mcp/server-stdio.js.map +1 -0
  91. package/dist/core/token/gen-token-app/gen-token-server.d.ts +2 -0
  92. package/dist/core/token/gen-token-app/gen-token-server.d.ts.map +1 -0
  93. package/dist/core/token/gen-token-app/gen-token-server.js +115 -0
  94. package/dist/core/token/gen-token-app/gen-token-server.js.map +1 -0
  95. package/dist/core/token/gen-token-app/html.d.ts +2 -0
  96. package/dist/core/token/gen-token-app/html.d.ts.map +1 -0
  97. package/dist/core/token/gen-token-app/html.js +500 -0
  98. package/dist/core/token/gen-token-app/html.js.map +1 -0
  99. package/dist/core/token/i-token.d.ts +13 -0
  100. package/dist/core/token/i-token.d.ts.map +1 -0
  101. package/dist/core/token/i-token.js +2 -0
  102. package/dist/core/token/i-token.js.map +1 -0
  103. package/dist/core/token/token-core.d.ts +24 -0
  104. package/dist/core/token/token-core.d.ts.map +1 -0
  105. package/dist/core/token/token-core.js +130 -0
  106. package/dist/core/token/token-core.js.map +1 -0
  107. package/dist/core/token/token.d.ts +17 -0
  108. package/dist/core/token/token.d.ts.map +1 -0
  109. package/dist/core/token/token.js +62 -0
  110. package/dist/core/token/token.js.map +1 -0
  111. package/dist/core/utils/formatToolResult.d.ts +7 -0
  112. package/dist/core/utils/formatToolResult.d.ts.map +1 -0
  113. package/dist/core/utils/formatToolResult.js +68 -0
  114. package/dist/core/utils/formatToolResult.js.map +1 -0
  115. package/dist/core/utils/rate-limit.d.ts +17 -0
  116. package/dist/core/utils/rate-limit.d.ts.map +1 -0
  117. package/dist/core/utils/rate-limit.js +56 -0
  118. package/dist/core/utils/rate-limit.js.map +1 -0
  119. package/dist/core/utils/utils.d.ts +6 -0
  120. package/dist/core/utils/utils.d.ts.map +1 -0
  121. package/dist/core/utils/utils.js +12 -0
  122. package/dist/core/utils/utils.js.map +1 -0
  123. package/dist/core/web/about-page/css.d.ts +2 -0
  124. package/dist/core/web/about-page/css.d.ts.map +1 -0
  125. package/dist/core/web/about-page/css.js +534 -0
  126. package/dist/core/web/about-page/css.js.map +1 -0
  127. package/dist/core/web/about-page/render.d.ts +2 -0
  128. package/dist/core/web/about-page/render.d.ts.map +1 -0
  129. package/dist/core/web/about-page/render.js +679 -0
  130. package/dist/core/web/about-page/render.js.map +1 -0
  131. package/dist/core/web/cors.d.ts +5 -0
  132. package/dist/core/web/cors.d.ts.map +1 -0
  133. package/dist/core/web/cors.js +22 -0
  134. package/dist/core/web/cors.js.map +1 -0
  135. package/dist/core/web/favicon-svg.d.ts +7 -0
  136. package/dist/core/web/favicon-svg.d.ts.map +1 -0
  137. package/dist/core/web/favicon-svg.js +44 -0
  138. package/dist/core/web/favicon-svg.js.map +1 -0
  139. package/dist/core/web/server-http.d.ts +5 -0
  140. package/dist/core/web/server-http.d.ts.map +1 -0
  141. package/dist/core/web/server-http.js +275 -0
  142. package/dist/core/web/server-http.js.map +1 -0
  143. package/package.json +88 -0
@@ -0,0 +1,534 @@
1
+ export const getCss = (primaryColor) => {
2
+ return `
3
+ :root {
4
+ /* Primary Colors */
5
+ --color-primary-600: ${primaryColor || '#0052cc'};
6
+ --color-primary-500: #0065ff;
7
+
8
+ /* Secondary Colors */
9
+ --color-success-600: #006644;
10
+
11
+ /* Danger Colors */
12
+ --color-danger-600: #bf2600;
13
+ --color-danger-400: #ff5630;
14
+
15
+ /* Neutral Colors */
16
+ --color-neutral-1000: #172b4d;
17
+ --color-neutral-900: #253858;
18
+ --color-neutral-700: #42526e;
19
+ --color-neutral-600: #505f79;
20
+ --color-neutral-200: #c1c7d0;
21
+ --color-neutral-100: #dfe1e6;
22
+ --color-neutral-90: #ebecf0;
23
+ --color-neutral-20: #fafbfc;
24
+ --color-neutral-10: #ffffff;
25
+
26
+ /* Spacing - 8px grid */
27
+ --space-025: 2px;
28
+ --space-050: 4px;
29
+ --space-075: 6px;
30
+ --space-100: 8px;
31
+ --space-150: 12px;
32
+ --space-200: 16px;
33
+ --space-250: 20px;
34
+ --space-300: 24px;
35
+ --space-400: 32px;
36
+ --space-500: 40px;
37
+ --space-600: 48px;
38
+ --space-800: 64px;
39
+ --space-1000: 80px;
40
+
41
+ /* Typography */
42
+ --font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
43
+ --font-family-mono: ui-monospace, 'SF Mono', 'Consolas', 'Roboto Mono', 'Ubuntu Mono', monospace;
44
+
45
+ /* Font sizes */
46
+ --font-size-050: 11px;
47
+ --font-size-075: 12px;
48
+ --font-size-100: 14px;
49
+ --font-size-200: 16px;
50
+ --font-size-300: 20px;
51
+ --font-size-400: 24px;
52
+ --font-size-500: 29px;
53
+ --font-size-600: 35px;
54
+
55
+ /* Border radius */
56
+ --border-radius-050: 2px;
57
+ --border-radius-100: 3px;
58
+ --border-radius-200: 6px;
59
+ --border-radius-300: 8px;
60
+ --border-radius-400: 12px;
61
+
62
+ /* Shadows */
63
+ --shadow-raised: 0 1px 1px rgba(9, 30, 66, 0.25), 0 0 1px rgba(9, 30, 66, 0.31);
64
+ --shadow-overlay: 0 4px 8px -2px rgba(9, 30, 66, 0.25), 0 0 1px rgba(9, 30, 66, 0.31);
65
+ --shadow-card: 0 1px 3px rgba(9, 30, 66, 0.25), 0 0 1px rgba(9, 30, 66, 0.31);
66
+ }
67
+
68
+ /* Reset and base styles */
69
+ * {
70
+ box-sizing: border-box;
71
+ margin: 0;
72
+ padding: 0;
73
+ }
74
+
75
+ html, body {
76
+ height: 100%;
77
+ }
78
+
79
+ body {
80
+ font-family: var(--font-family-sans);
81
+ font-size: var(--font-size-100);
82
+ line-height: 1.5;
83
+ color: var(--color-neutral-900);
84
+ background: white;
85
+ margin: 0;
86
+ padding: 20px;
87
+ -webkit-font-smoothing: antialiased;
88
+ -moz-osx-font-smoothing: grayscale;
89
+ min-height: 100vh;
90
+ display: flex;
91
+ align-items: flex-start;
92
+ justify-content: center;
93
+ }
94
+
95
+ /* Simple Layout */
96
+ .simple-container {
97
+ width: 100%;
98
+ max-width: 670px;
99
+ background: white;
100
+ border: 1px solid var(--color-neutral-200);
101
+ border-radius: var(--border-radius-200);
102
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
103
+ margin-top: 40px;
104
+ }
105
+
106
+ /* Simple Header */
107
+ .simple-header {
108
+ padding: 24px 32px 20px;
109
+ border-bottom: 1px solid var(--color-neutral-200);
110
+ background: var(--color-neutral-20);
111
+ border-radius: var(--border-radius-200) var(--border-radius-200) 0 0;
112
+ }
113
+
114
+ .header-row {
115
+ display: flex;
116
+ justify-content: space-between;
117
+ align-items: center;
118
+ }
119
+
120
+ .header-title {
121
+ display: flex;
122
+ align-items: center;
123
+ gap: 16px;
124
+ }
125
+
126
+ .service-icon {
127
+ width: 40px;
128
+ height: 40px;
129
+ display: flex;
130
+ margin-right: 10px;
131
+ align-items: center;
132
+ justify-content: center;
133
+ }
134
+
135
+ .service-icon svg {
136
+ width: 100%;
137
+ height: 100%;
138
+ }
139
+
140
+ .simple-header h1 {
141
+ font-size: 30px;
142
+ font-weight: 700;
143
+ margin: 0;
144
+ color: var(--color-primary-600);
145
+ }
146
+
147
+ .status {
148
+ display: inline-block;
149
+ padding: 4px 12px;
150
+ border-radius: 12px;
151
+ font-size: 12px;
152
+ font-weight: 600;
153
+ text-transform: uppercase;
154
+ }
155
+
156
+ .status.online {
157
+ background: var(--color-success-100);
158
+ color: var(--color-success-600);
159
+ }
160
+
161
+ .status.offline {
162
+ background: var(--color-danger-100);
163
+ color: var(--color-danger-600);
164
+ }
165
+
166
+ /* Simple Main Content */
167
+ .simple-main {
168
+ padding: 20px 32px;
169
+ }
170
+
171
+ /* Modal Styles */
172
+ .modal-overlay {
173
+ position: fixed;
174
+ top: 0;
175
+ left: 0;
176
+ width: 100%;
177
+ height: 100%;
178
+ background: rgba(9, 30, 66, 0.5);
179
+ display: none;
180
+ align-items: center;
181
+ justify-content: center;
182
+ z-index: 1000;
183
+ backdrop-filter: blur(2px);
184
+ }
185
+
186
+ .modal-content {
187
+ background: white;
188
+ border-radius: var(--border-radius-300);
189
+ box-shadow: var(--shadow-overlay);
190
+ max-width: 90vw;
191
+ max-height: 90vh;
192
+ width: 900px;
193
+ display: flex;
194
+ flex-direction: column;
195
+ overflow: hidden;
196
+ }
197
+
198
+ .modal-header {
199
+ display: flex;
200
+ justify-content: space-between;
201
+ align-items: center;
202
+ padding: 20px 24px;
203
+ background: var(--color-neutral-20);
204
+ border-bottom: 1px solid var(--color-neutral-200);
205
+ }
206
+
207
+ .modal-header h3 {
208
+ margin: 0;
209
+ font-size: var(--font-size-300);
210
+ font-weight: 600;
211
+ color: var(--color-primary-600);
212
+ }
213
+
214
+ .modal-close {
215
+ background: none;
216
+ border: none;
217
+ font-size: 24px;
218
+ font-weight: 300;
219
+ color: var(--color-neutral-600);
220
+ cursor: pointer;
221
+ padding: 0;
222
+ width: 32px;
223
+ height: 32px;
224
+ display: flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ border-radius: var(--border-radius-100);
228
+ transition: all 0.2s ease;
229
+ }
230
+
231
+ .modal-close:hover {
232
+ background: var(--color-neutral-100);
233
+ color: var(--color-neutral-900);
234
+ }
235
+
236
+ .modal-body {
237
+ padding: 24px;
238
+ overflow-y: auto;
239
+ flex: 1;
240
+ }
241
+
242
+ .table-container {
243
+ overflow-x: auto;
244
+ border-radius: var(--border-radius-100);
245
+ border: 1px solid var(--color-neutral-200);
246
+ }
247
+
248
+ .details-table {
249
+ width: 100%;
250
+ border-collapse: collapse;
251
+ background: white;
252
+ font-size: var(--font-size-075);
253
+ }
254
+
255
+ .details-table th {
256
+ background: var(--color-neutral-100);
257
+ padding: 12px 16px;
258
+ text-align: left;
259
+ font-weight: 600;
260
+ color: var(--color-neutral-900);
261
+ border-bottom: 2px solid var(--color-neutral-200);
262
+ white-space: nowrap;
263
+ }
264
+
265
+ .details-table td {
266
+ padding: 12px 16px;
267
+ border-bottom: 1px solid var(--color-neutral-100);
268
+ vertical-align: top;
269
+ }
270
+
271
+ .details-table tr:hover {
272
+ background: var(--color-neutral-20);
273
+ }
274
+
275
+ .details-table tr:last-child td {
276
+ border-bottom: none;
277
+ }
278
+
279
+ /* Detail row styles */
280
+ .detail-row {
281
+ background: var(--color-neutral-20);
282
+ }
283
+
284
+ .detail-row td {
285
+ padding: 0;
286
+ }
287
+
288
+ .detail-content {
289
+ padding: 16px;
290
+ }
291
+
292
+ /* Loading spinner */
293
+ .loading-spinner {
294
+ width: 20px;
295
+ height: 20px;
296
+ border: 2px solid var(--color-neutral-200);
297
+ border-top: 2px solid var(--color-primary-500);
298
+ border-radius: 50%;
299
+ animation: spin 1s linear infinite;
300
+ margin: 0 auto 12px auto;
301
+ }
302
+
303
+ .loading-cell {
304
+ text-align: center;
305
+ padding: 40px 20px;
306
+ color: var(--color-neutral-600);
307
+ font-size: var(--font-size-100);
308
+ }
309
+
310
+ .loading-cell .loading-spinner {
311
+ margin-bottom: 16px;
312
+ }
313
+
314
+ @keyframes spin {
315
+ 0% { transform: rotate(0deg); }
316
+ 100% { transform: rotate(360deg); }
317
+ }
318
+
319
+ /* JSON content styles */
320
+ .json-content {
321
+ font-family: var(--font-family-mono);
322
+ font-size: var(--font-size-050);
323
+ line-height: 1.4;
324
+ color: var(--color-neutral-1000);
325
+ white-space: pre-wrap;
326
+ overflow-x: auto;
327
+ max-height: 300px;
328
+ overflow-y: auto;
329
+ margin: 0;
330
+ background: var(--color-neutral-90);
331
+ padding: 16px;
332
+ border-radius: var(--border-radius-100);
333
+ border: 1px solid var(--color-neutral-200);
334
+ }
335
+
336
+ /* Prompt content styles */
337
+ .prompt-content {
338
+ font-family: var(--font-family-mono);
339
+ font-size: var(--font-size-075);
340
+ line-height: 1.5;
341
+ color: var(--color-neutral-1000);
342
+ max-height: 400px;
343
+ overflow-y: auto;
344
+ }
345
+
346
+ .prompt-content pre {
347
+ margin: 0;
348
+ white-space: pre-wrap;
349
+ word-wrap: break-word;
350
+ }
351
+
352
+ /* Resource content styles */
353
+ .resource-content {
354
+ font-family: var(--font-family-mono);
355
+ font-size: var(--font-size-075);
356
+ line-height: 1.5;
357
+ color: var(--color-neutral-1000);
358
+ max-height: 400px;
359
+ overflow-y: auto;
360
+ }
361
+
362
+ .resource-content pre {
363
+ margin: 0;
364
+ white-space: pre-wrap;
365
+ word-wrap: break-word;
366
+ }
367
+
368
+ /* Error message styles */
369
+ .error-message {
370
+ padding: 16px;
371
+ background: #ffebe9;
372
+ color: var(--color-danger-600);
373
+ border: 1px solid var(--color-danger-400);
374
+ border-radius: var(--border-radius-100);
375
+ font-family: var(--font-family-mono);
376
+ font-size: var(--font-size-075);
377
+ text-align: center;
378
+ }
379
+
380
+ .clickable {
381
+ color: var(--color-primary-500) !important;
382
+ text-decoration: none;
383
+ cursor: pointer;
384
+ transition: color 0.2s ease;
385
+ }
386
+
387
+ .clickable:hover {
388
+ color: var(--color-primary-600);
389
+ text-decoration: underline;
390
+ }
391
+
392
+ .detail-link {
393
+ color: var(--color-primary-500);
394
+ text-decoration: none;
395
+ font-size: var(--font-size-075);
396
+ font-weight: 500;
397
+ cursor: pointer;
398
+ }
399
+
400
+ .detail-link:hover {
401
+ color: var(--color-primary-600);
402
+ text-decoration: underline;
403
+ }
404
+
405
+
406
+ /* Info Section */
407
+ .info-section {
408
+ margin-bottom: 0;
409
+ }
410
+
411
+ .info-row {
412
+ display: flex;
413
+ justify-content: space-between;
414
+ align-items: center;
415
+ padding: 8px 0;
416
+ border-bottom: 1px solid var(--color-neutral-100);
417
+ }
418
+
419
+ .info-row:last-child {
420
+ border-bottom: none;
421
+ }
422
+
423
+ .label {
424
+ font-weight: 500;
425
+ color: var(--color-neutral-700);
426
+ min-width: 100px;
427
+ }
428
+
429
+ .value {
430
+ text-align: right;
431
+ color: var(--color-neutral-1000);
432
+ font-family: var(--font-family-mono);
433
+ font-size: 14px;
434
+ }
435
+
436
+ .value.link {
437
+ color: var(--color-primary-500);
438
+ text-decoration: none;
439
+ }
440
+
441
+ .value.link:hover {
442
+ color: var(--color-primary-600);
443
+ text-decoration: underline;
444
+ }
445
+
446
+ .value.connected {
447
+ color: var(--color-success-600);
448
+ }
449
+
450
+ .value.disconnected, .value.error {
451
+ color: var(--color-danger-600);
452
+ }
453
+
454
+
455
+ /* Simple Footer */
456
+ .simple-footer {
457
+ padding: 16px 32px;
458
+ background: var(--color-neutral-20);
459
+ border-top: 1px solid var(--color-neutral-200);
460
+ border-radius: 0 0 var(--border-radius-200) var(--border-radius-200);
461
+ }
462
+
463
+ .simple-footer p {
464
+ margin: 0;
465
+ font-size: 12px;
466
+ color: var(--color-neutral-600);
467
+ text-align: center;
468
+ }
469
+
470
+ .simple-footer a {
471
+ color: var(--color-primary-500);
472
+ text-decoration: none;
473
+ }
474
+
475
+ .simple-footer a:hover {
476
+ color: var(--color-primary-600);
477
+ text-decoration: underline;
478
+ }
479
+
480
+ /* Responsive Design */
481
+ @media (max-width: 640px) {
482
+ body {
483
+ padding: 16px;
484
+ }
485
+
486
+ .simple-container {
487
+ margin-top: 20px;
488
+ max-width: 600px;
489
+ }
490
+
491
+ .simple-header {
492
+ padding: 20px 24px 16px;
493
+ }
494
+
495
+ .header-row {
496
+ flex-direction: column;
497
+ align-items: flex-start;
498
+ gap: 12px;
499
+ }
500
+
501
+ .header-title {
502
+ gap: 12px;
503
+ }
504
+
505
+ .service-icon {
506
+ width: 32px;
507
+ height: 32px;
508
+ }
509
+
510
+ .simple-main {
511
+ padding: 16px 24px;
512
+ }
513
+
514
+ .simple-footer {
515
+ padding: 12px 24px;
516
+ }
517
+
518
+ .info-row {
519
+ flex-direction: column;
520
+ align-items: flex-start;
521
+ gap: 4px;
522
+ padding: 12px 0;
523
+ }
524
+
525
+ .label {
526
+ min-width: auto;
527
+ }
528
+
529
+ .value {
530
+ text-align: left;
531
+ }
532
+ }`;
533
+ };
534
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../../src/core/web/about-page/css.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAoB,EAAE,EAAE;IAC7C,OAAO;;;yBAGgB,YAAY,IAAI,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+gBhD,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const renderAboutPage: () => Promise<string>;
2
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/core/web/about-page/render.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,MAAM,CA0oBtD,CAAC"}