@tutti-os/agent-gui 0.0.139 → 0.0.141

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 (68) hide show
  1. package/README.md +5 -7
  2. package/dist/{AgentRichTextReadonly-E5SBW7KJ.js → AgentRichTextReadonly-QIQCYZAG.js} +5 -5
  3. package/dist/agent-conversation/index.d.ts +2 -2
  4. package/dist/agent-conversation/index.js +8 -8
  5. package/dist/agent-gui.d.ts +11 -7
  6. package/dist/agent-gui.js +17 -17
  7. package/dist/agent-message-center/index.js +6 -6
  8. package/dist/{agentGuiNodeTypes-DV7KvZRe.d.ts → agentGuiNodeTypes-D3f1yiEL.d.ts} +15 -1
  9. package/dist/agents.d.ts +1 -1
  10. package/dist/agents.js +1 -1
  11. package/dist/app/renderer/agentactivity.css +64 -83
  12. package/dist/{chunk-UARGXEXF.js → chunk-4V3QEPKX.js} +8 -11
  13. package/dist/chunk-4V3QEPKX.js.map +1 -0
  14. package/dist/{chunk-3MHXBAYC.js → chunk-5ZZMG4ZB.js} +5 -5
  15. package/dist/{chunk-5WOCGIXJ.js → chunk-C4ACYHOY.js} +1 -4
  16. package/dist/chunk-C4ACYHOY.js.map +1 -0
  17. package/dist/{chunk-EU7DCT4F.js → chunk-D3VWQTDH.js} +2 -2
  18. package/dist/{chunk-R7AXDQCA.js → chunk-JDVP33S5.js} +6 -1
  19. package/dist/chunk-JDVP33S5.js.map +1 -0
  20. package/dist/{chunk-7QKKMJZS.js → chunk-LIQWMDME.js} +162 -12
  21. package/dist/chunk-LIQWMDME.js.map +1 -0
  22. package/dist/{chunk-IYZ4GOSN.js → chunk-MX2NPLCN.js} +4 -3
  23. package/dist/{chunk-IYZ4GOSN.js.map → chunk-MX2NPLCN.js.map} +1 -1
  24. package/dist/{chunk-5H5LUEBG.js → chunk-N2NZASIS.js} +2 -2
  25. package/dist/{chunk-DBFHUUZ5.js → chunk-O764HQNF.js} +7 -4
  26. package/dist/chunk-O764HQNF.js.map +1 -0
  27. package/dist/{chunk-25VMCMAQ.js → chunk-OEC2IIWG.js} +4 -4
  28. package/dist/{chunk-GIYGO2PB.js → chunk-OWJ7Q2DJ.js} +2 -2
  29. package/dist/{chunk-VGS7S7YT.js → chunk-Q2WMHYIB.js} +2 -2
  30. package/dist/{chunk-OFJNIQWR.js → chunk-RXOGBOK6.js} +2 -2
  31. package/dist/{chunk-OFJNIQWR.js.map → chunk-RXOGBOK6.js.map} +1 -1
  32. package/dist/{chunk-VUNVGEQG.js → chunk-S2D4NNEB.js} +49 -5
  33. package/dist/chunk-S2D4NNEB.js.map +1 -0
  34. package/dist/{chunk-O5CSF2RC.js → chunk-TJW5NWWH.js} +4 -4
  35. package/dist/{chunk-NFY5SSBS.js → chunk-VF5HD6RF.js} +2861 -1680
  36. package/dist/chunk-VF5HD6RF.js.map +1 -0
  37. package/dist/{chunk-USIFGHT3.js → chunk-VMPA46ET.js} +2 -2
  38. package/dist/context-mention-palette/index.js +9 -9
  39. package/dist/{contribution-CDdwTppn.d.ts → contribution-CC2DVyUV.d.ts} +28 -2
  40. package/dist/i18n/index.d.ts +74 -40
  41. package/dist/i18n/index.js +2 -2
  42. package/dist/index.d.ts +128 -76
  43. package/dist/index.js +17 -17
  44. package/dist/mention-search.js +7 -7
  45. package/dist/{types-ee3zJ6Cc.d.ts → types-DVmB_kyD.d.ts} +0 -2
  46. package/dist/workbench/contribution.d.ts +1 -1
  47. package/dist/workbench/contribution.js +10 -4
  48. package/dist/workbench/index.d.ts +6 -3
  49. package/dist/workbench/index.js +10 -4
  50. package/dist/workbench/sessionTitle.js +2 -2
  51. package/dist/workspace-agent-generated-files.js +2 -2
  52. package/package.json +15 -15
  53. package/dist/chunk-5WOCGIXJ.js.map +0 -1
  54. package/dist/chunk-7QKKMJZS.js.map +0 -1
  55. package/dist/chunk-DBFHUUZ5.js.map +0 -1
  56. package/dist/chunk-NFY5SSBS.js.map +0 -1
  57. package/dist/chunk-R7AXDQCA.js.map +0 -1
  58. package/dist/chunk-UARGXEXF.js.map +0 -1
  59. package/dist/chunk-VUNVGEQG.js.map +0 -1
  60. /package/dist/{AgentRichTextReadonly-E5SBW7KJ.js.map → AgentRichTextReadonly-QIQCYZAG.js.map} +0 -0
  61. /package/dist/{chunk-3MHXBAYC.js.map → chunk-5ZZMG4ZB.js.map} +0 -0
  62. /package/dist/{chunk-EU7DCT4F.js.map → chunk-D3VWQTDH.js.map} +0 -0
  63. /package/dist/{chunk-5H5LUEBG.js.map → chunk-N2NZASIS.js.map} +0 -0
  64. /package/dist/{chunk-25VMCMAQ.js.map → chunk-OEC2IIWG.js.map} +0 -0
  65. /package/dist/{chunk-GIYGO2PB.js.map → chunk-OWJ7Q2DJ.js.map} +0 -0
  66. /package/dist/{chunk-VGS7S7YT.js.map → chunk-Q2WMHYIB.js.map} +0 -0
  67. /package/dist/{chunk-O5CSF2RC.js.map → chunk-TJW5NWWH.js.map} +0 -0
  68. /package/dist/{chunk-USIFGHT3.js.map → chunk-VMPA46ET.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isImageGenerationToolCall
3
- } from "./chunk-R7AXDQCA.js";
3
+ } from "./chunk-JDVP33S5.js";
4
4
  import {
5
5
  fileChangePathsFromChanges
6
6
  } from "./chunk-F5UR6EJG.js";
@@ -514,4 +514,4 @@ export {
514
514
  collectWorkspaceAgentGeneratedFiles,
515
515
  changedFilesForSession
516
516
  };
517
- //# sourceMappingURL=chunk-USIFGHT3.js.map
517
+ //# sourceMappingURL=chunk-VMPA46ET.js.map
@@ -3,28 +3,28 @@ import {
3
3
  AgentFileMentionPalette,
4
4
  flattenAgentMentionPaletteEntries,
5
5
  groupStartKeys
6
- } from "../chunk-O5CSF2RC.js";
6
+ } from "../chunk-TJW5NWWH.js";
7
7
  import {
8
8
  AgentMentionSearchController
9
- } from "../chunk-3MHXBAYC.js";
10
- import "../chunk-USIFGHT3.js";
9
+ } from "../chunk-5ZZMG4ZB.js";
10
+ import "../chunk-VMPA46ET.js";
11
11
  import "../chunk-XJ34OIEQ.js";
12
- import "../chunk-R7AXDQCA.js";
13
- import "../chunk-DBFHUUZ5.js";
12
+ import "../chunk-JDVP33S5.js";
13
+ import "../chunk-O764HQNF.js";
14
14
  import "../chunk-5QPOMKMQ.js";
15
15
  import {
16
16
  AGENT_CONTEXT_MENTION_PROVIDER_IDS
17
17
  } from "../chunk-RMQREVJY.js";
18
18
  import "../chunk-FGLQZ6I4.js";
19
- import "../chunk-EU7DCT4F.js";
19
+ import "../chunk-D3VWQTDH.js";
20
20
  import "../chunk-YMXYBG7U.js";
21
- import "../chunk-OFJNIQWR.js";
21
+ import "../chunk-RXOGBOK6.js";
22
22
  import "../chunk-F5UR6EJG.js";
23
23
  import "../chunk-EDNJMG5T.js";
24
- import "../chunk-GIYGO2PB.js";
24
+ import "../chunk-OWJ7Q2DJ.js";
25
25
  import "../chunk-PJP5BUU6.js";
26
26
  import "../chunk-7KVZPJ3O.js";
27
- import "../chunk-VUNVGEQG.js";
27
+ import "../chunk-S2D4NNEB.js";
28
28
  import "../chunk-MIJXEELH.js";
29
29
  import "../chunk-D2JUDUYY.js";
30
30
  import "../chunk-6CUELYIF.js";
@@ -36,7 +36,6 @@ interface AgentGUIAgent {
36
36
  iconUrl: string;
37
37
  /** Single-color artwork rendered through the conversation rail CSS mask. */
38
38
  maskIconUrl?: string | null;
39
- sidebarIconUrl?: string | null;
40
39
  heroImageUrl?: string | null;
41
40
  description?: string | null;
42
41
  owner?: AgentGUIAgentOwner | null;
@@ -71,6 +70,32 @@ declare function resolveAgentGuiWorkbenchConversationIdentity(input: {
71
70
  }): AgentGuiWorkbenchConversationIdentity | null;
72
71
  declare function agentGuiWorkbenchConversationIdentitiesEqual(left: AgentGuiWorkbenchConversationIdentity | null, right: AgentGuiWorkbenchConversationIdentity | null): boolean;
73
72
 
73
+ declare const AGENT_GUI_WORKBENCH_SESSION_ACTION_EVENT = "tutti:agent-gui-workbench-session-action";
74
+ type AgentGuiWorkbenchSessionAction = "rename" | "copy-markdown" | "copy-reference";
75
+ declare function isAgentGuiWorkbenchSessionAction(value: unknown): value is AgentGuiWorkbenchSessionAction;
76
+ interface AgentGuiWorkbenchSessionActionDetail {
77
+ action: AgentGuiWorkbenchSessionAction;
78
+ /**
79
+ * Session the header menu was rendered for. Null lets the consumer fall
80
+ * back to its active conversation; carrying the id pins the action to the
81
+ * conversation the user saw when they clicked.
82
+ */
83
+ agentSessionId: string | null;
84
+ instanceId: string;
85
+ }
86
+ interface AgentGuiWorkbenchSessionActionRequest {
87
+ action: AgentGuiWorkbenchSessionAction;
88
+ agentSessionId: string | null;
89
+ sequence: number;
90
+ }
91
+ declare function dispatchAgentGuiWorkbenchSessionAction(detail: AgentGuiWorkbenchSessionActionDetail): void;
92
+ interface AgentGuiWorkbenchSessionMenuCopy {
93
+ moreSessionActions: string;
94
+ renameSession: string;
95
+ copyAsMarkdown: string;
96
+ copyAsReference: string;
97
+ }
98
+
74
99
  declare const agentGuiWorkbenchDefaultNodeFrame: WorkbenchFrame;
75
100
  declare const agentGuiWorkbenchDefaultUsableWidthRatio = 0.9;
76
101
  declare const agentGuiWorkbenchDefaultUsableHeightRatio = 0.9;
@@ -136,6 +161,7 @@ interface AgentGuiWorkbenchContributionCopy {
136
161
  openDetachedWindow: string;
137
162
  restore: string;
138
163
  untitledConversation: string;
164
+ sessionMenu?: AgentGuiWorkbenchSessionMenuCopy | null;
139
165
  }
140
166
  type AgentGuiWorkbenchContributionCopyOverrides = Partial<AgentGuiWorkbenchContributionCopy>;
141
167
  interface AgentGuiWorkbenchRenderBodyHelpers {
@@ -171,4 +197,4 @@ interface CreateAgentGuiWorkbenchContributionInput {
171
197
  }
172
198
  declare function createAgentGuiWorkbenchContribution(input: CreateAgentGuiWorkbenchContributionInput): WorkbenchContribution;
173
199
 
174
- export { AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT as A, type BuildAgentGuiDockEntriesInput as B, type CreateAgentGuiWorkbenchContributionInput as C, AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT as a, AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT as b, type AgentGuiWorkbenchContributionCopy as c, type AgentGuiWorkbenchContributionCopyOverrides as d, type AgentGuiWorkbenchConversationIdentity as e, type AgentGuiWorkbenchConversationRailToggleDetail as f, type AgentGuiWorkbenchNewConversationDetail as g, type AgentGuiWorkbenchProviderAvailability as h, type AgentGuiWorkbenchRenderBodyHelpers as i, agentGuiWorkbenchCompactVisibleAreaRatio as j, agentGuiWorkbenchConversationIdentitiesEqual as k, agentGuiWorkbenchDefaultCopy as l, agentGuiWorkbenchDefaultNodeFrame as m, agentGuiWorkbenchDefaultUsableHeightRatio as n, agentGuiWorkbenchDefaultUsableWidthRatio as o, agentGuiWorkbenchNewWindowCascadeOffset as p, agentGuiWorkbenchProviderRailWidthPx as q, buildAgentGuiDockEntries as r, createAgentGuiWorkbenchContribution as s, resolveAgentGuiUnifiedDockLaunchPayload as t, resolveAgentGuiWorkbenchContributionCopy as u, resolveAgentGuiWorkbenchConversationIdentity as v, resolveAgentGuiWorkbenchDefaultLaunchFrame as w };
200
+ export { AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT as A, type BuildAgentGuiDockEntriesInput as B, type CreateAgentGuiWorkbenchContributionInput as C, resolveAgentGuiUnifiedDockLaunchPayload as D, resolveAgentGuiWorkbenchContributionCopy as E, resolveAgentGuiWorkbenchConversationIdentity as F, resolveAgentGuiWorkbenchDefaultLaunchFrame as G, AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT as a, AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT as b, AGENT_GUI_WORKBENCH_SESSION_ACTION_EVENT as c, type AgentGuiWorkbenchContributionCopy as d, type AgentGuiWorkbenchContributionCopyOverrides as e, type AgentGuiWorkbenchConversationIdentity as f, type AgentGuiWorkbenchConversationRailToggleDetail as g, type AgentGuiWorkbenchNewConversationDetail as h, type AgentGuiWorkbenchProviderAvailability as i, type AgentGuiWorkbenchRenderBodyHelpers as j, type AgentGuiWorkbenchSessionAction as k, type AgentGuiWorkbenchSessionActionDetail as l, type AgentGuiWorkbenchSessionActionRequest as m, type AgentGuiWorkbenchSessionMenuCopy as n, agentGuiWorkbenchCompactVisibleAreaRatio as o, agentGuiWorkbenchConversationIdentitiesEqual as p, agentGuiWorkbenchDefaultCopy as q, agentGuiWorkbenchDefaultNodeFrame as r, agentGuiWorkbenchDefaultUsableHeightRatio as s, agentGuiWorkbenchDefaultUsableWidthRatio as t, agentGuiWorkbenchNewWindowCascadeOffset as u, agentGuiWorkbenchProviderRailWidthPx as v, buildAgentGuiDockEntries as w, createAgentGuiWorkbenchContribution as x, dispatchAgentGuiWorkbenchSessionAction as y, isAgentGuiWorkbenchSessionAction as z };
@@ -490,6 +490,37 @@ declare const agentGuiI18nResources: {
490
490
  readonly slashPalettePluginsGroup: "Plugins";
491
491
  readonly slashPaletteConnectorsGroup: "Connectors";
492
492
  readonly slashPaletteMcpGroup: "MCP";
493
+ readonly renameSession: "Rename session";
494
+ readonly renameSessionTitle: "Rename conversation";
495
+ readonly renameSessionDescription: "Keep it short and easy to recognize.";
496
+ readonly renameSessionPlaceholder: "Conversation title";
497
+ readonly renameSessionSave: "Save";
498
+ readonly unpinSession: "Unpin session";
499
+ readonly deleteSessionTitle: "Delete session?";
500
+ readonly deleteSessionBody: "This session cannot be recovered after deletion. It will no longer appear in the session list, session timeline, room timeline, or room status.";
501
+ readonly deleteSessionConfirm: "Delete session";
502
+ readonly conversationRailResizeAria: "Resize session list";
503
+ readonly collapseConversationRail: "Hide sidebar";
504
+ readonly expandConversationRail: "Show sidebar";
505
+ readonly relativeTimeJustNow: "just now";
506
+ readonly relativeTimeMinutes: "{{count}} min";
507
+ readonly relativeTimeHours: "{{count}} h";
508
+ readonly relativeTimeDays: "{{count}} d";
509
+ readonly relativeTimeMonths: "{{count}} mo";
510
+ readonly relativeTimeYears: "{{count}} y";
511
+ readonly moreSessionActions: string;
512
+ readonly copiedToClipboard: string;
513
+ readonly copyFailed: string;
514
+ readonly copyAsMarkdown: string;
515
+ readonly copyAsReference: string;
516
+ readonly markSessionUnread: string;
517
+ readonly conversationCopyImage: string;
518
+ readonly conversationCopyMentionPrefix: string;
519
+ readonly conversationCopyFile: string;
520
+ readonly conversationCopyPreviousMessages: string;
521
+ readonly conversationCopyImagesOmitted: string;
522
+ readonly conversationCopyInProgress: string;
523
+ readonly sessionActionUnavailable: string;
493
524
  readonly contextCompactionInProgress: "Compacting context";
494
525
  readonly contextCompactionCompleted: "Context compacted.";
495
526
  readonly contextCompactionInterrupted: "Context compaction interrupted.";
@@ -551,26 +582,6 @@ declare const agentGuiI18nResources: {
551
582
  readonly showLessConversations: "Show less";
552
583
  readonly deleteSession: "Delete session";
553
584
  readonly pinSession: "Pin session";
554
- readonly copySessionLink: "Copy session link";
555
- readonly renameSession: "Rename session";
556
- readonly renameSessionTitle: "Rename conversation";
557
- readonly renameSessionDescription: "Keep it short and easy to recognize.";
558
- readonly renameSessionPlaceholder: "Conversation title";
559
- readonly renameSessionSave: "Save";
560
- readonly unpinSession: "Unpin session";
561
- readonly markSessionUnread: "Mark as unread";
562
- readonly deleteSessionTitle: "Delete session?";
563
- readonly deleteSessionBody: "This session cannot be recovered after deletion. It will no longer appear in the session list, session timeline, room timeline, or room status.";
564
- readonly deleteSessionConfirm: "Delete session";
565
- readonly conversationRailResizeAria: "Resize session list";
566
- readonly collapseConversationRail: "Hide sidebar";
567
- readonly expandConversationRail: "Show sidebar";
568
- readonly relativeTimeJustNow: "just now";
569
- readonly relativeTimeMinutes: "{{count}} min";
570
- readonly relativeTimeHours: "{{count}} h";
571
- readonly relativeTimeDays: "{{count}} d";
572
- readonly relativeTimeMonths: "{{count}} mo";
573
- readonly relativeTimeYears: "{{count}} y";
574
585
  readonly visibleErrorStartFailed: "{{provider}} failed to start";
575
586
  readonly visibleErrorRequestFailed: "{{provider}} request failed";
576
587
  readonly visibleErrorAuthRequired: "{{provider}} needs authentication or configuration";
@@ -824,6 +835,12 @@ declare const agentGuiI18nResources: {
824
835
  readonly cancel: "Cancel";
825
836
  readonly confirm: "Enable full access";
826
837
  };
838
+ readonly fullAccessRestoredWarning: {
839
+ readonly title: "Full access is on";
840
+ readonly description: "Codex can run commands, use the internet, and create, modify, upload, or delete files anywhere on this computer without asking. This can cause data loss and expose you to prompt-injection attacks.";
841
+ readonly dontShowAgain: "Don't show again";
842
+ readonly dismissLabel: "Dismiss full access warning";
843
+ };
827
844
  readonly permissionSemantics: {
828
845
  readonly "ask-before-write": {
829
846
  readonly label: "Ask for approval";
@@ -3077,6 +3094,37 @@ declare const agentGuiI18nResources: {
3077
3094
  readonly slashPalettePluginsGroup: "插件";
3078
3095
  readonly slashPaletteConnectorsGroup: "连接器";
3079
3096
  readonly slashPaletteMcpGroup: "MCP";
3097
+ readonly renameSession: "重命名会话";
3098
+ readonly renameSessionTitle: "重命名对话";
3099
+ readonly renameSessionDescription: "保持简短且易于识别。";
3100
+ readonly renameSessionPlaceholder: "对话标题";
3101
+ readonly renameSessionSave: "保存";
3102
+ readonly unpinSession: "取消置顶";
3103
+ readonly deleteSessionTitle: "删除会话?";
3104
+ readonly deleteSessionBody: "删除后无法恢复。该会话将不再出现在会话列表、会话时间线、房间时间线或房间状态中。";
3105
+ readonly deleteSessionConfirm: "删除会话";
3106
+ readonly conversationRailResizeAria: "调整会话列表宽度";
3107
+ readonly collapseConversationRail: "隐藏侧边栏";
3108
+ readonly expandConversationRail: "显示侧边栏";
3109
+ readonly relativeTimeJustNow: "刚刚";
3110
+ readonly relativeTimeMinutes: "{{count}} 分钟";
3111
+ readonly relativeTimeHours: "{{count}} 小时";
3112
+ readonly relativeTimeDays: "{{count}} 天";
3113
+ readonly relativeTimeMonths: "{{count}} 个月";
3114
+ readonly relativeTimeYears: "{{count}} 年";
3115
+ readonly moreSessionActions: string;
3116
+ readonly copiedToClipboard: string;
3117
+ readonly copyFailed: string;
3118
+ readonly copyAsMarkdown: string;
3119
+ readonly copyAsReference: string;
3120
+ readonly markSessionUnread: string;
3121
+ readonly conversationCopyImage: string;
3122
+ readonly conversationCopyMentionPrefix: string;
3123
+ readonly conversationCopyFile: string;
3124
+ readonly conversationCopyPreviousMessages: string;
3125
+ readonly conversationCopyImagesOmitted: string;
3126
+ readonly conversationCopyInProgress: string;
3127
+ readonly sessionActionUnavailable: string;
3080
3128
  readonly contextCompactionInProgress: "正在压缩上下文";
3081
3129
  readonly contextCompactionCompleted: "已压缩上下文";
3082
3130
  readonly contextCompactionInterrupted: "上下文压缩已中断";
@@ -3138,26 +3186,6 @@ declare const agentGuiI18nResources: {
3138
3186
  readonly showLessConversations: "收起";
3139
3187
  readonly deleteSession: "删除会话";
3140
3188
  readonly pinSession: "置顶会话";
3141
- readonly copySessionLink: "复制会话链接";
3142
- readonly renameSession: "重命名会话";
3143
- readonly renameSessionTitle: "重命名对话";
3144
- readonly renameSessionDescription: "保持简短且易于识别。";
3145
- readonly renameSessionPlaceholder: "对话标题";
3146
- readonly renameSessionSave: "保存";
3147
- readonly unpinSession: "取消置顶";
3148
- readonly markSessionUnread: "标记为未读";
3149
- readonly deleteSessionTitle: "删除会话?";
3150
- readonly deleteSessionBody: "删除后无法恢复。该会话将不再出现在会话列表、会话时间线、房间时间线或房间状态中。";
3151
- readonly deleteSessionConfirm: "删除会话";
3152
- readonly conversationRailResizeAria: "调整会话列表宽度";
3153
- readonly collapseConversationRail: "隐藏侧边栏";
3154
- readonly expandConversationRail: "显示侧边栏";
3155
- readonly relativeTimeJustNow: "刚刚";
3156
- readonly relativeTimeMinutes: "{{count}} 分钟";
3157
- readonly relativeTimeHours: "{{count}} 小时";
3158
- readonly relativeTimeDays: "{{count}} 天";
3159
- readonly relativeTimeMonths: "{{count}} 个月";
3160
- readonly relativeTimeYears: "{{count}} 年";
3161
3189
  readonly visibleErrorStartFailed: "{{provider}} 启动失败";
3162
3190
  readonly visibleErrorRequestFailed: "{{provider}} 请求失败";
3163
3191
  readonly visibleErrorAuthRequired: "{{provider}} 需要认证或配置";
@@ -3411,6 +3439,12 @@ declare const agentGuiI18nResources: {
3411
3439
  readonly cancel: "取消";
3412
3440
  readonly confirm: "启用完全访问权限";
3413
3441
  };
3442
+ readonly fullAccessRestoredWarning: {
3443
+ readonly title: "完全访问权限已开启";
3444
+ readonly description: "Codex 可以在未经你同意的情况下运行命令、使用互联网,以及在这台电脑的任意位置创建、修改、上传或删除文件。这可能导致数据丢失,也会带来提示词注入风险。";
3445
+ readonly dontShowAgain: "不再显示";
3446
+ readonly dismissLabel: "关闭完全访问权限警告";
3447
+ };
3414
3448
  readonly permissionSemantics: {
3415
3449
  readonly "ask-before-write": {
3416
3450
  readonly label: "请求批准";
@@ -6,8 +6,8 @@ import {
6
6
  translate,
7
7
  translateInUiLanguage,
8
8
  useTranslation
9
- } from "../chunk-GIYGO2PB.js";
10
- import "../chunk-VUNVGEQG.js";
9
+ } from "../chunk-OWJ7Q2DJ.js";
10
+ import "../chunk-S2D4NNEB.js";
11
11
  export {
12
12
  AgentGuiI18nProvider,
13
13
  agentGuiI18nModule,
package/dist/index.d.ts CHANGED
@@ -12,11 +12,11 @@ import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
12
12
  import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
13
13
  import { WorkspaceIssueMentionMode } from '@tutti-os/workspace-issue-manager/core';
14
14
  import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
15
- import { RichTextTriggerProvider, RichTextTriggerQueryInput } from '@tutti-os/ui-rich-text/types';
16
- import { TuttiExternalAtProviderId } from '@tutti-os/workspace-external-core/contracts';
17
15
  import { WorkspaceUserProjectSelectChangeAction } from '@tutti-os/workspace-user-project/ui';
18
16
  import { ReferenceProvenanceFilterSnapshot, ReferenceProvenanceFilterController } from '@tutti-os/workspace-file-reference/react';
19
17
  import { RichTextMentionService } from '@tutti-os/ui-rich-text/service';
18
+ import { RichTextTriggerProvider, RichTextTriggerQueryInput } from '@tutti-os/ui-rich-text/types';
19
+ import { TuttiExternalAtProviderId } from '@tutti-os/workspace-external-core/contracts';
20
20
 
21
21
  interface AgentCustomMentionIdentity {
22
22
  entityId: string;
@@ -618,9 +618,23 @@ type AgentHostPersistenceApi = AgentHostRecord & {
618
618
  readWorkspaceAgentReadState: (input: ReadWorkspaceAgentReadStateInput) => AgentHostAsyncResult<WorkspaceAgentReadStateSnapshot>;
619
619
  writeWorkspaceAgentReadState: (input: WriteWorkspaceAgentReadStateInput) => AgentHostAsyncResult<PersistWriteResult>;
620
620
  };
621
+ type AgentHostToastHandle = {
622
+ /** Settles the toast to a neutral, non-error, non-success tone. */
623
+ info: (title: string, description?: string) => void;
624
+ /** Settles the toast to the destructive tone. */
625
+ reject: (title: string, description?: string) => void;
626
+ /** Settles the toast to the success tone. */
627
+ resolve: (title: string, description?: string) => void;
628
+ };
621
629
  type AgentHostToastApi = AgentHostRecord & {
622
630
  error: (title: string, description?: string) => void;
623
631
  info?: (title: string, description?: string) => void;
632
+ /**
633
+ * Opens one toast that stays mounted across async work: it shows busy
634
+ * (spinner, no auto-dismiss) until the returned handle settles it in
635
+ * place, at which point it starts auto-dismissing like any other toast.
636
+ */
637
+ loading?: (title: string) => AgentHostToastHandle;
624
638
  success?: (title: string, description?: string) => void;
625
639
  };
626
640
  interface AgentHostSelectedFile {
@@ -1013,7 +1027,6 @@ interface AgentGUIAgent {
1013
1027
  iconUrl: string;
1014
1028
  /** Single-color artwork rendered through the conversation rail CSS mask. */
1015
1029
  maskIconUrl?: string | null;
1016
- sidebarIconUrl?: string | null;
1017
1030
  heroImageUrl?: string | null;
1018
1031
  description?: string | null;
1019
1032
  owner?: AgentGUIAgentOwner | null;
@@ -1054,7 +1067,6 @@ interface AgentGUIAgentTarget {
1054
1067
  description?: string;
1055
1068
  iconUrl?: string | null;
1056
1069
  maskIconUrl?: string | null;
1057
- sidebarIconUrl?: string | null;
1058
1070
  heroImageUrl?: string | null;
1059
1071
  badge?: AgentGUIAgentTargetBadge | null;
1060
1072
  ownerLabel?: string;
@@ -1099,6 +1111,13 @@ interface NodeFrame {
1099
1111
  size: Size;
1100
1112
  }
1101
1113
 
1114
+ type AgentGuiWorkbenchSessionAction = "rename" | "copy-markdown" | "copy-reference";
1115
+ interface AgentGuiWorkbenchSessionActionRequest {
1116
+ action: AgentGuiWorkbenchSessionAction;
1117
+ agentSessionId: string | null;
1118
+ sequence: number;
1119
+ }
1120
+
1102
1121
  type WorkspaceLinkActionSource = "agent-markdown" | "agent-file-change" | string;
1103
1122
  interface OpenWorkspaceFileLinkAction {
1104
1123
  type: "open-workspace-file";
@@ -1818,35 +1837,6 @@ interface CreateAgentSessionHandoffPromptInput {
1818
1837
  */
1819
1838
  declare function createAgentSessionHandoffPrompt(input: CreateAgentSessionHandoffPromptInput): string;
1820
1839
 
1821
- declare const AGENT_CONTEXT_MENTION_PROVIDER_IDS: {
1822
- readonly agentGeneratedFile: "agent-generated-file";
1823
- readonly agentSession: "agent-session";
1824
- readonly agentTarget: "agent-target";
1825
- readonly file: "file";
1826
- readonly workspaceApp: "workspace-app";
1827
- readonly workspaceIssue: "workspace-issue";
1828
- };
1829
- type AgentContextMentionProviderId = TuttiExternalAtProviderId;
1830
- type AgentContextMentionQueryInput = RichTextTriggerQueryInput & {
1831
- trigger: "@";
1832
- };
1833
- interface AgentContextMentionDirectoryDescriptor {
1834
- /** Canonical provider-owned directory path used for child queries. */
1835
- path: string;
1836
- /** Number of direct children when the provider can determine it. */
1837
- childCount?: number | null;
1838
- }
1839
- type AgentContextMentionDirectoryQueryInput = AgentContextMentionQueryInput & {
1840
- directoryPath: string;
1841
- };
1842
- type AgentContextMentionProvider<TItem = any> = Omit<RichTextTriggerProvider<TItem>, "trigger"> & {
1843
- trigger: "@";
1844
- /** Optional hierarchy contract for file providers. */
1845
- getItemDirectory?(item: TItem): AgentContextMentionDirectoryDescriptor | null | undefined;
1846
- /** Lists the direct children of one directory without overloading keyword search. */
1847
- queryDirectory?(input: AgentContextMentionDirectoryQueryInput): Promise<readonly TItem[]> | readonly TItem[];
1848
- };
1849
-
1850
1840
  type AgentGUIResolvedProvider = AgentGUIProvider | "unknown";
1851
1841
  type AgentGUIConversationTitleFallback = "untitled-conversation" | null;
1852
1842
  type AgentGUIConversationTitleLeadingMentionKind = "agent" | "app" | "file" | "session" | "task";
@@ -2506,7 +2496,6 @@ interface AgentComposerProps {
2506
2496
  path: string;
2507
2497
  } | null>;
2508
2498
  onRequestGitBranches?: AgentComposerGitBranchLoader | null;
2509
- contextMentionProviders?: readonly AgentContextMentionProvider[];
2510
2499
  referenceProvenanceFilter?: AgentComposerReferenceProvenanceFilter | null;
2511
2500
  }
2512
2501
  type AgentComposerCapabilitySettingsTarget = AgentSlashCommandCapability["capability"];
@@ -2700,10 +2689,12 @@ interface AgentGUINodeFrameLayout {
2700
2689
  */
2701
2690
  conversationRailAutoCollapseWidthPx?: number | null;
2702
2691
  }
2692
+ type AgentGUISessionActionRequest = AgentGuiWorkbenchSessionActionRequest;
2703
2693
  interface AgentGUINodeRuntimeRequests {
2704
2694
  composerAppend?: AgentGUIComposerAppendRequest | null;
2705
2695
  composerFocusSequence?: number | null;
2706
2696
  newConversationSequence?: number | null;
2697
+ sessionAction?: AgentGUISessionActionRequest | null;
2707
2698
  openSession?: AgentGUIOpenSessionRequest | null;
2708
2699
  prefillPrompt?: AgentGUIPrefillPromptRequest | null;
2709
2700
  agentProbes?: WorkspaceDesktopAgentProbesState | null;
@@ -2733,7 +2724,6 @@ interface AgentGUINodeHostCapabilities {
2733
2724
  providerReadinessGates?: Partial<Record<AgentGUIProvider, AgentGUIProviderReadinessGate | null>> | null;
2734
2725
  defaultAgentTargetId?: string | null;
2735
2726
  providerAuthAccountLabels?: Partial<Record<string, string>>;
2736
- contextMentionProviders?: readonly AgentContextMentionProvider[];
2737
2727
  mentionService?: RichTextMentionService;
2738
2728
  workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
2739
2729
  disabledHomeSuggestions?: readonly AgentGUIHomeSuggestionId[];
@@ -3259,6 +3249,37 @@ declare const agentGuiI18nResources: {
3259
3249
  readonly slashPalettePluginsGroup: "Plugins";
3260
3250
  readonly slashPaletteConnectorsGroup: "Connectors";
3261
3251
  readonly slashPaletteMcpGroup: "MCP";
3252
+ readonly renameSession: "Rename session";
3253
+ readonly renameSessionTitle: "Rename conversation";
3254
+ readonly renameSessionDescription: "Keep it short and easy to recognize.";
3255
+ readonly renameSessionPlaceholder: "Conversation title";
3256
+ readonly renameSessionSave: "Save";
3257
+ readonly unpinSession: "Unpin session";
3258
+ readonly deleteSessionTitle: "Delete session?";
3259
+ readonly deleteSessionBody: "This session cannot be recovered after deletion. It will no longer appear in the session list, session timeline, room timeline, or room status.";
3260
+ readonly deleteSessionConfirm: "Delete session";
3261
+ readonly conversationRailResizeAria: "Resize session list";
3262
+ readonly collapseConversationRail: "Hide sidebar";
3263
+ readonly expandConversationRail: "Show sidebar";
3264
+ readonly relativeTimeJustNow: "just now";
3265
+ readonly relativeTimeMinutes: "{{count}} min";
3266
+ readonly relativeTimeHours: "{{count}} h";
3267
+ readonly relativeTimeDays: "{{count}} d";
3268
+ readonly relativeTimeMonths: "{{count}} mo";
3269
+ readonly relativeTimeYears: "{{count}} y";
3270
+ readonly moreSessionActions: string;
3271
+ readonly copiedToClipboard: string;
3272
+ readonly copyFailed: string;
3273
+ readonly copyAsMarkdown: string;
3274
+ readonly copyAsReference: string;
3275
+ readonly markSessionUnread: string;
3276
+ readonly conversationCopyImage: string;
3277
+ readonly conversationCopyMentionPrefix: string;
3278
+ readonly conversationCopyFile: string;
3279
+ readonly conversationCopyPreviousMessages: string;
3280
+ readonly conversationCopyImagesOmitted: string;
3281
+ readonly conversationCopyInProgress: string;
3282
+ readonly sessionActionUnavailable: string;
3262
3283
  readonly contextCompactionInProgress: "Compacting context";
3263
3284
  readonly contextCompactionCompleted: "Context compacted.";
3264
3285
  readonly contextCompactionInterrupted: "Context compaction interrupted.";
@@ -3320,26 +3341,6 @@ declare const agentGuiI18nResources: {
3320
3341
  readonly showLessConversations: "Show less";
3321
3342
  readonly deleteSession: "Delete session";
3322
3343
  readonly pinSession: "Pin session";
3323
- readonly copySessionLink: "Copy session link";
3324
- readonly renameSession: "Rename session";
3325
- readonly renameSessionTitle: "Rename conversation";
3326
- readonly renameSessionDescription: "Keep it short and easy to recognize.";
3327
- readonly renameSessionPlaceholder: "Conversation title";
3328
- readonly renameSessionSave: "Save";
3329
- readonly unpinSession: "Unpin session";
3330
- readonly markSessionUnread: "Mark as unread";
3331
- readonly deleteSessionTitle: "Delete session?";
3332
- readonly deleteSessionBody: "This session cannot be recovered after deletion. It will no longer appear in the session list, session timeline, room timeline, or room status.";
3333
- readonly deleteSessionConfirm: "Delete session";
3334
- readonly conversationRailResizeAria: "Resize session list";
3335
- readonly collapseConversationRail: "Hide sidebar";
3336
- readonly expandConversationRail: "Show sidebar";
3337
- readonly relativeTimeJustNow: "just now";
3338
- readonly relativeTimeMinutes: "{{count}} min";
3339
- readonly relativeTimeHours: "{{count}} h";
3340
- readonly relativeTimeDays: "{{count}} d";
3341
- readonly relativeTimeMonths: "{{count}} mo";
3342
- readonly relativeTimeYears: "{{count}} y";
3343
3344
  readonly visibleErrorStartFailed: "{{provider}} failed to start";
3344
3345
  readonly visibleErrorRequestFailed: "{{provider}} request failed";
3345
3346
  readonly visibleErrorAuthRequired: "{{provider}} needs authentication or configuration";
@@ -3593,6 +3594,12 @@ declare const agentGuiI18nResources: {
3593
3594
  readonly cancel: "Cancel";
3594
3595
  readonly confirm: "Enable full access";
3595
3596
  };
3597
+ readonly fullAccessRestoredWarning: {
3598
+ readonly title: "Full access is on";
3599
+ readonly description: "Codex can run commands, use the internet, and create, modify, upload, or delete files anywhere on this computer without asking. This can cause data loss and expose you to prompt-injection attacks.";
3600
+ readonly dontShowAgain: "Don't show again";
3601
+ readonly dismissLabel: "Dismiss full access warning";
3602
+ };
3596
3603
  readonly permissionSemantics: {
3597
3604
  readonly "ask-before-write": {
3598
3605
  readonly label: "Ask for approval";
@@ -5846,6 +5853,37 @@ declare const agentGuiI18nResources: {
5846
5853
  readonly slashPalettePluginsGroup: "插件";
5847
5854
  readonly slashPaletteConnectorsGroup: "连接器";
5848
5855
  readonly slashPaletteMcpGroup: "MCP";
5856
+ readonly renameSession: "重命名会话";
5857
+ readonly renameSessionTitle: "重命名对话";
5858
+ readonly renameSessionDescription: "保持简短且易于识别。";
5859
+ readonly renameSessionPlaceholder: "对话标题";
5860
+ readonly renameSessionSave: "保存";
5861
+ readonly unpinSession: "取消置顶";
5862
+ readonly deleteSessionTitle: "删除会话?";
5863
+ readonly deleteSessionBody: "删除后无法恢复。该会话将不再出现在会话列表、会话时间线、房间时间线或房间状态中。";
5864
+ readonly deleteSessionConfirm: "删除会话";
5865
+ readonly conversationRailResizeAria: "调整会话列表宽度";
5866
+ readonly collapseConversationRail: "隐藏侧边栏";
5867
+ readonly expandConversationRail: "显示侧边栏";
5868
+ readonly relativeTimeJustNow: "刚刚";
5869
+ readonly relativeTimeMinutes: "{{count}} 分钟";
5870
+ readonly relativeTimeHours: "{{count}} 小时";
5871
+ readonly relativeTimeDays: "{{count}} 天";
5872
+ readonly relativeTimeMonths: "{{count}} 个月";
5873
+ readonly relativeTimeYears: "{{count}} 年";
5874
+ readonly moreSessionActions: string;
5875
+ readonly copiedToClipboard: string;
5876
+ readonly copyFailed: string;
5877
+ readonly copyAsMarkdown: string;
5878
+ readonly copyAsReference: string;
5879
+ readonly markSessionUnread: string;
5880
+ readonly conversationCopyImage: string;
5881
+ readonly conversationCopyMentionPrefix: string;
5882
+ readonly conversationCopyFile: string;
5883
+ readonly conversationCopyPreviousMessages: string;
5884
+ readonly conversationCopyImagesOmitted: string;
5885
+ readonly conversationCopyInProgress: string;
5886
+ readonly sessionActionUnavailable: string;
5849
5887
  readonly contextCompactionInProgress: "正在压缩上下文";
5850
5888
  readonly contextCompactionCompleted: "已压缩上下文";
5851
5889
  readonly contextCompactionInterrupted: "上下文压缩已中断";
@@ -5907,26 +5945,6 @@ declare const agentGuiI18nResources: {
5907
5945
  readonly showLessConversations: "收起";
5908
5946
  readonly deleteSession: "删除会话";
5909
5947
  readonly pinSession: "置顶会话";
5910
- readonly copySessionLink: "复制会话链接";
5911
- readonly renameSession: "重命名会话";
5912
- readonly renameSessionTitle: "重命名对话";
5913
- readonly renameSessionDescription: "保持简短且易于识别。";
5914
- readonly renameSessionPlaceholder: "对话标题";
5915
- readonly renameSessionSave: "保存";
5916
- readonly unpinSession: "取消置顶";
5917
- readonly markSessionUnread: "标记为未读";
5918
- readonly deleteSessionTitle: "删除会话?";
5919
- readonly deleteSessionBody: "删除后无法恢复。该会话将不再出现在会话列表、会话时间线、房间时间线或房间状态中。";
5920
- readonly deleteSessionConfirm: "删除会话";
5921
- readonly conversationRailResizeAria: "调整会话列表宽度";
5922
- readonly collapseConversationRail: "隐藏侧边栏";
5923
- readonly expandConversationRail: "显示侧边栏";
5924
- readonly relativeTimeJustNow: "刚刚";
5925
- readonly relativeTimeMinutes: "{{count}} 分钟";
5926
- readonly relativeTimeHours: "{{count}} 小时";
5927
- readonly relativeTimeDays: "{{count}} 天";
5928
- readonly relativeTimeMonths: "{{count}} 个月";
5929
- readonly relativeTimeYears: "{{count}} 年";
5930
5948
  readonly visibleErrorStartFailed: "{{provider}} 启动失败";
5931
5949
  readonly visibleErrorRequestFailed: "{{provider}} 请求失败";
5932
5950
  readonly visibleErrorAuthRequired: "{{provider}} 需要认证或配置";
@@ -6180,6 +6198,12 @@ declare const agentGuiI18nResources: {
6180
6198
  readonly cancel: "取消";
6181
6199
  readonly confirm: "启用完全访问权限";
6182
6200
  };
6201
+ readonly fullAccessRestoredWarning: {
6202
+ readonly title: "完全访问权限已开启";
6203
+ readonly description: "Codex 可以在未经你同意的情况下运行命令、使用互联网,以及在这台电脑的任意位置创建、修改、上传或删除文件。这可能导致数据丢失,也会带来提示词注入风险。";
6204
+ readonly dontShowAgain: "不再显示";
6205
+ readonly dismissLabel: "关闭完全访问权限警告";
6206
+ };
6183
6207
  readonly permissionSemantics: {
6184
6208
  readonly "ask-before-write": {
6185
6209
  readonly label: "请求批准";
@@ -8002,7 +8026,6 @@ declare function createSharedAgentGUIAgentTarget(input: {
8002
8026
  ownerLabel?: string | null;
8003
8027
  iconUrl?: string | null;
8004
8028
  maskIconUrl?: string | null;
8005
- sidebarIconUrl?: string | null;
8006
8029
  unavailableReason?: string | null;
8007
8030
  disabled?: boolean;
8008
8031
  ref?: Record<string, unknown> | null;
@@ -8052,6 +8075,35 @@ declare function resolveAgentGUIExpandedWindowFrame(input: AgentGUIExpandedWindo
8052
8075
  };
8053
8076
  };
8054
8077
 
8078
+ declare const AGENT_CONTEXT_MENTION_PROVIDER_IDS: {
8079
+ readonly agentGeneratedFile: "agent-generated-file";
8080
+ readonly agentSession: "agent-session";
8081
+ readonly agentTarget: "agent-target";
8082
+ readonly file: "file";
8083
+ readonly workspaceApp: "workspace-app";
8084
+ readonly workspaceIssue: "workspace-issue";
8085
+ };
8086
+ type AgentContextMentionProviderId = TuttiExternalAtProviderId;
8087
+ type AgentContextMentionQueryInput = RichTextTriggerQueryInput & {
8088
+ trigger: "@";
8089
+ };
8090
+ interface AgentContextMentionDirectoryDescriptor {
8091
+ /** Canonical provider-owned directory path used for child queries. */
8092
+ path: string;
8093
+ /** Number of direct children when the provider can determine it. */
8094
+ childCount?: number | null;
8095
+ }
8096
+ type AgentContextMentionDirectoryQueryInput = AgentContextMentionQueryInput & {
8097
+ directoryPath: string;
8098
+ };
8099
+ type AgentContextMentionProvider<TItem = any> = Omit<RichTextTriggerProvider<TItem>, "trigger"> & {
8100
+ trigger: "@";
8101
+ /** Optional hierarchy contract for file providers. */
8102
+ getItemDirectory?(item: TItem): AgentContextMentionDirectoryDescriptor | null | undefined;
8103
+ /** Lists the direct children of one directory without overloading keyword search. */
8104
+ queryDirectory?(input: AgentContextMentionDirectoryQueryInput): Promise<readonly TItem[]> | readonly TItem[];
8105
+ };
8106
+
8055
8107
  type AgentMentionFilterId = "session" | "file" | "issue" | "agent" | "app";
8056
8108
 
8057
8109
  declare function preloadAgentMentionBrowse(input: {