@tutti-os/agent-gui 0.0.152 → 0.0.154

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.
Files changed (53) hide show
  1. package/dist/{AgentRichTextReadonly-WVZ65VON.js → AgentRichTextReadonly-J5GZIS7X.js} +5 -5
  2. package/dist/agent-conversation/index.d.ts +1 -1
  3. package/dist/agent-conversation/index.js +7 -7
  4. package/dist/agent-gui.d.ts +49 -2
  5. package/dist/agent-gui.js +15 -15
  6. package/dist/agent-message-center/index.js +6 -6
  7. package/dist/{agentGuiNodeTypes-D3f1yiEL.d.ts → agentGuiNodeTypes-2xRyhPBD.d.ts} +39 -1
  8. package/dist/{chunk-ZVD6KIXC.js → chunk-3VKRWAKQ.js} +4 -4
  9. package/dist/{chunk-XSW565MM.js → chunk-BHB457ZP.js} +2 -2
  10. package/dist/{chunk-VI6H5PTQ.js → chunk-DB3PHOZC.js} +127 -3
  11. package/dist/chunk-DB3PHOZC.js.map +1 -0
  12. package/dist/{chunk-XZUMGJ67.js → chunk-EFEOPMIV.js} +4 -4
  13. package/dist/{chunk-YNF74LPO.js → chunk-EITAGUEN.js} +2 -2
  14. package/dist/{chunk-3IOQ3IOJ.js → chunk-ESJWSRFD.js} +3 -2
  15. package/dist/{chunk-3IOQ3IOJ.js.map → chunk-ESJWSRFD.js.map} +1 -1
  16. package/dist/{chunk-MVXJDVDT.js → chunk-FGAKY5YL.js} +1915 -821
  17. package/dist/chunk-FGAKY5YL.js.map +1 -0
  18. package/dist/{chunk-O2P5ODPK.js → chunk-GBTKLNMX.js} +6 -6
  19. package/dist/{chunk-BCIAEN7N.js → chunk-GTSKTVVB.js} +2 -2
  20. package/dist/{chunk-5HIF53K5.js → chunk-HBJJY2AC.js} +10 -7
  21. package/dist/chunk-HBJJY2AC.js.map +1 -0
  22. package/dist/{chunk-PRFWB2BT.js → chunk-OSOJX2OE.js} +4 -4
  23. package/dist/{chunk-6R2UNGNY.js → chunk-SFRFW3GC.js} +4 -4
  24. package/dist/{chunk-5D7HTLUA.js → chunk-WNGTC3Y2.js} +3 -3
  25. package/dist/{chunk-UMTEWNPP.js → chunk-XYKQJMVT.js} +2 -2
  26. package/dist/{chunk-RD4EDLVU.js → chunk-ZCBP5VTT.js} +2 -2
  27. package/dist/context-mention-palette/index.js +7 -7
  28. package/dist/i18n/index.d.ts +120 -2
  29. package/dist/i18n/index.js +2 -2
  30. package/dist/index.d.ts +830 -626
  31. package/dist/index.js +15 -15
  32. package/dist/index.js.map +1 -1
  33. package/dist/mention-search.js +5 -5
  34. package/dist/workbench/contribution.js +4 -4
  35. package/dist/workbench/index.js +4 -4
  36. package/dist/workbench/sessionTitle.js +2 -2
  37. package/dist/workbench/state.js +1 -1
  38. package/package.json +13 -13
  39. package/dist/chunk-5HIF53K5.js.map +0 -1
  40. package/dist/chunk-MVXJDVDT.js.map +0 -1
  41. package/dist/chunk-VI6H5PTQ.js.map +0 -1
  42. /package/dist/{AgentRichTextReadonly-WVZ65VON.js.map → AgentRichTextReadonly-J5GZIS7X.js.map} +0 -0
  43. /package/dist/{chunk-ZVD6KIXC.js.map → chunk-3VKRWAKQ.js.map} +0 -0
  44. /package/dist/{chunk-XSW565MM.js.map → chunk-BHB457ZP.js.map} +0 -0
  45. /package/dist/{chunk-XZUMGJ67.js.map → chunk-EFEOPMIV.js.map} +0 -0
  46. /package/dist/{chunk-YNF74LPO.js.map → chunk-EITAGUEN.js.map} +0 -0
  47. /package/dist/{chunk-O2P5ODPK.js.map → chunk-GBTKLNMX.js.map} +0 -0
  48. /package/dist/{chunk-BCIAEN7N.js.map → chunk-GTSKTVVB.js.map} +0 -0
  49. /package/dist/{chunk-PRFWB2BT.js.map → chunk-OSOJX2OE.js.map} +0 -0
  50. /package/dist/{chunk-6R2UNGNY.js.map → chunk-SFRFW3GC.js.map} +0 -0
  51. /package/dist/{chunk-5D7HTLUA.js.map → chunk-WNGTC3Y2.js.map} +0 -0
  52. /package/dist/{chunk-UMTEWNPP.js.map → chunk-XYKQJMVT.js.map} +0 -0
  53. /package/dist/{chunk-RD4EDLVU.js.map → chunk-ZCBP5VTT.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -614,6 +614,43 @@ type AgentHostMetaApi = AgentHostRecord & {
614
614
  type AgentHostEnvironmentApi = AgentHostRecord & {
615
615
  getBaseUrl?: () => AgentHostAsyncResult<string>;
616
616
  };
617
+ interface AgentHostQuickPrompt {
618
+ id: string;
619
+ title: string;
620
+ content: string;
621
+ version: number;
622
+ createdAtUnixMs: number;
623
+ updatedAtUnixMs: number;
624
+ }
625
+ interface AgentHostQuickPromptSnapshot {
626
+ enabled: boolean;
627
+ status: "idle" | "loading" | "ready" | "error";
628
+ prompts: readonly AgentHostQuickPrompt[];
629
+ error: string | null;
630
+ revision: number;
631
+ pendingMutationIds: readonly string[];
632
+ }
633
+ interface AgentHostQuickPromptsApi {
634
+ ensureLoaded: (input?: {
635
+ force?: boolean;
636
+ }) => AgentHostAsyncResult<void>;
637
+ getSnapshot: () => AgentHostQuickPromptSnapshot;
638
+ subscribe: (listener: (snapshot: AgentHostQuickPromptSnapshot) => void) => AgentHostUnsubscribe;
639
+ create: (input: {
640
+ title: string;
641
+ content: string;
642
+ }) => AgentHostAsyncResult<AgentHostQuickPrompt>;
643
+ update: (input: {
644
+ id: string;
645
+ title: string;
646
+ content: string;
647
+ expectedVersion: number;
648
+ }) => AgentHostAsyncResult<AgentHostQuickPrompt>;
649
+ remove: (input: {
650
+ id: string;
651
+ expectedVersion: number;
652
+ }) => AgentHostAsyncResult<void>;
653
+ }
617
654
  type AgentHostPersistenceApi = AgentHostRecord & {
618
655
  readWorkspaceAgentReadState: (input: ReadWorkspaceAgentReadStateInput) => AgentHostAsyncResult<WorkspaceAgentReadStateSnapshot>;
619
656
  writeWorkspaceAgentReadState: (input: WriteWorkspaceAgentReadStateInput) => AgentHostAsyncResult<PersistWriteResult>;
@@ -706,6 +743,7 @@ interface AgentHostInputApi {
706
743
  meta?: AgentHostMetaApi;
707
744
  onHostEvent?: (listener: (event: any) => void) => AgentHostUnsubscribe;
708
745
  persistence?: AgentHostPersistenceApi;
746
+ quickPrompts?: AgentHostQuickPromptsApi;
709
747
  runtime?: AgentHostEnvironmentApi;
710
748
  toast?: AgentHostToastApi;
711
749
  userProjects?: AgentHostUserProjectsApi;
@@ -723,7 +761,7 @@ type AgentHostWorkspaceAgentProbesApi = AgentHostRecord & {
723
761
  interface AgentHostAgentTargetInstallPlan {
724
762
  packageName: string;
725
763
  packageVersion: string;
726
- runner: "npm" | "pnpm" | "uv";
764
+ runner: "npm" | "pnpm" | "uv" | "binary";
727
765
  planDigest: string;
728
766
  installRoot: string;
729
767
  }
@@ -867,6 +905,7 @@ interface AgentHostRuntimeApi {
867
905
  meta?: AgentHostMetaApi;
868
906
  onHostEvent?: (listener: (event: any) => void) => AgentHostUnsubscribe;
869
907
  persistence?: AgentHostPersistenceApi;
908
+ quickPrompts?: AgentHostQuickPromptsApi;
870
909
  runtime?: AgentHostEnvironmentApi;
871
910
  toast?: AgentHostToastApi;
872
911
  userProjects?: AgentHostUserProjectsApi;
@@ -2243,600 +2282,57 @@ interface WorkspaceReferencePickResult {
2243
2282
  mentionItems: readonly AgentContextMentionItem[];
2244
2283
  }
2245
2284
 
2246
- interface AgentComposerReferenceProvenanceFilter {
2247
- snapshot: ReferenceProvenanceFilterSnapshot;
2248
- controller: Pick<ReferenceProvenanceFilterController, "reset" | "toggle" | "toggleAll">;
2249
- }
2250
- interface AgentComposerSubmitOptions {
2251
- requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
2252
- }
2253
- interface AgentComposerProps {
2254
- workspaceId: string;
2255
- workspacePath?: string | null;
2256
- currentUserId?: string | null;
2257
- provider: string;
2258
- slashStatus?: AgentComposerSlashStatus | null;
2259
- usage?: AgentComposerUsage | null;
2260
- draftContent: AgentComposerDraft;
2261
- engagement?: AgentGUIComposerEngagement;
2262
- /** Stable project/session owner for async draft attachment work. */
2263
- draftScopeKey?: string;
2264
- availableCommands: readonly AgentSessionCommand[];
2265
- hasCompactableContext?: boolean;
2266
- compactSupported?: boolean | null;
2267
- availableSkills?: readonly AgentGUIProviderSkillOption[];
2268
- disabled: boolean;
2269
- disabledReason?: string | null;
2270
- submitDisabled: boolean;
2271
- placeholder: string;
2272
- composerSettings: AgentGUIComposerSettingsVM;
2273
- queueStatus?: AgentGUIQueueStatus;
2274
- queuedPrompts: readonly AgentGUIQueuedPromptVM[];
2275
- drainingQueuedPromptId: string | null;
2276
- workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
2277
- selectedAgentTarget?: AgentGUIAgentTarget | null;
2278
- agentTargets?: readonly AgentGUIAgentTarget[];
2279
- handoffAgentTargets?: readonly AgentGUIAgentTarget[];
2280
- providerSelectReadonly?: boolean;
2281
- onProviderSelect?: (input: {
2282
- provider: AgentGUIProvider;
2283
- agentTargetId?: string | null;
2284
- }) => void;
2285
- onHandoffConversation?: (target: AgentGUIAgentTarget) => void;
2286
- canQueueWhileBusy: boolean;
2287
- showStopButton: boolean;
2288
- activePrompt: AgentConversationPromptVM | null;
2289
- activePromptKeyboardShortcutsEnabled?: boolean;
2290
- promptTips?: readonly AgentComposerPromptTip[];
2291
- isInterrupting: boolean;
2292
- isSendingTurn: boolean;
2293
- isSubmittingPrompt: boolean;
2294
- uiLanguage?: UiLanguage;
2295
- isActive?: boolean;
2296
- previewMode?: boolean;
2297
- workspaceReferencePickerOpen?: boolean;
2298
- promptImagesSupported?: boolean;
2299
- canGoalControl?: boolean;
2300
- canUploadAttachment?: boolean;
2301
- composerFocusRequestSequence?: number | null;
2302
- layoutMode?: "dock" | "hero";
2303
- providerSelectLabel?: string;
2304
- handoffLabel?: string;
2305
- handoffMenuLabel?: string;
2306
- labels: {
2307
- send: string;
2308
- modelLabel: string;
2309
- modelSelectionLabel: string;
2310
- modelContextWindowSuffix: string;
2311
- modelTooltipVersionLabel: string;
2312
- defaultModel: string;
2313
- loadingOptions: string;
2314
- inheritedUnavailable: string;
2315
- loadingConversation: string;
2316
- reasoningLabel: string;
2317
- reasoningDegreeLabel: string;
2318
- reasoningOptionDefault: string;
2319
- reasoningOptionMinimal: string;
2320
- reasoningOptionLow: string;
2321
- reasoningOptionMedium: string;
2322
- reasoningOptionHigh: string;
2323
- reasoningOptionXHigh: string;
2324
- reasoningOptionMax: string;
2325
- reasoningOptionUltra: string;
2326
- speedLabel: string;
2327
- speedSelectionLabel: string;
2328
- speedOptionStandard: string;
2329
- speedOptionStandardDescription: string;
2330
- speedOptionFast: string;
2331
- speedOptionFastDescription: string;
2332
- permissionLabel: string;
2333
- permissionModeReadOnly: string;
2334
- permissionModeAuto: string;
2335
- permissionModeFullAccess: string;
2336
- permissionModeChangeUnavailableDuringTurn: string;
2337
- modelDescriptions: {
2338
- frontierComplexCoding: string;
2339
- everydayCoding: string;
2340
- smallFastCostEfficient: string;
2341
- codingOptimized: string;
2342
- ultraFastCoding: string;
2343
- professionalLongRunning: string;
2344
- };
2345
- planModeLabel: string;
2346
- planModeOnLabel: string;
2347
- planModeOffLabel: string;
2348
- planUnavailable: string;
2349
- goalLabel: string;
2350
- browserUseCapabilityLabel: string;
2351
- browserUseCapabilityDescription: string;
2352
- browserUseCapabilityDescriptionAutoConnect: string;
2353
- browserUseCapabilityDescriptionIsolated: string;
2354
- browserUseCapabilitySettingsLabel: string;
2355
- browserUseCapabilitySettingsDescription: string;
2356
- capabilityInlineSettingsLabel: string;
2357
- computerUseCapabilityLabel: string;
2358
- computerUseCapabilityDescription: string;
2359
- computerUseCapabilitySetupRequiredDescription: string;
2360
- computerUseCapabilityAuthorizationRequiredDescription: string;
2361
- computerUseCapabilityAuthorizationUnknownDescription: string;
2362
- computerUseCapabilitySettingsLabel: string;
2363
- computerUseCapabilitySettingsDescription: string;
2364
- queuedLabel: string;
2365
- queuePausedByUserLabel: string;
2366
- sendQueuedPromptNext: string;
2367
- editQueuedPrompt: string;
2368
- deleteQueuedPrompt: string;
2369
- queuedPromptMoreActions: string;
2370
- stop: string;
2371
- stopping: string;
2372
- slashCommandPalette: string;
2373
- skillPickerPalette: string;
2374
- slashPaletteCommandsGroup: string;
2375
- slashPaletteCapabilitiesGroup: string;
2376
- slashPaletteCapabilitiesLoading: string;
2377
- slashPaletteSkillsGroup: string;
2378
- slashPalettePluginsGroup: string;
2379
- slashPaletteConnectorsGroup: string;
2380
- slashPaletteMcpGroup: string;
2381
- slashCommandCompactLabel: string;
2382
- slashCommandContextLabel: string;
2383
- slashCommandFastLabel: string;
2384
- slashCommandGoalLabel: string;
2385
- slashCommandInitLabel: string;
2386
- slashCommandPlanLabel: string;
2387
- slashCommandReviewLabel: string;
2388
- slashCommandStatusLabel: string;
2389
- slashCommandUsageLabel: string;
2390
- slashCommandCompactDescription: string;
2391
- slashCommandContextDescription: string;
2392
- slashCommandFastDescription: string;
2393
- slashCommandGoalDescription: string;
2394
- slashCommandInitDescription: string;
2395
- slashCommandPlanDescription: string;
2396
- slashCommandReviewDescription: string;
2397
- slashCommandStatusDescription: string;
2398
- slashCommandUsageDescription: string;
2399
- slashStatusTitle: string;
2400
- slashStatusSession: string;
2401
- slashStatusBaseUrl: string;
2402
- slashStatusContext: string;
2403
- slashStatusLimits: string;
2404
- slashStatusClose: string;
2405
- slashStatusContextValue: (input: {
2406
- percentLeft: number;
2407
- usedTokens: string;
2408
- totalTokens: string;
2409
- }) => string;
2410
- slashStatusContextUnavailable: string;
2411
- slashStatusLimitsUnavailable: string;
2412
- usageChipLabel: (input: {
2413
- percent: number;
2414
- }) => string;
2415
- usageTooltipLabel: string;
2416
- usagePopoverTitle: string;
2417
- usageContextWindowLabel: string;
2418
- usageTokensLabel: string;
2419
- usageLimitsLabel: string;
2420
- usageCompactAction: string;
2421
- approvalLead: string;
2422
- fileChangeApprovalLead: string;
2423
- planLead: string;
2424
- planModes: Array<{
2425
- id: string;
2426
- label: string;
2427
- description: string;
2428
- }>;
2429
- stayInPlan: string;
2430
- sendFeedback: string;
2431
- feedbackPlaceholder: string;
2432
- previousQuestion: string;
2433
- nextQuestion: string;
2434
- submitAnswers: string;
2435
- answerPlaceholder: string;
2436
- waitingForAnswer: string;
2437
- planImplementationLead: string;
2438
- planImplementationConfirm: string;
2439
- planImplementationFeedbackPlaceholder: string;
2440
- planImplementationSend: string;
2441
- planImplementationSkip: string;
2442
- fileMentionPalette: string;
2443
- fileMentionLoading: string;
2444
- fileMentionEmpty: string;
2445
- fileMentionError: string;
2446
- fileMentionTabHint: string;
2447
- fileDropHint: string;
2448
- mentionPalette: string;
2449
- removeMention: string;
2450
- addReference: string;
2451
- addContent: string;
2452
- referenceWorkspaceFiles: string;
2453
- handoffConversation: string;
2454
- handoffConversationTooltip: string;
2455
- handoffConversationMenu: string;
2456
- handoffTargetSelf: string;
2457
- handoffTargetShared: string;
2458
- providerSwitchLabel: string;
2459
- projectLocked: string;
2460
- projectMissingDescription: string;
2461
- promptTipsPrefix: string;
2462
- reviewPicker: {
2463
- title: string;
2464
- targetLabel: string;
2465
- searchPlaceholder: string;
2466
- noResults: string;
2467
- uncommitted: string;
2468
- baseBranch: string;
2469
- commit: string;
2470
- custom: string;
2471
- branchLabel: string;
2472
- branchPlaceholder: string;
2473
- branchLoading: string;
2474
- branchEmpty: string;
2475
- commitPlaceholder: string;
2476
- customPlaceholder: string;
2477
- submit: string;
2478
- cancel: string;
2479
- };
2480
- };
2481
- workspaceUserProjectI18n: WorkspaceUserProjectI18nRuntime;
2482
- onDraftContentChange: (draftContent: AgentComposerDraft, sourceScopeKey?: string) => void;
2483
- onProjectPathChange?: (path: string | null, metadata?: AgentProjectPathChangeMetadata) => void;
2484
- onSettingsChange: (settings: {
2485
- model?: string | null;
2486
- reasoningEffort?: string | null;
2487
- speed?: string | null;
2488
- planMode?: boolean;
2489
- browserUse?: boolean;
2490
- computerUse?: boolean;
2491
- permissionModeId?: string | null;
2492
- }) => void;
2493
- capabilityMenuState?: AgentComposerCapabilityMenuState;
2494
- onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
2495
- onSlashStatusOpen?: () => void;
2496
- onSubmit: (content: AgentPromptContentBlock[], displayPrompt?: string, options?: AgentComposerSubmitOptions) => void;
2497
- onSubmitGuidance?: (content: AgentPromptContentBlock[], displayPrompt?: string) => void;
2498
- onSendQueuedPromptNext: (queuedPromptId: string) => void;
2499
- onRemoveQueuedPrompt: (queuedPromptId: string) => void;
2500
- onEditQueuedPrompt: (queuedPromptId: string) => void;
2501
- onInterruptCurrentTurn: () => void;
2502
- onPromptImagesUnsupported?: () => void;
2503
- onSubmitInteractivePrompt: (input: {
2504
- requestId: string;
2505
- action?: string;
2506
- optionId?: string;
2507
- payload?: Record<string, unknown>;
2508
- }) => void;
2509
- onLinkAction?: (action: WorkspaceLinkAction) => void;
2510
- onRequestWorkspaceReferences?: ((entity?: AgentContextMentionItem | null) => Promise<WorkspaceReferencePickResult>) | null;
2511
- resolveExternalPromptEntries?: AgentExternalPromptEntryResolver | null;
2512
- prepareExternalPromptFiles?: AgentExternalPromptFilePreparer | null;
2513
- promptAssetLimit?: number | null;
2514
- selectProjectDirectory?: () => Promise<{
2515
- path: string;
2516
- } | null>;
2517
- onRequestGitBranches?: AgentComposerGitBranchLoader | null;
2518
- referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
2519
- }
2520
- type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"];
2521
- interface AgentComposerCapabilityMenuState {
2522
- browserUse?: {
2523
- connectionMode?: "autoConnect" | "isolated" | null;
2524
- };
2525
- computerUse?: {
2526
- authorization?: AgentComposerComputerUseAuthorizationState | null;
2527
- installed?: boolean | null;
2528
- };
2529
- }
2530
- type AgentComposerComputerUseAuthorizationState = "authorized" | "needs-authorization" | "unknown";
2531
- interface AgentComposerGitBranches {
2532
- branches: readonly string[];
2533
- currentBranch?: string | null;
2534
- }
2535
- type AgentComposerGitBranchLoader = (input: {
2536
- agentSessionId?: string | null;
2537
- workingDirectory?: string | null;
2538
- }) => Promise<AgentComposerGitBranches>;
2539
- interface AgentComposerPromptTip {
2540
- id: string;
2541
- label: string;
2542
- prompt: string;
2543
- }
2544
- interface AgentComposerSlashStatus {
2545
- agentSessionId?: string | null;
2546
- baseUrl?: string | null;
2547
- contextWindow?: {
2548
- usedTokens?: number | null;
2549
- totalTokens?: number | null;
2550
- } | null;
2551
- limits?: readonly AgentComposerSlashStatusLimit[];
2552
- limitsLoading?: boolean;
2553
- limitsUnavailable?: boolean;
2554
- }
2555
- interface AgentComposerSlashStatusLimit {
2556
- id: string;
2557
- label: string;
2558
- percentRemaining?: number | null;
2559
- value: string;
2560
- reset?: string | null;
2561
- }
2562
- interface AgentComposerUsage {
2563
- percentUsed: number | null;
2564
- usedTokens: number | null;
2565
- totalTokens: number | null;
2566
- }
2567
-
2568
- /** Setup section requested by an AgentGUI remediation action. */
2569
- type AgentEnvPanelFocus = "detect" | "install" | "repair" | "upgrade" | "auth" | "network" | "registry";
2570
- interface OpenAgentEnvPanelInput {
2571
- provider?: string | null;
2572
- focus?: AgentEnvPanelFocus | null;
2573
- }
2574
-
2575
- type AgentMentionReferenceTargetResolver = (item: AgentContextMentionItem) => ReferenceLocateTarget | null;
2576
- interface AgentWorkspaceReferenceInitialTargetInput {
2577
- activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
2578
- composerSelectedProjectPath: string | null;
2579
- userProjects: AgentGUINodeViewModel["rail"]["userProjects"];
2580
- }
2581
- type AgentWorkspaceReferenceInitialTargetResolver = (input: AgentWorkspaceReferenceInitialTargetInput) => ReferenceLocateTarget | null;
2582
- interface AgentGUISidebarFooterContext {
2583
- currentUserId?: string | null;
2584
- activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
2585
- }
2586
- type AgentGUISidebarFooterRenderer = (ctx: AgentGUISidebarFooterContext) => ReactNode;
2587
- /**
2588
- * Renders the provider rail body when the rail is in "exact" mode and the
2589
- * host-provided target list is empty (and not loading). Lets the host fully own
2590
- * the empty state (e.g. a "no shared agents" message or a create-agent prompt)
2591
- * instead of the library falling back to the static local catalog.
2592
- */
2593
- type AgentGUIAgentsEmptyRenderer = () => ReactNode;
2594
- interface AgentGUIProviderUnavailableStateContext {
2595
- provider: AgentGUIProvider;
2596
- providerLabel: string;
2597
- target: AgentGUIAgentTarget;
2598
- iconUrl: string;
2599
- unavailableReason: string | null;
2600
- }
2601
- /**
2602
- * Renders the main-pane unavailable state for a selected provider target that
2603
- * the host explicitly marks as disabled. This does not replace install,
2604
- * login, checking, or retry readiness gates.
2605
- */
2606
- type AgentGUIProviderUnavailableStateRenderer = (ctx: AgentGUIProviderUnavailableStateContext) => ReactNode;
2607
-
2608
- interface DesktopSize {
2609
- width: number;
2610
- height: number;
2611
- bottomInset?: number;
2612
- }
2613
- /** Workspace-scoped agent probes for currently visible Agent GUI windows. */
2614
- interface WorkspaceDesktopAgentProbesState {
2615
- snapshot: AgentProbeSnapshot | null;
2616
- isLoadingAvailability: boolean;
2617
- isLoadingUsage: boolean;
2618
- /** True when the most recent usage probe fetch failed (the retained snapshot,
2619
- * if any, is stale). Lets surfaces show a refresh/retry affordance instead of
2620
- * silently displaying old numbers. Absent is treated as "no failure". */
2621
- usageLoadFailed?: boolean;
2622
- }
2623
- type WorkspaceDesktopAgentProbeDemandChange = (provider: AgentProvider | null, sourceId?: string) => void;
2624
- type WorkspaceDesktopAgentProbeRefreshRequest = (provider: AgentProvider, sourceId?: string) => void;
2625
-
2626
- interface AgentGUIComposerDefaults {
2627
- model?: string | null;
2628
- permissionModeId?: string | null;
2629
- reasoningEffort?: string | null;
2630
- speed?: string | null;
2631
- }
2632
- interface AgentGUIRememberComposerDefaultsInput {
2633
- agentTargetId: string | null;
2634
- provider: AgentGUINodeData["provider"];
2635
- defaults: AgentGUIComposerDefaults | null;
2636
- }
2637
- declare const rememberComposerDefaultsFields: readonly ["model", "permissionModeId", "reasoningEffort", "speed"];
2638
- type AgentGUIComposerDefaultsField = (typeof rememberComposerDefaultsFields)[number];
2639
- interface AgentGUIRememberComposerDefaultsResult {
2640
- acknowledgedFields: AgentGUIComposerDefaultsField[];
2641
- supersededFields: AgentGUIComposerDefaultsField[];
2642
- }
2643
-
2644
- interface AgentGUIOpenSessionRequest {
2645
- agentSessionId: string;
2646
- sequence: number;
2647
- }
2648
-
2649
- type AgentGUIComposerAppendRequest = {
2650
- files: readonly AgentComposerDraftFile[];
2651
- prompt?: string;
2652
- sequence: number;
2653
- } | {
2654
- files?: never;
2655
- prompt: string;
2656
- sequence: number;
2657
- };
2658
-
2659
- interface AgentGUIPrefillPromptRequest {
2660
- agentTargetId?: string | null;
2661
- autoSubmit?: boolean;
2662
- draftPrompt: string;
2663
- provider?: AgentGUIProvider;
2664
- sequence: number;
2665
- userProjectPath?: string | null;
2666
- }
2667
-
2668
- interface AgentGUINodeIdentity {
2669
- nodeId: string;
2670
- workspaceId: string;
2671
- currentUserId?: string | null;
2672
- title: string;
2673
- }
2674
- interface AgentGUINodeWorkspace {
2675
- path: string;
2676
- fileReferenceAdapter?: WorkspaceFileReferenceAdapter | null;
2677
- onRequestGitBranches?: AgentComposerGitBranchLoader | null;
2678
- selectProjectDirectory?: () => Promise<{
2679
- path: string;
2680
- } | null>;
2681
- resolveExternalPromptEntries?: AgentComposerProps["resolveExternalPromptEntries"];
2682
- prepareExternalPromptFiles?: AgentComposerProps["prepareExternalPromptFiles"];
2683
- promptAssetLimit?: number | null;
2684
- referenceSourceAggregator?: ReferenceSourceAggregator | null;
2685
- resolveReferenceEntryIconUrl?: (entry: WorkspaceFileEntry) => Promise<string | null | undefined>;
2686
- resolveMentionReferenceTarget?: AgentMentionReferenceTargetResolver | null;
2687
- resolveReferenceInitialTarget?: AgentWorkspaceReferenceInitialTargetResolver | null;
2688
- onFileReferencesAdded?: (input: {
2689
- provider: AgentGUIProvider;
2690
- references: readonly WorkspaceFileReference[];
2691
- }) => void | Promise<void>;
2692
- agentSettings: Pick<AgentSettings, "avoidGroupingEdits">;
2693
- }
2694
- interface AgentGUINodeFrameLayout {
2695
- position: Point;
2696
- width: number;
2697
- height: number;
2698
- desktopSize: DesktopSize;
2699
- isMaximized?: boolean;
2700
- isActive: boolean;
2701
- /** Host-projected presentation visibility. Independent from node focus. */
2702
- isVisible?: boolean;
2703
- embedded?: boolean;
2704
- previewMode?: boolean;
2705
- /**
2706
- * Container width at or below which the conversation rail auto-hides.
2707
- * Hosts with roomier layouts (e.g. the standalone agent window) raise this
2708
- * above the default AGENT_GUI_AUTO_COLLAPSE_WIDTH_PX.
2709
- */
2710
- conversationRailAutoCollapseWidthPx?: number | null;
2711
- }
2712
- type AgentGUISessionActionRequest = AgentGuiWorkbenchSessionActionRequest;
2713
- interface AgentGUINodeRuntimeRequests {
2714
- composerAppend?: AgentGUIComposerAppendRequest | null;
2715
- composerFocusSequence?: number | null;
2716
- newConversationSequence?: number | null;
2717
- sessionAction?: AgentGUISessionActionRequest | null;
2718
- openSession?: AgentGUIOpenSessionRequest | null;
2719
- prefillPrompt?: AgentGUIPrefillPromptRequest | null;
2720
- agentProbes?: WorkspaceDesktopAgentProbesState | null;
2721
- onProbeDemandChange?: WorkspaceDesktopAgentProbeDemandChange;
2722
- onProbeRefreshRequest?: WorkspaceDesktopAgentProbeRefreshRequest;
2723
- }
2724
- interface AgentGUINodeHostCapabilities {
2725
- /**
2726
- * Complete host-owned catalog for reference provenance filtering. Supplying
2727
- * it explicitly opts the host into the dimensions declared by the catalog.
2728
- * Omit it to keep filtering disabled unless the legacy Agent-only flag is
2729
- * enabled.
2730
- */
2731
- referenceProvenanceFilterCatalog?: ReferenceProvenanceCatalog | null;
2732
- /** Legacy Tutti Agent-only opt-in. Prefer an explicit catalog in new hosts. */
2733
- referenceProvenanceFilterEnabled?: boolean;
2734
- capabilityMenuState?: AgentComposerCapabilityMenuState;
2735
- accountMenuState?: AgentGUIAccountMenuState | null;
2736
- agentTargets?: readonly AgentGUIAgentTarget[];
2737
- agentTargetsLoading?: boolean;
2738
- /** Launch-only targets for active-conversation handoff. */
2739
- handoffAgentTargets?: readonly AgentGUIAgentTarget[];
2740
- handoffAgentTargetsLoading?: boolean;
2741
- providerRailAllPresentation?: AgentGUIProviderRailAllPresentation | null;
2742
- providerRailMode?: AgentGUIProviderRailMode;
2743
- comingSoonProviders?: readonly AgentGUIProvider[];
2744
- providerReadinessGates?: Partial<Record<AgentGUIProvider, AgentGUIProviderReadinessGate | null>> | null;
2745
- defaultAgentTargetId?: string | null;
2746
- providerAuthAccountLabels?: Partial<Record<string, string>>;
2747
- mentionService?: RichTextMentionService;
2748
- workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
2749
- disabledHomeSuggestions?: readonly AgentGUIHomeSuggestionId[];
2750
- }
2751
- interface AgentGUINodeHostActions {
2752
- onLinkAction?: (action: WorkspaceLinkAction) => void;
2753
- onHandoffConversation?: (input: {
2754
- agentTargetId?: string | null;
2755
- draftPrompt: string;
2756
- provider: AgentGUIProvider;
2757
- userProjectPath?: string | null;
2758
- }) => void | Promise<void>;
2759
- onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
2760
- onAgentProviderLogin?: (provider: AgentGUIProvider) => void;
2761
- onAgentEnvPanelOpen?: (input?: OpenAgentEnvPanelInput) => void;
2762
- onOpenConversationWindow?: (agentSessionId: string) => void;
2763
- onClose: () => void;
2764
- onResize: (frame: NodeFrame) => void;
2765
- onUpdateNode: (updater: (current: AgentGUINodeData) => AgentGUINodeData) => void;
2766
- onRememberComposerDefaults?: (input: AgentGUIRememberComposerDefaultsInput) => void | Promise<AgentGUIRememberComposerDefaultsResult>;
2767
- isMuted?: boolean;
2768
- onMinimize?: () => void;
2769
- onToggleMaximize?: () => void;
2770
- onShowMessage?: (message: string, tone?: "info" | "warning" | "error") => void;
2771
- onEngagementEvent?: AgentGUIEngagementEventSink;
2772
- }
2773
- interface AgentGUINodeRenderSlots {
2774
- providerRailEmpty?: AgentGUIAgentsEmptyRenderer;
2775
- providerUnavailableState?: AgentGUIProviderUnavailableStateRenderer;
2776
- sidebarFooter?: (ctx: AgentGUISidebarFooterContext) => ReactNode;
2777
- }
2778
- interface AgentGUINodeProps {
2779
- identity: AgentGUINodeIdentity;
2780
- workspace: AgentGUINodeWorkspace;
2781
- frame: AgentGUINodeFrameLayout;
2782
- state: AgentGUINodeData;
2783
- runtimeRequests: AgentGUINodeRuntimeRequests;
2784
- hostCapabilities: AgentGUINodeHostCapabilities;
2785
- hostActions: AgentGUINodeHostActions;
2786
- renderSlots: AgentGUINodeRenderSlots;
2787
- }
2788
-
2789
- type AgentGuiI18nLocale = "en" | "zh-CN";
2790
-
2791
- declare const agentGuiI18nResources: {
2792
- readonly en: {
2793
- readonly common: {
2794
- readonly add: "Add";
2795
- readonly cancel: "Cancel";
2796
- readonly clear: "Clear";
2797
- readonly close: "Close";
2798
- readonly confirm: "Confirm";
2799
- readonly copy: "Copy";
2800
- readonly copying: "Copying...";
2801
- readonly copyFailed: "Copy failed";
2802
- readonly create: "Create";
2803
- readonly cut: "Cut";
2804
- readonly delete: "Delete";
2805
- readonly deleting: "Deleting...";
2806
- readonly download: "Download";
2807
- readonly copyImage: "Copy image";
2808
- readonly downloadImage: "Download image";
2809
- readonly expandImage: "Zoom image";
2810
- readonly imageZoomPercent: "Image zoom {{percent}}%";
2811
- readonly error: "Error";
2812
- readonly generateByAi: "Generate by AI";
2813
- readonly generating: "Generating...";
2814
- readonly info: "Info";
2815
- readonly loading: "Loading...";
2816
- readonly maximize: "Maximize";
2817
- readonly minimize: "Minimize";
2818
- readonly minimizeImage: "Minimize image";
2819
- readonly resetImageZoom: "Reset image zoom";
2820
- readonly refresh: "Refresh";
2821
- readonly remove: "Remove";
2822
- readonly removing: "Removing...";
2823
- readonly restore: "Restore";
2824
- readonly zoomInImage: "Zoom in image";
2825
- readonly zoomOutImage: "Zoom out image";
2826
- readonly resetToDefault: "Reset to Default";
2827
- readonly save: "Save";
2828
- readonly saving: "Saving...";
2829
- readonly settings: "Settings";
2830
- readonly warning: "Warning";
2831
- readonly defaultFollowCli: "Default (Follow CLI)";
2832
- readonly defaultModel: "default model";
2833
- readonly followCliDefault: "Follow CLI default";
2834
- readonly unknownError: "Unknown error";
2835
- readonly notAvailable: "N/A";
2836
- readonly paste: "Paste";
2837
- readonly percentUnit: "%";
2838
- readonly pixelUnit: "px";
2839
- readonly minuteUnit: "min";
2285
+ type AgentGuiI18nLocale = "en" | "zh-CN";
2286
+
2287
+ declare const agentGuiI18nResources: {
2288
+ readonly en: {
2289
+ readonly common: {
2290
+ readonly add: "Add";
2291
+ readonly cancel: "Cancel";
2292
+ readonly clear: "Clear";
2293
+ readonly close: "Close";
2294
+ readonly confirm: "Confirm";
2295
+ readonly copy: "Copy";
2296
+ readonly copying: "Copying...";
2297
+ readonly copyFailed: "Copy failed";
2298
+ readonly create: "Create";
2299
+ readonly cut: "Cut";
2300
+ readonly delete: "Delete";
2301
+ readonly deleting: "Deleting...";
2302
+ readonly download: "Download";
2303
+ readonly copyImage: "Copy image";
2304
+ readonly downloadImage: "Download image";
2305
+ readonly expandImage: "Zoom image";
2306
+ readonly imageZoomPercent: "Image zoom {{percent}}%";
2307
+ readonly error: "Error";
2308
+ readonly generateByAi: "Generate by AI";
2309
+ readonly generating: "Generating...";
2310
+ readonly info: "Info";
2311
+ readonly loading: "Loading...";
2312
+ readonly maximize: "Maximize";
2313
+ readonly minimize: "Minimize";
2314
+ readonly minimizeImage: "Minimize image";
2315
+ readonly resetImageZoom: "Reset image zoom";
2316
+ readonly refresh: "Refresh";
2317
+ readonly remove: "Remove";
2318
+ readonly removing: "Removing...";
2319
+ readonly restore: "Restore";
2320
+ readonly zoomInImage: "Zoom in image";
2321
+ readonly zoomOutImage: "Zoom out image";
2322
+ readonly resetToDefault: "Reset to Default";
2323
+ readonly save: "Save";
2324
+ readonly saving: "Saving...";
2325
+ readonly settings: "Settings";
2326
+ readonly warning: "Warning";
2327
+ readonly defaultFollowCli: "Default (Follow CLI)";
2328
+ readonly defaultModel: "default model";
2329
+ readonly followCliDefault: "Follow CLI default";
2330
+ readonly unknownError: "Unknown error";
2331
+ readonly notAvailable: "N/A";
2332
+ readonly paste: "Paste";
2333
+ readonly percentUnit: "%";
2334
+ readonly pixelUnit: "px";
2335
+ readonly minuteUnit: "min";
2840
2336
  };
2841
2337
  readonly workspaceWindowLayout: {
2842
2338
  readonly trigger: "Window layout";
@@ -3155,6 +2651,65 @@ declare const agentGuiI18nResources: {
3155
2651
  readonly mentionPalette: "Mention context";
3156
2652
  readonly addReference: "Add reference";
3157
2653
  readonly addContent: "Add files and more";
2654
+ readonly quickPrompts: {
2655
+ readonly add: "New prompt";
2656
+ readonly conflict: "This prompt changed in another window. Refresh it and review your draft before saving again.";
2657
+ readonly contentLabel: "Prompt";
2658
+ readonly contentPlaceholder: "Write the reusable prompt text";
2659
+ readonly contentTooLarge: "Prompt text must be 32 KiB or less";
2660
+ readonly createTitle: "New quick prompt";
2661
+ readonly createFromTemplate: "Create from a recommended template";
2662
+ readonly delete: "Delete";
2663
+ readonly deleteConfirm: "Delete prompt";
2664
+ readonly deleteDescription: "Delete \"{{title}}\"? This cannot be undone.";
2665
+ readonly deleteTitle: "Delete quick prompt?";
2666
+ readonly deleting: "Deleting…";
2667
+ readonly edit: "Edit";
2668
+ readonly editTitle: "Edit quick prompt";
2669
+ readonly empty: "No quick prompts yet";
2670
+ readonly loadError: "Quick prompts could not be loaded";
2671
+ readonly loading: "Loading quick prompts…";
2672
+ readonly moreActions: "More prompt actions";
2673
+ readonly mutationError: "The prompt could not be saved. Try again.";
2674
+ readonly noResults: "No matching quick prompts";
2675
+ readonly required: "Title and prompt text are required";
2676
+ readonly retry: "Try again";
2677
+ readonly recommendedTemplates: {
2678
+ readonly understandContext: {
2679
+ readonly title: "Understand the situation";
2680
+ readonly description: "Summarize context, constraints, risks, and next steps";
2681
+ readonly content: "First summarize the current context, confirmed facts, constraints, risks, and open questions. Separate facts from assumptions, then recommend the smallest useful next step.";
2682
+ };
2683
+ readonly createActionPlan: {
2684
+ readonly title: "Create an action plan";
2685
+ readonly description: "Break a goal into prioritized, verifiable steps";
2686
+ readonly content: "Break this goal into prioritized, verifiable steps. Identify dependencies, risks, and acceptance criteria for each step, then recommend the best place to begin.";
2687
+ };
2688
+ readonly reviewAndImprove: {
2689
+ readonly title: "Review and improve";
2690
+ readonly description: "Find gaps, risks, and practical improvements";
2691
+ readonly content: "Review the following work. Identify what is good, what is missing, the important risks, and practical improvements. Prioritize the recommendations by impact and effort.";
2692
+ };
2693
+ readonly draftClearUpdate: {
2694
+ readonly title: "Draft a clear update";
2695
+ readonly description: "Write a concise explanation for the intended audience";
2696
+ readonly content: "Draft a concise update for the intended audience. State the key message first, include only the necessary context, make the requested decision or next action explicit, and use clear language.";
2697
+ };
2698
+ };
2699
+ readonly recommendedTemplatesDescription: "Choose one to prefill the editor. It will not be saved or sent until you choose Save.";
2700
+ readonly recommendedTemplatesTitle: "Recommended templates";
2701
+ readonly returnToPrompts: "My prompts";
2702
+ readonly save: "Save";
2703
+ readonly saving: "Saving…";
2704
+ readonly searchPlaceholder: "Search quick prompts";
2705
+ readonly title: "Quick prompts";
2706
+ readonly titleLabel: "Title";
2707
+ readonly titlePlaceholder: "Give this prompt a short name";
2708
+ readonly titleTooLong: "Title must be 80 characters or less";
2709
+ readonly trigger: "Prompts";
2710
+ readonly triggerTooltip: "Choose a quick prompt";
2711
+ readonly useTemplate: "Use template";
2712
+ };
3158
2713
  readonly referenceWorkspaceFiles: "Reference workspace files";
3159
2714
  readonly referencePicker: {
3160
2715
  readonly clearFilter: "Clear filter";
@@ -3541,7 +3096,7 @@ declare const agentGuiI18nResources: {
3541
3096
  readonly providerGatePendingLogin: "Opening sign in…";
3542
3097
  readonly providerGatePendingRefresh: "Checking…";
3543
3098
  readonly targetSetupTitle: "Set up {{provider}}";
3544
- readonly targetSetupDescription: "Use a compatible local runtime, or let Tutti install the pinned runtime.";
3099
+ readonly targetSetupDescription: "Use a compatible local runtime, or let Tutti install and verify the pinned runtime.";
3545
3100
  readonly targetSetupAuthRequired: "Runtime is installed and responds over ACP, but authentication is required.";
3546
3101
  readonly targetSetupReady: "Runtime detected. You can check it again or sign in again.";
3547
3102
  readonly targetSetupOpen: "Open setup";
@@ -5760,6 +5315,65 @@ declare const agentGuiI18nResources: {
5760
5315
  readonly mentionPalette: "提及上下文";
5761
5316
  readonly addReference: "添加引用";
5762
5317
  readonly addContent: "添加文件等内容";
5318
+ readonly quickPrompts: {
5319
+ readonly add: "新增提示词";
5320
+ readonly conflict: "该提示词已在其他窗口发生变化,请刷新后检查草稿再保存";
5321
+ readonly contentLabel: "提示词";
5322
+ readonly contentPlaceholder: "输入可重复使用的提示词内容";
5323
+ readonly contentTooLarge: "提示词内容不能超过 32 KiB";
5324
+ readonly createTitle: "新增快捷提示词";
5325
+ readonly createFromTemplate: "从推荐模板创建";
5326
+ readonly delete: "删除";
5327
+ readonly deleteConfirm: "删除提示词";
5328
+ readonly deleteDescription: "确定删除「{{title}}」吗?删除后无法恢复";
5329
+ readonly deleteTitle: "删除快捷提示词?";
5330
+ readonly deleting: "正在删除…";
5331
+ readonly edit: "编辑";
5332
+ readonly editTitle: "编辑快捷提示词";
5333
+ readonly empty: "暂无快捷提示词";
5334
+ readonly loadError: "快捷提示词加载失败";
5335
+ readonly loading: "正在加载快捷提示词…";
5336
+ readonly moreActions: "更多提示词操作";
5337
+ readonly mutationError: "提示词保存失败,请重试";
5338
+ readonly noResults: "没有匹配的快捷提示词";
5339
+ readonly required: "标题和提示词内容不能为空";
5340
+ readonly retry: "重试";
5341
+ readonly recommendedTemplates: {
5342
+ readonly understandContext: {
5343
+ readonly title: "梳理现状";
5344
+ readonly description: "总结上下文、约束、风险与下一步";
5345
+ readonly content: "请先总结当前上下文、已确认的事实、约束、风险和待确认问题,区分事实与假设,再给出最小且有价值的下一步建议";
5346
+ };
5347
+ readonly createActionPlan: {
5348
+ readonly title: "制定行动计划";
5349
+ readonly description: "拆分优先级、依赖与验收标准";
5350
+ readonly content: "请把这个目标拆成按优先级排序且可验证的步骤,列出每一步的依赖、风险和验收标准,并建议从哪里开始";
5351
+ };
5352
+ readonly reviewAndImprove: {
5353
+ readonly title: "审阅与改进";
5354
+ readonly description: "找出缺口、风险和可执行的优化建议";
5355
+ readonly content: "请审阅以下内容,说明做得好的部分、缺失的信息、重要风险和可执行的改进建议,并按影响与投入排序";
5356
+ };
5357
+ readonly draftClearUpdate: {
5358
+ readonly title: "生成清晰说明";
5359
+ readonly description: "面向目标受众生成简洁表达";
5360
+ readonly content: "请为目标受众生成一段简洁说明,先表达核心信息,只补充必要上下文,明确需要对方做出的决策或下一步行动,并使用清晰直接的语言";
5361
+ };
5362
+ };
5363
+ readonly recommendedTemplatesDescription: "选择后会预填到编辑窗口,保存前不会创建或发送提示词";
5364
+ readonly recommendedTemplatesTitle: "推荐模板";
5365
+ readonly returnToPrompts: "我的提示词";
5366
+ readonly save: "保存";
5367
+ readonly saving: "正在保存…";
5368
+ readonly searchPlaceholder: "搜索快捷提示词";
5369
+ readonly title: "快捷提示词";
5370
+ readonly titleLabel: "标题";
5371
+ readonly titlePlaceholder: "输入简短易识别的名称";
5372
+ readonly titleTooLong: "标题不能超过 80 个字符";
5373
+ readonly trigger: "提示词";
5374
+ readonly triggerTooltip: "选择快捷提示词";
5375
+ readonly useTemplate: "使用模板";
5376
+ };
5763
5377
  readonly referenceWorkspaceFiles: "引用空间文件";
5764
5378
  readonly referencePicker: {
5765
5379
  readonly clearFilter: "清除筛选";
@@ -6146,7 +5760,7 @@ declare const agentGuiI18nResources: {
6146
5760
  readonly providerGatePendingLogin: "正在打开登录…";
6147
5761
  readonly providerGatePendingRefresh: "正在检测…";
6148
5762
  readonly targetSetupTitle: "设置 {{provider}}";
6149
- readonly targetSetupDescription: "优先使用兼容的本地运行时,也可由 Tutti 安装固定版本";
5763
+ readonly targetSetupDescription: "优先使用兼容的本地运行时,也可由 Tutti 安装并验证固定版本";
6150
5764
  readonly targetSetupAuthRequired: "运行时已安装并通过 ACP 检测,但仍需完成登录";
6151
5765
  readonly targetSetupReady: "已检测到运行时,可重新检测或重新登录";
6152
5766
  readonly targetSetupOpen: "打开设置";
@@ -7975,37 +7589,627 @@ declare const agentGuiI18nResources: {
7975
7589
  readonly blue: "蓝色";
7976
7590
  readonly purple: "紫色";
7977
7591
  };
7978
- readonly messages: {
7979
- readonly agentLaunchFailed: "Agent 启动失败:{{message}}";
7980
- readonly agentResumeFailed: "Agent 继续失败:{{message}}";
7981
- readonly agentProviderSessionNotFound: "这条会话历史仍可查看,但底层 Provider 会话已经无法恢复。";
7982
- readonly agentTargetRemoved: "该 agent 不存在或已被移除,历史会话记录仍可查看。";
7983
- readonly agentResumeSessionNotLocal: "这个会话没法在当前设备里直接恢复,你可以在新会话里 @这段对话,接着继续聊。";
7984
- readonly agentImportedSessionResumeUnavailable: "这段对话已导入成功,新开会话并 @ 这段对话,接着继续聊。";
7985
- readonly agentSessionReconnecting: "正在重新连接 Agent 会话…";
7986
- readonly agentSettingsRequireNewSession: "为了保留上下文,这个模型只能在新会话中使用";
7987
- readonly agentSessionTitleTooLong: "会话标题不能超过 {{maxCharacters}} 个字符。";
7988
- readonly agentSessionTitleTooLongWithoutLimit: "会话标题过长。";
7989
- readonly agentPermissionModeAppliesNextTurn: "权限模式将从你的下一条消息开始生效。";
7990
- readonly agentThisSessionMentionLabel: "本 session";
7991
- readonly terminalLaunchFailed: "终端启动失败:{{message}}";
7992
- readonly fallbackTerminalFailed: "兜底终端启动也失败了:{{message}}";
7993
- readonly agentPromptRequired: "Agent 提示词不能为空。";
7994
- readonly resumeSessionMissing: "该 Agent 还没有已验证的 resumeSessionId。";
7995
- readonly noTerminalSlotNearby: "当前视图附近没有可用空位,请先移动或关闭部分终端窗口。";
7996
- readonly noWindowSlotOnRight: "当前 Agent 右侧没有可用空位,请先移动或关闭部分窗口。";
7997
- readonly noWindowSlotNearby: "当前视图附近没有可用空位,请先移动或关闭部分窗口。";
7998
- readonly agentManageSyncSuccess: "同步成功";
7999
- readonly agentManageInstallSuccess: "安装成功";
7592
+ readonly messages: {
7593
+ readonly agentLaunchFailed: "Agent 启动失败:{{message}}";
7594
+ readonly agentResumeFailed: "Agent 继续失败:{{message}}";
7595
+ readonly agentProviderSessionNotFound: "这条会话历史仍可查看,但底层 Provider 会话已经无法恢复。";
7596
+ readonly agentTargetRemoved: "该 agent 不存在或已被移除,历史会话记录仍可查看。";
7597
+ readonly agentResumeSessionNotLocal: "这个会话没法在当前设备里直接恢复,你可以在新会话里 @这段对话,接着继续聊。";
7598
+ readonly agentImportedSessionResumeUnavailable: "这段对话已导入成功,新开会话并 @ 这段对话,接着继续聊。";
7599
+ readonly agentSessionReconnecting: "正在重新连接 Agent 会话…";
7600
+ readonly agentSettingsRequireNewSession: "为了保留上下文,这个模型只能在新会话中使用";
7601
+ readonly agentSessionTitleTooLong: "会话标题不能超过 {{maxCharacters}} 个字符。";
7602
+ readonly agentSessionTitleTooLongWithoutLimit: "会话标题过长。";
7603
+ readonly agentPermissionModeAppliesNextTurn: "权限模式将从你的下一条消息开始生效。";
7604
+ readonly agentThisSessionMentionLabel: "本 session";
7605
+ readonly terminalLaunchFailed: "终端启动失败:{{message}}";
7606
+ readonly fallbackTerminalFailed: "兜底终端启动也失败了:{{message}}";
7607
+ readonly agentPromptRequired: "Agent 提示词不能为空。";
7608
+ readonly resumeSessionMissing: "该 Agent 还没有已验证的 resumeSessionId。";
7609
+ readonly noTerminalSlotNearby: "当前视图附近没有可用空位,请先移动或关闭部分终端窗口。";
7610
+ readonly noWindowSlotOnRight: "当前 Agent 右侧没有可用空位,请先移动或关闭部分窗口。";
7611
+ readonly noWindowSlotNearby: "当前视图附近没有可用空位,请先移动或关闭部分窗口。";
7612
+ readonly agentManageSyncSuccess: "同步成功";
7613
+ readonly agentManageInstallSuccess: "安装成功";
7614
+ };
7615
+ };
7616
+ };
7617
+ declare const agentGuiI18nModule: _tutti_os_ui_i18n_runtime.LocaleObjectI18nModuleManifest;
7618
+ declare function AgentGuiI18nProvider({ children, locale, runtime }: {
7619
+ children: ReactNode;
7620
+ locale?: AgentGuiI18nLocale;
7621
+ runtime?: I18nRuntime<string> | null;
7622
+ }): react__default.ReactElement;
7623
+
7624
+ interface AgentQuickPromptTemplate {
7625
+ content: string;
7626
+ description: string;
7627
+ id: "understand-context" | "create-action-plan" | "review-and-improve" | "draft-clear-update";
7628
+ title: string;
7629
+ }
7630
+ interface AgentQuickPromptLabels {
7631
+ add: string;
7632
+ cancel: string;
7633
+ conflict: string;
7634
+ contentLabel: string;
7635
+ contentPlaceholder: string;
7636
+ createTitle: string;
7637
+ createFromTemplate: string;
7638
+ delete: string;
7639
+ deleteConfirm: string;
7640
+ deleteDescription: (title: string) => string;
7641
+ deleteTitle: string;
7642
+ deleting: string;
7643
+ edit: string;
7644
+ editTitle: string;
7645
+ empty: string;
7646
+ loadError: string;
7647
+ loading: string;
7648
+ moreActions: string;
7649
+ mutationError: string;
7650
+ noResults: string;
7651
+ required: string;
7652
+ retry: string;
7653
+ save: string;
7654
+ saving: string;
7655
+ searchPlaceholder: string;
7656
+ recommendedTemplates: readonly AgentQuickPromptTemplate[];
7657
+ recommendedTemplatesDescription: string;
7658
+ recommendedTemplatesTitle: string;
7659
+ returnToPrompts: string;
7660
+ title: string;
7661
+ titleLabel: string;
7662
+ titlePlaceholder: string;
7663
+ titleTooLong: string;
7664
+ contentTooLarge: string;
7665
+ trigger: string;
7666
+ triggerTooltip: string;
7667
+ useTemplate: string;
7668
+ }
7669
+
7670
+ interface AgentComposerReferenceProvenanceFilter {
7671
+ snapshot: ReferenceProvenanceFilterSnapshot;
7672
+ controller: Pick<ReferenceProvenanceFilterController, "reset" | "toggle" | "toggleAll">;
7673
+ }
7674
+ interface AgentComposerSubmitOptions {
7675
+ requiredSettingsPatch?: AgentActivitySubmitSettingsPatch;
7676
+ }
7677
+ interface AgentComposerProps {
7678
+ workspaceId: string;
7679
+ workspacePath?: string | null;
7680
+ currentUserId?: string | null;
7681
+ provider: string;
7682
+ slashStatus?: AgentComposerSlashStatus | null;
7683
+ usage?: AgentComposerUsage | null;
7684
+ draftContent: AgentComposerDraft;
7685
+ engagement?: AgentGUIComposerEngagement;
7686
+ /** Stable project/session owner for async draft attachment work. */
7687
+ draftScopeKey?: string;
7688
+ availableCommands: readonly AgentSessionCommand[];
7689
+ hasCompactableContext?: boolean;
7690
+ compactSupported?: boolean | null;
7691
+ availableSkills?: readonly AgentGUIProviderSkillOption[];
7692
+ disabled: boolean;
7693
+ disabledReason?: string | null;
7694
+ submitDisabled: boolean;
7695
+ placeholder: string;
7696
+ composerSettings: AgentGUIComposerSettingsVM;
7697
+ queueStatus?: AgentGUIQueueStatus;
7698
+ queuedPrompts: readonly AgentGUIQueuedPromptVM[];
7699
+ drainingQueuedPromptId: string | null;
7700
+ workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
7701
+ selectedAgentTarget?: AgentGUIAgentTarget | null;
7702
+ agentTargets?: readonly AgentGUIAgentTarget[];
7703
+ handoffAgentTargets?: readonly AgentGUIAgentTarget[];
7704
+ providerSelectReadonly?: boolean;
7705
+ onProviderSelect?: (input: {
7706
+ provider: AgentGUIProvider;
7707
+ agentTargetId?: string | null;
7708
+ }) => void;
7709
+ onHandoffConversation?: (target: AgentGUIAgentTarget) => void;
7710
+ canQueueWhileBusy: boolean;
7711
+ showStopButton: boolean;
7712
+ activePrompt: AgentConversationPromptVM | null;
7713
+ activePromptKeyboardShortcutsEnabled?: boolean;
7714
+ promptTips?: readonly AgentComposerPromptTip[];
7715
+ isInterrupting: boolean;
7716
+ isSendingTurn: boolean;
7717
+ isSubmittingPrompt: boolean;
7718
+ uiLanguage?: UiLanguage;
7719
+ isActive?: boolean;
7720
+ previewMode?: boolean;
7721
+ workspaceReferencePickerOpen?: boolean;
7722
+ promptImagesSupported?: boolean;
7723
+ canGoalControl?: boolean;
7724
+ canUploadAttachment?: boolean;
7725
+ composerFocusRequestSequence?: number | null;
7726
+ layoutMode?: "dock" | "hero";
7727
+ providerSelectLabel?: string;
7728
+ handoffLabel?: string;
7729
+ handoffMenuLabel?: string;
7730
+ labels: {
7731
+ send: string;
7732
+ modelLabel: string;
7733
+ modelSelectionLabel: string;
7734
+ modelContextWindowSuffix: string;
7735
+ modelTooltipVersionLabel: string;
7736
+ defaultModel: string;
7737
+ loadingOptions: string;
7738
+ inheritedUnavailable: string;
7739
+ loadingConversation: string;
7740
+ reasoningLabel: string;
7741
+ reasoningDegreeLabel: string;
7742
+ reasoningOptionDefault: string;
7743
+ reasoningOptionMinimal: string;
7744
+ reasoningOptionLow: string;
7745
+ reasoningOptionMedium: string;
7746
+ reasoningOptionHigh: string;
7747
+ reasoningOptionXHigh: string;
7748
+ reasoningOptionMax: string;
7749
+ reasoningOptionUltra: string;
7750
+ speedLabel: string;
7751
+ speedSelectionLabel: string;
7752
+ speedOptionStandard: string;
7753
+ speedOptionStandardDescription: string;
7754
+ speedOptionFast: string;
7755
+ speedOptionFastDescription: string;
7756
+ permissionLabel: string;
7757
+ permissionModeReadOnly: string;
7758
+ permissionModeAuto: string;
7759
+ permissionModeFullAccess: string;
7760
+ permissionModeChangeUnavailableDuringTurn: string;
7761
+ modelDescriptions: {
7762
+ frontierComplexCoding: string;
7763
+ everydayCoding: string;
7764
+ smallFastCostEfficient: string;
7765
+ codingOptimized: string;
7766
+ ultraFastCoding: string;
7767
+ professionalLongRunning: string;
7768
+ };
7769
+ planModeLabel: string;
7770
+ planModeOnLabel: string;
7771
+ planModeOffLabel: string;
7772
+ planUnavailable: string;
7773
+ goalLabel: string;
7774
+ browserUseCapabilityLabel: string;
7775
+ browserUseCapabilityDescription: string;
7776
+ browserUseCapabilityDescriptionAutoConnect: string;
7777
+ browserUseCapabilityDescriptionIsolated: string;
7778
+ browserUseCapabilitySettingsLabel: string;
7779
+ browserUseCapabilitySettingsDescription: string;
7780
+ capabilityInlineSettingsLabel: string;
7781
+ computerUseCapabilityLabel: string;
7782
+ computerUseCapabilityDescription: string;
7783
+ computerUseCapabilitySetupRequiredDescription: string;
7784
+ computerUseCapabilityAuthorizationRequiredDescription: string;
7785
+ computerUseCapabilityAuthorizationUnknownDescription: string;
7786
+ computerUseCapabilitySettingsLabel: string;
7787
+ computerUseCapabilitySettingsDescription: string;
7788
+ queuedLabel: string;
7789
+ queuePausedByUserLabel: string;
7790
+ sendQueuedPromptNext: string;
7791
+ editQueuedPrompt: string;
7792
+ deleteQueuedPrompt: string;
7793
+ queuedPromptMoreActions: string;
7794
+ stop: string;
7795
+ stopping: string;
7796
+ slashCommandPalette: string;
7797
+ skillPickerPalette: string;
7798
+ slashPaletteCommandsGroup: string;
7799
+ slashPaletteCapabilitiesGroup: string;
7800
+ slashPaletteCapabilitiesLoading: string;
7801
+ slashPaletteSkillsGroup: string;
7802
+ slashPalettePluginsGroup: string;
7803
+ slashPaletteConnectorsGroup: string;
7804
+ slashPaletteMcpGroup: string;
7805
+ slashCommandCompactLabel: string;
7806
+ slashCommandContextLabel: string;
7807
+ slashCommandFastLabel: string;
7808
+ slashCommandGoalLabel: string;
7809
+ slashCommandInitLabel: string;
7810
+ slashCommandPlanLabel: string;
7811
+ slashCommandReviewLabel: string;
7812
+ slashCommandStatusLabel: string;
7813
+ slashCommandUsageLabel: string;
7814
+ slashCommandCompactDescription: string;
7815
+ slashCommandContextDescription: string;
7816
+ slashCommandFastDescription: string;
7817
+ slashCommandGoalDescription: string;
7818
+ slashCommandInitDescription: string;
7819
+ slashCommandPlanDescription: string;
7820
+ slashCommandReviewDescription: string;
7821
+ slashCommandStatusDescription: string;
7822
+ slashCommandUsageDescription: string;
7823
+ slashStatusTitle: string;
7824
+ slashStatusSession: string;
7825
+ slashStatusBaseUrl: string;
7826
+ slashStatusContext: string;
7827
+ slashStatusLimits: string;
7828
+ slashStatusClose: string;
7829
+ slashStatusContextValue: (input: {
7830
+ percentLeft: number;
7831
+ usedTokens: string;
7832
+ totalTokens: string;
7833
+ }) => string;
7834
+ slashStatusContextUnavailable: string;
7835
+ slashStatusLimitsUnavailable: string;
7836
+ usageChipLabel: (input: {
7837
+ percent: number;
7838
+ }) => string;
7839
+ usageTooltipLabel: string;
7840
+ usagePopoverTitle: string;
7841
+ usageContextWindowLabel: string;
7842
+ usageTokensLabel: string;
7843
+ usageLimitsLabel: string;
7844
+ usageCompactAction: string;
7845
+ approvalLead: string;
7846
+ fileChangeApprovalLead: string;
7847
+ planLead: string;
7848
+ planModes: Array<{
7849
+ id: string;
7850
+ label: string;
7851
+ description: string;
7852
+ }>;
7853
+ stayInPlan: string;
7854
+ sendFeedback: string;
7855
+ feedbackPlaceholder: string;
7856
+ previousQuestion: string;
7857
+ nextQuestion: string;
7858
+ submitAnswers: string;
7859
+ answerPlaceholder: string;
7860
+ waitingForAnswer: string;
7861
+ planImplementationLead: string;
7862
+ planImplementationConfirm: string;
7863
+ planImplementationFeedbackPlaceholder: string;
7864
+ planImplementationSend: string;
7865
+ planImplementationSkip: string;
7866
+ fileMentionPalette: string;
7867
+ fileMentionLoading: string;
7868
+ fileMentionEmpty: string;
7869
+ fileMentionError: string;
7870
+ fileMentionTabHint: string;
7871
+ fileDropHint: string;
7872
+ mentionPalette: string;
7873
+ removeMention: string;
7874
+ addReference: string;
7875
+ addContent: string;
7876
+ referenceWorkspaceFiles: string;
7877
+ handoffConversation: string;
7878
+ handoffConversationTooltip: string;
7879
+ handoffConversationMenu: string;
7880
+ handoffTargetSelf: string;
7881
+ handoffTargetShared: string;
7882
+ providerSwitchLabel: string;
7883
+ projectLocked: string;
7884
+ projectMissingDescription: string;
7885
+ promptTipsPrefix: string;
7886
+ reviewPicker: {
7887
+ title: string;
7888
+ targetLabel: string;
7889
+ searchPlaceholder: string;
7890
+ noResults: string;
7891
+ uncommitted: string;
7892
+ baseBranch: string;
7893
+ commit: string;
7894
+ custom: string;
7895
+ branchLabel: string;
7896
+ branchPlaceholder: string;
7897
+ branchLoading: string;
7898
+ branchEmpty: string;
7899
+ commitPlaceholder: string;
7900
+ customPlaceholder: string;
7901
+ submit: string;
7902
+ cancel: string;
8000
7903
  };
7904
+ quickPrompts: AgentQuickPromptLabels;
7905
+ };
7906
+ workspaceUserProjectI18n: WorkspaceUserProjectI18nRuntime;
7907
+ onDraftContentChange: (draftContent: AgentComposerDraft, sourceScopeKey?: string) => void;
7908
+ onProjectPathChange?: (path: string | null, metadata?: AgentProjectPathChangeMetadata) => void;
7909
+ onSettingsChange: (settings: {
7910
+ model?: string | null;
7911
+ reasoningEffort?: string | null;
7912
+ speed?: string | null;
7913
+ planMode?: boolean;
7914
+ browserUse?: boolean;
7915
+ computerUse?: boolean;
7916
+ permissionModeId?: string | null;
7917
+ }) => void;
7918
+ capabilityMenuState?: AgentComposerCapabilityMenuState;
7919
+ onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
7920
+ onSlashStatusOpen?: () => void;
7921
+ onSubmit: (content: AgentPromptContentBlock[], displayPrompt?: string, options?: AgentComposerSubmitOptions) => void;
7922
+ onSubmitGuidance?: (content: AgentPromptContentBlock[], displayPrompt?: string) => void;
7923
+ onSendQueuedPromptNext: (queuedPromptId: string) => void;
7924
+ onRemoveQueuedPrompt: (queuedPromptId: string) => void;
7925
+ onEditQueuedPrompt: (queuedPromptId: string) => void;
7926
+ onInterruptCurrentTurn: () => void;
7927
+ onPromptImagesUnsupported?: () => void;
7928
+ onSubmitInteractivePrompt: (input: {
7929
+ requestId: string;
7930
+ action?: string;
7931
+ optionId?: string;
7932
+ payload?: Record<string, unknown>;
7933
+ }) => void;
7934
+ onLinkAction?: (action: WorkspaceLinkAction) => void;
7935
+ onRequestWorkspaceReferences?: ((entity?: AgentContextMentionItem | null) => Promise<WorkspaceReferencePickResult>) | null;
7936
+ resolveExternalPromptEntries?: AgentExternalPromptEntryResolver | null;
7937
+ prepareExternalPromptFiles?: AgentExternalPromptFilePreparer | null;
7938
+ promptAssetLimit?: number | null;
7939
+ selectProjectDirectory?: () => Promise<{
7940
+ path: string;
7941
+ } | null>;
7942
+ onRequestGitBranches?: AgentComposerGitBranchLoader | null;
7943
+ referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
7944
+ }
7945
+ type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"];
7946
+ interface AgentComposerCapabilityMenuState {
7947
+ browserUse?: {
7948
+ connectionMode?: "autoConnect" | "isolated" | null;
7949
+ };
7950
+ computerUse?: {
7951
+ authorization?: AgentComposerComputerUseAuthorizationState | null;
7952
+ installed?: boolean | null;
8001
7953
  };
7954
+ }
7955
+ type AgentComposerComputerUseAuthorizationState = "authorized" | "needs-authorization" | "unknown";
7956
+ interface AgentComposerGitBranches {
7957
+ branches: readonly string[];
7958
+ currentBranch?: string | null;
7959
+ }
7960
+ type AgentComposerGitBranchLoader = (input: {
7961
+ agentSessionId?: string | null;
7962
+ workingDirectory?: string | null;
7963
+ }) => Promise<AgentComposerGitBranches>;
7964
+ interface AgentComposerPromptTip {
7965
+ id: string;
7966
+ label: string;
7967
+ prompt: string;
7968
+ }
7969
+ interface AgentComposerSlashStatus {
7970
+ agentSessionId?: string | null;
7971
+ baseUrl?: string | null;
7972
+ contextWindow?: {
7973
+ usedTokens?: number | null;
7974
+ totalTokens?: number | null;
7975
+ } | null;
7976
+ limits?: readonly AgentComposerSlashStatusLimit[];
7977
+ limitsLoading?: boolean;
7978
+ limitsUnavailable?: boolean;
7979
+ }
7980
+ interface AgentComposerSlashStatusLimit {
7981
+ id: string;
7982
+ label: string;
7983
+ percentRemaining?: number | null;
7984
+ value: string;
7985
+ reset?: string | null;
7986
+ }
7987
+ interface AgentComposerUsage {
7988
+ percentUsed: number | null;
7989
+ usedTokens: number | null;
7990
+ totalTokens: number | null;
7991
+ }
7992
+
7993
+ /** Setup section requested by an AgentGUI remediation action. */
7994
+ type AgentEnvPanelFocus = "detect" | "install" | "repair" | "upgrade" | "auth" | "network" | "registry";
7995
+ interface OpenAgentEnvPanelInput {
7996
+ provider?: string | null;
7997
+ focus?: AgentEnvPanelFocus | null;
7998
+ }
7999
+
8000
+ type AgentMentionReferenceTargetResolver = (item: AgentContextMentionItem) => ReferenceLocateTarget | null;
8001
+ interface AgentWorkspaceReferenceInitialTargetInput {
8002
+ activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
8003
+ composerSelectedProjectPath: string | null;
8004
+ userProjects: AgentGUINodeViewModel["rail"]["userProjects"];
8005
+ }
8006
+ type AgentWorkspaceReferenceInitialTargetResolver = (input: AgentWorkspaceReferenceInitialTargetInput) => ReferenceLocateTarget | null;
8007
+ interface AgentGUISidebarFooterContext {
8008
+ currentUserId?: string | null;
8009
+ activeConversation: AgentGUINodeViewModel["rail"]["activeConversation"];
8010
+ }
8011
+ type AgentGUISidebarFooterRenderer = (ctx: AgentGUISidebarFooterContext) => ReactNode;
8012
+ /**
8013
+ * Renders the provider rail body when the rail is in "exact" mode and the
8014
+ * host-provided target list is empty (and not loading). Lets the host fully own
8015
+ * the empty state (e.g. a "no shared agents" message or a create-agent prompt)
8016
+ * instead of the library falling back to the static local catalog.
8017
+ */
8018
+ type AgentGUIAgentsEmptyRenderer = () => ReactNode;
8019
+ interface AgentGUIProviderUnavailableStateContext {
8020
+ provider: AgentGUIProvider;
8021
+ providerLabel: string;
8022
+ target: AgentGUIAgentTarget;
8023
+ iconUrl: string;
8024
+ unavailableReason: string | null;
8025
+ }
8026
+ /**
8027
+ * Renders the main-pane unavailable state for a selected provider target that
8028
+ * the host explicitly marks as disabled. This does not replace install,
8029
+ * login, checking, or retry readiness gates.
8030
+ */
8031
+ type AgentGUIProviderUnavailableStateRenderer = (ctx: AgentGUIProviderUnavailableStateContext) => ReactNode;
8032
+
8033
+ interface DesktopSize {
8034
+ width: number;
8035
+ height: number;
8036
+ bottomInset?: number;
8037
+ }
8038
+ /** Workspace-scoped agent probes for currently visible Agent GUI windows. */
8039
+ interface WorkspaceDesktopAgentProbesState {
8040
+ snapshot: AgentProbeSnapshot | null;
8041
+ isLoadingAvailability: boolean;
8042
+ isLoadingUsage: boolean;
8043
+ /** True when the most recent usage probe fetch failed (the retained snapshot,
8044
+ * if any, is stale). Lets surfaces show a refresh/retry affordance instead of
8045
+ * silently displaying old numbers. Absent is treated as "no failure". */
8046
+ usageLoadFailed?: boolean;
8047
+ }
8048
+ type WorkspaceDesktopAgentProbeDemandChange = (provider: AgentProvider | null, sourceId?: string) => void;
8049
+ type WorkspaceDesktopAgentProbeRefreshRequest = (provider: AgentProvider, sourceId?: string) => void;
8050
+
8051
+ interface AgentGUIComposerDefaults {
8052
+ model?: string | null;
8053
+ permissionModeId?: string | null;
8054
+ reasoningEffort?: string | null;
8055
+ speed?: string | null;
8056
+ }
8057
+ interface AgentGUIRememberComposerDefaultsInput {
8058
+ agentTargetId: string | null;
8059
+ provider: AgentGUINodeData["provider"];
8060
+ defaults: AgentGUIComposerDefaults | null;
8061
+ }
8062
+ declare const rememberComposerDefaultsFields: readonly ["model", "permissionModeId", "reasoningEffort", "speed"];
8063
+ type AgentGUIComposerDefaultsField = (typeof rememberComposerDefaultsFields)[number];
8064
+ interface AgentGUIRememberComposerDefaultsResult {
8065
+ acknowledgedFields: AgentGUIComposerDefaultsField[];
8066
+ supersededFields: AgentGUIComposerDefaultsField[];
8067
+ }
8068
+
8069
+ interface AgentGUIOpenSessionRequest {
8070
+ agentSessionId: string;
8071
+ sequence: number;
8072
+ }
8073
+
8074
+ type AgentGUIComposerAppendRequest = {
8075
+ files: readonly AgentComposerDraftFile[];
8076
+ prompt?: string;
8077
+ sequence: number;
8078
+ } | {
8079
+ files?: never;
8080
+ prompt: string;
8081
+ sequence: number;
8002
8082
  };
8003
- declare const agentGuiI18nModule: _tutti_os_ui_i18n_runtime.LocaleObjectI18nModuleManifest;
8004
- declare function AgentGuiI18nProvider({ children, locale, runtime }: {
8005
- children: ReactNode;
8006
- locale?: AgentGuiI18nLocale;
8007
- runtime?: I18nRuntime<string> | null;
8008
- }): react__default.ReactElement;
8083
+
8084
+ interface AgentGUIPrefillPromptRequest {
8085
+ agentTargetId?: string | null;
8086
+ autoSubmit?: boolean;
8087
+ draftPrompt: string;
8088
+ provider?: AgentGUIProvider;
8089
+ sequence: number;
8090
+ userProjectPath?: string | null;
8091
+ }
8092
+
8093
+ interface AgentGUINodeIdentity {
8094
+ nodeId: string;
8095
+ workspaceId: string;
8096
+ currentUserId?: string | null;
8097
+ title: string;
8098
+ }
8099
+ interface AgentGUINodeWorkspace {
8100
+ path: string;
8101
+ fileReferenceAdapter?: WorkspaceFileReferenceAdapter | null;
8102
+ onRequestGitBranches?: AgentComposerGitBranchLoader | null;
8103
+ selectProjectDirectory?: () => Promise<{
8104
+ path: string;
8105
+ } | null>;
8106
+ resolveExternalPromptEntries?: AgentComposerProps["resolveExternalPromptEntries"];
8107
+ prepareExternalPromptFiles?: AgentComposerProps["prepareExternalPromptFiles"];
8108
+ promptAssetLimit?: number | null;
8109
+ referenceSourceAggregator?: ReferenceSourceAggregator | null;
8110
+ resolveReferenceEntryIconUrl?: (entry: WorkspaceFileEntry) => Promise<string | null | undefined>;
8111
+ resolveMentionReferenceTarget?: AgentMentionReferenceTargetResolver | null;
8112
+ resolveReferenceInitialTarget?: AgentWorkspaceReferenceInitialTargetResolver | null;
8113
+ onFileReferencesAdded?: (input: {
8114
+ provider: AgentGUIProvider;
8115
+ references: readonly WorkspaceFileReference[];
8116
+ }) => void | Promise<void>;
8117
+ agentSettings: Pick<AgentSettings, "avoidGroupingEdits">;
8118
+ }
8119
+ interface AgentGUINodeFrameLayout {
8120
+ position: Point;
8121
+ width: number;
8122
+ height: number;
8123
+ desktopSize: DesktopSize;
8124
+ isMaximized?: boolean;
8125
+ isActive: boolean;
8126
+ /** Host-projected presentation visibility. Independent from node focus. */
8127
+ isVisible?: boolean;
8128
+ embedded?: boolean;
8129
+ previewMode?: boolean;
8130
+ /**
8131
+ * Container width at or below which the conversation rail auto-hides.
8132
+ * Hosts with roomier layouts (e.g. the standalone agent window) raise this
8133
+ * above the default AGENT_GUI_AUTO_COLLAPSE_WIDTH_PX.
8134
+ */
8135
+ conversationRailAutoCollapseWidthPx?: number | null;
8136
+ }
8137
+ type AgentGUISessionActionRequest = AgentGuiWorkbenchSessionActionRequest;
8138
+ interface AgentGUINodeRuntimeRequests {
8139
+ composerAppend?: AgentGUIComposerAppendRequest | null;
8140
+ composerFocusSequence?: number | null;
8141
+ newConversationSequence?: number | null;
8142
+ sessionAction?: AgentGUISessionActionRequest | null;
8143
+ openSession?: AgentGUIOpenSessionRequest | null;
8144
+ prefillPrompt?: AgentGUIPrefillPromptRequest | null;
8145
+ agentProbes?: WorkspaceDesktopAgentProbesState | null;
8146
+ onProbeDemandChange?: WorkspaceDesktopAgentProbeDemandChange;
8147
+ onProbeRefreshRequest?: WorkspaceDesktopAgentProbeRefreshRequest;
8148
+ }
8149
+ interface AgentGUINodeHostCapabilities {
8150
+ /**
8151
+ * Complete host-owned catalog for reference provenance filtering. Supplying
8152
+ * it explicitly opts the host into the dimensions declared by the catalog.
8153
+ * Omit it to keep filtering disabled unless the legacy Agent-only flag is
8154
+ * enabled.
8155
+ */
8156
+ referenceProvenanceFilterCatalog?: ReferenceProvenanceCatalog | null;
8157
+ /** Legacy Tutti Agent-only opt-in. Prefer an explicit catalog in new hosts. */
8158
+ referenceProvenanceFilterEnabled?: boolean;
8159
+ capabilityMenuState?: AgentComposerCapabilityMenuState;
8160
+ accountMenuState?: AgentGUIAccountMenuState | null;
8161
+ agentTargets?: readonly AgentGUIAgentTarget[];
8162
+ agentTargetsLoading?: boolean;
8163
+ /** Launch-only targets for active-conversation handoff. */
8164
+ handoffAgentTargets?: readonly AgentGUIAgentTarget[];
8165
+ handoffAgentTargetsLoading?: boolean;
8166
+ providerRailAllPresentation?: AgentGUIProviderRailAllPresentation | null;
8167
+ providerRailMode?: AgentGUIProviderRailMode;
8168
+ comingSoonProviders?: readonly AgentGUIProvider[];
8169
+ providerReadinessGates?: Partial<Record<AgentGUIProvider, AgentGUIProviderReadinessGate | null>> | null;
8170
+ defaultAgentTargetId?: string | null;
8171
+ providerAuthAccountLabels?: Partial<Record<string, string>>;
8172
+ mentionService?: RichTextMentionService;
8173
+ workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
8174
+ disabledHomeSuggestions?: readonly AgentGUIHomeSuggestionId[];
8175
+ }
8176
+ interface AgentGUINodeHostActions {
8177
+ onLinkAction?: (action: WorkspaceLinkAction) => void;
8178
+ onHandoffConversation?: (input: {
8179
+ agentTargetId?: string | null;
8180
+ draftPrompt: string;
8181
+ provider: AgentGUIProvider;
8182
+ userProjectPath?: string | null;
8183
+ }) => void | Promise<void>;
8184
+ onCapabilitySettingsRequest?: (capability: AgentComposerCapabilitySettingsTarget) => void;
8185
+ onAgentProviderLogin?: (provider: AgentGUIProvider) => void;
8186
+ onAgentEnvPanelOpen?: (input?: OpenAgentEnvPanelInput) => void;
8187
+ onOpenConversationWindow?: (agentSessionId: string) => void;
8188
+ onClose: () => void;
8189
+ onResize: (frame: NodeFrame) => void;
8190
+ onUpdateNode: (updater: (current: AgentGUINodeData) => AgentGUINodeData) => void;
8191
+ onRememberComposerDefaults?: (input: AgentGUIRememberComposerDefaultsInput) => void | Promise<AgentGUIRememberComposerDefaultsResult>;
8192
+ isMuted?: boolean;
8193
+ onMinimize?: () => void;
8194
+ onToggleMaximize?: () => void;
8195
+ onShowMessage?: (message: string, tone?: "info" | "warning" | "error") => void;
8196
+ onEngagementEvent?: AgentGUIEngagementEventSink;
8197
+ }
8198
+ interface AgentGUINodeRenderSlots {
8199
+ providerRailEmpty?: AgentGUIAgentsEmptyRenderer;
8200
+ providerUnavailableState?: AgentGUIProviderUnavailableStateRenderer;
8201
+ sidebarFooter?: (ctx: AgentGUISidebarFooterContext) => ReactNode;
8202
+ }
8203
+ interface AgentGUINodeProps {
8204
+ identity: AgentGUINodeIdentity;
8205
+ workspace: AgentGUINodeWorkspace;
8206
+ frame: AgentGUINodeFrameLayout;
8207
+ state: AgentGUINodeData;
8208
+ runtimeRequests: AgentGUINodeRuntimeRequests;
8209
+ hostCapabilities: AgentGUINodeHostCapabilities;
8210
+ hostActions: AgentGUINodeHostActions;
8211
+ renderSlots: AgentGUINodeRenderSlots;
8212
+ }
8009
8213
 
8010
8214
  type AgentGUIPublicHostCapabilities = Omit<AgentGUINodeProps["hostCapabilities"], "agentTargets" | "agentTargetsLoading" | "handoffAgentTargets" | "handoffAgentTargetsLoading" | "providerRailAllPresentation" | "providerRailMode" | "disabledHomeSuggestions">;
8011
8215
  type AgentGUIPublicRenderSlots = Omit<AgentGUINodeProps["renderSlots"], "providerRailEmpty">;
@@ -8204,4 +8408,4 @@ declare function dispatchAgentPlanPromptAction(input: {
8204
8408
  workspaceId: string;
8205
8409
  }): boolean;
8206
8410
 
8207
- export { AGENT_CONTEXT_MENTION_PROVIDER_IDS, AGENT_GUI_DETAIL_MIN_WIDTH_PX, AGENT_GUI_EXPANDED_TARGET_WIDTH_PX, AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX, AGENT_PASTED_TEXT_BLOCK_KIND, AGENT_PASTED_TEXT_MENTION_KIND, AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeDeleteSessionsBatchInput, type AgentActivityRuntimeDeleteSessionsBatchResult, type AgentActivityRuntimeListSessionMessagesInput, type AgentActivityRuntimePromptContentBlock, AgentActivityRuntimeProvider, type AgentActivityRuntimeProviderProps, type AgentActivityRuntimeSessionSectionDeletionCandidates, type AgentActivityRuntimeSessionSectionScopeInput, type AgentActivityRuntimeSetSessionPinnedInput, type AgentActivityRuntimeUpdateSessionSettingsInput, type AgentActivityRuntimeUpdateSessionSettingsResult, type AgentActivityRuntimeUploadPromptContentInput, type AgentActivityRuntimeUploadPromptContentResult, type AgentComposerDraftFile, type AgentContextMentionProvider, type AgentContextMentionProviderId, type AgentCustomMentionChipContext, type AgentCustomMentionIdentity, type AgentCustomMentionKindDefinition, type AgentCustomMentionPresentation, type AgentExternalPromptEntryResolution, type AgentExternalPromptEntryResolver, type AgentExternalPromptFilePreparationErrorCode, type AgentExternalPromptFilePreparationResult, type AgentExternalPromptFilePreparer, AgentGUI, type AgentGUIAccountMenuState, type AgentGUIAgent, type AgentGUIAgentAvailability, type AgentGUIAgentAvailabilityAction, type AgentGUIAgentAvailabilityStatus, type AgentGUIAgentDirectoryPort, type AgentGUIAgentDirectorySnapshot, type AgentGUIAgentDirectoryStatus, type AgentGUIAgentOwner, type AgentGUIAgentOwnership, type AgentGUIAgentTarget, type AgentGUIAgentTargetBadge, type AgentGUIAgentTargetRef, type AgentGUIAgentsEmptyRenderer, type AgentGUIAllAgentsPresentation, type AgentGUIComposerAppendRequest, type AgentGUIComposerContentType, type AgentGUIComposerFocusMethod, type AgentGUIEngagementContext, type AgentGUIEngagementEvent, type AgentGUIEngagementEventSink, type AgentGUIHomeSuggestionId, type AgentGUIProps, type AgentGUIProvider, type AgentGUIProviderRailAllPresentation, type AgentGUIProviderRailMode, type AgentGUIProviderReadinessGate, type AgentGUIProviderReadinessGateAction, type AgentGUIProviderReadinessGateStatus, type AgentGUIProviderUnavailableStateContext, type AgentGUIProviderUnavailableStateRenderer, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, type AgentGuiI18nLocale, AgentGuiI18nProvider, AgentHandoffMenu, type AgentHandoffMenuLabels, type AgentHandoffMenuProps, type AgentHostAgentTargetAuthenticatedAccount, type AgentHostAgentTargetSetupSnapshot, type AgentHostAgentTargetSetupState, type AgentHostAgentTargetSetupWatch, type AgentHostApi, type AgentHostApplyWorkspaceGitPatchInput, type AgentHostInputApi, type AgentHostRuntimeApi, type AgentHostSelectFilesInput, type AgentHostUserProject, type AgentPlanPromptAction, type AgentPreparedExternalPromptFile, type AgentProbeProvider, type AgentProbeSnapshot, type AgentProviderProbeListInput, type AgentProviderProbeListResult, type AgentUsageQuota, type AgentUsageSnapshot, type CreateAgentSessionHandoffPromptInput, type CreateAgentSessionMarkdownLinkInput, type EngineStateStore, type PersistWriteResult, type ReadWorkspaceAgentReadStateInput, type WorkspaceAgentReadStateSnapshot, type WriteWorkspaceAgentReadStateInput, agentGUIAgentIsReady, agentGUIDefaultTargetProviders, agentGuiDockIconUrl, agentGuiDockIconUrls, agentGuiI18nModule, agentGuiI18nResources, createAgentSessionHandoffPrompt, createAgentSessionMarkdownLink, createLocalAgentGUIAgentTarget, createLocalAgentGUIAgentTargets, createSharedAgentGUIAgentTarget, dispatchAgentPlanPromptAction, getAgentCustomMentionKind, localAgentGUIAgentTargetId, normalizeAgentGUIAgentTargets, normalizeAgentGUIAgents, preloadAgentMentionBrowse, projectAgentGUIAgentsToTargets, registerAgentCustomMentionKind, resetAgentActivityRuntimeForTests, resetAgentCustomMentionKindsForTests, resolveAgentGUIAgentTarget, resolveAgentGUIExpandedWindowFrame, resolveAgentGUISelectedDirectoryAgent, selectAgentPlanPromptTurn, setAgentActivityRuntimeForTests, shouldAutoCollapseAgentGUIConversationRail, useAgentActivityRuntime, useAgentActivitySnapshot, useEngineSelector, useOptionalAgentActivityRuntime };
8411
+ export { AGENT_CONTEXT_MENTION_PROVIDER_IDS, AGENT_GUI_DETAIL_MIN_WIDTH_PX, AGENT_GUI_EXPANDED_TARGET_WIDTH_PX, AGENT_GUI_STANDALONE_AUTO_COLLAPSE_WIDTH_PX, AGENT_PASTED_TEXT_BLOCK_KIND, AGENT_PASTED_TEXT_MENTION_KIND, AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeDeleteSessionsBatchInput, type AgentActivityRuntimeDeleteSessionsBatchResult, type AgentActivityRuntimeListSessionMessagesInput, type AgentActivityRuntimePromptContentBlock, AgentActivityRuntimeProvider, type AgentActivityRuntimeProviderProps, type AgentActivityRuntimeSessionSectionDeletionCandidates, type AgentActivityRuntimeSessionSectionScopeInput, type AgentActivityRuntimeSetSessionPinnedInput, type AgentActivityRuntimeUpdateSessionSettingsInput, type AgentActivityRuntimeUpdateSessionSettingsResult, type AgentActivityRuntimeUploadPromptContentInput, type AgentActivityRuntimeUploadPromptContentResult, type AgentComposerDraftFile, type AgentContextMentionProvider, type AgentContextMentionProviderId, type AgentCustomMentionChipContext, type AgentCustomMentionIdentity, type AgentCustomMentionKindDefinition, type AgentCustomMentionPresentation, type AgentExternalPromptEntryResolution, type AgentExternalPromptEntryResolver, type AgentExternalPromptFilePreparationErrorCode, type AgentExternalPromptFilePreparationResult, type AgentExternalPromptFilePreparer, AgentGUI, type AgentGUIAccountMenuState, type AgentGUIAgent, type AgentGUIAgentAvailability, type AgentGUIAgentAvailabilityAction, type AgentGUIAgentAvailabilityStatus, type AgentGUIAgentDirectoryPort, type AgentGUIAgentDirectorySnapshot, type AgentGUIAgentDirectoryStatus, type AgentGUIAgentOwner, type AgentGUIAgentOwnership, type AgentGUIAgentTarget, type AgentGUIAgentTargetBadge, type AgentGUIAgentTargetRef, type AgentGUIAgentsEmptyRenderer, type AgentGUIAllAgentsPresentation, type AgentGUIComposerAppendRequest, type AgentGUIComposerContentType, type AgentGUIComposerFocusMethod, type AgentGUIEngagementContext, type AgentGUIEngagementEvent, type AgentGUIEngagementEventSink, type AgentGUIHomeSuggestionId, type AgentGUIProps, type AgentGUIProvider, type AgentGUIProviderRailAllPresentation, type AgentGUIProviderRailMode, type AgentGUIProviderReadinessGate, type AgentGUIProviderReadinessGateAction, type AgentGUIProviderReadinessGateStatus, type AgentGUIProviderUnavailableStateContext, type AgentGUIProviderUnavailableStateRenderer, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, type AgentGuiI18nLocale, AgentGuiI18nProvider, AgentHandoffMenu, type AgentHandoffMenuLabels, type AgentHandoffMenuProps, type AgentHostAgentTargetAuthenticatedAccount, type AgentHostAgentTargetSetupSnapshot, type AgentHostAgentTargetSetupState, type AgentHostAgentTargetSetupWatch, type AgentHostApi, type AgentHostApplyWorkspaceGitPatchInput, type AgentHostInputApi, type AgentHostQuickPrompt, type AgentHostQuickPromptSnapshot, type AgentHostQuickPromptsApi, type AgentHostRuntimeApi, type AgentHostSelectFilesInput, type AgentHostUserProject, type AgentPlanPromptAction, type AgentPreparedExternalPromptFile, type AgentProbeProvider, type AgentProbeSnapshot, type AgentProviderProbeListInput, type AgentProviderProbeListResult, type AgentUsageQuota, type AgentUsageSnapshot, type CreateAgentSessionHandoffPromptInput, type CreateAgentSessionMarkdownLinkInput, type EngineStateStore, type PersistWriteResult, type ReadWorkspaceAgentReadStateInput, type WorkspaceAgentReadStateSnapshot, type WriteWorkspaceAgentReadStateInput, agentGUIAgentIsReady, agentGUIDefaultTargetProviders, agentGuiDockIconUrl, agentGuiDockIconUrls, agentGuiI18nModule, agentGuiI18nResources, createAgentSessionHandoffPrompt, createAgentSessionMarkdownLink, createLocalAgentGUIAgentTarget, createLocalAgentGUIAgentTargets, createSharedAgentGUIAgentTarget, dispatchAgentPlanPromptAction, getAgentCustomMentionKind, localAgentGUIAgentTargetId, normalizeAgentGUIAgentTargets, normalizeAgentGUIAgents, preloadAgentMentionBrowse, projectAgentGUIAgentsToTargets, registerAgentCustomMentionKind, resetAgentActivityRuntimeForTests, resetAgentCustomMentionKindsForTests, resolveAgentGUIAgentTarget, resolveAgentGUIExpandedWindowFrame, resolveAgentGUISelectedDirectoryAgent, selectAgentPlanPromptTurn, setAgentActivityRuntimeForTests, shouldAutoCollapseAgentGUIConversationRail, useAgentActivityRuntime, useAgentActivitySnapshot, useEngineSelector, useOptionalAgentActivityRuntime };