@sprucelabs/spruce-cli 14.30.7 → 14.30.11
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/CHANGELOG.md +32 -0
- package/build/__tests__/behavioral/SettingRemote.test.js +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js +1 -1
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/package.json +33 -33
- package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
- package/src/features/skill/actions/RegisterAction.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [14.30.11](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.10...v14.30.11) (2022-01-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [14.30.10](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.9...v14.30.10) (2022-01-24)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [14.30.9](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.8...v14.30.9) (2022-01-22)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [14.30.8](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.7...v14.30.8) (2022-01-19)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
6
38
|
## [14.30.7](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.6...v14.30.7) (2022-01-19)
|
|
7
39
|
|
|
8
40
|
**Note:** Version bump only for package @sprucelabs/spruce-cli
|
|
@@ -39,7 +39,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
39
39
|
|
|
40
40
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
41
|
|
|
42
|
-
var SettingRemoteTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)("saves local as ".concat(_spruceEventUtils.REMOTE_LOCAL), "local", "".concat(_spruceEventUtils.REMOTE_LOCAL)), _dec3 = (0, _test.test)("saves dev as ".concat(_spruceEventUtils.REMOTE_DEV), "developer", "".concat(_spruceEventUtils.REMOTE_DEV)), _dec4 = (0, _test.test)("saves sandbox as ".concat(_spruceEventUtils.REMOTE_SANDBOX), "sandbox", "".concat(_spruceEventUtils.REMOTE_SANDBOX)), _dec5 = (0, _test.test)("saves prod as ".concat(_spruceEventUtils.REMOTE_PROD), "production", "".concat(_spruceEventUtils.REMOTE_PROD)), _dec6 = (0, _test.test)('create.event asks for remote on IS TTY', 'event', 'create'), _dec7 = (0, _test.test)('sync.events asks for remote on IS TTY', 'event', 'sync'), _dec8 = (0, _test.test)('login asks for remote on IS TTY', 'person', 'login'), _dec9 = (0, _test.test)('skill
|
|
42
|
+
var SettingRemoteTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)("saves local as ".concat(_spruceEventUtils.REMOTE_LOCAL), "local", "".concat(_spruceEventUtils.REMOTE_LOCAL)), _dec3 = (0, _test.test)("saves dev as ".concat(_spruceEventUtils.REMOTE_DEV), "developer", "".concat(_spruceEventUtils.REMOTE_DEV)), _dec4 = (0, _test.test)("saves sandbox as ".concat(_spruceEventUtils.REMOTE_SANDBOX), "sandbox", "".concat(_spruceEventUtils.REMOTE_SANDBOX)), _dec5 = (0, _test.test)("saves prod as ".concat(_spruceEventUtils.REMOTE_PROD), "production", "".concat(_spruceEventUtils.REMOTE_PROD)), _dec6 = (0, _test.test)('create.event asks for remote on IS TTY', 'event', 'create'), _dec7 = (0, _test.test)('sync.events asks for remote on IS TTY', 'event', 'sync'), _dec8 = (0, _test.test)('login asks for remote on IS TTY', 'person', 'login'), _dec9 = (0, _test.test)('login.skill asks for remote on IS TTY', 'skill', 'login'), _dec10 = (0, _test.test)('create.event throws for remote on NOT TTY', 'create', false), _dec11 = (0, _test.test)('sync.events throws for remote on NOT TTY', 'sync', false), _dec12 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
|
|
43
43
|
(0, _inherits2["default"])(SettingRemoteTest, _AbstractSkillTest);
|
|
44
44
|
|
|
45
45
|
var _super = _createSuper(SettingRemoteTest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/behavioral/SettingRemote.test.ts"],"names":["SettingRemoteTest","REMOTE_LOCAL","REMOTE_DEV","REMOTE_SANDBOX","REMOTE_PROD","assert","isFunction","Action","execute","remote","expected","env","Service","host","get","isEqual","feature","action","TerminalInterface","setDoesSupportColor","unset","shouldAutoHandleDependencies","waitForInput","last","ui","getLastInvocation","doesInclude","options","label","reset","shouldThrowOnListenerError","results","isTruthy","errors","stack","set","summaryLines","AbstractSkillTest"],"mappings":"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","sourcesContent":["import {\n\tREMOTE_DEV,\n\tREMOTE_LOCAL,\n\tREMOTE_PROD,\n\tREMOTE_SANDBOX,\n} from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { FeatureCode } from '../../features/features.types'\nimport TerminalInterface from '../../interfaces/TerminalInterface'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class SettingRemoteTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async hasSetRemoteAction() {\n\t\tassert.isFunction(this.Action('event', 'setRemote').execute)\n\t}\n\n\t@test(`saves local as ${REMOTE_LOCAL}`, `local`, `${REMOTE_LOCAL}`)\n\t@test(`saves dev as ${REMOTE_DEV}`, `developer`, `${REMOTE_DEV}`)\n\t@test(`saves sandbox as ${REMOTE_SANDBOX}`, `sandbox`, `${REMOTE_SANDBOX}`)\n\t@test(`saves prod as ${REMOTE_PROD}`, `production`, `${REMOTE_PROD}`)\n\tprotected static async savesRemote(remote: string, expected: string) {\n\t\tawait this.Action('event', 'setRemote').execute({ remote })\n\n\t\tconst env = this.Service('env')\n\t\tconst host = env.get('HOST')\n\n\t\tassert.isEqual(host, expected)\n\t}\n\n\t@test('create.event asks for remote on IS TTY', 'event', 'create')\n\t@test('sync.events asks for remote on IS TTY', 'event', 'sync')\n\t@test('login asks for remote on IS TTY', 'person', 'login')\n\t@test('skill
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/behavioral/SettingRemote.test.ts"],"names":["SettingRemoteTest","REMOTE_LOCAL","REMOTE_DEV","REMOTE_SANDBOX","REMOTE_PROD","assert","isFunction","Action","execute","remote","expected","env","Service","host","get","isEqual","feature","action","TerminalInterface","setDoesSupportColor","unset","shouldAutoHandleDependencies","waitForInput","last","ui","getLastInvocation","doesInclude","options","label","reset","shouldThrowOnListenerError","results","isTruthy","errors","stack","set","summaryLines","AbstractSkillTest"],"mappings":"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","sourcesContent":["import {\n\tREMOTE_DEV,\n\tREMOTE_LOCAL,\n\tREMOTE_PROD,\n\tREMOTE_SANDBOX,\n} from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { FeatureCode } from '../../features/features.types'\nimport TerminalInterface from '../../interfaces/TerminalInterface'\nimport AbstractSkillTest from '../../tests/AbstractSkillTest'\n\nexport default class SettingRemoteTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'events'\n\n\t@test()\n\tprotected static async hasSetRemoteAction() {\n\t\tassert.isFunction(this.Action('event', 'setRemote').execute)\n\t}\n\n\t@test(`saves local as ${REMOTE_LOCAL}`, `local`, `${REMOTE_LOCAL}`)\n\t@test(`saves dev as ${REMOTE_DEV}`, `developer`, `${REMOTE_DEV}`)\n\t@test(`saves sandbox as ${REMOTE_SANDBOX}`, `sandbox`, `${REMOTE_SANDBOX}`)\n\t@test(`saves prod as ${REMOTE_PROD}`, `production`, `${REMOTE_PROD}`)\n\tprotected static async savesRemote(remote: string, expected: string) {\n\t\tawait this.Action('event', 'setRemote').execute({ remote })\n\n\t\tconst env = this.Service('env')\n\t\tconst host = env.get('HOST')\n\n\t\tassert.isEqual(host, expected)\n\t}\n\n\t@test('create.event asks for remote on IS TTY', 'event', 'create')\n\t@test('sync.events asks for remote on IS TTY', 'event', 'sync')\n\t@test('login asks for remote on IS TTY', 'person', 'login')\n\t@test('login.skill asks for remote on IS TTY', 'skill', 'login')\n\tprotected static async shouldAskForRemoteBeforeEventActionIsInvokedIfTerminalSupportsIt(\n\t\tfeature: FeatureCode,\n\t\taction: string\n\t) {\n\t\tTerminalInterface.setDoesSupportColor(true)\n\n\t\tconst env = this.Service('env')\n\t\tenv.unset('HOST')\n\n\t\tvoid this.Action(feature, action, {\n\t\t\tshouldAutoHandleDependencies: true,\n\t\t}).execute({})\n\n\t\tawait this.waitForInput()\n\n\t\tconst last = this.ui.getLastInvocation()\n\n\t\tassert.doesInclude(last.options.label, 'remote')\n\n\t\tthis.ui.reset()\n\t}\n\n\t@test('create.event throws for remote on NOT TTY', 'create', false)\n\t@test('sync.events throws for remote on NOT TTY', 'sync', false)\n\tprotected static async shouldThrowBeforeEventActionIsInvokedIfTerminalSupportsIt(\n\t\taction: string\n\t) {\n\t\tTerminalInterface.setDoesSupportColor(false)\n\t\tconst env = this.Service('env')\n\t\tenv.unset('HOST')\n\n\t\tconst results = await this.Action('event', action, {\n\t\t\tshouldThrowOnListenerError: false,\n\t\t}).execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].stack, 'env.HOST')\n\t}\n\n\t@test()\n\tprotected static async resultsOfCommandHasRemoteMixedIntoSummary() {\n\t\tthis.Service('remote').set('developer')\n\t\tconst results = await this.Action('event', 'sync').execute({})\n\n\t\tassert.isTruthy(results.summaryLines)\n\t\tassert.doesInclude(results.summaryLines, 'Remote: dev')\n\t}\n}\n"],"file":"SettingRemote.test.js"}
|
|
@@ -121,7 +121,7 @@ var RegisterAction = /*#__PURE__*/function (_AbstractAction) {
|
|
|
121
121
|
_context.prev = 14;
|
|
122
122
|
_context.t0 = _context["catch"](7);
|
|
123
123
|
return _context.abrupt("return", {
|
|
124
|
-
hints: ["If you've already registered your skill, try 'spruce skill
|
|
124
|
+
hints: ["If you've already registered your skill, try 'spruce login.skill'!"],
|
|
125
125
|
errors: [_context.t0]
|
|
126
126
|
});
|
|
127
127
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"names":["optionsSchema","id","description","fields","nameReadable","type","label","isRequired","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,qBAD6B;AAEjCC,EAAAA,WAAW,EACV,oFAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,YAAY,EAAE;AACbC,MAAAA,IAAI,EAAE,MADO;AAEbC,MAAAA,KAAK,8BAFQ;AAGbC,MAAAA,UAAU,EAAE;AAHC,KADP;AAMPC,IAAAA,SAAS,EAAE;AACVH,MAAAA,IAAI,EAAE,MADI;AAEVC,MAAAA,KAAK,EAAE,WAFG;AAGVC,MAAAA,UAAU,EAAE;AAHF,KANJ;AAWPL,IAAAA,WAAW,EAAE;AACZG,MAAAA,IAAI,EAAE,MADM;AAEZC,MAAAA,KAAK,EAAE;AAFK;AAXN;AAJyB,CAAZ,CAAtB;;IAyBqBG,c;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,gBAAD,EAAmB,UAAnB,C;0GACG,8B;;;;;;;mGAE3B,iBAAqBU,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,YADT,yBACSA,YADT,EACuBI,SADvB,yBACuBA,SADvB,EACkCN,WADlC,yBACkCA,WADlC;AAAA;AAAA,uBAIsB,KAAKU,YAAL,EAJtB;;AAAA;AAIOC,gBAAAA,MAJP;AAAA;AAAA,uBAKuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;AAChEC,kBAAAA,OAAO,EAAE;AACRC,oBAAAA,IAAI,EAAEZ,YADE;AAERa,oBAAAA,IAAI,EAAET,SAFE;AAGRN,oBAAAA,WAAW,EAAXA;AAHQ;AADuD,iBAA3C,CALvB;;AAAA;AAKOgB,gBAAAA,OALP;AAAA;AAAA,wCAcoBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAdpB,EAcUG,KAdV,yBAcUA,KAdV;AAgBQC,gBAAAA,YAhBR,GAgBuBC,yBAAyB,CAACF,KAAD,CAhBhD;AAkBE,qBAAKG,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCJ,KAAxC;AAlBF,iDAoBS;AACNC,kBAAAA,YAAY,EAAZA,YADM;AAENI,kBAAAA,KAAK,EAAE,CACN,2BADM,EAEN,2CAFM,EAGN,oDAHM,CAFD;AAONC,kBAAAA,IAAI,EAAE;AACLN,oBAAAA,KAAK,EAALA;AADK;AAPA,iBApBT;;AAAA;AAAA;AAAA;AAAA,iDAgCS;AACNK,kBAAAA,KAAK,EAAE,sEADD;AAINE,kBAAAA,MAAM,EAAE;AAJF,iBAhCT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL2CC,2B;;;;AA+CrC,SAASN,yBAAT,CAAmCF,KAAnC,EAA2D;AACjE,SAAO,iBACGA,KAAK,CAACL,IADT,mBAEGK,KAAK,CAACJ,IAFT,iBAGCI,KAAK,CAACpB,EAHP,sBAIMoB,KAAK,CAACS,MAJZ,EAAP;AAMA","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce skill
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"names":["optionsSchema","id","description","fields","nameReadable","type","label","isRequired","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,qBAD6B;AAEjCC,EAAAA,WAAW,EACV,oFAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,YAAY,EAAE;AACbC,MAAAA,IAAI,EAAE,MADO;AAEbC,MAAAA,KAAK,8BAFQ;AAGbC,MAAAA,UAAU,EAAE;AAHC,KADP;AAMPC,IAAAA,SAAS,EAAE;AACVH,MAAAA,IAAI,EAAE,MADI;AAEVC,MAAAA,KAAK,EAAE,WAFG;AAGVC,MAAAA,UAAU,EAAE;AAHF,KANJ;AAWPL,IAAAA,WAAW,EAAE;AACZG,MAAAA,IAAI,EAAE,MADM;AAEZC,MAAAA,KAAK,EAAE;AAFK;AAXN;AAJyB,CAAZ,CAAtB;;IAyBqBG,c;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,gBAAD,EAAmB,UAAnB,C;0GACG,8B;;;;;;;mGAE3B,iBAAqBU,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,YADT,yBACSA,YADT,EACuBI,SADvB,yBACuBA,SADvB,EACkCN,WADlC,yBACkCA,WADlC;AAAA;AAAA,uBAIsB,KAAKU,YAAL,EAJtB;;AAAA;AAIOC,gBAAAA,MAJP;AAAA;AAAA,uBAKuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;AAChEC,kBAAAA,OAAO,EAAE;AACRC,oBAAAA,IAAI,EAAEZ,YADE;AAERa,oBAAAA,IAAI,EAAET,SAFE;AAGRN,oBAAAA,WAAW,EAAXA;AAHQ;AADuD,iBAA3C,CALvB;;AAAA;AAKOgB,gBAAAA,OALP;AAAA;AAAA,wCAcoBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAdpB,EAcUG,KAdV,yBAcUA,KAdV;AAgBQC,gBAAAA,YAhBR,GAgBuBC,yBAAyB,CAACF,KAAD,CAhBhD;AAkBE,qBAAKG,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCJ,KAAxC;AAlBF,iDAoBS;AACNC,kBAAAA,YAAY,EAAZA,YADM;AAENI,kBAAAA,KAAK,EAAE,CACN,2BADM,EAEN,2CAFM,EAGN,oDAHM,CAFD;AAONC,kBAAAA,IAAI,EAAE;AACLN,oBAAAA,KAAK,EAALA;AADK;AAPA,iBApBT;;AAAA;AAAA;AAAA;AAAA,iDAgCS;AACNK,kBAAAA,KAAK,EAAE,sEADD;AAINE,kBAAAA,MAAM,EAAE;AAJF,iBAhCT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL2CC,2B;;;;AA+CrC,SAASN,yBAAT,CAAmCF,KAAnC,EAA2D;AACjE,SAAO,iBACGA,KAAK,CAACL,IADT,mBAEGK,KAAK,CAACJ,IAFT,iBAGCI,KAAK,CAACpB,EAHP,sBAIMoB,KAAK,CAACS,MAJZ,EAAP;AAMA","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Slug: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"file":"RegisterAction.js"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
]
|
|
19
19
|
},
|
|
20
20
|
"license": "MIT",
|
|
21
|
-
"version": "14.30.
|
|
21
|
+
"version": "14.30.11",
|
|
22
22
|
"bin": {
|
|
23
23
|
"spruce": "./build/index.js"
|
|
24
24
|
},
|
|
@@ -76,21 +76,21 @@
|
|
|
76
76
|
"@babel/plugin-proposal-decorators": "^7.16.7",
|
|
77
77
|
"@babel/runtime": "^7.16.7",
|
|
78
78
|
"@jest/reporters": "^27.4.6",
|
|
79
|
-
"@sprucelabs/error": "^5.0.
|
|
80
|
-
"@sprucelabs/heartwood-view-controllers": "^
|
|
81
|
-
"@sprucelabs/jest-json-reporter": "^6.0.
|
|
82
|
-
"@sprucelabs/mercury-client": "^20.0.
|
|
83
|
-
"@sprucelabs/mercury-event-emitter": "^20.0.
|
|
84
|
-
"@sprucelabs/mercury-types": "^26.2.
|
|
85
|
-
"@sprucelabs/schema": "^25.6.
|
|
86
|
-
"@sprucelabs/spruce-core-schemas": "^22.8.
|
|
87
|
-
"@sprucelabs/spruce-event-plugin": "^23.0.
|
|
88
|
-
"@sprucelabs/spruce-event-utils": "^17.1.
|
|
89
|
-
"@sprucelabs/spruce-skill-booter": "^23.0.
|
|
90
|
-
"@sprucelabs/spruce-skill-utils": "^23.0.
|
|
91
|
-
"@sprucelabs/spruce-templates": "^14.30.
|
|
92
|
-
"@typescript-eslint/eslint-plugin": "^5.10.
|
|
93
|
-
"@typescript-eslint/parser": "^5.10.
|
|
79
|
+
"@sprucelabs/error": "^5.0.382",
|
|
80
|
+
"@sprucelabs/heartwood-view-controllers": "^57.4.0",
|
|
81
|
+
"@sprucelabs/jest-json-reporter": "^6.0.313",
|
|
82
|
+
"@sprucelabs/mercury-client": "^20.0.21",
|
|
83
|
+
"@sprucelabs/mercury-event-emitter": "^20.0.21",
|
|
84
|
+
"@sprucelabs/mercury-types": "^26.2.98",
|
|
85
|
+
"@sprucelabs/schema": "^25.6.96",
|
|
86
|
+
"@sprucelabs/spruce-core-schemas": "^22.8.65",
|
|
87
|
+
"@sprucelabs/spruce-event-plugin": "^23.0.20",
|
|
88
|
+
"@sprucelabs/spruce-event-utils": "^17.1.568",
|
|
89
|
+
"@sprucelabs/spruce-skill-booter": "^23.0.20",
|
|
90
|
+
"@sprucelabs/spruce-skill-utils": "^23.0.25",
|
|
91
|
+
"@sprucelabs/spruce-templates": "^14.30.11",
|
|
92
|
+
"@typescript-eslint/eslint-plugin": "^5.10.1",
|
|
93
|
+
"@typescript-eslint/parser": "^5.10.1",
|
|
94
94
|
"cfonts": "^2.10.0",
|
|
95
95
|
"chalk": "^4.1.2",
|
|
96
96
|
"chokidar": "^3.5.3",
|
|
@@ -119,18 +119,18 @@
|
|
|
119
119
|
"uuid": "^8.3.2"
|
|
120
120
|
},
|
|
121
121
|
"devDependencies": {
|
|
122
|
-
"@sprucelabs/data-stores": "^7.2.
|
|
123
|
-
"@sprucelabs/jest-sheets-reporter": "^1.2.
|
|
124
|
-
"@sprucelabs/mercury-core-events": "^1.7.
|
|
125
|
-
"@sprucelabs/resolve-path-aliases": "^1.0.
|
|
126
|
-
"@sprucelabs/spruce-conversation-plugin": "^23.0.
|
|
127
|
-
"@sprucelabs/spruce-deploy-plugin": "^23.0.
|
|
128
|
-
"@sprucelabs/spruce-store-plugin": "^23.0.
|
|
129
|
-
"@sprucelabs/spruce-test-fixtures": "^23.0.
|
|
130
|
-
"@sprucelabs/test": "^7.7.
|
|
131
|
-
"@sprucelabs/test-utils": "^3.0.
|
|
122
|
+
"@sprucelabs/data-stores": "^7.2.236",
|
|
123
|
+
"@sprucelabs/jest-sheets-reporter": "^1.2.315",
|
|
124
|
+
"@sprucelabs/mercury-core-events": "^1.7.154",
|
|
125
|
+
"@sprucelabs/resolve-path-aliases": "^1.0.255",
|
|
126
|
+
"@sprucelabs/spruce-conversation-plugin": "^23.0.20",
|
|
127
|
+
"@sprucelabs/spruce-deploy-plugin": "^23.0.20",
|
|
128
|
+
"@sprucelabs/spruce-store-plugin": "^23.0.20",
|
|
129
|
+
"@sprucelabs/spruce-test-fixtures": "^23.0.20",
|
|
130
|
+
"@sprucelabs/test": "^7.7.276",
|
|
131
|
+
"@sprucelabs/test-utils": "^3.0.387",
|
|
132
132
|
"@types/blessed": "^0.1.19",
|
|
133
|
-
"@types/eslint": "^8.
|
|
133
|
+
"@types/eslint": "^8.4.1",
|
|
134
134
|
"@types/fs-extra": "^9.0.13",
|
|
135
135
|
"@types/inflection": "^1.13.0",
|
|
136
136
|
"@types/inquirer": "^8.1.3",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"@types/lodash": "^4.14.178",
|
|
139
139
|
"@types/md5": "^2.3.1",
|
|
140
140
|
"@types/mkdirp": "^1.0.2",
|
|
141
|
-
"@types/node": "^17.0.
|
|
141
|
+
"@types/node": "^17.0.12",
|
|
142
142
|
"@types/promise.allsettled": "^1.0.3",
|
|
143
143
|
"@types/ps-node": "^0.1.1",
|
|
144
144
|
"@types/rimraf": "^3.0.2",
|
|
@@ -151,9 +151,9 @@
|
|
|
151
151
|
"chokidar-cli": "^3.0.0",
|
|
152
152
|
"concurrently": "^7.0.0",
|
|
153
153
|
"conventional-changelog-sprucelabs": "^1.1.2",
|
|
154
|
-
"dotenv": "^14.
|
|
154
|
+
"dotenv": "^14.3.0",
|
|
155
155
|
"eslint": "^8.7.0",
|
|
156
|
-
"eslint-config-spruce": "^10.11.
|
|
156
|
+
"eslint-config-spruce": "^10.11.2",
|
|
157
157
|
"find-process": "^1.4.7",
|
|
158
158
|
"jest": "^27.4.7",
|
|
159
159
|
"jest-circus": "^27.4.6",
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"ts-node": "^10.4.0",
|
|
167
167
|
"tsc-watch": "^4.6.0",
|
|
168
168
|
"tsconfig-paths": "^3.12.0",
|
|
169
|
-
"typescript": "^4.5.
|
|
169
|
+
"typescript": "^4.5.5"
|
|
170
170
|
},
|
|
171
171
|
"testSkillCache": {
|
|
172
172
|
"everything": [
|
|
@@ -574,7 +574,7 @@
|
|
|
574
574
|
"canAlwaysSkipFiles": "I264",
|
|
575
575
|
"upgradingWritesExpectedFiles": "I289",
|
|
576
576
|
"globalEmitterEmitsSEquentally": "I328",
|
|
577
|
-
"skill
|
|
577
|
+
"login.skill asks for remote on IS TTY": "I338",
|
|
578
578
|
"syncsEventsForSkillsWeveAddedAsDependencies": "I347"
|
|
579
579
|
}
|
|
580
580
|
}
|
|
@@ -597,5 +597,5 @@
|
|
|
597
597
|
"ora"
|
|
598
598
|
]
|
|
599
599
|
},
|
|
600
|
-
"gitHead": "
|
|
600
|
+
"gitHead": "a01ab9d059d152df01792a4bef082cc3167abef5"
|
|
601
601
|
}
|
|
@@ -33,7 +33,7 @@ export default class SettingRemoteTest extends AbstractSkillTest {
|
|
|
33
33
|
@test('create.event asks for remote on IS TTY', 'event', 'create')
|
|
34
34
|
@test('sync.events asks for remote on IS TTY', 'event', 'sync')
|
|
35
35
|
@test('login asks for remote on IS TTY', 'person', 'login')
|
|
36
|
-
@test('skill
|
|
36
|
+
@test('login.skill asks for remote on IS TTY', 'skill', 'login')
|
|
37
37
|
protected static async shouldAskForRemoteBeforeEventActionIsInvokedIfTerminalSupportsIt(
|
|
38
38
|
feature: FeatureCode,
|
|
39
39
|
action: string
|
|
@@ -68,7 +68,7 @@ export default class RegisterAction extends AbstractAction<OptionsSchema> {
|
|
|
68
68
|
} catch (err) {
|
|
69
69
|
return {
|
|
70
70
|
hints: [
|
|
71
|
-
`If you've already registered your skill, try 'spruce skill
|
|
71
|
+
`If you've already registered your skill, try 'spruce login.skill'!`,
|
|
72
72
|
],
|
|
73
73
|
errors: [err],
|
|
74
74
|
}
|