UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

41 lines 1.88 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const schema_1 = require("@sprucelabs/schema"); const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils"); const setupVscodeOptions_schema_1 = __importDefault(require("./../../../.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema")); const AbstractAction_1 = __importDefault(require("../../AbstractAction")); const optionsSchema = (0, schema_1.buildSchema)({ id: 'setupSandboxOptions', name: 'Setup sandbox options', fields: {}, }); class SetupAction extends AbstractAction_1.default { optionsSchema = setupVscodeOptions_schema_1.default; invocationMessage = 'Setting up sandbox support... 🏝'; async execute() { const listeners = this.Store('listener'); const existing = await listeners.loadListeners(); const version = existing.find((e) => e.eventNamespace === 'skill')?.version; const createListenerAction = this.Action('event', 'listen'); const results = await createListenerAction.execute({ namespace: 'skill', eventName: 'will-boot', version: version ?? spruce_skill_utils_1.versionUtil.generateVersion().dirValue, }); if (results.errors) { return results; } const match = (results.files ?? []).find((file) => file.name.search('will-boot') === 0); if (!match) { throw new Error('file was not generated'); } match.description = 'Used for recovering from a sandbox reset.'; await this.Writer('sandbox').writeDidBootListener(match.path); return results; } } exports.default = SetupAction; //# sourceMappingURL=SetupAction.js.map