ask-cli-x
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
62 lines (61 loc) • 3.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = __importDefault(require("../../../utils/constants"));
const EMPTY_HEADERS = {};
const EMPTY_QUERY_PARAMS = {};
const NULL_PAYLOAD = null;
exports.default = (smapiHandle) => {
function invokeSkill(skillId, stage, invokePayload, endpointRegion, callback) {
const url = `skills/${skillId}/stages/${stage}/invocations`;
const payload = {
endpointRegion,
skillRequest: invokePayload,
};
smapiHandle(constants_1.default.SMAPI.API_NAME.INVOKE_SKILL, constants_1.default.HTTP_REQUEST.VERB.POST, constants_1.default.SMAPI.VERSION.V2, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, payload, callback);
}
function simulateSkill(skillId, stage, input, newSession, locale, callback) {
const url = `skills/${skillId}/stages/${stage}/simulations`;
const payload = {
input: {
content: input,
},
device: {
locale,
},
...(newSession
? {
session: {
mode: "FORCE_NEW_SESSION",
},
}
: {}),
};
if (callback) {
return smapiHandle(constants_1.default.SMAPI.API_NAME.SIMULATE_SKILL, constants_1.default.HTTP_REQUEST.VERB.POST, constants_1.default.SMAPI.VERSION.V2, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, payload, callback);
}
return smapiHandle(constants_1.default.SMAPI.API_NAME.SIMULATE_SKILL, constants_1.default.HTTP_REQUEST.VERB.POST, constants_1.default.SMAPI.VERSION.V2, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, payload);
}
function getSimulation(skillId, simulationId, stage, callback) {
const url = `skills/${skillId}/stages/${stage}/simulations/${simulationId}`;
if (callback) {
return smapiHandle(constants_1.default.SMAPI.API_NAME.GET_SIMULATION, constants_1.default.HTTP_REQUEST.VERB.GET, constants_1.default.SMAPI.VERSION.V2, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, NULL_PAYLOAD, callback);
}
return smapiHandle(constants_1.default.SMAPI.API_NAME.GET_SIMULATION, constants_1.default.HTTP_REQUEST.VERB.GET, constants_1.default.SMAPI.VERSION.V2, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, NULL_PAYLOAD);
}
function modifyLastTurn(params, callback) {
const url = `skills/${params.skillId}/stages/${params.stage}/locales/${params.locale}/conversations/turnPredictions`;
if (callback) {
return smapiHandle(constants_1.default.SMAPI.API_NAME.MODIFY_LAST_TURN, constants_1.default.HTTP_REQUEST.VERB.PUT, constants_1.default.SMAPI.VERSION.V1, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, params.payload, callback);
}
return smapiHandle(constants_1.default.SMAPI.API_NAME.MODIFY_LAST_TURN, constants_1.default.HTTP_REQUEST.VERB.PUT, constants_1.default.SMAPI.VERSION.V1, url, EMPTY_QUERY_PARAMS, EMPTY_HEADERS, params.payload);
}
return {
invokeSkill,
simulateSkill,
getSimulation,
modifyLastTurn,
};
};