@tutti-os/agent-gui 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-message-center/index.d.ts +1 -1
- package/dist/agent-message-center/index.js +3 -3
- package/dist/app/renderer/agentactivity.css +9 -9
- package/dist/{chunk-ZU3FKYMG.js → chunk-4ASBZ4X7.js} +7 -7
- package/dist/chunk-4ASBZ4X7.js.map +1 -0
- package/dist/{chunk-VBNWIBNV.js → chunk-CUQJ3VO3.js} +13 -13
- package/dist/chunk-CUQJ3VO3.js.map +1 -0
- package/dist/{chunk-DHOAJJ3K.js → chunk-EHLA6MSQ.js} +3 -3
- package/dist/{chunk-DHOAJJ3K.js.map → chunk-EHLA6MSQ.js.map} +1 -1
- package/dist/{chunk-4RB33ETE.js → chunk-QU4F2RSS.js} +3 -3
- package/dist/chunk-QU4F2RSS.js.map +1 -0
- package/dist/{chunk-GYG57VTA.js → chunk-R5Q2UDDH.js} +4 -4
- package/dist/{chunk-GYG57VTA.js.map → chunk-R5Q2UDDH.js.map} +1 -1
- package/dist/{chunk-ZAVQMGAX.js → chunk-T6U7AB7F.js} +44 -44
- package/dist/chunk-T6U7AB7F.js.map +1 -0
- package/dist/i18n/index.d.ts +43 -43
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +37 -29
- package/dist/index.js.map +1 -1
- package/dist/workbench/contribution.d.ts +1 -1
- package/dist/workbench/contribution.js +3 -3
- package/dist/workbench/index.js +3 -3
- package/dist/workspace-agent-generated-files.d.ts +1 -1
- package/dist/workspace-agent-generated-files.js +2 -2
- package/dist/{workspaceAgentActivityListViewModel-PvLQDj60.d.ts → workspaceAgentActivityListViewModel-Be4zm3nk.d.ts} +2 -2
- package/package.json +11 -11
- package/dist/chunk-4RB33ETE.js.map +0 -1
- package/dist/chunk-VBNWIBNV.js.map +0 -1
- package/dist/chunk-ZAVQMGAX.js.map +0 -1
- package/dist/chunk-ZU3FKYMG.js.map +0 -1
- /package/dist/app/renderer/assets/icons/agents/{manage-agent-nextop.png → manage-agent-tutti.png} +0 -0
- /package/dist/app/renderer/assets/icons/agents/{nextop-doc-rounded.png → tutti-doc-rounded.png} +0 -0
package/dist/i18n/index.d.ts
CHANGED
|
@@ -218,8 +218,8 @@ declare const agentGuiI18nResources: {
|
|
|
218
218
|
readonly authenticating: "Processing…";
|
|
219
219
|
readonly loginTitle: "Sign in to continue";
|
|
220
220
|
readonly loginSectionTitle: "Continue with your account";
|
|
221
|
-
readonly loginDescription: "Choose a provider, complete login in the browser, then return to
|
|
222
|
-
readonly loginBrowserHint: "Choose a provider, complete login in the browser, then return to
|
|
221
|
+
readonly loginDescription: "Choose a provider, complete login in the browser, then return to Tutti.";
|
|
222
|
+
readonly loginBrowserHint: "Choose a provider, complete login in the browser, then return to Tutti.";
|
|
223
223
|
readonly loginOpeningBrowser: "Opening Browser...";
|
|
224
224
|
readonly loginContinueWithGoogle: "Continue With Google";
|
|
225
225
|
readonly loginContinueWithGitHub: "Continue With GitHub";
|
|
@@ -249,17 +249,17 @@ declare const agentGuiI18nResources: {
|
|
|
249
249
|
readonly emailLoginCompleted: "Email login complete.";
|
|
250
250
|
readonly emailRequired: "Email is required.";
|
|
251
251
|
readonly emailCodeRequired: "Verification code is required.";
|
|
252
|
-
readonly desktopAuthBridgeStale: "Desktop auth bridge is out of date. Restart
|
|
252
|
+
readonly desktopAuthBridgeStale: "Desktop auth bridge is out of date. Restart Tutti and try again.";
|
|
253
253
|
readonly desktopActionErrorGeneric: "Something went wrong. Please try again.";
|
|
254
254
|
readonly desktopActionErrorGenericShort: "Something went wrong";
|
|
255
255
|
readonly desktopActionErrorUnavailable: "This feature is unavailable.";
|
|
256
|
-
readonly desktopActionErrorLoginTimedOut: "Login timed out. Return to
|
|
257
|
-
readonly desktopActionErrorDesktopApiUnavailable: "Desktop service is still updating. Restart
|
|
256
|
+
readonly desktopActionErrorLoginTimedOut: "Login timed out. Return to Tutti and try again.";
|
|
257
|
+
readonly desktopActionErrorDesktopApiUnavailable: "Desktop service is still updating. Restart Tutti and try again.";
|
|
258
258
|
readonly desktopActionErrorPackageDownloadInterrupted: "The agent package download was interrupted. Check your network connection and retry.";
|
|
259
259
|
readonly desktopActionErrorPackageDownloadHTTPStatus: "The package server rejected the download. Retry later or contact support.";
|
|
260
260
|
readonly desktopActionErrorPackageDownloadInvalid: "The downloaded package failed integrity checks. Retry the download.";
|
|
261
261
|
readonly desktopActionErrorPackageDownloadDisk: "Unable to write the package cache. Check disk permissions and free space.";
|
|
262
|
-
readonly productNameCanvas: "
|
|
262
|
+
readonly productNameCanvas: "Tutti";
|
|
263
263
|
readonly applications: {
|
|
264
264
|
readonly eyebrow: "Agent OS apps";
|
|
265
265
|
readonly title: "Applications";
|
|
@@ -748,7 +748,7 @@ declare const agentGuiI18nResources: {
|
|
|
748
748
|
readonly referencesLabel: "References";
|
|
749
749
|
readonly requirementNoOtherOutputDir: "3. Do not write final deliverables to any other directory.";
|
|
750
750
|
readonly requirementStayInWorkspace: "1. Work under {{workspaceRoot}}; do not switch to unrelated directories.";
|
|
751
|
-
readonly requirementSummaryOutput: "2. Unless the user specifies another location, write at least docs/
|
|
751
|
+
readonly requirementSummaryOutput: "2. Unless the user specifies another location, write at least docs/tutti/issue_summary_{{issueId}}.md with the result, changes, and conclusion.";
|
|
752
752
|
readonly taskContentLabel: "Task content";
|
|
753
753
|
readonly taskTitleLabel: "Task title";
|
|
754
754
|
};
|
|
@@ -940,10 +940,10 @@ declare const agentGuiI18nResources: {
|
|
|
940
940
|
readonly workspaceParticipantsOverflowAria: "More workspace participants";
|
|
941
941
|
readonly workspaceXagentsCollab: "xagents collaboration";
|
|
942
942
|
readonly workspaceThemeHint: "Theme & appearance";
|
|
943
|
-
readonly
|
|
943
|
+
readonly loadingTutti: "Loading Tutti…";
|
|
944
944
|
readonly runtimeArtifactStatus: {
|
|
945
945
|
readonly startupTitle: "Preparing the workspace runtime";
|
|
946
|
-
readonly startupDescription: "
|
|
946
|
+
readonly startupDescription: "Tutti is preparing the local workspace runtime before login or workspace entry. This one-time setup may take a few minutes on the first launch.";
|
|
947
947
|
readonly startupProgressHint: "Checking local runtime files and preparing downloads.";
|
|
948
948
|
readonly downloadedOfTotal: "{{downloaded}} of {{total}}";
|
|
949
949
|
readonly progressAria: "Workspace runtime download progress";
|
|
@@ -1427,7 +1427,7 @@ declare const agentGuiI18nResources: {
|
|
|
1427
1427
|
readonly requesterFallback: "User";
|
|
1428
1428
|
readonly agentCodex: "Codex";
|
|
1429
1429
|
readonly agentClaudeCode: "Claude Code";
|
|
1430
|
-
readonly
|
|
1430
|
+
readonly agentTutti: "Tutti";
|
|
1431
1431
|
readonly agentHermes: "Hermes";
|
|
1432
1432
|
readonly agentGemini: "Gemini";
|
|
1433
1433
|
readonly agentOpenClaw: "OpenClaw";
|
|
@@ -1602,7 +1602,7 @@ declare const agentGuiI18nResources: {
|
|
|
1602
1602
|
readonly agentNotInstalled: "No local settings found. Sync after local setup.";
|
|
1603
1603
|
readonly agentNotSynced: "Local settings found. Sync now?";
|
|
1604
1604
|
};
|
|
1605
|
-
readonly manageAgentsGuideLead: "Syncing or removing only affects
|
|
1605
|
+
readonly manageAgentsGuideLead: "Syncing or removing only affects Tutti; agents on your computer are unchanged.";
|
|
1606
1606
|
readonly manageAgentsColumnAgent: "Agent";
|
|
1607
1607
|
readonly manageAgentsColumnRun: "Runs in";
|
|
1608
1608
|
readonly manageAgentsColumnInstallStatus: "Status";
|
|
@@ -1617,8 +1617,8 @@ declare const agentGuiI18nResources: {
|
|
|
1617
1617
|
readonly manageAgentActionRetry: "Retry";
|
|
1618
1618
|
readonly manageAgentActionUninstalling: "Removing...";
|
|
1619
1619
|
readonly manageAgentActionUninstallWaiting: "Waiting...";
|
|
1620
|
-
readonly manageAgentUninstallConfirm: "This only removes {{name}} from
|
|
1621
|
-
readonly manageAgentCellRunsLocal: "
|
|
1620
|
+
readonly manageAgentUninstallConfirm: "This only removes {{name}} from Tutti. Apps, sign-in, and settings outside Tutti are not changed.";
|
|
1621
|
+
readonly manageAgentCellRunsLocal: "Tutti local";
|
|
1622
1622
|
readonly manageAgentCellInstalled: "Synced";
|
|
1623
1623
|
readonly manageAgentCellNotInstalled: "Not synced";
|
|
1624
1624
|
readonly manageAgentUninstallWaiting: "Waiting to remove";
|
|
@@ -1629,22 +1629,22 @@ declare const agentGuiI18nResources: {
|
|
|
1629
1629
|
readonly manageAgentDownloadWaitingInstall: "Waiting to install";
|
|
1630
1630
|
readonly manageAgentDownloadInstalling: "Installing";
|
|
1631
1631
|
readonly manageAgentConfigWillUse: "Local settings found";
|
|
1632
|
-
readonly manageAgentConfigWillSyncFrom: "After sync,
|
|
1632
|
+
readonly manageAgentConfigWillSyncFrom: "After sync, Tutti will use {{agent}} settings from {{device}}";
|
|
1633
1633
|
readonly manageAgentConfigSynced: "Synced · {{time}}";
|
|
1634
1634
|
readonly manageAgentConfigSyncedNoTime: "Synced";
|
|
1635
|
-
readonly manageAgentConfigSyncedFrom: "Synced from {{device}} to
|
|
1636
|
-
readonly manageAgentConfigSyncedFromNoTime: "Synced from {{device}} to
|
|
1635
|
+
readonly manageAgentConfigSyncedFrom: "Synced from {{device}} to Tutti · {{time}}";
|
|
1636
|
+
readonly manageAgentConfigSyncedFromNoTime: "Synced from {{device}} to Tutti";
|
|
1637
1637
|
readonly manageAgentConfigNone: "No settings";
|
|
1638
1638
|
readonly manageAgentConfigNotDetected: "No local settings found";
|
|
1639
1639
|
readonly manageAgentMissingHostConfigTooltip: "{{agent}} depends on your local installation. Finish local setup before syncing.";
|
|
1640
|
-
readonly
|
|
1640
|
+
readonly manageAgentTuttiDefaultConfig: "Tutti default settings";
|
|
1641
1641
|
readonly manageAgentHostDeviceFallback: "this computer";
|
|
1642
1642
|
readonly manageAgentSyncTimeJustNow: "just now";
|
|
1643
1643
|
readonly manageAgentSyncTimeMinutesAgo: "{{count}} minutes ago";
|
|
1644
1644
|
readonly manageAgentSyncTimeHoursAgo: "{{count}} hours ago";
|
|
1645
1645
|
readonly manageAgentSyncTimeDaysAgo: "{{count}} days ago";
|
|
1646
1646
|
readonly manageAgentsOpenclawHint: "To use OpenClaw in rooms, sync OpenClaw from Manage Agents.";
|
|
1647
|
-
readonly kicker: "
|
|
1647
|
+
readonly kicker: "Tutti · Desktop";
|
|
1648
1648
|
readonly promoBadge: "You currently have {{count}} available agents, you can use them inside rooms.";
|
|
1649
1649
|
readonly promoBadgeNavigateAria: "Go to Manage agents—you currently have {{count}} available agents";
|
|
1650
1650
|
readonly heroTitle: "Real-Time Collaborative OS for Humans and Agents";
|
|
@@ -1656,7 +1656,7 @@ declare const agentGuiI18nResources: {
|
|
|
1656
1656
|
readonly updateCardDownloadingTitle: "Downloading {{version}}";
|
|
1657
1657
|
readonly updateCardDownloadingDetail: "The update package is downloading in the background.";
|
|
1658
1658
|
readonly updateCardDownloadedTitle: "Update is ready to install";
|
|
1659
|
-
readonly updateCardDownloadedDetail: "Restart
|
|
1659
|
+
readonly updateCardDownloadedDetail: "Restart Tutti to finish installing version {{version}}.";
|
|
1660
1660
|
readonly updateCardDownloadAction: "Download Update";
|
|
1661
1661
|
readonly updateCardInstallAction: "Restart and Install";
|
|
1662
1662
|
readonly sectionSpacesTitle: "Rooms";
|
|
@@ -1711,9 +1711,9 @@ declare const agentGuiI18nResources: {
|
|
|
1711
1711
|
readonly sectionMoreAriaComingSoon: "More, coming soon";
|
|
1712
1712
|
readonly sectionMoreComingSoonHint: "Coming soon";
|
|
1713
1713
|
readonly betaGateCheckingTitle: "Checking beta access";
|
|
1714
|
-
readonly betaGateCheckingBody: "We are confirming whether this account already has access to
|
|
1714
|
+
readonly betaGateCheckingBody: "We are confirming whether this account already has access to Tutti beta.";
|
|
1715
1715
|
readonly betaGateBlockedTitle: "This account does not have beta access yet";
|
|
1716
|
-
readonly betaGateBlockedBody: "Enter your invite code to unlock the
|
|
1716
|
+
readonly betaGateBlockedBody: "Enter your invite code to unlock the Tutti desktop beta.";
|
|
1717
1717
|
readonly betaGateInviteCodeLabel: "Invite code";
|
|
1718
1718
|
readonly betaGateInviteCodePlaceholder: "Enter invite code";
|
|
1719
1719
|
readonly betaGateInviteCodeRequired: "Enter an invite code before continuing.";
|
|
@@ -2110,7 +2110,7 @@ declare const agentGuiI18nResources: {
|
|
|
2110
2110
|
readonly openclaw: "OpenClaw";
|
|
2111
2111
|
readonly claudeCode: "Claude";
|
|
2112
2112
|
readonly codex: "Codex";
|
|
2113
|
-
readonly nexightAgent: "
|
|
2113
|
+
readonly nexightAgent: "Tutti Agent";
|
|
2114
2114
|
};
|
|
2115
2115
|
readonly dockPopupAgentAvailabilitySectionAria: "Availability status for {{name}}";
|
|
2116
2116
|
readonly nodeDockContextNew: {
|
|
@@ -2496,8 +2496,8 @@ declare const agentGuiI18nResources: {
|
|
|
2496
2496
|
readonly authenticating: "处理中…";
|
|
2497
2497
|
readonly loginTitle: "登录以继续";
|
|
2498
2498
|
readonly loginSectionTitle: "使用你的账号继续";
|
|
2499
|
-
readonly loginDescription: "选择一种登录方式,在浏览器完成登录后,再返回
|
|
2500
|
-
readonly loginBrowserHint: "选择一种登录方式,在浏览器完成认证后,再返回
|
|
2499
|
+
readonly loginDescription: "选择一种登录方式,在浏览器完成登录后,再返回 Tutti。";
|
|
2500
|
+
readonly loginBrowserHint: "选择一种登录方式,在浏览器完成认证后,再返回 Tutti。";
|
|
2501
2501
|
readonly loginOpeningBrowser: "正在打开浏览器...";
|
|
2502
2502
|
readonly loginContinueWithGoogle: "使用 Google 继续";
|
|
2503
2503
|
readonly loginContinueWithGitHub: "使用 GitHub 继续";
|
|
@@ -2527,17 +2527,17 @@ declare const agentGuiI18nResources: {
|
|
|
2527
2527
|
readonly emailLoginCompleted: "邮箱登录完成。";
|
|
2528
2528
|
readonly emailRequired: "请输入邮箱地址。";
|
|
2529
2529
|
readonly emailCodeRequired: "请输入验证码。";
|
|
2530
|
-
readonly desktopAuthBridgeStale: "桌面端认证桥接已过期,请重启
|
|
2530
|
+
readonly desktopAuthBridgeStale: "桌面端认证桥接已过期,请重启 Tutti 后重试。";
|
|
2531
2531
|
readonly desktopActionErrorGeneric: "出错了,请稍后重试。";
|
|
2532
2532
|
readonly desktopActionErrorGenericShort: "出错了";
|
|
2533
2533
|
readonly desktopActionErrorUnavailable: "该功能暂不可用。";
|
|
2534
|
-
readonly desktopActionErrorLoginTimedOut: "登录已超时,请返回
|
|
2535
|
-
readonly desktopActionErrorDesktopApiUnavailable: "桌面端服务正在更新,请重启
|
|
2534
|
+
readonly desktopActionErrorLoginTimedOut: "登录已超时,请返回 Tutti 后重试。";
|
|
2535
|
+
readonly desktopActionErrorDesktopApiUnavailable: "桌面端服务正在更新,请重启 Tutti 后重试。";
|
|
2536
2536
|
readonly desktopActionErrorPackageDownloadInterrupted: "智能体安装包下载中断。请检查网络后点击重试。";
|
|
2537
2537
|
readonly desktopActionErrorPackageDownloadHTTPStatus: "安装包服务拒绝了下载请求。请稍后重试,或联系支持人员。";
|
|
2538
2538
|
readonly desktopActionErrorPackageDownloadInvalid: "下载的安装包未通过完整性校验。请重新下载。";
|
|
2539
2539
|
readonly desktopActionErrorPackageDownloadDisk: "无法写入安装包缓存。请检查磁盘空间和目录权限。";
|
|
2540
|
-
readonly productNameCanvas: "
|
|
2540
|
+
readonly productNameCanvas: "Tutti";
|
|
2541
2541
|
readonly applications: {
|
|
2542
2542
|
readonly eyebrow: "Agent OS 应用";
|
|
2543
2543
|
readonly title: "应用中心";
|
|
@@ -3026,7 +3026,7 @@ declare const agentGuiI18nResources: {
|
|
|
3026
3026
|
readonly referencesLabel: "引用资料";
|
|
3027
3027
|
readonly requirementNoOtherOutputDir: "3. 不要把最终产物写到其他目录。";
|
|
3028
3028
|
readonly requirementStayInWorkspace: "1. 在 {{workspaceRoot}} 下工作,不要切换到其他无关目录。";
|
|
3029
|
-
readonly requirementSummaryOutput: "2. 如果用户没有另行指定位置,至少输出 docs/
|
|
3029
|
+
readonly requirementSummaryOutput: "2. 如果用户没有另行指定位置,至少输出 docs/tutti/issue_summary_{{issueId}}.md,说明处理结果、改动与结论。";
|
|
3030
3030
|
readonly taskContentLabel: "任务内容";
|
|
3031
3031
|
readonly taskTitleLabel: "任务标题";
|
|
3032
3032
|
};
|
|
@@ -3218,10 +3218,10 @@ declare const agentGuiI18nResources: {
|
|
|
3218
3218
|
readonly workspaceParticipantsOverflowAria: "更多 Workspace 成员";
|
|
3219
3219
|
readonly workspaceXagentsCollab: "xagents 协同";
|
|
3220
3220
|
readonly workspaceThemeHint: "主题与外观";
|
|
3221
|
-
readonly
|
|
3221
|
+
readonly loadingTutti: "正在加载 Tutti…";
|
|
3222
3222
|
readonly runtimeArtifactStatus: {
|
|
3223
3223
|
readonly startupTitle: "正在准备 Workspace 运行环境";
|
|
3224
|
-
readonly startupDescription: "
|
|
3224
|
+
readonly startupDescription: "Tutti 正在准备本机 Workspace 运行环境,完成后会进入登录页或首页。首次启动可能需要几分钟。";
|
|
3225
3225
|
readonly startupProgressHint: "正在检查本地运行环境文件并准备下载。";
|
|
3226
3226
|
readonly downloadedOfTotal: "{{downloaded}} / {{total}}";
|
|
3227
3227
|
readonly progressAria: "Workspace 运行环境下载进度";
|
|
@@ -3705,7 +3705,7 @@ declare const agentGuiI18nResources: {
|
|
|
3705
3705
|
readonly requesterFallback: "用户";
|
|
3706
3706
|
readonly agentCodex: "Codex";
|
|
3707
3707
|
readonly agentClaudeCode: "Claude Code";
|
|
3708
|
-
readonly
|
|
3708
|
+
readonly agentTutti: "Tutti";
|
|
3709
3709
|
readonly agentHermes: "Hermes";
|
|
3710
3710
|
readonly agentGemini: "Gemini";
|
|
3711
3711
|
readonly agentOpenClaw: "OpenClaw";
|
|
@@ -3880,7 +3880,7 @@ declare const agentGuiI18nResources: {
|
|
|
3880
3880
|
readonly agentNotInstalled: "未检测到本机配置,请完成本地安装后再同步。";
|
|
3881
3881
|
readonly agentNotSynced: "检测到本机配置,是否立即同步?";
|
|
3882
3882
|
};
|
|
3883
|
-
readonly manageAgentsGuideLead: "同步或移除只影响
|
|
3883
|
+
readonly manageAgentsGuideLead: "同步或移除只影响 Tutti,不会改动你电脑上的智能体。";
|
|
3884
3884
|
readonly manageAgentsColumnAgent: "智能体";
|
|
3885
3885
|
readonly manageAgentsColumnRun: "运行在";
|
|
3886
3886
|
readonly manageAgentsColumnInstallStatus: "同步状态";
|
|
@@ -3895,8 +3895,8 @@ declare const agentGuiI18nResources: {
|
|
|
3895
3895
|
readonly manageAgentActionRetry: "重试";
|
|
3896
3896
|
readonly manageAgentActionUninstalling: "正在移除…";
|
|
3897
3897
|
readonly manageAgentActionUninstallWaiting: "等待移除…";
|
|
3898
|
-
readonly manageAgentUninstallConfirm: "只会从
|
|
3899
|
-
readonly manageAgentCellRunsLocal: "
|
|
3898
|
+
readonly manageAgentUninstallConfirm: "只会从 Tutti 中移除 {{name}},不会影响 Tutti 以外的应用、登录状态或配置。";
|
|
3899
|
+
readonly manageAgentCellRunsLocal: "Tutti 本地";
|
|
3900
3900
|
readonly manageAgentCellInstalled: "已同步";
|
|
3901
3901
|
readonly manageAgentCellNotInstalled: "未同步";
|
|
3902
3902
|
readonly manageAgentUninstallWaiting: "等待移除";
|
|
@@ -3910,19 +3910,19 @@ declare const agentGuiI18nResources: {
|
|
|
3910
3910
|
readonly manageAgentConfigWillSyncFrom: "同步后会沿用 {{device}} 上的 {{agent}} 配置";
|
|
3911
3911
|
readonly manageAgentConfigSynced: "已同步 · {{time}}";
|
|
3912
3912
|
readonly manageAgentConfigSyncedNoTime: "已同步";
|
|
3913
|
-
readonly manageAgentConfigSyncedFrom: "已从 {{device}} 同步到
|
|
3914
|
-
readonly manageAgentConfigSyncedFromNoTime: "已从 {{device}} 同步到
|
|
3913
|
+
readonly manageAgentConfigSyncedFrom: "已从 {{device}} 同步到 Tutti · {{time}}";
|
|
3914
|
+
readonly manageAgentConfigSyncedFromNoTime: "已从 {{device}} 同步到 Tutti";
|
|
3915
3915
|
readonly manageAgentConfigNone: "未发现配置";
|
|
3916
3916
|
readonly manageAgentConfigNotDetected: "未检测到本机配置";
|
|
3917
3917
|
readonly manageAgentMissingHostConfigTooltip: "{{agent}} 依赖你的本地安装,请先完成本地安装再进行同步";
|
|
3918
|
-
readonly
|
|
3918
|
+
readonly manageAgentTuttiDefaultConfig: "Tutti 默认配置";
|
|
3919
3919
|
readonly manageAgentHostDeviceFallback: "这台电脑";
|
|
3920
3920
|
readonly manageAgentSyncTimeJustNow: "刚刚";
|
|
3921
3921
|
readonly manageAgentSyncTimeMinutesAgo: "{{count}} 分钟前";
|
|
3922
3922
|
readonly manageAgentSyncTimeHoursAgo: "{{count}} 小时前";
|
|
3923
3923
|
readonly manageAgentSyncTimeDaysAgo: "{{count}} 天前";
|
|
3924
3924
|
readonly manageAgentsOpenclawHint: "若要在房间内使用 OpenClaw,请前往管理智能体同步 OpenClaw。";
|
|
3925
|
-
readonly kicker: "
|
|
3925
|
+
readonly kicker: "Tutti · 桌面工作台";
|
|
3926
3926
|
readonly promoBadge: "你目前有 {{count}} 个可用 agents,可以在房间内使用它们。";
|
|
3927
3927
|
readonly promoBadgeNavigateAria: "前往管理智能体,你目前有 {{count}} 个可用 agents";
|
|
3928
3928
|
readonly heroTitle: "首个多人与多 agent 实时协作 OS";
|
|
@@ -3934,7 +3934,7 @@ declare const agentGuiI18nResources: {
|
|
|
3934
3934
|
readonly updateCardDownloadingTitle: "正在下载 {{version}}";
|
|
3935
3935
|
readonly updateCardDownloadingDetail: "更新包正在后台下载。";
|
|
3936
3936
|
readonly updateCardDownloadedTitle: "更新已准备就绪";
|
|
3937
|
-
readonly updateCardDownloadedDetail: "重启
|
|
3937
|
+
readonly updateCardDownloadedDetail: "重启 Tutti 后即可完成 {{version}} 的安装。";
|
|
3938
3938
|
readonly updateCardDownloadAction: "下载更新";
|
|
3939
3939
|
readonly updateCardInstallAction: "重启并安装";
|
|
3940
3940
|
readonly sectionSpacesTitle: "房间";
|
|
@@ -3989,9 +3989,9 @@ declare const agentGuiI18nResources: {
|
|
|
3989
3989
|
readonly sectionMoreAriaComingSoon: "更多,即将推出";
|
|
3990
3990
|
readonly sectionMoreComingSoonHint: "即将推出";
|
|
3991
3991
|
readonly betaGateCheckingTitle: "正在检查内测权限";
|
|
3992
|
-
readonly betaGateCheckingBody: "我们正在确认当前账号是否已经拥有
|
|
3992
|
+
readonly betaGateCheckingBody: "我们正在确认当前账号是否已经拥有 Tutti 内测资格";
|
|
3993
3993
|
readonly betaGateBlockedTitle: "当前账号暂未获得内测资格";
|
|
3994
|
-
readonly betaGateBlockedBody: "输入邀请码以解锁
|
|
3994
|
+
readonly betaGateBlockedBody: "输入邀请码以解锁 Tutti 桌面端内测";
|
|
3995
3995
|
readonly betaGateInviteCodeLabel: "邀请码";
|
|
3996
3996
|
readonly betaGateInviteCodePlaceholder: "输入邀请码";
|
|
3997
3997
|
readonly betaGateInviteCodeRequired: "请先输入邀请码。";
|
|
@@ -4388,7 +4388,7 @@ declare const agentGuiI18nResources: {
|
|
|
4388
4388
|
readonly openclaw: "OpenClaw";
|
|
4389
4389
|
readonly claudeCode: "Claude";
|
|
4390
4390
|
readonly codex: "Codex";
|
|
4391
|
-
readonly nexightAgent: "
|
|
4391
|
+
readonly nexightAgent: "Tutti 智能体";
|
|
4392
4392
|
};
|
|
4393
4393
|
readonly dockPopupAgentAvailabilitySectionAria: "{{name}} 的可用性状态";
|
|
4394
4394
|
readonly nodeDockContextNew: {
|
package/dist/i18n/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AgentActivityNeedsAttentionItem, AgentActivitySnapshot, AgentActivityCancelSessionInput, AgentActivityCancelSessionResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySubmitInteractiveInput, AgentActivitySnapshotListener } from '@tutti-os/agent-activity-core';
|
|
2
2
|
export { AgentActivityAdapter, AgentActivityController, AgentActivityMessage, AgentActivityNeedsAttentionItem, AgentActivitySnapshot, selectNeedsAttentionCount, selectNeedsAttentionItems } from '@tutti-os/agent-activity-core';
|
|
3
|
-
import { m as WorkspaceAgentActivityListViewModel, g as AgentHostWorkspaceAgentSession, f as AgentHostWorkspaceAgentMessage, l as AgentHostWorkspaceAgentSnapshot, B as BuildWorkspaceAgentActivityListOptions, d as AgentHostRuntimeOpenclawGatewayWarmupResult, A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, c as AgentHostManagedAgentsState } from './workspaceAgentActivityListViewModel-
|
|
3
|
+
import { m as WorkspaceAgentActivityListViewModel, g as AgentHostWorkspaceAgentSession, f as AgentHostWorkspaceAgentMessage, l as AgentHostWorkspaceAgentSnapshot, B as BuildWorkspaceAgentActivityListOptions, d as AgentHostRuntimeOpenclawGatewayWarmupResult, A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, c as AgentHostManagedAgentsState } from './workspaceAgentActivityListViewModel-Be4zm3nk.js';
|
|
4
4
|
import { PropsWithChildren, JSX } from 'react';
|
|
5
5
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
6
|
+
import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
|
|
6
7
|
import { WorkspaceFileReferenceAdapter, WorkspaceFileReference } from '@tutti-os/workspace-file-reference/contracts';
|
|
7
8
|
import { W as WorkspaceLinkAction } from './workspaceLinkActions-Bwa-phu8.js';
|
|
8
9
|
import { AgentRichTextAtProvider } from './agent-rich-text-at-provider.js';
|
|
@@ -407,6 +408,7 @@ interface AgentHostUserProject {
|
|
|
407
408
|
lastUsedAtUnixMs?: number;
|
|
408
409
|
}
|
|
409
410
|
type AgentHostUserProjectsApi = AgentHostRecord & {
|
|
411
|
+
service?: WorkspaceUserProjectService;
|
|
410
412
|
checkPath?: (input: {
|
|
411
413
|
path: string;
|
|
412
414
|
}) => AgentHostAsyncResult<{
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
mergeWorkspaceAgentActivityDurableAndOverlayMessages,
|
|
8
8
|
normalizeOptionalWorkspaceAgentStatus,
|
|
9
9
|
selectWorkspaceAgentActivityOverlayMessages
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EHLA6MSQ.js";
|
|
11
11
|
import {
|
|
12
12
|
AgentActivityHostProvider,
|
|
13
13
|
AgentActivityRuntimeProvider,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
useOptionalAgentHostApi,
|
|
39
39
|
user_avatar_placeholder_default,
|
|
40
40
|
workspaceAgentActivityStatusLabel
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-CUQJ3VO3.js";
|
|
42
42
|
import {
|
|
43
43
|
resolveWorkspaceAgentSessionSortTimeUnixMs,
|
|
44
44
|
workspaceAgentProviderLabel
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
getActiveUiLanguage,
|
|
57
57
|
translate,
|
|
58
58
|
useTranslation
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-T6U7AB7F.js";
|
|
60
60
|
import {
|
|
61
61
|
resolveAgentMentionFileThumbnailUrl,
|
|
62
62
|
resolveAgentMentionFileVisualKind
|
|
@@ -73,8 +73,8 @@ import {
|
|
|
73
73
|
resolveAgentGUIExpandedWindowFrame,
|
|
74
74
|
resolveNextAgentGUIConversationRailWidthPx,
|
|
75
75
|
shouldAutoCollapseAgentGUIConversationRail
|
|
76
|
-
} from "./chunk-
|
|
77
|
-
import "./chunk-
|
|
76
|
+
} from "./chunk-R5Q2UDDH.js";
|
|
77
|
+
import "./chunk-4ASBZ4X7.js";
|
|
78
78
|
|
|
79
79
|
// shared/agentActivitySnapshotProjection.ts
|
|
80
80
|
import {
|
|
@@ -422,7 +422,7 @@ var CanvasNodeGhostIconButton = forwardRef(function CanvasNodeGhostIconButton2({
|
|
|
422
422
|
...rest,
|
|
423
423
|
type: "button",
|
|
424
424
|
className: cn(
|
|
425
|
-
"nodrag inline-flex h-7 min-h-7 w-7 min-w-7 shrink-0 items-center justify-center rounded-[4px] border border-transparent bg-transparent p-0 text-[var(--cove-canvas-control-text)] transition-[background-color,color,border-color,opacity] duration-200 ease-in-out [-webkit-app-region:no-drag] hover:border-transparent hover:bg-[var(--transparency-block)] hover:text-[var(--cove-canvas-control-text-hover)] active:bg-[var(--transparency-block-active)] active:text-[var(--cove-canvas-control-text-hover)] disabled:cursor-not-allowed disabled:opacity-45 focus-visible:outline-2 focus-visible:outline-[color:color-mix(in_srgb,var(--tsh-shell-accent)_80%,white)] focus-visible:outline-offset-2 [&_svg]:block [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0 [&_svg:not([data-nexight-chrome-glyph=fill]):not([data-
|
|
425
|
+
"nodrag inline-flex h-7 min-h-7 w-7 min-w-7 shrink-0 items-center justify-center rounded-[4px] border border-transparent bg-transparent p-0 text-[var(--cove-canvas-control-text)] transition-[background-color,color,border-color,opacity] duration-200 ease-in-out [-webkit-app-region:no-drag] hover:border-transparent hover:bg-[var(--transparency-block)] hover:text-[var(--cove-canvas-control-text-hover)] active:bg-[var(--transparency-block-active)] active:text-[var(--cove-canvas-control-text-hover)] disabled:cursor-not-allowed disabled:opacity-45 focus-visible:outline-2 focus-visible:outline-[color:color-mix(in_srgb,var(--tsh-shell-accent)_80%,white)] focus-visible:outline-offset-2 [&_svg]:block [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0 [&_svg:not([data-nexight-chrome-glyph=fill]):not([data-tutti-chrome-glyph=fill])]:fill-none [&_svg:not([data-nexight-chrome-glyph=fill]):not([data-tutti-chrome-glyph=fill])]:stroke-current data-[menu-open=true]:border-transparent data-[menu-open=true]:bg-[var(--transparency-block)] data-[menu-open=true]:text-[var(--cove-canvas-control-text-hover)] data-[menu-open=true]:hover:bg-[var(--transparency-block-active)]",
|
|
426
426
|
className
|
|
427
427
|
),
|
|
428
428
|
onPointerDown: (event) => {
|
|
@@ -520,7 +520,7 @@ function CanvasNodeGuideLinedIcon({
|
|
|
520
520
|
xmlns: "http://www.w3.org/2000/svg",
|
|
521
521
|
className,
|
|
522
522
|
...props,
|
|
523
|
-
"data-
|
|
523
|
+
"data-tutti-chrome-glyph": "fill",
|
|
524
524
|
"data-nexight-chrome-glyph": "fill",
|
|
525
525
|
children: /* @__PURE__ */ jsx4("path", { d: GUIDE_LINED_PATH, fill: "currentColor" })
|
|
526
526
|
}
|
|
@@ -538,7 +538,7 @@ function CanvasNodeMoreLinedIcon({
|
|
|
538
538
|
xmlns: "http://www.w3.org/2000/svg",
|
|
539
539
|
className,
|
|
540
540
|
...props,
|
|
541
|
-
"data-
|
|
541
|
+
"data-tutti-chrome-glyph": "fill",
|
|
542
542
|
"data-nexight-chrome-glyph": "fill",
|
|
543
543
|
children: /* @__PURE__ */ jsx4("path", { d: MORE_LINED_PATH, fill: "currentColor" })
|
|
544
544
|
}
|
|
@@ -556,7 +556,7 @@ function CanvasNodeTrashLinedIcon({
|
|
|
556
556
|
xmlns: "http://www.w3.org/2000/svg",
|
|
557
557
|
className,
|
|
558
558
|
...props,
|
|
559
|
-
"data-
|
|
559
|
+
"data-tutti-chrome-glyph": "fill",
|
|
560
560
|
"data-nexight-chrome-glyph": "fill",
|
|
561
561
|
children: /* @__PURE__ */ jsx4("path", { d: TRASH_LINED_PATH, fill: "currentColor" })
|
|
562
562
|
}
|
|
@@ -574,7 +574,7 @@ function CanvasNodeMaximizeLinedIcon({
|
|
|
574
574
|
xmlns: "http://www.w3.org/2000/svg",
|
|
575
575
|
className,
|
|
576
576
|
...props,
|
|
577
|
-
"data-
|
|
577
|
+
"data-tutti-chrome-glyph": "fill",
|
|
578
578
|
"data-nexight-chrome-glyph": "fill",
|
|
579
579
|
children: /* @__PURE__ */ jsx4("path", { d: MAXIMIZE_LINED_PATH, fill: "currentColor" })
|
|
580
580
|
}
|
|
@@ -592,7 +592,7 @@ function CanvasNodeMinimizeLinedIcon({
|
|
|
592
592
|
xmlns: "http://www.w3.org/2000/svg",
|
|
593
593
|
className,
|
|
594
594
|
...props,
|
|
595
|
-
"data-
|
|
595
|
+
"data-tutti-chrome-glyph": "fill",
|
|
596
596
|
"data-nexight-chrome-glyph": "fill",
|
|
597
597
|
children: /* @__PURE__ */ jsx4("path", { d: MINIMIZE_LINED_PATH, fill: "currentColor" })
|
|
598
598
|
}
|
|
@@ -610,7 +610,7 @@ function CanvasNodeLayoutLinedIcon({
|
|
|
610
610
|
xmlns: "http://www.w3.org/2000/svg",
|
|
611
611
|
className,
|
|
612
612
|
...props,
|
|
613
|
-
"data-
|
|
613
|
+
"data-tutti-chrome-glyph": "fill",
|
|
614
614
|
"data-nexight-chrome-glyph": "fill",
|
|
615
615
|
children: /* @__PURE__ */ jsx4("path", { d: LAYOUT_LINED_PATH, fill: "currentColor" })
|
|
616
616
|
}
|
|
@@ -628,7 +628,7 @@ function CanvasNodePanelLinedIcon({
|
|
|
628
628
|
xmlns: "http://www.w3.org/2000/svg",
|
|
629
629
|
className,
|
|
630
630
|
...props,
|
|
631
|
-
"data-
|
|
631
|
+
"data-tutti-chrome-glyph": "fill",
|
|
632
632
|
"data-nexight-chrome-glyph": "fill",
|
|
633
633
|
children: [
|
|
634
634
|
/* @__PURE__ */ jsx4("path", { d: PANEL_LINED_FRAME_PATH, fill: "currentColor" }),
|
|
@@ -688,7 +688,7 @@ function GridBottomLinedIcon(props) {
|
|
|
688
688
|
viewBox: "0 0 24 24",
|
|
689
689
|
fill: "currentColor",
|
|
690
690
|
"aria-hidden": true,
|
|
691
|
-
"data-
|
|
691
|
+
"data-tutti-chrome-glyph": "fill",
|
|
692
692
|
"data-nexight-chrome-glyph": "fill",
|
|
693
693
|
...props,
|
|
694
694
|
children: /* @__PURE__ */ jsx6("path", { d: "M19 2C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V5C2 3.34315 3.34315 2 5 2H19ZM4 16V19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19V16H4ZM5 4C4.44772 4 4 4.44772 4 5V14H20V5C20 4.44772 19.5523 4 19 4H5Z" })
|
|
@@ -707,7 +707,7 @@ function GridLeftLinedIcon(props) {
|
|
|
707
707
|
viewBox: "0 0 24 24",
|
|
708
708
|
fill: "currentColor",
|
|
709
709
|
"aria-hidden": true,
|
|
710
|
-
"data-
|
|
710
|
+
"data-tutti-chrome-glyph": "fill",
|
|
711
711
|
"data-nexight-chrome-glyph": "fill",
|
|
712
712
|
...props,
|
|
713
713
|
children: /* @__PURE__ */ jsx7("path", { d: "M19 2C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V5C2 3.34315 3.34315 2 5 2H19ZM10 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44772 19.5523 4 19 4H10V20ZM5 4C4.44772 4 4 4.44772 4 5V19C4 19.5523 4.44772 20 5 20H8V4H5Z" })
|
|
@@ -726,7 +726,7 @@ function GridRightLinedIcon(props) {
|
|
|
726
726
|
viewBox: "0 0 24 24",
|
|
727
727
|
fill: "currentColor",
|
|
728
728
|
"aria-hidden": true,
|
|
729
|
-
"data-
|
|
729
|
+
"data-tutti-chrome-glyph": "fill",
|
|
730
730
|
"data-nexight-chrome-glyph": "fill",
|
|
731
731
|
...props,
|
|
732
732
|
children: /* @__PURE__ */ jsx8("path", { d: "M19 2C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V5C2 3.34315 3.34315 2 5 2H19ZM16 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44772 19.5523 4 19 4H16V20ZM5 4C4.44772 4 4 4.44772 4 5V19C4 19.5523 4.44772 20 5 20H14V4H5Z" })
|
|
@@ -745,7 +745,7 @@ function GridTopLinedIcon(props) {
|
|
|
745
745
|
viewBox: "0 0 24 24",
|
|
746
746
|
fill: "currentColor",
|
|
747
747
|
"aria-hidden": true,
|
|
748
|
-
"data-
|
|
748
|
+
"data-tutti-chrome-glyph": "fill",
|
|
749
749
|
"data-nexight-chrome-glyph": "fill",
|
|
750
750
|
...props,
|
|
751
751
|
children: /* @__PURE__ */ jsx9("path", { d: "M19 2C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V5C2 3.34315 3.34315 2 5 2H19ZM4 10V19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19V10H4ZM5 4C4.44772 4 4 4.44772 4 5V8H20V5C20 4.44772 19.5523 4 19 4H5Z" })
|
|
@@ -1678,7 +1678,7 @@ function WindowLayoutMenuButton({
|
|
|
1678
1678
|
{
|
|
1679
1679
|
align: "end",
|
|
1680
1680
|
sideOffset: 10,
|
|
1681
|
-
className: "t-dropdown is-open relative min-w-[160px] rounded-[var(--
|
|
1681
|
+
className: "t-dropdown is-open relative min-w-[160px] rounded-[var(--tutti-radius-xl)] border border-hairline bg-background-fronted p-0 text-foreground shadow-[var(--tsh-shell-shadow)]",
|
|
1682
1682
|
"data-origin": "top-right",
|
|
1683
1683
|
"data-testid": "window-layout-menu",
|
|
1684
1684
|
children: [
|
|
@@ -5687,7 +5687,7 @@ function isDirectAgentGeneratedImagePath(path) {
|
|
|
5687
5687
|
}
|
|
5688
5688
|
const segments = path.split("/").filter(Boolean);
|
|
5689
5689
|
const stateRootIndex = segments.findIndex(
|
|
5690
|
-
(segment) => segment === ".
|
|
5690
|
+
(segment) => segment === ".tutti" || segment === ".tutti-dev"
|
|
5691
5691
|
);
|
|
5692
5692
|
if (stateRootIndex < 0) {
|
|
5693
5693
|
return false;
|
|
@@ -7044,7 +7044,7 @@ function normalizeAgentGUIProviderIdentity(provider) {
|
|
|
7044
7044
|
case "codex":
|
|
7045
7045
|
return "codex";
|
|
7046
7046
|
case "nexight":
|
|
7047
|
-
case "
|
|
7047
|
+
case "tutti":
|
|
7048
7048
|
return "nexight";
|
|
7049
7049
|
case "gemini":
|
|
7050
7050
|
return "gemini";
|
|
@@ -22902,7 +22902,7 @@ function DirectLinedIcon(props) {
|
|
|
22902
22902
|
fill: "currentColor",
|
|
22903
22903
|
"aria-hidden": true,
|
|
22904
22904
|
"data-nexight-chrome-glyph": "fill",
|
|
22905
|
-
"data-
|
|
22905
|
+
"data-tutti-chrome-glyph": "fill",
|
|
22906
22906
|
...props,
|
|
22907
22907
|
children: /* @__PURE__ */ jsx67(
|
|
22908
22908
|
"path",
|
|
@@ -22935,7 +22935,7 @@ var CanvasNodeGhostIconButton3 = forwardRef8(function CanvasNodeGhostIconButton4
|
|
|
22935
22935
|
...rest,
|
|
22936
22936
|
type: "button",
|
|
22937
22937
|
className: cn(
|
|
22938
|
-
"nodrag inline-flex h-7 min-h-7 w-7 min-w-7 shrink-0 items-center justify-center rounded-[4px] border border-transparent bg-transparent p-0 text-[var(--cove-canvas-control-text)] transition-[background-color,color,border-color,opacity] duration-200 ease-in-out [-webkit-app-region:no-drag] hover:border-transparent hover:bg-[var(--transparency-block)] hover:text-[var(--cove-canvas-control-text-hover)] active:bg-[var(--transparency-block-active)] active:text-[var(--cove-canvas-control-text-hover)] disabled:cursor-not-allowed disabled:opacity-45 focus-visible:outline-2 focus-visible:outline-[color:color-mix(in_srgb,var(--tsh-shell-accent)_80%,white)] focus-visible:outline-offset-2 [&_svg]:block [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0 [&_svg:not([data-nexight-chrome-glyph=fill]):not([data-
|
|
22938
|
+
"nodrag inline-flex h-7 min-h-7 w-7 min-w-7 shrink-0 items-center justify-center rounded-[4px] border border-transparent bg-transparent p-0 text-[var(--cove-canvas-control-text)] transition-[background-color,color,border-color,opacity] duration-200 ease-in-out [-webkit-app-region:no-drag] hover:border-transparent hover:bg-[var(--transparency-block)] hover:text-[var(--cove-canvas-control-text-hover)] active:bg-[var(--transparency-block-active)] active:text-[var(--cove-canvas-control-text-hover)] disabled:cursor-not-allowed disabled:opacity-45 focus-visible:outline-2 focus-visible:outline-[color:color-mix(in_srgb,var(--tsh-shell-accent)_80%,white)] focus-visible:outline-offset-2 [&_svg]:block [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0 [&_svg:not([data-nexight-chrome-glyph=fill]):not([data-tutti-chrome-glyph=fill])]:fill-none [&_svg:not([data-nexight-chrome-glyph=fill]):not([data-tutti-chrome-glyph=fill])]:stroke-current data-[menu-open=true]:border-transparent data-[menu-open=true]:bg-[var(--transparency-block)] data-[menu-open=true]:text-[var(--cove-canvas-control-text-hover)] data-[menu-open=true]:hover:bg-[var(--transparency-block-active)]",
|
|
22939
22939
|
className
|
|
22940
22940
|
),
|
|
22941
22941
|
onPointerDown: (event) => {
|
|
@@ -23543,7 +23543,7 @@ var AgentTranscriptView = memo3(function AgentTranscriptView2({
|
|
|
23543
23543
|
showTurnDivider ? /* @__PURE__ */ jsx71(
|
|
23544
23544
|
"div",
|
|
23545
23545
|
{
|
|
23546
|
-
className: "h-px w-full flex-none bg-[var(--line-2,var(--
|
|
23546
|
+
className: "h-px w-full flex-none bg-[var(--line-2,var(--tutti-line-2))]",
|
|
23547
23547
|
"data-testid": "agent-transcript-turn-divider",
|
|
23548
23548
|
"aria-hidden": "true"
|
|
23549
23549
|
}
|
|
@@ -25542,6 +25542,7 @@ function AgentProjectDropdown({
|
|
|
25542
25542
|
}
|
|
25543
25543
|
),
|
|
25544
25544
|
selectedProjectPath: composerSettings.selectedProjectPath,
|
|
25545
|
+
service: agentHostApi.userProjects?.service ?? null,
|
|
25545
25546
|
showCreateProjectAction: true,
|
|
25546
25547
|
onProjectMissingChange,
|
|
25547
25548
|
onProjectPathChange
|
|
@@ -29070,8 +29071,8 @@ var composerStyles = {
|
|
|
29070
29071
|
dropdownSurface: "nodrag isolate rounded-[12px] border border-hairline bg-background-fronted p-[4px] text-foreground shadow-[var(--tsh-shell-shadow)] [-webkit-app-region:no-drag]",
|
|
29071
29072
|
slashDropdown: "overflow-hidden"
|
|
29072
29073
|
};
|
|
29073
|
-
var workspaceReferenceSelectValue = "
|
|
29074
|
-
var workspaceReferenceOptionValue = "
|
|
29074
|
+
var workspaceReferenceSelectValue = "__tutti_workspace_reference_idle__";
|
|
29075
|
+
var workspaceReferenceOptionValue = "__tutti_workspace_reference_add__";
|
|
29075
29076
|
var composerPaletteZIndex = "var(--z-popover)";
|
|
29076
29077
|
var SLASH_PALETTE_HEIGHT_PX = 280;
|
|
29077
29078
|
var MENTION_PALETTE_MIN_HEIGHT_PX = 280;
|
|
@@ -31308,6 +31309,9 @@ function conversationHasActiveWork2(conversation) {
|
|
|
31308
31309
|
return false;
|
|
31309
31310
|
}) ?? false;
|
|
31310
31311
|
}
|
|
31312
|
+
function isSettledConversationStatus2(status) {
|
|
31313
|
+
return status === "completed" || status === "failed" || status === "canceled";
|
|
31314
|
+
}
|
|
31311
31315
|
function resolveActiveConversationBusyStatus(input) {
|
|
31312
31316
|
if (input.conversationStatus === "waiting" || input.detailStatus === "waiting") {
|
|
31313
31317
|
return "waiting";
|
|
@@ -31315,6 +31319,9 @@ function resolveActiveConversationBusyStatus(input) {
|
|
|
31315
31319
|
if (input.conversationStatus === "working" || input.detailStatus === "working") {
|
|
31316
31320
|
return "working";
|
|
31317
31321
|
}
|
|
31322
|
+
if (isSettledConversationStatus2(input.conversationStatus) || isSettledConversationStatus2(input.detailStatus)) {
|
|
31323
|
+
return null;
|
|
31324
|
+
}
|
|
31318
31325
|
if (conversationHasActiveWork2(input.conversation)) {
|
|
31319
31326
|
return "working";
|
|
31320
31327
|
}
|
|
@@ -33132,6 +33139,7 @@ function AgentGUIProjectRailHeader({
|
|
|
33132
33139
|
}
|
|
33133
33140
|
),
|
|
33134
33141
|
selectedProjectPath: null,
|
|
33142
|
+
service: agentHostApi.userProjects?.service ?? null,
|
|
33135
33143
|
shouldApplyPreparedSelection: false,
|
|
33136
33144
|
showCreateProjectAction: true,
|
|
33137
33145
|
showKnownProjectOptions: false,
|
|
@@ -33556,12 +33564,12 @@ var AGENT_HOST_MANAGED_TOOLCHAIN_AGENTS = [
|
|
|
33556
33564
|
helperProvider: "codex"
|
|
33557
33565
|
},
|
|
33558
33566
|
{
|
|
33559
|
-
id: "
|
|
33567
|
+
id: "tutti",
|
|
33560
33568
|
// i18n-check-ignore: Provider brand name.
|
|
33561
|
-
label: "
|
|
33569
|
+
label: "Tutti",
|
|
33562
33570
|
actionAgentId: "nexight",
|
|
33563
33571
|
toolIds: ["nexight-cli"],
|
|
33564
|
-
agentIds: ["nexight", "
|
|
33572
|
+
agentIds: ["nexight", "tutti"],
|
|
33565
33573
|
runtimeManaged: false,
|
|
33566
33574
|
helperProvider: "nexight"
|
|
33567
33575
|
},
|
|
@@ -33597,7 +33605,7 @@ var AGENT_HOST_MANAGED_TOOLCHAIN_AGENTS = [
|
|
|
33597
33605
|
}
|
|
33598
33606
|
];
|
|
33599
33607
|
var WORKSPACE_DESKTOP_MANAGED_AGENT_DOCK_PROVIDER_ORDER = AGENT_HOST_MANAGED_TOOLCHAIN_AGENTS.map(
|
|
33600
|
-
(agent) => agent.id === "
|
|
33608
|
+
(agent) => agent.id === "tutti" ? "nexight" : agent.id
|
|
33601
33609
|
);
|
|
33602
33610
|
function normalizeKey(value) {
|
|
33603
33611
|
return (value ?? "").trim().toLowerCase();
|