@gravity-rail/sdk 0.5.0 → 0.6.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/agui.cjs +78 -0
- package/dist/agui.cjs.map +1 -0
- package/dist/agui.d.cts +13 -0
- package/dist/agui.d.ts +13 -0
- package/dist/agui.js +48 -0
- package/dist/agui.js.map +1 -0
- package/dist/audio.cjs +223 -0
- package/dist/audio.cjs.map +1 -0
- package/dist/audio.d.cts +25 -0
- package/dist/audio.d.ts +25 -0
- package/dist/audio.js +147 -0
- package/dist/audio.js.map +1 -0
- package/dist/chunk-BSOOMHW6.js +62 -0
- package/dist/chunk-BSOOMHW6.js.map +1 -0
- package/dist/{chunk-QZC4QPP2.js → chunk-DX42AMVM.js} +2 -31
- package/dist/chunk-DX42AMVM.js.map +1 -0
- package/dist/{index-CIwgGcAm.d.ts → client-BKGhDv14.d.cts} +37 -1617
- package/dist/{index-DNxSoo5S.d.cts → client-dP29995A.d.ts} +37 -1617
- package/dist/helpers.cjs +123 -0
- package/dist/helpers.cjs.map +1 -0
- package/dist/helpers.d.cts +28 -0
- package/dist/helpers.d.ts +28 -0
- package/dist/helpers.js +92 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index-CBfaxd3y.d.cts +1589 -0
- package/dist/index-Q5qU2JFt.d.ts +1589 -0
- package/dist/index.cjs +1 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/{inquiries-DiTDrTG2.d.cts → inquiries-BH6I8-SF.d.cts} +1 -1
- package/dist/{inquiries-DiTDrTG2.d.ts → inquiries-BH6I8-SF.d.ts} +1 -1
- package/dist/internal.cjs +1 -30
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +4 -3
- package/dist/internal.d.ts +4 -3
- package/dist/internal.js +1 -1
- package/dist/oauth-client.cjs +78 -0
- package/dist/oauth-client.cjs.map +1 -0
- package/dist/oauth-client.d.cts +15 -0
- package/dist/oauth-client.d.ts +15 -0
- package/dist/oauth-client.js +48 -0
- package/dist/oauth-client.js.map +1 -0
- package/dist/realtime.cjs +637 -0
- package/dist/realtime.cjs.map +1 -0
- package/dist/realtime.d.cts +94 -0
- package/dist/realtime.d.ts +94 -0
- package/dist/realtime.js +580 -0
- package/dist/realtime.js.map +1 -0
- package/dist/schemas.d.cts +2 -2
- package/dist/schemas.d.ts +2 -2
- package/dist/types-DkYyrvoC.d.cts +19 -0
- package/dist/types-DkYyrvoC.d.ts +19 -0
- package/package.json +27 -2
- package/dist/chunk-QZC4QPP2.js.map +0 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// src/audio/pcm.ts
|
|
2
|
+
var SERVER_SAMPLE_RATE = 24e3;
|
|
3
|
+
var TARGET_SAMPLE_RATE = 24e3;
|
|
4
|
+
var MONITOR_SAMPLE_RATE = 16e3;
|
|
5
|
+
function float32ArrayToBase64(float32Array) {
|
|
6
|
+
const int16Array = new Int16Array(float32Array.length);
|
|
7
|
+
for (let i = 0; i < float32Array.length; i += 1) {
|
|
8
|
+
const sample = Math.max(-1, Math.min(1, float32Array[i]));
|
|
9
|
+
int16Array[i] = Math.round(sample * 32767);
|
|
10
|
+
}
|
|
11
|
+
const uint8Array = new Uint8Array(int16Array.buffer);
|
|
12
|
+
let binaryString = "";
|
|
13
|
+
for (let i = 0; i < uint8Array.length; i += 1) {
|
|
14
|
+
binaryString += String.fromCharCode(uint8Array[i]);
|
|
15
|
+
}
|
|
16
|
+
return btoa(binaryString);
|
|
17
|
+
}
|
|
18
|
+
function base64ToFloat32Array(base64) {
|
|
19
|
+
const binaryString = atob(base64);
|
|
20
|
+
const len = binaryString.length / 2;
|
|
21
|
+
const float32Array = new Float32Array(len);
|
|
22
|
+
for (let i = 0; i < len; i += 1) {
|
|
23
|
+
const lo = binaryString.charCodeAt(i * 2);
|
|
24
|
+
const hi = binaryString.charCodeAt(i * 2 + 1);
|
|
25
|
+
let int16 = hi << 8 | lo;
|
|
26
|
+
if (int16 >= 32768) int16 -= 65536;
|
|
27
|
+
float32Array[i] = int16 / 32768;
|
|
28
|
+
}
|
|
29
|
+
return float32Array;
|
|
30
|
+
}
|
|
31
|
+
function concatFloat32Arrays(arrays) {
|
|
32
|
+
const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);
|
|
33
|
+
const result = new Float32Array(totalLength);
|
|
34
|
+
let offset = 0;
|
|
35
|
+
for (const arr of arrays) {
|
|
36
|
+
result.set(arr, offset);
|
|
37
|
+
offset += arr.length;
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
function downsampleAudio(audioData, originalSampleRate, targetSampleRate) {
|
|
42
|
+
if (originalSampleRate === targetSampleRate) return audioData;
|
|
43
|
+
const ratio = originalSampleRate / targetSampleRate;
|
|
44
|
+
const newLength = Math.round(audioData.length / ratio);
|
|
45
|
+
const result = new Float32Array(newLength);
|
|
46
|
+
for (let i = 0; i < newLength; i += 1) {
|
|
47
|
+
const srcIndex = Math.floor(i * ratio);
|
|
48
|
+
result[i] = audioData[srcIndex];
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
SERVER_SAMPLE_RATE,
|
|
55
|
+
TARGET_SAMPLE_RATE,
|
|
56
|
+
MONITOR_SAMPLE_RATE,
|
|
57
|
+
float32ArrayToBase64,
|
|
58
|
+
base64ToFloat32Array,
|
|
59
|
+
concatFloat32Arrays,
|
|
60
|
+
downsampleAudio
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=chunk-BSOOMHW6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/audio/pcm.ts"],"sourcesContent":["/** PCM16 helpers aligned with main-app web voice (24 kHz). */\n\nexport const SERVER_SAMPLE_RATE = 24000;\nexport const TARGET_SAMPLE_RATE = 24000;\nexport const MONITOR_SAMPLE_RATE = 16000;\n\nexport function float32ArrayToBase64(float32Array: Float32Array): string {\n const int16Array = new Int16Array(float32Array.length);\n for (let i = 0; i < float32Array.length; i += 1) {\n const sample = Math.max(-1, Math.min(1, float32Array[i]));\n int16Array[i] = Math.round(sample * 32767);\n }\n const uint8Array = new Uint8Array(int16Array.buffer);\n let binaryString = '';\n for (let i = 0; i < uint8Array.length; i += 1) {\n binaryString += String.fromCharCode(uint8Array[i]);\n }\n return btoa(binaryString);\n}\n\nexport function base64ToFloat32Array(base64: string): Float32Array {\n const binaryString = atob(base64);\n const len = binaryString.length / 2;\n const float32Array = new Float32Array(len);\n for (let i = 0; i < len; i += 1) {\n const lo = binaryString.charCodeAt(i * 2);\n const hi = binaryString.charCodeAt(i * 2 + 1);\n let int16 = (hi << 8) | lo;\n if (int16 >= 0x8000) int16 -= 0x10000;\n float32Array[i] = int16 / 32768;\n }\n return float32Array;\n}\n\nexport function concatFloat32Arrays(arrays: Float32Array[]): Float32Array {\n const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);\n const result = new Float32Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\n\nexport function downsampleAudio(\n audioData: Float32Array,\n originalSampleRate: number,\n targetSampleRate: number\n): Float32Array {\n if (originalSampleRate === targetSampleRate) return audioData;\n const ratio = originalSampleRate / targetSampleRate;\n const newLength = Math.round(audioData.length / ratio);\n const result = new Float32Array(newLength);\n for (let i = 0; i < newLength; i += 1) {\n const srcIndex = Math.floor(i * ratio);\n result[i] = audioData[srcIndex];\n }\n return result;\n}\n"],"mappings":";AAEO,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAE5B,SAAS,qBAAqB,cAAoC;AACtE,QAAM,aAAa,IAAI,WAAW,aAAa,MAAM;AACrD,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK,GAAG;AAC9C,UAAM,SAAS,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;AACxD,eAAW,CAAC,IAAI,KAAK,MAAM,SAAS,KAAK;AAAA,EAC5C;AACA,QAAM,aAAa,IAAI,WAAW,WAAW,MAAM;AACnD,MAAI,eAAe;AACnB,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;AAC5C,oBAAgB,OAAO,aAAa,WAAW,CAAC,CAAC;AAAA,EACpD;AACA,SAAO,KAAK,YAAY;AAC3B;AAEO,SAAS,qBAAqB,QAA8B;AAChE,QAAM,eAAe,KAAK,MAAM;AAChC,QAAM,MAAM,aAAa,SAAS;AAClC,QAAM,eAAe,IAAI,aAAa,GAAG;AACzC,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC9B,UAAM,KAAK,aAAa,WAAW,IAAI,CAAC;AACxC,UAAM,KAAK,aAAa,WAAW,IAAI,IAAI,CAAC;AAC5C,QAAI,QAAS,MAAM,IAAK;AACxB,QAAI,SAAS,MAAQ,UAAS;AAC9B,iBAAa,CAAC,IAAI,QAAQ;AAAA,EAC7B;AACA,SAAO;AACV;AAEO,SAAS,oBAAoB,QAAsC;AACvE,QAAM,cAAc,OAAO,OAAO,CAAC,KAAK,QAAQ,MAAM,IAAI,QAAQ,CAAC;AACnE,QAAM,SAAS,IAAI,aAAa,WAAW;AAC3C,MAAI,SAAS;AACb,aAAW,OAAO,QAAQ;AACvB,WAAO,IAAI,KAAK,MAAM;AACtB,cAAU,IAAI;AAAA,EACjB;AACA,SAAO;AACV;AAEO,SAAS,gBACb,WACA,oBACA,kBACa;AACb,MAAI,uBAAuB,iBAAkB,QAAO;AACpD,QAAM,QAAQ,qBAAqB;AACnC,QAAM,YAAY,KAAK,MAAM,UAAU,SAAS,KAAK;AACrD,QAAM,SAAS,IAAI,aAAa,SAAS;AACzC,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK,GAAG;AACpC,UAAM,WAAW,KAAK,MAAM,IAAI,KAAK;AACrC,WAAO,CAAC,IAAI,UAAU,QAAQ;AAAA,EACjC;AACA,SAAO;AACV;","names":[]}
|
|
@@ -4465,7 +4465,7 @@ var OrgApi = class extends BaseApiClient {
|
|
|
4465
4465
|
);
|
|
4466
4466
|
}
|
|
4467
4467
|
/**
|
|
4468
|
-
* Purchase a phone number from Twilio for this org.
|
|
4468
|
+
* Purchase a phone number from Twilio for this org inventory (org admin only).
|
|
4469
4469
|
*/
|
|
4470
4470
|
async purchasePhoneNumber(orgUuid, phoneNumber, numberType) {
|
|
4471
4471
|
return this.fetch(`o/${orgUuid}/phone-numbers/purchase`, {
|
|
@@ -4892,31 +4892,6 @@ var PhoneNumbersApi = class extends BaseApiClient {
|
|
|
4892
4892
|
body: JSON.stringify({ providerPhoneUuid })
|
|
4893
4893
|
});
|
|
4894
4894
|
}
|
|
4895
|
-
async searchAvailablePhoneNumbers(wid, params) {
|
|
4896
|
-
const searchParams = new URLSearchParams();
|
|
4897
|
-
if (params.country) searchParams.set("country", params.country);
|
|
4898
|
-
if (params.numberType) searchParams.set("number_type", params.numberType);
|
|
4899
|
-
if (params.areaCode) searchParams.set("area_code", params.areaCode);
|
|
4900
|
-
if (params.contains) searchParams.set("contains", params.contains);
|
|
4901
|
-
if (params.city) searchParams.set("city", params.city);
|
|
4902
|
-
if (params.state) searchParams.set("state", params.state);
|
|
4903
|
-
if (params.limit) searchParams.set("limit", String(params.limit));
|
|
4904
|
-
const qs = searchParams.toString();
|
|
4905
|
-
return this.fetch(
|
|
4906
|
-
`w/${wid}/phone-numbers/search${qs ? `?${qs}` : ""}`
|
|
4907
|
-
);
|
|
4908
|
-
}
|
|
4909
|
-
async purchasePhoneNumber(wid, request, idempotencyKey) {
|
|
4910
|
-
const headers = {};
|
|
4911
|
-
if (idempotencyKey) {
|
|
4912
|
-
headers["Idempotency-Key"] = idempotencyKey;
|
|
4913
|
-
}
|
|
4914
|
-
return this.fetch(`w/${wid}/phone-numbers/purchase`, {
|
|
4915
|
-
method: "POST",
|
|
4916
|
-
body: JSON.stringify(request),
|
|
4917
|
-
headers
|
|
4918
|
-
});
|
|
4919
|
-
}
|
|
4920
4895
|
async releasePhoneNumber(wid, id) {
|
|
4921
4896
|
return this.fetch(`w/${wid}/phone-numbers/${id}/release`, {
|
|
4922
4897
|
method: "POST"
|
|
@@ -8267,8 +8242,6 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
|
|
|
8267
8242
|
target.getPhoneNumberVoicemails = phoneNumbers.getPhoneNumberVoicemails.bind(phoneNumbers);
|
|
8268
8243
|
target.fetchVoicemailAudio = phoneNumbers.fetchVoicemailAudio.bind(phoneNumbers);
|
|
8269
8244
|
target.updateVoicemailStatus = phoneNumbers.updateVoicemailStatus.bind(phoneNumbers);
|
|
8270
|
-
target.searchAvailablePhoneNumbers = phoneNumbers.searchAvailablePhoneNumbers.bind(phoneNumbers);
|
|
8271
|
-
target.purchasePhoneNumber = phoneNumbers.purchasePhoneNumber.bind(phoneNumbers);
|
|
8272
8245
|
target.releasePhoneNumber = phoneNumbers.releasePhoneNumber.bind(phoneNumbers);
|
|
8273
8246
|
target.getLinkablePhones = phoneNumbers.getLinkablePhones.bind(phoneNumbers);
|
|
8274
8247
|
target.linkPhoneNumber = phoneNumbers.linkPhoneNumber.bind(phoneNumbers);
|
|
@@ -9246,8 +9219,6 @@ var GravityRailClient = class {
|
|
|
9246
9219
|
getPhoneNumberVoicemails;
|
|
9247
9220
|
fetchVoicemailAudio;
|
|
9248
9221
|
updateVoicemailStatus;
|
|
9249
|
-
searchAvailablePhoneNumbers;
|
|
9250
|
-
purchasePhoneNumber;
|
|
9251
9222
|
releasePhoneNumber;
|
|
9252
9223
|
getLinkablePhones;
|
|
9253
9224
|
linkPhoneNumber;
|
|
@@ -11003,4 +10974,4 @@ export {
|
|
|
11003
10974
|
ScopeManager,
|
|
11004
10975
|
SCOPE_PRESETS
|
|
11005
10976
|
};
|
|
11006
|
-
//# sourceMappingURL=chunk-
|
|
10977
|
+
//# sourceMappingURL=chunk-DX42AMVM.js.map
|