obsidian-agent-fleet 0.9.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -10
- package/package.json +1 -1
- package/plugin/main.js +316 -235
- package/plugin/manifest.json +1 -1
- package/plugin/styles.css +208 -0
package/plugin/manifest.json
CHANGED
package/plugin/styles.css
CHANGED
|
@@ -4526,3 +4526,211 @@
|
|
|
4526
4526
|
color: var(--af-text-secondary);
|
|
4527
4527
|
margin-bottom: 6px;
|
|
4528
4528
|
}
|
|
4529
|
+
|
|
4530
|
+
/* ─── Chat: conversations side rail ───────────────────────────────────── */
|
|
4531
|
+
/* Adjacent to the messages column inside the chat view, this rail lists all
|
|
4532
|
+
* parallel conversations for the currently-selected agent. Styled to match
|
|
4533
|
+
* the plugin-level left sidebar (af-sidebar-*) so it reads as a first-class
|
|
4534
|
+
* part of the plugin, not a bolted-on widget. */
|
|
4535
|
+
|
|
4536
|
+
.af-chat-view-body {
|
|
4537
|
+
display: flex;
|
|
4538
|
+
flex: 1;
|
|
4539
|
+
min-height: 0;
|
|
4540
|
+
overflow: hidden;
|
|
4541
|
+
}
|
|
4542
|
+
|
|
4543
|
+
.af-chat-main {
|
|
4544
|
+
display: flex;
|
|
4545
|
+
flex-direction: column;
|
|
4546
|
+
flex: 1;
|
|
4547
|
+
min-width: 0;
|
|
4548
|
+
overflow: hidden;
|
|
4549
|
+
}
|
|
4550
|
+
|
|
4551
|
+
.af-chat-convo-panel {
|
|
4552
|
+
width: 200px;
|
|
4553
|
+
flex-shrink: 0;
|
|
4554
|
+
border-right: 1px solid var(--af-border);
|
|
4555
|
+
background: var(--af-bg-secondary);
|
|
4556
|
+
display: flex;
|
|
4557
|
+
flex-direction: column;
|
|
4558
|
+
overflow-y: auto;
|
|
4559
|
+
overflow-x: hidden;
|
|
4560
|
+
}
|
|
4561
|
+
|
|
4562
|
+
/* Collapsed state — hidden from layout entirely. The toggle button in the
|
|
4563
|
+
* header reveals it again. */
|
|
4564
|
+
.af-chat-convo-panel.collapsed {
|
|
4565
|
+
display: none;
|
|
4566
|
+
}
|
|
4567
|
+
|
|
4568
|
+
.af-chat-convo-header {
|
|
4569
|
+
padding: 12px 14px 6px;
|
|
4570
|
+
font-size: 10px;
|
|
4571
|
+
font-weight: 700;
|
|
4572
|
+
letter-spacing: 0.8px;
|
|
4573
|
+
color: var(--af-text-faint);
|
|
4574
|
+
text-transform: uppercase;
|
|
4575
|
+
}
|
|
4576
|
+
|
|
4577
|
+
/* "+ New chat" — sits at the top of the rail, styled as a list row (not a
|
|
4578
|
+
* button) so it belongs with the conversation list visually. */
|
|
4579
|
+
.af-chat-convo-new {
|
|
4580
|
+
display: flex;
|
|
4581
|
+
align-items: center;
|
|
4582
|
+
gap: 8px;
|
|
4583
|
+
padding: 6px 10px;
|
|
4584
|
+
margin: 2px 6px 6px;
|
|
4585
|
+
border-radius: 4px;
|
|
4586
|
+
cursor: pointer;
|
|
4587
|
+
color: var(--af-text-secondary);
|
|
4588
|
+
transition: background var(--af-transition), color var(--af-transition);
|
|
4589
|
+
font-size: 12px;
|
|
4590
|
+
}
|
|
4591
|
+
|
|
4592
|
+
.af-chat-convo-new:hover {
|
|
4593
|
+
background: var(--background-modifier-hover);
|
|
4594
|
+
color: var(--af-accent);
|
|
4595
|
+
}
|
|
4596
|
+
|
|
4597
|
+
.af-chat-convo-new-icon {
|
|
4598
|
+
display: inline-flex;
|
|
4599
|
+
align-items: center;
|
|
4600
|
+
}
|
|
4601
|
+
|
|
4602
|
+
.af-chat-convo-new-icon svg {
|
|
4603
|
+
width: 14px;
|
|
4604
|
+
height: 14px;
|
|
4605
|
+
}
|
|
4606
|
+
|
|
4607
|
+
.af-chat-convo-list {
|
|
4608
|
+
display: flex;
|
|
4609
|
+
flex-direction: column;
|
|
4610
|
+
padding: 0 0 12px;
|
|
4611
|
+
}
|
|
4612
|
+
|
|
4613
|
+
/* Conversation row — two-line layout (name on top, "12 msgs · 2h ago" below)
|
|
4614
|
+
* mirroring the way Slack/ChatGPT list DMs/chats. Hover reveals the trash. */
|
|
4615
|
+
.af-chat-convo-item {
|
|
4616
|
+
position: relative;
|
|
4617
|
+
padding: 6px 10px;
|
|
4618
|
+
margin: 1px 6px;
|
|
4619
|
+
border-radius: 4px;
|
|
4620
|
+
cursor: pointer;
|
|
4621
|
+
transition: background var(--af-transition);
|
|
4622
|
+
/* Reserve a fixed gutter for the trash button so the row doesn't shift
|
|
4623
|
+
* width when it appears on hover. */
|
|
4624
|
+
padding-right: 30px;
|
|
4625
|
+
}
|
|
4626
|
+
|
|
4627
|
+
.af-chat-convo-item:hover {
|
|
4628
|
+
background: var(--background-modifier-hover);
|
|
4629
|
+
}
|
|
4630
|
+
|
|
4631
|
+
.af-chat-convo-item.active {
|
|
4632
|
+
background: var(--af-accent-bg);
|
|
4633
|
+
}
|
|
4634
|
+
|
|
4635
|
+
.af-chat-convo-item.active .af-chat-convo-name {
|
|
4636
|
+
color: var(--af-accent);
|
|
4637
|
+
font-weight: 600;
|
|
4638
|
+
}
|
|
4639
|
+
|
|
4640
|
+
.af-chat-convo-name {
|
|
4641
|
+
font-size: 12px;
|
|
4642
|
+
color: var(--af-text-primary);
|
|
4643
|
+
overflow: hidden;
|
|
4644
|
+
text-overflow: ellipsis;
|
|
4645
|
+
white-space: nowrap;
|
|
4646
|
+
line-height: 1.4;
|
|
4647
|
+
}
|
|
4648
|
+
|
|
4649
|
+
/* Inline-rename input — replaces the name span in place. Styled to match
|
|
4650
|
+
* the row's existing typography so the swap is visually quiet. */
|
|
4651
|
+
.af-chat-convo-name-input {
|
|
4652
|
+
font-size: 12px;
|
|
4653
|
+
line-height: 1.4;
|
|
4654
|
+
padding: 1px 4px;
|
|
4655
|
+
margin: -1px -4px;
|
|
4656
|
+
border: 1px solid var(--af-accent);
|
|
4657
|
+
border-radius: 3px;
|
|
4658
|
+
background: var(--af-card-bg);
|
|
4659
|
+
color: var(--af-text-primary);
|
|
4660
|
+
width: 100%;
|
|
4661
|
+
outline: none;
|
|
4662
|
+
}
|
|
4663
|
+
|
|
4664
|
+
.af-chat-convo-meta {
|
|
4665
|
+
font-size: 10px;
|
|
4666
|
+
color: var(--af-text-faint);
|
|
4667
|
+
margin-top: 1px;
|
|
4668
|
+
white-space: nowrap;
|
|
4669
|
+
overflow: hidden;
|
|
4670
|
+
text-overflow: ellipsis;
|
|
4671
|
+
}
|
|
4672
|
+
|
|
4673
|
+
/* Trash button — fades in on row hover. `.active` rows show it on focus
|
|
4674
|
+
* too so keyboard users can reach it via Tab. */
|
|
4675
|
+
.af-chat-convo-trash {
|
|
4676
|
+
position: absolute;
|
|
4677
|
+
top: 50%;
|
|
4678
|
+
right: 6px;
|
|
4679
|
+
transform: translateY(-50%);
|
|
4680
|
+
display: inline-flex;
|
|
4681
|
+
align-items: center;
|
|
4682
|
+
justify-content: center;
|
|
4683
|
+
width: 22px;
|
|
4684
|
+
height: 22px;
|
|
4685
|
+
padding: 0;
|
|
4686
|
+
background: transparent;
|
|
4687
|
+
border: none;
|
|
4688
|
+
border-radius: 4px;
|
|
4689
|
+
color: var(--af-text-faint);
|
|
4690
|
+
cursor: pointer;
|
|
4691
|
+
opacity: 0;
|
|
4692
|
+
transition: opacity var(--af-transition), color var(--af-transition), background var(--af-transition);
|
|
4693
|
+
}
|
|
4694
|
+
|
|
4695
|
+
.af-chat-convo-item:hover .af-chat-convo-trash,
|
|
4696
|
+
.af-chat-convo-trash:focus-visible {
|
|
4697
|
+
opacity: 1;
|
|
4698
|
+
}
|
|
4699
|
+
|
|
4700
|
+
.af-chat-convo-trash:hover {
|
|
4701
|
+
color: var(--af-red);
|
|
4702
|
+
background: var(--af-red-bg, rgba(243, 139, 168, 0.12));
|
|
4703
|
+
}
|
|
4704
|
+
|
|
4705
|
+
.af-chat-convo-trash svg {
|
|
4706
|
+
width: 13px;
|
|
4707
|
+
height: 13px;
|
|
4708
|
+
}
|
|
4709
|
+
|
|
4710
|
+
/* Collapse toggle in the chat-view header — small icon button, no border,
|
|
4711
|
+
* intentionally lower-emphasis than the agent dropdown next to it. */
|
|
4712
|
+
.af-chat-convo-collapse-btn {
|
|
4713
|
+
display: inline-flex;
|
|
4714
|
+
align-items: center;
|
|
4715
|
+
justify-content: center;
|
|
4716
|
+
width: 26px;
|
|
4717
|
+
height: 26px;
|
|
4718
|
+
padding: 0;
|
|
4719
|
+
background: transparent;
|
|
4720
|
+
border: none;
|
|
4721
|
+
border-radius: 4px;
|
|
4722
|
+
color: var(--af-text-muted);
|
|
4723
|
+
cursor: pointer;
|
|
4724
|
+
transition: background var(--af-transition), color var(--af-transition);
|
|
4725
|
+
flex-shrink: 0;
|
|
4726
|
+
}
|
|
4727
|
+
|
|
4728
|
+
.af-chat-convo-collapse-btn:hover {
|
|
4729
|
+
background: var(--background-modifier-hover);
|
|
4730
|
+
color: var(--af-text-primary);
|
|
4731
|
+
}
|
|
4732
|
+
|
|
4733
|
+
.af-chat-convo-collapse-btn svg {
|
|
4734
|
+
width: 16px;
|
|
4735
|
+
height: 16px;
|
|
4736
|
+
}
|