@sprucelabs/spruce-cli 15.2.23 → 15.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (661) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js +3 -1
  116. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  119. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  121. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingASkill.test.js +20 -20
  123. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  124. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  125. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +12 -12
  126. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  127. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  128. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +3 -1
  129. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  130. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  131. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +4 -2
  132. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  133. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  134. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RebuildingASkill.test.js +2 -2
  136. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  138. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +6 -4
  139. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  140. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +3 -1
  141. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  142. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +3 -1
  143. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  144. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  145. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  146. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  147. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +5 -3
  148. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  149. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  150. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  151. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  152. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  153. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  154. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  155. package/build/__tests__/behavioral/WatchingSkillViews.test.js +6 -6
  156. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  157. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  158. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  159. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  160. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  161. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  162. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +5 -0
  163. package/build/__tests__/behavioral/events/CreatingAListener.test.js +242 -119
  164. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  165. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +3 -1
  166. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  167. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  168. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  169. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  171. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  172. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  173. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +1 -1
  174. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  175. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  176. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  177. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  178. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  179. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  180. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  181. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  182. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  183. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  184. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  185. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  186. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  187. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  188. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +1 -1
  190. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  191. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  192. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  193. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -2
  194. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  195. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  196. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  197. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  198. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -1
  199. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +8 -8
  200. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  201. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  202. package/build/__tests__/behavioral/{UpdatingDependencies.test.d.ts → upgrading/UpdatingDependencies.test.d.ts} +1 -1
  203. package/build/__tests__/behavioral/{UpdatingDependencies.test.js → upgrading/UpdatingDependencies.test.js} +1 -1
  204. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -0
  205. package/build/__tests__/behavioral/{UpdatingDependencies2.test.d.ts → upgrading/UpdatingDependencies2.test.d.ts} +1 -1
  206. package/build/__tests__/behavioral/{UpdatingDependencies2.test.js → upgrading/UpdatingDependencies2.test.js} +4 -4
  207. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -0
  208. package/build/__tests__/behavioral/{UpgradingANodeModule.test.d.ts → upgrading/UpgradingANodeModule.test.d.ts} +1 -1
  209. package/build/__tests__/behavioral/{UpgradingANodeModule.test.js → upgrading/UpgradingANodeModule.test.js} +7 -7
  210. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -0
  211. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.d.ts +0 -0
  212. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.js +3 -14
  213. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -0
  214. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.d.ts +0 -0
  215. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.js +4 -13
  216. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -0
  217. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.d.ts +0 -0
  218. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.js +6 -6
  219. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -0
  220. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.d.ts +0 -0
  221. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.js +3 -3
  222. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -0
  223. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.d.ts +0 -0
  224. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.js +2 -2
  225. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -0
  226. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.d.ts +0 -0
  227. package/build/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.js +4 -8
  228. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -0
  229. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.d.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.d.ts} +3 -3
  230. package/build/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.js → upgrading/UpgradingWithSandboxFeatureInstalled.test.js} +14 -14
  231. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -0
  232. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  233. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  234. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  235. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  236. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  237. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  238. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  239. package/build/__tests__/implementation/ActionExecuter2.test.js +1 -1
  240. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  241. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  242. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -2
  243. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  244. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  245. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  246. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  247. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  248. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  249. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  250. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  251. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  252. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  253. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  254. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  255. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  256. package/build/__tests__/implementation/EventStore.test.js +68 -35
  257. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  258. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  259. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  260. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  261. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  262. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  263. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  264. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  265. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  266. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  267. package/build/__tests__/implementation/LintService.test.js +2 -2
  268. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  269. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  270. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  271. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  272. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  273. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  274. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  275. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  276. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  277. package/build/__tests__/implementation/PkgService.test.js +2 -2
  278. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  279. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  280. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  281. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  282. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  283. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  284. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  285. package/build/__tests__/implementation/StoreFeature.test.js +2 -2
  286. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  287. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  288. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  289. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  290. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  291. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  292. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  293. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  294. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  295. package/build/addons/filePrompt.addon.js.map +1 -1
  296. package/build/cli.js +1 -1
  297. package/build/cli.js.map +1 -1
  298. package/build/components/AbstractComponent.js.map +1 -1
  299. package/build/components/FormComponent.js.map +1 -1
  300. package/build/components/QuizComponent.js.map +1 -1
  301. package/build/constants.js.map +1 -1
  302. package/build/errors/SpruceError.js.map +1 -1
  303. package/build/errors/actionCancelled.builder.js.map +1 -1
  304. package/build/errors/bootError.builder.js.map +1 -1
  305. package/build/errors/buildFailed.builder.js.map +1 -1
  306. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  307. package/build/errors/commandAborted.builder.js.map +1 -1
  308. package/build/errors/commandBlocked.builder.js.map +1 -1
  309. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  310. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  311. package/build/errors/dependencyExists.builder.js.map +1 -1
  312. package/build/errors/deployFailed.builder.js.map +1 -1
  313. package/build/errors/directoryEmpty.builder.js.map +1 -1
  314. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  315. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  316. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  317. package/build/errors/failedToImport.builder.js.map +1 -1
  318. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  319. package/build/errors/fileExists.builder.js.map +1 -1
  320. package/build/errors/generic.builder.js.map +1 -1
  321. package/build/errors/invalidCommand.builder.js.map +1 -1
  322. package/build/errors/invalidEventContract.builder.js.map +1 -1
  323. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  324. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  325. package/build/errors/lintFailed.builder.js.map +1 -1
  326. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  327. package/build/errors/missingDependencies.builder.js.map +1 -1
  328. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  329. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  330. package/build/errors/notImplemented.builder.js.map +1 -1
  331. package/build/errors/notLoggedIn.builder.js.map +1 -1
  332. package/build/errors/schemaExists.builder.js.map +1 -1
  333. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  334. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  335. package/build/errors/skillNotFound.builder.js.map +1 -1
  336. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  337. package/build/errors/skillViewExists.builder.js.map +1 -1
  338. package/build/errors/storeExists.builder.js.map +1 -1
  339. package/build/errors/testFailed.builder.js.map +1 -1
  340. package/build/errors/themeExists.builder.js.map +1 -1
  341. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  342. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  343. package/build/features/AbstractAction.js.map +1 -1
  344. package/build/features/AbstractFeature.js.map +1 -1
  345. package/build/features/ActionExecuter.js.map +1 -1
  346. package/build/features/ActionFactory.js.map +1 -1
  347. package/build/features/ActionQuestionAsker.js.map +1 -1
  348. package/build/features/FeatureCommandAttacher.js.map +1 -1
  349. package/build/features/FeatureInstaller.js.map +1 -1
  350. package/build/features/FeatureInstallerFactory.js.map +1 -1
  351. package/build/features/OverrideActionDecorator.js.map +1 -1
  352. package/build/features/cache/CacheFeature.js.map +1 -1
  353. package/build/features/cache/actions/DisableAction.js.map +1 -1
  354. package/build/features/cache/actions/EnableAction.js.map +1 -1
  355. package/build/features/cache/constants.js.map +1 -1
  356. package/build/features/conversation/ConversationFeature.js.map +1 -1
  357. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  358. package/build/features/conversation/actions/TestAction.js.map +1 -1
  359. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  360. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  361. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  362. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  363. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  364. package/build/features/deploy/DeployFeature.js.map +1 -1
  365. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  366. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  367. package/build/features/error/ErrorFeature.js.map +1 -1
  368. package/build/features/error/ParentTestFinder.js.map +1 -1
  369. package/build/features/error/actions/CreateAction.js.map +1 -1
  370. package/build/features/error/actions/SyncAction.js.map +1 -1
  371. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  372. package/build/features/event/EventFeature.d.ts +1 -0
  373. package/build/features/event/EventFeature.js +89 -56
  374. package/build/features/event/EventFeature.js.map +1 -1
  375. package/build/features/event/actions/CreateAction.js.map +1 -1
  376. package/build/features/event/actions/ListenAction.d.ts +1 -0
  377. package/build/features/event/actions/ListenAction.js +23 -31
  378. package/build/features/event/actions/ListenAction.js.map +1 -1
  379. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  380. package/build/features/event/actions/SyncAction.js.map +1 -1
  381. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  382. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  383. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  384. package/build/features/event/services/EventSettingsService.js.map +1 -1
  385. package/build/features/event/services/RemoteService.js.map +1 -1
  386. package/build/features/event/stores/EventStore.d.ts +7 -5
  387. package/build/features/event/stores/EventStore.js +16 -8
  388. package/build/features/event/stores/EventStore.js.map +1 -1
  389. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  390. package/build/features/event/stores/ListenerStore.js +6 -1
  391. package/build/features/event/stores/ListenerStore.js.map +1 -1
  392. package/build/features/event/writers/EventWriter.js.map +1 -1
  393. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  394. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  395. package/build/features/feature.utilities.js.map +1 -1
  396. package/build/features/features.types.js.map +1 -1
  397. package/build/features/log/LogFeature.js.map +1 -1
  398. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  399. package/build/features/log/writers/LogWriter.js.map +1 -1
  400. package/build/features/node/NodeFeature.js.map +1 -1
  401. package/build/features/node/actions/CreateAction.js.map +1 -1
  402. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  403. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  404. package/build/features/node/writers/NodeWriter.js.map +1 -1
  405. package/build/features/onboard/OnboardFeature.js.map +1 -1
  406. package/build/features/onboard/ScriptLoader.js.map +1 -1
  407. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  408. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  409. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  410. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  411. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  412. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  413. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  414. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  415. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  416. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  417. package/build/features/organization/OrganizationFeature.js.map +1 -1
  418. package/build/features/organization/actions/CreateAction.js.map +1 -1
  419. package/build/features/organization/actions/InstallAction.js.map +1 -1
  420. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  421. package/build/features/person/PersonFeature.js.map +1 -1
  422. package/build/features/person/actions/LoginAction.js.map +1 -1
  423. package/build/features/person/actions/LogoutAction.js.map +1 -1
  424. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  425. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  426. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  427. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  428. package/build/features/schema/SchemaFeature.js.map +1 -1
  429. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  430. package/build/features/schema/actions/CreateAction.js.map +1 -1
  431. package/build/features/schema/actions/SyncAction.js.map +1 -1
  432. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  433. package/build/features/schema/services/SchemaService.js.map +1 -1
  434. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  435. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  436. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  437. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  438. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  439. package/build/features/skill/SkillFeature.js.map +1 -1
  440. package/build/features/skill/actions/BootAction.js.map +1 -1
  441. package/build/features/skill/actions/CreateAction.js.map +1 -1
  442. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  443. package/build/features/skill/actions/LoginAction.js.map +1 -1
  444. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  445. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  446. package/build/features/skill/stores/SkillStore.js.map +1 -1
  447. package/build/features/skill/updaters/Updater.js.map +1 -1
  448. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  449. package/build/features/store/StoreFeature.d.ts +1 -1
  450. package/build/features/store/StoreFeature.js +15 -14
  451. package/build/features/store/StoreFeature.js.map +1 -1
  452. package/build/features/store/actions/CreateAction.js.map +1 -1
  453. package/build/features/store/actions/SyncAction.js.map +1 -1
  454. package/build/features/store/stores/StoreStore.d.ts +1 -0
  455. package/build/features/store/stores/StoreStore.js +6 -1
  456. package/build/features/store/stores/StoreStore.js.map +1 -1
  457. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  458. package/build/features/store/writers/StoreWriter.js.map +1 -1
  459. package/build/features/test/TestFeature.js.map +1 -1
  460. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  461. package/build/features/test/TestReporter.js.map +1 -1
  462. package/build/features/test/TestRunner.js.map +1 -1
  463. package/build/features/test/actions/CreateAction.js.map +1 -1
  464. package/build/features/test/actions/SetupAction.js.map +1 -1
  465. package/build/features/test/actions/TestAction.js.map +1 -1
  466. package/build/features/test/test.types.js.map +1 -1
  467. package/build/features/test/writers/TestWriter.js.map +1 -1
  468. package/build/features/universalDevDependencies.js.map +1 -1
  469. package/build/features/universalFileDescriptions.js.map +1 -1
  470. package/build/features/universalScripts.js.map +1 -1
  471. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  472. package/build/features/validateAndNormalize.utility.js +2 -2
  473. package/build/features/validateAndNormalize.utility.js.map +1 -1
  474. package/build/features/view/ViewFeature.js.map +1 -1
  475. package/build/features/view/actions/CreateAction.js.map +1 -1
  476. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  477. package/build/features/view/actions/SyncAction.js.map +1 -1
  478. package/build/features/view/actions/WatchAction.js.map +1 -1
  479. package/build/features/view/stores/ViewStore.js.map +1 -1
  480. package/build/features/view/writers/ViewWriter.js.map +1 -1
  481. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  482. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  483. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  484. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  485. package/build/features/watch/WatchFeature.js.map +1 -1
  486. package/build/index.js.map +1 -1
  487. package/build/interfaces/SpyInterface.js.map +1 -1
  488. package/build/interfaces/TerminalInterface.js.map +1 -1
  489. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  490. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  491. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  492. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  493. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  494. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  495. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  496. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  497. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  498. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  499. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  500. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  501. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  502. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  503. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  504. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  505. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  506. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  507. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  508. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  509. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  510. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  511. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  512. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  513. package/build/services/BuildService.js.map +1 -1
  514. package/build/services/CommandService.d.ts +1 -1
  515. package/build/services/CommandService.js +2 -2
  516. package/build/services/CommandService.js.map +1 -1
  517. package/build/services/DependencyService.js.map +1 -1
  518. package/build/services/GameService.js.map +1 -1
  519. package/build/services/ImportService.js.map +1 -1
  520. package/build/services/LintService.js.map +1 -1
  521. package/build/services/PkgService.js.map +1 -1
  522. package/build/services/ServiceFactory.js.map +1 -1
  523. package/build/services/TypeCheckerService.js.map +1 -1
  524. package/build/stores/AbstractLocalStore.js.map +1 -1
  525. package/build/stores/AbstractStore.js.map +1 -1
  526. package/build/stores/StoreFactory.js.map +1 -1
  527. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  528. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  529. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  530. package/build/tests/AbstractCliTest.d.ts +2 -0
  531. package/build/tests/AbstractCliTest.js +9 -2
  532. package/build/tests/AbstractCliTest.js.map +1 -1
  533. package/build/tests/AbstractErrorTest.js.map +1 -1
  534. package/build/tests/AbstractEventTest.js.map +1 -1
  535. package/build/tests/AbstractSchemaTest.js.map +1 -1
  536. package/build/tests/AbstractSkillTest.js.map +1 -1
  537. package/build/tests/AbstractTestTest.js.map +1 -1
  538. package/build/tests/CommandFaker.d.ts +8 -0
  539. package/build/tests/CommandFaker.js +54 -0
  540. package/build/tests/CommandFaker.js.map +1 -0
  541. package/build/tests/JestJsonParser.js.map +1 -1
  542. package/build/tests/MockProgramFactory.js.map +1 -1
  543. package/build/tests/buildTestCache.js.map +1 -1
  544. package/build/tests/cleanTestCache.js.map +1 -1
  545. package/build/tests/cleanTestData.js +9 -10
  546. package/build/tests/cleanTestData.js.map +1 -1
  547. package/build/tests/constants.d.ts +8 -0
  548. package/build/tests/constants.js +28 -0
  549. package/build/tests/constants.js.map +1 -0
  550. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  551. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  552. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  553. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  554. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  555. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  556. package/build/tests/utilities/test.utility.js.map +1 -1
  557. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  558. package/build/types/apiClient.types.js.map +1 -1
  559. package/build/types/cli.types.js.map +1 -1
  560. package/build/types/graphicsInterface.types.js.map +1 -1
  561. package/build/updaters/ScriptUpdater.js.map +1 -1
  562. package/build/utilities/action.utility.js.map +1 -1
  563. package/build/utilities/apiClient.utility.js.map +1 -1
  564. package/build/utilities/argParser.utility.js.map +1 -1
  565. package/build/utilities/commander.utility.js.map +1 -1
  566. package/build/utilities/duration.utility.js.map +1 -1
  567. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  568. package/build/utilities/form.utility.js.map +1 -1
  569. package/build/utilities/introspection.utility.js.map +1 -1
  570. package/build/utilities/isCi.js.map +1 -1
  571. package/build/utilities/tsConfig.utility.js.map +1 -1
  572. package/build/utilities/ui.utility.js.map +1 -1
  573. package/build/widgets/Theme.js.map +1 -1
  574. package/build/widgets/WidgetFactory.js.map +1 -1
  575. package/build/widgets/keySelectChoices.js.map +1 -1
  576. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  577. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  578. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  579. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  580. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  581. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  582. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  583. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  584. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  585. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  586. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  587. package/build/widgets/types/button.types.js.map +1 -1
  588. package/build/widgets/types/factory.types.js.map +1 -1
  589. package/build/widgets/types/input.types.js.map +1 -1
  590. package/build/widgets/types/layout.types.js.map +1 -1
  591. package/build/widgets/types/menuBar.types.js.map +1 -1
  592. package/build/widgets/types/popup.types.js.map +1 -1
  593. package/build/widgets/types/progressBar.types.js.map +1 -1
  594. package/build/widgets/types/table.types.js.map +1 -1
  595. package/build/widgets/types/text.types.js.map +1 -1
  596. package/build/widgets/types/widgets.types.js.map +1 -1
  597. package/build/widgets/types/window.types.js.map +1 -1
  598. package/build/widgets/widget.utilities.js.map +1 -1
  599. package/build/writers/AbstractWriter.js.map +1 -1
  600. package/build/writers/WriterFactory.js.map +1 -1
  601. package/package.json +72 -72
  602. package/src/__tests__/behavioral/AddingADependency.test.ts +2 -1
  603. package/src/__tests__/behavioral/DeployingASkill.test.ts +20 -20
  604. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +12 -12
  605. package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +2 -1
  606. package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +3 -2
  607. package/src/__tests__/behavioral/RebuildingASkill.test.ts +2 -2
  608. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +3 -5
  609. package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +2 -1
  610. package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +2 -1
  611. package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +4 -3
  612. package/src/__tests__/behavioral/WatchingSkillViews.test.ts +6 -6
  613. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +54 -7
  614. package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +2 -1
  615. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
  616. package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
  617. package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +2 -2
  618. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +3 -3
  619. package/src/__tests__/behavioral/{UpdatingDependencies.test.ts → upgrading/UpdatingDependencies.test.ts} +2 -2
  620. package/src/__tests__/behavioral/{UpdatingDependencies2.test.ts → upgrading/UpdatingDependencies2.test.ts} +6 -6
  621. package/src/__tests__/behavioral/{UpgradingANodeModule.test.ts → upgrading/UpgradingANodeModule.test.ts} +7 -7
  622. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill.test.ts +3 -11
  623. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill2.test.ts +4 -7
  624. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill3.test.ts +6 -6
  625. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill4.test.ts +3 -3
  626. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingASkill5.test.ts +2 -2
  627. package/src/__tests__/behavioral/{skill → upgrading}/UpgradingWithListeners.test.ts +3 -5
  628. package/src/__tests__/behavioral/{UpgradingWithSandboxFeatureInstalled.test.ts → upgrading/UpgradingWithSandboxFeatureInstalled.test.ts} +5 -5
  629. package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
  630. package/src/__tests__/implementation/ActionExecuter4.test.ts +2 -2
  631. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  632. package/src/__tests__/implementation/EventStore.test.ts +17 -1
  633. package/src/__tests__/implementation/LintService.test.ts +2 -2
  634. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  635. package/src/__tests__/implementation/PkgService.test.ts +4 -7
  636. package/src/__tests__/implementation/StoreFeature.test.ts +2 -2
  637. package/src/cli.ts +1 -1
  638. package/src/features/AbstractAction.ts +2 -2
  639. package/src/features/event/EventFeature.ts +14 -11
  640. package/src/features/event/actions/ListenAction.ts +22 -12
  641. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  642. package/src/features/event/stores/EventStore.ts +28 -20
  643. package/src/features/event/stores/ListenerStore.ts +5 -3
  644. package/src/features/store/StoreFeature.ts +7 -6
  645. package/src/features/store/stores/StoreStore.ts +5 -1
  646. package/src/features/validateAndNormalize.utility.ts +2 -2
  647. package/src/services/CommandService.ts +1 -4
  648. package/src/tests/AbstractCliTest.ts +6 -1
  649. package/src/tests/CommandFaker.ts +24 -0
  650. package/src/tests/cleanTestData.ts +2 -19
  651. package/src/tests/constants.ts +17 -0
  652. package/build/__tests__/behavioral/UpdatingDependencies.test.js.map +0 -1
  653. package/build/__tests__/behavioral/UpdatingDependencies2.test.js.map +0 -1
  654. package/build/__tests__/behavioral/UpgradingANodeModule.test.js.map +0 -1
  655. package/build/__tests__/behavioral/UpgradingWithSandboxFeatureInstalled.test.js.map +0 -1
  656. package/build/__tests__/behavioral/skill/UpgradingASkill.test.js.map +0 -1
  657. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +0 -1
  658. package/build/__tests__/behavioral/skill/UpgradingASkill3.test.js.map +0 -1
  659. package/build/__tests__/behavioral/skill/UpgradingASkill4.test.js.map +0 -1
  660. package/build/__tests__/behavioral/skill/UpgradingASkill5.test.js.map +0 -1
  661. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/node/NodeFeature.ts"],"names":["NodeFeature","options","nodeFeatureOptionsSchema","universalDevDependencies","universalScripts","universalFileDescriptions","diskUtil","resolvePath","__dirname","doesFileExist","cwd","emitter","on","payload","featureCode","actionCode","handleUpgrade","ui","clear","renderHero","startLoading","Service","execute","summaryLines","errors","destination","resolveDestination","doesDirExist","createDir","files","name","path","action","Writer","writeNodeModule","written","push","installScripts","pkg","set","value","namesUtil","toKebab","description","unset","Store","setCurrentSkillsNamespace","scriptUpdater","ScriptUpdater","FromFeature","update","AbstractFeature"],"mappings":"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","sourcesContent":["import { Schema, SchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'\nimport { FileDescription, GeneratedFile } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport {\n\tActionOptions,\n\tFeatureActionResponse,\n\tFeatureCode,\n} from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tnode: NodeFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tnode: SchemaValues<OptionsSchema>\n\t}\n}\n\nexport default class NodeFeature<\n\tS extends OptionsSchema = OptionsSchema\n> extends AbstractFeature<S> {\n\tpublic code: FeatureCode = 'node'\n\tpublic nameReadable = 'nodejs support'\n\tpublic description = ''\n\tpublic dependencies: FeatureDependency[] = []\n\tpublic optionsSchema = nodeFeatureOptionsSchema as S\n\tpublic packageDependencies = [...universalDevDependencies]\n\n\tpublic scripts = {\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t]\n\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.did-execute', async (payload) => {\n\t\t\tif (payload.featureCode === 'node' && payload.actionCode === 'upgrade') {\n\t\t\t\treturn this.handleUpgrade()\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n\n\tprivate async handleUpgrade(): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tthis.ui.clear()\n\t\t\tthis.ui.renderHero('Upgrade')\n\n\t\t\tthis.ui.startLoading('Cleaning build...')\n\t\t\tawait this.Service('command').execute('yarn clean.build')\n\n\t\t\tthis.ui.startLoading('Building for development...')\n\t\t\tawait this.Service('command').execute('yarn build.dev')\n\n\t\t\treturn {\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t'Build cleared.',\n\t\t\t\t\t'Lint rules applied to source.',\n\t\t\t\t\t'Code rebuilt successfully.',\n\t\t\t\t],\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: Options) {\n\t\tconst destination = this.resolveDestination(options)\n\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst files: GeneratedFile[] = [\n\t\t\t{\n\t\t\t\tname: 'package.json',\n\t\t\t\tpath: diskUtil.resolvePath(destination, 'package.json'),\n\t\t\t\taction: 'generated',\n\t\t\t},\n\t\t]\n\n\t\tawait this.Service('command', destination).execute('yarn init -y')\n\n\t\tconst written = await this.Writer('node').writeNodeModule(destination)\n\n\t\tfiles.push(...written)\n\n\t\tawait this.installScripts(destination)\n\n\t\treturn { files, cwd: destination }\n\t}\n\n\tprivate resolveDestination(options: Options) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async afterPackageInstall(\n\t\toptions: S extends Schema ? SchemaValues<S> : undefined\n\t) {\n\t\tconst cwd = this.resolveDestination(options)\n\t\tconst pkg = this.Service('pkg', cwd)\n\n\t\tpkg.set({ path: 'name', value: namesUtil.toKebab(options.name) })\n\t\tpkg.set({ path: 'description', value: options.description })\n\t\tpkg.set({ path: 'version', value: '0.0.1' })\n\n\t\tpkg.unset('main')\n\t\tpkg.unset('license')\n\n\t\tawait this.Store('skill', { cwd }).setCurrentSkillsNamespace(options.name)\n\n\t\treturn {}\n\t}\n\n\tprivate async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic isInstalled = async (): Promise<boolean> => {\n\t\treturn diskUtil.doesFileExist(\n\t\t\tdiskUtil.resolvePath(this.cwd, 'package.json')\n\t\t)\n\t}\n}\n"],"file":"NodeFeature.js"}
1
+ {"version":3,"file":"NodeFeature.js","names":["NodeFeature","options","nodeFeatureOptionsSchema","universalDevDependencies","universalScripts","universalFileDescriptions","diskUtil","resolvePath","__dirname","doesFileExist","cwd","emitter","on","payload","featureCode","actionCode","handleUpgrade","ui","clear","renderHero","startLoading","Service","execute","summaryLines","errors","destination","resolveDestination","doesDirExist","createDir","files","name","path","action","Writer","writeNodeModule","written","push","installScripts","pkg","set","value","namesUtil","toKebab","description","unset","Store","setCurrentSkillsNamespace","scriptUpdater","ScriptUpdater","FromFeature","update","AbstractFeature"],"sources":["../../../src/features/node/NodeFeature.ts"],"sourcesContent":["import { Schema, SchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'\nimport { FileDescription, GeneratedFile } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport {\n\tActionOptions,\n\tFeatureActionResponse,\n\tFeatureCode,\n} from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tnode: NodeFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tnode: SchemaValues<OptionsSchema>\n\t}\n}\n\nexport default class NodeFeature<\n\tS extends OptionsSchema = OptionsSchema\n> extends AbstractFeature<S> {\n\tpublic code: FeatureCode = 'node'\n\tpublic nameReadable = 'nodejs support'\n\tpublic description = ''\n\tpublic dependencies: FeatureDependency[] = []\n\tpublic optionsSchema = nodeFeatureOptionsSchema as S\n\tpublic packageDependencies = [...universalDevDependencies]\n\n\tpublic scripts = {\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t]\n\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.did-execute', async (payload) => {\n\t\t\tif (payload.featureCode === 'node' && payload.actionCode === 'upgrade') {\n\t\t\t\treturn this.handleUpgrade()\n\t\t\t}\n\n\t\t\treturn {}\n\t\t})\n\t}\n\n\tprivate async handleUpgrade(): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tthis.ui.clear()\n\t\t\tthis.ui.renderHero('Upgrade')\n\n\t\t\tthis.ui.startLoading('Cleaning build...')\n\t\t\tawait this.Service('command').execute('yarn clean.build')\n\n\t\t\tthis.ui.startLoading('Building for development...')\n\t\t\tawait this.Service('command').execute('yarn build.dev')\n\n\t\t\treturn {\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t'Build cleared.',\n\t\t\t\t\t'Lint rules applied to source.',\n\t\t\t\t\t'Code rebuilt successfully.',\n\t\t\t\t],\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: Options) {\n\t\tconst destination = this.resolveDestination(options)\n\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst files: GeneratedFile[] = [\n\t\t\t{\n\t\t\t\tname: 'package.json',\n\t\t\t\tpath: diskUtil.resolvePath(destination, 'package.json'),\n\t\t\t\taction: 'generated',\n\t\t\t},\n\t\t]\n\n\t\tawait this.Service('command', destination).execute('yarn init -y')\n\n\t\tconst written = await this.Writer('node').writeNodeModule(destination)\n\n\t\tfiles.push(...written)\n\n\t\tawait this.installScripts(destination)\n\n\t\treturn { files, cwd: destination }\n\t}\n\n\tprivate resolveDestination(options: Options) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async afterPackageInstall(\n\t\toptions: S extends Schema ? SchemaValues<S> : undefined\n\t) {\n\t\tconst cwd = this.resolveDestination(options)\n\t\tconst pkg = this.Service('pkg', cwd)\n\n\t\tpkg.set({ path: 'name', value: namesUtil.toKebab(options.name) })\n\t\tpkg.set({ path: 'description', value: options.description })\n\t\tpkg.set({ path: 'version', value: '0.0.1' })\n\n\t\tpkg.unset('main')\n\t\tpkg.unset('license')\n\n\t\tawait this.Store('skill', { cwd }).setCurrentSkillsNamespace(options.name)\n\n\t\treturn {}\n\t}\n\n\tprivate async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic isInstalled = async (): Promise<boolean> => {\n\t\treturn diskUtil.doesFileExist(\n\t\t\tdiskUtil.resolvePath(this.cwd, 'package.json')\n\t\t)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/node/actions/CreateAction.ts"],"names":["optionsSchema","nodeFeatureOptionsSchema","CreateAction","options","codeSuggestion","destination","hints","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAGC,8BAAtB;;IAMqBC,Y;;;;;;;;;;;;;;;uGACI,CACvB,6BADuB,EAEvB,2BAFuB,C;0GAIG,kC;sGACJF,a;;;;;;;mGACvB,iBAAqBG,OAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,cADP,GACwBD,OAAO,CAACE,WAAR,gBACdF,OAAO,CAACE,WADM,0BADxB;AAAA,iDAKQ;AACNC,kBAAAA,KAAK,EAAE,CACN,2BADM,iDAEmCF,cAFnC,wBAGN,qEAHM,EAIN,mGAJM,EAKN,mBALM;AADD,iBALR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAPyCG,2B","sourcesContent":["import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'\nimport nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = nodeFeatureOptionsSchema\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = [\n\t\t'create.module [destination]',\n\t\t'create.node [destination]',\n\t]\n\tpublic invocationMessage = 'Setting up a new mode module! 🤖'\n\tpublic optionsSchema = optionsSchema\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst codeSuggestion = options.destination\n\t\t\t? `cd ${options.destination} && code .`\n\t\t\t: `code .`\n\n\t\treturn {\n\t\t\thints: [\n\t\t\t\t'Your new module is ready!',\n\t\t\t\t`When you're ready, go ahead and run \\`${codeSuggestion}\\` to open vscode.`,\n\t\t\t\t'Once vscode loads, open the terminal and type `spruce setup.vscode`',\n\t\t\t\t\"Hint: You're going to want to install all extensions and setup all features (yes for everything).\",\n\t\t\t\t'See you there! 💪',\n\t\t\t],\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["optionsSchema","nodeFeatureOptionsSchema","CreateAction","options","codeSuggestion","destination","hints","AbstractAction"],"sources":["../../../../src/features/node/actions/CreateAction.ts"],"sourcesContent":["import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas'\nimport nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = nodeFeatureOptionsSchema\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = [\n\t\t'create.module [destination]',\n\t\t'create.node [destination]',\n\t]\n\tpublic invocationMessage = 'Setting up a new mode module! 🤖'\n\tpublic optionsSchema = optionsSchema\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst codeSuggestion = options.destination\n\t\t\t? `cd ${options.destination} && code .`\n\t\t\t: `code .`\n\n\t\treturn {\n\t\t\thints: [\n\t\t\t\t'Your new module is ready!',\n\t\t\t\t`When you're ready, go ahead and run \\`${codeSuggestion}\\` to open vscode.`,\n\t\t\t\t'Once vscode loads, open the terminal and type `spruce setup.vscode`',\n\t\t\t\t\"Hint: You're going to want to install all extensions and setup all features (yes for everything).\",\n\t\t\t\t'See you there! 💪',\n\t\t\t],\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAGC,8BAAtB;;IAMqBC,Y;;;;;;;;;;;;;;;uGACI,CACvB,6BADuB,EAEvB,2BAFuB,C;0GAIG,kC;sGACJF,a;;;;;;;mGACvB,iBAAqBG,OAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,cADP,GACwBD,OAAO,CAACE,WAAR,gBACdF,OAAO,CAACE,WADM,0BADxB;gBAAA,iCAKQ;kBACNC,KAAK,EAAE,CACN,2BADM,iDAEmCF,cAFnC,wBAGN,qEAHM,EAIN,mGAJM,EAKN,mBALM;gBADD,CALR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAPyCG,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/node/actions/UpdateDependenciesAction.ts"],"names":["optionsSchema","id","description","fields","UpdateDependenciesAction","_options","files","file","diskUtil","deleteFile","resolvePath","cwd","InFlightEntertainment","start","installDependencies","totalDependencies","totalDevDependencies","headline","summaryLines","stop","featureInstaller","getInstalledFeatures","features","pkg","Service","pkgContents","readPackage","dependencies","Object","keys","map","d","stripped","name","devDependencies","feature","packageDependencies","dep","stripLatest","buildPackageName","isDev","find","unshift","filter","isBlockedFromUpgrade","deleteLockFile","length","writeStatus","install","shouldForceInstall","shouldCleanupLockFiles","content","get","push","set","path","value","isBlocked","indexOf","AbstractAction"],"mappings":"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","sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { uniqBy } from 'lodash'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport PkgService from '../../../services/PkgService'\nimport { NpmPackage } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'updateDependenciesAction',\n\tdescription:\n\t\t'Clear lock files and node_modules and then reinstalls all modules.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\nexport default class UpdateDependenciesAction extends AbstractAction<OptionsSchema> {\n\tpublic code = 'updateDependencies'\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['update.dependencies', 'upgrade.dependencies']\n\tpublic invocationMessage = 'Updating dependencies... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\tconst files = ['package-lock.json', 'yarn.lock', 'node_modules']\n\n\t\tfor (const file of files) {\n\t\t\tdiskUtil.deleteFile(diskUtil.resolvePath(this.cwd, file))\n\t\t}\n\n\t\ttry {\n\t\t\tInFlightEntertainment.start(['Here we go!', 'Good luck!'])\n\n\t\t\tconst { totalDependencies, totalDevDependencies } =\n\t\t\t\tawait this.installDependencies()\n\n\t\t\treturn {\n\t\t\t\theadline: 'Update Complete!',\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t`${totalDependencies} dependencie${\n\t\t\t\t\t\ttotalDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t\t`${totalDevDependencies} dev dependencie${\n\t\t\t\t\t\ttotalDevDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t],\n\t\t\t}\n\t\t} finally {\n\t\t\tInFlightEntertainment.stop()\n\t\t}\n\t}\n\n\tprivate async installDependencies() {\n\t\tconst features = await this.featureInstaller.getInstalledFeatures()\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst pkgContents = pkg.readPackage()\n\n\t\tlet dependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.dependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tlet devDependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.devDependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tfor (const feature of features) {\n\t\t\tfor (const dep of feature.packageDependencies as NpmPackage[]) {\n\t\t\t\tconst stripped = pkg.stripLatest(dep.name)\n\t\t\t\tconst name = pkg.buildPackageName(dep)\n\t\t\t\tconst isDev =\n\t\t\t\t\t(dep.isDev || devDependencies.find((d) => d.stripped === stripped)) &&\n\t\t\t\t\t!dependencies.find((d) => d.stripped === stripped)\n\n\t\t\t\tif (isDev) {\n\t\t\t\t\tdevDependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tdependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdependencies = uniqBy(dependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\t\tdevDependencies = uniqBy(devDependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\n\t\tpkg.deleteLockFile()\n\n\t\tif (dependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${dependencies.length} dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tif (devDependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${devDependencies.length} dev dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdevDependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tisDev: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tpkg.deleteLockFile()\n\n\t\treturn {\n\t\t\ttotalDependencies: dependencies.length,\n\t\t\ttotalDevDependencies: devDependencies.length,\n\t\t}\n\t}\n\n\tpublic blockUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tcontent.push(name)\n\t\tpkg.set({ path: 'skill.upgradeIgnoreList', value: content })\n\t}\n\n\tpublic isBlockedFromUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tconst isBlocked = content.indexOf(name) > -1\n\t\treturn isBlocked\n\t}\n}\n"],"file":"UpdateDependenciesAction.js"}
1
+ {"version":3,"file":"UpdateDependenciesAction.js","names":["optionsSchema","id","description","fields","UpdateDependenciesAction","_options","files","file","diskUtil","deleteFile","resolvePath","cwd","InFlightEntertainment","start","installDependencies","totalDependencies","totalDevDependencies","headline","summaryLines","stop","featureInstaller","getInstalledFeatures","features","pkg","Service","pkgContents","readPackage","dependencies","Object","keys","map","d","stripped","name","devDependencies","feature","packageDependencies","dep","stripLatest","buildPackageName","isDev","find","unshift","filter","isBlockedFromUpgrade","deleteLockFile","length","writeStatus","install","shouldForceInstall","shouldCleanupLockFiles","content","get","push","set","path","value","isBlocked","indexOf","AbstractAction"],"sources":["../../../../src/features/node/actions/UpdateDependenciesAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { uniqBy } from 'lodash'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport PkgService from '../../../services/PkgService'\nimport { NpmPackage } from '../../../types/cli.types'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'updateDependenciesAction',\n\tdescription:\n\t\t'Clear lock files and node_modules and then reinstalls all modules.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\nexport default class UpdateDependenciesAction extends AbstractAction<OptionsSchema> {\n\tpublic code = 'updateDependencies'\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = ['update.dependencies', 'upgrade.dependencies']\n\tpublic invocationMessage = 'Updating dependencies... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\tconst files = ['package-lock.json', 'yarn.lock', 'node_modules']\n\n\t\tfor (const file of files) {\n\t\t\tdiskUtil.deleteFile(diskUtil.resolvePath(this.cwd, file))\n\t\t}\n\n\t\ttry {\n\t\t\tInFlightEntertainment.start(['Here we go!', 'Good luck!'])\n\n\t\t\tconst { totalDependencies, totalDevDependencies } =\n\t\t\t\tawait this.installDependencies()\n\n\t\t\treturn {\n\t\t\t\theadline: 'Update Complete!',\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t`${totalDependencies} dependencie${\n\t\t\t\t\t\ttotalDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t\t`${totalDevDependencies} dev dependencie${\n\t\t\t\t\t\ttotalDevDependencies === 1 ? '' : 's'\n\t\t\t\t\t} updated! 💪`,\n\t\t\t\t],\n\t\t\t}\n\t\t} finally {\n\t\t\tInFlightEntertainment.stop()\n\t\t}\n\t}\n\n\tprivate async installDependencies() {\n\t\tconst features = await this.featureInstaller.getInstalledFeatures()\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst pkgContents = pkg.readPackage()\n\n\t\tlet dependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.dependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tlet devDependencies: { stripped: string; name: string }[] =\n\t\t\tObject.keys(pkgContents.devDependencies ?? {}).map((d) => ({\n\t\t\t\tstripped: d,\n\t\t\t\tname: d,\n\t\t\t})) ?? []\n\n\t\tfor (const feature of features) {\n\t\t\tfor (const dep of feature.packageDependencies as NpmPackage[]) {\n\t\t\t\tconst stripped = pkg.stripLatest(dep.name)\n\t\t\t\tconst name = pkg.buildPackageName(dep)\n\t\t\t\tconst isDev =\n\t\t\t\t\t(dep.isDev || devDependencies.find((d) => d.stripped === stripped)) &&\n\t\t\t\t\t!dependencies.find((d) => d.stripped === stripped)\n\n\t\t\t\tif (isDev) {\n\t\t\t\t\tdevDependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tdependencies.unshift({\n\t\t\t\t\t\tstripped,\n\t\t\t\t\t\tname,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdependencies = uniqBy(dependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\t\tdevDependencies = uniqBy(devDependencies, 'stripped').filter(\n\t\t\t(d) => !this.isBlockedFromUpgrade(d.stripped, pkg)\n\t\t)\n\n\t\tpkg.deleteLockFile()\n\n\t\tif (dependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${dependencies.length} dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tif (devDependencies.length > 0) {\n\t\t\tInFlightEntertainment.writeStatus(\n\t\t\t\t`Installing ${devDependencies.length} dev dependenc${\n\t\t\t\t\tdependencies.length === 1 ? 'y' : 'ies'\n\t\t\t\t}.`\n\t\t\t)\n\t\t\tawait pkg.install(\n\t\t\t\tdevDependencies.map((d) => d.name),\n\t\t\t\t{\n\t\t\t\t\tshouldForceInstall: true,\n\t\t\t\t\tisDev: true,\n\t\t\t\t\tshouldCleanupLockFiles: false,\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\n\t\tpkg.deleteLockFile()\n\n\t\treturn {\n\t\t\ttotalDependencies: dependencies.length,\n\t\t\ttotalDevDependencies: devDependencies.length,\n\t\t}\n\t}\n\n\tpublic blockUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tcontent.push(name)\n\t\tpkg.set({ path: 'skill.upgradeIgnoreList', value: content })\n\t}\n\n\tpublic isBlockedFromUpgrade(name: string, pkg: PkgService) {\n\t\tconst content = pkg.get('skill.upgradeIgnoreList') ?? []\n\t\tconst isBlocked = content.indexOf(name) > -1\n\t\treturn isBlocked\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/node/actions/UpgradeAction.ts"],"names":["UpgradeAction","upgradeSkillActionSchema","options","normalizedOptions","validateAndNormalizeOptions","updateScripts","shouldConfirm","upgradeMode","Writer","writeNodeModule","cwd","shouldConfirmBeforeWriting","shouldWriteIndex","files","ui","clear","InFlightEntertainment","start","reInstallPackageDependencies","dependencyResults","actionUtil","mergeActionResults","headline","stop","renderHero","Action","execute","featureInstaller","getInstalledFeatures","features","scripts","feature","scriptUpdater","ScriptUpdater","FromFeature","parent","latestScripts","update","shouldConfirmIfScriptExistsButIsDifferent","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;IAOqBA,a;;;;;;;;;;;;;;;0GACO,4B;sGACJC,+B;uGACC,CAAC,SAAD,EAAY,QAAZ,C;;;;;;;mGAExB,iBAAqBC,OAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;AAAA;AAAA,uBAGO,KAAKG,aAAL,CAAmB;AACxBC,kBAAAA,aAAa,EAAEH,iBAAiB,CAACI,WAAlB,KAAkC;AADzB,iBAAnB,CAHP;;AAAA;AAAA;AAAA;AAAA,uBAQsB,KAAKC,MAAL,CAAY,MAAZ,EAAoB;AACvCD,kBAAAA,WAAW,EAAEJ,iBAAiB,CAACI;AADQ,iBAApB,EAEjBE,eAFiB,CAED,KAAKC,GAFJ,EAES;AAC5BC,kBAAAA,0BAA0B,EAAE,IADA;AAE5BC,kBAAAA,gBAAgB,EAAE;AAFU,iBAFT,CARtB;;AAAA;AAQQC,gBAAAA,KARR;AAeE,qBAAKC,EAAL,CAAQC,KAAR;;AACAC,kDAAsBC,KAAtB,CAA4B,CAC3B,0BAD2B,EAE3B,wDAF2B,EAG3B,QAH2B,CAA5B;;AAhBF;AAAA,uBAsBkC,KAAKC,4BAAL,EAtBlC;;AAAA;AAsBQC,gBAAAA,iBAtBR;AAAA,iDAwBSC,mBAAWC,kBAAX,CAA8BF,iBAA9B,EAAiD;AACvDG,kBAAAA,QAAQ,EAAE,SAD6C;AAEvDT,kBAAAA,KAAK,EAALA;AAFuD,iBAAjD,CAxBT;;AAAA;AAAA;;AA6BEG,kDAAsBO,IAAtB;;AACA,qBAAKT,EAAL,CAAQU,UAAR,CAAmB,SAAnB;AA9BF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAkCA;AAAA;AAAA;AAAA;AAAA;AAAA,kDACQ,KAAKC,MAAL,CAAY,MAAZ,EAAoB,oBAApB,EAA0CC,OAA1C,CAAkD,EAAlD,CADR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yGAIA,kBAA4BxB,OAA5B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACwB,KAAKyB,gBAAL,CAAsBC,oBAAtB,EADxB;;AAAA;AACOC,gBAAAA,QADP;AAGKC,gBAAAA,OAHL,GAGoC,EAHpC;AAAA,uDAKuBD,QALvB;;AAAA;AAKC,sEAAgC;AAArBE,oBAAAA,OAAqB;AAC/BD,oBAAAA,OAAO,mCACHA,OADG,GAEHC,OAAO,CAACD,OAFL,CAAP;AAIA;AAVF;AAAA;AAAA;AAAA;AAAA;;AAYOE,gBAAAA,aAZP,GAYuBC,0BAAcC,WAAd,CAA0B,KAAKC,MAA/B,EAAuC;AAC5DC,kBAAAA,aAAa,EAAEN;AAD6C,iBAAvC,CAZvB;AAAA;AAAA,uBAgBOE,aAAa,CAACK,MAAd,CAAqB;AAC1BC,kBAAAA,yCAAyC,EAAEpC,OAAO,CAACI;AADzB,iBAArB,CAhBP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA3C0CiC,2B","sourcesContent":["import { SchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport upgradeSkillActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport ScriptUpdater from '../../../updaters/ScriptUpdater'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class UpgradeAction extends AbstractAction<OptionsSchema> {\n\tpublic invocationMessage = 'Upgrading your skill... 💪'\n\tpublic optionsSchema = upgradeSkillActionSchema\n\tpublic commandAliases = ['upgrade', 'update']\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tawait this.updateScripts({\n\t\t\tshouldConfirm: normalizedOptions.upgradeMode !== 'forceEverything',\n\t\t})\n\n\t\ttry {\n\t\t\tconst files = await this.Writer('node', {\n\t\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t\t}).writeNodeModule(this.cwd, {\n\t\t\t\tshouldConfirmBeforeWriting: true,\n\t\t\t\tshouldWriteIndex: false,\n\t\t\t})\n\n\t\t\tthis.ui.clear()\n\t\t\tInFlightEntertainment.start([\n\t\t\t\t\"Let's start the upgrade!\",\n\t\t\t\t'While things are going, see if you can beat 1k points!',\n\t\t\t\t'Go!!!!',\n\t\t\t])\n\n\t\t\tconst dependencyResults = await this.reInstallPackageDependencies()\n\n\t\t\treturn actionUtil.mergeActionResults(dependencyResults, {\n\t\t\t\theadline: 'Upgrade',\n\t\t\t\tfiles,\n\t\t\t})\n\t\t} finally {\n\t\t\tInFlightEntertainment.stop()\n\t\t\tthis.ui.renderHero('Upgrade')\n\t\t}\n\t}\n\n\tprivate async reInstallPackageDependencies() {\n\t\treturn this.Action('node', 'updateDependencies').execute({})\n\t}\n\n\tprivate async updateScripts(options: { shouldConfirm: boolean }) {\n\t\tconst features = await this.featureInstaller.getInstalledFeatures()\n\n\t\tlet scripts: Record<string, any> = {}\n\n\t\tfor (const feature of features) {\n\t\t\tscripts = {\n\t\t\t\t...scripts,\n\t\t\t\t...feature.scripts,\n\t\t\t}\n\t\t}\n\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this.parent, {\n\t\t\tlatestScripts: scripts,\n\t\t})\n\n\t\tawait scriptUpdater.update({\n\t\t\tshouldConfirmIfScriptExistsButIsDifferent: options.shouldConfirm,\n\t\t})\n\t}\n}\n"],"file":"UpgradeAction.js"}
1
+ {"version":3,"file":"UpgradeAction.js","names":["UpgradeAction","upgradeSkillActionSchema","options","normalizedOptions","validateAndNormalizeOptions","updateScripts","shouldConfirm","upgradeMode","Writer","writeNodeModule","cwd","shouldConfirmBeforeWriting","shouldWriteIndex","files","ui","clear","InFlightEntertainment","start","reInstallPackageDependencies","dependencyResults","actionUtil","mergeActionResults","headline","stop","renderHero","Action","execute","featureInstaller","getInstalledFeatures","features","scripts","feature","scriptUpdater","ScriptUpdater","FromFeature","parent","latestScripts","update","shouldConfirmIfScriptExistsButIsDifferent","AbstractAction"],"sources":["../../../../src/features/node/actions/UpgradeAction.ts"],"sourcesContent":["import { SchemaValues } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport upgradeSkillActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema'\nimport InFlightEntertainment from '../../../InFlightEntertainment'\nimport ScriptUpdater from '../../../updaters/ScriptUpdater'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class UpgradeAction extends AbstractAction<OptionsSchema> {\n\tpublic invocationMessage = 'Upgrading your skill... 💪'\n\tpublic optionsSchema = upgradeSkillActionSchema\n\tpublic commandAliases = ['upgrade', 'update']\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst normalizedOptions = this.validateAndNormalizeOptions(options)\n\n\t\tawait this.updateScripts({\n\t\t\tshouldConfirm: normalizedOptions.upgradeMode !== 'forceEverything',\n\t\t})\n\n\t\ttry {\n\t\t\tconst files = await this.Writer('node', {\n\t\t\t\tupgradeMode: normalizedOptions.upgradeMode,\n\t\t\t}).writeNodeModule(this.cwd, {\n\t\t\t\tshouldConfirmBeforeWriting: true,\n\t\t\t\tshouldWriteIndex: false,\n\t\t\t})\n\n\t\t\tthis.ui.clear()\n\t\t\tInFlightEntertainment.start([\n\t\t\t\t\"Let's start the upgrade!\",\n\t\t\t\t'While things are going, see if you can beat 1k points!',\n\t\t\t\t'Go!!!!',\n\t\t\t])\n\n\t\t\tconst dependencyResults = await this.reInstallPackageDependencies()\n\n\t\t\treturn actionUtil.mergeActionResults(dependencyResults, {\n\t\t\t\theadline: 'Upgrade',\n\t\t\t\tfiles,\n\t\t\t})\n\t\t} finally {\n\t\t\tInFlightEntertainment.stop()\n\t\t\tthis.ui.renderHero('Upgrade')\n\t\t}\n\t}\n\n\tprivate async reInstallPackageDependencies() {\n\t\treturn this.Action('node', 'updateDependencies').execute({})\n\t}\n\n\tprivate async updateScripts(options: { shouldConfirm: boolean }) {\n\t\tconst features = await this.featureInstaller.getInstalledFeatures()\n\n\t\tlet scripts: Record<string, any> = {}\n\n\t\tfor (const feature of features) {\n\t\t\tscripts = {\n\t\t\t\t...scripts,\n\t\t\t\t...feature.scripts,\n\t\t\t}\n\t\t}\n\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this.parent, {\n\t\t\tlatestScripts: scripts,\n\t\t})\n\n\t\tawait scriptUpdater.update({\n\t\t\tshouldConfirmIfScriptExistsButIsDifferent: options.shouldConfirm,\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;IAOqBA,a;;;;;;;;;;;;;;;0GACO,4B;sGACJC,+B;uGACC,CAAC,SAAD,EAAY,QAAZ,C;;;;;;;mGAExB,iBAAqBC,OAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,iBADP,GAC2B,KAAKC,2BAAL,CAAiCF,OAAjC,CAD3B;gBAAA;gBAAA,OAGO,KAAKG,aAAL,CAAmB;kBACxBC,aAAa,EAAEH,iBAAiB,CAACI,WAAlB,KAAkC;gBADzB,CAAnB,CAHP;;cAAA;gBAAA;gBAAA;gBAAA,OAQsB,KAAKC,MAAL,CAAY,MAAZ,EAAoB;kBACvCD,WAAW,EAAEJ,iBAAiB,CAACI;gBADQ,CAApB,EAEjBE,eAFiB,CAED,KAAKC,GAFJ,EAES;kBAC5BC,0BAA0B,EAAE,IADA;kBAE5BC,gBAAgB,EAAE;gBAFU,CAFT,CARtB;;cAAA;gBAQQC,KARR;gBAeE,KAAKC,EAAL,CAAQC,KAAR;;gBACAC,kCAAsBC,KAAtB,CAA4B,CAC3B,0BAD2B,EAE3B,wDAF2B,EAG3B,QAH2B,CAA5B;;gBAhBF;gBAAA,OAsBkC,KAAKC,4BAAL,EAtBlC;;cAAA;gBAsBQC,iBAtBR;gBAAA,iCAwBSC,mBAAWC,kBAAX,CAA8BF,iBAA9B,EAAiD;kBACvDG,QAAQ,EAAE,SAD6C;kBAEvDT,KAAK,EAALA;gBAFuD,CAAjD,CAxBT;;cAAA;gBAAA;;gBA6BEG,kCAAsBO,IAAtB;;gBACA,KAAKT,EAAL,CAAQU,UAAR,CAAmB,SAAnB;gBA9BF;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wHAkCA;QAAA;UAAA;YAAA;cAAA;gBAAA,kCACQ,KAAKC,MAAL,CAAY,MAAZ,EAAoB,oBAApB,EAA0CC,OAA1C,CAAkD,EAAlD,CADR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yGAIA,kBAA4BxB,OAA5B;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACwB,KAAKyB,gBAAL,CAAsBC,oBAAtB,EADxB;;cAAA;gBACOC,QADP;gBAGKC,OAHL,GAGoC,EAHpC;gBAAA,uCAKuBD,QALvB;;gBAAA;kBAKC,oDAAgC;oBAArBE,OAAqB;oBAC/BD,OAAO,mCACHA,OADG,GAEHC,OAAO,CAACD,OAFL,CAAP;kBAIA;gBAVF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAYOE,aAZP,GAYuBC,0BAAcC,WAAd,CAA0B,KAAKC,MAA/B,EAAuC;kBAC5DC,aAAa,EAAEN;gBAD6C,CAAvC,CAZvB;gBAAA;gBAAA,OAgBOE,aAAa,CAACK,MAAd,CAAqB;kBAC1BC,yCAAyC,EAAEpC,OAAO,CAACI;gBADzB,CAArB,CAhBP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA3C0CiC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/node/writers/NodeWriter.ts"],"names":["NODE_FILES_TO_UPGRADE","NodeWriter","destinationDir","options","files","shouldWriteIndex","contents","destination","diskUtil","resolvePath","writeFile","push","name","description","action","path","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","filesToWrite","context","directoryTemplateFiles","AbstractWriter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;AAKO,IAAMA,qBAAqB,GAAG,CACpC,eADoC,EAEpC,cAFoC,EAGpC,eAHoC,EAIpC,YAJoC,EAKpC,QALoC,CAA9B;;;IAOcC,U;;;;;;;;;;;;;2GACpB,iBACCC,cADD,EAECC,OAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAMKC,gBAAAA,KANL,GAM8B,EAN9B;;AAOC,oBAAI,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEE,gBAAT,MAA8B,KAAlC,EAAyC;AAClCC,kBAAAA,QADkC,GACvB,qBADuB;AAElCC,kBAAAA,WAFkC,GAEpBC,2BAASC,WAAT,CACnBP,cADmB,EAEnB,KAFmB,EAGnB,UAHmB,CAFoB;;AAOxCM,6CAASE,SAAT,CAAmBH,WAAnB,EAAgCD,QAAhC;;AACAF,kBAAAA,KAAK,CAACO,IAAN,CAAW;AACVC,oBAAAA,IAAI,EAAE,cADI;AAEVC,oBAAAA,WAAW,EAAE,yBAFH;AAGVC,oBAAAA,MAAM,EAAE,WAHE;AAIVC,oBAAAA,IAAI,EAAER;AAJI,mBAAX;AAMA;;AArBF;AAAA,uBAuBsC,KAAKS,sBAAL;AACpCd,kBAAAA,cAAc,EAAdA,cADoC;AAEpCe,kBAAAA,IAAI,EAAEC,uCAAsBC,KAFQ;AAGpCC,kBAAAA,YAAY,EAAEpB,qBAHsB;AAIpCqB,kBAAAA,OAAO,EAAE;AAAET,oBAAAA,IAAI,EAAE,SAAR;AAAmBC,oBAAAA,WAAW,EAAE;AAAhC;AAJ2B,mBAKjCV,OALiC,EAvBtC;;AAAA;AAuBOmB,gBAAAA,sBAvBP;AAAA,2DA+BYlB,KA/BZ,sCA+BsBkB,sBA/BtB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EADuCC,2B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { DirectoryTemplateCode } from '@sprucelabs/spruce-templates'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter, {\n\tWriteDirectoryTemplateOptions,\n\tWriteResults,\n} from '../../../writers/AbstractWriter'\n\nexport const NODE_FILES_TO_UPGRADE = [\n\t'tsconfig.json',\n\t'.eslintrc.js',\n\t'.eslintignore',\n\t'.gitignore',\n\t'.nvmrc',\n]\nexport default class NodeWriter extends AbstractWriter {\n\tpublic async writeNodeModule(\n\t\tdestinationDir: string,\n\t\toptions?: Partial<WriteDirectoryTemplateOptions> & {\n\t\t\tshouldWriteIndex?: boolean\n\t\t}\n\t): Promise<WriteResults> {\n\t\tlet files: GeneratedFile[] = []\n\t\tif (options?.shouldWriteIndex !== false) {\n\t\t\tconst contents = '//exports go here\\n'\n\t\t\tconst destination = diskUtil.resolvePath(\n\t\t\t\tdestinationDir,\n\t\t\t\t'src',\n\t\t\t\t'index.ts'\n\t\t\t)\n\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\tfiles.push({\n\t\t\t\tname: 'src/index.ts',\n\t\t\t\tdescription: 'Placeholder entry file!',\n\t\t\t\taction: 'generated',\n\t\t\t\tpath: destination,\n\t\t\t})\n\t\t}\n\n\t\tconst directoryTemplateFiles = await this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToWrite: NODE_FILES_TO_UPGRADE,\n\t\t\tcontext: { name: 'ignored', description: 'ignored' },\n\t\t\t...options,\n\t\t})\n\n\t\treturn [...files, ...directoryTemplateFiles]\n\t}\n}\n"],"file":"NodeWriter.js"}
1
+ {"version":3,"file":"NodeWriter.js","names":["NODE_FILES_TO_UPGRADE","NodeWriter","destinationDir","options","files","shouldWriteIndex","contents","destination","diskUtil","resolvePath","writeFile","push","name","description","action","path","writeDirectoryTemplate","code","DirectoryTemplateCode","Skill","filesToWrite","context","directoryTemplateFiles","AbstractWriter"],"sources":["../../../../src/features/node/writers/NodeWriter.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { DirectoryTemplateCode } from '@sprucelabs/spruce-templates'\nimport { GeneratedFile } from '../../../types/cli.types'\nimport AbstractWriter, {\n\tWriteDirectoryTemplateOptions,\n\tWriteResults,\n} from '../../../writers/AbstractWriter'\n\nexport const NODE_FILES_TO_UPGRADE = [\n\t'tsconfig.json',\n\t'.eslintrc.js',\n\t'.eslintignore',\n\t'.gitignore',\n\t'.nvmrc',\n]\nexport default class NodeWriter extends AbstractWriter {\n\tpublic async writeNodeModule(\n\t\tdestinationDir: string,\n\t\toptions?: Partial<WriteDirectoryTemplateOptions> & {\n\t\t\tshouldWriteIndex?: boolean\n\t\t}\n\t): Promise<WriteResults> {\n\t\tlet files: GeneratedFile[] = []\n\t\tif (options?.shouldWriteIndex !== false) {\n\t\t\tconst contents = '//exports go here\\n'\n\t\t\tconst destination = diskUtil.resolvePath(\n\t\t\t\tdestinationDir,\n\t\t\t\t'src',\n\t\t\t\t'index.ts'\n\t\t\t)\n\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\tfiles.push({\n\t\t\t\tname: 'src/index.ts',\n\t\t\t\tdescription: 'Placeholder entry file!',\n\t\t\t\taction: 'generated',\n\t\t\t\tpath: destination,\n\t\t\t})\n\t\t}\n\n\t\tconst directoryTemplateFiles = await this.writeDirectoryTemplate({\n\t\t\tdestinationDir,\n\t\t\tcode: DirectoryTemplateCode.Skill,\n\t\t\tfilesToWrite: NODE_FILES_TO_UPGRADE,\n\t\t\tcontext: { name: 'ignored', description: 'ignored' },\n\t\t\t...options,\n\t\t})\n\n\t\treturn [...files, ...directoryTemplateFiles]\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;;AAKO,IAAMA,qBAAqB,GAAG,CACpC,eADoC,EAEpC,cAFoC,EAGpC,eAHoC,EAIpC,YAJoC,EAKpC,QALoC,CAA9B;;;IAOcC,U;;;;;;;;;;;;;2GACpB,iBACCC,cADD,EAECC,OAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAMKC,KANL,GAM8B,EAN9B;;gBAOC,IAAI,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEE,gBAAT,MAA8B,KAAlC,EAAyC;kBAClCC,QADkC,GACvB,qBADuB;kBAElCC,WAFkC,GAEpBC,2BAASC,WAAT,CACnBP,cADmB,EAEnB,KAFmB,EAGnB,UAHmB,CAFoB;;kBAOxCM,2BAASE,SAAT,CAAmBH,WAAnB,EAAgCD,QAAhC;;kBACAF,KAAK,CAACO,IAAN,CAAW;oBACVC,IAAI,EAAE,cADI;oBAEVC,WAAW,EAAE,yBAFH;oBAGVC,MAAM,EAAE,WAHE;oBAIVC,IAAI,EAAER;kBAJI,CAAX;gBAMA;;gBArBF;gBAAA,OAuBsC,KAAKS,sBAAL;kBACpCd,cAAc,EAAdA,cADoC;kBAEpCe,IAAI,EAAEC,uCAAsBC,KAFQ;kBAGpCC,YAAY,EAAEpB,qBAHsB;kBAIpCqB,OAAO,EAAE;oBAAET,IAAI,EAAE,SAAR;oBAAmBC,WAAW,EAAE;kBAAhC;gBAJ2B,GAKjCV,OALiC,EAvBtC;;cAAA;gBAuBOmB,sBAvBP;gBAAA,2CA+BYlB,KA/BZ,sCA+BsBkB,sBA/BtB;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EADuCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/onboard/OnboardFeature.ts"],"names":["OnboardFeature","options","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecuteCommand","bind","handleTestReporterDidBoot","onboardingStore","Store","store","OnboardingStore","ScriptLoader","LoadScripts","ui","dir","scriptsDir","commandExecuter","_command","Error","player","payload","onboarding","getMode","command","generateCommandFromPayload","confirmExpectedCommand","isExpectedCommand","ScriptPlayer","playScriptWithKey","source","contents","readFile","destination","cwd","createTestOptionsSchema","fields","testDestinationDir","defaultValue","writeFile","reset","featuresUtil","generateCommand","featureCode","actionCode","stage","getStage","AbstractFeature"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport createTestOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport featuresUtil from '../feature.utilities'\nimport { FeatureCode } from '../features.types'\nimport ScriptLoader from './ScriptLoader'\nimport OnboardingStore from './stores/OnboardingStore'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tonboard: OnboardFeature\n\t}\n}\n\nexport default class OnboardFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'onboard'\n\tpublic nameReadable = 'Onboard'\n\tpublic description = 'Get building your first skill already!'\n\tpublic dependencies: FeatureDependency[] = []\n\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tprivate onboardingStore?: OnboardingStore\n\tprivate scriptsDir = diskUtil.resolvePath(__dirname, 'scripts')\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.handleWillExecuteCommand.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.reporter-did-boot',\n\t\t\tthis.handleTestReporterDidBoot.bind(this)\n\t\t)\n\t}\n\n\tpublic OnboardingStore() {\n\t\tif (!this.onboardingStore) {\n\t\t\tthis.onboardingStore = this.Store('onboarding')\n\t\t}\n\t\treturn this.onboardingStore\n\t}\n\n\tpublic async ScriptPlayer() {\n\t\tconst store = this.OnboardingStore()\n\n\t\tconst player = await ScriptLoader.LoadScripts({\n\t\t\tui: this.ui,\n\t\t\tdir: this.scriptsDir,\n\t\t\tonboardingStore: store,\n\t\t\tcommandExecuter: async (_command: string) => {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"I can't run commands for you yet, but will be able to soon. For now run `\" +\n\t\t\t\t\t\t_command +\n\t\t\t\t\t\t'` manually.'\n\t\t\t\t)\n\t\t\t},\n\t\t})\n\n\t\treturn player\n\t}\n\n\tprivate async handleWillExecuteCommand(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst onboarding = this.Store('onboarding')\n\n\t\tif (onboarding.getMode() !== 'off') {\n\t\t\tconst command = this.generateCommandFromPayload(payload)\n\t\t\tawait this.confirmExpectedCommand(payload, onboarding)\n\n\t\t\tif (\n\t\t\t\tonboarding.getMode() !== 'off' &&\n\t\t\t\tthis.isExpectedCommand(command, onboarding)\n\t\t\t) {\n\t\t\t\tconst player = await this.ScriptPlayer()\n\t\t\t\tawait player.playScriptWithKey(`todo.${command}`)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleTestReporterDidBoot() {\n\t\tconst onboarding = this.Store('onboarding')\n\n\t\tif (onboarding.getMode() !== 'off') {\n\t\t\tconst source = diskUtil.resolvePath(\n\t\t\t\t__dirname,\n\t\t\t\t'templates',\n\t\t\t\t'ManagingTodos.test.ts.hbs'\n\t\t\t)\n\n\t\t\tconst contents = diskUtil.readFile(source)\n\n\t\t\tconst destination = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tcreateTestOptionsSchema.fields.testDestinationDir.defaultValue,\n\t\t\t\t'behavioral',\n\t\t\t\t'ManagingTodos.test.ts'\n\t\t\t)\n\n\t\t\tdiskUtil.writeFile(destination, contents)\n\n\t\t\tthis.Store('onboarding').reset()\n\t\t}\n\t}\n\n\tprivate generateCommandFromPayload(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\treturn featuresUtil.generateCommand(payload.featureCode, payload.actionCode)\n\t}\n\n\tpublic isInstalled = async (): Promise<boolean> => {\n\t\treturn true\n\t}\n\n\tprivate async confirmExpectedCommand(\n\t\tpayload: { featureCode: string; actionCode: string },\n\t\tstore: OnboardingStore\n\t) {\n\t\tconst command = this.generateCommandFromPayload(payload)\n\t\tconst isExpectedCommand = this.isExpectedCommand(command, store)\n\n\t\tif (\n\t\t\tcommand !== 'setup.vscode' &&\n\t\t\tpayload.featureCode !== 'onboard' &&\n\t\t\t!isExpectedCommand\n\t\t) {\n\t\t\tconst player = await this.ScriptPlayer()\n\t\t\tawait player.playScriptWithKey('wrongCommand')\n\t\t}\n\t}\n\n\tprivate isExpectedCommand(command: string, store: OnboardingStore) {\n\t\tconst stage = store.getStage()\n\n\t\tconst isExpectedCommand = command === stage\n\t\treturn isExpectedCommand\n\t}\n}\n"],"file":"OnboardFeature.js"}
1
+ {"version":3,"file":"OnboardFeature.js","names":["OnboardFeature","options","diskUtil","resolvePath","__dirname","emitter","on","handleWillExecuteCommand","bind","handleTestReporterDidBoot","onboardingStore","Store","store","OnboardingStore","ScriptLoader","LoadScripts","ui","dir","scriptsDir","commandExecuter","_command","Error","player","payload","onboarding","getMode","command","generateCommandFromPayload","confirmExpectedCommand","isExpectedCommand","ScriptPlayer","playScriptWithKey","source","contents","readFile","destination","cwd","createTestOptionsSchema","fields","testDestinationDir","defaultValue","writeFile","reset","featuresUtil","generateCommand","featureCode","actionCode","stage","getStage","AbstractFeature"],"sources":["../../../src/features/onboard/OnboardFeature.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport createTestOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema'\nimport AbstractFeature, {\n\tFeatureDependency,\n\tFeatureOptions,\n} from '../AbstractFeature'\nimport featuresUtil from '../feature.utilities'\nimport { FeatureCode } from '../features.types'\nimport ScriptLoader from './ScriptLoader'\nimport OnboardingStore from './stores/OnboardingStore'\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tonboard: OnboardFeature\n\t}\n}\n\nexport default class OnboardFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'onboard'\n\tpublic nameReadable = 'Onboard'\n\tpublic description = 'Get building your first skill already!'\n\tpublic dependencies: FeatureDependency[] = []\n\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\n\tprivate onboardingStore?: OnboardingStore\n\tprivate scriptsDir = diskUtil.resolvePath(__dirname, 'scripts')\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.handleWillExecuteCommand.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'test.reporter-did-boot',\n\t\t\tthis.handleTestReporterDidBoot.bind(this)\n\t\t)\n\t}\n\n\tpublic OnboardingStore() {\n\t\tif (!this.onboardingStore) {\n\t\t\tthis.onboardingStore = this.Store('onboarding')\n\t\t}\n\t\treturn this.onboardingStore\n\t}\n\n\tpublic async ScriptPlayer() {\n\t\tconst store = this.OnboardingStore()\n\n\t\tconst player = await ScriptLoader.LoadScripts({\n\t\t\tui: this.ui,\n\t\t\tdir: this.scriptsDir,\n\t\t\tonboardingStore: store,\n\t\t\tcommandExecuter: async (_command: string) => {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"I can't run commands for you yet, but will be able to soon. For now run `\" +\n\t\t\t\t\t\t_command +\n\t\t\t\t\t\t'` manually.'\n\t\t\t\t)\n\t\t\t},\n\t\t})\n\n\t\treturn player\n\t}\n\n\tprivate async handleWillExecuteCommand(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\tconst onboarding = this.Store('onboarding')\n\n\t\tif (onboarding.getMode() !== 'off') {\n\t\t\tconst command = this.generateCommandFromPayload(payload)\n\t\t\tawait this.confirmExpectedCommand(payload, onboarding)\n\n\t\t\tif (\n\t\t\t\tonboarding.getMode() !== 'off' &&\n\t\t\t\tthis.isExpectedCommand(command, onboarding)\n\t\t\t) {\n\t\t\t\tconst player = await this.ScriptPlayer()\n\t\t\t\tawait player.playScriptWithKey(`todo.${command}`)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleTestReporterDidBoot() {\n\t\tconst onboarding = this.Store('onboarding')\n\n\t\tif (onboarding.getMode() !== 'off') {\n\t\t\tconst source = diskUtil.resolvePath(\n\t\t\t\t__dirname,\n\t\t\t\t'templates',\n\t\t\t\t'ManagingTodos.test.ts.hbs'\n\t\t\t)\n\n\t\t\tconst contents = diskUtil.readFile(source)\n\n\t\t\tconst destination = diskUtil.resolvePath(\n\t\t\t\tthis.cwd,\n\t\t\t\tcreateTestOptionsSchema.fields.testDestinationDir.defaultValue,\n\t\t\t\t'behavioral',\n\t\t\t\t'ManagingTodos.test.ts'\n\t\t\t)\n\n\t\t\tdiskUtil.writeFile(destination, contents)\n\n\t\t\tthis.Store('onboarding').reset()\n\t\t}\n\t}\n\n\tprivate generateCommandFromPayload(payload: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t}) {\n\t\treturn featuresUtil.generateCommand(payload.featureCode, payload.actionCode)\n\t}\n\n\tpublic isInstalled = async (): Promise<boolean> => {\n\t\treturn true\n\t}\n\n\tprivate async confirmExpectedCommand(\n\t\tpayload: { featureCode: string; actionCode: string },\n\t\tstore: OnboardingStore\n\t) {\n\t\tconst command = this.generateCommandFromPayload(payload)\n\t\tconst isExpectedCommand = this.isExpectedCommand(command, store)\n\n\t\tif (\n\t\t\tcommand !== 'setup.vscode' &&\n\t\t\tpayload.featureCode !== 'onboard' &&\n\t\t\t!isExpectedCommand\n\t\t) {\n\t\t\tconst player = await this.ScriptPlayer()\n\t\t\tawait player.playScriptWithKey('wrongCommand')\n\t\t}\n\t}\n\n\tprivate isExpectedCommand(command: string, store: OnboardingStore) {\n\t\tconst stage = store.getStage()\n\n\t\tconst isExpectedCommand = command === stage\n\t\treturn isExpectedCommand\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/onboard/ScriptLoader.ts"],"names":["ScriptLoader","options","player","ScriptPlayer","ui","onboardingStore","commandExecuter","dir","scripts","file","name","pathUtil","basename","search","extname","key","replace","script","require","loadScript"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;IAGqBA,Y;;;;;;;;uGACpB,iBAAgCC,OAAhC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAMOC,gBAAAA,MANP,GAMgB,IAAIC,wBAAJ,CAAiB;AAC/BC,kBAAAA,EAAE,EAAEH,OAAO,CAACG,EADmB;AAE/BC,kBAAAA,eAAe,EAAEJ,OAAO,CAACI,eAFM;AAG/BC,kBAAAA,eAAe,EAAEL,OAAO,CAACK;AAHM,iBAAjB,CANhB;AAAA;AAAA,uBAYuB,wBAAOL,OAAO,CAACM,GAAR,GAAc,iBAArB,CAZvB;;AAAA;AAYOC,gBAAAA,OAZP;AAAA,uDAcoBA,OAdpB;;AAAA;AAcC,sEAA4B;AAAjBC,oBAAAA,IAAiB;AACrBC,oBAAAA,IADqB,GACdC,iBAASC,QAAT,CAAkBH,IAAlB,CADc;AAErBI,oBAAAA,MAFqB,GAEZ,YAAYF,iBAASG,OAAT,CAAiBJ,IAAjB,CAFA;AAGrBK,oBAAAA,GAHqB,GAGfL,IAAI,CAACM,OAAL,CAAaH,MAAb,EAAqB,EAArB,CAHe;AAIrBI,oBAAAA,MAJqB,GAIZC,OAAO,CAACT,IAAD,CAAP,WAJY;AAM3BP,oBAAAA,MAAM,CAACiB,UAAP,CAAkBJ,GAAlB,EAAuBE,MAAvB;AACA;AArBF;AAAA;AAAA;AAAA;AAAA;;AAAA,iDAuBQf,MAvBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["import pathUtil from 'path'\nimport globby from 'globby'\nimport { GraphicsInterface } from '../../types/cli.types'\nimport ScriptPlayer, { CommandExecuter } from './ScriptPlayer'\nimport OnboardingStore from './stores/OnboardingStore'\n\nexport default class ScriptLoader {\n\tpublic static async LoadScripts(options: {\n\t\tdir: string\n\t\tui: GraphicsInterface\n\t\tonboardingStore: OnboardingStore\n\t\tcommandExecuter: CommandExecuter\n\t}) {\n\t\tconst player = new ScriptPlayer({\n\t\t\tui: options.ui,\n\t\t\tonboardingStore: options.onboardingStore,\n\t\t\tcommandExecuter: options.commandExecuter,\n\t\t})\n\n\t\tconst scripts = await globby(options.dir + '/**/*.script.js')\n\n\t\tfor (const file of scripts) {\n\t\t\tconst name = pathUtil.basename(file)\n\t\t\tconst search = '.script' + pathUtil.extname(name)\n\t\t\tconst key = name.replace(search, '')\n\t\t\tconst script = require(file).default\n\n\t\t\tplayer.loadScript(key, script)\n\t\t}\n\n\t\treturn player\n\t}\n}\n"],"file":"ScriptLoader.js"}
1
+ {"version":3,"file":"ScriptLoader.js","names":["ScriptLoader","options","player","ScriptPlayer","ui","onboardingStore","commandExecuter","dir","scripts","file","name","pathUtil","basename","search","extname","key","replace","script","require","loadScript"],"sources":["../../../src/features/onboard/ScriptLoader.ts"],"sourcesContent":["import pathUtil from 'path'\nimport globby from 'globby'\nimport { GraphicsInterface } from '../../types/cli.types'\nimport ScriptPlayer, { CommandExecuter } from './ScriptPlayer'\nimport OnboardingStore from './stores/OnboardingStore'\n\nexport default class ScriptLoader {\n\tpublic static async LoadScripts(options: {\n\t\tdir: string\n\t\tui: GraphicsInterface\n\t\tonboardingStore: OnboardingStore\n\t\tcommandExecuter: CommandExecuter\n\t}) {\n\t\tconst player = new ScriptPlayer({\n\t\t\tui: options.ui,\n\t\t\tonboardingStore: options.onboardingStore,\n\t\t\tcommandExecuter: options.commandExecuter,\n\t\t})\n\n\t\tconst scripts = await globby(options.dir + '/**/*.script.js')\n\n\t\tfor (const file of scripts) {\n\t\t\tconst name = pathUtil.basename(file)\n\t\t\tconst search = '.script' + pathUtil.extname(name)\n\t\t\tconst key = name.replace(search, '')\n\t\t\tconst script = require(file).default\n\n\t\t\tplayer.loadScript(key, script)\n\t\t}\n\n\t\treturn player\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;IAGqBA,Y;;;;;;;;uGACpB,iBAAgCC,OAAhC;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAMOC,MANP,GAMgB,IAAIC,wBAAJ,CAAiB;kBAC/BC,EAAE,EAAEH,OAAO,CAACG,EADmB;kBAE/BC,eAAe,EAAEJ,OAAO,CAACI,eAFM;kBAG/BC,eAAe,EAAEL,OAAO,CAACK;gBAHM,CAAjB,CANhB;gBAAA;gBAAA,OAYuB,wBAAOL,OAAO,CAACM,GAAR,GAAc,iBAArB,CAZvB;;cAAA;gBAYOC,OAZP;gBAAA,uCAcoBA,OAdpB;;gBAAA;kBAcC,oDAA4B;oBAAjBC,IAAiB;oBACrBC,IADqB,GACdC,iBAASC,QAAT,CAAkBH,IAAlB,CADc;oBAErBI,MAFqB,GAEZ,YAAYF,iBAASG,OAAT,CAAiBJ,IAAjB,CAFA;oBAGrBK,GAHqB,GAGfL,IAAI,CAACM,OAAL,CAAaH,MAAb,EAAqB,EAArB,CAHe;oBAIrBI,MAJqB,GAIZC,OAAO,CAACT,IAAD,CAAP,WAJY;oBAM3BP,MAAM,CAACiB,UAAP,CAAkBJ,GAAlB,EAAuBE,MAAvB;kBACA;gBArBF;kBAAA;gBAAA;kBAAA;gBAAA;;gBAAA,iCAuBQf,MAvBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/onboard/ScriptPlayer.ts"],"names":["ScriptPlayer","options","ui","onboardingStore","commandExecuter","key","script","scriptsByKey","Error","playScript","item","possibleRedirect","isRedirect","renderLine","buildCallbackOptions","r","redirectAndPlay","redirect","executeCommand","destination","extractDestination","playScriptWithKey","split","pop","substr","toScriptKey"],"mappings":"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","sourcesContent":["import { GraphicsInterface } from '../../types/cli.types'\nimport OnboardingStore from './stores/OnboardingStore'\n\nexport type Script = ScriptItem[]\ntype ScriptItem = string | ScriptItemCallback\ntype ScriptRedirect = string\ninterface ScriptItemCallback {\n\t(player: CallbackPlayer):\n\t\t| Promise<void | ScriptRedirect>\n\t\t| void\n\t\t| ScriptRedirect\n}\n\nexport interface CallbackPlayer {\n\tui: GraphicsInterface\n\tredirect(toScriptKey: string): ScriptRedirect\n\tonboardingStore: OnboardingStore\n\texecuteCommand: CommandExecuter\n}\n\nexport type CommandExecuter = (command: string) => Promise<void>\n\nexport default class ScriptPlayer {\n\tprivate ui: GraphicsInterface\n\tprivate scriptsByKey: Record<string, Script> = {}\n\tprivate onboardingStore: OnboardingStore\n\n\tprivate commandExecuter: CommandExecuter\n\n\tpublic constructor(options: {\n\t\tui: GraphicsInterface\n\t\tonboardingStore: OnboardingStore\n\t\tcommandExecuter: CommandExecuter\n\t}) {\n\t\tthis.ui = options.ui\n\t\tthis.onboardingStore = options.onboardingStore\n\t\tthis.commandExecuter = options.commandExecuter\n\t}\n\n\tpublic async playScriptWithKey(key: string) {\n\t\tconst script = this.scriptsByKey[key]\n\n\t\tif (!script) {\n\t\t\tthrow new Error(`Onboarding script '${key}' not found.`)\n\t\t}\n\n\t\tawait this.playScript(script)\n\t}\n\n\tpublic loadScript(key: string, script: Script) {\n\t\tthis.scriptsByKey[key] = script\n\t}\n\n\tpublic async playScript(script: Script) {\n\t\tfor (let item of script) {\n\t\t\tlet possibleRedirect: ScriptRedirect | undefined\n\t\t\tswitch (typeof item) {\n\t\t\t\tcase 'string':\n\t\t\t\t\tif (this.isRedirect(item)) {\n\t\t\t\t\t\tpossibleRedirect = item\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.ui.renderLine(item)\n\t\t\t\t\t\tthis.ui.renderLine('')\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'function': {\n\t\t\t\t\tconst r = await item(this.buildCallbackOptions())\n\t\t\t\t\tif (r) {\n\t\t\t\t\t\tpossibleRedirect = r\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tpossibleRedirect = item\n\t\t\t}\n\n\t\t\tif (this.isRedirect(possibleRedirect)) {\n\t\t\t\tawait this.redirectAndPlay(possibleRedirect)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate buildCallbackOptions(): CallbackPlayer {\n\t\treturn {\n\t\t\tui: this.ui,\n\t\t\tredirect: ScriptPlayer.redirect,\n\t\t\tonboardingStore: this.onboardingStore,\n\t\t\texecuteCommand: this.commandExecuter,\n\t\t}\n\t}\n\n\tprivate async redirectAndPlay(possibleRedirect: string) {\n\t\tconst destination = this.extractDestination(possibleRedirect)\n\t\tif (destination) {\n\t\t\tawait this.playScriptWithKey(destination)\n\t\t}\n\t}\n\n\tpublic static redirect(toScriptKey: string) {\n\t\treturn `redirect->${toScriptKey}`\n\t}\n\n\tprivate extractDestination(possibleRedirect: string) {\n\t\treturn possibleRedirect.split('->').pop()\n\t}\n\n\tprivate isRedirect(item: string | undefined): item is string {\n\t\treturn !!(item && item.substr(0, 10) === 'redirect->')\n\t}\n}\n"],"file":"ScriptPlayer.js"}
1
+ {"version":3,"file":"ScriptPlayer.js","names":["ScriptPlayer","options","ui","onboardingStore","commandExecuter","key","script","scriptsByKey","Error","playScript","item","possibleRedirect","isRedirect","renderLine","buildCallbackOptions","r","redirectAndPlay","redirect","executeCommand","destination","extractDestination","playScriptWithKey","split","pop","substr","toScriptKey"],"sources":["../../../src/features/onboard/ScriptPlayer.ts"],"sourcesContent":["import { GraphicsInterface } from '../../types/cli.types'\nimport OnboardingStore from './stores/OnboardingStore'\n\nexport type Script = ScriptItem[]\ntype ScriptItem = string | ScriptItemCallback\ntype ScriptRedirect = string\ninterface ScriptItemCallback {\n\t(player: CallbackPlayer):\n\t\t| Promise<void | ScriptRedirect>\n\t\t| void\n\t\t| ScriptRedirect\n}\n\nexport interface CallbackPlayer {\n\tui: GraphicsInterface\n\tredirect(toScriptKey: string): ScriptRedirect\n\tonboardingStore: OnboardingStore\n\texecuteCommand: CommandExecuter\n}\n\nexport type CommandExecuter = (command: string) => Promise<void>\n\nexport default class ScriptPlayer {\n\tprivate ui: GraphicsInterface\n\tprivate scriptsByKey: Record<string, Script> = {}\n\tprivate onboardingStore: OnboardingStore\n\n\tprivate commandExecuter: CommandExecuter\n\n\tpublic constructor(options: {\n\t\tui: GraphicsInterface\n\t\tonboardingStore: OnboardingStore\n\t\tcommandExecuter: CommandExecuter\n\t}) {\n\t\tthis.ui = options.ui\n\t\tthis.onboardingStore = options.onboardingStore\n\t\tthis.commandExecuter = options.commandExecuter\n\t}\n\n\tpublic async playScriptWithKey(key: string) {\n\t\tconst script = this.scriptsByKey[key]\n\n\t\tif (!script) {\n\t\t\tthrow new Error(`Onboarding script '${key}' not found.`)\n\t\t}\n\n\t\tawait this.playScript(script)\n\t}\n\n\tpublic loadScript(key: string, script: Script) {\n\t\tthis.scriptsByKey[key] = script\n\t}\n\n\tpublic async playScript(script: Script) {\n\t\tfor (let item of script) {\n\t\t\tlet possibleRedirect: ScriptRedirect | undefined\n\t\t\tswitch (typeof item) {\n\t\t\t\tcase 'string':\n\t\t\t\t\tif (this.isRedirect(item)) {\n\t\t\t\t\t\tpossibleRedirect = item\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.ui.renderLine(item)\n\t\t\t\t\t\tthis.ui.renderLine('')\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'function': {\n\t\t\t\t\tconst r = await item(this.buildCallbackOptions())\n\t\t\t\t\tif (r) {\n\t\t\t\t\t\tpossibleRedirect = r\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tpossibleRedirect = item\n\t\t\t}\n\n\t\t\tif (this.isRedirect(possibleRedirect)) {\n\t\t\t\tawait this.redirectAndPlay(possibleRedirect)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate buildCallbackOptions(): CallbackPlayer {\n\t\treturn {\n\t\t\tui: this.ui,\n\t\t\tredirect: ScriptPlayer.redirect,\n\t\t\tonboardingStore: this.onboardingStore,\n\t\t\texecuteCommand: this.commandExecuter,\n\t\t}\n\t}\n\n\tprivate async redirectAndPlay(possibleRedirect: string) {\n\t\tconst destination = this.extractDestination(possibleRedirect)\n\t\tif (destination) {\n\t\t\tawait this.playScriptWithKey(destination)\n\t\t}\n\t}\n\n\tpublic static redirect(toScriptKey: string) {\n\t\treturn `redirect->${toScriptKey}`\n\t}\n\n\tprivate extractDestination(possibleRedirect: string) {\n\t\treturn possibleRedirect.split('->').pop()\n\t}\n\n\tprivate isRedirect(item: string | undefined): item is string {\n\t\treturn !!(item && item.substr(0, 10) === 'redirect->')\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/actions/OnboardAction.ts"],"names":["ListenAction","onboardActionSchema","_options","store","getParent","OnboardingStore","mode","getMode","response","ScriptPlayer","player","playScriptWithKey","stage","getStage","headline","summaryLines","parent","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IAMqBA,Y;;;;;;;;;;;;;;;sGACkBC,0B;0GACX,kB;;;;;;;mGAE3B,iBAAqBC,QAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACOC,gBAAAA,KADP,GACe,KAAKC,SAAL,GAAiBC,eAAjB,EADf;AAEOC,gBAAAA,IAFP,GAEcH,KAAK,CAACI,OAAN,EAFd;AAGKC,gBAAAA,QAHL,GAGgB,EAHhB;AAAA;AAAA,uBAKsB,KAAKJ,SAAL,GAAiBK,YAAjB,EALtB;;AAAA;AAKOC,gBAAAA,MALP;AAAA,8BAOSJ,IAPT;AAAA,gDAQO,OARP,uBASO,WATP;AAAA;;AAAA;AAAA;AAAA,uBAUSI,MAAM,CAACC,iBAAP,CAAyB,sBAAzB,CAVT;;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAaSD,MAAM,CAACC,iBAAP,CAAyB,kBAAzB,CAbT;;AAAA;AAgBOC,gBAAAA,KAhBP,GAgBeT,KAAK,CAACU,QAAN,EAhBf;;AAkBC,oBAAID,KAAJ,EAAW;AACVJ,kBAAAA,QAAQ,GAAG;AACVM,oBAAAA,QAAQ,cADE;AAEVC,oBAAAA,YAAY,EAAE,8BACUH,KADV,cAEb,4BAFa;AAFJ,mBAAX;AAOA,iBARD,MAQO;AACNJ,kBAAAA,QAAQ,GAAG;AACVM,oBAAAA,QAAQ,EAAE;AADA,mBAAX;AAGA;;AA9BF,iDAgCQN,QAhCR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAmCA,qBAAoC;AACnC,aAAO,KAAKQ,MAAZ;AACA;;;EAzCwCC,2B","sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport onboardActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport OnboardFeature from '../OnboardFeature'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.OnboardOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.OnboardOptions\nexport default class ListenAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = onboardActionSchema\n\tpublic invocationMessage = 'All aboard... 🛤'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\tconst store = this.getParent().OnboardingStore()\n\t\tconst mode = store.getMode()\n\t\tlet response = {}\n\n\t\tconst player = await this.getParent().ScriptPlayer()\n\n\t\tswitch (mode) {\n\t\t\tcase 'short':\n\t\t\tcase 'immersive':\n\t\t\t\tawait player.playScriptWithKey('onboarding.returning')\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tawait player.playScriptWithKey('onboarding.first')\n\t\t}\n\n\t\tconst stage = store.getStage()\n\n\t\tif (stage) {\n\t\t\tresponse = {\n\t\t\t\theadline: `Lets rock!`,\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t`Next step: \\`spruce ${stage} todos\\``,\n\t\t\t\t\t'If stuck: `spruce onboard`',\n\t\t\t\t],\n\t\t\t}\n\t\t} else {\n\t\t\tresponse = {\n\t\t\t\theadline: 'Aborted!',\n\t\t\t}\n\t\t}\n\n\t\treturn response\n\t}\n\n\tprivate getParent(): OnboardFeature {\n\t\treturn this.parent as OnboardFeature\n\t}\n}\n"],"file":"OnboardAction.js"}
1
+ {"version":3,"file":"OnboardAction.js","names":["ListenAction","onboardActionSchema","_options","store","getParent","OnboardingStore","mode","getMode","response","ScriptPlayer","player","playScriptWithKey","stage","getStage","headline","summaryLines","parent","AbstractAction"],"sources":["../../../../src/features/onboard/actions/OnboardAction.ts"],"sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport onboardActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport OnboardFeature from '../OnboardFeature'\n\ntype OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.OnboardOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.OnboardOptions\nexport default class ListenAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = onboardActionSchema\n\tpublic invocationMessage = 'All aboard... 🛤'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\tconst store = this.getParent().OnboardingStore()\n\t\tconst mode = store.getMode()\n\t\tlet response = {}\n\n\t\tconst player = await this.getParent().ScriptPlayer()\n\n\t\tswitch (mode) {\n\t\t\tcase 'short':\n\t\t\tcase 'immersive':\n\t\t\t\tawait player.playScriptWithKey('onboarding.returning')\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tawait player.playScriptWithKey('onboarding.first')\n\t\t}\n\n\t\tconst stage = store.getStage()\n\n\t\tif (stage) {\n\t\t\tresponse = {\n\t\t\t\theadline: `Lets rock!`,\n\t\t\t\tsummaryLines: [\n\t\t\t\t\t`Next step: \\`spruce ${stage} todos\\``,\n\t\t\t\t\t'If stuck: `spruce onboard`',\n\t\t\t\t],\n\t\t\t}\n\t\t} else {\n\t\t\tresponse = {\n\t\t\t\theadline: 'Aborted!',\n\t\t\t}\n\t\t}\n\n\t\treturn response\n\t}\n\n\tprivate getParent(): OnboardFeature {\n\t\treturn this.parent as OnboardFeature\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IAMqBA,Y;;;;;;;;;;;;;;;sGACkBC,0B;0GACX,kB;;;;;;;mGAE3B,iBAAqBC,QAArB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACOC,KADP,GACe,KAAKC,SAAL,GAAiBC,eAAjB,EADf;gBAEOC,IAFP,GAEcH,KAAK,CAACI,OAAN,EAFd;gBAGKC,QAHL,GAGgB,EAHhB;gBAAA;gBAAA,OAKsB,KAAKJ,SAAL,GAAiBK,YAAjB,EALtB;;cAAA;gBAKOC,MALP;gBAAA,cAOSJ,IAPT;gBAAA,gCAQO,OARP,uBASO,WATP;gBAAA;;cAAA;gBAAA;gBAAA,OAUSI,MAAM,CAACC,iBAAP,CAAyB,sBAAzB,CAVT;;cAAA;gBAAA;;cAAA;gBAAA;gBAAA,OAaSD,MAAM,CAACC,iBAAP,CAAyB,kBAAzB,CAbT;;cAAA;gBAgBOC,KAhBP,GAgBeT,KAAK,CAACU,QAAN,EAhBf;;gBAkBC,IAAID,KAAJ,EAAW;kBACVJ,QAAQ,GAAG;oBACVM,QAAQ,cADE;oBAEVC,YAAY,EAAE,8BACUH,KADV,cAEb,4BAFa;kBAFJ,CAAX;gBAOA,CARD,MAQO;kBACNJ,QAAQ,GAAG;oBACVM,QAAQ,EAAE;kBADA,CAAX;gBAGA;;gBA9BF,iCAgCQN,QAhCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAmCA,qBAAoC;MACnC,OAAO,KAAKQ,MAAZ;IACA;;;EAzCwCC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/scripts/onboarding.first.script.ts"],"names":["script","player","ui","waitForEnter","clear","renderDoors","chooseOnboardingAdventure","renderImage","diskUtil","resolvePath","__dirname","width","height","prompt","type","label","isRequired","options","choices","value","answer","redirect"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAIA,IAAMA,MAAc,GAAG,CACtB,eADsB,EAEtB,qBAFsB,EAGtB,0EAHsB;AAAA,2FAItB,iBAAOC,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACOA,MAAM,CAACC,EAAP,CAAUC,YAAV,CAAuB,qBAAvB,CADP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAJsB;;AAAA;AAAA;AAAA;AAAA;AAAA,4FAOtB,kBAAOF,MAAP;AAAA;AAAA;AAAA;AAAA;AACCA,YAAAA,MAAM,CAACC,EAAP,CAAUE,KAAV;;AADD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAPsB;;AAAA;AAAA;AAAA;AAAA;AAAA,4FAUtB,kBAAOH,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACOI,WAAW,CAACJ,MAAM,CAACC,EAAR,CADlB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAVsB;;AAAA;AAAA;AAAA;AAAA,KAatB,wEAbsB,EActB,oDAdsB,EAetB,oEAfsB,EAgBtB,kCAhBsB,EAiBtB,uDAjBsB,EAkBtB,qDAlBsB,EAmBtB,4EAnBsB,EAoBtB,6GApBsB;AAAA,4FAqBtB,kBAAOD,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACcK,yBAAyB,CAACL,MAAD,CADvC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GArBsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;;SA0BsBI,W;;;;;+FAAf,kBAA2BH,EAA3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACAA,EAAE,CAACK,WAAH,CACLC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,mCAAhC,CADK,EAEL;AACCC,cAAAA,KAAK,EAAE,GADR;AAECC,cAAAA,MAAM,EAAE;AAFT,aAFK,CADA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAUeN,yB;;;;;6GAAf,kBAAyCL,MAAzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACeA,MAAM,CAACC,EAAP,CAAUW,MAAV,CAAiB;AACrCC,cAAAA,IAAI,EAAE,QAD+B;AAErCC,cAAAA,KAAK,EAAE,2BAF8B;AAGrCC,cAAAA,UAAU,EAAE,IAHyB;AAIrCC,cAAAA,OAAO,EAAE;AACRC,gBAAAA,OAAO,EAAE,CACR;AACCH,kBAAAA,KAAK,EAAE,wBADR;AAECI,kBAAAA,KAAK,EAAE;AAFR,iBADQ,EAKR;AACCJ,kBAAAA,KAAK,EAAE,wBADR;AAECI,kBAAAA,KAAK,EAAE;AAFR,iBALQ;AADD;AAJ4B,aAAjB,CADf;;AAAA;AACAC,YAAAA,MADA;AAAA,2BAmBEA,MAnBF;AAAA,8CAoBA,WApBA,wBAsBA,OAtBA;AAAA;;AAAA;AAAA,8CAqBGnB,MAAM,CAACoB,QAAP,CAAgB,sBAAhB,CArBH;;AAAA;AAAA,8CAuBGpB,MAAM,CAACoB,QAAP,CAAgB,kBAAhB,CAvBH;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;eA2BQrB,M","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GraphicsInterface } from '../../../types/cli.types'\nimport { Script, CallbackPlayer } from '../ScriptPlayer'\n\nconst script: Script = [\n\t'Hey there! 👋',\n\t\"I'm Sprucebot. 🌲🤖\",\n\t\"I'll be your narrator on this journey to creating your first experience.\",\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('Lets get started...')\n\t},\n\tasync (player) => {\n\t\tplayer.ui.clear()\n\t},\n\tasync (player) => {\n\t\tawait renderDoors(player.ui)\n\t},\n\t'You are strolling through the forest when you stumble onto a clearing.',\n\t'In the clearing there are two heavy, thick, doors.',\n\t'They are free standing. You walk around them a few times before...',\n\t'You see words scribed onto each.',\n\t'The door to the left says, \"Quick start. 30 minutes.\"',\n\t'The door to the right says, \"Immersive. 4-6 weeks.\"',\n\t'\"Four to six week onboarding!?\" You say out loud. \"What the actual sh**!?\"',\n\t\"You don't have 4-6 weeks to do onboarding. But, you take pride in your work and doing things the right way.\",\n\tasync (player) => {\n\t\treturn await chooseOnboardingAdventure(player)\n\t},\n]\n\nexport async function renderDoors(ui: GraphicsInterface) {\n\tawait ui.renderImage(\n\t\tdiskUtil.resolvePath(__dirname, '../../../../docs/images/doors.jpg'),\n\t\t{\n\t\t\twidth: 100,\n\t\t\theight: 35,\n\t\t}\n\t)\n}\n\nexport async function chooseOnboardingAdventure(player: CallbackPlayer) {\n\tconst answer = await player.ui.prompt({\n\t\ttype: 'select',\n\t\tlabel: 'Which door do you choose?',\n\t\tisRequired: true,\n\t\toptions: {\n\t\t\tchoices: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Left door (30 minutes)',\n\t\t\t\t\tvalue: 'short',\n\t\t\t\t} as const,\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Right door (4-6 weeks)',\n\t\t\t\t\tvalue: 'immersive',\n\t\t\t\t} as const,\n\t\t\t],\n\t\t},\n\t})\n\n\tswitch (answer) {\n\t\tcase 'immersive':\n\t\t\treturn player.redirect('onboarding.immersive')\n\t\tcase 'short':\n\t\t\treturn player.redirect('onboarding.short')\n\t}\n}\n\nexport default script\n"],"file":"onboarding.first.script.js"}
1
+ {"version":3,"file":"onboarding.first.script.js","names":["script","player","ui","waitForEnter","clear","renderDoors","chooseOnboardingAdventure","renderImage","diskUtil","resolvePath","__dirname","width","height","prompt","type","label","isRequired","options","choices","value","answer","redirect"],"sources":["../../../../src/features/onboard/scripts/onboarding.first.script.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GraphicsInterface } from '../../../types/cli.types'\nimport { Script, CallbackPlayer } from '../ScriptPlayer'\n\nconst script: Script = [\n\t'Hey there! 👋',\n\t\"I'm Sprucebot. 🌲🤖\",\n\t\"I'll be your narrator on this journey to creating your first experience.\",\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('Lets get started...')\n\t},\n\tasync (player) => {\n\t\tplayer.ui.clear()\n\t},\n\tasync (player) => {\n\t\tawait renderDoors(player.ui)\n\t},\n\t'You are strolling through the forest when you stumble onto a clearing.',\n\t'In the clearing there are two heavy, thick, doors.',\n\t'They are free standing. You walk around them a few times before...',\n\t'You see words scribed onto each.',\n\t'The door to the left says, \"Quick start. 30 minutes.\"',\n\t'The door to the right says, \"Immersive. 4-6 weeks.\"',\n\t'\"Four to six week onboarding!?\" You say out loud. \"What the actual sh**!?\"',\n\t\"You don't have 4-6 weeks to do onboarding. But, you take pride in your work and doing things the right way.\",\n\tasync (player) => {\n\t\treturn await chooseOnboardingAdventure(player)\n\t},\n]\n\nexport async function renderDoors(ui: GraphicsInterface) {\n\tawait ui.renderImage(\n\t\tdiskUtil.resolvePath(__dirname, '../../../../docs/images/doors.jpg'),\n\t\t{\n\t\t\twidth: 100,\n\t\t\theight: 35,\n\t\t}\n\t)\n}\n\nexport async function chooseOnboardingAdventure(player: CallbackPlayer) {\n\tconst answer = await player.ui.prompt({\n\t\ttype: 'select',\n\t\tlabel: 'Which door do you choose?',\n\t\tisRequired: true,\n\t\toptions: {\n\t\t\tchoices: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Left door (30 minutes)',\n\t\t\t\t\tvalue: 'short',\n\t\t\t\t} as const,\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Right door (4-6 weeks)',\n\t\t\t\t\tvalue: 'immersive',\n\t\t\t\t} as const,\n\t\t\t],\n\t\t},\n\t})\n\n\tswitch (answer) {\n\t\tcase 'immersive':\n\t\t\treturn player.redirect('onboarding.immersive')\n\t\tcase 'short':\n\t\t\treturn player.redirect('onboarding.short')\n\t}\n}\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAIA,IAAMA,MAAc,GAAG,CACtB,eADsB,EAEtB,qBAFsB,EAGtB,0EAHsB;EAAA,yFAItB,iBAAOC,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOA,MAAM,CAACC,EAAP,CAAUC,YAAV,CAAuB,qBAAvB,CADP;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAJsB;;EAAA;IAAA;EAAA;AAAA;EAAA,0FAOtB,kBAAOF,MAAP;IAAA;MAAA;QAAA;UAAA;YACCA,MAAM,CAACC,EAAP,CAAUE,KAAV;;UADD;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAPsB;;EAAA;IAAA;EAAA;AAAA;EAAA,0FAUtB,kBAAOH,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOI,WAAW,CAACJ,MAAM,CAACC,EAAR,CADlB;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAVsB;;EAAA;IAAA;EAAA;AAAA,KAatB,wEAbsB,EActB,oDAdsB,EAetB,oEAfsB,EAgBtB,kCAhBsB,EAiBtB,uDAjBsB,EAkBtB,qDAlBsB,EAmBtB,4EAnBsB,EAoBtB,6GApBsB;EAAA,0FAqBtB,kBAAOD,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACcK,yBAAyB,CAACL,MAAD,CADvC;;UAAA;YAAA;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CArBsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;;SA0BsBI,W;;;;;+FAAf,kBAA2BH,EAA3B;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACAA,EAAE,CAACK,WAAH,CACLC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,mCAAhC,CADK,EAEL;cACCC,KAAK,EAAE,GADR;cAECC,MAAM,EAAE;YAFT,CAFK,CADA;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C;;;;SAUeN,yB;;;;;6GAAf,kBAAyCL,MAAzC;IAAA;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACeA,MAAM,CAACC,EAAP,CAAUW,MAAV,CAAiB;cACrCC,IAAI,EAAE,QAD+B;cAErCC,KAAK,EAAE,2BAF8B;cAGrCC,UAAU,EAAE,IAHyB;cAIrCC,OAAO,EAAE;gBACRC,OAAO,EAAE,CACR;kBACCH,KAAK,EAAE,wBADR;kBAECI,KAAK,EAAE;gBAFR,CADQ,EAKR;kBACCJ,KAAK,EAAE,wBADR;kBAECI,KAAK,EAAE;gBAFR,CALQ;cADD;YAJ4B,CAAjB,CADf;;UAAA;YACAC,MADA;YAAA,eAmBEA,MAnBF;YAAA,kCAoBA,WApBA,wBAsBA,OAtBA;YAAA;;UAAA;YAAA,kCAqBGnB,MAAM,CAACoB,QAAP,CAAgB,sBAAhB,CArBH;;UAAA;YAAA,kCAuBGpB,MAAM,CAACoB,QAAP,CAAgB,kBAAhB,CAvBH;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C;;;;eA2BQrB,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/scripts/onboarding.immersive.script.ts"],"names":["script","player","ui","clear","renderImage","diskUtil","resolvePath","__dirname","width","height","waitForEnter"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAKA,IAAMA,MAAc,GAAG;AAAA,2FACtB,iBAAOC,MAAP;AAAA;AAAA;AAAA;AAAA;AACCA,YAAAA,MAAM,CAACC,EAAP,CAAUC,KAAV;AADD;AAAA,mBAEOF,MAAM,CAACC,EAAP,CAAUE,WAAV,CACLC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,oCAAhC,CADK,EAEL;AACCC,cAAAA,KAAK,EAAE,GADR;AAECC,cAAAA,MAAM,EAAE;AAFT,aAFK,CAFP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GADsB;;AAAA;AAAA;AAAA;AAAA,KAWtB,0DAXsB,EAYtB,4CAZsB,EAatB,oDAbsB,EActB,iGAdsB,EAetB,kBAfsB;AAAA,4FAgBtB,kBAAOR,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACOA,MAAM,CAACC,EAAP,CAAUQ,YAAV,EADP;;AAAA;AAECT,YAAAA,MAAM,CAACC,EAAP,CAAUC,KAAV;AAFD;AAAA,mBAGO,kCAAYF,MAAM,CAACC,EAAnB,CAHP;;AAAA;AAAA,8CAIQ,gDAA0BD,MAA1B,CAJR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAhBsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;eAwBeD,M","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { Script } from '../ScriptPlayer'\nimport {\n\trenderDoors,\n\tchooseOnboardingAdventure,\n} from './onboarding.first.script'\n\nconst script: Script = [\n\tasync (player) => {\n\t\tplayer.ui.clear()\n\t\tawait player.ui.renderImage(\n\t\t\tdiskUtil.resolvePath(__dirname, '../../../../docs/images/listen.jpg'),\n\t\t\t{\n\t\t\t\twidth: 100,\n\t\t\t\theight: 23,\n\t\t\t}\n\t\t)\n\t},\n\t'You approach the \"Immersive\" door and grab the handle...',\n\t\"It won't budge no matter how hard you try.\",\n\t'You hear a sound, so you put your ear to the door.',\n\t'From the other side, someone yells, \"Work in progress. Try the door on the left! Thaaaaaanks!!\"',\n\t'You back away...',\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter()\n\t\tplayer.ui.clear()\n\t\tawait renderDoors(player.ui)\n\t\treturn chooseOnboardingAdventure(player)\n\t},\n]\n\nexport default script\n"],"file":"onboarding.immersive.script.js"}
1
+ {"version":3,"file":"onboarding.immersive.script.js","names":["script","player","ui","clear","renderImage","diskUtil","resolvePath","__dirname","width","height","waitForEnter"],"sources":["../../../../src/features/onboard/scripts/onboarding.immersive.script.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { Script } from '../ScriptPlayer'\nimport {\n\trenderDoors,\n\tchooseOnboardingAdventure,\n} from './onboarding.first.script'\n\nconst script: Script = [\n\tasync (player) => {\n\t\tplayer.ui.clear()\n\t\tawait player.ui.renderImage(\n\t\t\tdiskUtil.resolvePath(__dirname, '../../../../docs/images/listen.jpg'),\n\t\t\t{\n\t\t\t\twidth: 100,\n\t\t\t\theight: 23,\n\t\t\t}\n\t\t)\n\t},\n\t'You approach the \"Immersive\" door and grab the handle...',\n\t\"It won't budge no matter how hard you try.\",\n\t'You hear a sound, so you put your ear to the door.',\n\t'From the other side, someone yells, \"Work in progress. Try the door on the left! Thaaaaaanks!!\"',\n\t'You back away...',\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter()\n\t\tplayer.ui.clear()\n\t\tawait renderDoors(player.ui)\n\t\treturn chooseOnboardingAdventure(player)\n\t},\n]\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAKA,IAAMA,MAAc,GAAG;EAAA,yFACtB,iBAAOC,MAAP;IAAA;MAAA;QAAA;UAAA;YACCA,MAAM,CAACC,EAAP,CAAUC,KAAV;YADD;YAAA,OAEOF,MAAM,CAACC,EAAP,CAAUE,WAAV,CACLC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,oCAAhC,CADK,EAEL;cACCC,KAAK,EAAE,GADR;cAECC,MAAM,EAAE;YAFT,CAFK,CAFP;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CADsB;;EAAA;IAAA;EAAA;AAAA,KAWtB,0DAXsB,EAYtB,4CAZsB,EAatB,oDAbsB,EActB,iGAdsB,EAetB,kBAfsB;EAAA,0FAgBtB,kBAAOR,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOA,MAAM,CAACC,EAAP,CAAUQ,YAAV,EADP;;UAAA;YAECT,MAAM,CAACC,EAAP,CAAUC,KAAV;YAFD;YAAA,OAGO,kCAAYF,MAAM,CAACC,EAAnB,CAHP;;UAAA;YAAA,kCAIQ,gDAA0BD,MAA1B,CAJR;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAhBsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;eAwBeD,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/scripts/onboarding.returning.script.ts"],"names":["script","player","ui","clear","stage","onboardingStore","getStage","prompt","type","label","options","choices","value","answer","reset","redirect","executeCommand"],"mappings":";;;;;;;;;;;;;AACA;;AAEA,IAAMA,MAAc,GAAG,CACtB,UAACC,MAAD;AAAA,SAAYA,MAAM,CAACC,EAAP,CAAUC,KAAV,EAAZ;AAAA,CADsB,EAEtB,UAACF,MAAD;AAAA,SAAY,kCAAYA,MAAZ,CAAZ;AAAA,CAFsB,EAGtB,sEAHsB,EAItB,oCAJsB,EAKtB,gDALsB,EAMtB,UAACA,MAAD,EAAY;AACX,MAAMG,KAAK,GAAGH,MAAM,CAACI,eAAP,CAAuBC,QAAvB,EAAd;AACA,sCAAcL,MAAM,CAACC,EAArB,mBAAmCE,KAAnC;AACA,CATqB;AAAA,2FAUtB,iBAAOH,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACOG,YAAAA,KADP,GACeH,MAAM,CAACI,eAAP,CAAuBC,QAAvB,EADf;AAAA;AAAA,mBAEsBL,MAAM,CAACC,EAAP,CAAUK,MAAV,CAAiB;AACrCC,cAAAA,IAAI,EAAE,QAD+B;AAErCC,cAAAA,KAAK,EAAE,kCAF8B;AAGrCC,cAAAA,OAAO,EAAE;AACRC,gBAAAA,OAAO,EAAE,CACR;AACCF,kBAAAA,KAAK,wBAAkBL,KAAlB,cADN;AAECQ,kBAAAA,KAAK,EAAE;AAFR,iBADQ,EAKR;AACCH,kBAAAA,KAAK,cADN;AAECG,kBAAAA,KAAK,EAAE;AAFR,iBALQ,EASR;AACCH,kBAAAA,KAAK,mBADN;AAECG,kBAAAA,KAAK,EAAE;AAFR,iBATQ;AADD;AAH4B,aAAjB,CAFtB;;AAAA;AAEOC,YAAAA,MAFP;AAAA,0BAuBSA,MAvBT;AAAA,4CAwBO,WAxBP,uBA4BO,MA5BP,wBA+BO,KA/BP;AAAA;;AAAA;AAyBGZ,YAAAA,MAAM,CAACI,eAAP,CAAuBS,KAAvB;AACAb,YAAAA,MAAM,CAACC,EAAP,CAAUC,KAAV;AA1BH,6CA2BUF,MAAM,CAACc,QAAP,CAAgB,kBAAhB,CA3BV;;AAAA;AA6BGd,YAAAA,MAAM,CAACI,eAAP,CAAuBS,KAAvB;AA7BH;;AAAA;AAAA;AAAA,mBAgCSb,MAAM,CAACe,cAAP,CAAsBZ,KAAtB,CAhCT;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAVsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;eAkDeJ,M","sourcesContent":["import { Script } from '../ScriptPlayer'\nimport { renderCommand, renderEnter } from './onboarding.short.script'\n\nconst script: Script = [\n\t(player) => player.ui.clear(),\n\t(player) => renderEnter(player),\n\t'You return to the doors in the forest and enter the one on the left.',\n\t'\"Welcome back!\", shouts Sprucebot.',\n\t'\"It looks like you\\'re supposed to be running\"',\n\t(player) => {\n\t\tconst stage = player.onboardingStore.getStage()\n\t\trenderCommand(player.ui, `spruce ${stage}`)\n\t},\n\tasync (player) => {\n\t\tconst stage = player.onboardingStore.getStage()\n\t\tconst answer = await player.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: \"Lemme know what you'd like to do\",\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Run \\`spruce ${stage}\\` for me!`,\n\t\t\t\t\t\tvalue: 'run',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Start over`,\n\t\t\t\t\t\tvalue: 'startOver',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Stop onboarding`,\n\t\t\t\t\t\tvalue: 'stop',\n\t\t\t\t\t} as const,\n\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tswitch (answer) {\n\t\t\tcase 'startOver':\n\t\t\t\tplayer.onboardingStore.reset()\n\t\t\t\tplayer.ui.clear()\n\t\t\t\treturn player.redirect('onboarding.first')\n\t\t\tcase 'stop':\n\t\t\t\tplayer.onboardingStore.reset()\n\t\t\t\tbreak\n\t\t\tcase 'run':\n\t\t\t\tawait player.executeCommand(stage as string)\n\t\t\t\tbreak\n\t\t}\n\n\t\treturn\n\t},\n]\n\nexport default script\n"],"file":"onboarding.returning.script.js"}
1
+ {"version":3,"file":"onboarding.returning.script.js","names":["script","player","ui","clear","stage","onboardingStore","getStage","prompt","type","label","options","choices","value","answer","reset","redirect","executeCommand"],"sources":["../../../../src/features/onboard/scripts/onboarding.returning.script.ts"],"sourcesContent":["import { Script } from '../ScriptPlayer'\nimport { renderCommand, renderEnter } from './onboarding.short.script'\n\nconst script: Script = [\n\t(player) => player.ui.clear(),\n\t(player) => renderEnter(player),\n\t'You return to the doors in the forest and enter the one on the left.',\n\t'\"Welcome back!\", shouts Sprucebot.',\n\t'\"It looks like you\\'re supposed to be running\"',\n\t(player) => {\n\t\tconst stage = player.onboardingStore.getStage()\n\t\trenderCommand(player.ui, `spruce ${stage}`)\n\t},\n\tasync (player) => {\n\t\tconst stage = player.onboardingStore.getStage()\n\t\tconst answer = await player.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: \"Lemme know what you'd like to do\",\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Run \\`spruce ${stage}\\` for me!`,\n\t\t\t\t\t\tvalue: 'run',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Start over`,\n\t\t\t\t\t\tvalue: 'startOver',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Stop onboarding`,\n\t\t\t\t\t\tvalue: 'stop',\n\t\t\t\t\t} as const,\n\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tswitch (answer) {\n\t\t\tcase 'startOver':\n\t\t\t\tplayer.onboardingStore.reset()\n\t\t\t\tplayer.ui.clear()\n\t\t\t\treturn player.redirect('onboarding.first')\n\t\t\tcase 'stop':\n\t\t\t\tplayer.onboardingStore.reset()\n\t\t\t\tbreak\n\t\t\tcase 'run':\n\t\t\t\tawait player.executeCommand(stage as string)\n\t\t\t\tbreak\n\t\t}\n\n\t\treturn\n\t},\n]\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;AACA;;AAEA,IAAMA,MAAc,GAAG,CACtB,UAACC,MAAD;EAAA,OAAYA,MAAM,CAACC,EAAP,CAAUC,KAAV,EAAZ;AAAA,CADsB,EAEtB,UAACF,MAAD;EAAA,OAAY,kCAAYA,MAAZ,CAAZ;AAAA,CAFsB,EAGtB,sEAHsB,EAItB,oCAJsB,EAKtB,gDALsB,EAMtB,UAACA,MAAD,EAAY;EACX,IAAMG,KAAK,GAAGH,MAAM,CAACI,eAAP,CAAuBC,QAAvB,EAAd;EACA,oCAAcL,MAAM,CAACC,EAArB,mBAAmCE,KAAnC;AACA,CATqB;EAAA,yFAUtB,iBAAOH,MAAP;IAAA;IAAA;MAAA;QAAA;UAAA;YACOG,KADP,GACeH,MAAM,CAACI,eAAP,CAAuBC,QAAvB,EADf;YAAA;YAAA,OAEsBL,MAAM,CAACC,EAAP,CAAUK,MAAV,CAAiB;cACrCC,IAAI,EAAE,QAD+B;cAErCC,KAAK,EAAE,kCAF8B;cAGrCC,OAAO,EAAE;gBACRC,OAAO,EAAE,CACR;kBACCF,KAAK,wBAAkBL,KAAlB,cADN;kBAECQ,KAAK,EAAE;gBAFR,CADQ,EAKR;kBACCH,KAAK,cADN;kBAECG,KAAK,EAAE;gBAFR,CALQ,EASR;kBACCH,KAAK,mBADN;kBAECG,KAAK,EAAE;gBAFR,CATQ;cADD;YAH4B,CAAjB,CAFtB;;UAAA;YAEOC,MAFP;YAAA,cAuBSA,MAvBT;YAAA,gCAwBO,WAxBP,uBA4BO,MA5BP,wBA+BO,KA/BP;YAAA;;UAAA;YAyBGZ,MAAM,CAACI,eAAP,CAAuBS,KAAvB;YACAb,MAAM,CAACC,EAAP,CAAUC,KAAV;YA1BH,iCA2BUF,MAAM,CAACc,QAAP,CAAgB,kBAAhB,CA3BV;;UAAA;YA6BGd,MAAM,CAACI,eAAP,CAAuBS,KAAvB;YA7BH;;UAAA;YAAA;YAAA,OAgCSb,MAAM,CAACe,cAAP,CAAsBZ,KAAtB,CAhCT;;UAAA;YAAA;;UAAA;YAAA;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAVsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;eAkDeJ,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/scripts/onboarding.short.script.ts"],"names":["script","player","ui","clear","renderEnter","line","renderLine","GraphicsTextEffect","Italic","renderCommand","waitForEnter","onboardingStore","setMode","setStage","featuresUtil","generateCommand","renderImage","diskUtil","resolvePath","__dirname","width","height","command","BgMagenta","White"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAGA,IAAMA,MAAc,GAAG;AAAA,2FACtB,iBAAOC,MAAP;AAAA;AAAA;AAAA;AAAA;AACCA,YAAAA,MAAM,CAACC,EAAP,CAAUC,KAAV;AADD;AAAA,mBAEOC,WAAW,CAACH,MAAD,CAFlB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GADsB;;AAAA;AAAA;AAAA;AAAA,KAKtB,0EALsB,EAMtB,0EANsB,EAOtB,2BAPsB,EAQtB,oCARsB;AAAA,4FAStB,kBAAOA,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACOI,YAAAA,IADP;AAECJ,YAAAA,MAAM,CAACC,EAAP,CAAUI,UAAV,CAAqBD,IAArB,EAA2B,CAACE,sCAAmBC,MAApB,CAA3B;AACAP,YAAAA,MAAM,CAACC,EAAP,CAAUI,UAAV,CAAqB,EAArB;;AAHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GATsB;;AAAA;AAAA;AAAA;AAAA,KActB,oDAdsB,EAetB,oBAfsB;AAAA,4FAgBtB,kBAAOL,MAAP;AAAA;AAAA;AAAA;AAAA;AACCQ,YAAAA,aAAa,CAACR,MAAM,CAACC,EAAR,EAAY,2BAAZ,CAAb;;AADD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAhBsB;;AAAA;AAAA;AAAA;AAAA,KAoBtB,uCApBsB;AAAA,4FAqBtB,kBAAOD,MAAP;AAAA;AAAA;AAAA;AAAA;AACCQ,YAAAA,aAAa,CAACR,MAAM,CAACC,EAAR,mBAAb;;AADD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GArBsB;;AAAA;AAAA;AAAA;AAAA,KAwBtB,oCAxBsB;AAAA,4FAyBtB,kBAAOD,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACOA,MAAM,CAACC,EAAP,CAAUQ,YAAV,CAAuB,eAAvB,CADP;;AAAA;AAGCT,YAAAA,MAAM,CAACU,eAAP,CAAuBC,OAAvB,CAA+B,OAA/B;AACAX,YAAAA,MAAM,CAACU,eAAP,CAAuBE,QAAvB,CACCC,oBAAaC,eAAb,CAA6B,OAA7B,EAAsC,QAAtC,CADD;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAzBsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;;AAmCO,SAASX,WAAT,CAAqBH,MAArB,EAA6C;AACnD,SAAOA,MAAM,CAACC,EAAP,CAAUc,WAAV,CACNC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,oCAAhC,CADM,EAEN;AACCC,IAAAA,KAAK,EAAE,GADR;AAECC,IAAAA,MAAM,EAAE;AAFT,GAFM,CAAP;AAOA;;AAEM,SAASZ,aAAT,CAAuBP,EAAvB,EAA8CoB,OAA9C,EAA+D;AACrEpB,EAAAA,EAAE,CAACI,UAAH,CAAcgB,OAAd,EAAuB,CACtBf,sCAAmBgB,SADG,EAEtBhB,sCAAmBiB,KAFG,CAAvB;AAIAtB,EAAAA,EAAE,CAACI,UAAH,CAAc,EAAd;AACA;;eAEcN,M","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GraphicsInterface } from '../../../types/cli.types'\nimport { GraphicsTextEffect } from '../../../types/graphicsInterface.types'\nimport featuresUtil from '../../feature.utilities'\nimport { CallbackPlayer, Script } from '../ScriptPlayer'\n\nconst script: Script = [\n\tasync (player) => {\n\t\tplayer.ui.clear()\n\t\tawait renderEnter(player)\n\t},\n\t\"You push the door open and enter into the largest room you've ever seen.\",\n\t\"So big, in fact, you can't see where the floors end and the walls begin.\",\n\t'A familiar voice echos...',\n\t'\"Hey! It\\'s Sprucebot again! 🌲🤖\"',\n\tasync (player) => {\n\t\tconst line = `This is so much fun! I love playing both the narrator and a character!`\n\t\tplayer.ui.renderLine(line, [GraphicsTextEffect.Italic])\n\t\tplayer.ui.renderLine('')\n\t},\n\t'Anyway... \"How about we create a simple todo app.\"',\n\t'\"Go ahead and run\"',\n\tasync (player) => {\n\t\trenderCommand(player.ui, 'spruce create.skill todos')\n\t},\n\n\t'\"Tip! If you ever get lost, just run\"',\n\tasync (player) => {\n\t\trenderCommand(player.ui, `spruce onboard`)\n\t},\n\t'\"and I\\'ll get you back on track.\"',\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('\"Lets do it!\"')\n\n\t\tplayer.onboardingStore.setMode('short')\n\t\tplayer.onboardingStore.setStage(\n\t\t\tfeaturesUtil.generateCommand('skill', 'create') as 'create.skill'\n\t\t)\n\t},\n]\n\nexport function renderEnter(player: CallbackPlayer) {\n\treturn player.ui.renderImage(\n\t\tdiskUtil.resolvePath(__dirname, '../../../../docs/images/inside.jpg'),\n\t\t{\n\t\t\twidth: 100,\n\t\t\theight: 35,\n\t\t}\n\t)\n}\n\nexport function renderCommand(ui: GraphicsInterface, command: string) {\n\tui.renderLine(command, [\n\t\tGraphicsTextEffect.BgMagenta,\n\t\tGraphicsTextEffect.White,\n\t])\n\tui.renderLine('')\n}\n\nexport default script\n"],"file":"onboarding.short.script.js"}
1
+ {"version":3,"file":"onboarding.short.script.js","names":["script","player","ui","clear","renderEnter","line","renderLine","GraphicsTextEffect","Italic","renderCommand","waitForEnter","onboardingStore","setMode","setStage","featuresUtil","generateCommand","renderImage","diskUtil","resolvePath","__dirname","width","height","command","BgMagenta","White"],"sources":["../../../../src/features/onboard/scripts/onboarding.short.script.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { GraphicsInterface } from '../../../types/cli.types'\nimport { GraphicsTextEffect } from '../../../types/graphicsInterface.types'\nimport featuresUtil from '../../feature.utilities'\nimport { CallbackPlayer, Script } from '../ScriptPlayer'\n\nconst script: Script = [\n\tasync (player) => {\n\t\tplayer.ui.clear()\n\t\tawait renderEnter(player)\n\t},\n\t\"You push the door open and enter into the largest room you've ever seen.\",\n\t\"So big, in fact, you can't see where the floors end and the walls begin.\",\n\t'A familiar voice echos...',\n\t'\"Hey! It\\'s Sprucebot again! 🌲🤖\"',\n\tasync (player) => {\n\t\tconst line = `This is so much fun! I love playing both the narrator and a character!`\n\t\tplayer.ui.renderLine(line, [GraphicsTextEffect.Italic])\n\t\tplayer.ui.renderLine('')\n\t},\n\t'Anyway... \"How about we create a simple todo app.\"',\n\t'\"Go ahead and run\"',\n\tasync (player) => {\n\t\trenderCommand(player.ui, 'spruce create.skill todos')\n\t},\n\n\t'\"Tip! If you ever get lost, just run\"',\n\tasync (player) => {\n\t\trenderCommand(player.ui, `spruce onboard`)\n\t},\n\t'\"and I\\'ll get you back on track.\"',\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('\"Lets do it!\"')\n\n\t\tplayer.onboardingStore.setMode('short')\n\t\tplayer.onboardingStore.setStage(\n\t\t\tfeaturesUtil.generateCommand('skill', 'create') as 'create.skill'\n\t\t)\n\t},\n]\n\nexport function renderEnter(player: CallbackPlayer) {\n\treturn player.ui.renderImage(\n\t\tdiskUtil.resolvePath(__dirname, '../../../../docs/images/inside.jpg'),\n\t\t{\n\t\t\twidth: 100,\n\t\t\theight: 35,\n\t\t}\n\t)\n}\n\nexport function renderCommand(ui: GraphicsInterface, command: string) {\n\tui.renderLine(command, [\n\t\tGraphicsTextEffect.BgMagenta,\n\t\tGraphicsTextEffect.White,\n\t])\n\tui.renderLine('')\n}\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAGA,IAAMA,MAAc,GAAG;EAAA,yFACtB,iBAAOC,MAAP;IAAA;MAAA;QAAA;UAAA;YACCA,MAAM,CAACC,EAAP,CAAUC,KAAV;YADD;YAAA,OAEOC,WAAW,CAACH,MAAD,CAFlB;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CADsB;;EAAA;IAAA;EAAA;AAAA,KAKtB,0EALsB,EAMtB,0EANsB,EAOtB,2BAPsB,EAQtB,oCARsB;EAAA,0FAStB,kBAAOA,MAAP;IAAA;IAAA;MAAA;QAAA;UAAA;YACOI,IADP;YAECJ,MAAM,CAACC,EAAP,CAAUI,UAAV,CAAqBD,IAArB,EAA2B,CAACE,sCAAmBC,MAApB,CAA3B;YACAP,MAAM,CAACC,EAAP,CAAUI,UAAV,CAAqB,EAArB;;UAHD;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CATsB;;EAAA;IAAA;EAAA;AAAA,KActB,oDAdsB,EAetB,oBAfsB;EAAA,0FAgBtB,kBAAOL,MAAP;IAAA;MAAA;QAAA;UAAA;YACCQ,aAAa,CAACR,MAAM,CAACC,EAAR,EAAY,2BAAZ,CAAb;;UADD;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAhBsB;;EAAA;IAAA;EAAA;AAAA,KAoBtB,uCApBsB;EAAA,0FAqBtB,kBAAOD,MAAP;IAAA;MAAA;QAAA;UAAA;YACCQ,aAAa,CAACR,MAAM,CAACC,EAAR,mBAAb;;UADD;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CArBsB;;EAAA;IAAA;EAAA;AAAA,KAwBtB,oCAxBsB;EAAA,0FAyBtB,kBAAOD,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOA,MAAM,CAACC,EAAP,CAAUQ,YAAV,CAAuB,eAAvB,CADP;;UAAA;YAGCT,MAAM,CAACU,eAAP,CAAuBC,OAAvB,CAA+B,OAA/B;YACAX,MAAM,CAACU,eAAP,CAAuBE,QAAvB,CACCC,oBAAaC,eAAb,CAA6B,OAA7B,EAAsC,QAAtC,CADD;;UAJD;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAzBsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;;AAmCO,SAASX,WAAT,CAAqBH,MAArB,EAA6C;EACnD,OAAOA,MAAM,CAACC,EAAP,CAAUc,WAAV,CACNC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,oCAAhC,CADM,EAEN;IACCC,KAAK,EAAE,GADR;IAECC,MAAM,EAAE;EAFT,CAFM,CAAP;AAOA;;AAEM,SAASZ,aAAT,CAAuBP,EAAvB,EAA8CoB,OAA9C,EAA+D;EACrEpB,EAAE,CAACI,UAAH,CAAcgB,OAAd,EAAuB,CACtBf,sCAAmBgB,SADG,EAEtBhB,sCAAmBiB,KAFG,CAAvB;EAIAtB,EAAE,CAACI,UAAH,CAAc,EAAd;AACA;;eAEcN,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/onboard/scripts/todo/todo.create.skill.script.ts"],"names":["script","player","ui","waitForEnter","onboardingStore","setStage"],"mappings":";;;;;;;;;;;;;AAEA,IAAMA,MAAc,GAAG,CACtB,aADsB,EAEtB,iDAFsB,EAGtB,6IAHsB,EAItB,wCAJsB,EAKtB,iCALsB,EAMtB,+BANsB,EAOtB,kCAPsB;AAAA,2FAQtB,iBAAOC,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACOA,MAAM,CAACC,EAAP,CAAUC,YAAV,CAAuB,EAAvB,CADP;;AAAA;AAECF,YAAAA,MAAM,CAACG,eAAP,CAAuBC,QAAvB,CAAgC,MAAhC;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GARsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;eAceL,M","sourcesContent":["import { Script } from '../../ScriptPlayer'\n\nconst script: Script = [\n\t'Great work!',\n\t\"I'm going to walk you through creating a skill.\",\n\t\"Because we follow the 3 Laws of Test Driven Development (https://bit.ly/3ls9phs), we're going to get all the way to our first failing test.\",\n\t'First step, you gotta name your skill.',\n\t\"Let's call it 'Todos' to start.\",\n\t'The description is up to you!',\n\t\"I'll meet you on the other side!\",\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('')\n\t\tplayer.onboardingStore.setStage('test')\n\t},\n]\n\nexport default script\n"],"file":"todo.create.skill.script.js"}
1
+ {"version":3,"file":"todo.create.skill.script.js","names":["script","player","ui","waitForEnter","onboardingStore","setStage"],"sources":["../../../../../src/features/onboard/scripts/todo/todo.create.skill.script.ts"],"sourcesContent":["import { Script } from '../../ScriptPlayer'\n\nconst script: Script = [\n\t'Great work!',\n\t\"I'm going to walk you through creating a skill.\",\n\t\"Because we follow the 3 Laws of Test Driven Development (https://bit.ly/3ls9phs), we're going to get all the way to our first failing test.\",\n\t'First step, you gotta name your skill.',\n\t\"Let's call it 'Todos' to start.\",\n\t'The description is up to you!',\n\t\"I'll meet you on the other side!\",\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('')\n\t\tplayer.onboardingStore.setStage('test')\n\t},\n]\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;AAEA,IAAMA,MAAc,GAAG,CACtB,aADsB,EAEtB,iDAFsB,EAGtB,6IAHsB,EAItB,wCAJsB,EAKtB,iCALsB,EAMtB,+BANsB,EAOtB,kCAPsB;EAAA,yFAQtB,iBAAOC,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOA,MAAM,CAACC,EAAP,CAAUC,YAAV,CAAuB,EAAvB,CADP;;UAAA;YAECF,MAAM,CAACG,eAAP,CAAuBC,QAAvB,CAAgC,MAAhC;;UAFD;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CARsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;eAceL,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/features/onboard/scripts/todo/todo.test.script.ts"],"names":["script","player","ui","waitForEnter"],"mappings":";;;;;;;;;;;;;AAEA,IAAMA,MAAc,GAAG,CACtB,mBADsB,EAEtB,6BAFsB,EAGtB,eAHsB,EAItB,kJAJsB,EAKtB,wCALsB,EAMtB,0EANsB,EAOtB,kBAPsB;AAAA,2FAQtB,iBAAOC,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACOA,MAAM,CAACC,EAAP,CAAUC,YAAV,CAAuB,EAAvB,CADP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GARsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;eAaeH,M","sourcesContent":["import { Script } from '../../ScriptPlayer'\n\nconst script: Script = [\n\t'Look at us go! 😄',\n\t\"I'm about to setup testing.\",\n\t'Real testing.',\n\t'Remember the whole 3 Laws of Test Driven Development thing? You are def gonna wanna watch this before continuing -> https://youtu.be/qkblc5WRn-U',\n\t'Ok, getting down off my robot soapbox.',\n\t'Next thing I gotta do is install some more dependencies (I know right?).',\n\t'You ready to go?',\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('')\n\t},\n]\n\nexport default script\n"],"file":"todo.test.script.js"}
1
+ {"version":3,"file":"todo.test.script.js","names":["script","player","ui","waitForEnter"],"sources":["../../../../../src/features/onboard/scripts/todo/todo.test.script.ts"],"sourcesContent":["import { Script } from '../../ScriptPlayer'\n\nconst script: Script = [\n\t'Look at us go! 😄',\n\t\"I'm about to setup testing.\",\n\t'Real testing.',\n\t'Remember the whole 3 Laws of Test Driven Development thing? You are def gonna wanna watch this before continuing -> https://youtu.be/qkblc5WRn-U',\n\t'Ok, getting down off my robot soapbox.',\n\t'Next thing I gotta do is install some more dependencies (I know right?).',\n\t'You ready to go?',\n\tasync (player) => {\n\t\tawait player.ui.waitForEnter('')\n\t},\n]\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;AAEA,IAAMA,MAAc,GAAG,CACtB,mBADsB,EAEtB,6BAFsB,EAGtB,eAHsB,EAItB,kJAJsB,EAKtB,wCALsB,EAMtB,0EANsB,EAOtB,kBAPsB;EAAA,yFAQtB,iBAAOC,MAAP;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOA,MAAM,CAACC,EAAP,CAAUC,YAAV,CAAuB,EAAvB,CADP;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CARsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;eAaeH,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/scripts/wrongCommand.script.ts"],"names":["script","player","ui","onboardingStore","getStage","stage","prompt","type","label","options","choices","value","answer","reset","renderLine","waitForEnter","Error"],"mappings":";;;;;;;;;;;;;AACA;;AAEA,IAAMA,MAAc,GAAG,CACtB,YADsB,EAEtB,2CAFsB,EAGtB,oCAHsB,EAItB,UAACC,MAAD,EAAY;AACX,sCAAcA,MAAM,CAACC,EAArB,EAAyBD,MAAM,CAACE,eAAP,CAAuBC,QAAvB,EAAzB;AACA,CANqB,EAOtB,8CAPsB;AAAA,2FAQtB,iBAAOH,MAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AACOI,YAAAA,KADP,GACeJ,MAAM,CAACE,eAAP,CAAuBC,QAAvB,EADf;AAAA;AAAA,mBAEsBH,MAAM,CAACC,EAAP,CAAUI,MAAV,CAAiB;AACrCC,cAAAA,IAAI,EAAE,QAD+B;AAErCC,cAAAA,KAAK,EAAE,oBAF8B;AAGrCC,cAAAA,OAAO,EAAE;AACRC,gBAAAA,OAAO,EAAE,CACR;AACCF,kBAAAA,KAAK,EAAE,kBADR;AAECG,kBAAAA,KAAK,EAAE;AAFR,iBADQ,EAKR;AACCH,kBAAAA,KAAK,EAAE,iBADR;AAECG,kBAAAA,KAAK,EAAE;AAFR,iBALQ,EASR;AACCH,kBAAAA,KAAK,qBAAeH,KAAf,MADN;AAECM,kBAAAA,KAAK,EAAE;AAFR,iBATQ;AADD;AAH4B,aAAjB,CAFtB;;AAAA;AAEOC,YAAAA,MAFP;AAAA,0BAuBSA,MAvBT;AAAA,4CAwBO,SAxBP,uBAgCO,WAhCP;AAAA;;AAAA;AAyBGX,YAAAA,MAAM,CAACE,eAAP,CAAuBU,KAAvB;AACAZ,YAAAA,MAAM,CAACC,EAAP,CAAUY,UAAV,CAAqB,EAArB;AACAb,YAAAA,MAAM,CAACC,EAAP,CAAUY,UAAV;AAGAb,YAAAA,MAAM,CAACC,EAAP,CAAUY,UAAV,CAAqB,EAArB;;AA9BH;AAAA;AAAA,mBAiCSb,MAAM,CAACC,EAAP,CAAUa,YAAV,CAAuB,cAAvB,CAjCT;;AAAA;AAAA;;AAAA;AAAA,kBAoCS,IAAIC,KAAJ,CAAU,gDAAV,CApCT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GARsB;;AAAA;AAAA;AAAA;AAAA,IAAvB;eAiDehB,M","sourcesContent":["import { Script } from '../ScriptPlayer'\nimport { renderCommand } from './onboarding.short.script'\n\nconst script: Script = [\n\t'Hold on! ✋',\n\t\"I don't think you're supposed to be here!\",\n\t'I was really expecting you to run:',\n\t(player) => {\n\t\trenderCommand(player.ui, player.onboardingStore.getStage() as string)\n\t},\n\t'But you are in a completely different place.',\n\tasync (player) => {\n\t\tconst stage = player.onboardingStore.getStage() as string\n\t\tconst answer = await player.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'What should we do?',\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Continue forward',\n\t\t\t\t\t\tvalue: 'letMePass',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Stop onboarding',\n\t\t\t\t\t\tvalue: 'disable',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Execute \\`${stage}\\``,\n\t\t\t\t\t\tvalue: 'executeCommand',\n\t\t\t\t\t} as const,\n\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tswitch (answer) {\n\t\t\tcase 'disable':\n\t\t\t\tplayer.onboardingStore.reset()\n\t\t\t\tplayer.ui.renderLine('')\n\t\t\t\tplayer.ui.renderLine(\n\t\t\t\t\t`Ok, I've disabled onboarding for now. Hope to see you again soon!`\n\t\t\t\t)\n\t\t\t\tplayer.ui.renderLine('')\n\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\tcase 'letMePass':\n\t\t\t\tawait player.ui.waitForEnter('As you were!')\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Coming soon! For now you have to manually run!')\n\t\t}\n\t},\n]\n\nexport default script\n"],"file":"wrongCommand.script.js"}
1
+ {"version":3,"file":"wrongCommand.script.js","names":["script","player","ui","onboardingStore","getStage","stage","prompt","type","label","options","choices","value","answer","reset","renderLine","waitForEnter","Error"],"sources":["../../../../src/features/onboard/scripts/wrongCommand.script.ts"],"sourcesContent":["import { Script } from '../ScriptPlayer'\nimport { renderCommand } from './onboarding.short.script'\n\nconst script: Script = [\n\t'Hold on! ✋',\n\t\"I don't think you're supposed to be here!\",\n\t'I was really expecting you to run:',\n\t(player) => {\n\t\trenderCommand(player.ui, player.onboardingStore.getStage() as string)\n\t},\n\t'But you are in a completely different place.',\n\tasync (player) => {\n\t\tconst stage = player.onboardingStore.getStage() as string\n\t\tconst answer = await player.ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tlabel: 'What should we do?',\n\t\t\toptions: {\n\t\t\t\tchoices: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Continue forward',\n\t\t\t\t\t\tvalue: 'letMePass',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Stop onboarding',\n\t\t\t\t\t\tvalue: 'disable',\n\t\t\t\t\t} as const,\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: `Execute \\`${stage}\\``,\n\t\t\t\t\t\tvalue: 'executeCommand',\n\t\t\t\t\t} as const,\n\t\t\t\t],\n\t\t\t},\n\t\t})\n\n\t\tswitch (answer) {\n\t\t\tcase 'disable':\n\t\t\t\tplayer.onboardingStore.reset()\n\t\t\t\tplayer.ui.renderLine('')\n\t\t\t\tplayer.ui.renderLine(\n\t\t\t\t\t`Ok, I've disabled onboarding for now. Hope to see you again soon!`\n\t\t\t\t)\n\t\t\t\tplayer.ui.renderLine('')\n\t\t\t// eslint-disable-next-line no-fallthrough\n\t\t\tcase 'letMePass':\n\t\t\t\tawait player.ui.waitForEnter('As you were!')\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Coming soon! For now you have to manually run!')\n\t\t}\n\t},\n]\n\nexport default script\n"],"mappings":";;;;;;;;;;;;;AACA;;AAEA,IAAMA,MAAc,GAAG,CACtB,YADsB,EAEtB,2CAFsB,EAGtB,oCAHsB,EAItB,UAACC,MAAD,EAAY;EACX,oCAAcA,MAAM,CAACC,EAArB,EAAyBD,MAAM,CAACE,eAAP,CAAuBC,QAAvB,EAAzB;AACA,CANqB,EAOtB,8CAPsB;EAAA,yFAQtB,iBAAOH,MAAP;IAAA;IAAA;MAAA;QAAA;UAAA;YACOI,KADP,GACeJ,MAAM,CAACE,eAAP,CAAuBC,QAAvB,EADf;YAAA;YAAA,OAEsBH,MAAM,CAACC,EAAP,CAAUI,MAAV,CAAiB;cACrCC,IAAI,EAAE,QAD+B;cAErCC,KAAK,EAAE,oBAF8B;cAGrCC,OAAO,EAAE;gBACRC,OAAO,EAAE,CACR;kBACCF,KAAK,EAAE,kBADR;kBAECG,KAAK,EAAE;gBAFR,CADQ,EAKR;kBACCH,KAAK,EAAE,iBADR;kBAECG,KAAK,EAAE;gBAFR,CALQ,EASR;kBACCH,KAAK,qBAAeH,KAAf,MADN;kBAECM,KAAK,EAAE;gBAFR,CATQ;cADD;YAH4B,CAAjB,CAFtB;;UAAA;YAEOC,MAFP;YAAA,cAuBSA,MAvBT;YAAA,gCAwBO,SAxBP,uBAgCO,WAhCP;YAAA;;UAAA;YAyBGX,MAAM,CAACE,eAAP,CAAuBU,KAAvB;YACAZ,MAAM,CAACC,EAAP,CAAUY,UAAV,CAAqB,EAArB;YACAb,MAAM,CAACC,EAAP,CAAUY,UAAV;YAGAb,MAAM,CAACC,EAAP,CAAUY,UAAV,CAAqB,EAArB;;UA9BH;YAAA;YAAA,OAiCSb,MAAM,CAACC,EAAP,CAAUa,YAAV,CAAuB,cAAvB,CAjCT;;UAAA;YAAA;;UAAA;YAAA,MAoCS,IAAIC,KAAJ,CAAU,gDAAV,CApCT;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CARsB;;EAAA;IAAA;EAAA;AAAA,IAAvB;eAiDehB,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/onboard/stores/OnboardingStore.ts"],"names":["OnboardingStore","options","cwd","generateCwd","load","schemasByHome","homeDir","SchemaEntityFactory","Entity","onboardingSchema","values","schema","getValues","writeValues","saved","readValues","setValues","stage","mode","get","set","validate","save","undefined","setMode","home","cwdOverride","diskUtil","createTempDir","AbstractLocalStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;IAaqBA,e;;;;;AASpB,2BAAmBC,OAAnB,EAA0C;AAAA;;AAAA;AACzC,8BAAMA,OAAN;AADyC,6FARnB,YAQmB;AAEzC,UAAKC,GAAL,GAAW,MAAKC,WAAL,EAAX;;AACA,UAAKC,IAAL;;AAHyC;AAIzC;;;;SAED,eAAqB;AACpB,UAAI,CAACJ,eAAe,CAACK,aAAhB,CAA8B,KAAKC,OAAnC,CAAL,EAAkD;AACjDN,QAAAA,eAAe,CAACK,aAAhB,CAA8B,KAAKC,OAAnC,IACCC,4BAAoBC,MAApB,CAA2BC,sBAA3B,CADD;AAEA;;AAED,aAAOT,eAAe,CAACK,aAAhB,CAA8B,KAAKC,OAAnC,CAAP;AACA;;;WAED,gBAAe;AACd,UAAMI,MAAM,GAAG,KAAKC,MAAL,CAAYC,SAAZ,EAAf;AACA,WAAKC,WAAL,CAAiBH,MAAjB;AACA,aAAO,IAAP;AACA;;;WAED,gBAAe;AAAA;;AACd,UAAMI,KAAK,GAAG,KAAKC,UAAL,EAAd;AACA,WAAKJ,MAAL,CAAYK,SAAZ,CAAsB;AACrBC,QAAAA,KAAK,kBAAEH,KAAK,CAACG,KAAR,uDAAiB,IADD;AAErBC,QAAAA,IAAI,iBAAEJ,KAAK,CAACI,IAAR,qDAAgB;AAFC,OAAtB;AAIA,aAAO,IAAP;AACA;;;WAED,mBAAiC;AAChC,aAAO,KAAKP,MAAL,CAAYQ,GAAZ,CAAgB,MAAhB,CAAP;AACA;;;WAED,iBAAeD,IAAf,EAAqC;AACpC,WAAKP,MAAL,CAAYS,GAAZ,CAAgB,MAAhB,EAAwBF,IAAxB;AACA,WAAKP,MAAL,CAAYU,QAAZ;AACA,WAAKC,IAAL;AACA;;;WAED,oBAAkB;AACjB,aAAO,KAAKX,MAAL,CAAYQ,GAAZ,CAAgB,OAAhB,CAAP;AACA;;;WAED,kBAAgBF,KAAhB,EAAwC;AACvC,WAAKN,MAAL,CAAYS,GAAZ,CAAgB,OAAhB,EAAyBH,KAAzB;AACA,WAAKN,MAAL,CAAYU,QAAZ;AACA,WAAKC,IAAL;AACA;;;WAED,iBAAe;AACd,WAAKX,MAAL,CAAYS,GAAZ,CAAgB,OAAhB,EAAyBG,SAAzB;AACA,WAAKC,OAAL,CAAa,KAAb;AACA;;;WAMD,uBAAwB;AAAA;;AACvB,UAAMC,IAAI,4BACTzB,eAAe,CAAC0B,WADP,yEACsBC,2BAASC,aAAT,CAAuB,YAAvB,CADhC;AAEA,aAAOH,IAAP;AACA;;;WARD,qBAA0BvB,GAA1B,EAAuC;AACtC,WAAKwB,WAAL,GAAmBxB,GAAnB;AACA;;;EAlE2C2B,+B;;;iCAAxB7B,e;iCAAAA,e,mBAOhB,E","sourcesContent":["import { SchemaEntityFactory, StaticSchemaEntity } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport onboardingSchema from '#spruce/schemas/spruceCli/v2020_07_22/onboarding.schema'\nimport AbstractLocalStore, {\n\tLocalStoreSettings,\n} from '../../../stores/AbstractLocalStore'\nimport { StoreOptions } from '../../../stores/AbstractStore'\n\nexport interface OnboardingStoreSettings\n\textends LocalStoreSettings,\n\t\tSpruceSchemas.SpruceCli.v2020_07_22.Onboarding {}\n\ntype OnboardingSchema = SpruceSchemas.SpruceCli.v2020_07_22.OnboardingSchema\nexport type OnboardingMode = OnboardingStoreSettings['mode']\nexport type OnboardingStage = OnboardingStoreSettings['stage']\n\nexport default class OnboardingStore extends AbstractLocalStore<OnboardingStoreSettings> {\n\tpublic readonly name = 'onboarding'\n\tprivate static cwdOverride: string\n\n\tprivate static schemasByHome: Record<\n\t\tstring,\n\t\tStaticSchemaEntity<OnboardingSchema>\n\t> = {}\n\n\tpublic constructor(options: StoreOptions) {\n\t\tsuper(options)\n\t\tthis.cwd = this.generateCwd()\n\t\tthis.load()\n\t}\n\n\tprivate get schema() {\n\t\tif (!OnboardingStore.schemasByHome[this.homeDir]) {\n\t\t\tOnboardingStore.schemasByHome[this.homeDir] =\n\t\t\t\tSchemaEntityFactory.Entity(onboardingSchema)\n\t\t}\n\n\t\treturn OnboardingStore.schemasByHome[this.homeDir]\n\t}\n\n\tprivate save() {\n\t\tconst values = this.schema.getValues()\n\t\tthis.writeValues(values)\n\t\treturn this\n\t}\n\n\tprivate load() {\n\t\tconst saved = this.readValues()\n\t\tthis.schema.setValues({\n\t\t\tstage: saved.stage ?? null,\n\t\t\tmode: saved.mode ?? 'off',\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic getMode(): OnboardingMode {\n\t\treturn this.schema.get('mode')\n\t}\n\n\tpublic setMode(mode: OnboardingMode) {\n\t\tthis.schema.set('mode', mode)\n\t\tthis.schema.validate()\n\t\tthis.save()\n\t}\n\n\tpublic getStage() {\n\t\treturn this.schema.get('stage')\n\t}\n\n\tpublic setStage(stage: OnboardingStage) {\n\t\tthis.schema.set('stage', stage)\n\t\tthis.schema.validate()\n\t\tthis.save()\n\t}\n\n\tpublic reset() {\n\t\tthis.schema.set('stage', undefined)\n\t\tthis.setMode('off')\n\t}\n\n\tpublic static overrideCwd(cwd: string) {\n\t\tthis.cwdOverride = cwd\n\t}\n\n\tprotected generateCwd() {\n\t\tconst home =\n\t\t\tOnboardingStore.cwdOverride ?? diskUtil.createTempDir('spruce-cli')\n\t\treturn home\n\t}\n}\n"],"file":"OnboardingStore.js"}
1
+ {"version":3,"file":"OnboardingStore.js","names":["OnboardingStore","options","cwd","generateCwd","load","schemasByHome","homeDir","SchemaEntityFactory","Entity","onboardingSchema","values","schema","getValues","writeValues","saved","readValues","setValues","stage","mode","get","set","validate","save","undefined","setMode","home","cwdOverride","diskUtil","createTempDir","AbstractLocalStore"],"sources":["../../../../src/features/onboard/stores/OnboardingStore.ts"],"sourcesContent":["import { SchemaEntityFactory, StaticSchemaEntity } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport onboardingSchema from '#spruce/schemas/spruceCli/v2020_07_22/onboarding.schema'\nimport AbstractLocalStore, {\n\tLocalStoreSettings,\n} from '../../../stores/AbstractLocalStore'\nimport { StoreOptions } from '../../../stores/AbstractStore'\n\nexport interface OnboardingStoreSettings\n\textends LocalStoreSettings,\n\t\tSpruceSchemas.SpruceCli.v2020_07_22.Onboarding {}\n\ntype OnboardingSchema = SpruceSchemas.SpruceCli.v2020_07_22.OnboardingSchema\nexport type OnboardingMode = OnboardingStoreSettings['mode']\nexport type OnboardingStage = OnboardingStoreSettings['stage']\n\nexport default class OnboardingStore extends AbstractLocalStore<OnboardingStoreSettings> {\n\tpublic readonly name = 'onboarding'\n\tprivate static cwdOverride: string\n\n\tprivate static schemasByHome: Record<\n\t\tstring,\n\t\tStaticSchemaEntity<OnboardingSchema>\n\t> = {}\n\n\tpublic constructor(options: StoreOptions) {\n\t\tsuper(options)\n\t\tthis.cwd = this.generateCwd()\n\t\tthis.load()\n\t}\n\n\tprivate get schema() {\n\t\tif (!OnboardingStore.schemasByHome[this.homeDir]) {\n\t\t\tOnboardingStore.schemasByHome[this.homeDir] =\n\t\t\t\tSchemaEntityFactory.Entity(onboardingSchema)\n\t\t}\n\n\t\treturn OnboardingStore.schemasByHome[this.homeDir]\n\t}\n\n\tprivate save() {\n\t\tconst values = this.schema.getValues()\n\t\tthis.writeValues(values)\n\t\treturn this\n\t}\n\n\tprivate load() {\n\t\tconst saved = this.readValues()\n\t\tthis.schema.setValues({\n\t\t\tstage: saved.stage ?? null,\n\t\t\tmode: saved.mode ?? 'off',\n\t\t})\n\t\treturn this\n\t}\n\n\tpublic getMode(): OnboardingMode {\n\t\treturn this.schema.get('mode')\n\t}\n\n\tpublic setMode(mode: OnboardingMode) {\n\t\tthis.schema.set('mode', mode)\n\t\tthis.schema.validate()\n\t\tthis.save()\n\t}\n\n\tpublic getStage() {\n\t\treturn this.schema.get('stage')\n\t}\n\n\tpublic setStage(stage: OnboardingStage) {\n\t\tthis.schema.set('stage', stage)\n\t\tthis.schema.validate()\n\t\tthis.save()\n\t}\n\n\tpublic reset() {\n\t\tthis.schema.set('stage', undefined)\n\t\tthis.setMode('off')\n\t}\n\n\tpublic static overrideCwd(cwd: string) {\n\t\tthis.cwdOverride = cwd\n\t}\n\n\tprotected generateCwd() {\n\t\tconst home =\n\t\t\tOnboardingStore.cwdOverride ?? diskUtil.createTempDir('spruce-cli')\n\t\treturn home\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;IAaqBA,e;;;;;EASpB,yBAAmBC,OAAnB,EAA0C;IAAA;;IAAA;IACzC,0BAAMA,OAAN;IADyC,yFARnB,YAQmB;IAEzC,MAAKC,GAAL,GAAW,MAAKC,WAAL,EAAX;;IACA,MAAKC,IAAL;;IAHyC;EAIzC;;;;SAED,eAAqB;MACpB,IAAI,CAACJ,eAAe,CAACK,aAAhB,CAA8B,KAAKC,OAAnC,CAAL,EAAkD;QACjDN,eAAe,CAACK,aAAhB,CAA8B,KAAKC,OAAnC,IACCC,4BAAoBC,MAApB,CAA2BC,sBAA3B,CADD;MAEA;;MAED,OAAOT,eAAe,CAACK,aAAhB,CAA8B,KAAKC,OAAnC,CAAP;IACA;;;WAED,gBAAe;MACd,IAAMI,MAAM,GAAG,KAAKC,MAAL,CAAYC,SAAZ,EAAf;MACA,KAAKC,WAAL,CAAiBH,MAAjB;MACA,OAAO,IAAP;IACA;;;WAED,gBAAe;MAAA;;MACd,IAAMI,KAAK,GAAG,KAAKC,UAAL,EAAd;MACA,KAAKJ,MAAL,CAAYK,SAAZ,CAAsB;QACrBC,KAAK,kBAAEH,KAAK,CAACG,KAAR,uDAAiB,IADD;QAErBC,IAAI,iBAAEJ,KAAK,CAACI,IAAR,qDAAgB;MAFC,CAAtB;MAIA,OAAO,IAAP;IACA;;;WAED,mBAAiC;MAChC,OAAO,KAAKP,MAAL,CAAYQ,GAAZ,CAAgB,MAAhB,CAAP;IACA;;;WAED,iBAAeD,IAAf,EAAqC;MACpC,KAAKP,MAAL,CAAYS,GAAZ,CAAgB,MAAhB,EAAwBF,IAAxB;MACA,KAAKP,MAAL,CAAYU,QAAZ;MACA,KAAKC,IAAL;IACA;;;WAED,oBAAkB;MACjB,OAAO,KAAKX,MAAL,CAAYQ,GAAZ,CAAgB,OAAhB,CAAP;IACA;;;WAED,kBAAgBF,KAAhB,EAAwC;MACvC,KAAKN,MAAL,CAAYS,GAAZ,CAAgB,OAAhB,EAAyBH,KAAzB;MACA,KAAKN,MAAL,CAAYU,QAAZ;MACA,KAAKC,IAAL;IACA;;;WAED,iBAAe;MACd,KAAKX,MAAL,CAAYS,GAAZ,CAAgB,OAAhB,EAAyBG,SAAzB;MACA,KAAKC,OAAL,CAAa,KAAb;IACA;;;WAMD,uBAAwB;MAAA;;MACvB,IAAMC,IAAI,4BACTzB,eAAe,CAAC0B,WADP,yEACsBC,2BAASC,aAAT,CAAuB,YAAvB,CADhC;MAEA,OAAOH,IAAP;IACA;;;WARD,qBAA0BvB,GAA1B,EAAuC;MACtC,KAAKwB,WAAL,GAAmBxB,GAAnB;IACA;;;EAlE2C2B,+B;;;iCAAxB7B,e;iCAAAA,e,mBAOhB,E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/organization/OrganizationFeature.ts"],"names":["OrganizationFeature","code","isRequired","diskUtil","resolvePath","__dirname","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,mB;;;;;;;;;;;;;;;6FACO,c;qGACL,c;oGACD,0C;qGACsB,CAC1C;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,UAAU,EAAE;AAFb,KAD0C,EAK1C;AACCD,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,UAAU,EAAE;AAFb,KAL0C,C;4GAUd,E;mGAETC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;EAhB4BC,4B","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\torganization: OrganizationFeature\n\t}\n}\n\nexport default class OrganizationFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'organization'\n\tpublic nameReadable = 'Organization'\n\tpublic description = 'Manage the organizations you are part of'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n}\n"],"file":"OrganizationFeature.js"}
1
+ {"version":3,"file":"OrganizationFeature.js","names":["OrganizationFeature","code","isRequired","diskUtil","resolvePath","__dirname","AbstractFeature"],"sources":["../../../src/features/organization/OrganizationFeature.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\torganization: OrganizationFeature\n\t}\n}\n\nexport default class OrganizationFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'organization'\n\tpublic nameReadable = 'Organization'\n\tpublic description = 'Manage the organizations you are part of'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t\t{\n\t\t\tcode: 'event',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies = []\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,mB;;;;;;;;;;;;;;;6FACO,c;qGACL,c;oGACD,0C;qGACsB,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,EAK1C;MACCD,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAL0C,C;4GAUd,E;mGAETC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;;;;;EAhB4BC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/organization/actions/CreateAction.ts"],"names":["CreateAction","createOrganizationActionSchema","options","validateAndNormalizeOptions","nameReadable","nameKebab","Store","create","name","slug","organization","meta","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IAOqBA,Y;;;;;;;;;;;;;;;sGACGC,qC;0GACI,gC;;;;;;;mGAE3B,iBAAqBC,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,wCAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSE,YADT,yBACSA,YADT,EACuBC,SADvB,yBACuBA,SADvB;AAAA;AAAA,uBAI4B,KAAKC,KAAL,CAAW,cAAX,EAA2BC,MAA3B,CAAkC;AAC5DC,kBAAAA,IAAI,EAAEJ,YADsD;AAE5DK,kBAAAA,IAAI,EAAEJ;AAFsD,iBAAlC,CAJ5B;;AAAA;AAIOK,gBAAAA,YAJP;AAAA,iDASQ;AACNC,kBAAAA,IAAI,EAAE;AACLD,oBAAAA,YAAY,EAAZA;AADK;AADA,iBATR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAJyCE,2B","sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createOrganizationActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateOrganizationOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateOrganizationOptions\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createOrganizationActionSchema\n\tpublic invocationMessage = 'Creating an organization... 🏙'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst organization = await this.Store('organization').create({\n\t\t\tname: nameReadable,\n\t\t\tslug: nameKebab,\n\t\t})\n\n\t\treturn {\n\t\t\tmeta: {\n\t\t\t\torganization,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"file":"CreateAction.js"}
1
+ {"version":3,"file":"CreateAction.js","names":["CreateAction","createOrganizationActionSchema","options","validateAndNormalizeOptions","nameReadable","nameKebab","Store","create","name","slug","organization","meta","AbstractAction"],"sources":["../../../../src/features/organization/actions/CreateAction.ts"],"sourcesContent":["import { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport createOrganizationActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.CreateOrganizationOptionsSchema\ntype Options = SpruceSchemas.SpruceCli.v2020_07_22.CreateOrganizationOptions\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = createOrganizationActionSchema\n\tpublic invocationMessage = 'Creating an organization... 🏙'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameKebab } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst organization = await this.Store('organization').create({\n\t\t\tname: nameReadable,\n\t\t\tslug: nameKebab,\n\t\t})\n\n\t\treturn {\n\t\t\tmeta: {\n\t\t\t\torganization,\n\t\t\t},\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IAOqBA,Y;;;;;;;;;;;;;;;sGACGC,qC;0GACI,gC;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA,wBAEE,KAAKC,2BAAL,CAAiCD,OAAjC,CAFF,EACSE,YADT,yBACSA,YADT,EACuBC,SADvB,yBACuBA,SADvB;gBAAA;gBAAA,OAI4B,KAAKC,KAAL,CAAW,cAAX,EAA2BC,MAA3B,CAAkC;kBAC5DC,IAAI,EAAEJ,YADsD;kBAE5DK,IAAI,EAAEJ;gBAFsD,CAAlC,CAJ5B;;cAAA;gBAIOK,YAJP;gBAAA,iCASQ;kBACNC,IAAI,EAAE;oBACLD,YAAY,EAAZA;kBADK;gBADA,CATR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJyCE,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/organization/actions/InstallAction.ts"],"names":["InstallAction","installSkillAtOrganizationActionSchema","options","Store","loadCurrentSkill","skill","id","SpruceError","code","validateAndNormalizeOptions","organizationId","fetchMyOrganizations","orgs","length","ui","confirm","name","choices","map","o","value","label","prompt","type","isRequired","installSkillAtOrganization","summaryLines","errors","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;IAOqBA,a;;;;;;;;;;;;;;;uGACI,CAAC,eAAD,C;sGACcC,6C;0GACX,+B;;;;;;;mGAE3B,iBAAqBC,OAArB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEsB,KAAKC,KAAL,CAAW,OAAX,EAAoBC,gBAApB,EAFtB;;AAAA;AAEQC,gBAAAA,KAFR;;AAAA,oBAIOA,KAAK,CAACC,EAJb;AAAA;AAAA;AAAA;;AAAA,sBAKS,IAAIC,uBAAJ,CAAgB;AAAEC,kBAAAA,IAAI,EAAE;AAAR,iBAAhB,CALT;;AAAA;AAAA,wCAQ2B,KAAKC,2BAAL,CAAiCP,OAAjC,CAR3B,EAQQQ,cARR,yBAQQA,cARR;;AAAA,oBAUOA,cAVP;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAWsB,KAAKP,KAAL,CAAW,cAAX,EAA2BQ,oBAA3B,EAXtB;;AAAA;AAWSC,gBAAAA,IAXT;;AAAA,sBAaOA,IAAI,CAACC,MAAL,KAAgB,CAbvB;AAAA;AAAA;AAAA;;AAAA,sBAcU,IAAIN,uBAAJ,CAAgB;AACrBC,kBAAAA,IAAI,EAAE;AADe,iBAAhB,CAdV;;AAAA;AAAA,sBAmBOI,IAAI,CAACC,MAAL,KAAgB,CAnBvB;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAoB0B,KAAKC,EAAL,CAAQC,OAAR,8CACiBH,IAAI,CAAC,CAAD,CAAJ,CAAQI,IADzB,OApB1B;;AAAA;AAoBUD,gBAAAA,OApBV;;AAAA,oBAwBSA,OAxBT;AAAA;AAAA;AAAA;;AAAA,iDAyBY,EAzBZ;;AAAA;AA4BIL,gBAAAA,cAAc,GAAGE,IAAI,CAAC,CAAD,CAAJ,CAAQN,EAAzB;AA5BJ;AAAA;;AAAA;AA8BUW,gBAAAA,OA9BV,GA8BoCL,IAAI,CAACM,GAAL,CAAS,UAACC,CAAD;AAAA,yBAAQ;AAChDC,oBAAAA,KAAK,EAAED,CAAC,CAACb,EADuC;AAEhDe,oBAAAA,KAAK,EAAEF,CAAC,CAACH;AAFuC,mBAAR;AAAA,iBAAT,CA9BpC;AAAA;AAAA,uBAmC2B,KAAKF,EAAL,CAAQQ,MAAR,CAAe;AACrCC,kBAAAA,IAAI,EAAE,QAD+B;AAErCF,kBAAAA,KAAK,EAAE,qDAF8B;AAGrCG,kBAAAA,UAAU,EAAE,IAHyB;AAIrCtB,kBAAAA,OAAO,EAAE;AACRe,oBAAAA,OAAO,EAAPA;AADQ;AAJ4B,iBAAf,CAnC3B;;AAAA;AAmCIP,gBAAAA,cAnCJ;;AAAA;AAAA;AAAA,uBA8CQ,KAAKP,KAAL,CAAW,cAAX,EAA2BsB,0BAA3B,CACLpB,KAAK,CAACC,EADD,EAELI,cAFK,CA9CR;;AAAA;AAAA,iDAmDS;AACNgB,kBAAAA,YAAY,EAAE,CAAC,kBAAD;AADR,iBAnDT;;AAAA;AAAA;AAAA;AAAA,iDAuDS;AACNC,kBAAAA,MAAM,EAAE;AADF,iBAvDT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAL0CC,2B","sourcesContent":["import { SelectChoice } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport installSkillAtOrganizationActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.InstallSkillAtOrganizationOptionsSchema\ntype Options =\n\tSpruceSchemas.SpruceCli.v2020_07_22.InstallSkillAtOrganizationOptions\nexport default class InstallAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['install.skill']\n\tpublic optionsSchema: OptionsSchema = installSkillAtOrganizationActionSchema\n\tpublic invocationMessage = 'Installing skill at org... 🏙'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\t\tif (!skill.id) {\n\t\t\t\tthrow new SpruceError({ code: 'SKILL_NOT_REGISTERED' })\n\t\t\t}\n\n\t\t\tlet { organizationId } = this.validateAndNormalizeOptions(options)\n\n\t\t\tif (!organizationId) {\n\t\t\t\tconst orgs = await this.Store('organization').fetchMyOrganizations()\n\n\t\t\t\tif (orgs.length === 0) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'NO_ORGANIZATIONS_FOUND',\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (orgs.length === 1) {\n\t\t\t\t\tconst confirm = await this.ui.confirm(\n\t\t\t\t\t\t`You ready to install your skill at ${orgs[0].name}?`\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!confirm) {\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t}\n\n\t\t\t\t\torganizationId = orgs[0].id\n\t\t\t\t} else {\n\t\t\t\t\tconst choices: SelectChoice[] = orgs.map((o) => ({\n\t\t\t\t\t\tvalue: o.id,\n\t\t\t\t\t\tlabel: o.name,\n\t\t\t\t\t}))\n\n\t\t\t\t\torganizationId = await this.ui.prompt({\n\t\t\t\t\t\ttype: 'select',\n\t\t\t\t\t\tlabel: 'Which organization should we install your skill to?',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tchoices,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait this.Store('organization').installSkillAtOrganization(\n\t\t\t\tskill.id,\n\t\t\t\torganizationId\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines: ['Skill installed!'],\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"file":"InstallAction.js"}
1
+ {"version":3,"file":"InstallAction.js","names":["InstallAction","installSkillAtOrganizationActionSchema","options","Store","loadCurrentSkill","skill","id","SpruceError","code","validateAndNormalizeOptions","organizationId","fetchMyOrganizations","orgs","length","ui","confirm","name","choices","map","o","value","label","prompt","type","isRequired","installSkillAtOrganization","summaryLines","errors","AbstractAction"],"sources":["../../../../src/features/organization/actions/InstallAction.ts"],"sourcesContent":["import { SelectChoice } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport installSkillAtOrganizationActionSchema from '#spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\ntype OptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.InstallSkillAtOrganizationOptionsSchema\ntype Options =\n\tSpruceSchemas.SpruceCli.v2020_07_22.InstallSkillAtOrganizationOptions\nexport default class InstallAction extends AbstractAction<OptionsSchema> {\n\tpublic commandAliases = ['install.skill']\n\tpublic optionsSchema: OptionsSchema = installSkillAtOrganizationActionSchema\n\tpublic invocationMessage = 'Installing skill at org... 🏙'\n\n\tpublic async execute(options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tconst skill = await this.Store('skill').loadCurrentSkill()\n\n\t\t\tif (!skill.id) {\n\t\t\t\tthrow new SpruceError({ code: 'SKILL_NOT_REGISTERED' })\n\t\t\t}\n\n\t\t\tlet { organizationId } = this.validateAndNormalizeOptions(options)\n\n\t\t\tif (!organizationId) {\n\t\t\t\tconst orgs = await this.Store('organization').fetchMyOrganizations()\n\n\t\t\t\tif (orgs.length === 0) {\n\t\t\t\t\tthrow new SpruceError({\n\t\t\t\t\t\tcode: 'NO_ORGANIZATIONS_FOUND',\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (orgs.length === 1) {\n\t\t\t\t\tconst confirm = await this.ui.confirm(\n\t\t\t\t\t\t`You ready to install your skill at ${orgs[0].name}?`\n\t\t\t\t\t)\n\n\t\t\t\t\tif (!confirm) {\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t}\n\n\t\t\t\t\torganizationId = orgs[0].id\n\t\t\t\t} else {\n\t\t\t\t\tconst choices: SelectChoice[] = orgs.map((o) => ({\n\t\t\t\t\t\tvalue: o.id,\n\t\t\t\t\t\tlabel: o.name,\n\t\t\t\t\t}))\n\n\t\t\t\t\torganizationId = await this.ui.prompt({\n\t\t\t\t\t\ttype: 'select',\n\t\t\t\t\t\tlabel: 'Which organization should we install your skill to?',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tchoices,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait this.Store('organization').installSkillAtOrganization(\n\t\t\t\tskill.id,\n\t\t\t\torganizationId\n\t\t\t)\n\n\t\t\treturn {\n\t\t\t\tsummaryLines: ['Skill installed!'],\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treturn {\n\t\t\t\terrors: [err],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;IAOqBA,a;;;;;;;;;;;;;;;uGACI,CAAC,eAAD,C;sGACcC,6C;0GACX,+B;;;;;;;mGAE3B,iBAAqBC,OAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;gBAAA,OAEsB,KAAKC,KAAL,CAAW,OAAX,EAAoBC,gBAApB,EAFtB;;cAAA;gBAEQC,KAFR;;gBAAA,IAIOA,KAAK,CAACC,EAJb;kBAAA;kBAAA;gBAAA;;gBAAA,MAKS,IAAIC,uBAAJ,CAAgB;kBAAEC,IAAI,EAAE;gBAAR,CAAhB,CALT;;cAAA;gBAAA,wBAQ2B,KAAKC,2BAAL,CAAiCP,OAAjC,CAR3B,EAQQQ,cARR,yBAQQA,cARR;;gBAAA,IAUOA,cAVP;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAWsB,KAAKP,KAAL,CAAW,cAAX,EAA2BQ,oBAA3B,EAXtB;;cAAA;gBAWSC,IAXT;;gBAAA,MAaOA,IAAI,CAACC,MAAL,KAAgB,CAbvB;kBAAA;kBAAA;gBAAA;;gBAAA,MAcU,IAAIN,uBAAJ,CAAgB;kBACrBC,IAAI,EAAE;gBADe,CAAhB,CAdV;;cAAA;gBAAA,MAmBOI,IAAI,CAACC,MAAL,KAAgB,CAnBvB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OAoB0B,KAAKC,EAAL,CAAQC,OAAR,8CACiBH,IAAI,CAAC,CAAD,CAAJ,CAAQI,IADzB,OApB1B;;cAAA;gBAoBUD,OApBV;;gBAAA,IAwBSA,OAxBT;kBAAA;kBAAA;gBAAA;;gBAAA,iCAyBY,EAzBZ;;cAAA;gBA4BIL,cAAc,GAAGE,IAAI,CAAC,CAAD,CAAJ,CAAQN,EAAzB;gBA5BJ;gBAAA;;cAAA;gBA8BUW,OA9BV,GA8BoCL,IAAI,CAACM,GAAL,CAAS,UAACC,CAAD;kBAAA,OAAQ;oBAChDC,KAAK,EAAED,CAAC,CAACb,EADuC;oBAEhDe,KAAK,EAAEF,CAAC,CAACH;kBAFuC,CAAR;gBAAA,CAAT,CA9BpC;gBAAA;gBAAA,OAmC2B,KAAKF,EAAL,CAAQQ,MAAR,CAAe;kBACrCC,IAAI,EAAE,QAD+B;kBAErCF,KAAK,EAAE,qDAF8B;kBAGrCG,UAAU,EAAE,IAHyB;kBAIrCtB,OAAO,EAAE;oBACRe,OAAO,EAAPA;kBADQ;gBAJ4B,CAAf,CAnC3B;;cAAA;gBAmCIP,cAnCJ;;cAAA;gBAAA;gBAAA,OA8CQ,KAAKP,KAAL,CAAW,cAAX,EAA2BsB,0BAA3B,CACLpB,KAAK,CAACC,EADD,EAELI,cAFK,CA9CR;;cAAA;gBAAA,iCAmDS;kBACNgB,YAAY,EAAE,CAAC,kBAAD;gBADR,CAnDT;;cAAA;gBAAA;gBAAA;gBAAA,iCAuDS;kBACNC,MAAM,EAAE;gBADF,CAvDT;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAL0CC,2B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/organization/stores/OrganizationStore.ts"],"names":["OrganizationStore","skillId","orgId","connectToApi","client","emit","target","organizationId","payload","results","eventResponseUtil","getFirstResponseOrThrow","isInstalled","shouldOnlyShowMine","organizations","values","name","slug","organization","AbstractStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,iB;;;;;;;;;;;;;;;6FACN,c;;;;;;;iHAEd,iBAAmCC,OAAnC,EAAoDC,KAApD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACsB,KAAKC,YAAL,EADtB;;AAAA;AACOC,gBAAAA,MADP;AAAA;AAAA,uBAEuBA,MAAM,CAACC,IAAP,CAAY,iCAAZ,EAA+C;AACpEC,kBAAAA,MAAM,EAAE;AACPC,oBAAAA,cAAc,EAAEL;AADT,mBAD4D;AAIpEM,kBAAAA,OAAO,EAAE;AACRP,oBAAAA,OAAO,EAAPA;AADQ;AAJ2D,iBAA/C,CAFvB;;AAAA;AAEOQ,gBAAAA,OAFP;AAAA,wCAWyBC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAXzB,EAWSG,WAXT,yBAWSA,WAXT;AAAA,iDAaQA,WAbR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sHAgBA,kBACCX,OADD,EAECC,KAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAIsB,KAAKC,YAAL,EAJtB;;AAAA;AAIOC,gBAAAA,MAJP;AAAA;AAAA,uBAMuBA,MAAM,CAACC,IAAP,CAAY,4BAAZ,EAA0C;AAC/DC,kBAAAA,MAAM,EAAE;AACPC,oBAAAA,cAAc,EAAEL;AADT,mBADuD;AAI/DM,kBAAAA,OAAO,EAAE;AACRP,oBAAAA,OAAO,EAAPA;AADQ;AAJsD,iBAA1C,CANvB;;AAAA;AAMOQ,gBAAAA,OANP;;AAeCC,oDAAkBC,uBAAlB,CAA0CF,OAA1C;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;gHAkBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACsB,KAAKN,YAAL,EADtB;;AAAA;AACOC,gBAAAA,MADP;AAAA;AAAA,uBAEuBA,MAAM,CAACC,IAAP,CAAY,iCAAZ,EAA+C;AACpEG,kBAAAA,OAAO,EAAE;AACRK,oBAAAA,kBAAkB,EAAE;AADZ;AAD2D,iBAA/C,CAFvB;;AAAA;AAEOJ,gBAAAA,OAFP;AAAA,yCAQ2BC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAR3B,EAQSK,aART,0BAQSA,aART;AAAA,kDAUQA,aAVR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kGAaA,kBAAoBC,MAApB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACSC,gBAAAA,IADT,GACwBD,MADxB,CACSC,IADT,EACeC,IADf,GACwBF,MADxB,CACeE,IADf;AAAA;AAAA,uBAGsB,KAAKd,YAAL,EAHtB;;AAAA;AAGOC,gBAAAA,MAHP;AAAA;AAAA,uBAKuBA,MAAM,CAACC,IAAP,CAAY,kCAAZ,EAAgD;AACrEG,kBAAAA,OAAO,EAAE;AACRQ,oBAAAA,IAAI,EAAJA,IADQ;AAERC,oBAAAA,IAAI,EAAJA;AAFQ;AAD4D,iBAAhD,CALvB;;AAAA;AAKOR,gBAAAA,OALP;AAAA,yCAY0BC,oCAAkBC,uBAAlB,CAA0CF,OAA1C,CAZ1B,EAYSS,YAZT,0BAYSA,YAZT;AAAA,kDAcQA,YAdR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8GAiBA,kBAAgChB,KAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACsB,KAAKC,YAAL,EADtB;;AAAA;AACOC,gBAAAA,MADP;AAAA;AAAA,uBAGuBA,MAAM,CAACC,IAAP,CAAY,kCAAZ,EAAgD;AACrEC,kBAAAA,MAAM,EAAE;AACPC,oBAAAA,cAAc,EAAEL;AADT;AAD6D,iBAAhD,CAHvB;;AAAA;AAGOO,gBAAAA,OAHP;;AASCC,oDAAkBC,uBAAlB,CAA0CF,OAA1C;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAnE8CU,0B","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"],"file":"OrganizationStore.js"}
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,"sources":["../../../src/features/person/PersonFeature.ts"],"names":["PersonFeature","code","isRequired","diskUtil","resolvePath","__dirname","featureInstaller","isInstalled","AbstractFeature"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IASqBA,a;;;;;;;;;;;;;;;6FACO,Q;qGACL,Q;oGACD,uB;qGACsB,CAC1C;AACCC,MAAAA,IAAI,EAAE,OADP;AAECC,MAAAA,UAAU,EAAE;AAFb,KAD0C,C;4GAMd,E;mGAETC,2BAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;oGAEC,YAAM;AAC1B,aAAO,MAAKC,gBAAL,CAAsBC,WAAtB,CAAkC,OAAlC,CAAP;AACA,K;;;;;EAhByCC,4B","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"],"file":"PersonFeature.js"}
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 +1 @@
1
- {"version":3,"sources":["../../../../src/features/person/actions/LoginAction.ts"],"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"],"mappings":"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","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"],"file":"LoginAction.js"}
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 +1 @@
1
- {"version":3,"sources":["../../../../src/features/person/actions/LogoutAction.ts"],"names":["optionsSchema","id","description","fields","LogoutAction","auth","Service","person","getLoggedInPerson","errors","SpruceError","code","logOutPerson","summaryLines","AbstractAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,yBAAY;AACjCC,EAAAA,EAAE,EAAE,cAD6B;AAEjCC,EAAAA,WAAW,EAAE,qBAFoB;AAGjCC,EAAAA,MAAM,EAAE;AAHyB,CAAZ,CAAtB;;IAOqBC,Y;;;;;;;;;;;;;;;sGACkBJ,a;uGACd,CAAC,QAAD,C;0GACG,mB;;;;;;;mGAE3B;AAAA;AAAA;AAAA;AAAA;AAAA;AACOK,gBAAAA,IADP,GACc,KAAKC,OAAL,CAAa,MAAb,CADd;AAEOC,gBAAAA,MAFP,GAEgBF,IAAI,CAACG,iBAAL,EAFhB;;AAAA,oBAIMD,MAJN;AAAA;AAAA;AAAA;;AAAA,iDAKS;AACNE,kBAAAA,MAAM,EAAE,CACP,IAAIC,uBAAJ,CAAgB;AACfC,oBAAAA,IAAI,EAAE;AADS,mBAAhB,CADO;AADF,iBALT;;AAAA;AAcCN,gBAAAA,IAAI,CAACO,YAAL;AAdD,iDAgBQ;AACNC,kBAAAA,YAAY,EAAE,CAAC,2BAAD;AADR,iBAhBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EALyCC,2B","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"],"file":"LogoutAction.js"}
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"}