@sprucelabs/spruce-cli 19.0.0 → 19.1.1

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.
Files changed (1014) hide show
  1. package/.DS_Store +0 -0
  2. package/.env +25 -0
  3. package/.eslintcache +1 -0
  4. package/CHANGELOG.md +6 -0
  5. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  45. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  46. package/build/.spruce/events/events.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  52. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -1
  53. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  54. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -1
  55. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -1
  56. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  57. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  70. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  71. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  72. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  73. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  74. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  75. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  76. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  77. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  78. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  79. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  80. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  81. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  82. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  83. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  84. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  85. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  112. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  113. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  114. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  115. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  116. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  117. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  118. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  119. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  120. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  121. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  122. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  123. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  124. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  125. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  126. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  127. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  128. package/build/.spruce/skill.types.js.map +1 -1
  129. package/build/GlobalEmitter.js.map +1 -1
  130. package/build/InFlightEntertainment.js.map +1 -1
  131. package/build/__tests__/behavioral/AddingADependency.test.js +130 -144
  132. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  133. package/build/__tests__/behavioral/BlockingCommands.test.js +59 -63
  134. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  135. package/build/__tests__/behavioral/BootingTheCli.test.d.ts +2 -1
  136. package/build/__tests__/behavioral/BootingTheCli.test.js +60 -22
  137. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  138. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +46 -52
  139. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  140. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +50 -56
  141. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  142. package/build/__tests__/behavioral/DeployingASkill.test.js +512 -548
  143. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  144. package/build/__tests__/behavioral/DeployingToSandbox.test.js +321 -351
  145. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  146. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +137 -153
  147. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  148. package/build/__tests__/behavioral/GettingCliVersion.test.js +31 -37
  149. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  150. package/build/__tests__/behavioral/ManagingDependencies.test.js +112 -122
  151. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +41 -45
  153. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  154. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +55 -59
  155. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  156. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +56 -64
  157. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  158. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +90 -104
  159. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  160. package/build/__tests__/behavioral/SettingRemote.test.js +64 -74
  161. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  162. package/build/__tests__/behavioral/SettingUpVscode.test.js +52 -56
  163. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  164. package/build/__tests__/behavioral/TestingAConversation.test.js +143 -157
  165. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  166. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +90 -100
  167. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  168. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +74 -78
  169. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +180 -190
  171. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  172. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +34 -38
  173. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  174. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +179 -201
  175. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  176. package/build/__tests__/behavioral/events/CreatingAListener.test.js +423 -459
  177. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  178. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +287 -315
  179. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  180. package/build/__tests__/behavioral/events/EventWriter.test.js +64 -66
  181. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  182. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +286 -316
  183. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  184. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +398 -420
  185. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  186. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +43 -49
  187. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  188. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +55 -59
  189. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  190. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +31 -35
  191. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  192. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +98 -104
  193. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  194. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +123 -135
  195. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  196. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +15 -17
  197. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  198. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +66 -72
  199. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  200. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +76 -82
  201. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  202. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +49 -55
  203. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  204. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +79 -85
  205. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  206. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +45 -49
  207. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  208. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +40 -46
  209. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  210. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +15 -19
  211. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  212. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +174 -198
  213. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  214. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +23 -27
  215. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  216. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +1 -0
  217. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +209 -208
  218. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  219. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +34 -40
  220. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  221. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -1
  222. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -1
  223. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -1
  224. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +153 -171
  225. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  226. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +40 -46
  227. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  228. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +102 -116
  229. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  230. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +227 -247
  231. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  232. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +27 -29
  233. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  234. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +38 -42
  235. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  236. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +65 -73
  237. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  238. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +100 -110
  239. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  240. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +25 -27
  241. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  242. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +425 -465
  243. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  244. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +49 -55
  245. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  246. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +435 -467
  247. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  248. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +19 -21
  249. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  250. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +9 -11
  251. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  252. package/build/__tests__/behavioral/skill/BootingASkill.test.js +61 -67
  253. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  254. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +37 -41
  255. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  256. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +183 -199
  257. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  258. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +153 -171
  259. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  260. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +37 -43
  261. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  262. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +96 -104
  263. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  264. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +168 -184
  265. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  266. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +169 -191
  267. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  268. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +105 -125
  269. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  270. package/build/__tests__/behavioral/tests/CreatingATest.test.js +208 -232
  271. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  272. package/build/__tests__/behavioral/tests/RunningTests.test.js +75 -79
  273. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  274. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +293 -355
  275. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  276. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +65 -75
  277. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  278. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +29 -33
  279. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  280. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +50 -54
  281. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  282. package/build/__tests__/behavioral/tests/TestingDataStores.test.js +87 -95
  283. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  284. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +57 -65
  285. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  286. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +146 -156
  287. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  288. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +79 -87
  289. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  290. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +282 -302
  291. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  292. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +183 -197
  293. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  294. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +214 -238
  295. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  296. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +118 -126
  297. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  298. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +138 -152
  299. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  300. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +61 -69
  301. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  302. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +90 -104
  303. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  304. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +194 -220
  305. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  306. package/build/__tests__/behavioral/views/CreatingATheme.test.js +83 -97
  307. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  308. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +64 -76
  309. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  310. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +102 -114
  311. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  312. package/build/__tests__/behavioral/views/SettingUpViews.test.js +33 -37
  313. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  314. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +94 -106
  315. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  316. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +32 -38
  317. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  318. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +302 -336
  319. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  320. package/build/__tests__/implementation/ActionExecuter.test.js +132 -136
  321. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  322. package/build/__tests__/implementation/ActionExecuter2.test.js +270 -286
  323. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  324. package/build/__tests__/implementation/ActionExecuter3.test.js +64 -72
  325. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  326. package/build/__tests__/implementation/ActionExecuter4.test.js +41 -47
  327. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  328. package/build/__tests__/implementation/ArgParser.test.js +13 -17
  329. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  330. package/build/__tests__/implementation/BuildService.test.js +25 -29
  331. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  332. package/build/__tests__/implementation/BulkImporting.test.js +116 -136
  333. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  334. package/build/__tests__/implementation/CachingImports.test.js +89 -99
  335. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  336. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  337. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +72 -90
  338. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  339. package/build/__tests__/implementation/DataStoreStore.test.js +127 -147
  340. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  341. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +46 -52
  342. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  343. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +27 -35
  344. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  345. package/build/__tests__/implementation/EventStore.test.js +371 -399
  346. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  347. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +21 -27
  348. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  349. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +155 -173
  350. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  351. package/build/__tests__/implementation/FeatureFixture.test.js +54 -62
  352. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  353. package/build/__tests__/implementation/FeatureInstaller.test.js +69 -77
  354. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  355. package/build/__tests__/implementation/FeaturesUtil.test.js +7 -9
  356. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  357. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +6 -8
  358. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  359. package/build/__tests__/implementation/GlobalEmitter.test.js +29 -33
  360. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  361. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  362. package/build/__tests__/implementation/JestJsonParser.test.js +9 -11
  363. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  364. package/build/__tests__/implementation/LintService.test.js +32 -36
  365. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  366. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  367. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +72 -80
  368. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  369. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +217 -243
  370. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  371. package/build/__tests__/implementation/OnboardingStore.test.js +19 -23
  372. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  373. package/build/__tests__/implementation/OrganizationStore.test.js +114 -124
  374. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  375. package/build/__tests__/implementation/ParentTestFinder.test.js +38 -44
  376. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  377. package/build/__tests__/implementation/PkgService.test.js +63 -75
  378. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  379. package/build/__tests__/implementation/SchemaStore.test.js +314 -346
  380. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  381. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +9 -11
  382. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  383. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +128 -142
  384. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  385. package/build/__tests__/implementation/ServiceFactory.test.js +8 -10
  386. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  387. package/build/__tests__/implementation/SettingUpANodeModule.test.js +59 -65
  388. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  389. package/build/__tests__/implementation/SkillStore.test.js +153 -169
  390. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  391. package/build/__tests__/implementation/StoreFeature.test.js +49 -53
  392. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  393. package/build/__tests__/implementation/TestReporter.test.js +31 -39
  394. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  395. package/build/__tests__/implementation/TestRunner.test.js +215 -233
  396. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  397. package/build/__tests__/implementation/ValueTypeMapping.test.js +24 -28
  398. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  399. package/build/__tests__/implementation/Widgets.test.js +34 -42
  400. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  401. package/build/__tests__/support/EventFaker.js +12 -14
  402. package/build/__tests__/support/EventFaker.js.map +1 -1
  403. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  404. package/build/__tests__/support/scripts/first.script.js +7 -9
  405. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  406. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  407. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  408. package/build/addons/filePrompt.addon.js.map +1 -1
  409. package/build/boot.d.ts +2 -0
  410. package/build/boot.js +162 -0
  411. package/build/boot.js.map +1 -0
  412. package/build/{cli.d.ts → cli/Cli.d.ts} +9 -33
  413. package/build/cli/Cli.js +528 -0
  414. package/build/cli/Cli.js.map +1 -0
  415. package/build/components/AbstractComponent.js.map +1 -1
  416. package/build/components/FormComponent.js +156 -160
  417. package/build/components/FormComponent.js.map +1 -1
  418. package/build/components/QuizComponent.js +124 -128
  419. package/build/components/QuizComponent.js.map +1 -1
  420. package/build/constants.js.map +1 -1
  421. package/build/errors/SpruceError.js +1 -1
  422. package/build/errors/SpruceError.js.map +1 -1
  423. package/build/errors/actionCancelled.builder.js.map +1 -1
  424. package/build/errors/bootError.builder.js.map +1 -1
  425. package/build/errors/buildFailed.builder.js.map +1 -1
  426. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  427. package/build/errors/commandAborted.builder.js.map +1 -1
  428. package/build/errors/commandBlocked.builder.js.map +1 -1
  429. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  430. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  431. package/build/errors/dependencyExists.builder.js.map +1 -1
  432. package/build/errors/deployFailed.builder.js.map +1 -1
  433. package/build/errors/directoryEmpty.builder.js.map +1 -1
  434. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  435. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  436. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  437. package/build/errors/failedToImport.builder.js.map +1 -1
  438. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  439. package/build/errors/fileExists.builder.js.map +1 -1
  440. package/build/errors/generic.builder.js.map +1 -1
  441. package/build/errors/invalidCommand.builder.js.map +1 -1
  442. package/build/errors/invalidEventContract.builder.js.map +1 -1
  443. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  444. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  445. package/build/errors/lintFailed.builder.js.map +1 -1
  446. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  447. package/build/errors/missingDependencies.builder.js.map +1 -1
  448. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  449. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  450. package/build/errors/notImplemented.builder.js.map +1 -1
  451. package/build/errors/notLoggedIn.builder.js.map +1 -1
  452. package/build/errors/schemaExists.builder.js.map +1 -1
  453. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  454. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  455. package/build/errors/skillNotFound.builder.js.map +1 -1
  456. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  457. package/build/errors/skillViewExists.builder.js.map +1 -1
  458. package/build/errors/storeExists.builder.js.map +1 -1
  459. package/build/errors/testFailed.builder.js.map +1 -1
  460. package/build/errors/themeExists.builder.js.map +1 -1
  461. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  462. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  463. package/build/features/AbstractAction.js +65 -71
  464. package/build/features/AbstractAction.js.map +1 -1
  465. package/build/features/AbstractFeature.js +54 -62
  466. package/build/features/AbstractFeature.js.map +1 -1
  467. package/build/features/ActionExecuter.js +206 -210
  468. package/build/features/ActionExecuter.js.map +1 -1
  469. package/build/features/ActionFactory.js.map +1 -1
  470. package/build/features/ActionQuestionAsker.js +304 -320
  471. package/build/features/ActionQuestionAsker.js.map +1 -1
  472. package/build/features/FeatureCommandAttacher.js +45 -49
  473. package/build/features/FeatureCommandAttacher.js.map +1 -1
  474. package/build/features/FeatureInstaller.js +353 -375
  475. package/build/features/FeatureInstaller.js.map +1 -1
  476. package/build/features/FeatureInstallerFactory.js.map +1 -1
  477. package/build/features/OverrideActionDecorator.js +13 -15
  478. package/build/features/OverrideActionDecorator.js.map +1 -1
  479. package/build/features/cache/CacheFeature.js +6 -8
  480. package/build/features/cache/CacheFeature.js.map +1 -1
  481. package/build/features/cache/actions/DisableAction.js +42 -44
  482. package/build/features/cache/actions/DisableAction.js.map +1 -1
  483. package/build/features/cache/actions/EnableAction.js +37 -39
  484. package/build/features/cache/actions/EnableAction.js.map +1 -1
  485. package/build/features/cache/constants.js.map +1 -1
  486. package/build/features/conversation/ConversationFeature.js +40 -46
  487. package/build/features/conversation/ConversationFeature.js.map +1 -1
  488. package/build/features/conversation/actions/CreateAction.js +16 -18
  489. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  490. package/build/features/conversation/actions/TestAction.js +96 -102
  491. package/build/features/conversation/actions/TestAction.js.map +1 -1
  492. package/build/features/conversation/stores/ConversationStore.js +19 -21
  493. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  494. package/build/features/conversation/writers/ConversationWriter.js +22 -24
  495. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  496. package/build/features/dependencies/DependencyFeature.js +6 -8
  497. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  498. package/build/features/dependencies/actions/AddAction.js +64 -66
  499. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  500. package/build/features/dependencies/actions/ManageAction.js +63 -65
  501. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  502. package/build/features/deploy/DeployFeature.js +12 -14
  503. package/build/features/deploy/DeployFeature.js.map +1 -1
  504. package/build/features/deploy/actions/HerokuAction.js +389 -409
  505. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  506. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  507. package/build/features/error/ErrorFeature.js +84 -92
  508. package/build/features/error/ErrorFeature.js.map +1 -1
  509. package/build/features/error/ParentTestFinder.js +22 -24
  510. package/build/features/error/ParentTestFinder.js.map +1 -1
  511. package/build/features/error/actions/CreateAction.js +24 -26
  512. package/build/features/error/actions/CreateAction.js.map +1 -1
  513. package/build/features/error/actions/SyncAction.js +85 -91
  514. package/build/features/error/actions/SyncAction.js.map +1 -1
  515. package/build/features/error/writers/ErrorWriter.js +130 -140
  516. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  517. package/build/features/event/EventFeature.js +153 -167
  518. package/build/features/event/EventFeature.js.map +1 -1
  519. package/build/features/event/actions/CreateAction.js +59 -61
  520. package/build/features/event/actions/CreateAction.js.map +1 -1
  521. package/build/features/event/actions/ListenAction.js +205 -219
  522. package/build/features/event/actions/ListenAction.js.map +1 -1
  523. package/build/features/event/actions/SetRemoteAction.js +11 -13
  524. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  525. package/build/features/event/actions/SyncAction.js +25 -27
  526. package/build/features/event/actions/SyncAction.js.map +1 -1
  527. package/build/features/event/actions/SyncListenersAction.js +23 -25
  528. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  529. package/build/features/event/builders/EventContractBuilder.js +136 -144
  530. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  531. package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -1
  532. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  533. package/build/features/event/services/EventSettingsService.js.map +1 -1
  534. package/build/features/event/services/RemoteService.js.map +1 -1
  535. package/build/features/event/stores/EventStore.js +246 -258
  536. package/build/features/event/stores/EventStore.js.map +1 -1
  537. package/build/features/event/stores/ListenerStore.js +26 -28
  538. package/build/features/event/stores/ListenerStore.js.map +1 -1
  539. package/build/features/event/writers/EventWriter.js +171 -183
  540. package/build/features/event/writers/EventWriter.js.map +1 -1
  541. package/build/features/eventContract/EventContractFeature.js +6 -8
  542. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  543. package/build/features/eventContract/actions/PullAction.js +58 -62
  544. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  545. package/build/features/feature.utilities.js.map +1 -1
  546. package/build/features/log/LogFeature.js.map +1 -1
  547. package/build/features/log/actions/CreateTransportAction.js +16 -18
  548. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  549. package/build/features/log/writers/LogWriter.js +23 -25
  550. package/build/features/log/writers/LogWriter.js.map +1 -1
  551. package/build/features/node/NodeFeature.js +110 -122
  552. package/build/features/node/NodeFeature.js.map +1 -1
  553. package/build/features/node/actions/CreateAction.js +9 -11
  554. package/build/features/node/actions/CreateAction.js.map +1 -1
  555. package/build/features/node/actions/UpdateDependenciesAction.js +140 -113
  556. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  557. package/build/features/node/actions/UpgradeAction.js +70 -76
  558. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  559. package/build/features/node/writers/NodeWriter.js +29 -31
  560. package/build/features/node/writers/NodeWriter.js.map +1 -1
  561. package/build/features/onboard/OnboardFeature.js +77 -87
  562. package/build/features/onboard/OnboardFeature.js.map +1 -1
  563. package/build/features/onboard/ScriptLoader.js +31 -33
  564. package/build/features/onboard/ScriptLoader.js.map +1 -1
  565. package/build/features/onboard/ScriptPlayer.js +80 -86
  566. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  567. package/build/features/onboard/actions/OnboardAction.js +36 -38
  568. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  569. package/build/features/onboard/scripts/onboarding.first.script.js +68 -80
  570. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  571. package/build/features/onboard/scripts/onboarding.immersive.script.js +24 -28
  572. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  573. package/build/features/onboard/scripts/onboarding.returning.script.js +42 -44
  574. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  575. package/build/features/onboard/scripts/onboarding.short.script.js +38 -48
  576. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  577. package/build/features/onboard/scripts/todo/todo.create.skill.script.js +9 -11
  578. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  579. package/build/features/onboard/scripts/todo/todo.test.script.js +7 -9
  580. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  581. package/build/features/onboard/scripts/wrongCommand.script.js +40 -42
  582. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  583. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  584. package/build/features/organization/OrganizationFeature.js.map +1 -1
  585. package/build/features/organization/actions/CreateAction.js +18 -20
  586. package/build/features/organization/actions/CreateAction.js.map +1 -1
  587. package/build/features/organization/actions/InstallAction.js +81 -83
  588. package/build/features/organization/actions/InstallAction.js.map +1 -1
  589. package/build/features/organization/stores/OrganizationStore.js +101 -111
  590. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  591. package/build/features/permission/PermissionFeature.js +73 -79
  592. package/build/features/permission/PermissionFeature.js.map +1 -1
  593. package/build/features/permission/actions/CreateAction.js +23 -25
  594. package/build/features/permission/actions/CreateAction.js.map +1 -1
  595. package/build/features/permission/actions/SyncAction.js +50 -54
  596. package/build/features/permission/actions/SyncAction.js.map +1 -1
  597. package/build/features/permission/stores/PermissionStore.js +100 -104
  598. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  599. package/build/features/permission/writers/PermissionWriter.js +57 -63
  600. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  601. package/build/features/person/PersonFeature.js.map +1 -1
  602. package/build/features/person/actions/LoginAction.js +69 -71
  603. package/build/features/person/actions/LoginAction.js.map +1 -1
  604. package/build/features/person/actions/LogoutAction.js +21 -23
  605. package/build/features/person/actions/LogoutAction.js.map +1 -1
  606. package/build/features/person/actions/WhoamiAction.js +24 -26
  607. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  608. package/build/features/polish/PolishFeature.js.map +1 -1
  609. package/build/features/polish/actions/SetupAction.js +23 -25
  610. package/build/features/polish/actions/SetupAction.js.map +1 -1
  611. package/build/features/polish/writers/PolishWriter.js +16 -18
  612. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  613. package/build/features/sandbox/SandboxFeature.js +20 -22
  614. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  615. package/build/features/sandbox/actions/SetupAction.js +42 -44
  616. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  617. package/build/features/sandbox/writers/SandboxWriter.js +9 -11
  618. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  619. package/build/features/schema/SchemaFeature.js +82 -90
  620. package/build/features/schema/SchemaFeature.js.map +1 -1
  621. package/build/features/schema/ValueTypeBuilder.js +26 -28
  622. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  623. package/build/features/schema/actions/CreateAction.js +48 -50
  624. package/build/features/schema/actions/CreateAction.js.map +1 -1
  625. package/build/features/schema/actions/SyncAction.js +260 -270
  626. package/build/features/schema/actions/SyncAction.js.map +1 -1
  627. package/build/features/schema/actions/SyncFieldsAction.js +42 -44
  628. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  629. package/build/features/schema/services/SchemaService.js +24 -26
  630. package/build/features/schema/services/SchemaService.js.map +1 -1
  631. package/build/features/schema/stores/SchemaStore.js +205 -219
  632. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  633. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  634. package/build/features/schema/utilities/schemaDisk.utility.js +15 -17
  635. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  636. package/build/features/schema/utilities/schemaGenerator.utility.js +40 -42
  637. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  638. package/build/features/schema/writers/SchemaWriter.js +173 -185
  639. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  640. package/build/features/skill/SkillFeature.js +99 -112
  641. package/build/features/skill/SkillFeature.js.map +1 -1
  642. package/build/features/skill/actions/BootAction.js +92 -96
  643. package/build/features/skill/actions/BootAction.js.map +1 -1
  644. package/build/features/skill/actions/CreateAction.js +9 -11
  645. package/build/features/skill/actions/CreateAction.js.map +1 -1
  646. package/build/features/skill/actions/DashboardAction.js +8 -10
  647. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  648. package/build/features/skill/actions/LoginAction.js +122 -124
  649. package/build/features/skill/actions/LoginAction.js.map +1 -1
  650. package/build/features/skill/actions/RebuildAction.js +33 -35
  651. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  652. package/build/features/skill/actions/RegisterAction.js +38 -40
  653. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  654. package/build/features/skill/stores/SkillStore.d.ts +2 -2
  655. package/build/features/skill/stores/SkillStore.js +198 -216
  656. package/build/features/skill/stores/SkillStore.js.map +1 -1
  657. package/build/features/skill/updaters/Updater.js +38 -40
  658. package/build/features/skill/updaters/Updater.js.map +1 -1
  659. package/build/features/skill/writers/SkillWriter.js +15 -17
  660. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  661. package/build/features/store/StoreFeature.js +50 -56
  662. package/build/features/store/StoreFeature.js.map +1 -1
  663. package/build/features/store/actions/CreateAction.js +29 -31
  664. package/build/features/store/actions/CreateAction.js.map +1 -1
  665. package/build/features/store/actions/SyncAction.js +35 -37
  666. package/build/features/store/actions/SyncAction.js.map +1 -1
  667. package/build/features/store/stores/StoreStore.js +39 -41
  668. package/build/features/store/stores/StoreStore.js.map +1 -1
  669. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -1
  670. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  671. package/build/features/store/writers/StoreWriter.js +65 -73
  672. package/build/features/store/writers/StoreWriter.js.map +1 -1
  673. package/build/features/test/TestFeature.js +98 -102
  674. package/build/features/test/TestFeature.js.map +1 -1
  675. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  676. package/build/features/test/TestReporter.d.ts +19 -19
  677. package/build/features/test/TestReporter.js +74 -82
  678. package/build/features/test/TestReporter.js.map +1 -1
  679. package/build/features/test/TestRunner.js +82 -88
  680. package/build/features/test/TestRunner.js.map +1 -1
  681. package/build/features/test/actions/CreateAction.js +145 -153
  682. package/build/features/test/actions/CreateAction.js.map +1 -1
  683. package/build/features/test/actions/SetupAction.js +37 -39
  684. package/build/features/test/actions/SetupAction.js.map +1 -1
  685. package/build/features/test/actions/TestAction.js +203 -213
  686. package/build/features/test/actions/TestAction.js.map +1 -1
  687. package/build/features/test/test.types.d.ts +1 -1
  688. package/build/features/test/test.types.js.map +1 -1
  689. package/build/features/test/writers/TestWriter.js +17 -19
  690. package/build/features/test/writers/TestWriter.js.map +1 -1
  691. package/build/features/universalDevDependencies.js.map +1 -1
  692. package/build/features/universalFileDescriptions.js.map +1 -1
  693. package/build/features/universalScripts.js.map +1 -1
  694. package/build/features/validateAndNormalize.utility.js.map +1 -1
  695. package/build/features/view/ViewFeature.js +52 -58
  696. package/build/features/view/ViewFeature.js.map +1 -1
  697. package/build/features/view/actions/CreateAction.js +64 -66
  698. package/build/features/view/actions/CreateAction.js.map +1 -1
  699. package/build/features/view/actions/CreateThemeAction.js +35 -37
  700. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  701. package/build/features/view/actions/SyncAction.js +61 -63
  702. package/build/features/view/actions/SyncAction.js.map +1 -1
  703. package/build/features/view/actions/WatchAction.d.ts +1 -0
  704. package/build/features/view/actions/WatchAction.js +26 -27
  705. package/build/features/view/actions/WatchAction.js.map +1 -1
  706. package/build/features/view/stores/ViewStore.js +35 -37
  707. package/build/features/view/stores/ViewStore.js.map +1 -1
  708. package/build/features/view/writers/ViewWriter.js +47 -51
  709. package/build/features/view/writers/ViewWriter.js.map +1 -1
  710. package/build/features/vscode/VsCodeFeature.js +18 -20
  711. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  712. package/build/features/vscode/actions/SetupAction.js +173 -183
  713. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  714. package/build/features/vscode/services/VsCodeService.js +63 -69
  715. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  716. package/build/features/vscode/writers/VsCodeWriter.js +12 -14
  717. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  718. package/build/features/watch/WatchFeature.js +77 -88
  719. package/build/features/watch/WatchFeature.js.map +1 -1
  720. package/build/index.js +2 -2
  721. package/build/index.js.map +1 -1
  722. package/build/interfaces/SpyInterface.d.ts +1 -0
  723. package/build/interfaces/SpyInterface.js +139 -148
  724. package/build/interfaces/SpyInterface.js.map +1 -1
  725. package/build/interfaces/TerminalInterface.d.ts +1 -0
  726. package/build/interfaces/TerminalInterface.js +196 -207
  727. package/build/interfaces/TerminalInterface.js.map +1 -1
  728. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -1
  729. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  730. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  731. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  732. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  733. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  734. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  735. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -1
  736. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  737. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  738. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  739. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  740. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  741. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  742. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  743. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  744. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  745. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  746. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  747. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  748. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  749. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  750. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  751. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  752. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  753. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  754. package/build/services/BuildService.js +16 -18
  755. package/build/services/BuildService.js.map +1 -1
  756. package/build/services/CommandService.js +107 -109
  757. package/build/services/CommandService.js.map +1 -1
  758. package/build/services/DependencyService.js.map +1 -1
  759. package/build/services/GameService.js +49 -51
  760. package/build/services/GameService.js.map +1 -1
  761. package/build/services/ImportService.js +186 -194
  762. package/build/services/ImportService.js.map +1 -1
  763. package/build/services/LintService.js +81 -83
  764. package/build/services/LintService.js.map +1 -1
  765. package/build/services/PkgService.js +85 -89
  766. package/build/services/PkgService.js.map +1 -1
  767. package/build/services/ServiceFactory.js.map +1 -1
  768. package/build/services/TypeCheckerService.js +7 -9
  769. package/build/services/TypeCheckerService.js.map +1 -1
  770. package/build/stores/AbstractLocalStore.js.map +1 -1
  771. package/build/stores/AbstractStore.js +6 -8
  772. package/build/stores/AbstractStore.js.map +1 -1
  773. package/build/stores/StoreFactory.js.map +1 -1
  774. package/build/templateItemBuilders/EventTemplateItemBuilder.js +1 -1
  775. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  776. package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -1
  777. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  778. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +1 -1
  779. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  780. package/build/tests/AbstractCliTest.d.ts +2 -3
  781. package/build/tests/AbstractCliTest.js +236 -266
  782. package/build/tests/AbstractCliTest.js.map +1 -1
  783. package/build/tests/AbstractErrorTest.d.ts +1 -1
  784. package/build/tests/AbstractErrorTest.js +19 -21
  785. package/build/tests/AbstractErrorTest.js.map +1 -1
  786. package/build/tests/AbstractEventTest.d.ts +3 -3
  787. package/build/tests/AbstractEventTest.js +89 -97
  788. package/build/tests/AbstractEventTest.js.map +1 -1
  789. package/build/tests/AbstractSchemaTest.d.ts +3 -3
  790. package/build/tests/AbstractSchemaTest.js +92 -98
  791. package/build/tests/AbstractSchemaTest.js.map +1 -1
  792. package/build/tests/AbstractSkillTest.d.ts +1 -1
  793. package/build/tests/AbstractSkillTest.js +40 -46
  794. package/build/tests/AbstractSkillTest.js.map +1 -1
  795. package/build/tests/AbstractTestTest.d.ts +1 -1
  796. package/build/tests/AbstractTestTest.js +14 -16
  797. package/build/tests/AbstractTestTest.js.map +1 -1
  798. package/build/tests/CommandFaker.js.map +1 -1
  799. package/build/tests/JestJsonParser.js +5 -2
  800. package/build/tests/JestJsonParser.js.map +1 -1
  801. package/build/tests/MockProgramFactory.js +11 -15
  802. package/build/tests/MockProgramFactory.js.map +1 -1
  803. package/build/tests/buildTestCache.js +223 -243
  804. package/build/tests/buildTestCache.js.map +1 -1
  805. package/build/tests/cleanTestCache.js.map +1 -1
  806. package/build/tests/cleanTestData.js +70 -72
  807. package/build/tests/cleanTestData.js.map +1 -1
  808. package/build/tests/constants.js.map +1 -1
  809. package/build/tests/fixtures/FeatureFixture.d.ts +15 -16
  810. package/build/tests/fixtures/FeatureFixture.js +142 -154
  811. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  812. package/build/tests/fixtures/MercuryFixture.js +9 -11
  813. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  814. package/build/tests/fixtures/OrganizationFixture.js +62 -68
  815. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  816. package/build/tests/fixtures/PersonFixture.js +69 -73
  817. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  818. package/build/tests/fixtures/SkillFixture.js +123 -137
  819. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  820. package/build/tests/fixtures/ViewFixture.js +13 -15
  821. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  822. package/build/tests/utilities/test.utility.js.map +1 -1
  823. package/build/tests/utilities/uiAssert.utility.js +31 -35
  824. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  825. package/build/types/cli.types.d.ts +26 -0
  826. package/build/types/cli.types.js.map +1 -1
  827. package/build/types/graphicsInterface.types.js.map +1 -1
  828. package/build/updaters/ScriptUpdater.js +78 -80
  829. package/build/updaters/ScriptUpdater.js.map +1 -1
  830. package/build/utilities/action.utility.js.map +1 -1
  831. package/build/utilities/apiClient.utility.js.map +1 -1
  832. package/build/utilities/argParser.utility.js +1 -1
  833. package/build/utilities/argParser.utility.js.map +1 -1
  834. package/build/utilities/commander.utility.js.map +1 -1
  835. package/build/utilities/duration.utility.js.map +1 -1
  836. package/build/utilities/eventContractCleaner.utility.js +1 -1
  837. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  838. package/build/utilities/form.utility.js.map +1 -1
  839. package/build/utilities/introspection.utility.js +3 -3
  840. package/build/utilities/introspection.utility.js.map +1 -1
  841. package/build/utilities/isCi.js.map +1 -1
  842. package/build/utilities/tsConfig.utility.js.map +1 -1
  843. package/build/utilities/ui.utility.js.map +1 -1
  844. package/build/widgets/Theme.js.map +1 -1
  845. package/build/widgets/WidgetFactory.js.map +1 -1
  846. package/build/widgets/keySelectChoices.js.map +1 -1
  847. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  848. package/build/widgets/terminalKit/TkBaseWidget.js +8 -10
  849. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  850. package/build/widgets/terminalKit/TkInputWidget.js +16 -20
  851. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  852. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  853. package/build/widgets/terminalKit/TkLayoutWidget.js +6 -8
  854. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  855. package/build/widgets/terminalKit/TkMenuBarWidget.js +1 -1
  856. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  857. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  858. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  859. package/build/widgets/terminalKit/TkTextWidget.js +13 -15
  860. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  861. package/build/widgets/terminalKit/TkWindowWidget.js +39 -45
  862. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  863. package/build/widgets/terminalKit/termKit.utility.js +1 -1
  864. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  865. package/build/widgets/types/button.types.js.map +1 -1
  866. package/build/widgets/types/factory.types.js.map +1 -1
  867. package/build/widgets/types/input.types.js.map +1 -1
  868. package/build/widgets/types/menuBar.types.js.map +1 -1
  869. package/build/widgets/types/popup.types.js.map +1 -1
  870. package/build/widgets/types/text.types.js.map +1 -1
  871. package/build/widgets/types/window.types.js.map +1 -1
  872. package/build/widgets/widget.utilities.js.map +1 -1
  873. package/build/writers/AbstractWriter.js +160 -166
  874. package/build/writers/AbstractWriter.js.map +1 -1
  875. package/build/writers/WriterFactory.js.map +1 -1
  876. package/junit.xml +7 -0
  877. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  878. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +1 -1
  879. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
  880. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +1 -1
  881. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  882. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
  883. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +1 -3
  884. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
  885. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +2 -2
  886. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  887. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  888. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +62 -7
  889. package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +6 -2
  890. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +62 -7
  891. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  892. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  893. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +6 -2
  894. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  895. package/node_modules/@typescript-eslint/types/package.json +4 -4
  896. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/clear-caches.d.ts +10 -0
  897. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/describeFilePath.d.ts +2 -0
  898. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +7 -1
  899. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/index.d.ts +2 -2
  900. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/ExpiringCache.d.ts +17 -0
  901. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/createParseSettings.d.ts +1 -0
  902. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  903. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +6 -1
  904. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/resolveProjectList.d.ts +19 -0
  905. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +22 -3
  906. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts +10 -0
  907. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts.map +1 -0
  908. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js +24 -0
  909. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js.map +1 -0
  910. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js +1 -1
  911. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js.map +1 -1
  912. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  913. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +38 -12
  914. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  915. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
  916. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +5 -10
  917. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
  918. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts +2 -0
  919. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts.map +1 -0
  920. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js +32 -0
  921. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js.map +1 -0
  922. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +1 -1
  923. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js +2 -15
  924. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +1 -1
  925. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +7 -1
  926. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  927. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +15 -1
  928. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
  929. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js +1 -1
  930. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js.map +1 -1
  931. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +2 -2
  932. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
  933. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +2 -4
  934. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
  935. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts +17 -0
  936. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map +1 -0
  937. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js +62 -0
  938. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js.map +1 -0
  939. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts +1 -0
  940. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +1 -1
  941. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +22 -48
  942. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js.map +1 -1
  943. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  944. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map +1 -0
  945. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +70 -0
  946. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map +1 -0
  947. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +6 -1
  948. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
  949. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts +19 -0
  950. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map +1 -0
  951. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js +103 -0
  952. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js.map +1 -0
  953. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
  954. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +22 -3
  955. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  956. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js +1 -1
  957. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js.map +1 -1
  958. package/node_modules/@typescript-eslint/typescript-estree/package.json +4 -5
  959. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  960. package/package.json +592 -597
  961. package/src/.DS_Store +0 -0
  962. package/src/__tests__/behavioral/BootingTheCli.test.ts +32 -2
  963. package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
  964. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
  965. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -2
  966. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +11 -0
  967. package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
  968. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
  969. package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -2
  970. package/src/__tests__/implementation/TestRunner.test.ts +1 -1
  971. package/src/boot.ts +92 -0
  972. package/src/{cli.ts → cli/Cli.ts} +48 -150
  973. package/src/features/AbstractFeature.ts +1 -1
  974. package/src/features/FeatureInstaller.ts +3 -3
  975. package/src/features/error/ParentTestFinder.ts +1 -1
  976. package/src/features/event/builders/EventContractBuilder.ts +1 -1
  977. package/src/features/event/stores/EventStore.ts +4 -2
  978. package/src/features/event/stores/ListenerStore.ts +1 -1
  979. package/src/features/onboard/ScriptLoader.ts +1 -1
  980. package/src/features/permission/PermissionFeature.ts +3 -1
  981. package/src/features/permission/stores/PermissionStore.ts +1 -1
  982. package/src/features/schema/stores/SchemaStore.ts +1 -1
  983. package/src/features/schema/utilities/schemaGenerator.utility.ts +1 -1
  984. package/src/features/skill/SkillFeature.ts +1 -1
  985. package/src/features/store/stores/StoreStore.ts +1 -1
  986. package/src/features/test/TestReporter.ts +25 -25
  987. package/src/features/test/test.types.ts +8 -1
  988. package/src/features/view/actions/SyncAction.ts +1 -1
  989. package/src/features/view/actions/WatchAction.ts +8 -3
  990. package/src/index.ts +1 -1
  991. package/src/interfaces/SpyInterface.ts +2 -0
  992. package/src/interfaces/TerminalInterface.ts +5 -1
  993. package/src/tests/AbstractCliTest.ts +2 -3
  994. package/src/tests/AbstractSchemaTest.ts +1 -1
  995. package/src/tests/AbstractSkillTest.ts +1 -1
  996. package/src/tests/JestJsonParser.ts +4 -1
  997. package/src/tests/fixtures/FeatureFixture.ts +24 -20
  998. package/src/tests/fixtures/MercuryFixture.ts +1 -1
  999. package/src/types/cli.types.ts +30 -0
  1000. package/yarn-error.log +12174 -0
  1001. package/LICENSE +0 -21
  1002. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.d.ts +0 -17
  1003. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js +0 -137
  1004. package/build/__tests__/behavioral/events/EverythingInstalledInstaller.js.map +0 -1
  1005. package/build/cli.js +0 -690
  1006. package/build/cli.js.map +0 -1
  1007. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/gitignore.js +0 -120
  1008. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.d.ts +0 -186
  1009. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/index.js +0 -181
  1010. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/license +0 -9
  1011. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/package.json +0 -82
  1012. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/readme.md +0 -170
  1013. package/node_modules/@typescript-eslint/typescript-estree/node_modules/globby/stream-utils.js +0 -46
  1014. package/src/__tests__/behavioral/events/EverythingInstalledInstaller.ts +0 -46
@@ -47,209 +47,207 @@ var ActionExecuter = /*#__PURE__*/function () {
47
47
  var _errors$length, _yield$asker$installO, _ref, _yield$asker$askAbout, _yield$asker$askAbout2, _ref2;
48
48
  var featureCode, actionCode, action, originalExecute, actionOptions, installer, isInstalled, willExecuteResults, _eventResponseUtil$ge, willExecutePayloads, errors, feature, asker, response, installOptions, answers, _yield$asker$installO2, ourFeatureResults, executeResults, didExecuteResults, _eventResponseUtil$ge2, payloads, didExecuteErrors;
49
49
  return _regenerator["default"].wrap(function _callee$(_context) {
50
- while (1) {
51
- switch (_context.prev = _context.next) {
52
- case 0:
53
- featureCode = options.featureCode, actionCode = options.actionCode, action = options.action, originalExecute = options.originalExecute, actionOptions = options.options;
54
- installer = this.getFeatureInstaller();
55
- _context.next = 4;
56
- return installer.isInstalled(featureCode);
57
- case 4:
58
- isInstalled = _context.sent;
59
- if (!(!isInstalled && !this.shouldAutoHandleDependencies)) {
60
- _context.next = 7;
61
- break;
62
- }
63
- throw new _SpruceError["default"]({
64
- code: 'FEATURE_NOT_INSTALLED',
65
- featureCode: featureCode,
66
- friendlyMessage: "You need to install the `".concat(featureCode, "` feature.")
67
- });
68
- case 7:
69
- _context.next = 9;
70
- return this.emitter.emit('feature.will-execute', {
71
- featureCode: featureCode,
72
- actionCode: actionCode,
73
- options: actionOptions
74
- });
75
- case 9:
76
- willExecuteResults = _context.sent;
77
- _eventResponseUtil$ge = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(willExecuteResults, _SpruceError["default"]), willExecutePayloads = _eventResponseUtil$ge.payloads, errors = _eventResponseUtil$ge.errors;
78
- if (!((_errors$length = errors === null || errors === void 0 ? void 0 : errors.length) !== null && _errors$length !== void 0 ? _errors$length : 0 > 0)) {
79
- _context.next = 15;
80
- break;
81
- }
82
- if (!this.shouldThrowOnListenerError) {
83
- _context.next = 14;
84
- break;
85
- }
86
- throw errors[0];
87
- case 14:
88
- return _context.abrupt("return", {
89
- errors: errors
90
- });
91
- case 15:
92
- _action["default"].assertNoErrorsInResponse(willExecuteResults);
93
- feature = installer.getFeature(featureCode);
94
- asker = new _ActionQuestionAsker["default"]({
95
- featureInstaller: installer,
96
- feature: feature,
97
- actionCode: actionCode,
98
- shouldAutoHandleDependencies: this.shouldAutoHandleDependencies,
99
- ui: this.ui
100
- });
101
- _context.next = 20;
102
- return asker.installOrMarkAsSkippedMissingDependencies();
103
- case 20:
104
- _context.t1 = _yield$asker$installO = _context.sent;
105
- _context.t0 = _context.t1 !== null;
106
- if (!_context.t0) {
107
- _context.next = 24;
108
- break;
109
- }
110
- _context.t0 = _yield$asker$installO !== void 0;
111
- case 24:
112
- if (!_context.t0) {
113
- _context.next = 28;
114
- break;
115
- }
116
- _context.t2 = _yield$asker$installO;
117
- _context.next = 29;
50
+ while (1) switch (_context.prev = _context.next) {
51
+ case 0:
52
+ featureCode = options.featureCode, actionCode = options.actionCode, action = options.action, originalExecute = options.originalExecute, actionOptions = options.options;
53
+ installer = this.getFeatureInstaller();
54
+ _context.next = 4;
55
+ return installer.isInstalled(featureCode);
56
+ case 4:
57
+ isInstalled = _context.sent;
58
+ if (!(!isInstalled && !this.shouldAutoHandleDependencies)) {
59
+ _context.next = 7;
118
60
  break;
119
- case 28:
120
- _context.t2 = {};
121
- case 29:
122
- response = _context.t2;
123
- _context.next = 32;
124
- return asker.askAboutMissingFeatureOptionsIfFeatureIsNotInstalled(isInstalled, actionOptions);
125
- case 32:
126
- _context.t5 = _yield$asker$askAbout = _context.sent;
127
- _context.t4 = _context.t5 !== null;
128
- if (!_context.t4) {
129
- _context.next = 36;
130
- break;
131
- }
132
- _context.t4 = _yield$asker$askAbout !== void 0;
133
- case 36:
134
- if (!_context.t4) {
135
- _context.next = 40;
136
- break;
137
- }
138
- _context.t6 = _yield$asker$askAbout;
139
- _context.next = 41;
61
+ }
62
+ throw new _SpruceError["default"]({
63
+ code: 'FEATURE_NOT_INSTALLED',
64
+ featureCode: featureCode,
65
+ friendlyMessage: "You need to install the `".concat(featureCode, "` feature.")
66
+ });
67
+ case 7:
68
+ _context.next = 9;
69
+ return this.emitter.emit('feature.will-execute', {
70
+ featureCode: featureCode,
71
+ actionCode: actionCode,
72
+ options: actionOptions
73
+ });
74
+ case 9:
75
+ willExecuteResults = _context.sent;
76
+ _eventResponseUtil$ge = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(willExecuteResults, _SpruceError["default"]), willExecutePayloads = _eventResponseUtil$ge.payloads, errors = _eventResponseUtil$ge.errors;
77
+ if (!((_errors$length = errors === null || errors === void 0 ? void 0 : errors.length) !== null && _errors$length !== void 0 ? _errors$length : 0 > 0)) {
78
+ _context.next = 15;
140
79
  break;
141
- case 40:
142
- _context.t6 = actionOptions;
143
- case 41:
144
- _context.t7 = _ref = _context.t6;
145
- _context.t3 = _context.t7 !== null;
146
- if (!_context.t3) {
147
- _context.next = 45;
148
- break;
149
- }
150
- _context.t3 = _ref !== void 0;
151
- case 45:
152
- if (!_context.t3) {
153
- _context.next = 49;
154
- break;
155
- }
156
- _context.t8 = _ref;
157
- _context.next = 50;
80
+ }
81
+ if (!this.shouldThrowOnListenerError) {
82
+ _context.next = 14;
158
83
  break;
159
- case 49:
160
- _context.t8 = {};
161
- case 50:
162
- installOptions = _context.t8;
163
- _context.next = 53;
164
- return asker.askAboutMissingActionOptions(action, installOptions);
165
- case 53:
166
- _context.t10 = _yield$asker$askAbout2 = _context.sent;
167
- _context.t9 = _context.t10 !== null;
168
- if (!_context.t9) {
169
- _context.next = 57;
170
- break;
171
- }
172
- _context.t9 = _yield$asker$askAbout2 !== void 0;
173
- case 57:
174
- if (!_context.t9) {
175
- _context.next = 61;
176
- break;
177
- }
178
- _context.t11 = _yield$asker$askAbout2;
179
- _context.next = 62;
84
+ }
85
+ throw errors[0];
86
+ case 14:
87
+ return _context.abrupt("return", {
88
+ errors: errors
89
+ });
90
+ case 15:
91
+ _action["default"].assertNoErrorsInResponse(willExecuteResults);
92
+ feature = installer.getFeature(featureCode);
93
+ asker = new _ActionQuestionAsker["default"]({
94
+ featureInstaller: installer,
95
+ feature: feature,
96
+ actionCode: actionCode,
97
+ shouldAutoHandleDependencies: this.shouldAutoHandleDependencies,
98
+ ui: this.ui
99
+ });
100
+ _context.next = 20;
101
+ return asker.installOrMarkAsSkippedMissingDependencies();
102
+ case 20:
103
+ _context.t1 = _yield$asker$installO = _context.sent;
104
+ _context.t0 = _context.t1 !== null;
105
+ if (!_context.t0) {
106
+ _context.next = 24;
180
107
  break;
181
- case 61:
182
- _context.t11 = installOptions;
183
- case 62:
184
- answers = _context.t11;
185
- if (isInstalled) {
186
- _context.next = 77;
187
- break;
188
- }
189
- _context.next = 66;
190
- return asker.installOurFeature(installOptions);
191
- case 66:
192
- _context.t13 = _yield$asker$installO2 = _context.sent;
193
- _context.t12 = _context.t13 !== null;
194
- if (!_context.t12) {
195
- _context.next = 70;
196
- break;
197
- }
198
- _context.t12 = _yield$asker$installO2 !== void 0;
199
- case 70:
200
- if (!_context.t12) {
201
- _context.next = 74;
202
- break;
203
- }
204
- _context.t14 = _yield$asker$installO2;
205
- _context.next = 75;
108
+ }
109
+ _context.t0 = _yield$asker$installO !== void 0;
110
+ case 24:
111
+ if (!_context.t0) {
112
+ _context.next = 28;
206
113
  break;
207
- case 74:
208
- _context.t14 = {};
209
- case 75:
210
- ourFeatureResults = _context.t14;
211
- response = (0, _merge["default"])(response, ourFeatureResults);
212
- case 77:
213
- executeResults = {};
214
- _context.prev = 78;
215
- _context.next = 81;
216
- return originalExecute(_objectSpread({}, answers));
217
- case 81:
218
- executeResults = _context.sent;
219
- _context.next = 87;
114
+ }
115
+ _context.t2 = _yield$asker$installO;
116
+ _context.next = 29;
117
+ break;
118
+ case 28:
119
+ _context.t2 = {};
120
+ case 29:
121
+ response = _context.t2;
122
+ _context.next = 32;
123
+ return asker.askAboutMissingFeatureOptionsIfFeatureIsNotInstalled(isInstalled, actionOptions);
124
+ case 32:
125
+ _context.t5 = _yield$asker$askAbout = _context.sent;
126
+ _context.t4 = _context.t5 !== null;
127
+ if (!_context.t4) {
128
+ _context.next = 36;
220
129
  break;
221
- case 84:
222
- _context.prev = 84;
223
- _context.t15 = _context["catch"](78);
224
- executeResults.errors = [_context.t15];
225
- case 87:
226
- response = (0, _merge["default"])(response, executeResults);
227
- _context.next = 90;
228
- return this.emitter.emit('feature.did-execute', {
229
- results: response,
230
- featureCode: featureCode,
231
- actionCode: actionCode
130
+ }
131
+ _context.t4 = _yield$asker$askAbout !== void 0;
132
+ case 36:
133
+ if (!_context.t4) {
134
+ _context.next = 40;
135
+ break;
136
+ }
137
+ _context.t6 = _yield$asker$askAbout;
138
+ _context.next = 41;
139
+ break;
140
+ case 40:
141
+ _context.t6 = actionOptions;
142
+ case 41:
143
+ _context.t7 = _ref = _context.t6;
144
+ _context.t3 = _context.t7 !== null;
145
+ if (!_context.t3) {
146
+ _context.next = 45;
147
+ break;
148
+ }
149
+ _context.t3 = _ref !== void 0;
150
+ case 45:
151
+ if (!_context.t3) {
152
+ _context.next = 49;
153
+ break;
154
+ }
155
+ _context.t8 = _ref;
156
+ _context.next = 50;
157
+ break;
158
+ case 49:
159
+ _context.t8 = {};
160
+ case 50:
161
+ installOptions = _context.t8;
162
+ _context.next = 53;
163
+ return asker.askAboutMissingActionOptions(action, installOptions);
164
+ case 53:
165
+ _context.t10 = _yield$asker$askAbout2 = _context.sent;
166
+ _context.t9 = _context.t10 !== null;
167
+ if (!_context.t9) {
168
+ _context.next = 57;
169
+ break;
170
+ }
171
+ _context.t9 = _yield$asker$askAbout2 !== void 0;
172
+ case 57:
173
+ if (!_context.t9) {
174
+ _context.next = 61;
175
+ break;
176
+ }
177
+ _context.t11 = _yield$asker$askAbout2;
178
+ _context.next = 62;
179
+ break;
180
+ case 61:
181
+ _context.t11 = installOptions;
182
+ case 62:
183
+ answers = _context.t11;
184
+ if (isInstalled) {
185
+ _context.next = 77;
186
+ break;
187
+ }
188
+ _context.next = 66;
189
+ return asker.installOurFeature(installOptions);
190
+ case 66:
191
+ _context.t13 = _yield$asker$installO2 = _context.sent;
192
+ _context.t12 = _context.t13 !== null;
193
+ if (!_context.t12) {
194
+ _context.next = 70;
195
+ break;
196
+ }
197
+ _context.t12 = _yield$asker$installO2 !== void 0;
198
+ case 70:
199
+ if (!_context.t12) {
200
+ _context.next = 74;
201
+ break;
202
+ }
203
+ _context.t14 = _yield$asker$installO2;
204
+ _context.next = 75;
205
+ break;
206
+ case 74:
207
+ _context.t14 = {};
208
+ case 75:
209
+ ourFeatureResults = _context.t14;
210
+ response = (0, _merge["default"])(response, ourFeatureResults);
211
+ case 77:
212
+ executeResults = {};
213
+ _context.prev = 78;
214
+ _context.next = 81;
215
+ return originalExecute(_objectSpread({}, answers));
216
+ case 81:
217
+ executeResults = _context.sent;
218
+ _context.next = 87;
219
+ break;
220
+ case 84:
221
+ _context.prev = 84;
222
+ _context.t15 = _context["catch"](78);
223
+ executeResults.errors = [_context.t15];
224
+ case 87:
225
+ response = (0, _merge["default"])(response, executeResults);
226
+ _context.next = 90;
227
+ return this.emitter.emit('feature.did-execute', {
228
+ results: response,
229
+ featureCode: featureCode,
230
+ actionCode: actionCode
231
+ });
232
+ case 90:
233
+ didExecuteResults = _context.sent;
234
+ _eventResponseUtil$ge2 = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(didExecuteResults, _SpruceError["default"]), payloads = _eventResponseUtil$ge2.payloads, didExecuteErrors = _eventResponseUtil$ge2.errors;
235
+ if (!((_ref2 = this.shouldThrowOnListenerError && (didExecuteErrors === null || didExecuteErrors === void 0 ? void 0 : didExecuteErrors.length)) !== null && _ref2 !== void 0 ? _ref2 : 0 > 0)) {
236
+ _context.next = 94;
237
+ break;
238
+ }
239
+ throw didExecuteErrors[0];
240
+ case 94:
241
+ response = _action["default"].mergeActionResults.apply(_action["default"], [response].concat((0, _toConsumableArray2["default"])(willExecutePayloads), (0, _toConsumableArray2["default"])(payloads)));
242
+ if (didExecuteErrors) {
243
+ response = _action["default"].mergeActionResults(response, {
244
+ errors: didExecuteErrors
232
245
  });
233
- case 90:
234
- didExecuteResults = _context.sent;
235
- _eventResponseUtil$ge2 = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(didExecuteResults, _SpruceError["default"]), payloads = _eventResponseUtil$ge2.payloads, didExecuteErrors = _eventResponseUtil$ge2.errors;
236
- if (!((_ref2 = this.shouldThrowOnListenerError && (didExecuteErrors === null || didExecuteErrors === void 0 ? void 0 : didExecuteErrors.length)) !== null && _ref2 !== void 0 ? _ref2 : 0 > 0)) {
237
- _context.next = 94;
238
- break;
239
- }
240
- throw didExecuteErrors[0];
241
- case 94:
242
- response = _action["default"].mergeActionResults.apply(_action["default"], [response].concat((0, _toConsumableArray2["default"])(willExecutePayloads), (0, _toConsumableArray2["default"])(payloads)));
243
- if (didExecuteErrors) {
244
- response = _action["default"].mergeActionResults(response, {
245
- errors: didExecuteErrors
246
- });
247
- }
248
- return _context.abrupt("return", response);
249
- case 97:
250
- case "end":
251
- return _context.stop();
252
- }
246
+ }
247
+ return _context.abrupt("return", response);
248
+ case 97:
249
+ case "end":
250
+ return _context.stop();
253
251
  }
254
252
  }, _callee, this, [[78, 84]]);
255
253
  }));
@@ -273,20 +271,18 @@ var ActionExecuter = /*#__PURE__*/function () {
273
271
  action.execute = /*#__PURE__*/function () {
274
272
  var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(options) {
275
273
  return _regenerator["default"].wrap(function _callee2$(_context2) {
276
- while (1) {
277
- switch (_context2.prev = _context2.next) {
278
- case 0:
279
- return _context2.abrupt("return", _this.execute({
280
- featureCode: featureCode,
281
- actionCode: actionCode,
282
- action: action,
283
- originalExecute: originalExecute,
284
- options: options
285
- }));
286
- case 1:
287
- case "end":
288
- return _context2.stop();
289
- }
274
+ while (1) switch (_context2.prev = _context2.next) {
275
+ case 0:
276
+ return _context2.abrupt("return", _this.execute({
277
+ featureCode: featureCode,
278
+ actionCode: actionCode,
279
+ action: action,
280
+ originalExecute: originalExecute,
281
+ options: options
282
+ }));
283
+ case 1:
284
+ case "end":
285
+ return _context2.stop();
290
286
  }
291
287
  }, _callee2);
292
288
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"ActionExecuter.js","names":["ActionExecuter","options","featureInstallerFactory","emitter","ui","actions","actionFactory","shouldAutoHandleDependencies","shouldThrowOnListenerError","featureCode","actionCode","action","originalExecute","actionOptions","installer","getFeatureInstaller","isInstalled","SpruceError","code","friendlyMessage","emit","willExecuteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","willExecutePayloads","payloads","errors","length","actionUtil","assertNoErrorsInResponse","feature","getFeature","asker","ActionOptionAsker","featureInstaller","installOrMarkAsSkippedMissingDependencies","response","askAboutMissingFeatureOptionsIfFeatureIsNotInstalled","installOptions","askAboutMissingActionOptions","answers","installOurFeature","ourFeatureResults","merge","executeResults","results","didExecuteResults","didExecuteErrors","mergeActionResults","Action","actionExecuter","execute","bind"],"sources":["../../src/features/ActionExecuter.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport { GraphicsInterface } from '../types/cli.types'\nimport actionUtil from '../utilities/action.utility'\nimport ActionFactory from './ActionFactory'\nimport ActionOptionAsker from './ActionQuestionAsker'\nimport FeatureInstaller from './FeatureInstaller'\nimport {\n\tFeatureCode,\n\tFeatureInstallResponse,\n\tFeatureAction,\n\tFeatureActionResponse,\n} from './features.types'\n\nexport default class ActionExecuter {\n\tprivate emitter: GlobalEmitter\n\tprivate ui: GraphicsInterface\n\tprivate actions: ActionFactory\n\tprivate featureInstallerFactory: () => FeatureInstaller\n\tprivate shouldAutoHandleDependencies: boolean\n\tprivate shouldThrowOnListenerError: boolean\n\n\tpublic constructor(options: ActionExecuterOptions) {\n\t\tthis.featureInstallerFactory = options.featureInstallerFactory\n\t\tthis.emitter = options.emitter\n\t\tthis.ui = options.ui\n\t\tthis.actions = options.actionFactory\n\t\tthis.shouldAutoHandleDependencies =\n\t\t\toptions.shouldAutoHandleDependencies ?? true\n\n\t\tthis.shouldThrowOnListenerError = !!options.shouldThrowOnListenerError\n\t}\n\n\tprivate getFeatureInstaller() {\n\t\treturn this.featureInstallerFactory()\n\t}\n\n\tprivate async execute(options: {\n\t\tfeatureCode: FeatureCode\n\t\tactionCode: string\n\t\taction: any\n\t\toriginalExecute: any\n\t\toptions?: Record<string, any>\n\t}): Promise<FeatureInstallResponse & FeatureActionResponse> {\n\t\tconst {\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t\taction,\n\t\t\toriginalExecute,\n\t\t\toptions: actionOptions,\n\t\t} = options\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled(featureCode)\n\n\t\tif (!isInstalled && !this.shouldAutoHandleDependencies) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FEATURE_NOT_INSTALLED',\n\t\t\t\tfeatureCode,\n\t\t\t\tfriendlyMessage: `You need to install the \\`${featureCode}\\` feature.`,\n\t\t\t})\n\t\t}\n\n\t\tconst willExecuteResults = await this.emitter.emit('feature.will-execute', {\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t\toptions: actionOptions,\n\t\t})\n\n\t\tconst { payloads: willExecutePayloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\twillExecuteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors?.length ?? 0 > 0) {\n\t\t\tif (this.shouldThrowOnListenerError) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tthrow errors[0]\n\t\t\t}\n\t\t\treturn { errors }\n\t\t}\n\n\t\tactionUtil.assertNoErrorsInResponse(willExecuteResults)\n\n\t\tconst feature = installer.getFeature(featureCode)\n\n\t\tconst asker = new ActionOptionAsker({\n\t\t\tfeatureInstaller: installer,\n\t\t\tfeature,\n\t\t\tactionCode,\n\t\t\tshouldAutoHandleDependencies: this.shouldAutoHandleDependencies,\n\t\t\tui: this.ui,\n\t\t})\n\n\t\tlet response =\n\t\t\t(await asker.installOrMarkAsSkippedMissingDependencies()) ?? {}\n\n\t\tconst installOptions =\n\t\t\t(await asker.askAboutMissingFeatureOptionsIfFeatureIsNotInstalled(\n\t\t\t\tisInstalled,\n\t\t\t\tactionOptions\n\t\t\t)) ??\n\t\t\tactionOptions ??\n\t\t\t{}\n\n\t\tlet answers =\n\t\t\t(await asker.askAboutMissingActionOptions(action, installOptions)) ??\n\t\t\tinstallOptions\n\n\t\tif (!isInstalled) {\n\t\t\tconst ourFeatureResults =\n\t\t\t\t(await asker.installOurFeature(installOptions)) ?? {}\n\t\t\tresponse = merge(response, ourFeatureResults)\n\t\t}\n\n\t\tlet executeResults: FeatureActionResponse = {}\n\n\t\ttry {\n\t\t\texecuteResults = await originalExecute({\n\t\t\t\t...answers,\n\t\t\t})\n\t\t} catch (err: any) {\n\t\t\texecuteResults.errors = [err]\n\t\t}\n\n\t\tresponse = merge(response, executeResults)\n\n\t\tconst didExecuteResults = await this.emitter.emit('feature.did-execute', {\n\t\t\tresults: response,\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t})\n\n\t\tconst { payloads, errors: didExecuteErrors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tdidExecuteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (\n\t\t\t(this.shouldThrowOnListenerError && didExecuteErrors?.length) ??\n\t\t\t0 > 0\n\t\t) {\n\t\t\t//@ts-ignore\n\t\t\tthrow didExecuteErrors[0]\n\t\t}\n\n\t\tresponse = actionUtil.mergeActionResults(\n\t\t\tresponse,\n\t\t\t...willExecutePayloads,\n\t\t\t...payloads\n\t\t)\n\n\t\tif (didExecuteErrors) {\n\t\t\tresponse = actionUtil.mergeActionResults(response, {\n\t\t\t\terrors: didExecuteErrors,\n\t\t\t})\n\t\t}\n\n\t\treturn response\n\t}\n\n\tpublic Action<F extends FeatureCode>(\n\t\tfeatureCode: F,\n\t\tactionCode: string\n\t): FeatureAction {\n\t\tconst featureInstaller = this.getFeatureInstaller()\n\n\t\tconst action = this.actions.Action({\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t\tactionExecuter: this,\n\t\t\tfeatureInstaller,\n\t\t})\n\n\t\tconst originalExecute = action.execute.bind(action)\n\n\t\taction.execute = async (options: any) => {\n\t\t\treturn this.execute({\n\t\t\t\tfeatureCode,\n\t\t\t\tactionCode,\n\t\t\t\taction,\n\t\t\t\toriginalExecute,\n\t\t\t\toptions,\n\t\t\t})\n\t\t}\n\n\t\treturn action as any\n\t}\n}\n\nexport interface ActionExecuterOptions {\n\tui: GraphicsInterface\n\temitter: GlobalEmitter\n\tactionFactory: ActionFactory\n\tfeatureInstallerFactory: () => FeatureInstaller\n\tshouldAutoHandleDependencies?: boolean\n\tshouldThrowOnListenerError?: boolean\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionExecuter.js","names":["_spruceEventUtils","require","_merge","_interopRequireDefault","_SpruceError","_action","_ActionQuestionAsker","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","ActionExecuter","options","_options$shouldAutoHa","_classCallCheck2","featureInstallerFactory","emitter","ui","actions","actionFactory","shouldAutoHandleDependencies","shouldThrowOnListenerError","_createClass2","value","getFeatureInstaller","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_errors$length","_yield$asker$installO","_ref","_yield$asker$askAbout","_yield$asker$askAbout2","_ref2","featureCode","actionCode","action","originalExecute","actionOptions","installer","isInstalled","willExecuteResults","_eventResponseUtil$ge","willExecutePayloads","errors","feature","asker","response","installOptions","answers","_yield$asker$installO2","ourFeatureResults","executeResults","didExecuteResults","_eventResponseUtil$ge2","payloads","didExecuteErrors","wrap","_callee$","_context","prev","next","sent","SpruceError","code","friendlyMessage","concat","emit","eventResponseUtil","getAllResponsePayloadsAndErrors","abrupt","actionUtil","assertNoErrorsInResponse","getFeature","ActionOptionAsker","featureInstaller","installOrMarkAsSkippedMissingDependencies","t1","t0","t2","askAboutMissingFeatureOptionsIfFeatureIsNotInstalled","t5","t4","t6","t7","t3","t8","askAboutMissingActionOptions","t10","t9","t11","installOurFeature","t13","t12","t14","merge","t15","results","mergeActionResults","_toConsumableArray2","stop","execute","_x","Action","_this","actionExecuter","bind","_ref3","_callee2","_callee2$","_context2","_x2","exports"],"sources":["../../src/features/ActionExecuter.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport merge from 'lodash/merge'\nimport SpruceError from '../errors/SpruceError'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport { GraphicsInterface } from '../types/cli.types'\nimport actionUtil from '../utilities/action.utility'\nimport ActionFactory from './ActionFactory'\nimport ActionOptionAsker from './ActionQuestionAsker'\nimport FeatureInstaller from './FeatureInstaller'\nimport {\n\tFeatureCode,\n\tFeatureInstallResponse,\n\tFeatureAction,\n\tFeatureActionResponse,\n} from './features.types'\n\nexport default class ActionExecuter {\n\tprivate emitter: GlobalEmitter\n\tprivate ui: GraphicsInterface\n\tprivate actions: ActionFactory\n\tprivate featureInstallerFactory: () => FeatureInstaller\n\tprivate shouldAutoHandleDependencies: boolean\n\tprivate shouldThrowOnListenerError: boolean\n\n\tpublic constructor(options: ActionExecuterOptions) {\n\t\tthis.featureInstallerFactory = options.featureInstallerFactory\n\t\tthis.emitter = options.emitter\n\t\tthis.ui = options.ui\n\t\tthis.actions = options.actionFactory\n\t\tthis.shouldAutoHandleDependencies =\n\t\t\toptions.shouldAutoHandleDependencies ?? true\n\n\t\tthis.shouldThrowOnListenerError = !!options.shouldThrowOnListenerError\n\t}\n\n\tprivate getFeatureInstaller() {\n\t\treturn this.featureInstallerFactory()\n\t}\n\n\tprivate async execute(options: {\n\t\tfeatureCode: FeatureCode\n\t\tactionCode: string\n\t\taction: any\n\t\toriginalExecute: any\n\t\toptions?: Record<string, any>\n\t}): Promise<FeatureInstallResponse & FeatureActionResponse> {\n\t\tconst {\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t\taction,\n\t\t\toriginalExecute,\n\t\t\toptions: actionOptions,\n\t\t} = options\n\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled(featureCode)\n\n\t\tif (!isInstalled && !this.shouldAutoHandleDependencies) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FEATURE_NOT_INSTALLED',\n\t\t\t\tfeatureCode,\n\t\t\t\tfriendlyMessage: `You need to install the \\`${featureCode}\\` feature.`,\n\t\t\t})\n\t\t}\n\n\t\tconst willExecuteResults = await this.emitter.emit('feature.will-execute', {\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t\toptions: actionOptions,\n\t\t})\n\n\t\tconst { payloads: willExecutePayloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\twillExecuteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors?.length ?? 0 > 0) {\n\t\t\tif (this.shouldThrowOnListenerError) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tthrow errors[0]\n\t\t\t}\n\t\t\treturn { errors }\n\t\t}\n\n\t\tactionUtil.assertNoErrorsInResponse(willExecuteResults)\n\n\t\tconst feature = installer.getFeature(featureCode)\n\n\t\tconst asker = new ActionOptionAsker({\n\t\t\tfeatureInstaller: installer,\n\t\t\tfeature,\n\t\t\tactionCode,\n\t\t\tshouldAutoHandleDependencies: this.shouldAutoHandleDependencies,\n\t\t\tui: this.ui,\n\t\t})\n\n\t\tlet response =\n\t\t\t(await asker.installOrMarkAsSkippedMissingDependencies()) ?? {}\n\n\t\tconst installOptions =\n\t\t\t(await asker.askAboutMissingFeatureOptionsIfFeatureIsNotInstalled(\n\t\t\t\tisInstalled,\n\t\t\t\tactionOptions\n\t\t\t)) ??\n\t\t\tactionOptions ??\n\t\t\t{}\n\n\t\tlet answers =\n\t\t\t(await asker.askAboutMissingActionOptions(action, installOptions)) ??\n\t\t\tinstallOptions\n\n\t\tif (!isInstalled) {\n\t\t\tconst ourFeatureResults =\n\t\t\t\t(await asker.installOurFeature(installOptions)) ?? {}\n\t\t\tresponse = merge(response, ourFeatureResults)\n\t\t}\n\n\t\tlet executeResults: FeatureActionResponse = {}\n\n\t\ttry {\n\t\t\texecuteResults = await originalExecute({\n\t\t\t\t...answers,\n\t\t\t})\n\t\t} catch (err: any) {\n\t\t\texecuteResults.errors = [err]\n\t\t}\n\n\t\tresponse = merge(response, executeResults)\n\n\t\tconst didExecuteResults = await this.emitter.emit('feature.did-execute', {\n\t\t\tresults: response,\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t})\n\n\t\tconst { payloads, errors: didExecuteErrors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tdidExecuteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (\n\t\t\t(this.shouldThrowOnListenerError && didExecuteErrors?.length) ??\n\t\t\t0 > 0\n\t\t) {\n\t\t\t//@ts-ignore\n\t\t\tthrow didExecuteErrors[0]\n\t\t}\n\n\t\tresponse = actionUtil.mergeActionResults(\n\t\t\tresponse,\n\t\t\t...willExecutePayloads,\n\t\t\t...payloads\n\t\t)\n\n\t\tif (didExecuteErrors) {\n\t\t\tresponse = actionUtil.mergeActionResults(response, {\n\t\t\t\terrors: didExecuteErrors,\n\t\t\t})\n\t\t}\n\n\t\treturn response\n\t}\n\n\tpublic Action<F extends FeatureCode>(\n\t\tfeatureCode: F,\n\t\tactionCode: string\n\t): FeatureAction {\n\t\tconst featureInstaller = this.getFeatureInstaller()\n\n\t\tconst action = this.actions.Action({\n\t\t\tfeatureCode,\n\t\t\tactionCode,\n\t\t\tactionExecuter: this,\n\t\t\tfeatureInstaller,\n\t\t})\n\n\t\tconst originalExecute = action.execute.bind(action)\n\n\t\taction.execute = async (options: any) => {\n\t\t\treturn this.execute({\n\t\t\t\tfeatureCode,\n\t\t\t\tactionCode,\n\t\t\t\taction,\n\t\t\t\toriginalExecute,\n\t\t\t\toptions,\n\t\t\t})\n\t\t}\n\n\t\treturn action as any\n\t}\n}\n\nexport interface ActionExecuterOptions {\n\tui: GraphicsInterface\n\temitter: GlobalEmitter\n\tactionFactory: ActionFactory\n\tfeatureInstallerFactory: () => FeatureInstaller\n\tshouldAutoHandleDependencies?: boolean\n\tshouldThrowOnListenerError?: boolean\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionFactory.js","names":["ActionFactory","options","blockedCommands","optionOverrides","actionOptions","featureCode","actionCode","actionExecuter","featureInstaller","feature","getFeature","actionsDir","Error","Class","originalError","key","overrideKey","overrides","classPath","diskUtil","resolvePath","namesUtil","toPascal","require","err","SpruceError","code","friendlyMessage","action","parent","execute","actionDecorator","OverrideActionDecorator","ui","ExecuteTrackingAction"],"sources":["../../src/features/ActionFactory.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\nimport {\n\tFeatureAction,\n\tActionOptions,\n\tFeatureCode,\n} from '../features/features.types'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport { BlockedCommands, OptionOverrides } from '../types/cli.types'\nimport AbstractAction from './AbstractAction'\nimport ActionExecuter from './ActionExecuter'\nimport FeatureInstaller from './FeatureInstaller'\nimport OverrideActionDecorator from './OverrideActionDecorator'\n\nexport default class ActionFactory {\n\tprivate actionOptions: FeatureActionFactoryOptions\n\tprivate blockedCommands?: BlockedCommands\n\tprivate optionOverrides?: OptionOverrides\n\tprivate static overrides: Record<string, ActionConstructor> = {}\n\n\tpublic constructor(options: FeatureActionFactoryOptions) {\n\t\tconst { blockedCommands, optionOverrides, ...actionOptions } = options\n\t\tthis.actionOptions = actionOptions\n\t\tthis.blockedCommands = blockedCommands\n\t\tthis.optionOverrides = optionOverrides\n\t}\n\n\tpublic Action<F extends FeatureCode, S extends Schema = Schema>(options: {\n\t\tfeatureCode: F\n\t\tactionCode: string\n\t\tactionExecuter: ActionExecuter\n\t\tfeatureInstaller: FeatureInstaller\n\t}): FeatureAction<S> {\n\t\tconst { featureCode, actionCode, actionExecuter, featureInstaller } =\n\t\t\toptions\n\n\t\tconst feature = featureInstaller.getFeature(featureCode)\n\n\t\tif (!feature.actionsDir) {\n\t\t\tthrow new Error(\n\t\t\t\t`Your ${featureCode} features needs \\`public actionsDir = diskUtil.resolvePath(__dirname, 'actions')\\``\n\t\t\t)\n\t\t}\n\n\t\tlet Class: new (options: ActionOptions) => AbstractAction | undefined\n\t\tlet originalError: Error | undefined\n\n\t\tconst key = ActionFactory.overrideKey(featureCode, actionCode)\n\t\tif (ActionFactory.overrides[key]) {\n\t\t\tClass = ActionFactory.overrides[key]\n\t\t} else {\n\t\t\tconst classPath = diskUtil.resolvePath(\n\t\t\t\tfeature.actionsDir,\n\t\t\t\t`${namesUtil.toPascal(actionCode)}Action`\n\t\t\t)\n\t\t\ttry {\n\t\t\t\tClass = require(classPath).default\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (err: any) {\n\t\t\t\toriginalError = err\n\t\t\t}\n\t\t}\n\n\t\t//@ts-ignore\n\t\tif (!Class) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `I could not find any action named '${actionCode}' for the ${feature.code} feature. Make sure it's the default export and extends AbstractAction.`,\n\t\t\t\toriginalError,\n\t\t\t})\n\t\t}\n\n\t\tconst action = new Class({\n\t\t\t...this.actionOptions,\n\t\t\tactionExecuter,\n\t\t\tparent: feature,\n\t\t\tfeatureInstaller,\n\t\t})\n\n\t\tif (!action) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `I could not instantiate ${actionCode} action on ${feature.code} feature.`,\n\t\t\t})\n\t\t}\n\n\t\tif (!action.execute) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `It looks like the ${feature.code} feature's '${actionCode}' action does not properly extend AbstractAction.`,\n\t\t\t})\n\t\t}\n\n\t\tconst actionDecorator = new OverrideActionDecorator({\n\t\t\taction,\n\t\t\tfeature,\n\t\t\tblockedCommands: this.blockedCommands,\n\t\t\toptionOverrides: this.optionOverrides,\n\t\t\tui: this.actionOptions.ui,\n\t\t\tactionCode,\n\t\t})\n\n\t\treturn actionDecorator as FeatureAction<S>\n\t}\n\n\tpublic static setActionClass(\n\t\tfeatureCode: FeatureCode,\n\t\taction: string,\n\t\tExecuteTrackingAction: ActionConstructor\n\t) {\n\t\tthis.overrides[ActionFactory.overrideKey(featureCode, action)] =\n\t\t\tExecuteTrackingAction\n\t}\n\n\tprivate static overrideKey(featureCode: string, action: string) {\n\t\treturn `${featureCode}${action}`\n\t}\n\n\tpublic static clearActionOverrides() {\n\t\tthis.overrides = {}\n\t}\n}\n\nexport interface FeatureActionFactoryOptions\n\textends Omit<\n\t\tActionOptions,\n\t\t'parent' | 'actionExecuter' | 'featureInstaller'\n\t> {\n\temitter: GlobalEmitter\n\tblockedCommands?: BlockedCommands\n\toptionOverrides?: OptionOverrides\n}\n\ntype ActionConstructor = new (options: ActionOptions) => AbstractAction\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionFactory.js","names":["_spruceSkillUtils","require","_SpruceError","_interopRequireDefault","_OverrideActionDecorator","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","ActionFactory","options","_classCallCheck2","blockedCommands","optionOverrides","actionOptions","_objectWithoutProperties2","_createClass2","value","Action","featureCode","actionCode","actionExecuter","featureInstaller","feature","getFeature","actionsDir","Error","concat","Class","originalError","overrideKey","overrides","classPath","diskUtil","resolvePath","namesUtil","toPascal","err","SpruceError","code","friendlyMessage","action","parent","execute","actionDecorator","OverrideActionDecorator","ui","setActionClass","ExecuteTrackingAction","clearActionOverrides","exports"],"sources":["../../src/features/ActionFactory.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../errors/SpruceError'\nimport {\n\tFeatureAction,\n\tActionOptions,\n\tFeatureCode,\n} from '../features/features.types'\nimport { GlobalEmitter } from '../GlobalEmitter'\nimport { BlockedCommands, OptionOverrides } from '../types/cli.types'\nimport AbstractAction from './AbstractAction'\nimport ActionExecuter from './ActionExecuter'\nimport FeatureInstaller from './FeatureInstaller'\nimport OverrideActionDecorator from './OverrideActionDecorator'\n\nexport default class ActionFactory {\n\tprivate actionOptions: FeatureActionFactoryOptions\n\tprivate blockedCommands?: BlockedCommands\n\tprivate optionOverrides?: OptionOverrides\n\tprivate static overrides: Record<string, ActionConstructor> = {}\n\n\tpublic constructor(options: FeatureActionFactoryOptions) {\n\t\tconst { blockedCommands, optionOverrides, ...actionOptions } = options\n\t\tthis.actionOptions = actionOptions\n\t\tthis.blockedCommands = blockedCommands\n\t\tthis.optionOverrides = optionOverrides\n\t}\n\n\tpublic Action<F extends FeatureCode, S extends Schema = Schema>(options: {\n\t\tfeatureCode: F\n\t\tactionCode: string\n\t\tactionExecuter: ActionExecuter\n\t\tfeatureInstaller: FeatureInstaller\n\t}): FeatureAction<S> {\n\t\tconst { featureCode, actionCode, actionExecuter, featureInstaller } =\n\t\t\toptions\n\n\t\tconst feature = featureInstaller.getFeature(featureCode)\n\n\t\tif (!feature.actionsDir) {\n\t\t\tthrow new Error(\n\t\t\t\t`Your ${featureCode} features needs \\`public actionsDir = diskUtil.resolvePath(__dirname, 'actions')\\``\n\t\t\t)\n\t\t}\n\n\t\tlet Class: new (options: ActionOptions) => AbstractAction | undefined\n\t\tlet originalError: Error | undefined\n\n\t\tconst key = ActionFactory.overrideKey(featureCode, actionCode)\n\t\tif (ActionFactory.overrides[key]) {\n\t\t\tClass = ActionFactory.overrides[key]\n\t\t} else {\n\t\t\tconst classPath = diskUtil.resolvePath(\n\t\t\t\tfeature.actionsDir,\n\t\t\t\t`${namesUtil.toPascal(actionCode)}Action`\n\t\t\t)\n\t\t\ttry {\n\t\t\t\tClass = require(classPath).default\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (err: any) {\n\t\t\t\toriginalError = err\n\t\t\t}\n\t\t}\n\n\t\t//@ts-ignore\n\t\tif (!Class) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `I could not find any action named '${actionCode}' for the ${feature.code} feature. Make sure it's the default export and extends AbstractAction.`,\n\t\t\t\toriginalError,\n\t\t\t})\n\t\t}\n\n\t\tconst action = new Class({\n\t\t\t...this.actionOptions,\n\t\t\tactionExecuter,\n\t\t\tparent: feature,\n\t\t\tfeatureInstaller,\n\t\t})\n\n\t\tif (!action) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `I could not instantiate ${actionCode} action on ${feature.code} feature.`,\n\t\t\t})\n\t\t}\n\n\t\tif (!action.execute) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `It looks like the ${feature.code} feature's '${actionCode}' action does not properly extend AbstractAction.`,\n\t\t\t})\n\t\t}\n\n\t\tconst actionDecorator = new OverrideActionDecorator({\n\t\t\taction,\n\t\t\tfeature,\n\t\t\tblockedCommands: this.blockedCommands,\n\t\t\toptionOverrides: this.optionOverrides,\n\t\t\tui: this.actionOptions.ui,\n\t\t\tactionCode,\n\t\t})\n\n\t\treturn actionDecorator as FeatureAction<S>\n\t}\n\n\tpublic static setActionClass(\n\t\tfeatureCode: FeatureCode,\n\t\taction: string,\n\t\tExecuteTrackingAction: ActionConstructor\n\t) {\n\t\tthis.overrides[ActionFactory.overrideKey(featureCode, action)] =\n\t\t\tExecuteTrackingAction\n\t}\n\n\tprivate static overrideKey(featureCode: string, action: string) {\n\t\treturn `${featureCode}${action}`\n\t}\n\n\tpublic static clearActionOverrides() {\n\t\tthis.overrides = {}\n\t}\n}\n\nexport interface FeatureActionFactoryOptions\n\textends Omit<\n\t\tActionOptions,\n\t\t'parent' | 'actionExecuter' | 'featureInstaller'\n\t> {\n\temitter: GlobalEmitter\n\tblockedCommands?: BlockedCommands\n\toptionOverrides?: OptionOverrides\n}\n\ntype ActionConstructor = new (options: ActionOptions) => AbstractAction\n"],"mappings":"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"}