@molecule/app-ide-react 1.5.0 → 1.7.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 +127 -4
- package/dist/command-metadata.d.ts +39 -0
- package/dist/command-metadata.d.ts.map +1 -1
- package/dist/command-metadata.js +46 -3
- package/dist/command-metadata.js.map +1 -1
- package/dist/components/ChatPanel.d.ts +20 -2
- package/dist/components/ChatPanel.d.ts.map +1 -1
- package/dist/components/ChatPanel.js +485 -122
- package/dist/components/ChatPanel.js.map +1 -1
- package/dist/components/EditorPanel.d.ts +1 -1
- package/dist/components/EditorPanel.d.ts.map +1 -1
- package/dist/components/EditorPanel.js +6 -1
- package/dist/components/EditorPanel.js.map +1 -1
- package/dist/components/FileExplorer.d.ts +1 -1
- package/dist/components/FileExplorer.d.ts.map +1 -1
- package/dist/components/FileExplorer.js +2 -2
- package/dist/components/FileExplorer.js.map +1 -1
- package/dist/components/FileExplorerContextMenu.d.ts +6 -1
- package/dist/components/FileExplorerContextMenu.d.ts.map +1 -1
- package/dist/components/FileExplorerContextMenu.js +19 -7
- package/dist/components/FileExplorerContextMenu.js.map +1 -1
- package/dist/components/SearchPanel.d.ts +1 -1
- package/dist/components/SearchPanel.d.ts.map +1 -1
- package/dist/components/SearchPanel.js +9 -6
- package/dist/components/SearchPanel.js.map +1 -1
- package/dist/components/ShareModal.d.ts +13 -1
- package/dist/components/ShareModal.d.ts.map +1 -1
- package/dist/components/ShareModal.js +2 -2
- package/dist/components/ShareModal.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/ToolCallCard.d.ts.map +1 -1
- package/dist/components/ToolCallCard.js +6 -3
- package/dist/components/ToolCallCard.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 +60 -2
- 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-28T09:55:58.055Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/app-ide-react
|
|
@@ -270,9 +270,20 @@ interface ChatPanelProps {
|
|
|
270
270
|
* that user's profile (e.g. molecule.dev's profile modal). Receives the clicked
|
|
271
271
|
* user's {@link ChatUserIdentity}. Omit it (the default) to render the avatars
|
|
272
272
|
* non-interactive (static image/icon, exactly as before). Only real user
|
|
273
|
-
* avatars are clickable — the molecule glyph on auto-sent messages is not
|
|
273
|
+
* avatars are clickable — the molecule glyph on auto-sent messages is not, and
|
|
274
|
+
* in a multi-user conversation only the SIGNED-IN user's own avatars are
|
|
275
|
+
* (hosts open the *own*-profile editor from this, so a teammate's avatar must
|
|
276
|
+
* not fire it — see {@link currentUserId}).
|
|
274
277
|
*/
|
|
275
278
|
onProfileClick?: (user: ChatUserIdentity) => void
|
|
279
|
+
/**
|
|
280
|
+
* The signed-in user's id, used to tell their OWN messages from a teammate's
|
|
281
|
+
* (a message's persisted `author.id`). Gates avatar clickability: an authored
|
|
282
|
+
* message fires {@link onProfileClick} only when its author IS the signed-in
|
|
283
|
+
* user. Omit in a solo host — author-less messages (the local echo, legacy
|
|
284
|
+
* rows) are always treated as the signed-in user's own.
|
|
285
|
+
*/
|
|
286
|
+
currentUserId?: string
|
|
276
287
|
/** Called when the server signals (via the `ready_to_build` stream event) that discovery is complete and the sandbox should boot. */
|
|
277
288
|
onReadyToBuild?: () => void
|
|
278
289
|
/**
|
|
@@ -357,13 +368,42 @@ interface ChatPanelProps {
|
|
|
357
368
|
* invokes this callback (the host opens its own custom-provider management
|
|
358
369
|
* surface). Omit to hide the row — the shared package stays host-agnostic.
|
|
359
370
|
*/
|
|
360
|
-
onManageCustomModels?: (
|
|
371
|
+
onManageCustomModels?: (context?: {
|
|
372
|
+
/**
|
|
373
|
+
* The mode a "Use this model" action should target — the `/model` picker's
|
|
374
|
+
* scoped mode when it has one, else the LIVE conversation mode (discovery
|
|
375
|
+
* runs in plan mode, so it maps to `'plan'`).
|
|
376
|
+
*/
|
|
377
|
+
mode?: 'plan' | 'execute'
|
|
378
|
+
}) => void
|
|
361
379
|
/**
|
|
362
380
|
* Bump to make the panel re-read its persisted model/settings state — e.g.
|
|
363
381
|
* after the host's custom-provider surface sets the chat model via "Use".
|
|
364
382
|
* The panel loads that state once on mount otherwise.
|
|
365
383
|
*/
|
|
366
384
|
modelSelectionSignal?: number
|
|
385
|
+
/**
|
|
386
|
+
* Whether the current user may write SHARED project state from the chat
|
|
387
|
+
* surface — send/run Synthase, change the model, toggle autofix/mode, run a
|
|
388
|
+
* write-command, etc. A read-only project VIEWER passes `false`: the server
|
|
389
|
+
* 403s every such write, so the UI disables the composer + those controls and
|
|
390
|
+
* default-denies non-`viewerSafe` slash commands, showing a read-only note
|
|
391
|
+
* instead of a dead control. Defaults to `true` (a single-user/owner IDE and
|
|
392
|
+
* every non-collaborator host is unaffected). Read-only reads, view-only
|
|
393
|
+
* surfaces (`/settings`, `/help`, `/cost`) and per-user preferences stay
|
|
394
|
+
* available.
|
|
395
|
+
*/
|
|
396
|
+
canEdit?: boolean
|
|
397
|
+
/**
|
|
398
|
+
* Whether the current user may MANAGE public share links — the `/share`
|
|
399
|
+
* command, the header share button, and the ShareModal's create/revoke
|
|
400
|
+
* controls. Distinct from {@link canEdit} because hosts commonly gate share
|
|
401
|
+
* minting ABOVE editor (molecule.dev mints/lists/revokes at admin+): an
|
|
402
|
+
* editor with `canEdit` true but `canShare` false gets no `/share` surface
|
|
403
|
+
* instead of a modal whose every request 403s. Defaults to `canEdit !==
|
|
404
|
+
* false` (back-compat: hosts that gate the modal themselves see no change).
|
|
405
|
+
*/
|
|
406
|
+
canShare?: boolean
|
|
367
407
|
/** 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
408
|
spinner?: ReactNode
|
|
369
409
|
/** Path of the currently focused file in the editor (shown first in @ picker). */
|
|
@@ -593,6 +633,32 @@ interface CommandDef {
|
|
|
593
633
|
* Omit for commands that take no arguments.
|
|
594
634
|
*/
|
|
595
635
|
usage?: string
|
|
636
|
+
/**
|
|
637
|
+
* Alternate short forms (WITHOUT the slash) that also invoke this command —
|
|
638
|
+
* e.g. `['t']` lets `/t <message>` invoke `/teamsay`. Matched by the chat
|
|
639
|
+
* input's command dispatch alongside {@link id}.
|
|
640
|
+
*/
|
|
641
|
+
aliases?: string[]
|
|
642
|
+
/**
|
|
643
|
+
* True for a human-only side-channel command handled by the HOST's server
|
|
644
|
+
* (e.g. a team-chat note the agent never sees): the raw `/command` text is
|
|
645
|
+
* sent to the backend, but NO optimistic user bubble is rendered — the server
|
|
646
|
+
* emits the canonical `message` stream event (see the `ChatStreamEvent`
|
|
647
|
+
* union), which IS the visible message, persisted and fanned out live to
|
|
648
|
+
* every project member.
|
|
649
|
+
*/
|
|
650
|
+
sideChannel?: boolean
|
|
651
|
+
/**
|
|
652
|
+
* True for commands a read-only project VIEWER may run — the ones that only
|
|
653
|
+
* read, open a view-only surface, or set a per-user/per-device preference
|
|
654
|
+
* (`/cost`, `/settings`, `/help`, `/mic`, …). Everything else writes shared
|
|
655
|
+
* project state or triggers a Synthase turn (which the server 403s for a
|
|
656
|
+
* viewer), so it is **default-denied** for viewers: omitting this flag means a
|
|
657
|
+
* viewer cannot run the command, which is the safe default for any command
|
|
658
|
+
* added later. Host side-channel commands (`sideChannel`, e.g. `/teamsay`) are
|
|
659
|
+
* team communication, not project mutation — they set this so viewers can talk.
|
|
660
|
+
*/
|
|
661
|
+
viewerSafe?: boolean
|
|
596
662
|
}
|
|
597
663
|
```
|
|
598
664
|
|
|
@@ -659,6 +725,12 @@ Properties for the editor panel component.
|
|
|
659
725
|
```typescript
|
|
660
726
|
interface EditorPanelProps {
|
|
661
727
|
className?: string
|
|
728
|
+
/**
|
|
729
|
+
* Render the editor read-only (Monaco `readOnly`) — for read-only project
|
|
730
|
+
* VIEWERS, whose file writes the server rejects anyway. Typing is blocked at
|
|
731
|
+
* the editor, so a viewer never composes an edit that cannot be saved.
|
|
732
|
+
*/
|
|
733
|
+
readOnly?: boolean
|
|
662
734
|
/** Called whenever the active file changes (tab switch, file open, file close). */
|
|
663
735
|
onActiveFileChange?: (path: string | null) => void
|
|
664
736
|
/** Called once after the editor is fully mounted and ready to accept files. */
|
|
@@ -688,6 +760,12 @@ Properties for file explorer.
|
|
|
688
760
|
|
|
689
761
|
```typescript
|
|
690
762
|
interface FileExplorerProps {
|
|
763
|
+
/**
|
|
764
|
+
* Read-only mode (a project viewer): the context menu omits every mutating
|
|
765
|
+
* entry. Pair with omitting the mutation handlers (onRename/onDelete/…) so
|
|
766
|
+
* keyboard shortcuts and drag-moves no-op too.
|
|
767
|
+
*/
|
|
768
|
+
readOnly?: boolean
|
|
691
769
|
files: FileNode[]
|
|
692
770
|
onFileSelect: (path: string) => void
|
|
693
771
|
onFileDoubleClick?: (path: string) => void
|
|
@@ -1093,6 +1171,12 @@ interface SearchPanelProps {
|
|
|
1093
1171
|
excludedDirs?: string[]
|
|
1094
1172
|
/** Persist an edited excluded-dir set (the host owns storage). */
|
|
1095
1173
|
onExcludedDirsChange?: (dirs: string[]) => void
|
|
1174
|
+
/**
|
|
1175
|
+
* Read-only mode (a project viewer): search stays fully usable, but the
|
|
1176
|
+
* Replace toggle/inputs/buttons are hidden (bulk writes are editor work).
|
|
1177
|
+
* Pair with omitting onExcludedDirsChange so exclude edits never persist.
|
|
1178
|
+
*/
|
|
1179
|
+
readOnly?: boolean
|
|
1096
1180
|
}
|
|
1097
1181
|
```
|
|
1098
1182
|
|
|
@@ -1291,6 +1375,15 @@ interface UserAvatarProps {
|
|
|
1291
1375
|
* ignored (see {@link resolveUserAvatar}) and the generic icon is shown.
|
|
1292
1376
|
*/
|
|
1293
1377
|
userAvatar?: string | null
|
|
1378
|
+
/**
|
|
1379
|
+
* The message author's display name, for a TEAMMATE's message. When set and
|
|
1380
|
+
* there is no renderable avatar, the fallback tile shows the name's initial
|
|
1381
|
+
* (e.g. "T" for Test) instead of the generic `user` glyph — so a teammate
|
|
1382
|
+
* without a profile picture is still identifiable at a glance and is NEVER
|
|
1383
|
+
* shown with the viewer's own avatar. Also used as the accessible label /
|
|
1384
|
+
* image alt in place of the solo "You".
|
|
1385
|
+
*/
|
|
1386
|
+
name?: string
|
|
1294
1387
|
/** Diameter of the avatar in pixels. Defaults to 24. */
|
|
1295
1388
|
size?: number
|
|
1296
1389
|
/**
|
|
@@ -1669,6 +1762,7 @@ function ChatPanel({
|
|
|
1669
1762
|
onActivityClick,
|
|
1670
1763
|
onRenderError,
|
|
1671
1764
|
onProfileClick,
|
|
1765
|
+
currentUserId,
|
|
1672
1766
|
onReadyToBuild,
|
|
1673
1767
|
awaitingSandboxBoot,
|
|
1674
1768
|
onClientAction,
|
|
@@ -1696,6 +1790,8 @@ function ChatPanel({
|
|
|
1696
1790
|
userEditedFileKey,
|
|
1697
1791
|
isPro,
|
|
1698
1792
|
isAnonymous,
|
|
1793
|
+
canEdit = true,
|
|
1794
|
+
canShare,
|
|
1699
1795
|
buildUpgradeCta,
|
|
1700
1796
|
buildHelpUpgradeSection,
|
|
1701
1797
|
userAvatar,
|
|
@@ -1806,6 +1902,7 @@ Code editor panel with tab bar and Monaco integration.
|
|
|
1806
1902
|
```typescript
|
|
1807
1903
|
function EditorPanel({
|
|
1808
1904
|
className,
|
|
1905
|
+
readOnly,
|
|
1809
1906
|
onActiveFileChange,
|
|
1810
1907
|
onEditorReady,
|
|
1811
1908
|
onTabsChange,
|
|
@@ -1833,6 +1930,7 @@ function FileExplorer({
|
|
|
1833
1930
|
onFileSelect,
|
|
1834
1931
|
onFileDoubleClick,
|
|
1835
1932
|
onDirExpand,
|
|
1933
|
+
readOnly,
|
|
1836
1934
|
onRename,
|
|
1837
1935
|
onDelete,
|
|
1838
1936
|
onDeleteMultiple,
|
|
@@ -2095,6 +2193,24 @@ function livePanelSize(layout: WorkspaceLayout, panelConfigs: PanelConfig[], ind
|
|
|
2095
2193
|
|
|
2096
2194
|
**Returns:** The panel size as a percentage.
|
|
2097
2195
|
|
|
2196
|
+
#### `matchesSideChannelCommand(defs, text)`
|
|
2197
|
+
|
|
2198
|
+
True when `text` invokes a side-channel command ({@link CommandDef.sideChannel})
|
|
2199
|
+
from `defs`, matched against the leading `/token` by command id or alias
|
|
2200
|
+
(case-insensitive). Used by the chat input's dispatch AND the auto-send
|
|
2201
|
+
(initialMessage) path so a side-channel send never renders an optimistic
|
|
2202
|
+
"/command …" echo — the server's emitted `message` stream event is the one
|
|
2203
|
+
visible message.
|
|
2204
|
+
|
|
2205
|
+
```typescript
|
|
2206
|
+
function matchesSideChannelCommand(defs: readonly CommandDef[] | undefined, text: string): boolean
|
|
2207
|
+
```
|
|
2208
|
+
|
|
2209
|
+
- `defs` — The command registry to consult (e.g. shared ∪ host commands).
|
|
2210
|
+
- `text` — The raw outgoing message text.
|
|
2211
|
+
|
|
2212
|
+
**Returns:** Whether the text invokes a side-channel command.
|
|
2213
|
+
|
|
2098
2214
|
#### `normalizeKeys(keys)`
|
|
2099
2215
|
|
|
2100
2216
|
Normalize a shortcut definition string into the same format produced by
|
|
@@ -2333,6 +2449,7 @@ function SearchPanel({
|
|
|
2333
2449
|
className,
|
|
2334
2450
|
excludedDirs,
|
|
2335
2451
|
onExcludedDirsChange,
|
|
2452
|
+
readOnly,
|
|
2336
2453
|
}: SearchPanelProps): JSX.Element
|
|
2337
2454
|
```
|
|
2338
2455
|
|
|
@@ -2395,12 +2512,18 @@ function ShareModal({
|
|
|
2395
2512
|
projectId,
|
|
2396
2513
|
initialRole = DEFAULT_SHARE_ROLE,
|
|
2397
2514
|
roles = [DEFAULT_SHARE_ROLE],
|
|
2515
|
+
canManage = true,
|
|
2516
|
+
canCreate = canManage,
|
|
2517
|
+
canRevoke = canManage,
|
|
2398
2518
|
onClose,
|
|
2399
2519
|
onCreated,
|
|
2400
2520
|
}: {
|
|
2401
2521
|
projectId: string
|
|
2402
2522
|
initialRole?: ShareRole
|
|
2403
2523
|
roles?: readonly ShareRole[]
|
|
2524
|
+
canManage?: boolean
|
|
2525
|
+
canCreate?: boolean
|
|
2526
|
+
canRevoke?: boolean
|
|
2404
2527
|
onClose: () => void
|
|
2405
2528
|
onCreated?: (result: ShareLinkResult) => void
|
|
2406
2529
|
}): JSX.Element
|
|
@@ -2496,7 +2619,7 @@ visual is wrapped in an accessible button so the avatar can open the user's
|
|
|
2496
2619
|
profile.
|
|
2497
2620
|
|
|
2498
2621
|
```typescript
|
|
2499
|
-
function UserAvatar({ userAvatar, size = 24, onClick }: UserAvatarProps): JSX.Element
|
|
2622
|
+
function UserAvatar({ userAvatar, name, size = 24, onClick }: UserAvatarProps): JSX.Element
|
|
2500
2623
|
```
|
|
2501
2624
|
|
|
2502
2625
|
- `props` — {@link UserAvatarProps}.
|
|
@@ -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,EA4LhC,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
|
@@ -42,8 +42,9 @@ export const COMMANDS = [
|
|
|
42
42
|
{
|
|
43
43
|
id: 'cost',
|
|
44
44
|
label: '/cost',
|
|
45
|
-
description:
|
|
45
|
+
description: "Show token usage & share of the project's AI allowance",
|
|
46
46
|
category: 'context',
|
|
47
|
+
viewerSafe: true,
|
|
47
48
|
},
|
|
48
49
|
{
|
|
49
50
|
id: 'skills',
|
|
@@ -151,28 +152,47 @@ 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,
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
id: 'sounds',
|
|
161
|
+
label: '/sounds',
|
|
162
|
+
description: 'Notification sounds',
|
|
163
|
+
category: 'settings',
|
|
164
|
+
// Per-user, per-device preference (localStorage) — nothing project-shared.
|
|
165
|
+
viewerSafe: true,
|
|
154
166
|
},
|
|
155
|
-
{ id: 'sounds', label: '/sounds', description: 'Notification sounds', category: 'settings' },
|
|
156
167
|
{
|
|
157
168
|
id: 'mic',
|
|
158
169
|
label: '/mic',
|
|
159
170
|
description: 'Choose the dictation engine (on-device / browser native)',
|
|
160
171
|
category: 'settings',
|
|
172
|
+
viewerSafe: true,
|
|
161
173
|
},
|
|
162
174
|
{
|
|
163
175
|
id: 'dictate',
|
|
164
176
|
label: '/dictate',
|
|
165
177
|
description: 'Choose the dictation engine (alias for /mic)',
|
|
166
178
|
category: 'settings',
|
|
179
|
+
viewerSafe: true,
|
|
167
180
|
},
|
|
168
181
|
// Support
|
|
169
|
-
{
|
|
182
|
+
{
|
|
183
|
+
id: 'help',
|
|
184
|
+
label: '/help',
|
|
185
|
+
description: 'Workflow guide & tips',
|
|
186
|
+
category: 'support',
|
|
187
|
+
viewerSafe: true,
|
|
188
|
+
},
|
|
170
189
|
{
|
|
171
190
|
id: 'report',
|
|
172
191
|
label: '/report',
|
|
173
192
|
description: 'Report a bug or send feedback',
|
|
174
193
|
category: 'support',
|
|
175
194
|
usage: '/report [title]',
|
|
195
|
+
viewerSafe: true,
|
|
176
196
|
},
|
|
177
197
|
{
|
|
178
198
|
id: 'bug',
|
|
@@ -180,6 +200,7 @@ export const COMMANDS = [
|
|
|
180
200
|
description: 'Report a bug (alias for /report)',
|
|
181
201
|
category: 'support',
|
|
182
202
|
usage: '/bug [title]',
|
|
203
|
+
viewerSafe: true,
|
|
183
204
|
},
|
|
184
205
|
{
|
|
185
206
|
id: 'version',
|
|
@@ -190,6 +211,7 @@ export const COMMANDS = [
|
|
|
190
211
|
// same mechanism as /model's `(Claude)` / /maxloops's `(50)`. See ChatPanel.
|
|
191
212
|
description: 'Show the app version',
|
|
192
213
|
category: 'support',
|
|
214
|
+
viewerSafe: true,
|
|
193
215
|
},
|
|
194
216
|
];
|
|
195
217
|
/**
|
|
@@ -211,4 +233,25 @@ export function groupCommandsByCategory(commands = COMMANDS, categories = COMMAN
|
|
|
211
233
|
}
|
|
212
234
|
return groups;
|
|
213
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* True when `text` invokes a side-channel command ({@link CommandDef.sideChannel})
|
|
238
|
+
* from `defs`, matched against the leading `/token` by command id or alias
|
|
239
|
+
* (case-insensitive). Used by the chat input's dispatch AND the auto-send
|
|
240
|
+
* (initialMessage) path so a side-channel send never renders an optimistic
|
|
241
|
+
* "/command …" echo — the server's emitted `message` stream event is the one
|
|
242
|
+
* visible message.
|
|
243
|
+
*
|
|
244
|
+
* @param defs - The command registry to consult (e.g. shared ∪ host commands).
|
|
245
|
+
* @param text - The raw outgoing message text.
|
|
246
|
+
* @returns Whether the text invokes a side-channel command.
|
|
247
|
+
*/
|
|
248
|
+
export function matchesSideChannelCommand(defs, text) {
|
|
249
|
+
const token = text
|
|
250
|
+
.trim()
|
|
251
|
+
.match(/^\/(\S+)(?:\s|$)/)?.[1]
|
|
252
|
+
?.toLowerCase();
|
|
253
|
+
if (!token)
|
|
254
|
+
return false;
|
|
255
|
+
return !!defs?.some((c) => c.sideChannel && (c.id.toLowerCase() === token || c.aliases?.includes(token)));
|
|
256
|
+
}
|
|
214
257
|
//# 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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"}
|
|
@@ -74,6 +74,12 @@ export interface MessageItemProps {
|
|
|
74
74
|
handleFileRevert: (path: string, content: string) => Promise<void>;
|
|
75
75
|
setInputAndCursorEnd: (val: string) => void;
|
|
76
76
|
setModelPicker: React.Dispatch<React.SetStateAction<ModelPicker | null>>;
|
|
77
|
+
/**
|
|
78
|
+
* The live conversation mode (discovery maps to 'plan') — scopes the
|
|
79
|
+
* loop-limit banner's "Change model" picker so the pick lands on the mode the
|
|
80
|
+
* user is actually in.
|
|
81
|
+
*/
|
|
82
|
+
chatMode: 'plan' | 'execute';
|
|
77
83
|
/** Signed-in user's avatar shown beside their own messages (SOC1); icon fallback when absent/unsafe. */
|
|
78
84
|
userAvatar?: string | null;
|
|
79
85
|
/** When set, the user avatar becomes clickable and fires this to open the user's profile (C5). */
|
|
@@ -86,6 +92,10 @@ export interface MessageItemProps {
|
|
|
86
92
|
* {@link ChatPanelProps.buildUpgradeCta}.
|
|
87
93
|
*/
|
|
88
94
|
buildUpgradeCta?: ChatPanelProps['buildUpgradeCta'];
|
|
95
|
+
/** Agent display name — used in the team-only badge tooltip ("{{agentName}} ignores it"). */
|
|
96
|
+
agentName?: string;
|
|
97
|
+
/** Whether the user may write shared project state — false hides/inertizes write affordances in the message (revert, ask_user answers). */
|
|
98
|
+
canEdit?: boolean;
|
|
89
99
|
}
|
|
90
100
|
/** Props for the inner chat surface (timeline + composer), remounted per conversation. */
|
|
91
101
|
export interface ChatInnerProps {
|
|
@@ -96,6 +106,10 @@ export interface ChatInnerProps {
|
|
|
96
106
|
isPro?: boolean;
|
|
97
107
|
/** Whether the viewer is anonymous — see {@link ChatPanelProps.isAnonymous}. */
|
|
98
108
|
isAnonymous?: boolean;
|
|
109
|
+
/** Whether the user may write shared project state — see {@link ChatPanelProps.canEdit}. */
|
|
110
|
+
canEdit?: boolean;
|
|
111
|
+
/** Whether the user may manage public share links — see {@link ChatPanelProps.canShare}. */
|
|
112
|
+
canShare?: boolean;
|
|
99
113
|
/** Host-supplied upgrade/sign-in CTA builder — see {@link ChatPanelProps.buildUpgradeCta}. */
|
|
100
114
|
buildUpgradeCta?: ChatPanelProps['buildUpgradeCta'];
|
|
101
115
|
/** Host-supplied `/help` upgrade section builder — see {@link ChatPanelProps.buildHelpUpgradeSection}. */
|
|
@@ -121,6 +135,8 @@ export interface ChatInnerProps {
|
|
|
121
135
|
onRenderError?: ChatPanelProps['onRenderError'];
|
|
122
136
|
/** Called when a user avatar in the chat timeline is clicked — see {@link ChatPanelProps.onProfileClick}. */
|
|
123
137
|
onProfileClick?: ChatPanelProps['onProfileClick'];
|
|
138
|
+
/** The signed-in user's id — gates avatar clicks to their OWN messages. See {@link ChatPanelProps.currentUserId}. */
|
|
139
|
+
currentUserId?: string;
|
|
124
140
|
/** Called on the `ready_to_build` stream event — discovery is done; boot the sandbox. */
|
|
125
141
|
onReadyToBuild?: () => void;
|
|
126
142
|
/** True after the plan streams but while the sandbox is still booting (pre-kickoff) — drives the chat "waiting for environment" indicator. */
|
|
@@ -140,7 +156,9 @@ export interface ChatInnerProps {
|
|
|
140
156
|
/** Changing this value opens the `/settings` view (used by the header gear button). */
|
|
141
157
|
openSettingsSignal?: number;
|
|
142
158
|
/** Shows a "manage your own models" row in the `/model` picker — see {@link ChatPanelProps.onManageCustomModels}. */
|
|
143
|
-
onManageCustomModels?: (
|
|
159
|
+
onManageCustomModels?: (context?: {
|
|
160
|
+
mode?: 'plan' | 'execute';
|
|
161
|
+
}) => void;
|
|
144
162
|
/** Bump to re-read persisted model/settings — see {@link ChatPanelProps.modelSelectionSignal}. */
|
|
145
163
|
modelSelectionSignal?: number;
|
|
146
164
|
/** Changing this value opens the `/report` bug-report modal (used by the header bug button). */
|
|
@@ -179,7 +197,7 @@ export interface ChatInnerProps {
|
|
|
179
197
|
* @param props - Component props (see {@link MessageItemProps}).
|
|
180
198
|
* @returns The rendered chat panel element.
|
|
181
199
|
*/
|
|
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;
|
|
200
|
+
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, canShare, buildUpgradeCta, buildHelpUpgradeSection, userAvatar, agentName, productName, version, extraCommands, feedbackUrl, className, }: ChatPanelProps): JSX.Element;
|
|
183
201
|
export declare namespace ChatPanel {
|
|
184
202
|
var displayName: string;
|
|
185
203
|
}
|
|
@@ -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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"}
|