@sprucelabs/spruce-cli 15.2.23 → 15.4.0

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 (661) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js +3 -1
  116. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  119. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  121. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingASkill.test.js +20 -20
  123. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  124. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  125. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +12 -12
  126. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  127. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  128. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +3 -1
  129. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  130. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  131. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -2
  132. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  133. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  134. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RebuildingASkill.test.js +2 -2
  136. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  138. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +6 -4
  139. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  140. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
  141. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  142. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -1
  143. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  144. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  145. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  146. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  147. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +5 -3
  148. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  149. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  150. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  151. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  153. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  154. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  155. package/build/__tests__/behavioral/WatchingSkillViews.test.js +6 -6
  156. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  157. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  158. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  159. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  160. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  161. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  162. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +5 -0
  163. package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
  164. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  165. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -1
  166. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  167. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  168. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  169. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  171. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  172. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  173. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +1 -1
  174. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  175. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  176. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  177. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  178. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  179. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  180. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  181. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  182. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  183. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  184. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  185. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  186. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  187. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  188. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +1 -1
  190. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  191. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  192. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  193. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -2
  194. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  195. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  196. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  197. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  198. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -1
  199. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
  200. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  201. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  202. package/build/__tests__/behavioral/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
  203. package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
  204. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
  205. package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
  206. package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
  207. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
  208. package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
  209. package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
  210. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
  211. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
  212. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
  213. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
  214. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
  215. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
  216. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
  217. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
  218. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
  219. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -0
  220. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
  221. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
  222. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -0
  223. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
  224. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
  225. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -0
  226. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
  227. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
  228. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
  229. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
  230. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
  231. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
  232. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  233. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  234. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  235. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  236. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  237. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  238. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  239. package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
  240. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  241. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  242. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -2
  243. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  244. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  245. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  246. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  247. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  248. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  249. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  250. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  251. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  252. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  253. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  254. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  255. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  256. package/build/__tests__/implementation/EventStore.test.js +68 -35
  257. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  258. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  259. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  260. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  261. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  262. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  263. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  264. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  265. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  266. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  267. package/build/__tests__/implementation/LintService.test.js +2 -2
  268. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  269. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  270. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  271. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  272. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  273. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  274. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  275. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  276. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  277. package/build/__tests__/implementation/PkgService.test.js +2 -2
  278. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  279. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  280. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  281. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  282. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  283. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  284. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  285. package/build/__tests__/implementation/StoreFeature.test.js +2 -2
  286. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  287. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  288. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  289. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  290. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  291. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  292. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  293. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  294. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  295. package/build/addons/filePrompt.addon.js.map +1 -1
  296. package/build/cli.js +1 -1
  297. package/build/cli.js.map +1 -1
  298. package/build/components/AbstractComponent.js.map +1 -1
  299. package/build/components/FormComponent.js.map +1 -1
  300. package/build/components/QuizComponent.js.map +1 -1
  301. package/build/constants.js.map +1 -1
  302. package/build/errors/SpruceError.js.map +1 -1
  303. package/build/errors/actionCancelled.builder.js.map +1 -1
  304. package/build/errors/bootError.builder.js.map +1 -1
  305. package/build/errors/buildFailed.builder.js.map +1 -1
  306. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  307. package/build/errors/commandAborted.builder.js.map +1 -1
  308. package/build/errors/commandBlocked.builder.js.map +1 -1
  309. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  310. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  311. package/build/errors/dependencyExists.builder.js.map +1 -1
  312. package/build/errors/deployFailed.builder.js.map +1 -1
  313. package/build/errors/directoryEmpty.builder.js.map +1 -1
  314. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  315. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  316. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  317. package/build/errors/failedToImport.builder.js.map +1 -1
  318. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  319. package/build/errors/fileExists.builder.js.map +1 -1
  320. package/build/errors/generic.builder.js.map +1 -1
  321. package/build/errors/invalidCommand.builder.js.map +1 -1
  322. package/build/errors/invalidEventContract.builder.js.map +1 -1
  323. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  324. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  325. package/build/errors/lintFailed.builder.js.map +1 -1
  326. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  327. package/build/errors/missingDependencies.builder.js.map +1 -1
  328. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  329. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  330. package/build/errors/notImplemented.builder.js.map +1 -1
  331. package/build/errors/notLoggedIn.builder.js.map +1 -1
  332. package/build/errors/schemaExists.builder.js.map +1 -1
  333. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  334. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  335. package/build/errors/skillNotFound.builder.js.map +1 -1
  336. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  337. package/build/errors/skillViewExists.builder.js.map +1 -1
  338. package/build/errors/storeExists.builder.js.map +1 -1
  339. package/build/errors/testFailed.builder.js.map +1 -1
  340. package/build/errors/themeExists.builder.js.map +1 -1
  341. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  342. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  343. package/build/features/AbstractAction.js.map +1 -1
  344. package/build/features/AbstractFeature.js.map +1 -1
  345. package/build/features/ActionExecuter.js.map +1 -1
  346. package/build/features/ActionFactory.js.map +1 -1
  347. package/build/features/ActionQuestionAsker.js.map +1 -1
  348. package/build/features/FeatureCommandAttacher.js.map +1 -1
  349. package/build/features/FeatureInstaller.js.map +1 -1
  350. package/build/features/FeatureInstallerFactory.js.map +1 -1
  351. package/build/features/OverrideActionDecorator.js.map +1 -1
  352. package/build/features/cache/CacheFeature.js.map +1 -1
  353. package/build/features/cache/actions/DisableAction.js.map +1 -1
  354. package/build/features/cache/actions/EnableAction.js.map +1 -1
  355. package/build/features/cache/constants.js.map +1 -1
  356. package/build/features/conversation/ConversationFeature.js.map +1 -1
  357. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  358. package/build/features/conversation/actions/TestAction.js.map +1 -1
  359. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  360. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  361. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  362. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  363. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  364. package/build/features/deploy/DeployFeature.js.map +1 -1
  365. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  366. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  367. package/build/features/error/ErrorFeature.js.map +1 -1
  368. package/build/features/error/ParentTestFinder.js.map +1 -1
  369. package/build/features/error/actions/CreateAction.js.map +1 -1
  370. package/build/features/error/actions/SyncAction.js.map +1 -1
  371. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  372. package/build/features/event/EventFeature.d.ts +1 -0
  373. package/build/features/event/EventFeature.js +89 -56
  374. package/build/features/event/EventFeature.js.map +1 -1
  375. package/build/features/event/actions/CreateAction.js.map +1 -1
  376. package/build/features/event/actions/ListenAction.d.ts +1 -0
  377. package/build/features/event/actions/ListenAction.js +23 -31
  378. package/build/features/event/actions/ListenAction.js.map +1 -1
  379. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  380. package/build/features/event/actions/SyncAction.js.map +1 -1
  381. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  382. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  383. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  384. package/build/features/event/services/EventSettingsService.js.map +1 -1
  385. package/build/features/event/services/RemoteService.js.map +1 -1
  386. package/build/features/event/stores/EventStore.d.ts +7 -5
  387. package/build/features/event/stores/EventStore.js +16 -8
  388. package/build/features/event/stores/EventStore.js.map +1 -1
  389. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  390. package/build/features/event/stores/ListenerStore.js +6 -1
  391. package/build/features/event/stores/ListenerStore.js.map +1 -1
  392. package/build/features/event/writers/EventWriter.js.map +1 -1
  393. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  394. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  395. package/build/features/feature.utilities.js.map +1 -1
  396. package/build/features/features.types.js.map +1 -1
  397. package/build/features/log/LogFeature.js.map +1 -1
  398. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  399. package/build/features/log/writers/LogWriter.js.map +1 -1
  400. package/build/features/node/NodeFeature.js.map +1 -1
  401. package/build/features/node/actions/CreateAction.js.map +1 -1
  402. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  403. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  404. package/build/features/node/writers/NodeWriter.js.map +1 -1
  405. package/build/features/onboard/OnboardFeature.js.map +1 -1
  406. package/build/features/onboard/ScriptLoader.js.map +1 -1
  407. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  408. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  409. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  410. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  411. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  412. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  413. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  414. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  415. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  416. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  417. package/build/features/organization/OrganizationFeature.js.map +1 -1
  418. package/build/features/organization/actions/CreateAction.js.map +1 -1
  419. package/build/features/organization/actions/InstallAction.js.map +1 -1
  420. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  421. package/build/features/person/PersonFeature.js.map +1 -1
  422. package/build/features/person/actions/LoginAction.js.map +1 -1
  423. package/build/features/person/actions/LogoutAction.js.map +1 -1
  424. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  425. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  426. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  427. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  428. package/build/features/schema/SchemaFeature.js.map +1 -1
  429. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  430. package/build/features/schema/actions/CreateAction.js.map +1 -1
  431. package/build/features/schema/actions/SyncAction.js.map +1 -1
  432. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  433. package/build/features/schema/services/SchemaService.js.map +1 -1
  434. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  435. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  436. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  437. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  438. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  439. package/build/features/skill/SkillFeature.js.map +1 -1
  440. package/build/features/skill/actions/BootAction.js.map +1 -1
  441. package/build/features/skill/actions/CreateAction.js.map +1 -1
  442. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  443. package/build/features/skill/actions/LoginAction.js.map +1 -1
  444. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  445. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  446. package/build/features/skill/stores/SkillStore.js.map +1 -1
  447. package/build/features/skill/updaters/Updater.js.map +1 -1
  448. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  449. package/build/features/store/StoreFeature.d.ts +1 -1
  450. package/build/features/store/StoreFeature.js +15 -14
  451. package/build/features/store/StoreFeature.js.map +1 -1
  452. package/build/features/store/actions/CreateAction.js.map +1 -1
  453. package/build/features/store/actions/SyncAction.js.map +1 -1
  454. package/build/features/store/stores/StoreStore.d.ts +1 -0
  455. package/build/features/store/stores/StoreStore.js +6 -1
  456. package/build/features/store/stores/StoreStore.js.map +1 -1
  457. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  458. package/build/features/store/writers/StoreWriter.js.map +1 -1
  459. package/build/features/test/TestFeature.js.map +1 -1
  460. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  461. package/build/features/test/TestReporter.js.map +1 -1
  462. package/build/features/test/TestRunner.js.map +1 -1
  463. package/build/features/test/actions/CreateAction.js.map +1 -1
  464. package/build/features/test/actions/SetupAction.js.map +1 -1
  465. package/build/features/test/actions/TestAction.js.map +1 -1
  466. package/build/features/test/test.types.js.map +1 -1
  467. package/build/features/test/writers/TestWriter.js.map +1 -1
  468. package/build/features/universalDevDependencies.js.map +1 -1
  469. package/build/features/universalFileDescriptions.js.map +1 -1
  470. package/build/features/universalScripts.js.map +1 -1
  471. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  472. package/build/features/validateAndNormalize.utility.js +2 -2
  473. package/build/features/validateAndNormalize.utility.js.map +1 -1
  474. package/build/features/view/ViewFeature.js.map +1 -1
  475. package/build/features/view/actions/CreateAction.js.map +1 -1
  476. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  477. package/build/features/view/actions/SyncAction.js.map +1 -1
  478. package/build/features/view/actions/WatchAction.js.map +1 -1
  479. package/build/features/view/stores/ViewStore.js.map +1 -1
  480. package/build/features/view/writers/ViewWriter.js.map +1 -1
  481. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  482. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  483. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  484. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  485. package/build/features/watch/WatchFeature.js.map +1 -1
  486. package/build/index.js.map +1 -1
  487. package/build/interfaces/SpyInterface.js.map +1 -1
  488. package/build/interfaces/TerminalInterface.js.map +1 -1
  489. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  490. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  491. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  492. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  493. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  494. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  495. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  496. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  497. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  498. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  499. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  500. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  501. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  502. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  503. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  504. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  505. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  506. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  507. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  508. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  509. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  510. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  511. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  512. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  513. package/build/services/BuildService.js.map +1 -1
  514. package/build/services/CommandService.d.ts +1 -1
  515. package/build/services/CommandService.js +2 -2
  516. package/build/services/CommandService.js.map +1 -1
  517. package/build/services/DependencyService.js.map +1 -1
  518. package/build/services/GameService.js.map +1 -1
  519. package/build/services/ImportService.js.map +1 -1
  520. package/build/services/LintService.js.map +1 -1
  521. package/build/services/PkgService.js.map +1 -1
  522. package/build/services/ServiceFactory.js.map +1 -1
  523. package/build/services/TypeCheckerService.js.map +1 -1
  524. package/build/stores/AbstractLocalStore.js.map +1 -1
  525. package/build/stores/AbstractStore.js.map +1 -1
  526. package/build/stores/StoreFactory.js.map +1 -1
  527. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  528. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  529. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  530. package/build/tests/AbstractCliTest.d.ts +2 -0
  531. package/build/tests/AbstractCliTest.js +9 -2
  532. package/build/tests/AbstractCliTest.js.map +1 -1
  533. package/build/tests/AbstractErrorTest.js.map +1 -1
  534. package/build/tests/AbstractEventTest.js.map +1 -1
  535. package/build/tests/AbstractSchemaTest.js.map +1 -1
  536. package/build/tests/AbstractSkillTest.js.map +1 -1
  537. package/build/tests/AbstractTestTest.js.map +1 -1
  538. package/build/tests/CommandFaker.d.ts +8 -0
  539. package/build/tests/CommandFaker.js +54 -0
  540. package/build/tests/CommandFaker.js.map +1 -0
  541. package/build/tests/JestJsonParser.js.map +1 -1
  542. package/build/tests/MockProgramFactory.js.map +1 -1
  543. package/build/tests/buildTestCache.js.map +1 -1
  544. package/build/tests/cleanTestCache.js.map +1 -1
  545. package/build/tests/cleanTestData.js +9 -10
  546. package/build/tests/cleanTestData.js.map +1 -1
  547. package/build/tests/constants.d.ts +8 -0
  548. package/build/tests/constants.js +28 -0
  549. package/build/tests/constants.js.map +1 -0
  550. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  551. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  552. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  553. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  554. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  555. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  556. package/build/tests/utilities/test.utility.js.map +1 -1
  557. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  558. package/build/types/apiClient.types.js.map +1 -1
  559. package/build/types/cli.types.js.map +1 -1
  560. package/build/types/graphicsInterface.types.js.map +1 -1
  561. package/build/updaters/ScriptUpdater.js.map +1 -1
  562. package/build/utilities/action.utility.js.map +1 -1
  563. package/build/utilities/apiClient.utility.js.map +1 -1
  564. package/build/utilities/argParser.utility.js.map +1 -1
  565. package/build/utilities/commander.utility.js.map +1 -1
  566. package/build/utilities/duration.utility.js.map +1 -1
  567. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  568. package/build/utilities/form.utility.js.map +1 -1
  569. package/build/utilities/introspection.utility.js.map +1 -1
  570. package/build/utilities/isCi.js.map +1 -1
  571. package/build/utilities/tsConfig.utility.js.map +1 -1
  572. package/build/utilities/ui.utility.js.map +1 -1
  573. package/build/widgets/Theme.js.map +1 -1
  574. package/build/widgets/WidgetFactory.js.map +1 -1
  575. package/build/widgets/keySelectChoices.js.map +1 -1
  576. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  577. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  578. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  579. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  580. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  581. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  582. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  583. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  584. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  585. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  586. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  587. package/build/widgets/types/button.types.js.map +1 -1
  588. package/build/widgets/types/factory.types.js.map +1 -1
  589. package/build/widgets/types/input.types.js.map +1 -1
  590. package/build/widgets/types/layout.types.js.map +1 -1
  591. package/build/widgets/types/menuBar.types.js.map +1 -1
  592. package/build/widgets/types/popup.types.js.map +1 -1
  593. package/build/widgets/types/progressBar.types.js.map +1 -1
  594. package/build/widgets/types/table.types.js.map +1 -1
  595. package/build/widgets/types/text.types.js.map +1 -1
  596. package/build/widgets/types/widgets.types.js.map +1 -1
  597. package/build/widgets/types/window.types.js.map +1 -1
  598. package/build/widgets/widget.utilities.js.map +1 -1
  599. package/build/writers/AbstractWriter.js.map +1 -1
  600. package/build/writers/WriterFactory.js.map +1 -1
  601. package/package.json +72 -72
  602. package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
  603. package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
  604. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
  605. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
  606. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
  607. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  608. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
  609. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
  610. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
  611. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
  612. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
  613. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
  614. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
  615. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  616. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  617. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  618. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
  619. package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
  620. package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
  621. package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
  622. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
  623. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
  624. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
  625. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
  626. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
  627. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
  628. package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
  629. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  630. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  631. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  632. package/src/__tests__/implementation/EventStore.test.ts +17 -1
  633. package/src/__tests__/implementation/LintService.test.ts +2 -2
  634. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  635. package/src/__tests__/implementation/PkgService.test.ts +4 -7
  636. package/src/__tests__/implementation/StoreFeature.test.ts +2 -2
  637. package/src/cli.ts +1 -1
  638. package/src/features/AbstractAction.ts +2 -2
  639. package/src/features/event/EventFeature.ts +14 -11
  640. package/src/features/event/actions/ListenAction.ts +22 -12
  641. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  642. package/src/features/event/stores/EventStore.ts +28 -20
  643. package/src/features/event/stores/ListenerStore.ts +5 -3
  644. package/src/features/store/StoreFeature.ts +7 -6
  645. package/src/features/store/stores/StoreStore.ts +5 -1
  646. package/src/features/validateAndNormalize.utility.ts +2 -2
  647. package/src/services/CommandService.ts +1 -4
  648. package/src/tests/AbstractCliTest.ts +6 -1
  649. package/src/tests/CommandFaker.ts +24 -0
  650. package/src/tests/cleanTestData.ts +2 -19
  651. package/src/tests/constants.ts +17 -0
  652. package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
  653. package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
  654. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
  655. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
  656. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
  657. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
  658. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +0 -1
  659. package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js.map +0 -1
  660. package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js.map +0 -1
  661. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
@@ -25,6 +25,7 @@ export default class EventFeature extends AbstractFeature {
25
25
  constructor(options: FeatureOptions);
26
26
  afterPackageInstall(): Promise<FeatureActionResponse>;
27
27
  private handleWillExecute;
28
+ private syncListenersAndMixinResults;
28
29
  private handleDidExecute;
29
30
  private combineCodes;
30
31
  private appendRemoteToResultsOrPrompt;
@@ -130,7 +130,7 @@ var EventFeature = /*#__PURE__*/function (_AbstractFeature) {
130
130
  key: "handleWillExecute",
131
131
  value: function () {
132
132
  var _handleWillExecute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(payload) {
133
- var featureCode, actionCode, results, combined, settings, isInstalled, remoteResults, syncResults;
133
+ var featureCode, actionCode, results, combined, settings, isInstalled, isRemoteRelevant, remoteResults;
134
134
  return _regenerator["default"].wrap(function _callee2$(_context2) {
135
135
  while (1) {
136
136
  switch (_context2.prev = _context2.next) {
@@ -155,36 +155,24 @@ var EventFeature = /*#__PURE__*/function (_AbstractFeature) {
155
155
 
156
156
  case 6:
157
157
  isInstalled = _context2.sent;
158
+ isRemoteRelevant = isInstalled && (featureCode === 'event' || featureCode === 'eventContract' || actionCode === 'login') && actionCode !== 'setRemote';
158
159
 
159
- if (!(isInstalled && (featureCode === 'event' || featureCode === 'eventContract' || actionCode === 'login') && actionCode !== 'setRemote')) {
160
- _context2.next = 12;
160
+ if (!isRemoteRelevant) {
161
+ _context2.next = 13;
161
162
  break;
162
163
  }
163
164
 
164
- _context2.next = 10;
165
+ _context2.next = 11;
165
166
  return this.appendRemoteToResultsOrPrompt();
166
167
 
167
- case 10:
168
+ case 11:
168
169
  remoteResults = _context2.sent;
169
170
  results = _action["default"].mergeActionResults(results, remoteResults);
170
171
 
171
- case 12:
172
- if (!(featureCode === 'node' && actionCode === 'upgrade' && isInstalled)) {
173
- _context2.next = 17;
174
- break;
175
- }
176
-
177
- _context2.next = 15;
178
- return this.Action('event', 'sync.listeners').execute({});
179
-
180
- case 15:
181
- syncResults = _context2.sent;
182
- results = _action["default"].mergeActionResults(results, syncResults);
183
-
184
- case 17:
172
+ case 13:
185
173
  return _context2.abrupt("return", results);
186
174
 
187
- case 18:
175
+ case 14:
188
176
  case "end":
189
177
  return _context2.stop();
190
178
  }
@@ -199,41 +187,86 @@ var EventFeature = /*#__PURE__*/function (_AbstractFeature) {
199
187
  return handleWillExecute;
200
188
  }()
201
189
  }, {
202
- key: "handleDidExecute",
190
+ key: "syncListenersAndMixinResults",
203
191
  value: function () {
204
- var _handleDidExecute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(payload) {
205
- var featureCode, actionCode, isInstalled, results;
192
+ var _syncListenersAndMixinResults = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(results) {
193
+ var syncResults;
206
194
  return _regenerator["default"].wrap(function _callee3$(_context3) {
207
195
  while (1) {
208
196
  switch (_context3.prev = _context3.next) {
197
+ case 0:
198
+ _context3.next = 2;
199
+ return this.Action('event', 'sync.listeners').execute({});
200
+
201
+ case 2:
202
+ syncResults = _context3.sent;
203
+ results = _action["default"].mergeActionResults(results, syncResults);
204
+ return _context3.abrupt("return", results);
205
+
206
+ case 5:
207
+ case "end":
208
+ return _context3.stop();
209
+ }
210
+ }
211
+ }, _callee3, this);
212
+ }));
213
+
214
+ function syncListenersAndMixinResults(_x2) {
215
+ return _syncListenersAndMixinResults.apply(this, arguments);
216
+ }
217
+
218
+ return syncListenersAndMixinResults;
219
+ }()
220
+ }, {
221
+ key: "handleDidExecute",
222
+ value: function () {
223
+ var _handleDidExecute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(payload) {
224
+ var featureCode, actionCode, isInstalled, results, isUpgrade;
225
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
226
+ while (1) {
227
+ switch (_context4.prev = _context4.next) {
209
228
  case 0:
210
229
  featureCode = payload.featureCode, actionCode = payload.actionCode;
211
- _context3.next = 3;
230
+ _context4.next = 3;
212
231
  return this.featureInstaller.isInstalled('event');
213
232
 
214
233
  case 3:
215
- isInstalled = _context3.sent;
234
+ isInstalled = _context4.sent;
216
235
  results = {};
236
+ isUpgrade = isInstalled && featureCode === 'node' && actionCode === 'upgrade';
217
237
 
218
- if (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {
219
- results = this.Action('event', 'sync').execute({});
238
+ if (!isUpgrade) {
239
+ _context4.next = 13;
240
+ break;
220
241
  }
221
242
 
243
+ _context4.next = 9;
244
+ return this.Action('event', 'sync').execute({});
245
+
246
+ case 9:
247
+ results = _context4.sent;
248
+ _context4.next = 12;
249
+ return this.syncListenersAndMixinResults(results);
250
+
251
+ case 12:
252
+ results = _context4.sent;
253
+
254
+ case 13:
222
255
  if (this.initiatingAction === this.combineCodes(featureCode, actionCode)) {
223
256
  _EventStore["default"].clearCache();
224
257
  }
225
258
 
226
- return _context3.abrupt("return", results);
259
+ return _context4.abrupt("return", results);
227
260
 
228
- case 8:
261
+ case 15:
229
262
  case "end":
230
- return _context3.stop();
263
+ return _context4.stop();
231
264
  }
232
265
  }
233
- }, _callee3, this);
266
+ }, _callee4, this);
234
267
  }));
235
268
 
236
- function handleDidExecute(_x2) {
269
+ function handleDidExecute(_x3) {
237
270
  return _handleDidExecute.apply(this, arguments);
238
271
  }
239
272
 
@@ -247,22 +280,22 @@ var EventFeature = /*#__PURE__*/function (_AbstractFeature) {
247
280
  }, {
248
281
  key: "appendRemoteToResultsOrPrompt",
249
282
  value: function () {
250
- var _appendRemoteToResultsOrPrompt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
283
+ var _appendRemoteToResultsOrPrompt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
251
284
  var remote, r, results;
252
- return _regenerator["default"].wrap(function _callee4$(_context4) {
285
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
253
286
  while (1) {
254
- switch (_context4.prev = _context4.next) {
287
+ switch (_context5.prev = _context5.next) {
255
288
  case 0:
256
289
  remote = this.Service('remote');
257
290
  r = remote.getRemote();
258
291
 
259
292
  if (r) {
260
- _context4.next = 13;
293
+ _context5.next = 13;
261
294
  break;
262
295
  }
263
296
 
264
297
  if (_TerminalInterface["default"].doesSupportColor()) {
265
- _context4.next = 5;
298
+ _context5.next = 5;
266
299
  break;
267
300
  }
268
301
 
@@ -271,24 +304,24 @@ var EventFeature = /*#__PURE__*/function (_AbstractFeature) {
271
304
  case 5:
272
305
  this.ui.stopLoading();
273
306
  this.ui.renderLine("Uh oh! It looks like you haven't configured your remote! We gotta do that.");
274
- _context4.next = 9;
307
+ _context5.next = 9;
275
308
  return this.Action('event', 'setRemote').execute({});
276
309
 
277
310
  case 9:
278
- results = _context4.sent;
279
- return _context4.abrupt("return", results);
311
+ results = _context5.sent;
312
+ return _context5.abrupt("return", results);
280
313
 
281
314
  case 13:
282
- return _context4.abrupt("return", {
315
+ return _context5.abrupt("return", {
283
316
  summaryLines: ["Remote: ".concat(r), "Host: ".concat(remote.getHost())]
284
317
  });
285
318
 
286
319
  case 14:
287
320
  case "end":
288
- return _context4.stop();
321
+ return _context5.stop();
289
322
  }
290
323
  }
291
- }, _callee4, this);
324
+ }, _callee5, this);
292
325
  }));
293
326
 
294
327
  function appendRemoteToResultsOrPrompt() {
@@ -300,49 +333,49 @@ var EventFeature = /*#__PURE__*/function (_AbstractFeature) {
300
333
  }, {
301
334
  key: "handleDidFetchSchemas",
302
335
  value: function () {
303
- var _handleDidFetchSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(payload) {
336
+ var _handleDidFetchSchemas = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(payload) {
304
337
  var isInstalled, lastSync, _payload$schemas, _uniqueSchemas$schema, writer, uniqueSchemas;
305
338
 
306
- return _regenerator["default"].wrap(function _callee5$(_context5) {
339
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
307
340
  while (1) {
308
- switch (_context5.prev = _context5.next) {
341
+ switch (_context6.prev = _context6.next) {
309
342
  case 0:
310
- _context5.next = 2;
343
+ _context6.next = 2;
311
344
  return this.featureInstaller.isInstalled(this.code);
312
345
 
313
346
  case 2:
314
- isInstalled = _context5.sent;
347
+ isInstalled = _context6.sent;
315
348
  lastSync = this.Service('eventSettings').getLastSyncOptions();
316
349
 
317
350
  if (!(lastSync && isInstalled)) {
318
- _context5.next = 10;
351
+ _context6.next = 10;
319
352
  break;
320
353
  }
321
354
 
322
355
  writer = this.getEventContractBuilder();
323
- _context5.next = 8;
356
+ _context6.next = 8;
324
357
  return writer.fetchContractsAndGenerateUniqueSchemas((_payload$schemas = payload.schemas) !== null && _payload$schemas !== void 0 ? _payload$schemas : [], lastSync.shouldSyncOnlyCoreEvents);
325
358
 
326
359
  case 8:
327
- uniqueSchemas = _context5.sent;
328
- return _context5.abrupt("return", {
360
+ uniqueSchemas = _context6.sent;
361
+ return _context6.abrupt("return", {
329
362
  schemas: (_uniqueSchemas$schema = uniqueSchemas.schemas) !== null && _uniqueSchemas$schema !== void 0 ? _uniqueSchemas$schema : []
330
363
  });
331
364
 
332
365
  case 10:
333
- return _context5.abrupt("return", {
366
+ return _context6.abrupt("return", {
334
367
  schemas: []
335
368
  });
336
369
 
337
370
  case 11:
338
371
  case "end":
339
- return _context5.stop();
372
+ return _context6.stop();
340
373
  }
341
374
  }
342
- }, _callee5, this);
375
+ }, _callee6, this);
343
376
  }));
344
377
 
345
- function handleDidFetchSchemas(_x3) {
378
+ function handleDidFetchSchemas(_x4) {
346
379
  return _handleDidFetchSchemas.apply(this, arguments);
347
380
  }
348
381
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/event/EventFeature.ts"],"names":["EventFeature","options","code","isRequired","name","diskUtil","resolvePath","__dirname","emitter","on","handleDidFetchSchemas","bind","handleWillExecute","handleDidExecute","createDir","cwd","featureInstaller","isInstalled","isSkillInstalled","Action","execute","payload","featureCode","actionCode","results","initiatingAction","EventStore","clearCache","combined","combineCodes","settings","Service","clearListenerCache","appendRemoteToResultsOrPrompt","remoteResults","actionUtil","mergeActionResults","syncResults","remote","r","getRemote","TerminalInterface","doesSupportColor","Error","ui","stopLoading","renderLine","summaryLines","getHost","lastSync","getLastSyncOptions","writer","getEventContractBuilder","fetchContractsAndGenerateUniqueSchemas","schemas","shouldSyncOnlyCoreEvents","uniqueSchemas","contractBuilder","EventContractBuilder","optionsSchema","syncEventActionSchema","eventGenerator","Writer","eventStore","Store","skillStore","dependencyService","doesHashSprucePathExist","hasCombinedContractBeenWritten","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAKA;;AACA;;;;;;IAYqBA,Y;;;;;AA+BpB,wBAAmBC,OAAnB,EAA4C;AAAA;;AAAA;AAC3C,8BAAMA,OAAN;AAD2C,6FA9BjB,OA8BiB;AAAA,qGA7BtB,QA6BsB;AAAA,oGA5BvB,sCA4BuB;AAAA,qGA3BD,CAC1C;AAAEC,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,UAAU,EAAE;AAA9B,KAD0C,CA2BC;AAAA,4GAxBf,CAC5B;AACCC,MAAAA,IAAI,EAAE;AADP,KAD4B,EAI5B;AACCA,MAAAA,IAAI,EAAE;AADP,KAJ4B,EAO5B;AACCA,MAAAA,IAAI,EAAE;AADP,KAP4B,EAU5B;AACCA,MAAAA,IAAI,EAAE;AADP,KAV4B,EAa5B;AACCA,MAAAA,IAAI,EAAE;AADP,KAb4B,CAwBe;AAAA,mGANxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAMwB;AAAA,yGAJU,EAIV;AAAA;AAAA;AAG3C,SAAK,MAAKC,OAAL,CAAaC,EAAb,CACJ,0BADI,EAEJ,MAAKC,qBAAL,CAA2BC,IAA3B,gDAFI,CAAL;AAKA,SAAK,MAAKH,OAAL,CAAaC,EAAb,CACJ,sBADI,EAEJ,MAAKG,iBAAL,CAAuBD,IAAvB,gDAFI,CAAL;AAKA,SAAK,MAAKH,OAAL,CAAaC,EAAb,CACJ,qBADI,EAEJ,MAAKI,gBAAL,CAAsBF,IAAtB,gDAFI,CAAL;AAb2C;AAiB3C;;;;;+GAED;AAAA;AAAA;AAAA;AAAA;AAAA;AACCN,2CAASS,SAAT,CAAmBT,2BAASC,WAAT,CAAqB,KAAKS,GAA1B,EAA+B,KAA/B,EAAsC,QAAtC,CAAnB;;AADD;AAAA,uBAEgC,KAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAFhC;;AAAA;AAEOC,gBAAAA,gBAFP;;AAAA,qBAGKA,gBAHL;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAIe,KAAKC,MAAL,CAAY,OAAZ,EAAqB,gBAArB,EAAuCC,OAAvC,CAA+C,EAA/C,CAJf;;AAAA;AAAA;;AAAA;AAAA,iDAOQ,EAPR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6GAUA,kBAAgCC,OAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAISC,gBAAAA,WAJT,GAIqCD,OAJrC,CAISC,WAJT,EAIsBC,UAJtB,GAIqCF,OAJrC,CAIsBE,UAJtB;AAMKC,gBAAAA,OANL,GAMsC,EANtC;;AAQC,oBAAI,CAAC,KAAKC,gBAAV,EAA4B;AAC3BC,yCAAWC,UAAX;;AACMC,kBAAAA,QAFqB,GAEV,KAAKC,YAAL,CAAkBP,WAAlB,EAA+BC,UAA/B,CAFU;AAG3B,uBAAKE,gBAAL,GAAwBG,QAAxB;AACA;;AAED,oBAAIN,WAAW,KAAK,MAAhB,IAA0BA,WAAW,KAAK,SAA9C,EAAyD;AAClDQ,kBAAAA,QADkD,GACvC,KAAKC,OAAL,CAAa,eAAb,CADuC;AAExDD,kBAAAA,QAAQ,CAACE,kBAAT;AACA;;AAjBF;AAAA,uBAmB2B,KAAKhB,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAnB3B;;AAAA;AAmBOA,gBAAAA,WAnBP;;AAAA,sBAsBEA,WAAW,KACVK,WAAW,KAAK,OAAhB,IACAA,WAAW,KAAK,eADhB,IAEAC,UAAU,KAAK,OAHL,CAAX,IAIAA,UAAU,KAAK,WA1BjB;AAAA;AAAA;AAAA;;AAAA;AAAA,uBA4B8B,KAAKU,6BAAL,EA5B9B;;AAAA;AA4BQC,gBAAAA,aA5BR;AA6BEV,gBAAAA,OAAO,GAAGW,mBAAWC,kBAAX,CAA8BZ,OAA9B,EAAuCU,aAAvC,CAAV;;AA7BF;AAAA,sBAgCKZ,WAAW,KAAK,MAAhB,IAA0BC,UAAU,KAAK,SAAzC,IAAsDN,WAhC3D;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAiC4B,KAAKE,MAAL,CAAY,OAAZ,EAAqB,gBAArB,EAAuCC,OAAvC,CACzB,EADyB,CAjC5B;;AAAA;AAiCQiB,gBAAAA,WAjCR;AAoCEb,gBAAAA,OAAO,GAAGW,mBAAWC,kBAAX,CAA8BZ,OAA9B,EAAuCa,WAAvC,CAAV;;AApCF;AAAA,kDAuCQb,OAvCR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4GA0CA,kBAA+BH,OAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAISC,gBAAAA,WAJT,GAIqCD,OAJrC,CAISC,WAJT,EAIsBC,UAJtB,GAIqCF,OAJrC,CAIsBE,UAJtB;AAAA;AAAA,uBAK2B,KAAKP,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAL3B;;AAAA;AAKOA,gBAAAA,WALP;AAOKO,gBAAAA,OAPL,GAOe,EAPf;;AASC,oBAAIP,WAAW,IAAIK,WAAW,KAAK,MAA/B,IAAyCC,UAAU,KAAK,SAA5D,EAAuE;AACtEC,kBAAAA,OAAO,GAAG,KAAKL,MAAL,CAAY,OAAZ,EAAqB,MAArB,EAA6BC,OAA7B,CAAqC,EAArC,CAAV;AACA;;AAED,oBAAI,KAAKK,gBAAL,KAA0B,KAAKI,YAAL,CAAkBP,WAAlB,EAA+BC,UAA/B,CAA9B,EAA0E;AACzEG,yCAAWC,UAAX;AACA;;AAfF,kDAiBQH,OAjBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAoBA,sBAAqBF,WAArB,EAA0CC,UAA1C,EAA8D;AAC7D,uBAAUD,WAAV,cAAyBC,UAAzB;AACA;;;;yHAED;AAAA;AAAA;AAAA;AAAA;AAAA;AACOe,gBAAAA,MADP,GACgB,KAAKP,OAAL,CAAa,QAAb,CADhB;AAEOQ,gBAAAA,CAFP,GAEWD,MAAM,CAACE,SAAP,EAFX;;AAAA,oBAIMD,CAJN;AAAA;AAAA;AAAA;;AAAA,oBAKOE,8BAAkBC,gBAAlB,EALP;AAAA;AAAA;AAAA;;AAAA,sBAMS,IAAIC,KAAJ,qEANT;;AAAA;AAWE,qBAAKC,EAAL,CAAQC,WAAR;AACA,qBAAKD,EAAL,CAAQE,UAAR;AAZF;AAAA,uBAgBwB,KAAK3B,MAAL,CAAY,OAAZ,EAAqB,WAArB,EAAkCC,OAAlC,CAA0C,EAA1C,CAhBxB;;AAAA;AAgBQI,gBAAAA,OAhBR;AAAA,kDAkBSA,OAlBT;;AAAA;AAAA,kDAoBS;AACNuB,kBAAAA,YAAY,EAAE,mBAAYR,CAAZ,mBAA0BD,MAAM,CAACU,OAAP,EAA1B;AADR,iBApBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHA0BA,kBAAoC3B,OAApC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAC2B,KAAKL,gBAAL,CAAsBC,WAAtB,CAAkC,KAAKf,IAAvC,CAD3B;;AAAA;AACOe,gBAAAA,WADP;AAGOgC,gBAAAA,QAHP,GAGkB,KAAKlB,OAAL,CAAa,eAAb,EAA8BmB,kBAA9B,EAHlB;;AAAA,sBAKKD,QAAQ,IAAIhC,WALjB;AAAA;AAAA;AAAA;;AAMQkC,gBAAAA,MANR,GAMiB,KAAKC,uBAAL,EANjB;AAAA;AAAA,uBAQ8BD,MAAM,CAACE,sCAAP,qBAC3BhC,OAAO,CAACiC,OADmB,+DACR,EADQ,EAE3BL,QAAQ,CAACM,wBAFkB,CAR9B;;AAAA;AAQQC,gBAAAA,aARR;AAAA,kDAaS;AACNF,kBAAAA,OAAO,2BAAEE,aAAa,CAACF,OAAhB,yEAA2B;AAD5B,iBAbT;;AAAA;AAAA,kDAkBQ;AACNA,kBAAAA,OAAO,EAAE;AADH,iBAlBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAuBA,mCAAiC;AAChC,UAAI,CAAC,KAAKG,eAAV,EAA2B;AAC1B,aAAKA,eAAL,GAAuB,IAAIC,gCAAJ,CAAyB;AAC/C3C,UAAAA,GAAG,EAAE,KAAKA,GADqC;AAE/C4C,UAAAA,aAAa,EAAEC,4BAFgC;AAG/ChB,UAAAA,EAAE,EAAE,KAAKA,EAHsC;AAI/CiB,UAAAA,cAAc,EAAE,KAAKC,MAAL,CAAY,OAAZ,CAJ+B;AAK/CC,UAAAA,UAAU,EAAE,KAAKC,KAAL,CAAW,OAAX,CALmC;AAM/CC,UAAAA,UAAU,EAAE,KAAKD,KAAL,CAAW,OAAX,CANmC;AAO/CE,UAAAA,iBAAiB,EAAE,KAAKnC,OAAL,CAAa,YAAb;AAP4B,SAAzB,CAAvB;AASA;;AAED,aAAO,KAAK0B,eAAZ;AACA;;;WAED,yBAAuB;AACtB,UAAIpD,2BAAS8D,uBAAT,CAAiC,KAAKpD,GAAtC,CAAJ,EAAgD;AAC/C,YAAMoC,MAAM,GAAG,KAAKW,MAAL,CAAY,OAAZ,CAAf;AAEA,eAAOX,MAAM,CAACiB,8BAAP,CAAsC,KAAKrD,GAA3C,CAAP;AACA;;AAED,aAAO,KAAP;AACA;;;EAvMwCsD,4B","sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport TerminalInterface from '../../interfaces/TerminalInterface'\nimport { FileDescription } from '../../types/cli.types'\nimport actionUtil from '../../utilities/action.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureActionResponse, FeatureCode } from '../features.types'\nimport EventContractBuilder from './builders/EventContractBuilder'\nimport EventStore from './stores/EventStore'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tevent: EventFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tevent: undefined\n\t}\n}\n\nexport default class EventFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'event'\n\tpublic nameReadable = 'Events'\n\tpublic description = 'Connect to the Mercury Event Engine.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'schema', isRequired: true },\n\t]\n\tpublic packageDependencies = [\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-client',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-event-utils',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-event-plugin',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-core-events',\n\t\t},\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic readonly fileDescriptions: FileDescription[] = []\n\tprivate contractBuilder?: EventContractBuilder\n\tprivate initiatingAction?: string\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'schema.did-fetch-schemas',\n\t\t\tthis.handleDidFetchSchemas.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tdiskUtil.createDir(diskUtil.resolvePath(this.cwd, 'src', 'events'))\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\t\tif (isSkillInstalled) {\n\t\t\treturn await this.Action('event', 'sync.listeners').execute({})\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}): Promise<FeatureActionResponse> {\n\t\tconst { featureCode, actionCode } = payload\n\n\t\tlet results: FeatureActionResponse = {}\n\n\t\tif (!this.initiatingAction) {\n\t\t\tEventStore.clearCache()\n\t\t\tconst combined = this.combineCodes(featureCode, actionCode)\n\t\t\tthis.initiatingAction = combined\n\t\t}\n\n\t\tif (featureCode === 'node' || featureCode === 'upgrade') {\n\t\t\tconst settings = this.Service('eventSettings')\n\t\t\tsettings.clearListenerCache()\n\t\t}\n\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('event')\n\n\t\tif (\n\t\t\tisInstalled &&\n\t\t\t(featureCode === 'event' ||\n\t\t\t\tfeatureCode === 'eventContract' ||\n\t\t\t\tactionCode === 'login') &&\n\t\t\tactionCode !== 'setRemote'\n\t\t) {\n\t\t\tconst remoteResults = await this.appendRemoteToResultsOrPrompt()\n\t\t\tresults = actionUtil.mergeActionResults(results, remoteResults)\n\t\t}\n\n\t\tif (featureCode === 'node' && actionCode === 'upgrade' && isInstalled) {\n\t\t\tconst syncResults = await this.Action('event', 'sync.listeners').execute(\n\t\t\t\t{}\n\t\t\t)\n\t\t\tresults = actionUtil.mergeActionResults(results, syncResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst { featureCode, actionCode } = payload\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('event')\n\n\t\tlet results = {}\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tresults = this.Action('event', 'sync').execute({})\n\t\t}\n\n\t\tif (this.initiatingAction === this.combineCodes(featureCode, actionCode)) {\n\t\t\tEventStore.clearCache()\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate combineCodes(featureCode: string, actionCode: string) {\n\t\treturn `${featureCode}.${actionCode}`\n\t}\n\n\tprivate async appendRemoteToResultsOrPrompt(): Promise<FeatureActionResponse> {\n\t\tconst remote = this.Service('remote')\n\t\tconst r = remote.getRemote()\n\n\t\tif (!r) {\n\t\t\tif (!TerminalInterface.doesSupportColor()) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Dang! I couldn't find env.HOST. Once that is set, lets try again!`\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tthis.ui.stopLoading()\n\t\t\tthis.ui.renderLine(\n\t\t\t\t`Uh oh! It looks like you haven't configured your remote! We gotta do that.`\n\t\t\t)\n\n\t\t\tconst results = await this.Action('event', 'setRemote').execute({})\n\n\t\t\treturn results\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tsummaryLines: [`Remote: ${r}`, `Host: ${remote.getHost()}`],\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async handleDidFetchSchemas(payload: { schemas?: Schema[] | null }) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled(this.code)\n\n\t\tconst lastSync = this.Service('eventSettings').getLastSyncOptions()\n\n\t\tif (lastSync && isInstalled) {\n\t\t\tconst writer = this.getEventContractBuilder()\n\n\t\t\tconst uniqueSchemas = await writer.fetchContractsAndGenerateUniqueSchemas(\n\t\t\t\tpayload.schemas ?? [],\n\t\t\t\tlastSync.shouldSyncOnlyCoreEvents\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tschemas: uniqueSchemas.schemas ?? [],\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tschemas: [],\n\t\t}\n\t}\n\n\tpublic getEventContractBuilder() {\n\t\tif (!this.contractBuilder) {\n\t\t\tthis.contractBuilder = new EventContractBuilder({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\toptionsSchema: syncEventActionSchema,\n\t\t\t\tui: this.ui,\n\t\t\t\teventGenerator: this.Writer('event'),\n\t\t\t\teventStore: this.Store('event'),\n\t\t\t\tskillStore: this.Store('skill'),\n\t\t\t\tdependencyService: this.Service('dependency'),\n\t\t\t})\n\t\t}\n\n\t\treturn this.contractBuilder\n\t}\n\n\tpublic hasBeenSynced() {\n\t\tif (diskUtil.doesHashSprucePathExist(this.cwd)) {\n\t\t\tconst writer = this.Writer('event')\n\n\t\t\treturn writer.hasCombinedContractBeenWritten(this.cwd)\n\t\t}\n\n\t\treturn false\n\t}\n}\n"],"file":"EventFeature.js"}
1
+ {"version":3,"file":"EventFeature.js","names":["EventFeature","options","code","isRequired","name","diskUtil","resolvePath","__dirname","emitter","on","handleDidFetchSchemas","bind","handleWillExecute","handleDidExecute","createDir","cwd","featureInstaller","isInstalled","isSkillInstalled","Action","execute","payload","featureCode","actionCode","results","initiatingAction","EventStore","clearCache","combined","combineCodes","settings","Service","clearListenerCache","isRemoteRelevant","appendRemoteToResultsOrPrompt","remoteResults","actionUtil","mergeActionResults","syncResults","isUpgrade","syncListenersAndMixinResults","remote","r","getRemote","TerminalInterface","doesSupportColor","Error","ui","stopLoading","renderLine","summaryLines","getHost","lastSync","getLastSyncOptions","writer","getEventContractBuilder","fetchContractsAndGenerateUniqueSchemas","schemas","shouldSyncOnlyCoreEvents","uniqueSchemas","contractBuilder","EventContractBuilder","optionsSchema","syncEventActionSchema","eventGenerator","Writer","eventStore","Store","skillStore","dependencyService","doesHashSprucePathExist","hasCombinedContractBeenWritten","AbstractFeature"],"sources":["../../../src/features/event/EventFeature.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport TerminalInterface from '../../interfaces/TerminalInterface'\nimport { FileDescription } from '../../types/cli.types'\nimport actionUtil from '../../utilities/action.utility'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport { FeatureActionResponse, FeatureCode } from '../features.types'\nimport EventContractBuilder from './builders/EventContractBuilder'\nimport EventStore from './stores/EventStore'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tevent: EventFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tevent: undefined\n\t}\n}\n\nexport default class EventFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'event'\n\tpublic nameReadable = 'Events'\n\tpublic description = 'Connect to the Mercury Event Engine.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'schema', isRequired: true },\n\t]\n\tpublic packageDependencies = [\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-client',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-event-utils',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-event-plugin',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-core-events',\n\t\t},\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic readonly fileDescriptions: FileDescription[] = []\n\tprivate contractBuilder?: EventContractBuilder\n\tprivate initiatingAction?: string\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'schema.did-fetch-schemas',\n\t\t\tthis.handleDidFetchSchemas.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tpublic async afterPackageInstall() {\n\t\tdiskUtil.createDir(diskUtil.resolvePath(this.cwd, 'src', 'events'))\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\t\tif (isSkillInstalled) {\n\t\t\treturn await this.Action('event', 'sync.listeners').execute({})\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}): Promise<FeatureActionResponse> {\n\t\tconst { featureCode, actionCode } = payload\n\n\t\tlet results: FeatureActionResponse = {}\n\n\t\tif (!this.initiatingAction) {\n\t\t\tEventStore.clearCache()\n\t\t\tconst combined = this.combineCodes(featureCode, actionCode)\n\t\t\tthis.initiatingAction = combined\n\t\t}\n\n\t\tif (featureCode === 'node' || featureCode === 'upgrade') {\n\t\t\tconst settings = this.Service('eventSettings')\n\t\t\tsettings.clearListenerCache()\n\t\t}\n\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('event')\n\t\tconst isRemoteRelevant =\n\t\t\tisInstalled &&\n\t\t\t(featureCode === 'event' ||\n\t\t\t\tfeatureCode === 'eventContract' ||\n\t\t\t\tactionCode === 'login') &&\n\t\t\tactionCode !== 'setRemote'\n\n\t\tif (isRemoteRelevant) {\n\t\t\tconst remoteResults = await this.appendRemoteToResultsOrPrompt()\n\t\t\tresults = actionUtil.mergeActionResults(results, remoteResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async syncListenersAndMixinResults(results: FeatureActionResponse) {\n\t\tconst syncResults = await this.Action('event', 'sync.listeners').execute({})\n\t\tresults = actionUtil.mergeActionResults(results, syncResults)\n\t\treturn results\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst { featureCode, actionCode } = payload\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('event')\n\n\t\tlet results = {}\n\n\t\tconst isUpgrade =\n\t\t\tisInstalled && featureCode === 'node' && actionCode === 'upgrade'\n\n\t\tif (isUpgrade) {\n\t\t\tresults = await this.Action('event', 'sync').execute({})\n\t\t\tresults = await this.syncListenersAndMixinResults(results)\n\t\t}\n\n\t\tif (this.initiatingAction === this.combineCodes(featureCode, actionCode)) {\n\t\t\tEventStore.clearCache()\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate combineCodes(featureCode: string, actionCode: string) {\n\t\treturn `${featureCode}.${actionCode}`\n\t}\n\n\tprivate async appendRemoteToResultsOrPrompt(): Promise<FeatureActionResponse> {\n\t\tconst remote = this.Service('remote')\n\t\tconst r = remote.getRemote()\n\n\t\tif (!r) {\n\t\t\tif (!TerminalInterface.doesSupportColor()) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Dang! I couldn't find env.HOST. Once that is set, lets try again!`\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tthis.ui.stopLoading()\n\t\t\tthis.ui.renderLine(\n\t\t\t\t`Uh oh! It looks like you haven't configured your remote! We gotta do that.`\n\t\t\t)\n\n\t\t\tconst results = await this.Action('event', 'setRemote').execute({})\n\n\t\t\treturn results\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tsummaryLines: [`Remote: ${r}`, `Host: ${remote.getHost()}`],\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async handleDidFetchSchemas(payload: { schemas?: Schema[] | null }) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled(this.code)\n\n\t\tconst lastSync = this.Service('eventSettings').getLastSyncOptions()\n\n\t\tif (lastSync && isInstalled) {\n\t\t\tconst writer = this.getEventContractBuilder()\n\n\t\t\tconst uniqueSchemas = await writer.fetchContractsAndGenerateUniqueSchemas(\n\t\t\t\tpayload.schemas ?? [],\n\t\t\t\tlastSync.shouldSyncOnlyCoreEvents\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tschemas: uniqueSchemas.schemas ?? [],\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tschemas: [],\n\t\t}\n\t}\n\n\tpublic getEventContractBuilder() {\n\t\tif (!this.contractBuilder) {\n\t\t\tthis.contractBuilder = new EventContractBuilder({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\toptionsSchema: syncEventActionSchema,\n\t\t\t\tui: this.ui,\n\t\t\t\teventGenerator: this.Writer('event'),\n\t\t\t\teventStore: this.Store('event'),\n\t\t\t\tskillStore: this.Store('skill'),\n\t\t\t\tdependencyService: this.Service('dependency'),\n\t\t\t})\n\t\t}\n\n\t\treturn this.contractBuilder\n\t}\n\n\tpublic hasBeenSynced() {\n\t\tif (diskUtil.doesHashSprucePathExist(this.cwd)) {\n\t\t\tconst writer = this.Writer('event')\n\n\t\t\treturn writer.hasCombinedContractBeenWritten(this.cwd)\n\t\t}\n\n\t\treturn false\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/actions/CreateAction.ts"],"names":["optionsSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","isRequired","nameKebab","label","hint","nameCamel","isGlobal","type","version","isPrivate","syncEventActionBuilder","CreateAction","options","validateAndNormalizeOptions","Store","loadCurrentSkill","skill","slug","errors","SpruceError","code","destinationDir","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","Writer","writeEvent","files","syncOptions","syncEventActionSchema","shouldIncludePrivateFields","Action","execute","syncResponse","fqen","eventNameUtil","join","eventName","eventNamespace","actionUtil","mergeActionResults","meta","AbstractAction"],"mappings":"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","sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaValues,\n\tSchemaValues,\n} from '@sprucelabs/schema'\nimport { eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport syncEventActionBuilder from '../../../schemas/v2020_07_22/syncEventOptions.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createEventAction',\n\tdescription:\n\t\t\"Create a new event and I'll register it with Mercury when you boot the skill!\",\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\t...namedTemplateItemBuilder.fields.nameKebab,\n\t\t\tlabel: 'Event name',\n\t\t\thint: `kebab-case`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameCamel: {\n\t\t\t...namedTemplateItemBuilder.fields.nameCamel,\n\t\t\tisRequired: true,\n\t\t},\n\t\tisGlobal: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Is this a global event?',\n\t\t\thint: \"This will allow skills to listen without being installed at the same organization. You'll need permission to make this happen.\",\n\t\t},\n\t\tversion: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Version',\n\t\t\tisPrivate: true,\n\t\t},\n\t\t...syncEventActionBuilder.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a new event signature... 🜒'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { nameKebab, nameReadable, nameCamel, version, isGlobal } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\tif (!skill.id || !skill.slug) {\n\t\t\treturn {\n\t\t\t\terrors: [new SpruceError({ code: 'SKILL_NOT_REGISTERED' })],\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst destinationDir = diskUtil.resolvePath(this.cwd, 'src', 'events')\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tdiskUtil.resolvePath(destinationDir, '**', '*')\n\t\t\t)\n\n\t\t\tconst files = await this.Writer('event').writeEvent(destinationDir, {\n\t\t\t\tnameKebab,\n\t\t\t\tnameCamel,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\tnameReadable,\n\t\t\t\tisGlobal,\n\t\t\t})\n\n\t\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\t\tsyncEventActionSchema,\n\t\t\t\toptions,\n\t\t\t\t{\n\t\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tconst syncResponse = await this.Action('event', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName: nameKebab,\n\t\t\t\teventNamespace: skill.slug,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t})\n\n\t\t\treturn actionUtil.mergeActionResults(\n\t\t\t\t{ files, meta: { fqen } },\n\t\t\t\tsyncResponse\n\t\t\t)\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["optionsSchema","id","description","fields","nameReadable","namedTemplateItemBuilder","isRequired","nameKebab","label","hint","nameCamel","isGlobal","type","version","isPrivate","syncEventActionBuilder","CreateAction","options","validateAndNormalizeOptions","Store","loadCurrentSkill","skill","slug","errors","SpruceError","code","destinationDir","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","Writer","writeEvent","files","syncOptions","syncEventActionSchema","shouldIncludePrivateFields","Action","execute","syncResponse","fqen","eventNameUtil","join","eventName","eventNamespace","actionUtil","mergeActionResults","meta","AbstractAction"],"sources":["../../../../src/features/event/actions/CreateAction.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaValues,\n\tSchemaValues,\n} from '@sprucelabs/schema'\nimport { eventNameUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport syncEventActionBuilder from '../../../schemas/v2020_07_22/syncEventOptions.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createEventAction',\n\tdescription:\n\t\t\"Create a new event and I'll register it with Mercury when you boot the skill!\",\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\t...namedTemplateItemBuilder.fields.nameKebab,\n\t\t\tlabel: 'Event name',\n\t\t\thint: `kebab-case`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameCamel: {\n\t\t\t...namedTemplateItemBuilder.fields.nameCamel,\n\t\t\tisRequired: true,\n\t\t},\n\t\tisGlobal: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Is this a global event?',\n\t\t\thint: \"This will allow skills to listen without being installed at the same organization. You'll need permission to make this happen.\",\n\t\t},\n\t\tversion: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Version',\n\t\t\tisPrivate: true,\n\t\t},\n\t\t...syncEventActionBuilder.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a new event signature... 🜒'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { nameKebab, nameReadable, nameCamel, version, isGlobal } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\tif (!skill.id || !skill.slug) {\n\t\t\treturn {\n\t\t\t\terrors: [new SpruceError({ code: 'SKILL_NOT_REGISTERED' })],\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst destinationDir = diskUtil.resolvePath(this.cwd, 'src', 'events')\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tdiskUtil.resolvePath(destinationDir, '**', '*')\n\t\t\t)\n\n\t\t\tconst files = await this.Writer('event').writeEvent(destinationDir, {\n\t\t\t\tnameKebab,\n\t\t\t\tnameCamel,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\tnameReadable,\n\t\t\t\tisGlobal,\n\t\t\t})\n\n\t\t\tconst syncOptions = normalizeSchemaValues(\n\t\t\t\tsyncEventActionSchema,\n\t\t\t\toptions,\n\t\t\t\t{\n\t\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tconst syncResponse = await this.Action('event', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName: nameKebab,\n\t\t\t\teventNamespace: skill.slug,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t})\n\n\t\t\treturn actionUtil.mergeActionResults(\n\t\t\t\t{ files, meta: { fqen } },\n\t\t\t\tsyncResponse\n\t\t\t)\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ export default class ListenAction extends AbstractAction<OptionsSchema> {
8
8
  commandAliases: string[];
9
9
  execute(options: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions): Promise<FeatureActionResponse>;
10
10
  private fetchEventContracts;
11
+ private getDependencyNamespaces;
11
12
  private syncEvents;
12
13
  private writeListener;
13
14
  private assertIsValidChoice;
@@ -233,7 +233,7 @@ var ListenAction = /*#__PURE__*/function (_AbstractAction) {
233
233
  var _fetchEventContracts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(namespace) {
234
234
  var _this2 = this;
235
235
 
236
- var eventStore, skill, namespacesForFetch, _ref, contracts;
236
+ var eventStore, skill, namespacesForFetch, options, _yield$eventStore$fet, contracts;
237
237
 
238
238
  return _regenerator["default"].wrap(function _callee2$(_context2) {
239
239
  while (1) {
@@ -245,45 +245,30 @@ var ListenAction = /*#__PURE__*/function (_AbstractAction) {
245
245
 
246
246
  case 3:
247
247
  skill = _context2.sent;
248
- namespacesForFetch = namespace && namespace !== SKILL_EVENT_NAMESPACE && namespace !== CORE_EVENT_NAMESPACE ? [namespace] : undefined;
249
-
250
- if (!skill.slug) {
251
- _context2.next = 11;
252
- break;
253
- }
254
-
255
- _context2.next = 8;
256
- return eventStore.fetchEventContracts({
257
- localNamespace: skill.slug,
258
- namespaces: namespacesForFetch,
248
+ namespacesForFetch = namespace && namespace !== SKILL_EVENT_NAMESPACE && namespace !== CORE_EVENT_NAMESPACE ? [namespace] : this.getDependencyNamespaces();
249
+ options = {
259
250
  didUpdateHandler: function didUpdateHandler(msg) {
260
251
  return _this2.ui.startLoading(msg);
261
252
  }
262
- });
253
+ };
263
254
 
264
- case 8:
265
- _context2.t0 = _context2.sent;
266
- _context2.next = 14;
267
- break;
255
+ if (skill.slug) {
256
+ options.localNamespace = skill.slug;
257
+ }
268
258
 
269
- case 11:
270
- _context2.next = 13;
271
- return eventStore.fetchEventContracts({
272
- namespaces: namespacesForFetch,
273
- didUpdateHandler: function didUpdateHandler(msg) {
274
- return _this2.ui.startLoading(msg);
275
- }
276
- });
259
+ if (namespacesForFetch.length > 0) {
260
+ options.namespaces = namespacesForFetch;
261
+ }
277
262
 
278
- case 13:
279
- _context2.t0 = _context2.sent;
263
+ _context2.next = 10;
264
+ return eventStore.fetchEventContracts(options);
280
265
 
281
- case 14:
282
- _ref = _context2.t0;
283
- contracts = _ref.contracts;
266
+ case 10:
267
+ _yield$eventStore$fet = _context2.sent;
268
+ contracts = _yield$eventStore$fet.contracts;
284
269
  return _context2.abrupt("return", contracts);
285
270
 
286
- case 17:
271
+ case 13:
287
272
  case "end":
288
273
  return _context2.stop();
289
274
  }
@@ -297,6 +282,13 @@ var ListenAction = /*#__PURE__*/function (_AbstractAction) {
297
282
 
298
283
  return fetchEventContracts;
299
284
  }()
285
+ }, {
286
+ key: "getDependencyNamespaces",
287
+ value: function getDependencyNamespaces() {
288
+ return this.Service('dependency').get().map(function (d) {
289
+ return d.namespace;
290
+ });
291
+ }
300
292
  }, {
301
293
  key: "syncEvents",
302
294
  value: function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/actions/ListenAction.ts"],"names":["SKILL_EVENT_NAMESPACE","CORE_EVENT_NAMESPACE","ListenAction","eventListenActionSchema","options","normalizedOptions","validateAndNormalizeOptions","response","listenerDestinationDir","versionOptions","version","eventName","namespace","schemaTypesLookupDir","ui","startLoading","fetchEventContracts","contracts","stopLoading","collectNamespace","mapContractsToSelectChoices","eventChoicesByNamespace","SchemaError","code","friendlyMessage","Object","keys","join","parameters","collectEvent","isCoreEvent","undefined","fqen","eventNameUtil","eventNamespace","split","assertIsValidChoice","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","isSkillEvent","builder","EventTemplateItemBuilder","templateItems","buildEventTemplateItemForName","emitPayloadSchemaTemplateItem","responsePayloadSchemaTemplateItem","writeListener","files","syncListeners","syncResults","actionUtil","mergeActionResults","syncEvents","errors","eventStore","Store","loadCurrentSkill","skill","namespacesForFetch","slug","localNamespace","namespaces","didUpdateHandler","msg","syncOptions","syncEventActionSchema","Action","execute","resolvedSchemaTypesLookupDir","writer","Writer","fullyQualifiedEventName","isValidEvent","find","e","value","map","i","eventChoices","prompt","type","label","isRequired","choices","namespaceChoices","forEach","contract","namedSignatures","eventContractUtil","getNamedEventSignatures","namedSig","MERCURY_API_NAMESPACE","o","push","namesUtil","toPascal","AbstractAction"],"mappings":"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","sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport {\n\tnormalizeSchemaValues,\n\tSchemaError,\n\tSchemaTemplateItem,\n\tSelectChoice,\n} from '@sprucelabs/schema'\nimport {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tMERCURY_API_NAMESPACE,\n} from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport eventListenActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport EventTemplateItemBuilder from '../../../templateItemBuilders/EventTemplateItemBuilder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst SKILL_EVENT_NAMESPACE = 'skill'\nconst CORE_EVENT_NAMESPACE = 'mercury'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptionsSchema\nexport default class ListenAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = eventListenActionSchema\n\tpublic invocationMessage = 'Creating event listener... 🜒'\n\tpublic commandAliases = ['listen.event', 'create.listener']\n\n\tpublic async execute(\n\t\toptions: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions\n\t): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\ttry {\n\t\t\tlet response: FeatureActionResponse = {}\n\n\t\t\tlet {\n\t\t\t\tlistenerDestinationDir,\n\t\t\t\tversion: versionOptions,\n\t\t\t\teventName,\n\t\t\t\tnamespace,\n\t\t\t\tschemaTypesLookupDir,\n\t\t\t} = normalizedOptions\n\n\t\t\tthis.ui.startLoading('Loading event contracts...')\n\n\t\t\tconst contracts = await this.fetchEventContracts(namespace)\n\n\t\t\tthis.ui.stopLoading()\n\n\t\t\tif (!namespace) {\n\t\t\t\tnamespace = await this.collectNamespace(contracts)\n\t\t\t}\n\n\t\t\tconst { eventChoicesByNamespace } =\n\t\t\t\tthis.mapContractsToSelectChoices(contracts)\n\n\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\tthrow new SchemaError({\n\t\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\t\tfriendlyMessage: `${namespace} is not a valid event namespace. Try: \\n\\n${Object.keys(\n\t\t\t\t\t\teventChoicesByNamespace\n\t\t\t\t\t).join('\\n')}`,\n\t\t\t\t\tparameters: ['namespace'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!eventName) {\n\t\t\t\teventName = await this.collectEvent(contracts, namespace)\n\t\t\t}\n\n\t\t\tconst isCoreEvent = namespace === CORE_EVENT_NAMESPACE\n\t\t\tif (isCoreEvent) {\n\t\t\t\tnamespace = undefined\n\t\t\t}\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace: namespace,\n\t\t\t\tversion: versionOptions,\n\t\t\t})\n\n\t\t\tlet { version } = eventNameUtil.split(fqen)\n\n\t\t\tthis.assertIsValidChoice(\n\t\t\t\teventChoicesByNamespace,\n\t\t\t\tnamespace ?? 'mercury',\n\t\t\t\teventName,\n\t\t\t\tfqen\n\t\t\t)\n\n\t\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tlistenerDestinationDir\n\t\t\t)\n\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tresolvedDestination\n\t\t\t)\n\n\t\t\tconst isSkillEvent = namespace !== SKILL_EVENT_NAMESPACE\n\n\t\t\tlet emitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t\t\tlet responsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst builder = new EventTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildEventTemplateItemForName(\n\t\t\t\t\tcontracts,\n\t\t\t\t\teventNameUtil.join({\n\t\t\t\t\t\teventNamespace: !isCoreEvent ? namespace : undefined,\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion: resolvedVersion,\n\t\t\t\t\t})\n\t\t\t\t)\n\n\t\t\t\temitPayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.emitPayloadSchemaTemplateItem\n\t\t\t\tresponsePayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.responsePayloadSchemaTemplateItem\n\t\t\t}\n\n\t\t\tresponse.files = await this.writeListener({\n\t\t\t\tschemaTypesLookupDir,\n\t\t\t\tresolvedDestination,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\teventName,\n\t\t\t\tnamespace,\n\t\t\t\temitPayloadSchemaTemplateItem,\n\t\t\t\tresponsePayloadSchemaTemplateItem,\n\t\t\t})\n\n\t\t\tconst syncResults = await this.syncListeners()\n\n\t\t\tresponse = actionUtil.mergeActionResults(syncResults, response)\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst syncResults = await this.syncEvents(options)\n\t\t\t\tresponse = actionUtil.mergeActionResults(syncResults, response)\n\t\t\t}\n\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async fetchEventContracts(namespace?: string) {\n\t\tconst eventStore = this.Store('event')\n\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\tconst namespacesForFetch =\n\t\t\tnamespace &&\n\t\t\tnamespace !== SKILL_EVENT_NAMESPACE &&\n\t\t\tnamespace !== CORE_EVENT_NAMESPACE\n\t\t\t\t? [namespace]\n\t\t\t\t: undefined\n\n\t\tconst { contracts } = skill.slug\n\t\t\t? await eventStore.fetchEventContracts({\n\t\t\t\t\tlocalNamespace: skill.slug,\n\t\t\t\t\tnamespaces: namespacesForFetch,\n\t\t\t\t\tdidUpdateHandler: (msg: string) => this.ui.startLoading(msg),\n\t\t\t })\n\t\t\t: await eventStore.fetchEventContracts({\n\t\t\t\t\tnamespaces: namespacesForFetch,\n\t\t\t\t\tdidUpdateHandler: (msg: string) => this.ui.startLoading(msg),\n\t\t\t })\n\n\t\treturn contracts\n\t}\n\n\tprivate async syncEvents(\n\t\toptions: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions\n\t) {\n\t\tconst syncOptions = normalizeSchemaValues(syncEventActionSchema, options)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute(syncOptions)\n\t\treturn syncResults\n\t}\n\n\tprivate async writeListener(options: {\n\t\tresolvedDestination: string\n\t\tschemaTypesLookupDir: string\n\t\tnamespace?: string | undefined\n\t\teventName: string\n\t\temitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t\tversion: string\n\t\tresponsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t}) {\n\t\tconst {\n\t\t\tresolvedDestination,\n\t\t\tschemaTypesLookupDir,\n\t\t\tnamespace,\n\t\t\teventName,\n\t\t\tversion,\n\t\t} = options\n\n\t\tconst resolvedSchemaTypesLookupDir = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tschemaTypesLookupDir\n\t\t)\n\t\tconst writer = this.Writer('event')\n\t\tconst files = await writer.writeListener(resolvedDestination, {\n\t\t\t...options,\n\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace: namespace,\n\t\t\t\tversion,\n\t\t\t}),\n\t\t\tschemaTypesLookupDir: resolvedSchemaTypesLookupDir,\n\t\t})\n\n\t\treturn files\n\t}\n\n\tprivate assertIsValidChoice(\n\t\teventChoicesByNamespace: Record<string, SelectChoice[]>,\n\t\tnamespace: string,\n\t\teventName: string | undefined,\n\t\tfqen: string\n\t) {\n\t\tconst isValidEvent = !!eventChoicesByNamespace[namespace].find(\n\t\t\t(e) => e.value === eventName || e.value === fqen\n\t\t)\n\n\t\tif (!isValidEvent) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\tfriendlyMessage: `${eventName} is not a valid event . Try: \\n\\n${eventChoicesByNamespace[\n\t\t\t\t\tnamespace\n\t\t\t\t]\n\t\t\t\t\t.map((i) => i.value)\n\t\t\t\t\t.join('\\n')}`,\n\t\t\t\tparameters: ['eventName'],\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async syncListeners() {\n\t\treturn this.Action('event', 'sync.listeners').execute({})\n\t}\n\n\tprivate async collectEvent(\n\t\tcontracts: EventContract[],\n\t\tnamespace: string\n\t): Promise<string> {\n\t\tconst eventChoices: SelectChoice[] =\n\t\t\tthis.mapContractsToSelectChoices(contracts).eventChoicesByNamespace[\n\t\t\t\tnamespace\n\t\t\t]\n\n\t\tconst eventName = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: eventChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn eventName\n\t}\n\n\tprivate async collectNamespace(contracts: EventContract[]): Promise<string> {\n\t\tconst { namespaceChoices } = this.mapContractsToSelectChoices(contracts)\n\n\t\tconst namespace = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event namespace',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: namespaceChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn namespace\n\t}\n\n\tprivate mapContractsToSelectChoices(contracts: EventContract[]) {\n\t\tconst namespaceChoices: SelectChoice[] = [\n\t\t\t{\n\t\t\t\tlabel: 'Skill',\n\t\t\t\tvalue: SKILL_EVENT_NAMESPACE,\n\t\t\t},\n\t\t]\n\n\t\tconst eventChoicesByNamespace: Record<string, SelectChoice[]> = {\n\t\t\tskill: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'will-boot',\n\t\t\t\t\tvalue: 'will-boot',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'did-boot',\n\t\t\t\t\tvalue: 'did-boot',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\n\t\tcontracts.forEach((contract) => {\n\t\t\tconst namedSignatures =\n\t\t\t\teventContractUtil.getNamedEventSignatures(contract)\n\n\t\t\tfor (const namedSig of namedSignatures) {\n\t\t\t\tconst namespace = namedSig.eventNamespace ?? MERCURY_API_NAMESPACE\n\n\t\t\t\tif (!namespaceChoices.find((o) => o.value === namespace)) {\n\t\t\t\t\tnamespaceChoices.push({\n\t\t\t\t\t\tlabel: namesUtil.toPascal(namespace),\n\t\t\t\t\t\tvalue: namespace,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\t\teventChoicesByNamespace[namespace] = []\n\t\t\t\t}\n\n\t\t\t\teventChoicesByNamespace[namespace].push({\n\t\t\t\t\tvalue: namedSig.fullyQualifiedEventName,\n\t\t\t\t\tlabel: namedSig.fullyQualifiedEventName,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn { eventChoicesByNamespace, namespaceChoices }\n\t}\n}\n"],"file":"ListenAction.js"}
1
+ {"version":3,"file":"ListenAction.js","names":["SKILL_EVENT_NAMESPACE","CORE_EVENT_NAMESPACE","ListenAction","eventListenActionSchema","options","normalizedOptions","validateAndNormalizeOptions","response","listenerDestinationDir","versionOptions","version","eventName","namespace","schemaTypesLookupDir","ui","startLoading","fetchEventContracts","contracts","stopLoading","collectNamespace","mapContractsToSelectChoices","eventChoicesByNamespace","SchemaError","code","friendlyMessage","Object","keys","join","parameters","collectEvent","isCoreEvent","undefined","fqen","eventNameUtil","eventNamespace","split","assertIsValidChoice","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","isSkillEvent","builder","EventTemplateItemBuilder","templateItems","buildEventTemplateItemForName","emitPayloadSchemaTemplateItem","responsePayloadSchemaTemplateItem","writeListener","files","syncListeners","syncResults","actionUtil","mergeActionResults","syncEvents","errors","eventStore","Store","loadCurrentSkill","skill","namespacesForFetch","getDependencyNamespaces","didUpdateHandler","msg","slug","localNamespace","length","namespaces","Service","get","map","d","syncOptions","syncEventActionSchema","Action","execute","resolvedSchemaTypesLookupDir","writer","Writer","fullyQualifiedEventName","isValidEvent","find","e","value","i","eventChoices","prompt","type","label","isRequired","choices","namespaceChoices","forEach","contract","namedSignatures","eventContractUtil","getNamedEventSignatures","namedSig","MERCURY_API_NAMESPACE","o","push","namesUtil","toPascal","AbstractAction"],"sources":["../../../../src/features/event/actions/ListenAction.ts"],"sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport {\n\tnormalizeSchemaValues,\n\tSchemaError,\n\tSchemaTemplateItem,\n\tSelectChoice,\n} from '@sprucelabs/schema'\nimport {\n\teventContractUtil,\n\teventNameUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport {\n\tdiskUtil,\n\tnamesUtil,\n\tMERCURY_API_NAMESPACE,\n} from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport eventListenActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport EventTemplateItemBuilder from '../../../templateItemBuilders/EventTemplateItemBuilder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { FetchContractsOptions } from '../stores/EventStore'\n\nconst SKILL_EVENT_NAMESPACE = 'skill'\nconst CORE_EVENT_NAMESPACE = 'mercury'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptionsSchema\nexport default class ListenAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = eventListenActionSchema\n\tpublic invocationMessage = 'Creating event listener... 🜒'\n\tpublic commandAliases = ['listen.event', 'create.listener']\n\n\tpublic async execute(\n\t\toptions: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions\n\t): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\ttry {\n\t\t\tlet response: FeatureActionResponse = {}\n\n\t\t\tlet {\n\t\t\t\tlistenerDestinationDir,\n\t\t\t\tversion: versionOptions,\n\t\t\t\teventName,\n\t\t\t\tnamespace,\n\t\t\t\tschemaTypesLookupDir,\n\t\t\t} = normalizedOptions\n\n\t\t\tthis.ui.startLoading('Loading event contracts...')\n\n\t\t\tconst contracts = await this.fetchEventContracts(namespace)\n\n\t\t\tthis.ui.stopLoading()\n\n\t\t\tif (!namespace) {\n\t\t\t\tnamespace = await this.collectNamespace(contracts)\n\t\t\t}\n\n\t\t\tconst { eventChoicesByNamespace } =\n\t\t\t\tthis.mapContractsToSelectChoices(contracts)\n\n\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\tthrow new SchemaError({\n\t\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\t\tfriendlyMessage: `${namespace} is not a valid event namespace. Try: \\n\\n${Object.keys(\n\t\t\t\t\t\teventChoicesByNamespace\n\t\t\t\t\t).join('\\n')}`,\n\t\t\t\t\tparameters: ['namespace'],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!eventName) {\n\t\t\t\teventName = await this.collectEvent(contracts, namespace)\n\t\t\t}\n\n\t\t\tconst isCoreEvent = namespace === CORE_EVENT_NAMESPACE\n\t\t\tif (isCoreEvent) {\n\t\t\t\tnamespace = undefined\n\t\t\t}\n\n\t\t\tconst fqen = eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace: namespace,\n\t\t\t\tversion: versionOptions,\n\t\t\t})\n\n\t\t\tlet { version } = eventNameUtil.split(fqen)\n\n\t\t\tthis.assertIsValidChoice(\n\t\t\t\teventChoicesByNamespace,\n\t\t\t\tnamespace ?? 'mercury',\n\t\t\t\teventName,\n\t\t\t\tfqen\n\t\t\t)\n\n\t\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tlistenerDestinationDir\n\t\t\t)\n\n\t\t\tconst resolvedVersion = await this.resolveVersion(\n\t\t\t\tversion,\n\t\t\t\tresolvedDestination\n\t\t\t)\n\n\t\t\tconst isSkillEvent = namespace !== SKILL_EVENT_NAMESPACE\n\n\t\t\tlet emitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t\t\tlet responsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst builder = new EventTemplateItemBuilder()\n\t\t\t\tconst templateItems = builder.buildEventTemplateItemForName(\n\t\t\t\t\tcontracts,\n\t\t\t\t\teventNameUtil.join({\n\t\t\t\t\t\teventNamespace: !isCoreEvent ? namespace : undefined,\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion: resolvedVersion,\n\t\t\t\t\t})\n\t\t\t\t)\n\n\t\t\t\temitPayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.emitPayloadSchemaTemplateItem\n\t\t\t\tresponsePayloadSchemaTemplateItem =\n\t\t\t\t\ttemplateItems.responsePayloadSchemaTemplateItem\n\t\t\t}\n\n\t\t\tresponse.files = await this.writeListener({\n\t\t\t\tschemaTypesLookupDir,\n\t\t\t\tresolvedDestination,\n\t\t\t\tversion: resolvedVersion,\n\t\t\t\teventName,\n\t\t\t\tnamespace,\n\t\t\t\temitPayloadSchemaTemplateItem,\n\t\t\t\tresponsePayloadSchemaTemplateItem,\n\t\t\t})\n\n\t\t\tconst syncResults = await this.syncListeners()\n\n\t\t\tresponse = actionUtil.mergeActionResults(syncResults, response)\n\n\t\t\tif (isSkillEvent) {\n\t\t\t\tconst syncResults = await this.syncEvents(options)\n\t\t\t\tresponse = actionUtil.mergeActionResults(syncResults, response)\n\t\t\t}\n\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async fetchEventContracts(namespace?: string) {\n\t\tconst eventStore = this.Store('event')\n\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\tconst namespacesForFetch =\n\t\t\tnamespace &&\n\t\t\tnamespace !== SKILL_EVENT_NAMESPACE &&\n\t\t\tnamespace !== CORE_EVENT_NAMESPACE\n\t\t\t\t? [namespace]\n\t\t\t\t: this.getDependencyNamespaces()\n\n\t\tconst options: FetchContractsOptions = {\n\t\t\tdidUpdateHandler: (msg: string) => this.ui.startLoading(msg),\n\t\t}\n\n\t\tif (skill.slug) {\n\t\t\toptions.localNamespace = skill.slug\n\t\t}\n\n\t\tif (namespacesForFetch.length > 0) {\n\t\t\toptions.namespaces = namespacesForFetch\n\t\t}\n\n\t\tconst { contracts } = await eventStore.fetchEventContracts(options)\n\n\t\treturn contracts\n\t}\n\n\tprivate getDependencyNamespaces() {\n\t\treturn this.Service('dependency')\n\t\t\t.get()\n\t\t\t.map((d) => d.namespace)\n\t}\n\n\tprivate async syncEvents(\n\t\toptions: SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptions\n\t) {\n\t\tconst syncOptions = normalizeSchemaValues(syncEventActionSchema, options)\n\n\t\tconst syncResults = await this.Action('event', 'sync').execute(syncOptions)\n\t\treturn syncResults\n\t}\n\n\tprivate async writeListener(options: {\n\t\tresolvedDestination: string\n\t\tschemaTypesLookupDir: string\n\t\tnamespace?: string | undefined\n\t\teventName: string\n\t\temitPayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t\tversion: string\n\t\tresponsePayloadSchemaTemplateItem: SchemaTemplateItem | undefined\n\t}) {\n\t\tconst {\n\t\t\tresolvedDestination,\n\t\t\tschemaTypesLookupDir,\n\t\t\tnamespace,\n\t\t\teventName,\n\t\t\tversion,\n\t\t} = options\n\n\t\tconst resolvedSchemaTypesLookupDir = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tschemaTypesLookupDir\n\t\t)\n\t\tconst writer = this.Writer('event')\n\t\tconst files = await writer.writeListener(resolvedDestination, {\n\t\t\t...options,\n\t\t\tfullyQualifiedEventName: eventNameUtil.join({\n\t\t\t\teventName,\n\t\t\t\teventNamespace: namespace,\n\t\t\t\tversion,\n\t\t\t}),\n\t\t\tschemaTypesLookupDir: resolvedSchemaTypesLookupDir,\n\t\t})\n\n\t\treturn files\n\t}\n\n\tprivate assertIsValidChoice(\n\t\teventChoicesByNamespace: Record<string, SelectChoice[]>,\n\t\tnamespace: string,\n\t\teventName: string | undefined,\n\t\tfqen: string\n\t) {\n\t\tconst isValidEvent = !!eventChoicesByNamespace[namespace].find(\n\t\t\t(e) => e.value === eventName || e.value === fqen\n\t\t)\n\n\t\tif (!isValidEvent) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\tfriendlyMessage: `${eventName} is not a valid event . Try: \\n\\n${eventChoicesByNamespace[\n\t\t\t\t\tnamespace\n\t\t\t\t]\n\t\t\t\t\t.map((i) => i.value)\n\t\t\t\t\t.join('\\n')}`,\n\t\t\t\tparameters: ['eventName'],\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate async syncListeners() {\n\t\treturn this.Action('event', 'sync.listeners').execute({})\n\t}\n\n\tprivate async collectEvent(\n\t\tcontracts: EventContract[],\n\t\tnamespace: string\n\t): Promise<string> {\n\t\tconst eventChoices: SelectChoice[] =\n\t\t\tthis.mapContractsToSelectChoices(contracts).eventChoicesByNamespace[\n\t\t\t\tnamespace\n\t\t\t]\n\n\t\tconst eventName = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: eventChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn eventName\n\t}\n\n\tprivate async collectNamespace(contracts: EventContract[]): Promise<string> {\n\t\tconst { namespaceChoices } = this.mapContractsToSelectChoices(contracts)\n\n\t\tconst namespace = await this.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Select an event namespace',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: namespaceChoices,\n\t\t\t},\n\t\t})\n\n\t\treturn namespace\n\t}\n\n\tprivate mapContractsToSelectChoices(contracts: EventContract[]) {\n\t\tconst namespaceChoices: SelectChoice[] = [\n\t\t\t{\n\t\t\t\tlabel: 'Skill',\n\t\t\t\tvalue: SKILL_EVENT_NAMESPACE,\n\t\t\t},\n\t\t]\n\n\t\tconst eventChoicesByNamespace: Record<string, SelectChoice[]> = {\n\t\t\tskill: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'will-boot',\n\t\t\t\t\tvalue: 'will-boot',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'did-boot',\n\t\t\t\t\tvalue: 'did-boot',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\n\t\tcontracts.forEach((contract) => {\n\t\t\tconst namedSignatures =\n\t\t\t\teventContractUtil.getNamedEventSignatures(contract)\n\n\t\t\tfor (const namedSig of namedSignatures) {\n\t\t\t\tconst namespace = namedSig.eventNamespace ?? MERCURY_API_NAMESPACE\n\n\t\t\t\tif (!namespaceChoices.find((o) => o.value === namespace)) {\n\t\t\t\t\tnamespaceChoices.push({\n\t\t\t\t\t\tlabel: namesUtil.toPascal(namespace),\n\t\t\t\t\t\tvalue: namespace,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (!eventChoicesByNamespace[namespace]) {\n\t\t\t\t\teventChoicesByNamespace[namespace] = []\n\t\t\t\t}\n\n\t\t\t\teventChoicesByNamespace[namespace].push({\n\t\t\t\t\tvalue: namedSig.fullyQualifiedEventName,\n\t\t\t\t\tlabel: namedSig.fullyQualifiedEventName,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn { eventChoicesByNamespace, namespaceChoices }\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/actions/SetRemoteAction.ts"],"names":["optionsSchema","id","description","fields","remote","label","type","isRequired","options","choices","value","SyncAction","validateAndNormalizeOptions","r","Service","set","summaryLines","getHost","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,kBAD6B;AAEjCC,EAAAA,WAAW,EAAE,qDAFoB;AAGjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,MAAM,EAAE;AACPC,MAAAA,KAAK,EAAE,4BADA;AAEPC,MAAAA,IAAI,EAAE,QAFC;AAGPC,MAAAA,UAAU,EAAE,IAHL;AAIPC,MAAAA,OAAO,EAAE;AACRC,QAAAA,OAAO,EAAE,CACR;AACCC,UAAAA,KAAK,EAAE,OADR;AAECL,UAAAA,KAAK,EAAE;AAFR,SADQ,EAKR;AACCK,UAAAA,KAAK,EAAE,WADR;AAECL,UAAAA,KAAK,EAAE;AAFR,SALQ,EASR;AACCK,UAAAA,KAAK,EAAE,SADR;AAECL,UAAAA,KAAK,EAAE;AAFR,SATQ,EAaR;AACCK,UAAAA,KAAK,EAAE,YADR;AAECL,UAAAA,KAAK,EAAE;AAFR,SAbQ;AADD;AAJF;AADD;AAHyB,CAAZ,CAAtB;;IAmCqBM,U;;;;;;;;;;;;;;;uGACI,CAAC,qBAAD,C;sGACcX,a;0GACX,kB;;;;;;;mGAE3B,iBAAqBQ,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCACoB,KAAKI,2BAAL,CAAiCJ,OAAjC,CADpB,EACSJ,MADT,yBACSA,MADT;AAGOS,gBAAAA,CAHP,GAGW,KAAKC,OAAL,CAAa,QAAb,CAHX;AAICD,gBAAAA,CAAC,CAACE,GAAF,CAAMX,MAAN;AAJD,iDAMQ;AACNY,kBAAAA,YAAY,EAAE,mBAAYZ,MAAZ,mBAA+BS,CAAC,CAACI,OAAF,EAA/B;AADR,iBANR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EALuCC,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { Remote } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'setRemoteOptions',\n\tdescription: 'Point your skill to different Mercury environments.',\n\tfields: {\n\t\tremote: {\n\t\t\tlabel: 'Where should remote point?',\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'local',\n\t\t\t\t\t\tlabel: 'Local',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'developer',\n\t\t\t\t\t\tlabel: 'Development',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'sandbox',\n\t\t\t\t\t\tlabel: 'Sandbox',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'production',\n\t\t\t\t\t\tlabel: 'Production',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['set.remote [remote]']\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Set remote... 🜒'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { remote } = this.validateAndNormalizeOptions(options)\n\n\t\tconst r = this.Service('remote')\n\t\tr.set(remote as Remote)\n\n\t\treturn {\n\t\t\tsummaryLines: [`Remote: ${remote}`, `Host: ${r.getHost()}`],\n\t\t}\n\t}\n}\n"],"file":"SetRemoteAction.js"}
1
+ {"version":3,"file":"SetRemoteAction.js","names":["optionsSchema","id","description","fields","remote","label","type","isRequired","options","choices","value","SyncAction","validateAndNormalizeOptions","r","Service","set","summaryLines","getHost","AbstractAction"],"sources":["../../../../src/features/event/actions/SetRemoteAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { Remote } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'setRemoteOptions',\n\tdescription: 'Point your skill to different Mercury environments.',\n\tfields: {\n\t\tremote: {\n\t\t\tlabel: 'Where should remote point?',\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'local',\n\t\t\t\t\t\tlabel: 'Local',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'developer',\n\t\t\t\t\t\tlabel: 'Development',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'sandbox',\n\t\t\t\t\t\tlabel: 'Sandbox',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'production',\n\t\t\t\t\t\tlabel: 'Production',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['set.remote [remote]']\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Set remote... 🜒'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { remote } = this.validateAndNormalizeOptions(options)\n\n\t\tconst r = this.Service('remote')\n\t\tr.set(remote as Remote)\n\n\t\treturn {\n\t\t\tsummaryLines: [`Remote: ${remote}`, `Host: ${r.getHost()}`],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,kBAD6B;EAEjCC,WAAW,EAAE,qDAFoB;EAGjCC,MAAM,EAAE;IACPC,MAAM,EAAE;MACPC,KAAK,EAAE,4BADA;MAEPC,IAAI,EAAE,QAFC;MAGPC,UAAU,EAAE,IAHL;MAIPC,OAAO,EAAE;QACRC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,OADR;UAECL,KAAK,EAAE;QAFR,CADQ,EAKR;UACCK,KAAK,EAAE,WADR;UAECL,KAAK,EAAE;QAFR,CALQ,EASR;UACCK,KAAK,EAAE,SADR;UAECL,KAAK,EAAE;QAFR,CATQ,EAaR;UACCK,KAAK,EAAE,YADR;UAECL,KAAK,EAAE;QAFR,CAbQ;MADD;IAJF;EADD;AAHyB,CAAZ,CAAtB;;IAmCqBM,U;;;;;;;;;;;;;;;uGACI,CAAC,qBAAD,C;sGACcX,a;0GACX,kB;;;;;;;mGAE3B,iBAAqBQ,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBACoB,KAAKI,2BAAL,CAAiCJ,OAAjC,CADpB,EACSJ,MADT,yBACSA,MADT;gBAGOS,CAHP,GAGW,KAAKC,OAAL,CAAa,QAAb,CAHX;gBAICD,CAAC,CAACE,GAAF,CAAMX,MAAN;gBAJD,iCAMQ;kBACNY,YAAY,EAAE,mBAAYZ,MAAZ,mBAA+BS,CAAC,CAACI,OAAF,EAA/B;gBADR,CANR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALuCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/actions/SyncAction.ts"],"names":["SyncAction","syncEventActionSchema","options","builder","ContractBuilder","fetchAndWriteContracts","results","errors","Service","setLastSyncOptions","Action","execute","schemaSyncResults","mergedResults","actionUtil","mergeActionResults","parent","getEventContractBuilder","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;IAOqBA,U;;;;;;;;;;;;;;;uGACI,CAAC,aAAD,C;sGACcC,4B;0GACX,+B;;;;;;;mGAE3B,iBAAqBC,OAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,OADP,GACiB,KAAKC,eAAL,EADjB;AAAA;AAAA,uBAG8CD,OAAO,CAACE,sBAAR,CAC5CH,OAD4C,CAH9C;;AAAA;AAGOI,gBAAAA,OAHP;;AAAA,qBAOKA,OAAO,CAACC,MAPb;AAAA;AAAA;AAAA;;AAAA,iDAQS;AACNA,kBAAAA,MAAM,EAAED,OAAO,CAACC;AADV,iBART;;AAAA;AAaC,qBAAKC,OAAL,CAAa,eAAb,EAA8BC,kBAA9B,CAAiDP,OAAjD;AAbD;AAAA,uBAeiC,KAAKQ,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAfjC;;AAAA;AAeOC,gBAAAA,iBAfP;AAiBOC,gBAAAA,aAjBP,GAiBuBC,mBAAWC,kBAAX,CACrBH,iBADqB,EAErBN,OAFqB,CAjBvB;AAAA,iDAsBQO,aAtBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAyBA,2BAA0B;AACzB,aAAQ,KAAKG,MAAN,CAA8BC,uBAA9B,EAAP;AACA;;;EAhCsCC,2B","sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport EventFeature from '../EventFeature'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptions\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['sync.events']\n\tpublic optionsSchema: OptionsSchema = syncEventActionSchema\n\tpublic invocationMessage = 'Syncing event contracts... 🜒'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst builder = this.ContractBuilder()\n\n\t\tconst results: FeatureActionResponse = await builder.fetchAndWriteContracts(\n\t\t\toptions\n\t\t)\n\n\t\tif (results.errors) {\n\t\t\treturn {\n\t\t\t\terrors: results.errors,\n\t\t\t}\n\t\t}\n\n\t\tthis.Service('eventSettings').setLastSyncOptions(options)\n\n\t\tconst schemaSyncResults = await this.Action('schema', 'sync').execute({})\n\n\t\tconst mergedResults = actionUtil.mergeActionResults(\n\t\t\tschemaSyncResults,\n\t\t\tresults\n\t\t)\n\n\t\treturn mergedResults\n\t}\n\n\tprivate ContractBuilder() {\n\t\treturn (this.parent as EventFeature).getEventContractBuilder()\n\t}\n}\n"],"file":"SyncAction.js"}
1
+ {"version":3,"file":"SyncAction.js","names":["SyncAction","syncEventActionSchema","options","builder","ContractBuilder","fetchAndWriteContracts","results","errors","Service","setLastSyncOptions","Action","execute","schemaSyncResults","mergedResults","actionUtil","mergeActionResults","parent","getEventContractBuilder","AbstractAction"],"sources":["../../../../src/features/event/actions/SyncAction.ts"],"sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncEventActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport EventFeature from '../EventFeature'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptions\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['sync.events']\n\tpublic optionsSchema: OptionsSchema = syncEventActionSchema\n\tpublic invocationMessage = 'Syncing event contracts... 🜒'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst builder = this.ContractBuilder()\n\n\t\tconst results: FeatureActionResponse = await builder.fetchAndWriteContracts(\n\t\t\toptions\n\t\t)\n\n\t\tif (results.errors) {\n\t\t\treturn {\n\t\t\t\terrors: results.errors,\n\t\t\t}\n\t\t}\n\n\t\tthis.Service('eventSettings').setLastSyncOptions(options)\n\n\t\tconst schemaSyncResults = await this.Action('schema', 'sync').execute({})\n\n\t\tconst mergedResults = actionUtil.mergeActionResults(\n\t\t\tschemaSyncResults,\n\t\t\tresults\n\t\t)\n\n\t\treturn mergedResults\n\t}\n\n\tprivate ContractBuilder() {\n\t\treturn (this.parent as EventFeature).getEventContractBuilder()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;IAOqBA,U;;;;;;;;;;;;;;;uGACI,CAAC,aAAD,C;sGACcC,4B;0GACX,+B;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,OADP,GACiB,KAAKC,eAAL,EADjB;gBAAA;gBAAA,OAG8CD,OAAO,CAACE,sBAAR,CAC5CH,OAD4C,CAH9C;;cAAA;gBAGOI,OAHP;;gBAAA,KAOKA,OAAO,CAACC,MAPb;kBAAA;kBAAA;gBAAA;;gBAAA,iCAQS;kBACNA,MAAM,EAAED,OAAO,CAACC;gBADV,CART;;cAAA;gBAaC,KAAKC,OAAL,CAAa,eAAb,EAA8BC,kBAA9B,CAAiDP,OAAjD;gBAbD;gBAAA,OAeiC,KAAKQ,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CAfjC;;cAAA;gBAeOC,iBAfP;gBAiBOC,aAjBP,GAiBuBC,mBAAWC,kBAAX,CACrBH,iBADqB,EAErBN,OAFqB,CAjBvB;gBAAA,iCAsBQO,aAtBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAyBA,2BAA0B;MACzB,OAAQ,KAAKG,MAAN,CAA8BC,uBAA9B,EAAP;IACA;;;EAhCsCC,2B"}