@tutti-os/agent-gui 0.0.176 → 0.0.177

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.
@@ -2,7 +2,7 @@ import * as react from 'react';
2
2
  import { ReactNode, JSX } from 'react';
3
3
  import { c as AgentConversationVM, g as WorkspaceLinkAction, f as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-DWEy7jzx.js';
4
4
  export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityCard, e as WorkspaceAgentActivityTimelineItem, h as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-DWEy7jzx.js';
5
- import { d as AgentGUIProviderSkillOption, h as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-CLU6X2Hk.js';
5
+ import { d as AgentGUIProviderSkillOption, h as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-CbBAccKv.js';
6
6
  import { AgentActivityMessage } from '@tutti-os/agent-activity-core';
7
7
  import '@tutti-os/workspace-issue-manager/core';
8
8
  import '../types-CWFDZVkv.js';
@@ -3,7 +3,7 @@ import { ReactNode } from 'react';
3
3
  import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
4
4
  import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivitySubmitSettingsPatch } from '@tutti-os/agent-activity-core';
5
5
  import { k as AgentHostAgentSessionComposerSettings, o as AgentHostUnactivateAgentSessionResult, b as AgentGUIAgentTarget, f as AgentGUIProvider, p as AgentPromptContentBlock, e as AgentGUINodeData, P as Point, g as AgentGUIProviderRailAllPresentation, h as AgentGUIProviderRailMode, i as AgentGUIProviderReadinessGate, d as AgentGUIHomeSuggestionId, N as NodeFrame, a as AgentGUIAgentDirectorySnapshot, c as AgentGUIAllAgentsPresentation } from './types-CWFDZVkv.js';
6
- import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-CLU6X2Hk.js';
6
+ import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-CbBAccKv.js';
7
7
  import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
8
8
  export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
9
9
  import { A as AgentContextMentionItem } from './agentFileMentionContracts-B0yQizXB.js';
package/dist/agent-gui.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AgentGUI
3
- } from "./chunk-4OOALEBA.js";
3
+ } from "./chunk-XQV7VV2N.js";
4
4
  import "./chunk-A4WCTHWS.js";
5
5
  import "./chunk-GZXOFYCW.js";
6
6
  import "./chunk-6II57C72.js";
@@ -677,6 +677,8 @@ interface AgentGUIComposerSettingsVM {
677
677
  selectedProjectPath?: string | null;
678
678
  /** Persisted rail membership used to scope Agent-generated file mentions. */
679
679
  selectedProjectSectionKey?: string | null;
680
+ /** Resolve the durable default only before the home project intent is known. */
681
+ shouldApplyPreparedProjectSelection?: boolean;
680
682
  projectLocked?: boolean;
681
683
  projectPathIsRemote?: boolean;
682
684
  collapseModelOptionsToLatest?: boolean;
@@ -6366,6 +6366,8 @@ button.agent-gui-node__conversation-section-toggle:hover
6366
6366
 
6367
6367
  .agent-gui-node__conversation-item {
6368
6368
  --agent-gui-conversation-actions-width: 72px;
6369
+ --agent-gui-conversation-actions-inset: 4px;
6370
+ --agent-gui-conversation-actions-gap: 8px;
6369
6371
 
6370
6372
  position: relative;
6371
6373
  display: block;
@@ -6410,7 +6412,7 @@ button.agent-gui-node__conversation-section-toggle:hover
6410
6412
  display: grid;
6411
6413
  box-sizing: border-box;
6412
6414
  grid-template-columns: minmax(0, 1fr) auto;
6413
- gap: 8px;
6415
+ gap: var(--agent-gui-conversation-actions-gap);
6414
6416
  align-items: center;
6415
6417
  width: 100%;
6416
6418
  max-width: 100%;
@@ -6452,7 +6454,10 @@ button.agent-gui-node__conversation-section-toggle:hover
6452
6454
  )
6453
6455
  .agent-gui-node__conversation-select {
6454
6456
  grid-template-columns: minmax(0, 1fr) 0;
6455
- padding-right: calc(var(--agent-gui-conversation-actions-width) + 24px);
6457
+ padding-right: calc(
6458
+ var(--agent-gui-conversation-actions-width) +
6459
+ var(--agent-gui-conversation-actions-inset)
6460
+ );
6456
6461
  }
6457
6462
 
6458
6463
  .agent-gui-node__conversation-item[data-pending-delete="true"]
@@ -6486,7 +6491,7 @@ button.agent-gui-node__conversation-section-toggle:hover
6486
6491
  .agent-gui-node__conversation-actions {
6487
6492
  position: absolute;
6488
6493
  top: 50%;
6489
- right: 4px;
6494
+ right: var(--agent-gui-conversation-actions-inset);
6490
6495
  z-index: 1;
6491
6496
  display: inline-flex;
6492
6497
  align-items: center;
@@ -5263,7 +5263,7 @@ function arePermissionConfigsEqual(left, right) {
5263
5263
  );
5264
5264
  }
5265
5265
  function areComposerSettingsVMsEqual(left, right) {
5266
- return sameComposerSettings(left.sessionSettings, right.sessionSettings) && areComposerSettingsDraftsEqual(left.draftSettings, right.draftSettings) && left.supportsModel === right.supportsModel && left.supportsReasoningEffort === right.supportsReasoningEffort && left.supportsSpeed === right.supportsSpeed && (left.supportsPermissionMode ?? false) === (right.supportsPermissionMode ?? false) && left.supportsPlanMode === right.supportsPlanMode && (left.supportsBrowser ?? false) === (right.supportsBrowser ?? false) && (left.supportsComputerUse ?? false) === (right.supportsComputerUse ?? false) && (left.permissionModeChangeDuringTurn ?? false) === (right.permissionModeChangeDuringTurn ?? false) && slashCommandPoliciesEqual(left.slashCommandPolicy, right.slashCommandPolicy) && left.isSettingsLoading === right.isSettingsLoading && !!left.isCapabilityOptionsLoading === !!right.isCapabilityOptionsLoading && !!left.isModelOptionsLoading === !!right.isModelOptionsLoading && left.modelUnavailable === right.modelUnavailable && left.reasoningUnavailable === right.reasoningUnavailable && left.speedUnavailable === right.speedUnavailable && (left.permissionModeUnavailable ?? false) === (right.permissionModeUnavailable ?? false) && (left.planExclusiveWithPermissionMode ?? false) === (right.planExclusiveWithPermissionMode ?? false) && (left.selectedModelValue ?? null) === (right.selectedModelValue ?? null) && (left.selectedReasoningEffortValue ?? null) === (right.selectedReasoningEffortValue ?? null) && (left.selectedSpeedValue ?? null) === (right.selectedSpeedValue ?? null) && (left.selectedPermissionModeValue ?? null) === (right.selectedPermissionModeValue ?? null) && arePermissionConfigsEqual(left.permissionConfig, right.permissionConfig) && (left.selectedProjectPath ?? null) === (right.selectedProjectPath ?? null) && Boolean(left.projectLocked) === Boolean(right.projectLocked) && Boolean(left.projectPathIsRemote) === Boolean(right.projectPathIsRemote) && Boolean(left.collapseModelOptionsToLatest) === Boolean(right.collapseModelOptionsToLatest) && areComposerSettingOptionListsEqual(
5266
+ return sameComposerSettings(left.sessionSettings, right.sessionSettings) && areComposerSettingsDraftsEqual(left.draftSettings, right.draftSettings) && left.supportsModel === right.supportsModel && left.supportsReasoningEffort === right.supportsReasoningEffort && left.supportsSpeed === right.supportsSpeed && (left.supportsPermissionMode ?? false) === (right.supportsPermissionMode ?? false) && left.supportsPlanMode === right.supportsPlanMode && (left.supportsBrowser ?? false) === (right.supportsBrowser ?? false) && (left.supportsComputerUse ?? false) === (right.supportsComputerUse ?? false) && (left.permissionModeChangeDuringTurn ?? false) === (right.permissionModeChangeDuringTurn ?? false) && slashCommandPoliciesEqual(left.slashCommandPolicy, right.slashCommandPolicy) && left.isSettingsLoading === right.isSettingsLoading && !!left.isCapabilityOptionsLoading === !!right.isCapabilityOptionsLoading && !!left.isModelOptionsLoading === !!right.isModelOptionsLoading && left.modelUnavailable === right.modelUnavailable && left.reasoningUnavailable === right.reasoningUnavailable && left.speedUnavailable === right.speedUnavailable && (left.permissionModeUnavailable ?? false) === (right.permissionModeUnavailable ?? false) && (left.planExclusiveWithPermissionMode ?? false) === (right.planExclusiveWithPermissionMode ?? false) && (left.selectedModelValue ?? null) === (right.selectedModelValue ?? null) && (left.selectedReasoningEffortValue ?? null) === (right.selectedReasoningEffortValue ?? null) && (left.selectedSpeedValue ?? null) === (right.selectedSpeedValue ?? null) && (left.selectedPermissionModeValue ?? null) === (right.selectedPermissionModeValue ?? null) && arePermissionConfigsEqual(left.permissionConfig, right.permissionConfig) && (left.selectedProjectPath ?? null) === (right.selectedProjectPath ?? null) && Boolean(left.shouldApplyPreparedProjectSelection) === Boolean(right.shouldApplyPreparedProjectSelection) && Boolean(left.projectLocked) === Boolean(right.projectLocked) && Boolean(left.projectPathIsRemote) === Boolean(right.projectPathIsRemote) && Boolean(left.collapseModelOptionsToLatest) === Boolean(right.collapseModelOptionsToLatest) && areComposerSettingOptionListsEqual(
5267
5267
  left.availableModels,
5268
5268
  right.availableModels
5269
5269
  ) && areComposerSettingOptionListsEqual(
@@ -10729,6 +10729,7 @@ function useAgentGUIComposerPresentation(input) {
10729
10729
  input.selectedProjectPath,
10730
10730
  input.userProjects
10731
10731
  ),
10732
+ shouldApplyPreparedProjectSelection: input.activeConversationId === null && input.shouldApplyPreparedProjectSelection,
10732
10733
  projectLocked: input.activeConversationId !== null,
10733
10734
  projectPathIsRemote: input.agentActivityRuntime.projectPathIsRemote,
10734
10735
  collapseModelOptionsToLatest: input.providerComposerOptions?.behavior.collapseModelOptionsToLatest === true,
@@ -10755,6 +10756,7 @@ function useAgentGUIComposerPresentation(input) {
10755
10756
  input.providerComposerOptions,
10756
10757
  input.selectedComposerTargetData.agentTargetId,
10757
10758
  input.selectedProjectPath,
10759
+ input.shouldApplyPreparedProjectSelection,
10758
10760
  input.userProjects,
10759
10761
  optionsReasoningEffort,
10760
10762
  sessionSettings,
@@ -12753,7 +12755,11 @@ function useAgentGUISessionDetailTransport(input) {
12753
12755
  }
12754
12756
 
12755
12757
  // agent-gui/agentGuiNode/controller/useAgentGUILocalState.ts
12756
- import { useCallback as useCallback26, useRef as useRef19, useState as useState7 } from "react";
12758
+ import {
12759
+ useCallback as useCallback26,
12760
+ useRef as useRef19,
12761
+ useState as useState7
12762
+ } from "react";
12757
12763
  function useAgentGUILocalState({
12758
12764
  data,
12759
12765
  userProjectsApi
@@ -12766,9 +12772,15 @@ function useAgentGUILocalState({
12766
12772
  const [intent, setIntent] = useState7(
12767
12773
  () => data.lastActiveAgentSessionId ? { tag: "requested", id: data.lastActiveAgentSessionId } : { tag: "home" }
12768
12774
  );
12769
- const [selectedProjectPath, setSelectedProjectPath] = useState7(
12770
- null
12771
- );
12775
+ const [homeProjectSelection, setHomeProjectSelection] = useState7({ kind: "unresolved_default" });
12776
+ const selectedProjectPath = homeProjectSelection.kind === "resolved" ? homeProjectSelection.projectPath : null;
12777
+ const setSelectedProjectPath = useCallback26((nextProjectPath) => {
12778
+ setHomeProjectSelection((current) => {
12779
+ const currentProjectPath = current.kind === "resolved" ? current.projectPath : null;
12780
+ const projectPath = typeof nextProjectPath === "function" ? nextProjectPath(currentProjectPath) : nextProjectPath;
12781
+ return { kind: "resolved", projectPath };
12782
+ });
12783
+ }, []);
12772
12784
  const [isComposerHome, setIsComposerHome] = useState7(
12773
12785
  data.lastActiveAgentSessionId === null
12774
12786
  );
@@ -12824,6 +12836,7 @@ function useAgentGUILocalState({
12824
12836
  railRevealRequest,
12825
12837
  requestRailReveal,
12826
12838
  selectedProjectPath,
12839
+ shouldApplyPreparedProjectSelection: homeProjectSelection.kind === "unresolved_default",
12827
12840
  setActiveConversationId,
12828
12841
  setDetailError,
12829
12842
  setDraftByScopeKey,
@@ -21715,6 +21728,7 @@ function AgentProjectDropdown({
21715
21728
  ),
21716
21729
  selectedProjectPath: composerSettings.selectedProjectPath,
21717
21730
  service: agentHostApi.userProjects?.service ?? null,
21731
+ shouldApplyPreparedSelection: composerSettings.shouldApplyPreparedProjectSelection === true,
21718
21732
  onDismissAutoFocus,
21719
21733
  onProjectMissingChange,
21720
21734
  onProjectPathChange
@@ -40523,4 +40537,4 @@ export {
40523
40537
  AgentHandoffMenu,
40524
40538
  AgentGUI
40525
40539
  };
40526
- //# sourceMappingURL=chunk-4OOALEBA.js.map
40540
+ //# sourceMappingURL=chunk-XQV7VV2N.js.map