@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 CHANGED
@@ -1,10 +1,10 @@
1
1
  # @voctiv/agent-sdk
2
2
 
3
- TypeScript SDK for scripts executed by the `node-asr-tts-connector` scripting runtime.
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
- Runtime behavior is provided by `apps/api`. 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 the host.
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 { firstValueFrom } from 'rxjs';
23
+ import { filter, map, merge } from 'rxjs';
24
+
25
+ const TTS_QUEUE = 1;
24
26
 
25
- export default defineScript(async ({ channel, logger, context, platform }) => {
26
- logger.log('Script started', { dialogUuid: context.dialogUuid });
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
- smartTurn: { enabled: true },
33
+ vad: { preSpeechFrames: 20, postSpeechFrames: 4 },
34
+ smartTurn: { enabled: true, triggerFrames: 3, confirmMs: 50 },
31
35
  });
32
36
 
33
- await channel.audio.say('Hello! How can I help you?');
34
- const userText = await firstValueFrom(asr.result$);
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
- const nlu = await platform.nlu.extract(userText);
37
- logger.log('NLU result', { nlu });
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.destroy();
40
- return { output: { userText, nlu } };
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, internal queue item aliases are suffixed as `alias-0`, `alias-1`, and so on. Raw `play()` and direct streaming TTS use the alias exactly.
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` in the current `apps/api` runtime. This includes NLU, outbound calls, dialog writes, messaging sends, and phrase records.
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
 
@@ -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
- * The current `apps/api` runtime only allows this API when `context.legacyV3Compat`
11
- * is `true` and NLU runtime settings are configured (`NLU_V3_BASE_URL` plus a
12
- * resolved numeric agent id). Calls fail fast with a descriptive error otherwise.
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 the current API runtime.
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. The API runtime converts the
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
- /** @internal NLU runtime config opaque to scripts. */
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
- * The current `apps/api` scheduler only uses this to allow validation when
208
- * `scriptId` is missing; it does not resolve the script name/path itself.
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. The current `apps/api` scheduler does not persist it. */
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
- * the current `apps/api` runtime requires `context.legacyV3Compat === true` for
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":"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"}
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":";;AAwaA,oCAEC;AA3BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,YAAY,CAAC,EAAY;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC"}
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 `node-asr-tts-connector`: typed **`defineScript`** context,
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 provided by
6
- * the `apps/api` scripting runtime that loads and executes your script.
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` in the current API runtime.
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 `node-asr-tts-connector`: typed **`defineScript`** context,
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 provided by
7
- * the `apps/api` scripting runtime that loads and executes your script.
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` in the current API runtime.
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 internal aliases (`"yandex"`, `"Y"`, `"neuro_v3"`, …). If you set
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 internally and starts as soon as the call enters `"early"` or `"active"` state.
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 the current API runtime this warms the decoder/audio-player path for `play()`;
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, the current runtime logs a warning and
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, internal queue item aliases are
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 in the current runtime.
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 (see host docs for URL and auth).
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. The current runtime only bridges two
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
  *
@@ -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 internal item aliases by suffixing
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
  */
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * Options for `platform.nlu.extract()`.
3
3
  *
4
- * Compatible with logic-executor `NeuroNluRecognitionRequest`. The current
5
- * `apps/api` runtime forwards `entities`, `intents`, `context`,
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
- * forwarded by the current runtime implementation.
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; currently not forwarded by `apps/api`. */
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; currently not forwarded by `apps/api`. */
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.
@@ -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,yEAAyE;IACzE,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,yEAAyE;IACzE,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voctiv/agent-sdk",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Voctiv TypeScript agent SDK: defineScript and platform types for the voice/dialog scripting runtime.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "",