@harborclient/sdk 1.6.4 → 1.6.6
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 +6 -0
- package/dist/components/AnchorMenuPanel/index.js +1 -1
- package/dist/components/Breadcrumb/CrumbSegment.js +1 -1
- package/dist/components/Breadcrumb/EditableSegment.js +2 -2
- package/dist/components/Button/index.js +1 -1
- package/dist/components/CodeEditor/index.d.ts +2 -2
- package/dist/components/CodeEditor/index.js +5 -5
- package/dist/components/CopyToChatButton/index.js +1 -1
- package/dist/components/FooterButton/index.js +2 -2
- package/dist/components/FooterIcon/index.js +1 -1
- package/dist/components/FormDataEditor/index.d.ts.map +1 -1
- package/dist/components/FormDataEditor/index.js +2 -2
- package/dist/components/FormGroup/index.js +2 -2
- package/dist/components/KeyValueEditor/index.d.ts.map +1 -1
- package/dist/components/KeyValueEditor/index.js +1 -1
- package/dist/components/MethodSelect/MethodSelectMenu.js +1 -1
- package/dist/components/MethodSelect/MethodSelectOption.js +1 -1
- package/dist/components/MethodSelect/index.js +1 -1
- package/dist/components/Resizable/ResizeHandle.js +1 -1
- package/dist/components/Resizable/footerPanelUtils.d.ts +1 -1
- package/dist/components/Resizable/footerPanelUtils.d.ts.map +1 -1
- package/dist/components/Resizable/footerPanelUtils.js +2 -2
- package/dist/components/RowActionsMenu/Submenu.js +1 -1
- package/dist/components/RowActionsMenu/index.js +1 -1
- package/dist/components/SidebarItem/SidebarBadge.js +2 -2
- package/dist/components/SidebarItem/SidebarCommitItem.js +1 -1
- package/dist/components/SidebarItem/SidebarFolderItem.js +1 -1
- package/dist/components/SidebarItem/SidebarHistoryItem.d.ts +5 -1
- package/dist/components/SidebarItem/SidebarHistoryItem.d.ts.map +1 -1
- package/dist/components/SidebarItem/SidebarHistoryItem.js +3 -2
- package/dist/components/SidebarItem/sidebarItemClasses.d.ts +3 -3
- package/dist/components/SidebarItem/sidebarItemClasses.d.ts.map +1 -1
- package/dist/components/SidebarItem/sidebarItemClasses.js +5 -5
- package/dist/components/SidebarRail/SidebarRailItem.js +1 -1
- package/dist/components/SidebarRail/index.js +2 -2
- package/dist/components/SidebarSection/SectionItem.js +1 -1
- package/dist/components/SortButton/SortMenu.js +1 -1
- package/dist/components/SortButton/SortMenuOption.js +1 -1
- package/dist/components/TabBar/TabBarShell.js +1 -1
- package/dist/components/TabBar/TabContextMenu.js +1 -1
- package/dist/components/TabBar/TabNewButton.js +2 -2
- package/dist/components/TabBar/index.d.ts.map +1 -1
- package/dist/components/TabBar/index.js +2 -2
- package/dist/components/TabCloseButton/index.js +1 -1
- package/dist/components/Toolbar/index.js +2 -2
- package/dist/components/VariableInput/index.d.ts +2 -2
- package/dist/components/VariableInput/index.js +2 -2
- package/dist/components/VariableTooltip/dom.js +2 -2
- package/dist/components/VisibilityMenu/MenuCheckboxItem.js +1 -1
- package/dist/components/VisibilityMenu/index.js +1 -1
- package/dist/components/classes.d.ts +1 -1
- package/dist/components/classes.d.ts.map +1 -1
- package/dist/components/classes.js +5 -5
- package/dist/components/forms/classes.d.ts +1 -1
- package/dist/components/forms/classes.d.ts.map +1 -1
- package/dist/components/forms/classes.js +1 -1
- package/dist/components/rowActionsMenuHelpers.d.ts.map +1 -1
- package/dist/components/rowActionsMenuHelpers.js +1 -1
- package/dist/http/resolveRequest.d.ts +3 -0
- package/dist/http/resolveRequest.d.ts.map +1 -1
- package/dist/http/resolveRequest.js +4 -1
- package/dist/http/substitute.d.ts +1 -0
- package/dist/http/substitute.d.ts.map +1 -1
- package/dist/http/substitute.js +9 -0
- package/dist/types.d.ts +54 -35
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import { cn } from '../utils.js';
|
|
|
8
8
|
*/
|
|
9
9
|
export function TabNewButton({ ariaLabel, title, wrapped, onClick }) {
|
|
10
10
|
if (wrapped) {
|
|
11
|
-
return (_jsx("div", { className: "flex shrink-0", children: _jsx("button", { type: "button", className: cn('
|
|
11
|
+
return (_jsx("div", { className: "flex shrink-0", children: _jsx("button", { type: "button", className: cn('inline-flex min-h-12 shrink-0 cursor-pointer items-center justify-center self-end rounded-t-lg border border-b-2 px-3 text-[14px]', tabItem(false)), title: title, "aria-label": ariaLabel, onClick: onClick, style: { width: 50 }, children: _jsx(FaIcon, { icon: faPlus, className: "h-3.5 w-3.5" }) }) }));
|
|
12
12
|
}
|
|
13
|
-
return (_jsx("div", { className: "flex shrink-0 items-end px-1", children: _jsx("button", { type: "button", className: "hc-tab-new-button
|
|
13
|
+
return (_jsx("div", { className: "flex shrink-0 items-end px-1", children: _jsx("button", { type: "button", className: "hc-tab-new-button mb-2.5 inline-flex shrink-0 cursor-pointer items-center justify-center border-none bg-transparent px-3 text-[14px] text-muted hover:bg-selection hover:text-text focus-visible:bg-selection focus-visible:text-text", title: title, "aria-label": ariaLabel, onClick: onClick, style: { width: 50 }, children: _jsx(FaIcon, { icon: faPlus, className: "h-3.5 w-3.5" }) }) }));
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TabBar/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAkB,GAAG,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAgCjF,UAAU,KAAK,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACzC;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAE5B;;OAEG;IACH,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAE3B;;OAEG;IACH,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,EAAE,CAAC;IAE5E;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEhC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,SAAS,CAAC;IAEtD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqDD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,EAAE,EAClD,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,cAAc,EACd,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACV,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TabBar/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -254,10 +254,10 @@ export function TabBar({ tabs, activeId, wrap, ariaLabel, tabIdPrefix, panelIdPr
|
|
|
254
254
|
tabIndex: -1,
|
|
255
255
|
sortableDisabled: true,
|
|
256
256
|
exiting: true
|
|
257
|
-
}) }, exitingTab.exitKey)))] }), wrap ? newTabButton : null] }), _jsx(DragOverlay, { children: activeDragTab ? (_jsx("div", { className: "rounded-t-lg border border-separator bg-
|
|
257
|
+
}) }, exitingTab.exitKey)))] }), wrap ? newTabButton : null] }), _jsx(DragOverlay, { children: activeDragTab ? (_jsx("div", { className: "rounded-t-lg border border-separator bg-tab-active px-3 py-2 text-[14px] font-medium shadow-md", children: activeDragTab.dragLabel })) : null })] }), wrap ? null : newTabButton] }));
|
|
258
258
|
const defaultScrollContainer = (row) => (_jsx("div", { className: "min-w-0 flex-1 overflow-x-auto", children: row }));
|
|
259
259
|
const scrollContainer = renderScrollContainer ?? defaultScrollContainer;
|
|
260
|
-
const containerClassName = cn('
|
|
260
|
+
const containerClassName = cn('flex shrink-0 items-end bg-tab-bar pr-2 pl-0', className);
|
|
261
261
|
return (_jsxs("div", { className: containerClassName, children: [wrap ? _jsx("div", { className: "min-w-0 flex-1", children: tabRow }) : scrollContainer(tabRow), contextMenu != null && buildContextMenuGroups != null && (_jsx(TabContextMenu, { groups: contextMenuGroups, position: { x: contextMenu.x, y: contextMenu.y }, onClose: closeContextMenu }))] }));
|
|
262
262
|
}
|
|
263
263
|
export { TabNewButton } from './TabNewButton.js';
|
|
@@ -6,5 +6,5 @@ import { cn } from '../utils.js';
|
|
|
6
6
|
* Close control for document-style tabs in the request editor and AI chat.
|
|
7
7
|
*/
|
|
8
8
|
export function TabCloseButton({ ariaLabel, onClick, title = 'Close tab', tabIndex, className, ...props }) {
|
|
9
|
-
return (_jsx("button", { ...props, type: "button", className: cn('hc-tab-close-button
|
|
9
|
+
return (_jsx("button", { ...props, type: "button", className: cn('hc-tab-close-button inline-flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center self-center rounded-full border-none bg-transparent text-[14px] text-muted hover:bg-selection hover:text-text focus-visible:bg-selection focus-visible:text-text', className), title: title, "aria-label": ariaLabel, tabIndex: tabIndex, onClick: onClick, children: _jsx(FaIcon, { icon: faXmark, className: "hc-tab-close-button-icon h-3.5 w-3.5" }) }));
|
|
10
10
|
}
|
|
@@ -24,7 +24,7 @@ function isToolbarActionActive(action) {
|
|
|
24
24
|
* @returns Class string for the action button.
|
|
25
25
|
*/
|
|
26
26
|
function toolbarActionButtonClasses(active) {
|
|
27
|
-
return cn('hc-toolbar-action
|
|
27
|
+
return cn('hc-toolbar-action inline-flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md border-none', active
|
|
28
28
|
? 'bg-sidebar-section text-toolbar-action-active'
|
|
29
29
|
: 'bg-transparent text-text hover:bg-selection focus-visible:bg-selection focus-visible:text-text', 'disabled:cursor-not-allowed disabled:opacity-50');
|
|
30
30
|
}
|
|
@@ -44,5 +44,5 @@ function renderAction(action) {
|
|
|
44
44
|
* Action icons wrap to additional rows when the sidebar is narrower than one row.
|
|
45
45
|
*/
|
|
46
46
|
export function Toolbar({ actions, toggles, ariaLabel = 'Toolbar', className, ...props }) {
|
|
47
|
-
return (_jsxs("div", { ...props, role: "toolbar", "aria-label": ariaLabel, className: cn('hc-toolbar
|
|
47
|
+
return (_jsxs("div", { ...props, role: "toolbar", "aria-label": ariaLabel, className: cn('hc-toolbar flex min-w-0 shrink-0 flex-wrap items-center gap-y-1 border-b border-separator bg-sidebar-toolbar px-2 py-2', className), children: [_jsx("div", { className: "hc-toolbar-actions flex min-w-0 flex-1 flex-wrap items-center gap-1 leading-none", children: actions.map(renderAction) }), toggles && toggles.length > 0 ? (_jsx("div", { className: "hc-toolbar-toggles ml-auto flex shrink-0 items-center gap-1", children: toggles.map(renderAction) })) : null] }));
|
|
48
48
|
}
|
|
@@ -81,8 +81,8 @@ export interface Props extends Omit<ComponentPropsWithoutRef<'div'>, 'children'
|
|
|
81
81
|
* The variable tooltip is portaled to `document.body` so fixed positioning is not
|
|
82
82
|
* trapped under host chrome (for example request tabs above a scroll container).
|
|
83
83
|
*
|
|
84
|
-
* Token highlight color (`text-[#32D2E2]`)
|
|
85
|
-
*
|
|
84
|
+
* Token highlight color (`text-[#32D2E2]`) relies on host styling in HarborClient
|
|
85
|
+
* `styles.css`.
|
|
86
86
|
*/
|
|
87
87
|
export declare function VariableInput({ value, onChange, variables, placeholder, onKeyDown, className, wrapperClassName, onEditVariable, id, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, source, beforeSuggestionsOpen, onSuggestionsOpenChange, onSuggestionSelect, ...props }: Props): JSX.Element;
|
|
88
88
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -19,8 +19,8 @@ const TOOLTIP_HIDE_DELAY_MS = 400;
|
|
|
19
19
|
* The variable tooltip is portaled to `document.body` so fixed positioning is not
|
|
20
20
|
* trapped under host chrome (for example request tabs above a scroll container).
|
|
21
21
|
*
|
|
22
|
-
* Token highlight color (`text-[#32D2E2]`)
|
|
23
|
-
*
|
|
22
|
+
* Token highlight color (`text-[#32D2E2]`) relies on host styling in HarborClient
|
|
23
|
+
* `styles.css`.
|
|
24
24
|
*/
|
|
25
25
|
export function VariableInput({ value, onChange, variables, placeholder, onKeyDown, className = '', wrapperClassName, onEditVariable, id, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, source, beforeSuggestionsOpen, onSuggestionsOpenChange, onSuggestionSelect, ...props }) {
|
|
26
26
|
const safeValue = value ?? '';
|
|
@@ -41,7 +41,7 @@ export function appendVariableTooltipValueRow(parent, value, key, muted) {
|
|
|
41
41
|
}
|
|
42
42
|
const copyBtn = document.createElement('button');
|
|
43
43
|
copyBtn.type = 'button';
|
|
44
|
-
copyBtn.className = 'cm-variable-tooltip-copy
|
|
44
|
+
copyBtn.className = 'cm-variable-tooltip-copy';
|
|
45
45
|
copyBtn.setAttribute('aria-label', `Copy value for ${key}`);
|
|
46
46
|
copyBtn.appendChild(createTooltipIcon(COPY_ICON_PATH));
|
|
47
47
|
/**
|
|
@@ -81,7 +81,7 @@ export function buildVariableTooltipDom(key, variables, onEditVariable) {
|
|
|
81
81
|
const btn = document.createElement('button');
|
|
82
82
|
btn.type = 'button';
|
|
83
83
|
btn.textContent = 'Edit value';
|
|
84
|
-
btn.className = 'cm-variable-tooltip-edit
|
|
84
|
+
btn.className = 'cm-variable-tooltip-edit';
|
|
85
85
|
btn.setAttribute('aria-label', `Edit value for ${key}`);
|
|
86
86
|
btn.addEventListener('mousedown', (event) => {
|
|
87
87
|
event.preventDefault();
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@harborclient/sdk/jsx-runtime";
|
|
|
2
2
|
import { faCheck } from '@fortawesome/free-solid-svg-icons';
|
|
3
3
|
import { FaIcon } from '../FaIcon/index.js';
|
|
4
4
|
import { cn } from '../utils.js';
|
|
5
|
-
const menuItemClass = 'flex w-full cursor-pointer items-center gap-2 border-none bg-transparent px-3.5 py-1.5 text-left text-[14px] text-text hover:bg-selection
|
|
5
|
+
const menuItemClass = 'flex w-full cursor-pointer items-center gap-2 border-none bg-transparent px-3.5 py-1.5 text-left text-[14px] text-text hover:bg-selection';
|
|
6
6
|
/**
|
|
7
7
|
* Single checkbox-style row in the visibility menu.
|
|
8
8
|
*/
|
|
@@ -129,7 +129,7 @@ export function VisibilityMenu({ items, visibleValues, onToggle }) {
|
|
|
129
129
|
else {
|
|
130
130
|
openMenu(false);
|
|
131
131
|
}
|
|
132
|
-
}, onKeyDown: handleTriggerKeyDown, children: _jsx(FaIcon, { icon: faCaretDown, className: "h-3.5 w-3.5" }) }), isOpen && (_jsx("div", { id: menuElementId, role: "menu", className: "hc-visibility-menu-panel
|
|
132
|
+
}, onKeyDown: handleTriggerKeyDown, children: _jsx(FaIcon, { icon: faCaretDown, className: "h-3.5 w-3.5" }) }), isOpen && (_jsx("div", { id: menuElementId, role: "menu", className: "hc-visibility-menu-panel absolute top-full right-0 z-10 mt-0.5 min-w-[140px] rounded-md border border-separator bg-surface py-1 shadow-md", onKeyDown: handleMenuKeyDown, children: items.map((item, index) => {
|
|
133
133
|
const checked = visibleSet.has(item.value);
|
|
134
134
|
return (_jsx(MenuCheckboxItem, { ref: (element) => {
|
|
135
135
|
itemRefs.current[index] = element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared macOS-style Tailwind class strings for SDK UI components.
|
|
3
3
|
*/
|
|
4
|
-
export declare const segmentGroup = "flex min-w-0 max-w-full w-full p-3 border-b border-separator shadow-[inset_0_0.5px_1px_rgba(0,0,0,0.06)]
|
|
4
|
+
export declare const segmentGroup = "flex min-w-0 max-w-full w-full p-3 border-b border-separator shadow-[inset_0_0.5px_1px_rgba(0,0,0,0.06)]";
|
|
5
5
|
/**
|
|
6
6
|
* Tailwind classes for a segmented control button.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../src/components/classes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../src/components/classes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,YAAY,6GACmF,CAAC;AAK7G;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAI/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAI/C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared macOS-style Tailwind class strings for SDK UI components.
|
|
3
3
|
*/
|
|
4
|
-
export const segmentGroup = 'flex min-w-0 max-w-full w-full p-3 border-b border-separator shadow-[inset_0_0.5px_1px_rgba(0,0,0,0.06)]
|
|
4
|
+
export const segmentGroup = 'flex min-w-0 max-w-full w-full p-3 border-b border-separator shadow-[inset_0_0.5px_1px_rgba(0,0,0,0.06)]';
|
|
5
5
|
const segmentFocusVisible = 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent';
|
|
6
6
|
/**
|
|
7
7
|
* Tailwind classes for a segmented control button.
|
|
@@ -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 h-[32px] leading-none text-text
|
|
14
|
-
: `cursor-pointer rounded-md border-none bg-transparent px-3 h-[32px] leading-none text-muted hover:text-text
|
|
13
|
+
? `cursor-pointer rounded-md border-none bg-selection px-3 h-[32px] leading-none text-text ${segmentFocusVisible}`
|
|
14
|
+
: `cursor-pointer rounded-md border-none bg-transparent px-3 h-[32px] leading-none text-muted hover:text-text ${segmentFocusVisible}`;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Active/inactive surface classes for a document-style tab in the tab bar.
|
|
@@ -26,6 +26,6 @@ export function segment(active) {
|
|
|
26
26
|
*/
|
|
27
27
|
export function tabItem(active) {
|
|
28
28
|
return active
|
|
29
|
-
? 'relative z-[1] border-separator/70 border-b-
|
|
30
|
-
: 'border-separator/50 border-b-separator/50 bg-
|
|
29
|
+
? 'relative z-[1] border-separator/70 border-b-tab-active bg-tab-active text-tab-text [border-bottom-width:var(--mac-tab-border-width)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-accent'
|
|
30
|
+
: 'border-separator/50 border-b-separator/50 bg-tab-inactive text-tab-text-inactive [border-bottom-width:var(--mac-tab-border-width)] hover:bg-tab-hover hover:text-tab-text focus-visible:bg-tab-hover focus-visible:text-tab-text focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-accent';
|
|
31
31
|
}
|
|
@@ -7,7 +7,7 @@ export type FieldVariant = 'control' | 'surface' | 'plain';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const fieldFrame = "overflow-hidden rounded-lg border border-separator bg-field";
|
|
9
9
|
/** Inset control style for standard settings and editor fields. */
|
|
10
|
-
export declare const field = "rounded-lg border border-separator bg-field px-2.5 py-1.5 text-text
|
|
10
|
+
export declare const field = "rounded-lg border border-separator bg-field px-2.5 py-1.5 text-text";
|
|
11
11
|
/** Surface style for modal and Team Hub form fields. */
|
|
12
12
|
export declare const surfaceField = "w-full rounded-lg border border-separator bg-field px-3 py-2.5 text-[15px] text-text";
|
|
13
13
|
/** Transparent overlay checkbox input sized to {@link checkboxBox}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/components/forms/classes.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,UAAU,gEAAgE,CAAC;AAExF,mEAAmE;AACnE,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/components/forms/classes.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,UAAU,gEAAgE,CAAC;AAExF,mEAAmE;AACnE,eAAO,MAAM,KAAK,wEAAwE,CAAC;AAE3F,wDAAwD;AACxD,eAAO,MAAM,YAAY,yFAC+D,CAAC;AAEzF,uEAAuE;AACvE,eAAO,MAAM,aAAa,iGACsE,CAAC;AAEjG,qGAAqG;AACrG,eAAO,MAAM,WAAW,ibACwZ,CAAC;AAEjb,oEAAoE;AACpE,eAAO,MAAM,UAAU,iGACyE,CAAC;AAEjG,kGAAkG;AAClG,eAAO,MAAM,WAAW,8ZACqY,CAAC;AAE9Z,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,8GACwF,CAAC;AAE9G,uEAAuE;AACvE,eAAO,MAAM,WAAW,iGACwE,CAAC;AAEjG,0FAA0F;AAC1F,eAAO,MAAM,WAAW,wcAC+a,CAAC;AAExc,uFAAuF;AACvF,eAAO,MAAM,WAAW,0JACiI,CAAC;AAE1J;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAOpB"}
|
|
@@ -7,7 +7,7 @@ import { cn } from '../utils.js';
|
|
|
7
7
|
*/
|
|
8
8
|
export const fieldFrame = 'overflow-hidden rounded-lg border border-separator bg-field';
|
|
9
9
|
/** Inset control style for standard settings and editor fields. */
|
|
10
|
-
export const field = 'rounded-lg border border-separator bg-field px-2.5 py-1.5 text-text
|
|
10
|
+
export const field = 'rounded-lg border border-separator bg-field px-2.5 py-1.5 text-text';
|
|
11
11
|
/** Surface style for modal and Team Hub form fields. */
|
|
12
12
|
export const surfaceField = 'w-full rounded-lg border border-separator bg-field px-3 py-2.5 text-[15px] text-text';
|
|
13
13
|
/** Transparent overlay checkbox input sized to {@link checkboxBox}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowActionsMenuHelpers.d.ts","sourceRoot":"","sources":["../../src/components/rowActionsMenuHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"rowActionsMenuHelpers.d.ts","sourceRoot":"","sources":["../../src/components/rowActionsMenuHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAYtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,QAAQ,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAChB,MAAM,GAAG,IAAI,CAWf;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAYvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,GACzC,QAAQ,EAAE,EAAE,CAsBd"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* `RowActionsMenu` panel and its flyout `Submenu` panels.
|
|
4
4
|
*/
|
|
5
5
|
export function menuItemClass(variant, disabled) {
|
|
6
|
-
const base = 'flex w-full items-center gap-2 border-none bg-transparent px-3.5 py-1.5 text-left
|
|
6
|
+
const base = 'flex w-full items-center gap-2 border-none bg-transparent px-3.5 py-1.5 text-left';
|
|
7
7
|
if (disabled) {
|
|
8
8
|
return `${base} cursor-not-allowed text-muted opacity-60`;
|
|
9
9
|
}
|
|
@@ -38,7 +38,10 @@ export declare function encodeBasicAuth(username: string, password: string): str
|
|
|
38
38
|
/**
|
|
39
39
|
* Builds the Authorization header value from an auth config.
|
|
40
40
|
*
|
|
41
|
+
* OAuth 2.0 returns null here — token fetch is host-side, not a static header.
|
|
42
|
+
*
|
|
41
43
|
* @param auth - Auth configuration from the request or collection.
|
|
44
|
+
* @returns Header value such as `Basic …` or `Bearer …`, or null when auth is inactive.
|
|
42
45
|
*/
|
|
43
46
|
export declare function buildAuthHeaderValue(auth: AuthConfig): string | null;
|
|
44
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRequest.d.ts","sourceRoot":"","sources":["../../src/http/resolveRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG/E,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAiBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED
|
|
1
|
+
{"version":3,"file":"resolveRequest.d.ts","sourceRoot":"","sources":["../../src/http/resolveRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG/E,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAiBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAiBpE;AA4BD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAwBpE;AAsBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BxB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAwB1E"}
|
|
@@ -34,10 +34,13 @@ export function encodeBasicAuth(username, password) {
|
|
|
34
34
|
/**
|
|
35
35
|
* Builds the Authorization header value from an auth config.
|
|
36
36
|
*
|
|
37
|
+
* OAuth 2.0 returns null here — token fetch is host-side, not a static header.
|
|
38
|
+
*
|
|
37
39
|
* @param auth - Auth configuration from the request or collection.
|
|
40
|
+
* @returns Header value such as `Basic …` or `Bearer …`, or null when auth is inactive.
|
|
38
41
|
*/
|
|
39
42
|
export function buildAuthHeaderValue(auth) {
|
|
40
|
-
if (auth.type === 'none') {
|
|
43
|
+
if (auth.type === 'none' || auth.type === 'oauth2') {
|
|
41
44
|
return null;
|
|
42
45
|
}
|
|
43
46
|
if (auth.type === 'basic') {
|
|
@@ -16,6 +16,7 @@ export declare function substituteVariables(text: string, runtimeVars: Record<st
|
|
|
16
16
|
*
|
|
17
17
|
* @param auth - Auth config with raw editor values.
|
|
18
18
|
* @param substitute - Function that resolves placeholders in a string.
|
|
19
|
+
* @returns Auth config with substituted credential fields.
|
|
19
20
|
*/
|
|
20
21
|
export declare function resolveAuthVariables(auth: AuthConfig, substitute: (text: string) => string): AuthConfig;
|
|
21
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"substitute.d.ts","sourceRoot":"","sources":["../../src/http/substitute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAE7F;AAED
|
|
1
|
+
{"version":3,"file":"substitute.d.ts","sourceRoot":"","sources":["../../src/http/substitute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAE7F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACnC,UAAU,CAmBZ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,EAAE,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,QAAQ,EAAE,CAKZ"}
|
package/dist/http/substitute.js
CHANGED
|
@@ -13,6 +13,7 @@ export function substituteVariables(text, runtimeVars) {
|
|
|
13
13
|
*
|
|
14
14
|
* @param auth - Auth config with raw editor values.
|
|
15
15
|
* @param substitute - Function that resolves placeholders in a string.
|
|
16
|
+
* @returns Auth config with substituted credential fields.
|
|
16
17
|
*/
|
|
17
18
|
export function resolveAuthVariables(auth, substitute) {
|
|
18
19
|
return {
|
|
@@ -23,6 +24,14 @@ export function resolveAuthVariables(auth, substitute) {
|
|
|
23
24
|
},
|
|
24
25
|
bearer: {
|
|
25
26
|
token: substitute(auth.bearer.token)
|
|
27
|
+
},
|
|
28
|
+
oauth2: {
|
|
29
|
+
tokenUrl: substitute(auth.oauth2.tokenUrl),
|
|
30
|
+
clientId: substitute(auth.oauth2.clientId),
|
|
31
|
+
clientSecret: substitute(auth.oauth2.clientSecret),
|
|
32
|
+
scope: substitute(auth.oauth2.scope),
|
|
33
|
+
audience: substitute(auth.oauth2.audience),
|
|
34
|
+
clientAuth: auth.oauth2.clientAuth
|
|
26
35
|
}
|
|
27
36
|
};
|
|
28
37
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -273,9 +273,44 @@ export interface ModalContribution extends UiContributionBase {
|
|
|
273
273
|
/**
|
|
274
274
|
* Authorization type for the Auth tab; none inherits collection auth at send time.
|
|
275
275
|
*/
|
|
276
|
-
export type AuthType = 'none' | 'basic' | 'bearer';
|
|
276
|
+
export type AuthType = 'none' | 'basic' | 'bearer' | 'oauth2';
|
|
277
277
|
/**
|
|
278
|
-
*
|
|
278
|
+
* How OAuth client credentials are sent to the token endpoint.
|
|
279
|
+
*/
|
|
280
|
+
export type OAuth2ClientAuth = 'body' | 'header';
|
|
281
|
+
/**
|
|
282
|
+
* OAuth 2.0 Client Credentials configuration stored on requests and collections.
|
|
283
|
+
*/
|
|
284
|
+
export interface OAuth2Config {
|
|
285
|
+
/**
|
|
286
|
+
* Token endpoint URL.
|
|
287
|
+
*/
|
|
288
|
+
tokenUrl: string;
|
|
289
|
+
/**
|
|
290
|
+
* OAuth client id.
|
|
291
|
+
*/
|
|
292
|
+
clientId: string;
|
|
293
|
+
/**
|
|
294
|
+
* OAuth client secret.
|
|
295
|
+
*/
|
|
296
|
+
clientSecret: string;
|
|
297
|
+
/**
|
|
298
|
+
* Space-delimited OAuth scopes.
|
|
299
|
+
*/
|
|
300
|
+
scope: string;
|
|
301
|
+
/**
|
|
302
|
+
* Optional audience claim for token requests.
|
|
303
|
+
*/
|
|
304
|
+
audience: string;
|
|
305
|
+
/**
|
|
306
|
+
* Whether client credentials are sent in the POST body or as HTTP Basic auth.
|
|
307
|
+
*/
|
|
308
|
+
clientAuth: OAuth2ClientAuth;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Basic, bearer, and OAuth credential fields stored together so switching type preserves values.
|
|
312
|
+
*
|
|
313
|
+
* Mirrors `@harborclient/core` AuthConfig used by requests, collections, and live pages.
|
|
279
314
|
*/
|
|
280
315
|
export interface AuthConfig {
|
|
281
316
|
/**
|
|
@@ -295,6 +330,10 @@ export interface AuthConfig {
|
|
|
295
330
|
bearer: {
|
|
296
331
|
token: string;
|
|
297
332
|
};
|
|
333
|
+
/**
|
|
334
|
+
* OAuth 2.0 Client Credentials settings.
|
|
335
|
+
*/
|
|
336
|
+
oauth2: OAuth2Config;
|
|
298
337
|
}
|
|
299
338
|
/**
|
|
300
339
|
* Request body encoding selected in the Body tab.
|
|
@@ -962,6 +1001,12 @@ export interface StatusBarItemContribution {
|
|
|
962
1001
|
* - `accent` — links, focus rings, primary actions
|
|
963
1002
|
* - `selection` — selected row / highlight fill
|
|
964
1003
|
* - `doc-markdown` — collection sidebar markdown document icon
|
|
1004
|
+
* - `tab-bar` — request editor tab bar strip background
|
|
1005
|
+
* - `tab-active` — active request/editor tab fill
|
|
1006
|
+
* - `tab-inactive` — inactive request/editor tab fill
|
|
1007
|
+
* - `tab-hover` — inactive request/editor tab hover and focus-visible fill
|
|
1008
|
+
* - `tab-text` — active (and hover/focus) request/editor tab label color
|
|
1009
|
+
* - `tab-text-inactive` — inactive request/editor tab label color
|
|
965
1010
|
* - `tab-unsaved` — request/markdown tab title when the tab has unsaved changes
|
|
966
1011
|
* - `tab-underline` — active request tab underline
|
|
967
1012
|
* - `resize-separator` — resizable panel separator track and edge border
|
|
@@ -973,7 +1018,7 @@ export interface StatusBarItemContribution {
|
|
|
973
1018
|
* - `script-stage-before-all`, `script-stage-before-each`, `script-stage-main`, `script-stage-after-each`, `script-stage-after-all` — script row stage accent colors
|
|
974
1019
|
* - `terminal` — footer terminal background
|
|
975
1020
|
*/
|
|
976
|
-
export type ThemeColorToken = 'surface' | 'header' | 'page-header' | 'page-header-text' | 'page-header-muted' | 'sidebar' | 'sidebar-toolbar' | 'sidebar-rail' | 'sidebar-rail-active' | 'sidebar-rail-text' | 'sidebar-rail-separator' | '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-separator' | 'resize-handle' | 'variable-token' | 'danger' | 'danger-light' | 'warning' | 'success' | 'info' | 'method-get' | 'method-post' | 'method-put' | 'method-patch' | 'method-delete' | 'method-head' | 'method-options' | 'method-sse' | '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';
|
|
1021
|
+
export type ThemeColorToken = 'surface' | 'header' | 'page-header' | 'page-header-text' | 'page-header-muted' | 'sidebar' | 'sidebar-toolbar' | 'sidebar-rail' | 'sidebar-rail-active' | 'sidebar-rail-text' | 'sidebar-rail-separator' | '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-bar' | 'tab-active' | 'tab-inactive' | 'tab-hover' | 'tab-text' | 'tab-text-inactive' | 'tab-unsaved' | 'tab-underline' | 'resize-separator' | 'resize-handle' | 'variable-token' | 'danger' | 'danger-light' | 'warning' | 'success' | 'info' | 'method-get' | 'method-post' | 'method-put' | 'method-patch' | 'method-delete' | 'method-head' | 'method-options' | 'method-sse' | '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';
|
|
977
1022
|
/**
|
|
978
1023
|
* HarborClient UI metric token ids (typography and geometry).
|
|
979
1024
|
*
|
|
@@ -1453,6 +1498,8 @@ export interface LiveServerResponseHeader {
|
|
|
1453
1498
|
export interface LiveServerRoute {
|
|
1454
1499
|
/**
|
|
1455
1500
|
* `*` for all paths, or a regex source matched against the URL pathname.
|
|
1501
|
+
* Regex sources are length-capped and rejected when they contain nested
|
|
1502
|
+
* quantifiers associated with catastrophic backtracking.
|
|
1456
1503
|
*/
|
|
1457
1504
|
match: string;
|
|
1458
1505
|
/**
|
|
@@ -2422,40 +2469,12 @@ export interface WebsiteScriptRef {
|
|
|
2422
2469
|
stage?: ScriptStage;
|
|
2423
2470
|
}
|
|
2424
2471
|
/**
|
|
2425
|
-
* Authorization stored on a saved website
|
|
2472
|
+
* Authorization stored on a saved website.
|
|
2426
2473
|
*
|
|
2427
|
-
*
|
|
2474
|
+
* Alias of {@link AuthConfig} for parity with `@harborclient/core` Website auth.
|
|
2475
|
+
* OAuth 2.0 fields are stored but not applied to guest navigations today.
|
|
2428
2476
|
*/
|
|
2429
|
-
export
|
|
2430
|
-
/**
|
|
2431
|
-
* Selected auth mode; none means no chrome-driven auth header.
|
|
2432
|
-
*/
|
|
2433
|
-
type: 'none' | 'basic' | 'bearer' | 'oauth2';
|
|
2434
|
-
/**
|
|
2435
|
-
* Username and password for Basic Auth.
|
|
2436
|
-
*/
|
|
2437
|
-
basic: {
|
|
2438
|
-
username: string;
|
|
2439
|
-
password: string;
|
|
2440
|
-
};
|
|
2441
|
-
/**
|
|
2442
|
-
* Token value for Bearer Token auth.
|
|
2443
|
-
*/
|
|
2444
|
-
bearer: {
|
|
2445
|
-
token: string;
|
|
2446
|
-
};
|
|
2447
|
-
/**
|
|
2448
|
-
* OAuth 2.0 Client Credentials settings (not applied to guest navigations today).
|
|
2449
|
-
*/
|
|
2450
|
-
oauth2: {
|
|
2451
|
-
tokenUrl: string;
|
|
2452
|
-
clientId: string;
|
|
2453
|
-
clientSecret: string;
|
|
2454
|
-
scope: string;
|
|
2455
|
-
audience: string;
|
|
2456
|
-
clientAuth: 'body' | 'header';
|
|
2457
|
-
};
|
|
2458
|
-
}
|
|
2477
|
+
export type WebsiteAuthConfig = AuthConfig;
|
|
2459
2478
|
/**
|
|
2460
2479
|
* A saved embedded-browser website (live page) in the local registry.
|
|
2461
2480
|
*
|