@sprucelabs/spruce-cli 15.2.24 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) 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.map +1 -1
  116. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  119. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  121. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  123. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  124. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  125. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  127. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  129. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  130. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  132. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  133. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  136. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  138. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  139. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  140. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  141. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  142. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  143. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  144. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  145. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  146. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  147. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  148. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  149. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  150. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  151. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  152. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  153. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  155. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  156. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  159. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  161. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  162. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  163. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  164. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  165. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  166. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  167. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  168. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  169. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  171. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  172. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  173. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  174. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  175. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  176. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  177. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  178. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  180. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  181. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
  182. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
  183. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  184. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  193. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  194. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  198. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  199. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  200. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  203. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  204. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  205. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  206. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  207. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  208. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  209. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  211. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  212. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  213. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  214. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  216. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  217. package/build/__tests__/implementation/EventStore.test.js +61 -33
  218. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  219. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  220. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  221. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  222. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  223. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  224. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  225. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  226. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  227. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  228. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  229. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  230. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  231. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  232. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  234. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  236. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  237. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  238. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  240. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  241. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  242. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  243. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  244. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  245. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  246. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  247. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  248. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  249. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  250. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  251. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  252. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  253. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  254. package/build/addons/filePrompt.addon.js.map +1 -1
  255. package/build/cli.js.map +1 -1
  256. package/build/components/AbstractComponent.js.map +1 -1
  257. package/build/components/FormComponent.js.map +1 -1
  258. package/build/components/QuizComponent.js.map +1 -1
  259. package/build/constants.js.map +1 -1
  260. package/build/errors/SpruceError.js.map +1 -1
  261. package/build/errors/actionCancelled.builder.js.map +1 -1
  262. package/build/errors/bootError.builder.js.map +1 -1
  263. package/build/errors/buildFailed.builder.js.map +1 -1
  264. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  265. package/build/errors/commandAborted.builder.js.map +1 -1
  266. package/build/errors/commandBlocked.builder.js.map +1 -1
  267. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  268. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  269. package/build/errors/dependencyExists.builder.js.map +1 -1
  270. package/build/errors/deployFailed.builder.js.map +1 -1
  271. package/build/errors/directoryEmpty.builder.js.map +1 -1
  272. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  273. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  274. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  275. package/build/errors/failedToImport.builder.js.map +1 -1
  276. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  277. package/build/errors/fileExists.builder.js.map +1 -1
  278. package/build/errors/generic.builder.js.map +1 -1
  279. package/build/errors/invalidCommand.builder.js.map +1 -1
  280. package/build/errors/invalidEventContract.builder.js.map +1 -1
  281. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  282. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  283. package/build/errors/lintFailed.builder.js.map +1 -1
  284. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  285. package/build/errors/missingDependencies.builder.js.map +1 -1
  286. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  287. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  288. package/build/errors/notImplemented.builder.js.map +1 -1
  289. package/build/errors/notLoggedIn.builder.js.map +1 -1
  290. package/build/errors/schemaExists.builder.js.map +1 -1
  291. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  292. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  293. package/build/errors/skillNotFound.builder.js.map +1 -1
  294. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  295. package/build/errors/skillViewExists.builder.js.map +1 -1
  296. package/build/errors/storeExists.builder.js.map +1 -1
  297. package/build/errors/testFailed.builder.js.map +1 -1
  298. package/build/errors/themeExists.builder.js.map +1 -1
  299. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  300. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  301. package/build/features/AbstractAction.js.map +1 -1
  302. package/build/features/AbstractFeature.js.map +1 -1
  303. package/build/features/ActionExecuter.js.map +1 -1
  304. package/build/features/ActionFactory.js.map +1 -1
  305. package/build/features/ActionQuestionAsker.js.map +1 -1
  306. package/build/features/FeatureCommandAttacher.js.map +1 -1
  307. package/build/features/FeatureInstaller.js.map +1 -1
  308. package/build/features/FeatureInstallerFactory.js.map +1 -1
  309. package/build/features/OverrideActionDecorator.js.map +1 -1
  310. package/build/features/cache/CacheFeature.js.map +1 -1
  311. package/build/features/cache/actions/DisableAction.js.map +1 -1
  312. package/build/features/cache/actions/EnableAction.js.map +1 -1
  313. package/build/features/cache/constants.js.map +1 -1
  314. package/build/features/conversation/ConversationFeature.js.map +1 -1
  315. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  316. package/build/features/conversation/actions/TestAction.js.map +1 -1
  317. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  318. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  319. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  320. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  321. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  322. package/build/features/deploy/DeployFeature.js.map +1 -1
  323. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  324. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  325. package/build/features/error/ErrorFeature.js.map +1 -1
  326. package/build/features/error/ParentTestFinder.js.map +1 -1
  327. package/build/features/error/actions/CreateAction.js.map +1 -1
  328. package/build/features/error/actions/SyncAction.js.map +1 -1
  329. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  330. package/build/features/event/EventFeature.js.map +1 -1
  331. package/build/features/event/actions/CreateAction.js.map +1 -1
  332. package/build/features/event/actions/ListenAction.js.map +1 -1
  333. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  334. package/build/features/event/actions/SyncAction.js.map +1 -1
  335. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  336. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  337. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  338. package/build/features/event/services/EventSettingsService.js.map +1 -1
  339. package/build/features/event/services/RemoteService.js.map +1 -1
  340. package/build/features/event/stores/EventStore.d.ts +1 -0
  341. package/build/features/event/stores/EventStore.js +6 -1
  342. package/build/features/event/stores/EventStore.js.map +1 -1
  343. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  344. package/build/features/event/stores/ListenerStore.js +6 -1
  345. package/build/features/event/stores/ListenerStore.js.map +1 -1
  346. package/build/features/event/writers/EventWriter.js +1 -1
  347. package/build/features/event/writers/EventWriter.js.map +1 -1
  348. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  349. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  350. package/build/features/feature.utilities.js.map +1 -1
  351. package/build/features/features.types.js.map +1 -1
  352. package/build/features/log/LogFeature.js.map +1 -1
  353. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  354. package/build/features/log/writers/LogWriter.js.map +1 -1
  355. package/build/features/node/NodeFeature.js.map +1 -1
  356. package/build/features/node/actions/CreateAction.js.map +1 -1
  357. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  358. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  359. package/build/features/node/writers/NodeWriter.js.map +1 -1
  360. package/build/features/onboard/OnboardFeature.js.map +1 -1
  361. package/build/features/onboard/ScriptLoader.js.map +1 -1
  362. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  363. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  364. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  365. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  366. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  367. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  368. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  369. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  370. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  371. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  372. package/build/features/organization/OrganizationFeature.js.map +1 -1
  373. package/build/features/organization/actions/CreateAction.js.map +1 -1
  374. package/build/features/organization/actions/InstallAction.js.map +1 -1
  375. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  376. package/build/features/person/PersonFeature.js.map +1 -1
  377. package/build/features/person/actions/LoginAction.js.map +1 -1
  378. package/build/features/person/actions/LogoutAction.js.map +1 -1
  379. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  380. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  381. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  382. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  383. package/build/features/schema/SchemaFeature.js.map +1 -1
  384. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  385. package/build/features/schema/actions/CreateAction.js.map +1 -1
  386. package/build/features/schema/actions/SyncAction.js.map +1 -1
  387. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  388. package/build/features/schema/services/SchemaService.js.map +1 -1
  389. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  390. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  391. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  392. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  393. package/build/features/schema/writers/SchemaWriter.js +1 -1
  394. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  395. package/build/features/skill/SkillFeature.js.map +1 -1
  396. package/build/features/skill/actions/BootAction.js.map +1 -1
  397. package/build/features/skill/actions/CreateAction.js.map +1 -1
  398. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  399. package/build/features/skill/actions/LoginAction.js.map +1 -1
  400. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  401. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  402. package/build/features/skill/stores/SkillStore.js.map +1 -1
  403. package/build/features/skill/updaters/Updater.js.map +1 -1
  404. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  405. package/build/features/store/StoreFeature.js +1 -1
  406. package/build/features/store/StoreFeature.js.map +1 -1
  407. package/build/features/store/actions/CreateAction.js.map +1 -1
  408. package/build/features/store/actions/SyncAction.js.map +1 -1
  409. package/build/features/store/stores/StoreStore.d.ts +1 -0
  410. package/build/features/store/stores/StoreStore.js +6 -1
  411. package/build/features/store/stores/StoreStore.js.map +1 -1
  412. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  413. package/build/features/store/writers/StoreWriter.js.map +1 -1
  414. package/build/features/test/TestFeature.js.map +1 -1
  415. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  416. package/build/features/test/TestReporter.js.map +1 -1
  417. package/build/features/test/TestRunner.js.map +1 -1
  418. package/build/features/test/actions/CreateAction.js +1 -1
  419. package/build/features/test/actions/CreateAction.js.map +1 -1
  420. package/build/features/test/actions/SetupAction.js.map +1 -1
  421. package/build/features/test/actions/TestAction.js.map +1 -1
  422. package/build/features/test/test.types.js.map +1 -1
  423. package/build/features/test/writers/TestWriter.js.map +1 -1
  424. package/build/features/universalDevDependencies.js.map +1 -1
  425. package/build/features/universalFileDescriptions.js.map +1 -1
  426. package/build/features/universalScripts.js.map +1 -1
  427. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  428. package/build/features/validateAndNormalize.utility.js +2 -2
  429. package/build/features/validateAndNormalize.utility.js.map +1 -1
  430. package/build/features/view/ViewFeature.js.map +1 -1
  431. package/build/features/view/actions/CreateAction.js.map +1 -1
  432. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  433. package/build/features/view/actions/SyncAction.js.map +1 -1
  434. package/build/features/view/actions/WatchAction.js.map +1 -1
  435. package/build/features/view/stores/ViewStore.js.map +1 -1
  436. package/build/features/view/writers/ViewWriter.js +1 -3
  437. package/build/features/view/writers/ViewWriter.js.map +1 -1
  438. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  439. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  440. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  441. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  442. package/build/features/watch/WatchFeature.js.map +1 -1
  443. package/build/index.js.map +1 -1
  444. package/build/interfaces/SpyInterface.js.map +1 -1
  445. package/build/interfaces/TerminalInterface.js.map +1 -1
  446. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  460. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  461. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  462. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  463. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  464. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  465. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  466. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  467. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  468. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  469. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  470. package/build/services/BuildService.js.map +1 -1
  471. package/build/services/CommandService.js.map +1 -1
  472. package/build/services/DependencyService.js.map +1 -1
  473. package/build/services/GameService.js.map +1 -1
  474. package/build/services/ImportService.js.map +1 -1
  475. package/build/services/LintService.js.map +1 -1
  476. package/build/services/PkgService.js.map +1 -1
  477. package/build/services/ServiceFactory.js.map +1 -1
  478. package/build/services/TypeCheckerService.js.map +1 -1
  479. package/build/stores/AbstractLocalStore.js.map +1 -1
  480. package/build/stores/AbstractStore.js.map +1 -1
  481. package/build/stores/StoreFactory.js.map +1 -1
  482. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  483. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  484. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  485. package/build/tests/AbstractCliTest.js.map +1 -1
  486. package/build/tests/AbstractErrorTest.js.map +1 -1
  487. package/build/tests/AbstractEventTest.js.map +1 -1
  488. package/build/tests/AbstractSchemaTest.js.map +1 -1
  489. package/build/tests/AbstractSkillTest.js.map +1 -1
  490. package/build/tests/AbstractTestTest.js.map +1 -1
  491. package/build/tests/CommandFaker.d.ts +2 -1
  492. package/build/tests/CommandFaker.js +13 -7
  493. package/build/tests/CommandFaker.js.map +1 -1
  494. package/build/tests/JestJsonParser.js.map +1 -1
  495. package/build/tests/MockProgramFactory.js.map +1 -1
  496. package/build/tests/buildTestCache.js.map +1 -1
  497. package/build/tests/cleanTestCache.js.map +1 -1
  498. package/build/tests/cleanTestData.js.map +1 -1
  499. package/build/tests/constants.js.map +1 -1
  500. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  501. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  502. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  503. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  504. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  505. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  506. package/build/tests/utilities/test.utility.js.map +1 -1
  507. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  508. package/build/types/apiClient.types.js.map +1 -1
  509. package/build/types/cli.types.js.map +1 -1
  510. package/build/types/graphicsInterface.types.js.map +1 -1
  511. package/build/updaters/ScriptUpdater.js.map +1 -1
  512. package/build/utilities/action.utility.js.map +1 -1
  513. package/build/utilities/apiClient.utility.js.map +1 -1
  514. package/build/utilities/argParser.utility.js.map +1 -1
  515. package/build/utilities/commander.utility.js.map +1 -1
  516. package/build/utilities/duration.utility.js.map +1 -1
  517. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  518. package/build/utilities/form.utility.js.map +1 -1
  519. package/build/utilities/introspection.utility.js.map +1 -1
  520. package/build/utilities/isCi.js.map +1 -1
  521. package/build/utilities/tsConfig.utility.js.map +1 -1
  522. package/build/utilities/ui.utility.js.map +1 -1
  523. package/build/widgets/Theme.js.map +1 -1
  524. package/build/widgets/WidgetFactory.js.map +1 -1
  525. package/build/widgets/keySelectChoices.js.map +1 -1
  526. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  527. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  528. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  529. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  530. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  531. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  532. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  533. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  534. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  535. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  536. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  537. package/build/widgets/types/button.types.js.map +1 -1
  538. package/build/widgets/types/factory.types.js.map +1 -1
  539. package/build/widgets/types/input.types.js.map +1 -1
  540. package/build/widgets/types/layout.types.js.map +1 -1
  541. package/build/widgets/types/menuBar.types.js.map +1 -1
  542. package/build/widgets/types/popup.types.js.map +1 -1
  543. package/build/widgets/types/progressBar.types.js.map +1 -1
  544. package/build/widgets/types/table.types.js.map +1 -1
  545. package/build/widgets/types/text.types.js.map +1 -1
  546. package/build/widgets/types/widgets.types.js.map +1 -1
  547. package/build/widgets/types/window.types.js.map +1 -1
  548. package/build/widgets/widget.utilities.js.map +1 -1
  549. package/build/writers/AbstractWriter.js.map +1 -1
  550. package/build/writers/WriterFactory.js.map +1 -1
  551. package/package.json +36 -36
  552. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
  553. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  554. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  555. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  556. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  557. package/src/features/AbstractAction.ts +2 -2
  558. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  559. package/src/features/event/stores/EventStore.ts +11 -8
  560. package/src/features/event/stores/ListenerStore.ts +5 -3
  561. package/src/features/event/writers/EventWriter.ts +1 -1
  562. package/src/features/schema/writers/SchemaWriter.ts +1 -1
  563. package/src/features/store/StoreFeature.ts +1 -1
  564. package/src/features/store/stores/StoreStore.ts +5 -1
  565. package/src/features/test/actions/CreateAction.ts +1 -1
  566. package/src/features/validateAndNormalize.utility.ts +2 -2
  567. package/src/features/view/writers/ViewWriter.ts +3 -2
  568. package/src/tests/CommandFaker.ts +9 -5
@@ -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","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"],"mappings":"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","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"],"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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"}
@@ -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","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"],"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'\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"],"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/actions/SyncListenersAction.ts"],"names":["syncListenersOptionScheam","id","fields","SyncListenerAction","Store","loadListeners","listeners","builder","ListenerTemplateItemBuilder","templateItems","buildTemplateItems","cwd","Writer","writeListenerMap","diskUtil","resolveHashSprucePath","files","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,yBAAyB,GAAG,yBAAY;AAC7CC,EAAAA,EAAE,EAAE,sBADyC;AAE7CC,EAAAA,MAAM,EAAE;AAFqC,CAAZ,CAAlC;;IAOqBC,kB;;;;;;;;;;;;;;;sGACkBH,yB;0GACX,yB;uGACH,CAAC,gBAAD,C;;;;;;;mGAExB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACyB,KAAKI,KAAL,CAAW,UAAX,EAAuBC,aAAvB,EADzB;;AAAA;AACOC,gBAAAA,SADP;AAEOC,gBAAAA,OAFP,GAEiB,IAAIC,uCAAJ,EAFjB;AAIOC,gBAAAA,aAJP,GAIuBF,OAAO,CAACG,kBAAR,CAA2B;AAChDJ,kBAAAA,SAAS,EAATA,SADgD;AAEhDK,kBAAAA,GAAG,EAAE,KAAKA;AAFsC,iBAA3B,CAJvB;AAAA;AAAA,uBASqB,KAAKC,MAAL,CAAY,OAAZ,EAAqBC,gBAArB,CACnBC,2BAASC,qBAAT,CAA+B,KAAKJ,GAApC,EAAyC,QAAzC,CADmB,EAEnB;AACCL,kBAAAA,SAAS,EAAEG;AADZ,iBAFmB,CATrB;;AAAA;AASOO,gBAAAA,KATP;AAAA,iDAgBQ;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAhBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL+CC,2B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractAction from '../../AbstractAction'\nimport ListenerTemplateItemBuilder from '../builders/ListenerTemplateItemBuilder'\n\nconst syncListenersOptionScheam = buildSchema({\n\tid: 'syncListenersOptions',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof syncListenersOptionScheam\n\nexport default class SyncListenerAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = syncListenersOptionScheam\n\tpublic invocationMessage = 'Syncing listeners... 🎧'\n\tpublic commandAliases = ['sync.listeners']\n\n\tpublic async execute() {\n\t\tconst listeners = await this.Store('listener').loadListeners()\n\t\tconst builder = new ListenerTemplateItemBuilder()\n\n\t\tconst templateItems = builder.buildTemplateItems({\n\t\t\tlisteners,\n\t\t\tcwd: this.cwd,\n\t\t})\n\n\t\tconst files = await this.Writer('event').writeListenerMap(\n\t\t\tdiskUtil.resolveHashSprucePath(this.cwd, 'events'),\n\t\t\t{\n\t\t\t\tlisteners: templateItems,\n\t\t\t}\n\t\t)\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"file":"SyncListenersAction.js"}
1
+ {"version":3,"file":"SyncListenersAction.js","names":["syncListenersOptionScheam","id","fields","SyncListenerAction","Store","loadListeners","listeners","builder","ListenerTemplateItemBuilder","templateItems","buildTemplateItems","cwd","Writer","writeListenerMap","diskUtil","resolveHashSprucePath","files","AbstractAction"],"sources":["../../../../src/features/event/actions/SyncListenersAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractAction from '../../AbstractAction'\nimport ListenerTemplateItemBuilder from '../builders/ListenerTemplateItemBuilder'\n\nconst syncListenersOptionScheam = buildSchema({\n\tid: 'syncListenersOptions',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof syncListenersOptionScheam\n\nexport default class SyncListenerAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = syncListenersOptionScheam\n\tpublic invocationMessage = 'Syncing listeners... 🎧'\n\tpublic commandAliases = ['sync.listeners']\n\n\tpublic async execute() {\n\t\tconst listeners = await this.Store('listener').loadListeners()\n\t\tconst builder = new ListenerTemplateItemBuilder()\n\n\t\tconst templateItems = builder.buildTemplateItems({\n\t\t\tlisteners,\n\t\t\tcwd: this.cwd,\n\t\t})\n\n\t\tconst files = await this.Writer('event').writeListenerMap(\n\t\t\tdiskUtil.resolveHashSprucePath(this.cwd, 'events'),\n\t\t\t{\n\t\t\t\tlisteners: templateItems,\n\t\t\t}\n\t\t)\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,yBAAyB,GAAG,yBAAY;EAC7CC,EAAE,EAAE,sBADyC;EAE7CC,MAAM,EAAE;AAFqC,CAAZ,CAAlC;;IAOqBC,kB;;;;;;;;;;;;;;;sGACkBH,yB;0GACX,yB;uGACH,CAAC,gBAAD,C;;;;;;;mGAExB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACyB,KAAKI,KAAL,CAAW,UAAX,EAAuBC,aAAvB,EADzB;;cAAA;gBACOC,SADP;gBAEOC,OAFP,GAEiB,IAAIC,uCAAJ,EAFjB;gBAIOC,aAJP,GAIuBF,OAAO,CAACG,kBAAR,CAA2B;kBAChDJ,SAAS,EAATA,SADgD;kBAEhDK,GAAG,EAAE,KAAKA;gBAFsC,CAA3B,CAJvB;gBAAA;gBAAA,OASqB,KAAKC,MAAL,CAAY,OAAZ,EAAqBC,gBAArB,CACnBC,2BAASC,qBAAT,CAA+B,KAAKJ,GAApC,EAAyC,QAAzC,CADmB,EAEnB;kBACCL,SAAS,EAAEG;gBADZ,CAFmB,CATrB;;cAAA;gBASOO,KATP;gBAAA,iCAgBQ;kBACNA,KAAK,EAALA;gBADM,CAhBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAL+CC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/builders/EventContractBuilder.ts"],"names":["EventContractBuilder","options","optionsSchema","ui","eventWriter","eventGenerator","cwd","eventStore","skillStore","dependencyService","normalizedOptions","validateAndNormalizeUtil","validateAndNormalize","contractDestinationDir","resolvedDestination","diskUtil","resolvePath","fetchAndBuildTemplateItems","shouldSyncOnlyCoreEvents","eventBuilderFile","errors","schemaTemplateItems","eventContractTemplateItems","length","startLoading","writeContracts","shouldImportCoreEvents","files","deleteOrphanedEventContracts","map","a","path","lookupDir","existingContracts","matches","diff","filter","m","includes","forEach","f","deleteFile","deleteEmptyDirs","existingSchemas","filteredSchemas","filterSchemasBasedOnCallbackPayload","schemas","i","schema","idWithVersion","find","s","loadCurrentSkillsNamespace","namespace","namespaces","get","d","fetchEventContracts","localNamespace","didUpdateHandler","msg","contractResults","undefined","namesUtil","toKebab","itemBuilder","EventTemplateItemBuilder","buildTemplateItems","contracts"],"mappings":"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","sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport {\n\tnormalizeSchemaToIdWithVersion,\n\tSchema,\n\tSchemaTemplateItem,\n} from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual } from 'lodash'\nimport DependencyService from '../../../services/DependencyService'\nimport EventTemplateItemBuilder from '../../../templateItemBuilders/EventTemplateItemBuilder'\nimport { GraphicsInterface } from '../../../types/cli.types'\nimport { FeatureActionResponse } from '../../features.types'\nimport SkillStore from '../../skill/stores/SkillStore'\nimport validateAndNormalizeUtil from '../../validateAndNormalize.utility'\nimport EventStore from '../stores/EventStore'\nimport EventWriter from '../writers/EventWriter'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptions\n\nexport default class EventContractBuilder {\n\tprivate optionsSchema: OptionsSchema\n\tprivate ui: GraphicsInterface\n\tprivate eventWriter: EventWriter\n\tprivate cwd: string\n\tprivate eventStore: EventStore\n\tprivate skillStore: SkillStore\n\tprivate dependencyService: DependencyService\n\n\tpublic constructor(options: {\n\t\toptionsSchema: OptionsSchema\n\t\tui: GraphicsInterface\n\t\teventGenerator: EventWriter\n\t\tcwd: string\n\t\teventStore: EventStore\n\t\tskillStore: SkillStore\n\t\tdependencyService: DependencyService\n\t}) {\n\t\tthis.optionsSchema = options.optionsSchema\n\t\tthis.ui = options.ui\n\t\tthis.eventWriter = options.eventGenerator\n\t\tthis.cwd = options.cwd\n\t\tthis.eventStore = options.eventStore\n\t\tthis.skillStore = options.skillStore\n\t\tthis.dependencyService = options.dependencyService\n\t}\n\n\tpublic async fetchAndWriteContracts(\n\t\toptions: Options\n\t): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = validateAndNormalizeUtil.validateAndNormalize(\n\t\t\tthis.optionsSchema,\n\t\t\toptions\n\t\t)\n\n\t\tconst { contractDestinationDir } = normalizedOptions\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tcontractDestinationDir\n\t\t)\n\n\t\tconst { errors, schemaTemplateItems, eventContractTemplateItems } =\n\t\t\tawait this.fetchAndBuildTemplateItems({\n\t\t\t\tshouldSyncOnlyCoreEvents: options.shouldSyncOnlyCoreEvents ?? false,\n\t\t\t\teventBuilderFile: normalizedOptions.eventBuilderFile,\n\t\t\t})\n\n\t\tif (errors && errors?.length > 0) {\n\t\t\treturn {\n\t\t\t\terrors,\n\t\t\t}\n\t\t}\n\n\t\tthis.ui.startLoading('Generating contracts...')\n\n\t\tconst files = await this.eventWriter.writeContracts(resolvedDestination, {\n\t\t\t...normalizedOptions,\n\t\t\teventContractTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tshouldImportCoreEvents: !options.shouldSyncOnlyCoreEvents,\n\t\t})\n\n\t\tawait this.deleteOrphanedEventContracts(\n\t\t\tresolvedDestination,\n\t\t\tfiles.map((a) => a.path)\n\t\t)\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async deleteOrphanedEventContracts(\n\t\tlookupDir: string,\n\t\texistingContracts: string[]\n\t) {\n\t\tconst matches = await globby(lookupDir + '/**/*.contract.ts')\n\t\tconst diff = matches.filter((m) => !existingContracts.includes(m))\n\n\t\tdiff.forEach((f) => diskUtil.deleteFile(f))\n\n\t\tdiskUtil.deleteEmptyDirs(lookupDir)\n\t}\n\n\tpublic async fetchContractsAndGenerateUniqueSchemas(\n\t\texistingSchemas: Schema[],\n\t\tshouldSyncOnlyCoreEvents: boolean\n\t): Promise<FeatureActionResponse & { schemas?: Schema[] }> {\n\t\tconst { errors, schemaTemplateItems } =\n\t\t\tawait this.fetchAndBuildTemplateItems({ shouldSyncOnlyCoreEvents })\n\n\t\tif (errors && errors?.length > 0) {\n\t\t\treturn {\n\t\t\t\terrors,\n\t\t\t}\n\t\t}\n\n\t\tconst filteredSchemas = this.filterSchemasBasedOnCallbackPayload(\n\t\t\texistingSchemas,\n\t\t\tschemaTemplateItems\n\t\t)\n\n\t\treturn {\n\t\t\tschemas: filteredSchemas,\n\t\t}\n\t}\n\n\tprivate filterSchemasBasedOnCallbackPayload(\n\t\texistingSchemas: Schema[],\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t) {\n\t\tconst schemas = schemaTemplateItems.map((i) => i.schema)\n\t\tconst filteredSchemas = schemas.filter((schema) => {\n\t\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\t\treturn !existingSchemas.find((s) =>\n\t\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t\t)\n\t\t})\n\n\t\treturn filteredSchemas\n\t}\n\n\tprivate async fetchAndBuildTemplateItems(options: {\n\t\tshouldSyncOnlyCoreEvents?: boolean\n\t\teventBuilderFile?: string\n\t}) {\n\t\tconst { shouldSyncOnlyCoreEvents, eventBuilderFile } = options\n\n\t\tthis.ui.startLoading('Loading skill details...')\n\n\t\tlet namespace: string | undefined =\n\t\t\tawait this.skillStore.loadCurrentSkillsNamespace()\n\n\t\tthis.ui.startLoading('Fetching event contracts...')\n\n\t\tconst namespaces = shouldSyncOnlyCoreEvents\n\t\t\t? ['core']\n\t\t\t: this.dependencyService.get().map((d) => d.namespace)\n\n\t\tconst contractResults = await this.eventStore.fetchEventContracts({\n\t\t\tlocalNamespace: namespace,\n\t\t\tnamespaces,\n\t\t\tdidUpdateHandler: (msg) => {\n\t\t\t\tthis.ui.startLoading(msg)\n\t\t\t},\n\t\t})\n\n\t\tif (contractResults.errors.length > 0) {\n\t\t\treturn {\n\t\t\t\terrors: contractResults.errors,\n\t\t\t\teventContractTemplateItems: [],\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t}\n\t\t}\n\n\t\tif (shouldSyncOnlyCoreEvents) {\n\t\t\tnamespace = undefined\n\t\t} else {\n\t\t\tnamespace = namesUtil.toKebab(namespace)\n\t\t}\n\n\t\tthis.ui.startLoading('Building contracts...')\n\n\t\tconst itemBuilder = new EventTemplateItemBuilder()\n\t\tconst { eventContractTemplateItems, schemaTemplateItems } =\n\t\t\titemBuilder.buildTemplateItems({\n\t\t\t\tcontracts: contractResults.contracts,\n\t\t\t\tlocalNamespace: namespace,\n\t\t\t\teventBuilderFile,\n\t\t\t})\n\n\t\treturn {\n\t\t\teventContractTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"file":"EventContractBuilder.js"}
1
+ {"version":3,"file":"EventContractBuilder.js","names":["EventContractBuilder","options","optionsSchema","ui","eventWriter","eventGenerator","cwd","eventStore","skillStore","dependencyService","normalizedOptions","validateAndNormalizer","validateAndNormalize","contractDestinationDir","resolvedDestination","diskUtil","resolvePath","fetchAndBuildTemplateItems","shouldSyncOnlyCoreEvents","eventBuilderFile","errors","schemaTemplateItems","eventContractTemplateItems","length","startLoading","writeContracts","shouldImportCoreEvents","files","deleteOrphanedEventContracts","map","a","path","lookupDir","existingContracts","matches","diff","filter","m","includes","forEach","f","deleteFile","deleteEmptyDirs","existingSchemas","filteredSchemas","filterSchemasBasedOnCallbackPayload","schemas","i","schema","idWithVersion","find","s","loadCurrentSkillsNamespace","namespace","namespaces","get","d","fetchEventContracts","localNamespace","didUpdateHandler","msg","contractResults","undefined","namesUtil","toKebab","itemBuilder","EventTemplateItemBuilder","buildTemplateItems","contracts"],"sources":["../../../../src/features/event/builders/EventContractBuilder.ts"],"sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport {\n\tnormalizeSchemaToIdWithVersion,\n\tSchema,\n\tSchemaTemplateItem,\n} from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual } from 'lodash'\nimport DependencyService from '../../../services/DependencyService'\nimport EventTemplateItemBuilder from '../../../templateItemBuilders/EventTemplateItemBuilder'\nimport { GraphicsInterface } from '../../../types/cli.types'\nimport { FeatureActionResponse } from '../../features.types'\nimport SkillStore from '../../skill/stores/SkillStore'\nimport validateAndNormalizer from '../../validateAndNormalize.utility'\nimport EventStore from '../stores/EventStore'\nimport EventWriter from '../writers/EventWriter'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptions\n\nexport default class EventContractBuilder {\n\tprivate optionsSchema: OptionsSchema\n\tprivate ui: GraphicsInterface\n\tprivate eventWriter: EventWriter\n\tprivate cwd: string\n\tprivate eventStore: EventStore\n\tprivate skillStore: SkillStore\n\tprivate dependencyService: DependencyService\n\n\tpublic constructor(options: {\n\t\toptionsSchema: OptionsSchema\n\t\tui: GraphicsInterface\n\t\teventGenerator: EventWriter\n\t\tcwd: string\n\t\teventStore: EventStore\n\t\tskillStore: SkillStore\n\t\tdependencyService: DependencyService\n\t}) {\n\t\tthis.optionsSchema = options.optionsSchema\n\t\tthis.ui = options.ui\n\t\tthis.eventWriter = options.eventGenerator\n\t\tthis.cwd = options.cwd\n\t\tthis.eventStore = options.eventStore\n\t\tthis.skillStore = options.skillStore\n\t\tthis.dependencyService = options.dependencyService\n\t}\n\n\tpublic async fetchAndWriteContracts(\n\t\toptions: Options\n\t): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = validateAndNormalizer.validateAndNormalize(\n\t\t\tthis.optionsSchema,\n\t\t\toptions\n\t\t)\n\n\t\tconst { contractDestinationDir } = normalizedOptions\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tcontractDestinationDir\n\t\t)\n\n\t\tconst { errors, schemaTemplateItems, eventContractTemplateItems } =\n\t\t\tawait this.fetchAndBuildTemplateItems({\n\t\t\t\tshouldSyncOnlyCoreEvents: options.shouldSyncOnlyCoreEvents ?? false,\n\t\t\t\teventBuilderFile: normalizedOptions.eventBuilderFile,\n\t\t\t})\n\n\t\tif (errors && errors?.length > 0) {\n\t\t\treturn {\n\t\t\t\terrors,\n\t\t\t}\n\t\t}\n\n\t\tthis.ui.startLoading('Generating contracts...')\n\n\t\tconst files = await this.eventWriter.writeContracts(resolvedDestination, {\n\t\t\t...normalizedOptions,\n\t\t\teventContractTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tshouldImportCoreEvents: !options.shouldSyncOnlyCoreEvents,\n\t\t})\n\n\t\tawait this.deleteOrphanedEventContracts(\n\t\t\tresolvedDestination,\n\t\t\tfiles.map((a) => a.path)\n\t\t)\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async deleteOrphanedEventContracts(\n\t\tlookupDir: string,\n\t\texistingContracts: string[]\n\t) {\n\t\tconst matches = await globby(lookupDir + '/**/*.contract.ts')\n\t\tconst diff = matches.filter((m) => !existingContracts.includes(m))\n\n\t\tdiff.forEach((f) => diskUtil.deleteFile(f))\n\n\t\tdiskUtil.deleteEmptyDirs(lookupDir)\n\t}\n\n\tpublic async fetchContractsAndGenerateUniqueSchemas(\n\t\texistingSchemas: Schema[],\n\t\tshouldSyncOnlyCoreEvents: boolean\n\t): Promise<FeatureActionResponse & { schemas?: Schema[] }> {\n\t\tconst { errors, schemaTemplateItems } =\n\t\t\tawait this.fetchAndBuildTemplateItems({ shouldSyncOnlyCoreEvents })\n\n\t\tif (errors && errors?.length > 0) {\n\t\t\treturn {\n\t\t\t\terrors,\n\t\t\t}\n\t\t}\n\n\t\tconst filteredSchemas = this.filterSchemasBasedOnCallbackPayload(\n\t\t\texistingSchemas,\n\t\t\tschemaTemplateItems\n\t\t)\n\n\t\treturn {\n\t\t\tschemas: filteredSchemas,\n\t\t}\n\t}\n\n\tprivate filterSchemasBasedOnCallbackPayload(\n\t\texistingSchemas: Schema[],\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t) {\n\t\tconst schemas = schemaTemplateItems.map((i) => i.schema)\n\t\tconst filteredSchemas = schemas.filter((schema) => {\n\t\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\t\treturn !existingSchemas.find((s) =>\n\t\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t\t)\n\t\t})\n\n\t\treturn filteredSchemas\n\t}\n\n\tprivate async fetchAndBuildTemplateItems(options: {\n\t\tshouldSyncOnlyCoreEvents?: boolean\n\t\teventBuilderFile?: string\n\t}) {\n\t\tconst { shouldSyncOnlyCoreEvents, eventBuilderFile } = options\n\n\t\tthis.ui.startLoading('Loading skill details...')\n\n\t\tlet namespace: string | undefined =\n\t\t\tawait this.skillStore.loadCurrentSkillsNamespace()\n\n\t\tthis.ui.startLoading('Fetching event contracts...')\n\n\t\tconst namespaces = shouldSyncOnlyCoreEvents\n\t\t\t? ['core']\n\t\t\t: this.dependencyService.get().map((d) => d.namespace)\n\n\t\tconst contractResults = await this.eventStore.fetchEventContracts({\n\t\t\tlocalNamespace: namespace,\n\t\t\tnamespaces,\n\t\t\tdidUpdateHandler: (msg) => {\n\t\t\t\tthis.ui.startLoading(msg)\n\t\t\t},\n\t\t})\n\n\t\tif (contractResults.errors.length > 0) {\n\t\t\treturn {\n\t\t\t\terrors: contractResults.errors,\n\t\t\t\teventContractTemplateItems: [],\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t}\n\t\t}\n\n\t\tif (shouldSyncOnlyCoreEvents) {\n\t\t\tnamespace = undefined\n\t\t} else {\n\t\t\tnamespace = namesUtil.toKebab(namespace)\n\t\t}\n\n\t\tthis.ui.startLoading('Building contracts...')\n\n\t\tconst itemBuilder = new EventTemplateItemBuilder()\n\t\tconst { eventContractTemplateItems, schemaTemplateItems } =\n\t\t\titemBuilder.buildTemplateItems({\n\t\t\t\tcontracts: contractResults.contracts,\n\t\t\t\tlocalNamespace: namespace,\n\t\t\t\teventBuilderFile,\n\t\t\t})\n\n\t\treturn {\n\t\t\teventContractTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/builders/ListenerTemplateItemBuilder.ts"],"names":["ListenerTemplateItemBuilder","options","destination","diskUtil","resolveHashSprucePath","cwd","listeners","match","push","path","pathUtil","relative","dirname","replace"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;;;IAIqBA,2B;;;;;;;WACpB,4BAA0BC,OAA1B,EAA2E;AAC1E,UAAMC,WAAW,GAAGC,2BAASC,qBAAT,CACnBH,OAAO,CAACI,GADW,EAEnB,QAFmB,EAGnB,cAHmB,CAApB;;AAMA,UAAMC,SAAiC,GAAG,EAA1C;;AAP0E,iDAStDL,OAAO,CAACK,SAT8C;AAAA;;AAAA;AAS1E,4DAAuC;AAAA,cAA5BC,KAA4B;AACtCD,UAAAA,SAAS,CAACE,IAAV,iCACID,KADJ;AAECE,YAAAA,IAAI,EAAEC,iBACJC,QADI,CACKD,iBAASE,OAAT,CAAiBV,WAAjB,CADL,EACoCK,KAAK,CAACE,IAD1C,EAEJI,OAFI,CAEI,KAFJ,EAEW,EAFX;AAFP;AAMA;AAhByE;AAAA;AAAA;AAAA;AAAA;;AAkB1E,aAAOP,SAAP;AACA","sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ListenerTemplateItem } from '@sprucelabs/spruce-templates'\nimport { Listener } from '../stores/ListenerStore'\n\nexport default class ListenerTemplateItemBuilder {\n\tpublic buildTemplateItems(options: { listeners: Listener[]; cwd: string }) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\toptions.cwd,\n\t\t\t'events',\n\t\t\t'listeners.ts'\n\t\t)\n\n\t\tconst listeners: ListenerTemplateItem[] = []\n\n\t\tfor (const match of options.listeners) {\n\t\t\tlisteners.push({\n\t\t\t\t...match,\n\t\t\t\tpath: pathUtil\n\t\t\t\t\t.relative(pathUtil.dirname(destination), match.path)\n\t\t\t\t\t.replace('.ts', ''),\n\t\t\t})\n\t\t}\n\n\t\treturn listeners\n\t}\n}\n"],"file":"ListenerTemplateItemBuilder.js"}
1
+ {"version":3,"file":"ListenerTemplateItemBuilder.js","names":["ListenerTemplateItemBuilder","options","destination","diskUtil","resolveHashSprucePath","cwd","listeners","match","push","path","pathUtil","relative","dirname","replace"],"sources":["../../../../src/features/event/builders/ListenerTemplateItemBuilder.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ListenerTemplateItem } from '@sprucelabs/spruce-templates'\nimport { Listener } from '../stores/ListenerStore'\n\nexport default class ListenerTemplateItemBuilder {\n\tpublic buildTemplateItems(options: { listeners: Listener[]; cwd: string }) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\toptions.cwd,\n\t\t\t'events',\n\t\t\t'listeners.ts'\n\t\t)\n\n\t\tconst listeners: ListenerTemplateItem[] = []\n\n\t\tfor (const match of options.listeners) {\n\t\t\tlisteners.push({\n\t\t\t\t...match,\n\t\t\t\tpath: pathUtil\n\t\t\t\t\t.relative(pathUtil.dirname(destination), match.path)\n\t\t\t\t\t.replace('.ts', ''),\n\t\t\t})\n\t\t}\n\n\t\treturn listeners\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;;;IAIqBA,2B;;;;;;;WACpB,4BAA0BC,OAA1B,EAA2E;MAC1E,IAAMC,WAAW,GAAGC,2BAASC,qBAAT,CACnBH,OAAO,CAACI,GADW,EAEnB,QAFmB,EAGnB,cAHmB,CAApB;;MAMA,IAAMC,SAAiC,GAAG,EAA1C;;MAP0E,2CAStDL,OAAO,CAACK,SAT8C;MAAA;;MAAA;QAS1E,oDAAuC;UAAA,IAA5BC,KAA4B;UACtCD,SAAS,CAACE,IAAV,iCACID,KADJ;YAECE,IAAI,EAAEC,iBACJC,QADI,CACKD,iBAASE,OAAT,CAAiBV,WAAjB,CADL,EACoCK,KAAK,CAACE,IAD1C,EAEJI,OAFI,CAEI,KAFJ,EAEW,EAFX;UAFP;QAMA;MAhByE;QAAA;MAAA;QAAA;MAAA;;MAkB1E,OAAOP,SAAP;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/services/EventSettingsService.ts"],"names":["EventSettingsService","settings","get","options","set","value","unset"],"mappings":";;;;;;;;;;;;;;;IAEqBA,oB;AAEpB,gCAAmBC,QAAnB,EAA8C;AAAA;AAAA;AAC7C,SAAKA,QAAL,GAAgBA,QAAhB;AACA;;;;WAED,8BAA4B;AAC3B,aAAO,KAAKA,QAAL,CAAcC,GAAd,CAAkB,iBAAlB,CAAP;AACA;;;WAED,4BAA0BC,OAA1B,EAEG;AACF,WAAKF,QAAL,CAAcG,GAAd,CAAkB,iBAAlB,EAAqCD,OAArC;AACA;;;WAED,0BAAwBE,KAAxB,EAAoD;AACnD,WAAKJ,QAAL,CAAcG,GAAd,CAAkB,0BAAlB,EAA8CC,KAA9C;AACA;;;WAED,8BAA4B;AAC3B,WAAKJ,QAAL,CAAcK,KAAd,CAAoB,0BAApB;AACA;;;WAED,4BAA0B;AACzB,aAAO,KAAKL,QAAL,CAAcC,GAAd,CAAkB,0BAAlB,CAAP;AACA","sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\n\nexport default class EventSettingsService {\n\tprivate settings: SettingsService<string>\n\tpublic constructor(settings: SettingsService) {\n\t\tthis.settings = settings\n\t}\n\n\tpublic getLastSyncOptions() {\n\t\treturn this.settings.get('events.lastSync')\n\t}\n\n\tpublic setLastSyncOptions(options: {\n\t\tshouldSyncOnlyCoreEvents?: boolean | null\n\t}) {\n\t\tthis.settings.set('events.lastSync', options)\n\t}\n\n\tpublic setListenerCache(value: Record<string, any>) {\n\t\tthis.settings.set('events.listenerCacheKeys', value)\n\t}\n\n\tpublic clearListenerCache() {\n\t\tthis.settings.unset('events.listenerCacheKeys')\n\t}\n\n\tpublic getListenerCache() {\n\t\treturn this.settings.get('events.listenerCacheKeys')\n\t}\n}\n"],"file":"EventSettingsService.js"}
1
+ {"version":3,"file":"EventSettingsService.js","names":["EventSettingsService","settings","get","options","set","value","unset"],"sources":["../../../../src/features/event/services/EventSettingsService.ts"],"sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\n\nexport default class EventSettingsService {\n\tprivate settings: SettingsService<string>\n\tpublic constructor(settings: SettingsService) {\n\t\tthis.settings = settings\n\t}\n\n\tpublic getLastSyncOptions() {\n\t\treturn this.settings.get('events.lastSync')\n\t}\n\n\tpublic setLastSyncOptions(options: {\n\t\tshouldSyncOnlyCoreEvents?: boolean | null\n\t}) {\n\t\tthis.settings.set('events.lastSync', options)\n\t}\n\n\tpublic setListenerCache(value: Record<string, any>) {\n\t\tthis.settings.set('events.listenerCacheKeys', value)\n\t}\n\n\tpublic clearListenerCache() {\n\t\tthis.settings.unset('events.listenerCacheKeys')\n\t}\n\n\tpublic getListenerCache() {\n\t\treturn this.settings.get('events.listenerCacheKeys')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;IAEqBA,oB;EAEpB,8BAAmBC,QAAnB,EAA8C;IAAA;IAAA;IAC7C,KAAKA,QAAL,GAAgBA,QAAhB;EACA;;;;WAED,8BAA4B;MAC3B,OAAO,KAAKA,QAAL,CAAcC,GAAd,CAAkB,iBAAlB,CAAP;IACA;;;WAED,4BAA0BC,OAA1B,EAEG;MACF,KAAKF,QAAL,CAAcG,GAAd,CAAkB,iBAAlB,EAAqCD,OAArC;IACA;;;WAED,0BAAwBE,KAAxB,EAAoD;MACnD,KAAKJ,QAAL,CAAcG,GAAd,CAAkB,0BAAlB,EAA8CC,KAA9C;IACA;;;WAED,8BAA4B;MAC3B,KAAKJ,QAAL,CAAcK,KAAd,CAAoB,0BAApB;IACA;;;WAED,4BAA0B;MACzB,OAAO,KAAKL,QAAL,CAAcC,GAAd,CAAkB,0BAAlB,CAAP;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/services/RemoteService.ts"],"names":["RemoteService"],"mappings":";;;;;;;AAAA;;eAEeA,+B","sourcesContent":["import { RemoteService } from '@sprucelabs/spruce-event-utils'\n\nexport default RemoteService\n"],"file":"RemoteService.js"}
1
+ {"version":3,"file":"RemoteService.js","names":["RemoteService"],"sources":["../../../../src/features/event/services/RemoteService.ts"],"sourcesContent":["import { RemoteService } from '@sprucelabs/spruce-event-utils'\n\nexport default RemoteService\n"],"mappings":";;;;;;;AAAA;;eAEeA,+B"}
@@ -20,6 +20,7 @@ export default class EventStore extends AbstractStore {
20
20
  private fetchRemoteContracts;
21
21
  private filterOutLocalEventsFromRemoteContractsMutating;
22
22
  loadLocalContract(localNamespace: string, didUpdateHandler?: InternalUpdateHandler): Promise<EventContract | null>;
23
+ private generateGlobbyForLocalEvents;
23
24
  registerEventContract(options: {
24
25
  eventContract: EventContract;
25
26
  }): Promise<import("@sprucelabs/mercury-types").MercuryAggregateResponse<import("@sprucelabs/schema").SchemaStaticValues<SpruceSchemas.Mercury.v2020_12_25.RegisterEventsResponsePayloadSchema, false, never, import("@sprucelabs/schema").StaticSchemaAllValues<SpruceSchemas.Mercury.v2020_12_25.RegisterEventsResponsePayloadSchema, false>>>>;
@@ -290,7 +290,7 @@ var EventStore = /*#__PURE__*/function (_AbstractStore) {
290
290
 
291
291
  case 2:
292
292
  _context4.next = 4;
293
- return (0, _globby["default"])(_spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src', 'events', '**/*.(builder|options).ts'));
293
+ return (0, _globby["default"])(this.generateGlobbyForLocalEvents());
294
294
 
295
295
  case 4:
296
296
  localMatches = _context4.sent;
@@ -457,6 +457,11 @@ var EventStore = /*#__PURE__*/function (_AbstractStore) {
457
457
 
458
458
  return loadLocalContract;
459
459
  }()
460
+ }, {
461
+ key: "generateGlobbyForLocalEvents",
462
+ value: function generateGlobbyForLocalEvents() {
463
+ return _spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src', '**', 'events', '**/*.(builder|options).ts');
464
+ }
460
465
  }, {
461
466
  key: "registerEventContract",
462
467
  value: function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/stores/EventStore.ts"],"names":["eventFileNamesImportKeyMap","key","isSchema","EventStore","options","localNamespace","didUpdateHandler","namespaces","fetchRemoteContracts","contracts","error","responseErrors","loadLocalContract","localContract","filterOutLocalEventsFromRemoteContractsMutating","push","errors","join","contractCache","connectToApi","shouldAuthAsCurrentSkill","client","emitAndFlattenResponses","target","remoteContracts","ns","namesUtil","toKebab","contract","sigs","eventContractUtil","getNamedEventSignatures","sig","eventNamespace","eventSignatures","fullyQualifiedEventName","localEventCache","diskUtil","resolvePath","cwd","localMatches","filesByFqenAndEventKey","length","Promise","all","map","match","eventDiskUtil","splitPathToEvent","eventName","version","fqen","eventNameUtil","filename","pathUtil","basename","eventKey","SpruceError","code","brokenProperty","originalError","matches","o","Service","bulkImport","importsInOrder","importsByName","idx","imported","Object","keys","forEach","split","emitPayloadSchema","payloadSchema","emitPayload","targetSchema","emitTarget","responsePayloadSchema","responsePayload","emitPermissionContract","emitPermissions","listenPermissionContract","listenPermissions","cleaned","eventContractCleanerUtil","cleanPayloadsAndPermissions","emit","payload","eventContract","results","eventResponseUtil","getFirstResponseOrThrow","undefined","AbstractStore"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport {\n\tEventContract,\n\tEventSignature,\n\tPermissionContract,\n\tSpruceSchemas,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport { Schema, validateSchema } from '@sprucelabs/schema'\nimport {\n\teventResponseUtil,\n\teventDiskUtil,\n\teventNameUtil,\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { cloneDeep } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\nimport { eventContractCleanerUtil } from '../../../utilities/eventContractCleaner.utility'\n\nexport interface EventStoreFetchEventContractsResponse {\n\terrors: SpruceError[]\n\tcontracts: EventContract[]\n}\n\ntype Options = Omit<\n\tEventSignature,\n\t| 'responsePayloadSchema'\n\t| 'emitPayloadSchema'\n\t| 'listenPermissionContract'\n\t| 'emitPermissionContract'\n>\n\ninterface EventImport {\n\toptions?: Options\n\temitPayload?: Schema\n\temitTarget?: Schema\n\tresponsePayload?: Schema\n\temitPermissions?: PermissionContract\n\tlistenPermissions?: PermissionContract\n}\n\nconst eventFileNamesImportKeyMap = {\n\t'event.options.ts': { key: 'options', isSchema: false },\n\t'emitPayload.builder.ts': { key: 'emitPayload', isSchema: true },\n\t'emitTarget.builder.ts': { key: 'emitTarget', isSchema: true },\n\t'responsePayload.builder.ts': { key: 'responsePayload', isSchema: true },\n\t'emitPermissions.builder.ts': { key: 'emitPermissions', isSchema: false },\n\t'listenPermissions.builder.ts': { key: 'listenPermissions', isSchema: false },\n}\n\nexport interface FetchContractsOptions {\n\tlocalNamespace?: string\n\tnamespaces?: string[]\n\tdidUpdateHandler?: InternalUpdateHandler\n}\n\nexport default class EventStore extends AbstractStore {\n\tpublic name = 'event'\n\tprotected static contractCache: Record<string, any> = {}\n\tprivate static localEventCache?: SpruceSchemas.Mercury.v2020_12_25.EventContract\n\n\tpublic static clearCache() {\n\t\tEventStore.localEventCache = undefined\n\t\tEventStore.contractCache = {}\n\t}\n\n\tpublic async fetchEventContracts(\n\t\toptions?: FetchContractsOptions\n\t): Promise<EventStoreFetchEventContractsResponse> {\n\t\tconst { localNamespace, didUpdateHandler, namespaces } = options ?? {}\n\n\t\tdidUpdateHandler?.('Pulling remote contracts...')\n\n\t\tlet contracts\n\t\ttry {\n\t\t\tcontracts = await this.fetchRemoteContracts(namespaces)\n\t\t} catch (err: any) {\n\t\t\tconst error = err.options.responseErrors?.[0] ?? err\n\t\t\tthrow error\n\t\t}\n\n\t\tconst localContract =\n\t\t\tlocalNamespace &&\n\t\t\t(await this.loadLocalContract(localNamespace, didUpdateHandler))\n\n\t\tif (localNamespace) {\n\t\t\tthis.filterOutLocalEventsFromRemoteContractsMutating(\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace\n\t\t\t)\n\t\t}\n\n\t\tif (localContract) {\n\t\t\tcontracts.push(localContract)\n\t\t}\n\n\t\treturn {\n\t\t\tcontracts,\n\t\t\terrors: [],\n\t\t}\n\t}\n\n\tprivate async fetchRemoteContracts(namespaces?: string[]) {\n\t\tconst key = namespaces?.join('|') ?? '_'\n\n\t\tif (!EventStore.contractCache[key]) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst [{ contracts }] = await client.emitAndFlattenResponses(\n\t\t\t\t'get-event-contracts::v2020_12_25',\n\t\t\t\t{\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespaces,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tEventStore.contractCache[key] = contracts\n\t\t}\n\n\t\treturn cloneDeep(EventStore.contractCache[key])\n\t}\n\n\tprivate filterOutLocalEventsFromRemoteContractsMutating(\n\t\tremoteContracts: EventContract[],\n\t\tlocalNamespace: string\n\t) {\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\n\t\tfor (const contract of remoteContracts) {\n\t\t\tconst sigs = eventContractUtil.getNamedEventSignatures(contract)\n\t\t\tfor (const sig of sigs) {\n\t\t\t\tif (sig.eventNamespace === ns) {\n\t\t\t\t\tdelete contract.eventSignatures[sig.fullyQualifiedEventName]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async loadLocalContract(\n\t\tlocalNamespace: string,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<EventContract | null> {\n\t\tif (EventStore.localEventCache) {\n\t\t\treturn EventStore.localEventCache\n\t\t}\n\n\t\tconst localMatches = await globby(\n\t\t\tdiskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\t'src',\n\t\t\t\t'events',\n\t\t\t\t'**/*.(builder|options).ts'\n\t\t\t)\n\t\t)\n\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\t\tconst eventSignatures: Record<string, EventSignature> = {}\n\t\tconst filesByFqenAndEventKey: {\n\t\t\tfqen: string\n\t\t\tisSchema: boolean\n\t\t\tmatch: string\n\t\t\teventKey: string\n\t\t}[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Importing ${localMatches.length} local event signature files...`\n\t\t)\n\n\t\tawait Promise.all(\n\t\t\tlocalMatches.map(async (match) => {\n\t\t\t\tlet fqen: string | undefined\n\t\t\t\tlet eventKey: keyof EventImport | undefined\n\n\t\t\t\ttry {\n\t\t\t\t\tconst { eventName, version } = eventDiskUtil.splitPathToEvent(match)\n\t\t\t\t\tfqen = eventNameUtil.join({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion,\n\t\t\t\t\t\teventNamespace: ns,\n\t\t\t\t\t})\n\n\t\t\t\t\tconst filename = pathUtil.basename(\n\t\t\t\t\t\tmatch\n\t\t\t\t\t) as keyof typeof eventFileNamesImportKeyMap\n\n\t\t\t\t\tconst map = eventFileNamesImportKeyMap[filename]\n\n\t\t\t\t\tif (map) {\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\teventKey = map.key\n\n\t\t\t\t\t\tfilesByFqenAndEventKey.push({\n\t\t\t\t\t\t\tfqen,\n\t\t\t\t\t\t\tisSchema: map.isSchema,\n\t\t\t\t\t\t\tmatch,\n\t\t\t\t\t\t\teventKey: eventKey as string,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen ?? 'Bad event name',\n\t\t\t\t\t\tbrokenProperty: eventKey ?? '*** major failure ***',\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst matches = filesByFqenAndEventKey.map((o) => o.match)\n\t\tconst importsInOrder = (await this.Service('import').bulkImport(\n\t\t\tmatches\n\t\t)) as Record<string, any>[]\n\t\tconst importsByName: Record<string, EventImport> = {}\n\n\t\tfor (let idx = 0; idx < filesByFqenAndEventKey.length; idx++) {\n\t\t\tconst imported = importsInOrder[idx]\n\t\t\tconst { fqen, eventKey, isSchema } = filesByFqenAndEventKey[idx]\n\n\t\t\tif (isSchema) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateSchema(imported)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen,\n\t\t\t\t\t\tbrokenProperty: eventKey,\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!importsByName[fqen]) {\n\t\t\t\timportsByName[fqen] = {}\n\t\t\t}\n\n\t\t\t//@ts-ignore\n\t\t\timportsByName[fqen][eventKey] = imported\n\t\t}\n\n\t\tObject.keys(importsByName).forEach((fqen) => {\n\t\t\tconst imported = importsByName[fqen]\n\t\t\tconst { eventName } = eventNameUtil.split(fqen)\n\t\t\teventSignatures[fqen] = {\n\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\teventName,\n\t\t\t\t\tpayloadSchema: imported.emitPayload,\n\t\t\t\t\ttargetSchema: imported.emitTarget,\n\t\t\t\t}),\n\t\t\t\tresponsePayloadSchema: imported.responsePayload,\n\t\t\t\temitPermissionContract: imported.emitPermissions,\n\t\t\t\tlistenPermissionContract: imported.listenPermissions,\n\t\t\t\t...imported.options,\n\t\t\t}\n\t\t})\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Loaded ${Object.keys(eventSignatures).length} local event signatures...`\n\t\t)\n\n\t\tif (Object.keys(eventSignatures).length > 0) {\n\t\t\tconst cleaned = eventContractCleanerUtil.cleanPayloadsAndPermissions({\n\t\t\t\teventSignatures,\n\t\t\t})\n\n\t\t\tvalidateEventContract(cleaned)\n\n\t\t\tEventStore.localEventCache = cleaned\n\n\t\t\treturn cleaned\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic async registerEventContract(options: {\n\t\teventContract: EventContract\n\t}) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('register-events::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tcontract: options.eventContract,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\n\t\treturn results\n\t}\n\n\tpublic async unRegisterEvents(\n\t\toptions: SpruceSchemas.Mercury.v2020_12_25.UnregisterEventsEmitPayload\n\t) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('unregister-events::v2020_12_25', {\n\t\t\tpayload: options,\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\t}\n}\n"],"file":"EventStore.js"}
1
+ {"version":3,"file":"EventStore.js","names":["eventFileNamesImportKeyMap","key","isSchema","EventStore","options","localNamespace","didUpdateHandler","namespaces","fetchRemoteContracts","contracts","error","responseErrors","loadLocalContract","localContract","filterOutLocalEventsFromRemoteContractsMutating","push","errors","join","contractCache","connectToApi","shouldAuthAsCurrentSkill","client","emitAndFlattenResponses","target","remoteContracts","ns","namesUtil","toKebab","contract","sigs","eventContractUtil","getNamedEventSignatures","sig","eventNamespace","eventSignatures","fullyQualifiedEventName","localEventCache","generateGlobbyForLocalEvents","localMatches","filesByFqenAndEventKey","length","Promise","all","map","match","eventDiskUtil","splitPathToEvent","eventName","version","fqen","eventNameUtil","filename","pathUtil","basename","eventKey","SpruceError","code","brokenProperty","originalError","matches","o","Service","bulkImport","importsInOrder","importsByName","idx","imported","Object","keys","forEach","split","emitPayloadSchema","payloadSchema","emitPayload","targetSchema","emitTarget","responsePayloadSchema","responsePayload","emitPermissionContract","emitPermissions","listenPermissionContract","listenPermissions","cleaned","eventContractCleanerUtil","cleanPayloadsAndPermissions","diskUtil","resolvePath","cwd","emit","payload","eventContract","results","eventResponseUtil","getFirstResponseOrThrow","undefined","AbstractStore"],"sources":["../../../../src/features/event/stores/EventStore.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tEventContract,\n\tEventSignature,\n\tPermissionContract,\n\tSpruceSchemas,\n\tvalidateEventContract,\n} from '@sprucelabs/mercury-types'\nimport { Schema, validateSchema } from '@sprucelabs/schema'\nimport {\n\teventResponseUtil,\n\teventDiskUtil,\n\teventNameUtil,\n\tbuildEmitTargetAndPayloadSchema,\n\teventContractUtil,\n} from '@sprucelabs/spruce-event-utils'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { cloneDeep } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\nimport { eventContractCleanerUtil } from '../../../utilities/eventContractCleaner.utility'\n\nexport interface EventStoreFetchEventContractsResponse {\n\terrors: SpruceError[]\n\tcontracts: EventContract[]\n}\n\ntype Options = Omit<\n\tEventSignature,\n\t| 'responsePayloadSchema'\n\t| 'emitPayloadSchema'\n\t| 'listenPermissionContract'\n\t| 'emitPermissionContract'\n>\n\ninterface EventImport {\n\toptions?: Options\n\temitPayload?: Schema\n\temitTarget?: Schema\n\tresponsePayload?: Schema\n\temitPermissions?: PermissionContract\n\tlistenPermissions?: PermissionContract\n}\n\nconst eventFileNamesImportKeyMap = {\n\t'event.options.ts': { key: 'options', isSchema: false },\n\t'emitPayload.builder.ts': { key: 'emitPayload', isSchema: true },\n\t'emitTarget.builder.ts': { key: 'emitTarget', isSchema: true },\n\t'responsePayload.builder.ts': { key: 'responsePayload', isSchema: true },\n\t'emitPermissions.builder.ts': { key: 'emitPermissions', isSchema: false },\n\t'listenPermissions.builder.ts': { key: 'listenPermissions', isSchema: false },\n}\n\nexport interface FetchContractsOptions {\n\tlocalNamespace?: string\n\tnamespaces?: string[]\n\tdidUpdateHandler?: InternalUpdateHandler\n}\n\nexport default class EventStore extends AbstractStore {\n\tpublic name = 'event'\n\tprotected static contractCache: Record<string, any> = {}\n\tprivate static localEventCache?: SpruceSchemas.Mercury.v2020_12_25.EventContract\n\n\tpublic static clearCache() {\n\t\tEventStore.localEventCache = undefined\n\t\tEventStore.contractCache = {}\n\t}\n\n\tpublic async fetchEventContracts(\n\t\toptions?: FetchContractsOptions\n\t): Promise<EventStoreFetchEventContractsResponse> {\n\t\tconst { localNamespace, didUpdateHandler, namespaces } = options ?? {}\n\n\t\tdidUpdateHandler?.('Pulling remote contracts...')\n\n\t\tlet contracts\n\t\ttry {\n\t\t\tcontracts = await this.fetchRemoteContracts(namespaces)\n\t\t} catch (err: any) {\n\t\t\tconst error = err.options.responseErrors?.[0] ?? err\n\t\t\tthrow error\n\t\t}\n\n\t\tconst localContract =\n\t\t\tlocalNamespace &&\n\t\t\t(await this.loadLocalContract(localNamespace, didUpdateHandler))\n\n\t\tif (localNamespace) {\n\t\t\tthis.filterOutLocalEventsFromRemoteContractsMutating(\n\t\t\t\tcontracts,\n\t\t\t\tlocalNamespace\n\t\t\t)\n\t\t}\n\n\t\tif (localContract) {\n\t\t\tcontracts.push(localContract)\n\t\t}\n\n\t\treturn {\n\t\t\tcontracts,\n\t\t\terrors: [],\n\t\t}\n\t}\n\n\tprivate async fetchRemoteContracts(namespaces?: string[]) {\n\t\tconst key = namespaces?.join('|') ?? '_'\n\n\t\tif (!EventStore.contractCache[key]) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst [{ contracts }] = await client.emitAndFlattenResponses(\n\t\t\t\t'get-event-contracts::v2020_12_25',\n\t\t\t\t{\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespaces,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tEventStore.contractCache[key] = contracts\n\t\t}\n\n\t\treturn cloneDeep(EventStore.contractCache[key])\n\t}\n\n\tprivate filterOutLocalEventsFromRemoteContractsMutating(\n\t\tremoteContracts: EventContract[],\n\t\tlocalNamespace: string\n\t) {\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\n\t\tfor (const contract of remoteContracts) {\n\t\t\tconst sigs = eventContractUtil.getNamedEventSignatures(contract)\n\t\t\tfor (const sig of sigs) {\n\t\t\t\tif (sig.eventNamespace === ns) {\n\t\t\t\t\tdelete contract.eventSignatures[sig.fullyQualifiedEventName]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async loadLocalContract(\n\t\tlocalNamespace: string,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t): Promise<EventContract | null> {\n\t\tif (EventStore.localEventCache) {\n\t\t\treturn EventStore.localEventCache\n\t\t}\n\n\t\tconst localMatches = await globby(this.generateGlobbyForLocalEvents())\n\n\t\tconst ns = namesUtil.toKebab(localNamespace)\n\t\tconst eventSignatures: Record<string, EventSignature> = {}\n\t\tconst filesByFqenAndEventKey: {\n\t\t\tfqen: string\n\t\t\tisSchema: boolean\n\t\t\tmatch: string\n\t\t\teventKey: string\n\t\t}[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Importing ${localMatches.length} local event signature files...`\n\t\t)\n\n\t\tawait Promise.all(\n\t\t\tlocalMatches.map(async (match) => {\n\t\t\t\tlet fqen: string | undefined\n\t\t\t\tlet eventKey: keyof EventImport | undefined\n\n\t\t\t\ttry {\n\t\t\t\t\tconst { eventName, version } = eventDiskUtil.splitPathToEvent(match)\n\t\t\t\t\tfqen = eventNameUtil.join({\n\t\t\t\t\t\teventName,\n\t\t\t\t\t\tversion,\n\t\t\t\t\t\teventNamespace: ns,\n\t\t\t\t\t})\n\n\t\t\t\t\tconst filename = pathUtil.basename(\n\t\t\t\t\t\tmatch\n\t\t\t\t\t) as keyof typeof eventFileNamesImportKeyMap\n\n\t\t\t\t\tconst map = eventFileNamesImportKeyMap[filename]\n\n\t\t\t\t\tif (map) {\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\teventKey = map.key\n\n\t\t\t\t\t\tfilesByFqenAndEventKey.push({\n\t\t\t\t\t\t\tfqen,\n\t\t\t\t\t\t\tisSchema: map.isSchema,\n\t\t\t\t\t\t\tmatch,\n\t\t\t\t\t\t\teventKey: eventKey as string,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen ?? 'Bad event name',\n\t\t\t\t\t\tbrokenProperty: eventKey ?? '*** major failure ***',\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst matches = filesByFqenAndEventKey.map((o) => o.match)\n\t\tconst importsInOrder = (await this.Service('import').bulkImport(\n\t\t\tmatches\n\t\t)) as Record<string, any>[]\n\t\tconst importsByName: Record<string, EventImport> = {}\n\n\t\tfor (let idx = 0; idx < filesByFqenAndEventKey.length; idx++) {\n\t\t\tconst imported = importsInOrder[idx]\n\t\t\tconst { fqen, eventKey, isSchema } = filesByFqenAndEventKey[idx]\n\n\t\t\tif (isSchema) {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateSchema(imported)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'INVALID_EVENT_CONTRACT',\n\t\t\t\t\t\tfullyQualifiedEventName: fqen,\n\t\t\t\t\t\tbrokenProperty: eventKey,\n\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!importsByName[fqen]) {\n\t\t\t\timportsByName[fqen] = {}\n\t\t\t}\n\n\t\t\t//@ts-ignore\n\t\t\timportsByName[fqen][eventKey] = imported\n\t\t}\n\n\t\tObject.keys(importsByName).forEach((fqen) => {\n\t\t\tconst imported = importsByName[fqen]\n\t\t\tconst { eventName } = eventNameUtil.split(fqen)\n\t\t\teventSignatures[fqen] = {\n\t\t\t\temitPayloadSchema: buildEmitTargetAndPayloadSchema({\n\t\t\t\t\teventName,\n\t\t\t\t\tpayloadSchema: imported.emitPayload,\n\t\t\t\t\ttargetSchema: imported.emitTarget,\n\t\t\t\t}),\n\t\t\t\tresponsePayloadSchema: imported.responsePayload,\n\t\t\t\temitPermissionContract: imported.emitPermissions,\n\t\t\t\tlistenPermissionContract: imported.listenPermissions,\n\t\t\t\t...imported.options,\n\t\t\t}\n\t\t})\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Loaded ${Object.keys(eventSignatures).length} local event signatures...`\n\t\t)\n\n\t\tif (Object.keys(eventSignatures).length > 0) {\n\t\t\tconst cleaned = eventContractCleanerUtil.cleanPayloadsAndPermissions({\n\t\t\t\teventSignatures,\n\t\t\t})\n\n\t\t\tvalidateEventContract(cleaned)\n\n\t\t\tEventStore.localEventCache = cleaned\n\n\t\t\treturn cleaned\n\t\t}\n\n\t\treturn null\n\t}\n\n\tprivate generateGlobbyForLocalEvents(): string | readonly string[] {\n\t\treturn diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\t'src',\n\t\t\t'**',\n\t\t\t'events',\n\t\t\t'**/*.(builder|options).ts'\n\t\t)\n\t}\n\n\tpublic async registerEventContract(options: {\n\t\teventContract: EventContract\n\t}) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('register-events::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tcontract: options.eventContract,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\n\t\treturn results\n\t}\n\n\tpublic async unRegisterEvents(\n\t\toptions: SpruceSchemas.Mercury.v2020_12_25.UnregisterEventsEmitPayload\n\t) {\n\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\tconst results = await client.emit('unregister-events::v2020_12_25', {\n\t\t\tpayload: options,\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tEventStore.contractCache = {}\n\t}\n}\n"],"mappings":"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"}
@@ -6,4 +6,5 @@ export declare type Listener = ListenerTemplateItem & {
6
6
  export default class ListenerStore extends AbstractStore {
7
7
  name: string;
8
8
  loadListeners(): Promise<Listener[]>;
9
+ private generateGlobbyPattern;
9
10
  }
@@ -77,7 +77,7 @@ var ListenerStore = /*#__PURE__*/function (_AbstractStore) {
77
77
  switch (_context.prev = _context.next) {
78
78
  case 0:
79
79
  _context.next = 2;
80
- return (0, _globby["default"])(_spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src', 'listeners', '**/*.listener.ts'));
80
+ return (0, _globby["default"])(this.generateGlobbyPattern());
81
81
 
82
82
  case 2:
83
83
  matches = _context.sent;
@@ -114,6 +114,11 @@ var ListenerStore = /*#__PURE__*/function (_AbstractStore) {
114
114
 
115
115
  return loadListeners;
116
116
  }()
117
+ }, {
118
+ key: "generateGlobbyPattern",
119
+ value: function generateGlobbyPattern() {
120
+ return _spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src', '**/*.listener.ts');
121
+ }
117
122
  }]);
118
123
  return ListenerStore;
119
124
  }(_AbstractStore2["default"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/event/stores/ListenerStore.ts"],"names":["ListenerStore","diskUtil","resolvePath","cwd","matches","listeners","match","listener","eventDiskUtil","splitPathToListener","push","path","AbstractStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;;;;;;;;;IAMqBA,a;;;;;;;;;;;;;;;6FACN,U;;;;;;;yGAEd;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACuB,wBACrBC,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+B,KAA/B,EAAsC,WAAtC,EAAmD,kBAAnD,CADqB,CADvB;;AAAA;AACOC,gBAAAA,OADP;AAKOC,gBAAAA,SALP,GAK+B,EAL/B;AAAA,uDAOqBD,OAPrB;;AAAA;AAOC,sEAA6B;AAAlBE,oBAAAA,KAAkB;AACtBC,oBAAAA,QADsB,GACXC,gCAAcC,mBAAd,CAAkCH,KAAlC,CADW;AAG5BD,oBAAAA,SAAS,CAACK,IAAV,iCACIH,QADJ;AAECI,sBAAAA,IAAI,EAAEL;AAFP;AAIA;AAdF;AAAA;AAAA;AAAA;AAAA;;AAAA,iDAgBQD,SAhBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAH0CO,0B","sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ListenerTemplateItem } from '@sprucelabs/spruce-templates'\nimport globby from 'globby'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport type Listener = ListenerTemplateItem & {\n\tpath: string\n}\n\nexport default class ListenerStore extends AbstractStore {\n\tpublic name = 'listener'\n\n\tpublic async loadListeners() {\n\t\tconst matches = await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, 'src', 'listeners', '**/*.listener.ts')\n\t\t)\n\n\t\tconst listeners: Listener[] = []\n\n\t\tfor (const match of matches) {\n\t\t\tconst listener = eventDiskUtil.splitPathToListener(match)\n\n\t\t\tlisteners.push({\n\t\t\t\t...listener,\n\t\t\t\tpath: match,\n\t\t\t})\n\t\t}\n\n\t\treturn listeners\n\t}\n}\n"],"file":"ListenerStore.js"}
1
+ {"version":3,"file":"ListenerStore.js","names":["ListenerStore","generateGlobbyPattern","matches","listeners","match","listener","eventDiskUtil","splitPathToListener","push","path","diskUtil","resolvePath","cwd","AbstractStore"],"sources":["../../../../src/features/event/stores/ListenerStore.ts"],"sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ListenerTemplateItem } from '@sprucelabs/spruce-templates'\nimport globby from 'globby'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport type Listener = ListenerTemplateItem & {\n\tpath: string\n}\n\nexport default class ListenerStore extends AbstractStore {\n\tpublic name = 'listener'\n\n\tpublic async loadListeners() {\n\t\tconst matches = await globby(this.generateGlobbyPattern())\n\n\t\tconst listeners: Listener[] = []\n\n\t\tfor (const match of matches) {\n\t\t\tconst listener = eventDiskUtil.splitPathToListener(match)\n\n\t\t\tlisteners.push({\n\t\t\t\t...listener,\n\t\t\t\tpath: match,\n\t\t\t})\n\t\t}\n\n\t\treturn listeners\n\t}\n\n\tprivate generateGlobbyPattern(): string {\n\t\treturn diskUtil.resolvePath(this.cwd, 'src', '**/*.listener.ts')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;;;;;;;;;IAMqBA,a;;;;;;;;;;;;;;;6FACN,U;;;;;;;yGAEd;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACuB,wBAAO,KAAKC,qBAAL,EAAP,CADvB;;cAAA;gBACOC,OADP;gBAGOC,SAHP,GAG+B,EAH/B;gBAAA,uCAKqBD,OALrB;;gBAAA;kBAKC,oDAA6B;oBAAlBE,KAAkB;oBACtBC,QADsB,GACXC,gCAAcC,mBAAd,CAAkCH,KAAlC,CADW;oBAG5BD,SAAS,CAACK,IAAV,iCACIH,QADJ;sBAECI,IAAI,EAAEL;oBAFP;kBAIA;gBAZF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAAA,iCAcQD,SAdR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAiBA,iCAAwC;MACvC,OAAOO,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+B,KAA/B,EAAsC,kBAAtC,CAAP;IACA;;;EAtByCC,0B"}
@@ -380,7 +380,7 @@ var EventWriter = /*#__PURE__*/function (_AbstractWriter) {
380
380
 
381
381
  var schemaTypesFile = _path["default"].join(schemaTypesLookupDir, _spruceSkillUtils.DEFAULT_SCHEMA_TYPES_FILENAME);
382
382
 
383
- var relativeTypesFile = _path["default"].relative(_path["default"].dirname(resolvedDestination), schemaTypesFile);
383
+ var relativeTypesFile = _spruceSkillUtils.diskUtil.resolveRelativePath(_path["default"].dirname(resolvedDestination), schemaTypesFile);
384
384
 
385
385
  relativeTypesFile = relativeTypesFile.replace(_path["default"].extname(relativeTypesFile), '');
386
386
  return relativeTypesFile;