pi-studio 0.5.51 → 0.5.53

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/client/studio.css CHANGED
@@ -227,13 +227,15 @@
227
227
 
228
228
  #scratchpadBtn.has-content,
229
229
  #reviewNotesBtn.has-content,
230
- #reviewNotesBtn.is-active {
230
+ #reviewNotesBtn.is-active,
231
+ #outlineBtn.is-active {
231
232
  border-color: var(--accent);
232
233
  color: var(--accent);
233
234
  font-weight: 600;
234
235
  }
235
236
 
236
- #reviewNotesBtn.is-active {
237
+ #reviewNotesBtn.is-active,
238
+ #outlineBtn.is-active {
237
239
  background: var(--accent-soft);
238
240
  }
239
241
 
@@ -336,7 +338,8 @@
336
338
  gap: 8px;
337
339
  }
338
340
 
339
- .review-notes-dock-wrap {
341
+ .review-notes-dock-wrap,
342
+ .outline-dock-wrap {
340
343
  flex: 0 0 clamp(300px, 34%, 420px);
341
344
  min-width: 280px;
342
345
  min-height: 0;
@@ -348,11 +351,13 @@
348
351
  overflow: hidden;
349
352
  }
350
353
 
351
- .review-notes-dock-wrap[hidden] {
354
+ .review-notes-dock-wrap[hidden],
355
+ .outline-dock-wrap[hidden] {
352
356
  display: none !important;
353
357
  }
354
358
 
355
- .review-notes-dock {
359
+ .review-notes-dock,
360
+ .outline-dock {
356
361
  width: 100%;
357
362
  min-height: 0;
358
363
  display: flex;
@@ -1597,6 +1602,182 @@
1597
1602
  flex: 0 0 auto;
1598
1603
  }
1599
1604
 
1605
+ .trace-panel {
1606
+ display: flex;
1607
+ flex-direction: column;
1608
+ gap: 10px;
1609
+ }
1610
+
1611
+ .trace-toolbar {
1612
+ display: flex;
1613
+ flex-wrap: wrap;
1614
+ align-items: flex-start;
1615
+ justify-content: space-between;
1616
+ gap: 10px;
1617
+ }
1618
+
1619
+ .trace-summary {
1620
+ display: flex;
1621
+ flex-wrap: wrap;
1622
+ align-items: center;
1623
+ gap: 8px;
1624
+ min-width: 0;
1625
+ padding-bottom: 2px;
1626
+ }
1627
+
1628
+ .trace-controls {
1629
+ display: flex;
1630
+ flex-wrap: wrap;
1631
+ align-items: center;
1632
+ justify-content: flex-end;
1633
+ gap: 8px;
1634
+ }
1635
+
1636
+ .trace-filter-group {
1637
+ display: inline-flex;
1638
+ align-items: center;
1639
+ gap: 6px;
1640
+ flex-wrap: wrap;
1641
+ }
1642
+
1643
+ .trace-filter-btn,
1644
+ .trace-action-btn {
1645
+ padding: 0.34rem 0.68rem;
1646
+ font-size: 12px;
1647
+ border-radius: 999px;
1648
+ }
1649
+
1650
+ .trace-filter-btn.is-active {
1651
+ border-color: var(--accent-soft-strong);
1652
+ background: var(--accent-soft);
1653
+ color: var(--accent);
1654
+ font-weight: 600;
1655
+ }
1656
+
1657
+ .trace-summary-badge,
1658
+ .trace-summary-status,
1659
+ .trace-entry-status,
1660
+ .trace-kind-badge {
1661
+ display: inline-flex;
1662
+ align-items: center;
1663
+ border-radius: 999px;
1664
+ padding: 0.16rem 0.52rem;
1665
+ font-size: 11px;
1666
+ font-weight: 600;
1667
+ letter-spacing: 0.01em;
1668
+ border: 1px solid var(--border);
1669
+ background: transparent;
1670
+ color: var(--muted);
1671
+ }
1672
+
1673
+ .trace-summary-badge {
1674
+ color: var(--text);
1675
+ background: var(--panel);
1676
+ }
1677
+
1678
+ .trace-kind-badge {
1679
+ color: var(--muted);
1680
+ background: var(--panel);
1681
+ }
1682
+
1683
+ .trace-summary-status.trace-status-running {
1684
+ color: var(--muted);
1685
+ border-color: var(--border);
1686
+ background: var(--panel);
1687
+ }
1688
+
1689
+ .trace-entry-status.trace-entry-status-streaming,
1690
+ .trace-entry-status.trace-entry-status-pending {
1691
+ color: var(--accent);
1692
+ border-color: var(--accent-soft-strong);
1693
+ background: var(--accent-soft);
1694
+ }
1695
+
1696
+ .trace-summary-status.trace-status-complete,
1697
+ .trace-entry-status.trace-entry-status-complete {
1698
+ color: var(--ok);
1699
+ border-color: var(--ok-border);
1700
+ background: rgba(115, 209, 61, 0.08);
1701
+ }
1702
+
1703
+ .trace-entry-status.trace-entry-status-error {
1704
+ color: var(--error);
1705
+ border-color: var(--error);
1706
+ background: rgba(255, 107, 107, 0.08);
1707
+ }
1708
+
1709
+ .trace-summary-meta,
1710
+ .trace-card-meta {
1711
+ color: var(--muted);
1712
+ font-size: 12px;
1713
+ }
1714
+
1715
+ .trace-list {
1716
+ display: flex;
1717
+ flex-direction: column;
1718
+ gap: 10px;
1719
+ }
1720
+
1721
+ .trace-card {
1722
+ display: flex;
1723
+ flex-direction: column;
1724
+ gap: 8px;
1725
+ padding: 10px 12px;
1726
+ border: 1px solid var(--border-muted);
1727
+ border-radius: 10px;
1728
+ background: var(--panel-2);
1729
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
1730
+ }
1731
+
1732
+ .trace-card-header {
1733
+ display: flex;
1734
+ flex-wrap: wrap;
1735
+ align-items: center;
1736
+ gap: 8px;
1737
+ min-width: 0;
1738
+ }
1739
+
1740
+ .trace-card-title {
1741
+ min-width: 0;
1742
+ font-weight: 600;
1743
+ color: var(--text);
1744
+ overflow-wrap: anywhere;
1745
+ }
1746
+
1747
+ .trace-section {
1748
+ display: flex;
1749
+ flex-direction: column;
1750
+ gap: 4px;
1751
+ }
1752
+
1753
+ .trace-section-label {
1754
+ font-size: 11px;
1755
+ font-weight: 600;
1756
+ color: var(--muted);
1757
+ text-transform: uppercase;
1758
+ letter-spacing: 0.04em;
1759
+ }
1760
+
1761
+ .trace-output {
1762
+ padding: 10px 11px;
1763
+ border-radius: 8px;
1764
+ border: 1px solid var(--border-muted);
1765
+ background: var(--panel);
1766
+ overflow-x: auto;
1767
+ white-space: pre-wrap;
1768
+ overflow-wrap: anywhere;
1769
+ }
1770
+
1771
+ .trace-empty,
1772
+ .trace-empty-inline {
1773
+ color: var(--muted);
1774
+ font-style: italic;
1775
+ }
1776
+
1777
+ .trace-empty {
1778
+ padding: 14px 2px 2px;
1779
+ }
1780
+
1600
1781
  footer {
1601
1782
  border-top: 1px solid var(--border-muted);
1602
1783
  padding: 8px 12px;
@@ -1824,15 +2005,18 @@
1824
2005
  filter: brightness(0.95);
1825
2006
  }
1826
2007
 
1827
- .review-notes-dock .scratchpad-header {
2008
+ .review-notes-dock .scratchpad-header,
2009
+ .outline-dock .scratchpad-header {
1828
2010
  padding: 12px 14px 10px;
1829
2011
  }
1830
2012
 
1831
- .review-notes-dock .scratchpad-header h2 {
2013
+ .review-notes-dock .scratchpad-header h2,
2014
+ .outline-dock .scratchpad-header h2 {
1832
2015
  font-size: 15px;
1833
2016
  }
1834
2017
 
1835
- .review-notes-dock .scratchpad-description {
2018
+ .review-notes-dock .scratchpad-description,
2019
+ .outline-dock .scratchpad-description {
1836
2020
  font-size: 11px;
1837
2021
  line-height: 1.4;
1838
2022
  word-break: normal;
@@ -1895,6 +2079,60 @@
1895
2079
  justify-content: space-between;
1896
2080
  }
1897
2081
 
2082
+ .outline-list {
2083
+ display: flex;
2084
+ flex: 1 1 auto;
2085
+ min-height: 0;
2086
+ flex-direction: column;
2087
+ gap: 6px;
2088
+ padding: 14px;
2089
+ overflow: auto;
2090
+ background: var(--panel);
2091
+ }
2092
+
2093
+ .outline-entry {
2094
+ width: 100%;
2095
+ display: grid;
2096
+ grid-template-columns: auto 1fr auto;
2097
+ align-items: baseline;
2098
+ gap: 8px;
2099
+ text-align: left;
2100
+ border-radius: 10px;
2101
+ padding: 8px 10px;
2102
+ background: var(--panel-2);
2103
+ border: 1px solid var(--border-muted);
2104
+ }
2105
+
2106
+ .outline-entry:hover,
2107
+ .outline-entry:focus-visible {
2108
+ border-color: var(--accent);
2109
+ background: var(--accent-soft);
2110
+ }
2111
+
2112
+ .outline-entry-kind {
2113
+ font-size: 11px;
2114
+ font-weight: 700;
2115
+ letter-spacing: 0.03em;
2116
+ text-transform: uppercase;
2117
+ color: var(--accent);
2118
+ white-space: nowrap;
2119
+ }
2120
+
2121
+ .outline-entry-title {
2122
+ min-width: 0;
2123
+ font-size: 13px;
2124
+ line-height: 1.35;
2125
+ color: var(--text);
2126
+ overflow-wrap: anywhere;
2127
+ }
2128
+
2129
+ .outline-entry-meta {
2130
+ font-size: 11px;
2131
+ color: var(--muted);
2132
+ white-space: nowrap;
2133
+ font-variant-numeric: tabular-nums;
2134
+ }
2135
+
1898
2136
  .review-note-card {
1899
2137
  border: 1px solid var(--border-muted);
1900
2138
  border-radius: 12px;
@@ -2002,7 +2240,8 @@
2002
2240
  flex-direction: column;
2003
2241
  }
2004
2242
 
2005
- .review-notes-dock-wrap {
2243
+ .review-notes-dock-wrap,
2244
+ .outline-dock-wrap {
2006
2245
  flex: 0 0 auto;
2007
2246
  min-width: 0;
2008
2247
  max-height: min(42vh, 420px);