pinokiod 7.3.9 → 7.3.11

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 (52) hide show
  1. package/kernel/bin/brew.js +12 -2
  2. package/kernel/bin/caddy.js +24 -20
  3. package/kernel/bin/huggingface.js +2 -2
  4. package/kernel/bin/setup.js +2 -3
  5. package/kernel/bin/uv.js +13 -6
  6. package/kernel/connect/index.js +5 -1
  7. package/kernel/connect/providers/huggingface/index.js +213 -75
  8. package/kernel/environment.js +16 -1
  9. package/kernel/router/localhost_home_router.js +7 -0
  10. package/kernel/shell.js +1 -5
  11. package/kernel/util.js +1 -0
  12. package/package.json +1 -1
  13. package/server/index.js +75 -33
  14. package/server/public/common.js +52 -88
  15. package/server/public/install.js +20 -2
  16. package/server/public/layout.js +1 -1
  17. package/server/public/nav.js +3 -1
  18. package/server/public/style.css +1455 -521
  19. package/server/public/tab-link-popover.css +162 -18
  20. package/server/public/tab-link-popover.js +230 -21
  21. package/server/public/task-launcher.css +182 -91
  22. package/server/public/terminal-settings.js +227 -50
  23. package/server/public/universal-launcher.css +42 -33
  24. package/server/public/urldropdown.css +284 -0
  25. package/server/views/app.ejs +1718 -352
  26. package/server/views/autolaunch.ejs +4 -5
  27. package/server/views/checkpoints.ejs +223 -50
  28. package/server/views/connect/huggingface.ejs +406 -325
  29. package/server/views/connect.ejs +0 -1
  30. package/server/views/github.ejs +277 -324
  31. package/server/views/index.ejs +65 -8
  32. package/server/views/install.ejs +134 -65
  33. package/server/views/logs.ejs +9 -8
  34. package/server/views/net.ejs +341 -64
  35. package/server/views/network.ejs +85 -63
  36. package/server/views/partials/main_sidebar.ejs +249 -24
  37. package/server/views/plugins.ejs +141 -3
  38. package/server/views/settings.ejs +103 -7
  39. package/server/views/setup.ejs +0 -5
  40. package/server/views/skills.ejs +0 -1
  41. package/server/views/task_list.ejs +0 -1
  42. package/server/views/terminal.ejs +285 -60
  43. package/server/views/terminals.ejs +346 -6
  44. package/server/views/tools.ejs +828 -1691
  45. package/test/caddy-install.test.js +53 -0
  46. package/test/connect-setup.test.js +16 -0
  47. package/test/github-connection.test.js +1 -1
  48. package/test/huggingface-bin.test.js +4 -4
  49. package/test/huggingface-connect.test.js +73 -0
  50. package/test/main-sidebar.test.js +31 -0
  51. package/test/shell-run-template.test.js +5 -1
  52. package/test/uv-bin.test.js +29 -0
@@ -4049,7 +4049,8 @@ body.dark .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio
4049
4049
  .swal2-popup.pinokio-diff-modal .pinokio-modal-tabs,
4050
4050
  .swal2-popup.pinokio-history-modal .pinokio-modal-tabs {
4051
4051
  gap: 5px;
4052
- padding: 0 14px 7px;
4052
+ padding: 0 14px;
4053
+ margin-bottom: 16px;
4053
4054
  }
4054
4055
 
4055
4056
  .swal2-popup.pinokio-diff-modal .pinokio-modal-tab,
@@ -4158,15 +4159,46 @@ body.dark .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio
4158
4159
 
4159
4160
  .swal2-popup.pinokio-diff-modal .pinokio-git-history-list,
4160
4161
  .swal2-popup.pinokio-history-modal .pinokio-git-history-list {
4161
- gap: 6px;
4162
- padding: 0 14px 10px;
4162
+ gap: 0;
4163
+ padding: 0 14px 14px;
4163
4164
  }
4164
4165
 
4165
4166
  .swal2-popup.pinokio-diff-modal .pinokio-git-commit-item,
4166
4167
  .swal2-popup.pinokio-history-modal .pinokio-git-commit-item {
4167
- border-radius: 6px;
4168
- padding: 7px 8px;
4169
- gap: 8px;
4168
+ align-items: center;
4169
+ border: 0;
4170
+ border-bottom: 1px solid var(--pinokio-modal-border);
4171
+ border-radius: 0;
4172
+ background: transparent;
4173
+ gap: 10px;
4174
+ min-height: 52px;
4175
+ padding: 8px 10px;
4176
+ }
4177
+
4178
+ .swal2-popup.pinokio-history-modal .pinokio-modal-body--history {
4179
+ padding: 0;
4180
+ background: var(--pinokio-modal-bg);
4181
+ }
4182
+
4183
+ .swal2-popup.pinokio-history-modal .pinokio-history-latest-banner {
4184
+ border-radius: 4px;
4185
+ margin: 0 14px 10px;
4186
+ padding: 8px 10px;
4187
+ }
4188
+
4189
+ .swal2-popup.pinokio-history-modal .pinokio-history-latest-btn,
4190
+ .swal2-popup.pinokio-history-modal .pinokio-history-branch-select.pinokio-modal-input {
4191
+ box-sizing: border-box;
4192
+ height: 32px;
4193
+ min-height: 32px;
4194
+ padding: 0 10px !important;
4195
+ }
4196
+
4197
+ .swal2-popup.pinokio-history-modal .pinokio-git-commit-avatar {
4198
+ width: 28px;
4199
+ height: 28px;
4200
+ border-radius: 4px;
4201
+ font-size: 13px;
4170
4202
  }
4171
4203
 
4172
4204
  .swal2-popup.pinokio-diff-modal .pinokio-git-commit-message,
@@ -4194,6 +4226,314 @@ body.dark .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio
4194
4226
  color: var(--pinokio-modal-icon-color);
4195
4227
  }
4196
4228
 
4229
+ /* Minimal modal normalization for terminal SweetAlert shells. */
4230
+ :root {
4231
+ --pinokio-modal-bg: #ffffff;
4232
+ --pinokio-modal-surface-bg: #ffffff;
4233
+ --pinokio-modal-text: #18181b;
4234
+ --pinokio-modal-title-color: #18181b;
4235
+ --pinokio-modal-subtitle-color: #71717a;
4236
+ --pinokio-modal-border: rgba(24, 24, 27, 0.12);
4237
+ --pinokio-modal-border-strong: rgba(24, 24, 27, 0.2);
4238
+ --pinokio-modal-body-bg: rgba(24, 24, 27, 0.03);
4239
+ --pinokio-modal-body-border: rgba(24, 24, 27, 0.1);
4240
+ --pinokio-modal-body-iframe-bg: #ffffff;
4241
+ --pinokio-modal-body-text-color: #3f3f46;
4242
+ --pinokio-modal-label-color: #52525b;
4243
+ --pinokio-modal-input-bg: #ffffff;
4244
+ --pinokio-modal-input-border: rgba(24, 24, 27, 0.16);
4245
+ --pinokio-modal-input-text: #18181b;
4246
+ --pinokio-modal-input-focus-border: rgba(24, 24, 27, 0.42);
4247
+ --pinokio-modal-input-focus-shadow: rgba(24, 24, 27, 0.12);
4248
+ --pinokio-modal-icon-bg: rgba(24, 24, 27, 0.04);
4249
+ --pinokio-modal-icon-color: #52525b;
4250
+ --pinokio-modal-primary-bg: #18181b;
4251
+ --pinokio-modal-primary-hover: #27272a;
4252
+ --pinokio-modal-primary-text: #ffffff;
4253
+ --pinokio-modal-secondary-hover-bg: rgba(24, 24, 27, 0.06);
4254
+ --pinokio-modern-shadow: 0 18px 50px rgba(15, 23, 42, 0.16);
4255
+ --pinokio-modern-close-color: #71717a;
4256
+ --pinokio-modern-close-hover-bg: rgba(24, 24, 27, 0.06);
4257
+ --pinokio-modern-close-hover-color: #18181b;
4258
+ --pinokio-modern-cancel-bg: transparent;
4259
+ --pinokio-modern-cancel-color: #52525b;
4260
+ --pinokio-modern-cancel-hover-bg: rgba(24, 24, 27, 0.06);
4261
+ }
4262
+
4263
+ body.dark {
4264
+ --pinokio-modal-bg: #1b1c1d;
4265
+ --pinokio-modal-surface-bg: #1b1c1d;
4266
+ --pinokio-modal-text: rgba(250, 250, 250, 0.94);
4267
+ --pinokio-modal-title-color: rgba(250, 250, 250, 0.94);
4268
+ --pinokio-modal-subtitle-color: rgba(229, 231, 235, 0.62);
4269
+ --pinokio-modal-border: rgba(255, 255, 255, 0.1);
4270
+ --pinokio-modal-border-strong: rgba(255, 255, 255, 0.18);
4271
+ --pinokio-modal-body-bg: rgba(255, 255, 255, 0.04);
4272
+ --pinokio-modal-body-border: rgba(255, 255, 255, 0.09);
4273
+ --pinokio-modal-body-iframe-bg: #161718;
4274
+ --pinokio-modal-body-text-color: rgba(229, 231, 235, 0.78);
4275
+ --pinokio-modal-label-color: rgba(229, 231, 235, 0.76);
4276
+ --pinokio-modal-input-bg: rgba(255, 255, 255, 0.04);
4277
+ --pinokio-modal-input-border: rgba(255, 255, 255, 0.14);
4278
+ --pinokio-modal-input-text: rgba(250, 250, 250, 0.94);
4279
+ --pinokio-modal-input-focus-border: rgba(255, 255, 255, 0.38);
4280
+ --pinokio-modal-input-focus-shadow: rgba(255, 255, 255, 0.14);
4281
+ --pinokio-modal-icon-bg: rgba(255, 255, 255, 0.055);
4282
+ --pinokio-modal-icon-color: rgba(229, 231, 235, 0.76);
4283
+ --pinokio-modal-primary-bg: rgba(250, 250, 250, 0.94);
4284
+ --pinokio-modal-primary-hover: #ffffff;
4285
+ --pinokio-modal-primary-text: #1b1c1d;
4286
+ --pinokio-modal-secondary-hover-bg: rgba(255, 255, 255, 0.07);
4287
+ --pinokio-modern-shadow: 0 24px 72px rgba(0, 0, 0, 0.42);
4288
+ --pinokio-modern-close-color: rgba(229, 231, 235, 0.58);
4289
+ --pinokio-modern-close-hover-bg: rgba(255, 255, 255, 0.07);
4290
+ --pinokio-modern-close-hover-color: rgba(250, 250, 250, 0.94);
4291
+ --pinokio-modern-cancel-bg: transparent;
4292
+ --pinokio-modern-cancel-color: rgba(229, 231, 235, 0.7);
4293
+ --pinokio-modern-cancel-hover-bg: rgba(255, 255, 255, 0.07);
4294
+ }
4295
+
4296
+ .swal2-popup.terminals-confirm-modal,
4297
+ .swal2-popup.pinokio-modern-modal,
4298
+ .swal2-popup.terminals-workspace-create-modal {
4299
+ background: var(--pinokio-modal-bg) !important;
4300
+ color: var(--pinokio-modal-text) !important;
4301
+ border: 1px solid var(--pinokio-modal-border) !important;
4302
+ border-radius: 8px !important;
4303
+ box-shadow: var(--pinokio-modern-shadow) !important;
4304
+ }
4305
+
4306
+ body.dark .swal2-popup.terminals-confirm-modal,
4307
+ body.dark .swal2-popup.pinokio-modern-modal,
4308
+ body.dark .swal2-popup.terminals-workspace-create-modal {
4309
+ background: var(--pinokio-modal-bg) !important;
4310
+ color: var(--pinokio-modal-text) !important;
4311
+ border-color: var(--pinokio-modal-border) !important;
4312
+ box-shadow: var(--pinokio-modern-shadow) !important;
4313
+ }
4314
+
4315
+ .swal2-popup.terminals-confirm-modal {
4316
+ padding: 18px !important;
4317
+ }
4318
+
4319
+ .swal2-popup.terminals-confirm-modal .swal2-title,
4320
+ .swal2-popup.terminals-workspace-create-modal .swal2-title {
4321
+ color: var(--pinokio-modal-title-color) !important;
4322
+ font-size: 16px !important;
4323
+ line-height: 1.25 !important;
4324
+ font-weight: 600 !important;
4325
+ margin-bottom: 6px !important;
4326
+ }
4327
+
4328
+ .swal2-popup.terminals-confirm-modal .swal2-html-container {
4329
+ color: var(--pinokio-modal-subtitle-color) !important;
4330
+ font-size: 13px !important;
4331
+ line-height: 1.45 !important;
4332
+ }
4333
+
4334
+ .swal2-popup.terminals-confirm-modal .swal2-styled.swal2-confirm,
4335
+ .pinokio-modern-confirm.swal2-confirm,
4336
+ .swal2-popup.terminals-workspace-create-modal .swal2-actions .swal2-confirm {
4337
+ min-height: 32px !important;
4338
+ padding: 0 12px !important;
4339
+ border: 1px solid var(--pinokio-modal-primary-bg) !important;
4340
+ border-radius: 6px !important;
4341
+ background: var(--pinokio-modal-primary-bg) !important;
4342
+ background-color: var(--pinokio-modal-primary-bg) !important;
4343
+ color: var(--pinokio-modal-primary-text) !important;
4344
+ box-shadow: none !important;
4345
+ font-size: 13px !important;
4346
+ font-weight: 600 !important;
4347
+ }
4348
+
4349
+ .swal2-popup.terminals-confirm-modal .swal2-styled.swal2-confirm:hover,
4350
+ .pinokio-modern-confirm.swal2-confirm:hover,
4351
+ .swal2-popup.terminals-workspace-create-modal .swal2-actions .swal2-confirm:hover {
4352
+ border-color: var(--pinokio-modal-primary-hover) !important;
4353
+ background: var(--pinokio-modal-primary-hover) !important;
4354
+ background-color: var(--pinokio-modal-primary-hover) !important;
4355
+ }
4356
+
4357
+ .swal2-popup.terminals-confirm-modal .swal2-styled.swal2-cancel,
4358
+ .pinokio-modern-cancel.swal2-cancel,
4359
+ .swal2-popup.terminals-workspace-create-modal .swal2-actions .swal2-cancel,
4360
+ .swal2-popup.terminals-workspace-create-modal .pinokio-modern-cancel.swal2-cancel,
4361
+ body.dark .swal2-popup.terminals-workspace-create-modal .swal2-actions .swal2-cancel,
4362
+ body.dark .swal2-popup.terminals-workspace-create-modal .pinokio-modern-cancel.swal2-cancel {
4363
+ min-height: 32px !important;
4364
+ padding: 0 12px !important;
4365
+ border: 1px solid var(--pinokio-modal-border) !important;
4366
+ border-radius: 6px !important;
4367
+ background: transparent !important;
4368
+ color: var(--pinokio-modern-cancel-color) !important;
4369
+ box-shadow: none !important;
4370
+ font-size: 13px !important;
4371
+ font-weight: 600 !important;
4372
+ }
4373
+
4374
+ .swal2-popup.terminals-confirm-modal .swal2-styled.swal2-cancel:hover,
4375
+ .pinokio-modern-cancel.swal2-cancel:hover,
4376
+ .swal2-popup.terminals-workspace-create-modal .swal2-actions .swal2-cancel:hover {
4377
+ border-color: var(--pinokio-modal-border-strong) !important;
4378
+ background: var(--pinokio-modern-cancel-hover-bg) !important;
4379
+ color: var(--pinokio-modal-title-color) !important;
4380
+ }
4381
+
4382
+ .pinokio-modern-close.swal2-close,
4383
+ .swal2-popup.terminals-workspace-create-modal .swal2-close {
4384
+ top: 12px !important;
4385
+ right: 12px !important;
4386
+ width: 28px !important;
4387
+ height: 28px !important;
4388
+ border-radius: 6px !important;
4389
+ color: var(--pinokio-modern-close-color) !important;
4390
+ font-size: 18px !important;
4391
+ }
4392
+
4393
+ .pinokio-modern-close.swal2-close:hover,
4394
+ .pinokio-modern-close.swal2-close:focus-visible,
4395
+ .swal2-popup.terminals-workspace-create-modal .swal2-close:hover,
4396
+ .swal2-popup.terminals-workspace-create-modal .swal2-close:focus-visible {
4397
+ background: var(--pinokio-modern-close-hover-bg) !important;
4398
+ color: var(--pinokio-modern-close-hover-color) !important;
4399
+ outline: none !important;
4400
+ }
4401
+
4402
+ .pinokio-modal-surface {
4403
+ color: var(--pinokio-modal-text) !important;
4404
+ }
4405
+
4406
+ .pinokio-modal-header {
4407
+ gap: 10px !important;
4408
+ padding: 14px !important;
4409
+ }
4410
+
4411
+ .pinokio-modal-icon {
4412
+ width: 32px !important;
4413
+ height: 32px !important;
4414
+ border-radius: 7px !important;
4415
+ background: var(--pinokio-modal-icon-bg) !important;
4416
+ color: var(--pinokio-modal-icon-color) !important;
4417
+ font-size: 14px !important;
4418
+ }
4419
+
4420
+ .pinokio-modal-title {
4421
+ color: var(--pinokio-modal-title-color) !important;
4422
+ font-size: 16px !important;
4423
+ line-height: 1.25 !important;
4424
+ font-weight: 600 !important;
4425
+ }
4426
+
4427
+ .pinokio-modal-subtitle {
4428
+ color: var(--pinokio-modal-subtitle-color) !important;
4429
+ font-size: 12px !important;
4430
+ line-height: 1.45 !important;
4431
+ }
4432
+
4433
+ .pinokio-modal-body {
4434
+ border-top: 1px solid var(--pinokio-modal-body-border) !important;
4435
+ background: var(--pinokio-modal-body-bg) !important;
4436
+ color: var(--pinokio-modal-body-text-color) !important;
4437
+ }
4438
+
4439
+ .pinokio-modal-body--iframe,
4440
+ .pinokio-modal-body--diff {
4441
+ padding: 0 !important;
4442
+ }
4443
+
4444
+ .terminals-workspace-create-input.swal2-input,
4445
+ body.dark .terminals-workspace-create-input.swal2-input,
4446
+ .pinokio-modal-input {
4447
+ border-radius: 6px !important;
4448
+ border: 1px solid var(--pinokio-modal-input-border) !important;
4449
+ background: var(--pinokio-modal-input-bg) !important;
4450
+ color: var(--pinokio-modal-input-text) !important;
4451
+ box-shadow: none !important;
4452
+ font-size: 13px !important;
4453
+ }
4454
+
4455
+ .terminals-workspace-create-input.swal2-input:focus,
4456
+ .pinokio-modal-input:focus {
4457
+ border-color: var(--pinokio-modal-input-focus-border) !important;
4458
+ box-shadow: 0 0 0 3px var(--pinokio-modal-input-focus-shadow) !important;
4459
+ }
4460
+
4461
+ .terminals-workspace-create-label.swal2-input-label,
4462
+ body.dark .terminals-workspace-create-label.swal2-input-label {
4463
+ color: var(--pinokio-modal-label-color) !important;
4464
+ }
4465
+
4466
+ .pinokio-modal-tab,
4467
+ .pinokio-history-inline-btn,
4468
+ .pinokio-history-latest-btn,
4469
+ .pinokio-git-diff-open-file,
4470
+ .pinokio-git-diff-revert-btn,
4471
+ .pinokio-save-version-btn,
4472
+ body.dark .pinokio-save-version-btn,
4473
+ body.dark .swal2-popup.pinokio-diff-modal .pinokio-save-version-btn,
4474
+ body.dark .swal2-popup.pinokio-history-modal .pinokio-save-version-btn {
4475
+ border: 1px solid var(--pinokio-modal-border) !important;
4476
+ border-radius: 6px !important;
4477
+ background: transparent !important;
4478
+ background-color: transparent !important;
4479
+ color: var(--pinokio-modal-body-text-color) !important;
4480
+ box-shadow: none !important;
4481
+ }
4482
+
4483
+ .pinokio-git-diff-revert-btn,
4484
+ .pinokio-save-version-btn,
4485
+ body.dark .pinokio-save-version-btn,
4486
+ body.dark .swal2-popup.pinokio-diff-modal .pinokio-save-version-btn,
4487
+ body.dark .swal2-popup.pinokio-history-modal .pinokio-save-version-btn {
4488
+ border-color: var(--pinokio-modal-primary-bg) !important;
4489
+ background: var(--pinokio-modal-primary-bg) !important;
4490
+ background-color: var(--pinokio-modal-primary-bg) !important;
4491
+ color: var(--pinokio-modal-primary-text) !important;
4492
+ }
4493
+
4494
+ .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio-commit-message-container {
4495
+ align-items: stretch !important;
4496
+ }
4497
+
4498
+ .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio-commit-actions {
4499
+ display: flex !important;
4500
+ align-items: stretch !important;
4501
+ }
4502
+
4503
+ .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio-commit-message-input,
4504
+ .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio-save-version-btn {
4505
+ box-sizing: border-box !important;
4506
+ height: 44px !important;
4507
+ min-height: 44px !important;
4508
+ }
4509
+
4510
+ .swal2-popup.pinokio-diff-modal .pinokio-modal-footer--commit .pinokio-save-version-btn {
4511
+ align-self: stretch !important;
4512
+ padding: 0 16px !important;
4513
+ }
4514
+
4515
+ .pinokio-modal-tab:hover,
4516
+ .pinokio-modal-tab.pinokio-modal-tab--active,
4517
+ .pinokio-history-inline-btn:hover,
4518
+ .pinokio-history-latest-btn:hover,
4519
+ .pinokio-git-diff-open-file:hover {
4520
+ border-color: var(--pinokio-modal-border-strong) !important;
4521
+ background: var(--pinokio-modal-secondary-hover-bg) !important;
4522
+ color: var(--pinokio-modal-title-color) !important;
4523
+ transform: none !important;
4524
+ }
4525
+
4526
+ body.dark .pinokio-modal-footer--commit,
4527
+ body.dark .pinokio-git-commit-actions {
4528
+ background: var(--pinokio-modal-bg) !important;
4529
+ border-color: var(--pinokio-modal-border) !important;
4530
+ }
4531
+
4532
+ body.dark .pinokio-git-commit-item {
4533
+ border-color: var(--pinokio-modal-border) !important;
4534
+ background: var(--pinokio-modal-body-bg) !important;
4535
+ }
4536
+
4197
4537
  /* User preference: force 4px radius across terminal git modals */
4198
4538
  .swal2-popup.pinokio-diff-modal,
4199
4539
  .swal2-popup.pinokio-history-modal,