@xenosystem/agent-interface-ui 0.1.127 → 0.1.129

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.
@@ -1037,25 +1037,6 @@ function normalizeCliOperationInspectionStatus(value) {
1037
1037
  const status = normalizeCliControlPlaneStatus(value);
1038
1038
  return status === 'idle' ? 'degraded' : status;
1039
1039
  }
1040
- function toCliControlPlaneOperationInspection(value) {
1041
- if (!isPlainRecord(value))
1042
- return null;
1043
- const response = toCliControlPlaneOperationResponseSummary(value.response);
1044
- const method = value.method === 'HEAD' ? 'HEAD' : 'GET';
1045
- if (!response)
1046
- return null;
1047
- return {
1048
- success: value.success === true,
1049
- endpoint: readOptionalString(value, 'endpoint') || null,
1050
- checkedAt: readNumber(value, 'checkedAt') || Date.now(),
1051
- status: normalizeCliOperationInspectionStatus(value.status),
1052
- method,
1053
- path: readOptionalString(value, 'path') || null,
1054
- operationId: readOptionalString(value, 'operationId'),
1055
- response,
1056
- error: readOptionalString(value, 'error'),
1057
- };
1058
- }
1059
1040
  function normalizeCliRemoteRunAction(value) {
1060
1041
  return value === 'get' || value === 'events' || value === 'stop' ? value : 'list';
1061
1042
  }
@@ -4268,11 +4249,6 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
4268
4249
  const [cliControlPlaneOpenApi, setCliControlPlaneOpenApi] = useState(null);
4269
4250
  const [cliControlPlaneWorkflows, setCliControlPlaneWorkflows] = useState([]);
4270
4251
  const [cliControlPlaneDashboards, setCliControlPlaneDashboards] = useState([]);
4271
- const [cliControlPlaneOperationProbe, setCliControlPlaneOperationProbe] = useState({
4272
- loading: false,
4273
- error: null,
4274
- result: null,
4275
- });
4276
4252
  const [cliControlPlaneRemoteRun, setCliControlPlaneRemoteRun] = useState({
4277
4253
  loading: false,
4278
4254
  error: null,
@@ -6583,7 +6559,6 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
6583
6559
  setCliControlPlaneOpenApi(null);
6584
6560
  setCliControlPlaneWorkflows([]);
6585
6561
  setCliControlPlaneDashboards([]);
6586
- setCliControlPlaneOperationProbe({ loading: false, error: null, result: null });
6587
6562
  setCliControlPlaneRemoteRun({ loading: false, error: null, result: null });
6588
6563
  setCliControlPlaneVersionSkewWarning(undefined);
6589
6564
  }, [selectedCliAppServerEndpoint]);
@@ -6650,7 +6625,6 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
6650
6625
  setCliControlPlaneOpenApi(openapi);
6651
6626
  setCliControlPlaneWorkflows(workflows);
6652
6627
  setCliControlPlaneDashboards(dashboards);
6653
- setCliControlPlaneOperationProbe({ loading: false, error: null, result: null });
6654
6628
  setCliControlPlaneVersionSkewWarning(readOptionalString(record, 'versionSkewWarning'));
6655
6629
  if (!result?.success) {
6656
6630
  setCliControlPlaneError(readOptionalString(record, 'error') || 'CLI app-server inspection failed.');
@@ -6666,65 +6640,6 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
6666
6640
  setCliControlPlaneLoading(false);
6667
6641
  }
6668
6642
  }, [policyCaller, selectedCliAppServerEndpoint]);
6669
- const handleCliControlPlaneInspectOperation = useCallback(async (operation) => {
6670
- if (!selectedCliAppServerEndpoint) {
6671
- setCliControlPlaneOperationProbe({
6672
- loading: false,
6673
- operationId: operation.id,
6674
- error: 'No CLI app-server endpoint is configured for this agent.',
6675
- result: null,
6676
- });
6677
- return;
6678
- }
6679
- if (!operation.inspectable) {
6680
- setCliControlPlaneOperationProbe({
6681
- loading: false,
6682
- operationId: operation.id,
6683
- error: 'Only resolved read-only CLI workflow operations can be probed.',
6684
- result: null,
6685
- });
6686
- return;
6687
- }
6688
- if (!getAgentPlatformBridge()?.cliControlPlane?.inspectWorkflowOperation) {
6689
- setCliControlPlaneOperationProbe({
6690
- loading: false,
6691
- operationId: operation.id,
6692
- error: 'CLI workflow operation bridge is not available. Restart Hub.',
6693
- result: null,
6694
- });
6695
- return;
6696
- }
6697
- setCliControlPlaneOperationProbe({
6698
- loading: true,
6699
- operationId: operation.id,
6700
- error: null,
6701
- result: null,
6702
- });
6703
- try {
6704
- const result = await getAgentPlatformBridge().cliControlPlane.inspectWorkflowOperation({
6705
- endpoint: selectedCliAppServerEndpoint,
6706
- method: operation.method,
6707
- path: operation.path,
6708
- operationId: operation.operationId,
6709
- caller: policyCaller,
6710
- });
6711
- const inspection = toCliControlPlaneOperationInspection(result);
6712
- setCliControlPlaneOperationProbe({
6713
- loading: false,
6714
- operationId: operation.id,
6715
- error: inspection?.success ? null : inspection?.error || 'CLI workflow operation probe failed.',
6716
- result: inspection,
6717
- });
6718
- }
6719
- catch (error) {
6720
- setCliControlPlaneOperationProbe({
6721
- loading: false,
6722
- operationId: operation.id,
6723
- error: error instanceof Error ? error.message : 'CLI workflow operation probe failed.',
6724
- result: null,
6725
- });
6726
- }
6727
- }, [policyCaller, selectedCliAppServerEndpoint]);
6728
6643
  const handleCliControlPlaneRemoteRunOperation = useCallback(async (action, runId) => {
6729
6644
  const cleanedRunId = runId?.trim();
6730
6645
  if (!selectedCliAppServerEndpoint) {
@@ -8723,7 +8638,6 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
8723
8638
  openapi: cliControlPlaneOpenApi,
8724
8639
  workflows: cliControlPlaneWorkflows,
8725
8640
  dashboards: cliControlPlaneDashboards,
8726
- operationProbe: cliControlPlaneOperationProbe,
8727
8641
  remoteRun: cliControlPlaneRemoteRun,
8728
8642
  versionSkewWarning: cliControlPlaneVersionSkewWarning,
8729
8643
  }), [
@@ -8733,7 +8647,6 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
8733
8647
  cliControlPlaneLoading,
8734
8648
  cliControlPlaneManifest,
8735
8649
  cliControlPlaneOpenApi,
8736
- cliControlPlaneOperationProbe,
8737
8650
  cliControlPlaneRemoteRun,
8738
8651
  cliControlPlaneStatus,
8739
8652
  cliControlPlaneVersionSkewWarning,
@@ -9533,7 +9446,7 @@ export default function AgentInterface({ surface = 'embedded', initialSdkSession
9533
9446
  `subagentRunId ?? conversationId`, so the conversation id
9534
9447
  IS the run id here. Passing anything else would ask the
9535
9448
  host about a run it has never heard of. */
9536
- reviewRunId: activeConversationId, coordinationSessionId: activeConversation?.sessionUi?.coordinationSessionId || activeConversationId, traceMessages: traceMessages, selectedTraceMessage: selectedTraceMessage, outputEntries: outputEntries, problemEntries: problemEntries, onSelectTab: handleSelectWorkbenchTab, onClose: handleCloseWorkbenchPanel, onSelectTraceMessage: handleSelectWorkbenchTraceMessage, onOpenChatSettings: handleOpenActiveConversationSettings, onOpenChatAcpAgents: handleOpenActiveConversationAcpAgents, onOpenChatPlugins: handleOpenPluginManager, onOpenChatKnowledge: handleOpenActiveConversationKnowledge, onOpenEditorPath: handleOpenEditorPath, onOpenEditorDiff: handleOpenEditorDiff, terminalCapabilityEnabled: terminalCapabilityEnabled, terminalReady: terminalReady, resolvedTerminalCwd: resolvedTerminalCwd, terminalDraftCwd: terminalDraftCwd, terminalDraftInput: terminalDraftInput, onChangeTerminalCwd: setTerminalDraftCwd, onChangeTerminalInput: setTerminalDraftInput, onResetTerminalCwd: handleResetWorkbenchTerminalCwd, onClearTerminalHistory: handleClearWorkbenchTerminalHistory, onRunTerminalCommand: () => { void handleRunWorkbenchTerminalCommand(); }, terminalHistory: terminalHistory, liveTerminalRuns: liveTerminalRunsForConversation, onReuseTerminalEntry: handleReuseWorkbenchTerminalEntry, onStopTerminalRun: (terminalId) => { void handleStopWorkbenchTerminalRun(terminalId); }, codeWorkbench: codeWorkbenchState, onCodeQueryChange: setCodeWorkbenchQuery, onCodeModeChange: handleCodeModeChange, onCodeIndex: handleCodeIndex, onCodeSearch: handleCodeSearch, onCodeOpenPath: handleCodeOpenPath, onCodeToggleFile: handleCodeToggleFile, onCodeToggleSymbol: handleCodeToggleSymbol, onCodeCreateContextPack: () => { void handleCodeCreateContextPack(); }, onCodeMaterializeContextPack: (packId) => { void handleCodeMaterializeContextPack(packId); }, onCodeAttachContextPack: (packId) => { void handleCodeAttachContextPack(packId); }, onCodeRefreshContextPacks: () => { void handleCodeRefreshContextPacks(); }, onCodeRefreshChanges: () => { void handleCodeRefreshChanges(); }, onCodeRefreshActions: () => { void handleCodeRefreshActions(); }, onCodeApplyAction: (action) => { void handleCodeApplyAction(action); }, onCodeOrganizeImports: () => { void handleCodeOrganizeImports(); }, onCodeRenameSymbol: () => { void handleCodeRenameSymbol(); }, onCodeRefreshLanguageServices: () => { void handleCodeRefreshLanguageServices(); }, onCodeControlLanguageService: (serviceId, action) => { void handleCodeControlLanguageService(serviceId, action); }, onCodeRepairIndex: () => { void handleCodeRepairIndex(); }, engineeringWorkbench: engineeringWorkbenchState, onEngineeringRefresh: () => { void handleEngineeringRefresh(); }, onEngineeringTogglePath: handleEngineeringTogglePath, onEngineeringOpenPath: handleEngineeringOpenPath, onEngineeringPreviewDiff: (paths) => { void handleEngineeringPreviewDiff(paths); }, onEngineeringStage: (paths) => { void handleEngineeringStage(paths); }, onEngineeringUnstage: (paths) => { void handleEngineeringUnstage(paths); }, onEngineeringRunCheck: (checkId) => { void handleEngineeringRunCheck(checkId); }, onEngineeringStartBackgroundCheck: (checkId) => { void handleEngineeringStartBackgroundCheck(checkId); }, onEngineeringStopBackgroundRun: (runId) => { void handleEngineeringStopBackgroundRun(runId); }, onEngineeringReadBackgroundRunOutput: (runId) => { void handleEngineeringReadBackgroundRunOutput(runId); }, onEngineeringCommitMessageChange: setEngineeringCommitMessage, onEngineeringCommit: () => { void handleEngineeringCommit(); }, onEngineeringQueuePatchReview: () => { void handleEngineeringQueuePatchReview(); }, onEngineeringUpdatePatchReview: (id, status) => { void handleEngineeringUpdatePatchReview(id, status); }, onEngineeringReviewPatchSelection: (request) => { void handleEngineeringReviewPatchSelection(request); }, onEngineeringCompareCheckpoints: (fromCheckpointId, toCheckpointId) => { void handleEngineeringCompareCheckpoints(fromCheckpointId, toCheckpointId); }, onEngineeringRestoreCheckpoint: (checkpointId) => { void handleEngineeringRestoreCheckpoint(checkpointId); }, cliControlPlane: cliControlPlaneState, cliControlPlaneCaller: policyCaller, cliControlPlaneConversationId: activeConversationId, cliControlPlaneRemoteBackendId: selectedAgent?.runtimeSelection?.remoteBackendId || '', onCliControlPlaneInspect: () => { void handleCliControlPlaneInspect(); }, onCliControlPlaneInspectOperation: (operation) => { void handleCliControlPlaneInspectOperation(operation); }, onCliControlPlaneRemoteRunOperation: (action, runId) => { void handleCliControlPlaneRemoteRunOperation(action, runId); }, subagentWorkbench: subagentWorkbenchState, subagentDelegationTargets: subagentDelegationTargets, subagentDelegationSourceName: selectedAgent?.name, subagentDelegationDisabledReason: subagentDelegationDisabledReason, onSubagentRefresh: () => { void handleSubagentRefresh(); }, onSubagentRecoverRuns: () => { void handleSubagentRecoverRuns(); }, onSubagentSelectRun: handleSubagentSelectRun, onSubagentOpenConversation: handleSubagentOpenConversation, onSubagentCancelRun: (run) => { void handleSubagentCancelRun(run); }, onCreateSubagentDelegation: handleWorkbenchSubagentDelegation, policyWorkbench: policyWorkbenchState, onPolicyRefresh: () => { void handlePolicyRefresh(); } }) }) }) }))] })] }), folderPanelOpen && !settingsPanel && !['projects', 'teams', 'agents', 'scheduled'].includes(viewMode || '') && (_jsx(FolderSidebar, { conversationId: activeConversationId, workspaceId: activeConversation?.workspaceId || null, rootDirectory: activeConversation?.rootDirectory || null, allowedDirectories: activeConversationAllowedDirectories, onOpenFolder: handleOpenFolderForConversation, onClose: () => setFolderPanelOpen(false), onOpenFile: handleOpenEditorFile, activeFilePath: activeEditorFilePath, terminalCapabilityEnabled: terminalCapabilityEnabled, terminalReady: terminalReady, xenoTuiReady: xenoTuiReady, xenoTuiUnavailableReason: xenoTuiUnavailableReason, providerSessionTuiReady: providerSessionTuiReady, providerSessionTuiUnavailableReason: providerSessionTuiUnavailableReason, providerSessionTuiLabel: providerSessionTuiLabel, resolvedTerminalCwd: resolvedTerminalCwd, terminalTabs: rightPanelTerminalsForConversation, onPtyInput: handleRightPanelPtyInput, onPtyResize: handleRightPanelPtyResize, onCreateTerminal: handleCreateRightPanelTerminal, onCreateXenoTui: handleCreateXenoTui, onCreateProviderTui: handleCreateProviderSessionTui, onCloseTerminal: handleCloseRightPanelTerminal, onClearTerminal: handleClearRightPanelTerminal, onRestartTerminal: handleRestartRightPanelTerminal, onStopTerminal: handleStopRightPanelTerminal, width: rightPanelWidth, onResizeStart: handleRightPanelResizeStart })), rightPanelResizing && (_jsx("div", { className: "fixed inset-0 z-[9999] cursor-col-resize bg-transparent", "aria-hidden": "true" })), pendingPermission && (_jsx(PermissionDialog, { request: pendingPermission, onDecision: resolvePermission }))] }));
9449
+ reviewRunId: activeConversationId, coordinationSessionId: activeConversation?.sessionUi?.coordinationSessionId || activeConversationId, traceMessages: traceMessages, selectedTraceMessage: selectedTraceMessage, outputEntries: outputEntries, problemEntries: problemEntries, onSelectTab: handleSelectWorkbenchTab, onClose: handleCloseWorkbenchPanel, onSelectTraceMessage: handleSelectWorkbenchTraceMessage, onOpenChatSettings: handleOpenActiveConversationSettings, onOpenChatAcpAgents: handleOpenActiveConversationAcpAgents, onOpenChatPlugins: handleOpenPluginManager, onOpenChatKnowledge: handleOpenActiveConversationKnowledge, onOpenEditorPath: handleOpenEditorPath, onOpenEditorDiff: handleOpenEditorDiff, terminalCapabilityEnabled: terminalCapabilityEnabled, terminalReady: terminalReady, resolvedTerminalCwd: resolvedTerminalCwd, terminalDraftCwd: terminalDraftCwd, terminalDraftInput: terminalDraftInput, onChangeTerminalCwd: setTerminalDraftCwd, onChangeTerminalInput: setTerminalDraftInput, onResetTerminalCwd: handleResetWorkbenchTerminalCwd, onClearTerminalHistory: handleClearWorkbenchTerminalHistory, onRunTerminalCommand: () => { void handleRunWorkbenchTerminalCommand(); }, terminalHistory: terminalHistory, liveTerminalRuns: liveTerminalRunsForConversation, onReuseTerminalEntry: handleReuseWorkbenchTerminalEntry, onStopTerminalRun: (terminalId) => { void handleStopWorkbenchTerminalRun(terminalId); }, codeWorkbench: codeWorkbenchState, onCodeQueryChange: setCodeWorkbenchQuery, onCodeModeChange: handleCodeModeChange, onCodeIndex: handleCodeIndex, onCodeSearch: handleCodeSearch, onCodeOpenPath: handleCodeOpenPath, onCodeToggleFile: handleCodeToggleFile, onCodeToggleSymbol: handleCodeToggleSymbol, onCodeCreateContextPack: () => { void handleCodeCreateContextPack(); }, onCodeMaterializeContextPack: (packId) => { void handleCodeMaterializeContextPack(packId); }, onCodeAttachContextPack: (packId) => { void handleCodeAttachContextPack(packId); }, onCodeRefreshContextPacks: () => { void handleCodeRefreshContextPacks(); }, onCodeRefreshChanges: () => { void handleCodeRefreshChanges(); }, onCodeRefreshActions: () => { void handleCodeRefreshActions(); }, onCodeApplyAction: (action) => { void handleCodeApplyAction(action); }, onCodeOrganizeImports: () => { void handleCodeOrganizeImports(); }, onCodeRenameSymbol: () => { void handleCodeRenameSymbol(); }, onCodeRefreshLanguageServices: () => { void handleCodeRefreshLanguageServices(); }, onCodeControlLanguageService: (serviceId, action) => { void handleCodeControlLanguageService(serviceId, action); }, onCodeRepairIndex: () => { void handleCodeRepairIndex(); }, engineeringWorkbench: engineeringWorkbenchState, onEngineeringRefresh: () => { void handleEngineeringRefresh(); }, onEngineeringTogglePath: handleEngineeringTogglePath, onEngineeringOpenPath: handleEngineeringOpenPath, onEngineeringPreviewDiff: (paths) => { void handleEngineeringPreviewDiff(paths); }, onEngineeringStage: (paths) => { void handleEngineeringStage(paths); }, onEngineeringUnstage: (paths) => { void handleEngineeringUnstage(paths); }, onEngineeringRunCheck: (checkId) => { void handleEngineeringRunCheck(checkId); }, onEngineeringStartBackgroundCheck: (checkId) => { void handleEngineeringStartBackgroundCheck(checkId); }, onEngineeringStopBackgroundRun: (runId) => { void handleEngineeringStopBackgroundRun(runId); }, onEngineeringReadBackgroundRunOutput: (runId) => { void handleEngineeringReadBackgroundRunOutput(runId); }, onEngineeringCommitMessageChange: setEngineeringCommitMessage, onEngineeringCommit: () => { void handleEngineeringCommit(); }, onEngineeringQueuePatchReview: () => { void handleEngineeringQueuePatchReview(); }, onEngineeringUpdatePatchReview: (id, status) => { void handleEngineeringUpdatePatchReview(id, status); }, onEngineeringReviewPatchSelection: (request) => { void handleEngineeringReviewPatchSelection(request); }, onEngineeringCompareCheckpoints: (fromCheckpointId, toCheckpointId) => { void handleEngineeringCompareCheckpoints(fromCheckpointId, toCheckpointId); }, onEngineeringRestoreCheckpoint: (checkpointId) => { void handleEngineeringRestoreCheckpoint(checkpointId); }, cliControlPlane: cliControlPlaneState, cliControlPlaneCaller: policyCaller, cliControlPlaneConversationId: activeConversationId, cliControlPlaneRemoteBackendId: selectedAgent?.runtimeSelection?.remoteBackendId || '', onCliControlPlaneInspect: () => { void handleCliControlPlaneInspect(); }, onCliControlPlaneRemoteRunOperation: (action, runId) => { void handleCliControlPlaneRemoteRunOperation(action, runId); }, subagentWorkbench: subagentWorkbenchState, subagentDelegationTargets: subagentDelegationTargets, subagentDelegationSourceName: selectedAgent?.name, subagentDelegationDisabledReason: subagentDelegationDisabledReason, onSubagentRefresh: () => { void handleSubagentRefresh(); }, onSubagentRecoverRuns: () => { void handleSubagentRecoverRuns(); }, onSubagentSelectRun: handleSubagentSelectRun, onSubagentOpenConversation: handleSubagentOpenConversation, onSubagentCancelRun: (run) => { void handleSubagentCancelRun(run); }, onCreateSubagentDelegation: handleWorkbenchSubagentDelegation, policyWorkbench: policyWorkbenchState, onPolicyRefresh: () => { void handlePolicyRefresh(); } }) }) }) }))] })] }), folderPanelOpen && !settingsPanel && !['projects', 'teams', 'agents', 'scheduled'].includes(viewMode || '') && (_jsx(FolderSidebar, { conversationId: activeConversationId, workspaceId: activeConversation?.workspaceId || null, rootDirectory: activeConversation?.rootDirectory || null, allowedDirectories: activeConversationAllowedDirectories, onOpenFolder: handleOpenFolderForConversation, onClose: () => setFolderPanelOpen(false), onOpenFile: handleOpenEditorFile, activeFilePath: activeEditorFilePath, terminalCapabilityEnabled: terminalCapabilityEnabled, terminalReady: terminalReady, xenoTuiReady: xenoTuiReady, xenoTuiUnavailableReason: xenoTuiUnavailableReason, providerSessionTuiReady: providerSessionTuiReady, providerSessionTuiUnavailableReason: providerSessionTuiUnavailableReason, providerSessionTuiLabel: providerSessionTuiLabel, resolvedTerminalCwd: resolvedTerminalCwd, terminalTabs: rightPanelTerminalsForConversation, onPtyInput: handleRightPanelPtyInput, onPtyResize: handleRightPanelPtyResize, onCreateTerminal: handleCreateRightPanelTerminal, onCreateXenoTui: handleCreateXenoTui, onCreateProviderTui: handleCreateProviderSessionTui, onCloseTerminal: handleCloseRightPanelTerminal, onClearTerminal: handleClearRightPanelTerminal, onRestartTerminal: handleRestartRightPanelTerminal, onStopTerminal: handleStopRightPanelTerminal, width: rightPanelWidth, onResizeStart: handleRightPanelResizeStart })), rightPanelResizing && (_jsx("div", { className: "fixed inset-0 z-[9999] cursor-col-resize bg-transparent", "aria-hidden": "true" })), pendingPermission && (_jsx(PermissionDialog, { request: pendingPermission, onDecision: resolvePermission }))] }));
9537
9450
  if (surface !== 'standalone-desktop') {
9538
9451
  return (_jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", "data-xeno-agent-embedded-shell": "true", children: [_jsxs("header", { className: "xeno-chrome-shell xeno-border-subtle h-10 flex flex-shrink-0 border-b", "data-xeno-agent-session-header": "embedded", "data-xeno-hub-header-style": "true", children: [_jsx("div", { className: "min-w-0 flex-1", children: sessionTabsNode }), _jsx(RightSidebarControls, { folderPanelOpen: folderPanelOpen, onOpenFolderPanel: () => setFolderPanelOpen(true), visible: !settingsPanel && !['projects', 'teams', 'agents', 'scheduled'].includes(viewMode || ''), inline: true })] }), _jsx(WorkspacePersistenceNotice, {}), _jsx(SidebarLayoutNotice, {}), _jsx("div", { className: "min-h-0 min-w-0 flex-1", children: agentWorkspace })] }));
9539
9452
  }