@tutti-os/agent-gui 0.0.189 → 0.0.191

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 (94) hide show
  1. package/dist/AgentRichTextReadonly-HJQQ4KAL.js +19 -0
  2. package/dist/agent-conversation/index.d.ts +29 -15
  3. package/dist/agent-conversation/index.js +11 -11
  4. package/dist/agent-env/index.js +1 -1
  5. package/dist/agent-gui.d.ts +315 -13
  6. package/dist/agent-gui.js +23 -23
  7. package/dist/agent-message-center/index.d.ts +4 -7
  8. package/dist/agent-message-center/index.js +9 -9
  9. package/dist/{agentGuiNodeTypes-DAT3XJON.d.ts → agentGuiNodeTypes-B23ubO8n.d.ts} +21 -3
  10. package/dist/agents.d.ts +2 -1
  11. package/dist/app/renderer/agentactivity.css +20 -3
  12. package/dist/{chunk-YSA4MXR5.js → chunk-4CHBM3G3.js} +9 -3
  13. package/dist/chunk-4CHBM3G3.js.map +1 -0
  14. package/dist/{chunk-NCD5I4OB.js → chunk-5VECGOBU.js} +3 -3
  15. package/dist/{chunk-F5YFT4VB.js → chunk-73FNXLC6.js} +5431 -2202
  16. package/dist/chunk-73FNXLC6.js.map +1 -0
  17. package/dist/{chunk-AODSTIED.js → chunk-AFUVWWQY.js} +2 -2
  18. package/dist/{chunk-MHOYBRCY.js → chunk-CBMWHQ7P.js} +1 -1
  19. package/dist/chunk-CBMWHQ7P.js.map +1 -0
  20. package/dist/{chunk-THBCAUBR.js → chunk-CXC3ROXQ.js} +2 -2
  21. package/dist/{chunk-THBCAUBR.js.map → chunk-CXC3ROXQ.js.map} +1 -1
  22. package/dist/{chunk-CAZ7NYUE.js → chunk-DKGFEIZ7.js} +2 -2
  23. package/dist/{chunk-5UTK6FDH.js → chunk-DNHDR2YC.js} +3 -3
  24. package/dist/{chunk-U7GYZU6V.js → chunk-E2Y4FFQW.js} +5 -5
  25. package/dist/{chunk-KAF6JPGL.js → chunk-FGD2K7AB.js} +3 -3
  26. package/dist/chunk-FGD2K7AB.js.map +1 -0
  27. package/dist/{chunk-ZREBC77R.js → chunk-G7DS23D4.js} +2 -2
  28. package/dist/{chunk-VGUKS6JR.js → chunk-I4ICM3U4.js} +297 -43
  29. package/dist/chunk-I4ICM3U4.js.map +1 -0
  30. package/dist/{chunk-6II57C72.js → chunk-KDN6SLJM.js} +2 -2
  31. package/dist/{chunk-E5X3DSQZ.js → chunk-L3YCXXMA.js} +9 -9
  32. package/dist/{chunk-2674YZOF.js → chunk-M6HTOCQK.js} +3 -3
  33. package/dist/{chunk-SZVHT57M.js → chunk-MGSRWYRN.js} +2 -2
  34. package/dist/{chunk-5CLSJWUN.js → chunk-O433KXLK.js} +8 -1
  35. package/dist/chunk-O433KXLK.js.map +1 -0
  36. package/dist/{chunk-Z5IASLIU.js → chunk-PFTST5V6.js} +4 -4
  37. package/dist/{chunk-LLIM2OX6.js → chunk-S7OROGUS.js} +2 -2
  38. package/dist/{chunk-BVA5SVOD.js → chunk-U6TH4RJJ.js} +1394 -784
  39. package/dist/chunk-U6TH4RJJ.js.map +1 -0
  40. package/dist/{chunk-ETJFWUCA.js → chunk-V2BMPPOE.js} +4 -4
  41. package/dist/{chunk-OKBVGNH7.js → chunk-Z5Y3RB2U.js} +2 -2
  42. package/dist/{chunk-V3QHMEJZ.js → chunk-ZE6VLLFC.js} +51 -4
  43. package/dist/chunk-ZE6VLLFC.js.map +1 -0
  44. package/dist/context-mention-palette/index.js +10 -10
  45. package/dist/context-mention-provider.d.ts +1 -0
  46. package/dist/{contribution-C0MnLVKF.d.ts → contribution-DfeuQHH6.d.ts} +39 -0
  47. package/dist/conversation-rail-runtime.d.ts +10 -3
  48. package/dist/dock-icons.js +2 -2
  49. package/dist/i18n/index.d.ts +370 -168
  50. package/dist/i18n/index.js +2 -2
  51. package/dist/index.d.ts +1199 -580
  52. package/dist/index.js +23 -23
  53. package/dist/index.js.map +1 -1
  54. package/dist/mention-search.js +8 -8
  55. package/dist/planImplementationPresentation-BxVOLt6A.d.ts +24 -0
  56. package/dist/provider-identity.js +1 -1
  57. package/dist/{types-CWFDZVkv.d.ts → types-CWKbqBmi.d.ts} +44 -0
  58. package/dist/workbench/contribution.d.ts +1 -1
  59. package/dist/workbench/contribution.js +10 -10
  60. package/dist/workbench/index.d.ts +2 -2
  61. package/dist/workbench/index.js +10 -10
  62. package/dist/workbench/launch.d.ts +4 -0
  63. package/dist/workbench/launch.js +4 -4
  64. package/dist/workbench/providerCatalog.js +2 -2
  65. package/dist/workbench/sessionTitle.js +3 -3
  66. package/dist/workbench/state.js +3 -3
  67. package/dist/workbench/types.d.ts +3 -0
  68. package/dist/workbench/types.js +1 -1
  69. package/dist/{agentConversationVM-CYXZSrh9.d.ts → workspaceLinkActions-BmVLZszV.d.ts} +110 -73
  70. package/package.json +14 -14
  71. package/dist/AgentRichTextReadonly-OKZPTCIX.js +0 -19
  72. package/dist/chunk-5CLSJWUN.js.map +0 -1
  73. package/dist/chunk-BVA5SVOD.js.map +0 -1
  74. package/dist/chunk-F5YFT4VB.js.map +0 -1
  75. package/dist/chunk-KAF6JPGL.js.map +0 -1
  76. package/dist/chunk-MHOYBRCY.js.map +0 -1
  77. package/dist/chunk-V3QHMEJZ.js.map +0 -1
  78. package/dist/chunk-VGUKS6JR.js.map +0 -1
  79. package/dist/chunk-YSA4MXR5.js.map +0 -1
  80. /package/dist/{AgentRichTextReadonly-OKZPTCIX.js.map → AgentRichTextReadonly-HJQQ4KAL.js.map} +0 -0
  81. /package/dist/{chunk-NCD5I4OB.js.map → chunk-5VECGOBU.js.map} +0 -0
  82. /package/dist/{chunk-AODSTIED.js.map → chunk-AFUVWWQY.js.map} +0 -0
  83. /package/dist/{chunk-CAZ7NYUE.js.map → chunk-DKGFEIZ7.js.map} +0 -0
  84. /package/dist/{chunk-5UTK6FDH.js.map → chunk-DNHDR2YC.js.map} +0 -0
  85. /package/dist/{chunk-U7GYZU6V.js.map → chunk-E2Y4FFQW.js.map} +0 -0
  86. /package/dist/{chunk-ZREBC77R.js.map → chunk-G7DS23D4.js.map} +0 -0
  87. /package/dist/{chunk-6II57C72.js.map → chunk-KDN6SLJM.js.map} +0 -0
  88. /package/dist/{chunk-E5X3DSQZ.js.map → chunk-L3YCXXMA.js.map} +0 -0
  89. /package/dist/{chunk-2674YZOF.js.map → chunk-M6HTOCQK.js.map} +0 -0
  90. /package/dist/{chunk-SZVHT57M.js.map → chunk-MGSRWYRN.js.map} +0 -0
  91. /package/dist/{chunk-Z5IASLIU.js.map → chunk-PFTST5V6.js.map} +0 -0
  92. /package/dist/{chunk-LLIM2OX6.js.map → chunk-S7OROGUS.js.map} +0 -0
  93. /package/dist/{chunk-ETJFWUCA.js.map → chunk-V2BMPPOE.js.map} +0 -0
  94. /package/dist/{chunk-OKBVGNH7.js.map → chunk-Z5Y3RB2U.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../workbench/launch.ts"],"sourcesContent":["import type { WorkbenchHostLaunchRequest } from \"@tutti-os/workbench-surface\";\nimport {\n isAgentGuiWorkbenchProvider,\n normalizeAgentGuiWorkbenchProvider\n} from \"./providerCatalog.ts\";\nimport {\n agentGuiWorkbenchOpenSessionActivationType,\n agentGuiWorkbenchPrefillPromptActivationType,\n type AgentGuiWorkbenchPrefillPromptPayload,\n type AgentGuiWorkbenchProvider\n} from \"./types.ts\";\n\nexport { agentGuiWorkbenchPrefillPromptActivationType } from \"./types.ts\";\n\ntype AgentGuiWorkbenchLaunchRequestInput = Pick<\n WorkbenchHostLaunchRequest,\n \"launchSource\" | \"payload\" | \"typeId\"\n> & {\n dockEntryId?: string | null;\n};\n\nexport const agentGuiWorkbenchTypeId = \"agent-gui\";\n\nconst agentGuiWorkbenchUnifiedDockEntryIdValue = \"agent-gui:unified\";\nconst agentGuiWorkbenchDockPopupNewWindowLaunchSource = \"dock-popup-new-window\";\nlet agentGuiWorkbenchInstanceSequence = 0;\n\nexport interface AgentGuiWorkbenchDockIdentity {\n kind: \"unifiedAggregate\";\n}\n\n/**\n * @deprecated AgentGUI has one canonical Dock entry. Use\n * {@link agentGuiWorkbenchUnifiedDockEntryId} instead.\n */\nexport function agentGuiWorkbenchDockEntryId(\n _provider: AgentGuiWorkbenchProvider\n): string {\n return agentGuiWorkbenchUnifiedDockEntryId();\n}\n\nexport function agentGuiWorkbenchUnifiedDockEntryId(): string {\n return agentGuiWorkbenchUnifiedDockEntryIdValue;\n}\n\nexport function createAgentGuiWorkbenchInstanceId(): string {\n agentGuiWorkbenchInstanceSequence += 1;\n return `agent-gui:instance:${Date.now().toString(36)}-${agentGuiWorkbenchInstanceSequence.toString(36)}`;\n}\n\nexport function agentGuiWorkbenchDockIdentityFromIdentifier(\n value: string | null | undefined\n): AgentGuiWorkbenchDockIdentity | null {\n const normalized = value?.trim();\n if (!normalized) {\n return null;\n }\n if (normalized === agentGuiWorkbenchUnifiedDockEntryId()) {\n return { kind: \"unifiedAggregate\" };\n }\n return null;\n}\n\nexport function agentGuiWorkbenchProviderFromLaunchRequest(\n request: AgentGuiWorkbenchLaunchRequestInput\n): AgentGuiWorkbenchProvider {\n const payloadProvider =\n request.payload &&\n typeof request.payload === \"object\" &&\n !Array.isArray(request.payload)\n ? (request.payload as { provider?: unknown }).provider\n : null;\n if (isAgentGuiWorkbenchProvider(payloadProvider)) {\n return payloadProvider;\n }\n throw new Error(\"agent_gui_workbench.launch_provider_required\");\n}\n\nexport function createAgentGuiWorkbenchSessionLaunchRequest(input: {\n agentTargetId?: string | null;\n agentSessionId?: string;\n openInNewWindow?: boolean;\n provider: unknown;\n}) {\n const provider = normalizeAgentGuiWorkbenchProvider(input.provider);\n return {\n dockEntryId: agentGuiWorkbenchUnifiedDockEntryId(),\n payload: {\n ...(input.agentTargetId?.trim()\n ? { agentTargetId: input.agentTargetId.trim() }\n : {}),\n ...(input.agentSessionId ? { agentSessionId: input.agentSessionId } : {}),\n ...(input.openInNewWindow ? { openInNewWindow: true } : {}),\n provider\n },\n reason: \"host\" as const,\n typeId: agentGuiWorkbenchTypeId\n };\n}\n\nexport function createAgentGuiWorkbenchDraftLaunchRequest(input: {\n agentTargetId?: string | null;\n autoSubmit?: boolean;\n draftPrompt: string;\n openInNewWindow?: boolean;\n provider: unknown;\n userProjectPath?: string | null;\n}) {\n const provider = normalizeAgentGuiWorkbenchProvider(input.provider);\n const userProjectPath = normalizeAgentGuiWorkbenchUserProjectPath(\n input.userProjectPath\n );\n return {\n dockEntryId: agentGuiWorkbenchUnifiedDockEntryId(),\n payload: {\n draftPrompt: input.draftPrompt,\n provider,\n ...(input.agentTargetId?.trim()\n ? { agentTargetId: input.agentTargetId.trim() }\n : {}),\n ...(input.autoSubmit ? { autoSubmit: true } : {}),\n ...(input.openInNewWindow ? { openInNewWindow: true } : {}),\n ...(userProjectPath ? { userProjectPath } : {})\n },\n reason: \"host\" as const,\n typeId: agentGuiWorkbenchTypeId\n };\n}\n\nexport interface AgentGuiWorkbenchLaunchDescriptor {\n activation:\n | {\n payload: {\n agentSessionId: string;\n };\n type: typeof agentGuiWorkbenchOpenSessionActivationType;\n }\n | {\n payload: AgentGuiWorkbenchPrefillPromptPayload;\n type: typeof agentGuiWorkbenchPrefillPromptActivationType;\n }\n | null;\n dockEntryId: string;\n instanceId: string;\n openInNewWindow: boolean;\n provider: AgentGuiWorkbenchProvider;\n reusePolicy: AgentGuiWorkbenchReusePolicy;\n targetAgentSessionId: string | null;\n}\n\nexport type AgentGuiWorkbenchReusePolicy =\n | { kind: \"dock-entry\" }\n | { agentSessionId: string; kind: \"current-session\" }\n | { kind: \"none\" };\n\nexport function createAgentGuiWorkbenchLaunchDescriptor(\n request: AgentGuiWorkbenchLaunchRequestInput\n): AgentGuiWorkbenchLaunchDescriptor {\n const provider = agentGuiWorkbenchProviderFromLaunchRequest(request);\n const dockEntryId = agentGuiWorkbenchUnifiedDockEntryId();\n const prefillPrompt = prefillPromptFromLaunchPayload(request.payload);\n if (prefillPrompt) {\n const openInNewWindow = openInNewWindowFromLaunchPayload(request.payload);\n return {\n activation: {\n payload: prefillPrompt,\n type: agentGuiWorkbenchPrefillPromptActivationType\n },\n dockEntryId,\n instanceId: createAgentGuiWorkbenchInstanceId(),\n openInNewWindow,\n provider,\n reusePolicy: { kind: \"none\" },\n targetAgentSessionId: null\n };\n }\n\n const targetAgentSessionId = agentSessionIdFromLaunchPayload(request.payload);\n const openInNewWindow = openInNewWindowFromLaunchRequest(request);\n const instanceId = createAgentGuiWorkbenchInstanceId();\n\n return {\n activation: targetAgentSessionId\n ? {\n payload: {\n agentSessionId: targetAgentSessionId\n },\n type: agentGuiWorkbenchOpenSessionActivationType\n }\n : null,\n dockEntryId,\n instanceId,\n openInNewWindow,\n provider,\n reusePolicy: openInNewWindow\n ? { kind: \"none\" }\n : targetAgentSessionId\n ? { agentSessionId: targetAgentSessionId, kind: \"current-session\" }\n : { kind: \"dock-entry\" },\n targetAgentSessionId\n };\n}\n\n/**\n * @deprecated AgentGUI launch results always use the unified Dock entry. Use\n * {@link agentGuiWorkbenchUnifiedDockEntryId} instead.\n */\nexport function resolveAgentGuiWorkbenchLaunchDockEntryId(_input: {\n provider: AgentGuiWorkbenchProvider;\n requestedDockEntryId?: string | null;\n}): string {\n return agentGuiWorkbenchUnifiedDockEntryId();\n}\n\nfunction prefillPromptFromLaunchPayload(\n payload: unknown\n): AgentGuiWorkbenchPrefillPromptPayload | null {\n if (!payload || typeof payload !== \"object\" || Array.isArray(payload)) {\n return null;\n }\n const draftPrompt = (payload as { draftPrompt?: unknown }).draftPrompt;\n if (typeof draftPrompt !== \"string\" || !draftPrompt.trim()) {\n return null;\n }\n const autoSubmit = (payload as { autoSubmit?: unknown }).autoSubmit === true;\n const provider = (payload as { provider?: unknown }).provider;\n const agentTargetId = agentTargetIdFromLaunchPayload(payload);\n const userProjectPath = (payload as { userProjectPath?: unknown })\n .userProjectPath;\n const normalizedUserProjectPath =\n typeof userProjectPath === \"string\"\n ? normalizeAgentGuiWorkbenchUserProjectPath(userProjectPath)\n : null;\n return {\n draftPrompt,\n ...(agentTargetId ? { agentTargetId } : {}),\n ...(autoSubmit ? { autoSubmit: true } : {}),\n ...(isAgentGuiWorkbenchProvider(provider) ? { provider } : {}),\n ...(normalizedUserProjectPath\n ? { userProjectPath: normalizedUserProjectPath }\n : {})\n };\n}\n\nfunction normalizeAgentGuiWorkbenchUserProjectPath(\n value: string | null | undefined\n): string | null {\n const normalized = value?.trim().replaceAll(\"\\\\\", \"/\").replace(/\\/+$/, \"\");\n return normalized ? normalized : null;\n}\n\nfunction agentSessionIdFromLaunchPayload(payload: unknown): string | null {\n if (!payload || typeof payload !== \"object\" || Array.isArray(payload)) {\n return null;\n }\n const agentSessionId = (payload as { agentSessionId?: unknown })\n .agentSessionId;\n return typeof agentSessionId === \"string\" && agentSessionId.trim()\n ? agentSessionId.trim()\n : null;\n}\n\nfunction agentTargetIdFromLaunchPayload(payload: unknown): string | null {\n if (!payload || typeof payload !== \"object\" || Array.isArray(payload)) {\n return null;\n }\n const agentTargetId = (payload as { agentTargetId?: unknown }).agentTargetId;\n return typeof agentTargetId === \"string\" && agentTargetId.trim()\n ? agentTargetId.trim()\n : null;\n}\n\nfunction openInNewWindowFromLaunchPayload(payload: unknown): boolean {\n if (!payload || typeof payload !== \"object\" || Array.isArray(payload)) {\n return false;\n }\n return (payload as { openInNewWindow?: unknown }).openInNewWindow === true;\n}\n\nfunction openInNewWindowFromLaunchRequest(\n request: AgentGuiWorkbenchLaunchRequestInput\n): boolean {\n return (\n openInNewWindowFromLaunchPayload(request.payload) ||\n request.launchSource === agentGuiWorkbenchDockPopupNewWindowLaunchSource\n );\n}\n"],"mappings":"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","names":["openInNewWindow"]}