@tutti-os/agent-gui 0.0.73 → 0.0.75

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 (95) hide show
  1. package/README.md +23 -2
  2. package/dist/agent-conversation/index.d.ts +5 -5
  3. package/dist/agent-conversation/index.js +8 -8
  4. package/dist/agent-message-center/index.d.ts +2 -2
  5. package/dist/agent-message-center/index.js +170 -12
  6. package/dist/agent-message-center/index.js.map +1 -1
  7. package/dist/{agentConversationVM-DPAgUJlR.d.ts → agentConversationVM-BgoqFyE9.d.ts} +1 -1
  8. package/dist/{agentGuiNodeTypes-aJ3AX7u2.d.ts → agentGuiNodeTypes-CmuJ7VDZ.d.ts} +17 -6
  9. package/dist/app/renderer/agentactivity.css +58 -33
  10. package/dist/app/renderer/assets/icons/agents/cursor-colorful.png +0 -0
  11. package/dist/app/renderer/assets/icons/agents/opencode-rounded.png +0 -0
  12. package/dist/app/renderer/assets/icons/agents/provider-rail-opencode-colorful.png +0 -0
  13. package/dist/{chunk-IVIXKAEH.js → chunk-3FYA2K4P.js} +76 -7
  14. package/dist/chunk-3FYA2K4P.js.map +1 -0
  15. package/dist/{chunk-4US2YHBY.js → chunk-4HP6V2YA.js} +16 -4
  16. package/dist/chunk-4HP6V2YA.js.map +1 -0
  17. package/dist/{chunk-G6BVEY7I.js → chunk-4TNM6ZEC.js} +3 -114
  18. package/dist/chunk-4TNM6ZEC.js.map +1 -0
  19. package/dist/{chunk-3PKRGSMH.js → chunk-52GTPN7X.js} +4 -23
  20. package/dist/chunk-52GTPN7X.js.map +1 -0
  21. package/dist/{chunk-OBJRIQPX.js → chunk-7GSBP5CN.js} +68 -34
  22. package/dist/chunk-7GSBP5CN.js.map +1 -0
  23. package/dist/{chunk-2I2WRI4F.js → chunk-BEM3KDOJ.js} +3 -4
  24. package/dist/chunk-BEM3KDOJ.js.map +1 -0
  25. package/dist/{chunk-ATEZXUHK.js → chunk-BT2DT2P7.js} +1 -1
  26. package/dist/chunk-BT2DT2P7.js.map +1 -0
  27. package/dist/{chunk-SVGIWXNK.js → chunk-GZX2SGAG.js} +2 -2
  28. package/dist/{chunk-KWQ4N4IZ.js → chunk-KELYWKTC.js} +28 -6
  29. package/dist/chunk-KELYWKTC.js.map +1 -0
  30. package/dist/{chunk-UAAXRSW2.js → chunk-L2ZMLLYL.js} +14 -7
  31. package/dist/chunk-L2ZMLLYL.js.map +1 -0
  32. package/dist/{chunk-5H6NINJY.js → chunk-M6FZ2YIR.js} +3 -8
  33. package/dist/chunk-M6FZ2YIR.js.map +1 -0
  34. package/dist/{chunk-XZF4QNT4.js → chunk-MNESUMOS.js} +2 -2
  35. package/dist/{chunk-466AWJTS.js → chunk-QDKD6RNC.js} +15 -6
  36. package/dist/{chunk-466AWJTS.js.map → chunk-QDKD6RNC.js.map} +1 -1
  37. package/dist/{chunk-GDFQXJMG.js → chunk-RIRFNGPB.js} +7 -7
  38. package/dist/chunk-RIRFNGPB.js.map +1 -0
  39. package/dist/{chunk-4I2VCAMW.js → chunk-SYWMKIRW.js} +4 -11
  40. package/dist/chunk-SYWMKIRW.js.map +1 -0
  41. package/dist/{chunk-SZF52NMJ.js → chunk-U6AZ3XQS.js} +38 -13
  42. package/dist/chunk-U6AZ3XQS.js.map +1 -0
  43. package/dist/{chunk-Q6AWM3RH.js → chunk-U6EDUTUO.js} +4 -4
  44. package/dist/{chunk-MYD37I32.js → chunk-VAKFNNKT.js} +1 -15
  45. package/dist/chunk-VAKFNNKT.js.map +1 -0
  46. package/dist/{chunk-BHNJN2TR.js → chunk-XW4CVBUH.js} +2 -5
  47. package/dist/chunk-XW4CVBUH.js.map +1 -0
  48. package/dist/{chunk-C7K3EFGI.js → chunk-YWQHNFYA.js} +2 -2
  49. package/dist/context-mention-palette/index.js +9 -9
  50. package/dist/i18n/index.d.ts +2 -110
  51. package/dist/i18n/index.js +2 -2
  52. package/dist/index.d.ts +86 -10
  53. package/dist/index.js +1284 -667
  54. package/dist/index.js.map +1 -1
  55. package/dist/plan-decision-ops.d.ts +2 -2
  56. package/dist/queued-prompt-runtime.d.ts +4 -6
  57. package/dist/queued-prompt-runtime.js +1 -1
  58. package/dist/{types-CrwMqBm1.d.ts → types-DUHHejs2.d.ts} +3 -3
  59. package/dist/workbench/contribution.d.ts +1 -1
  60. package/dist/workbench/contribution.js +6 -6
  61. package/dist/workbench/index.d.ts +1 -1
  62. package/dist/workbench/index.js +9 -9
  63. package/dist/workbench/launch.d.ts +2 -2
  64. package/dist/workbench/launch.js +3 -3
  65. package/dist/workbench/providerCatalog.d.ts +3 -3
  66. package/dist/workbench/providerCatalog.js +1 -1
  67. package/dist/workbench/sessionTitle.d.ts +1 -1
  68. package/dist/workbench/sessionTitle.js +3 -3
  69. package/dist/workbench/state.d.ts +1 -1
  70. package/dist/workbench/state.js +2 -2
  71. package/dist/workbench/types.d.ts +2 -2
  72. package/dist/workbench/types.js +1 -1
  73. package/dist/workspace-agent-generated-files.d.ts +1 -1
  74. package/dist/workspace-agent-generated-files.js +4 -4
  75. package/dist/{workspaceAgentActivityListViewModel-DJvAqZso.d.ts → workspaceAgentActivityListViewModel-TXH1VXrk.d.ts} +0 -10
  76. package/package.json +12 -12
  77. package/dist/chunk-2I2WRI4F.js.map +0 -1
  78. package/dist/chunk-3PKRGSMH.js.map +0 -1
  79. package/dist/chunk-4I2VCAMW.js.map +0 -1
  80. package/dist/chunk-4US2YHBY.js.map +0 -1
  81. package/dist/chunk-5H6NINJY.js.map +0 -1
  82. package/dist/chunk-ATEZXUHK.js.map +0 -1
  83. package/dist/chunk-BHNJN2TR.js.map +0 -1
  84. package/dist/chunk-G6BVEY7I.js.map +0 -1
  85. package/dist/chunk-GDFQXJMG.js.map +0 -1
  86. package/dist/chunk-IVIXKAEH.js.map +0 -1
  87. package/dist/chunk-KWQ4N4IZ.js.map +0 -1
  88. package/dist/chunk-MYD37I32.js.map +0 -1
  89. package/dist/chunk-OBJRIQPX.js.map +0 -1
  90. package/dist/chunk-SZF52NMJ.js.map +0 -1
  91. package/dist/chunk-UAAXRSW2.js.map +0 -1
  92. /package/dist/{chunk-SVGIWXNK.js.map → chunk-GZX2SGAG.js.map} +0 -0
  93. /package/dist/{chunk-XZF4QNT4.js.map → chunk-MNESUMOS.js.map} +0 -0
  94. /package/dist/{chunk-Q6AWM3RH.js.map → chunk-U6EDUTUO.js.map} +0 -0
  95. /package/dist/{chunk-C7K3EFGI.js.map → chunk-YWQHNFYA.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../shared/workspaceAgentProviderLabel.ts","../shared/workspaceAgentActivityTypes.ts"],"sourcesContent":["export function workspaceAgentProviderLabel(provider: string): string {\n const normalized = provider.trim().toLowerCase();\n switch (normalized) {\n case \"codex\":\n return \"Codex\";\n case \"claude-code\":\n return \"Claude Code\";\n case \"openclaw\":\n return \"OpenClaw\";\n case \"opencode\":\n return \"Open Code\";\n case \"hermes\":\n return \"Hermes\";\n case \"nexight\":\n return \"Nexight\";\n case \"unknown\":\n return \"Unknown\";\n default:\n return titleCase(provider);\n }\n}\n\nfunction titleCase(value: string): string {\n return value\n .split(/[-_\\s]+/)\n .filter(Boolean)\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(\" \");\n}\n","import {\n mergeAgentActivityMessages,\n AgentActivityMessage,\n AgentActivityMessageSemantics,\n AgentActivityPresence,\n AgentActivitySession,\n AgentActivitySnapshot,\n AgentActivitySubmitAvailability,\n AgentActivityTurnLifecycle\n} from \"@tutti-os/agent-activity-core\";\n\nexport type WorkspaceAgentActivityProvider = \"codex\" | \"claude-code\" | string;\n\nexport interface WorkspaceAgentActivityComposerSettings {\n model?: string | null;\n reasoningEffort?: string | null;\n speed?: string | null;\n planMode?: boolean;\n browserUse?: boolean;\n computerUse?: boolean;\n permissionModeId?: string | null;\n}\n\nexport const WORKSPACE_AGENT_ACTIVITY_RUNTIME_SESSION_ORIGIN =\n \"WORKSPACE_AGENT_SESSION_ORIGIN_RUNTIME\";\n\nexport type WorkspaceAgentActivitySessionOrigin =\n | typeof WORKSPACE_AGENT_ACTIVITY_RUNTIME_SESSION_ORIGIN\n | string;\n\nexport function isWorkspaceAgentActivityRuntimeSessionOrigin(\n sessionOrigin: string | null | undefined\n): boolean {\n const normalized = sessionOrigin?.trim() ?? \"\";\n // Core-native AgentActivitySession does not carry the legacy host origin DTO.\n return (\n normalized === \"\" ||\n normalized === WORKSPACE_AGENT_ACTIVITY_RUNTIME_SESSION_ORIGIN\n );\n}\n\nexport function createWorkspaceAgentActivityUserMessageIdFromClientSubmitId(\n clientSubmitId: string\n): string | null {\n const normalized = clientSubmitId.trim();\n return normalized ? `client-submit:user:${normalized}` : null;\n}\n\nexport type WorkspaceAgentActivitySyncStatus =\n | \"pending\"\n | \"synced\"\n | \"failed\"\n | string;\n\nexport interface WorkspaceAgentActivitySyncState {\n workspaceId?: string;\n agentSessionId?: string;\n status: WorkspaceAgentActivitySyncStatus;\n pendingTimelineItemCount?: number;\n pendingStatePatchCount?: number;\n attemptCount?: number;\n failedReportCount?: number;\n lastError?: string;\n lastAttemptAtUnixMs?: number;\n lastSyncedAtUnixMs?: number;\n updatedAtUnixMs?: number;\n}\n\nexport interface WorkspaceAgentActivityPresence extends Omit<\n AgentActivityPresence,\n \"id\" | \"provider\" | \"status\"\n> {\n id: string | number;\n provider: WorkspaceAgentActivityProvider;\n status: string;\n userId?: string | null;\n}\n\nexport interface WorkspaceAgentActivitySession extends Omit<\n AgentActivitySession,\n | \"provider\"\n | \"providerSessionId\"\n | \"pinnedAtUnixMs\"\n | \"status\"\n | \"title\"\n | \"workspaceId\"\n> {\n id?: number;\n workspaceId?: string;\n presenceId?: string | number;\n userId?: string;\n provider?: WorkspaceAgentActivityProvider;\n providerSessionId?: string | null;\n resumable?: boolean;\n sessionOrigin?: WorkspaceAgentActivitySessionOrigin;\n lifecycleStatus?: string;\n turnPhase?: string;\n endedAtUnixMs?: number;\n effectiveStatus?: string;\n status?: string;\n turnLifecycle?: AgentActivityTurnLifecycle | null;\n submitAvailability?: AgentActivitySubmitAvailability | null;\n title?: string;\n pinnedAtUnixMs?: number | null;\n syncState?: WorkspaceAgentActivitySyncState;\n}\n\nexport interface WorkspaceAgentActivityFileChange {\n path: string;\n change?: \"added\" | \"modified\" | \"deleted\" | \"moved\" | string;\n tools?: string[];\n}\n\nexport interface WorkspaceAgentActivityFileChanges {\n coverage?: string;\n files?: WorkspaceAgentActivityFileChange[];\n}\n\nexport interface WorkspaceAgentActivityTimelineItem {\n id: number;\n workspaceId?: string;\n agentSessionId: string;\n seq?: number;\n turnId?: string;\n eventSource?: string;\n eventId: string;\n actorType: string;\n actorId: string;\n itemType: \"message\" | \"call\" | \"event\" | \"error\" | \"lifecycle\" | string;\n role?: string;\n callType?: \"tool\" | \"skill\" | \"subagent\" | \"approval\" | \"workflow\" | string;\n callId?: string;\n name?: string;\n status?: string | null;\n content?: string;\n payload?: Record<string, unknown> & {\n content?: unknown;\n text?: unknown;\n fileChanges?: WorkspaceAgentActivityFileChanges;\n };\n occurredAtUnixMs?: number;\n createdAtUnixMs?: number;\n}\n\nexport interface WorkspaceAgentActivityMessage extends Omit<\n AgentActivityMessage,\n \"id\" | \"status\"\n> {\n id?: number;\n status?: string | null;\n semantics?: AgentActivityMessageSemantics;\n}\n\nexport interface WorkspaceAgentActivitySnapshot extends Omit<\n AgentActivitySnapshot,\n \"sessions\" | \"presences\" | \"sessionMessagesById\" | \"workspaceId\"\n> {\n workspaceId?: string;\n presences: WorkspaceAgentActivityPresence[];\n sessions: WorkspaceAgentActivitySession[];\n sessionMessagesById?: Record<string, WorkspaceAgentActivityMessage[]>;\n}\n\nexport interface WorkspaceAgentActivityTurnStatePatch {\n turnId: string;\n phase?: string;\n outcome?: string;\n fileChanges?: Record<string, unknown>;\n startedAtUnixMs?: number;\n completedAtUnixMs?: number;\n activeTurnId?: string | null;\n settling?: boolean;\n completedCommand?: {\n kind: string;\n status: string;\n } | null;\n submitAvailability?: AgentActivitySubmitAvailability;\n}\n\nexport interface WorkspaceAgentActivityEntityStatePatch {\n callId: string;\n turnId?: string;\n callType?: string;\n name?: string;\n status?: string;\n input?: Record<string, unknown>;\n output?: Record<string, unknown>;\n error?: Record<string, unknown>;\n startedAtUnixMs?: number;\n completedAtUnixMs?: number;\n}\n\nexport interface WorkspaceAgentActivityStatePatch {\n workspaceId?: string;\n agentSessionId: string;\n provider?: string;\n providerSessionId?: string;\n model?: string;\n permissionModeId?: string;\n settings?: WorkspaceAgentActivityComposerSettings;\n runtimeContext?: Record<string, unknown>;\n pendingInteractive?: AgentActivitySession[\"pendingInteractive\"];\n cwd?: string;\n title?: string;\n lifecycleStatus?: string;\n currentPhase?: string;\n lastError?: string;\n occurredAtUnixMs?: number;\n submitAvailability?: AgentActivitySubmitAvailability;\n turn?: WorkspaceAgentActivityTurnStatePatch;\n entities?: WorkspaceAgentActivityEntityStatePatch[];\n}\n\nexport interface WorkspaceAgentActivitySessionSummaryItem {\n id?: number;\n turnId?: string;\n actorType?: string;\n actorId?: string;\n itemType?: string;\n role?: string;\n content?: string;\n title?: string;\n status?: string;\n callType?: string;\n name?: string;\n payload?: Record<string, unknown>;\n occurredAtUnixMs?: number;\n}\n\nexport interface WorkspaceAgentActivitySessionSummaryTurn {\n turnId: string;\n userItems?: WorkspaceAgentActivitySessionSummaryItem[];\n agentItems?: WorkspaceAgentActivitySessionSummaryItem[];\n}\n\nexport interface WorkspaceAgentActivitySessionExecutionStatus {\n currentOrFinalStatus?: string;\n updatedAtUnixMs?: number;\n}\n\nexport interface WorkspaceAgentActivitySessionSummary {\n agentSessionId: string;\n latestUserRequirement?: string;\n initialUserRequirement?: string;\n latestTurn?: WorkspaceAgentActivitySessionSummaryTurn;\n recentAgentReplies?: string[];\n recentTurns?: WorkspaceAgentActivitySessionSummaryTurn[];\n currentOrFinalStatus?: string;\n executionStatus?: WorkspaceAgentActivitySessionExecutionStatus;\n}\n\nexport function isWorkspaceAgentActivityOptimisticMessage(\n message: WorkspaceAgentActivityMessage\n): boolean {\n return message.payload?.__agentGuiOptimisticPrompt === true;\n}\n\nexport function isWorkspaceAgentActivityTimelineProjectionMessage(\n message: WorkspaceAgentActivityMessage\n): boolean {\n return message.payload?.__agentGuiTimelineProjection === true;\n}\n\nexport function minFiniteDurableWorkspaceAgentActivityMessageVersion(\n messages: readonly WorkspaceAgentActivityMessage[]\n): number | null {\n let result: number | null = null;\n for (const message of messages) {\n if (\n !Number.isFinite(message.version) ||\n isWorkspaceAgentActivityOptimisticMessage(message) ||\n isWorkspaceAgentActivityTimelineProjectionMessage(message)\n ) {\n continue;\n }\n result =\n result === null ? message.version : Math.min(result, message.version);\n }\n return result;\n}\n\nexport function selectWorkspaceAgentActivityOverlayMessages(input: {\n durableMessages?: readonly WorkspaceAgentActivityMessage[] | null;\n localMessages?: readonly WorkspaceAgentActivityMessage[] | null;\n}): WorkspaceAgentActivityMessage[] {\n const durableMessages = input.durableMessages ?? [];\n const localMessages = input.localMessages ?? [];\n if (localMessages.length === 0) {\n return [];\n }\n const durableIdentities = new Set(\n durableMessages\n .map(workspaceAgentActivityMessageIdentity)\n .filter((identity): identity is string => identity !== null)\n );\n const durableClientSubmitIds = new Set(\n durableMessages\n .map(workspaceAgentActivityClientSubmitId)\n .filter(\n (clientSubmitId): clientSubmitId is string => clientSubmitId !== null\n )\n );\n const durableUserPromptSignatures = new Set(\n durableMessages\n .map(workspaceAgentActivityUserPromptSignature)\n .filter((signature): signature is string => signature !== null)\n );\n return localMessages.filter((message) => {\n const identity = workspaceAgentActivityMessageIdentity(message);\n if (identity !== null && durableIdentities.has(identity)) {\n return false;\n }\n if (isWorkspaceAgentActivityOptimisticMessage(message)) {\n const clientSubmitId = workspaceAgentActivityClientSubmitId(message);\n if (\n clientSubmitId !== null &&\n durableClientSubmitIds.has(clientSubmitId)\n ) {\n return false;\n }\n if (clientSubmitId !== null) {\n return true;\n }\n const signature = workspaceAgentActivityUserPromptSignature(message);\n return signature === null || !durableUserPromptSignatures.has(signature);\n }\n return true;\n });\n}\n\nexport function mergeWorkspaceAgentActivityDurableAndOverlayMessages(input: {\n durableMessages?: readonly WorkspaceAgentActivityMessage[] | null;\n localMessages?: readonly WorkspaceAgentActivityMessage[] | null;\n}): WorkspaceAgentActivityMessage[] {\n const durableMessages = input.durableMessages ?? [];\n const overlayMessages = selectWorkspaceAgentActivityOverlayMessages(input);\n if (overlayMessages.length === 0) {\n return [...durableMessages];\n }\n // Optimistic echoes carry version 0 (outside the durable version domain),\n // so they cannot participate in a version sort. Durable-domain overlay rows\n // merge by version as usual; surviving echoes append after all durable\n // rows, ordered among themselves by when the user submitted.\n const overlayDurableMessages = overlayMessages.filter(\n (message) => !isWorkspaceAgentActivityOptimisticMessage(message)\n );\n const optimisticMessages = overlayMessages\n .filter(isWorkspaceAgentActivityOptimisticMessage)\n .slice()\n .sort(\n (left, right) =>\n left.occurredAtUnixMs - right.occurredAtUnixMs ||\n left.messageId.localeCompare(right.messageId)\n );\n const merged =\n overlayDurableMessages.length === 0\n ? [...durableMessages]\n : mergeAgentActivityMessages(durableMessages, overlayDurableMessages);\n return optimisticMessages.length === 0\n ? merged\n : [...merged, ...optimisticMessages];\n}\n\nfunction workspaceAgentActivityMessageIdentity(\n message: WorkspaceAgentActivityMessage\n): string | null {\n const messageId = message.messageId?.trim() ?? \"\";\n if (messageId) {\n return `message:${messageId}`;\n }\n if (typeof message.version === \"number\" && Number.isFinite(message.version)) {\n return `version:${message.version}`;\n }\n return null;\n}\n\nfunction workspaceAgentActivityClientSubmitId(\n message: WorkspaceAgentActivityMessage\n): string | null {\n const clientSubmitId = message.payload?.clientSubmitId;\n return typeof clientSubmitId === \"string\" && clientSubmitId.trim()\n ? `${message.agentSessionId}\\u0000${clientSubmitId.trim()}`\n : null;\n}\n\nfunction workspaceAgentActivityUserPromptSignature(\n message: WorkspaceAgentActivityMessage\n): string | null {\n if (message.role !== \"user\") {\n return null;\n }\n const text = workspaceAgentActivityPayloadText(message.payload).trim();\n const content = workspaceAgentActivityPayloadContentSignature(\n message.payload\n );\n if (!text && content === null) {\n return null;\n }\n return [message.agentSessionId, text, content ?? \"\"].join(\"\\u0000\");\n}\n\nfunction workspaceAgentActivityPayloadText(\n payload: Record<string, unknown> | undefined\n): string {\n const text = payload?.text;\n return typeof text === \"string\" ? text : \"\";\n}\n\nfunction workspaceAgentActivityPayloadContentSignature(\n payload: Record<string, unknown> | undefined\n): string | null {\n if (!payload || !Object.prototype.hasOwnProperty.call(payload, \"content\")) {\n return null;\n }\n const content = payload.content;\n if (!Array.isArray(content)) {\n return null;\n }\n const parts: string[] = [];\n for (const block of content) {\n const signature = workspaceAgentActivityPromptBlockSignature(block);\n if (signature === null) {\n return null;\n }\n parts.push(signature);\n }\n return parts.join(\"\\u0001\");\n}\n\nfunction workspaceAgentActivityPromptBlockSignature(\n block: unknown\n): string | null {\n if (!block || typeof block !== \"object\") {\n return null;\n }\n const record = block as Record<string, unknown>;\n const type = workspaceAgentActivityStringField(record, \"type\");\n if (!type) {\n return null;\n }\n const fields = [\n \"text\",\n \"mimeType\",\n \"data\",\n \"url\",\n \"attachmentId\",\n \"name\",\n \"path\",\n \"uri\",\n \"hostPath\",\n \"uploadStatus\",\n \"assetId\",\n \"kind\"\n ];\n const parts = [`type=${type}`];\n for (const field of fields) {\n const value = workspaceAgentActivityStringField(record, field);\n if (value) {\n parts.push(`${field}=${value}`);\n }\n }\n const sizeBytes = record.sizeBytes;\n if (typeof sizeBytes === \"number\" && Number.isFinite(sizeBytes)) {\n parts.push(`sizeBytes=${sizeBytes}`);\n }\n return parts.join(\"\\u0002\");\n}\n\nfunction workspaceAgentActivityStringField(\n record: Record<string, unknown>,\n field: string\n): string {\n const value = record[field];\n return typeof value === \"string\" ? value.trim() : \"\";\n}\n"],"mappings":"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","names":[]}
@@ -584,12 +584,6 @@ var en = {
584
584
  description: "Minimizes permission checks. Best for trusted tasks that need uninterrupted execution."
585
585
  }
586
586
  },
587
- gemini: {
588
- yolo: {
589
- label: "Fixed mode",
590
- description: "This provider doesn't support changing permission mode here."
591
- }
592
- },
593
587
  hermes: {
594
588
  yolo: {
595
589
  label: "Fixed mode",
@@ -1077,6 +1071,7 @@ var en = {
1077
1071
  mentionEmptyAgentGeneratedFiles: "No files generated by Agent yet",
1078
1072
  mentionAgentGeneratedFolderBack: "Back",
1079
1073
  mentionAgentGeneratedFolderFileCount: "Contains {{count}} files",
1074
+ mentionAgentTargetAvailable: "Available",
1080
1075
  mentionNoMatchingFiles: "No matching files",
1081
1076
  mentionOpenReferences: "View output",
1082
1077
  issueRunPrompt: {
@@ -1571,18 +1566,10 @@ var en = {
1571
1566
  }
1572
1567
  },
1573
1568
  workspaceConnecting: "Preparing your room\u2026",
1574
- /** Shown while entering a room you do not own (shared / invite join). */
1575
- workspaceConnectingOthersSpace: "Entering the room\u2026",
1576
1569
  unknownProvider: "Unknown provider",
1577
1570
  messages: {
1578
- inviteCodeGenerated: "Invite code generated",
1579
- inviteRevoked: "Invite revoked",
1580
1571
  roomOpened: "Room opened",
1581
1572
  roomOpenedIssue: "Room opened. Preparing to focus the task.",
1582
- recognizedSharedRoomNeedInvite: "Recognized a shared room. Enter the invite code to join the canvas.",
1583
- roomJoined: "Joined room",
1584
- roomJoinedIssue: "Joined room. Preparing to focus the task.",
1585
- inviteCodeRequired: "Enter an invite code",
1586
1573
  issueTitleRequired: "Enter a task title first",
1587
1574
  issueCreated: "Task created",
1588
1575
  issueUpdated: "Task updated",
@@ -1603,13 +1590,6 @@ var en = {
1603
1590
  issuePendingUploadAdded: "Added {{count}} pending upload file(s)",
1604
1591
  issueUploaded: "Uploaded {{count}} file(s)",
1605
1592
  issueDirectInstallUnsupported: "Installing Agents is not supported here yet",
1606
- currentInviteMissingCode: "The current invite is missing an invite code. Refresh the share panel and try again.",
1607
- roomShareLinkCopied: "Share link copied",
1608
- visitorShareLinkCopied: "Guest share link copied",
1609
- visitorShareOptionsUpdated: "Guest share settings updated",
1610
- visitorShareDisabled: "Guest sharing is off",
1611
- visitorShareTokenUnavailable: "Guest link already exists and settings were updated. The old raw link cannot be read again.",
1612
- postCreateInviteLinkCopied: "Invite link copied",
1613
1593
  collabCompleted: "This collaboration task is complete",
1614
1594
  githubLoginCompleted: "GitHub sign-in complete",
1615
1595
  googleLoginCompleted: "Google sign-in complete"
@@ -1787,7 +1767,6 @@ var en = {
1787
1767
  agentClaudeCode: "Claude Code",
1788
1768
  agentTutti: "Tutti",
1789
1769
  agentHermes: "Hermes",
1790
- agentGemini: "Gemini",
1791
1770
  agentOpenClaw: "OpenClaw",
1792
1771
  statusNotStarted: "To run",
1793
1772
  statusRunning: "Running",
@@ -2250,41 +2229,6 @@ var en = {
2250
2229
  noSkillsFound: "No skills found."
2251
2230
  }
2252
2231
  },
2253
- workspaceSharePanel: {
2254
- title: "Share room",
2255
- /** Room top bar — primary 一级, size sm (28px); modal Copy link uses default (32px) */
2256
- topBarAction: "Share",
2257
- subtitle: "You are the room owner. You can invite {{count}} more collaborators.",
2258
- closeAria: "Close share dialog",
2259
- membersSection: "Members",
2260
- ownerRole: "Room owner",
2261
- inviteSlots: "Invites",
2262
- invitedCount: "Invited {{current}}/{{max}}",
2263
- slotLabel: "Invite slot {{n}}",
2264
- slotSubUsedShort: "Invite link used",
2265
- slotSubPending: "Link generated, not yet used",
2266
- slotSubEmpty: "Pending invite",
2267
- statusPending: "Unused",
2268
- statusUsed: "Used",
2269
- statusRevoked: "Revoked",
2270
- statusEmpty: "Empty",
2271
- copyInviteLink: "Copy link",
2272
- revoke: "Revoke",
2273
- emptyStateUsed: "Used; can reissue",
2274
- emptyStatePending: "Pending invite",
2275
- generateLink: "Generate link",
2276
- memberViaInvite: "Joined via invite link",
2277
- memberRole: "Collaborator",
2278
- visitorShareTitle: "Guest sharing",
2279
- visitorShareEnabled: "On",
2280
- visitorShareDisabled: "Off",
2281
- visitorShareContextLabel: "Let guests view messages and file tree",
2282
- visitorShareContextHint: "Guests can only read. They cannot edit, use terminals, or run agents.",
2283
- visitorShareNoLinkHint: "Generate a guest link so anyone with the link can open this room read-only.",
2284
- visitorShareGetLink: "Get share link",
2285
- visitorShareCopyLink: "Copy share link",
2286
- visitorShareDisable: "Turn off sharing"
2287
- },
2288
2232
  settingsPanel: enSettingsPanel,
2289
2233
  websiteNode: enWebsiteNode,
2290
2234
  terminalNode: {
@@ -3116,12 +3060,6 @@ var zhCN = {
3116
3060
  description: "\u5C3D\u91CF\u4E0D\u505A\u6743\u9650\u62E6\u622A\uFF0C\u9002\u5408\u9700\u8981\u8FDE\u7EED\u6267\u884C\u4E14\u4F60\u5B8C\u5168\u4FE1\u4EFB\u7684\u4EFB\u52A1\u3002"
3117
3061
  }
3118
3062
  },
3119
- gemini: {
3120
- yolo: {
3121
- label: "\u56FA\u5B9A\u6A21\u5F0F",
3122
- description: "\u5F53\u524D provider \u4E0D\u652F\u6301\u5728\u8FD9\u91CC\u8C03\u6574\u6743\u9650\u6A21\u5F0F\u3002"
3123
- }
3124
- },
3125
3063
  hermes: {
3126
3064
  yolo: {
3127
3065
  label: "\u56FA\u5B9A\u6A21\u5F0F",
@@ -3609,6 +3547,7 @@ var zhCN = {
3609
3547
  mentionEmptyAgentGeneratedFiles: "\u6682\u65E0 Agent \u751F\u6210\u7684\u6587\u4EF6",
3610
3548
  mentionAgentGeneratedFolderBack: "\u8FD4\u56DE",
3611
3549
  mentionAgentGeneratedFolderFileCount: "\u5305\u542B {{count}} \u4E2A\u6587\u4EF6",
3550
+ mentionAgentTargetAvailable: "\u53EF\u7528",
3612
3551
  mentionNoMatchingFiles: "\u6CA1\u6709\u5339\u914D\u5230\u6587\u4EF6",
3613
3552
  mentionOpenReferences: "\u67E5\u770B\u4EA7\u7269",
3614
3553
  issueRunPrompt: {
@@ -4103,17 +4042,10 @@ var zhCN = {
4103
4042
  secondary: "\u7A0D\u540E\u518D\u5206\u4EAB"
4104
4043
  }
4105
4044
  },
4106
- workspaceConnectingOthersSpace: "\u6B63\u5728\u8FDB\u5165\u623F\u95F4\u2026",
4107
4045
  unknownProvider: "\u672A\u77E5\u63D0\u4F9B\u65B9",
4108
4046
  messages: {
4109
- inviteCodeGenerated: "\u9080\u8BF7\u7801\u5DF2\u751F\u6210",
4110
- inviteRevoked: "\u9080\u8BF7\u5DF2\u4F5C\u5E9F",
4111
4047
  roomOpened: "\u5DF2\u6253\u5F00\u623F\u95F4",
4112
4048
  roomOpenedIssue: "\u5DF2\u6253\u5F00\u623F\u95F4\uFF0C\u51C6\u5907\u5B9A\u4F4D\u5230\u5BF9\u5E94\u4EFB\u52A1",
4113
- recognizedSharedRoomNeedInvite: "\u5DF2\u8BC6\u522B\u5206\u4EAB\u623F\u95F4\uFF0C\u8BF7\u8F93\u5165\u9080\u8BF7\u7801\u52A0\u5165\u753B\u5E03",
4114
- roomJoined: "\u5DF2\u52A0\u5165\u623F\u95F4",
4115
- roomJoinedIssue: "\u5DF2\u52A0\u5165\u623F\u95F4\uFF0C\u51C6\u5907\u5B9A\u4F4D\u5230\u5BF9\u5E94\u4EFB\u52A1",
4116
- inviteCodeRequired: "\u8BF7\u8F93\u5165\u9080\u8BF7\u7801",
4117
4049
  issueTitleRequired: "\u8BF7\u5148\u586B\u5199\u4EFB\u52A1\u6807\u9898",
4118
4050
  issueCreated: "\u4EFB\u52A1\u5DF2\u521B\u5EFA",
4119
4051
  issueUpdated: "\u4EFB\u52A1\u5DF2\u66F4\u65B0",
@@ -4134,13 +4066,6 @@ var zhCN = {
4134
4066
  issuePendingUploadAdded: "\u5DF2\u52A0\u5165 {{count}} \u9879\u5F85\u4E0A\u4F20\u8D44\u6599",
4135
4067
  issueUploaded: "\u5DF2\u4E0A\u4F20 {{count}} \u9879\u8D44\u6599",
4136
4068
  issueDirectInstallUnsupported: "\u5F53\u524D\u4E0D\u652F\u6301\u5728\u8FD9\u91CC\u76F4\u63A5\u5B89\u88C5 Agent",
4137
- currentInviteMissingCode: "\u5F53\u524D\u9080\u8BF7\u7F3A\u5C11\u9080\u8BF7\u7801\uFF0C\u8BF7\u5237\u65B0\u5206\u4EAB\u9762\u677F\u540E\u91CD\u8BD5",
4138
- roomShareLinkCopied: "\u5206\u4EAB\u94FE\u63A5\u5DF2\u590D\u5236",
4139
- visitorShareLinkCopied: "\u8BBF\u5BA2\u5206\u4EAB\u94FE\u63A5\u5DF2\u590D\u5236",
4140
- visitorShareOptionsUpdated: "\u8BBF\u5BA2\u5206\u4EAB\u8BBE\u7F6E\u5DF2\u66F4\u65B0",
4141
- visitorShareDisabled: "\u8BBF\u5BA2\u5206\u4EAB\u5DF2\u5173\u95ED",
4142
- visitorShareTokenUnavailable: "\u8BBF\u5BA2\u94FE\u63A5\u5DF2\u5B58\u5728\uFF0C\u8BBE\u7F6E\u5DF2\u66F4\u65B0\uFF1B\u65E7\u94FE\u63A5\u660E\u6587\u65E0\u6CD5\u518D\u6B21\u8BFB\u53D6",
4143
- postCreateInviteLinkCopied: "\u9080\u8BF7\u94FE\u63A5\u5DF2\u590D\u5236",
4144
4069
  collabCompleted: "\u8BE5\u534F\u4F5C\u4EFB\u52A1\u5DF2\u5B8C\u6210",
4145
4070
  githubLoginCompleted: "GitHub \u767B\u5F55\u5B8C\u6210",
4146
4071
  googleLoginCompleted: "Google \u767B\u5F55\u5B8C\u6210"
@@ -4318,7 +4243,6 @@ var zhCN = {
4318
4243
  agentClaudeCode: "Claude Code",
4319
4244
  agentTutti: "Tutti",
4320
4245
  agentHermes: "Hermes",
4321
- agentGemini: "Gemini",
4322
4246
  agentOpenClaw: "OpenClaw",
4323
4247
  statusNotStarted: "\u5F85\u6267\u884C",
4324
4248
  statusRunning: "\u6267\u884C\u4E2D",
@@ -4781,41 +4705,6 @@ var zhCN = {
4781
4705
  noSkillsFound: "\u672A\u627E\u5230 Skill\u3002"
4782
4706
  }
4783
4707
  },
4784
- workspaceSharePanel: {
4785
- title: "\u5206\u4EAB\u623F\u95F4",
4786
- /** Workspace top bar — 一级主按钮 + small(28px);弹窗内「复制链接」为默认档 32px */
4787
- topBarAction: "\u5206\u4EAB",
4788
- subtitle: "\u4F60\u662F\u623F\u95F4 Owner\uFF0C\u53EF\u518D\u9080\u8BF7 {{count}} \u4F4D\u534F\u4F5C\u8005",
4789
- closeAria: "\u5173\u95ED\u5206\u4EAB\u5F39\u7A97",
4790
- membersSection: "\u6210\u5458",
4791
- ownerRole: "\u623F\u95F4 owner",
4792
- inviteSlots: "\u9080\u8BF7",
4793
- invitedCount: "\u5DF2\u9080\u8BF7 {{current}}/{{max}}",
4794
- slotLabel: "\u9080\u8BF7\u540D\u989D {{n}}",
4795
- slotSubUsedShort: "\u9080\u8BF7\u94FE\u63A5\u5DF2\u4F7F\u7528",
4796
- slotSubPending: "\u94FE\u63A5\u5DF2\u751F\u6210\uFF0C\u5C1A\u672A\u4F7F\u7528",
4797
- slotSubEmpty: "\u5F85\u9080\u8BF7",
4798
- statusPending: "\u672A\u4F7F\u7528",
4799
- statusUsed: "\u5DF2\u4F7F\u7528",
4800
- statusRevoked: "\u5DF2\u64A4\u9500",
4801
- statusEmpty: "\u7A7A",
4802
- copyInviteLink: "\u590D\u5236\u94FE\u63A5",
4803
- revoke: "\u64A4\u9500",
4804
- emptyStateUsed: "\u5DF2\u4F7F\u7528\uFF0C\u53EF\u8865\u53D1",
4805
- emptyStatePending: "\u5F85\u9080\u8BF7",
4806
- generateLink: "\u751F\u6210\u94FE\u63A5",
4807
- memberViaInvite: "\u901A\u8FC7\u9080\u8BF7\u94FE\u63A5\u52A0\u5165",
4808
- memberRole: "\u534F\u4F5C\u8005",
4809
- visitorShareTitle: "\u8BBF\u5BA2\u5206\u4EAB",
4810
- visitorShareEnabled: "\u5DF2\u5F00\u542F",
4811
- visitorShareDisabled: "\u672A\u5F00\u542F",
4812
- visitorShareContextLabel: "\u5141\u8BB8\u8BBF\u5BA2\u67E5\u770B\u6D88\u606F\u5217\u8868\u548C\u6587\u4EF6\u6811",
4813
- visitorShareContextHint: "\u8BBF\u5BA2\u53EA\u80FD\u53EA\u8BFB\u67E5\u770B\uFF0C\u4E0D\u4F1A\u83B7\u5F97\u7F16\u8F91\u3001\u7EC8\u7AEF\u6216\u6267\u884C\u6743\u9650\u3002",
4814
- visitorShareNoLinkHint: "\u751F\u6210\u8BBF\u5BA2\u94FE\u63A5\u540E\uFF0C\u4EFB\u4F55\u62FF\u5230\u94FE\u63A5\u7684\u4EBA\u90FD\u53EF\u4EE5\u53EA\u8BFB\u8BBF\u95EE\u8FD9\u4E2A\u623F\u95F4\u3002",
4815
- visitorShareGetLink: "\u83B7\u53D6\u5206\u4EAB\u94FE\u63A5",
4816
- visitorShareCopyLink: "\u590D\u5236\u5206\u4EAB\u94FE\u63A5",
4817
- visitorShareDisable: "\u5173\u95ED\u5206\u4EAB"
4818
- },
4819
4708
  settingsPanel: zhCNSettingsPanel,
4820
4709
  websiteNode: zhCNWebsiteNode,
4821
4710
  terminalNode: {
@@ -5125,4 +5014,4 @@ export {
5125
5014
  translateInUiLanguage,
5126
5015
  getActiveUiLanguage
5127
5016
  };
5128
- //# sourceMappingURL=chunk-G6BVEY7I.js.map
5017
+ //# sourceMappingURL=chunk-4TNM6ZEC.js.map