@jini-ai/ui 0.3.4 → 0.3.7
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/dist/features/appearance/react/components/AppearanceTab.d.ts +4 -1
- package/dist/features/appearance/react/components/AppearanceTab.d.ts.map +1 -1
- package/dist/features/appearance/react/components/AppearanceTab.js +7 -4
- package/dist/features/appearance/react/components/AppearanceTab.js.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.d.ts +8 -1
- package/dist/features/connectors/ConnectorsBrowser.d.ts.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.js +4 -3
- package/dist/features/connectors/ConnectorsBrowser.js.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.d.ts +4 -1
- package/dist/features/connectors/components/ConnectorCard.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.js +5 -4
- package/dist/features/connectors/components/ConnectorCard.js.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.d.ts +3 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.js +3 -2
- package/dist/features/connectors/components/ConnectorDetailDrawer.js.map +1 -1
- package/dist/features/connectors/components/ConnectorGrid.d.ts +4 -1
- package/dist/features/connectors/components/ConnectorGrid.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorGrid.js +4 -2
- package/dist/features/connectors/components/ConnectorGrid.js.map +1 -1
- package/dist/features/connectors/components/ConnectorSearchBar.d.ts +3 -1
- package/dist/features/connectors/components/ConnectorSearchBar.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorSearchBar.js +4 -3
- package/dist/features/connectors/components/ConnectorSearchBar.js.map +1 -1
- package/dist/features/connectors/components/ProviderTabBar.d.ts +4 -1
- package/dist/features/connectors/components/ProviderTabBar.d.ts.map +1 -1
- package/dist/features/connectors/components/ProviderTabBar.js +5 -3
- package/dist/features/connectors/components/ProviderTabBar.js.map +1 -1
- package/dist/features/execution/react/components/ByokProviderForm.d.ts +3 -1
- package/dist/features/execution/react/components/ByokProviderForm.d.ts.map +1 -1
- package/dist/features/execution/react/components/ByokProviderForm.js +5 -4
- package/dist/features/execution/react/components/ByokProviderForm.js.map +1 -1
- package/dist/features/execution/react/components/ExecutionTab.d.ts +8 -1
- package/dist/features/execution/react/components/ExecutionTab.d.ts.map +1 -1
- package/dist/features/execution/react/components/ExecutionTab.js +4 -3
- package/dist/features/execution/react/components/ExecutionTab.js.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts +4 -1
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentCard.js +11 -5
- package/dist/features/execution/react/components/LocalCliAgentCard.js.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts +4 -1
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentList.js +4 -2
- package/dist/features/execution/react/components/LocalCliAgentList.js.map +1 -1
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts +4 -1
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts.map +1 -1
- package/dist/features/execution/react/components/ProviderChipGroup.js +7 -3
- package/dist/features/execution/react/components/ProviderChipGroup.js.map +1 -1
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts +4 -1
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts.map +1 -1
- package/dist/features/execution/react/components/SearchableModelSelect.js +3 -2
- package/dist/features/execution/react/components/SearchableModelSelect.js.map +1 -1
- package/dist/features/execution/react/hooks/useReasoningControl.d.ts +15 -0
- package/dist/features/execution/react/hooks/useReasoningControl.d.ts.map +1 -1
- package/dist/features/execution/react/hooks/useReasoningControl.js +42 -4
- package/dist/features/execution/react/hooks/useReasoningControl.js.map +1 -1
- package/dist/features/execution/types.d.ts +14 -0
- package/dist/features/execution/types.d.ts.map +1 -1
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts +1 -1
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js +1 -1
- package/dist/features/i18n/dictionaries/index.d.ts +1 -1
- package/dist/features/instructions/react/components/InstructionsTab.d.ts +3 -1
- package/dist/features/instructions/react/components/InstructionsTab.d.ts.map +1 -1
- package/dist/features/instructions/react/components/InstructionsTab.js +3 -2
- package/dist/features/instructions/react/components/InstructionsTab.js.map +1 -1
- package/dist/features/integrations/react/components/ClientPicker.d.ts +4 -1
- package/dist/features/integrations/react/components/ClientPicker.d.ts.map +1 -1
- package/dist/features/integrations/react/components/ClientPicker.js +7 -3
- package/dist/features/integrations/react/components/ClientPicker.js.map +1 -1
- package/dist/features/integrations/react/components/CodexInstallToggleButton.d.ts +3 -1
- package/dist/features/integrations/react/components/CodexInstallToggleButton.d.ts.map +1 -1
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js +3 -2
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js.map +1 -1
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts +6 -1
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts.map +1 -1
- package/dist/features/integrations/react/components/IntegrationsTab.js +4 -3
- package/dist/features/integrations/react/components/IntegrationsTab.js.map +1 -1
- package/dist/features/language/react/components/LanguageTab.d.ts +4 -1
- package/dist/features/language/react/components/LanguageTab.d.ts.map +1 -1
- package/dist/features/language/react/components/LanguageTab.js +5 -3
- package/dist/features/language/react/components/LanguageTab.js.map +1 -1
- package/dist/features/mcp-ui/sandbox-proxy.d.ts +1 -1
- package/dist/features/mcp-ui/sandbox-proxy.js +2 -2
- package/dist/features/mcp-ui/sandbox-proxy.js.map +1 -1
- package/dist/features/mcp-ui/surfaces/outcome.d.ts +1 -1
- package/dist/features/mcp-ui/surfaces/tokens.d.ts +6 -5
- package/dist/features/mcp-ui/surfaces/tokens.d.ts.map +1 -1
- package/dist/features/mcp-ui/surfaces/tokens.js +6 -5
- package/dist/features/mcp-ui/surfaces/tokens.js.map +1 -1
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts +4 -1
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts.map +1 -1
- package/dist/features/media-providers/react/components/MediaProvidersTab.js +9 -4
- package/dist/features/media-providers/react/components/MediaProvidersTab.js.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryEntryCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.js +3 -2
- package/dist/features/memory/react/components/MemoryEntryCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.js +3 -2
- package/dist/features/memory/react/components/MemoryExtractionCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryHooksPanel.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryHooksPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryHooksPanel.js +7 -2
- package/dist/features/memory/react/components/MemoryHooksPanel.js.map +1 -1
- package/dist/features/memory/react/components/MemoryHowPanel.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryHowPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryHowPanel.js +2 -2
- package/dist/features/memory/react/components/MemoryHowPanel.js.map +1 -1
- package/dist/features/memory/react/components/MemoryList.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryList.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryList.js +12 -5
- package/dist/features/memory/react/components/MemoryList.js.map +1 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts +7 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.js +3 -2
- package/dist/features/memory/react/components/MemorySettingsPanel.js.map +1 -1
- package/dist/features/notifications/react/components/NotificationsTab.d.ts +3 -1
- package/dist/features/notifications/react/components/NotificationsTab.d.ts.map +1 -1
- package/dist/features/notifications/react/components/NotificationsTab.js +13 -6
- package/dist/features/notifications/react/components/NotificationsTab.js.map +1 -1
- package/dist/features/privacy/react/components/PrivacyTab.d.ts +9 -1
- package/dist/features/privacy/react/components/PrivacyTab.d.ts.map +1 -1
- package/dist/features/privacy/react/components/PrivacyTab.js +5 -4
- package/dist/features/privacy/react/components/PrivacyTab.js.map +1 -1
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.d.ts +1 -1
- package/dist/features/settings/dialog/styles/settings-dialog.css +1 -0
- package/dist/features/skills/react/components/SkillDraftForm.d.ts +3 -1
- package/dist/features/skills/react/components/SkillDraftForm.d.ts.map +1 -1
- package/dist/features/skills/react/components/SkillDraftForm.js +3 -2
- package/dist/features/skills/react/components/SkillDraftForm.js.map +1 -1
- package/dist/features/skills/react/components/SkillRow.d.ts +3 -1
- package/dist/features/skills/react/components/SkillRow.d.ts.map +1 -1
- package/dist/features/skills/react/components/SkillRow.js +3 -2
- package/dist/features/skills/react/components/SkillRow.js.map +1 -1
- package/dist/features/skills/react/components/SkillsTab.d.ts +8 -1
- package/dist/features/skills/react/components/SkillsTab.d.ts.map +1 -1
- package/dist/features/skills/react/components/SkillsTab.js +7 -3
- package/dist/features/skills/react/components/SkillsTab.js.map +1 -1
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.d.ts +1 -1
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.js +1 -1
- package/dist/features/tabbed-dialog/types.d.ts +2 -2
- package/dist/features/tabbed-dialog/types.js +2 -2
- package/dist/react/components/RemixIcon.d.ts +42 -1
- package/dist/react/components/RemixIcon.d.ts.map +1 -1
- package/dist/react/components/RemixIcon.js +152 -8
- package/dist/react/components/RemixIcon.js.map +1 -1
- package/dist/utils/file-transfer.d.ts.map +1 -1
- package/dist/utils/file-transfer.js +2 -0
- package/dist/utils/file-transfer.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { agentHandleProps, buildAgentListHandles } from '@jini-ai/agentic';
|
|
2
3
|
import { useT } from '../../i18n/index.js';
|
|
3
4
|
/** Config-driven provider-tab bar. A single-provider host still renders one tab. */
|
|
4
|
-
export function ProviderTabBar({ tabs, selectedId, onSelect, ariaLabel }) {
|
|
5
|
+
export function ProviderTabBar({ tabs, selectedId, onSelect, ariaLabel, agentHandle }) {
|
|
5
6
|
const t = useT();
|
|
6
7
|
const resolvedAriaLabel = ariaLabel ?? t('Connector provider');
|
|
7
|
-
|
|
8
|
+
const tabHandles = agentHandle ? buildAgentListHandles(agentHandle, tabs.map((tab) => tab.id)) : undefined;
|
|
9
|
+
return (_jsx("div", { className: "connectors-provider-tabs", role: "tablist", "aria-label": resolvedAriaLabel, children: tabs.map((tab, index) => {
|
|
8
10
|
const active = tab.id === selectedId;
|
|
9
|
-
return (_jsx("button", { type: "button", role: "tab", "aria-selected": active, className: `connectors-provider-tab${active ? ' is-active' : ''}`, onClick: () => onSelect(tab.id), "data-testid": `connectors-provider-tab-${tab.id}`, children: t(tab.label) }, tab.id));
|
|
11
|
+
return (_jsx("button", { type: "button", role: "tab", "aria-selected": active, className: `connectors-provider-tab${active ? ' is-active' : ''}`, onClick: () => onSelect(tab.id), "data-testid": `connectors-provider-tab-${tab.id}`, ...agentHandleProps(tabHandles?.[index], { role: 'button', label: t(tab.label) }), children: t(tab.label) }, tab.id));
|
|
10
12
|
}) }));
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=ProviderTabBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderTabBar.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ProviderTabBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderTabBar.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ProviderTabBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAa3C,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAuB;IACxG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,OAAO,CACL,cAAK,SAAS,EAAC,0BAA0B,EAAC,IAAI,EAAC,SAAS,gBAAa,iBAAiB,YACnF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC;YACrC,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,MAAM,EACrB,SAAS,EAAE,0BAA0B,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,iBAClB,2BAA2B,GAAG,CAAC,EAAE,EAAE,KAC5C,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,YAEjF,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IATR,GAAG,CAAC,EAAE,CAUJ,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -89,6 +89,8 @@ export interface ByokProviderFormProps {
|
|
|
89
89
|
* write-only backend wants.
|
|
90
90
|
*/
|
|
91
91
|
apiKeyPlaceholder?: string;
|
|
92
|
+
/** This card's own agent handle — see `ExecutionTab`'s `agentHandle` doc for the split. */
|
|
93
|
+
agentHandle?: string;
|
|
92
94
|
}
|
|
93
95
|
/**
|
|
94
96
|
* The BYOK credential card: API key, base URL, optional token cap, and model.
|
|
@@ -96,5 +98,5 @@ export interface ByokProviderFormProps {
|
|
|
96
98
|
* `ByokModelField`, `ByokConnectionTestControl`) — already factored out
|
|
97
99
|
* upstream, so this is assembly plus the origin's required-field marking.
|
|
98
100
|
*/
|
|
99
|
-
export declare function ByokProviderForm({ config, onConfigChange, preset, presets, modelDiscovery, connectionTest, onTestConnection, canTestConnection, apiKeyFooter, formFooter, apiKeyStoredExternally, apiKeyPlaceholder, }: ByokProviderFormProps): import("react").JSX.Element;
|
|
101
|
+
export declare function ByokProviderForm({ config, onConfigChange, preset, presets, modelDiscovery, connectionTest, onTestConnection, canTestConnection, apiKeyFooter, formFooter, apiKeyStoredExternally, apiKeyPlaceholder, agentHandle, }: ByokProviderFormProps): import("react").JSX.Element;
|
|
100
102
|
//# sourceMappingURL=ByokProviderForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByokProviderForm.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ByokProviderForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ByokProviderForm.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ByokProviderForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAc5D,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,4EAA4E;IAC5E,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC;;;0EAGsE;IACtE,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,cAAc,EACd,MAAM,EACN,OAAkC,EAClC,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAwB,EACxB,YAAY,EACZ,UAAU,EACV,sBAA8B,EAC9B,iBAAiB,EACjB,WAAW,GACZ,EAAE,qBAAqB,+BAmTvB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
|
+
import { agentHandleProps, agentSubHandle } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../../../i18n/index.js';
|
|
4
5
|
import { CUSTOM_MODEL_SENTINEL, DEFAULT_PROVIDER_PRESETS } from '../../constants.js';
|
|
5
6
|
import { apiKeyFormatWarning, isBaseUrlInvalid, missingRequiredFields, parseMaxTokens, presetRequiresApiKey, shouldShowCustomModelInput, showsBaseUrlField, } from '../../rules.js';
|
|
@@ -10,7 +11,7 @@ import { SearchableModelSelect } from './SearchableModelSelect.js';
|
|
|
10
11
|
* `ByokModelField`, `ByokConnectionTestControl`) — already factored out
|
|
11
12
|
* upstream, so this is assembly plus the origin's required-field marking.
|
|
12
13
|
*/
|
|
13
|
-
export function ByokProviderForm({ config, onConfigChange, preset, presets = DEFAULT_PROVIDER_PRESETS, modelDiscovery, connectionTest, onTestConnection, canTestConnection = true, apiKeyFooter, formFooter, apiKeyStoredExternally = false, apiKeyPlaceholder, }) {
|
|
14
|
+
export function ByokProviderForm({ config, onConfigChange, preset, presets = DEFAULT_PROVIDER_PRESETS, modelDiscovery, connectionTest, onTestConnection, canTestConnection = true, apiKeyFooter, formFooter, apiKeyStoredExternally = false, apiKeyPlaceholder, agentHandle, }) {
|
|
14
15
|
const t = useT();
|
|
15
16
|
const [revealKey, setRevealKey] = useState(false);
|
|
16
17
|
/** Whether the operator explicitly picked "Custom…" in the model picker — distinct from "the
|
|
@@ -80,9 +81,9 @@ export function ByokProviderForm({ config, onConfigChange, preset, presets = DEF
|
|
|
80
81
|
|
|
81
82
|
Known trade-off, not fixed here: Chrome may now offer to GENERATE a password on
|
|
82
83
|
this field — a suggestion popup, not a silently wrong value. */
|
|
83
|
-
autoComplete: "new-password", spellCheck: false, placeholder: apiKeyPlaceholder, value: config.apiKey, onChange: (event) => patch({ apiKey: event.target.value }) }), _jsx("button", { type: "button", className: "jini-input-affix-btn", "aria-pressed": revealKey, onClick: () => setRevealKey((shown) => !shown), children: revealKey ? t('Hide') : t('Show') })] }), _jsx("span", { className: "jini-field-hint", children: t('Stored only by this host.') }), keyFormatWarning ? (_jsx("span", { className: "jini-field-hint is-error", role: "status", children: t(keyFormatWarning.message, keyFormatWarning.vars) })) : null] }), apiKeyFooter ? _jsx("div", { className: "jini-byok-key-footer", children: apiKeyFooter }) : null] })) : null, _jsxs("div", { className: "jini-byok-field-row", children: [showsBaseUrlField(preset) ? (_jsxs("label", { className: "jini-field", children: [_jsxs("span", { className: "jini-field-label", children: [t('Base URL'), _jsx("span", { className: "jini-field-required", "aria-hidden": "true", children: "*" })] }), _jsx("input", { className: 'jini-input' + (baseUrlInvalid || missing.has('baseUrl') ? ' is-missing' : ''), type: "url", inputMode: "url", spellCheck: false, value: config.baseUrl, onChange: (event) => patch({ baseUrl: event.target.value }) }), _jsx("span", { className: 'jini-field-hint' + (baseUrlInvalid ? ' is-error' : ''), children: baseUrlInvalid
|
|
84
|
+
autoComplete: "new-password", spellCheck: false, placeholder: apiKeyPlaceholder, value: config.apiKey, onChange: (event) => patch({ apiKey: event.target.value }), ...agentHandleProps(agentHandle, { action: 'api-key', role: 'field', label: t('API key') }) }), _jsx("button", { type: "button", className: "jini-input-affix-btn", "aria-pressed": revealKey, onClick: () => setRevealKey((shown) => !shown), ...agentHandleProps(agentHandle, { action: 'reveal-key', role: 'button', label: t('Reveal API key') }), children: revealKey ? t('Hide') : t('Show') })] }), _jsx("span", { className: "jini-field-hint", children: t('Stored only by this host.') }), keyFormatWarning ? (_jsx("span", { className: "jini-field-hint is-error", role: "status", children: t(keyFormatWarning.message, keyFormatWarning.vars) })) : null] }), apiKeyFooter ? _jsx("div", { className: "jini-byok-key-footer", children: apiKeyFooter }) : null] })) : null, _jsxs("div", { className: "jini-byok-field-row", children: [showsBaseUrlField(preset) ? (_jsxs("label", { className: "jini-field", children: [_jsxs("span", { className: "jini-field-label", children: [t('Base URL'), _jsx("span", { className: "jini-field-required", "aria-hidden": "true", children: "*" })] }), _jsx("input", { className: 'jini-input' + (baseUrlInvalid || missing.has('baseUrl') ? ' is-missing' : ''), type: "url", inputMode: "url", spellCheck: false, value: config.baseUrl, onChange: (event) => patch({ baseUrl: event.target.value }), ...agentHandleProps(agentHandle, { action: 'base-url', role: 'field', label: t('Base URL') }) }), _jsx("span", { className: 'jini-field-hint' + (baseUrlInvalid ? ' is-error' : ''), children: baseUrlInvalid
|
|
84
85
|
? t('Enter an absolute http(s) URL.')
|
|
85
|
-
: t('Default endpoint. Usually no need to change this.') })] })) : null, _jsxs("label", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: t('Max tokens (optional)') }), _jsx("input", { className: "jini-input", type: "number", min: 1, step: 1, value: config.maxTokens ?? '', onChange: (event) => patch({ maxTokens: parseMaxTokens(event.target.value) }) }), _jsx("span", { className: "jini-field-hint", children: t('Cap on the response length. Leave blank to use the model default.') })] })] }), _jsxs("div", { className: "jini-byok-model-row", children: [_jsxs("label", { className: "jini-field", children: [_jsxs("span", { className: "jini-field-label", children: [t('Model'), _jsx("span", { className: "jini-field-required", "aria-hidden": "true", children: "*" })] }), showModelPicker ? (_jsx(SearchableModelSelect, { className: 'jini-input' + (missing.has('model') ? ' is-missing' : ''), ariaLabel: t('Model'), searchPlaceholder: t('Search models'), testId: "jini-byok-model-select", searchInputTestId: "jini-byok-model-search", value: customModelActive ? CUSTOM_MODEL_SENTINEL : config.model, models: liveModels.map((model) => ({ id: model, label: model })), additionalOptions: [{ value: CUSTOM_MODEL_SENTINEL, label: t('Custom…') }], onChange: (next) => {
|
|
86
|
+
: t('Default endpoint. Usually no need to change this.') })] })) : null, _jsxs("label", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: t('Max tokens (optional)') }), _jsx("input", { className: "jini-input", type: "number", min: 1, step: 1, value: config.maxTokens ?? '', onChange: (event) => patch({ maxTokens: parseMaxTokens(event.target.value) }), ...agentHandleProps(agentHandle, { action: 'max-tokens', role: 'field', label: t('Max tokens (optional)') }) }), _jsx("span", { className: "jini-field-hint", children: t('Cap on the response length. Leave blank to use the model default.') })] })] }), _jsxs("div", { className: "jini-byok-model-row", children: [_jsxs("label", { className: "jini-field", children: [_jsxs("span", { className: "jini-field-label", children: [t('Model'), _jsx("span", { className: "jini-field-required", "aria-hidden": "true", children: "*" })] }), showModelPicker ? (_jsx(SearchableModelSelect, { className: 'jini-input' + (missing.has('model') ? ' is-missing' : ''), ariaLabel: t('Model'), searchPlaceholder: t('Search models'), testId: "jini-byok-model-select", searchInputTestId: "jini-byok-model-search", ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'model') } : {}), value: customModelActive ? CUSTOM_MODEL_SENTINEL : config.model, models: liveModels.map((model) => ({ id: model, label: model })), additionalOptions: [{ value: CUSTOM_MODEL_SENTINEL, label: t('Custom…') }], onChange: (next) => {
|
|
86
87
|
if (next === CUSTOM_MODEL_SENTINEL) {
|
|
87
88
|
// Open the free-text box WITHOUT clearing `config.model`. Blanking it here would
|
|
88
89
|
// discard a working model the moment someone opened the picker to look at it.
|
|
@@ -91,7 +92,7 @@ export function ByokProviderForm({ config, onConfigChange, preset, presets = DEF
|
|
|
91
92
|
}
|
|
92
93
|
setExplicitCustomModel(false);
|
|
93
94
|
patch({ model: next });
|
|
94
|
-
} })) : null, !showModelPicker || customModelActive ? (_jsx("input", { className: 'jini-input' + (missing.has('model') ? ' is-missing' : ''), list: !showModelPicker && suggestions.length > 0 ? modelListId : undefined, spellCheck: false, value: config.model, onChange: (event) => patch({ model: event.target.value }) })) : null, !showModelPicker && suggestions.length > 0 ? (_jsx("datalist", { id: modelListId, children: suggestions.map((model) => (_jsx("option", { value: model }, model))) })) : null] }), canTestConnection ? (_jsx("button", { type: "button", className: "jini-btn jini-byok-test-btn", disabled: connectionTest.status === 'testing' || missing.size > 0, onClick: onTestConnection, children: connectionTest.status === 'testing' ? t('Testing…') : t('Test connection') })) : null] }), modelDiscovery.status === 'error' ? (
|
|
95
|
+
} })) : null, !showModelPicker || customModelActive ? (_jsx("input", { className: 'jini-input' + (missing.has('model') ? ' is-missing' : ''), list: !showModelPicker && suggestions.length > 0 ? modelListId : undefined, spellCheck: false, value: config.model, onChange: (event) => patch({ model: event.target.value }), ...agentHandleProps(agentHandle, { action: 'model', role: 'field', label: t('Model') }) })) : null, !showModelPicker && suggestions.length > 0 ? (_jsx("datalist", { id: modelListId, children: suggestions.map((model) => (_jsx("option", { value: model }, model))) })) : null] }), canTestConnection ? (_jsx("button", { type: "button", className: "jini-btn jini-byok-test-btn", disabled: connectionTest.status === 'testing' || missing.size > 0, onClick: onTestConnection, ...agentHandleProps(agentHandle, { action: 'test-connection', role: 'button', label: t('Test connection') }), children: connectionTest.status === 'testing' ? t('Testing…') : t('Test connection') })) : null] }), modelDiscovery.status === 'error' ? (
|
|
95
96
|
// Non-blocking (the field above stays editable, with the preset's static
|
|
96
97
|
// suggestions) but never silent — a discovery failure is an operator-actionable
|
|
97
98
|
// fact (bad key, wrong base URL, unreachable endpoint), not "no models exist".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByokProviderForm.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ByokProviderForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ByokProviderForm.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ByokProviderForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,13 @@ export interface ExecutionTabProps {
|
|
|
44
44
|
formFooter?: ReactNode;
|
|
45
45
|
apiKeyStoredExternally?: boolean;
|
|
46
46
|
apiKeyPlaceholder?: string;
|
|
47
|
+
/**
|
|
48
|
+
* This tab's own agent handle, published by the host. Every interactive control below — the mode
|
|
49
|
+
* switch, every provider chip, the whole BYOK card, and every detected-CLI card — derives its own
|
|
50
|
+
* `data-agent-*` handle from this ONE base via `agentHandleProps`/`agentSubHandle`. Omit and no
|
|
51
|
+
* `data-agent-*` markup is emitted anywhere in this tab — additive, never a behavior change.
|
|
52
|
+
*/
|
|
53
|
+
agentHandle?: string;
|
|
47
54
|
}
|
|
48
55
|
/**
|
|
49
56
|
* "Execution mode" — the Local CLI ↔ bring-your-own-key switch, its provider
|
|
@@ -57,5 +64,5 @@ export interface ExecutionTabProps {
|
|
|
57
64
|
* wallet — balance polling, top-up, sign-in coachmarks — is deliberately not
|
|
58
65
|
* ported; it is product-bound, not generic.
|
|
59
66
|
*/
|
|
60
|
-
export declare function ExecutionTab({ config, onConfigChange, port, presets, cliEnvFields, localCliUnavailableReason, renderAgentIcon, localCliScopeLabel, autoDetect, ariaLabel, apiKeyFooter, formFooter, apiKeyStoredExternally, apiKeyPlaceholder, }: ExecutionTabProps): import("react").JSX.Element;
|
|
67
|
+
export declare function ExecutionTab({ config, onConfigChange, port, presets, cliEnvFields, localCliUnavailableReason, renderAgentIcon, localCliScopeLabel, autoDetect, ariaLabel, apiKeyFooter, formFooter, apiKeyStoredExternally, apiKeyPlaceholder, agentHandle, }: ExecutionTabProps): import("react").JSX.Element;
|
|
61
68
|
//# sourceMappingURL=ExecutionTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ExecutionTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecutionTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ExecutionTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAapD,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,eAAe,EAEf,cAAc,EACf,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB;8EAC0E;IAC1E,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC;;;+DAG2D;IAC3D,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC/C;yDACqD;IACrD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;wDACoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAAC;IACtD;;6DAEyD;IACzD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,cAAc,EACd,IAAI,EACJ,OAAkC,EAClC,YAA2C,EAC3C,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,UAAiB,EACjB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,EAAE,iBAAiB,+BAoLnB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
|
+
import { agentHandleProps, agentSubHandle } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../../../i18n/index.js';
|
|
4
5
|
import { DEFAULT_AGENT_CLI_ENV_FIELDS, DEFAULT_PROVIDER_PRESETS } from '../../constants.js';
|
|
5
6
|
import { groupPresets, isProviderConfigured, nextConfigForAgentCliEnvChange, nextConfigForAgentModel, nextConfigForAgentReasoning, nextConfigForAgentSelect, nextConfigForModeChange, nextConfigForPresetSelect, resolveSelectedPreset, selectedAgentModel, } from '../../rules.js';
|
|
@@ -19,7 +20,7 @@ import { ProviderChipGroup } from './ProviderChipGroup.js';
|
|
|
19
20
|
* wallet — balance polling, top-up, sign-in coachmarks — is deliberately not
|
|
20
21
|
* ported; it is product-bound, not generic.
|
|
21
22
|
*/
|
|
22
|
-
export function ExecutionTab({ config, onConfigChange, port, presets = DEFAULT_PROVIDER_PRESETS, cliEnvFields = DEFAULT_AGENT_CLI_ENV_FIELDS, localCliUnavailableReason, renderAgentIcon, localCliScopeLabel, autoDetect = true, ariaLabel, apiKeyFooter, formFooter, apiKeyStoredExternally, apiKeyPlaceholder, }) {
|
|
23
|
+
export function ExecutionTab({ config, onConfigChange, port, presets = DEFAULT_PROVIDER_PRESETS, cliEnvFields = DEFAULT_AGENT_CLI_ENV_FIELDS, localCliUnavailableReason, renderAgentIcon, localCliScopeLabel, autoDetect = true, ariaLabel, apiKeyFooter, formFooter, apiKeyStoredExternally, apiKeyPlaceholder, agentHandle, }) {
|
|
23
24
|
const t = useT();
|
|
24
25
|
const { agents, scan, connectionTest, modelDiscovery, agentTest, rescan, testConnection, testAgent, loadModels, canRescan, canTestAgent, } = useExecutionTab({
|
|
25
26
|
port,
|
|
@@ -72,10 +73,10 @@ export function ExecutionTab({ config, onConfigChange, port, presets = DEFAULT_P
|
|
|
72
73
|
];
|
|
73
74
|
return (_jsxs("div", { className: "jini-settings-execution", "aria-label": ariaLabel ?? t('Execution mode'), children: [_jsx("div", { className: "jini-seg-control", role: "tablist", "aria-label": t('Execution mode'), style: { '--seg-cols': modes.length }, children: modes.map((mode) => {
|
|
74
75
|
const disabled = mode.id === 'local-cli' && localCliDisabled;
|
|
75
|
-
return (_jsxs("button", { type: "button", role: "tab", "aria-selected": config.mode === mode.id, disabled: disabled, title: disabled ? localCliUnavailableReason : undefined, className: 'jini-seg-btn' + (config.mode === mode.id ? ' active' : ''), onClick: () => setMode(mode.id), children: [_jsx("span", { className: "jini-seg-title", children: mode.title }), _jsx("span", { className: "jini-seg-meta", children: disabled ? localCliUnavailableReason : mode.meta })] }, mode.id));
|
|
76
|
+
return (_jsxs("button", { type: "button", role: "tab", "aria-selected": config.mode === mode.id, disabled: disabled, title: disabled ? localCliUnavailableReason : undefined, className: 'jini-seg-btn' + (config.mode === mode.id ? ' active' : ''), onClick: () => setMode(mode.id), ...agentHandleProps(agentHandle, { action: `mode-${mode.id}`, role: 'button', label: mode.title }), children: [_jsx("span", { className: "jini-seg-title", children: mode.title }), _jsx("span", { className: "jini-seg-meta", children: disabled ? localCliUnavailableReason : mode.meta })] }, mode.id));
|
|
76
77
|
}) }), config.mode === 'local-cli' ? (_jsx(LocalCliAgentList, { agents: agents, config: config.localCli, scan: scan, agentTest: agentTest, onSelect: (agentId) => onConfigChange(nextConfigForAgentSelect(config, agentId)), onModelChange: (agentId, model) => onConfigChange(nextConfigForAgentModel(config, agentId, model)), onReasoningChange: (agentId, reasoning) => onConfigChange(nextConfigForAgentReasoning(config, agentId, reasoning)), onEnvChange: (agentId, envKey, value) => onConfigChange(nextConfigForAgentCliEnvChange(config, agentId, envKey, value)), cliEnvFields: cliEnvFields, onRescan: canRescan ? rescan : undefined, onTest: canTestAgent
|
|
77
78
|
? (agent) => testAgent(agent.id, selectedAgentModel(config.localCli, agent) || undefined)
|
|
78
|
-
: undefined, renderAgentIcon: renderAgentIcon, scopeLabel: localCliScopeLabel })) : (_jsxs("section", { className: "jini-settings-section jini-settings-byok", children: [_jsx(ProviderChipGroup, { label: t('Protocols'), presets: protocols, selectedPresetId: selectedPreset?.id ?? null, configuredPresetIds: configuredPresetIds, onSelect: selectPreset, configuredLabel: t('Configured'), unsetLabel: t('Not configured') }), _jsx(ProviderChipGroup, { label: t('Gateways'), presets: gateways, selectedPresetId: selectedPreset?.id ?? null, configuredPresetIds: configuredPresetIds, onSelect: selectPreset, configuredLabel: t('Configured'), unsetLabel: t('Not configured') }), _jsx(ByokProviderForm, { config: config.byok, onConfigChange: (byok) => onConfigChange({ ...config, byok }), preset: selectedPreset,
|
|
79
|
+
: undefined, renderAgentIcon: renderAgentIcon, scopeLabel: localCliScopeLabel, ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'local-cli') } : {}) })) : (_jsxs("section", { className: "jini-settings-section jini-settings-byok", children: [_jsx(ProviderChipGroup, { label: t('Protocols'), presets: protocols, selectedPresetId: selectedPreset?.id ?? null, configuredPresetIds: configuredPresetIds, onSelect: selectPreset, configuredLabel: t('Configured'), unsetLabel: t('Not configured'), ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'protocol') } : {}) }), _jsx(ProviderChipGroup, { label: t('Gateways'), presets: gateways, selectedPresetId: selectedPreset?.id ?? null, configuredPresetIds: configuredPresetIds, onSelect: selectPreset, configuredLabel: t('Configured'), unsetLabel: t('Not configured'), ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'gateway') } : {}) }), _jsx(ByokProviderForm, { config: config.byok, onConfigChange: (byok) => onConfigChange({ ...config, byok }), preset: selectedPreset, ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'byok') } : {}),
|
|
79
80
|
// The WHOLE catalog, not the `protocols`/`gateways` halves the chip rows take: the card
|
|
80
81
|
// only reads it to recognise a pasted key as some other row's, and a key pasted from a
|
|
81
82
|
// gateway into a protocol field is exactly the mistake worth naming.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionTab.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ExecutionTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAsC,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecutionTab.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ExecutionTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,9 @@ export interface LocalCliAgentCardProps {
|
|
|
21
21
|
* that specific fix button (a diagnostic with no OTHER fix action then
|
|
22
22
|
* renders with no buttons at all, same as the origin). */
|
|
23
23
|
onRescan?: (() => void) | undefined;
|
|
24
|
+
/** This card's own agent handle — see `ExecutionTab`'s `agentHandle` doc; `LocalCliAgentList`
|
|
25
|
+
* derives one distinct handle per agent and passes it here. */
|
|
26
|
+
agentHandle?: string;
|
|
24
27
|
}
|
|
25
28
|
/**
|
|
26
29
|
* One detected code-agent CLI, as a selectable card.
|
|
@@ -36,5 +39,5 @@ export interface LocalCliAgentCardProps {
|
|
|
36
39
|
* sign-in pill, and upgrade coachmarks are bound to that product's hosted
|
|
37
40
|
* service, not to the idea of "a CLI on a machine".
|
|
38
41
|
*/
|
|
39
|
-
export declare function LocalCliAgentCard({ agent, config, selected, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, renderIcon, onTest, agentTest, onRescan, }: LocalCliAgentCardProps): import("react").JSX.Element;
|
|
42
|
+
export declare function LocalCliAgentCard({ agent, config, selected, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, renderIcon, onTest, agentTest, onRescan, agentHandle, }: LocalCliAgentCardProps): import("react").JSX.Element;
|
|
40
43
|
//# sourceMappingURL=LocalCliAgentCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalCliAgentCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalCliAgentCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUjD,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE;6CACyC;IACzC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9C;2EACuE;IACvE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,SAAS,EAAE,cAAc,CAAC;IAC1B;;;+DAG2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC;oEACgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,EAAE,sBAAsB,+BAwTxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
+
import { agentHandleProps, agentSubHandle } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../../../i18n/index.js';
|
|
4
5
|
import { CUSTOM_MODEL_SENTINEL, DEFAULT_AGENT_DESCRIPTIONS } from '../../constants.js';
|
|
5
6
|
import { agentExecutableRepairState, agentMetaLabel, agentModelSummary, binPathEnvField, } from '../../rules.js';
|
|
@@ -21,7 +22,7 @@ import { SearchableModelSelect } from './SearchableModelSelect.js';
|
|
|
21
22
|
* sign-in pill, and upgrade coachmarks are bound to that product's hosted
|
|
22
23
|
* service, not to the idea of "a CLI on a machine".
|
|
23
24
|
*/
|
|
24
|
-
export function LocalCliAgentCard({ agent, config, selected, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, renderIcon, onTest, agentTest, onRescan, }) {
|
|
25
|
+
export function LocalCliAgentCard({ agent, config, selected, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, renderIcon, onTest, agentTest, onRescan, agentHandle, }) {
|
|
25
26
|
const t = useT();
|
|
26
27
|
// Whether the operator explicitly opened the free-text "Custom" entry via
|
|
27
28
|
// the model picker's own "Custom…" option — distinct from "the saved model
|
|
@@ -40,7 +41,12 @@ export function LocalCliAgentCard({ agent, config, selected, onSelect, onModelCh
|
|
|
40
41
|
notInstalled: t('Not installed'),
|
|
41
42
|
});
|
|
42
43
|
const summary = agentModelSummary(config, agent);
|
|
43
|
-
const { hasModels, reasoningOptions, hasReasoning, reasoningValue, reasoningDisabled, allowCustomModel, customActive, modelChoices, selectValue, customModelInputValue, resolveNextModelId, resolveReasoningModelId, } = useReasoningControl({
|
|
44
|
+
const { hasModels, reasoningOptions, hasReasoning, reasoningValue, reasoningDisabled, allowCustomModel, customActive, modelChoices, selectValue, customModelInputValue, resolveNextModelId, resolveReasoningModelId, } = useReasoningControl({
|
|
45
|
+
agent,
|
|
46
|
+
config,
|
|
47
|
+
explicitCustomMode,
|
|
48
|
+
onReasoningChange: (next) => onReasoningChange(agent.id, next),
|
|
49
|
+
});
|
|
44
50
|
// `modelsSource` is optional in the contract, so an absent value means the
|
|
45
51
|
// host did not say where the list came from — NOT that it came from a
|
|
46
52
|
// built-in fallback. Defaulting to 'fallback' rendered "Built-in list" over
|
|
@@ -89,7 +95,7 @@ export function LocalCliAgentCard({ agent, config, selected, onSelect, onModelCh
|
|
|
89
95
|
};
|
|
90
96
|
return (_jsxs("div", { className: 'jini-agent-card' +
|
|
91
97
|
(selected ? ' is-selected' : '') +
|
|
92
|
-
(agent.installed ? ' is-installed' : ' is-missing'), "data-testid": `jini-agent-card-${agent.id}`, children: [_jsxs("div", { className: "jini-agent-card-main", children: [_jsxs("button", { type: "button", className: "jini-agent-card-select", "data-testid": `jini-agent-select-${agent.id}`, "aria-pressed": selected, disabled: !agent.installed, onClick: () => onSelect(agent.id), children: [_jsx("span", { className: "jini-agent-card-icon", "aria-hidden": "true", children: renderIcon ? renderIcon(agent) : agent.label.slice(0, 1).toUpperCase() }), _jsxs("span", { className: "jini-agent-card-body", children: [_jsxs("span", { className: "jini-agent-card-name", children: [_jsx("span", { className: "jini-agent-card-title", children: agent.label }), description ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "jini-agent-card-name-divider", "aria-hidden": "true", children: "\u00B7" }), _jsx("span", { className: "jini-agent-card-tagline", children: description })] })) : null] }), agent.badges?.length ? (_jsx("span", { className: "jini-agent-card-badges", children: agent.badges.map((badge) => (_jsx("span", { className: "jini-agent-card-badge", children: badge }, badge))) })) : null, meta.text ? (_jsx("span", { className: "jini-agent-card-meta", children: _jsx("span", { title: meta.title || undefined, children: meta.text }) })) : null, !selected && summary ? (_jsxs("span", { className: "jini-agent-card-model-summary", children: [_jsx("span", { children: t('Model') }), _jsx("strong", { children: summary })] })) : null] })] }), selected && onTest ? (_jsx("button", { type: "button", className: 'jini-btn jini-agent-card-test' + (testing ? ' is-loading' : ''), "data-testid": `jini-agent-test-${agent.id}`, disabled: testing, onClick: () => onTest(agent), children: testing ? t('Testing…') : t('Test') })) : null] }), (agent.diagnostics ?? []).map((diagnostic, index) => (_jsx(AgentDiagnosticRow, { diagnostic: diagnostic, handlers: diagnosticHandlers }, `${diagnostic.reason}-${index}`))), selected && (hasModels || hasReasoning) ? (_jsxs("div", { className: "jini-agent-card-config", children: [hasModels ? (_jsxs(_Fragment, { children: [_jsxs("label", { className: "jini-field", children: [_jsxs("span", { className: "jini-field-label", children: [t('Model'), sourceLabel ? (_jsx("span", { className: `jini-agent-model-source ${source}`, children: sourceLabel })) : null] }), _jsx(SearchableModelSelect, { className: "jini-input jini-agent-model-select", ariaLabel: t('Model'), searchPlaceholder: t('Search models'), testId: `jini-agent-model-${agent.id}`, searchInputTestId: `jini-agent-model-search-${agent.id}`, value: selectValue, models: modelChoices, additionalOptions: allowCustomModel ? [{ value: CUSTOM_MODEL_SENTINEL, label: t('Custom…') }] : undefined, onChange: (nextValue) => {
|
|
98
|
+
(agent.installed ? ' is-installed' : ' is-missing'), "data-testid": `jini-agent-card-${agent.id}`, children: [_jsxs("div", { className: "jini-agent-card-main", children: [_jsxs("button", { type: "button", className: "jini-agent-card-select", "data-testid": `jini-agent-select-${agent.id}`, "aria-pressed": selected, disabled: !agent.installed, onClick: () => onSelect(agent.id), ...agentHandleProps(agentHandle, { action: 'select', role: 'button', label: agent.label }), children: [_jsx("span", { className: "jini-agent-card-icon", "aria-hidden": "true", children: renderIcon ? renderIcon(agent) : agent.label.slice(0, 1).toUpperCase() }), _jsxs("span", { className: "jini-agent-card-body", children: [_jsxs("span", { className: "jini-agent-card-name", children: [_jsx("span", { className: "jini-agent-card-title", children: agent.label }), description ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "jini-agent-card-name-divider", "aria-hidden": "true", children: "\u00B7" }), _jsx("span", { className: "jini-agent-card-tagline", children: description })] })) : null] }), agent.badges?.length ? (_jsx("span", { className: "jini-agent-card-badges", children: agent.badges.map((badge) => (_jsx("span", { className: "jini-agent-card-badge", children: badge }, badge))) })) : null, meta.text ? (_jsx("span", { className: "jini-agent-card-meta", children: _jsx("span", { title: meta.title || undefined, children: meta.text }) })) : null, !selected && summary ? (_jsxs("span", { className: "jini-agent-card-model-summary", children: [_jsx("span", { children: t('Model') }), _jsx("strong", { children: summary })] })) : null] })] }), selected && onTest ? (_jsx("button", { type: "button", className: 'jini-btn jini-agent-card-test' + (testing ? ' is-loading' : ''), "data-testid": `jini-agent-test-${agent.id}`, disabled: testing, onClick: () => onTest(agent), ...agentHandleProps(agentHandle, { action: 'test', role: 'button', label: t('Test') }), children: testing ? t('Testing…') : t('Test') })) : null] }), (agent.diagnostics ?? []).map((diagnostic, index) => (_jsx(AgentDiagnosticRow, { diagnostic: diagnostic, handlers: diagnosticHandlers }, `${diagnostic.reason}-${index}`))), selected && (hasModels || hasReasoning) ? (_jsxs("div", { className: "jini-agent-card-config", children: [hasModels ? (_jsxs(_Fragment, { children: [_jsxs("label", { className: "jini-field", children: [_jsxs("span", { className: "jini-field-label", children: [t('Model'), sourceLabel ? (_jsx("span", { className: `jini-agent-model-source ${source}`, children: sourceLabel })) : null] }), _jsx(SearchableModelSelect, { className: "jini-input jini-agent-model-select", ariaLabel: t('Model'), searchPlaceholder: t('Search models'), testId: `jini-agent-model-${agent.id}`, searchInputTestId: `jini-agent-model-search-${agent.id}`, ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'model') } : {}), value: selectValue, models: modelChoices, additionalOptions: allowCustomModel ? [{ value: CUSTOM_MODEL_SENTINEL, label: t('Custom…') }] : undefined, onChange: (nextValue) => {
|
|
93
99
|
if (nextValue === CUSTOM_MODEL_SENTINEL) {
|
|
94
100
|
setExplicitCustomMode(true);
|
|
95
101
|
onModelChange(agent.id, '');
|
|
@@ -97,7 +103,7 @@ export function LocalCliAgentCard({ agent, config, selected, onSelect, onModelCh
|
|
|
97
103
|
}
|
|
98
104
|
setExplicitCustomMode(false);
|
|
99
105
|
onModelChange(agent.id, resolveNextModelId(nextValue));
|
|
100
|
-
} })] }), sourceHint ? _jsx("p", { className: "jini-field-hint", children: sourceHint }) : null] })) : null, customActive ? (_jsxs("label", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: t('Custom model id') }), _jsx("input", { className: "jini-input", type: "text", "data-testid": `jini-agent-model-custom-${agent.id}`, value: customModelInputValue, placeholder: t('e.g. my-fine-tuned-model'), spellCheck: false, onChange: (event) => onModelChange(agent.id, event.target.value.trim()) })] })) : null, hasReasoning ? (_jsxs("label", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: t('Reasoning effort') }), _jsx("select", { className: "jini-input", "data-testid": `jini-agent-reasoning-${agent.id}`, value: reasoningValue, disabled: reasoningDisabled, onChange: (event) => {
|
|
106
|
+
} })] }), sourceHint ? _jsx("p", { className: "jini-field-hint", children: sourceHint }) : null] })) : null, customActive ? (_jsxs("label", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: t('Custom model id') }), _jsx("input", { className: "jini-input", type: "text", "data-testid": `jini-agent-model-custom-${agent.id}`, value: customModelInputValue, placeholder: t('e.g. my-fine-tuned-model'), spellCheck: false, onChange: (event) => onModelChange(agent.id, event.target.value.trim()), ...agentHandleProps(agentHandle, { action: 'custom-model', role: 'field', label: t('Custom model id') }) })] })) : null, hasReasoning ? (_jsxs("label", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: t('Reasoning effort') }), _jsx("select", { className: "jini-input", "data-testid": `jini-agent-reasoning-${agent.id}`, value: reasoningValue, disabled: reasoningDisabled, onChange: (event) => {
|
|
101
107
|
// A model-suffix agent has no reasoning value of its own to record: the choice
|
|
102
108
|
// is which model id runs, so it goes back out through `onModelChange`.
|
|
103
109
|
const suffixModelId = resolveReasoningModelId(event.target.value);
|
|
@@ -106,6 +112,6 @@ export function LocalCliAgentCard({ agent, config, selected, onSelect, onModelCh
|
|
|
106
112
|
return;
|
|
107
113
|
}
|
|
108
114
|
onReasoningChange(agent.id, event.target.value);
|
|
109
|
-
}, children: reasoningOptions.map((option) => (_jsx("option", { value: option.id, children: option.label }, option.id))) })] })) : null] })) : null, selected ? (_jsx(AgentCliEnvFields, { agentId: agent.id, fields: cliEnvFields, config: config, onChange: onEnvChange })) : null, result ? (_jsx("p", { className: 'jini-agent-card-test-result is-' + result.status, role: result.status === 'error' ? 'alert' : 'status', children: result.message ?? (result.status === 'ok' ? t('Agent is ready.') : t('Agent check failed')) })) : null, repair && repairField ? (_jsxs("div", { className: "jini-agent-card-path-repair", children: [_jsx("span", { className: "jini-field-hint", children: t('A custom path override did not work, so this used the automatically detected binary instead.') }), _jsxs("div", { className: "jini-agent-card-path-repair-actions", children: [repair.canUseDetected ? (_jsx("button", { type: "button", className: "jini-btn", "data-testid": `jini-agent-path-repair-use-${agent.id}`, onClick: () => onEnvChange(agent.id, repairField.envKey, repair.detectedPath), children: t('Use detected path') })) : null, _jsx("button", { type: "button", className: "jini-btn jini-btn-ghost", "data-testid": `jini-agent-path-repair-clear-${agent.id}`, onClick: () => onEnvChange(agent.id, repairField.envKey, ''), children: t('Clear custom path') })] })] })) : null] }));
|
|
115
|
+
}, ...agentHandleProps(agentHandle, { action: 'reasoning', role: 'field', label: t('Reasoning effort') }), children: reasoningOptions.map((option) => (_jsx("option", { value: option.id, children: option.label }, option.id))) })] })) : null] })) : null, selected ? (_jsx(AgentCliEnvFields, { agentId: agent.id, fields: cliEnvFields, config: config, onChange: onEnvChange })) : null, result ? (_jsx("p", { className: 'jini-agent-card-test-result is-' + result.status, role: result.status === 'error' ? 'alert' : 'status', children: result.message ?? (result.status === 'ok' ? t('Agent is ready.') : t('Agent check failed')) })) : null, repair && repairField ? (_jsxs("div", { className: "jini-agent-card-path-repair", children: [_jsx("span", { className: "jini-field-hint", children: t('A custom path override did not work, so this used the automatically detected binary instead.') }), _jsxs("div", { className: "jini-agent-card-path-repair-actions", children: [repair.canUseDetected ? (_jsx("button", { type: "button", className: "jini-btn", "data-testid": `jini-agent-path-repair-use-${agent.id}`, onClick: () => onEnvChange(agent.id, repairField.envKey, repair.detectedPath), children: t('Use detected path') })) : null, _jsx("button", { type: "button", className: "jini-btn jini-btn-ghost", "data-testid": `jini-agent-path-repair-clear-${agent.id}`, onClick: () => onEnvChange(agent.id, repairField.envKey, ''), children: t('Clear custom path') })] })] })) : null] }));
|
|
110
116
|
}
|
|
111
117
|
//# sourceMappingURL=LocalCliAgentCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalCliAgentCard.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalCliAgentCard.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,9 @@ export interface LocalCliAgentListProps {
|
|
|
24
24
|
* true in both shapes.
|
|
25
25
|
*/
|
|
26
26
|
scopeLabel?: string | undefined;
|
|
27
|
+
/** This list's own agent handle — see `ExecutionTab`'s `agentHandle` doc. Each card gets its own
|
|
28
|
+
* distinct sub-handle, derived from the agent's own stable id via `buildAgentListHandles`. */
|
|
29
|
+
agentHandle?: string;
|
|
27
30
|
}
|
|
28
31
|
/**
|
|
29
32
|
* The detected code-agent CLIs, as a selectable card grid.
|
|
@@ -33,5 +36,5 @@ export interface LocalCliAgentListProps {
|
|
|
33
36
|
* managed-runtime entry (wallet, sign-in, plan upgrades) is left behind; see
|
|
34
37
|
* `LocalCliAgentCard` for what that split does and does not cover.
|
|
35
38
|
*/
|
|
36
|
-
export declare function LocalCliAgentList({ agents, config, scan, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, onRescan, onTest, agentTest, renderAgentIcon, scopeLabel, }: LocalCliAgentListProps): import("react").JSX.Element;
|
|
39
|
+
export declare function LocalCliAgentList({ agents, config, scan, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, onRescan, onTest, agentTest, renderAgentIcon, scopeLabel, agentHandle, }: LocalCliAgentListProps): import("react").JSX.Element;
|
|
37
40
|
//# sourceMappingURL=LocalCliAgentList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalCliAgentList.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalCliAgentList.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,SAAS,EAAE,cAAc,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IACpE;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;mGAC+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,eAAe,EACf,UAAU,EACV,WAAW,GACZ,EAAE,sBAAsB,+BAyExB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { agentHandleProps, buildAgentListHandles } from '@jini-ai/agentic';
|
|
2
3
|
import { useT } from '../../../i18n/index.js';
|
|
3
4
|
import { LocalCliAgentCard } from './LocalCliAgentCard.js';
|
|
4
5
|
/**
|
|
@@ -9,10 +10,11 @@ import { LocalCliAgentCard } from './LocalCliAgentCard.js';
|
|
|
9
10
|
* managed-runtime entry (wallet, sign-in, plan upgrades) is left behind; see
|
|
10
11
|
* `LocalCliAgentCard` for what that split does and does not cover.
|
|
11
12
|
*/
|
|
12
|
-
export function LocalCliAgentList({ agents, config, scan, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, onRescan, onTest, agentTest, renderAgentIcon, scopeLabel, }) {
|
|
13
|
+
export function LocalCliAgentList({ agents, config, scan, onSelect, onModelChange, onReasoningChange, onEnvChange, cliEnvFields, onRescan, onTest, agentTest, renderAgentIcon, scopeLabel, agentHandle, }) {
|
|
13
14
|
const t = useT();
|
|
14
15
|
const installed = agents.filter((agent) => agent.installed);
|
|
15
16
|
const scope = scopeLabel ?? t('Runs a code-agent CLI detected by the host.');
|
|
16
|
-
|
|
17
|
+
const cardHandles = agentHandle ? buildAgentListHandles(agentHandle, agents.map((agent) => agent.id)) : undefined;
|
|
18
|
+
return (_jsxs("section", { className: "jini-settings-section jini-local-cli", children: [_jsxs("div", { className: "jini-section-head", children: [_jsxs("div", { className: "jini-section-head-text", children: [_jsxs("h4", { className: "jini-agent-group-head", children: [t('Your CLIs'), " (", installed.length, ")"] }), _jsx("p", { className: "jini-field-hint", children: t('Pick the CLI that runs your prompts.') })] }), onRescan ? (_jsx("button", { type: "button", className: "jini-btn jini-local-cli-rescan", disabled: scan.status === 'scanning', onClick: onRescan, ...agentHandleProps(agentHandle, { action: 'rescan', role: 'button', label: t('Rescan') }), children: scan.status === 'scanning' ? t('Scanning…') : t('↻ Rescan') })) : null] }), _jsx("p", { className: "jini-field-hint jini-local-cli-scope", children: scope }), scan.status === 'error' ? (_jsx("p", { className: "jini-field-hint is-error", role: "alert", children: scan.message })) : null, scan.status === 'scanning' ? (_jsxs("div", { className: "jini-agent-scan-card", role: "status", "aria-live": "polite", children: [_jsx("span", { className: "jini-agent-scan-ring", "aria-hidden": "true" }), _jsx("strong", { children: t('Scanning for installed agents…') })] })) : agents.length === 0 ? (scan.status === 'error' ? null : (_jsx("div", { className: "jini-empty-card", children: t('No agent CLIs detected.') }))) : (_jsx("div", { className: "jini-agent-grid", children: agents.map((agent, index) => (_jsx(LocalCliAgentCard, { agent: agent, config: config, selected: config.agentId === agent.id, onSelect: onSelect, onModelChange: onModelChange, onReasoningChange: onReasoningChange, onEnvChange: onEnvChange, cliEnvFields: cliEnvFields, renderIcon: renderAgentIcon, onTest: onTest, agentTest: agentTest, onRescan: onRescan, ...(cardHandles?.[index] ? { agentHandle: cardHandles[index] } : {}) }, agent.id))) }))] }));
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=LocalCliAgentList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalCliAgentList.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAQ9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalCliAgentList.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/LocalCliAgentList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,9 @@ export interface ProviderChipGroupProps {
|
|
|
8
8
|
onSelect: (preset: ProviderPreset) => void;
|
|
9
9
|
configuredLabel: string;
|
|
10
10
|
unsetLabel: string;
|
|
11
|
+
/** This row's own agent handle — see `ExecutionTab`'s `agentHandle` doc. One distinct sub-handle
|
|
12
|
+
* per chip, derived from the preset's own id via `buildAgentListHandles`. */
|
|
13
|
+
agentHandle?: string;
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
13
16
|
* One labelled row of endpoint chips. Origin: the `protocol-chips` strip in
|
|
@@ -17,5 +20,5 @@ export interface ProviderChipGroupProps {
|
|
|
17
20
|
* Renders nothing when the row is empty, so a host supplying only protocol
|
|
18
21
|
* presets doesn't get a stray "Gateways" label over an empty row.
|
|
19
22
|
*/
|
|
20
|
-
export declare function ProviderChipGroup({ label, presets, selectedPresetId, configuredPresetIds, onSelect, configuredLabel, unsetLabel, }: ProviderChipGroupProps): import("react").JSX.Element | null;
|
|
23
|
+
export declare function ProviderChipGroup({ label, presets, selectedPresetId, configuredPresetIds, onSelect, configuredLabel, unsetLabel, agentHandle, }: ProviderChipGroupProps): import("react").JSX.Element | null;
|
|
21
24
|
//# sourceMappingURL=ProviderChipGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderChipGroup.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ProviderChipGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProviderChipGroup.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ProviderChipGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0EAA0E;IAC1E,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB;kFAC8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,UAAU,EACV,WAAW,GACZ,EAAE,sBAAsB,sCAsCxB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { agentHandleProps, buildAgentListHandles } from '@jini-ai/agentic';
|
|
2
3
|
/**
|
|
3
4
|
* One labelled row of endpoint chips. Origin: the `protocol-chips` strip in
|
|
4
5
|
* `SettingsDialog.tsx`'s execution tab, which drew a status dot per provider
|
|
@@ -7,16 +8,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
8
|
* Renders nothing when the row is empty, so a host supplying only protocol
|
|
8
9
|
* presets doesn't get a stray "Gateways" label over an empty row.
|
|
9
10
|
*/
|
|
10
|
-
export function ProviderChipGroup({ label, presets, selectedPresetId, configuredPresetIds, onSelect, configuredLabel, unsetLabel, }) {
|
|
11
|
+
export function ProviderChipGroup({ label, presets, selectedPresetId, configuredPresetIds, onSelect, configuredLabel, unsetLabel, agentHandle, }) {
|
|
11
12
|
if (presets.length === 0)
|
|
12
13
|
return null;
|
|
13
|
-
|
|
14
|
+
const chipHandles = agentHandle
|
|
15
|
+
? buildAgentListHandles(agentHandle, presets.map((preset) => preset.id))
|
|
16
|
+
: undefined;
|
|
17
|
+
return (_jsxs("div", { className: "jini-provider-chip-row", role: "tablist", "aria-label": label, children: [_jsx("span", { className: "jini-provider-chip-row-label", children: label }), _jsx("div", { className: "jini-provider-chip-options", children: presets.map((preset, index) => {
|
|
14
18
|
const active = selectedPresetId === preset.id;
|
|
15
19
|
const configured = configuredPresetIds.has(preset.id);
|
|
16
20
|
return (_jsxs("button", { type: "button", role: "tab", "aria-selected": active, className: 'jini-provider-chip' + (active ? ' active' : ''), title: `${preset.title} — ${configured ? configuredLabel : unsetLabel}`, onClick: () => {
|
|
17
21
|
if (!active)
|
|
18
22
|
onSelect(preset);
|
|
19
|
-
}, children: [_jsx("span", { className: `jini-provider-chip-status${configured ? ' is-configured' : ' is-unset'}`, "aria-hidden": "true" }), _jsx("span", { children: preset.title })] }, preset.id));
|
|
23
|
+
}, ...agentHandleProps(chipHandles?.[index], { role: 'button', label: preset.title }), children: [_jsx("span", { className: `jini-provider-chip-status${configured ? ' is-configured' : ' is-unset'}`, "aria-hidden": "true" }), _jsx("span", { children: preset.title })] }, preset.id));
|
|
20
24
|
}) })] }));
|
|
21
25
|
}
|
|
22
26
|
//# sourceMappingURL=ProviderChipGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderChipGroup.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ProviderChipGroup.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ProviderChipGroup.js","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/ProviderChipGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAiB3E;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,UAAU,EACV,WAAW,GACY;IACvB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,SAAS,gBAAa,KAAK,aACtE,eAAM,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAQ,EAC7D,cAAK,SAAS,EAAC,4BAA4B,YACxC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAC7B,MAAM,MAAM,GAAG,gBAAgB,KAAK,MAAM,CAAC,EAAE,CAAC;oBAC9C,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtD,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,MAAM,EACrB,SAAS,EAAE,oBAAoB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3D,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,MAAM,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,EAAE,EACvE,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,CAAC,MAAM;gCAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAChC,CAAC,KACG,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,aAEnF,eACE,SAAS,EAAE,4BAA4B,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,iBACxE,MAAM,GAClB,EACF,yBAAO,MAAM,CAAC,KAAK,GAAQ,KAftB,MAAM,CAAC,EAAE,CAgBP,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -24,6 +24,9 @@ export interface SearchableModelSelectProps {
|
|
|
24
24
|
menuClassName?: string | undefined;
|
|
25
25
|
testId?: string | undefined;
|
|
26
26
|
searchInputTestId?: string | undefined;
|
|
27
|
+
/** Tags the wrapping element — `CustomSelect` owns the actual trigger/popover markup, so this is
|
|
28
|
+
* the addressable unit an agent locates, then drives via its own trigger button inside. */
|
|
29
|
+
agentHandle?: string | undefined;
|
|
27
30
|
}
|
|
28
31
|
/**
|
|
29
32
|
* A `CustomSelect` with a search box inside its popover, for model lists long
|
|
@@ -41,5 +44,5 @@ export interface SearchableModelSelectProps {
|
|
|
41
44
|
* capability, and this package ships no such vocabulary for a host to hook
|
|
42
45
|
* into. A host that needs per-option badges can compose them into `label`.
|
|
43
46
|
*/
|
|
44
|
-
export declare function SearchableModelSelect({ models, value, onChange, ariaLabel, searchPlaceholder, additionalOptions, minSearchableOptions, className, menuClassName, testId, searchInputTestId, }: SearchableModelSelectProps): import("react").JSX.Element;
|
|
47
|
+
export declare function SearchableModelSelect({ models, value, onChange, ariaLabel, searchPlaceholder, additionalOptions, minSearchableOptions, className, menuClassName, testId, searchInputTestId, agentHandle, }: SearchableModelSelectProps): import("react").JSX.Element;
|
|
45
48
|
//# sourceMappingURL=SearchableModelSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchableModelSelect.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/SearchableModelSelect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SearchableModelSelect.d.ts","sourceRoot":"","sources":["../../../../../src/features/execution/react/components/SearchableModelSelect.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;iFAE6E;IAC7E,iBAAiB,CAAC,EAAE,SAAS,qCAAqC,EAAE,GAAG,SAAS,CAAC;IACjF;;6EAEyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;oFAEgF;IAChF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;gGAC4F;IAC5F,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,oBAAwB,EACxB,SAAS,EACT,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,WAAW,GACZ,EAAE,0BAA0B,+BA+D5B"}
|