@fishjam-cloud/js-server-sdk 0.22.1 → 0.24.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/dist/chunk-6DZX6EAA.mjs +37 -0
- package/dist/index.d.mts +108 -74
- package/dist/index.d.ts +108 -74
- package/dist/index.js +38 -28
- package/dist/index.mjs +68 -84
- package/dist/integrations/gemini.d.mts +39 -0
- package/dist/integrations/gemini.d.ts +39 -0
- package/dist/integrations/gemini.js +154 -0
- package/dist/integrations/gemini.mjs +135 -0
- package/package.json +14 -4
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/integrations/gemini.ts
|
|
21
|
+
var gemini_exports = {};
|
|
22
|
+
__export(gemini_exports, {
|
|
23
|
+
default: () => gemini_default
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(gemini_exports);
|
|
26
|
+
|
|
27
|
+
// package.json
|
|
28
|
+
var package_default = {
|
|
29
|
+
name: "@fishjam-cloud/js-server-sdk",
|
|
30
|
+
version: "0.24.0",
|
|
31
|
+
description: "Fishjam server SDK for JavaScript",
|
|
32
|
+
homepage: "https://github.com/fishjam-cloud/js-server-sdk",
|
|
33
|
+
author: "Fishjam Team",
|
|
34
|
+
repository: {
|
|
35
|
+
type: "git",
|
|
36
|
+
url: "https://github.com/fishjam-cloud/js-server-sdk.git"
|
|
37
|
+
},
|
|
38
|
+
bugs: {
|
|
39
|
+
url: "https://github.com/fishjam-cloud/js-server-sdk/issues"
|
|
40
|
+
},
|
|
41
|
+
license: "Apache-2.0",
|
|
42
|
+
keywords: [
|
|
43
|
+
"webrtc",
|
|
44
|
+
"fishjam",
|
|
45
|
+
"server",
|
|
46
|
+
"membrane"
|
|
47
|
+
],
|
|
48
|
+
main: "./dist/index.js",
|
|
49
|
+
types: "./dist/index.d.ts",
|
|
50
|
+
files: [
|
|
51
|
+
"dist"
|
|
52
|
+
],
|
|
53
|
+
exports: {
|
|
54
|
+
".": "./dist/index.js",
|
|
55
|
+
"./gemini": "./dist/integrations/gemini.js"
|
|
56
|
+
},
|
|
57
|
+
scripts: {
|
|
58
|
+
build: "tsup --dts-resolve",
|
|
59
|
+
format: "prettier --write .",
|
|
60
|
+
"format:check": "prettier --check .",
|
|
61
|
+
typecheck: "tsc --noEmit",
|
|
62
|
+
lint: "eslint . --fix",
|
|
63
|
+
"lint:check": "eslint . "
|
|
64
|
+
},
|
|
65
|
+
tsup: {
|
|
66
|
+
entry: [
|
|
67
|
+
"src/index.ts",
|
|
68
|
+
"src/integrations/gemini.ts",
|
|
69
|
+
"src/proto.ts"
|
|
70
|
+
],
|
|
71
|
+
noExternal: [
|
|
72
|
+
"fishjam-openapi",
|
|
73
|
+
"fishjam-proto"
|
|
74
|
+
],
|
|
75
|
+
minify: false,
|
|
76
|
+
format: [
|
|
77
|
+
"cjs",
|
|
78
|
+
"esm"
|
|
79
|
+
],
|
|
80
|
+
outDir: "dist"
|
|
81
|
+
},
|
|
82
|
+
dependencies: {
|
|
83
|
+
axios: "^1.7.9",
|
|
84
|
+
uuid: "^11.1.0"
|
|
85
|
+
},
|
|
86
|
+
peerDependencies: {
|
|
87
|
+
"@google/genai": "^1.0.0"
|
|
88
|
+
},
|
|
89
|
+
peerDependenciesMeta: {
|
|
90
|
+
"@google/genai": {
|
|
91
|
+
optional: true
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
devDependencies: {
|
|
95
|
+
"@fishjam-cloud/fishjam-openapi": "workspace:*",
|
|
96
|
+
"@fishjam-cloud/fishjam-proto": "workspace:*",
|
|
97
|
+
"@openapitools/openapi-generator-cli": "^2.18.4",
|
|
98
|
+
"@types/node": "^22.13.16",
|
|
99
|
+
"@types/websocket": "^1.0.10",
|
|
100
|
+
eslint: "^9.33.0",
|
|
101
|
+
prettier: "^3.6.2",
|
|
102
|
+
tsup: "^8.4.0",
|
|
103
|
+
"typed-emitter": "^2.1.0"
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// src/integrations/gemini.ts
|
|
108
|
+
var SDK_NAME = "fishjam-js-server-sdk";
|
|
109
|
+
var gemini_default = {
|
|
110
|
+
/**
|
|
111
|
+
* Creates a GoogleGenAI client.
|
|
112
|
+
* This function dynamically imports the "@google/genai" module,
|
|
113
|
+
* so it will only be loaded when this function is called.
|
|
114
|
+
*
|
|
115
|
+
* @param options Configuration for the GoogleGenAI client.
|
|
116
|
+
* @returns A GoogleGenAI instance.
|
|
117
|
+
*/
|
|
118
|
+
createClient: (options) => {
|
|
119
|
+
const { GoogleGenAI } = require("@google/genai");
|
|
120
|
+
const trackingHeader = { "X-Goog-Api-Client": `${SDK_NAME}/${package_default.version}` };
|
|
121
|
+
const finalOptions = {
|
|
122
|
+
...options,
|
|
123
|
+
httpOptions: {
|
|
124
|
+
...options.httpOptions,
|
|
125
|
+
headers: {
|
|
126
|
+
...options.httpOptions?.headers,
|
|
127
|
+
...trackingHeader
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
return new GoogleGenAI(finalOptions);
|
|
132
|
+
},
|
|
133
|
+
/**
|
|
134
|
+
* Predefined audio settings for the agent's output track,
|
|
135
|
+
* configured for Gemini's 24kHz audio output.
|
|
136
|
+
*/
|
|
137
|
+
geminiOutputAudioSettings: {
|
|
138
|
+
encoding: "pcm16",
|
|
139
|
+
channels: 1,
|
|
140
|
+
sampleRate: 24e3
|
|
141
|
+
},
|
|
142
|
+
/**
|
|
143
|
+
* Predefined audio settings for subscribing to room audio,
|
|
144
|
+
* configured for Gemini's 16kHz audio input.
|
|
145
|
+
*/
|
|
146
|
+
geminiInputAudioSettings: {
|
|
147
|
+
audioFormat: "pcm16",
|
|
148
|
+
audioSampleRate: 16e3
|
|
149
|
+
},
|
|
150
|
+
/**
|
|
151
|
+
* The MIME type for the audio data sent to Gemini.
|
|
152
|
+
*/
|
|
153
|
+
inputMimeType: "audio/pcm;rate=16000"
|
|
154
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__require
|
|
3
|
+
} from "../chunk-6DZX6EAA.mjs";
|
|
4
|
+
|
|
5
|
+
// package.json
|
|
6
|
+
var package_default = {
|
|
7
|
+
name: "@fishjam-cloud/js-server-sdk",
|
|
8
|
+
version: "0.24.0",
|
|
9
|
+
description: "Fishjam server SDK for JavaScript",
|
|
10
|
+
homepage: "https://github.com/fishjam-cloud/js-server-sdk",
|
|
11
|
+
author: "Fishjam Team",
|
|
12
|
+
repository: {
|
|
13
|
+
type: "git",
|
|
14
|
+
url: "https://github.com/fishjam-cloud/js-server-sdk.git"
|
|
15
|
+
},
|
|
16
|
+
bugs: {
|
|
17
|
+
url: "https://github.com/fishjam-cloud/js-server-sdk/issues"
|
|
18
|
+
},
|
|
19
|
+
license: "Apache-2.0",
|
|
20
|
+
keywords: [
|
|
21
|
+
"webrtc",
|
|
22
|
+
"fishjam",
|
|
23
|
+
"server",
|
|
24
|
+
"membrane"
|
|
25
|
+
],
|
|
26
|
+
main: "./dist/index.js",
|
|
27
|
+
types: "./dist/index.d.ts",
|
|
28
|
+
files: [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
31
|
+
exports: {
|
|
32
|
+
".": "./dist/index.js",
|
|
33
|
+
"./gemini": "./dist/integrations/gemini.js"
|
|
34
|
+
},
|
|
35
|
+
scripts: {
|
|
36
|
+
build: "tsup --dts-resolve",
|
|
37
|
+
format: "prettier --write .",
|
|
38
|
+
"format:check": "prettier --check .",
|
|
39
|
+
typecheck: "tsc --noEmit",
|
|
40
|
+
lint: "eslint . --fix",
|
|
41
|
+
"lint:check": "eslint . "
|
|
42
|
+
},
|
|
43
|
+
tsup: {
|
|
44
|
+
entry: [
|
|
45
|
+
"src/index.ts",
|
|
46
|
+
"src/integrations/gemini.ts",
|
|
47
|
+
"src/proto.ts"
|
|
48
|
+
],
|
|
49
|
+
noExternal: [
|
|
50
|
+
"fishjam-openapi",
|
|
51
|
+
"fishjam-proto"
|
|
52
|
+
],
|
|
53
|
+
minify: false,
|
|
54
|
+
format: [
|
|
55
|
+
"cjs",
|
|
56
|
+
"esm"
|
|
57
|
+
],
|
|
58
|
+
outDir: "dist"
|
|
59
|
+
},
|
|
60
|
+
dependencies: {
|
|
61
|
+
axios: "^1.7.9",
|
|
62
|
+
uuid: "^11.1.0"
|
|
63
|
+
},
|
|
64
|
+
peerDependencies: {
|
|
65
|
+
"@google/genai": "^1.0.0"
|
|
66
|
+
},
|
|
67
|
+
peerDependenciesMeta: {
|
|
68
|
+
"@google/genai": {
|
|
69
|
+
optional: true
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
devDependencies: {
|
|
73
|
+
"@fishjam-cloud/fishjam-openapi": "workspace:*",
|
|
74
|
+
"@fishjam-cloud/fishjam-proto": "workspace:*",
|
|
75
|
+
"@openapitools/openapi-generator-cli": "^2.18.4",
|
|
76
|
+
"@types/node": "^22.13.16",
|
|
77
|
+
"@types/websocket": "^1.0.10",
|
|
78
|
+
eslint: "^9.33.0",
|
|
79
|
+
prettier: "^3.6.2",
|
|
80
|
+
tsup: "^8.4.0",
|
|
81
|
+
"typed-emitter": "^2.1.0"
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// src/integrations/gemini.ts
|
|
86
|
+
var SDK_NAME = "fishjam-js-server-sdk";
|
|
87
|
+
var gemini_default = {
|
|
88
|
+
/**
|
|
89
|
+
* Creates a GoogleGenAI client.
|
|
90
|
+
* This function dynamically imports the "@google/genai" module,
|
|
91
|
+
* so it will only be loaded when this function is called.
|
|
92
|
+
*
|
|
93
|
+
* @param options Configuration for the GoogleGenAI client.
|
|
94
|
+
* @returns A GoogleGenAI instance.
|
|
95
|
+
*/
|
|
96
|
+
createClient: (options) => {
|
|
97
|
+
const { GoogleGenAI } = __require("@google/genai");
|
|
98
|
+
const trackingHeader = { "X-Goog-Api-Client": `${SDK_NAME}/${package_default.version}` };
|
|
99
|
+
const finalOptions = {
|
|
100
|
+
...options,
|
|
101
|
+
httpOptions: {
|
|
102
|
+
...options.httpOptions,
|
|
103
|
+
headers: {
|
|
104
|
+
...options.httpOptions?.headers,
|
|
105
|
+
...trackingHeader
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
return new GoogleGenAI(finalOptions);
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* Predefined audio settings for the agent's output track,
|
|
113
|
+
* configured for Gemini's 24kHz audio output.
|
|
114
|
+
*/
|
|
115
|
+
geminiOutputAudioSettings: {
|
|
116
|
+
encoding: "pcm16",
|
|
117
|
+
channels: 1,
|
|
118
|
+
sampleRate: 24e3
|
|
119
|
+
},
|
|
120
|
+
/**
|
|
121
|
+
* Predefined audio settings for subscribing to room audio,
|
|
122
|
+
* configured for Gemini's 16kHz audio input.
|
|
123
|
+
*/
|
|
124
|
+
geminiInputAudioSettings: {
|
|
125
|
+
audioFormat: "pcm16",
|
|
126
|
+
audioSampleRate: 16e3
|
|
127
|
+
},
|
|
128
|
+
/**
|
|
129
|
+
* The MIME type for the audio data sent to Gemini.
|
|
130
|
+
*/
|
|
131
|
+
inputMimeType: "audio/pcm;rate=16000"
|
|
132
|
+
};
|
|
133
|
+
export {
|
|
134
|
+
gemini_default as default
|
|
135
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fishjam-cloud/js-server-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "Fishjam server SDK for JavaScript",
|
|
5
5
|
"homepage": "https://github.com/fishjam-cloud/js-server-sdk",
|
|
6
6
|
"author": "Fishjam Team",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"exports": {
|
|
27
|
-
".": "./dist/index.js"
|
|
27
|
+
".": "./dist/index.js",
|
|
28
|
+
"./gemini": "./dist/integrations/gemini.js"
|
|
28
29
|
},
|
|
29
30
|
"scripts": {
|
|
30
31
|
"build": "tsup --dts-resolve",
|
|
@@ -37,6 +38,7 @@
|
|
|
37
38
|
"tsup": {
|
|
38
39
|
"entry": [
|
|
39
40
|
"src/index.ts",
|
|
41
|
+
"src/integrations/gemini.ts",
|
|
40
42
|
"src/proto.ts"
|
|
41
43
|
],
|
|
42
44
|
"noExternal": [
|
|
@@ -54,9 +56,17 @@
|
|
|
54
56
|
"axios": "^1.7.9",
|
|
55
57
|
"uuid": "^11.1.0"
|
|
56
58
|
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"@google/genai": "^1.0.0"
|
|
61
|
+
},
|
|
62
|
+
"peerDependenciesMeta": {
|
|
63
|
+
"@google/genai": {
|
|
64
|
+
"optional": true
|
|
65
|
+
}
|
|
66
|
+
},
|
|
57
67
|
"devDependencies": {
|
|
58
|
-
"@fishjam-cloud/fishjam-openapi": "0.
|
|
59
|
-
"@fishjam-cloud/fishjam-proto": "0.
|
|
68
|
+
"@fishjam-cloud/fishjam-openapi": "0.24.0",
|
|
69
|
+
"@fishjam-cloud/fishjam-proto": "0.24.0",
|
|
60
70
|
"@openapitools/openapi-generator-cli": "^2.18.4",
|
|
61
71
|
"@types/node": "^22.13.16",
|
|
62
72
|
"@types/websocket": "^1.0.10",
|