@sprucelabs/spruce-cli 15.4.12 → 17.0.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 (461) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  3. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  43. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  44. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  45. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  49. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  50. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  51. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  52. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  63. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  64. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  65. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  66. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  67. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  68. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  69. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  70. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  71. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  89. package/build/GlobalEmitter.js.map +1 -1
  90. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  91. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  92. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  93. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  94. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  95. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  96. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  97. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  98. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  99. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  100. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  101. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  102. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  103. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  104. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  105. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  106. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  107. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  108. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  109. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  110. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  111. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  112. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  113. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  114. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  115. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  116. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  117. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  118. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  119. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  120. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  121. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  122. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  123. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  124. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  125. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  126. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  127. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  128. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  129. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  130. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  131. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  132. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  133. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  135. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  136. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  137. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  138. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  139. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  140. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  141. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  142. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  143. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  144. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  145. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  146. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  147. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  148. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  149. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  150. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  151. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  152. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  153. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/tests/CreatingATest.test.js +3 -3
  155. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  156. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  157. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  158. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  159. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  160. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  161. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  162. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  163. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  164. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  165. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  166. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  167. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  168. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  169. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
  170. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  171. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  172. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  173. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  174. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  175. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  176. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  177. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  178. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  179. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  180. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  181. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  182. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  183. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  184. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  185. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  186. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  187. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  188. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  189. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  190. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  191. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  192. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  193. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  194. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  195. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  196. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  197. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  198. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  199. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  200. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  201. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  202. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  203. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  204. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  205. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  206. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  207. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  208. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  209. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  210. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  211. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  212. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  213. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  214. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  215. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  216. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  217. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  218. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  219. package/build/addons/filePrompt.addon.js.map +1 -1
  220. package/build/cli.js.map +1 -1
  221. package/build/components/FormComponent.js.map +1 -1
  222. package/build/components/QuizComponent.js.map +1 -1
  223. package/build/errors/SpruceError.js.map +1 -1
  224. package/build/errors/actionCancelled.builder.js.map +1 -1
  225. package/build/errors/bootError.builder.js.map +1 -1
  226. package/build/errors/buildFailed.builder.js.map +1 -1
  227. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  228. package/build/errors/commandAborted.builder.js.map +1 -1
  229. package/build/errors/commandBlocked.builder.js.map +1 -1
  230. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  231. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  232. package/build/errors/dependencyExists.builder.js.map +1 -1
  233. package/build/errors/deployFailed.builder.js.map +1 -1
  234. package/build/errors/directoryEmpty.builder.js.map +1 -1
  235. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  236. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  237. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  238. package/build/errors/failedToImport.builder.js.map +1 -1
  239. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  240. package/build/errors/fileExists.builder.js.map +1 -1
  241. package/build/errors/generic.builder.js.map +1 -1
  242. package/build/errors/invalidCommand.builder.js.map +1 -1
  243. package/build/errors/invalidEventContract.builder.js.map +1 -1
  244. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  245. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  246. package/build/errors/lintFailed.builder.js.map +1 -1
  247. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  248. package/build/errors/missingDependencies.builder.js.map +1 -1
  249. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  250. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  251. package/build/errors/notImplemented.builder.js.map +1 -1
  252. package/build/errors/notLoggedIn.builder.js.map +1 -1
  253. package/build/errors/schemaExists.builder.js.map +1 -1
  254. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  255. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  256. package/build/errors/skillNotFound.builder.js.map +1 -1
  257. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  258. package/build/errors/skillViewExists.builder.js.map +1 -1
  259. package/build/errors/storeExists.builder.js.map +1 -1
  260. package/build/errors/testFailed.builder.js.map +1 -1
  261. package/build/errors/themeExists.builder.js.map +1 -1
  262. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  263. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  264. package/build/features/AbstractAction.d.ts +1 -1
  265. package/build/features/AbstractAction.js.map +1 -1
  266. package/build/features/AbstractFeature.js.map +1 -1
  267. package/build/features/ActionExecuter.js.map +1 -1
  268. package/build/features/ActionFactory.js.map +1 -1
  269. package/build/features/ActionQuestionAsker.js.map +1 -1
  270. package/build/features/FeatureCommandAttacher.js.map +1 -1
  271. package/build/features/FeatureInstaller.js.map +1 -1
  272. package/build/features/OverrideActionDecorator.js.map +1 -1
  273. package/build/features/cache/CacheFeature.js.map +1 -1
  274. package/build/features/cache/actions/DisableAction.js.map +1 -1
  275. package/build/features/cache/actions/EnableAction.js.map +1 -1
  276. package/build/features/conversation/ConversationFeature.js.map +1 -1
  277. package/build/features/conversation/actions/TestAction.js.map +1 -1
  278. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  279. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  280. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  281. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  282. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  283. package/build/features/deploy/DeployFeature.js.map +1 -1
  284. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  285. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  286. package/build/features/error/ErrorFeature.js.map +1 -1
  287. package/build/features/error/ParentTestFinder.js.map +1 -1
  288. package/build/features/error/actions/CreateAction.js.map +1 -1
  289. package/build/features/error/actions/SyncAction.js.map +1 -1
  290. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  291. package/build/features/event/EventFeature.js.map +1 -1
  292. package/build/features/event/actions/CreateAction.js.map +1 -1
  293. package/build/features/event/actions/ListenAction.js.map +1 -1
  294. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  295. package/build/features/event/actions/SyncAction.js.map +1 -1
  296. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  297. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  298. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  299. package/build/features/event/stores/EventStore.js.map +1 -1
  300. package/build/features/event/stores/ListenerStore.js.map +1 -1
  301. package/build/features/event/writers/EventWriter.js.map +1 -1
  302. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  303. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  304. package/build/features/feature.utilities.js.map +1 -1
  305. package/build/features/features.types.js.map +1 -1
  306. package/build/features/log/LogFeature.js.map +1 -1
  307. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  308. package/build/features/log/writers/LogWriter.js.map +1 -1
  309. package/build/features/node/NodeFeature.js.map +1 -1
  310. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  311. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  312. package/build/features/node/writers/NodeWriter.js.map +1 -1
  313. package/build/features/onboard/OnboardFeature.js.map +1 -1
  314. package/build/features/onboard/ScriptLoader.js.map +1 -1
  315. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  316. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  317. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  318. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  319. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  320. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  321. package/build/features/organization/OrganizationFeature.js.map +1 -1
  322. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  323. package/build/features/person/PersonFeature.js.map +1 -1
  324. package/build/features/person/actions/LoginAction.js.map +1 -1
  325. package/build/features/person/actions/LogoutAction.js.map +1 -1
  326. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  327. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  328. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  329. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  330. package/build/features/schema/SchemaFeature.js.map +1 -1
  331. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  332. package/build/features/schema/actions/CreateAction.js.map +1 -1
  333. package/build/features/schema/actions/SyncAction.js.map +1 -1
  334. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  335. package/build/features/schema/services/SchemaService.js.map +1 -1
  336. package/build/features/schema/stores/SchemaStore.d.ts +2 -1
  337. package/build/features/schema/stores/SchemaStore.js +2 -1
  338. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  339. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  340. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  341. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  342. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  343. package/build/features/skill/SkillFeature.js.map +1 -1
  344. package/build/features/skill/actions/BootAction.js.map +1 -1
  345. package/build/features/skill/actions/CreateAction.js.map +1 -1
  346. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  347. package/build/features/skill/actions/LoginAction.js.map +1 -1
  348. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  349. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  350. package/build/features/skill/stores/SkillStore.js.map +1 -1
  351. package/build/features/skill/updaters/Updater.js.map +1 -1
  352. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  353. package/build/features/store/StoreFeature.js.map +1 -1
  354. package/build/features/store/actions/CreateAction.js.map +1 -1
  355. package/build/features/store/actions/SyncAction.js.map +1 -1
  356. package/build/features/store/stores/StoreStore.js.map +1 -1
  357. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  358. package/build/features/store/writers/StoreWriter.js.map +1 -1
  359. package/build/features/test/TestFeature.js.map +1 -1
  360. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  361. package/build/features/test/TestReporter.js.map +1 -1
  362. package/build/features/test/TestRunner.js.map +1 -1
  363. package/build/features/test/actions/CreateAction.js.map +1 -1
  364. package/build/features/test/actions/SetupAction.js.map +1 -1
  365. package/build/features/test/actions/TestAction.js.map +1 -1
  366. package/build/features/test/writers/TestWriter.js.map +1 -1
  367. package/build/features/validateAndNormalize.utility.js.map +1 -1
  368. package/build/features/view/ViewFeature.js.map +1 -1
  369. package/build/features/view/actions/CreateAction.js.map +1 -1
  370. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  371. package/build/features/view/actions/SyncAction.js.map +1 -1
  372. package/build/features/view/actions/WatchAction.js.map +1 -1
  373. package/build/features/view/stores/ViewStore.js.map +1 -1
  374. package/build/features/view/writers/ViewWriter.js.map +1 -1
  375. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  376. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  377. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  378. package/build/features/watch/WatchFeature.js.map +1 -1
  379. package/build/index.js.map +1 -1
  380. package/build/interfaces/SpyInterface.js +0 -1
  381. package/build/interfaces/SpyInterface.js.map +1 -1
  382. package/build/interfaces/TerminalInterface.js.map +1 -1
  383. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  384. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  385. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  386. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  387. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  388. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  389. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  390. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  391. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  392. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  393. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  394. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  395. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  396. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  397. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  398. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  399. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  400. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  401. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  402. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  403. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  404. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  405. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  406. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  407. package/build/services/CommandService.d.ts +1 -0
  408. package/build/services/CommandService.js.map +1 -1
  409. package/build/services/GameService.js.map +1 -1
  410. package/build/services/ImportService.js.map +1 -1
  411. package/build/services/LintService.js.map +1 -1
  412. package/build/services/PkgService.js.map +1 -1
  413. package/build/services/ServiceFactory.js.map +1 -1
  414. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  415. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  416. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  417. package/build/tests/AbstractCliTest.js.map +1 -1
  418. package/build/tests/AbstractEventTest.js.map +1 -1
  419. package/build/tests/AbstractSchemaTest.js.map +1 -1
  420. package/build/tests/AbstractTestTest.js.map +1 -1
  421. package/build/tests/CommandFaker.js.map +1 -1
  422. package/build/tests/JestJsonParser.js.map +1 -1
  423. package/build/tests/buildTestCache.js.map +1 -1
  424. package/build/tests/cleanTestCache.js.map +1 -1
  425. package/build/tests/cleanTestData.js.map +1 -1
  426. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  427. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  428. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  429. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  430. package/build/tests/utilities/test.utility.js.map +1 -1
  431. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  432. package/build/utilities/action.utility.js.map +1 -1
  433. package/build/utilities/apiClient.utility.d.ts +1 -1
  434. package/build/utilities/commander.utility.js.map +1 -1
  435. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  436. package/build/utilities/form.utility.js.map +1 -1
  437. package/build/utilities/introspection.utility.js.map +1 -1
  438. package/build/utilities/tsConfig.utility.js.map +1 -1
  439. package/build/widgets/Theme.js.map +1 -1
  440. package/build/widgets/WidgetFactory.js.map +1 -1
  441. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  442. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  443. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  444. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  445. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  446. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  447. package/build/widgets/terminalKit/termKit.utility.d.ts +1 -1
  448. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  449. package/build/widgets/types/input.types.js.map +1 -1
  450. package/build/widgets/types/menuBar.types.js.map +1 -1
  451. package/build/widgets/types/text.types.js.map +1 -1
  452. package/build/widgets/types/window.types.js.map +1 -1
  453. package/build/widgets/widget.utilities.d.ts +1 -1
  454. package/build/writers/AbstractWriter.js.map +1 -1
  455. package/package.json +36 -36
  456. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +3 -2
  457. package/src/features/schema/stores/SchemaStore.ts +4 -2
  458. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.d.ts +0 -1
  459. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js +0 -14
  460. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +0 -1
  461. package/src/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationStore.js","names":["OrganizationStore","skillId","orgId","connectToApi","client","emit","target","organizationId","payload","results","eventResponseUtil","getFirstResponseOrThrow","isInstalled","shouldOnlyShowMine","organizations","values","name","slug","organization","AbstractStore"],"sources":["../../../../src/features/organization/stores/OrganizationStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport default class OrganizationStore extends AbstractStore {\n\tpublic name = 'organization'\n\n\tpublic async isSkillInstalledAtOrg(skillId: string, orgId: string) {\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('is-skill-installed::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: orgId,\n\t\t\t},\n\t\t\tpayload: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\tconst { isInstalled } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn isInstalled\n\t}\n\n\tpublic async installSkillAtOrganization(\n\t\tskillId: string,\n\t\torgId: any\n\t): Promise<void> {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('install-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: orgId,\n\t\t\t},\n\t\t\tpayload: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t}\n\n\tpublic async fetchMyOrganizations() {\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('list-organizations::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tconst { organizations } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn organizations\n\t}\n\n\tpublic async create(values: { name: string; slug?: string }) {\n\t\tconst { name, slug } = values\n\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('create-organization::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t},\n\t\t})\n\n\t\tconst { organization } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn organization\n\t}\n\n\tpublic async deleteOrganization(orgId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('delete-organization::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: orgId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OrganizationStore.js","names":["OrganizationStore","skillId","orgId","connectToApi","client","emit","target","organizationId","payload","results","eventResponseUtil","getFirstResponseOrThrow","isInstalled","shouldOnlyShowMine","organizations","values","name","slug","organization","AbstractStore"],"sources":["../../../../src/features/organization/stores/OrganizationStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractStore from '../../../stores/AbstractStore'\n\nexport default class OrganizationStore extends AbstractStore {\n\tpublic name = 'organization'\n\n\tpublic async isSkillInstalledAtOrg(skillId: string, orgId: string) {\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('is-skill-installed::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: orgId,\n\t\t\t},\n\t\t\tpayload: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\tconst { isInstalled } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn isInstalled\n\t}\n\n\tpublic async installSkillAtOrganization(\n\t\tskillId: string,\n\t\torgId: any\n\t): Promise<void> {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('install-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: orgId,\n\t\t\t},\n\t\t\tpayload: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t}\n\n\tpublic async fetchMyOrganizations() {\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.emit('list-organizations::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tshouldOnlyShowMine: true,\n\t\t\t},\n\t\t})\n\n\t\tconst { organizations } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn organizations\n\t}\n\n\tpublic async create(values: { name: string; slug?: string }) {\n\t\tconst { name, slug } = values\n\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('create-organization::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t},\n\t\t})\n\n\t\tconst { organization } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\treturn organization\n\t}\n\n\tpublic async deleteOrganization(orgId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('delete-organization::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\torganizationId: orgId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(results)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonFeature.js","names":["PersonFeature","code","isRequired","diskUtil","resolvePath","__dirname","featureInstaller","isInstalled","AbstractFeature"],"sources":["../../../src/features/person/PersonFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tperson: PersonFeature\n\t}\n}\n\nexport default class PersonFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'person'\n\tpublic nameReadable = 'Person'\n\tpublic description = 'Log in, log out, etc.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic isInstalled = () => {\n\t\treturn this.featureInstaller.isInstalled('skill')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,a;;;;;;;;;;;;;;;6FACO,Q;qGACL,Q;oGACD,uB;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMd,E;mGAETC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;oGAEC,YAAM;MAC1B,OAAO,MAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAAP;IACA,C;;;;;EAhByCC,4B"}
1
+ {"version":3,"file":"PersonFeature.js","names":["PersonFeature","code","isRequired","diskUtil","resolvePath","__dirname","featureInstaller","isInstalled","AbstractFeature"],"sources":["../../../src/features/person/PersonFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tperson: PersonFeature\n\t}\n}\n\nexport default class PersonFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'person'\n\tpublic nameReadable = 'Person'\n\tpublic description = 'Log in, log out, etc.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic isInstalled = () => {\n\t\treturn this.featureInstaller.isInstalled('skill')\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,a;;;;;;;;;;;;;;;6FACO,Q;qGACL,Q;oGACD,uB;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMd,E;mGAETC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;oGAEC,YAAM;MAC1B,OAAO,MAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAAP;IACA,C;;;;;EAhByCC,4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoginAction.js","names":["optionsSchema","id","description","fields","phone","type","label","isRequired","pin","LoginAction","options","validateAndNormalizeOptions","suppliedPin","loggedIn","connectToApi","shouldAuthAsLoggedInPerson","client","emit","payload","requestPinResults","eventResponseUtil","getFirstResponseOrThrow","challenge","response","ui","prompt","confirmPinResults","person","token","loggedInPerson","Service","setLoggedInPerson","meta","summaryLines","casualName","err","renderWarning","AbstractAction"],"sources":["../../../../src/features/person/actions/LoginAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'loginAction',\n\tdescription:\n\t\t'Authenticate as a person. From here, you can begin creating skill, organizations, conversation topics, etc.',\n\tfields: {\n\t\tphone: {\n\t\t\ttype: 'phone',\n\t\t\tlabel: 'Phone number',\n\t\t\tisRequired: true,\n\t\t},\n\t\tpin: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Pin',\n\t\t},\n\t},\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']\n\tpublic invocationMessage = 'Logging in... 🤝'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { phone, pin: suppliedPin } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\t\tlet loggedIn = false\n\n\t\tconst client = await this.connectToApi({\n\t\t\tshouldAuthAsLoggedInPerson: false,\n\t\t})\n\n\t\tconst requestPinResults = await client.emit('request-pin::v2020_12_25', {\n\t\t\tpayload: { phone },\n\t\t})\n\n\t\tconst { challenge } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(requestPinResults)\n\n\t\tconst response: FeatureActionResponse = {}\n\n\t\tdo {\n\t\t\tconst pin =\n\t\t\t\tsuppliedPin ??\n\t\t\t\t(await this.ui.prompt({\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Pin',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t}))\n\n\t\t\tconst confirmPinResults = await client.emit('confirm-pin::v2020_12_25', {\n\t\t\t\tpayload: { challenge, pin },\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tconst { person, token } =\n\t\t\t\t\teventResponseUtil.getFirstResponseOrThrow(confirmPinResults)\n\n\t\t\t\tconst loggedInPerson = { ...person, token }\n\n\t\t\t\tthis.Service('auth').setLoggedInPerson(loggedInPerson)\n\n\t\t\t\tloggedIn = true\n\n\t\t\t\tresponse.meta = { loggedInPerson }\n\t\t\t\tresponse.summaryLines = [`Logged in as ${loggedInPerson.casualName}`]\n\t\t\t} catch (err) {\n\t\t\t\tthis.ui.renderWarning('Oops, bad pin. Try again please! 🙏')\n\t\t\t}\n\t\t} while (!loggedIn)\n\n\t\treturn response\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,aAD6B;EAEjCC,WAAW,EACV,6GAHgC;EAIjCC,MAAM,EAAE;IACPC,KAAK,EAAE;MACNC,IAAI,EAAE,OADA;MAENC,KAAK,EAAE,cAFD;MAGNC,UAAU,EAAE;IAHN,CADA;IAMPC,GAAG,EAAE;MACJH,IAAI,EAAE,MADF;MAEJC,KAAK,EAAE;IAFH;EANE;AAJyB,CAAZ,CAAtB;;IAmBqBG,W;;;;;;;;;;;;;;;sGACkBT,a;uGACd,CAAC,OAAD,C;0GACG,kB;;;;;;;mGAE3B,iBAAqBU,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,KADT,yBACSA,KADT,EACqBQ,WADrB,yBACgBJ,GADhB;gBAGKK,QAHL,GAGgB,KAHhB;gBAAA;gBAAA,OAKsB,KAAKC,YAAL,CAAkB;kBACtCC,0BAA0B,EAAE;gBADU,CAAlB,CALtB;;cAAA;gBAKOC,MALP;gBAAA;gBAAA,OASiCA,MAAM,CAACC,IAAP,CAAY,0BAAZ,EAAwC;kBACvEC,OAAO,EAAE;oBAAEd,KAAK,EAALA;kBAAF;gBAD8D,CAAxC,CATjC;;cAAA;gBASOe,iBATP;gBAAA,wBAcEC,oCAAkBC,uBAAlB,CAA0CF,iBAA1C,CAdF,EAaSG,SAbT,yBAaSA,SAbT;gBAgBOC,QAhBP,GAgByC,EAhBzC;;cAAA;gBAAA,MAoBGX,WApBH,aAoBGA,WApBH;kBAAA;kBAAA;gBAAA;;gBAAA,cAoBGA,WApBH;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA,OAqBU,KAAKY,EAAL,CAAQC,MAAR,CAAe;kBACrBpB,IAAI,EAAE,MADe;kBAErBC,KAAK,EAAE,KAFc;kBAGrBC,UAAU,EAAE;gBAHS,CAAf,CArBV;;cAAA;gBAAA;;cAAA;gBAmBQC,GAnBR;gBAAA;gBAAA,OA2BkCQ,MAAM,CAACC,IAAP,CAAY,0BAAZ,EAAwC;kBACvEC,OAAO,EAAE;oBAAEI,SAAS,EAATA,SAAF;oBAAad,GAAG,EAAHA;kBAAb;gBAD8D,CAAxC,CA3BlC;;cAAA;gBA2BQkB,iBA3BR;;gBA+BE,IAAI;kBAAA,yBAEFN,oCAAkBC,uBAAlB,CAA0CK,iBAA1C,CAFE,EACKC,MADL,0BACKA,MADL,EACaC,KADb,0BACaA,KADb;kBAIGC,cAJH,mCAIyBF,MAJzB;oBAIiCC,KAAK,EAALA;kBAJjC;kBAMH,KAAKE,OAAL,CAAa,MAAb,EAAqBC,iBAArB,CAAuCF,cAAvC;kBAEAhB,QAAQ,GAAG,IAAX;kBAEAU,QAAQ,CAACS,IAAT,GAAgB;oBAAEH,cAAc,EAAdA;kBAAF,CAAhB;kBACAN,QAAQ,CAACU,YAAT,GAAwB,wBAAiBJ,cAAc,CAACK,UAAhC,EAAxB;gBACA,CAZD,CAYE,OAAOC,GAAP,EAAY;kBACb,KAAKX,EAAL,CAAQY,aAAR,CAAsB,qCAAtB;gBACA;;cA7CH;gBAAA,IA8CU,CAACvB,QA9CX;kBAAA;kBAAA;gBAAA;;cAAA;gBAAA,iCAgDQU,QAhDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALwCc,2B"}
1
+ {"version":3,"file":"LoginAction.js","names":["optionsSchema","buildSchema","id","description","fields","phone","type","label","isRequired","pin","LoginAction","options","validateAndNormalizeOptions","suppliedPin","loggedIn","connectToApi","shouldAuthAsLoggedInPerson","client","emit","payload","requestPinResults","eventResponseUtil","getFirstResponseOrThrow","challenge","response","ui","prompt","confirmPinResults","person","token","loggedInPerson","Service","setLoggedInPerson","meta","summaryLines","casualName","err","renderWarning","AbstractAction"],"sources":["../../../../src/features/person/actions/LoginAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'loginAction',\n\tdescription:\n\t\t'Authenticate as a person. From here, you can begin creating skill, organizations, conversation topics, etc.',\n\tfields: {\n\t\tphone: {\n\t\t\ttype: 'phone',\n\t\t\tlabel: 'Phone number',\n\t\t\tisRequired: true,\n\t\t},\n\t\tpin: {\n\t\t\ttype: 'text',\n\t\t\tlabel: 'Pin',\n\t\t},\n\t},\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']\n\tpublic invocationMessage = 'Logging in... 🤝'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { phone, pin: suppliedPin } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\t\tlet loggedIn = false\n\n\t\tconst client = await this.connectToApi({\n\t\t\tshouldAuthAsLoggedInPerson: false,\n\t\t})\n\n\t\tconst requestPinResults = await client.emit('request-pin::v2020_12_25', {\n\t\t\tpayload: { phone },\n\t\t})\n\n\t\tconst { challenge } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(requestPinResults)\n\n\t\tconst response: FeatureActionResponse = {}\n\n\t\tdo {\n\t\t\tconst pin =\n\t\t\t\tsuppliedPin ??\n\t\t\t\t(await this.ui.prompt({\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Pin',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t}))\n\n\t\t\tconst confirmPinResults = await client.emit('confirm-pin::v2020_12_25', {\n\t\t\t\tpayload: { challenge, pin },\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tconst { person, token } =\n\t\t\t\t\teventResponseUtil.getFirstResponseOrThrow(confirmPinResults)\n\n\t\t\t\tconst loggedInPerson = { ...person, token }\n\n\t\t\t\tthis.Service('auth').setLoggedInPerson(loggedInPerson)\n\n\t\t\t\tloggedIn = true\n\n\t\t\t\tresponse.meta = { loggedInPerson }\n\t\t\t\tresponse.summaryLines = [`Logged in as ${loggedInPerson.casualName}`]\n\t\t\t} catch (err) {\n\t\t\t\tthis.ui.renderWarning('Oops, bad pin. Try again please! 🙏')\n\t\t\t}\n\t\t} while (!loggedIn)\n\n\t\treturn response\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,IAAAC,mBAAA,EAAY;EACjCC,EAAE,EAAE,aAD6B;EAEjCC,WAAW,EACV,6GAHgC;EAIjCC,MAAM,EAAE;IACPC,KAAK,EAAE;MACNC,IAAI,EAAE,OADA;MAENC,KAAK,EAAE,cAFD;MAGNC,UAAU,EAAE;IAHN,CADA;IAMPC,GAAG,EAAE;MACJH,IAAI,EAAE,MADF;MAEJC,KAAK,EAAE;IAFH;EANE;AAJyB,CAAZ,CAAtB;;IAmBqBG,W;;;;;;;;;;;;;;;sGACkBV,a;uGACd,CAAC,OAAD,C;0GACG,kB;;;;;;;mGAE3B,iBAAqBW,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSN,KADT,yBACSA,KADT,EACqBQ,WADrB,yBACgBJ,GADhB;gBAGKK,QAHL,GAGgB,KAHhB;gBAAA;gBAAA,OAKsB,KAAKC,YAAL,CAAkB;kBACtCC,0BAA0B,EAAE;gBADU,CAAlB,CALtB;;cAAA;gBAKOC,MALP;gBAAA;gBAAA,OASiCA,MAAM,CAACC,IAAP,CAAY,0BAAZ,EAAwC;kBACvEC,OAAO,EAAE;oBAAEd,KAAK,EAALA;kBAAF;gBAD8D,CAAxC,CATjC;;cAAA;gBASOe,iBATP;gBAAA,wBAcEC,mCAAA,CAAkBC,uBAAlB,CAA0CF,iBAA1C,CAdF,EAaSG,SAbT,yBAaSA,SAbT;gBAgBOC,QAhBP,GAgByC,EAhBzC;;cAAA;gBAAA,MAoBGX,WApBH,aAoBGA,WApBH;kBAAA;kBAAA;gBAAA;;gBAAA,cAoBGA,WApBH;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA,OAqBU,KAAKY,EAAL,CAAQC,MAAR,CAAe;kBACrBpB,IAAI,EAAE,MADe;kBAErBC,KAAK,EAAE,KAFc;kBAGrBC,UAAU,EAAE;gBAHS,CAAf,CArBV;;cAAA;gBAAA;;cAAA;gBAmBQC,GAnBR;gBAAA;gBAAA,OA2BkCQ,MAAM,CAACC,IAAP,CAAY,0BAAZ,EAAwC;kBACvEC,OAAO,EAAE;oBAAEI,SAAS,EAATA,SAAF;oBAAad,GAAG,EAAHA;kBAAb;gBAD8D,CAAxC,CA3BlC;;cAAA;gBA2BQkB,iBA3BR;;gBA+BE,IAAI;kBAAA,yBAEFN,mCAAA,CAAkBC,uBAAlB,CAA0CK,iBAA1C,CAFE,EACKC,MADL,0BACKA,MADL,EACaC,KADb,0BACaA,KADb;kBAIGC,cAJH,mCAIyBF,MAJzB;oBAIiCC,KAAK,EAALA;kBAJjC;kBAMH,KAAKE,OAAL,CAAa,MAAb,EAAqBC,iBAArB,CAAuCF,cAAvC;kBAEAhB,QAAQ,GAAG,IAAX;kBAEAU,QAAQ,CAACS,IAAT,GAAgB;oBAAEH,cAAc,EAAdA;kBAAF,CAAhB;kBACAN,QAAQ,CAACU,YAAT,GAAwB,wBAAiBJ,cAAc,CAACK,UAAhC,EAAxB;gBACA,CAZD,CAYE,OAAOC,GAAP,EAAY;kBACb,KAAKX,EAAL,CAAQY,aAAR,CAAsB,qCAAtB;gBACA;;cA7CH;gBAAA,IA8CU,CAACvB,QA9CX;kBAAA;kBAAA;gBAAA;;cAAA;gBAAA,iCAgDQU,QAhDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALwCc,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutAction.js","names":["optionsSchema","id","description","fields","LogoutAction","auth","Service","person","getLoggedInPerson","errors","SpruceError","code","logOutPerson","summaryLines","AbstractAction"],"sources":["../../../../src/features/person/actions/LogoutAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'logoutAction',\n\tdescription: 'Logout as a person.',\n\tfields: {},\n})\ntype OptionsSchema = typeof optionsSchema\n\nexport default class LogoutAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['logout']\n\tpublic invocationMessage = 'Logging out... 🤝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst auth = this.Service('auth')\n\t\tconst person = auth.getLoggedInPerson()\n\n\t\tif (!person) {\n\t\t\treturn {\n\t\t\t\terrors: [\n\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\tcode: 'NOT_LOGGED_IN',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\n\t\tauth.logOutPerson()\n\n\t\treturn {\n\t\t\tsummaryLines: ['You have been logged out!'],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,cAD6B;EAEjCC,WAAW,EAAE,qBAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAOqBC,Y;;;;;;;;;;;;;;;sGACkBJ,a;uGACd,CAAC,QAAD,C;0GACG,mB;;;;;;;mGAE3B;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOK,IADP,GACc,KAAKC,OAAL,CAAa,MAAb,CADd;gBAEOC,MAFP,GAEgBF,IAAI,CAACG,iBAAL,EAFhB;;gBAAA,IAIMD,MAJN;kBAAA;kBAAA;gBAAA;;gBAAA,iCAKS;kBACNE,MAAM,EAAE,CACP,IAAIC,uBAAJ,CAAgB;oBACfC,IAAI,EAAE;kBADS,CAAhB,CADO;gBADF,CALT;;cAAA;gBAcCN,IAAI,CAACO,YAAL;gBAdD,iCAgBQ;kBACNC,YAAY,EAAE,CAAC,2BAAD;gBADR,CAhBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCC,2B"}
1
+ {"version":3,"file":"LogoutAction.js","names":["optionsSchema","buildSchema","id","description","fields","LogoutAction","auth","Service","person","getLoggedInPerson","errors","SpruceError","code","logOutPerson","summaryLines","AbstractAction"],"sources":["../../../../src/features/person/actions/LogoutAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'logoutAction',\n\tdescription: 'Logout as a person.',\n\tfields: {},\n})\ntype OptionsSchema = typeof optionsSchema\n\nexport default class LogoutAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['logout']\n\tpublic invocationMessage = 'Logging out... 🤝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst auth = this.Service('auth')\n\t\tconst person = auth.getLoggedInPerson()\n\n\t\tif (!person) {\n\t\t\treturn {\n\t\t\t\terrors: [\n\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\tcode: 'NOT_LOGGED_IN',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t}\n\n\t\tauth.logOutPerson()\n\n\t\treturn {\n\t\t\tsummaryLines: ['You have been logged out!'],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,IAAAC,mBAAA,EAAY;EACjCC,EAAE,EAAE,cAD6B;EAEjCC,WAAW,EAAE,qBAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAOqBC,Y;;;;;;;;;;;;;;;sGACkBL,a;uGACd,CAAC,QAAD,C;0GACG,mB;;;;;;;mGAE3B;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOM,IADP,GACc,KAAKC,OAAL,CAAa,MAAb,CADd;gBAEOC,MAFP,GAEgBF,IAAI,CAACG,iBAAL,EAFhB;;gBAAA,IAIMD,MAJN;kBAAA;kBAAA;gBAAA;;gBAAA,iCAKS;kBACNE,MAAM,EAAE,CACP,IAAIC,uBAAJ,CAAgB;oBACfC,IAAI,EAAE;kBADS,CAAhB,CADO;gBADF,CALT;;cAAA;gBAcCN,IAAI,CAACO,YAAL;gBAdD,iCAgBQ;kBACNC,YAAY,EAAE,CAAC,2BAAD;gBADR,CAhBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhoamiAction.js","names":["optionsSchema","id","description","fields","WhoAmIAction","connectToApi","client","emit","results","eventResponseUtil","getFirstResponseOrThrow","type","auth","summaryLines","push","person","casualName","AbstractAction"],"sources":["../../../../src/features/person/actions/WhoamiAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'whoAmI',\n\tdescription: \"Check who you're logged in as.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class WhoAmIAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['whoami']\n\tpublic invocationMessage = 'Determining identity... 🤝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('whoami::v2020_12_25')\n\t\tconst { type, auth } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tconst summaryLines: string[] = []\n\n\t\tif (type === 'anonymous') {\n\t\t\tsummaryLines.push('You are not logged in.')\n\t\t} else if (auth.person) {\n\t\t\tsummaryLines.push(`You are logged in as a person.`)\n\t\t\tsummaryLines.push(`Name: ${auth.person.casualName}`)\n\t\t}\n\n\t\treturn {\n\t\t\tsummaryLines,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,QAD6B;EAEjCC,WAAW,EAAE,gCAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAQqBC,Y;;;;;;;;;;;;;;;sGACkBJ,a;uGACd,CAAC,QAAD,C;0GACG,4B;;;;;;;mGAE3B;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,KAAKK,YAAL,EADtB;;cAAA;gBACOC,MADP;gBAAA;gBAAA,OAGuBA,MAAM,CAACC,IAAP,CAAY,qBAAZ,CAHvB;;cAAA;gBAGOC,OAHP;gBAAA,wBAIwBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAJxB,EAISG,IAJT,yBAISA,IAJT,EAIeC,IAJf,yBAIeA,IAJf;gBAMOC,YANP,GAMgC,EANhC;;gBAQC,IAAIF,IAAI,KAAK,WAAb,EAA0B;kBACzBE,YAAY,CAACC,IAAb,CAAkB,wBAAlB;gBACA,CAFD,MAEO,IAAIF,IAAI,CAACG,MAAT,EAAiB;kBACvBF,YAAY,CAACC,IAAb;kBACAD,YAAY,CAACC,IAAb,iBAA2BF,IAAI,CAACG,MAAL,CAAYC,UAAvC;gBACA;;gBAbF,iCAeQ;kBACNH,YAAY,EAAZA;gBADM,CAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCI,2B"}
1
+ {"version":3,"file":"WhoamiAction.js","names":["optionsSchema","buildSchema","id","description","fields","WhoAmIAction","connectToApi","client","emit","results","eventResponseUtil","getFirstResponseOrThrow","type","auth","summaryLines","push","person","casualName","AbstractAction"],"sources":["../../../../src/features/person/actions/WhoamiAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'whoAmI',\n\tdescription: \"Check who you're logged in as.\",\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class WhoAmIAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['whoami']\n\tpublic invocationMessage = 'Determining identity... 🤝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('whoami::v2020_12_25')\n\t\tconst { type, auth } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tconst summaryLines: string[] = []\n\n\t\tif (type === 'anonymous') {\n\t\t\tsummaryLines.push('You are not logged in.')\n\t\t} else if (auth.person) {\n\t\t\tsummaryLines.push(`You are logged in as a person.`)\n\t\t\tsummaryLines.push(`Name: ${auth.person.casualName}`)\n\t\t}\n\n\t\treturn {\n\t\t\tsummaryLines,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,IAAAC,mBAAA,EAAY;EACjCC,EAAE,EAAE,QAD6B;EAEjCC,WAAW,EAAE,gCAFoB;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAQqBC,Y;;;;;;;;;;;;;;;sGACkBL,a;uGACd,CAAC,QAAD,C;0GACG,4B;;;;;;;mGAE3B;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACsB,KAAKM,YAAL,EADtB;;cAAA;gBACOC,MADP;gBAAA;gBAAA,OAGuBA,MAAM,CAACC,IAAP,CAAY,qBAAZ,CAHvB;;cAAA;gBAGOC,OAHP;gBAAA,wBAIwBC,mCAAA,CAAkBC,uBAAlB,CAA0CF,OAA1C,CAJxB,EAISG,IAJT,yBAISA,IAJT,EAIeC,IAJf,yBAIeA,IAJf;gBAMOC,YANP,GAMgC,EANhC;;gBAQC,IAAIF,IAAI,KAAK,WAAb,EAA0B;kBACzBE,YAAY,CAACC,IAAb,CAAkB,wBAAlB;gBACA,CAFD,MAEO,IAAIF,IAAI,CAACG,MAAT,EAAiB;kBACvBF,YAAY,CAACC,IAAb;kBACAD,YAAY,CAACC,IAAb,iBAA2BF,IAAI,CAACG,MAAL,CAAYC,UAAvC;gBACA;;gBAbF,iCAeQ;kBACNH,YAAY,EAAZA;gBADM,CAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EALyCI,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxFeature.js","names":["SandboxFeature","options","code","isRequired","diskUtil","resolvePath","__dirname","emitter","on","payload","featureInstaller","isInstalled","isSkillInstalled","featureCode","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","AbstractFeature"],"sources":["../../../src/features/sandbox/SandboxFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tsandbox: SandboxFeature\n\t}\n}\n\nexport default class SandboxFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'sandbox'\n\tpublic nameReadable = 'Sandbox'\n\tpublic description =\n\t\t'For getting your skill up-and-running on sandbox.mercury.spruce.ai.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\t'sandbox'\n\t\t\t)\n\t\t\tif (\n\t\t\t\tisSkillInstalled &&\n\t\t\t\tpayload.featureCode === 'node' &&\n\t\t\t\tpayload.actionCode === 'upgrade'\n\t\t\t) {\n\t\t\t\tuiUtil.renderMasthead({\n\t\t\t\t\tui: this.ui,\n\t\t\t\t\theadline: 'Updating sandbox support...',\n\t\t\t\t})\n\n\t\t\t\treturn this.Action('sandbox', 'setup').execute({})\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IASqBA,c;;;;;EAcpB,wBAAmBC,OAAnB,EAA2C;IAAA;;IAAA;IAC1C,0BAAMA,OAAN;IAD0C,yFAbhB,SAagB;IAAA,iGAZrB,SAYqB;IAAA,gGAV1C,qEAU0C;IAAA,iGATA,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,CASA;IAAA,wGAHd,EAGc;IAAA,+FAFvBC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEuB;IAG1C,KAAK,MAAKC,OAAL,CAAaC,EAAb,CAAgB,sBAAhB;MAAA,yFAAwC,iBAAOC,OAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACb,MAAKC,gBAAL,CAAsBC,WAAtB,CAC9B,SAD8B,CADa;;cAAA;gBACtCC,gBADsC;;gBAAA,MAK3CA,gBAAgB,IAChBH,OAAO,CAACI,WAAR,KAAwB,MADxB,IAEAJ,OAAO,CAACK,UAAR,KAAuB,SAPoB;kBAAA;kBAAA;gBAAA;;gBAS3CC,eAAOC,cAAP,CAAsB;kBACrBC,EAAE,EAAE,MAAKA,EADY;kBAErBC,QAAQ,EAAE;gBAFW,CAAtB;;gBAT2C,iCAcpC,MAAKC,MAAL,CAAY,SAAZ,EAAuB,OAAvB,EAAgCC,OAAhC,CAAwC,EAAxC,CAdoC;;cAAA;gBAAA,iCAiBrC,EAjBqC;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAxC;;MAAA;QAAA;MAAA;IAAA,IAAL;IAH0C;EAsB1C;;;EApC0CC,4B"}
1
+ {"version":3,"file":"SandboxFeature.js","names":["SandboxFeature","options","code","isRequired","diskUtil","resolvePath","__dirname","emitter","on","payload","featureInstaller","isInstalled","isSkillInstalled","featureCode","actionCode","uiUtil","renderMasthead","ui","headline","Action","execute","AbstractFeature"],"sources":["../../../src/features/sandbox/SandboxFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport uiUtil from '../../utilities/ui.utility'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { ActionOptions, FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tsandbox: SandboxFeature\n\t}\n}\n\nexport default class SandboxFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'sandbox'\n\tpublic nameReadable = 'Sandbox'\n\tpublic description =\n\t\t'For getting your skill up-and-running on sandbox.mercury.spruce.ai.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: ActionOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on('feature.will-execute', async (payload) => {\n\t\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled(\n\t\t\t\t'sandbox'\n\t\t\t)\n\t\t\tif (\n\t\t\t\tisSkillInstalled &&\n\t\t\t\tpayload.featureCode === 'node' &&\n\t\t\t\tpayload.actionCode === 'upgrade'\n\t\t\t) {\n\t\t\t\tuiUtil.renderMasthead({\n\t\t\t\t\tui: this.ui,\n\t\t\t\t\theadline: 'Updating sandbox support...',\n\t\t\t\t})\n\n\t\t\t\treturn this.Action('sandbox', 'setup').execute({})\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IASqBA,c;;;;;EAcpB,wBAAmBC,OAAnB,EAA2C;IAAA;;IAAA;IAC1C,0BAAMA,OAAN;IAD0C,yFAbhB,SAagB;IAAA,iGAZrB,SAYqB;IAAA,gGAV1C,qEAU0C;IAAA,iGATA,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,CASA;IAAA,wGAHd,EAGc;IAAA,+FAFvBC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,CAEuB;IAG1C,KAAK,MAAKC,OAAL,CAAaC,EAAb,CAAgB,sBAAhB;MAAA,yFAAwC,iBAAOC,OAAP;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACb,MAAKC,gBAAL,CAAsBC,WAAtB,CAC9B,SAD8B,CADa;;cAAA;gBACtCC,gBADsC;;gBAAA,MAK3CA,gBAAgB,IAChBH,OAAO,CAACI,WAAR,KAAwB,MADxB,IAEAJ,OAAO,CAACK,UAAR,KAAuB,SAPoB;kBAAA;kBAAA;gBAAA;;gBAS3CC,cAAA,CAAOC,cAAP,CAAsB;kBACrBC,EAAE,EAAE,MAAKA,EADY;kBAErBC,QAAQ,EAAE;gBAFW,CAAtB;;gBAT2C,iCAcpC,MAAKC,MAAL,CAAY,SAAZ,EAAuB,OAAvB,EAAgCC,OAAhC,CAAwC,EAAxC,CAdoC;;cAAA;gBAAA,iCAiBrC,EAjBqC;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAxC;;MAAA;QAAA;MAAA;IAAA,IAAL;IAH0C;EAsB1C;;;EApC0CC,4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SetupAction.js","names":["optionsSchema","id","name","fields","SetupAction","setupVscodeSchema","listeners","Store","loadListeners","existing","version","find","e","eventNamespace","createListenerAction","Action","execute","namespace","eventName","versionUtil","generateVersion","dirValue","results","errors","match","files","file","search","Error","description","Writer","writeDidBootListener","path","AbstractAction"],"sources":["../../../../src/features/sandbox/actions/SetupAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport setupVscodeSchema from '#spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'setupSandboxOptions',\n\tname: 'Setup sandbox options',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class SetupAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = setupVscodeSchema\n\tpublic invocationMessage = 'Setting up sandbox support... 🏝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst listeners = this.Store('listener')\n\t\tconst existing = await listeners.loadListeners()\n\t\tconst version = existing.find((e) => e.eventNamespace === 'skill')?.version\n\n\t\tconst createListenerAction = this.Action('event', 'listen')\n\t\tconst results = await createListenerAction.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion: version ?? versionUtil.generateVersion().dirValue,\n\t\t})\n\n\t\tif (results.errors) {\n\t\t\treturn results\n\t\t}\n\n\t\tconst match = (results.files ?? []).find(\n\t\t\t(file) => file.name.search('will-boot') === 0\n\t\t)\n\n\t\tif (!match) {\n\t\t\tthrow new Error('file was not generated')\n\t\t}\n\n\t\tmatch.description = 'Used for recovering from a sandbox reset.'\n\n\t\tawait this.Writer('sandbox').writeDidBootListener(match.path)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;EACjCC,EAAE,EAAE,qBAD6B;EAEjCC,IAAI,EAAE,uBAF2B;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAQqBC,W;;;;;;;;;;;;;;;sGACGC,8B;0GACI,kC;;;;;;;mGAE3B;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,SADP,GACmB,KAAKC,KAAL,CAAW,UAAX,CADnB;gBAAA;gBAAA,OAEwBD,SAAS,CAACE,aAAV,EAFxB;;cAAA;gBAEOC,QAFP;gBAGOC,OAHP,qBAGiBD,QAAQ,CAACE,IAAT,CAAc,UAACC,CAAD;kBAAA,OAAOA,CAAC,CAACC,cAAF,KAAqB,OAA5B;gBAAA,CAAd,CAHjB,mDAGiB,eAAoDH,OAHrE;gBAKOI,oBALP,GAK8B,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,CAL9B;gBAAA;gBAAA,OAMuBD,oBAAoB,CAACE,OAArB,CAA6B;kBAClDC,SAAS,EAAE,OADuC;kBAElDC,SAAS,EAAE,WAFuC;kBAGlDR,OAAO,EAAEA,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAaS,8BAAYC,eAAZ,GAA8BC;gBAHA,CAA7B,CANvB;;cAAA;gBAMOC,OANP;;gBAAA,KAYKA,OAAO,CAACC,MAZb;kBAAA;kBAAA;gBAAA;;gBAAA,iCAaSD,OAbT;;cAAA;gBAgBOE,KAhBP,GAgBe,mBAACF,OAAO,CAACG,KAAT,2DAAkB,EAAlB,EAAsBd,IAAtB,CACb,UAACe,IAAD;kBAAA,OAAUA,IAAI,CAACxB,IAAL,CAAUyB,MAAV,CAAiB,WAAjB,MAAkC,CAA5C;gBAAA,CADa,CAhBf;;gBAAA,IAoBMH,KApBN;kBAAA;kBAAA;gBAAA;;gBAAA,MAqBQ,IAAII,KAAJ,CAAU,wBAAV,CArBR;;cAAA;gBAwBCJ,KAAK,CAACK,WAAN,GAAoB,2CAApB;gBAxBD;gBAAA,OA0BO,KAAKC,MAAL,CAAY,SAAZ,EAAuBC,oBAAvB,CAA4CP,KAAK,CAACQ,IAAlD,CA1BP;;cAAA;gBAAA,iCA4BQV,OA5BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJwCW,2B"}
1
+ {"version":3,"file":"SetupAction.js","names":["optionsSchema","buildSchema","id","name","fields","SetupAction","setupVscodeSchema","listeners","Store","loadListeners","existing","version","find","e","eventNamespace","createListenerAction","Action","execute","namespace","eventName","versionUtil","generateVersion","dirValue","results","errors","match","files","file","search","Error","description","Writer","writeDidBootListener","path","AbstractAction"],"sources":["../../../../src/features/sandbox/actions/SetupAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport setupVscodeSchema from '#spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'setupSandboxOptions',\n\tname: 'Setup sandbox options',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class SetupAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = setupVscodeSchema\n\tpublic invocationMessage = 'Setting up sandbox support... 🏝'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst listeners = this.Store('listener')\n\t\tconst existing = await listeners.loadListeners()\n\t\tconst version = existing.find((e) => e.eventNamespace === 'skill')?.version\n\n\t\tconst createListenerAction = this.Action('event', 'listen')\n\t\tconst results = await createListenerAction.execute({\n\t\t\tnamespace: 'skill',\n\t\t\teventName: 'will-boot',\n\t\t\tversion: version ?? versionUtil.generateVersion().dirValue,\n\t\t})\n\n\t\tif (results.errors) {\n\t\t\treturn results\n\t\t}\n\n\t\tconst match = (results.files ?? []).find(\n\t\t\t(file) => file.name.search('will-boot') === 0\n\t\t)\n\n\t\tif (!match) {\n\t\t\tthrow new Error('file was not generated')\n\t\t}\n\n\t\tmatch.description = 'Used for recovering from a sandbox reset.'\n\n\t\tawait this.Writer('sandbox').writeDidBootListener(match.path)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,IAAAC,mBAAA,EAAY;EACjCC,EAAE,EAAE,qBAD6B;EAEjCC,IAAI,EAAE,uBAF2B;EAGjCC,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAQqBC,W;;;;;;;;;;;;;;;sGACGC,8B;0GACI,kC;;;;;;;mGAE3B;QAAA;;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,SADP,GACmB,KAAKC,KAAL,CAAW,UAAX,CADnB;gBAAA;gBAAA,OAEwBD,SAAS,CAACE,aAAV,EAFxB;;cAAA;gBAEOC,QAFP;gBAGOC,OAHP,qBAGiBD,QAAQ,CAACE,IAAT,CAAc,UAACC,CAAD;kBAAA,OAAOA,CAAC,CAACC,cAAF,KAAqB,OAA5B;gBAAA,CAAd,CAHjB,mDAGiB,eAAoDH,OAHrE;gBAKOI,oBALP,GAK8B,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,CAL9B;gBAAA;gBAAA,OAMuBD,oBAAoB,CAACE,OAArB,CAA6B;kBAClDC,SAAS,EAAE,OADuC;kBAElDC,SAAS,EAAE,WAFuC;kBAGlDR,OAAO,EAAEA,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAaS,6BAAA,CAAYC,eAAZ,GAA8BC;gBAHA,CAA7B,CANvB;;cAAA;gBAMOC,OANP;;gBAAA,KAYKA,OAAO,CAACC,MAZb;kBAAA;kBAAA;gBAAA;;gBAAA,iCAaSD,OAbT;;cAAA;gBAgBOE,KAhBP,GAgBe,mBAACF,OAAO,CAACG,KAAT,2DAAkB,EAAlB,EAAsBd,IAAtB,CACb,UAACe,IAAD;kBAAA,OAAUA,IAAI,CAACxB,IAAL,CAAUyB,MAAV,CAAiB,WAAjB,MAAkC,CAA5C;gBAAA,CADa,CAhBf;;gBAAA,IAoBMH,KApBN;kBAAA;kBAAA;gBAAA;;gBAAA,MAqBQ,IAAII,KAAJ,CAAU,wBAAV,CArBR;;cAAA;gBAwBCJ,KAAK,CAACK,WAAN,GAAoB,2CAApB;gBAxBD;gBAAA,OA0BO,KAAKC,MAAL,CAAY,SAAZ,EAAuBC,oBAAvB,CAA4CP,KAAK,CAACQ,IAAlD,CA1BP;;cAAA;gBAAA,iCA4BQV,OA5BR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJwCW,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxWriter.js","names":["SandboxWriter","filepath","newContents","templates","sandboxWillBootListener","diskUtil","writeFile","lint","AbstractWriter"],"sources":["../../../../src/features/sandbox/writers/SandboxWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class SandboxWriter extends AbstractWriter {\n\tpublic async writeDidBootListener(filepath: string) {\n\t\tconst newContents = this.templates.sandboxWillBootListener()\n\n\t\tdiskUtil.writeFile(filepath, newContents)\n\n\t\tawait this.lint(filepath)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,a;;;;;;;;;;;;;gHACpB,iBAAkCC,QAAlC;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,WADP,GACqB,KAAKC,SAAL,CAAeC,uBAAf,EADrB;;gBAGCC,2BAASC,SAAT,CAAmBL,QAAnB,EAA6BC,WAA7B;;gBAHD;gBAAA,OAKO,KAAKK,IAAL,CAAUN,QAAV,CALP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD0CO,2B"}
1
+ {"version":3,"file":"SandboxWriter.js","names":["SandboxWriter","filepath","newContents","templates","sandboxWillBootListener","diskUtil","writeFile","lint","AbstractWriter"],"sources":["../../../../src/features/sandbox/writers/SandboxWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class SandboxWriter extends AbstractWriter {\n\tpublic async writeDidBootListener(filepath: string) {\n\t\tconst newContents = this.templates.sandboxWillBootListener()\n\n\t\tdiskUtil.writeFile(filepath, newContents)\n\n\t\tawait this.lint(filepath)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,a;;;;;;;;;;;;;gHACpB,iBAAkCC,QAAlC;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,WADP,GACqB,KAAKC,SAAL,CAAeC,uBAAf,EADrB;;gBAGCC,0BAAA,CAASC,SAAT,CAAmBL,QAAnB,EAA6BC,WAA7B;;gBAHD;gBAAA,OAKO,KAAKK,IAAL,CAAUN,QAAV,CALP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD0CO,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaFeature.js","names":["SchemaFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecute","bind","handleDidExecute","payload","featureInstaller","isInstalled","isSkillInstalled","featureCode","actionCode","writePlugin","files","Store","hasLocalSchemas","Action","execute","results","Writer","cwd","AbstractFeature"],"sources":["../../../src/features/schema/SchemaFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tschema: SchemaFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tschema: undefined\n\t}\n}\n\nexport default class SchemaFeature extends AbstractFeature {\n\tpublic nameReadable = 'Schema'\n\tpublic description = 'Define, validate, and normalize everything.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/schema@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-core-schemas@latest',\n\t\t},\n\t\t{ name: '@sprucelabs/resolve-path-aliases@latest', isDev: true },\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-skill-utils',\n\t\t},\n\t]\n\n\tpublic code: FeatureCode = 'schema'\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('schema')\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled &&\n\t\t\tisSkillInstalled\n\t\t) {\n\t\t\tconst files = await this.writePlugin()\n\t\t\treturn { files }\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('schema')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled\n\t\t) {\n\t\t\tconst hasLocalSchemas = await this.Store('schema').hasLocalSchemas()\n\t\t\tif (hasLocalSchemas) {\n\t\t\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isSkillInstalled) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async writePlugin() {\n\t\treturn this.Writer('schema').writePlugin(this.cwd)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaFeature.js","names":["SchemaFeature","options","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecute","bind","handleDidExecute","payload","featureInstaller","isInstalled","isSkillInstalled","featureCode","actionCode","writePlugin","files","Store","hasLocalSchemas","Action","execute","results","Writer","cwd","AbstractFeature"],"sources":["../../../src/features/schema/SchemaFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { NpmPackage } from '../../types/cli.types'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n\tInstallResults,\n} from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tschema: SchemaFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tschema: undefined\n\t}\n}\n\nexport default class SchemaFeature extends AbstractFeature {\n\tpublic nameReadable = 'Schema'\n\tpublic description = 'Define, validate, and normalize everything.'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{ code: 'skill', isRequired: false },\n\t\t{ code: 'node', isRequired: true },\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/schema@latest',\n\t\t},\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-core-schemas@latest',\n\t\t},\n\t\t{ name: '@sprucelabs/resolve-path-aliases@latest', isDev: true },\n\t\t{\n\t\t\tname: '@sprucelabs/spruce-skill-utils',\n\t\t},\n\t]\n\n\tpublic code: FeatureCode = 'schema'\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.did-execute',\n\t\t\tthis.handleDidExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleWillExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('schema')\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled &&\n\t\t\tisSkillInstalled\n\t\t) {\n\t\t\tconst files = await this.writePlugin()\n\t\t\treturn { files }\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tprivate async handleDidExecute(payload: {\n\t\tactionCode: string\n\t\tfeatureCode: string\n\t}) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('schema')\n\n\t\tif (\n\t\t\tpayload.featureCode === 'node' &&\n\t\t\tpayload.actionCode === 'upgrade' &&\n\t\t\tisInstalled\n\t\t) {\n\t\t\tconst hasLocalSchemas = await this.Store('schema').hasLocalSchemas()\n\t\t\tif (hasLocalSchemas) {\n\t\t\t\tconst results = await this.Action('schema', 'sync').execute({})\n\n\t\t\t\treturn results\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n\n\tpublic async afterPackageInstall(): Promise<InstallResults> {\n\t\tconst isSkillInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (!isSkillInstalled) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst files = await this.writePlugin()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate async writePlugin() {\n\t\treturn this.Writer('schema').writePlugin(this.cwd)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValueTypeBuilder.js","names":["ValueTypeBuilder","schemaGenerator","importService","writer","options","resolvedDestination","fieldTemplateItems","schemaTemplateItems","globalSchemaNamespace","length","writeValueTypes","valueTypeResults","importDefault","path","valueTypes","diskUtil","deleteFile"],"sources":["../../../src/features/schema/ValueTypeBuilder.ts"],"sourcesContent":["import { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport ImportService from '../../services/ImportService'\nimport SchemaWriter from './writers/SchemaWriter'\n\nexport default class ValueTypeBuilder {\n\tprivate writer: SchemaWriter\n\tprivate importService: ImportService\n\n\tpublic constructor(\n\t\tschemaGenerator: SchemaWriter,\n\t\timportService: ImportService\n\t) {\n\t\tthis.writer = schemaGenerator\n\t\tthis.importService = importService\n\t}\n\n\tpublic async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tconst {\n\t\t\tresolvedDestination,\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tglobalSchemaNamespace,\n\t\t} = options\n\n\t\tif (schemaTemplateItems.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst valueTypeResults = await this.writer.writeValueTypes(\n\t\t\tresolvedDestination,\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tglobalSchemaNamespace,\n\t\t\t}\n\t\t)\n\n\t\tconst valueTypes: ValueTypes = await this.importService.importDefault(\n\t\t\tvalueTypeResults[0].path\n\t\t)\n\n\t\tdiskUtil.deleteFile(valueTypeResults[0].path)\n\n\t\treturn valueTypes\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;IAKqBA,gB;EAIpB,0BACCC,eADD,EAECC,aAFD,EAGE;IAAA;IAAA;IAAA;IACD,KAAKC,MAAL,GAAcF,eAAd;IACA,KAAKC,aAAL,GAAqBA,aAArB;EACA;;;;;8GAED,iBAAgCE,OAAhC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAOEC,mBAPF,GAWKD,OAXL,CAOEC,mBAPF,EAQEC,kBARF,GAWKF,OAXL,CAQEE,kBARF,EASEC,mBATF,GAWKH,OAXL,CASEG,mBATF,EAUEC,qBAVF,GAWKJ,OAXL,CAUEI,qBAVF;;gBAAA,MAaKD,mBAAmB,CAACE,MAApB,KAA+B,CAbpC;kBAAA;kBAAA;gBAAA;;gBAAA,iCAcS,EAdT;;cAAA;gBAAA;gBAAA,OAiBgC,KAAKN,MAAL,CAAYO,eAAZ,CAC9BL,mBAD8B,EAE9B;kBACCC,kBAAkB,EAAlBA,kBADD;kBAECC,mBAAmB,EAAnBA,mBAFD;kBAGCC,qBAAqB,EAArBA;gBAHD,CAF8B,CAjBhC;;cAAA;gBAiBOG,gBAjBP;gBAAA;gBAAA,OA0BsC,KAAKT,aAAL,CAAmBU,aAAnB,CACpCD,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,IADgB,CA1BtC;;cAAA;gBA0BOC,UA1BP;;gBA8BCC,2BAASC,UAAT,CAAoBL,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,IAAxC;;gBA9BD,iCAgCQC,UAhCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
1
+ {"version":3,"file":"ValueTypeBuilder.js","names":["ValueTypeBuilder","schemaGenerator","importService","writer","options","resolvedDestination","fieldTemplateItems","schemaTemplateItems","globalSchemaNamespace","length","writeValueTypes","valueTypeResults","importDefault","path","valueTypes","diskUtil","deleteFile"],"sources":["../../../src/features/schema/ValueTypeBuilder.ts"],"sourcesContent":["import { FieldTemplateItem, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport ImportService from '../../services/ImportService'\nimport SchemaWriter from './writers/SchemaWriter'\n\nexport default class ValueTypeBuilder {\n\tprivate writer: SchemaWriter\n\tprivate importService: ImportService\n\n\tpublic constructor(\n\t\tschemaGenerator: SchemaWriter,\n\t\timportService: ImportService\n\t) {\n\t\tthis.writer = schemaGenerator\n\t\tthis.importService = importService\n\t}\n\n\tpublic async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tconst {\n\t\t\tresolvedDestination,\n\t\t\tfieldTemplateItems,\n\t\t\tschemaTemplateItems,\n\t\t\tglobalSchemaNamespace,\n\t\t} = options\n\n\t\tif (schemaTemplateItems.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst valueTypeResults = await this.writer.writeValueTypes(\n\t\t\tresolvedDestination,\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tglobalSchemaNamespace,\n\t\t\t}\n\t\t)\n\n\t\tconst valueTypes: ValueTypes = await this.importService.importDefault(\n\t\t\tvalueTypeResults[0].path\n\t\t)\n\n\t\tdiskUtil.deleteFile(valueTypeResults[0].path)\n\n\t\treturn valueTypes\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;IAKqBA,gB;EAIpB,0BACCC,eADD,EAECC,aAFD,EAGE;IAAA;IAAA;IAAA;IACD,KAAKC,MAAL,GAAcF,eAAd;IACA,KAAKC,aAAL,GAAqBA,aAArB;EACA;;;;;8GAED,iBAAgCE,OAAhC;QAAA;QAAA;UAAA;YAAA;cAAA;gBAOEC,mBAPF,GAWKD,OAXL,CAOEC,mBAPF,EAQEC,kBARF,GAWKF,OAXL,CAQEE,kBARF,EASEC,mBATF,GAWKH,OAXL,CASEG,mBATF,EAUEC,qBAVF,GAWKJ,OAXL,CAUEI,qBAVF;;gBAAA,MAaKD,mBAAmB,CAACE,MAApB,KAA+B,CAbpC;kBAAA;kBAAA;gBAAA;;gBAAA,iCAcS,EAdT;;cAAA;gBAAA;gBAAA,OAiBgC,KAAKN,MAAL,CAAYO,eAAZ,CAC9BL,mBAD8B,EAE9B;kBACCC,kBAAkB,EAAlBA,kBADD;kBAECC,mBAAmB,EAAnBA,mBAFD;kBAGCC,qBAAqB,EAArBA;gBAHD,CAF8B,CAjBhC;;cAAA;gBAiBOG,gBAjBP;gBAAA;gBAAA,OA0BsC,KAAKT,aAAL,CAAmBU,aAAnB,CACpCD,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,IADgB,CA1BtC;;cAAA;gBA0BOC,UA1BP;;gBA8BCC,0BAAA,CAASC,UAAT,CAAoBL,gBAAgB,CAAC,CAAD,CAAhB,CAAoBE,IAAxC;;gBA9BD,iCAgCQC,UAhCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAction.js","names":["CreateAction","createSchemaActionSchema","options","normalizedOptions","validateAndNormalizeOptions","schemaBuilderDestinationDir","nameCamel","namePascal","nameReadable","syncAfterCreate","shouldEnableVersioning","version","rest","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","generator","Writer","writeBuilder","undefined","namesUtil","toPascal","results","syncOptions","syncSchemasActionSchema","shouldIncludePrivateFields","Action","execute","syncResults","push","files","errors","AbstractAction"],"sources":["../../../../src/features/schema/actions/CreateAction.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { normalizeSchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createSchemaActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport AbstractAction from '../../AbstractAction'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createSchemaActionSchema\n\tpublic invocationMessage = 'Creating your schema builder... 📃'\n\n\tpublic async execute(options: Options) {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tschemaBuilderDestinationDir,\n\t\t\tnameCamel,\n\t\t\tnamePascal,\n\t\t\tnameReadable,\n\t\t\tsyncAfterCreate,\n\t\t\tshouldEnableVersioning,\n\t\t\tversion,\n\t\t\t...rest\n\t\t} = normalizedOptions\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tschemaBuilderDestinationDir\n\t\t)\n\n\t\tlet resolvedVersion: string | undefined\n\n\t\tif (shouldEnableVersioning) {\n\t\t\tresolvedVersion = await this.resolveVersion(version, resolvedDestination)\n\t\t}\n\n\t\tconst generator = this.Writer('schema')\n\n\t\tconst results = await generator.writeBuilder(resolvedDestination, {\n\t\t\t...rest,\n\t\t\tnameCamel,\n\t\t\tshouldEnableVersioning: shouldEnableVersioning ?? undefined,\n\t\t\tversion: resolvedVersion,\n\t\t\tnameReadable: nameReadable ?? nameCamel,\n\t\t\tnamePascal: namePascal ?? namesUtil.toPascal(nameCamel),\n\t\t})\n\n\t\tlet errors: AbstractSpruceError<any>[] | undefined\n\n\t\tif (syncAfterCreate) {\n\t\t\tconst syncOptions = normalizeSchemaValues(syncSchemasActionSchema, rest, {\n\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t})\n\t\t\tconst syncResults = await this.Action('schema', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tresults.push(...(syncResults.files ?? []))\n\t\t\tif (syncResults.errors) {\n\t\t\t\terrors = syncResults.errors\n\t\t\t}\n\t\t}\n\n\t\treturn { files: results, errors }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;;;IAKqBA,Y;;;;;;;;;;;;;;;sGACGC,+B;0GACI,oC;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOC,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;gBAIEG,2BAJF,GAYKF,iBAZL,CAIEE,2BAJF,EAKEC,SALF,GAYKH,iBAZL,CAKEG,SALF,EAMEC,UANF,GAYKJ,iBAZL,CAMEI,UANF,EAOEC,YAPF,GAYKL,iBAZL,CAOEK,YAPF,EAQEC,eARF,GAYKN,iBAZL,CAQEM,eARF,EASEC,sBATF,GAYKP,iBAZL,CASEO,sBATF,EAUEC,OAVF,GAYKR,iBAZL,CAUEQ,OAVF,EAWKC,IAXL,6CAYKT,iBAZL;gBAcOU,mBAdP,GAc6BC,2BAASC,WAAT,CAC3B,KAAKC,GADsB,EAE3BX,2BAF2B,CAd7B;;gBAAA,KAqBKK,sBArBL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAsB0B,KAAKO,cAAL,CAAoBN,OAApB,EAA6BE,mBAA7B,CAtB1B;;cAAA;gBAsBEK,eAtBF;;cAAA;gBAyBOC,SAzBP,GAyBmB,KAAKC,MAAL,CAAY,QAAZ,CAzBnB;gBAAA;gBAAA,OA2BuBD,SAAS,CAACE,YAAV,CAAuBR,mBAAvB,kCAClBD,IADkB;kBAErBN,SAAS,EAATA,SAFqB;kBAGrBI,sBAAsB,EAAEA,sBAAF,aAAEA,sBAAF,cAAEA,sBAAF,GAA4BY,SAH7B;kBAIrBX,OAAO,EAAEO,eAJY;kBAKrBV,YAAY,EAAEA,YAAF,aAAEA,YAAF,cAAEA,YAAF,GAAkBF,SALT;kBAMrBC,UAAU,EAAEA,UAAF,aAAEA,UAAF,cAAEA,UAAF,GAAgBgB,4BAAUC,QAAV,CAAmBlB,SAAnB;gBANL,GA3BvB;;cAAA;gBA2BOmB,OA3BP;;gBAAA,KAsCKhB,eAtCL;kBAAA;kBAAA;gBAAA;;gBAuCQiB,WAvCR,GAuCsB,mCAAsBC,8BAAtB,EAA+Cf,IAA/C,EAAqD;kBACxEgB,0BAA0B,EAAE;gBAD4C,CAArD,CAvCtB;gBAAA;gBAAA,OA0C4B,KAAKC,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CACzBJ,WADyB,CA1C5B;;cAAA;gBA0CQK,WA1CR;gBA8CEN,OAAO,CAACO,IAAR,OAAAP,OAAO,4DAAUM,WAAW,CAACE,KAAtB,mEAA+B,EAA/B,EAAP;;gBACA,IAAIF,WAAW,CAACG,MAAhB,EAAwB;kBACvBA,MAAM,GAAGH,WAAW,CAACG,MAArB;gBACA;;cAjDH;gBAAA,iCAoDQ;kBAAED,KAAK,EAAER,OAAT;kBAAkBS,MAAM,EAANA;gBAAlB,CApDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCC,2B"}
1
+ {"version":3,"file":"CreateAction.js","names":["CreateAction","createSchemaActionSchema","options","normalizedOptions","validateAndNormalizeOptions","schemaBuilderDestinationDir","nameCamel","namePascal","nameReadable","syncAfterCreate","shouldEnableVersioning","version","rest","resolvedDestination","diskUtil","resolvePath","cwd","resolveVersion","resolvedVersion","generator","Writer","writeBuilder","undefined","namesUtil","toPascal","results","syncOptions","normalizeSchemaValues","syncSchemasActionSchema","shouldIncludePrivateFields","Action","execute","syncResults","push","files","errors","AbstractAction"],"sources":["../../../../src/features/schema/actions/CreateAction.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { normalizeSchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createSchemaActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport AbstractAction from '../../AbstractAction'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptions\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createSchemaActionSchema\n\tpublic invocationMessage = 'Creating your schema builder... 📃'\n\n\tpublic async execute(options: Options) {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst {\n\t\t\tschemaBuilderDestinationDir,\n\t\t\tnameCamel,\n\t\t\tnamePascal,\n\t\t\tnameReadable,\n\t\t\tsyncAfterCreate,\n\t\t\tshouldEnableVersioning,\n\t\t\tversion,\n\t\t\t...rest\n\t\t} = normalizedOptions\n\n\t\tconst resolvedDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tschemaBuilderDestinationDir\n\t\t)\n\n\t\tlet resolvedVersion: string | undefined\n\n\t\tif (shouldEnableVersioning) {\n\t\t\tresolvedVersion = await this.resolveVersion(version, resolvedDestination)\n\t\t}\n\n\t\tconst generator = this.Writer('schema')\n\n\t\tconst results = await generator.writeBuilder(resolvedDestination, {\n\t\t\t...rest,\n\t\t\tnameCamel,\n\t\t\tshouldEnableVersioning: shouldEnableVersioning ?? undefined,\n\t\t\tversion: resolvedVersion,\n\t\t\tnameReadable: nameReadable ?? nameCamel,\n\t\t\tnamePascal: namePascal ?? namesUtil.toPascal(nameCamel),\n\t\t})\n\n\t\tlet errors: AbstractSpruceError<any>[] | undefined\n\n\t\tif (syncAfterCreate) {\n\t\t\tconst syncOptions = normalizeSchemaValues(syncSchemasActionSchema, rest, {\n\t\t\t\tshouldIncludePrivateFields: true,\n\t\t\t})\n\t\t\tconst syncResults = await this.Action('schema', 'sync').execute(\n\t\t\t\tsyncOptions\n\t\t\t)\n\n\t\t\tresults.push(...(syncResults.files ?? []))\n\t\t\tif (syncResults.errors) {\n\t\t\t\terrors = syncResults.errors\n\t\t\t}\n\t\t}\n\n\t\treturn { files: results, errors }\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;;;IAKqBA,Y;;;;;;;;;;;;;;;sGACGC,+B;0GACI,oC;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOC,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;gBAIEG,2BAJF,GAYKF,iBAZL,CAIEE,2BAJF,EAKEC,SALF,GAYKH,iBAZL,CAKEG,SALF,EAMEC,UANF,GAYKJ,iBAZL,CAMEI,UANF,EAOEC,YAPF,GAYKL,iBAZL,CAOEK,YAPF,EAQEC,eARF,GAYKN,iBAZL,CAQEM,eARF,EASEC,sBATF,GAYKP,iBAZL,CASEO,sBATF,EAUEC,OAVF,GAYKR,iBAZL,CAUEQ,OAVF,EAWKC,IAXL,6CAYKT,iBAZL;gBAcOU,mBAdP,GAc6BC,0BAAA,CAASC,WAAT,CAC3B,KAAKC,GADsB,EAE3BX,2BAF2B,CAd7B;;gBAAA,KAqBKK,sBArBL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAsB0B,KAAKO,cAAL,CAAoBN,OAApB,EAA6BE,mBAA7B,CAtB1B;;cAAA;gBAsBEK,eAtBF;;cAAA;gBAyBOC,SAzBP,GAyBmB,KAAKC,MAAL,CAAY,QAAZ,CAzBnB;gBAAA;gBAAA,OA2BuBD,SAAS,CAACE,YAAV,CAAuBR,mBAAvB,kCAClBD,IADkB;kBAErBN,SAAS,EAATA,SAFqB;kBAGrBI,sBAAsB,EAAEA,sBAAF,aAAEA,sBAAF,cAAEA,sBAAF,GAA4BY,SAH7B;kBAIrBX,OAAO,EAAEO,eAJY;kBAKrBV,YAAY,EAAEA,YAAF,aAAEA,YAAF,cAAEA,YAAF,GAAkBF,SALT;kBAMrBC,UAAU,EAAEA,UAAF,aAAEA,UAAF,cAAEA,UAAF,GAAgBgB,2BAAA,CAAUC,QAAV,CAAmBlB,SAAnB;gBANL,GA3BvB;;cAAA;gBA2BOmB,OA3BP;;gBAAA,KAsCKhB,eAtCL;kBAAA;kBAAA;gBAAA;;gBAuCQiB,WAvCR,GAuCsB,IAAAC,6BAAA,EAAsBC,8BAAtB,EAA+ChB,IAA/C,EAAqD;kBACxEiB,0BAA0B,EAAE;gBAD4C,CAArD,CAvCtB;gBAAA;gBAAA,OA0C4B,KAAKC,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CACzBL,WADyB,CA1C5B;;cAAA;gBA0CQM,WA1CR;gBA8CEP,OAAO,CAACQ,IAAR,OAAAR,OAAO,4DAAUO,WAAW,CAACE,KAAtB,mEAA+B,EAA/B,EAAP;;gBACA,IAAIF,WAAW,CAACG,MAAhB,EAAwB;kBACvBA,MAAM,GAAGH,WAAW,CAACG,MAArB;gBACA;;cAjDH;gBAAA,iCAoDQ;kBAAED,KAAK,EAAET,OAAT;kBAAkBU,MAAM,EAANA;gBAAlB,CApDR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","names":["SyncAction","syncSchemasActionSchema","Writer","Store","options","normalizedOptions","validateAndNormalizeOptions","isInCoreSchemasModule","Service","get","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","schemaLookupDir","addonsLookupDir","shouldEnableVersioning","globalSchemaNamespace","shouldFetchRemoteSchemas","shouldGenerateCoreSchemaTypes","shouldFetchLocalSchemas","generateFieldTypes","generateStandaloneTypesFile","deleteDestinationDirIfNoSchemas","shouldFetchCoreSchemas","registerBuiltSchemas","syncingMessage","deleteOrphanedSchemas","moduleToImportFromWhenRemote","shouldInstallMissingDependencies","ui","startLoading","loadCurrentSkillsNamespace","localNamespace","shouldImportCoreSchemas","CORE_NAMESPACE","schemaDiskUtil","resolveTypeFilePaths","cwd","resolvedFieldTypesDestination","resolvedSchemaTypesDestinationDirOrFile","resolvedSchemaTypesDestination","generateFieldTemplateItems","shouldGenerateFieldTypes","fieldTemplateItems","fieldErrors","generateFieldFiles","schemaErrors","typeResults","generateSchemaTemplateItems","templateResults","push","schemaTemplateItems","length","diskUtil","deleteDir","optionallyInstallRemoteModules","generateValueTypes","resolvedDestination","undefined","valueTypes","schemaWriter","writeSchemasAndTypes","typesTemplate","p","deleteEmptyDirs","isDir","pathUtil","dirname","stopLoading","errors","actionUtil","mergeActionResults","coreSyncResults","files","meta","forceInstall","modules","map","item","importFrom","filter","i","notInstalled","pkg","m","isInstalled","indexOf","renderSection","headline","lines","confirm","SpruceError","code","friendlyMessage","install","schemaStore","fetchSchemas","localSchemaLookupDir","didUpdateHandler","message","schemasByNamespace","hashSpruceDestination","replace","resolveHashSprucePath","total","totalNamespaces","Object","keys","namespace","schemaTemplateItemBuilder","SchemaTemplateItemBuilder","buildTemplateItems","action","Action","execute","results","builder","ValueTypeBuilder","AbstractAction"],"sources":["../../../../src/features/schema/actions/SyncAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport uniq from 'lodash/uniq'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport SchemaTemplateItemBuilder from '../../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\nimport ValueTypeBuilder from '../ValueTypeBuilder'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptions\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemasActionSchema\n\tpublic commandAliases = ['sync.schemas']\n\tpublic invocationMessage = 'Building schemas and generating types... 📃'\n\n\tprivate readonly schemaWriter = this.Writer('schema')\n\tprivate readonly schemaStore = this.Store('schema')\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\t\tconst isInCoreSchemasModule =\n\t\t\tthis.Service('pkg').get('name') === '@sprucelabs/spruce-core-schemas'\n\n\t\tlet {\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t\tschemaLookupDir,\n\t\t\taddonsLookupDir,\n\t\t\tshouldEnableVersioning,\n\t\t\tglobalSchemaNamespace,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldGenerateCoreSchemaTypes = isInCoreSchemasModule,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tgenerateFieldTypes,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tdeleteDestinationDirIfNoSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tregisterBuiltSchemas,\n\t\t\tsyncingMessage,\n\t\t\tdeleteOrphanedSchemas,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t\tshouldInstallMissingDependencies,\n\t\t} = normalizedOptions\n\n\t\tthis.ui.startLoading('Loading details about your skill... 🧐')\n\n\t\tlet localNamespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tlet shouldImportCoreSchemas = true\n\n\t\tif (shouldGenerateCoreSchemaTypes) {\n\t\t\tshouldFetchRemoteSchemas = false\n\t\t\tshouldFetchLocalSchemas = true\n\t\t\tshouldFetchCoreSchemas = false\n\t\t\tregisterBuiltSchemas = true\n\t\t\tgenerateStandaloneTypesFile = true\n\t\t\tshouldImportCoreSchemas = false\n\t\t\tlocalNamespace = CORE_NAMESPACE\n\t\t}\n\n\t\tlet coreSyncResults: FeatureActionResponse | undefined\n\n\t\tconst {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t} = schemaDiskUtil.resolveTypeFilePaths({\n\t\t\tcwd: this.cwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t})\n\n\t\tthis.ui.startLoading('Generating field types...')\n\n\t\tconst { fieldTemplateItems, fieldErrors, generateFieldFiles } =\n\t\t\tawait this.generateFieldTemplateItems({\n\t\t\t\taddonsLookupDir,\n\t\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t})\n\n\t\tthis.ui.startLoading(syncingMessage)\n\n\t\tconst schemaErrors: SpruceError[] = []\n\t\tlet schemaTemplateItems: SchemaTemplateItem[] | undefined\n\t\tlet typeResults: GeneratedFile[] = []\n\n\t\ttry {\n\t\t\tconst templateResults = await this.generateSchemaTemplateItems({\n\t\t\t\tschemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tlocalNamespace,\n\t\t\t})\n\n\t\t\tschemaErrors.push(...templateResults.schemaErrors)\n\t\t\tschemaTemplateItems = templateResults.schemaTemplateItems\n\t\t} catch (err: any) {\n\t\t\tschemaErrors.push(err)\n\t\t}\n\n\t\tif (schemaErrors.length === 0 && schemaTemplateItems) {\n\t\t\tif (deleteDestinationDirIfNoSchemas && schemaTemplateItems.length === 0) {\n\t\t\t\tdiskUtil.deleteDir(resolvedSchemaTypesDestinationDirOrFile)\n\t\t\t\treturn {}\n\t\t\t}\n\n\t\t\tif (deleteOrphanedSchemas) {\n\t\t\t\tthis.ui.startLoading('Identifying orphaned schemas...')\n\n\t\t\t\tawait schemaDiskUtil.deleteOrphanedSchemas(\n\t\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\t\tschemaTemplateItems\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tawait this.optionallyInstallRemoteModules(\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tshouldInstallMissingDependencies\n\t\t\t)\n\n\t\t\tlet valueTypes: ValueTypes | undefined\n\n\t\t\ttry {\n\t\t\t\tvalueTypes = await this.generateValueTypes({\n\t\t\t\t\tresolvedDestination: resolvedFieldTypesDestination,\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t})\n\t\t\t} catch (err: any) {\n\t\t\t\tschemaErrors.push(err)\n\t\t\t}\n\n\t\t\tif (valueTypes) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.ui.startLoading('Determining what changed... ⚡️')\n\n\t\t\t\t\ttypeResults = await this.schemaWriter.writeSchemasAndTypes(\n\t\t\t\t\t\tresolvedSchemaTypesDestination,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tregisterBuiltSchemas,\n\t\t\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\t\t\tshouldImportCoreSchemas,\n\t\t\t\t\t\t\tvalueTypes,\n\t\t\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t\t\t\ttypesTemplate: generateStandaloneTypesFile\n\t\t\t\t\t\t\t\t? 'schema/core.schemas.types.ts.hbs'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tschemaErrors.push(err)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst p = resolvedSchemaTypesDestination\n\t\tdiskUtil.deleteEmptyDirs(diskUtil.isDir(p) ? p : pathUtil.dirname(p))\n\n\t\tthis.ui.stopLoading()\n\n\t\tconst errors = [...schemaErrors, ...fieldErrors]\n\n\t\treturn actionUtil.mergeActionResults(coreSyncResults || {}, {\n\t\t\tfiles: [...typeResults, ...generateFieldFiles],\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t})\n\t}\n\n\tprivate async optionallyInstallRemoteModules(\n\t\tschemaTemplateItems: SchemaTemplateItem[],\n\t\tforceInstall?: boolean\n\t) {\n\t\tconst modules = uniq(\n\t\t\tschemaTemplateItems.map((item) => item.importFrom).filter((i) => !!i)\n\t\t) as string[]\n\n\t\tconst notInstalled: string[] = []\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tfor (const m of modules) {\n\t\t\tif (!pkg.isInstalled(m) && notInstalled.indexOf(m) === -1) {\n\t\t\t\tnotInstalled.push(m)\n\t\t\t}\n\t\t}\n\n\t\tif (notInstalled.length > 0) {\n\t\t\tif (!forceInstall) {\n\t\t\t\tthis.ui.stopLoading()\n\n\t\t\t\tthis.ui.renderSection({\n\t\t\t\t\theadline: `Missing ${notInstalled.length} module${\n\t\t\t\t\t\tnotInstalled.length === 1 ? '' : 's'\n\t\t\t\t\t}`,\n\t\t\t\t\tlines: [\n\t\t\t\t\t\t`Looks like I need to install the following modules to continue to sync schemas:`,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t...notInstalled,\n\t\t\t\t\t],\n\t\t\t\t})\n\n\t\t\t\tconst confirm = await this.ui.confirm('Should we do that now?')\n\n\t\t\t\tif (!confirm) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'ACTION_CANCELLED',\n\t\t\t\t\t\tfriendlyMessage: `I can't sync schemas because of the missing modules.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.ui.startLoading(\n\t\t\t\t`Installing ${notInstalled.length} missing module${\n\t\t\t\t\tnotInstalled.length === 1 ? '' : 's...'\n\t\t\t\t}`\n\t\t\t)\n\n\t\t\tconst pkg = this.Service('pkg')\n\t\t\tawait pkg.install(notInstalled)\n\n\t\t\tthis.ui.stopLoading()\n\t\t}\n\t}\n\n\tprivate async generateSchemaTemplateItems(options: {\n\t\tschemaLookupDir: string | undefined\n\t\tlocalNamespace: string\n\t\tresolvedSchemaTypesDestinationDirOrFile: string\n\t\tshouldFetchLocalSchemas: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldEnableVersioning: boolean\n\t\tshouldFetchRemoteSchemas: boolean\n\t\tshouldFetchCoreSchemas: boolean\n\t}) {\n\t\tconst {\n\t\t\tschemaLookupDir,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tshouldEnableVersioning,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tlocalNamespace,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options\n\n\t\tthis.ui.startLoading('Loading builders...')\n\n\t\tconst { schemasByNamespace, errors: schemaErrors } =\n\t\t\tawait this.schemaStore.fetchSchemas({\n\t\t\t\tlocalSchemaLookupDir: schemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tdidUpdateHandler: (message) => {\n\t\t\t\t\tthis.ui.startLoading(message)\n\t\t\t\t},\n\t\t\t})\n\n\t\tconst hashSpruceDestination =\n\t\t\tresolvedSchemaTypesDestinationDirOrFile.replace(\n\t\t\t\tdiskUtil.resolveHashSprucePath(this.cwd),\n\t\t\t\t'#spruce'\n\t\t\t)\n\n\t\tlet total = 0\n\t\tlet totalNamespaces = 0\n\t\tfor (const namespace of Object.keys(schemasByNamespace)) {\n\t\t\ttotalNamespaces++\n\t\t\ttotal += schemasByNamespace[namespace].length\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Building ${total} schemas from ${totalNamespaces} namespaces.`\n\t\t)\n\n\t\tconst schemaTemplateItemBuilder = new SchemaTemplateItemBuilder(\n\t\t\tlocalNamespace\n\t\t)\n\n\t\tconst schemaTemplateItems: SchemaTemplateItem[] =\n\t\t\tschemaTemplateItemBuilder.buildTemplateItems(\n\t\t\t\tschemasByNamespace,\n\t\t\t\thashSpruceDestination\n\t\t\t)\n\n\t\treturn { schemaTemplateItems, schemaErrors }\n\t}\n\n\tprivate async generateFieldTemplateItems(options: {\n\t\taddonsLookupDir: string\n\t\tshouldGenerateFieldTypes: boolean\n\t\tresolvedFieldTypesDestination: string\n\t}) {\n\t\tconst {\n\t\t\taddonsLookupDir,\n\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\tresolvedFieldTypesDestination,\n\t\t} = options\n\n\t\tconst action = this.Action('schema', 'syncFields')\n\t\tconst results = await action.execute({\n\t\t\tfieldTypesDestinationDir: resolvedFieldTypesDestination,\n\t\t\taddonsLookupDir,\n\t\t\tgenerateFieldTypes,\n\t\t})\n\n\t\treturn {\n\t\t\tgenerateFieldFiles: results.files ?? [],\n\t\t\tfieldTemplateItems: results.meta?.fieldTemplateItems ?? [],\n\t\t\tfieldErrors: results.errors ?? [],\n\t\t}\n\t}\n\n\tprivate async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tthis.ui.startLoading('Generating value types...')\n\n\t\tconst builder = new ValueTypeBuilder(\n\t\t\tthis.schemaWriter,\n\t\t\tthis.Service('import')\n\t\t)\n\n\t\treturn builder.generateValueTypes(options)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SyncAction.js","names":["SyncAction","syncSchemasActionSchema","Writer","Store","options","normalizedOptions","validateAndNormalizeOptions","isInCoreSchemasModule","Service","get","schemaTypesDestinationDirOrFile","fieldTypesDestinationDir","schemaLookupDir","addonsLookupDir","shouldEnableVersioning","globalSchemaNamespace","shouldFetchRemoteSchemas","shouldGenerateCoreSchemaTypes","shouldFetchLocalSchemas","generateFieldTypes","generateStandaloneTypesFile","deleteDestinationDirIfNoSchemas","shouldFetchCoreSchemas","registerBuiltSchemas","syncingMessage","deleteOrphanedSchemas","moduleToImportFromWhenRemote","shouldInstallMissingDependencies","ui","startLoading","loadCurrentSkillsNamespace","localNamespace","shouldImportCoreSchemas","CORE_NAMESPACE","schemaDiskUtil","resolveTypeFilePaths","cwd","resolvedFieldTypesDestination","resolvedSchemaTypesDestinationDirOrFile","resolvedSchemaTypesDestination","generateFieldTemplateItems","shouldGenerateFieldTypes","fieldTemplateItems","fieldErrors","generateFieldFiles","schemaErrors","typeResults","generateSchemaTemplateItems","templateResults","push","schemaTemplateItems","length","diskUtil","deleteDir","optionallyInstallRemoteModules","generateValueTypes","resolvedDestination","undefined","valueTypes","schemaWriter","writeSchemasAndTypes","typesTemplate","p","deleteEmptyDirs","isDir","pathUtil","dirname","stopLoading","errors","actionUtil","mergeActionResults","coreSyncResults","files","meta","forceInstall","modules","uniq","map","item","importFrom","filter","i","notInstalled","pkg","m","isInstalled","indexOf","renderSection","headline","lines","confirm","SpruceError","code","friendlyMessage","install","schemaStore","fetchSchemas","localSchemaLookupDir","didUpdateHandler","message","schemasByNamespace","hashSpruceDestination","replace","resolveHashSprucePath","total","totalNamespaces","Object","keys","namespace","schemaTemplateItemBuilder","SchemaTemplateItemBuilder","buildTemplateItems","action","Action","execute","results","builder","ValueTypeBuilder","AbstractAction"],"sources":["../../../../src/features/schema/actions/SyncAction.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { ValueTypes } from '@sprucelabs/spruce-templates'\nimport uniq from 'lodash/uniq'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemasActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport SchemaTemplateItemBuilder from '../../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport schemaDiskUtil from '../utilities/schemaDisk.utility'\nimport ValueTypeBuilder from '../ValueTypeBuilder'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptions\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemasActionSchema\n\tpublic commandAliases = ['sync.schemas']\n\tpublic invocationMessage = 'Building schemas and generating types... 📃'\n\n\tprivate readonly schemaWriter = this.Writer('schema')\n\tprivate readonly schemaStore = this.Store('schema')\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\t\tconst isInCoreSchemasModule =\n\t\t\tthis.Service('pkg').get('name') === '@sprucelabs/spruce-core-schemas'\n\n\t\tlet {\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t\tschemaLookupDir,\n\t\t\taddonsLookupDir,\n\t\t\tshouldEnableVersioning,\n\t\t\tglobalSchemaNamespace,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldGenerateCoreSchemaTypes = isInCoreSchemasModule,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tgenerateFieldTypes,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tdeleteDestinationDirIfNoSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tregisterBuiltSchemas,\n\t\t\tsyncingMessage,\n\t\t\tdeleteOrphanedSchemas,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t\tshouldInstallMissingDependencies,\n\t\t} = normalizedOptions\n\n\t\tthis.ui.startLoading('Loading details about your skill... 🧐')\n\n\t\tlet localNamespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tlet shouldImportCoreSchemas = true\n\n\t\tif (shouldGenerateCoreSchemaTypes) {\n\t\t\tshouldFetchRemoteSchemas = false\n\t\t\tshouldFetchLocalSchemas = true\n\t\t\tshouldFetchCoreSchemas = false\n\t\t\tregisterBuiltSchemas = true\n\t\t\tgenerateStandaloneTypesFile = true\n\t\t\tshouldImportCoreSchemas = false\n\t\t\tlocalNamespace = CORE_NAMESPACE\n\t\t}\n\n\t\tlet coreSyncResults: FeatureActionResponse | undefined\n\n\t\tconst {\n\t\t\tresolvedFieldTypesDestination,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tresolvedSchemaTypesDestination,\n\t\t} = schemaDiskUtil.resolveTypeFilePaths({\n\t\t\tcwd: this.cwd,\n\t\t\tgenerateStandaloneTypesFile,\n\t\t\tschemaTypesDestinationDirOrFile,\n\t\t\tfieldTypesDestinationDir,\n\t\t})\n\n\t\tthis.ui.startLoading('Generating field types...')\n\n\t\tconst { fieldTemplateItems, fieldErrors, generateFieldFiles } =\n\t\t\tawait this.generateFieldTemplateItems({\n\t\t\t\taddonsLookupDir,\n\t\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t})\n\n\t\tthis.ui.startLoading(syncingMessage)\n\n\t\tconst schemaErrors: SpruceError[] = []\n\t\tlet schemaTemplateItems: SchemaTemplateItem[] | undefined\n\t\tlet typeResults: GeneratedFile[] = []\n\n\t\ttry {\n\t\t\tconst templateResults = await this.generateSchemaTemplateItems({\n\t\t\t\tschemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tlocalNamespace,\n\t\t\t})\n\n\t\t\tschemaErrors.push(...templateResults.schemaErrors)\n\t\t\tschemaTemplateItems = templateResults.schemaTemplateItems\n\t\t} catch (err: any) {\n\t\t\tschemaErrors.push(err)\n\t\t}\n\n\t\tif (schemaErrors.length === 0 && schemaTemplateItems) {\n\t\t\tif (deleteDestinationDirIfNoSchemas && schemaTemplateItems.length === 0) {\n\t\t\t\tdiskUtil.deleteDir(resolvedSchemaTypesDestinationDirOrFile)\n\t\t\t\treturn {}\n\t\t\t}\n\n\t\t\tif (deleteOrphanedSchemas) {\n\t\t\t\tthis.ui.startLoading('Identifying orphaned schemas...')\n\n\t\t\t\tawait schemaDiskUtil.deleteOrphanedSchemas(\n\t\t\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\t\t\tschemaTemplateItems\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tawait this.optionallyInstallRemoteModules(\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tshouldInstallMissingDependencies\n\t\t\t)\n\n\t\t\tlet valueTypes: ValueTypes | undefined\n\n\t\t\ttry {\n\t\t\t\tvalueTypes = await this.generateValueTypes({\n\t\t\t\t\tresolvedDestination: resolvedFieldTypesDestination,\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t})\n\t\t\t} catch (err: any) {\n\t\t\t\tschemaErrors.push(err)\n\t\t\t}\n\n\t\t\tif (valueTypes) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.ui.startLoading('Determining what changed... ⚡️')\n\n\t\t\t\t\ttypeResults = await this.schemaWriter.writeSchemasAndTypes(\n\t\t\t\t\t\tresolvedSchemaTypesDestination,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tregisterBuiltSchemas,\n\t\t\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t\t\t\tschemaTemplateItems,\n\t\t\t\t\t\t\tshouldImportCoreSchemas,\n\t\t\t\t\t\t\tvalueTypes,\n\t\t\t\t\t\t\tglobalSchemaNamespace: globalSchemaNamespace ?? undefined,\n\t\t\t\t\t\t\ttypesTemplate: generateStandaloneTypesFile\n\t\t\t\t\t\t\t\t? 'schema/core.schemas.types.ts.hbs'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tschemaErrors.push(err)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst p = resolvedSchemaTypesDestination\n\t\tdiskUtil.deleteEmptyDirs(diskUtil.isDir(p) ? p : pathUtil.dirname(p))\n\n\t\tthis.ui.stopLoading()\n\n\t\tconst errors = [...schemaErrors, ...fieldErrors]\n\n\t\treturn actionUtil.mergeActionResults(coreSyncResults || {}, {\n\t\t\tfiles: [...typeResults, ...generateFieldFiles],\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tschemaTemplateItems,\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t})\n\t}\n\n\tprivate async optionallyInstallRemoteModules(\n\t\tschemaTemplateItems: SchemaTemplateItem[],\n\t\tforceInstall?: boolean\n\t) {\n\t\tconst modules = uniq(\n\t\t\tschemaTemplateItems.map((item) => item.importFrom).filter((i) => !!i)\n\t\t) as string[]\n\n\t\tconst notInstalled: string[] = []\n\n\t\tconst pkg = this.Service('pkg')\n\n\t\tfor (const m of modules) {\n\t\t\tif (!pkg.isInstalled(m) && notInstalled.indexOf(m) === -1) {\n\t\t\t\tnotInstalled.push(m)\n\t\t\t}\n\t\t}\n\n\t\tif (notInstalled.length > 0) {\n\t\t\tif (!forceInstall) {\n\t\t\t\tthis.ui.stopLoading()\n\n\t\t\t\tthis.ui.renderSection({\n\t\t\t\t\theadline: `Missing ${notInstalled.length} module${\n\t\t\t\t\t\tnotInstalled.length === 1 ? '' : 's'\n\t\t\t\t\t}`,\n\t\t\t\t\tlines: [\n\t\t\t\t\t\t`Looks like I need to install the following modules to continue to sync schemas:`,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t...notInstalled,\n\t\t\t\t\t],\n\t\t\t\t})\n\n\t\t\t\tconst confirm = await this.ui.confirm('Should we do that now?')\n\n\t\t\t\tif (!confirm) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'ACTION_CANCELLED',\n\t\t\t\t\t\tfriendlyMessage: `I can't sync schemas because of the missing modules.`,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.ui.startLoading(\n\t\t\t\t`Installing ${notInstalled.length} missing module${\n\t\t\t\t\tnotInstalled.length === 1 ? '' : 's...'\n\t\t\t\t}`\n\t\t\t)\n\n\t\t\tconst pkg = this.Service('pkg')\n\t\t\tawait pkg.install(notInstalled)\n\n\t\t\tthis.ui.stopLoading()\n\t\t}\n\t}\n\n\tprivate async generateSchemaTemplateItems(options: {\n\t\tschemaLookupDir: string | undefined\n\t\tlocalNamespace: string\n\t\tresolvedSchemaTypesDestinationDirOrFile: string\n\t\tshouldFetchLocalSchemas: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldEnableVersioning: boolean\n\t\tshouldFetchRemoteSchemas: boolean\n\t\tshouldFetchCoreSchemas: boolean\n\t}) {\n\t\tconst {\n\t\t\tschemaLookupDir,\n\t\t\tresolvedSchemaTypesDestinationDirOrFile,\n\t\t\tshouldEnableVersioning,\n\t\t\tshouldFetchRemoteSchemas,\n\t\t\tshouldFetchCoreSchemas,\n\t\t\tshouldFetchLocalSchemas,\n\t\t\tlocalNamespace,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options\n\n\t\tthis.ui.startLoading('Loading builders...')\n\n\t\tconst { schemasByNamespace, errors: schemaErrors } =\n\t\t\tawait this.schemaStore.fetchSchemas({\n\t\t\t\tlocalSchemaLookupDir: schemaLookupDir,\n\t\t\t\tshouldFetchLocalSchemas,\n\t\t\t\tshouldFetchRemoteSchemas,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tmoduleToImportFromWhenRemote,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldFetchCoreSchemas,\n\t\t\t\tdidUpdateHandler: (message) => {\n\t\t\t\t\tthis.ui.startLoading(message)\n\t\t\t\t},\n\t\t\t})\n\n\t\tconst hashSpruceDestination =\n\t\t\tresolvedSchemaTypesDestinationDirOrFile.replace(\n\t\t\t\tdiskUtil.resolveHashSprucePath(this.cwd),\n\t\t\t\t'#spruce'\n\t\t\t)\n\n\t\tlet total = 0\n\t\tlet totalNamespaces = 0\n\t\tfor (const namespace of Object.keys(schemasByNamespace)) {\n\t\t\ttotalNamespaces++\n\t\t\ttotal += schemasByNamespace[namespace].length\n\t\t}\n\n\t\tthis.ui.startLoading(\n\t\t\t`Building ${total} schemas from ${totalNamespaces} namespaces.`\n\t\t)\n\n\t\tconst schemaTemplateItemBuilder = new SchemaTemplateItemBuilder(\n\t\t\tlocalNamespace\n\t\t)\n\n\t\tconst schemaTemplateItems: SchemaTemplateItem[] =\n\t\t\tschemaTemplateItemBuilder.buildTemplateItems(\n\t\t\t\tschemasByNamespace,\n\t\t\t\thashSpruceDestination\n\t\t\t)\n\n\t\treturn { schemaTemplateItems, schemaErrors }\n\t}\n\n\tprivate async generateFieldTemplateItems(options: {\n\t\taddonsLookupDir: string\n\t\tshouldGenerateFieldTypes: boolean\n\t\tresolvedFieldTypesDestination: string\n\t}) {\n\t\tconst {\n\t\t\taddonsLookupDir,\n\t\t\tshouldGenerateFieldTypes: generateFieldTypes,\n\t\t\tresolvedFieldTypesDestination,\n\t\t} = options\n\n\t\tconst action = this.Action('schema', 'syncFields')\n\t\tconst results = await action.execute({\n\t\t\tfieldTypesDestinationDir: resolvedFieldTypesDestination,\n\t\t\taddonsLookupDir,\n\t\t\tgenerateFieldTypes,\n\t\t})\n\n\t\treturn {\n\t\t\tgenerateFieldFiles: results.files ?? [],\n\t\t\tfieldTemplateItems: results.meta?.fieldTemplateItems ?? [],\n\t\t\tfieldErrors: results.errors ?? [],\n\t\t}\n\t}\n\n\tprivate async generateValueTypes(options: {\n\t\tresolvedDestination: string\n\t\tfieldTemplateItems: FieldTemplateItem[]\n\t\tschemaTemplateItems: SchemaTemplateItem[]\n\t\tglobalSchemaNamespace?: string\n\t}) {\n\t\tthis.ui.startLoading('Generating value types...')\n\n\t\tconst builder = new ValueTypeBuilder(\n\t\t\tthis.schemaWriter,\n\t\t\tthis.Service('import')\n\t\t)\n\n\t\treturn builder.generateValueTypes(options)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SyncFieldsAction.js","names":["FieldsSyncAction","syncSchemaFieldsActionSchema","options","ui","startLoading","normalizedOptions","validateAndNormalizeOptions","fieldTypesDestinationDir","addonsLookupDir","generateFieldTypes","resolvedFieldTypesDestination","diskUtil","resolvePath","cwd","generatedFiles","schemaStore","Store","fetchFields","localAddonsDir","fields","errors","fieldTemplateItemBuilder","FieldTemplateItemBuilder","fieldTemplateItems","generateTemplateItems","schemaGenerator","Writer","writeFieldTypes","results","push","stopLoading","files","length","undefined","meta","AbstractAction"],"sources":["../../../../src/features/schema/actions/SyncFieldsAction.ts"],"sourcesContent":["import { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemaFieldsActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema'\nimport FieldTemplateItemBuilder from '../../../templateItemBuilders/FieldTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemaFieldsOptionsSchema\n\nexport default class FieldsSyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemaFieldsActionSchema\n\tpublic commandAliases = ['sync.fields']\n\tpublic invocationMessage =\n\t\t'Syncing schema field types (e.g. number, phone, etc.)... 📃'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tthis.ui.startLoading(`Syncing fields...`)\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst { fieldTypesDestinationDir, addonsLookupDir, generateFieldTypes } =\n\t\t\tnormalizedOptions\n\n\t\tconst resolvedFieldTypesDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tfieldTypesDestinationDir\n\t\t)\n\n\t\tconst generatedFiles: GeneratedFile[] = []\n\t\tconst schemaStore = this.Store('schema')\n\n\t\tthis.ui.startLoading('Pulling field types...')\n\n\t\tconst { fields, errors } = await schemaStore.fetchFields({\n\t\t\tlocalAddonsDir: diskUtil.resolvePath(this.cwd, addonsLookupDir),\n\t\t})\n\n\t\tconst fieldTemplateItemBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems =\n\t\t\tfieldTemplateItemBuilder.generateTemplateItems(fields)\n\n\t\tconst schemaGenerator = this.Writer('schema')\n\t\tif (generateFieldTypes) {\n\t\t\tconst results = await schemaGenerator.writeFieldTypes(\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t\t{\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tgeneratedFiles.push(...results)\n\t\t}\n\n\t\tthis.ui.stopLoading()\n\n\t\treturn {\n\t\t\tfiles: generatedFiles,\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;;;;;;IAMqBA,gB;;;;;;;;;;;;;;;sGACGC,mC;uGACC,CAAC,aAAD,C;0GAEvB,6D;;;;;;;mGAED,iBACCC,OADD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAGC,KAAKC,EAAL,CAAQC,YAAR;gBAEMC,iBALP,GAK2B,KAAKC,2BAAL,CAAiCJ,OAAjC,CAL3B;gBAOSK,wBAPT,GAQEF,iBARF,CAOSE,wBAPT,EAOmCC,eAPnC,GAQEH,iBARF,CAOmCG,eAPnC,EAOoDC,kBAPpD,GAQEJ,iBARF,CAOoDI,kBAPpD;gBAUOC,6BAVP,GAUuCC,2BAASC,WAAT,CACrC,KAAKC,GADgC,EAErCN,wBAFqC,CAVvC;gBAeOO,cAfP,GAeyC,EAfzC;gBAgBOC,WAhBP,GAgBqB,KAAKC,KAAL,CAAW,QAAX,CAhBrB;gBAkBC,KAAKb,EAAL,CAAQC,YAAR,CAAqB,wBAArB;gBAlBD;gBAAA,OAoBkCW,WAAW,CAACE,WAAZ,CAAwB;kBACxDC,cAAc,EAAEP,2BAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+BL,eAA/B;gBADwC,CAAxB,CApBlC;;cAAA;gBAAA;gBAoBSW,MApBT,yBAoBSA,MApBT;gBAoBiBC,MApBjB,yBAoBiBA,MApBjB;gBAwBOC,wBAxBP,GAwBkC,IAAIC,oCAAJ,EAxBlC;gBAyBOC,kBAzBP,GA0BEF,wBAAwB,CAACG,qBAAzB,CAA+CL,MAA/C,CA1BF;gBA4BOM,eA5BP,GA4ByB,KAAKC,MAAL,CAAY,QAAZ,CA5BzB;;gBAAA,KA6BKjB,kBA7BL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OA8BwBgB,eAAe,CAACE,eAAhB,CACrBjB,6BADqB,EAErB;kBACCa,kBAAkB,EAAlBA;gBADD,CAFqB,CA9BxB;;cAAA;gBA8BQK,OA9BR;gBAqCEd,cAAc,CAACe,IAAf,OAAAf,cAAc,sCAASc,OAAT,EAAd;;cArCF;gBAwCC,KAAKzB,EAAL,CAAQ2B,WAAR;gBAxCD,iCA0CQ;kBACNC,KAAK,EAAEjB,cADD;kBAENM,MAAM,EAAEA,MAAM,CAACY,MAAP,GAAgB,CAAhB,GAAoBZ,MAApB,GAA6Ba,SAF/B;kBAGNC,IAAI,EAAE;oBACLX,kBAAkB,EAAlBA;kBADK;gBAHA,CA1CR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAN6CY,2B"}
1
+ {"version":3,"file":"SyncFieldsAction.js","names":["FieldsSyncAction","syncSchemaFieldsActionSchema","options","ui","startLoading","normalizedOptions","validateAndNormalizeOptions","fieldTypesDestinationDir","addonsLookupDir","generateFieldTypes","resolvedFieldTypesDestination","diskUtil","resolvePath","cwd","generatedFiles","schemaStore","Store","fetchFields","localAddonsDir","fields","errors","fieldTemplateItemBuilder","FieldTemplateItemBuilder","fieldTemplateItems","generateTemplateItems","schemaGenerator","Writer","writeFieldTypes","results","push","stopLoading","files","length","undefined","meta","AbstractAction"],"sources":["../../../../src/features/schema/actions/SyncFieldsAction.ts"],"sourcesContent":["import { SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport syncSchemaFieldsActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema'\nimport FieldTemplateItemBuilder from '../../../templateItemBuilders/FieldTemplateItemBuilder'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SyncSchemaFieldsOptionsSchema\n\nexport default class FieldsSyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = syncSchemaFieldsActionSchema\n\tpublic commandAliases = ['sync.fields']\n\tpublic invocationMessage =\n\t\t'Syncing schema field types (e.g. number, phone, etc.)... 📃'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tthis.ui.startLoading(`Syncing fields...`)\n\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tconst { fieldTypesDestinationDir, addonsLookupDir, generateFieldTypes } =\n\t\t\tnormalizedOptions\n\n\t\tconst resolvedFieldTypesDestination = diskUtil.resolvePath(\n\t\t\tthis.cwd,\n\t\t\tfieldTypesDestinationDir\n\t\t)\n\n\t\tconst generatedFiles: GeneratedFile[] = []\n\t\tconst schemaStore = this.Store('schema')\n\n\t\tthis.ui.startLoading('Pulling field types...')\n\n\t\tconst { fields, errors } = await schemaStore.fetchFields({\n\t\t\tlocalAddonsDir: diskUtil.resolvePath(this.cwd, addonsLookupDir),\n\t\t})\n\n\t\tconst fieldTemplateItemBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems =\n\t\t\tfieldTemplateItemBuilder.generateTemplateItems(fields)\n\n\t\tconst schemaGenerator = this.Writer('schema')\n\t\tif (generateFieldTypes) {\n\t\t\tconst results = await schemaGenerator.writeFieldTypes(\n\t\t\t\tresolvedFieldTypesDestination,\n\t\t\t\t{\n\t\t\t\t\tfieldTemplateItems,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tgeneratedFiles.push(...results)\n\t\t}\n\n\t\tthis.ui.stopLoading()\n\n\t\treturn {\n\t\t\tfiles: generatedFiles,\n\t\t\terrors: errors.length > 0 ? errors : undefined,\n\t\t\tmeta: {\n\t\t\t\tfieldTemplateItems,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;;;;;;IAMqBA,gB;;;;;;;;;;;;;;;sGACGC,mC;uGACC,CAAC,aAAD,C;0GAEvB,6D;;;;;;;mGAED,iBACCC,OADD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAGC,KAAKC,EAAL,CAAQC,YAAR;gBAEMC,iBALP,GAK2B,KAAKC,2BAAL,CAAiCJ,OAAjC,CAL3B;gBAOSK,wBAPT,GAQEF,iBARF,CAOSE,wBAPT,EAOmCC,eAPnC,GAQEH,iBARF,CAOmCG,eAPnC,EAOoDC,kBAPpD,GAQEJ,iBARF,CAOoDI,kBAPpD;gBAUOC,6BAVP,GAUuCC,0BAAA,CAASC,WAAT,CACrC,KAAKC,GADgC,EAErCN,wBAFqC,CAVvC;gBAeOO,cAfP,GAeyC,EAfzC;gBAgBOC,WAhBP,GAgBqB,KAAKC,KAAL,CAAW,QAAX,CAhBrB;gBAkBC,KAAKb,EAAL,CAAQC,YAAR,CAAqB,wBAArB;gBAlBD;gBAAA,OAoBkCW,WAAW,CAACE,WAAZ,CAAwB;kBACxDC,cAAc,EAAEP,0BAAA,CAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+BL,eAA/B;gBADwC,CAAxB,CApBlC;;cAAA;gBAAA;gBAoBSW,MApBT,yBAoBSA,MApBT;gBAoBiBC,MApBjB,yBAoBiBA,MApBjB;gBAwBOC,wBAxBP,GAwBkC,IAAIC,oCAAJ,EAxBlC;gBAyBOC,kBAzBP,GA0BEF,wBAAwB,CAACG,qBAAzB,CAA+CL,MAA/C,CA1BF;gBA4BOM,eA5BP,GA4ByB,KAAKC,MAAL,CAAY,QAAZ,CA5BzB;;gBAAA,KA6BKjB,kBA7BL;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OA8BwBgB,eAAe,CAACE,eAAhB,CACrBjB,6BADqB,EAErB;kBACCa,kBAAkB,EAAlBA;gBADD,CAFqB,CA9BxB;;cAAA;gBA8BQK,OA9BR;gBAqCEd,cAAc,CAACe,IAAf,OAAAf,cAAc,sCAASc,OAAT,EAAd;;cArCF;gBAwCC,KAAKzB,EAAL,CAAQ2B,WAAR;gBAxCD,iCA0CQ;kBACNC,KAAK,EAAEjB,cADD;kBAENM,MAAM,EAAEA,MAAM,CAACY,MAAP,GAAgB,CAAhB,GAAoBZ,MAApB,GAA6Ba,SAF/B;kBAGNC,IAAI,EAAE;oBACLX,kBAAkB,EAAlBA;kBADK;gBAHA,CA1CR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAN6CY,2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaService.js","names":["SchemaService","file","importDefault","definitionProxy","SpruceError","code","originalError","friendlyMessage","ImportService"],"sources":["../../../../src/features/schema/services/SchemaService.ts"],"sourcesContent":["import { validateSchema } from '@sprucelabs/schema'\nimport cloneDeep from 'lodash/cloneDeep'\nimport SpruceError from '../../../errors/SpruceError'\nimport ImportService from '../../../services/ImportService'\n\nexport default class SchemaService extends ImportService {\n\tpublic async importSchema(file: string) {\n\t\tconst definitionProxy = await this.importDefault(file)\n\n\t\ttry {\n\t\t\tvalidateSchema(definitionProxy)\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,\n\t\t\t\toriginalError: err,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'The definition imported is not valid. Make sure it is \"export default build[Schema|Error|Field]Definition\"',\n\t\t\t})\n\t\t}\n\n\t\treturn cloneDeep(definitionProxy)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,a;;;;;;;;;;;;;wGACpB,iBAA0BC,IAA1B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC+B,KAAKC,aAAL,CAAmBD,IAAnB,CAD/B;;cAAA;gBACOE,eADP;gBAAA;gBAIE,4BAAeA,eAAf;gBAJF;gBAAA;;cAAA;gBAAA;gBAAA;gBAAA,MAMQ,IAAIC,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE,yBADe;kBAErBJ,IAAI,EAAJA,IAFqB;kBAGrBK,aAAa,aAHQ;kBAIrBC,eAAe,EACd;gBALoB,CAAhB,CANR;;cAAA;gBAAA,iCAeQ,2BAAUJ,eAAV,CAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD0CK,0B"}
1
+ {"version":3,"file":"SchemaService.js","names":["SchemaService","file","importDefault","definitionProxy","validateSchema","SpruceError","code","originalError","friendlyMessage","cloneDeep","ImportService"],"sources":["../../../../src/features/schema/services/SchemaService.ts"],"sourcesContent":["import { validateSchema } from '@sprucelabs/schema'\nimport cloneDeep from 'lodash/cloneDeep'\nimport SpruceError from '../../../errors/SpruceError'\nimport ImportService from '../../../services/ImportService'\n\nexport default class SchemaService extends ImportService {\n\tpublic async importSchema(file: string) {\n\t\tconst definitionProxy = await this.importDefault(file)\n\n\t\ttry {\n\t\t\tvalidateSchema(definitionProxy)\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,\n\t\t\t\toriginalError: err,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'The definition imported is not valid. Make sure it is \"export default build[Schema|Error|Field]Definition\"',\n\t\t\t})\n\t\t}\n\n\t\treturn cloneDeep(definitionProxy)\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;IAEqBA,a;;;;;;;;;;;;;wGACpB,iBAA0BC,IAA1B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC+B,KAAKC,aAAL,CAAmBD,IAAnB,CAD/B;;cAAA;gBACOE,eADP;gBAAA;gBAIE,IAAAC,sBAAA,EAAeD,eAAf;gBAJF;gBAAA;;cAAA;gBAAA;gBAAA;gBAAA,MAMQ,IAAIE,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE,yBADe;kBAErBL,IAAI,EAAJA,IAFqB;kBAGrBM,aAAa,aAHQ;kBAIrBC,eAAe,EACd;gBALoB,CAAhB,CANR;;cAAA;gBAAA,iCAeQ,IAAAC,qBAAA,EAAUN,eAAV,CAfR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAD0CO,0B"}
@@ -15,7 +15,8 @@ export declare const coreSchemas: {
15
15
  messageSourceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageSourceSchema;
16
16
  messageTargetSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageTargetSchema;
17
17
  sendMessageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SendMessageSchema;
18
- fullMessageChoicesSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.FullMessageChoicesSchema;
18
+ choiceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.ChoiceSchema;
19
+ linkSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.LinkSchema;
19
20
  };
20
21
  export interface SchemasByNamespace {
21
22
  [namespace: string]: Schema[];
@@ -66,7 +66,8 @@ var coreSchemas = {
66
66
  messageSourceSchema: _spruceCoreSchemas.messageSourceSchema,
67
67
  messageTargetSchema: _spruceCoreSchemas.messageTargetSchema,
68
68
  sendMessageSchema: _spruceCoreSchemas.sendMessageSchema,
69
- fullMessageChoicesSchema: _spruceCoreSchemas.fullMessageChoicesSchema
69
+ choiceSchema: _spruceCoreSchemas.choiceSchema,
70
+ linkSchema: _spruceCoreSchemas.linkSchema
70
71
  };
71
72
  exports.coreSchemas = coreSchemas;
72
73
  var DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas';
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaStore.js","names":["coreSchemas","personSchema","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\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\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
+ {"version":3,"file":"SchemaStore.js","names":["coreSchemas","personSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","choiceSchema","linkSchema","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","normalizeSchemaToIdWithVersion","match","find","s","isEqual","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","globby","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","uniqBy","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\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tchoiceSchema,\n\tlinkSchema,\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\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tchoiceSchema,\n\tlinkSchema,\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,"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
+ {"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,2BAAA,CAAUC,OAAV,CAAkBN,MAAM,CAACG,EAAzB,CAFL;MAGNI,UAAU,EAAEF,2BAAA,CAAUG,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,"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
+ {"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,gBAAA,CAASC,IAAT,CACNT,WADM,EAENU,2BAAA,CAAUC,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,0BAAA,CAAStB,WAAT,CACtCiB,GADsC,EAEtCC,2BAA2B,IAC1BI,0BAAA,CAASC,SAAT,CAAmBJ,+BAAnB,CADD,GAEGG,0BAAA,CAAStB,WAAT,CACAiB,GADA,EAEAE,+BAFA,EAGA,uBAHA,CAFH,GAOGA,+BATmC,CAAvC;;IAYA,IAAMK,uCAAuC,GAAGF,0BAAA,CAASC,SAAT,CAC/CF,8BAD+C,IAG7CA,8BAH6C,GAI7CX,gBAAA,CAASe,OAAT,CAAiBJ,8BAAjB,CAJH;;IAMA,IAAMK,6BAA6B,GAAGJ,0BAAA,CAAStB,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,2BAAA,CAAoBC,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,0BAAA,CAASe,UAAT,CAAoBD,GAApB,CAAT;cAAA,CAA5B;;YAVC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EAWD;AApFqB,CAAvB;eAuFerC,c"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"schemaGenerator.utility.js","names":["schemaGeneratorUtil","filterSchemaFilesBySchemaIds","lookupDir","schemas","globby","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,IAAAC,kBAAA,EACrBC,gBAAA,CAASC,IAAT,CAAcJ,SAAd,EAAyB,qBAAzB,CADqB,CADF;;YAAA;cACdK,OADc;cAIdC,QAJc,GAIHD,OAAO,CAACE,MAAR,CAAe,UAACC,KAAD,EAAW;gBAC1C,IAAIC,KAAK,GAAG,KAAZ;;gBAD0C,2CAGrBR,OAHqB;gBAAA;;gBAAA;kBAG1C,oDAA8B;oBAAA,IAAnBS,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,gBAAA,CAASY,GAAf,SAAqBJ,EAArB,mBAAf;;oBAEA,IAAIE,OAAJ,EAAa;sBACZC,WAAW,GAAGX,gBAAA,CAASY,GAAT,GAAeF,OAAf,GAAyBC,WAAvC;oBACA;;oBAED,IAAIF,SAAJ,EAAe;sBACdE,WAAW,GAAGE,2BAAA,CAAUC,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;eAoCeR,mB"}