@circuitwall/jarela 1.9.2 → 1.9.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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page.js +688 -427
- package/.next/standalone/.next/server/app/page.js.map +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -1
- package/.next/standalone/.next/server/chunks/4045.js.map +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/2747-4a6287cacd57d231.js.map +1 -1
- package/.next/standalone/.next/static/chunks/{1998-31a617131197a83a.js → 962-fe2372e00f85e23a.js} +111 -2
- package/.next/standalone/.next/static/chunks/962-fe2372e00f85e23a.js.map +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-84c6f211a7a1ca36.js.map +1 -1
- package/.next/standalone/.next/static/chunks/app/{page-afdef9bd1108a656.js → page-c5b9f4407416c3f9.js} +332 -154
- package/.next/standalone/.next/static/chunks/app/page-c5b9f4407416c3f9.js.map +1 -0
- package/.next/standalone/.next/static/css/b8e04d59a2bfff04.css +5 -0
- package/.next/standalone/.next/static/css/b8e04d59a2bfff04.css.map +1 -0
- package/.next/standalone/package.json +1 -1
- package/CHANGELOG.md +25 -0
- package/components/credentials/CredentialsPanel.tsx +1 -1
- package/components/layout/AppShell.tsx +6 -0
- package/components/layout/MenuPanel.tsx +15 -91
- package/components/settings/AppearancePanel.tsx +93 -0
- package/components/settings/SettingsPanel.tsx +94 -0
- package/contexts/AppContext.tsx +1 -1
- package/hooks/useUrlSync.ts +1 -1
- package/lib/ui/navigate.ts +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/static/chunks/1998-31a617131197a83a.js.map +0 -1
- package/.next/standalone/.next/static/chunks/app/page-afdef9bd1108a656.js.map +0 -1
- package/.next/standalone/.next/static/css/44f9bbea39fef458.css +0 -5
- package/.next/standalone/.next/static/css/44f9bbea39fef458.css.map +0 -1
- /package/.next/standalone/.next/static/{rr-Rxxi6kkXe1Bw8-Hzq2 → EOkgU73YJOpR-vFcKMgL0}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{rr-Rxxi6kkXe1Bw8-Hzq2 → EOkgU73YJOpR-vFcKMgL0}/_ssgManifest.js +0 -0
|
@@ -1464,104 +1464,7 @@ module.exports = require("next/dist/server/app-render/action-async-storage.exter
|
|
|
1464
1464
|
|
|
1465
1465
|
/***/ }),
|
|
1466
1466
|
|
|
1467
|
-
/***/
|
|
1468
|
-
/***/ ((module) => {
|
|
1469
|
-
|
|
1470
|
-
"use strict";
|
|
1471
|
-
module.exports = require("next/dist/shared/lib/router/utils/is-bot");
|
|
1472
|
-
|
|
1473
|
-
/***/ }),
|
|
1474
|
-
|
|
1475
|
-
/***/ 27910:
|
|
1476
|
-
/***/ ((module) => {
|
|
1477
|
-
|
|
1478
|
-
"use strict";
|
|
1479
|
-
module.exports = require("stream");
|
|
1480
|
-
|
|
1481
|
-
/***/ }),
|
|
1482
|
-
|
|
1483
|
-
/***/ 28354:
|
|
1484
|
-
/***/ ((module) => {
|
|
1485
|
-
|
|
1486
|
-
"use strict";
|
|
1487
|
-
module.exports = require("util");
|
|
1488
|
-
|
|
1489
|
-
/***/ }),
|
|
1490
|
-
|
|
1491
|
-
/***/ 29021:
|
|
1492
|
-
/***/ ((module) => {
|
|
1493
|
-
|
|
1494
|
-
"use strict";
|
|
1495
|
-
module.exports = require("fs");
|
|
1496
|
-
|
|
1497
|
-
/***/ }),
|
|
1498
|
-
|
|
1499
|
-
/***/ 29294:
|
|
1500
|
-
/***/ ((module) => {
|
|
1501
|
-
|
|
1502
|
-
"use strict";
|
|
1503
|
-
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
|
|
1504
|
-
|
|
1505
|
-
/***/ }),
|
|
1506
|
-
|
|
1507
|
-
/***/ 31230:
|
|
1508
|
-
/***/ (() => {
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
/***/ }),
|
|
1513
|
-
|
|
1514
|
-
/***/ 31421:
|
|
1515
|
-
/***/ ((module) => {
|
|
1516
|
-
|
|
1517
|
-
"use strict";
|
|
1518
|
-
module.exports = require("node:child_process");
|
|
1519
|
-
|
|
1520
|
-
/***/ }),
|
|
1521
|
-
|
|
1522
|
-
/***/ 33873:
|
|
1523
|
-
/***/ ((module) => {
|
|
1524
|
-
|
|
1525
|
-
"use strict";
|
|
1526
|
-
module.exports = require("path");
|
|
1527
|
-
|
|
1528
|
-
/***/ }),
|
|
1529
|
-
|
|
1530
|
-
/***/ 37067:
|
|
1531
|
-
/***/ ((module) => {
|
|
1532
|
-
|
|
1533
|
-
"use strict";
|
|
1534
|
-
module.exports = require("node:http");
|
|
1535
|
-
|
|
1536
|
-
/***/ }),
|
|
1537
|
-
|
|
1538
|
-
/***/ 38084:
|
|
1539
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
1540
|
-
|
|
1541
|
-
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44635));
|
|
1542
|
-
;
|
|
1543
|
-
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 26751));
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
/***/ }),
|
|
1547
|
-
|
|
1548
|
-
/***/ 41025:
|
|
1549
|
-
/***/ ((module) => {
|
|
1550
|
-
|
|
1551
|
-
"use strict";
|
|
1552
|
-
module.exports = require("next/dist/server/app-render/dynamic-access-async-storage.external.js");
|
|
1553
|
-
|
|
1554
|
-
/***/ }),
|
|
1555
|
-
|
|
1556
|
-
/***/ 43954:
|
|
1557
|
-
/***/ ((module) => {
|
|
1558
|
-
|
|
1559
|
-
"use strict";
|
|
1560
|
-
module.exports = require("next/dist/shared/lib/router/utils/interception-routes");
|
|
1561
|
-
|
|
1562
|
-
/***/ }),
|
|
1563
|
-
|
|
1564
|
-
/***/ 44635:
|
|
1467
|
+
/***/ 19674:
|
|
1565
1468
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1566
1469
|
|
|
1567
1470
|
"use strict";
|
|
@@ -2117,7 +2020,8 @@ const TABS = [
|
|
|
2117
2020
|
"bridges",
|
|
2118
2021
|
"profile",
|
|
2119
2022
|
"harness",
|
|
2120
|
-
"documents"
|
|
2023
|
+
"documents",
|
|
2024
|
+
"settings"
|
|
2121
2025
|
];
|
|
2122
2026
|
function parseHref(input) {
|
|
2123
2027
|
if (!input) return {
|
|
@@ -2191,7 +2095,8 @@ const useUrlSync_TABS = [
|
|
|
2191
2095
|
"tasks",
|
|
2192
2096
|
"bridges",
|
|
2193
2097
|
"profile",
|
|
2194
|
-
"harness"
|
|
2098
|
+
"harness",
|
|
2099
|
+
"settings"
|
|
2195
2100
|
];
|
|
2196
2101
|
function useUrlSync() {
|
|
2197
2102
|
const { state, dispatch } = (0,AppContext/* useAppContext */.U)();
|
|
@@ -49747,7 +49652,7 @@ const PRESET_CATEGORIES = {
|
|
|
49747
49652
|
}
|
|
49748
49653
|
|
|
49749
49654
|
;// ./components/credentials/CredentialsPanel.tsx
|
|
49750
|
-
/* __next_internal_client_entry_do_not_use__ CredentialsPanel auto */
|
|
49655
|
+
/* __next_internal_client_entry_do_not_use__ CredentialsPanel,CredentialsListPanel auto */
|
|
49751
49656
|
|
|
49752
49657
|
|
|
49753
49658
|
|
|
@@ -63240,6 +63145,558 @@ async function EnvVarsPanel_pollUntilUp(timeoutMs = 30000) {
|
|
|
63240
63145
|
throw new Error("server did not return");
|
|
63241
63146
|
}
|
|
63242
63147
|
|
|
63148
|
+
;// ./node_modules/lucide-react/dist/esm/icons/palette.mjs
|
|
63149
|
+
/**
|
|
63150
|
+
* @license lucide-react v1.17.0 - ISC
|
|
63151
|
+
*
|
|
63152
|
+
* This source code is licensed under the ISC license.
|
|
63153
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
63154
|
+
*/
|
|
63155
|
+
const palette_iconNode = [
|
|
63156
|
+
[
|
|
63157
|
+
"path",
|
|
63158
|
+
{
|
|
63159
|
+
d: "M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",
|
|
63160
|
+
key: "e79jfc"
|
|
63161
|
+
}
|
|
63162
|
+
],
|
|
63163
|
+
[
|
|
63164
|
+
"circle",
|
|
63165
|
+
{
|
|
63166
|
+
cx: "13.5",
|
|
63167
|
+
cy: "6.5",
|
|
63168
|
+
r: ".5",
|
|
63169
|
+
fill: "currentColor",
|
|
63170
|
+
key: "1okk4w"
|
|
63171
|
+
}
|
|
63172
|
+
],
|
|
63173
|
+
[
|
|
63174
|
+
"circle",
|
|
63175
|
+
{
|
|
63176
|
+
cx: "17.5",
|
|
63177
|
+
cy: "10.5",
|
|
63178
|
+
r: ".5",
|
|
63179
|
+
fill: "currentColor",
|
|
63180
|
+
key: "f64h9f"
|
|
63181
|
+
}
|
|
63182
|
+
],
|
|
63183
|
+
[
|
|
63184
|
+
"circle",
|
|
63185
|
+
{
|
|
63186
|
+
cx: "6.5",
|
|
63187
|
+
cy: "12.5",
|
|
63188
|
+
r: ".5",
|
|
63189
|
+
fill: "currentColor",
|
|
63190
|
+
key: "qy21gx"
|
|
63191
|
+
}
|
|
63192
|
+
],
|
|
63193
|
+
[
|
|
63194
|
+
"circle",
|
|
63195
|
+
{
|
|
63196
|
+
cx: "8.5",
|
|
63197
|
+
cy: "7.5",
|
|
63198
|
+
r: ".5",
|
|
63199
|
+
fill: "currentColor",
|
|
63200
|
+
key: "fotxhn"
|
|
63201
|
+
}
|
|
63202
|
+
]
|
|
63203
|
+
];
|
|
63204
|
+
const Palette = (0,createLucideIcon/* default */.A)("palette", palette_iconNode);
|
|
63205
|
+
//# sourceMappingURL=palette.mjs.map
|
|
63206
|
+
|
|
63207
|
+
;// ./node_modules/lucide-react/dist/esm/icons/shapes.mjs
|
|
63208
|
+
/**
|
|
63209
|
+
* @license lucide-react v1.17.0 - ISC
|
|
63210
|
+
*
|
|
63211
|
+
* This source code is licensed under the ISC license.
|
|
63212
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
63213
|
+
*/
|
|
63214
|
+
const shapes_iconNode = [
|
|
63215
|
+
[
|
|
63216
|
+
"path",
|
|
63217
|
+
{
|
|
63218
|
+
d: "M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",
|
|
63219
|
+
key: "1bo67w"
|
|
63220
|
+
}
|
|
63221
|
+
],
|
|
63222
|
+
[
|
|
63223
|
+
"rect",
|
|
63224
|
+
{
|
|
63225
|
+
x: "3",
|
|
63226
|
+
y: "14",
|
|
63227
|
+
width: "7",
|
|
63228
|
+
height: "7",
|
|
63229
|
+
rx: "1",
|
|
63230
|
+
key: "1bkyp8"
|
|
63231
|
+
}
|
|
63232
|
+
],
|
|
63233
|
+
[
|
|
63234
|
+
"circle",
|
|
63235
|
+
{
|
|
63236
|
+
cx: "17.5",
|
|
63237
|
+
cy: "17.5",
|
|
63238
|
+
r: "3.5",
|
|
63239
|
+
key: "w3z12y"
|
|
63240
|
+
}
|
|
63241
|
+
]
|
|
63242
|
+
];
|
|
63243
|
+
const Shapes = (0,createLucideIcon/* default */.A)("shapes", shapes_iconNode);
|
|
63244
|
+
//# sourceMappingURL=shapes.mjs.map
|
|
63245
|
+
|
|
63246
|
+
;// ./node_modules/lucide-react/dist/esm/icons/scroll-text.mjs
|
|
63247
|
+
/**
|
|
63248
|
+
* @license lucide-react v1.17.0 - ISC
|
|
63249
|
+
*
|
|
63250
|
+
* This source code is licensed under the ISC license.
|
|
63251
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
63252
|
+
*/
|
|
63253
|
+
const scroll_text_iconNode = [
|
|
63254
|
+
[
|
|
63255
|
+
"path",
|
|
63256
|
+
{
|
|
63257
|
+
d: "M15 12h-5",
|
|
63258
|
+
key: "r7krc0"
|
|
63259
|
+
}
|
|
63260
|
+
],
|
|
63261
|
+
[
|
|
63262
|
+
"path",
|
|
63263
|
+
{
|
|
63264
|
+
d: "M15 8h-5",
|
|
63265
|
+
key: "1khuty"
|
|
63266
|
+
}
|
|
63267
|
+
],
|
|
63268
|
+
[
|
|
63269
|
+
"path",
|
|
63270
|
+
{
|
|
63271
|
+
d: "M19 17V5a2 2 0 0 0-2-2H4",
|
|
63272
|
+
key: "zz82l3"
|
|
63273
|
+
}
|
|
63274
|
+
],
|
|
63275
|
+
[
|
|
63276
|
+
"path",
|
|
63277
|
+
{
|
|
63278
|
+
d: "M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",
|
|
63279
|
+
key: "1ph1d7"
|
|
63280
|
+
}
|
|
63281
|
+
]
|
|
63282
|
+
];
|
|
63283
|
+
const ScrollText = (0,createLucideIcon/* default */.A)("scroll-text", scroll_text_iconNode);
|
|
63284
|
+
//# sourceMappingURL=scroll-text.mjs.map
|
|
63285
|
+
|
|
63286
|
+
;// ./node_modules/lucide-react/dist/esm/icons/sun.mjs
|
|
63287
|
+
/**
|
|
63288
|
+
* @license lucide-react v1.17.0 - ISC
|
|
63289
|
+
*
|
|
63290
|
+
* This source code is licensed under the ISC license.
|
|
63291
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
63292
|
+
*/
|
|
63293
|
+
const sun_iconNode = [
|
|
63294
|
+
[
|
|
63295
|
+
"circle",
|
|
63296
|
+
{
|
|
63297
|
+
cx: "12",
|
|
63298
|
+
cy: "12",
|
|
63299
|
+
r: "4",
|
|
63300
|
+
key: "4exip2"
|
|
63301
|
+
}
|
|
63302
|
+
],
|
|
63303
|
+
[
|
|
63304
|
+
"path",
|
|
63305
|
+
{
|
|
63306
|
+
d: "M12 2v2",
|
|
63307
|
+
key: "tus03m"
|
|
63308
|
+
}
|
|
63309
|
+
],
|
|
63310
|
+
[
|
|
63311
|
+
"path",
|
|
63312
|
+
{
|
|
63313
|
+
d: "M12 20v2",
|
|
63314
|
+
key: "1lh1kg"
|
|
63315
|
+
}
|
|
63316
|
+
],
|
|
63317
|
+
[
|
|
63318
|
+
"path",
|
|
63319
|
+
{
|
|
63320
|
+
d: "m4.93 4.93 1.41 1.41",
|
|
63321
|
+
key: "149t6j"
|
|
63322
|
+
}
|
|
63323
|
+
],
|
|
63324
|
+
[
|
|
63325
|
+
"path",
|
|
63326
|
+
{
|
|
63327
|
+
d: "m17.66 17.66 1.41 1.41",
|
|
63328
|
+
key: "ptbguv"
|
|
63329
|
+
}
|
|
63330
|
+
],
|
|
63331
|
+
[
|
|
63332
|
+
"path",
|
|
63333
|
+
{
|
|
63334
|
+
d: "M2 12h2",
|
|
63335
|
+
key: "1t8f8n"
|
|
63336
|
+
}
|
|
63337
|
+
],
|
|
63338
|
+
[
|
|
63339
|
+
"path",
|
|
63340
|
+
{
|
|
63341
|
+
d: "M20 12h2",
|
|
63342
|
+
key: "1q8mjw"
|
|
63343
|
+
}
|
|
63344
|
+
],
|
|
63345
|
+
[
|
|
63346
|
+
"path",
|
|
63347
|
+
{
|
|
63348
|
+
d: "m6.34 17.66-1.41 1.41",
|
|
63349
|
+
key: "1m8zz5"
|
|
63350
|
+
}
|
|
63351
|
+
],
|
|
63352
|
+
[
|
|
63353
|
+
"path",
|
|
63354
|
+
{
|
|
63355
|
+
d: "m19.07 4.93-1.41 1.41",
|
|
63356
|
+
key: "1shlcs"
|
|
63357
|
+
}
|
|
63358
|
+
]
|
|
63359
|
+
];
|
|
63360
|
+
const Sun = (0,createLucideIcon/* default */.A)("sun", sun_iconNode);
|
|
63361
|
+
//# sourceMappingURL=sun.mjs.map
|
|
63362
|
+
|
|
63363
|
+
;// ./node_modules/lucide-react/dist/esm/icons/moon.mjs
|
|
63364
|
+
/**
|
|
63365
|
+
* @license lucide-react v1.17.0 - ISC
|
|
63366
|
+
*
|
|
63367
|
+
* This source code is licensed under the ISC license.
|
|
63368
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
63369
|
+
*/
|
|
63370
|
+
const moon_iconNode = [
|
|
63371
|
+
[
|
|
63372
|
+
"path",
|
|
63373
|
+
{
|
|
63374
|
+
d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
|
|
63375
|
+
key: "kfwtm"
|
|
63376
|
+
}
|
|
63377
|
+
]
|
|
63378
|
+
];
|
|
63379
|
+
const Moon = (0,createLucideIcon/* default */.A)("moon", moon_iconNode);
|
|
63380
|
+
//# sourceMappingURL=moon.mjs.map
|
|
63381
|
+
|
|
63382
|
+
;// ./node_modules/lucide-react/dist/esm/icons/monitor.mjs
|
|
63383
|
+
/**
|
|
63384
|
+
* @license lucide-react v1.17.0 - ISC
|
|
63385
|
+
*
|
|
63386
|
+
* This source code is licensed under the ISC license.
|
|
63387
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
63388
|
+
*/
|
|
63389
|
+
const monitor_iconNode = [
|
|
63390
|
+
[
|
|
63391
|
+
"rect",
|
|
63392
|
+
{
|
|
63393
|
+
width: "20",
|
|
63394
|
+
height: "14",
|
|
63395
|
+
x: "2",
|
|
63396
|
+
y: "3",
|
|
63397
|
+
rx: "2",
|
|
63398
|
+
key: "48i651"
|
|
63399
|
+
}
|
|
63400
|
+
],
|
|
63401
|
+
[
|
|
63402
|
+
"line",
|
|
63403
|
+
{
|
|
63404
|
+
x1: "8",
|
|
63405
|
+
x2: "16",
|
|
63406
|
+
y1: "21",
|
|
63407
|
+
y2: "21",
|
|
63408
|
+
key: "1svkeh"
|
|
63409
|
+
}
|
|
63410
|
+
],
|
|
63411
|
+
[
|
|
63412
|
+
"line",
|
|
63413
|
+
{
|
|
63414
|
+
x1: "12",
|
|
63415
|
+
x2: "12",
|
|
63416
|
+
y1: "17",
|
|
63417
|
+
y2: "21",
|
|
63418
|
+
key: "vw1qmm"
|
|
63419
|
+
}
|
|
63420
|
+
]
|
|
63421
|
+
];
|
|
63422
|
+
const Monitor = (0,createLucideIcon/* default */.A)("monitor", monitor_iconNode);
|
|
63423
|
+
//# sourceMappingURL=monitor.mjs.map
|
|
63424
|
+
|
|
63425
|
+
// EXTERNAL MODULE: ./contexts/ThemeContext.tsx
|
|
63426
|
+
var ThemeContext = __webpack_require__(41005);
|
|
63427
|
+
;// ./components/settings/AppearancePanel.tsx
|
|
63428
|
+
/* __next_internal_client_entry_do_not_use__ AppearancePanel auto */
|
|
63429
|
+
|
|
63430
|
+
|
|
63431
|
+
|
|
63432
|
+
// Visual + chrome settings that used to live in the MenuPanel footer
|
|
63433
|
+
// (theme) and the top of the menu (Workspace mode). Hoisted here so
|
|
63434
|
+
// every settings surface has the same shape: a Settings sub-tab with
|
|
63435
|
+
// its own header.
|
|
63436
|
+
function AppearancePanel() {
|
|
63437
|
+
const { state, dispatch } = (0,AppContext/* useAppContext */.U)();
|
|
63438
|
+
const { theme, setTheme } = (0,ThemeContext/* useTheme */.D)();
|
|
63439
|
+
const isFullMode = state.experienceMode === "full";
|
|
63440
|
+
const themeOptions = [
|
|
63441
|
+
{
|
|
63442
|
+
value: "light",
|
|
63443
|
+
label: "Light",
|
|
63444
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Sun, {
|
|
63445
|
+
size: 14
|
|
63446
|
+
}),
|
|
63447
|
+
description: "Bright UI; ignores system preference."
|
|
63448
|
+
},
|
|
63449
|
+
{
|
|
63450
|
+
value: "dark",
|
|
63451
|
+
label: "Dark",
|
|
63452
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Moon, {
|
|
63453
|
+
size: 14
|
|
63454
|
+
}),
|
|
63455
|
+
description: "Dimmed UI; ignores system preference."
|
|
63456
|
+
},
|
|
63457
|
+
{
|
|
63458
|
+
value: "system",
|
|
63459
|
+
label: "System",
|
|
63460
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Monitor, {
|
|
63461
|
+
size: 14
|
|
63462
|
+
}),
|
|
63463
|
+
description: "Follow the OS-level light/dark preference."
|
|
63464
|
+
}
|
|
63465
|
+
];
|
|
63466
|
+
const modeOptions = [
|
|
63467
|
+
{
|
|
63468
|
+
value: "essential",
|
|
63469
|
+
label: "Essential",
|
|
63470
|
+
description: "Day-to-day surfaces only. Hides Memory, Bridges, Harness, Logs, Defaults from the menu."
|
|
63471
|
+
},
|
|
63472
|
+
{
|
|
63473
|
+
value: "full",
|
|
63474
|
+
label: "Full",
|
|
63475
|
+
description: "Everything visible: engine-room tabs, power-user settings, all advanced sub-tabs."
|
|
63476
|
+
}
|
|
63477
|
+
];
|
|
63478
|
+
function setMode(mode) {
|
|
63479
|
+
if (mode === state.experienceMode) return;
|
|
63480
|
+
dispatch({
|
|
63481
|
+
type: "SET_EXPERIENCE_MODE",
|
|
63482
|
+
mode
|
|
63483
|
+
});
|
|
63484
|
+
}
|
|
63485
|
+
return /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
63486
|
+
className: "flex flex-col h-full",
|
|
63487
|
+
children: [
|
|
63488
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
63489
|
+
className: "border-b border-border px-4 py-3 flex items-center gap-2",
|
|
63490
|
+
children: [
|
|
63491
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)(Palette, {
|
|
63492
|
+
size: 14,
|
|
63493
|
+
className: "text-fg-subtle"
|
|
63494
|
+
}),
|
|
63495
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("h2", {
|
|
63496
|
+
className: "text-sm font-semibold text-fg mr-auto",
|
|
63497
|
+
children: "Appearance"
|
|
63498
|
+
})
|
|
63499
|
+
]
|
|
63500
|
+
}),
|
|
63501
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
63502
|
+
className: "flex-1 overflow-y-auto px-4 py-4 space-y-6",
|
|
63503
|
+
children: [
|
|
63504
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("section", {
|
|
63505
|
+
children: [
|
|
63506
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("h3", {
|
|
63507
|
+
className: "text-[11px] uppercase tracking-wide text-fg-faint mb-2 px-1",
|
|
63508
|
+
children: "Theme"
|
|
63509
|
+
}),
|
|
63510
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
63511
|
+
className: "grid grid-cols-1 sm:grid-cols-3 gap-2",
|
|
63512
|
+
children: themeOptions.map((o)=>{
|
|
63513
|
+
const active = theme === o.value;
|
|
63514
|
+
return /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("button", {
|
|
63515
|
+
onClick: ()=>setTheme(o.value),
|
|
63516
|
+
"aria-pressed": active,
|
|
63517
|
+
className: `text-left rounded-lg border px-3 py-2.5 transition-colors ${active ? "border-accent bg-accent/10 text-fg" : "border-border bg-surface-2 text-fg-muted hover:bg-surface-3"}`,
|
|
63518
|
+
children: [
|
|
63519
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
63520
|
+
className: "flex items-center gap-2 mb-1",
|
|
63521
|
+
children: [
|
|
63522
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
63523
|
+
className: "text-fg-subtle",
|
|
63524
|
+
children: o.icon
|
|
63525
|
+
}),
|
|
63526
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
63527
|
+
className: "text-sm font-medium text-fg",
|
|
63528
|
+
children: o.label
|
|
63529
|
+
})
|
|
63530
|
+
]
|
|
63531
|
+
}),
|
|
63532
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("p", {
|
|
63533
|
+
className: "text-[11px] text-fg-faint leading-snug",
|
|
63534
|
+
children: o.description
|
|
63535
|
+
})
|
|
63536
|
+
]
|
|
63537
|
+
}, o.value);
|
|
63538
|
+
})
|
|
63539
|
+
})
|
|
63540
|
+
]
|
|
63541
|
+
}),
|
|
63542
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("section", {
|
|
63543
|
+
children: [
|
|
63544
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("h3", {
|
|
63545
|
+
className: "text-[11px] uppercase tracking-wide text-fg-faint mb-2 px-1",
|
|
63546
|
+
children: "Workspace mode"
|
|
63547
|
+
}),
|
|
63548
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
63549
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-2",
|
|
63550
|
+
children: modeOptions.map((o)=>{
|
|
63551
|
+
const active = isFullMode ? o.value === "full" : o.value === "essential";
|
|
63552
|
+
return /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("button", {
|
|
63553
|
+
onClick: ()=>setMode(o.value),
|
|
63554
|
+
"aria-pressed": active,
|
|
63555
|
+
className: `text-left rounded-lg border px-3 py-2.5 transition-colors ${active ? "border-accent bg-accent/10 text-fg" : "border-border bg-surface-2 text-fg-muted hover:bg-surface-3"}`,
|
|
63556
|
+
children: [
|
|
63557
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
63558
|
+
className: "text-sm font-medium text-fg mb-1",
|
|
63559
|
+
children: o.label
|
|
63560
|
+
}),
|
|
63561
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("p", {
|
|
63562
|
+
className: "text-[11px] text-fg-faint leading-snug",
|
|
63563
|
+
children: o.description
|
|
63564
|
+
})
|
|
63565
|
+
]
|
|
63566
|
+
}, o.value);
|
|
63567
|
+
})
|
|
63568
|
+
})
|
|
63569
|
+
]
|
|
63570
|
+
})
|
|
63571
|
+
]
|
|
63572
|
+
})
|
|
63573
|
+
]
|
|
63574
|
+
});
|
|
63575
|
+
}
|
|
63576
|
+
|
|
63577
|
+
;// ./components/settings/SettingsPanel.tsx
|
|
63578
|
+
/* __next_internal_client_entry_do_not_use__ SettingsPanel auto */
|
|
63579
|
+
|
|
63580
|
+
|
|
63581
|
+
|
|
63582
|
+
|
|
63583
|
+
|
|
63584
|
+
|
|
63585
|
+
|
|
63586
|
+
|
|
63587
|
+
|
|
63588
|
+
const SettingsPanel_SUBS = [
|
|
63589
|
+
{
|
|
63590
|
+
id: "appearance",
|
|
63591
|
+
label: "Appearance",
|
|
63592
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Palette, {
|
|
63593
|
+
size: 13
|
|
63594
|
+
})
|
|
63595
|
+
},
|
|
63596
|
+
{
|
|
63597
|
+
id: "networking",
|
|
63598
|
+
label: "Networking",
|
|
63599
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(globe/* default */.A, {
|
|
63600
|
+
size: 13
|
|
63601
|
+
})
|
|
63602
|
+
},
|
|
63603
|
+
{
|
|
63604
|
+
id: "credentials",
|
|
63605
|
+
label: "Credentials",
|
|
63606
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Key, {
|
|
63607
|
+
size: 13
|
|
63608
|
+
})
|
|
63609
|
+
},
|
|
63610
|
+
{
|
|
63611
|
+
id: "models",
|
|
63612
|
+
label: "Models",
|
|
63613
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Cpu, {
|
|
63614
|
+
size: 13
|
|
63615
|
+
})
|
|
63616
|
+
},
|
|
63617
|
+
{
|
|
63618
|
+
id: "harness",
|
|
63619
|
+
label: "Harness",
|
|
63620
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Shapes, {
|
|
63621
|
+
size: 13
|
|
63622
|
+
}),
|
|
63623
|
+
advancedOnly: true
|
|
63624
|
+
},
|
|
63625
|
+
{
|
|
63626
|
+
id: "logs",
|
|
63627
|
+
label: "Logs",
|
|
63628
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(ScrollText, {
|
|
63629
|
+
size: 13
|
|
63630
|
+
}),
|
|
63631
|
+
advancedOnly: true
|
|
63632
|
+
},
|
|
63633
|
+
{
|
|
63634
|
+
id: "defaults",
|
|
63635
|
+
label: "Defaults",
|
|
63636
|
+
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(ServerCog, {
|
|
63637
|
+
size: 13
|
|
63638
|
+
}),
|
|
63639
|
+
advancedOnly: true
|
|
63640
|
+
}
|
|
63641
|
+
];
|
|
63642
|
+
const VALID = new Set(SettingsPanel_SUBS.map((s)=>s.id));
|
|
63643
|
+
function parseSub(raw) {
|
|
63644
|
+
if (raw && VALID.has(raw)) return raw;
|
|
63645
|
+
return "appearance";
|
|
63646
|
+
}
|
|
63647
|
+
function SettingsPanel() {
|
|
63648
|
+
const { state, dispatch } = (0,AppContext/* useAppContext */.U)();
|
|
63649
|
+
const isFullMode = state.experienceMode === "full";
|
|
63650
|
+
const active = parseSub(state.selectedItem.settings);
|
|
63651
|
+
const setSub = (s)=>dispatch({
|
|
63652
|
+
type: "SET_SELECTION",
|
|
63653
|
+
tab: "settings",
|
|
63654
|
+
itemId: s
|
|
63655
|
+
});
|
|
63656
|
+
const visibleSubs = SettingsPanel_SUBS.filter((s)=>isFullMode || !s.advancedOnly);
|
|
63657
|
+
return /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
63658
|
+
className: "flex flex-col h-full min-h-0",
|
|
63659
|
+
children: [
|
|
63660
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
63661
|
+
role: "tablist",
|
|
63662
|
+
"aria-label": "Settings sub-section",
|
|
63663
|
+
className: "flex gap-1 border-b border-[var(--border)] bg-[var(--bg-secondary)] px-3 pt-2 overflow-x-auto",
|
|
63664
|
+
children: visibleSubs.map((s)=>{
|
|
63665
|
+
const selected = s.id === active;
|
|
63666
|
+
return /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("button", {
|
|
63667
|
+
role: "tab",
|
|
63668
|
+
type: "button",
|
|
63669
|
+
"aria-selected": selected,
|
|
63670
|
+
onClick: ()=>setSub(s.id),
|
|
63671
|
+
className: "inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-t-md border-b-2 -mb-px transition-colors whitespace-nowrap " + (selected ? "border-[var(--accent)] text-[var(--text-primary)] bg-[var(--bg-primary)]" : "border-transparent text-[var(--text-secondary)] hover:text-[var(--text-primary)]"),
|
|
63672
|
+
children: [
|
|
63673
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
63674
|
+
className: "text-fg-subtle",
|
|
63675
|
+
children: s.icon
|
|
63676
|
+
}),
|
|
63677
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
63678
|
+
children: s.label
|
|
63679
|
+
})
|
|
63680
|
+
]
|
|
63681
|
+
}, s.id);
|
|
63682
|
+
})
|
|
63683
|
+
}),
|
|
63684
|
+
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
63685
|
+
className: "flex-1 min-h-0 overflow-hidden",
|
|
63686
|
+
children: [
|
|
63687
|
+
active === "appearance" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(AppearancePanel, {}),
|
|
63688
|
+
active === "networking" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(NetworkPanel, {}),
|
|
63689
|
+
active === "credentials" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(CredentialsListPanel, {}),
|
|
63690
|
+
active === "models" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(ModelsPanel, {}),
|
|
63691
|
+
active === "harness" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(HarnessPanel, {}),
|
|
63692
|
+
active === "logs" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(LogsPanel, {}),
|
|
63693
|
+
active === "defaults" && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(EnvVarsPanel, {})
|
|
63694
|
+
]
|
|
63695
|
+
})
|
|
63696
|
+
]
|
|
63697
|
+
});
|
|
63698
|
+
}
|
|
63699
|
+
|
|
63243
63700
|
;// ./components/ui/HeaderActivity.tsx
|
|
63244
63701
|
/* __next_internal_client_entry_do_not_use__ HeaderActivity auto */
|
|
63245
63702
|
|
|
@@ -64477,226 +64934,34 @@ const ChartColumn = (0,createLucideIcon/* default */.A)("chart-column", chart_co
|
|
|
64477
64934
|
|
|
64478
64935
|
// EXTERNAL MODULE: ./node_modules/lucide-react/dist/esm/icons/brain.mjs
|
|
64479
64936
|
var brain = __webpack_require__(64571);
|
|
64480
|
-
;// ./node_modules/lucide-react/dist/esm/icons/
|
|
64937
|
+
;// ./node_modules/lucide-react/dist/esm/icons/settings.mjs
|
|
64481
64938
|
/**
|
|
64482
64939
|
* @license lucide-react v1.17.0 - ISC
|
|
64483
64940
|
*
|
|
64484
64941
|
* This source code is licensed under the ISC license.
|
|
64485
64942
|
* See the LICENSE file in the root directory of this source tree.
|
|
64486
64943
|
*/
|
|
64487
|
-
const
|
|
64488
|
-
[
|
|
64489
|
-
"path",
|
|
64490
|
-
{
|
|
64491
|
-
d: "M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",
|
|
64492
|
-
key: "1bo67w"
|
|
64493
|
-
}
|
|
64494
|
-
],
|
|
64495
|
-
[
|
|
64496
|
-
"rect",
|
|
64497
|
-
{
|
|
64498
|
-
x: "3",
|
|
64499
|
-
y: "14",
|
|
64500
|
-
width: "7",
|
|
64501
|
-
height: "7",
|
|
64502
|
-
rx: "1",
|
|
64503
|
-
key: "1bkyp8"
|
|
64504
|
-
}
|
|
64505
|
-
],
|
|
64506
|
-
[
|
|
64507
|
-
"circle",
|
|
64508
|
-
{
|
|
64509
|
-
cx: "17.5",
|
|
64510
|
-
cy: "17.5",
|
|
64511
|
-
r: "3.5",
|
|
64512
|
-
key: "w3z12y"
|
|
64513
|
-
}
|
|
64514
|
-
]
|
|
64515
|
-
];
|
|
64516
|
-
const Shapes = (0,createLucideIcon/* default */.A)("shapes", shapes_iconNode);
|
|
64517
|
-
//# sourceMappingURL=shapes.mjs.map
|
|
64518
|
-
|
|
64519
|
-
;// ./node_modules/lucide-react/dist/esm/icons/scroll-text.mjs
|
|
64520
|
-
/**
|
|
64521
|
-
* @license lucide-react v1.17.0 - ISC
|
|
64522
|
-
*
|
|
64523
|
-
* This source code is licensed under the ISC license.
|
|
64524
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
64525
|
-
*/
|
|
64526
|
-
const scroll_text_iconNode = [
|
|
64527
|
-
[
|
|
64528
|
-
"path",
|
|
64529
|
-
{
|
|
64530
|
-
d: "M15 12h-5",
|
|
64531
|
-
key: "r7krc0"
|
|
64532
|
-
}
|
|
64533
|
-
],
|
|
64534
|
-
[
|
|
64535
|
-
"path",
|
|
64536
|
-
{
|
|
64537
|
-
d: "M15 8h-5",
|
|
64538
|
-
key: "1khuty"
|
|
64539
|
-
}
|
|
64540
|
-
],
|
|
64944
|
+
const settings_iconNode = [
|
|
64541
64945
|
[
|
|
64542
64946
|
"path",
|
|
64543
64947
|
{
|
|
64544
|
-
d: "
|
|
64545
|
-
key: "
|
|
64948
|
+
d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
|
|
64949
|
+
key: "1i5ecw"
|
|
64546
64950
|
}
|
|
64547
64951
|
],
|
|
64548
|
-
[
|
|
64549
|
-
"path",
|
|
64550
|
-
{
|
|
64551
|
-
d: "M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",
|
|
64552
|
-
key: "1ph1d7"
|
|
64553
|
-
}
|
|
64554
|
-
]
|
|
64555
|
-
];
|
|
64556
|
-
const ScrollText = (0,createLucideIcon/* default */.A)("scroll-text", scroll_text_iconNode);
|
|
64557
|
-
//# sourceMappingURL=scroll-text.mjs.map
|
|
64558
|
-
|
|
64559
|
-
;// ./node_modules/lucide-react/dist/esm/icons/sun.mjs
|
|
64560
|
-
/**
|
|
64561
|
-
* @license lucide-react v1.17.0 - ISC
|
|
64562
|
-
*
|
|
64563
|
-
* This source code is licensed under the ISC license.
|
|
64564
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
64565
|
-
*/
|
|
64566
|
-
const sun_iconNode = [
|
|
64567
64952
|
[
|
|
64568
64953
|
"circle",
|
|
64569
64954
|
{
|
|
64570
64955
|
cx: "12",
|
|
64571
64956
|
cy: "12",
|
|
64572
|
-
r: "
|
|
64573
|
-
key: "
|
|
64574
|
-
}
|
|
64575
|
-
],
|
|
64576
|
-
[
|
|
64577
|
-
"path",
|
|
64578
|
-
{
|
|
64579
|
-
d: "M12 2v2",
|
|
64580
|
-
key: "tus03m"
|
|
64581
|
-
}
|
|
64582
|
-
],
|
|
64583
|
-
[
|
|
64584
|
-
"path",
|
|
64585
|
-
{
|
|
64586
|
-
d: "M12 20v2",
|
|
64587
|
-
key: "1lh1kg"
|
|
64588
|
-
}
|
|
64589
|
-
],
|
|
64590
|
-
[
|
|
64591
|
-
"path",
|
|
64592
|
-
{
|
|
64593
|
-
d: "m4.93 4.93 1.41 1.41",
|
|
64594
|
-
key: "149t6j"
|
|
64595
|
-
}
|
|
64596
|
-
],
|
|
64597
|
-
[
|
|
64598
|
-
"path",
|
|
64599
|
-
{
|
|
64600
|
-
d: "m17.66 17.66 1.41 1.41",
|
|
64601
|
-
key: "ptbguv"
|
|
64602
|
-
}
|
|
64603
|
-
],
|
|
64604
|
-
[
|
|
64605
|
-
"path",
|
|
64606
|
-
{
|
|
64607
|
-
d: "M2 12h2",
|
|
64608
|
-
key: "1t8f8n"
|
|
64609
|
-
}
|
|
64610
|
-
],
|
|
64611
|
-
[
|
|
64612
|
-
"path",
|
|
64613
|
-
{
|
|
64614
|
-
d: "M20 12h2",
|
|
64615
|
-
key: "1q8mjw"
|
|
64616
|
-
}
|
|
64617
|
-
],
|
|
64618
|
-
[
|
|
64619
|
-
"path",
|
|
64620
|
-
{
|
|
64621
|
-
d: "m6.34 17.66-1.41 1.41",
|
|
64622
|
-
key: "1m8zz5"
|
|
64623
|
-
}
|
|
64624
|
-
],
|
|
64625
|
-
[
|
|
64626
|
-
"path",
|
|
64627
|
-
{
|
|
64628
|
-
d: "m19.07 4.93-1.41 1.41",
|
|
64629
|
-
key: "1shlcs"
|
|
64630
|
-
}
|
|
64631
|
-
]
|
|
64632
|
-
];
|
|
64633
|
-
const Sun = (0,createLucideIcon/* default */.A)("sun", sun_iconNode);
|
|
64634
|
-
//# sourceMappingURL=sun.mjs.map
|
|
64635
|
-
|
|
64636
|
-
;// ./node_modules/lucide-react/dist/esm/icons/moon.mjs
|
|
64637
|
-
/**
|
|
64638
|
-
* @license lucide-react v1.17.0 - ISC
|
|
64639
|
-
*
|
|
64640
|
-
* This source code is licensed under the ISC license.
|
|
64641
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
64642
|
-
*/
|
|
64643
|
-
const moon_iconNode = [
|
|
64644
|
-
[
|
|
64645
|
-
"path",
|
|
64646
|
-
{
|
|
64647
|
-
d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
|
|
64648
|
-
key: "kfwtm"
|
|
64649
|
-
}
|
|
64650
|
-
]
|
|
64651
|
-
];
|
|
64652
|
-
const Moon = (0,createLucideIcon/* default */.A)("moon", moon_iconNode);
|
|
64653
|
-
//# sourceMappingURL=moon.mjs.map
|
|
64654
|
-
|
|
64655
|
-
;// ./node_modules/lucide-react/dist/esm/icons/monitor.mjs
|
|
64656
|
-
/**
|
|
64657
|
-
* @license lucide-react v1.17.0 - ISC
|
|
64658
|
-
*
|
|
64659
|
-
* This source code is licensed under the ISC license.
|
|
64660
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
64661
|
-
*/
|
|
64662
|
-
const monitor_iconNode = [
|
|
64663
|
-
[
|
|
64664
|
-
"rect",
|
|
64665
|
-
{
|
|
64666
|
-
width: "20",
|
|
64667
|
-
height: "14",
|
|
64668
|
-
x: "2",
|
|
64669
|
-
y: "3",
|
|
64670
|
-
rx: "2",
|
|
64671
|
-
key: "48i651"
|
|
64672
|
-
}
|
|
64673
|
-
],
|
|
64674
|
-
[
|
|
64675
|
-
"line",
|
|
64676
|
-
{
|
|
64677
|
-
x1: "8",
|
|
64678
|
-
x2: "16",
|
|
64679
|
-
y1: "21",
|
|
64680
|
-
y2: "21",
|
|
64681
|
-
key: "1svkeh"
|
|
64682
|
-
}
|
|
64683
|
-
],
|
|
64684
|
-
[
|
|
64685
|
-
"line",
|
|
64686
|
-
{
|
|
64687
|
-
x1: "12",
|
|
64688
|
-
x2: "12",
|
|
64689
|
-
y1: "17",
|
|
64690
|
-
y2: "21",
|
|
64691
|
-
key: "vw1qmm"
|
|
64957
|
+
r: "3",
|
|
64958
|
+
key: "1v7zrd"
|
|
64692
64959
|
}
|
|
64693
64960
|
]
|
|
64694
64961
|
];
|
|
64695
|
-
const
|
|
64696
|
-
//# sourceMappingURL=
|
|
64962
|
+
const Settings = (0,createLucideIcon/* default */.A)("settings", settings_iconNode);
|
|
64963
|
+
//# sourceMappingURL=settings.mjs.map
|
|
64697
64964
|
|
|
64698
|
-
// EXTERNAL MODULE: ./contexts/ThemeContext.tsx
|
|
64699
|
-
var ThemeContext = __webpack_require__(41005);
|
|
64700
64965
|
;// ./components/layout/MenuPanel.tsx
|
|
64701
64966
|
/* __next_internal_client_entry_do_not_use__ MenuPanel auto */
|
|
64702
64967
|
|
|
@@ -64704,7 +64969,6 @@ var ThemeContext = __webpack_require__(41005);
|
|
|
64704
64969
|
|
|
64705
64970
|
|
|
64706
64971
|
|
|
64707
|
-
|
|
64708
64972
|
const TAB_ICONS = {
|
|
64709
64973
|
chat: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(message_square/* default */.A, {
|
|
64710
64974
|
size: 13
|
|
@@ -64753,6 +65017,9 @@ const TAB_ICONS = {
|
|
|
64753
65017
|
}),
|
|
64754
65018
|
env: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(ServerCog, {
|
|
64755
65019
|
size: 13
|
|
65020
|
+
}),
|
|
65021
|
+
settings: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Settings, {
|
|
65022
|
+
size: 13
|
|
64756
65023
|
})
|
|
64757
65024
|
};
|
|
64758
65025
|
const TAB_TITLES = {
|
|
@@ -64771,7 +65038,8 @@ const TAB_TITLES = {
|
|
|
64771
65038
|
profile: "Profile",
|
|
64772
65039
|
harness: "Harness",
|
|
64773
65040
|
logs: "Logs",
|
|
64774
|
-
env: "Defaults"
|
|
65041
|
+
env: "Defaults",
|
|
65042
|
+
settings: "Settings"
|
|
64775
65043
|
};
|
|
64776
65044
|
const TAB_SHORT = {
|
|
64777
65045
|
chat: "Chat",
|
|
@@ -64789,11 +65057,14 @@ const TAB_SHORT = {
|
|
|
64789
65057
|
profile: "Me",
|
|
64790
65058
|
harness: "Test",
|
|
64791
65059
|
logs: "Logs",
|
|
64792
|
-
env: "Defaults"
|
|
65060
|
+
env: "Defaults",
|
|
65061
|
+
settings: "Setup"
|
|
64793
65062
|
};
|
|
64794
|
-
// Two-tier menu. "Common" surfaces the day-to-day verbs
|
|
64795
|
-
//
|
|
64796
|
-
//
|
|
65063
|
+
// Two-tier menu. "Common" surfaces the day-to-day verbs. Settings is
|
|
65064
|
+
// the single home for previously top-level chrome (credentials, models,
|
|
65065
|
+
// harness, logs, defaults, appearance, networking) — those legacy Tab
|
|
65066
|
+
// values still exist for deep-link compat but no longer appear in this
|
|
65067
|
+
// menu grid.
|
|
64797
65068
|
//
|
|
64798
65069
|
// Capability-presence surfaces (documents, memory, MCP, extensions,
|
|
64799
65070
|
// bridges, built-in tool categories) all live under the "Tools" tab now —
|
|
@@ -64801,28 +65072,16 @@ const TAB_SHORT = {
|
|
|
64801
65072
|
// answering the same question: "what can the agent see / do?". The legacy
|
|
64802
65073
|
// top-level Tab entries remain wired so deep-links (?tab=documents&item=…)
|
|
64803
65074
|
// still resolve, but they're hidden from the menu grid.
|
|
64804
|
-
//
|
|
64805
|
-
// "credentials" is the single home for every auth surface — saved API
|
|
64806
|
-
// keys + built-in integrations (Gmail, GitHub, Atlassian…) live there as
|
|
64807
|
-
// sub-tabs.
|
|
64808
|
-
//
|
|
64809
|
-
// "models" lives in Advanced — most users let the default model do its
|
|
64810
|
-
// job; switching providers is power-user territory.
|
|
64811
65075
|
const COMMON_TABS = [
|
|
64812
65076
|
"chat",
|
|
64813
65077
|
"dashboard",
|
|
64814
65078
|
"agents",
|
|
64815
|
-
"credentials",
|
|
64816
65079
|
"tools",
|
|
64817
65080
|
"tasks",
|
|
64818
|
-
"profile"
|
|
64819
|
-
|
|
64820
|
-
const ADVANCED_TABS = [
|
|
64821
|
-
"models",
|
|
64822
|
-
"harness",
|
|
64823
|
-
"logs",
|
|
64824
|
-
"env"
|
|
65081
|
+
"profile",
|
|
65082
|
+
"settings"
|
|
64825
65083
|
];
|
|
65084
|
+
const ADVANCED_TABS = [];
|
|
64826
65085
|
const ADVANCED_KEY = "jarela.menu.advanced";
|
|
64827
65086
|
const MenuPanel_GRADIENTS = [
|
|
64828
65087
|
"from-violet-500 to-indigo-600",
|
|
@@ -64846,7 +65105,8 @@ const TAB_ACCENT = {
|
|
|
64846
65105
|
tools: "from-emerald-500/20 to-lime-500/5",
|
|
64847
65106
|
harness: "from-orange-500/20 to-amber-500/5",
|
|
64848
65107
|
logs: "from-slate-500/20 to-zinc-500/5",
|
|
64849
|
-
env: "from-teal-500/20 to-cyan-500/5"
|
|
65108
|
+
env: "from-teal-500/20 to-cyan-500/5",
|
|
65109
|
+
settings: "from-slate-500/20 to-zinc-500/5"
|
|
64850
65110
|
};
|
|
64851
65111
|
function avatarGradient(id) {
|
|
64852
65112
|
let h = 0;
|
|
@@ -64938,15 +65198,8 @@ function AgentSessionList({ activeAgentId, onSelect }) {
|
|
|
64938
65198
|
});
|
|
64939
65199
|
}
|
|
64940
65200
|
function MenuPanel({ activeTab, agentId, onClose, onAgentChange, onSetTab }) {
|
|
64941
|
-
const { state
|
|
65201
|
+
const { state } = (0,AppContext/* useAppContext */.U)();
|
|
64942
65202
|
const isFullMode = state.experienceMode === "full";
|
|
64943
|
-
const setMode = (mode)=>{
|
|
64944
|
-
if (mode === "full" === isFullMode) return;
|
|
64945
|
-
dispatch({
|
|
64946
|
-
type: "SET_EXPERIENCE_MODE",
|
|
64947
|
-
mode
|
|
64948
|
-
});
|
|
64949
|
-
};
|
|
64950
65203
|
// Advanced section starts collapsed once the user has dismissed it
|
|
64951
65204
|
// once (persisted to localStorage). Defaults to *expanded* on first
|
|
64952
65205
|
// boot so the engine room is visible to power users out of the box.
|
|
@@ -65011,42 +65264,10 @@ function MenuPanel({ activeTab, agentId, onClose, onAgentChange, onSetTab }) {
|
|
|
65011
65264
|
},
|
|
65012
65265
|
children: [
|
|
65013
65266
|
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
65014
|
-
className: "
|
|
65015
|
-
children: /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
65016
|
-
className: "flex items-center justify-between gap-2",
|
|
65017
|
-
children: [
|
|
65018
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
65019
|
-
className: "text-[10px] uppercase tracking-wide text-fg-faint",
|
|
65020
|
-
children: "Workspace mode"
|
|
65021
|
-
}),
|
|
65022
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
65023
|
-
role: "radiogroup",
|
|
65024
|
-
"aria-label": "Workspace mode",
|
|
65025
|
-
className: "inline-flex items-center rounded-full border border-border bg-surface-3 p-0.5",
|
|
65026
|
-
children: [
|
|
65027
|
-
"essential",
|
|
65028
|
-
"full"
|
|
65029
|
-
].map((mode)=>{
|
|
65030
|
-
const active = mode === "full" === isFullMode;
|
|
65031
|
-
return /*#__PURE__*/ (0,react_jsx_runtime.jsx)("button", {
|
|
65032
|
-
type: "button",
|
|
65033
|
-
role: "radio",
|
|
65034
|
-
"aria-checked": active,
|
|
65035
|
-
onClick: ()=>setMode(mode),
|
|
65036
|
-
title: active ? `${mode} mode (current)` : `Switch to ${mode} mode`,
|
|
65037
|
-
className: `control-tap text-[10px] uppercase tracking-wide px-2 py-0.5 rounded-full transition-colors ${active ? "bg-accent/15 text-fg-subtle" : "text-fg-faint hover:text-fg-muted"}`,
|
|
65038
|
-
children: mode
|
|
65039
|
-
}, mode);
|
|
65040
|
-
})
|
|
65041
|
-
})
|
|
65042
|
-
]
|
|
65043
|
-
})
|
|
65044
|
-
}),
|
|
65045
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
65046
|
-
className: "grid grid-cols-4 sm:grid-cols-6 gap-1.5 px-2 py-2 border-b border-border shrink-0",
|
|
65267
|
+
className: "grid grid-cols-4 sm:grid-cols-6 gap-1.5 px-2 py-2 border-b border-border shrink-0 bg-gradient-to-r from-surface-2/50 to-transparent",
|
|
65047
65268
|
children: COMMON_TABS.map(renderTabButton)
|
|
65048
65269
|
}),
|
|
65049
|
-
isFullMode && /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
65270
|
+
isFullMode && ADVANCED_TABS.length > 0 && /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
65050
65271
|
className: "border-b border-border shrink-0",
|
|
65051
65272
|
children: [
|
|
65052
65273
|
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("button", {
|
|
@@ -65081,68 +65302,6 @@ function MenuPanel({ activeTab, agentId, onClose, onAgentChange, onSetTab }) {
|
|
|
65081
65302
|
onClose();
|
|
65082
65303
|
}
|
|
65083
65304
|
})
|
|
65084
|
-
}),
|
|
65085
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
65086
|
-
className: "border-t border-border px-3 py-3 shrink-0 bg-surface-1/30",
|
|
65087
|
-
children: [
|
|
65088
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("p", {
|
|
65089
|
-
className: "text-[11px] text-fg-faint mb-1.5 font-medium uppercase tracking-wide",
|
|
65090
|
-
children: "Display"
|
|
65091
|
-
}),
|
|
65092
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
65093
|
-
className: "flex flex-col gap-1.5",
|
|
65094
|
-
children: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(ThemePicker, {})
|
|
65095
|
-
})
|
|
65096
|
-
]
|
|
65097
|
-
})
|
|
65098
|
-
]
|
|
65099
|
-
});
|
|
65100
|
-
}
|
|
65101
|
-
function ThemePicker() {
|
|
65102
|
-
const { theme, setTheme } = (0,ThemeContext/* useTheme */.D)();
|
|
65103
|
-
const options = [
|
|
65104
|
-
{
|
|
65105
|
-
value: "light",
|
|
65106
|
-
label: "Light",
|
|
65107
|
-
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Sun, {
|
|
65108
|
-
size: 12
|
|
65109
|
-
})
|
|
65110
|
-
},
|
|
65111
|
-
{
|
|
65112
|
-
value: "dark",
|
|
65113
|
-
label: "Dark",
|
|
65114
|
-
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Moon, {
|
|
65115
|
-
size: 12
|
|
65116
|
-
})
|
|
65117
|
-
},
|
|
65118
|
-
{
|
|
65119
|
-
value: "system",
|
|
65120
|
-
label: "System",
|
|
65121
|
-
icon: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(Monitor, {
|
|
65122
|
-
size: 12
|
|
65123
|
-
})
|
|
65124
|
-
}
|
|
65125
|
-
];
|
|
65126
|
-
return /*#__PURE__*/ (0,react_jsx_runtime.jsxs)("div", {
|
|
65127
|
-
className: "flex items-center gap-2 text-xs text-fg-muted rounded-lg border border-border bg-surface-3/70 px-2.5 py-2",
|
|
65128
|
-
children: [
|
|
65129
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
65130
|
-
className: "shrink-0",
|
|
65131
|
-
children: "Theme"
|
|
65132
|
-
}),
|
|
65133
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
65134
|
-
className: "flex flex-1 rounded-lg border border-border overflow-hidden bg-surface",
|
|
65135
|
-
children: options.map((o)=>/*#__PURE__*/ (0,react_jsx_runtime.jsxs)("button", {
|
|
65136
|
-
onClick: ()=>setTheme(o.value),
|
|
65137
|
-
title: o.label,
|
|
65138
|
-
className: `control-tap flex-1 inline-flex items-center justify-center gap-1 py-1 text-[11px] transition-colors ${theme === o.value ? "bg-surface-3 text-fg shadow-sm" : "text-fg-faint hover:text-fg-muted hover:bg-surface-3/50"}`,
|
|
65139
|
-
children: [
|
|
65140
|
-
o.icon,
|
|
65141
|
-
/*#__PURE__*/ (0,react_jsx_runtime.jsx)("span", {
|
|
65142
|
-
children: o.label
|
|
65143
|
-
})
|
|
65144
|
-
]
|
|
65145
|
-
}, o.value))
|
|
65146
65305
|
})
|
|
65147
65306
|
]
|
|
65148
65307
|
});
|
|
@@ -67377,6 +67536,7 @@ function DashboardPanel() {
|
|
|
67377
67536
|
|
|
67378
67537
|
|
|
67379
67538
|
|
|
67539
|
+
|
|
67380
67540
|
|
|
67381
67541
|
|
|
67382
67542
|
const AppShell_ADVANCED_TABS = new Set([
|
|
@@ -67863,6 +68023,10 @@ function AppShell() {
|
|
|
67863
68023
|
mode: state.activeTab === "env" ? "visible" : "hidden",
|
|
67864
68024
|
children: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(EnvVarsPanel, {})
|
|
67865
68025
|
}),
|
|
68026
|
+
mountedTabs.has("settings") && /*#__PURE__*/ (0,react_jsx_runtime.jsx)(react.Activity, {
|
|
68027
|
+
mode: state.activeTab === "settings" ? "visible" : "hidden",
|
|
68028
|
+
children: /*#__PURE__*/ (0,react_jsx_runtime.jsx)(SettingsPanel, {})
|
|
68029
|
+
}),
|
|
67866
68030
|
showMenu && /*#__PURE__*/ (0,react_jsx_runtime.jsx)("div", {
|
|
67867
68031
|
className: "fixed left-0 right-0 bottom-0 bg-black/30 backdrop-blur-sm z-30",
|
|
67868
68032
|
style: {
|
|
@@ -67893,6 +68057,103 @@ function AppShell() {
|
|
|
67893
68057
|
}
|
|
67894
68058
|
|
|
67895
68059
|
|
|
68060
|
+
/***/ }),
|
|
68061
|
+
|
|
68062
|
+
/***/ 26713:
|
|
68063
|
+
/***/ ((module) => {
|
|
68064
|
+
|
|
68065
|
+
"use strict";
|
|
68066
|
+
module.exports = require("next/dist/shared/lib/router/utils/is-bot");
|
|
68067
|
+
|
|
68068
|
+
/***/ }),
|
|
68069
|
+
|
|
68070
|
+
/***/ 27910:
|
|
68071
|
+
/***/ ((module) => {
|
|
68072
|
+
|
|
68073
|
+
"use strict";
|
|
68074
|
+
module.exports = require("stream");
|
|
68075
|
+
|
|
68076
|
+
/***/ }),
|
|
68077
|
+
|
|
68078
|
+
/***/ 28354:
|
|
68079
|
+
/***/ ((module) => {
|
|
68080
|
+
|
|
68081
|
+
"use strict";
|
|
68082
|
+
module.exports = require("util");
|
|
68083
|
+
|
|
68084
|
+
/***/ }),
|
|
68085
|
+
|
|
68086
|
+
/***/ 29021:
|
|
68087
|
+
/***/ ((module) => {
|
|
68088
|
+
|
|
68089
|
+
"use strict";
|
|
68090
|
+
module.exports = require("fs");
|
|
68091
|
+
|
|
68092
|
+
/***/ }),
|
|
68093
|
+
|
|
68094
|
+
/***/ 29294:
|
|
68095
|
+
/***/ ((module) => {
|
|
68096
|
+
|
|
68097
|
+
"use strict";
|
|
68098
|
+
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
|
|
68099
|
+
|
|
68100
|
+
/***/ }),
|
|
68101
|
+
|
|
68102
|
+
/***/ 31230:
|
|
68103
|
+
/***/ (() => {
|
|
68104
|
+
|
|
68105
|
+
|
|
68106
|
+
|
|
68107
|
+
/***/ }),
|
|
68108
|
+
|
|
68109
|
+
/***/ 31421:
|
|
68110
|
+
/***/ ((module) => {
|
|
68111
|
+
|
|
68112
|
+
"use strict";
|
|
68113
|
+
module.exports = require("node:child_process");
|
|
68114
|
+
|
|
68115
|
+
/***/ }),
|
|
68116
|
+
|
|
68117
|
+
/***/ 33873:
|
|
68118
|
+
/***/ ((module) => {
|
|
68119
|
+
|
|
68120
|
+
"use strict";
|
|
68121
|
+
module.exports = require("path");
|
|
68122
|
+
|
|
68123
|
+
/***/ }),
|
|
68124
|
+
|
|
68125
|
+
/***/ 37067:
|
|
68126
|
+
/***/ ((module) => {
|
|
68127
|
+
|
|
68128
|
+
"use strict";
|
|
68129
|
+
module.exports = require("node:http");
|
|
68130
|
+
|
|
68131
|
+
/***/ }),
|
|
68132
|
+
|
|
68133
|
+
/***/ 38084:
|
|
68134
|
+
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
68135
|
+
|
|
68136
|
+
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 19674));
|
|
68137
|
+
;
|
|
68138
|
+
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 26751));
|
|
68139
|
+
|
|
68140
|
+
|
|
68141
|
+
/***/ }),
|
|
68142
|
+
|
|
68143
|
+
/***/ 41025:
|
|
68144
|
+
/***/ ((module) => {
|
|
68145
|
+
|
|
68146
|
+
"use strict";
|
|
68147
|
+
module.exports = require("next/dist/server/app-render/dynamic-access-async-storage.external.js");
|
|
68148
|
+
|
|
68149
|
+
/***/ }),
|
|
68150
|
+
|
|
68151
|
+
/***/ 43954:
|
|
68152
|
+
/***/ ((module) => {
|
|
68153
|
+
|
|
68154
|
+
"use strict";
|
|
68155
|
+
module.exports = require("next/dist/shared/lib/router/utils/interception-routes");
|
|
68156
|
+
|
|
67896
68157
|
/***/ }),
|
|
67897
68158
|
|
|
67898
68159
|
/***/ 44708:
|