@voctiv/agent-sdk 0.2.2 → 0.2.4
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/README.md +44 -15
- package/dist/define-script.d.ts +11 -12
- package/dist/define-script.d.ts.map +1 -1
- package/dist/define-script.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/types/asr-handle.d.ts +1 -1
- package/dist/types/media-channel.d.ts +7 -7
- package/dist/types/mixer.d.ts +1 -1
- package/dist/types/nlu.d.ts +5 -5
- package/dist/types/nlu.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @voctiv/agent-sdk
|
|
2
2
|
|
|
3
|
-
TypeScript SDK for scripts executed by the `
|
|
3
|
+
TypeScript SDK for scripts executed by the `ScriptEngine` scripting runtime.
|
|
4
4
|
|
|
5
|
-
The package exports the `defineScript()` identity helper and the public runtime types for voice channels, SIP calls, ASR, TTS, VAD, Smart Turn, LLM, dialog context, logging, and Voctiv legacy platform compatibility APIs.
|
|
5
|
+
The package exports the `defineScript()` identity helper and the public ScriptEngine runtime types for voice channels, SIP calls, ASR, TTS, VAD, Smart Turn, LLM, dialog context, logging, and Voctiv legacy platform compatibility APIs.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The SDK itself does not open SIP calls, run ASR/TTS, or talk to platform services; it describes the objects injected into your script by ScriptEngine.
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
@@ -20,24 +20,53 @@ Scripts export a function created with `defineScript()`. The runtime loads the m
|
|
|
20
20
|
|
|
21
21
|
```ts
|
|
22
22
|
import { defineScript } from '@voctiv/agent-sdk';
|
|
23
|
-
import {
|
|
23
|
+
import { filter, map, merge } from 'rxjs';
|
|
24
|
+
|
|
25
|
+
const TTS_QUEUE = 1;
|
|
24
26
|
|
|
25
|
-
export default defineScript(async ({ channel, logger, context
|
|
26
|
-
|
|
27
|
+
export default defineScript(async ({ channel, logger, context }) => {
|
|
28
|
+
channel.sip.answer(); // No-op on WS/headless channels.
|
|
29
|
+
channel.sendMessage({ event: 'status', payload: 'ready' });
|
|
27
30
|
|
|
28
31
|
const asr = await channel.createAsr({
|
|
29
32
|
language: context.language || 'ru-RU',
|
|
30
|
-
|
|
33
|
+
vad: { preSpeechFrames: 20, postSpeechFrames: 4 },
|
|
34
|
+
smartTurn: { enabled: true, triggerFrames: 3, confirmMs: 50 },
|
|
31
35
|
});
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
// Barge-in: user speech stops only the agent TTS queue.
|
|
38
|
+
merge(asr.speechStart$, asr.partial$.pipe(filter((p) => !!p.text?.trim()))).subscribe(() => {
|
|
39
|
+
channel.audio.stop(TTS_QUEUE);
|
|
40
|
+
});
|
|
35
41
|
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
await channel.audio.say('Hi! Say anything and I will answer briefly.', {
|
|
43
|
+
queue: TTS_QUEUE,
|
|
44
|
+
alias: 'greeting',
|
|
45
|
+
});
|
|
38
46
|
|
|
39
|
-
asr.
|
|
40
|
-
|
|
47
|
+
asr.result$.pipe(filter((text) => !!text.trim())).subscribe((userText) => {
|
|
48
|
+
logger.log('User said', { userText });
|
|
49
|
+
|
|
50
|
+
const reply$ = channel.llm
|
|
51
|
+
.stream(`Reply briefly to the user: "${userText}"`, {
|
|
52
|
+
agentUuid: context.agentUuid,
|
|
53
|
+
dialogUuid: context.dialogUuid,
|
|
54
|
+
})
|
|
55
|
+
.pipe(map((chunk) => chunk.content));
|
|
56
|
+
|
|
57
|
+
void channel.audio.say(reply$, {
|
|
58
|
+
queue: TTS_QUEUE,
|
|
59
|
+
alias: 'reply',
|
|
60
|
+
ttsStrategy: 'sentence',
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return new Promise((resolve) => {
|
|
65
|
+
channel.events.terminated$.subscribe(() => {
|
|
66
|
+
asr.destroy();
|
|
67
|
+
resolve({ output: { dialogUuid: context.dialogUuid } });
|
|
68
|
+
});
|
|
69
|
+
});
|
|
41
70
|
});
|
|
42
71
|
```
|
|
43
72
|
|
|
@@ -248,7 +277,7 @@ channel.audio.stop(2);
|
|
|
248
277
|
|
|
249
278
|
`PlayOptions.volume` changes the whole queue volume, not just one item. `stop(queue)` clears a queue and aborts in-flight sentence TTS for that queue. `stopAll()` clears every queue.
|
|
250
279
|
|
|
251
|
-
For sentence-split TTS,
|
|
280
|
+
For sentence-split TTS, queue item aliases are suffixed as `alias-0`, `alias-1`, and so on. Raw `play()` and direct streaming TTS use the alias exactly.
|
|
252
281
|
|
|
253
282
|
## TTS Credentials And Saved Phrases
|
|
254
283
|
|
|
@@ -332,7 +361,7 @@ const result = await platform.nlu.extract('I want to reschedule', {
|
|
|
332
361
|
});
|
|
333
362
|
```
|
|
334
363
|
|
|
335
|
-
Legacy platform APIs require `context.legacyV3Compat === true
|
|
364
|
+
Legacy platform APIs require `context.legacyV3Compat === true`. This includes NLU, outbound calls, dialog writes, messaging sends, and phrase records.
|
|
336
365
|
|
|
337
366
|
### Dialog State
|
|
338
367
|
|
package/dist/define-script.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ import type { LegacyGetRecordsParams, LegacyPhraseRecord } from './types/legacy-
|
|
|
7
7
|
* NLU (Natural Language Understanding) API.
|
|
8
8
|
*
|
|
9
9
|
* Provides intent/entity extraction through the legacy NLU v3 `/infer` endpoint.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* ScriptEngine allows this API when `context.legacyV3Compat` is `true` and NLU
|
|
11
|
+
* runtime settings are configured (`NLU_V3_BASE_URL` plus a resolved numeric
|
|
12
|
+
* agent id). Calls fail fast with a descriptive error otherwise.
|
|
13
13
|
*
|
|
14
14
|
* Compatible with logic-executor `nn.extract()` request/response shape.
|
|
15
15
|
*/
|
|
@@ -23,7 +23,7 @@ export interface NluScriptApi {
|
|
|
23
23
|
*
|
|
24
24
|
* @param utterance - User input text to analyze.
|
|
25
25
|
* @param options - Optional NLU filters and flags. `entities`, `intents`,
|
|
26
|
-
* `use_neuro_api`, and `use_synonyms` are forwarded by
|
|
26
|
+
* `use_neuro_api`, and `use_synonyms` are forwarded by ScriptEngine.
|
|
27
27
|
* @returns Raw parsed JSON response from the NLU `/infer` endpoint.
|
|
28
28
|
*/
|
|
29
29
|
extract(utterance: string, options?: NluExtractOptions): Promise<NluInferResult>;
|
|
@@ -97,7 +97,7 @@ export interface ScriptDialogContext {
|
|
|
97
97
|
/** `true` when the script runs without a real media channel (offline / queue / messaging). */
|
|
98
98
|
headless: boolean;
|
|
99
99
|
/**
|
|
100
|
-
* Persisted dialog environment for this conversation.
|
|
100
|
+
* Persisted dialog environment for this conversation. ScriptEngine converts the
|
|
101
101
|
* plain persisted `env` snapshot into this `BehaviorSubject` before invoking the script.
|
|
102
102
|
* On the first call the value is `undefined`.
|
|
103
103
|
*
|
|
@@ -138,7 +138,7 @@ export interface ScriptDialogContext {
|
|
|
138
138
|
* Injected by the runtime; absent only in tests or non-standard hosts.
|
|
139
139
|
*/
|
|
140
140
|
runTime?: ScriptRunTime;
|
|
141
|
-
/**
|
|
141
|
+
/** Opaque NLU runtime config managed by ScriptEngine. */
|
|
142
142
|
_nlu?: unknown;
|
|
143
143
|
[key: string]: unknown;
|
|
144
144
|
}
|
|
@@ -204,11 +204,11 @@ export interface ScheduleCallOptions {
|
|
|
204
204
|
/**
|
|
205
205
|
* Legacy compatibility field for callers that schedule without a current `scriptId`.
|
|
206
206
|
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
207
|
+
* ScriptEngine uses this to allow scheduling when the current script id is not
|
|
208
|
+
* available. It does not resolve script names or paths from this field.
|
|
209
209
|
*/
|
|
210
210
|
script?: string;
|
|
211
|
-
/** Reserved SIP channel/trunk hint.
|
|
211
|
+
/** Reserved SIP channel/trunk hint. Not used by the default ScriptEngine scheduler. */
|
|
212
212
|
channel?: string;
|
|
213
213
|
/** How many times to retry on failure. Stored as `recall_count` in call params. */
|
|
214
214
|
recallCount?: number;
|
|
@@ -292,9 +292,8 @@ export interface MessagingApi {
|
|
|
292
292
|
* Platform API — Voctiv platform–compatible operations available to scripts.
|
|
293
293
|
*
|
|
294
294
|
* Provides access to NLU, dialog state management, outbound call scheduling,
|
|
295
|
-
* phrase records, and messaging. These operations are legacy-platform backed
|
|
296
|
-
*
|
|
297
|
-
* NLU, `call`, `dialog` writes, messaging sends, and `getRecords`.
|
|
295
|
+
* phrase records, and messaging. These operations are legacy-platform backed and
|
|
296
|
+
* require `context.legacyV3Compat === true`.
|
|
298
297
|
*/
|
|
299
298
|
export interface PlatformApi {
|
|
300
299
|
/** NLU intent/entity extraction API; throws outside legacy V3 compatibility mode. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-script.d.ts","sourceRoot":"","sources":["../src/define-script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;OAWG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,UAAU,CAAC,cAAc,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;;;;;;OASG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,4DAA4D;IAC5D,cAAc,EAAE,OAAO,CAAC;IAExB,8FAA8F;IAC9F,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IAE5D,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wEAAwE;IACxE,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,
|
|
1
|
+
{"version":3,"file":"define-script.d.ts","sourceRoot":"","sources":["../src/define-script.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-script.js","sourceRoot":"","sources":["../src/define-script.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"define-script.js","sourceRoot":"","sources":["../src/define-script.ts"],"names":[],"mappings":";;AAuaA,oCAEC;AA3BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,YAAY,CAAC,EAAY;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
|
-
* **Agent scripting SDK** for `
|
|
3
|
+
* **Agent scripting SDK** for `ScriptEngine`: typed **`defineScript`** context,
|
|
4
4
|
* {@link import('./types/media-channel').MediaChannel}, ASR/TTS, LLM, SIP, and Voctiv platform (LE-compat) helpers.
|
|
5
|
-
* These exports are types plus the `defineScript` identity helper; behavior is
|
|
6
|
-
*
|
|
5
|
+
* These exports are types plus the `defineScript` identity helper; runtime behavior is
|
|
6
|
+
* provided by ScriptEngine when it loads and executes your script.
|
|
7
7
|
*
|
|
8
8
|
* ### Selecting ASR/TTS credentials by `key_storage.name` (Voctiv platform)
|
|
9
9
|
*
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* Channel defaults **`defaultAsrName`** / **`defaultTtsName`** apply when **`name`** is omitted.
|
|
20
20
|
*
|
|
21
21
|
* Legacy platform APIs (`platform.nlu`, `platform.call`, messaging sends, dialog writes, and phrase
|
|
22
|
-
* records) require `context.legacyV3Compat === true
|
|
22
|
+
* records) require `context.legacyV3Compat === true`.
|
|
23
23
|
*/
|
|
24
24
|
export { defineScript } from './define-script';
|
|
25
25
|
export type { ScriptContext, ScriptDialogContext, ScriptRunTime, ScriptResult, PersistedScriptResult, ScriptError, ScriptFn, NluScriptApi, PlatformApi, DialogApi, ScheduleCallOptions, SendMessageOptions, InboundMessage, MessagingApi, } from './define-script';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* @packageDocumentation
|
|
4
|
-
* **Agent scripting SDK** for `
|
|
4
|
+
* **Agent scripting SDK** for `ScriptEngine`: typed **`defineScript`** context,
|
|
5
5
|
* {@link import('./types/media-channel').MediaChannel}, ASR/TTS, LLM, SIP, and Voctiv platform (LE-compat) helpers.
|
|
6
|
-
* These exports are types plus the `defineScript` identity helper; behavior is
|
|
7
|
-
*
|
|
6
|
+
* These exports are types plus the `defineScript` identity helper; runtime behavior is
|
|
7
|
+
* provided by ScriptEngine when it loads and executes your script.
|
|
8
8
|
*
|
|
9
9
|
* ### Selecting ASR/TTS credentials by `key_storage.name` (Voctiv platform)
|
|
10
10
|
*
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* Channel defaults **`defaultAsrName`** / **`defaultTtsName`** apply when **`name`** is omitted.
|
|
21
21
|
*
|
|
22
22
|
* Legacy platform APIs (`platform.nlu`, `platform.call`, messaging sends, dialog writes, and phrase
|
|
23
|
-
* records) require `context.legacyV3Compat === true
|
|
23
|
+
* records) require `context.legacyV3Compat === true`.
|
|
24
24
|
*/
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.isLegacyPhraseRecord = exports.LEGACY_PHRASE_RECORD_BRAND = exports.defineScript = void 0;
|
|
@@ -66,7 +66,7 @@ export interface AsrSmartTurnConfig {
|
|
|
66
66
|
*
|
|
67
67
|
* ### Vendor
|
|
68
68
|
*
|
|
69
|
-
* **`vendor`** is resolved via
|
|
69
|
+
* **`vendor`** is resolved via ScriptEngine vendor aliases (`"yandex"`, `"Y"`, `"neuro_v3"`, …). If you set
|
|
70
70
|
* **`name`** but omit **`vendor`**, the runtime may infer vendor from the key row’s **`platform`**
|
|
71
71
|
* in the catalog.
|
|
72
72
|
*/
|
|
@@ -16,7 +16,7 @@ import { TextInput } from './text-input';
|
|
|
16
16
|
* For SIP calls, `say()` and `play()` automatically wait for the RTP pipeline to be ready
|
|
17
17
|
* (early media or 200 OK) before starting playback. You do **not** need to call
|
|
18
18
|
* `sip.waitForEarly()` / `sip.waitForAnswer()` manually before speaking — the audio
|
|
19
|
-
* operation waits
|
|
19
|
+
* operation waits and starts as soon as the call enters `"early"` or `"active"` state.
|
|
20
20
|
*
|
|
21
21
|
* If the call terminates **before** any media is available, deferred `say`/`play` calls
|
|
22
22
|
* resolve as no-ops (they do not throw).
|
|
@@ -57,7 +57,7 @@ export interface ChannelAudio {
|
|
|
57
57
|
/**
|
|
58
58
|
* Download/decode **`source`** through the audio player.
|
|
59
59
|
*
|
|
60
|
-
* In
|
|
60
|
+
* In ScriptEngine this warms the decoder/audio-player path for `play()`;
|
|
61
61
|
* it does not synthesize TTS and does not populate the TTS cache used by `presay()`.
|
|
62
62
|
* @param source - URL or file path accepted by the host’s fetch layer.
|
|
63
63
|
*/
|
|
@@ -66,7 +66,7 @@ export interface ChannelAudio {
|
|
|
66
66
|
* Run TTS ahead of time and store PCM in the host TTS cache.
|
|
67
67
|
*
|
|
68
68
|
* Later `say()` calls with the same resolved TTS config and text can reuse the cached
|
|
69
|
-
* file. If the cache service is unavailable,
|
|
69
|
+
* file. If the cache service is unavailable, ScriptEngine logs a warning and
|
|
70
70
|
* resolves without throwing.
|
|
71
71
|
* @param text - Full text to synthesize.
|
|
72
72
|
* @param options - Same TTS-related options as **`say`** (vendor, **`name`**, **`ttsConfig`**).
|
|
@@ -81,7 +81,7 @@ export interface ChannelAudio {
|
|
|
81
81
|
* Remove one item by **`alias`**.
|
|
82
82
|
*
|
|
83
83
|
* When **`queue`** is omitted, the SIP/WS runtime searches all five queues. When set,
|
|
84
|
-
* only that queue is inspected. For sentence-split TTS,
|
|
84
|
+
* only that queue is inspected. For sentence-split TTS, queue item aliases are
|
|
85
85
|
* suffixed as `alias-0`, `alias-1`, etc.; remove the concrete suffix if you need to
|
|
86
86
|
* cancel one synthesized sentence.
|
|
87
87
|
* @param alias - **`PlayOptions.alias`** of the item to drop.
|
|
@@ -91,7 +91,7 @@ export interface ChannelAudio {
|
|
|
91
91
|
/**
|
|
92
92
|
* Stop playback and clear all pending items on a single queue.
|
|
93
93
|
*
|
|
94
|
-
* Also aborts in-flight sentence TTS generation for that queue
|
|
94
|
+
* Also aborts in-flight sentence TTS generation for that queue.
|
|
95
95
|
* @param queue - Queue index **0–4**.
|
|
96
96
|
*/
|
|
97
97
|
stop(queue: number): void;
|
|
@@ -182,7 +182,7 @@ export interface ChannelLlm {
|
|
|
182
182
|
/** Structured extraction / JSON-style fill from conversation context via Omni extract. */
|
|
183
183
|
extract(options?: ExtractOptions): Promise<Record<string, any>>;
|
|
184
184
|
/**
|
|
185
|
-
* Open a persistent Omni chat stream
|
|
185
|
+
* Open a persistent Omni chat stream.
|
|
186
186
|
* @param options - Default **`agentUuid`**, **`dialogUuid`**, etc.; per-**`send`** overrides allowed.
|
|
187
187
|
*/
|
|
188
188
|
makePersistentStream(options?: LlmOptions): PersistentLlmStreamHandle;
|
|
@@ -653,7 +653,7 @@ export interface ChannelSip {
|
|
|
653
653
|
* Cross-connect audio between this SIP call and another SIP call (conference bridge).
|
|
654
654
|
*
|
|
655
655
|
* Both parties hear each other in real time. Returns a teardown function
|
|
656
|
-
* that disconnects the bridge when called.
|
|
656
|
+
* that disconnects the bridge when called. ScriptEngine only bridges two
|
|
657
657
|
* `SipMediaChannel` instances directly; non-SIP channels return a no-op teardown
|
|
658
658
|
* or throw depending on the host.
|
|
659
659
|
*
|
package/dist/types/mixer.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export interface PlayOptions {
|
|
|
51
51
|
* Stable id for this queue item — used with **`remove`**, debug UIs, and completion tracking.
|
|
52
52
|
* Should be unique per logical utterance if you need to cancel a specific playback.
|
|
53
53
|
*
|
|
54
|
-
* For sentence-split TTS the runtime creates
|
|
54
|
+
* For sentence-split TTS the runtime creates item aliases by suffixing
|
|
55
55
|
* this value (`alias-0`, `alias-1`, ...). For raw `play()` and direct streaming TTS,
|
|
56
56
|
* the item uses this alias exactly.
|
|
57
57
|
*/
|
package/dist/types/nlu.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Options for `platform.nlu.extract()`.
|
|
3
3
|
*
|
|
4
|
-
* Compatible with logic-executor `NeuroNluRecognitionRequest`.
|
|
5
|
-
* `
|
|
4
|
+
* Compatible with logic-executor `NeuroNluRecognitionRequest`. ScriptEngine forwards
|
|
5
|
+
* `entities`, `intents`, `context`,
|
|
6
6
|
* `use_neuro_api`, and `use_synonyms` to NLU v3 `/infer`. Exclude fields are
|
|
7
7
|
* kept in the SDK for source compatibility with older scripts, but are not
|
|
8
|
-
*
|
|
8
|
+
* part of the default ScriptEngine request payload.
|
|
9
9
|
*/
|
|
10
10
|
export interface NluExtractOptions {
|
|
11
11
|
/** Include only these entity types (e.g. `"date"`, `"phone"`); forwarded as `entities`. */
|
|
12
12
|
entities?: string | string[] | null;
|
|
13
|
-
/** Legacy compatibility field;
|
|
13
|
+
/** Legacy compatibility field; not part of the default ScriptEngine request payload. */
|
|
14
14
|
entities_exclude?: string | string[] | null;
|
|
15
15
|
/** Include only these intent names; forwarded as `intents`. */
|
|
16
16
|
intents?: string | string[] | null;
|
|
17
|
-
/** Legacy compatibility field;
|
|
17
|
+
/** Legacy compatibility field; not part of the default ScriptEngine request payload. */
|
|
18
18
|
intents_exclude?: string | string[] | null;
|
|
19
19
|
/**
|
|
20
20
|
* Additional context for disambiguation.
|
package/dist/types/nlu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nlu.d.ts","sourceRoot":"","sources":["../../src/types/nlu.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,
|
|
1
|
+
{"version":3,"file":"nlu.d.ts","sourceRoot":"","sources":["../../src/types/nlu.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5C,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9D,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
package/package.json
CHANGED