@harborclient/sdk 1.3.6 → 1.3.8
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/CHANGELOG.md +10 -0
- package/dist/components/Breadcrumb/SegmentShell.d.ts +2 -2
- package/dist/components/Breadcrumb/SegmentShell.d.ts.map +1 -1
- package/dist/components/Breadcrumb/SegmentShell.js +5 -5
- package/dist/components/Breadcrumb/index.d.ts +2 -2
- package/dist/components/Breadcrumb/index.d.ts.map +1 -1
- package/dist/components/Breadcrumb/index.js +3 -5
- package/dist/components/FloatingDialog/index.d.ts +0 -4
- package/dist/components/FloatingDialog/index.d.ts.map +1 -1
- package/dist/components/FloatingDialog/index.js +1 -5
- package/dist/components/FooterPanel/index.d.ts +6 -1
- package/dist/components/FooterPanel/index.d.ts.map +1 -1
- package/dist/components/FooterPanel/index.js +2 -2
- package/dist/components/Resizable/Resizable.d.ts +6 -1
- package/dist/components/Resizable/Resizable.d.ts.map +1 -1
- package/dist/components/Resizable/Resizable.js +2 -2
- package/dist/components/Sidebar/index.d.ts +9 -1
- package/dist/components/Sidebar/index.d.ts.map +1 -1
- package/dist/components/Sidebar/index.js +2 -2
- package/dist/components/SidebarItem/SidebarWebsiteItem.d.ts +49 -0
- package/dist/components/SidebarItem/SidebarWebsiteItem.d.ts.map +1 -0
- package/dist/components/SidebarItem/SidebarWebsiteItem.js +41 -0
- package/dist/components/SidebarItem/index.d.ts +1 -0
- package/dist/components/SidebarItem/index.d.ts.map +1 -1
- package/dist/components/SidebarItem/index.js +1 -0
- package/dist/components/SidebarRail/SidebarRailItem.d.ts +66 -0
- package/dist/components/SidebarRail/SidebarRailItem.d.ts.map +1 -0
- package/dist/components/SidebarRail/SidebarRailItem.js +59 -0
- package/dist/components/SidebarRail/SidebarRailSeparator.d.ts +11 -0
- package/dist/components/SidebarRail/SidebarRailSeparator.d.ts.map +1 -0
- package/dist/components/SidebarRail/SidebarRailSeparator.js +12 -0
- package/dist/components/SidebarRail/index.d.ts +49 -0
- package/dist/components/SidebarRail/index.d.ts.map +1 -0
- package/dist/components/SidebarRail/index.js +66 -0
- package/dist/components/TabBar/TabContextMenu.d.ts +5 -1
- package/dist/components/TabBar/TabContextMenu.d.ts.map +1 -1
- package/dist/components/TabBar/TabContextMenu.js +2 -2
- package/dist/components/classes.js +2 -2
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/runtime/createBridgedPluginContext.js +58 -1
- package/dist/snippets.d.ts +6 -0
- package/dist/types.d.ts +143 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type JSX } from 'react';
|
|
2
|
+
import { type SidebarRailItemData } from './SidebarRailItem.js';
|
|
3
|
+
export type { SidebarRailItemData };
|
|
4
|
+
interface Props extends Omit<ComponentPropsWithoutRef<'div'>, 'children' | 'aria-label' | 'onSelect'> {
|
|
5
|
+
/**
|
|
6
|
+
* Navigation entries rendered top-to-bottom in the rail.
|
|
7
|
+
*/
|
|
8
|
+
items: SidebarRailItemData[];
|
|
9
|
+
/**
|
|
10
|
+
* Id of the currently selected rail item.
|
|
11
|
+
*/
|
|
12
|
+
activeId: string;
|
|
13
|
+
/**
|
|
14
|
+
* Called when the user selects a different rail item.
|
|
15
|
+
*
|
|
16
|
+
* @param id - Selected item id from {@link SidebarRailItemData.id}.
|
|
17
|
+
*/
|
|
18
|
+
onSelect: (id: string) => void;
|
|
19
|
+
/**
|
|
20
|
+
* When true, shows labels beside icons and uses the expanded width.
|
|
21
|
+
*/
|
|
22
|
+
expanded: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Called when the user toggles the rail between collapsed and expanded.
|
|
25
|
+
*
|
|
26
|
+
* @param expanded - Next expanded state.
|
|
27
|
+
*/
|
|
28
|
+
onExpandedChange: (expanded: boolean) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Accessible name for the vertical tablist of sidebar modes.
|
|
31
|
+
*/
|
|
32
|
+
ariaLabel?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Id of the sidebar panel controlled by each rail tab (`aria-controls`).
|
|
35
|
+
*/
|
|
36
|
+
panelId?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Vertical activity rail for switching sidebar modes.
|
|
40
|
+
*
|
|
41
|
+
* Collapsed shows icons only; expanded shows icons with labels. Each item is a
|
|
42
|
+
* full-width tab section with an edge-to-edge separator after it (including the
|
|
43
|
+
* last item, so the list has a bottom border before the footer); active chrome
|
|
44
|
+
* uses the sidebar-rail-active token. Items form a vertical tablist with
|
|
45
|
+
* roving tabindex; Arrow keys move focus and selection; Home/End jump to the
|
|
46
|
+
* first/last item. Expand/collapse sits outside the tablist as its own Tab stop.
|
|
47
|
+
*/
|
|
48
|
+
export declare function SidebarRail({ items, activeId, onSelect, expanded, onExpandedChange, ariaLabel, panelId, className, ...props }: Props): JSX.Element;
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SidebarRail/index.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EAIT,MAAM,OAAO,CAAC;AAGf,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAQpC,UAAU,KAAM,SAAQ,IAAI,CAC1B,wBAAwB,CAAC,KAAK,CAAC,EAC/B,UAAU,GAAG,YAAY,GAAG,UAAU,CACvC;IACC;;OAEG;IACH,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,SAA2B,EAC3B,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAyGrB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@harborclient/sdk/jsx-runtime";
|
|
2
|
+
import { faAnglesLeft, faAnglesRight } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { useCallback, useRef } from 'react';
|
|
4
|
+
import { FaIcon } from '../FaIcon/index.js';
|
|
5
|
+
import { cn, resolveTabListKeyAction } from '../utils.js';
|
|
6
|
+
import { SidebarRailItem } from './SidebarRailItem.js';
|
|
7
|
+
import { SidebarRailSeparator } from './SidebarRailSeparator.js';
|
|
8
|
+
/**
|
|
9
|
+
* Shared focus-visible outline for the expand/collapse control.
|
|
10
|
+
*/
|
|
11
|
+
const railExpandFocusVisible = 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-accent';
|
|
12
|
+
/**
|
|
13
|
+
* Vertical activity rail for switching sidebar modes.
|
|
14
|
+
*
|
|
15
|
+
* Collapsed shows icons only; expanded shows icons with labels. Each item is a
|
|
16
|
+
* full-width tab section with an edge-to-edge separator after it (including the
|
|
17
|
+
* last item, so the list has a bottom border before the footer); active chrome
|
|
18
|
+
* uses the sidebar-rail-active token. Items form a vertical tablist with
|
|
19
|
+
* roving tabindex; Arrow keys move focus and selection; Home/End jump to the
|
|
20
|
+
* first/last item. Expand/collapse sits outside the tablist as its own Tab stop.
|
|
21
|
+
*/
|
|
22
|
+
export function SidebarRail({ items, activeId, onSelect, expanded, onExpandedChange, ariaLabel = 'Sidebar modes', panelId, className, ...props }) {
|
|
23
|
+
const itemRefs = useRef([]);
|
|
24
|
+
/**
|
|
25
|
+
* Focuses the item button at the given index when it exists.
|
|
26
|
+
*
|
|
27
|
+
* @param index - Zero-based item index to focus.
|
|
28
|
+
*/
|
|
29
|
+
const focusItemAt = useCallback((index) => {
|
|
30
|
+
const clamped = Math.max(0, Math.min(index, itemRefs.current.length - 1));
|
|
31
|
+
itemRefs.current[clamped]?.focus();
|
|
32
|
+
}, []);
|
|
33
|
+
/**
|
|
34
|
+
* Handles tablist keyboard navigation: arrows/Home/End move focus and select.
|
|
35
|
+
*
|
|
36
|
+
* @param event - Keyboard event from the focused item.
|
|
37
|
+
* @param index - Index of the item that received the event.
|
|
38
|
+
*/
|
|
39
|
+
const handleItemKeyDown = useCallback((event, index) => {
|
|
40
|
+
const nextIndex = resolveTabListKeyAction(event.key, index, items.length);
|
|
41
|
+
if (nextIndex === null) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
event.preventDefault();
|
|
45
|
+
const nextItem = items[nextIndex];
|
|
46
|
+
if (nextItem == null) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
onSelect(nextItem.id);
|
|
50
|
+
focusItemAt(nextIndex);
|
|
51
|
+
}, [focusItemAt, items, onSelect]);
|
|
52
|
+
/**
|
|
53
|
+
* Toggles the rail between collapsed and expanded density.
|
|
54
|
+
*/
|
|
55
|
+
const handleToggleExpanded = useCallback(() => {
|
|
56
|
+
onExpandedChange(!expanded);
|
|
57
|
+
}, [expanded, onExpandedChange]);
|
|
58
|
+
const expandLabel = expanded ? 'Collapse' : 'Expand';
|
|
59
|
+
const expandAriaLabel = expanded ? 'Collapse sidebar rail' : 'Expand sidebar rail';
|
|
60
|
+
return (_jsxs("div", { ...props, className: cn('hc-sidebar-rail app-no-drag flex h-full shrink-0 flex-col bg-sidebar-rail text-sidebar-rail-text', expanded ? 'w-[168px]' : 'w-18', 'transition-[width] duration-200 ease-out motion-reduce:transition-none', className), children: [_jsx("div", { role: "tablist", "aria-orientation": "vertical", "aria-label": ariaLabel, className: "hc-sidebar-rail-items flex min-h-0 flex-1 flex-col items-stretch overflow-x-hidden overflow-y-auto", children: items.flatMap((item, index) => [
|
|
61
|
+
_jsx(SidebarRailItem, { item: item, active: item.id === activeId, expanded: expanded, tabIndex: item.id === activeId ? 0 : -1, panelId: panelId, onSelect: () => onSelect(item.id), onKeyDown: (event) => handleItemKeyDown(event, index), buttonRef: (node) => {
|
|
62
|
+
itemRefs.current[index] = node;
|
|
63
|
+
} }, item.id),
|
|
64
|
+
_jsx(SidebarRailSeparator, {}, `${item.id}-separator`)
|
|
65
|
+
]) }), _jsx("div", { className: "hc-sidebar-rail-footer shrink-0", children: _jsxs("button", { type: "button", className: cn('hc-sidebar-rail-expand app-no-drag inline-flex min-h-12 w-full cursor-pointer items-center rounded-none border-none bg-transparent py-3 text-sidebar-rail-text', expanded ? 'gap-2 px-3' : 'justify-center', 'hover:bg-sidebar-rail-active', railExpandFocusVisible), "aria-label": expanded ? undefined : expandAriaLabel, "aria-expanded": expanded, title: expandLabel, onClick: handleToggleExpanded, children: [_jsx(FaIcon, { icon: expanded ? faAnglesLeft : faAnglesRight, className: "h-[18px]! w-[18px]!", "aria-hidden": true }), expanded ? _jsx("span", { className: "min-w-0 truncate text-left", children: expandLabel }) : null] }) })] }));
|
|
66
|
+
}
|
|
@@ -14,6 +14,10 @@ interface Props {
|
|
|
14
14
|
* Called when the menu should close without selecting an item.
|
|
15
15
|
*/
|
|
16
16
|
onClose: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Accessible name for the menu. Defaults to "Tab actions".
|
|
19
|
+
*/
|
|
20
|
+
ariaLabel?: string;
|
|
17
21
|
}
|
|
18
22
|
/**
|
|
19
23
|
* Cursor-positioned context menu for tab bars, rendered in a portal at the click point.
|
|
@@ -21,6 +25,6 @@ interface Props {
|
|
|
21
25
|
* @param props - Menu groups, cursor anchor, and close handler.
|
|
22
26
|
* @returns Portal menu panel, or null when there are no items.
|
|
23
27
|
*/
|
|
24
|
-
export declare function TabContextMenu({ groups, position, onClose }: Props): JSX.Element | null;
|
|
28
|
+
export declare function TabContextMenu({ groups, position, onClose, ariaLabel }: Props): JSX.Element | null;
|
|
25
29
|
export {};
|
|
26
30
|
//# sourceMappingURL=TabContextMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/TabBar/TabContextMenu.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAU1E,UAAU,KAAK;IACb;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"TabContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/TabBar/TabContextMenu.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAiB,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAU1E,UAAU,KAAK;IACb;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAyB,EAC1B,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAoK5B"}
|
|
@@ -10,7 +10,7 @@ import { cn, resolveTabListKeyAction } from '../utils.js';
|
|
|
10
10
|
* @param props - Menu groups, cursor anchor, and close handler.
|
|
11
11
|
* @returns Portal menu panel, or null when there are no items.
|
|
12
12
|
*/
|
|
13
|
-
export function TabContextMenu({ groups, position, onClose }) {
|
|
13
|
+
export function TabContextMenu({ groups, position, onClose, ariaLabel = 'Tab actions' }) {
|
|
14
14
|
const menuRef = useRef(null);
|
|
15
15
|
const itemRefs = useRef([]);
|
|
16
16
|
const [focusedIndex, setFocusedIndex] = useState(0);
|
|
@@ -104,7 +104,7 @@ export function TabContextMenu({ groups, position, onClose }) {
|
|
|
104
104
|
if (flatItems.length === 0) {
|
|
105
105
|
return null;
|
|
106
106
|
}
|
|
107
|
-
return portalToBody(_jsx("div", { ref: menuRef, role: "menu", "aria-label":
|
|
107
|
+
return portalToBody(_jsx("div", { ref: menuRef, role: "menu", "aria-label": ariaLabel, className: "hc-tab-context-menu app-no-drag fixed z-[70] min-w-[200px] rounded-md border border-separator bg-surface py-1 shadow-md", style: { left: clampedPosition.x, top: clampedPosition.y }, onKeyDown: handleMenuKeyDown, children: groups.map((group, groupIndex) => {
|
|
108
108
|
let flatIndex = groups
|
|
109
109
|
.slice(0, groupIndex)
|
|
110
110
|
.reduce((count, groupItems) => count + groupItems.length, 0);
|
|
@@ -10,8 +10,8 @@ const segmentFocusVisible = 'focus-visible:outline focus-visible:outline-2 focus
|
|
|
10
10
|
*/
|
|
11
11
|
export function segment(active) {
|
|
12
12
|
return active
|
|
13
|
-
? `cursor-pointer rounded-md border-none bg-selection px-3
|
|
14
|
-
: `cursor-pointer rounded-md border-none bg-transparent px-3
|
|
13
|
+
? `cursor-pointer rounded-md border-none bg-selection px-3 h-[32px] leading-none text-text app-no-drag ${segmentFocusVisible}`
|
|
14
|
+
: `cursor-pointer rounded-md border-none bg-transparent px-3 h-[32px] leading-none text-muted hover:text-text app-no-drag ${segmentFocusVisible}`;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Active/inactive surface classes for a document-style tab in the tab bar.
|
|
@@ -70,6 +70,8 @@ export { ScreenshotLightbox } from './ScreenshotCarousel/ScreenshotLightbox.js';
|
|
|
70
70
|
export { screenshotCarouselImageFrameClassName, screenshotCarouselLightboxEnabled, type ScreenshotCarouselVariant } from './ScreenshotCarousel/variants.js';
|
|
71
71
|
export { SidebarSection, SidebarSections, type SidebarSectionConfig } from './SidebarSection/index.js';
|
|
72
72
|
export { Sidebar, type SidebarSide } from './Sidebar/index.js';
|
|
73
|
+
export { SidebarRail } from './SidebarRail/index.js';
|
|
74
|
+
export type { SidebarRailItemData } from './SidebarRail/index.js';
|
|
73
75
|
export { DEFAULT_HEIGHT, MIN_HEIGHT, footerPanelClassName, footerPanelCloseButtonClassName, getFooterPanelMaxSize } from './Resizable/footerPanelUtils.js';
|
|
74
76
|
export { ResourceList, ResourceListRow, ResourceListPrimary, ResourceListEmptyItem } from './ResourceList/index.js';
|
|
75
77
|
export { RoundButton } from './RoundButton/index.js';
|
|
@@ -108,6 +110,6 @@ export { cleanVariables, resolveTabListKeyAction } from './utils.js';
|
|
|
108
110
|
export type { TabListKeyOptions } from './utils.js';
|
|
109
111
|
export { useDialogFocus, getFocusableElements } from './useDialogFocus.js';
|
|
110
112
|
export { segment, segmentGroup, tabItem } from './classes.js';
|
|
111
|
-
export { SidebarItem, SidebarListbox, SidebarList, SidebarTree, SidebarTreeGroup, handleSidebarOptionKeyDown, type SidebarItemListboxOption, type SidebarItemTreeItem, SortableSidebarItem, stopSortableDragPointerDown, SidebarMarkerDot, SidebarBadge, sourceRow, METHOD_CLASSES, methodBadgeClass, documentIconClass, statusDotVariant, statusDotClass, SIDEBAR_ITEM_BUTTON_CLASS, SIDEBAR_CHEVRON_BUTTON_CLASS, SIDEBAR_CHEVRON_ICON_CLASS, SIDEBAR_CHEVRON_SLOT_CLASS, SIDEBAR_CHEVRON_LABEL_OFFSET_CLASS, SidebarMethodBadge, SidebarStatusDot, SidebarStatusMarker, SidebarRequestItem, SidebarDocumentItem, SidebarFolderItem, SidebarRunItem, SidebarHistoryItem, SidebarEnvironmentItem, SidebarWorkspaceItem, SidebarCommitItem, type SidebarItemSortableConfig, type SidebarBadgeVariant, type SidebarCommitPushStatus } from './SidebarItem/index.js';
|
|
113
|
+
export { SidebarItem, SidebarListbox, SidebarList, SidebarTree, SidebarTreeGroup, handleSidebarOptionKeyDown, type SidebarItemListboxOption, type SidebarItemTreeItem, SortableSidebarItem, stopSortableDragPointerDown, SidebarMarkerDot, SidebarBadge, sourceRow, METHOD_CLASSES, methodBadgeClass, documentIconClass, statusDotVariant, statusDotClass, SIDEBAR_ITEM_BUTTON_CLASS, SIDEBAR_CHEVRON_BUTTON_CLASS, SIDEBAR_CHEVRON_ICON_CLASS, SIDEBAR_CHEVRON_SLOT_CLASS, SIDEBAR_CHEVRON_LABEL_OFFSET_CLASS, SidebarMethodBadge, SidebarStatusDot, SidebarStatusMarker, SidebarRequestItem, SidebarDocumentItem, SidebarFolderItem, SidebarRunItem, SidebarHistoryItem, SidebarEnvironmentItem, SidebarWorkspaceItem, SidebarWebsiteItem, SidebarCommitItem, type SidebarItemSortableConfig, type SidebarBadgeVariant, type SidebarCommitPushStatus } from './SidebarItem/index.js';
|
|
112
114
|
export type { FormDataPart, FormDataPartType, HttpMethod, KeyValue, Variable } from '../types.js';
|
|
113
115
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
package/dist/components/index.js
CHANGED
|
@@ -52,6 +52,7 @@ export { ScreenshotLightbox } from './ScreenshotCarousel/ScreenshotLightbox.js';
|
|
|
52
52
|
export { screenshotCarouselImageFrameClassName, screenshotCarouselLightboxEnabled } from './ScreenshotCarousel/variants.js';
|
|
53
53
|
export { SidebarSection, SidebarSections } from './SidebarSection/index.js';
|
|
54
54
|
export { Sidebar } from './Sidebar/index.js';
|
|
55
|
+
export { SidebarRail } from './SidebarRail/index.js';
|
|
55
56
|
export { DEFAULT_HEIGHT, MIN_HEIGHT, footerPanelClassName, footerPanelCloseButtonClassName, getFooterPanelMaxSize } from './Resizable/footerPanelUtils.js';
|
|
56
57
|
export { ResourceList, ResourceListRow, ResourceListPrimary, ResourceListEmptyItem } from './ResourceList/index.js';
|
|
57
58
|
export { RoundButton } from './RoundButton/index.js';
|
|
@@ -79,4 +80,4 @@ export { VisibilityMenu } from './VisibilityMenu/index.js';
|
|
|
79
80
|
export { cleanVariables, resolveTabListKeyAction } from './utils.js';
|
|
80
81
|
export { useDialogFocus, getFocusableElements } from './useDialogFocus.js';
|
|
81
82
|
export { segment, segmentGroup, tabItem } from './classes.js';
|
|
82
|
-
export { SidebarItem, SidebarListbox, SidebarList, SidebarTree, SidebarTreeGroup, handleSidebarOptionKeyDown, SortableSidebarItem, stopSortableDragPointerDown, SidebarMarkerDot, SidebarBadge, sourceRow, METHOD_CLASSES, methodBadgeClass, documentIconClass, statusDotVariant, statusDotClass, SIDEBAR_ITEM_BUTTON_CLASS, SIDEBAR_CHEVRON_BUTTON_CLASS, SIDEBAR_CHEVRON_ICON_CLASS, SIDEBAR_CHEVRON_SLOT_CLASS, SIDEBAR_CHEVRON_LABEL_OFFSET_CLASS, SidebarMethodBadge, SidebarStatusDot, SidebarStatusMarker, SidebarRequestItem, SidebarDocumentItem, SidebarFolderItem, SidebarRunItem, SidebarHistoryItem, SidebarEnvironmentItem, SidebarWorkspaceItem, SidebarCommitItem } from './SidebarItem/index.js';
|
|
83
|
+
export { SidebarItem, SidebarListbox, SidebarList, SidebarTree, SidebarTreeGroup, handleSidebarOptionKeyDown, SortableSidebarItem, stopSortableDragPointerDown, SidebarMarkerDot, SidebarBadge, sourceRow, METHOD_CLASSES, methodBadgeClass, documentIconClass, statusDotVariant, statusDotClass, SIDEBAR_ITEM_BUTTON_CLASS, SIDEBAR_CHEVRON_BUTTON_CLASS, SIDEBAR_CHEVRON_ICON_CLASS, SIDEBAR_CHEVRON_SLOT_CLASS, SIDEBAR_CHEVRON_LABEL_OFFSET_CLASS, SidebarMethodBadge, SidebarStatusDot, SidebarStatusMarker, SidebarRequestItem, SidebarDocumentItem, SidebarFolderItem, SidebarRunItem, SidebarHistoryItem, SidebarEnvironmentItem, SidebarWorkspaceItem, SidebarWebsiteItem, SidebarCommitItem } from './SidebarItem/index.js';
|
|
@@ -19,6 +19,7 @@ let importRegistrationCounter = 0;
|
|
|
19
19
|
|
|
20
20
|
/** Monotonic id generator for MCP server registrations within one webview. */
|
|
21
21
|
let mcpRegistrationCounter = 0;
|
|
22
|
+
let aiChatPointerRegistrationCounter = 0;
|
|
22
23
|
|
|
23
24
|
/** Plugin id prefix for built-in HarborClient host commands executed in the renderer. */
|
|
24
25
|
const HOST_COMMAND_OWNER = 'harborclient';
|
|
@@ -120,6 +121,7 @@ export function installImportInvokeListener() {
|
|
|
120
121
|
*/
|
|
121
122
|
export function resetMcpServersForTests() {
|
|
122
123
|
mcpRegistrationCounter = 0;
|
|
124
|
+
aiChatPointerRegistrationCounter = 0;
|
|
123
125
|
}
|
|
124
126
|
|
|
125
127
|
/**
|
|
@@ -345,6 +347,11 @@ export function createBridgedPluginContext({ pluginId, mode, contributionId, rea
|
|
|
345
347
|
*/
|
|
346
348
|
const assertMcp = () => assertPermission('mcp');
|
|
347
349
|
|
|
350
|
+
/**
|
|
351
|
+
* Asserts AI permission for chat pointer registration and copy-to-chat.
|
|
352
|
+
*/
|
|
353
|
+
const assertAi = () => assertPermission('ai');
|
|
354
|
+
|
|
348
355
|
/**
|
|
349
356
|
* Asserts that a contribution id is declared in manifest.contributes.
|
|
350
357
|
*
|
|
@@ -609,6 +616,24 @@ export function createBridgedPluginContext({ pluginId, mode, contributionId, rea
|
|
|
609
616
|
panel.Component
|
|
610
617
|
);
|
|
611
618
|
},
|
|
619
|
+
registerSidebarRailItem: (item) => {
|
|
620
|
+
assertManifestContribution('sidebarRailItems', item.id);
|
|
621
|
+
if (!canRegisterUi()) {
|
|
622
|
+
return noopDisposable();
|
|
623
|
+
}
|
|
624
|
+
return registerUiContribution(
|
|
625
|
+
'sidebarRailItems',
|
|
626
|
+
item.id,
|
|
627
|
+
{
|
|
628
|
+
id: `plugin:${pluginId}:${item.id}`,
|
|
629
|
+
title: item.title,
|
|
630
|
+
icon: item.icon,
|
|
631
|
+
order: item.order,
|
|
632
|
+
contributionId: item.id
|
|
633
|
+
},
|
|
634
|
+
item.Component
|
|
635
|
+
);
|
|
636
|
+
},
|
|
612
637
|
registerSidebarSection: (section) => {
|
|
613
638
|
assertManifestContribution('sidebarSections', section.id);
|
|
614
639
|
if (!canRegisterUi()) {
|
|
@@ -1187,6 +1212,37 @@ export function createBridgedPluginContext({ pluginId, mode, contributionId, rea
|
|
|
1187
1212
|
void bridgeInvoke('mcp.unregisterServer', { registrationId });
|
|
1188
1213
|
});
|
|
1189
1214
|
}
|
|
1215
|
+
},
|
|
1216
|
+
ai: {
|
|
1217
|
+
registerChatPointer: (config) => {
|
|
1218
|
+
assertAi();
|
|
1219
|
+
if (!isAgent) {
|
|
1220
|
+
return noopDisposable();
|
|
1221
|
+
}
|
|
1222
|
+
const pointerId = String(config?.id ?? '').trim();
|
|
1223
|
+
if (!/^[a-z][a-z0-9-]*$/.test(pointerId)) {
|
|
1224
|
+
throw new Error(`Invalid chat pointer id: ${pointerId}`);
|
|
1225
|
+
}
|
|
1226
|
+
const registrationId = String(++aiChatPointerRegistrationCounter);
|
|
1227
|
+
void bridgeInvoke('ai.registerChatPointer', {
|
|
1228
|
+
registrationId,
|
|
1229
|
+
pointerId,
|
|
1230
|
+
agentGuidance: config?.agentGuidance
|
|
1231
|
+
});
|
|
1232
|
+
return track(() => {
|
|
1233
|
+
void bridgeInvoke('ai.unregisterChatPointer', { registrationId });
|
|
1234
|
+
});
|
|
1235
|
+
},
|
|
1236
|
+
copyToChat: async (input) => {
|
|
1237
|
+
assertAi();
|
|
1238
|
+
await bridgeInvoke('ai.copyToChat', {
|
|
1239
|
+
pointerId: String(input?.pointerId ?? '').trim(),
|
|
1240
|
+
key: String(input?.key ?? '').trim(),
|
|
1241
|
+
label: String(input?.label ?? '').trim(),
|
|
1242
|
+
context: String(input?.context ?? ''),
|
|
1243
|
+
selection: input?.selection
|
|
1244
|
+
});
|
|
1245
|
+
}
|
|
1190
1246
|
}
|
|
1191
1247
|
};
|
|
1192
1248
|
}
|
|
@@ -1267,7 +1323,8 @@ export function mountContributionView({
|
|
|
1267
1323
|
'collectionSettingsTabs',
|
|
1268
1324
|
'modals',
|
|
1269
1325
|
'mainViews',
|
|
1270
|
-
'sidebarPanels'
|
|
1326
|
+
'sidebarPanels',
|
|
1327
|
+
'sidebarRailItems'
|
|
1271
1328
|
]);
|
|
1272
1329
|
|
|
1273
1330
|
if (FILL_SURFACE_KINDS.has(kind) && slot === 'content') {
|
package/dist/snippets.d.ts
CHANGED
|
@@ -403,6 +403,12 @@ interface HcScriptApi {
|
|
|
403
403
|
* Omit model (or options) to use the first available model.
|
|
404
404
|
*/
|
|
405
405
|
ask(prompt: string, options?: HcAskOptions): Promise<string | null>;
|
|
406
|
+
/**
|
|
407
|
+
* Resolves after the given delay. Use for pacing between script steps.
|
|
408
|
+
*
|
|
409
|
+
* @param milliseconds - Non-negative finite delay in milliseconds.
|
|
410
|
+
*/
|
|
411
|
+
sleep(milliseconds: number): Promise<void>;
|
|
406
412
|
test(name: string, fn: () => void): void;
|
|
407
413
|
/** Chai BDD expect; see https://www.chaijs.com/api/bdd/ */
|
|
408
414
|
expect: HcExpectStatic;
|
package/dist/types.d.ts
CHANGED
|
@@ -163,6 +163,9 @@ export interface SettingsSectionContribution extends UiContributionBase {
|
|
|
163
163
|
* To replace the built-in Collections sidebar, set `replaces: "collections"` on
|
|
164
164
|
* the matching manifest entry (not on this runtime object). The host copies that
|
|
165
165
|
* field into the registry when the panel is registered.
|
|
166
|
+
*
|
|
167
|
+
* For activity-rail icons that open a sidebar body while keeping the rail
|
|
168
|
+
* visible, use {@link SidebarRailItemContribution} instead.
|
|
166
169
|
*/
|
|
167
170
|
export interface SidebarPanelContribution extends UiContributionBase {
|
|
168
171
|
/**
|
|
@@ -179,6 +182,35 @@ export interface SidebarPanelContribution extends UiContributionBase {
|
|
|
179
182
|
*/
|
|
180
183
|
order?: number;
|
|
181
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Registers an activity-rail button that opens a full sidebar body when selected.
|
|
187
|
+
*
|
|
188
|
+
* Distinct from {@link SidebarPanelContribution} (horizontal switcher; hides the
|
|
189
|
+
* rail). Manifest: `contributes.sidebarRailItems`. Requires the `ui` permission.
|
|
190
|
+
*
|
|
191
|
+
* The host mounts the body with `resizeMode="fill"` and keeps the activity rail
|
|
192
|
+
* visible. Use {@link SidebarPanelViewContext} via the host surface context for
|
|
193
|
+
* the current sidebar selection.
|
|
194
|
+
*/
|
|
195
|
+
export interface SidebarRailItemContribution extends UiContributionBase {
|
|
196
|
+
/**
|
|
197
|
+
* Curated icon name shown on the activity rail. The host maps this to a
|
|
198
|
+
* built-in Font Awesome icon. Supported names: `server`, `database`, `globe`,
|
|
199
|
+
* `code`, `robot`, `puzzle-piece`, `bolt`, `flask`. Unknown names fall back to
|
|
200
|
+
* `puzzle-piece`.
|
|
201
|
+
*/
|
|
202
|
+
icon: string;
|
|
203
|
+
/**
|
|
204
|
+
* Full sidebar content for this rail destination. Use {@link PluginContext.react}
|
|
205
|
+
* — do not bundle React.
|
|
206
|
+
*/
|
|
207
|
+
Component: React.ComponentType;
|
|
208
|
+
/**
|
|
209
|
+
* Sort order among plugin rail items (appended after built-in modes). Lower
|
|
210
|
+
* values appear first.
|
|
211
|
+
*/
|
|
212
|
+
order?: number;
|
|
213
|
+
}
|
|
182
214
|
/**
|
|
183
215
|
* Adds a collapsible block inside the scrollable sidebar, using the same pattern
|
|
184
216
|
* as the built-in Collections and Environments sections.
|
|
@@ -647,14 +679,26 @@ export interface WorkflowActionRef {
|
|
|
647
679
|
*/
|
|
648
680
|
payload: unknown;
|
|
649
681
|
}
|
|
682
|
+
/**
|
|
683
|
+
* Mode of the workflow footer panel when a plugin surface or toolbar action runs.
|
|
684
|
+
*
|
|
685
|
+
* - `record` — live recording session (no persisted workflow yet; `workflowId` is `-1`)
|
|
686
|
+
* - `play` — playback without host edit controls
|
|
687
|
+
* - `edit` — timeline editor with unsaved buffer edits
|
|
688
|
+
*/
|
|
689
|
+
export type WorkflowPanelPluginMode = 'record' | 'play' | 'edit';
|
|
650
690
|
/**
|
|
651
691
|
* Context passed to a workflow toolbar action command when the user clicks the button.
|
|
652
692
|
*/
|
|
653
693
|
export interface WorkflowToolbarActionContext {
|
|
654
694
|
/**
|
|
655
|
-
* Database id of the workflow open in play/edit mode.
|
|
695
|
+
* Database id of the workflow open in play/edit mode, or `-1` while recording.
|
|
656
696
|
*/
|
|
657
697
|
workflowId: number;
|
|
698
|
+
/**
|
|
699
|
+
* Active workflow footer panel mode.
|
|
700
|
+
*/
|
|
701
|
+
mode: WorkflowPanelPluginMode;
|
|
658
702
|
/**
|
|
659
703
|
* 0-based index of the selected timeline action, or `-1` when none is selected.
|
|
660
704
|
*/
|
|
@@ -669,7 +713,10 @@ export interface WorkflowToolbarActionContext {
|
|
|
669
713
|
dirty: boolean;
|
|
670
714
|
}
|
|
671
715
|
/**
|
|
672
|
-
* Adds a button to the right of Save in the workflow
|
|
716
|
+
* Adds a button to the right of Save in the workflow footer panel toolbar.
|
|
717
|
+
*
|
|
718
|
+
* Surfaces mount in record, play, and edit modes; use {@link WorkflowToolbarActionContext.mode}
|
|
719
|
+
* to tell them apart. Host delete/move/save buttons are edit-only.
|
|
673
720
|
*
|
|
674
721
|
* Register the command handler with {@link PluginCommands.register} separately.
|
|
675
722
|
* The handler receives a single {@link WorkflowToolbarActionContext} argument.
|
|
@@ -703,9 +750,13 @@ export interface WorkflowToolbarActionContribution {
|
|
|
703
750
|
*/
|
|
704
751
|
export interface WorkflowActionBlockContext {
|
|
705
752
|
/**
|
|
706
|
-
* Database id of the workflow open in play/edit mode.
|
|
753
|
+
* Database id of the workflow open in play/edit mode, or `-1` while recording.
|
|
707
754
|
*/
|
|
708
755
|
workflowId: number;
|
|
756
|
+
/**
|
|
757
|
+
* Active workflow footer panel mode.
|
|
758
|
+
*/
|
|
759
|
+
mode: WorkflowPanelPluginMode;
|
|
709
760
|
/**
|
|
710
761
|
* 0-based index of this timeline action.
|
|
711
762
|
*/
|
|
@@ -726,7 +777,8 @@ export interface WorkflowActionBlockContext {
|
|
|
726
777
|
/**
|
|
727
778
|
* Renders a HostedSurface inside matching workflow timeline action blocks.
|
|
728
779
|
*
|
|
729
|
-
*
|
|
780
|
+
* Surfaces mount in record, play, and edit modes; use {@link WorkflowActionBlockContext.mode}
|
|
781
|
+
* to tell them apart. Manifest: `contributes.workflowActionBlocks`. Requires the `ui` permission.
|
|
730
782
|
*/
|
|
731
783
|
export interface WorkflowActionBlockContribution extends UiContributionBase {
|
|
732
784
|
/**
|
|
@@ -818,6 +870,9 @@ export interface StatusBarItemContribution {
|
|
|
818
870
|
* - `surface` — main content background
|
|
819
871
|
* - `sidebar` — left sidebar background
|
|
820
872
|
* - `sidebar-toolbar` — sidebar/footer toolbar strip background
|
|
873
|
+
* - `sidebar-rail` — activity rail background
|
|
874
|
+
* - `sidebar-rail-active` — active/hover activity rail section fill
|
|
875
|
+
* - `sidebar-rail-text` — activity rail icons and labels
|
|
821
876
|
* - `sidebar-section` — sidebar section headers
|
|
822
877
|
* - `sidebar-section-text` — sidebar section header labels and chevrons
|
|
823
878
|
* - `footer` — footer status bar background
|
|
@@ -851,7 +906,7 @@ export interface StatusBarItemContribution {
|
|
|
851
906
|
* - `script-stage-before-all`, `script-stage-before-each`, `script-stage-main`, `script-stage-after-each`, `script-stage-after-all` — script row stage accent colors
|
|
852
907
|
* - `terminal` — footer terminal background
|
|
853
908
|
*/
|
|
854
|
-
export type ThemeColorToken = 'surface' | 'sidebar' | 'sidebar-toolbar' | 'sidebar-section' | 'sidebar-section-text' | 'footer' | 'footer-text' | 'footer-muted' | 'footer-icon-active' | 'toolbar-action-active' | 'breadcrumb-background' | 'breadcrumb-segment' | 'breadcrumb-current' | 'git-staged' | 'git-uncommitted' | 'git-unstaged' | 'git-untracked' | 'control' | 'field' | 'separator' | 'text' | 'text-secondary' | 'muted' | 'accent' | 'selection' | 'doc-markdown' | 'tab-unsaved' | 'tab-underline' | 'resize-handle' | 'variable-token' | 'danger' | 'danger-light' | 'warning' | 'success' | 'info' | 'method-get' | 'method-post' | 'method-put' | 'method-patch' | 'method-delete' | 'method-head' | 'method-options' | 'scrollbar-track' | 'scrollbar-thumb' | 'scrollbar-thumb-hover' | 'scrollbar-thumb-active' | 'script-stage-before-all' | 'script-stage-before-each' | 'script-stage-main' | 'script-stage-after-each' | 'script-stage-after-all' | 'terminal';
|
|
909
|
+
export type ThemeColorToken = 'surface' | 'sidebar' | 'sidebar-toolbar' | 'sidebar-rail' | 'sidebar-rail-active' | 'sidebar-rail-text' | 'sidebar-section' | 'sidebar-section-text' | 'footer' | 'footer-text' | 'footer-muted' | 'footer-icon-active' | 'toolbar-action-active' | 'breadcrumb-background' | 'breadcrumb-segment' | 'breadcrumb-current' | 'git-staged' | 'git-uncommitted' | 'git-unstaged' | 'git-untracked' | 'control' | 'field' | 'separator' | 'text' | 'text-secondary' | 'muted' | 'accent' | 'selection' | 'doc-markdown' | 'tab-unsaved' | 'tab-underline' | 'resize-handle' | 'variable-token' | 'danger' | 'danger-light' | 'warning' | 'success' | 'info' | 'method-get' | 'method-post' | 'method-put' | 'method-patch' | 'method-delete' | 'method-head' | 'method-options' | 'scrollbar-track' | 'scrollbar-thumb' | 'scrollbar-thumb-hover' | 'scrollbar-thumb-active' | 'script-stage-before-all' | 'script-stage-before-each' | 'script-stage-main' | 'script-stage-after-each' | 'script-stage-after-all' | 'terminal';
|
|
855
910
|
/**
|
|
856
911
|
* HarborClient UI metric token ids (typography and geometry).
|
|
857
912
|
*
|
|
@@ -1199,6 +1254,75 @@ export interface PluginMcp {
|
|
|
1199
1254
|
*/
|
|
1200
1255
|
registerServer(config: PluginMcpServerConfig): Disposable;
|
|
1201
1256
|
}
|
|
1257
|
+
/**
|
|
1258
|
+
* Config for {@link PluginAi.registerChatPointer}.
|
|
1259
|
+
*/
|
|
1260
|
+
export interface PluginChatPointerConfig {
|
|
1261
|
+
/**
|
|
1262
|
+
* Pointer id segment in `@plugin.<pluginId>.<id>.<key>`.
|
|
1263
|
+
*
|
|
1264
|
+
* Must match `[a-z][a-z0-9-]*`.
|
|
1265
|
+
*/
|
|
1266
|
+
id: string;
|
|
1267
|
+
/**
|
|
1268
|
+
* Static rules merged into the agent system prompt while the plugin is loaded.
|
|
1269
|
+
*/
|
|
1270
|
+
agentGuidance?: string;
|
|
1271
|
+
}
|
|
1272
|
+
/**
|
|
1273
|
+
* Input for {@link PluginAi.copyToChat}.
|
|
1274
|
+
*/
|
|
1275
|
+
export interface PluginCopyToChatInput {
|
|
1276
|
+
/**
|
|
1277
|
+
* Pointer id previously registered with {@link PluginAi.registerChatPointer}.
|
|
1278
|
+
*/
|
|
1279
|
+
pointerId: string;
|
|
1280
|
+
/**
|
|
1281
|
+
* Opaque key segment after the pointer id (no spaces). Host builds the full token.
|
|
1282
|
+
*/
|
|
1283
|
+
key: string;
|
|
1284
|
+
/**
|
|
1285
|
+
* Badge label shown in the AI composer and message bubbles.
|
|
1286
|
+
*/
|
|
1287
|
+
label: string;
|
|
1288
|
+
/**
|
|
1289
|
+
* Text inlined into the send-time ephemeral system message for the agent.
|
|
1290
|
+
*/
|
|
1291
|
+
context: string;
|
|
1292
|
+
/**
|
|
1293
|
+
* Optional character-range selection appended as `#start.end` on the token.
|
|
1294
|
+
*/
|
|
1295
|
+
selection?: {
|
|
1296
|
+
/**
|
|
1297
|
+
* Inclusive start offset.
|
|
1298
|
+
*/
|
|
1299
|
+
start: number;
|
|
1300
|
+
/**
|
|
1301
|
+
* Exclusive end offset.
|
|
1302
|
+
*/
|
|
1303
|
+
end: number;
|
|
1304
|
+
};
|
|
1305
|
+
}
|
|
1306
|
+
/**
|
|
1307
|
+
* AI chat pointer APIs available on {@link PluginContext.ai}.
|
|
1308
|
+
*
|
|
1309
|
+
* Requires the `ai` permission. Registrations are activation-scoped.
|
|
1310
|
+
*/
|
|
1311
|
+
export interface PluginAi {
|
|
1312
|
+
/**
|
|
1313
|
+
* Registers a namespaced `@plugin.<pluginId>.<id>.…` chat pointer kind.
|
|
1314
|
+
*
|
|
1315
|
+
* @param config - Pointer id and optional static agent guidance.
|
|
1316
|
+
* @returns A {@link Disposable} that unregisters the pointer when disposed.
|
|
1317
|
+
*/
|
|
1318
|
+
registerChatPointer(config: PluginChatPointerConfig): Disposable;
|
|
1319
|
+
/**
|
|
1320
|
+
* Opens the AI sidebar and queues a plugin `@` badge token with a context snapshot.
|
|
1321
|
+
*
|
|
1322
|
+
* @param input - Pointer id, key, label, and context text captured by the plugin.
|
|
1323
|
+
*/
|
|
1324
|
+
copyToChat(input: PluginCopyToChatInput): Promise<void>;
|
|
1325
|
+
}
|
|
1202
1326
|
/**
|
|
1203
1327
|
* **File → Import** handler registration available on {@link PluginContext.imports}.
|
|
1204
1328
|
*
|
|
@@ -1338,6 +1462,16 @@ export interface PluginUi {
|
|
|
1338
1462
|
* @returns A {@link Disposable} that unregisters the panel when disposed.
|
|
1339
1463
|
*/
|
|
1340
1464
|
registerSidebarPanel(panel: SidebarPanelContribution): Disposable;
|
|
1465
|
+
/**
|
|
1466
|
+
* Registers an activity-rail icon that opens a sidebar body when selected.
|
|
1467
|
+
*
|
|
1468
|
+
* Manifest: `contributes.sidebarRailItems` — `item.id` must match an entry there.
|
|
1469
|
+
* Distinct from {@link PluginUi.registerSidebarPanel} (horizontal switcher).
|
|
1470
|
+
*
|
|
1471
|
+
* @param item - Sidebar rail item contribution.
|
|
1472
|
+
* @returns A {@link Disposable} that unregisters the rail item when disposed.
|
|
1473
|
+
*/
|
|
1474
|
+
registerSidebarRailItem(item: SidebarRailItemContribution): Disposable;
|
|
1341
1475
|
/**
|
|
1342
1476
|
* Adds a collapsible block inside the scrollable sidebar.
|
|
1343
1477
|
*
|
|
@@ -2885,6 +3019,10 @@ export interface PluginContext {
|
|
|
2885
3019
|
* permission.
|
|
2886
3020
|
*/
|
|
2887
3021
|
mcp: PluginMcp;
|
|
3022
|
+
/**
|
|
3023
|
+
* AI chat pointer registration and copy-to-chat. Requires the `ai` permission.
|
|
3024
|
+
*/
|
|
3025
|
+
ai: PluginAi;
|
|
2888
3026
|
/**
|
|
2889
3027
|
* Host-managed disposable list used for registration cleanup on deactivation.
|
|
2890
3028
|
*
|