@tutti-os/agent-gui 0.0.61 → 0.0.62

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 (46) hide show
  1. package/dist/agent-conversation/index.js +5 -5
  2. package/dist/agent-message-center/index.js +7 -7
  3. package/dist/app/renderer/agentactivity.css +13 -1
  4. package/dist/{chunk-SXML6H77.js → chunk-4UTWOSHP.js} +3 -1
  5. package/dist/chunk-4UTWOSHP.js.map +1 -0
  6. package/dist/{chunk-JLJIAKI3.js → chunk-6MUKWI6Z.js} +4 -4
  7. package/dist/{chunk-I5ZIKJVN.js → chunk-7P6CUYQT.js} +2 -2
  8. package/dist/{chunk-6VVBG4BF.js → chunk-CA25GD5Q.js} +5 -3
  9. package/dist/chunk-CA25GD5Q.js.map +1 -0
  10. package/dist/{chunk-4OPTXOOZ.js → chunk-CVSCZ3CK.js} +2 -2
  11. package/dist/{chunk-2LGUBUEJ.js → chunk-FQQDBBNI.js} +2 -2
  12. package/dist/{chunk-6TEPDMX6.js → chunk-G6UO6JVM.js} +2 -2
  13. package/dist/{chunk-JSIA4K67.js → chunk-K4UUEG7X.js} +13 -7
  14. package/dist/chunk-K4UUEG7X.js.map +1 -0
  15. package/dist/{chunk-JBWFRSFQ.js → chunk-NZN43XT5.js} +2 -2
  16. package/dist/{chunk-CZSMZRAV.js → chunk-QC642RAG.js} +4 -4
  17. package/dist/{chunk-24CUBQKJ.js → chunk-RO6KQD3J.js} +2 -2
  18. package/dist/{chunk-CUMZV32B.js → chunk-SGXYVGQT.js} +4 -4
  19. package/dist/{chunk-B6YDXIZW.js → chunk-SW6JCJCO.js} +2 -2
  20. package/dist/{chunk-74TIEA6X.js → chunk-ZUVEBW5T.js} +2 -2
  21. package/dist/context-mention-palette/index.js +6 -6
  22. package/dist/i18n/index.d.ts +4 -2
  23. package/dist/i18n/index.js +2 -2
  24. package/dist/index.d.ts +15 -3
  25. package/dist/index.js +254 -59
  26. package/dist/index.js.map +1 -1
  27. package/dist/workbench/contribution.js +3 -3
  28. package/dist/workbench/index.js +6 -6
  29. package/dist/workbench/sessionTitle.js +3 -3
  30. package/dist/workbench/state.js +2 -2
  31. package/dist/workspace-agent-generated-files.js +3 -3
  32. package/package.json +12 -12
  33. package/dist/chunk-6VVBG4BF.js.map +0 -1
  34. package/dist/chunk-JSIA4K67.js.map +0 -1
  35. package/dist/chunk-SXML6H77.js.map +0 -1
  36. /package/dist/{chunk-JLJIAKI3.js.map → chunk-6MUKWI6Z.js.map} +0 -0
  37. /package/dist/{chunk-I5ZIKJVN.js.map → chunk-7P6CUYQT.js.map} +0 -0
  38. /package/dist/{chunk-4OPTXOOZ.js.map → chunk-CVSCZ3CK.js.map} +0 -0
  39. /package/dist/{chunk-2LGUBUEJ.js.map → chunk-FQQDBBNI.js.map} +0 -0
  40. /package/dist/{chunk-6TEPDMX6.js.map → chunk-G6UO6JVM.js.map} +0 -0
  41. /package/dist/{chunk-JBWFRSFQ.js.map → chunk-NZN43XT5.js.map} +0 -0
  42. /package/dist/{chunk-CZSMZRAV.js.map → chunk-QC642RAG.js.map} +0 -0
  43. /package/dist/{chunk-24CUBQKJ.js.map → chunk-RO6KQD3J.js.map} +0 -0
  44. /package/dist/{chunk-CUMZV32B.js.map → chunk-SGXYVGQT.js.map} +0 -0
  45. /package/dist/{chunk-B6YDXIZW.js.map → chunk-SW6JCJCO.js.map} +0 -0
  46. /package/dist/{chunk-74TIEA6X.js.map → chunk-ZUVEBW5T.js.map} +0 -0
@@ -6,20 +6,20 @@ import {
6
6
  projectAgentConversationVM,
7
7
  reconcileProjectedAgentConversationVM,
8
8
  useProjectedAgentConversation
9
- } from "../chunk-JLJIAKI3.js";
10
- import "../chunk-B6YDXIZW.js";
9
+ } from "../chunk-6MUKWI6Z.js";
10
+ import "../chunk-SW6JCJCO.js";
11
11
  import "../chunk-PSLAWU25.js";
12
- import "../chunk-2LGUBUEJ.js";
12
+ import "../chunk-FQQDBBNI.js";
13
13
  import "../chunk-Y35GDLP2.js";
14
14
  import "../chunk-LUGELG5V.js";
15
15
  import "../chunk-FRCIPTUD.js";
16
16
  import "../chunk-TYGL25EL.js";
17
17
  import {
18
18
  translate
19
- } from "../chunk-24CUBQKJ.js";
19
+ } from "../chunk-RO6KQD3J.js";
20
20
  import "../chunk-PJP5BUU6.js";
21
21
  import "../chunk-V4JGVBUN.js";
22
- import "../chunk-6VVBG4BF.js";
22
+ import "../chunk-CA25GD5Q.js";
23
23
 
24
24
  // shared/WorkspaceAgentSessionDetail.tsx
25
25
  import { useMemo } from "react";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  formatAgentGuiConversationPlainTitle
3
- } from "../chunk-6TEPDMX6.js";
3
+ } from "../chunk-G6UO6JVM.js";
4
4
  import {
5
5
  AgentInteractivePromptSurface,
6
6
  approvalOptionDisplayLabel,
7
7
  getPromptToolDetails,
8
8
  isPromptRequestIdTitle
9
- } from "../chunk-CZSMZRAV.js";
9
+ } from "../chunk-QC642RAG.js";
10
10
  import {
11
11
  PLAN_IMPLEMENTATION_ACTION_IMPLEMENT,
12
12
  PLAN_IMPLEMENTATION_PROMPT,
@@ -15,7 +15,7 @@ import {
15
15
  } from "../chunk-MKHDRIGN.js";
16
16
  import {
17
17
  formatAgentSessionMentionText
18
- } from "../chunk-4OPTXOOZ.js";
18
+ } from "../chunk-CVSCZ3CK.js";
19
19
  import {
20
20
  AgentMessageMarkdown,
21
21
  CustomScrollArea,
@@ -25,11 +25,11 @@ import {
25
25
  extractExitPlanModeOptions,
26
26
  isExitPlanSwitchModeInput,
27
27
  normalizeAskUserQuestions
28
- } from "../chunk-B6YDXIZW.js";
28
+ } from "../chunk-SW6JCJCO.js";
29
29
  import {
30
30
  userAvatarPlaceholderUrl,
31
31
  workspaceAgentActivityStatusLabel
32
- } from "../chunk-74TIEA6X.js";
32
+ } from "../chunk-ZUVEBW5T.js";
33
33
  import {
34
34
  resolveWorkspaceAgentSessionSortTimeUnixMs
35
35
  } from "../chunk-IBIMGLCD.js";
@@ -43,10 +43,10 @@ import {
43
43
  AgentGuiI18nProvider,
44
44
  getActiveUiLanguage,
45
45
  useTranslation
46
- } from "../chunk-24CUBQKJ.js";
46
+ } from "../chunk-RO6KQD3J.js";
47
47
  import "../chunk-PJP5BUU6.js";
48
48
  import "../chunk-V4JGVBUN.js";
49
- import "../chunk-6VVBG4BF.js";
49
+ import "../chunk-CA25GD5Q.js";
50
50
  import "../chunk-GCBDIQDX.js";
51
51
 
52
52
  // agent-message-center/WorkspaceAgentMessageCenterPanel.tsx
@@ -4728,6 +4728,7 @@ aside.workspace-agents-status-panel
4728
4728
  background: var(--agent-gui-session-sidepanel-background);
4729
4729
  overflow: hidden;
4730
4730
  transition: width 180ms cubic-bezier(0.22, 1, 0.36, 1);
4731
+ -webkit-app-region: no-drag;
4731
4732
  }
4732
4733
 
4733
4734
  .agent-gui-node__provider-rail-panel::after {
@@ -5721,7 +5722,7 @@ button.agent-gui-node__conversation-section-toggle:hover
5721
5722
  flex: 0 0 14px;
5722
5723
  width: 14px;
5723
5724
  height: 14px;
5724
- color: var(--text-secondary);
5725
+ color: var(--text-tertiary);
5725
5726
  background-color: currentColor;
5726
5727
  mask: var(--agent-gui-conversation-provider-icon-url) center / contain
5727
5728
  no-repeat;
@@ -7860,6 +7861,10 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
7860
7861
  color: var(--text-primary);
7861
7862
  }
7862
7863
 
7864
+ .agent-gui-node__composer-handoff-icon[data-disabled="true"] {
7865
+ color: var(--agent-gui-text-tertiary);
7866
+ }
7867
+
7863
7868
  .agent-gui-node__composer-handoff-icon-static,
7864
7869
  .agent-gui-node__composer-handoff-icon-animated {
7865
7870
  width: 18px;
@@ -7889,6 +7894,11 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
7889
7894
  opacity: 1;
7890
7895
  }
7891
7896
 
7897
+ .agent-gui-node__composer-handoff-icon[data-disabled="true"]
7898
+ .agent-gui-node__composer-handoff-icon-animated {
7899
+ opacity: 0;
7900
+ }
7901
+
7892
7902
  :root[data-theme="dark"] .agent-gui-node__composer-handoff-icon-animated {
7893
7903
  --agent-gui-handoff-lottie-filter: brightness(0) invert(1);
7894
7904
  }
@@ -8324,6 +8334,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8324
8334
  padding: 0 0 12px;
8325
8335
  overflow-x: hidden;
8326
8336
  overflow-y: auto;
8337
+ -webkit-app-region: no-drag;
8327
8338
  }
8328
8339
 
8329
8340
  .agent-gui-node__provider-rail-tile {
@@ -8341,6 +8352,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8341
8352
  font-weight: 600;
8342
8353
  line-height: 14px;
8343
8354
  text-align: center;
8355
+ -webkit-app-region: no-drag;
8344
8356
  }
8345
8357
 
8346
8358
  .agent-gui-node__provider-rail-tile + .agent-gui-node__provider-rail-tile {
@@ -65,6 +65,8 @@ function localAgentGUIAgentTargetId(provider) {
65
65
  return "local:hermes";
66
66
  case "nexight":
67
67
  return "local:nexight";
68
+ case "openclaw":
69
+ return "local:openclaw";
68
70
  default:
69
71
  return null;
70
72
  }
@@ -185,4 +187,4 @@ export {
185
187
  resolveAgentGUIProviderTarget,
186
188
  agentGUIProviderTargetRefsEqual
187
189
  };
188
- //# sourceMappingURL=chunk-SXML6H77.js.map
190
+ //# sourceMappingURL=chunk-4UTWOSHP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../providerTargets.ts"],"sourcesContent":["import type {\n AgentGUIProvider,\n AgentGUIProviderTarget,\n AgentGUIProviderTargetRef\n} from \"./types.ts\";\n\nconst agentGUIProviderTargetStaticLabels: Record<AgentGUIProvider, string> = {\n \"claude-code\": \"Claude Code\",\n codex: \"Codex\",\n gemini: \"Gemini\",\n hermes: \"Hermes\",\n nexight: \"Tutti Agent\",\n openclaw: \"OpenClaw\"\n};\n\nexport const agentGUIDefaultTargetProviders = [\n \"codex\",\n \"claude-code\",\n \"nexight\",\n \"hermes\",\n \"openclaw\"\n] as const satisfies readonly AgentGUIProvider[];\n\nconst agentGUIDisabledPlaceholderProviders = [\n \"nexight\",\n \"hermes\",\n \"openclaw\"\n] as const satisfies readonly AgentGUIProvider[];\n\nexport function createLocalAgentGUIProviderTarget(\n provider: AgentGUIProvider\n): AgentGUIProviderTarget {\n const targetId = localAgentGUIProviderTargetId(provider);\n const agentTargetId = localAgentGUIAgentTargetId(provider);\n return {\n targetId,\n ...(agentTargetId ? { agentTargetId } : {}),\n provider,\n ref: {\n kind: \"local\",\n provider\n },\n label: agentGUIProviderTargetStaticLabels[provider] ?? provider\n };\n}\n\nexport function createDisabledPlaceholderAgentGUIProviderTarget(\n provider: AgentGUIProvider\n): AgentGUIProviderTarget {\n return {\n ...createLocalAgentGUIProviderTarget(provider),\n disabled: true\n };\n}\n\nexport function createLocalAgentGUIProviderTargets(\n providers: readonly AgentGUIProvider[] = agentGUIDefaultTargetProviders\n): AgentGUIProviderTarget[] {\n return providers.map((provider) =>\n createLocalAgentGUIProviderTarget(provider)\n );\n}\n\nfunction createStaticAgentGUIProviderTargets(\n providers: readonly AgentGUIProvider[] = agentGUIDefaultTargetProviders,\n options?: { includeDisabledPlaceholders?: boolean }\n): AgentGUIProviderTarget[] {\n const disabledProviders = new Set<AgentGUIProvider>(\n options?.includeDisabledPlaceholders === true\n ? agentGUIDisabledPlaceholderProviders\n : []\n );\n return providers.map((provider) =>\n disabledProviders.has(provider)\n ? createDisabledPlaceholderAgentGUIProviderTarget(provider)\n : createLocalAgentGUIProviderTarget(provider)\n );\n}\n\nexport function localAgentGUIProviderTargetId(\n provider: AgentGUIProvider\n): string {\n return `local:${provider}`;\n}\n\nexport function localAgentGUIAgentTargetId(\n provider: AgentGUIProvider\n): string | null {\n switch (provider) {\n case \"codex\":\n return \"local:codex\";\n case \"claude-code\":\n return \"local:claude-code\";\n case \"hermes\":\n return \"local:hermes\";\n case \"nexight\":\n return \"local:nexight\";\n case \"openclaw\":\n return \"local:openclaw\";\n default:\n return null;\n }\n}\n\nexport function normalizeAgentGUIProviderTargets(\n targets: readonly AgentGUIProviderTarget[] | null | undefined,\n options?: {\n includeDisabledPlaceholders?: boolean;\n useStaticCatalog?: boolean;\n }\n): AgentGUIProviderTarget[] {\n const includeDisabledPlaceholders =\n options?.includeDisabledPlaceholders === true;\n const useStaticCatalog = options?.useStaticCatalog !== false;\n const source = targets && targets.length > 0 ? targets : [];\n const normalizedTargets: AgentGUIProviderTarget[] = [];\n const seenTargetKeys = new Set<string>();\n const seenProviders = new Set<AgentGUIProvider>();\n for (const target of source) {\n const normalized = normalizeAgentGUIProviderTarget(target);\n if (!normalized) {\n continue;\n }\n const dedupeKey = `${normalized.provider}\\u0000${normalized.targetId}`;\n if (seenTargetKeys.has(dedupeKey)) {\n continue;\n }\n seenTargetKeys.add(dedupeKey);\n seenProviders.add(normalized.provider);\n normalizedTargets.push(normalized);\n }\n if (includeDisabledPlaceholders && normalizedTargets.length > 0) {\n for (const provider of agentGUIDisabledPlaceholderProviders) {\n if (seenProviders.has(provider)) {\n continue;\n }\n normalizedTargets.push(\n createDisabledPlaceholderAgentGUIProviderTarget(provider)\n );\n }\n }\n return normalizedTargets.length > 0 || !useStaticCatalog\n ? normalizedTargets\n : createStaticAgentGUIProviderTargets(undefined, {\n includeDisabledPlaceholders\n });\n}\n\nexport function resolveAgentGUIProviderTarget(input: {\n agentTargetId?: string | null;\n defaultProviderTargetId?: string | null;\n provider: AgentGUIProvider;\n providerTargetId?: string | null;\n providerTargets: readonly AgentGUIProviderTarget[];\n useStaticCatalog?: boolean;\n}): AgentGUIProviderTarget | null {\n const targetByAgentTargetId = new Map(\n input.providerTargets.flatMap((target) =>\n target.agentTargetId ? [[target.agentTargetId, target] as const] : []\n )\n );\n const agentTarget = targetByAgentTargetId.get(\n input.agentTargetId?.trim() ?? \"\"\n );\n if (agentTarget) {\n return agentTarget;\n }\n const providerTargets = input.providerTargets.filter(\n (target) => target.provider === input.provider\n );\n const targetById = new Map(\n providerTargets.map((target) => [target.targetId, target])\n );\n return (\n targetById.get(input.providerTargetId?.trim() ?? \"\") ??\n targetById.get(input.defaultProviderTargetId?.trim() ?? \"\") ??\n targetById.get(localAgentGUIProviderTargetId(input.provider)) ??\n providerTargets.find((target) => target.disabled !== true) ??\n providerTargets[0] ??\n (input.useStaticCatalog === false\n ? null\n : createLocalAgentGUIProviderTarget(input.provider))\n );\n}\n\nexport function agentGUIProviderTargetRefsEqual(\n left: AgentGUIProviderTargetRef | null | undefined,\n right: AgentGUIProviderTargetRef | null | undefined\n): boolean {\n if (left === right) {\n return true;\n }\n if (!left && !right) {\n return true;\n }\n if (!left || !right) {\n return false;\n }\n return stableProviderTargetRefKey(left) === stableProviderTargetRefKey(right);\n}\n\nfunction normalizeAgentGUIProviderTarget(\n target: AgentGUIProviderTarget\n): AgentGUIProviderTarget | null {\n const targetId = target.targetId.trim();\n const agentTargetId = target.agentTargetId?.trim();\n const label = target.label.trim();\n const kind =\n typeof target.ref.kind === \"string\" ? target.ref.kind.trim() : \"\";\n if (!targetId || !label || !kind || target.ref.provider !== target.provider) {\n return null;\n }\n return {\n ...target,\n targetId,\n ...(agentTargetId ? { agentTargetId } : {}),\n provider: target.provider,\n ref: {\n ...target.ref,\n kind,\n provider: target.provider\n },\n label,\n ...(target.description?.trim()\n ? { description: target.description.trim() }\n : {}),\n ...(target.ownerLabel?.trim()\n ? { ownerLabel: target.ownerLabel.trim() }\n : {}),\n ...(target.unavailableReason?.trim()\n ? { unavailableReason: target.unavailableReason.trim() }\n : {})\n };\n}\n\nfunction stableProviderTargetRefKey(ref: AgentGUIProviderTargetRef): string {\n return JSON.stringify(sortProviderTargetRefValue(ref));\n}\n\nfunction sortProviderTargetRefValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortProviderTargetRefValue);\n }\n if (!value || typeof value !== \"object\") {\n return value;\n }\n return Object.fromEntries(\n Object.entries(value)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, entryValue]) => [key, sortProviderTargetRefValue(entryValue)])\n );\n}\n"],"mappings":"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","names":[]}
@@ -15,7 +15,7 @@ import {
15
15
  resolveWorkspaceFilePathCandidate,
16
16
  resolveWorkspaceLinkAction,
17
17
  useAgentTargetPresentations
18
- } from "./chunk-B6YDXIZW.js";
18
+ } from "./chunk-SW6JCJCO.js";
19
19
  import {
20
20
  classifyFailedAgentMessage,
21
21
  openAgentEnvPanel,
@@ -28,7 +28,7 @@ import {
28
28
  formatAgentMentionMarkdown,
29
29
  mentionItemToAttrs,
30
30
  parseAgentMentionMarkdown
31
- } from "./chunk-2LGUBUEJ.js";
31
+ } from "./chunk-FQQDBBNI.js";
32
32
  import {
33
33
  fileChangeCountFromChanges,
34
34
  fileChangeEntriesFromChanges,
@@ -45,7 +45,7 @@ import {
45
45
  import {
46
46
  getActiveUiLanguage,
47
47
  translate
48
- } from "./chunk-24CUBQKJ.js";
48
+ } from "./chunk-RO6KQD3J.js";
49
49
 
50
50
  // shared/workspaceAgentTimelineCanonical.ts
51
51
  import { isLiveTurnLifecyclePhase } from "@tutti-os/agent-activity-core";
@@ -15053,4 +15053,4 @@ export {
15053
15053
  AgentConversationFlow,
15054
15054
  useProjectedAgentConversation
15055
15055
  };
15056
- //# sourceMappingURL=chunk-JLJIAKI3.js.map
15056
+ //# sourceMappingURL=chunk-6MUKWI6Z.js.map
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  translate,
13
13
  translateInUiLanguage
14
- } from "./chunk-24CUBQKJ.js";
14
+ } from "./chunk-RO6KQD3J.js";
15
15
  import {
16
16
  normalizeAgentTitleText
17
17
  } from "./chunk-GCBDIQDX.js";
@@ -1007,4 +1007,4 @@ export {
1007
1007
  resolveWorkspaceAgentActivityStatus,
1008
1008
  resolveWorkspaceAgentActivityTitle
1009
1009
  };
1010
- //# sourceMappingURL=chunk-I5ZIKJVN.js.map
1010
+ //# sourceMappingURL=chunk-7P6CUYQT.js.map
@@ -10,6 +10,7 @@ var enMessages = {
10
10
  agentProviderSessionNotFound: "This session history is still available, but the underlying provider session can no longer be restored.",
11
11
  agentResumeSessionNotLocal: "This session cannot be resumed on this device. Start a new session and @this session to keep going.",
12
12
  agentSettingsRequireNewSession: "This model can only be used in a new session to preserve context.",
13
+ agentPermissionModeAppliesNextTurn: "Permission mode will apply starting with your next message.",
13
14
  agentThisSessionMentionLabel: "this session",
14
15
  terminalLaunchFailed: "Terminal launch failed: {{message}}",
15
16
  fallbackTerminalFailed: "Fallback terminal launch also failed: {{message}}",
@@ -464,7 +465,7 @@ var en = {
464
465
  providerGateLoginAction: "Connect",
465
466
  providerGateComingSoonTitle: "{{provider}} is coming soon",
466
467
  providerGateComingSoonDescription: "{{provider}} is not available yet. We will enable this agent when it is ready.",
467
- providerGateComingSoonAction: "Coming soon",
468
+ providerGateComingSoonAction: "comming soon",
468
469
  providerGateUnavailableTitle: "{{provider}} is not ready yet",
469
470
  providerGateUnavailableDescription: "We could not confirm that {{provider}} is ready. Try checking again.",
470
471
  providerGateRetryAction: "Check again",
@@ -2517,6 +2518,7 @@ var zhCNMessages = {
2517
2518
  agentProviderSessionNotFound: "\u8FD9\u6761\u4F1A\u8BDD\u5386\u53F2\u4ECD\u53EF\u67E5\u770B\uFF0C\u4F46\u5E95\u5C42 Provider \u4F1A\u8BDD\u5DF2\u7ECF\u65E0\u6CD5\u6062\u590D\u3002",
2518
2519
  agentResumeSessionNotLocal: "\u8FD9\u4E2A\u4F1A\u8BDD\u6CA1\u6CD5\u5728\u5F53\u524D\u8BBE\u5907\u91CC\u76F4\u63A5\u6062\u590D\uFF0C\u4F60\u53EF\u4EE5\u5728\u65B0\u4F1A\u8BDD\u91CC @\u8FD9\u6BB5\u5BF9\u8BDD\uFF0C\u63A5\u7740\u7EE7\u7EED\u804A\u3002",
2519
2520
  agentSettingsRequireNewSession: "\u4E3A\u4E86\u4FDD\u7559\u4E0A\u4E0B\u6587\uFF0C\u8FD9\u4E2A\u6A21\u578B\u53EA\u80FD\u5728\u65B0\u4F1A\u8BDD\u4E2D\u4F7F\u7528",
2521
+ agentPermissionModeAppliesNextTurn: "\u6743\u9650\u6A21\u5F0F\u5C06\u4ECE\u4F60\u7684\u4E0B\u4E00\u6761\u6D88\u606F\u5F00\u59CB\u751F\u6548\u3002",
2520
2522
  agentThisSessionMentionLabel: "\u672C session",
2521
2523
  terminalLaunchFailed: "\u7EC8\u7AEF\u542F\u52A8\u5931\u8D25\uFF1A{{message}}",
2522
2524
  fallbackTerminalFailed: "\u515C\u5E95\u7EC8\u7AEF\u542F\u52A8\u4E5F\u5931\u8D25\u4E86\uFF1A{{message}}",
@@ -2971,7 +2973,7 @@ var zhCN = {
2971
2973
  providerGateLoginAction: "\u8FDE\u63A5",
2972
2974
  providerGateComingSoonTitle: "{{provider}} \u5373\u5C06\u4E0A\u7EBF",
2973
2975
  providerGateComingSoonDescription: "{{provider}} \u6682\u672A\u5F00\u653E\u3002\u51C6\u5907\u597D\u540E\u5373\u53EF\u5728\u8FD9\u91CC\u4F7F\u7528\u8FD9\u4E2A Agent\u3002",
2974
- providerGateComingSoonAction: "\u5373\u5C06\u4E0A\u7EBF",
2976
+ providerGateComingSoonAction: "comming soon",
2975
2977
  providerGateUnavailableTitle: "{{provider}} \u6682\u65F6\u8FD8\u4E0D\u53EF\u7528",
2976
2978
  providerGateUnavailableDescription: "\u6211\u4EEC\u8FD8\u4E0D\u80FD\u786E\u8BA4 {{provider}} \u5DF2\u51C6\u5907\u597D\uFF0C\u53EF\u4EE5\u518D\u68C0\u6D4B\u4E00\u6B21\u3002",
2977
2979
  providerGateRetryAction: "\u91CD\u65B0\u68C0\u6D4B",
@@ -5075,4 +5077,4 @@ export {
5075
5077
  translateInUiLanguage,
5076
5078
  getActiveUiLanguage
5077
5079
  };
5078
- //# sourceMappingURL=chunk-6VVBG4BF.js.map
5080
+ //# sourceMappingURL=chunk-CA25GD5Q.js.map