@alia.onl/sdk 15.2.1 → 15.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @alia.onl/sdk
2
2
 
3
+ ## 15.4.0
4
+
5
+ - **New leaf entry `@alia.onl/sdk/avatar`.** `AliaAvatarIcon`, `AliaAvatar`, `ALIA_AVATAR` and
6
+ `useAliaActivity` without the chat: an app draws Alia's live avatar on a header button and keeps
7
+ the conversation UI behind a lazy import, instead of putting the whole SDK in its entry bundle.
8
+ `check:entries` holds the leaf free of the sheet, the composer, the markdown renderer and the
9
+ voice call. The root entry still exports the same four.
10
+
11
+ ## 15.3.0
12
+
13
+ - **The composer is Bloom's `ComposerPill`.** `AliaComposer` (the sheet's, the screen's and the
14
+ Alia app's one composer) was built on `ComposerPanel` in 13.2.0, which changed the sheet's
15
+ look. It is the pill again — the compact composer the sheet always had — carrying everything the
16
+ app needed from the panel: the power-level picker (`modes` → the pill's `permissions`), the
17
+ docked questions and the status tab. Requires `@oxy.so/bloom` >= 10.6.0, where the pill takes
18
+ them. No prop of `AliaComposer` changes.
19
+ - The 13.1.1 note under 13.2.0 below (the avatar flights load the runtime) shipped in 13.2.0.
20
+
3
21
  ## 15.2.1
4
22
 
5
23
  - **The shipped source compiles under `noUnusedLocals`.** The package ships its `.tsx` source, so a
package/README.md CHANGED
@@ -147,7 +147,7 @@ app should not have to install a transport to use a button.
147
147
  ## The composer
148
148
 
149
149
  The sheet, the screen and the Alia app share one composer, `AliaComposer`: Bloom's
150
- `ComposerPanel` with files by paste and drop (read with real progress, retried, refused with a
150
+ `ComposerPill` with files by paste and drop (read with real progress, retried, refused with a
151
151
  sentence), dictation, suggestions over the field and Alia's questions docked above it.
152
152
  `AliaChatSheet` and `AliaChatScreen` render it with photos, voice and suggestions, and
153
153
  `AliaChatSheet` focuses it once the sheet has presented. To build your own surface, mount it and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alia.onl/sdk",
3
- "version": "15.2.1",
3
+ "version": "15.4.0",
4
4
  "description": "Alia AI chat SDK — reusable chat UI, voice calls, dictation and streaming components for Oxy apps",
5
5
  "main": "src/index.ts",
6
6
  "react-native": "src/index.ts",
@@ -8,6 +8,7 @@
8
8
  "types": "src/index.ts",
9
9
  "exports": {
10
10
  ".": "./src/index.ts",
11
+ "./avatar": "./src/avatar.ts",
11
12
  "./content": "./src/lib/content-utils.ts",
12
13
  "./tools": "./src/tools.ts",
13
14
  "./voice": "./src/voice.ts",
@@ -40,7 +41,7 @@
40
41
  "react": "^19.2.3",
41
42
  "react-native": "^0.86.0",
42
43
  "@expo/vector-icons": "^15.1.1",
43
- "@oxy.so/bloom": ">=10.4.0",
44
+ "@oxy.so/bloom": ">=10.6.0",
44
45
  "@oxy.so/core": ">=3.0.0",
45
46
  "@oxy.so/services": ">=8.0.0",
46
47
  "@react-native-async-storage/async-storage": "^2.2.0",
package/src/avatar.ts ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The avatar leaf entry: Alia's live avatar and what makes it react, without the chat.
3
+ *
4
+ * An app puts her on a button in its header (`AliaAvatarIcon`) and keeps the chat itself behind a
5
+ * lazy import, so the SDK's conversation UI is not in the entry bundle just to draw a face. This
6
+ * entry reaches the avatar, the activity store and its one socket, and nothing of the sheet, the
7
+ * composer, the markdown renderer or the voice call (`check:entries` holds that).
8
+ */
9
+ export { ALIA_AVATAR, AliaAvatar } from './components/AliaAvatar';
10
+ export type { AliaAvatarProps, AliaAvatarState } from './components/AliaAvatar';
11
+ export { AliaAvatarIcon } from './components/AliaAvatarIcon';
12
+ export { useAliaActivity } from './hooks/useAliaActivity';
13
+ export type { UseAliaActivityOptions } from './hooks/useAliaActivity';
@@ -14,7 +14,7 @@ import {
14
14
  type TextInputKeyPressEventData,
15
15
  } from 'react-native';
16
16
  import {
17
- ComposerPanel,
17
+ ComposerPill,
18
18
  type ComposerPanelAddMenuGroup,
19
19
  type ComposerPanelAttachment,
20
20
  type ComposerPanelPermissionOption,
@@ -41,10 +41,10 @@ import { QuestionCard } from './QuestionCard';
41
41
 
42
42
  /**
43
43
  * Alia's composer: the ONE composer of the sheet, the screen and the Alia app, Bloom's
44
- * `ComposerPanel` plus everything Alia puts around it.
44
+ * `ComposerPill` plus everything Alia puts around it.
45
45
  *
46
- * Everything the panel draws is Bloom's: the prompt, the add menu, the mode selector (the
47
- * panel's permission pill, which is the host's power-level selector), the mic, send / stop, the
46
+ * Everything the pill draws is Bloom's: the prompt, the add menu, the mode selector (the
47
+ * pill's permission picker, which is the host's power-level selector), the mic, send / stop, the
48
48
  * attachment tiles and the status tab. What this adds is what every Alia surface needs the same
49
49
  * way: files arriving by paste and drop (read with real progress, retried, refused with a
50
50
  * sentence), dictation, the suggestions over the field, and the questions Alia asked docked
@@ -302,7 +302,7 @@ function AliaComposerBody<T extends AliaSuggestion>({
302
302
  {labels.dictationRemaining(remainingSeconds)}
303
303
  </Text>
304
304
  ) : null}
305
- <ComposerPanel
305
+ <ComposerPill
306
306
  value={value}
307
307
  onValueChange={onValueChange}
308
308
  onSubmit={() => onSubmit()}