@oxy.so/bloom 3.2.1 → 3.4.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/docs/adoption-matrix.mdx +3 -3
- package/docs/ai-chat.mdx +31 -3
- package/docs/composer-panel.mdx +41 -6
- package/lib/commonjs/ai-chat/AiChatContainer.js +122 -14
- package/lib/commonjs/ai-chat/AiChatContainer.js.map +1 -1
- package/lib/commonjs/ai-chat/AiChatShell.js +46 -6
- package/lib/commonjs/ai-chat/AiChatShell.js.map +1 -1
- package/lib/commonjs/ai-chat/context.js +5 -1
- package/lib/commonjs/ai-chat/context.js.map +1 -1
- package/lib/commonjs/ai-chat/index.js +7 -0
- package/lib/commonjs/ai-chat/index.js.map +1 -1
- package/lib/commonjs/ai-chat/index.web.js +7 -0
- package/lib/commonjs/ai-chat/index.web.js.map +1 -1
- package/lib/commonjs/composer-panel/ComposerControls.js +61 -0
- package/lib/commonjs/composer-panel/ComposerControls.js.map +1 -1
- package/lib/commonjs/composer-panel/ComposerPanelBase.js +12 -4
- package/lib/commonjs/composer-panel/ComposerPanelBase.js.map +1 -1
- package/lib/commonjs/composer-panel/ComposerPillBase.js +186 -85
- package/lib/commonjs/composer-panel/ComposerPillBase.js.map +1 -1
- package/lib/commonjs/composer-panel/EffortSlider.js +24 -15
- package/lib/commonjs/composer-panel/EffortSlider.js.map +1 -1
- package/lib/commonjs/composer-panel/ModelPickerBase.js +15 -4
- package/lib/commonjs/composer-panel/ModelPickerBase.js.map +1 -1
- package/lib/module/ai-chat/AiChatContainer.js +122 -14
- package/lib/module/ai-chat/AiChatContainer.js.map +1 -1
- package/lib/module/ai-chat/AiChatShell.js +46 -6
- package/lib/module/ai-chat/AiChatShell.js.map +1 -1
- package/lib/module/ai-chat/context.js +5 -1
- package/lib/module/ai-chat/context.js.map +1 -1
- package/lib/module/ai-chat/index.js +1 -0
- package/lib/module/ai-chat/index.js.map +1 -1
- package/lib/module/ai-chat/index.web.js +1 -0
- package/lib/module/ai-chat/index.web.js.map +1 -1
- package/lib/module/composer-panel/ComposerControls.js +60 -0
- package/lib/module/composer-panel/ComposerControls.js.map +1 -1
- package/lib/module/composer-panel/ComposerPanelBase.js +13 -5
- package/lib/module/composer-panel/ComposerPanelBase.js.map +1 -1
- package/lib/module/composer-panel/ComposerPillBase.js +187 -86
- package/lib/module/composer-panel/ComposerPillBase.js.map +1 -1
- package/lib/module/composer-panel/EffortSlider.js +24 -15
- package/lib/module/composer-panel/EffortSlider.js.map +1 -1
- package/lib/module/composer-panel/ModelPickerBase.js +15 -4
- package/lib/module/composer-panel/ModelPickerBase.js.map +1 -1
- package/lib/typescript/commonjs/ai-chat/AiChatContainer.d.ts +28 -5
- package/lib/typescript/commonjs/ai-chat/AiChatContainer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts +11 -2
- package/lib/typescript/commonjs/ai-chat/AiChatShell.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/context.d.ts +19 -1
- package/lib/typescript/commonjs/ai-chat/context.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/index.d.ts +3 -1
- package/lib/typescript/commonjs/ai-chat/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/index.web.d.ts +3 -1
- package/lib/typescript/commonjs/ai-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/ai-chat/types.d.ts +101 -3
- package/lib/typescript/commonjs/ai-chat/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/ComposerControls.d.ts +14 -0
- package/lib/typescript/commonjs/composer-panel/ComposerControls.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts +3 -2
- package/lib/typescript/commonjs/composer-panel/ComposerPanelBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/ComposerPillBase.d.ts +3 -2
- package/lib/typescript/commonjs/composer-panel/ComposerPillBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/EffortSlider.d.ts +10 -2
- package/lib/typescript/commonjs/composer-panel/EffortSlider.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/ModelPickerBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/composer-panel/types.d.ts +70 -20
- package/lib/typescript/commonjs/composer-panel/types.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/AiChatContainer.d.ts +28 -5
- package/lib/typescript/module/ai-chat/AiChatContainer.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/AiChatShell.d.ts +11 -2
- package/lib/typescript/module/ai-chat/AiChatShell.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/context.d.ts +19 -1
- package/lib/typescript/module/ai-chat/context.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/index.d.ts +3 -1
- package/lib/typescript/module/ai-chat/index.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/index.web.d.ts +3 -1
- package/lib/typescript/module/ai-chat/index.web.d.ts.map +1 -1
- package/lib/typescript/module/ai-chat/types.d.ts +101 -3
- package/lib/typescript/module/ai-chat/types.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/ComposerControls.d.ts +14 -0
- package/lib/typescript/module/composer-panel/ComposerControls.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts +3 -2
- package/lib/typescript/module/composer-panel/ComposerPanelBase.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/ComposerPillBase.d.ts +3 -2
- package/lib/typescript/module/composer-panel/ComposerPillBase.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/EffortSlider.d.ts +10 -2
- package/lib/typescript/module/composer-panel/EffortSlider.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/ModelPickerBase.d.ts.map +1 -1
- package/lib/typescript/module/composer-panel/types.d.ts +70 -20
- package/lib/typescript/module/composer-panel/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/support/adoption-matrix.ts +664 -0
- package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
- package/src/__tests__/support/composite.ts +68 -0
- package/src/__tests__/support/constructed-style-sheets.ts +68 -0
- package/src/__tests__/support/press-host.ts +30 -0
- package/src/__tests__/support/rendered-style.ts +99 -0
- package/src/__tests__/support/unread-hook-fixture.ts +33 -0
- package/src/ai-chat/AiChatContainer.tsx +137 -16
- package/src/ai-chat/AiChatShell.tsx +59 -5
- package/src/ai-chat/context.ts +19 -1
- package/src/ai-chat/index.ts +3 -0
- package/src/ai-chat/index.web.ts +3 -0
- package/src/ai-chat/types.ts +104 -3
- package/src/composer-panel/ComposerControls.tsx +54 -0
- package/src/composer-panel/ComposerPanelBase.tsx +13 -5
- package/src/composer-panel/ComposerPillBase.tsx +178 -66
- package/src/composer-panel/EffortSlider.tsx +38 -18
- package/src/composer-panel/ModelPickerBase.tsx +23 -7
- package/src/composer-panel/types.ts +71 -20
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +7682 -0
- package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
|
@@ -27,7 +27,11 @@ export interface AiChatPlatform {
|
|
|
27
27
|
}
|
|
28
28
|
export declare const AiChatPlatformContext: import("react").Context<AiChatPlatform | null>;
|
|
29
29
|
export declare function useAiChatPlatform(): AiChatPlatform;
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* What `AiChatShell` publishes: read it with `useAiChatShell()`. The chat
|
|
32
|
+
* container's mobile header runs on it, and so does anything a host needs to
|
|
33
|
+
* know about the frame around its own nav.
|
|
34
|
+
*/
|
|
31
35
|
export interface AiChatShellState {
|
|
32
36
|
/** Below `xl`: the panel is a drawer and the mobile header shows. */
|
|
33
37
|
compact: boolean;
|
|
@@ -35,7 +39,21 @@ export interface AiChatShellState {
|
|
|
35
39
|
navCollapsed: boolean;
|
|
36
40
|
hasNav: boolean;
|
|
37
41
|
hasPanel: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the nav is on screen at all: `true` from `lg` up (in flow) and,
|
|
44
|
+
* below it, only while the drawer is open.
|
|
45
|
+
*
|
|
46
|
+
* A closed drawer stays MOUNTED — it is translated offscreen, not removed —
|
|
47
|
+
* so a nav rendered into `mobileSidebar` is still focusable and still read by
|
|
48
|
+
* a screen reader unless its own tree says otherwise. This is the signal to
|
|
49
|
+
* hide it by: skip the tab order and mark the subtree hidden while it is
|
|
50
|
+
* `false`.
|
|
51
|
+
*/
|
|
52
|
+
navPresented: boolean;
|
|
53
|
+
/** The in-flow sidebar is narrowed to its rail width (`sidebarCollapsed`). */
|
|
54
|
+
sidebarCollapsed: boolean;
|
|
38
55
|
openNav: () => void;
|
|
56
|
+
closeNav: () => void;
|
|
39
57
|
openPanel: () => void;
|
|
40
58
|
panelLabel: string;
|
|
41
59
|
panelIcon: AiChatShellIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAC;QACrB,QAAQ,EAAE,SAAS,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KAC7C,CAAC,CAAC;IACH,cAAc,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACvD,iBAAiB,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,eAAO,MAAM,qBAAqB,gDAA6C,CAAC;AAEhF,wBAAgB,iBAAiB,IAAI,cAAc,CAQlD;AAED
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAC;QACrB,QAAQ,EAAE,SAAS,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;KAC7C,CAAC,CAAC;IACH,cAAc,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACvD,iBAAiB,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,eAAO,MAAM,qBAAqB,gDAA6C,CAAC;AAEhF,wBAAgB,iBAAiB,IAAI,cAAc,CAQlD;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,8EAA8E;IAC9E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;KACtC,CAAC;CACH;AAED,+FAA+F;AAC/F,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,kDAA+C,CAAC;AAE/E,wBAAgB,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAExD"}
|
|
@@ -3,5 +3,7 @@ export { AiChatCodePanel } from './AiChatCodePanel';
|
|
|
3
3
|
export { AiChatContainer, AiChatThread } from './AiChatContainer';
|
|
4
4
|
export { AiChatBullet, AiChatBulletList, AiChatLinkChip, AiChatMessageLine, AiChatStrong, AiChatUserMessage, } from './AiChatMessages';
|
|
5
5
|
export { AiChatMobileHeader, AiChatResizeHandle, AiChatShell } from './AiChatShell';
|
|
6
|
-
export
|
|
6
|
+
export { useAiChatShell } from './context';
|
|
7
|
+
export type { AiChatShellState } from './context';
|
|
8
|
+
export type { AiChatAssistantMessageProps, AiChatBulletListProps, AiChatBulletProps, AiChatChangedFile, AiChatCodePanelLabels, AiChatCodePanelProps, AiChatContainerLabels, AiChatContainerProps, AiChatFeedbackLabels, AiChatFeedbackRowProps, AiChatGalleryPanelLabels, AiChatGalleryPanelProps, AiChatGeneration, AiChatIconComponent, AiChatImageGenerationLabels, AiChatImageGenerationProps, AiChatLinkChipProps, AiChatMessageLineProps, AiChatMobileHeaderProps, AiChatPanelAction, AiChatPanelTab, AiChatResizeHandleProps, AiChatShellLabels, AiChatShellProps, AiChatStrongProps, AiChatThreadHandle, AiChatThreadProps, AiChatUserMessageProps, } from './types';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
@@ -3,5 +3,7 @@ export { AiChatCodePanel } from './AiChatCodePanel';
|
|
|
3
3
|
export { AiChatContainer, AiChatThread } from './AiChatContainer';
|
|
4
4
|
export { AiChatBullet, AiChatBulletList, AiChatLinkChip, AiChatMessageLine, AiChatStrong, AiChatUserMessage, } from './AiChatMessages';
|
|
5
5
|
export { AiChatMobileHeader, AiChatResizeHandle, AiChatShell } from './AiChatShell';
|
|
6
|
-
export
|
|
6
|
+
export { useAiChatShell } from './context';
|
|
7
|
+
export type { AiChatShellState } from './context';
|
|
8
|
+
export type { AiChatAssistantMessageProps, AiChatBulletListProps, AiChatBulletProps, AiChatChangedFile, AiChatCodePanelLabels, AiChatCodePanelProps, AiChatContainerLabels, AiChatContainerProps, AiChatFeedbackLabels, AiChatFeedbackRowProps, AiChatGalleryPanelLabels, AiChatGalleryPanelProps, AiChatGeneration, AiChatIconComponent, AiChatImageGenerationLabels, AiChatImageGenerationProps, AiChatLinkChipProps, AiChatMessageLineProps, AiChatMobileHeaderProps, AiChatPanelAction, AiChatPanelTab, AiChatResizeHandleProps, AiChatShellLabels, AiChatShellProps, AiChatStrongProps, AiChatThreadHandle, AiChatThreadProps, AiChatUserMessageProps, } from './types';
|
|
7
9
|
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/index.web.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/index.web.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import type { ImageSourcePropType, StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ImageSourcePropType, NativeScrollEvent, NativeSyntheticEvent, ScrollView, StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
import type { CodeLanguage } from '../code';
|
|
4
4
|
import type { BloomIconComponent } from '../icons/icon-component';
|
|
5
5
|
import type { Props as IconProps } from '../icons/shared';
|
|
@@ -227,8 +227,12 @@ export interface AiChatContainerLabels {
|
|
|
227
227
|
more?: string;
|
|
228
228
|
}
|
|
229
229
|
export interface AiChatContainerProps {
|
|
230
|
-
/**
|
|
231
|
-
|
|
230
|
+
/**
|
|
231
|
+
* The project crumb, after its folder glyph. Omit it for a chat that belongs
|
|
232
|
+
* to no project: the breadcrumb is then the title alone, with no empty crumb
|
|
233
|
+
* and no folder glyph.
|
|
234
|
+
*/
|
|
235
|
+
project?: string;
|
|
232
236
|
/** The current chat crumb. */
|
|
233
237
|
title: string;
|
|
234
238
|
/** The project crumb's glyph. Default `RiFolderLine`. */
|
|
@@ -246,13 +250,81 @@ export interface AiChatContainerProps {
|
|
|
246
250
|
working?: boolean;
|
|
247
251
|
/** `AgentThinking`'s label. Default `'Thinking'`. */
|
|
248
252
|
workingLabel?: string;
|
|
253
|
+
/**
|
|
254
|
+
* A layer filling the container, drawn ABOVE its own surface and BELOW every
|
|
255
|
+
* turn, header and composer — a host's wallpaper, gradient or animated field.
|
|
256
|
+
* It is clipped to the container's radius and never interactive
|
|
257
|
+
* (`pointerEvents: 'none'`), so an opaque node needs nothing else.
|
|
258
|
+
*
|
|
259
|
+
* Set `surface={false}` beside it when the node is translucent and should
|
|
260
|
+
* show what the container is sitting on rather than background-secondary.
|
|
261
|
+
*/
|
|
262
|
+
background?: ReactNode;
|
|
263
|
+
/**
|
|
264
|
+
* Paint the container's own background-secondary surface. Default `true`;
|
|
265
|
+
* `false` leaves the root transparent.
|
|
266
|
+
*/
|
|
267
|
+
surface?: boolean;
|
|
249
268
|
labels?: AiChatContainerLabels;
|
|
250
269
|
style?: StyleProp<ViewStyle>;
|
|
251
270
|
testID?: string;
|
|
252
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* What a `ref` on `AiChatThread` hands back: enough to drive the scroll a host
|
|
274
|
+
* cannot drive from props — a cursor jump, a restore, a follow of its own.
|
|
275
|
+
*/
|
|
276
|
+
export interface AiChatThreadHandle {
|
|
277
|
+
/** Jump to the newest turn. `animated` defaults to `true`. */
|
|
278
|
+
scrollToEnd: (options?: {
|
|
279
|
+
animated?: boolean;
|
|
280
|
+
}) => void;
|
|
281
|
+
/** Scroll to an absolute offset, px from the top. `animated` defaults to `false`. */
|
|
282
|
+
scrollToOffset: (options: {
|
|
283
|
+
offset: number;
|
|
284
|
+
animated?: boolean;
|
|
285
|
+
}) => void;
|
|
286
|
+
/** The `ScrollView` itself, for anything this handle does not cover. */
|
|
287
|
+
getScrollView: () => ScrollView | null;
|
|
288
|
+
}
|
|
253
289
|
export interface AiChatThreadProps {
|
|
254
290
|
/** The turns. The thread follows the newest one with a smooth scroll as it grows. */
|
|
255
291
|
children: ReactNode;
|
|
292
|
+
/**
|
|
293
|
+
* Follow the newest turn as the content grows. Default `true` — the thread's
|
|
294
|
+
* behaviour since it shipped. `false` leaves every scroll to the host (and to
|
|
295
|
+
* the `ref`).
|
|
296
|
+
*/
|
|
297
|
+
autoFollow?: boolean;
|
|
298
|
+
/** Animate the follow. Default `true`; `false` for a restore that must not be seen travelling. */
|
|
299
|
+
followAnimated?: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Follow only while the reader is within this many px of the bottom, measured
|
|
302
|
+
* before the growth. Omit to follow every growth (the default), which is what
|
|
303
|
+
* the thread has always done.
|
|
304
|
+
*/
|
|
305
|
+
followThreshold?: number;
|
|
306
|
+
/**
|
|
307
|
+
* The reader came within `onStartReachedThreshold` of the top — a chat pages
|
|
308
|
+
* UPWARD, so this is its pagination signal, not `onEndReached`. It fires once
|
|
309
|
+
* per approach and re-arms when the reader leaves the zone.
|
|
310
|
+
*/
|
|
311
|
+
onStartReached?: () => void;
|
|
312
|
+
/** Distance from the top that fires `onStartReached`, px. Default `300`. */
|
|
313
|
+
onStartReachedThreshold?: number;
|
|
314
|
+
/**
|
|
315
|
+
* Keep the reader on the same turn while a page lands ABOVE them: the growth
|
|
316
|
+
* that follows an `onStartReached` is added to the offset instead of moving
|
|
317
|
+
* the content under the reader. Default `false`, and inert without
|
|
318
|
+
* `onStartReached` — the thread only anchors growth it asked for.
|
|
319
|
+
*
|
|
320
|
+
* This is the web-safe half of `maintainVisibleContentPosition`, which
|
|
321
|
+
* react-native-web ignores.
|
|
322
|
+
*/
|
|
323
|
+
maintainStartPosition?: boolean;
|
|
324
|
+
/** The raw scroll event, for a host tracking its own position. */
|
|
325
|
+
onScroll?: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
326
|
+
/** Default `16`. Only applied when something is listening to the scroll. */
|
|
327
|
+
scrollEventThrottle?: number;
|
|
256
328
|
style?: StyleProp<ViewStyle>;
|
|
257
329
|
testID?: string;
|
|
258
330
|
}
|
|
@@ -271,6 +343,15 @@ export interface AiChatShellLabels {
|
|
|
271
343
|
export interface AiChatShellProps {
|
|
272
344
|
/** The floating sidebar shown from `lg` (1024). */
|
|
273
345
|
sidebar: ReactNode;
|
|
346
|
+
/**
|
|
347
|
+
* The in-flow sidebar's column width from `lg` up. Omit and the sidebar sizes
|
|
348
|
+
* itself, as it always has.
|
|
349
|
+
*/
|
|
350
|
+
sidebarWidth?: number;
|
|
351
|
+
/** Narrow the in-flow sidebar to `collapsedSidebarWidth` — a host's icon rail. Default `false`. */
|
|
352
|
+
sidebarCollapsed?: boolean;
|
|
353
|
+
/** The collapsed column's width. Default `56`. */
|
|
354
|
+
collapsedSidebarWidth?: number;
|
|
274
355
|
/** The flat sidebar revealed under the workspace below `lg`. Default: none (no nav drawer). */
|
|
275
356
|
mobileSidebar?: ReactNode;
|
|
276
357
|
/** The chat container. */
|
|
@@ -291,6 +372,23 @@ export interface AiChatShellProps {
|
|
|
291
372
|
/** Controlled panel drawer (below `xl`). */
|
|
292
373
|
panelOpen?: boolean;
|
|
293
374
|
onPanelOpenChange?: (open: boolean) => void;
|
|
375
|
+
/**
|
|
376
|
+
* A layer filling the shell, drawn ABOVE its own background-full and BELOW
|
|
377
|
+
* the sidebar, workspace and drawers. Not interactive
|
|
378
|
+
* (`pointerEvents: 'none'`).
|
|
379
|
+
*
|
|
380
|
+
* The workspace paints background-full of its own, so a shell background is
|
|
381
|
+
* covered wherever the chat sits: pass `surface={false}` with it, which drops
|
|
382
|
+
* the paint on both, and let the chat's own `AiChatContainer` decide what it
|
|
383
|
+
* paints. A `background` on the container is the closer slot when the layer
|
|
384
|
+
* belongs to the chat rather than to the page.
|
|
385
|
+
*/
|
|
386
|
+
background?: ReactNode;
|
|
387
|
+
/**
|
|
388
|
+
* Paint the shell's own background-full, on its root and on the workspace.
|
|
389
|
+
* Default `true`; `false` leaves both transparent.
|
|
390
|
+
*/
|
|
391
|
+
surface?: boolean;
|
|
294
392
|
labels?: AiChatShellLabels;
|
|
295
393
|
style?: StyleProp<ViewStyle>;
|
|
296
394
|
testID?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,18 @@ export declare function SendButton({ disabled, onPress, label, palette, }: {
|
|
|
21
21
|
label: string;
|
|
22
22
|
palette: ComposerPalette;
|
|
23
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
/**
|
|
25
|
+
* Stop — send's other state, drawn on the same disc so the action sits where the
|
|
26
|
+
* reader last pressed: the accent gradient (hover and active crossfading like
|
|
27
|
+
* send's) with a white 20px stop mark.
|
|
28
|
+
*
|
|
29
|
+
* It takes no `disabled`. The composer's `disabled` locks the draft for the
|
|
30
|
+
* whole turn, and the one thing that must stay possible for that whole turn is
|
|
31
|
+
* cancelling it.
|
|
32
|
+
*/
|
|
33
|
+
export declare function StopButton({ onPress, label, palette, }: {
|
|
34
|
+
onPress?: () => void;
|
|
35
|
+
label: string;
|
|
36
|
+
palette: ComposerPalette;
|
|
37
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
24
38
|
//# sourceMappingURL=ComposerControls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerControls.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerControls.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComposerControls.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerControls.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAA+B,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AA2E7E;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,GACR,EAAE;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,CAAC;CAC1B,2CAuCA;AAuCD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,CAAC;CAC1B,2CAsCA;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,OAAO,GACR,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,CAAC;CAC1B,2CAkCA"}
|
|
@@ -8,9 +8,10 @@ import type { ComposerPanelProps } from './types';
|
|
|
8
8
|
* body pt 6, prompt → controls 20
|
|
9
9
|
* prompt px 6, body-regular, grows 20px a line up to 200 then scrolls
|
|
10
10
|
* controls left: add + permission (8 apart); right: model picker, 16,
|
|
11
|
-
* then mic + send (8 apart)
|
|
11
|
+
* then mic + send (8 apart); `busy` + `onStop` puts the stop
|
|
12
|
+
* control where send was, outside `disabled`'s reach
|
|
12
13
|
*
|
|
13
14
|
* Takes its panel implementation from the family's platform binding.
|
|
14
15
|
*/
|
|
15
|
-
export declare function ComposerPanelBase({ value, defaultValue, onValueChange, onSubmit, disabled, placeholder, permissions, permission, defaultPermission, onPermissionChange, onLearnMore, addMenu, onAddMenuSelect, providers, model, defaultModel, onModelChange, effort, defaultEffort, onEffortChange, effortLevels, modelPickerLabels, listening, defaultListening, onListeningChange, attachments, onRemoveAttachment, status, inputRef, labels: labelOverrides, style, testID, }: ComposerPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function ComposerPanelBase({ value, defaultValue, onValueChange, onSubmit, onStop, busy, disabled, placeholder, permissions, permission, defaultPermission, onPermissionChange, onLearnMore, addMenu, onAddMenuSelect, providers, model, defaultModel, onModelChange, effort, defaultEffort, onEffortChange, effortLevels, modelPickerLabels, listening, defaultListening, onListeningChange, attachments, onRemoveAttachment, status, inputRef, labels: labelOverrides, style, testID, }: ComposerPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
//# sourceMappingURL=ComposerPanelBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerPanelBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerPanelBase.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposerPanelBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerPanelBase.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiEvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,IAAY,EACZ,QAAgB,EAChB,WAA2C,EAC3C,WAAwC,EACxC,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,OAAiC,EACjC,eAAe,EACf,SAAS,EACT,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,gBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,QAAQ,EACR,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,MAAM,GACP,EAAE,kBAAkB,2CAkLpB"}
|
|
@@ -11,10 +11,11 @@ import type { ComposerPillProps } from './types';
|
|
|
11
11
|
* unfocused on web, its last 32px fade into the pill
|
|
12
12
|
* model the model menu trigger (see `ModelMenu`)
|
|
13
13
|
* controls pl 6, gap 8: the bordered mic (dancing accent bars while
|
|
14
|
-
* listening) and the `bg-button-primary` send disc
|
|
14
|
+
* listening) and the `bg-button-primary` send disc — which becomes
|
|
15
|
+
* the stop disc while `busy`, outside `disabled`'s reach
|
|
15
16
|
*
|
|
16
17
|
* `glass` drops the add, model and mic paint (480ms) onto frosted chips, so an
|
|
17
18
|
* active `ComposerLoader` behind the pill shows through them.
|
|
18
19
|
*/
|
|
19
|
-
export declare function ComposerPillBase({ value, defaultValue, onValueChange, onSubmit, disabled, placeholder, compactPlaceholder, addMenu, onAddMenuSelect, models, model, defaultModel, onModelChange, effort, defaultEffort, onEffortChange, effortLevels, listening, defaultListening, onListeningChange, surface, glass, inputRef, labels: labelOverrides, style, testID, }: ComposerPillProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function ComposerPillBase({ value, defaultValue, onValueChange, onSubmit, onStop, busy, disabled, placeholder, compactPlaceholder, addMenu, onAddMenuSelect, models, model, defaultModel, onModelChange, effort, defaultEffort, onEffortChange, effortLevels, listening, defaultListening, onListeningChange, surface, glass, inputRef, labels: labelOverrides, style, maxLines, testID, }: ComposerPillProps): import("react/jsx-runtime").JSX.Element;
|
|
20
21
|
//# sourceMappingURL=ComposerPillBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerPillBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerPillBase.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAsB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ComposerPillBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ComposerPillBase.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAsB,iBAAiB,EAAoB,MAAM,SAAS,CAAC;AAkVvF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,QAAQ,EACR,MAAM,EACN,IAAY,EACZ,QAAgB,EAChB,WAA+B,EAC/B,kBAA6B,EAC7B,OAAiC,EACjC,eAAe,EACf,MAAM,EACN,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAA8B,EAC9B,cAAc,EACd,YAAyC,EACzC,SAAS,EACT,gBAAwB,EACxB,iBAAiB,EACjB,OAAc,EACd,KAAa,EACb,QAAQ,EACR,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,QAAY,EACZ,MAAM,GACP,EAAE,iBAAiB,2CAuOnB"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { ComposerPalette } from './shared';
|
|
2
2
|
interface EffortSliderProps {
|
|
3
|
-
|
|
3
|
+
/** The chosen stop, or `null` for no choice yet. */
|
|
4
|
+
value: number | null;
|
|
4
5
|
onChange: (value: number) => void;
|
|
5
6
|
levels: ReadonlyArray<string>;
|
|
6
7
|
label: string;
|
|
8
|
+
/** What `aria-valuetext` reads with no stop chosen (the "Auto" label). */
|
|
9
|
+
unsetLabel: string;
|
|
7
10
|
palette: ComposerPalette;
|
|
8
11
|
testID?: string;
|
|
9
12
|
}
|
|
@@ -15,6 +18,11 @@ interface EffortSliderProps {
|
|
|
15
18
|
* past the value fade their tick to 30% over 300ms; the fill follows the thumb
|
|
16
19
|
* over 150ms.
|
|
17
20
|
*
|
|
21
|
+
* With `value` `null` nothing is committed: the fill is empty, every tick is
|
|
22
|
+
* faded and the thumb is hollow and dashed, so "no stop chosen" cannot be read
|
|
23
|
+
* as "the first stop". The first press or key commits a stop, and there is no
|
|
24
|
+
* way back — the caller owns the `null`.
|
|
25
|
+
*
|
|
18
26
|
* Drag or press anywhere on the track (PanResponder on both platforms); on web
|
|
19
27
|
* the thumb is focusable and answers the arrow keys, Home and End.
|
|
20
28
|
*
|
|
@@ -22,6 +30,6 @@ interface EffortSliderProps {
|
|
|
22
30
|
* starfield, with the ticks blown off the track) has no native counterpart,
|
|
23
31
|
* so at Max the slider simply rests at its last stop.
|
|
24
32
|
*/
|
|
25
|
-
export declare function EffortSlider({ value, onChange, levels, label, palette, testID }: EffortSliderProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export declare function EffortSlider({ value, onChange, levels, label, unsetLabel, palette, testID }: EffortSliderProps): import("react/jsx-runtime").JSX.Element;
|
|
26
34
|
export {};
|
|
27
35
|
//# sourceMappingURL=EffortSlider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EffortSlider.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/EffortSlider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"EffortSlider.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/EffortSlider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,UAAU,iBAAiB;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAoK9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelPickerBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ModelPickerBase.tsx"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAuC,gBAAgB,EAAuB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelPickerBase.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/ModelPickerBase.tsx"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAuC,gBAAgB,EAAuB,MAAM,SAAS,CAAC;AAuX1G;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,KAAK,EACL,YAAY,EACZ,aAAa,EACb,MAAM,EACN,aAA8B,EAC9B,cAAc,EACd,YAAyC,EACzC,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,2CA2TlB"}
|
|
@@ -88,6 +88,8 @@ export interface ModelPickerLabels {
|
|
|
88
88
|
providers?: string;
|
|
89
89
|
/** Default `'Effort'`. */
|
|
90
90
|
effort?: string;
|
|
91
|
+
/** Default `'Auto'` — the effort chip with no stop chosen. */
|
|
92
|
+
effortAuto?: string;
|
|
91
93
|
/** Default `'Faster'`. */
|
|
92
94
|
faster?: string;
|
|
93
95
|
/** Default `'Smarter'`. */
|
|
@@ -101,12 +103,17 @@ export interface ModelPickerProps {
|
|
|
101
103
|
/** Initial model id when uncontrolled. Defaults to the first provider's first model. */
|
|
102
104
|
defaultValue?: string;
|
|
103
105
|
onValueChange?: (modelId: string) => void;
|
|
104
|
-
/**
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Controlled effort stop, an index into `effortLevels`. `null` is "no stop
|
|
108
|
+
* chosen" — the chip reads `labels.effortAuto`, the slider commits nothing and
|
|
109
|
+
* the thumb is drawn hollow, so the absence of a choice never looks like one.
|
|
110
|
+
*/
|
|
111
|
+
effort?: number | null;
|
|
112
|
+
/** Initial stop when uncontrolled. Default `1` ("Medium"); `null` for no choice. */
|
|
113
|
+
defaultEffort?: number | null;
|
|
114
|
+
/** A stop the reader chose. The picker has no way back to `null`, so it never reports one. */
|
|
108
115
|
onEffortChange?: (effort: number) => void;
|
|
109
|
-
/** The effort stops, "Faster" → "Smarter". Defaults to six stops. */
|
|
116
|
+
/** The effort stops, "Faster" → "Smarter". Defaults to six stops; `[]` drops the effort axis entirely. */
|
|
110
117
|
effortLevels?: ReadonlyArray<string>;
|
|
111
118
|
labels?: ModelPickerLabels;
|
|
112
119
|
style?: StyleProp<ViewStyle>;
|
|
@@ -130,6 +137,8 @@ export interface ComposerPanelLabels {
|
|
|
130
137
|
voice?: string;
|
|
131
138
|
/** Default `'Send message'`. */
|
|
132
139
|
send?: string;
|
|
140
|
+
/** Default `'Stop generating'` — send's stop state while `busy`. */
|
|
141
|
+
stop?: string;
|
|
133
142
|
/** Default `'Remove'` — prefixed to the file name on a tile's dismiss. */
|
|
134
143
|
remove?: string;
|
|
135
144
|
}
|
|
@@ -141,7 +150,15 @@ export interface ComposerPanelProps {
|
|
|
141
150
|
onValueChange?: (value: string) => void;
|
|
142
151
|
/** Fires on the send button and on Enter (web; Shift+Enter breaks the line). */
|
|
143
152
|
onSubmit?: (value: string) => void;
|
|
144
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Stop the turn in flight. With `busy`, send becomes a stop control that
|
|
155
|
+
* ignores `disabled` — cancelling has to stay possible while typing is not.
|
|
156
|
+
* Without a handler `busy` draws no stop, so the control is never inert.
|
|
157
|
+
*/
|
|
158
|
+
onStop?: () => void;
|
|
159
|
+
/** A turn is running: send becomes stop (given `onStop`) and Enter no longer submits. */
|
|
160
|
+
busy?: boolean;
|
|
161
|
+
/** Greys out send while a turn is in flight. Never reaches the stop control. */
|
|
145
162
|
disabled?: boolean;
|
|
146
163
|
/** Default `'Hi, what do you need today?'`. */
|
|
147
164
|
placeholder?: string;
|
|
@@ -164,10 +181,11 @@ export interface ComposerPanelProps {
|
|
|
164
181
|
model?: string;
|
|
165
182
|
defaultModel?: string;
|
|
166
183
|
onModelChange?: (modelId: string) => void;
|
|
167
|
-
/** Controlled effort stop. */
|
|
168
|
-
effort?: number;
|
|
169
|
-
defaultEffort?: number;
|
|
184
|
+
/** Controlled effort stop; `null` is "no stop chosen". See `ModelPicker`. */
|
|
185
|
+
effort?: number | null;
|
|
186
|
+
defaultEffort?: number | null;
|
|
170
187
|
onEffortChange?: (effort: number) => void;
|
|
188
|
+
/** `[]` drops the effort axis from the picker. */
|
|
171
189
|
effortLevels?: ReadonlyArray<string>;
|
|
172
190
|
modelPickerLabels?: ModelPickerLabels;
|
|
173
191
|
/** Controlled voice-input state (the mic swaps to equalizer bars). */
|
|
@@ -234,6 +252,8 @@ export interface ComposerPillLabels {
|
|
|
234
252
|
modelGroup?: string;
|
|
235
253
|
/** Default `'Effort'`. */
|
|
236
254
|
effort?: string;
|
|
255
|
+
/** Default `'Auto'` — the effort value with no stop chosen. */
|
|
256
|
+
effortAuto?: string;
|
|
237
257
|
/** Default `'Faster'`. */
|
|
238
258
|
faster?: string;
|
|
239
259
|
/** Default `'Smarter'`. */
|
|
@@ -242,6 +262,8 @@ export interface ComposerPillLabels {
|
|
|
242
262
|
voice?: string;
|
|
243
263
|
/** Default `'Send message'`. */
|
|
244
264
|
send?: string;
|
|
265
|
+
/** Default `'Stop generating'` — send's stop state while `busy`. */
|
|
266
|
+
stop?: string;
|
|
245
267
|
}
|
|
246
268
|
export interface ComposerPillProps {
|
|
247
269
|
/** Controlled field value. */
|
|
@@ -251,7 +273,15 @@ export interface ComposerPillProps {
|
|
|
251
273
|
onValueChange?: (value: string) => void;
|
|
252
274
|
/** Fires on the send button and on Enter. */
|
|
253
275
|
onSubmit?: (value: string) => void;
|
|
254
|
-
/**
|
|
276
|
+
/**
|
|
277
|
+
* Stop the turn in flight. With `busy`, send becomes a stop control that
|
|
278
|
+
* ignores `disabled` — cancelling has to stay possible while typing is not.
|
|
279
|
+
* Without a handler `busy` draws no stop, so the control is never inert.
|
|
280
|
+
*/
|
|
281
|
+
onStop?: () => void;
|
|
282
|
+
/** A turn is running: send becomes stop (given `onStop`) and Enter no longer submits. */
|
|
283
|
+
busy?: boolean;
|
|
284
|
+
/** Greys out send (40%) while a turn is in flight. Never reaches the stop control. */
|
|
255
285
|
disabled?: boolean;
|
|
256
286
|
/** Default `'Ask me anything'`. */
|
|
257
287
|
placeholder?: string;
|
|
@@ -260,19 +290,30 @@ export interface ComposerPillProps {
|
|
|
260
290
|
/** The add menu's groups. Default the Composer Panel's "Add" and "Plugins" rows; `[]` hides the button. */
|
|
261
291
|
addMenu?: ReadonlyArray<ComposerPanelAddMenuGroup>;
|
|
262
292
|
onAddMenuSelect?: (rowId: string) => void;
|
|
263
|
-
/**
|
|
264
|
-
|
|
265
|
-
|
|
293
|
+
/**
|
|
294
|
+
* The model menu's lineup. Omit to hide the model button.
|
|
295
|
+
*
|
|
296
|
+
* `{ id, name }` entries are the identity contract `ModelPicker` uses: the
|
|
297
|
+
* menu keys, matches and reports the **id**, and draws the `name`. A bare
|
|
298
|
+
* string is shorthand for `{ id: name, name }` — kept so the display-name form
|
|
299
|
+
* still works, and the only form in which a routing id is a display string.
|
|
300
|
+
*/
|
|
301
|
+
models?: ReadonlyArray<string | ModelPickerModel>;
|
|
302
|
+
/** Controlled model **id** (a string entry's id is its name). */
|
|
266
303
|
model?: string;
|
|
267
|
-
/** Initial model when uncontrolled. Default the first. */
|
|
304
|
+
/** Initial model id when uncontrolled. Default the first entry's. */
|
|
268
305
|
defaultModel?: string;
|
|
269
|
-
onModelChange?: (
|
|
270
|
-
/**
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
306
|
+
onModelChange?: (modelId: string) => void;
|
|
307
|
+
/**
|
|
308
|
+
* Controlled effort stop, an index into `effortLevels`. `null` is "no stop
|
|
309
|
+
* chosen" — the value reads `labels.effortAuto` and the thumb is drawn hollow.
|
|
310
|
+
*/
|
|
311
|
+
effort?: number | null;
|
|
312
|
+
/** Default `1` ("Medium"); `null` for no choice. */
|
|
313
|
+
defaultEffort?: number | null;
|
|
314
|
+
/** A stop the reader chose. The menu has no way back to `null`, so it never reports one. */
|
|
274
315
|
onEffortChange?: (effort: number) => void;
|
|
275
|
-
/** Default `MODEL_PICKER_EFFORT_LEVELS
|
|
316
|
+
/** Default `MODEL_PICKER_EFFORT_LEVELS`; `[]` drops the effort half of the menu. */
|
|
276
317
|
effortLevels?: ReadonlyArray<string>;
|
|
277
318
|
/** Controlled voice-input state (the mic swaps to equalizer bars). */
|
|
278
319
|
listening?: boolean;
|
|
@@ -289,6 +330,15 @@ export interface ComposerPillProps {
|
|
|
289
330
|
* drops its own paint (480ms) so the light passing behind shows through.
|
|
290
331
|
*/
|
|
291
332
|
glass?: boolean;
|
|
333
|
+
/**
|
|
334
|
+
* How many lines the pill grows to before the field scrolls instead. Default
|
|
335
|
+
* `8`.
|
|
336
|
+
*
|
|
337
|
+
* The pill is one line at rest and measures its own content as the draft
|
|
338
|
+
* wraps — a composer for an assistant has to hold a paragraph. `1` keeps the
|
|
339
|
+
* fixed single-line box this had before it could grow.
|
|
340
|
+
*/
|
|
341
|
+
maxLines?: number;
|
|
292
342
|
/** The field itself, for focus or a scripted demo. */
|
|
293
343
|
inputRef?: RefObject<TextInput | null>;
|
|
294
344
|
labels?: ComposerPillLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/composer-panel/types.ts"],"names":[],"mappings":"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"}
|