@molecule/app-ide-react 1.5.0 → 1.6.0
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.
- package/README.md +58 -1
- package/dist/command-metadata.d.ts +39 -0
- package/dist/command-metadata.d.ts.map +1 -1
- package/dist/command-metadata.js +37 -1
- package/dist/command-metadata.js.map +1 -1
- package/dist/components/ChatPanel.d.ts +7 -1
- package/dist/components/ChatPanel.d.ts.map +1 -1
- package/dist/components/ChatPanel.js +170 -25
- package/dist/components/ChatPanel.js.map +1 -1
- package/dist/components/TipCard.d.ts +7 -2
- package/dist/components/TipCard.d.ts.map +1 -1
- package/dist/components/TipCard.js +8 -6
- package/dist/components/TipCard.js.map +1 -1
- package/dist/components/UserAvatar.d.ts +10 -1
- package/dist/components/UserAvatar.d.ts.map +1 -1
- package/dist/components/UserAvatar.js +9 -6
- package/dist/components/UserAvatar.js.map +1 -1
- package/dist/types.d.ts +24 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
|
3
3
|
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
4
|
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
5
|
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
-
Generated: 2026-08-
|
|
6
|
+
Generated: 2026-08-27T10:16:01.889Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/app-ide-react
|
|
@@ -364,6 +364,18 @@ interface ChatPanelProps {
|
|
|
364
364
|
* The panel loads that state once on mount otherwise.
|
|
365
365
|
*/
|
|
366
366
|
modelSelectionSignal?: number
|
|
367
|
+
/**
|
|
368
|
+
* Whether the current user may write SHARED project state from the chat
|
|
369
|
+
* surface — send/run Synthase, change the model, toggle autofix/mode, run a
|
|
370
|
+
* write-command, etc. A read-only project VIEWER passes `false`: the server
|
|
371
|
+
* 403s every such write, so the UI disables the composer + those controls and
|
|
372
|
+
* default-denies non-`viewerSafe` slash commands, showing a read-only note
|
|
373
|
+
* instead of a dead control. Defaults to `true` (a single-user/owner IDE and
|
|
374
|
+
* every non-collaborator host is unaffected). Read-only reads, view-only
|
|
375
|
+
* surfaces (`/settings`, `/help`, `/cost`) and per-user preferences stay
|
|
376
|
+
* available.
|
|
377
|
+
*/
|
|
378
|
+
canEdit?: boolean
|
|
367
379
|
/** Spinner/busy indicator node to show for in-chat loading states (e.g. the "designing" indicator). Falls back to a built-in dots animation. */
|
|
368
380
|
spinner?: ReactNode
|
|
369
381
|
/** Path of the currently focused file in the editor (shown first in @ picker). */
|
|
@@ -593,6 +605,32 @@ interface CommandDef {
|
|
|
593
605
|
* Omit for commands that take no arguments.
|
|
594
606
|
*/
|
|
595
607
|
usage?: string
|
|
608
|
+
/**
|
|
609
|
+
* Alternate short forms (WITHOUT the slash) that also invoke this command —
|
|
610
|
+
* e.g. `['t']` lets `/t <message>` invoke `/teamsay`. Matched by the chat
|
|
611
|
+
* input's command dispatch alongside {@link id}.
|
|
612
|
+
*/
|
|
613
|
+
aliases?: string[]
|
|
614
|
+
/**
|
|
615
|
+
* True for a human-only side-channel command handled by the HOST's server
|
|
616
|
+
* (e.g. a team-chat note the agent never sees): the raw `/command` text is
|
|
617
|
+
* sent to the backend, but NO optimistic user bubble is rendered — the server
|
|
618
|
+
* emits the canonical `message` stream event (see the `ChatStreamEvent`
|
|
619
|
+
* union), which IS the visible message, persisted and fanned out live to
|
|
620
|
+
* every project member.
|
|
621
|
+
*/
|
|
622
|
+
sideChannel?: boolean
|
|
623
|
+
/**
|
|
624
|
+
* True for commands a read-only project VIEWER may run — the ones that only
|
|
625
|
+
* read, open a view-only surface, or set a per-user/per-device preference
|
|
626
|
+
* (`/cost`, `/settings`, `/help`, `/mic`, …). Everything else writes shared
|
|
627
|
+
* project state or triggers a Synthase turn (which the server 403s for a
|
|
628
|
+
* viewer), so it is **default-denied** for viewers: omitting this flag means a
|
|
629
|
+
* viewer cannot run the command, which is the safe default for any command
|
|
630
|
+
* added later. Host side-channel commands (`sideChannel`, e.g. `/teamsay`) are
|
|
631
|
+
* team communication, not project mutation — they set this so viewers can talk.
|
|
632
|
+
*/
|
|
633
|
+
viewerSafe?: boolean
|
|
596
634
|
}
|
|
597
635
|
```
|
|
598
636
|
|
|
@@ -1696,6 +1734,7 @@ function ChatPanel({
|
|
|
1696
1734
|
userEditedFileKey,
|
|
1697
1735
|
isPro,
|
|
1698
1736
|
isAnonymous,
|
|
1737
|
+
canEdit = true,
|
|
1699
1738
|
buildUpgradeCta,
|
|
1700
1739
|
buildHelpUpgradeSection,
|
|
1701
1740
|
userAvatar,
|
|
@@ -2095,6 +2134,24 @@ function livePanelSize(layout: WorkspaceLayout, panelConfigs: PanelConfig[], ind
|
|
|
2095
2134
|
|
|
2096
2135
|
**Returns:** The panel size as a percentage.
|
|
2097
2136
|
|
|
2137
|
+
#### `matchesSideChannelCommand(defs, text)`
|
|
2138
|
+
|
|
2139
|
+
True when `text` invokes a side-channel command ({@link CommandDef.sideChannel})
|
|
2140
|
+
from `defs`, matched against the leading `/token` by command id or alias
|
|
2141
|
+
(case-insensitive). Used by the chat input's dispatch AND the auto-send
|
|
2142
|
+
(initialMessage) path so a side-channel send never renders an optimistic
|
|
2143
|
+
"/command …" echo — the server's emitted `message` stream event is the one
|
|
2144
|
+
visible message.
|
|
2145
|
+
|
|
2146
|
+
```typescript
|
|
2147
|
+
function matchesSideChannelCommand(defs: readonly CommandDef[] | undefined, text: string): boolean
|
|
2148
|
+
```
|
|
2149
|
+
|
|
2150
|
+
- `defs` — The command registry to consult (e.g. shared ∪ host commands).
|
|
2151
|
+
- `text` — The raw outgoing message text.
|
|
2152
|
+
|
|
2153
|
+
**Returns:** Whether the text invokes a side-channel command.
|
|
2154
|
+
|
|
2098
2155
|
#### `normalizeKeys(keys)`
|
|
2099
2156
|
|
|
2100
2157
|
Normalize a shortcut definition string into the same format produced by
|
|
@@ -48,6 +48,32 @@ export interface CommandDef {
|
|
|
48
48
|
* Omit for commands that take no arguments.
|
|
49
49
|
*/
|
|
50
50
|
usage?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Alternate short forms (WITHOUT the slash) that also invoke this command —
|
|
53
|
+
* e.g. `['t']` lets `/t <message>` invoke `/teamsay`. Matched by the chat
|
|
54
|
+
* input's command dispatch alongside {@link id}.
|
|
55
|
+
*/
|
|
56
|
+
aliases?: string[];
|
|
57
|
+
/**
|
|
58
|
+
* True for a human-only side-channel command handled by the HOST's server
|
|
59
|
+
* (e.g. a team-chat note the agent never sees): the raw `/command` text is
|
|
60
|
+
* sent to the backend, but NO optimistic user bubble is rendered — the server
|
|
61
|
+
* emits the canonical `message` stream event (see the `ChatStreamEvent`
|
|
62
|
+
* union), which IS the visible message, persisted and fanned out live to
|
|
63
|
+
* every project member.
|
|
64
|
+
*/
|
|
65
|
+
sideChannel?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* True for commands a read-only project VIEWER may run — the ones that only
|
|
68
|
+
* read, open a view-only surface, or set a per-user/per-device preference
|
|
69
|
+
* (`/cost`, `/settings`, `/help`, `/mic`, …). Everything else writes shared
|
|
70
|
+
* project state or triggers a Synthase turn (which the server 403s for a
|
|
71
|
+
* viewer), so it is **default-denied** for viewers: omitting this flag means a
|
|
72
|
+
* viewer cannot run the command, which is the safe default for any command
|
|
73
|
+
* added later. Host side-channel commands (`sideChannel`, e.g. `/teamsay`) are
|
|
74
|
+
* team communication, not project mutation — they set this so viewers can talk.
|
|
75
|
+
*/
|
|
76
|
+
viewerSafe?: boolean;
|
|
51
77
|
}
|
|
52
78
|
/**
|
|
53
79
|
* Every available slash command, grouped by category order. This is the
|
|
@@ -75,4 +101,17 @@ export interface CommandGroup {
|
|
|
75
101
|
* @returns One {@link CommandGroup} per non-empty category, in category order.
|
|
76
102
|
*/
|
|
77
103
|
export declare function groupCommandsByCategory(commands?: readonly CommandDef[], categories?: readonly CommandCategory[]): CommandGroup[];
|
|
104
|
+
/**
|
|
105
|
+
* True when `text` invokes a side-channel command ({@link CommandDef.sideChannel})
|
|
106
|
+
* from `defs`, matched against the leading `/token` by command id or alias
|
|
107
|
+
* (case-insensitive). Used by the chat input's dispatch AND the auto-send
|
|
108
|
+
* (initialMessage) path so a side-channel send never renders an optimistic
|
|
109
|
+
* "/command …" echo — the server's emitted `message` stream event is the one
|
|
110
|
+
* visible message.
|
|
111
|
+
*
|
|
112
|
+
* @param defs - The command registry to consult (e.g. shared ∪ host commands).
|
|
113
|
+
* @param text - The raw outgoing message text.
|
|
114
|
+
* @returns Whether the text invokes a side-channel command.
|
|
115
|
+
*/
|
|
116
|
+
export declare function matchesSideChannelCommand(defs: readonly CommandDef[] | undefined, text: string): boolean;
|
|
78
117
|
//# sourceMappingURL=command-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-metadata.d.ts","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAC5B,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;AAEvE,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,GAAG,EAAE,kBAAkB,CAAA;IACvB,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;AAED,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAO/C,CAAA;AAEV,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,QAAQ,EAAE,kBAAkB,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"command-metadata.d.ts","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAC5B,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;AAEvE,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,GAAG,EAAE,kBAAkB,CAAA;IACvB,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;CACd;AAED,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAO/C,CAAA;AAEV,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,QAAQ,EAAE,kBAAkB,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,UAAU,EAqLhC,CAAA;AAEV,4FAA4F;AAC5F,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;AAExC,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,eAAe,CAAA;IACzB,oDAAoD;IACpD,QAAQ,EAAE,UAAU,EAAE,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,SAAS,UAAU,EAAa,EAC1C,UAAU,GAAE,SAAS,eAAe,EAAuB,GAC1D,YAAY,EAAE,CAOhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAST"}
|
package/dist/command-metadata.js
CHANGED
|
@@ -44,6 +44,7 @@ export const COMMANDS = [
|
|
|
44
44
|
label: '/cost',
|
|
45
45
|
description: 'Show token usage & share of your AI allowance',
|
|
46
46
|
category: 'context',
|
|
47
|
+
viewerSafe: true,
|
|
47
48
|
},
|
|
48
49
|
{
|
|
49
50
|
id: 'skills',
|
|
@@ -151,6 +152,9 @@ export const COMMANDS = [
|
|
|
151
152
|
label: '/settings',
|
|
152
153
|
description: "View & change {{agentName}}'s settings",
|
|
153
154
|
category: 'settings',
|
|
155
|
+
// The settings modal renders read-only for a viewer (every write control is
|
|
156
|
+
// disabled), so opening it to look is fine.
|
|
157
|
+
viewerSafe: true,
|
|
154
158
|
},
|
|
155
159
|
{ id: 'sounds', label: '/sounds', description: 'Notification sounds', category: 'settings' },
|
|
156
160
|
{
|
|
@@ -158,21 +162,30 @@ export const COMMANDS = [
|
|
|
158
162
|
label: '/mic',
|
|
159
163
|
description: 'Choose the dictation engine (on-device / browser native)',
|
|
160
164
|
category: 'settings',
|
|
165
|
+
viewerSafe: true,
|
|
161
166
|
},
|
|
162
167
|
{
|
|
163
168
|
id: 'dictate',
|
|
164
169
|
label: '/dictate',
|
|
165
170
|
description: 'Choose the dictation engine (alias for /mic)',
|
|
166
171
|
category: 'settings',
|
|
172
|
+
viewerSafe: true,
|
|
167
173
|
},
|
|
168
174
|
// Support
|
|
169
|
-
{
|
|
175
|
+
{
|
|
176
|
+
id: 'help',
|
|
177
|
+
label: '/help',
|
|
178
|
+
description: 'Workflow guide & tips',
|
|
179
|
+
category: 'support',
|
|
180
|
+
viewerSafe: true,
|
|
181
|
+
},
|
|
170
182
|
{
|
|
171
183
|
id: 'report',
|
|
172
184
|
label: '/report',
|
|
173
185
|
description: 'Report a bug or send feedback',
|
|
174
186
|
category: 'support',
|
|
175
187
|
usage: '/report [title]',
|
|
188
|
+
viewerSafe: true,
|
|
176
189
|
},
|
|
177
190
|
{
|
|
178
191
|
id: 'bug',
|
|
@@ -180,6 +193,7 @@ export const COMMANDS = [
|
|
|
180
193
|
description: 'Report a bug (alias for /report)',
|
|
181
194
|
category: 'support',
|
|
182
195
|
usage: '/bug [title]',
|
|
196
|
+
viewerSafe: true,
|
|
183
197
|
},
|
|
184
198
|
{
|
|
185
199
|
id: 'version',
|
|
@@ -190,6 +204,7 @@ export const COMMANDS = [
|
|
|
190
204
|
// same mechanism as /model's `(Claude)` / /maxloops's `(50)`. See ChatPanel.
|
|
191
205
|
description: 'Show the app version',
|
|
192
206
|
category: 'support',
|
|
207
|
+
viewerSafe: true,
|
|
193
208
|
},
|
|
194
209
|
];
|
|
195
210
|
/**
|
|
@@ -211,4 +226,25 @@ export function groupCommandsByCategory(commands = COMMANDS, categories = COMMAN
|
|
|
211
226
|
}
|
|
212
227
|
return groups;
|
|
213
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* True when `text` invokes a side-channel command ({@link CommandDef.sideChannel})
|
|
231
|
+
* from `defs`, matched against the leading `/token` by command id or alias
|
|
232
|
+
* (case-insensitive). Used by the chat input's dispatch AND the auto-send
|
|
233
|
+
* (initialMessage) path so a side-channel send never renders an optimistic
|
|
234
|
+
* "/command …" echo — the server's emitted `message` stream event is the one
|
|
235
|
+
* visible message.
|
|
236
|
+
*
|
|
237
|
+
* @param defs - The command registry to consult (e.g. shared ∪ host commands).
|
|
238
|
+
* @param text - The raw outgoing message text.
|
|
239
|
+
* @returns Whether the text invokes a side-channel command.
|
|
240
|
+
*/
|
|
241
|
+
export function matchesSideChannelCommand(defs, text) {
|
|
242
|
+
const token = text
|
|
243
|
+
.trim()
|
|
244
|
+
.match(/^\/(\S+)(?:\s|$)/)?.[1]
|
|
245
|
+
?.toLowerCase();
|
|
246
|
+
if (!token)
|
|
247
|
+
return false;
|
|
248
|
+
return !!defs?.some((c) => c.sideChannel && (c.id.toLowerCase() === token || c.aliases?.includes(token)));
|
|
249
|
+
}
|
|
214
250
|
//# sourceMappingURL=command-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAcH,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACpC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAC9B,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC5C,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAChC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACtC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CAC5B,CAAA;
|
|
1
|
+
{"version":3,"file":"command-metadata.js","sourceRoot":"","sources":["../src/command-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,8 @@ export interface MessageItemProps {
|
|
|
86
86
|
* {@link ChatPanelProps.buildUpgradeCta}.
|
|
87
87
|
*/
|
|
88
88
|
buildUpgradeCta?: ChatPanelProps['buildUpgradeCta'];
|
|
89
|
+
/** Agent display name — used in the team-only badge tooltip ("{{agentName}} ignores it"). */
|
|
90
|
+
agentName?: string;
|
|
89
91
|
}
|
|
90
92
|
/** Props for the inner chat surface (timeline + composer), remounted per conversation. */
|
|
91
93
|
export interface ChatInnerProps {
|
|
@@ -96,6 +98,8 @@ export interface ChatInnerProps {
|
|
|
96
98
|
isPro?: boolean;
|
|
97
99
|
/** Whether the viewer is anonymous — see {@link ChatPanelProps.isAnonymous}. */
|
|
98
100
|
isAnonymous?: boolean;
|
|
101
|
+
/** Whether the user may write shared project state — see {@link ChatPanelProps.canEdit}. */
|
|
102
|
+
canEdit?: boolean;
|
|
99
103
|
/** Host-supplied upgrade/sign-in CTA builder — see {@link ChatPanelProps.buildUpgradeCta}. */
|
|
100
104
|
buildUpgradeCta?: ChatPanelProps['buildUpgradeCta'];
|
|
101
105
|
/** Host-supplied `/help` upgrade section builder — see {@link ChatPanelProps.buildHelpUpgradeSection}. */
|
|
@@ -121,6 +125,8 @@ export interface ChatInnerProps {
|
|
|
121
125
|
onRenderError?: ChatPanelProps['onRenderError'];
|
|
122
126
|
/** Called when a user avatar in the chat timeline is clicked — see {@link ChatPanelProps.onProfileClick}. */
|
|
123
127
|
onProfileClick?: ChatPanelProps['onProfileClick'];
|
|
128
|
+
/** The signed-in user's id — gates avatar clicks to their OWN messages. See {@link ChatPanelProps.currentUserId}. */
|
|
129
|
+
currentUserId?: string;
|
|
124
130
|
/** Called on the `ready_to_build` stream event — discovery is done; boot the sandbox. */
|
|
125
131
|
onReadyToBuild?: () => void;
|
|
126
132
|
/** True after the plan streams but while the sandbox is still booting (pre-kickoff) — drives the chat "waiting for environment" indicator. */
|
|
@@ -179,7 +185,7 @@ export interface ChatInnerProps {
|
|
|
179
185
|
* @param props - Component props (see {@link MessageItemProps}).
|
|
180
186
|
* @returns The rendered chat panel element.
|
|
181
187
|
*/
|
|
182
|
-
export declare function ChatPanel({ projectId, endpoint, initialMessage, onInitialMessageSent, activeFile, openTabs, onFileOpen, onFileDoubleClick, onFileDiff, onFileRevert, onFileChange, onFileDeleted, onCommit, onActivityClick, onRenderError, onProfileClick, onReadyToBuild, awaitingSandboxBoot, onClientAction, onTurnComplete, onLoadingChange, onNavigatePreview, onRegisterPushHandler, autoSubmitSignal, initialInputValue, hideConversationMenu, renderConversationHeader, conversationId: controlledConversationId, chatKey: controlledChatKey, onConversationId: controlledOnConversationId, openShareSignal: controlledShareSignal, openReportSignal: controlledReportSignal, openSettingsSignal: controlledSettingsSignal, onManageCustomModels, gitStatusTick, pendingMessage, pendingMessageKey, pendingMessageSuppressUser, pendingMessageUserInitiated, userEditedFile, userEditedFileKey, isPro, isAnonymous, buildUpgradeCta, buildHelpUpgradeSection, userAvatar, agentName, productName, version, extraCommands, feedbackUrl, className, }: ChatPanelProps): JSX.Element;
|
|
188
|
+
export declare function ChatPanel({ projectId, endpoint, initialMessage, onInitialMessageSent, activeFile, openTabs, onFileOpen, onFileDoubleClick, onFileDiff, onFileRevert, onFileChange, onFileDeleted, onCommit, onActivityClick, onRenderError, onProfileClick, currentUserId, onReadyToBuild, awaitingSandboxBoot, onClientAction, onTurnComplete, onLoadingChange, onNavigatePreview, onRegisterPushHandler, autoSubmitSignal, initialInputValue, hideConversationMenu, renderConversationHeader, conversationId: controlledConversationId, chatKey: controlledChatKey, onConversationId: controlledOnConversationId, openShareSignal: controlledShareSignal, openReportSignal: controlledReportSignal, openSettingsSignal: controlledSettingsSignal, onManageCustomModels, gitStatusTick, pendingMessage, pendingMessageKey, pendingMessageSuppressUser, pendingMessageUserInitiated, userEditedFile, userEditedFileKey, isPro, isAnonymous, canEdit, buildUpgradeCta, buildHelpUpgradeSection, userAvatar, agentName, productName, version, extraCommands, feedbackUrl, className, }: ChatPanelProps): JSX.Element;
|
|
183
189
|
export declare namespace ChatPanel {
|
|
184
190
|
var displayName: string;
|
|
185
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAA;AAY3C,OAAO,KAAK,EAAa,WAAW,EAAmB,MAAM,uBAAuB,CAAA;AAuCpF,OAAO,KAAK,EAAE,cAAc,EAAoB,eAAe,EAAE,MAAM,aAAa,CAAA;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAevD,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
|