@live-assistant/react-native 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Recep Tayyip Ekşi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # @live-assistant/react-native
2
+
3
+ One install for a voice assistant in a React Native or Expo app.
4
+
5
+ ```sh
6
+ npm install @live-assistant/react-native
7
+ ```
8
+
9
+ It re-exports, unchanged:
10
+
11
+ | Package | What it brings |
12
+ | --- | --- |
13
+ | `@live-assistant/core` | the controller, the session port, the transcript, tools, levels |
14
+ | `@live-assistant/gemini` | the Gemini Live connection |
15
+ | `@live-assistant/audio` | microphone capture and streaming playback |
16
+ | `@live-assistant/react` | the provider and the hooks |
17
+ | `@live-assistant/widget` | the orb, the panel and the controls |
18
+
19
+ ```ts
20
+ import { AssistantController, GeminiLiveSession, AssistantWidget } from '@live-assistant/react-native';
21
+ ```
22
+
23
+ Everything is also installable on its own. Reach for the pieces when you want
24
+ less than all of it: a custom UI needs `core` and `react` and not the widget;
25
+ a headless integration needs neither the widget nor React.
26
+
27
+ ## It does not include the token server
28
+
29
+ `@live-assistant/token-server` mints short-lived tokens with your API key, so
30
+ it belongs on a server and never inside an app bundle. Install it where it
31
+ runs:
32
+
33
+ ```sh
34
+ npm install @live-assistant/token-server
35
+ ```
36
+
37
+ ## Peer dependencies
38
+
39
+ `react`, `react-native`, and `react-native-audio-api` — the last one is a
40
+ native module, so adding it means a rebuild of your app.
41
+
42
+ Bundled by Metro. Node cannot load this package directly (it reaches React
43
+ Native), which is the same reason the token server is separate.
44
+
45
+ ## Licence
46
+
47
+ MIT
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Everything an app on a phone needs, from one install.
3
+ *
4
+ * @remarks
5
+ * - **Why this package exists.** The pieces are split for reasons that cost
6
+ * someone something: the token server runs on a server and must not drag
7
+ * React Native onto it, the audio package carries a native dependency that
8
+ * means a rebuild, and the widget is a UI that anyone drawing their own
9
+ * should be able to leave out. None of those reasons apply to the ordinary
10
+ * case — an app that wants the assistant — and making that case install five
11
+ * packages and keep five versions in step is friction with nothing behind it.
12
+ * - **It adds nothing of its own.** Every name here is re-exported unchanged,
13
+ * so reading the source of `@live-assistant/core` still explains what you
14
+ * are holding, and an app that outgrows this package can depend on the
15
+ * pieces directly without changing a single import.
16
+ * - **The token server is deliberately absent.** It mints credentials with an
17
+ * API key, which belongs on a server and never in an app bundle. It is
18
+ * installed on its own, where it runs.
19
+ */
20
+ export * from '@live-assistant/core';
21
+ export * from '@live-assistant/gemini';
22
+ export * from '@live-assistant/audio';
23
+ export * from '@live-assistant/react';
24
+ export * from '@live-assistant/widget';
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * Everything an app on a phone needs, from one install.
19
+ *
20
+ * @remarks
21
+ * - **Why this package exists.** The pieces are split for reasons that cost
22
+ * someone something: the token server runs on a server and must not drag
23
+ * React Native onto it, the audio package carries a native dependency that
24
+ * means a rebuild, and the widget is a UI that anyone drawing their own
25
+ * should be able to leave out. None of those reasons apply to the ordinary
26
+ * case — an app that wants the assistant — and making that case install five
27
+ * packages and keep five versions in step is friction with nothing behind it.
28
+ * - **It adds nothing of its own.** Every name here is re-exported unchanged,
29
+ * so reading the source of `@live-assistant/core` still explains what you
30
+ * are holding, and an app that outgrows this package can depend on the
31
+ * pieces directly without changing a single import.
32
+ * - **The token server is deliberately absent.** It mints credentials with an
33
+ * API key, which belongs on a server and never in an app bundle. It is
34
+ * installed on its own, where it runs.
35
+ */
36
+ __exportStar(require("@live-assistant/core"), exports);
37
+ __exportStar(require("@live-assistant/gemini"), exports);
38
+ __exportStar(require("@live-assistant/audio"), exports);
39
+ __exportStar(require("@live-assistant/react"), exports);
40
+ __exportStar(require("@live-assistant/widget"), exports);
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,uDAAqC;AACrC,yDAAuC;AACvC,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@live-assistant/react-native",
3
+ "version": "0.1.0",
4
+ "description": "One install for a voice assistant in a React Native or Expo app: the session, a Gemini Live connection, microphone and playback, React bindings and a ready-made widget, all re-exported from one place.",
5
+ "license": "MIT",
6
+ "author": "Recep Tayyip Ekşi",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/Recipely-Team/live-assistant.git",
10
+ "directory": "packages/assistant-react-native"
11
+ },
12
+ "homepage": "https://github.com/Recipely-Team/live-assistant/tree/main/packages/assistant-react-native#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/Recipely-Team/live-assistant/issues"
15
+ },
16
+ "keywords": [
17
+ "voice-assistant",
18
+ "react-native",
19
+ "expo",
20
+ "realtime",
21
+ "gemini-live",
22
+ "voice"
23
+ ],
24
+ "main": "dist/index.js",
25
+ "types": "dist/index.d.ts",
26
+ "files": [
27
+ "dist",
28
+ "src",
29
+ "README.md",
30
+ "LICENSE",
31
+ "!src/**/__tests__",
32
+ "!src/**/__fixtures__"
33
+ ],
34
+ "sideEffects": false,
35
+ "scripts": {
36
+ "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json",
37
+ "prepack": "npm run build"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "dependencies": {
43
+ "@live-assistant/audio": "0.1.0",
44
+ "@live-assistant/core": "0.1.0",
45
+ "@live-assistant/gemini": "0.1.0",
46
+ "@live-assistant/react": "0.1.0",
47
+ "@live-assistant/widget": "0.1.0"
48
+ },
49
+ "peerDependencies": {
50
+ "react": ">=18",
51
+ "react-native": ">=0.76",
52
+ "react-native-audio-api": ">=0.13.3"
53
+ }
54
+ }
package/src/index.ts ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Everything an app on a phone needs, from one install.
3
+ *
4
+ * @remarks
5
+ * - **Why this package exists.** The pieces are split for reasons that cost
6
+ * someone something: the token server runs on a server and must not drag
7
+ * React Native onto it, the audio package carries a native dependency that
8
+ * means a rebuild, and the widget is a UI that anyone drawing their own
9
+ * should be able to leave out. None of those reasons apply to the ordinary
10
+ * case — an app that wants the assistant — and making that case install five
11
+ * packages and keep five versions in step is friction with nothing behind it.
12
+ * - **It adds nothing of its own.** Every name here is re-exported unchanged,
13
+ * so reading the source of `@live-assistant/core` still explains what you
14
+ * are holding, and an app that outgrows this package can depend on the
15
+ * pieces directly without changing a single import.
16
+ * - **The token server is deliberately absent.** It mints credentials with an
17
+ * API key, which belongs on a server and never in an app bundle. It is
18
+ * installed on its own, where it runs.
19
+ */
20
+ export * from '@live-assistant/core';
21
+ export * from '@live-assistant/gemini';
22
+ export * from '@live-assistant/audio';
23
+ export * from '@live-assistant/react';
24
+ export * from '@live-assistant/widget';