@salutejs/scenario
Advanced tools
Comparing version 1.0.1-canary.118.7126677963.0 to 1.0.1-canary.118.7138903248.0
import { NLPRequest } from './types/request'; | ||
import { DeprecatedServerAction, SaluteRequest, SaluteRequestVariable } from './types/salute'; | ||
import { DeprecatedServerAction, SaluteRequest } from './types/salute'; | ||
import { AppState } from './types/systemMessage'; | ||
export declare const createSaluteRequest: (request: NLPRequest) => SaluteRequest<SaluteRequestVariable, AppState, DeprecatedServerAction>; | ||
export declare const createSaluteRequest: <Variable extends Record<string, string | string[] | undefined> = Record<string, string | string[] | undefined>>(request: NLPRequest) => SaluteRequest<Variable, AppState, DeprecatedServerAction>; | ||
//# sourceMappingURL=createSaluteRequest.d.ts.map |
@@ -1,18 +0,18 @@ | ||
import { createUserScenario } from './createUserScenario'; | ||
import { UserScenario } from './createUserScenario'; | ||
import { SystemScenario } from './createSystemScenario'; | ||
import { DeprecatedServerAction, IntentsDict, Recognizer, SaluteRequest, SaluteRequestVariable, SaluteResponse, SaluteSession, ServerAction } from './types/salute'; | ||
import { IntentsDict, Recognizer, SaluteRequest, SaluteRequestVariable, SaluteResponse, SaluteSession } from './types/salute'; | ||
import { AppState } from './types/systemMessage'; | ||
interface ScenarioWalkerOptions { | ||
declare type CreateScenarioWalkerParams<Variable extends SaluteRequestVariable, Session extends Record<string, unknown>> = { | ||
intents?: IntentsDict; | ||
recognizer?: Recognizer; | ||
systemScenario: SystemScenario; | ||
userScenario?: ReturnType<typeof createUserScenario>; | ||
userScenario?: UserScenario<Variable, Session>; | ||
slotFillingConfidence?: number; | ||
} | ||
export declare const createScenarioWalker: ({ intents, recognizer, systemScenario, userScenario, slotFillingConfidence, }: ScenarioWalkerOptions) => ({ req, res, session, }: { | ||
req: SaluteRequest<SaluteRequestVariable, AppState, Partial<ServerAction> & DeprecatedServerAction>; | ||
}; | ||
export declare const createScenarioWalker: <Variable extends Record<string, string | string[] | undefined>, Session extends Record<string, unknown>>({ intents, recognizer, systemScenario, userScenario, slotFillingConfidence, }: CreateScenarioWalkerParams<Variable, Session>) => <V extends Variable = Variable>({ req, res, session, }: { | ||
req: SaluteRequest<V, AppState, unknown>; | ||
res: SaluteResponse; | ||
session: SaluteSession; | ||
session: SaluteSession<Session>; | ||
}) => Promise<void>; | ||
export {}; | ||
//# sourceMappingURL=createScenarioWalker.d.ts.map |
@@ -132,3 +132,5 @@ "use strict"; | ||
}); }; | ||
normalizedServerAction = typeof req.serverAction === 'undefined' ? undefined : buildNormalizedServerAction(req.serverAction); | ||
normalizedServerAction = | ||
// @ts-ignore | ||
typeof req.serverAction === 'undefined' ? undefined : buildNormalizedServerAction(req.serverAction); | ||
saluteHandlerOpts = { req: req, res: res, session: session.state, history: {} }; | ||
@@ -193,6 +195,8 @@ if (!(req.systemIntent === 'run_app')) return [3 /*break*/, 4]; | ||
code: 500, | ||
description: "Missing required variables: " + missingVars.map(function (_a) { | ||
description: "Missing required variables: " + missingVars | ||
.map(function (_a) { | ||
var name = _a.name; | ||
return "\"" + name + "\""; | ||
}).join(', '), | ||
}) | ||
.join(', '), | ||
}); | ||
@@ -199,0 +203,0 @@ return [2 /*return*/]; |
@@ -1,14 +0,31 @@ | ||
import { SaluteHandler, SaluteRequest, ScenarioSchema } from './types/salute'; | ||
export declare function createUserScenario<Rq extends SaluteRequest, Sh extends SaluteHandler>(scenarioSchema: ScenarioSchema<Rq, Sh>): { | ||
import { SaluteRequestVariable, SaluteHandler, SaluteRequest, ScenarioSchema } from './types/salute'; | ||
export declare type UserScenario<Variable extends SaluteRequestVariable = SaluteRequestVariable, Session extends Record<string, unknown> = Record<string, unknown>> = { | ||
getByPath: (path: string[]) => ScenarioSchema<SaluteRequest<Variable>, SaluteHandler<SaluteRequest<Variable>, Session>>['string'] | undefined; | ||
resolve: (path: string[], req: SaluteRequest<Variable>) => { | ||
path: string[]; | ||
state: ScenarioSchema<SaluteRequest<Variable>, SaluteHandler<SaluteRequest<Variable>, Session>>['string']; | ||
} | null; | ||
}; | ||
export declare const createUserScenario: <Variable extends Record<string, string | string[] | undefined> = Record<string, string | string[] | undefined>, Session extends Record<string, unknown> = Record<string, unknown>>(scenarioSchema: Record<string, { | ||
match: (req: SaluteRequest<Variable, import("..").AppState, unknown>) => boolean; | ||
schema?: string | undefined; | ||
handle: SaluteHandler<SaluteRequest<Variable, import("..").AppState, unknown>, Session, import("./types/salute").SaluteResponse<import("..").NLPResponseATU>, Record<string, unknown>>; | ||
children?: Record<string, any> | undefined; | ||
}>) => { | ||
getByPath: (path: string[]) => { | ||
match: (req: Rq) => boolean; | ||
match: (req: SaluteRequest<Variable, import("..").AppState, unknown>) => boolean; | ||
schema?: string | undefined; | ||
handle: Sh; | ||
handle: SaluteHandler<SaluteRequest<Variable, import("..").AppState, unknown>, Session, import("./types/salute").SaluteResponse<import("..").NLPResponseATU>, Record<string, unknown>>; | ||
children?: Record<string, any> | undefined; | ||
} | undefined; | ||
resolve: (path: string[], req: Rq) => { | ||
resolve: (path: string[], req: SaluteRequest<Variable, import("..").AppState, unknown>) => { | ||
path: string[]; | ||
state: ScenarioSchema['string']; | ||
state: { | ||
match: (req: SaluteRequest<Variable, import("..").AppState, unknown>) => boolean; | ||
schema?: string | undefined; | ||
handle: SaluteHandler<SaluteRequest<Variable, import("..").AppState, unknown>, Session, import("./types/salute").SaluteResponse<import("..").NLPResponseATU>, Record<string, unknown>>; | ||
children?: Record<string, any> | undefined; | ||
}; | ||
} | null; | ||
}; | ||
//# sourceMappingURL=createUserScenario.d.ts.map |
@@ -11,3 +11,3 @@ "use strict"; | ||
exports.createUserScenario = void 0; | ||
function createUserScenario(scenarioSchema) { | ||
var createUserScenario = function (scenarioSchema) { | ||
/** | ||
@@ -68,3 +68,3 @@ * Возвращает вложенные обработчики для указанного пути в дереве диалогов | ||
}; | ||
} | ||
}; | ||
exports.createUserScenario = createUserScenario; |
@@ -1,14 +0,14 @@ | ||
import { IntentsDict, SaluteRequest } from './types/salute'; | ||
import { IntentsDict, SaluteRequest, SaluteRequestVariable } from './types/salute'; | ||
import { AppState } from './types/systemMessage'; | ||
export declare const compare: (expected: any, actual: any) => any; | ||
export declare function createMatchers<R extends SaluteRequest = SaluteRequest, I extends IntentsDict = IntentsDict>(): { | ||
match: (...matchers: ((req: R) => boolean)[]) => (req: R) => boolean; | ||
export declare function createMatchers<V extends SaluteRequestVariable = SaluteRequestVariable, I extends IntentsDict = IntentsDict>(): { | ||
match: (...matchers: ((req: SaluteRequest<V>) => boolean)[]) => (req: SaluteRequest<V>) => boolean; | ||
intent: (expected: keyof I, { confidence }?: { | ||
confidence: number; | ||
}) => (req: R) => boolean; | ||
}) => (req: SaluteRequest<V>) => boolean; | ||
text: (expected: string, { normalized }?: { | ||
normalized: boolean; | ||
}) => (req: R) => boolean; | ||
state: (expected: Partial<R['state']>) => (req: R) => any; | ||
selectItem: (expected: AppState) => (req: R) => { | ||
}) => (req: SaluteRequest<V>) => boolean; | ||
state: (expected: Partial<SaluteRequest<V>['state']>) => (req: SaluteRequest<V>) => any; | ||
selectItem: (expected: AppState) => (req: SaluteRequest<V>) => { | ||
[k: string]: unknown; | ||
@@ -22,3 +22,3 @@ number?: number | undefined; | ||
} | undefined; | ||
selectItems: (expected: AppState) => (req: R) => { | ||
selectItems: (expected: AppState) => (req: SaluteRequest<V>) => { | ||
[k: string]: unknown; | ||
@@ -32,7 +32,7 @@ number?: number | undefined; | ||
}[] | undefined; | ||
action: (expected: string) => (req: R) => boolean; | ||
action: (expected: string) => (req: SaluteRequest<V>) => boolean; | ||
regexp: (re: RegExp, { normalized }?: { | ||
normalized: boolean; | ||
}) => (req: R) => boolean; | ||
}) => (req: SaluteRequest<V>) => boolean; | ||
}; | ||
//# sourceMappingURL=matchers.d.ts.map |
@@ -49,3 +49,5 @@ "use strict"; | ||
}; | ||
var state = function (expected) { return function (req) { return exports.compare(expected, req.state); }; }; | ||
var state = function (expected) { return function (req) { | ||
return exports.compare(expected, req.state); | ||
}; }; | ||
var action = function (expected) { return function (req) { | ||
@@ -52,0 +54,0 @@ var _a, _b, _c; |
@@ -131,3 +131,3 @@ import { AppInfo, CharacterId, AppState, Message, SmartAppErrorCommand, EmotionId, Card, Bubble, Button, ASRHints, PolicyRunAppComand } from './systemMessage'; | ||
export declare type IntentsDict = Record<string, SaluteIntent>; | ||
export interface SaluteSession { | ||
export declare type SaluteSession<S extends Record<string, unknown> = Record<string, unknown>> = { | ||
path: string[]; | ||
@@ -139,6 +139,6 @@ slotFilling: boolean; | ||
currentIntent?: string; | ||
state: Record<string, unknown>; | ||
state: S; | ||
missingVariableName?: string; | ||
expires?: number; | ||
} | ||
}; | ||
export interface Recognizer { | ||
@@ -151,3 +151,3 @@ inference: (options: { | ||
} | ||
export declare type ScenarioSchema<Rq extends SaluteRequest = SaluteRequest, Sh extends SaluteHandler = SaluteHandler> = Record<string, { | ||
export declare type ScenarioSchema<Rq extends SaluteRequest = SaluteRequest, Sh extends SaluteHandler = SaluteHandler<Rq>> = Record<string, { | ||
match: (req: Rq) => boolean; | ||
@@ -154,0 +154,0 @@ schema?: string; |
{ | ||
"name": "@salutejs/scenario", | ||
"version": "1.0.1-canary.118.7126677963.0", | ||
"version": "1.0.1-canary.118.7138903248.0", | ||
"description": "Tiny helpers to make scenario for Salute family", | ||
@@ -40,3 +40,3 @@ "author": "Salute Frontend Team <salute.developers@gmail.com>", | ||
}, | ||
"gitHead": "e174bd468957014f5ddb63a3fff804f113fbfd45" | ||
"gitHead": "b7be0e51d775e32fac8124c56d82b3143f9eb15e" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
300922
5018