@tutti-os/agent-gui 0.0.211 → 0.0.212

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/README.md +2 -0
  2. package/dist/{AgentRichTextReadonly-GEGDM5UJ.js → AgentRichTextReadonly-WWU4ZF7W.js} +5 -5
  3. package/dist/agent-conversation/index.d.ts +1 -1
  4. package/dist/agent-conversation/index.js +8 -8
  5. package/dist/agent-conversation/interactive-answer.d.ts +34 -0
  6. package/dist/agent-conversation/interactive-answer.js +11 -0
  7. package/dist/agent-conversation/interactive-answer.js.map +1 -0
  8. package/dist/agent-gui.d.ts +7 -4
  9. package/dist/agent-gui.js +16 -15
  10. package/dist/agent-message-center/index.js +8 -7
  11. package/dist/agent-message-center/index.js.map +1 -1
  12. package/dist/{agentFileMentionContracts-B0yQizXB.d.ts → agentFileMentionContracts-BeBex-Sf.d.ts} +5 -0
  13. package/dist/{agentGuiNodeTypes-DTeerTzS.d.ts → agentGuiNodeTypes-BMcpfKTn.d.ts} +5 -1
  14. package/dist/app/renderer/agentactivity.css +45 -0
  15. package/dist/{chunk-KY2IYJXK.js → chunk-4DAJ5SVX.js} +11 -5
  16. package/dist/chunk-4DAJ5SVX.js.map +1 -0
  17. package/dist/{chunk-AT4DII34.js → chunk-4IJYTGS2.js} +205 -118
  18. package/dist/chunk-4IJYTGS2.js.map +1 -0
  19. package/dist/{chunk-P4LVBSFC.js → chunk-5UOJCDLE.js} +8 -8
  20. package/dist/{chunk-Y2VQMPUR.js → chunk-62LWOH3P.js} +5 -9
  21. package/dist/chunk-62LWOH3P.js.map +1 -0
  22. package/dist/{chunk-CVGUT36H.js → chunk-7LSLB7CN.js} +2 -2
  23. package/dist/{chunk-3MMKYY6R.js → chunk-BGNYUYLP.js} +2 -2
  24. package/dist/chunk-FMTWYOHM.js +25 -0
  25. package/dist/chunk-FMTWYOHM.js.map +1 -0
  26. package/dist/{chunk-PLAOIDNY.js → chunk-FRSV66P3.js} +171 -36
  27. package/dist/chunk-FRSV66P3.js.map +1 -0
  28. package/dist/{chunk-X2LSVRRX.js → chunk-GXXPUEX6.js} +2 -2
  29. package/dist/{chunk-HH5EWBH2.js → chunk-JUL7J4VN.js} +2 -2
  30. package/dist/{chunk-4VXUWPPZ.js → chunk-JVVLKTLR.js} +18 -32
  31. package/dist/chunk-JVVLKTLR.js.map +1 -0
  32. package/dist/{chunk-7CJEFNHW.js → chunk-POU5WZNH.js} +7 -2
  33. package/dist/chunk-POU5WZNH.js.map +1 -0
  34. package/dist/{chunk-SXZJ3MDI.js → chunk-RNBZBBI7.js} +13 -13
  35. package/dist/{chunk-Z23HCYYR.js → chunk-WSIGQG7C.js} +3 -3
  36. package/dist/{chunk-U5NVLMW2.js → chunk-YJ27WHM3.js} +2 -2
  37. package/dist/context-mention-palette/index.d.ts +1 -1
  38. package/dist/context-mention-palette/index.js +8 -8
  39. package/dist/i18n/index.d.ts +4 -8
  40. package/dist/i18n/index.js +2 -2
  41. package/dist/index.d.ts +19 -13
  42. package/dist/index.js +17 -16
  43. package/dist/index.js.map +1 -1
  44. package/dist/mention-search.d.ts +2 -2
  45. package/dist/mention-search.js +6 -6
  46. package/dist/workbench/contribution.js +3 -3
  47. package/dist/workbench/index.js +6 -6
  48. package/dist/workbench/sessionTitle.js +2 -2
  49. package/package.json +23 -16
  50. package/dist/chunk-4VXUWPPZ.js.map +0 -1
  51. package/dist/chunk-7CJEFNHW.js.map +0 -1
  52. package/dist/chunk-AT4DII34.js.map +0 -1
  53. package/dist/chunk-KY2IYJXK.js.map +0 -1
  54. package/dist/chunk-PLAOIDNY.js.map +0 -1
  55. package/dist/chunk-Y2VQMPUR.js.map +0 -1
  56. /package/dist/{AgentRichTextReadonly-GEGDM5UJ.js.map → AgentRichTextReadonly-WWU4ZF7W.js.map} +0 -0
  57. /package/dist/{chunk-P4LVBSFC.js.map → chunk-5UOJCDLE.js.map} +0 -0
  58. /package/dist/{chunk-CVGUT36H.js.map → chunk-7LSLB7CN.js.map} +0 -0
  59. /package/dist/{chunk-3MMKYY6R.js.map → chunk-BGNYUYLP.js.map} +0 -0
  60. /package/dist/{chunk-X2LSVRRX.js.map → chunk-GXXPUEX6.js.map} +0 -0
  61. /package/dist/{chunk-HH5EWBH2.js.map → chunk-JUL7J4VN.js.map} +0 -0
  62. /package/dist/{chunk-SXZJ3MDI.js.map → chunk-RNBZBBI7.js.map} +0 -0
  63. /package/dist/{chunk-Z23HCYYR.js.map → chunk-WSIGQG7C.js.map} +0 -0
  64. /package/dist/{chunk-U5NVLMW2.js.map → chunk-YJ27WHM3.js.map} +0 -0
package/README.md CHANGED
@@ -9,6 +9,8 @@ Hosts own authentication, Commerce fetching, navigation, clipboard, and
9
9
  notification side effects. `AgentGUIAccountMenu` renders the shared account
10
10
  surface from `AgentGUIAccountMenuState`; `membershipAccess` must come from the
11
11
  normalized Commerce contract (`free`, `active`, `inactive`, or `unknown`).
12
+ Hosts may pass `membershipIconUrl` to render their tier icon next to the
13
+ membership label; the badge renders label text only when it is absent.
12
14
 
13
15
  Pass `hostCapabilities.commercePresentation` to `AgentGUI` so insufficient
14
16
  credit cards can select upgrade, recharge, or neutral copy and use the
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  AgentRichTextReadonly
3
- } from "./chunk-CVGUT36H.js";
4
- import "./chunk-7CJEFNHW.js";
3
+ } from "./chunk-7LSLB7CN.js";
4
+ import "./chunk-POU5WZNH.js";
5
5
  import "./chunk-3V5OCA2M.js";
6
6
  import "./chunk-FGLQZ6I4.js";
7
7
  import "./chunk-ZVYUTXQJ.js";
8
8
  import "./chunk-M6HTOCQK.js";
9
- import "./chunk-X2LSVRRX.js";
9
+ import "./chunk-GXXPUEX6.js";
10
10
  import "./chunk-5BJYO6X3.js";
11
11
  import "./chunk-AFUVWWQY.js";
12
- import "./chunk-Y2VQMPUR.js";
12
+ import "./chunk-62LWOH3P.js";
13
13
  import "./chunk-D2JUDUYY.js";
14
14
  import "./chunk-QNE2ZPPV.js";
15
15
  import "./chunk-O433KXLK.js";
16
16
  export {
17
17
  AgentRichTextReadonly
18
18
  };
19
- //# sourceMappingURL=AgentRichTextReadonly-GEGDM5UJ.js.map
19
+ //# sourceMappingURL=AgentRichTextReadonly-WWU4ZF7W.js.map
@@ -2,7 +2,7 @@ import * as react from 'react';
2
2
  import { ReactNode, Ref, JSX } from 'react';
3
3
  import { c as AgentConversationVM, g as WorkspaceLinkAction, f as WorkspaceAgentSessionDetailViewModel } from '../workspaceLinkActions-COfr61YO.js';
4
4
  export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityCard, e as WorkspaceAgentActivityTimelineItem, h as buildWorkspaceAgentSessionDetailViewModel } from '../workspaceLinkActions-COfr61YO.js';
5
- import { d as AgentGUIProviderSkillOption, h as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-DTeerTzS.js';
5
+ import { d as AgentGUIProviderSkillOption, h as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-BMcpfKTn.js';
6
6
  import { AgentActivityMessage } from '@tutti-os/agent-activity-core';
7
7
  import '@tutti-os/workspace-issue-manager/core';
8
8
  import '../types-CHAMK2g7.js';
@@ -7,25 +7,25 @@ import {
7
7
  reconcileProjectedAgentConversationVM,
8
8
  serializeAgentConversationForClipboard,
9
9
  useProjectedAgentConversation
10
- } from "../chunk-SXZJ3MDI.js";
11
- import "../chunk-CVGUT36H.js";
10
+ } from "../chunk-RNBZBBI7.js";
11
+ import "../chunk-7LSLB7CN.js";
12
12
  import "../chunk-JZ6KUUDY.js";
13
13
  import "../chunk-XJ34OIEQ.js";
14
+ import "../chunk-POU5WZNH.js";
14
15
  import "../chunk-JDVP33S5.js";
15
- import "../chunk-7CJEFNHW.js";
16
16
  import "../chunk-3V5OCA2M.js";
17
17
  import "../chunk-FGLQZ6I4.js";
18
- import "../chunk-Z23HCYYR.js";
18
+ import "../chunk-WSIGQG7C.js";
19
19
  import "../chunk-ZVYUTXQJ.js";
20
- import "../chunk-HH5EWBH2.js";
21
- import "../chunk-F5UR6EJG.js";
20
+ import "../chunk-JUL7J4VN.js";
22
21
  import "../chunk-M6HTOCQK.js";
22
+ import "../chunk-F5UR6EJG.js";
23
23
  import {
24
24
  translate
25
- } from "../chunk-X2LSVRRX.js";
25
+ } from "../chunk-GXXPUEX6.js";
26
26
  import "../chunk-5BJYO6X3.js";
27
27
  import "../chunk-AFUVWWQY.js";
28
- import "../chunk-Y2VQMPUR.js";
28
+ import "../chunk-62LWOH3P.js";
29
29
  import "../chunk-MIJXEELH.js";
30
30
  import "../chunk-D2JUDUYY.js";
31
31
  import "../chunk-QNE2ZPPV.js";
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Wire contract for the answer submitted back to an interactive `ask-user`
3
+ * prompt. This payload crosses the renderer → daemon boundary (it rides
4
+ * `submitInteractive({ action: "submit", payload })`), so its shape is a
5
+ * cross-language contract, not an internal detail.
6
+ *
7
+ * Consumers that MUST stay in sync with this shape:
8
+ * - daemon (Go) standard ACP adapter — forwards `answersByQuestionId` verbatim.
9
+ * - daemon (Go) codex app-server adapter — `appServerUserInputAnswers` reshapes
10
+ * `answersByQuestionId` into codex's `requestUserInput` response.
11
+ *
12
+ * Field semantics:
13
+ * - `answersByQuestionId` is the canonical, machine-readable answer: question id
14
+ * → the chosen option label(s) / free text. This is what providers consume.
15
+ * - `answers` is a flat, human-readable display list (one entry per answered
16
+ * question, multi-select joined). Never the source of truth for routing.
17
+ *
18
+ * Always build this with {@link buildAskUserAnswerPayload} so producers can't
19
+ * drift on field names or which field is authoritative.
20
+ */
21
+ interface InteractiveAnswerPayload {
22
+ answers: string[];
23
+ answersByQuestionId: Record<string, string | string[]>;
24
+ }
25
+ declare function readOwnAnswer<T>(values: Record<string, T>, questionID: string, fallback: T): T;
26
+ declare function writeOwnAnswer<T>(values: Record<string, T>, questionID: string, value: T): void;
27
+ /**
28
+ * Builds the canonical interactive answer payload from the per-question answers.
29
+ * `answers` is derived from `answersByQuestionId` (multi-select values joined)
30
+ * so the two fields can never disagree.
31
+ */
32
+ declare function buildAskUserAnswerPayload(answersByQuestionId: Record<string, string | string[]>): InteractiveAnswerPayload;
33
+
34
+ export { type InteractiveAnswerPayload, buildAskUserAnswerPayload, readOwnAnswer, writeOwnAnswer };
@@ -0,0 +1,11 @@
1
+ import {
2
+ buildAskUserAnswerPayload,
3
+ readOwnAnswer,
4
+ writeOwnAnswer
5
+ } from "../chunk-FMTWYOHM.js";
6
+ export {
7
+ buildAskUserAnswerPayload,
8
+ readOwnAnswer,
9
+ writeOwnAnswer
10
+ };
11
+ //# sourceMappingURL=interactive-answer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -3,10 +3,10 @@ import { ReactNode } from 'react';
3
3
  import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
4
4
  import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivityRailPlacement, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivityUpdateTuttiModeActivationInput, AgentActivityUpdateTuttiModeActivationResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySetCollaborationAdoptionInput, AgentActivityCollaborationRun, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivitySubmitSettingsPatch } from '@tutti-os/agent-activity-core';
5
5
  import { l as AgentHostAgentSessionComposerSettings, p as AgentHostUnactivateAgentSessionResult, b as AgentGUIAgentTarget, f as AgentGUIProvider, q as AgentPromptContentBlock, e as AgentGUINodeData, P as Point, g as AgentGUIProviderRailAllPresentation, h as AgentGUIProviderRailMode, i as AgentGUIProviderReadinessGate, j as AgentGUITargetConnectionSource, d as AgentGUIHomeSuggestionId, N as NodeFrame, a as AgentGUIAgentDirectorySnapshot, c as AgentGUIAllAgentsPresentation } from './types-CHAMK2g7.js';
6
- import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-DTeerTzS.js';
6
+ import { A as AgentComposerDraft, i as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, h as AgentMessageMarkdownWorkspaceAppIcon, j as AgentSlashCommandCapability, c as AgentGUINodeViewModel, a as AgentComposerDraftFile, k as AgentUsageQuota, g as AgentHostInputApi } from './agentGuiNodeTypes-BMcpfKTn.js';
7
7
  import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
8
8
  export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
9
- import { A as AgentContextMentionItem } from './agentFileMentionContracts-B0yQizXB.js';
9
+ import { A as AgentContextMentionItem } from './agentFileMentionContracts-BeBex-Sf.js';
10
10
  import { A as AgentGuiI18nLocale } from './runtime-Dwf44VKc.js';
11
11
  import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
12
12
  import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
@@ -482,6 +482,11 @@ interface AgentGUIAccountMenuState {
482
482
  avatar?: string | null;
483
483
  } | null;
484
484
  membershipLabel: string;
485
+ /**
486
+ * Host-provided membership tier icon URL shown next to the membership
487
+ * label. Optional; the badge renders label text only when absent.
488
+ */
489
+ membershipIconUrl?: string | null;
485
490
  /**
486
491
  * Normalized by the Commerce domain. Hosts must not infer access from
487
492
  * provider-specific tier/status strings.
@@ -795,8 +800,6 @@ interface AgentComposerProps {
795
800
  tuttiBudgetAgentCountCost: string;
796
801
  tuttiBudgetAgentCountBalance: string;
797
802
  tuttiBudgetAgentCountPowerful: string;
798
- tuttiBudgetConfirm: string;
799
- tuttiBudgetCancel: string;
800
803
  planModeDescription?: string;
801
804
  planModeOnLabel: string;
802
805
  planModeOffLabel: string;
package/dist/agent-gui.js CHANGED
@@ -1,43 +1,44 @@
1
1
  import {
2
2
  AgentGUI
3
- } from "./chunk-AT4DII34.js";
3
+ } from "./chunk-4IJYTGS2.js";
4
4
  import "./chunk-LB4AGT7B.js";
5
5
  import "./chunk-A4WCTHWS.js";
6
- import "./chunk-P4LVBSFC.js";
6
+ import "./chunk-5UOJCDLE.js";
7
+ import "./chunk-YJ27WHM3.js";
7
8
  import "./chunk-KDN6SLJM.js";
8
9
  import "./chunk-4CHBM3G3.js";
9
10
  import "./chunk-CBMWHQ7P.js";
10
11
  import "./chunk-MGSRWYRN.js";
11
- import "./chunk-U5NVLMW2.js";
12
- import "./chunk-SXZJ3MDI.js";
13
- import "./chunk-CVGUT36H.js";
12
+ import "./chunk-RNBZBBI7.js";
13
+ import "./chunk-7LSLB7CN.js";
14
14
  import "./chunk-JZ6KUUDY.js";
15
15
  import "./chunk-UP3ZDYTN.js";
16
16
  import "./chunk-GUFEHWUX.js";
17
- import "./chunk-KY2IYJXK.js";
17
+ import "./chunk-4DAJ5SVX.js";
18
18
  import "./chunk-3MVSOLX3.js";
19
19
  import "./chunk-G7DS23D4.js";
20
- import "./chunk-PLAOIDNY.js";
20
+ import "./chunk-FRSV66P3.js";
21
21
  import "./chunk-VMPA46ET.js";
22
22
  import "./chunk-XJ34OIEQ.js";
23
+ import "./chunk-POU5WZNH.js";
23
24
  import "./chunk-JDVP33S5.js";
24
- import "./chunk-7CJEFNHW.js";
25
25
  import "./chunk-3V5OCA2M.js";
26
26
  import "./chunk-RMQREVJY.js";
27
27
  import "./chunk-FGLQZ6I4.js";
28
- import "./chunk-4VXUWPPZ.js";
28
+ import "./chunk-JVVLKTLR.js";
29
29
  import "./chunk-EVQ4JY3N.js";
30
- import "./chunk-Z23HCYYR.js";
30
+ import "./chunk-WSIGQG7C.js";
31
31
  import "./chunk-ZVYUTXQJ.js";
32
- import "./chunk-3MMKYY6R.js";
32
+ import "./chunk-FMTWYOHM.js";
33
+ import "./chunk-BGNYUYLP.js";
33
34
  import "./chunk-YMXYBG7U.js";
34
- import "./chunk-HH5EWBH2.js";
35
- import "./chunk-F5UR6EJG.js";
35
+ import "./chunk-JUL7J4VN.js";
36
36
  import "./chunk-M6HTOCQK.js";
37
- import "./chunk-X2LSVRRX.js";
37
+ import "./chunk-F5UR6EJG.js";
38
+ import "./chunk-GXXPUEX6.js";
38
39
  import "./chunk-5BJYO6X3.js";
39
40
  import "./chunk-AFUVWWQY.js";
40
- import "./chunk-Y2VQMPUR.js";
41
+ import "./chunk-62LWOH3P.js";
41
42
  import "./chunk-MIJXEELH.js";
42
43
  import "./chunk-D2JUDUYY.js";
43
44
  import "./chunk-QNE2ZPPV.js";
@@ -8,7 +8,7 @@ import {
8
8
  isPromptRequestIdTitle,
9
9
  latestPlanTurnId,
10
10
  planImplementationPromptFromPlanTurn
11
- } from "../chunk-4VXUWPPZ.js";
11
+ } from "../chunk-JVVLKTLR.js";
12
12
  import {
13
13
  useEngineSelector
14
14
  } from "../chunk-EVQ4JY3N.js";
@@ -21,32 +21,33 @@ import {
21
21
  isExitPlanSwitchModeInput,
22
22
  normalizeAgentApprovalPurpose,
23
23
  normalizeAskUserQuestions
24
- } from "../chunk-Z23HCYYR.js";
24
+ } from "../chunk-WSIGQG7C.js";
25
25
  import {
26
26
  cn
27
27
  } from "../chunk-ZVYUTXQJ.js";
28
+ import "../chunk-FMTWYOHM.js";
28
29
  import {
29
30
  userAvatarPlaceholderUrl,
30
31
  workspaceAgentActivityStatusLabel
31
- } from "../chunk-3MMKYY6R.js";
32
+ } from "../chunk-BGNYUYLP.js";
32
33
  import {
33
34
  resolveWorkspaceAgentSessionSortTimeUnixMs
34
35
  } from "../chunk-YMXYBG7U.js";
35
36
  import {
36
37
  workspaceAgentProviderLabel
37
- } from "../chunk-HH5EWBH2.js";
38
- import "../chunk-F5UR6EJG.js";
38
+ } from "../chunk-JUL7J4VN.js";
39
39
  import {
40
40
  managedAgentRoundedIconUrl
41
41
  } from "../chunk-M6HTOCQK.js";
42
+ import "../chunk-F5UR6EJG.js";
42
43
  import {
43
44
  AgentGuiI18nProvider,
44
45
  getActiveUiLanguage,
45
46
  useTranslation
46
- } from "../chunk-X2LSVRRX.js";
47
+ } from "../chunk-GXXPUEX6.js";
47
48
  import "../chunk-5BJYO6X3.js";
48
49
  import "../chunk-AFUVWWQY.js";
49
- import "../chunk-Y2VQMPUR.js";
50
+ import "../chunk-62LWOH3P.js";
50
51
  import {
51
52
  normalizeAgentTitleText
52
53
  } from "../chunk-MIJXEELH.js";