@tutti-os/agent-gui 0.0.93 → 0.0.94

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 (64) hide show
  1. package/dist/agent-conversation/index.d.ts +4 -4
  2. package/dist/agent-conversation/index.js +6 -6
  3. package/dist/agent-env/index.d.ts +4 -2
  4. package/dist/agent-env/index.js +1 -1
  5. package/dist/agent-message-center/index.d.ts +5 -3
  6. package/dist/agent-message-center/index.js +122 -105
  7. package/dist/agent-message-center/index.js.map +1 -1
  8. package/dist/{agentConversationVM-CfXN_TQ2.d.ts → agentConversationVM-Cl4G0Lln.d.ts} +1 -1
  9. package/dist/{agentGuiNodeTypes-rGaDqxVR.d.ts → agentGuiNodeTypes-CAioPXK9.d.ts} +8 -3
  10. package/dist/app/renderer/agentactivity.css +312 -2
  11. package/dist/app/renderer/assets/icons/agent-vinyl-player-chassis.png +0 -0
  12. package/dist/app/renderer/assets/icons/agent-vinyl-tonearm.png +0 -0
  13. package/dist/app/renderer/assets/icons/agent-vinyls/claude-vinyl.png +0 -0
  14. package/dist/app/renderer/assets/icons/agent-vinyls/codex-vinyl.png +0 -0
  15. package/dist/app/renderer/assets/icons/agent-vinyls/cursor-vinyl.png +0 -0
  16. package/dist/app/renderer/assets/icons/agent-vinyls/hermes-vinyl.png +0 -0
  17. package/dist/app/renderer/assets/icons/agent-vinyls/openclaw-vinyl.png +0 -0
  18. package/dist/app/renderer/assets/icons/agent-vinyls/opencode-vinyl.png +0 -0
  19. package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
  20. package/dist/{chunk-AOVPGJBC.js → chunk-554VG7ZW.js} +2 -2
  21. package/dist/{chunk-U7D7G3UU.js → chunk-5FE7M42A.js} +2 -2
  22. package/dist/{chunk-XQUUELKF.js → chunk-7BUYFVRI.js} +2 -2
  23. package/dist/{chunk-M2LWH54R.js → chunk-AWAIUYG4.js} +45 -15
  24. package/dist/{chunk-M2LWH54R.js.map → chunk-AWAIUYG4.js.map} +1 -1
  25. package/dist/{chunk-KQE5KV2V.js → chunk-BXVPOGYK.js} +2 -2
  26. package/dist/{chunk-3HARXLAZ.js → chunk-E5FOXRUM.js} +2 -2
  27. package/dist/{chunk-4SQNOOJ3.js → chunk-IGY4ASUF.js} +4 -4
  28. package/dist/{chunk-SXDLSEHO.js → chunk-MATIJPGF.js} +3 -3
  29. package/dist/{chunk-7QHBFRG5.js → chunk-P72YLKC6.js} +25 -13
  30. package/dist/chunk-P72YLKC6.js.map +1 -0
  31. package/dist/{chunk-PSLAWU25.js → chunk-R2EWECUP.js} +7 -1
  32. package/dist/chunk-R2EWECUP.js.map +1 -0
  33. package/dist/{chunk-HOSX5C5V.js → chunk-SCLLP5DO.js} +2 -2
  34. package/dist/{chunk-VWXFFSIM.js → chunk-UBDPV34P.js} +7 -1
  35. package/dist/chunk-UBDPV34P.js.map +1 -0
  36. package/dist/{chunk-UNO7CEAF.js → chunk-ZUW4B5AT.js} +2 -2
  37. package/dist/context-mention-palette/index.js +6 -6
  38. package/dist/i18n/index.d.ts +6 -0
  39. package/dist/i18n/index.js +2 -2
  40. package/dist/index.d.ts +4 -4
  41. package/dist/index.js +1064 -788
  42. package/dist/index.js.map +1 -1
  43. package/dist/plan-decision-ops.d.ts +2 -2
  44. package/dist/queued-prompt-runtime.d.ts +3 -3
  45. package/dist/workbench/contribution.js +1 -1
  46. package/dist/workbench/index.d.ts +4 -1
  47. package/dist/workbench/index.js +4 -4
  48. package/dist/workbench/sessionTitle.js +3 -3
  49. package/dist/workspace-agent-generated-files.d.ts +1 -1
  50. package/dist/workspace-agent-generated-files.js +3 -3
  51. package/dist/{workspaceAgentActivityListViewModel-TXH1VXrk.d.ts → workspaceAgentActivityListViewModel-BzV-cf0D.d.ts} +1 -0
  52. package/package.json +14 -14
  53. package/dist/chunk-7QHBFRG5.js.map +0 -1
  54. package/dist/chunk-PSLAWU25.js.map +0 -1
  55. package/dist/chunk-VWXFFSIM.js.map +0 -1
  56. /package/dist/{chunk-AOVPGJBC.js.map → chunk-554VG7ZW.js.map} +0 -0
  57. /package/dist/{chunk-U7D7G3UU.js.map → chunk-5FE7M42A.js.map} +0 -0
  58. /package/dist/{chunk-XQUUELKF.js.map → chunk-7BUYFVRI.js.map} +0 -0
  59. /package/dist/{chunk-KQE5KV2V.js.map → chunk-BXVPOGYK.js.map} +0 -0
  60. /package/dist/{chunk-3HARXLAZ.js.map → chunk-E5FOXRUM.js.map} +0 -0
  61. /package/dist/{chunk-4SQNOOJ3.js.map → chunk-IGY4ASUF.js.map} +0 -0
  62. /package/dist/{chunk-SXDLSEHO.js.map → chunk-MATIJPGF.js.map} +0 -0
  63. /package/dist/{chunk-HOSX5C5V.js.map → chunk-SCLLP5DO.js.map} +0 -0
  64. /package/dist/{chunk-UNO7CEAF.js.map → chunk-ZUW4B5AT.js.map} +0 -0
@@ -75,6 +75,12 @@ var PRESENTATIONS = {
75
75
  messageKey: "agentHost.agentGui.visibleErrorConcurrencyLimit",
76
76
  ...NO_CTA
77
77
  },
78
+ insufficient_credits: {
79
+ messageKey: "agentHost.agentGui.visibleErrorInsufficientCredits",
80
+ focus: null,
81
+ actionKey: "agentHost.agentGui.visibleErrorActionViewPlans",
82
+ externalUrl: "https://tutti.sh/profile/plan"
83
+ },
78
84
  quota_or_rate_limit: {
79
85
  messageKey: "agentHost.agentGui.visibleErrorQuotaOrRateLimit",
80
86
  ...NO_CTA
@@ -142,4 +148,4 @@ export {
142
148
  resolveAgentErrorPresentation,
143
149
  classifyFailedAgentMessage
144
150
  };
145
- //# sourceMappingURL=chunk-PSLAWU25.js.map
151
+ //# sourceMappingURL=chunk-R2EWECUP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../shared/agentEnv/agentEnvPanelStore.ts","../shared/agentEnv/agentErrorPresentation.ts"],"sourcesContent":["import { useSnapshot } from \"valtio\";\nimport { proxy } from \"valtio/vanilla\";\n\n/**\n * Section the Agent Env panel (the片6 Setup Wizard / config panel) should scroll\n * to / emphasise when opened via a deep-link. The error card (片5) maps a domain\n * error code to one of these so the user lands on the relevant remediation.\n */\nexport type AgentEnvPanelFocus =\n | \"detect\"\n | \"install\"\n | \"repair\"\n | \"upgrade\"\n | \"auth\"\n | \"network\"\n | \"registry\";\n\nexport interface AgentEnvPanelRequest {\n open: boolean;\n provider: string | null;\n focus: AgentEnvPanelFocus | null;\n /**\n * Bumped on every openAgentEnvPanel() call. The host panel watches this to\n * re-run detection even when it is already open (e.g. a second deep-link).\n */\n requestSequence: number;\n}\n\nexport interface OpenAgentEnvPanelInput {\n provider?: string | null;\n focus?: AgentEnvPanelFocus | null;\n}\n\nconst agentEnvPanelStore = proxy<AgentEnvPanelRequest>({\n open: false,\n provider: null,\n focus: null,\n requestSequence: 0\n});\n\n/**\n * Open the agent environment panel. Safe to call from anywhere in the agent-gui\n * tree (rail footer entry, error-card deep-link). The host renders the actual\n * panel and reacts to this singleton store.\n */\nexport function openAgentEnvPanel(input?: OpenAgentEnvPanelInput): void {\n agentEnvPanelStore.open = true;\n agentEnvPanelStore.provider = input?.provider ?? null;\n agentEnvPanelStore.focus = input?.focus ?? null;\n agentEnvPanelStore.requestSequence += 1;\n}\n\nexport function closeAgentEnvPanel(): void {\n agentEnvPanelStore.open = false;\n}\n\n/** Imperative read, mainly for tests. Components should use the hook. */\nexport function getAgentEnvPanelStore(): AgentEnvPanelRequest {\n return agentEnvPanelStore;\n}\n\n/** Reactive snapshot of the panel request for the host renderer. */\nexport function useAgentEnvPanelRequest(): AgentEnvPanelRequest {\n return useSnapshot(agentEnvPanelStore);\n}\n","import type { AgentEnvPanelFocus } from \"./agentEnvPanelStore\";\n\n/**\n * Run-failure codes actually emitted by the daemon runtime classifier\n * (packages/agent/daemon/runtime/visible_error.go `visibleFailureCode`). These\n * are the codes the conversation error card really receives — unlike the\n * aspirational `CODEX_*` codes, which the run pipeline never produces.\n *\n * Keep this union aligned with the Go switch in `visibleFailureCode`.\n */\nexport type AgentRunErrorCode =\n | \"auth_required\"\n | \"cli_not_found\"\n | \"cli_version_unsupported\"\n | \"network_error\"\n | \"runtime_unavailable\"\n | \"request_timed_out\"\n | \"provider_config_timeout\"\n | \"provider_stream_disconnected\"\n | \"provider_concurrency_limit\"\n | \"insufficient_credits\"\n | \"quota_or_rate_limit\"\n | \"process_exited\"\n | \"provider_error\"\n | \"unknown\";\n\nexport interface AgentErrorPresentation {\n /**\n * i18n key for the one human sentence shown in the card, or null to let the\n * caller fall back to its phase-aware generic title.\n */\n messageKey: string | null;\n /**\n * Env-panel section the remediation button deep-links to, or null when the\n * failure is transient/server-side and the wizard cannot fix it — in which\n * case no call-to-action is shown (showing one would misrepresent reality).\n */\n focus: AgentEnvPanelFocus | null;\n /** i18n key for the remediation button. */\n actionKey: string | null;\n /** External remediation destination, when the action is account-level. */\n externalUrl?: string | null;\n}\n\nconst NO_CTA = { focus: null, actionKey: null } as const;\n\n// The escape hatch for hard failures whose cause is ambiguous from the message\n// alone (a non-zero exit, an unclassified provider error): send the user into\n// the wizard to self-detect, but keep the generic message.\nconst SELF_DETECT = {\n messageKey: null,\n focus: \"detect\" as const,\n actionKey: \"agentHost.agentGui.visibleErrorActionDetect\"\n};\n\nconst PRESENTATIONS: Record<AgentRunErrorCode, AgentErrorPresentation> = {\n // Environment problems the wizard can detect or repair → route to its step.\n auth_required: {\n messageKey: \"agentHost.agentGui.visibleErrorAuthRequired\",\n focus: \"auth\",\n actionKey: \"agentHost.agentGui.visibleErrorActionRelogin\"\n },\n cli_not_found: {\n messageKey: \"agentHost.agentGui.visibleErrorCliNotFound\",\n focus: \"install\",\n actionKey: \"agentHost.agentGui.visibleErrorActionInstall\"\n },\n cli_version_unsupported: {\n messageKey: \"agentHost.agentGui.visibleErrorVersionUnsupported\",\n focus: \"upgrade\",\n actionKey: \"agentHost.agentGui.visibleErrorActionUpgrade\"\n },\n network_error: {\n messageKey: \"agentHost.agentGui.visibleErrorNetwork\",\n focus: \"network\",\n actionKey: \"agentHost.agentGui.visibleErrorActionCheckNetwork\"\n },\n runtime_unavailable: {\n messageKey: \"agentHost.agentGui.visibleErrorRuntimeUnavailable\",\n focus: \"detect\",\n actionKey: \"agentHost.agentGui.visibleErrorActionDetect\"\n },\n // Transient / server-side failures: accurate copy, but no wizard CTA — it\n // cannot fix a rate limit or a dropped stream.\n request_timed_out: {\n messageKey: \"agentHost.agentGui.visibleErrorRequestTimedOut\",\n ...NO_CTA\n },\n provider_config_timeout: {\n messageKey: \"agentHost.agentGui.visibleErrorConfigTimeout\",\n ...NO_CTA\n },\n provider_stream_disconnected: {\n messageKey: \"agentHost.agentGui.visibleErrorStreamDisconnected\",\n ...NO_CTA\n },\n provider_concurrency_limit: {\n messageKey: \"agentHost.agentGui.visibleErrorConcurrencyLimit\",\n ...NO_CTA\n },\n insufficient_credits: {\n messageKey: \"agentHost.agentGui.visibleErrorInsufficientCredits\",\n focus: null,\n actionKey: \"agentHost.agentGui.visibleErrorActionViewPlans\",\n externalUrl: \"https://tutti.sh/profile/plan\"\n },\n quota_or_rate_limit: {\n messageKey: \"agentHost.agentGui.visibleErrorQuotaOrRateLimit\",\n ...NO_CTA\n },\n // Ambiguous hard failures → generic message + self-detect escape hatch.\n process_exited: SELF_DETECT,\n provider_error: SELF_DETECT,\n unknown: SELF_DETECT\n};\n\n/**\n * Resolves the card presentation for a run-failure code. Returns null for codes\n * outside the known vocabulary so the caller renders its plain generic card with\n * no call-to-action.\n */\nexport function resolveAgentErrorPresentation(\n code: string | null | undefined\n): AgentErrorPresentation | null {\n if (!code) {\n return null;\n }\n return PRESENTATIONS[code as AgentRunErrorCode] ?? null;\n}\n\nconst FAILED_MESSAGE_CODE_MARKERS: ReadonlyArray<\n readonly [AgentRunErrorCode, readonly string[]]\n> = [\n [\n \"auth_required\",\n [\n \"authentication_failed\",\n \"invalid authentication credentials\",\n \"401 invalid authentication\",\n \"unauthorized\",\n \"not logged in\",\n \"please run /login\",\n \"invalid api key\"\n ]\n ],\n [\n \"cli_version_unsupported\",\n [\"requires a newer version\", \"version is too old\", \"unsupported version\"]\n ],\n [\n \"cli_not_found\",\n [\n \"no such file or directory\",\n \"command not found\",\n \"enoent\",\n \"executable file not found\"\n ]\n ],\n [\n \"network_error\",\n [\"enotfound\", \"econnrefused\", \"econnreset\", \"getaddrinfo\", \"socket hang up\"]\n ]\n];\n\n/**\n * Some providers (notably Claude Code) report an environment failure — e.g. a\n * dropped login (401) — as a plain failed assistant message rather than a\n * structured visibleError, so it never gets the remediation card. This recovers\n * the env-fixable code from that message's text so the caller can still route the\n * user to the wizard. Returns null when the text isn't a recognized env failure\n * (so transient/unknown failures stay plain).\n */\nexport function classifyFailedAgentMessage(\n body: string | null | undefined\n): AgentRunErrorCode | null {\n if (!body) {\n return null;\n }\n const lower = body.toLowerCase();\n for (const [code, markers] of FAILED_MESSAGE_CODE_MARKERS) {\n if (markers.some((marker) => lower.includes(marker))) {\n return code;\n }\n }\n return null;\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  translateInUiLanguage
3
- } from "./chunk-VWXFFSIM.js";
3
+ } from "./chunk-UBDPV34P.js";
4
4
  import {
5
5
  normalizeAgentTitleText
6
6
  } from "./chunk-GCBDIQDX.js";
@@ -322,4 +322,4 @@ export {
322
322
  resolveAgentGUIProviderDisplayLabel,
323
323
  firstAgentGUIUserMessageTitle
324
324
  };
325
- //# sourceMappingURL=chunk-HOSX5C5V.js.map
325
+ //# sourceMappingURL=chunk-SCLLP5DO.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
  agentTargetRemoved: "This agent no longer exists or has been removed. Its conversation history stays available to read.",
12
12
  agentResumeSessionNotLocal: "This session cannot be resumed on this device. Start a new session and @this session to keep going.",
13
+ agentImportedSessionResumeUnavailable: "This conversation was imported successfully. Start a new session and @this conversation to keep going.",
13
14
  agentSettingsRequireNewSession: "This model can only be used in a new session to preserve context.",
14
15
  agentPermissionModeAppliesNextTurn: "Permission mode will apply starting with your next message.",
15
16
  agentThisSessionMentionLabel: "this session",
@@ -861,11 +862,13 @@ var en = {
861
862
  visibleErrorConfigTimeout: "{{provider}} couldn't apply session settings before the request timed out. Try again in a moment.",
862
863
  visibleErrorStreamDisconnected: "{{provider}}'s response was interrupted before it completed. Try again in a moment.",
863
864
  visibleErrorConcurrencyLimit: "{{provider}} is handling too many requests right now. Try again after another task finishes.",
865
+ visibleErrorInsufficientCredits: "Your Tutti credits are insufficient to continue this request.",
864
866
  visibleErrorActionInstall: "Connect",
865
867
  visibleErrorActionUpgrade: "Upgrade",
866
868
  visibleErrorActionRelogin: "Sign in",
867
869
  visibleErrorActionCheckNetwork: "Check network",
868
870
  visibleErrorActionDetect: "Open setup",
871
+ visibleErrorActionViewPlans: "View plans",
869
872
  systemNoticeTransportRetry: "Codex connection interrupted. Reconnecting...",
870
873
  systemNoticeTransportFallback: "Codex switched to HTTPS transport",
871
874
  systemNoticeWarning: "Codex warning",
@@ -2489,6 +2492,7 @@ var zhCNMessages = {
2489
2492
  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",
2490
2493
  agentTargetRemoved: "\u8BE5 agent \u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u79FB\u9664\uFF0C\u5386\u53F2\u4F1A\u8BDD\u8BB0\u5F55\u4ECD\u53EF\u67E5\u770B\u3002",
2491
2494
  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",
2495
+ agentImportedSessionResumeUnavailable: "\u8FD9\u6BB5\u5BF9\u8BDD\u5DF2\u5BFC\u5165\u6210\u529F\uFF0C\u65B0\u5F00\u4F1A\u8BDD\u5E76 @ \u8FD9\u6BB5\u5BF9\u8BDD\uFF0C\u63A5\u7740\u7EE7\u7EED\u804A\u3002",
2492
2496
  agentSettingsRequireNewSession: "\u4E3A\u4E86\u4FDD\u7559\u4E0A\u4E0B\u6587\uFF0C\u8FD9\u4E2A\u6A21\u578B\u53EA\u80FD\u5728\u65B0\u4F1A\u8BDD\u4E2D\u4F7F\u7528",
2493
2497
  agentPermissionModeAppliesNextTurn: "\u6743\u9650\u6A21\u5F0F\u5C06\u4ECE\u4F60\u7684\u4E0B\u4E00\u6761\u6D88\u606F\u5F00\u59CB\u751F\u6548\u3002",
2494
2498
  agentThisSessionMentionLabel: "\u672C session",
@@ -3340,11 +3344,13 @@ var zhCN = {
3340
3344
  visibleErrorConfigTimeout: "{{provider}} \u5728\u8BF7\u6C42\u8D85\u65F6\u524D\u672A\u80FD\u5E94\u7528\u4F1A\u8BDD\u8BBE\u7F6E\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",
3341
3345
  visibleErrorStreamDisconnected: "{{provider}} \u7684\u54CD\u5E94\u5728\u5B8C\u6210\u524D\u88AB\u4E2D\u65AD\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",
3342
3346
  visibleErrorConcurrencyLimit: "{{provider}} \u5F53\u524D\u5904\u7406\u7684\u8BF7\u6C42\u8FC7\u591A\u3002\u8BF7\u5728\u5176\u4ED6\u4EFB\u52A1\u5B8C\u6210\u540E\u518D\u8BD5\u3002",
3347
+ visibleErrorInsufficientCredits: "Tutti \u79EF\u5206\u4E0D\u8DB3\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u6B64\u8BF7\u6C42\u3002",
3343
3348
  visibleErrorActionInstall: "\u53BB\u8FDE\u63A5",
3344
3349
  visibleErrorActionUpgrade: "\u53BB\u5347\u7EA7",
3345
3350
  visibleErrorActionRelogin: "\u767B\u5F55",
3346
3351
  visibleErrorActionCheckNetwork: "\u68C0\u6D4B\u7F51\u7EDC",
3347
3352
  visibleErrorActionDetect: "\u6253\u5F00\u68C0\u6D4B",
3353
+ visibleErrorActionViewPlans: "\u67E5\u770B\u8BA2\u9605\u65B9\u6848",
3348
3354
  systemNoticeTransportRetry: "Codex \u8FDE\u63A5\u4E2D\u65AD\uFF0C\u6B63\u5728\u91CD\u8FDE",
3349
3355
  systemNoticeTransportFallback: "Codex \u5DF2\u5207\u6362\u5230 HTTPS \u4F20\u8F93",
3350
3356
  systemNoticeWarning: "Codex \u8B66\u544A",
@@ -5020,4 +5026,4 @@ export {
5020
5026
  translateInUiLanguage,
5021
5027
  getActiveUiLanguage
5022
5028
  };
5023
- //# sourceMappingURL=chunk-VWXFFSIM.js.map
5029
+ //# sourceMappingURL=chunk-UBDPV34P.js.map