@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/schema/stores/SchemaStore.ts"],"names":["coreSchemas","personSchema","profileImageSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","fullMessageChoicesSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","match","find","s","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","filter","addon","fields","AbstractStore"],"mappings":"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","sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"file":"SchemaStore.js"}
1
+ {"version":3,"file":"SchemaStore.js","names":["coreSchemas","personSchema","profileImageSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","fullMessageChoicesSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","match","find","s","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","filter","addon","fields","AbstractStore"],"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tprofileImageSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tfullMessageChoicesSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/schema/utilities/schema.utility.ts"],"names":["schemaUtil","generateNamesForSchema","schema","nameReadable","name","id","nameCamel","namesUtil","toCamel","namePascal","toPascal","generateCacheKey","options","namespace","version"],"mappings":";;;;;;;AACA;;AAEA,IAAMA,UAAU,GAAG;AAClBC,EAAAA,sBADkB,kCACKC,MADL,EACqB;AAAA;;AACtC,WAAO;AACNC,MAAAA,YAAY,kBAAED,MAAM,CAACE,IAAT,uDAAiBF,MAAM,CAACG,EAD9B;AAENC,MAAAA,SAAS,EAAEC,4BAAUC,OAAV,CAAkBN,MAAM,CAACG,EAAzB,CAFL;AAGNI,MAAAA,UAAU,EAAEF,4BAAUG,QAAV,CAAmBR,MAAM,CAACG,EAA1B;AAHN,KAAP;AAKA,GAPiB;AASlBM,EAAAA,gBATkB,4BASDC,OATC,EAaf;AAAA;;AACF,qBAAUA,OAAO,CAACP,EAAlB,oCAAwBO,OAAO,CAACC,SAAhC,mEAA6C,cAA7C,cACCD,OAAO,CAACE,OADT;AAGA;AAjBiB,CAAnB;eAoBed,U","sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\n\nconst schemaUtil = {\n\tgenerateNamesForSchema(schema: Schema) {\n\t\treturn {\n\t\t\tnameReadable: schema.name ?? schema.id,\n\t\t\tnameCamel: namesUtil.toCamel(schema.id),\n\t\t\tnamePascal: namesUtil.toPascal(schema.id),\n\t\t}\n\t},\n\n\tgenerateCacheKey(options: {\n\t\tid: string\n\t\tnamespace?: string\n\t\tversion?: string\n\t}) {\n\t\treturn `${options.id}-${options.namespace ?? 'no-namespace'}-${\n\t\t\toptions.version\n\t\t}`\n\t},\n}\n\nexport default schemaUtil\n"],"file":"schema.utility.js"}
1
+ {"version":3,"file":"schema.utility.js","names":["schemaUtil","generateNamesForSchema","schema","nameReadable","name","id","nameCamel","namesUtil","toCamel","namePascal","toPascal","generateCacheKey","options","namespace","version"],"sources":["../../../../src/features/schema/utilities/schema.utility.ts"],"sourcesContent":["import { Schema } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\n\nconst schemaUtil = {\n\tgenerateNamesForSchema(schema: Schema) {\n\t\treturn {\n\t\t\tnameReadable: schema.name ?? schema.id,\n\t\t\tnameCamel: namesUtil.toCamel(schema.id),\n\t\t\tnamePascal: namesUtil.toPascal(schema.id),\n\t\t}\n\t},\n\n\tgenerateCacheKey(options: {\n\t\tid: string\n\t\tnamespace?: string\n\t\tversion?: string\n\t}) {\n\t\treturn `${options.id}-${options.namespace ?? 'no-namespace'}-${\n\t\t\toptions.version\n\t\t}`\n\t},\n}\n\nexport default schemaUtil\n"],"mappings":";;;;;;;AACA;;AAEA,IAAMA,UAAU,GAAG;EAClBC,sBADkB,kCACKC,MADL,EACqB;IAAA;;IACtC,OAAO;MACNC,YAAY,kBAAED,MAAM,CAACE,IAAT,uDAAiBF,MAAM,CAACG,EAD9B;MAENC,SAAS,EAAEC,4BAAUC,OAAV,CAAkBN,MAAM,CAACG,EAAzB,CAFL;MAGNI,UAAU,EAAEF,4BAAUG,QAAV,CAAmBR,MAAM,CAACG,EAA1B;IAHN,CAAP;EAKA,CAPiB;EASlBM,gBATkB,4BASDC,OATC,EAaf;IAAA;;IACF,iBAAUA,OAAO,CAACP,EAAlB,oCAAwBO,OAAO,CAACC,SAAhC,mEAA6C,cAA7C,cACCD,OAAO,CAACE,OADT;EAGA;AAjBiB,CAAnB;eAoBed,U"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/schema/utilities/schemaDisk.utility.ts"],"names":["schemaDiskUtil","resolvePath","options","destination","schema","includeFileExtension","shouldIncludeFileExtension","namespace","SchemaError","code","parameters","pathUtil","join","namesUtil","toCamel","version","id","resolveTypeFilePaths","cwd","generateStandaloneTypesFile","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","resolvedSchemaTypesDestination","diskUtil","isDirPath","resolvedSchemaTypesDestinationDirOrFile","dirname","resolvedFieldTypesDestination","deleteOrphanedSchemas","resolvedDestination","schemaTemplateItems","schemaGeneratorUtil","filterSchemaFilesBySchemaIds","map","item","definitionsToDelete","forEach","def","deleteFile"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,cAAc,GAAG;AACtBC,EAAAA,WADsB,uBACVC,OADU,EAKnB;AAAA;;AACF,QACCC,WADD,GAIID,OAJJ,CACCC,WADD;AAAA,QAECC,MAFD,GAIIF,OAJJ,CAECE,MAFD;AAAA,QAG6BC,oBAH7B,GAIIH,OAJJ,CAGCI,0BAHD;;AAMA,QAAI,CAACF,MAAM,CAACG,SAAZ,EAAuB;AACtB,YAAM,IAAIC,mBAAJ,CAAgB;AACrBC,QAAAA,IAAI,EAAE,oBADe;AAErBC,QAAAA,UAAU,EAAE,CAAC,WAAD;AAFS,OAAhB,CAAN;AAIA;;AAED,WAAOC,iBAASC,IAAT,CACNT,WADM,EAENU,4BAAUC,OAAV,CAAkBV,MAAM,CAACG,SAAzB,CAFM,qBAGNH,MAAM,CAACW,OAHD,6DAGY,EAHZ,YAIHX,MAAM,CAACY,EAJJ,oBAIgBX,oBAAoB,KAAK,KAAzB,GAAiC,EAAjC,GAAsC,KAJtD,EAAP;AAMA,GAzBqB;AA2BtBY,EAAAA,oBA3BsB,gCA2BDf,OA3BC,EAgCnB;AACF,QACCgB,GADD,GAKIhB,OALJ,CACCgB,GADD;AAAA,QAECC,2BAFD,GAKIjB,OALJ,CAECiB,2BAFD;AAAA,QAGCC,+BAHD,GAKIlB,OALJ,CAGCkB,+BAHD;AAAA,QAICC,wBAJD,GAKInB,OALJ,CAICmB,wBAJD;;AAOA,QAAMC,8BAA8B,GAAGC,2BAAStB,WAAT,CACtCiB,GADsC,EAEtCC,2BAA2B,IAC1BI,2BAASC,SAAT,CAAmBJ,+BAAnB,CADD,GAEGG,2BAAStB,WAAT,CACAiB,GADA,EAEAE,+BAFA,EAGA,uBAHA,CAFH,GAOGA,+BATmC,CAAvC;;AAYA,QAAMK,uCAAuC,GAAGF,2BAASC,SAAT,CAC/CF,8BAD+C,IAG7CA,8BAH6C,GAI7CX,iBAASe,OAAT,CAAiBJ,8BAAjB,CAJH;;AAMA,QAAMK,6BAA6B,GAAGJ,2BAAStB,WAAT,CACrCiB,GADqC,EAErCG,wBAFqC,aAErCA,wBAFqC,cAErCA,wBAFqC,GAETI,uCAFS,CAAtC;;AAKA,WAAO;AACNE,MAAAA,6BAA6B,EAA7BA,6BADM;AAENF,MAAAA,uCAAuC,EAAvCA,uCAFM;AAGNH,MAAAA,8BAA8B,EAA9BA;AAHM,KAAP;AAKA,GApEqB;AAsEhBM,EAAAA,qBAtEgB,iCAuErBC,mBAvEqB,EAwErBC,mBAxEqB,EAyEpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAEMC,4BAAoBC,4BAApB,CACLH,mBADK,EAELC,mBAAmB,CAACG,GAApB,CAAwB,UAACC,IAAD;AAAA,uDACpBA,IADoB;AAEvBnB,kBAAAA,OAAO,EAAEmB,IAAI,CAAC9B,MAAL,CAAYW;AAFE;AAAA,eAAxB,CAFK,CAFN;;AAAA;AACKoB,cAAAA,mBADL;AAUDA,cAAAA,mBAAmB,CAACC,OAApB,CAA4B,UAACC,GAAD;AAAA,uBAASd,2BAASe,UAAT,CAAoBD,GAApB,CAAT;AAAA,eAA5B;;AAVC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWD;AApFqB,CAAvB;eAuFerC,c","sourcesContent":["import pathUtil from 'path'\nimport { Schema, SchemaError, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport schemaGeneratorUtil from './schemaGenerator.utility'\n\nconst schemaDiskUtil = {\n\tresolvePath(options: {\n\t\tdestination: string\n\t\tschema: Schema\n\t\tshouldIncludeFileExtension?: boolean\n\t}) {\n\t\tconst {\n\t\t\tdestination,\n\t\t\tschema,\n\t\t\tshouldIncludeFileExtension: includeFileExtension,\n\t\t} = options\n\n\t\tif (!schema.namespace) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['namespace'],\n\t\t\t})\n\t\t}\n\n\t\treturn pathUtil.join(\n\t\t\tdestination,\n\t\t\tnamesUtil.toCamel(schema.namespace),\n\t\t\tschema.version ?? '',\n\t\t\t`${schema.id}.schema${includeFileExtension === false ? '' : '.ts'}`\n\t\t)\n\t},\n\n\tresolveTypeFilePaths(options: {\n\t\tcwd: string\n\t\tgenerateStandaloneTypesFile: boolean\n\t\tschemaTypesDestinationDirOrFile: string\n\t\tfieldTypesDestinationDir: string\n\t}) {\n\t\tconst {\n\t\t\tcwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t} = options\n\n\t\tconst resolvedSchemaTypesDestination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\tgenerateStandaloneTypesFile &&\n\t\t\t\tdiskUtil.isDirPath(schemaTypesDestinationDirOrFile)\n\t\t\t\t? diskUtil.resolvePath(\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\t\t\t\t'core.schemas.types.ts'\n\t\t\t\t )\n\t\t\t\t: schemaTypesDestinationDirOrFile\n\t\t)\n\n\t\tconst resolvedSchemaTypesDestinationDirOrFile = diskUtil.isDirPath(\n\t\t\tresolvedSchemaTypesDestination\n\t\t)\n\t\t\t? resolvedSchemaTypesDestination\n\t\t\t: pathUtil.dirname(resolvedSchemaTypesDestination)\n\n\t\tconst resolvedFieldTypesDestination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\tfieldTypesDestinationDir ?? resolvedSchemaTypesDestinationDirOrFile\n\t\t)\n\n\t\treturn {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t}\n\t},\n\n\tasync deleteOrphanedSchemas(\n\t\tresolvedDestination: string,\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t) {\n\t\tconst definitionsToDelete =\n\t\t\tawait schemaGeneratorUtil.filterSchemaFilesBySchemaIds(\n\t\t\t\tresolvedDestination,\n\t\t\t\tschemaTemplateItems.map((item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tversion: item.schema.version,\n\t\t\t\t}))\n\t\t\t)\n\n\t\tdefinitionsToDelete.forEach((def) => diskUtil.deleteFile(def))\n\t},\n}\n\nexport default schemaDiskUtil\n"],"file":"schemaDisk.utility.js"}
1
+ {"version":3,"file":"schemaDisk.utility.js","names":["schemaDiskUtil","resolvePath","options","destination","schema","includeFileExtension","shouldIncludeFileExtension","namespace","SchemaError","code","parameters","pathUtil","join","namesUtil","toCamel","version","id","resolveTypeFilePaths","cwd","generateStandaloneTypesFile","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","resolvedSchemaTypesDestination","diskUtil","isDirPath","resolvedSchemaTypesDestinationDirOrFile","dirname","resolvedFieldTypesDestination","deleteOrphanedSchemas","resolvedDestination","schemaTemplateItems","schemaGeneratorUtil","filterSchemaFilesBySchemaIds","map","item","definitionsToDelete","forEach","def","deleteFile"],"sources":["../../../../src/features/schema/utilities/schemaDisk.utility.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { Schema, SchemaError, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport schemaGeneratorUtil from './schemaGenerator.utility'\n\nconst schemaDiskUtil = {\n\tresolvePath(options: {\n\t\tdestination: string\n\t\tschema: Schema\n\t\tshouldIncludeFileExtension?: boolean\n\t}) {\n\t\tconst {\n\t\t\tdestination,\n\t\t\tschema,\n\t\t\tshouldIncludeFileExtension: includeFileExtension,\n\t\t} = options\n\n\t\tif (!schema.namespace) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['namespace'],\n\t\t\t})\n\t\t}\n\n\t\treturn pathUtil.join(\n\t\t\tdestination,\n\t\t\tnamesUtil.toCamel(schema.namespace),\n\t\t\tschema.version ?? '',\n\t\t\t`${schema.id}.schema${includeFileExtension === false ? '' : '.ts'}`\n\t\t)\n\t},\n\n\tresolveTypeFilePaths(options: {\n\t\tcwd: string\n\t\tgenerateStandaloneTypesFile: boolean\n\t\tschemaTypesDestinationDirOrFile: string\n\t\tfieldTypesDestinationDir: string\n\t}) {\n\t\tconst {\n\t\t\tcwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t} = options\n\n\t\tconst resolvedSchemaTypesDestination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\tgenerateStandaloneTypesFile &&\n\t\t\t\tdiskUtil.isDirPath(schemaTypesDestinationDirOrFile)\n\t\t\t\t? diskUtil.resolvePath(\n\t\t\t\t\t\tcwd,\n\t\t\t\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\t\t\t\t'core.schemas.types.ts'\n\t\t\t\t )\n\t\t\t\t: schemaTypesDestinationDirOrFile\n\t\t)\n\n\t\tconst resolvedSchemaTypesDestinationDirOrFile = diskUtil.isDirPath(\n\t\t\tresolvedSchemaTypesDestination\n\t\t)\n\t\t\t? resolvedSchemaTypesDestination\n\t\t\t: pathUtil.dirname(resolvedSchemaTypesDestination)\n\n\t\tconst resolvedFieldTypesDestination = diskUtil.resolvePath(\n\t\t\tcwd,\n\t\t\tfieldTypesDestinationDir ?? resolvedSchemaTypesDestinationDirOrFile\n\t\t)\n\n\t\treturn {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t}\n\t},\n\n\tasync deleteOrphanedSchemas(\n\t\tresolvedDestination: string,\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t) {\n\t\tconst definitionsToDelete =\n\t\t\tawait schemaGeneratorUtil.filterSchemaFilesBySchemaIds(\n\t\t\t\tresolvedDestination,\n\t\t\t\tschemaTemplateItems.map((item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tversion: item.schema.version,\n\t\t\t\t}))\n\t\t\t)\n\n\t\tdefinitionsToDelete.forEach((def) => diskUtil.deleteFile(def))\n\t},\n}\n\nexport default schemaDiskUtil\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,cAAc,GAAG;EACtBC,WADsB,uBACVC,OADU,EAKnB;IAAA;;IACF,IACCC,WADD,GAIID,OAJJ,CACCC,WADD;IAAA,IAECC,MAFD,GAIIF,OAJJ,CAECE,MAFD;IAAA,IAG6BC,oBAH7B,GAIIH,OAJJ,CAGCI,0BAHD;;IAMA,IAAI,CAACF,MAAM,CAACG,SAAZ,EAAuB;MACtB,MAAM,IAAIC,mBAAJ,CAAgB;QACrBC,IAAI,EAAE,oBADe;QAErBC,UAAU,EAAE,CAAC,WAAD;MAFS,CAAhB,CAAN;IAIA;;IAED,OAAOC,iBAASC,IAAT,CACNT,WADM,EAENU,4BAAUC,OAAV,CAAkBV,MAAM,CAACG,SAAzB,CAFM,qBAGNH,MAAM,CAACW,OAHD,6DAGY,EAHZ,YAIHX,MAAM,CAACY,EAJJ,oBAIgBX,oBAAoB,KAAK,KAAzB,GAAiC,EAAjC,GAAsC,KAJtD,EAAP;EAMA,CAzBqB;EA2BtBY,oBA3BsB,gCA2BDf,OA3BC,EAgCnB;IACF,IACCgB,GADD,GAKIhB,OALJ,CACCgB,GADD;IAAA,IAECC,2BAFD,GAKIjB,OALJ,CAECiB,2BAFD;IAAA,IAGCC,+BAHD,GAKIlB,OALJ,CAGCkB,+BAHD;IAAA,IAICC,wBAJD,GAKInB,OALJ,CAICmB,wBAJD;;IAOA,IAAMC,8BAA8B,GAAGC,2BAAStB,WAAT,CACtCiB,GADsC,EAEtCC,2BAA2B,IAC1BI,2BAASC,SAAT,CAAmBJ,+BAAnB,CADD,GAEGG,2BAAStB,WAAT,CACAiB,GADA,EAEAE,+BAFA,EAGA,uBAHA,CAFH,GAOGA,+BATmC,CAAvC;;IAYA,IAAMK,uCAAuC,GAAGF,2BAASC,SAAT,CAC/CF,8BAD+C,IAG7CA,8BAH6C,GAI7CX,iBAASe,OAAT,CAAiBJ,8BAAjB,CAJH;;IAMA,IAAMK,6BAA6B,GAAGJ,2BAAStB,WAAT,CACrCiB,GADqC,EAErCG,wBAFqC,aAErCA,wBAFqC,cAErCA,wBAFqC,GAETI,uCAFS,CAAtC;;IAKA,OAAO;MACNE,6BAA6B,EAA7BA,6BADM;MAENF,uCAAuC,EAAvCA,uCAFM;MAGNH,8BAA8B,EAA9BA;IAHM,CAAP;EAKA,CApEqB;EAsEhBM,qBAtEgB,iCAuErBC,mBAvEqB,EAwErBC,mBAxEqB,EAyEpB;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OAEMC,4BAAoBC,4BAApB,CACLH,mBADK,EAELC,mBAAmB,CAACG,GAApB,CAAwB,UAACC,IAAD;gBAAA,uCACpBA,IADoB;kBAEvBnB,OAAO,EAAEmB,IAAI,CAAC9B,MAAL,CAAYW;gBAFE;cAAA,CAAxB,CAFK,CAFN;;YAAA;cACKoB,mBADL;cAUDA,mBAAmB,CAACC,OAApB,CAA4B,UAACC,GAAD;gBAAA,OAASd,2BAASe,UAAT,CAAoBD,GAApB,CAAT;cAAA,CAA5B;;YAVC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EAWD;AApFqB,CAAvB;eAuFerC,c"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/schema/utilities/schemaGenerator.utility.ts"],"names":["schemaGeneratorUtil","filterSchemaFilesBySchemaIds","lookupDir","schemas","pathUtil","join","matches","filtered","filter","match","found","schema","id","namespace","version","regexString","sep","namesUtil","toCamel","idx","search","RegExp"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG;AACrBC,EAAAA,4BADqB,wCAE1BC,SAF0B,EAG1BC,OAH0B,EAIN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACE,wBACrBC,iBAASC,IAAT,CAAcH,SAAd,EAAyB,qBAAzB,CADqB,CADF;;AAAA;AACdI,cAAAA,OADc;AAIdC,cAAAA,QAJc,GAIHD,OAAO,CAACE,MAAR,CAAe,UAACC,KAAD,EAAW;AAC1C,oBAAIC,KAAK,GAAG,KAAZ;;AAD0C,2DAGrBP,OAHqB;AAAA;;AAAA;AAG1C,sEAA8B;AAAA,wBAAnBQ,MAAmB;AAC7B,wBAAQC,EAAR,GAAmCD,MAAnC,CAAQC,EAAR;AAAA,wBAAYC,SAAZ,GAAmCF,MAAnC,CAAYE,SAAZ;AAAA,wBAAuBC,OAAvB,GAAmCH,MAAnC,CAAuBG,OAAvB;AACA,wBAAIC,WAAW,aAAMX,iBAASY,GAAf,SAAqBJ,EAArB,mBAAf;;AAEA,wBAAIE,OAAJ,EAAa;AACZC,sBAAAA,WAAW,GAAGX,iBAASY,GAAT,GAAeF,OAAf,GAAyBC,WAAvC;AACA;;AAED,wBAAIF,SAAJ,EAAe;AACdE,sBAAAA,WAAW,GAAGE,4BAAUC,OAAV,CAAkBL,SAAlB,IAA+BE,WAA7C;AACA;;AAED,wBAAMI,GAAG,GAAGV,KAAK,CAACW,MAAN,CAAa,IAAIC,MAAJ,CAAWN,WAAX,CAAb,CAAZ;;AACA,wBAAII,GAAG,GAAG,CAAC,CAAX,EAAc;AACbT,sBAAAA,KAAK,GAAG,IAAR;AACA;AACA;AACD;AApByC;AAAA;AAAA;AAAA;AAAA;;AAsB1C,uBAAO,CAACA,KAAR;AACA,eAvBgB,CAJG;AAAA,+CA4BbH,QA5Ba;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BpB;AAjC0B,CAA5B;eAoCeP,mB","sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\n\nconst schemaGeneratorUtil = {\n\tasync filterSchemaFilesBySchemaIds(\n\t\tlookupDir: string,\n\t\tschemas: { id: string; namespace?: string; version?: string }[]\n\t): Promise<string[]> {\n\t\tconst matches = await globby(\n\t\t\tpathUtil.join(lookupDir, '/**/*.schema.[t|j]s')\n\t\t)\n\t\tconst filtered = matches.filter((match) => {\n\t\t\tlet found = false\n\n\t\t\tfor (const schema of schemas) {\n\t\t\t\tconst { id, namespace, version } = schema\n\t\t\t\tlet regexString = `${pathUtil.sep}${id}.schema.[t|j]s`\n\n\t\t\t\tif (version) {\n\t\t\t\t\tregexString = pathUtil.sep + version + regexString\n\t\t\t\t}\n\n\t\t\t\tif (namespace) {\n\t\t\t\t\tregexString = namesUtil.toCamel(namespace) + regexString\n\t\t\t\t}\n\n\t\t\t\tconst idx = match.search(new RegExp(regexString))\n\t\t\t\tif (idx > -1) {\n\t\t\t\t\tfound = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !found\n\t\t})\n\t\treturn filtered\n\t},\n}\n\nexport default schemaGeneratorUtil\n"],"file":"schemaGenerator.utility.js"}
1
+ {"version":3,"file":"schemaGenerator.utility.js","names":["schemaGeneratorUtil","filterSchemaFilesBySchemaIds","lookupDir","schemas","pathUtil","join","matches","filtered","filter","match","found","schema","id","namespace","version","regexString","sep","namesUtil","toCamel","idx","search","RegExp"],"sources":["../../../../src/features/schema/utilities/schemaGenerator.utility.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\n\nconst schemaGeneratorUtil = {\n\tasync filterSchemaFilesBySchemaIds(\n\t\tlookupDir: string,\n\t\tschemas: { id: string; namespace?: string; version?: string }[]\n\t): Promise<string[]> {\n\t\tconst matches = await globby(\n\t\t\tpathUtil.join(lookupDir, '/**/*.schema.[t|j]s')\n\t\t)\n\t\tconst filtered = matches.filter((match) => {\n\t\t\tlet found = false\n\n\t\t\tfor (const schema of schemas) {\n\t\t\t\tconst { id, namespace, version } = schema\n\t\t\t\tlet regexString = `${pathUtil.sep}${id}.schema.[t|j]s`\n\n\t\t\t\tif (version) {\n\t\t\t\t\tregexString = pathUtil.sep + version + regexString\n\t\t\t\t}\n\n\t\t\t\tif (namespace) {\n\t\t\t\t\tregexString = namesUtil.toCamel(namespace) + regexString\n\t\t\t\t}\n\n\t\t\t\tconst idx = match.search(new RegExp(regexString))\n\t\t\t\tif (idx > -1) {\n\t\t\t\t\tfound = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !found\n\t\t})\n\t\treturn filtered\n\t},\n}\n\nexport default schemaGeneratorUtil\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG;EACrBC,4BADqB,wCAE1BC,SAF0B,EAG1BC,OAH0B,EAIN;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACE,wBACrBC,iBAASC,IAAT,CAAcH,SAAd,EAAyB,qBAAzB,CADqB,CADF;;YAAA;cACdI,OADc;cAIdC,QAJc,GAIHD,OAAO,CAACE,MAAR,CAAe,UAACC,KAAD,EAAW;gBAC1C,IAAIC,KAAK,GAAG,KAAZ;;gBAD0C,2CAGrBP,OAHqB;gBAAA;;gBAAA;kBAG1C,oDAA8B;oBAAA,IAAnBQ,MAAmB;oBAC7B,IAAQC,EAAR,GAAmCD,MAAnC,CAAQC,EAAR;oBAAA,IAAYC,SAAZ,GAAmCF,MAAnC,CAAYE,SAAZ;oBAAA,IAAuBC,OAAvB,GAAmCH,MAAnC,CAAuBG,OAAvB;oBACA,IAAIC,WAAW,aAAMX,iBAASY,GAAf,SAAqBJ,EAArB,mBAAf;;oBAEA,IAAIE,OAAJ,EAAa;sBACZC,WAAW,GAAGX,iBAASY,GAAT,GAAeF,OAAf,GAAyBC,WAAvC;oBACA;;oBAED,IAAIF,SAAJ,EAAe;sBACdE,WAAW,GAAGE,4BAAUC,OAAV,CAAkBL,SAAlB,IAA+BE,WAA7C;oBACA;;oBAED,IAAMI,GAAG,GAAGV,KAAK,CAACW,MAAN,CAAa,IAAIC,MAAJ,CAAWN,WAAX,CAAb,CAAZ;;oBACA,IAAII,GAAG,GAAG,CAAC,CAAX,EAAc;sBACbT,KAAK,GAAG,IAAR;sBACA;oBACA;kBACD;gBApByC;kBAAA;gBAAA;kBAAA;gBAAA;;gBAsB1C,OAAO,CAACA,KAAR;cACA,CAvBgB,CAJG;cAAA,iCA4BbH,QA5Ba;;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EA6BpB;AAjC0B,CAA5B;eAoCeP,mB"}
@@ -359,7 +359,7 @@ var SchemaWriter = /*#__PURE__*/function (_AbstractWriter) {
359
359
  destination: destinationDir,
360
360
  schema: options.schema
361
361
  });
362
- typesFile = options.typesFile ? _path["default"].relative(_path["default"].dirname(resolvedDestination), options.typesFile) : undefined;
362
+ typesFile = options.typesFile ? _spruceSkillUtils.diskUtil.resolveRelativePath(_path["default"].dirname(resolvedDestination), options.typesFile) : undefined;
363
363
 
364
364
  if (typesFile) {
365
365
  typesFile = typesFile.replace(_path["default"].extname(typesFile), '');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":["SchemaWriter","filename","templateFuncName","description","destinationDir","options","ui","startLoading","nameCamel","resolvedBuilderDestination","shouldEnableVersioning","pathUtil","resolve","versionUtil","resolveNewLatestPath","version","LATEST_HANDLEBARS","diskUtil","doesFileExist","SpruceError","code","schemaId","destination","builderContent","templates","schemaBuilder","writeFileIfChangedMixinResults","results","lint","fieldTemplateItems","fieldTemplates","fileAndFunc","resolvedDestination","path","join","contents","destinationDirOrFilename","schemaTemplateItems","valueTypes","typesTemplate","resolvedTypesDestination","resolveFilenameWithFallback","DEFAULT_SCHEMA_TYPES_FILENAME","localItems","filter","i","importFrom","length","schemaTypesContents","schemasTypes","globalSchemaNamespace","writeAllSchemas","dirname","typesFile","allSchemaResults","push","item","writeSchema","schemaResults","registerBuiltSchemas","schemaDiskUtil","resolvePath","schema","relative","undefined","replace","extname","schemaContents","schemaFile","shouldImportCoreSchemas","id","cwd","resolveHashSprucePath","pluginContents","schemaPlugin","AbstractWriter"],"mappings":"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","sourcesContent":["import path from 'path'\nimport pathUtil from 'path'\nimport { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tLATEST_HANDLEBARS,\n\tDEFAULT_SCHEMA_TYPES_FILENAME,\n} from '@sprucelabs/spruce-skill-utils'\nimport {\n\tSchemaBuilderTemplateItem,\n\tValueTypes,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\n\ninterface WriteFieldTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n}\n\n// eslint-disable-next-line no-redeclare\nexport interface GenerateSchemaTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n\tschemaTemplateItems: SchemaTemplateItem[]\n\tvalueTypes: ValueTypes\n\tglobalSchemaNamespace?: string\n\ttypesTemplate?: string\n\tregisterBuiltSchemas?: boolean\n\tshouldImportCoreSchemas: boolean\n}\n\nexport default class SchemaWriter extends AbstractWriter {\n\tprivate readonly fieldTemplates: {\n\t\tfilename: string\n\t\ttemplateFuncName: 'fieldsTypes' | 'fieldClassMap'\n\t\tdescription: string\n\t}[] = [\n\t\t{\n\t\t\tfilename: 'fields.types.ts',\n\t\t\ttemplateFuncName: 'fieldsTypes',\n\t\t\tdescription:\n\t\t\t\t'All the interfaces generated for every type of schema field (text, number, address, etc).',\n\t\t},\n\t\t{\n\t\t\tfilename: 'fieldClassMap.ts',\n\t\t\ttemplateFuncName: 'fieldClassMap',\n\t\t\tdescription:\n\t\t\t\t'An object that is injected into the FieldFactory and ensures 3rd party fields are integrated.',\n\t\t},\n\t]\n\n\tpublic async writeBuilder(\n\t\tdestinationDir: string,\n\t\toptions: SchemaBuilderTemplateItem & {\n\t\t\tshouldEnableVersioning?: boolean\n\t\t\tversion?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Writing builder...')\n\n\t\tconst filename = `${options.nameCamel}.builder.ts`\n\n\t\tconst resolvedBuilderDestination =\n\t\t\toptions.shouldEnableVersioning === false\n\t\t\t\t? pathUtil.resolve(destinationDir, filename)\n\t\t\t\t: versionUtil.resolveNewLatestPath(\n\t\t\t\t\t\tdestinationDir,\n\t\t\t\t\t\toptions.version ?? LATEST_HANDLEBARS,\n\t\t\t\t\t\tfilename\n\t\t\t\t )\n\n\t\tif (diskUtil.doesFileExist(resolvedBuilderDestination)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_EXISTS',\n\t\t\t\tschemaId: options.nameCamel,\n\t\t\t\tdestination: destinationDir,\n\t\t\t})\n\t\t}\n\n\t\tconst builderContent = this.templates.schemaBuilder(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedBuilderDestination,\n\t\t\tbuilderContent,\n\t\t\t'The source of truth for building your schemas and their types. Run spruce sync.errors when you change this.'\n\t\t)\n\n\t\tawait this.lint(resolvedBuilderDestination)\n\n\t\treturn results\n\t}\n\n\tpublic async writeFieldTypes(\n\t\tdestinationDir: string,\n\t\toptions: WriteFieldTypesOptions\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Checking schema field types...')\n\n\t\tconst { fieldTemplateItems } = options\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const fileAndFunc of this.fieldTemplates) {\n\t\t\tconst { filename, templateFuncName, description } = fileAndFunc\n\n\t\t\tconst resolvedDestination = path.join(destinationDir, 'fields', filename)\n\n\t\t\tconst contents = this.templates[templateFuncName]({\n\t\t\t\tfieldTemplateItems,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedDestination,\n\t\t\t\tcontents,\n\t\t\t\tdescription,\n\t\t\t\tresults\n\t\t\t)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchemasAndTypes(\n\t\tdestinationDirOrFilename: string,\n\t\toptions: GenerateSchemaTypesOptions\n\t): Promise<WriteResults> {\n\t\tconst {\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesTemplate,\n\t\t} = options\n\n\t\tconst resolvedTypesDestination = this.resolveFilenameWithFallback(\n\t\t\tdestinationDirOrFilename,\n\t\t\tDEFAULT_SCHEMA_TYPES_FILENAME\n\t\t)\n\n\t\tlet results: WriteResults = []\n\t\tthis.ui.startLoading('Generating schema types...')\n\n\t\tconst localItems = schemaTemplateItems.filter((i) => !i.importFrom)\n\n\t\tif (localItems.length > 0) {\n\t\t\tconst schemaTypesContents = this.templates.schemasTypes({\n\t\t\t\tschemaTemplateItems: localItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tvalueTypes,\n\t\t\t\tglobalSchemaNamespace: options.globalSchemaNamespace,\n\t\t\t\ttypesTemplate,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedTypesDestination,\n\t\t\t\tschemaTypesContents,\n\t\t\t\t'Namespace for accessing all your schemas. Type `SpruceSchemas` in your IDE to get started. ⚡️'\n\t\t\t)\n\n\t\t\tawait this.lint(resolvedTypesDestination)\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Checking ${schemaTemplateItems.length} schemas for changes...`\n\t\t)\n\n\t\tconst allSchemaResults = await this.writeAllSchemas(\n\t\t\tpathUtil.dirname(resolvedTypesDestination),\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\ttypesFile: resolvedTypesDestination,\n\t\t\t}\n\t\t)\n\n\t\tresults.push(...allSchemaResults)\n\n\t\treturn results\n\t}\n\n\tprivate async writeAllSchemas(\n\t\tdestinationDir: string,\n\t\toptions: GenerateSchemaTypesOptions & { typesFile?: string }\n\t): Promise<WriteResults> {\n\t\tconst results: WriteResults = []\n\n\t\tfor (const item of options.schemaTemplateItems) {\n\t\t\tconst schemaResults = await this.writeSchema(destinationDir, {\n\t\t\t\t...options,\n\t\t\t\t...item,\n\t\t\t})\n\t\t\tresults.push(...schemaResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchema(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tvalueTypes: ValueTypes\n\t\t\ttypesFile?: string\n\t\t\tregisterBuiltSchemas?: boolean\n\t\t\tshouldImportCoreSchemas: boolean\n\t\t} & SchemaTemplateItem\n\t) {\n\t\tconst {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\tregisterBuiltSchemas = true,\n\t\t\t...item\n\t\t} = options\n\n\t\tconst resolvedDestination = schemaDiskUtil.resolvePath({\n\t\t\tdestination: destinationDir,\n\t\t\tschema: options.schema,\n\t\t})\n\n\t\tlet typesFile = options.typesFile\n\t\t\t? pathUtil.relative(\n\t\t\t\t\tpathUtil.dirname(resolvedDestination),\n\t\t\t\t\toptions.typesFile\n\t\t\t )\n\t\t\t: undefined\n\n\t\tif (typesFile) {\n\t\t\ttypesFile = typesFile.replace(pathUtil.extname(typesFile), '')\n\t\t}\n\n\t\tconst schemaContents = this.templates.schema({\n\t\t\t...item,\n\t\t\tregisterBuiltSchemas,\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesFile,\n\t\t\tschemaFile:\n\t\t\t\titem.importFrom && options.shouldImportCoreSchemas\n\t\t\t\t\t? `schema/imported.schema.ts.hbs`\n\t\t\t\t\t: undefined,\n\t\t})\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\tschemaContents,\n\t\t\t`${\n\t\t\t\titem.schema.description ? `${item.schema.description} ` : ''\n\t\t\t}This is the schema generated by ${\n\t\t\t\titem.id\n\t\t\t}.builder.ts. AUTOGENERATED. DO NOT EDIT.`\n\t\t)\n\t}\n\n\tpublic async writeValueTypes(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tglobalSchemaNamespace?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tconst contents = this.templates.valueTypes(options)\n\t\tconst destination = pathUtil.join(destinationDir, 'tmp', 'valueType.tmp.ts')\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'For constructing what goes to the right of the : after each property in the interface.'\n\t\t)\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'schema.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.schemaPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Enable schema support in your skill.'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"file":"SchemaWriter.js"}
1
+ {"version":3,"file":"SchemaWriter.js","names":["SchemaWriter","filename","templateFuncName","description","destinationDir","options","ui","startLoading","nameCamel","resolvedBuilderDestination","shouldEnableVersioning","pathUtil","resolve","versionUtil","resolveNewLatestPath","version","LATEST_HANDLEBARS","diskUtil","doesFileExist","SpruceError","code","schemaId","destination","builderContent","templates","schemaBuilder","writeFileIfChangedMixinResults","results","lint","fieldTemplateItems","fieldTemplates","fileAndFunc","resolvedDestination","path","join","contents","destinationDirOrFilename","schemaTemplateItems","valueTypes","typesTemplate","resolvedTypesDestination","resolveFilenameWithFallback","DEFAULT_SCHEMA_TYPES_FILENAME","localItems","filter","i","importFrom","length","schemaTypesContents","schemasTypes","globalSchemaNamespace","writeAllSchemas","dirname","typesFile","allSchemaResults","push","item","writeSchema","schemaResults","registerBuiltSchemas","schemaDiskUtil","resolvePath","schema","resolveRelativePath","undefined","replace","extname","schemaContents","schemaFile","shouldImportCoreSchemas","id","cwd","resolveHashSprucePath","pluginContents","schemaPlugin","AbstractWriter"],"sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"sourcesContent":["import path from 'path'\nimport pathUtil from 'path'\nimport { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tLATEST_HANDLEBARS,\n\tDEFAULT_SCHEMA_TYPES_FILENAME,\n} from '@sprucelabs/spruce-skill-utils'\nimport {\n\tSchemaBuilderTemplateItem,\n\tValueTypes,\n} from '@sprucelabs/spruce-templates'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\n\ninterface WriteFieldTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n}\n\n// eslint-disable-next-line no-redeclare\nexport interface GenerateSchemaTypesOptions {\n\tfieldTemplateItems: FieldTemplateItem[]\n\tschemaTemplateItems: SchemaTemplateItem[]\n\tvalueTypes: ValueTypes\n\tglobalSchemaNamespace?: string\n\ttypesTemplate?: string\n\tregisterBuiltSchemas?: boolean\n\tshouldImportCoreSchemas: boolean\n}\n\nexport default class SchemaWriter extends AbstractWriter {\n\tprivate readonly fieldTemplates: {\n\t\tfilename: string\n\t\ttemplateFuncName: 'fieldsTypes' | 'fieldClassMap'\n\t\tdescription: string\n\t}[] = [\n\t\t{\n\t\t\tfilename: 'fields.types.ts',\n\t\t\ttemplateFuncName: 'fieldsTypes',\n\t\t\tdescription:\n\t\t\t\t'All the interfaces generated for every type of schema field (text, number, address, etc).',\n\t\t},\n\t\t{\n\t\t\tfilename: 'fieldClassMap.ts',\n\t\t\ttemplateFuncName: 'fieldClassMap',\n\t\t\tdescription:\n\t\t\t\t'An object that is injected into the FieldFactory and ensures 3rd party fields are integrated.',\n\t\t},\n\t]\n\n\tpublic async writeBuilder(\n\t\tdestinationDir: string,\n\t\toptions: SchemaBuilderTemplateItem & {\n\t\t\tshouldEnableVersioning?: boolean\n\t\t\tversion?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Writing builder...')\n\n\t\tconst filename = `${options.nameCamel}.builder.ts`\n\n\t\tconst resolvedBuilderDestination =\n\t\t\toptions.shouldEnableVersioning === false\n\t\t\t\t? pathUtil.resolve(destinationDir, filename)\n\t\t\t\t: versionUtil.resolveNewLatestPath(\n\t\t\t\t\t\tdestinationDir,\n\t\t\t\t\t\toptions.version ?? LATEST_HANDLEBARS,\n\t\t\t\t\t\tfilename\n\t\t\t\t )\n\n\t\tif (diskUtil.doesFileExist(resolvedBuilderDestination)) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_EXISTS',\n\t\t\t\tschemaId: options.nameCamel,\n\t\t\t\tdestination: destinationDir,\n\t\t\t})\n\t\t}\n\n\t\tconst builderContent = this.templates.schemaBuilder(options)\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedBuilderDestination,\n\t\t\tbuilderContent,\n\t\t\t'The source of truth for building your schemas and their types. Run spruce sync.errors when you change this.'\n\t\t)\n\n\t\tawait this.lint(resolvedBuilderDestination)\n\n\t\treturn results\n\t}\n\n\tpublic async writeFieldTypes(\n\t\tdestinationDir: string,\n\t\toptions: WriteFieldTypesOptions\n\t): Promise<WriteResults> {\n\t\tthis.ui.startLoading('Checking schema field types...')\n\n\t\tconst { fieldTemplateItems } = options\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const fileAndFunc of this.fieldTemplates) {\n\t\t\tconst { filename, templateFuncName, description } = fileAndFunc\n\n\t\t\tconst resolvedDestination = path.join(destinationDir, 'fields', filename)\n\n\t\t\tconst contents = this.templates[templateFuncName]({\n\t\t\t\tfieldTemplateItems,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedDestination,\n\t\t\t\tcontents,\n\t\t\t\tdescription,\n\t\t\t\tresults\n\t\t\t)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchemasAndTypes(\n\t\tdestinationDirOrFilename: string,\n\t\toptions: GenerateSchemaTypesOptions\n\t): Promise<WriteResults> {\n\t\tconst {\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesTemplate,\n\t\t} = options\n\n\t\tconst resolvedTypesDestination = this.resolveFilenameWithFallback(\n\t\t\tdestinationDirOrFilename,\n\t\t\tDEFAULT_SCHEMA_TYPES_FILENAME\n\t\t)\n\n\t\tlet results: WriteResults = []\n\t\tthis.ui.startLoading('Generating schema types...')\n\n\t\tconst localItems = schemaTemplateItems.filter((i) => !i.importFrom)\n\n\t\tif (localItems.length > 0) {\n\t\t\tconst schemaTypesContents = this.templates.schemasTypes({\n\t\t\t\tschemaTemplateItems: localItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tvalueTypes,\n\t\t\t\tglobalSchemaNamespace: options.globalSchemaNamespace,\n\t\t\t\ttypesTemplate,\n\t\t\t})\n\n\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\tresolvedTypesDestination,\n\t\t\t\tschemaTypesContents,\n\t\t\t\t'Namespace for accessing all your schemas. Type `SpruceSchemas` in your IDE to get started. ⚡️'\n\t\t\t)\n\n\t\t\tawait this.lint(resolvedTypesDestination)\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Checking ${schemaTemplateItems.length} schemas for changes...`\n\t\t)\n\n\t\tconst allSchemaResults = await this.writeAllSchemas(\n\t\t\tpathUtil.dirname(resolvedTypesDestination),\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\ttypesFile: resolvedTypesDestination,\n\t\t\t}\n\t\t)\n\n\t\tresults.push(...allSchemaResults)\n\n\t\treturn results\n\t}\n\n\tprivate async writeAllSchemas(\n\t\tdestinationDir: string,\n\t\toptions: GenerateSchemaTypesOptions & { typesFile?: string }\n\t): Promise<WriteResults> {\n\t\tconst results: WriteResults = []\n\n\t\tfor (const item of options.schemaTemplateItems) {\n\t\t\tconst schemaResults = await this.writeSchema(destinationDir, {\n\t\t\t\t...options,\n\t\t\t\t...item,\n\t\t\t})\n\t\t\tresults.push(...schemaResults)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tpublic async writeSchema(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tvalueTypes: ValueTypes\n\t\t\ttypesFile?: string\n\t\t\tregisterBuiltSchemas?: boolean\n\t\t\tshouldImportCoreSchemas: boolean\n\t\t} & SchemaTemplateItem\n\t) {\n\t\tconst {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\tregisterBuiltSchemas = true,\n\t\t\t...item\n\t\t} = options\n\n\t\tconst resolvedDestination = schemaDiskUtil.resolvePath({\n\t\t\tdestination: destinationDir,\n\t\t\tschema: options.schema,\n\t\t})\n\n\t\tlet typesFile = options.typesFile\n\t\t\t? diskUtil.resolveRelativePath(\n\t\t\t\t\tpathUtil.dirname(resolvedDestination),\n\t\t\t\t\toptions.typesFile\n\t\t\t )\n\t\t\t: undefined\n\n\t\tif (typesFile) {\n\t\t\ttypesFile = typesFile.replace(pathUtil.extname(typesFile), '')\n\t\t}\n\n\t\tconst schemaContents = this.templates.schema({\n\t\t\t...item,\n\t\t\tregisterBuiltSchemas,\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t\tvalueTypes,\n\t\t\ttypesFile,\n\t\t\tschemaFile:\n\t\t\t\titem.importFrom && options.shouldImportCoreSchemas\n\t\t\t\t\t? `schema/imported.schema.ts.hbs`\n\t\t\t\t\t: undefined,\n\t\t})\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\tschemaContents,\n\t\t\t`${\n\t\t\t\titem.schema.description ? `${item.schema.description} ` : ''\n\t\t\t}This is the schema generated by ${\n\t\t\t\titem.id\n\t\t\t}.builder.ts. AUTOGENERATED. DO NOT EDIT.`\n\t\t)\n\t}\n\n\tpublic async writeValueTypes(\n\t\tdestinationDir: string,\n\t\toptions: {\n\t\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\t\tglobalSchemaNamespace?: string\n\t\t}\n\t): Promise<WriteResults> {\n\t\tconst contents = this.templates.valueTypes(options)\n\t\tconst destination = pathUtil.join(destinationDir, 'tmp', 'valueType.tmp.ts')\n\n\t\treturn this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tcontents,\n\t\t\t'For constructing what goes to the right of the : after each property in the interface.'\n\t\t)\n\t}\n\n\tpublic writePlugin(cwd: string) {\n\t\tconst destination = diskUtil.resolveHashSprucePath(\n\t\t\tcwd,\n\t\t\t'features',\n\t\t\t'schema.plugin.ts'\n\t\t)\n\n\t\tconst pluginContents = this.templates.schemaPlugin()\n\n\t\tconst results = this.writeFileIfChangedMixinResults(\n\t\t\tdestination,\n\t\t\tpluginContents,\n\t\t\t'Enable schema support in your skill.'\n\t\t)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAGA;;AAUA;;AACA;;AACA;;;;;;;;;;;;;;;;;;IAiBqBA,Y;;;;;;;;;;;;;;;uGAKd,CACL;MACCC,QAAQ,EAAE,iBADX;MAECC,gBAAgB,EAAE,aAFnB;MAGCC,WAAW,EACV;IAJF,CADK,EAOL;MACCF,QAAQ,EAAE,kBADX;MAECC,gBAAgB,EAAE,eAFnB;MAGCC,WAAW,EACV;IAJF,CAPK,C;;;;;;;wGAeN,iBACCC,cADD,EAECC,OAFD;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAOC,KAAKC,EAAL,CAAQC,YAAR,CAAqB,oBAArB;gBAEMN,QATP,aASqBI,OAAO,CAACG,SAT7B;gBAWOC,0BAXP,GAYEJ,OAAO,CAACK,sBAAR,KAAmC,KAAnC,GACGC,iBAASC,OAAT,CAAiBR,cAAjB,EAAiCH,QAAjC,CADH,GAEGY,8BAAYC,oBAAZ,CACAV,cADA,sBAEAC,OAAO,CAACU,OAFR,+DAEmBC,mCAFnB,EAGAf,QAHA,CAdL;;gBAAA,KAoBKgB,2BAASC,aAAT,CAAuBT,0BAAvB,CApBL;kBAAA;kBAAA;gBAAA;;gBAAA,MAqBQ,IAAIU,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE,eADe;kBAErBC,QAAQ,EAAEhB,OAAO,CAACG,SAFG;kBAGrBc,WAAW,EAAElB;gBAHQ,CAAhB,CArBR;;cAAA;gBA4BOmB,cA5BP,GA4BwB,KAAKC,SAAL,CAAeC,aAAf,CAA6BpB,OAA7B,CA5BxB;gBAAA;gBAAA,OA8BuB,KAAKqB,8BAAL,CACrBjB,0BADqB,EAErBc,cAFqB,EAGrB,6GAHqB,CA9BvB;;cAAA;gBA8BOI,OA9BP;gBAAA;gBAAA,OAoCO,KAAKC,IAAL,CAAUnB,0BAAV,CApCP;;cAAA;gBAAA,iCAsCQkB,OAtCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GAyCA,kBACCvB,cADD,EAECC,OAFD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAIC,KAAKC,EAAL,CAAQC,YAAR,CAAqB,gCAArB;gBAEQsB,kBANT,GAMgCxB,OANhC,CAMSwB,kBANT;gBAQKF,OARL,GAQ6B,EAR7B;gBAAA,uCAU2B,KAAKG,cAVhC;gBAAA;;gBAAA;;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;;gBAUYC,WAVZ;gBAWU9B,QAXV,GAWsD8B,WAXtD,CAWU9B,QAXV,EAWoBC,gBAXpB,GAWsD6B,WAXtD,CAWoB7B,gBAXpB,EAWsCC,WAXtC,GAWsD4B,WAXtD,CAWsC5B,WAXtC;gBAaQ6B,mBAbR,GAa8BC,iBAAKC,IAAL,CAAU9B,cAAV,EAA0B,QAA1B,EAAoCH,QAApC,CAb9B;gBAeQkC,QAfR,GAemB,KAAKX,SAAL,CAAetB,gBAAf,EAAiC;kBACjD2B,kBAAkB,EAAlBA;gBADiD,CAAjC,CAfnB;gBAAA;gBAAA,OAmBkB,KAAKH,8BAAL,CACfM,mBADe,EAEfG,QAFe,EAGfhC,WAHe,EAIfwB,OAJe,CAnBlB;;cAAA;gBAmBEA,OAnBF;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;gBAAA;;cAAA;gBAAA;;gBAAA;;gBAAA;;cAAA;gBAAA,kCA2BQA,OA3BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;gHA8BA,kBACCS,wBADD,EAEC/B,OAFD;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAKEwB,kBALF,GASKxB,OATL,CAKEwB,kBALF,EAMEQ,mBANF,GASKhC,OATL,CAMEgC,mBANF,EAOEC,UAPF,GASKjC,OATL,CAOEiC,UAPF,EAQEC,aARF,GASKlC,OATL,CAQEkC,aARF;gBAWOC,wBAXP,GAWkC,KAAKC,2BAAL,CAChCL,wBADgC,EAEhCM,+CAFgC,CAXlC;gBAgBKf,OAhBL,GAgB6B,EAhB7B;gBAiBC,KAAKrB,EAAL,CAAQC,YAAR,CAAqB,4BAArB;gBAEMoC,UAnBP,GAmBoBN,mBAAmB,CAACO,MAApB,CAA2B,UAACC,CAAD;kBAAA,OAAO,CAACA,CAAC,CAACC,UAAV;gBAAA,CAA3B,CAnBpB;;gBAAA,MAqBKH,UAAU,CAACI,MAAX,GAAoB,CArBzB;kBAAA;kBAAA;gBAAA;;gBAsBQC,mBAtBR,GAsB8B,KAAKxB,SAAL,CAAeyB,YAAf,CAA4B;kBACvDZ,mBAAmB,EAAEM,UADkC;kBAEvDd,kBAAkB,EAAlBA,kBAFuD;kBAGvDS,UAAU,EAAVA,UAHuD;kBAIvDY,qBAAqB,EAAE7C,OAAO,CAAC6C,qBAJwB;kBAKvDX,aAAa,EAAbA;gBALuD,CAA5B,CAtB9B;gBAAA;gBAAA,OA8BkB,KAAKb,8BAAL,CACfc,wBADe,EAEfQ,mBAFe,EAGf,+FAHe,CA9BlB;;cAAA;gBA8BErB,OA9BF;gBAAA;gBAAA,OAoCQ,KAAKC,IAAL,CAAUY,wBAAV,CApCR;;cAAA;gBAuCC,KAAKlC,EAAL,CAAQC,YAAR,oBACa8B,mBAAmB,CAACU,MADjC;gBAvCD;gBAAA,OA2CgC,KAAKI,eAAL,CAC9BxC,iBAASyC,OAAT,CAAiBZ,wBAAjB,CAD8B,kCAG1BnC,OAH0B;kBAI7BgD,SAAS,EAAEb;gBAJkB,GA3ChC;;cAAA;gBA2COc,gBA3CP;;gBAmDC,YAAA3B,OAAO,EAAC4B,IAAR,qDAAgBD,gBAAhB;;gBAnDD,kCAqDQ3B,OArDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GAwDA,kBACCvB,cADD,EAECC,OAFD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAIOsB,OAJP,GAI+B,EAJ/B;gBAAA,wCAMoBtB,OAAO,CAACgC,mBAN5B;gBAAA;;gBAAA;;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;;gBAMYmB,IANZ;gBAAA;gBAAA,OAO8B,KAAKC,WAAL,CAAiBrD,cAAjB,kCACxBC,OADwB,GAExBmD,IAFwB,EAP9B;;cAAA;gBAOQE,aAPR;gBAWE/B,OAAO,CAAC4B,IAAR,OAAA5B,OAAO,sCAAS+B,aAAT,EAAP;;cAXF;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;gBAAA;;cAAA;gBAAA;;gBAAA;;gBAAA;;cAAA;gBAAA,kCAcQ/B,OAdR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;uGAiBA,kBACCvB,cADD,EAECC,OAFD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAYEgC,mBAZF,GAiBKhC,OAjBL,CAYEgC,mBAZF,EAaER,kBAbF,GAiBKxB,OAjBL,CAaEwB,kBAbF,EAcES,UAdF,GAiBKjC,OAjBL,CAcEiC,UAdF,0BAiBKjC,OAjBL,CAeEsD,oBAfF,EAeEA,oBAfF,sCAeyB,IAfzB,0BAgBKH,IAhBL,6CAiBKnD,OAjBL;gBAmBO2B,mBAnBP,GAmB6B4B,uBAAeC,WAAf,CAA2B;kBACtDvC,WAAW,EAAElB,cADyC;kBAEtD0D,MAAM,EAAEzD,OAAO,CAACyD;gBAFsC,CAA3B,CAnB7B;gBAwBKT,SAxBL,GAwBiBhD,OAAO,CAACgD,SAAR,GACbpC,2BAAS8C,mBAAT,CACApD,iBAASyC,OAAT,CAAiBpB,mBAAjB,CADA,EAEA3B,OAAO,CAACgD,SAFR,CADa,GAKbW,SA7BJ;;gBA+BC,IAAIX,SAAJ,EAAe;kBACdA,SAAS,GAAGA,SAAS,CAACY,OAAV,CAAkBtD,iBAASuD,OAAT,CAAiBb,SAAjB,CAAlB,EAA+C,EAA/C,CAAZ;gBACA;;gBAEKc,cAnCP,GAmCwB,KAAK3C,SAAL,CAAesC,MAAf,iCACnBN,IADmB;kBAEtBG,oBAAoB,EAApBA,oBAFsB;kBAGtBtB,mBAAmB,EAAnBA,mBAHsB;kBAItBR,kBAAkB,EAAlBA,kBAJsB;kBAKtBS,UAAU,EAAVA,UALsB;kBAMtBe,SAAS,EAATA,SANsB;kBAOtBe,UAAU,EACTZ,IAAI,CAACV,UAAL,IAAmBzC,OAAO,CAACgE,uBAA3B,qCAEGL;gBAVkB,GAnCxB;gBAAA,kCAgDQ,KAAKtC,8BAAL,CACNM,mBADM,EAENmC,cAFM,YAILX,IAAI,CAACM,MAAL,CAAY3D,WAAZ,aAA6BqD,IAAI,CAACM,MAAL,CAAY3D,WAAzC,SAA0D,EAJrD,6CAMLqD,IAAI,CAACc,EANA,8CAhDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;2GA2DA,kBACClE,cADD,EAECC,OAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAQO8B,QARP,GAQkB,KAAKX,SAAL,CAAec,UAAf,CAA0BjC,OAA1B,CARlB;gBASOiB,WATP,GASqBX,iBAASuB,IAAT,CAAc9B,cAAd,EAA8B,KAA9B,EAAqC,kBAArC,CATrB;gBAAA,kCAWQ,KAAKsB,8BAAL,CACNJ,WADM,EAENa,QAFM,EAGN,wFAHM,CAXR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAkBA,qBAAmBoC,GAAnB,EAAgC;MAC/B,IAAMjD,WAAW,GAAGL,2BAASuD,qBAAT,CACnBD,GADmB,EAEnB,UAFmB,EAGnB,kBAHmB,CAApB;;MAMA,IAAME,cAAc,GAAG,KAAKjD,SAAL,CAAekD,YAAf,EAAvB;MAEA,IAAM/C,OAAO,GAAG,KAAKD,8BAAL,CACfJ,WADe,EAEfmD,cAFe,EAGf,sCAHe,CAAhB;MAMA,OAAO9C,OAAP;IACA;;;EAjQwCgD,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/skill/SkillFeature.ts"],"names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;IAkBqBA,Y;;;;;AAyEpB,wBAAmBC,OAAnB,EAA4C;AAAA;;AAAA;AAC3C,8BAAMA,OAAN;AAD2C,qGAtEtB,OAsEsB;AAAA,6FArEjB,OAqEiB;AAAA,oGApEvB,uCAoEuB;AAAA,2GAnEP,GAmEO;AAAA,6GAhE3C;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAgE2C,EA/D3C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KA+D2C,EA9D3C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KA8D2C,EA7D3C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KA6D2C,EA5D3C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KA4D2C,EA3D3C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KA2D2C,EA1D3C;AAAEA,MAAAA,IAAI,EAAE;AAAR,KA0D2C,EAzD3C;AAAEA,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,OAAO,EAAE;AAA3B,KAyD2C,EAxD3C;AACCD,MAAAA,IAAI,EAAE;AADP,KAwD2C,EArD3C;AAAEA,MAAAA,IAAI,EAAE,gBAAR;AAA0BE,MAAAA,KAAK,EAAE;AAAjC,KAqD2C,EApD3C;AAAEF,MAAAA,IAAI,EAAE,SAAR;AAAmBE,MAAAA,KAAK,EAAE;AAA1B,KAoD2C,6CAnDxCC,oCAmDwC;AAAA,sGAhDrBC,wBAgDqB;AAAA,mGA/CxBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CA+CwB;AAAA,gGA9C1B;AACjBC,MAAAA,IAAI,EAAE,MADW;AAEjBC,MAAAA,IAAI,EAAE;AAFW,KA8C0B;AAAA;AAzC3CC,MAAAA,IAAI,EAAE,kBAyCqC;AAxC3C,oBACC,iEAuC0C;AArC3CC,MAAAA,MAAM,EAAE,oBAqCmC;AApC3C,sBAAgB;AAoC2B,OAlCxCC,4BAkCwC;AAAA,uJA9BxCC,qCA8BwC,IA7B3C;AACCC,MAAAA,IAAI,EAAE,cADP;AAECC,MAAAA,WAAW,EAAE,kCAFd;AAGCC,MAAAA,0BAA0B,EAAE;AAH7B,KA6B2C,EAxB3C;AACCF,MAAAA,IAAI,EAAE,uBADP;AAECC,MAAAA,WAAW,EAAE,yCAFd;AAGCC,MAAAA,0BAA0B,EAAE;AAH7B,KAwB2C,EAnB3C;AACCF,MAAAA,IAAI,EAAE,kBADP;AAECC,MAAAA,WAAW,EAAE,oCAFd;AAGCC,MAAAA,0BAA0B,EAAE;AAH7B,KAmB2C,EAd3C;AACCF,MAAAA,IAAI,EAAE,iCADP;AAECC,MAAAA,WAAW,EACV,8GAHF;AAICC,MAAAA,0BAA0B,EAAE;AAJ7B,KAc2C,EAR3C;AACCF,MAAAA,IAAI,EAAE,sCADP;AAECC,MAAAA,WAAW,EACV,uGAHF;AAICC,MAAAA,0BAA0B,EAAE;AAJ7B,KAQ2C;AAG3C,SAAK,MAAKC,OAAL,CAAaC,EAAb,wCAEJ,MAAKC,iCAAL,CAAuCC,IAAvC,gDAFI,CAAL;AAKA,SAAK,MAAKH,OAAL,CAAaC,EAAb,CACJ,sBADI,EAEJ,MAAKG,iBAAL,CAAuBD,IAAvB,gDAFI,CAAL;AAR2C;AAY3C;;;;;6HAED;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ;AACNE,kBAAAA,eAAe,EAAE,CAChB;AACCtB,oBAAAA,IAAI,EAAE,2BADP;AAECuB,oBAAAA,KAAK,EAAE,2BAFR;AAGC,8BAAQ,kCAHT;AAICC,oBAAAA,WAAW,EAAE;AAJd,mBADgB;AADX,iBADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAaA,kBAAkCzB,OAAlC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACyB,KAAK0B,OAAL,CAAa1B,OAAb,CADzB;;AAAA;AAAA;AACS2B,gBAAAA,KADT,uBACSA,KADT;AAAA,kDAEQ;AAAEA,kBAAAA,KAAK,EAALA,KAAF;AAASC,kBAAAA,GAAG,EAAE,KAAKC,kBAAL,CAAwB7B,OAAxB;AAAd,iBAFR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+GAKA,kBAAiCA,OAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AACO8B,gBAAAA,WADP,GACqB,KAAKD,kBAAL,CAAwB7B,OAAxB,CADrB;AAAA;AAAA,uBAEO,KAAK+B,KAAL,CAAW,OAAX,EAAoB;AAAEH,kBAAAA,GAAG,EAAEE;AAAP,iBAApB,EAA0CE,yBAA1C,CACLhC,OAAO,CAACC,IADH,CAFP;;AAAA;AAAA,kDAKQ,EALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mGAQA,kBAAsBD,OAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AACC,kDAAqBK,wBAArB,EAAyCL,OAAzC;AAEM8B,gBAAAA,WAHP,GAGqB,KAAKD,kBAAL,CAAwB7B,OAAxB,CAHrB;;AAIC,oBAAI,CAACM,2BAAS2B,YAAT,CAAsBH,WAAtB,CAAL,EAAyC;AACxCxB,6CAAS4B,SAAT,CAAmBJ,WAAnB;AACA;;AAEKK,gBAAAA,cARP,GAQwB,KAAKC,MAAL,CAAY,OAAZ,CARxB;AAAA;AAAA,uBAUqBD,cAAc,CAACE,UAAf,CAA0BP,WAA1B,EAAuC9B,OAAvC,CAVrB;;AAAA;AAUO2B,gBAAAA,KAVP;AAAA;AAAA,uBAYO,KAAKW,cAAL,CAAoBR,WAApB,CAZP;;AAAA;AAcC,qBAAKS,UAAL,CAAgBT,WAAhB;AAEMU,gBAAAA,GAhBP,GAgBa,KAAKC,OAAL,CAAa,KAAb,EAAoBX,WAApB,CAhBb;AAiBCU,gBAAAA,GAAG,CAACE,GAAJ,CAAQ,YAAR,EAAsB1C,OAAO,CAACC,IAA9B;AAjBD,kDAmBQ;AAAE0B,kBAAAA,KAAK,EAALA;AAAF,iBAnBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAsBA,4BAA2B3B,OAA3B,EAAyD;AAAA;;AACxD,aAAOM,2BAASC,WAAT,CAAqB,KAAKqB,GAA1B,0BAA+B5B,OAAO,CAAC8B,WAAvC,uEAAsD,EAAtD,CAAP;AACA;;;;0GAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4BA,gBAAAA,WAA5B,8DAA0C,KAAKF,GAA/C;AACOe,gBAAAA,aADP,GACuBC,0BAAcC,WAAd,CAA0B,IAA1B,EAAgC;AACrDjB,kBAAAA,GAAG,EAAEE;AADgD,iBAAhC,CADvB;AAAA;AAAA,uBAKOa,aAAa,CAACG,MAAd,EALP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAQA,oBAAkBhB,WAAlB,EAAuC;AACtC,UAAMiB,GAAG,GAAG,KAAKN,OAAL,CAAa,KAAb,EAAoBX,WAApB,CAAZ;AACA,UAAMkB,OAAO,GAAID,GAAG,CAACE,GAAJ,CAAQ,SAAR,CAAD,IAAkD,EAAlE;;AAEA,WAAK,IAAMhD,IAAX,IAAmB,KAAK+C,OAAxB,EAAiC;AAChC,YAAME,GAAG,GAAG,KAAKF,OAAjB;AACAA,QAAAA,OAAO,CAAC/C,IAAD,CAAP,GAAgB,KAAK+C,OAAL,CAAa/C,IAAb,CAAhB;AACA;;AAED8C,MAAAA,GAAG,CAACL,GAAJ,CAAQ;AAAE3B,QAAAA,IAAI,EAAE,SAAR;AAAmBoC,QAAAA,KAAK,EAAEH;AAA1B,OAAR;AACA;;;;6GAED,kBAA+BhD,OAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAKSyB,gBAAAA,WALT,GAK8DzB,OAL9D,CAKSyB,WALT,EAKsB2B,UALtB,GAK8DpD,OAL9D,CAKsBoD,UALtB,EAK2CC,cAL3C,GAK8DrD,OAL9D,CAKkCA,OALlC;AAAA;AAAA,uBAM2B,KAAKsD,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAN3B;;AAAA;AAMOA,gBAAAA,WANP;;AAAA,sBAQKA,WAAW,IAAI9B,WAAW,KAAK,MAA/B,IAAyC2B,UAAU,KAAK,SAR7D;AAAA;AAAA;AAAA;;AASQI,gBAAAA,OATR,GASkB,IAAIC,mBAAJ,CAAY,IAAZ,EAAkB,KAAKvC,OAAvB,CATlB;AAAA;AAAA,uBAUsBsC,OAAO,CAACE,WAAR,CAAoBL,cAApB,aAAoBA,cAApB,cAAoBA,cAApB,GAAsC,EAAtC,CAVtB;;AAAA;AAUQ1B,gBAAAA,KAVR;AAAA,kDAWS;AACNA,kBAAAA,KAAK,EAALA;AADM,iBAXT;;AAAA;AAAA,kDAgBQ,EAhBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA7JSgC,4B","sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.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\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"file":"SkillFeature.js"}
1
+ {"version":3,"file":"SkillFeature.js","names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"sources":["../../../src/features/skill/SkillFeature.ts"],"sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.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\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/BootAction.ts"],"names":["BootAction","bootSkillOptionsSchema","options","command","Service","script","onDataHandler","onData","onErrorHandler","onError","local","bootPromise","Promise","resolve","reject","runningPromise","boot","hints","meta","isBooted","kill","bind","pid","promise","then","err","shouldReturnImmediately","execute","data","search","undefined","results","mappedErr","message","SpruceError","code","friendlyMessage","AbstractAction"],"mappings":"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","sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport bootSkillOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport CommandService from '../../../services/CommandService'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptions\n\nexport interface BootMeta {\n\tkill: () => void\n\tpid: number\n\tpromise: Promise<void>\n\tisBooted: boolean\n\tbootPromise: Promise<void>\n}\n\nexport default class BootAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = bootSkillOptionsSchema\n\tpublic commandAliases = ['boot']\n\tpublic invocationMessage = 'Booting skill... ⚡️'\n\tprivate onDataHandler: ((msg: string) => void) | null | undefined\n\tprivate onErrorHandler: ((msg: string) => void) | null | undefined\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst command = this.Service('command')\n\n\t\tlet script = 'boot'\n\t\tthis.onDataHandler = options.onData\n\t\tthis.onErrorHandler = options.onError\n\n\t\tif (options.local) {\n\t\t\tscript += '.local'\n\t\t}\n\n\t\tlet runningPromise: any\n\n\t\tlet bootPromise = new Promise((resolve, reject) => {\n\t\t\trunningPromise = this.boot(command, script, resolve, reject)\n\t\t})\n\n\t\tconst hints = ['Skill booted succesfully!', 'Skill torn down cleanly!']\n\n\t\tconst meta = {\n\t\t\tisBooted: false,\n\t\t\tkill: command.kill.bind(command),\n\t\t\tpid: command.pid() as number,\n\t\t\tpromise: runningPromise,\n\t\t\tbootPromise,\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tbootPromise = bootPromise\n\t\t\t\t.then(() => {\n\t\t\t\t\tmeta.isBooted = true\n\t\t\t\t\treturn { meta, hints }\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\treject(err)\n\t\t\t\t\treturn err\n\t\t\t\t})\n\n\t\t\tif (!options.shouldReturnImmediately) {\n\t\t\t\tvoid bootPromise.then(() => resolve({ meta, hints }))\n\t\t\t} else {\n\t\t\t\tmeta.bootPromise = bootPromise\n\n\t\t\t\tresolve({\n\t\t\t\t\tmeta,\n\t\t\t\t\thints,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate async boot(\n\t\tcommand: CommandService,\n\t\tscript: string,\n\t\tresolve: (value: unknown) => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tlet isBooted = false\n\t\ttry {\n\t\t\tconst results = await command.execute(`yarn ${script}`, {\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tthis.onDataHandler?.(data)\n\t\t\t\t\tif (!isBooted && data.search(':: Skill booted') > -1) {\n\t\t\t\t\t\tisBooted = true\n\t\t\t\t\t\tresolve(undefined)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: (data) => {\n\t\t\t\t\tthis.onErrorHandler?.(data)\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tif (!isBooted) {\n\t\t\t\tisBooted = true\n\t\t\t\tresolve(undefined)\n\t\t\t}\n\n\t\t\treturn results\n\t\t} catch (err: any) {\n\t\t\tlet mappedErr = err\n\t\t\tif (\n\t\t\t\tmappedErr.message.search(/Error: cannot find module.*?build\\/index/gi) >\n\t\t\t\t-1\n\t\t\t) {\n\t\t\t\tmappedErr = new SpruceError({\n\t\t\t\t\tcode: 'BOOT_ERROR',\n\t\t\t\t\tfriendlyMessage: 'You must build your skill before you can boot it!',\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!isBooted) {\n\t\t\t\treject(mappedErr)\n\t\t\t} else {\n\t\t\t\tthrow mappedErr\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n}\n"],"file":"BootAction.js"}
1
+ {"version":3,"file":"BootAction.js","names":["BootAction","bootSkillOptionsSchema","options","command","Service","script","onDataHandler","onData","onErrorHandler","onError","local","bootPromise","Promise","resolve","reject","runningPromise","boot","hints","meta","isBooted","kill","bind","pid","promise","then","err","shouldReturnImmediately","execute","data","search","undefined","results","mappedErr","message","SpruceError","code","friendlyMessage","AbstractAction"],"sources":["../../../../src/features/skill/actions/BootAction.ts"],"sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport bootSkillOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport CommandService from '../../../services/CommandService'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptions\n\nexport interface BootMeta {\n\tkill: () => void\n\tpid: number\n\tpromise: Promise<void>\n\tisBooted: boolean\n\tbootPromise: Promise<void>\n}\n\nexport default class BootAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = bootSkillOptionsSchema\n\tpublic commandAliases = ['boot']\n\tpublic invocationMessage = 'Booting skill... ⚡️'\n\tprivate onDataHandler: ((msg: string) => void) | null | undefined\n\tprivate onErrorHandler: ((msg: string) => void) | null | undefined\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst command = this.Service('command')\n\n\t\tlet script = 'boot'\n\t\tthis.onDataHandler = options.onData\n\t\tthis.onErrorHandler = options.onError\n\n\t\tif (options.local) {\n\t\t\tscript += '.local'\n\t\t}\n\n\t\tlet runningPromise: any\n\n\t\tlet bootPromise = new Promise((resolve, reject) => {\n\t\t\trunningPromise = this.boot(command, script, resolve, reject)\n\t\t})\n\n\t\tconst hints = ['Skill booted succesfully!', 'Skill torn down cleanly!']\n\n\t\tconst meta = {\n\t\t\tisBooted: false,\n\t\t\tkill: command.kill.bind(command),\n\t\t\tpid: command.pid() as number,\n\t\t\tpromise: runningPromise,\n\t\t\tbootPromise,\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tbootPromise = bootPromise\n\t\t\t\t.then(() => {\n\t\t\t\t\tmeta.isBooted = true\n\t\t\t\t\treturn { meta, hints }\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\treject(err)\n\t\t\t\t\treturn err\n\t\t\t\t})\n\n\t\t\tif (!options.shouldReturnImmediately) {\n\t\t\t\tvoid bootPromise.then(() => resolve({ meta, hints }))\n\t\t\t} else {\n\t\t\t\tmeta.bootPromise = bootPromise\n\n\t\t\t\tresolve({\n\t\t\t\t\tmeta,\n\t\t\t\t\thints,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate async boot(\n\t\tcommand: CommandService,\n\t\tscript: string,\n\t\tresolve: (value: unknown) => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tlet isBooted = false\n\t\ttry {\n\t\t\tconst results = await command.execute(`yarn ${script}`, {\n\t\t\t\tonData: (data) => {\n\t\t\t\t\tthis.onDataHandler?.(data)\n\t\t\t\t\tif (!isBooted && data.search(':: Skill booted') > -1) {\n\t\t\t\t\t\tisBooted = true\n\t\t\t\t\t\tresolve(undefined)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonError: (data) => {\n\t\t\t\t\tthis.onErrorHandler?.(data)\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tif (!isBooted) {\n\t\t\t\tisBooted = true\n\t\t\t\tresolve(undefined)\n\t\t\t}\n\n\t\t\treturn results\n\t\t} catch (err: any) {\n\t\t\tlet mappedErr = err\n\t\t\tif (\n\t\t\t\tmappedErr.message.search(/Error: cannot find module.*?build\\/index/gi) >\n\t\t\t\t-1\n\t\t\t) {\n\t\t\t\tmappedErr = new SpruceError({\n\t\t\t\t\tcode: 'BOOT_ERROR',\n\t\t\t\t\tfriendlyMessage: 'You must build your skill before you can boot it!',\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (!isBooted) {\n\t\t\t\treject(mappedErr)\n\t\t\t} else {\n\t\t\t\tthrow mappedErr\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/CreateAction.ts"],"names":["optionsSchema","id","name","description","fields","skillFeatureSchema","CreateAction","options","codeSuggestion","destination","hints","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,aAD6B;AAEjCC,EAAAA,IAAI,EAAE,cAF2B;AAGjCC,EAAAA,WAAW,EACV,wFAJgC;AAKjCC,EAAAA,MAAM,oBACFC,yBAAmBD,MADjB;AAL2B,CAAZ,CAAtB;;IAaqBE,Y;;;;;;;;;;;;;;;sGACGN,a;uGACC,CAAC,4BAAD,C;0GACG,+B;;;;;;;mGAE3B,iBAAqBO,OAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,cADP,GACwBD,OAAO,CAACE,WAAR,gBACdF,OAAO,CAACE,WADM,0BADxB;AAAA,iDAKQ;AACNC,kBAAAA,KAAK,EAAE,CACN,wCADM,iDAEmCF,cAFnC,wBAGN,qEAHM,EAIN,mGAJM,EAKN,mBALM;AADD,iBALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EALyCG,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createSkill',\n\tname: 'create skill',\n\tdescription:\n\t\t'A skill is a micro-app, focused on delivering personaziled (and discrete) experiences.',\n\tfields: {\n\t\t...skillFeatureSchema.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.skill [destination]']\n\tpublic invocationMessage = 'Creating your new skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst codeSuggestion = options.destination\n\t\t\t? `cd ${options.destination} && code .`\n\t\t\t: `code .`\n\n\t\treturn {\n\t\t\thints: [\n\t\t\t\t'This is so much fun! Lets keep moving.',\n\t\t\t\t`When you're ready, go ahead and run \\`${codeSuggestion}\\` to open vscode.`,\n\t\t\t\t'Once vscode loads, open the terminal and type `spruce setup.vscode`',\n\t\t\t\t\"Hint: You're going to want to install all extensions and setup all features (yes for everything).\",\n\t\t\t\t'See you there! 💪',\n\t\t\t],\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["optionsSchema","id","name","description","fields","skillFeatureSchema","CreateAction","options","codeSuggestion","destination","hints","AbstractAction"],"sources":["../../../../src/features/skill/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'createSkill',\n\tname: 'create skill',\n\tdescription:\n\t\t'A skill is a micro-app, focused on delivering personaziled (and discrete) experiences.',\n\tfields: {\n\t\t...skillFeatureSchema.fields,\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['create.skill [destination]']\n\tpublic invocationMessage = 'Creating your new skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst codeSuggestion = options.destination\n\t\t\t? `cd ${options.destination} && code .`\n\t\t\t: `code .`\n\n\t\treturn {\n\t\t\thints: [\n\t\t\t\t'This is so much fun! Lets keep moving.',\n\t\t\t\t`When you're ready, go ahead and run \\`${codeSuggestion}\\` to open vscode.`,\n\t\t\t\t'Once vscode loads, open the terminal and type `spruce setup.vscode`',\n\t\t\t\t\"Hint: You're going to want to install all extensions and setup all features (yes for everything).\",\n\t\t\t\t'See you there! 💪',\n\t\t\t],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,aAD6B;EAEjCC,IAAI,EAAE,cAF2B;EAGjCC,WAAW,EACV,wFAJgC;EAKjCC,MAAM,oBACFC,yBAAmBD,MADjB;AAL2B,CAAZ,CAAtB;;IAaqBE,Y;;;;;;;;;;;;;;;sGACGN,a;uGACC,CAAC,4BAAD,C;0GACG,+B;;;;;;;mGAE3B,iBAAqBO,OAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,cADP,GACwBD,OAAO,CAACE,WAAR,gBACdF,OAAO,CAACE,WADM,0BADxB;gBAAA,iCAKQ;kBACNC,KAAK,EAAE,CACN,wCADM,iDAEmCF,cAFnC,wBAGN,qEAHM,EAIN,mGAJM,EAKN,mBALM;gBADD,CALR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCG,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/DashboardAction.ts"],"names":["optionsSchema","id","name","description","fields","DashboardAction","hints","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAGO,IAAMA,aAAa,GAAG,yBAAY;AACxCC,EAAAA,EAAE,EAAE,WADoC;AAExCC,EAAAA,IAAI,EAAE,iBAFkC;AAGxCC,EAAAA,WAAW,EAAE,gBAH2B;AAIxCC,EAAAA,MAAM,EAAE;AAJgC,CAAZ,CAAtB;;;IAScC,e;;;;;;;;;;;;;;;sGACGL,a;uGACC,CAAC,WAAD,C;0GACG,yB;;;;;;;mGAE3B;AAAA;AAAA;AAAA;AAAA;AAAA,iDACQ;AACNM,kBAAAA,KAAK,EAAE,CAAC,cAAD;AADD,iBADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL4CC,2B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport const optionsSchema = buildSchema({\n\tid: 'dashboard',\n\tname: 'Skill dashboard',\n\tdescription: 'Coming soon...',\n\tfields: {},\n})\n\nexport type DashboardActionDefinition = typeof optionsSchema\n\nexport default class DashboardAction extends AbstractAction<DashboardActionDefinition> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['dashboard']\n\tpublic invocationMessage = 'Loading dashboard... ⚡️'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\treturn {\n\t\t\thints: ['Coming soon.'],\n\t\t}\n\t}\n}\n"],"file":"DashboardAction.js"}
1
+ {"version":3,"file":"DashboardAction.js","names":["optionsSchema","id","name","description","fields","DashboardAction","hints","AbstractAction"],"sources":["../../../../src/features/skill/actions/DashboardAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport const optionsSchema = buildSchema({\n\tid: 'dashboard',\n\tname: 'Skill dashboard',\n\tdescription: 'Coming soon...',\n\tfields: {},\n})\n\nexport type DashboardActionDefinition = typeof optionsSchema\n\nexport default class DashboardAction extends AbstractAction<DashboardActionDefinition> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['dashboard']\n\tpublic invocationMessage = 'Loading dashboard... ⚡️'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\treturn {\n\t\t\thints: ['Coming soon.'],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAGO,IAAMA,aAAa,GAAG,yBAAY;EACxCC,EAAE,EAAE,WADoC;EAExCC,IAAI,EAAE,iBAFkC;EAGxCC,WAAW,EAAE,gBAH2B;EAIxCC,MAAM,EAAE;AAJgC,CAAZ,CAAtB;;;IAScC,e;;;;;;;;;;;;;;;sGACGL,a;uGACC,CAAC,WAAD,C;0GACG,yB;;;;;;;mGAE3B;QAAA;UAAA;YAAA;cAAA;gBAAA,iCACQ;kBACNM,KAAK,EAAE,CAAC,cAAD;gBADD,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAL4CC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/LoginAction.ts"],"names":["optionsSchema","id","description","fields","skillSlug","type","label","LoginAction","options","validateAndNormalizeOptions","person","Service","getLoggedInPerson","loginResponse","skillResponse","ui","renderLine","prompt","isRequired","phone","Action","execute","connectToApi","client","emit","payload","shouldOnlyShowMine","skillResults","eventResponseUtil","getFirstResponseOrThrow","skills","match","find","s","slug","errors","SpruceError","code","friendlyMessage","length","error","choices","map","name","value","selectedSkillId","filter","target","skillId","shouldIncludeApiKey","currentSkillResults","skill","updateCurrentSkill","summaryLines","meta","actionUtil","mergeActionResults","AbstractAction"],"mappings":"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","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { generateSkillSummaryLines } from './RegisterAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'loginSkillAction',\n\tdescription:\n\t\t'If you already registered your skill but lost your env or changed environments.',\n\tfields: {\n\t\tskillSlug: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class LoginAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['login.skill']\n\tpublic invocationMessage = 'Logging in as skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { skillSlug } = this.validateAndNormalizeOptions(options)\n\n\t\tconst person = this.Service('auth').getLoggedInPerson()\n\t\tlet loginResponse: FeatureActionResponse = {}\n\t\tlet skillResponse: FeatureActionResponse = {}\n\n\t\tif (!person) {\n\t\t\tthis.ui.renderLine(\n\t\t\t\t'You gotta login as a person before you can login as a skill.'\n\t\t\t)\n\n\t\t\tconst phone = await this.ui.prompt({\n\t\t\t\ttype: 'phone',\n\t\t\t\tlabel: 'Phone number',\n\t\t\t\tisRequired: true,\n\t\t\t})\n\n\t\t\tloginResponse = await this.Action('person', 'login').execute({\n\t\t\t\tphone,\n\t\t\t})\n\t\t}\n\n\t\tconst client = await this.connectToApi()\n\t\tconst skillResults = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tlet { skills } = eventResponseUtil.getFirstResponseOrThrow(skillResults)\n\n\t\tif (skillSlug) {\n\t\t\tconst match = skills.find((s) => s.slug === skillSlug)\n\n\t\t\tif (!match) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SKILL_NOT_FOUND',\n\t\t\t\t\t\t\tfriendlyMessage: `I couldn't find a skill that you own with the slug: ${skillSlug}`,\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tskills = [match]\n\t\t}\n\n\t\tif (skills.length === 0) {\n\t\t\tconst error = new SpruceError({ code: 'NO_SKILLS_REGISTERED' })\n\n\t\t\tif (error) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [error],\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (skills.length > 1) {\n\t\t\tconst selectedSkillId = await this.ui.prompt({\n\t\t\t\ttype: 'select',\n\t\t\t\tlabel: 'Which skill are we logging in as?',\n\t\t\t\tisRequired: true,\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: skills.map((s) => ({\n\t\t\t\t\t\tlabel: s.name,\n\t\t\t\t\t\tvalue: s.id,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tskills = skills.filter((s) => s.id === selectedSkillId)\n\t\t}\n\n\t\tif (skills.length === 1) {\n\t\t\tconst currentSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: skills[0].id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tshouldIncludeApiKey: true,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } =\n\t\t\t\teventResponseUtil.getFirstResponseOrThrow(currentSkillResults)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\tskillResponse.summaryLines = generateSkillSummaryLines(skill)\n\t\t\tskillResponse.meta = {\n\t\t\t\tskill,\n\t\t\t}\n\t\t}\n\n\t\treturn actionUtil.mergeActionResults(loginResponse, skillResponse)\n\t}\n}\n"],"file":"LoginAction.js"}
1
+ {"version":3,"file":"LoginAction.js","names":["optionsSchema","id","description","fields","skillSlug","type","label","LoginAction","options","validateAndNormalizeOptions","person","Service","getLoggedInPerson","loginResponse","skillResponse","ui","renderLine","prompt","isRequired","phone","Action","execute","connectToApi","client","emit","payload","shouldOnlyShowMine","skillResults","eventResponseUtil","getFirstResponseOrThrow","skills","match","find","s","slug","errors","SpruceError","code","friendlyMessage","length","error","choices","map","name","value","selectedSkillId","filter","target","skillId","shouldIncludeApiKey","currentSkillResults","skill","updateCurrentSkill","summaryLines","meta","actionUtil","mergeActionResults","AbstractAction"],"sources":["../../../../src/features/skill/actions/LoginAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { generateSkillSummaryLines } from './RegisterAction'\n\nconst optionsSchema = buildSchema({\n\tid: 'loginSkillAction',\n\tdescription:\n\t\t'If you already registered your skill but lost your env or changed environments.',\n\tfields: {\n\t\tskillSlug: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class LoginAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['login.skill']\n\tpublic invocationMessage = 'Logging in as skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { skillSlug } = this.validateAndNormalizeOptions(options)\n\n\t\tconst person = this.Service('auth').getLoggedInPerson()\n\t\tlet loginResponse: FeatureActionResponse = {}\n\t\tlet skillResponse: FeatureActionResponse = {}\n\n\t\tif (!person) {\n\t\t\tthis.ui.renderLine(\n\t\t\t\t'You gotta login as a person before you can login as a skill.'\n\t\t\t)\n\n\t\t\tconst phone = await this.ui.prompt({\n\t\t\t\ttype: 'phone',\n\t\t\t\tlabel: 'Phone number',\n\t\t\t\tisRequired: true,\n\t\t\t})\n\n\t\t\tloginResponse = await this.Action('person', 'login').execute({\n\t\t\t\tphone,\n\t\t\t})\n\t\t}\n\n\t\tconst client = await this.connectToApi()\n\t\tconst skillResults = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tlet { skills } = eventResponseUtil.getFirstResponseOrThrow(skillResults)\n\n\t\tif (skillSlug) {\n\t\t\tconst match = skills.find((s) => s.slug === skillSlug)\n\n\t\t\tif (!match) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SKILL_NOT_FOUND',\n\t\t\t\t\t\t\tfriendlyMessage: `I couldn't find a skill that you own with the slug: ${skillSlug}`,\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tskills = [match]\n\t\t}\n\n\t\tif (skills.length === 0) {\n\t\t\tconst error = new SpruceError({ code: 'NO_SKILLS_REGISTERED' })\n\n\t\t\tif (error) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: [error],\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (skills.length > 1) {\n\t\t\tconst selectedSkillId = await this.ui.prompt({\n\t\t\t\ttype: 'select',\n\t\t\t\tlabel: 'Which skill are we logging in as?',\n\t\t\t\tisRequired: true,\n\t\t\t\toptions: {\n\t\t\t\t\tchoices: skills.map((s) => ({\n\t\t\t\t\t\tlabel: s.name,\n\t\t\t\t\t\tvalue: s.id,\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tskills = skills.filter((s) => s.id === selectedSkillId)\n\t\t}\n\n\t\tif (skills.length === 1) {\n\t\t\tconst currentSkillResults = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: skills[0].id,\n\t\t\t\t},\n\t\t\t\tpayload: {\n\t\t\t\t\tshouldIncludeApiKey: true,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } =\n\t\t\t\teventResponseUtil.getFirstResponseOrThrow(currentSkillResults)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\tskillResponse.summaryLines = generateSkillSummaryLines(skill)\n\t\t\tskillResponse.meta = {\n\t\t\t\tskill,\n\t\t\t}\n\t\t}\n\n\t\treturn actionUtil.mergeActionResults(loginResponse, skillResponse)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/RebuildAction.ts"],"names":["optionsSchema","id","description","fields","shouldPlayGames","type","label","defaultValue","RebuildAction","options","validateAndNormalizeOptions","command","Service","InFlightEntertainment","start","ui","startLoading","execute","onData","data","writeStatus","resetUi","errors","summaryLines","stop","stopLoading","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,gBAD6B;AAEjCC,EAAAA,WAAW,EACV,iEAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,eAAe,EAAE;AAChBC,MAAAA,IAAI,EAAE,SADU;AAEhBC,MAAAA,KAAK,EAAE,YAFS;AAGhBC,MAAAA,YAAY,EAAE;AAHE;AADV;AAJyB,CAAZ,CAAtB;;IAgBqBC,a;;;;;;;;;;;;;;;sGACkBR,a;uGACd,CAAC,SAAD,C;0GACG,6B;;;;;;;mGAE3B,iBAAqBS,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAC6B,KAAKC,2BAAL,CAAiCD,OAAjC,CAD7B,EACSL,eADT,yBACSA,eADT;AAEOO,gBAAAA,OAFP,GAEiB,KAAKC,OAAL,CAAa,SAAb,CAFjB;AAAA;;AAKE,oBAAIR,eAAJ,EAAqB;AACpBS,oDAAsBC,KAAtB,CAA4B,CAC3B,iCAD2B,EAE3B,8CAF2B,CAA5B;AAIA,iBALD,MAKO;AACN,uBAAKC,EAAL,CAAQC,YAAR,CAAqB,gBAArB;AACA;;AAZH;AAAA,uBAcQL,OAAO,CAACM,OAAR,CAAgB,cAAhB,EAAgC;AACrCC,kBAAAA,MAAM,EAAE,gBAACC,IAAD,EAAkB;AACzBN,4JAAuBO,WAAvB,CAAmCD,IAAnC;AACA;AAHoC,iBAAhC,CAdR;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAoBE,qBAAKE,OAAL;AApBF,iDAsBS;AACNC,kBAAAA,MAAM,EAAE;AADF,iBAtBT;;AAAA;AA2BC,qBAAKD,OAAL;AA3BD,iDA6BQ;AACNE,kBAAAA,YAAY,EAAE,CACb,0BADa,EAEb,4BAFa,EAGb,0BAHa,EAIb,oBAJa;AADR,iBA7BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAuCA,mBAAkB;AACjBV,wCAAsBW,IAAtB;;AACA,WAAKT,EAAL,CAAQU,WAAR;AACA;;;EA/CyCC,2B","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'rebuildOptions',\n\tdescription:\n\t\t'Clear the build and node_modules folder and start from the top.',\n\tfields: {\n\t\tshouldPlayGames: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Play games',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RebuildAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['rebuild']\n\tpublic invocationMessage = 'Rebuilding your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldPlayGames } = this.validateAndNormalizeOptions(options)\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tif (shouldPlayGames) {\n\t\t\t\tInFlightEntertainment.start([\n\t\t\t\t\t'Rebuild sequence initialized...',\n\t\t\t\t\t'The only option is setting a new high score!',\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tthis.ui.startLoading('Rebuilding....')\n\t\t\t}\n\n\t\t\tawait command.execute('yarn rebuild', {\n\t\t\t\tonData: (data: string) => {\n\t\t\t\t\tInFlightEntertainment?.writeStatus(data)\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tthis.resetUi()\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tthis.resetUi()\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t'☑️ node_modules cleared.',\n\t\t\t\t'☑️ node_modules installed.',\n\t\t\t\t'☑️ Build folder cleared.',\n\t\t\t\t'☑️ Build complete.',\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate resetUi() {\n\t\tInFlightEntertainment.stop()\n\t\tthis.ui.stopLoading()\n\t}\n}\n"],"file":"RebuildAction.js"}
1
+ {"version":3,"file":"RebuildAction.js","names":["optionsSchema","id","description","fields","shouldPlayGames","type","label","defaultValue","RebuildAction","options","validateAndNormalizeOptions","command","Service","InFlightEntertainment","start","ui","startLoading","execute","onData","data","writeStatus","resetUi","errors","summaryLines","stop","stopLoading","AbstractAction"],"sources":["../../../../src/features/skill/actions/RebuildAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'rebuildOptions',\n\tdescription:\n\t\t'Clear the build and node_modules folder and start from the top.',\n\tfields: {\n\t\tshouldPlayGames: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Play games',\n\t\t\tdefaultValue: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RebuildAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['rebuild']\n\tpublic invocationMessage = 'Rebuilding your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { shouldPlayGames } = this.validateAndNormalizeOptions(options)\n\t\tconst command = this.Service('command')\n\n\t\ttry {\n\t\t\tif (shouldPlayGames) {\n\t\t\t\tInFlightEntertainment.start([\n\t\t\t\t\t'Rebuild sequence initialized...',\n\t\t\t\t\t'The only option is setting a new high score!',\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tthis.ui.startLoading('Rebuilding....')\n\t\t\t}\n\n\t\t\tawait command.execute('yarn rebuild', {\n\t\t\t\tonData: (data: string) => {\n\t\t\t\t\tInFlightEntertainment?.writeStatus(data)\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tthis.resetUi()\n\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\n\t\tthis.resetUi()\n\n\t\treturn {\n\t\t\tsummaryLines: [\n\t\t\t\t'☑️ node_modules cleared.',\n\t\t\t\t'☑️ node_modules installed.',\n\t\t\t\t'☑️ Build folder cleared.',\n\t\t\t\t'☑️ Build complete.',\n\t\t\t],\n\t\t}\n\t}\n\n\tprivate resetUi() {\n\t\tInFlightEntertainment.stop()\n\t\tthis.ui.stopLoading()\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,gBAD6B;EAEjCC,WAAW,EACV,iEAHgC;EAIjCC,MAAM,EAAE;IACPC,eAAe,EAAE;MAChBC,IAAI,EAAE,SADU;MAEhBC,KAAK,EAAE,YAFS;MAGhBC,YAAY,EAAE;IAHE;EADV;AAJyB,CAAZ,CAAtB;;IAgBqBC,a;;;;;;;;;;;;;;;sGACkBR,a;uGACd,CAAC,SAAD,C;0GACG,6B;;;;;;;mGAE3B,iBAAqBS,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAC6B,KAAKC,2BAAL,CAAiCD,OAAjC,CAD7B,EACSL,eADT,yBACSA,eADT;gBAEOO,OAFP,GAEiB,KAAKC,OAAL,CAAa,SAAb,CAFjB;gBAAA;;gBAKE,IAAIR,eAAJ,EAAqB;kBACpBS,kCAAsBC,KAAtB,CAA4B,CAC3B,iCAD2B,EAE3B,8CAF2B,CAA5B;gBAIA,CALD,MAKO;kBACN,KAAKC,EAAL,CAAQC,YAAR,CAAqB,gBAArB;gBACA;;gBAZH;gBAAA,OAcQL,OAAO,CAACM,OAAR,CAAgB,cAAhB,EAAgC;kBACrCC,MAAM,EAAE,gBAACC,IAAD,EAAkB;oBACzBN,wIAAuBO,WAAvB,CAAmCD,IAAnC;kBACA;gBAHoC,CAAhC,CAdR;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;gBAoBE,KAAKE,OAAL;gBApBF,iCAsBS;kBACNC,MAAM,EAAE;gBADF,CAtBT;;cAAA;gBA2BC,KAAKD,OAAL;gBA3BD,iCA6BQ;kBACNE,YAAY,EAAE,CACb,0BADa,EAEb,4BAFa,EAGb,0BAHa,EAIb,oBAJa;gBADR,CA7BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAuCA,mBAAkB;MACjBV,kCAAsBW,IAAtB;;MACA,KAAKT,EAAL,CAAQU,WAAR;IACA;;;EA/CyCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"names":["optionsSchema","id","description","fields","nameReadable","type","label","isRequired","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,qBAD6B;AAEjCC,EAAAA,WAAW,EACV,oFAHgC;AAIjCC,EAAAA,MAAM,EAAE;AACPC,IAAAA,YAAY,EAAE;AACbC,MAAAA,IAAI,EAAE,MADO;AAEbC,MAAAA,KAAK,8BAFQ;AAGbC,MAAAA,UAAU,EAAE;AAHC,KADP;AAMPC,IAAAA,SAAS,EAAE;AACVH,MAAAA,IAAI,EAAE,MADI;AAEVC,MAAAA,KAAK,EAAE,WAFG;AAGVC,MAAAA,UAAU,EAAE;AAHF,KANJ;AAWPL,IAAAA,WAAW,EAAE;AACZG,MAAAA,IAAI,EAAE,MADM;AAEZC,MAAAA,KAAK,EAAE;AAFK;AAXN;AAJyB,CAAZ,CAAtB;;IAyBqBG,c;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,gBAAD,EAAmB,UAAnB,C;0GACG,8B;;;;;;;mGAE3B,iBAAqBU,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,YADT,yBACSA,YADT,EACuBI,SADvB,yBACuBA,SADvB,EACkCN,WADlC,yBACkCA,WADlC;AAAA;AAAA,uBAIsB,KAAKU,YAAL,EAJtB;;AAAA;AAIOC,gBAAAA,MAJP;AAAA;AAAA,uBAKuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;AAChEC,kBAAAA,OAAO,EAAE;AACRC,oBAAAA,IAAI,EAAEZ,YADE;AAERa,oBAAAA,IAAI,EAAET,SAFE;AAGRN,oBAAAA,WAAW,EAAXA;AAHQ;AADuD,iBAA3C,CALvB;;AAAA;AAKOgB,gBAAAA,OALP;AAAA;AAAA,wCAcoBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAdpB,EAcUG,KAdV,yBAcUA,KAdV;AAgBQC,gBAAAA,YAhBR,GAgBuBC,yBAAyB,CAACF,KAAD,CAhBhD;AAkBE,qBAAKG,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCJ,KAAxC;AAlBF,iDAoBS;AACNC,kBAAAA,YAAY,EAAZA,YADM;AAENI,kBAAAA,KAAK,EAAE,CACN,2BADM,EAEN,2CAFM,EAGN,oDAHM,CAFD;AAONC,kBAAAA,IAAI,EAAE;AACLN,oBAAAA,KAAK,EAALA;AADK;AAPA,iBApBT;;AAAA;AAAA;AAAA;AAAA,iDAgCS;AACNK,kBAAAA,KAAK,EAAE,sEADD;AAINE,kBAAAA,MAAM,EAAE;AAJF,iBAhCT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL2CC,2B;;;;AA+CrC,SAASN,yBAAT,CAAmCF,KAAnC,EAA2D;AACjE,SAAO,iBACGA,KAAK,CAACL,IADT,mBAEGK,KAAK,CAACJ,IAFT,iBAGCI,KAAK,CAACpB,EAHP,sBAIMoB,KAAK,CAACS,MAJZ,EAAP;AAMA","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Slug: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"file":"RegisterAction.js"}
1
+ {"version":3,"file":"RegisterAction.js","names":["optionsSchema","id","description","fields","nameReadable","type","label","isRequired","nameKebab","RegisterAction","options","validateAndNormalizeOptions","connectToApi","client","emit","payload","name","slug","results","eventResponseUtil","getFirstResponseOrThrow","skill","summaryLines","generateSkillSummaryLines","Service","updateCurrentSkill","hints","meta","errors","AbstractAction","apiKey"],"sources":["../../../../src/features/skill/actions/RegisterAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { RegisteredSkill } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'registerSkillAction',\n\tdescription:\n\t\t'Register your skill with Mercury so you can start communicating with other skills.',\n\tfields: {\n\t\tnameReadable: {\n\t\t\ttype: 'text',\n\t\t\tlabel: `What is your skill's name?`,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnameKebab: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Namespace',\n\t\t\tisRequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Describe your skill',\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class RegisterAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['register.skill', 'register']\n\tpublic invocationMessage = 'Registering your skill... ⚡️'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab, description } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname: nameReadable,\n\t\t\t\tslug: nameKebab,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\ttry {\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\t\tconst summaryLines = generateSkillSummaryLines(skill)\n\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines,\n\t\t\t\thints: [\n\t\t\t\t\t'Your skill is registered.',\n\t\t\t\t\t'You can check your .env for more details.',\n\t\t\t\t\t\"If you're ready to deploy, try `spruce deploy`. 🚀\",\n\t\t\t\t],\n\t\t\t\tmeta: {\n\t\t\t\t\tskill,\n\t\t\t\t},\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\thints: [\n\t\t\t\t\t`If you've already registered your skill, try 'spruce login.skill'!`,\n\t\t\t\t],\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function generateSkillSummaryLines(skill: RegisteredSkill) {\n\treturn [\n\t\t`Name: ${skill.name}`,\n\t\t`Slug: ${skill.slug}`,\n\t\t`ID: ${skill.id}`,\n\t\t`API Key: ${skill.apiKey}`,\n\t]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,qBAD6B;EAEjCC,WAAW,EACV,oFAHgC;EAIjCC,MAAM,EAAE;IACPC,YAAY,EAAE;MACbC,IAAI,EAAE,MADO;MAEbC,KAAK,8BAFQ;MAGbC,UAAU,EAAE;IAHC,CADP;IAMPC,SAAS,EAAE;MACVH,IAAI,EAAE,MADI;MAEVC,KAAK,EAAE,WAFG;MAGVC,UAAU,EAAE;IAHF,CANJ;IAWPL,WAAW,EAAE;MACZG,IAAI,EAAE,MADM;MAEZC,KAAK,EAAE;IAFK;EAXN;AAJyB,CAAZ,CAAtB;;IAyBqBG,c;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,gBAAD,EAAmB,UAAnB,C;0GACG,8B;;;;;;;mGAE3B,iBAAqBU,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,YADT,yBACSA,YADT,EACuBI,SADvB,yBACuBA,SADvB,EACkCN,WADlC,yBACkCA,WADlC;gBAAA;gBAAA,OAIsB,KAAKU,YAAL,EAJtB;;cAAA;gBAIOC,MAJP;gBAAA;gBAAA,OAKuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;kBAChEC,OAAO,EAAE;oBACRC,IAAI,EAAEZ,YADE;oBAERa,IAAI,EAAET,SAFE;oBAGRN,WAAW,EAAXA;kBAHQ;gBADuD,CAA3C,CALvB;;cAAA;gBAKOgB,OALP;gBAAA;gBAAA,wBAcoBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAdpB,EAcUG,KAdV,yBAcUA,KAdV;gBAgBQC,YAhBR,GAgBuBC,yBAAyB,CAACF,KAAD,CAhBhD;gBAkBE,KAAKG,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCJ,KAAxC;gBAlBF,iCAoBS;kBACNC,YAAY,EAAZA,YADM;kBAENI,KAAK,EAAE,CACN,2BADM,EAEN,2CAFM,EAGN,oDAHM,CAFD;kBAONC,IAAI,EAAE;oBACLN,KAAK,EAALA;kBADK;gBAPA,CApBT;;cAAA;gBAAA;gBAAA;gBAAA,iCAgCS;kBACNK,KAAK,EAAE,sEADD;kBAINE,MAAM,EAAE;gBAJF,CAhCT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAL2CC,2B;;;;AA+CrC,SAASN,yBAAT,CAAmCF,KAAnC,EAA2D;EACjE,OAAO,iBACGA,KAAK,CAACL,IADT,mBAEGK,KAAK,CAACJ,IAFT,iBAGCI,KAAK,CAACpB,EAHP,sBAIMoB,KAAK,CAACS,MAJZ,EAAP;AAMA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","skills","AbstractStore"],"mappings":"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","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\t...query,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"file":"SkillStore.js"}
1
+ {"version":3,"file":"SkillStore.js","names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\t...query,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;IAaqBA,U;;;;;;;;;;;;;;;6FACG,O;;;;;;;oGAOvB,iBACCC,MADD,EAECC,OAFD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAIOC,yBAJP,GAKE,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,yBAAT,MAAuC,KALzC;gBAOCA,yBAAyB,IAAI,KAAKC,aAAL,EAA7B;gBAEQC,IATT,GASqCJ,MATrC,CASSI,IATT,EASeC,IATf,GASqCL,MATrC,CASeK,IATf,EASqBC,WATrB,GASqCN,MATrC,CASqBM,WATrB;gBAAA;gBAAA,OAUsB,KAAKC,YAAL,EAVtB;;cAAA;gBAUOC,MAVP;gBAAA;gBAAA,OAYuBA,MAAM,CAACC,IAAP,CAAY,6BAAZ,EAA2C;kBAChEC,OAAO,EAAE;oBACRN,IAAI,EAAJA,IADQ;oBAERC,IAAI,EAAJA,IAFQ;oBAGRC,WAAW,EAAXA;kBAHQ;gBADuD,CAA3C,CAZvB;;cAAA;gBAYOK,OAZP;gBAAA,wBAoBmBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CApBnB,EAoBSG,KApBT,yBAoBSA,KApBT;;gBAAA,KAsBKZ,yBAtBL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAuBQ,KAAKa,yBAAL,CAA+BD,KAAK,CAACT,IAArC,CAvBR;;cAAA;gBAwBE,KAAKW,OAAL,CAAa,MAAb,EAAqBC,kBAArB,CAAwCH,KAAxC;;cAxBF;gBAAA,iCA2BQA,KA3BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WA8BA,yBAAwB;MACvB,IAAMI,WAAW,GAAG,KAAKF,OAAL,CAAa,UAAb,EAAyBG,mBAAzB,CAA6C,OAA7C,CAApB;;MAEA,IAAI,CAACD,WAAL,EAAkB;QACjB,MAAM,IAAIE,uBAAJ,CAAgB;UAAEC,IAAI,EAAE;QAAR,CAAhB,CAAN;MACA;IACD;;;;4GAED;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,KACKtB,UAAU,CAACuB,YADhB;kBAAA;kBAAA;gBAAA;;gBAAA,kCAESvB,UAAU,CAACuB,YAFpB;;cAAA;gBAKC,KAAKnB,aAAL;gBAEMmB,YAPP,GAOsB,KAAKN,OAAL,CAAa,MAAb,EAAqBO,eAArB,EAPtB;;gBAAA,KASKD,YATL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAUuB,KAAKf,YAAL,CAAkB;kBAAEiB,wBAAwB,EAAE;gBAA5B,CAAlB,CAVvB;;cAAA;gBAUQhB,MAVR;gBAAA;gBAAA,OAYyBA,MAAM,CAACC,IAAP,CAAY,wBAAZ,EAAsC;kBAC5DgB,MAAM,EAAE;oBACPC,OAAO,EAAEJ,YAAY,CAACK;kBADf;gBADoD,CAAtC,CAZzB;;cAAA;gBAYQC,QAZR;gBAAA,yBAkBoBhB,oCAAkBC,uBAAlB,CAA0Ce,QAA1C,CAlBpB,EAkBUd,KAlBV,0BAkBUA,KAlBV;gBAoBEf,UAAU,CAACuB,YAAX,mCACIR,KADJ;kBAECe,eAAe,EAAEC,4BAAUC,QAAV,CAAmBjB,KAAK,CAACT,IAAzB,CAFlB;kBAGC2B,YAAY,EAAE,IAHf;kBAICC,MAAM,EAAEX,YAAY,CAACW;gBAJtB;gBApBF,kCA2BSlC,UAAU,CAACuB,YA3BpB;;cAAA;gBAAA,kCA8BQ;kBACNlB,IAAI,EAAE,KAAK8B,mBAAL,EADA;kBAENL,eAAe,EAAE,KAAKM,iCAAL,EAFX;kBAGN7B,WAAW,EAAE,KAAK8B,0BAAL,EAHP;kBAINJ,YAAY,EAAE;gBAJR,CA9BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;oHAsCA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACqB,KAAKK,gBAAL,EADrB;;cAAA;gBACOvB,KADP;gBAAA,kCAEQA,KAAK,CAACkB,YAFd;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAKA,+BAA8B;MAC7B,IAAMM,GAAG,GAAG,KAAKtB,OAAL,CAAa,KAAb,CAAZ;MACA,IAAMuB,eAAe,GAAGD,GAAG,CAACE,GAAJ,CAAQ,iBAAR,CAAxB;;MACA,IAAI,CAACD,eAAL,EAAsB;QACrB,MAAM,IAAIE,KAAJ,CACL,0DADK,CAAN;MAGA;;MACD,OAAOF,eAAP;IACA;;;;sHAED;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOG,QADP,GACkBZ,4BAAUC,QAAV,CAAmB,KAAKG,mBAAL,EAAnB,CADlB;;gBAAA,KAGK,KAAKlB,OAAL,CAAa,MAAb,EAAqBO,eAArB,EAHL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAIwB,KAAKc,gBAAL,EAJxB;;cAAA;gBAIQM,OAJR;gBAAA,kCAKSb,4BAAUC,QAAV,kBAAmBY,OAAO,CAACtC,IAA3B,yDAAmCqC,QAAnC,CALT;;cAAA;gBAAA,kCAQQA,QARR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;qHAWA,kBAAuCE,SAAvC;QAAA;QAAA;UAAA;YAAA;cAAA;gBACKZ,YADL,GACoB,KADpB;gBAAA;gBAAA;gBAAA,OAGuB,KAAKa,wBAAL,EAHvB;;cAAA;gBAGEb,YAHF;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA,KAOKA,YAPL;kBAAA;kBAAA;gBAAA;;gBAAA,MAQQ,IAAIZ,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE,SADe;kBAErByB,eAAe;gBAFM,CAAhB,CARR;;cAAA;gBAcC,KAAK9B,OAAL,CAAa,MAAb,EAAqB+B,2BAArB,CAAiDH,SAAjD;;cAdD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAiBA,6CAA4C;MAC3C,OAAOd,4BAAUC,QAAV,CAAmB,KAAKG,mBAAL,EAAnB,CAAP;IACA;;;WAED,sCAAqC;MACpC,IAAMI,GAAG,GAAG,KAAKtB,OAAL,CAAa,KAAb,CAAZ;MACA,OAAOsB,GAAG,CAACE,GAAJ,CAAQ,aAAR,CAAP;IACA;;;;2GAED,kBAA6Bd,OAA7B;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,KAAKnB,YAAL,EADtB;;cAAA;gBACOC,MADP;gBAAA;gBAAA,OAGwBA,MAAM,CAACC,IAAP,CAAY,+BAAZ,EAA6C;kBACnEgB,MAAM,EAAE;oBACPC,OAAO,EAAPA;kBADO;gBAD2D,CAA7C,CAHxB;;cAAA;gBAGOE,QAHP;;gBASChB,oCAAkBC,uBAAlB,CAA0Ce,QAA1C;;gBAEA,IAAI,0BAAA7B,UAAU,CAACuB,YAAX,gFAAyBK,EAAzB,MAAgCD,OAApC,EAA6C;kBAC5C3B,UAAU,CAACuB,YAAX,GAA0B0B,SAA1B;kBACA,KAAKhC,OAAL,CAAa,MAAb,EAAqBiC,kBAArB;gBACA;;cAdF;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yGAiBA;QAAA;UAAA;YAAA;cAAA;gBAAA,kCACQ,KAAKC,cAAL,CAAoB;kBAAEC,kBAAkB,EAAE;gBAAtB,CAApB,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0GAIA,kBAA4BC,KAA5B;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAIsB,KAAK7C,YAAL,EAJtB;;cAAA;gBAIOC,MAJP;gBAAA;gBAAA,OAMwBA,MAAM,CAACC,IAAP,CAAY,0BAAZ,EAAwC;kBAC9DC,OAAO,oBACH0C,KADG;gBADuD,CAAxC,CANxB;;cAAA;gBAMOxB,QANP;gBAAA,yBAYoBhB,oCAAkBC,uBAAlB,CAA0Ce,QAA1C,CAZpB,EAYSyB,MAZT,0BAYSA,MAZT;gBAAA,kCAcQA,MAdR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WA1JA,6BAAkC;MACjC,KAAK/B,YAAL,GAAoB0B,SAApB;IACA;;;EANsCM,0B;;;iCAAnBvD,U"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/updaters/Updater.ts"],"names":["Updater","skill","emitter","feature","normalizedOptions","skillWriter","Writer","upgradeMode","pkgService","Service","name","get","description","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","filesToSkip","NODE_FILES_TO_UPGRADE","payload","push","writeSkill","cwd","generatedFiles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAGA;;;;;;;;IAOqBA,O;AAIpB,mBAAmBC,KAAnB,EAAmCC,OAAnC,EAA2D;AAAA;AAAA;AAAA;AAC1D,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeF,KAAf;AACA;;;;;uGAED,iBAAyBG,iBAAzB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,WADP,GACqB,KAAKF,OAAL,CAAaG,MAAb,CAAoB,OAApB,EAA6B;AAChDC,kBAAAA,WAAW,EAAEH,iBAAiB,CAACG;AADiB,iBAA7B,CADrB;AAIOC,gBAAAA,UAJP,GAIoB,KAAKL,OAAL,CAAaM,OAAb,CAAqB,KAArB,CAJpB;AAKOC,gBAAAA,IALP,GAKcF,UAAU,CAACG,GAAX,CAAe,MAAf,CALd;AAMOC,gBAAAA,WANP,GAMqBJ,UAAU,CAACG,GAAX,CAAe,aAAf,CANrB;AAAA;AAAA,uBAQuB,KAAKT,OAAL,CAAaW,IAAb,CACrB,qCADqB,CARvB;;AAAA;AAQOC,gBAAAA,OARP;AAAA,wCAYsBC,oCAAkBC,+BAAlB,CACpBF,OADoB,EAEpBG,uBAFoB,CAZtB,EAYSC,QAZT,yBAYSA,QAZT;AAiBOC,gBAAAA,WAjBP,iDAiByBC,iCAjBzB,IAiBgD,cAjBhD;AAAA,uDAmBuBF,QAnBvB;;AAAA;AAmBC,sEAAgC;AAArBG,oBAAAA,OAAqB;;AAC/B,wBAAIA,OAAO,CAACF,WAAZ,EAAyB;AACxBA,sBAAAA,WAAW,CAACG,IAAZ,OAAAH,WAAW,sCAASE,OAAO,CAACF,WAAjB,EAAX;AACA;AACD;AAvBF;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAyB8Bd,WAAW,CAACkB,UAAZ,CAAuB,KAAKpB,OAAL,CAAaqB,GAApC,EAAyC;AACrEd,kBAAAA,IAAI,EAAJA,IADqE;AAErEE,kBAAAA,WAAW,EAAXA,WAFqE;AAGrEO,kBAAAA,WAAW,EAAXA;AAHqE,iBAAzC,CAzB9B;;AAAA;AAyBOM,gBAAAA,cAzBP;AAAA,iDA+BQA,cA/BR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\nimport { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"file":"Updater.js"}
1
+ {"version":3,"file":"Updater.js","names":["Updater","skill","emitter","feature","normalizedOptions","skillWriter","Writer","upgradeMode","pkgService","Service","name","get","description","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","filesToSkip","NODE_FILES_TO_UPGRADE","payload","push","writeSkill","cwd","generatedFiles"],"sources":["../../../../src/features/skill/updaters/Updater.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport SpruceError from '../../../errors/SpruceError'\nimport { GlobalEmitter } from '../../../GlobalEmitter'\nimport AbstractFeature from '../../AbstractFeature'\nimport { NODE_FILES_TO_UPGRADE } from '../../node/writers/NodeWriter'\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\ntype Feature =\n\tAbstractFeature<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema>\n\nexport default class Updater {\n\tprivate feature: Feature\n\tprivate emitter: GlobalEmitter\n\n\tpublic constructor(skill: Feature, emitter: GlobalEmitter) {\n\t\tthis.emitter = emitter\n\t\tthis.feature = skill\n\t}\n\n\tpublic async updateFiles(normalizedOptions: UpgradeOptions) {\n\t\tconst skillWriter = this.feature.Writer('skill', {\n\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t})\n\t\tconst pkgService = this.feature.Service('pkg')\n\t\tconst name = pkgService.get('name')\n\t\tconst description = pkgService.get('description')\n\n\t\tconst results = await this.emitter.emit(\n\t\t\t'skill.will-write-directory-template'\n\t\t)\n\n\t\tconst { payloads } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tconst filesToSkip = [...NODE_FILES_TO_UPGRADE, 'package.json']\n\n\t\tfor (const payload of payloads) {\n\t\t\tif (payload.filesToSkip) {\n\t\t\t\tfilesToSkip.push(...payload.filesToSkip)\n\t\t\t}\n\t\t}\n\n\t\tconst generatedFiles = await skillWriter.writeSkill(this.feature.cwd, {\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tfilesToSkip,\n\t\t})\n\n\t\treturn generatedFiles\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAGA;;;;;;;;IAOqBA,O;EAIpB,iBAAmBC,KAAnB,EAAmCC,OAAnC,EAA2D;IAAA;IAAA;IAAA;IAC1D,KAAKA,OAAL,GAAeA,OAAf;IACA,KAAKC,OAAL,GAAeF,KAAf;EACA;;;;;uGAED,iBAAyBG,iBAAzB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOC,WADP,GACqB,KAAKF,OAAL,CAAaG,MAAb,CAAoB,OAApB,EAA6B;kBAChDC,WAAW,EAAEH,iBAAiB,CAACG;gBADiB,CAA7B,CADrB;gBAIOC,UAJP,GAIoB,KAAKL,OAAL,CAAaM,OAAb,CAAqB,KAArB,CAJpB;gBAKOC,IALP,GAKcF,UAAU,CAACG,GAAX,CAAe,MAAf,CALd;gBAMOC,WANP,GAMqBJ,UAAU,CAACG,GAAX,CAAe,aAAf,CANrB;gBAAA;gBAAA,OAQuB,KAAKT,OAAL,CAAaW,IAAb,CACrB,qCADqB,CARvB;;cAAA;gBAQOC,OARP;gBAAA,wBAYsBC,oCAAkBC,+BAAlB,CACpBF,OADoB,EAEpBG,uBAFoB,CAZtB,EAYSC,QAZT,yBAYSA,QAZT;gBAiBOC,WAjBP,iDAiByBC,iCAjBzB,IAiBgD,cAjBhD;gBAAA,uCAmBuBF,QAnBvB;;gBAAA;kBAmBC,oDAAgC;oBAArBG,OAAqB;;oBAC/B,IAAIA,OAAO,CAACF,WAAZ,EAAyB;sBACxBA,WAAW,CAACG,IAAZ,OAAAH,WAAW,sCAASE,OAAO,CAACF,WAAjB,EAAX;oBACA;kBACD;gBAvBF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAyB8Bd,WAAW,CAACkB,UAAZ,CAAuB,KAAKpB,OAAL,CAAaqB,GAApC,EAAyC;kBACrEd,IAAI,EAAJA,IADqE;kBAErEE,WAAW,EAAXA,WAFqE;kBAGrEO,WAAW,EAAXA;gBAHqE,CAAzC,CAzB9B;;cAAA;gBAyBOM,cAzBP;gBAAA,iCA+BQA,cA/BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/skill/writers/SkillWriter.ts"],"names":["SkillGenerator","destinationDir","options","filesToSkip","context","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","firstFileWriteMessage","name","namesUtil","toKebab","AbstractWriter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAIA;;;;;;;;;;;;IAEqBA,c;;;;;;;;;;;;;sGACpB,iBACCC,cADD,EAECC,OAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAISC,gBAAAA,WAJT,GAIqCD,OAJrC,CAISC,WAJT,EAIyBC,OAJzB,6CAIqCF,OAJrC;AAAA,iDAMQ,KAAKG,sBAAL,CAA4B;AAClCJ,kBAAAA,cAAc,EAAdA,cADkC;AAElCK,kBAAAA,IAAI,EAAEC,uCAAsBC,KAFM;AAGlCL,kBAAAA,WAAW,EAAXA,WAHkC;AAIlCM,kBAAAA,qBAAqB,EACpB,yGALiC;AAMlCL,kBAAAA,OAAO,kCACHA,OADG;AAENM,oBAAAA,IAAI,EAAEC,4BAAUC,OAAV,CAAkBV,OAAO,CAACQ,IAA1B;AAFA;AAN2B,iBAA5B,CANR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAD2CG,2B","sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tDirectoryTemplateContextSkill,\n\tDirectoryTemplateCode,\n} from '@sprucelabs/spruce-templates'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class SkillGenerator extends AbstractWriter {\n\tpublic async writeSkill(\n\t\tdestinationDir: string,\n\t\toptions: DirectoryTemplateContextSkill & { filesToSkip?: string[] }\n\t): Promise<WriteResults> {\n\t\tconst { filesToSkip, ...context } = options\n\n\t\treturn this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToSkip,\n\t\t\tfirstFileWriteMessage:\n\t\t\t\t'As I was upgrading your skill, I found some files I want to overwrite. Lemme take you through them now.',\n\t\t\tcontext: {\n\t\t\t\t...context,\n\t\t\t\tname: namesUtil.toKebab(options.name),\n\t\t\t},\n\t\t})\n\t}\n}\n"],"file":"SkillWriter.js"}
1
+ {"version":3,"file":"SkillWriter.js","names":["SkillGenerator","destinationDir","options","filesToSkip","context","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","firstFileWriteMessage","name","namesUtil","toKebab","AbstractWriter"],"sources":["../../../../src/features/skill/writers/SkillWriter.ts"],"sourcesContent":["import { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tDirectoryTemplateContextSkill,\n\tDirectoryTemplateCode,\n} from '@sprucelabs/spruce-templates'\nimport AbstractWriter, { WriteResults } from '../../../writers/AbstractWriter'\n\nexport default class SkillGenerator extends AbstractWriter {\n\tpublic async writeSkill(\n\t\tdestinationDir: string,\n\t\toptions: DirectoryTemplateContextSkill & { filesToSkip?: string[] }\n\t): Promise<WriteResults> {\n\t\tconst { filesToSkip, ...context } = options\n\n\t\treturn this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToSkip,\n\t\t\tfirstFileWriteMessage:\n\t\t\t\t'As I was upgrading your skill, I found some files I want to overwrite. Lemme take you through them now.',\n\t\t\tcontext: {\n\t\t\t\t...context,\n\t\t\t\tname: namesUtil.toKebab(options.name),\n\t\t\t},\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAIA;;;;;;;;;;;;IAEqBA,c;;;;;;;;;;;;;sGACpB,iBACCC,cADD,EAECC,OAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAISC,WAJT,GAIqCD,OAJrC,CAISC,WAJT,EAIyBC,OAJzB,6CAIqCF,OAJrC;gBAAA,iCAMQ,KAAKG,sBAAL,CAA4B;kBAClCJ,cAAc,EAAdA,cADkC;kBAElCK,IAAI,EAAEC,uCAAsBC,KAFM;kBAGlCL,WAAW,EAAXA,WAHkC;kBAIlCM,qBAAqB,EACpB,yGALiC;kBAMlCL,OAAO,kCACHA,OADG;oBAENM,IAAI,EAAEC,4BAAUC,OAAV,CAAkBV,OAAO,CAACQ,IAA1B;kBAFA;gBAN2B,CAA5B,CANR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD2CG,2B"}
@@ -61,7 +61,7 @@ var StoreFeature = /*#__PURE__*/function (_AbstractFeature) {
61
61
  }]);
62
62
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "actionsDir", _spruceSkillUtils.diskUtil.resolvePath(__dirname, 'actions'));
63
63
  void _this.emitter.on('test.register-abstract-test-classes', _this.registerAbstractTestClassHandler.bind((0, _assertThisInitialized2["default"])(_this)));
64
- void _this.emitter.on('feature.will-execute', _this.handleDidExecute.bind((0, _assertThisInitialized2["default"])(_this)));
64
+ void _this.emitter.on('feature.did-execute', _this.handleDidExecute.bind((0, _assertThisInitialized2["default"])(_this)));
65
65
  return _this;
66
66
  }
67
67