@sprucelabs/spruce-cli 18.1.8 → 18.3.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 (362) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/.spruce/events/events.contract.d.ts +159 -0
  3. package/build/.spruce/events/events.contract.js +5 -1
  4. package/build/.spruce/events/events.contract.js.map +1 -1
  5. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
  6. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
  7. package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
  8. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
  9. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
  10. package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
  11. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
  12. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
  13. package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
  14. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
  15. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
  16. package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
  17. package/build/.spruce/schemas/schemas.types.d.ts +158 -55
  18. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
  25. package/build/.spruce/settings.json +2 -1
  26. package/build/GlobalEmitter.d.ts +13 -38
  27. package/build/GlobalEmitter.js +3 -6
  28. package/build/GlobalEmitter.js.map +1 -1
  29. package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
  30. package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
  31. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  32. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
  33. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  34. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  35. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
  36. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  37. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
  38. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
  39. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  40. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
  41. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
  42. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
  43. package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +12 -2
  44. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +248 -36
  45. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  46. package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
  47. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
  48. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
  49. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
  50. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
  51. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  52. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
  53. package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
  54. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
  55. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
  56. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
  57. package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
  58. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
  59. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
  60. package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
  61. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
  62. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
  63. package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
  64. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
  65. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
  66. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  67. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  68. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  69. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
  70. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  71. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
  72. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  73. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
  74. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  75. package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
  76. package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
  77. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  78. package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
  79. package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
  80. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  81. package/build/__tests__/implementation/SkillStore.test.js +3 -4
  82. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  83. package/build/__tests__/support/EventFaker.d.ts +5 -0
  84. package/build/__tests__/support/EventFaker.js +48 -0
  85. package/build/__tests__/support/EventFaker.js.map +1 -0
  86. package/build/features/AbstractAction.d.ts +1 -1
  87. package/build/features/AbstractAction.js.map +1 -1
  88. package/build/features/AbstractFeature.d.ts +3 -3
  89. package/build/features/AbstractFeature.js +8 -8
  90. package/build/features/AbstractFeature.js.map +1 -1
  91. package/build/features/ActionExecuter.d.ts +1 -1
  92. package/build/features/ActionExecuter.js +3 -4
  93. package/build/features/ActionExecuter.js.map +1 -1
  94. package/build/features/ActionFactory.d.ts +12 -5
  95. package/build/features/ActionFactory.js +27 -6
  96. package/build/features/ActionFactory.js.map +1 -1
  97. package/build/features/ActionQuestionAsker.d.ts +1 -1
  98. package/build/features/ActionQuestionAsker.js +6 -6
  99. package/build/features/ActionQuestionAsker.js.map +1 -1
  100. package/build/features/conversation/ConversationFeature.js +1 -1
  101. package/build/features/conversation/ConversationFeature.js.map +1 -1
  102. package/build/features/dependencies/DependencyFeature.js +1 -1
  103. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  104. package/build/features/deploy/actions/HerokuAction.js +31 -33
  105. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  106. package/build/features/error/ErrorFeature.js +4 -4
  107. package/build/features/error/ErrorFeature.js.map +1 -1
  108. package/build/features/event/EventFeature.d.ts +8 -8
  109. package/build/features/event/EventFeature.js +7 -4
  110. package/build/features/event/EventFeature.js.map +1 -1
  111. package/build/features/event/actions/CreateAction.js.map +1 -1
  112. package/build/features/event/actions/ListenAction.js.map +1 -1
  113. package/build/features/event/stores/EventStore.d.ts +9 -9
  114. package/build/features/event/stores/EventStore.js +26 -26
  115. package/build/features/event/stores/EventStore.js.map +1 -1
  116. package/build/features/eventContract/EventContractFeature.js +4 -1
  117. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  118. package/build/features/eventContract/actions/PullAction.js +10 -5
  119. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  120. package/build/features/features.types.d.ts +2 -37
  121. package/build/features/features.types.js +0 -41
  122. package/build/features/features.types.js.map +1 -1
  123. package/build/features/log/LogFeature.js +1 -1
  124. package/build/features/log/LogFeature.js.map +1 -1
  125. package/build/features/node/NodeFeature.js.map +1 -1
  126. package/build/features/organization/actions/InstallAction.js.map +1 -1
  127. package/build/features/permission/PermissionFeature.d.ts +12 -2
  128. package/build/features/permission/PermissionFeature.js +140 -15
  129. package/build/features/permission/PermissionFeature.js.map +1 -1
  130. package/build/features/permission/actions/CreateAction.js +4 -1
  131. package/build/features/permission/actions/CreateAction.js.map +1 -1
  132. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  133. package/build/features/permission/actions/SyncAction.js +28 -10
  134. package/build/features/permission/actions/SyncAction.js.map +1 -1
  135. package/build/features/permission/stores/PermissionStore.d.ts +7 -1
  136. package/build/features/permission/stores/PermissionStore.js +92 -23
  137. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  138. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  139. package/build/features/permission/writers/PermissionWriter.js +66 -17
  140. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  141. package/build/features/person/PersonFeature.js +1 -1
  142. package/build/features/person/PersonFeature.js.map +1 -1
  143. package/build/features/sandbox/SandboxFeature.js +1 -1
  144. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  145. package/build/features/schema/SchemaFeature.d.ts +8 -8
  146. package/build/features/schema/SchemaFeature.js +4 -4
  147. package/build/features/schema/SchemaFeature.js.map +1 -1
  148. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  149. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  150. package/build/features/skill/SkillFeature.d.ts +11 -11
  151. package/build/features/skill/SkillFeature.js +2 -2
  152. package/build/features/skill/SkillFeature.js.map +1 -1
  153. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  154. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  155. package/build/features/skill/stores/SkillStore.js +1 -2
  156. package/build/features/skill/stores/SkillStore.js.map +1 -1
  157. package/build/features/store/StoreFeature.js +1 -1
  158. package/build/features/store/StoreFeature.js.map +1 -1
  159. package/build/features/store/actions/SyncAction.d.ts +1 -1
  160. package/build/features/store/actions/SyncAction.js.map +1 -1
  161. package/build/features/test/TestFeature.js +1 -1
  162. package/build/features/test/TestFeature.js.map +1 -1
  163. package/build/features/view/ViewFeature.js +1 -1
  164. package/build/features/view/ViewFeature.js.map +1 -1
  165. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  166. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  167. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  168. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  169. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  170. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  171. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  172. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  173. package/build/services/CommandService.d.ts +2 -2
  174. package/build/services/CommandService.js +6 -6
  175. package/build/services/CommandService.js.map +1 -1
  176. package/build/services/PkgService.d.ts +1 -0
  177. package/build/services/PkgService.js +5 -0
  178. package/build/services/PkgService.js.map +1 -1
  179. package/build/tests/AbstractCliTest.d.ts +7 -3
  180. package/build/tests/AbstractCliTest.js +81 -45
  181. package/build/tests/AbstractCliTest.js.map +1 -1
  182. package/build/tests/buildTestCache.js +7 -0
  183. package/build/tests/buildTestCache.js.map +1 -1
  184. package/build/tests/fixtures/FeatureFixture.js +1 -0
  185. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  186. package/build/tests/utilities/test.utility.d.ts +2 -0
  187. package/build/tests/utilities/test.utility.js +6 -0
  188. package/build/tests/utilities/test.utility.js.map +1 -1
  189. package/node_modules/@typescript-eslint/parser/package.json +6 -6
  190. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +9 -9
  191. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
  192. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts +1 -1
  193. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts.map +1 -1
  194. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +1 -1
  195. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +1 -1
  196. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +1 -0
  197. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +1 -1
  198. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +21 -7
  199. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +1 -1
  200. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.d.ts.map +1 -1
  201. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts +3 -0
  202. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts.map +1 -0
  203. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js +12 -0
  204. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js.map +1 -0
  205. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js +2 -1
  206. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js.map +1 -1
  207. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +1 -0
  208. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +1 -1
  209. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +2 -0
  210. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +1 -1
  211. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +1 -1
  212. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map +1 -1
  213. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js +2 -0
  214. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map +1 -1
  215. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +39 -1
  216. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +1 -1
  217. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  218. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  219. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  220. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  221. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts +1 -1
  222. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts.map +1 -1
  223. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts +2 -2
  224. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
  225. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +9 -9
  226. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
  227. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +17 -17
  228. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map +1 -1
  229. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  230. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  231. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  232. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  233. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts +1 -1
  234. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts.map +1 -1
  235. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts +1 -1
  236. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map +1 -1
  237. package/node_modules/@typescript-eslint/scope-manager/package.json +12 -12
  238. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +27 -3
  239. package/node_modules/@typescript-eslint/types/_ts3.4/dist/lib.d.ts +1 -1
  240. package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +3 -3
  241. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +27 -3
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +3 -0
  244. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  245. package/node_modules/@typescript-eslint/types/dist/lib.d.ts +1 -1
  246. package/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +1 -1
  247. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +3 -3
  248. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  249. package/node_modules/@typescript-eslint/types/package.json +3 -3
  250. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +1 -1
  251. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +2 -2
  252. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +1 -1
  253. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser.d.ts +1 -1
  254. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/simple-traverse.d.ts +1 -1
  255. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
  256. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +4 -2
  257. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  258. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +22 -3
  259. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  260. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +1 -1
  261. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js +9 -0
  262. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +1 -1
  263. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +1 -1
  264. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  265. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +2 -2
  266. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
  267. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +1 -1
  268. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +1 -1
  269. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  270. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts +1 -1
  271. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
  272. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts +1 -1
  273. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts.map +1 -1
  274. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
  275. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  276. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +4 -2
  277. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  278. package/node_modules/@typescript-eslint/typescript-estree/package.json +6 -6
  279. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  280. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -48
  281. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  282. package/node_modules/@typescript-eslint/visitor-keys/package.json +4 -4
  283. package/package.json +65 -33
  284. package/src/.spruce/events/events.contract.ts +24 -0
  285. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  286. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  287. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  288. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  289. package/src/.spruce/schemas/schemas.types.ts +171 -52
  290. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  291. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  292. package/src/.spruce/settings.json +2 -1
  293. package/src/GlobalEmitter.ts +2 -7
  294. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  295. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  296. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  297. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  298. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  299. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +204 -23
  300. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +23 -0
  301. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  302. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  303. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  304. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  305. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  306. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  307. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  308. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  309. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  310. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  311. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  312. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  313. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  314. package/src/__tests__/support/EventFaker.ts +23 -0
  315. package/src/features/AbstractAction.ts +2 -2
  316. package/src/features/AbstractFeature.ts +8 -8
  317. package/src/features/ActionExecuter.ts +4 -5
  318. package/src/features/ActionFactory.ts +44 -20
  319. package/src/features/ActionQuestionAsker.ts +17 -17
  320. package/src/features/conversation/ConversationFeature.ts +1 -1
  321. package/src/features/dependencies/DependencyFeature.ts +1 -1
  322. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  323. package/src/features/error/ErrorFeature.ts +4 -4
  324. package/src/features/event/EventFeature.ts +15 -14
  325. package/src/features/event/actions/CreateAction.ts +1 -1
  326. package/src/features/event/actions/ListenAction.ts +1 -1
  327. package/src/features/event/stores/EventStore.ts +37 -37
  328. package/src/features/eventContract/EventContractFeature.ts +6 -1
  329. package/src/features/eventContract/actions/PullAction.ts +7 -3
  330. package/src/features/features.types.ts +4 -41
  331. package/src/features/log/LogFeature.ts +1 -1
  332. package/src/features/node/NodeFeature.ts +1 -1
  333. package/src/features/organization/actions/InstallAction.ts +1 -1
  334. package/src/features/permission/PermissionFeature.ts +66 -11
  335. package/src/features/permission/actions/CreateAction.ts +2 -0
  336. package/src/features/permission/actions/SyncAction.ts +22 -3
  337. package/src/features/permission/stores/PermissionStore.ts +44 -3
  338. package/src/features/permission/writers/PermissionWriter.ts +64 -3
  339. package/src/features/person/PersonFeature.ts +1 -1
  340. package/src/features/sandbox/SandboxFeature.ts +1 -3
  341. package/src/features/schema/SchemaFeature.ts +14 -14
  342. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  343. package/src/features/skill/SkillFeature.ts +18 -18
  344. package/src/features/skill/actions/RebuildAction.ts +1 -1
  345. package/src/features/skill/actions/RegisterAction.ts +1 -1
  346. package/src/features/skill/stores/SkillStore.ts +1 -2
  347. package/src/features/store/StoreFeature.ts +1 -1
  348. package/src/features/store/actions/SyncAction.ts +1 -1
  349. package/src/features/test/TestFeature.ts +1 -1
  350. package/src/features/view/ViewFeature.ts +1 -1
  351. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  352. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  353. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  354. package/src/services/CommandService.ts +5 -5
  355. package/src/services/PkgService.ts +4 -0
  356. package/src/tests/AbstractCliTest.ts +31 -13
  357. package/src/tests/buildTestCache.ts +7 -0
  358. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  359. package/src/tests/utilities/test.utility.ts +13 -0
  360. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  361. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  362. package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
@@ -0,0 +1,3 @@
1
+ import { SpruceSchemas } from '../../schemas.types';
2
+ declare const actionResponseSchema: SpruceSchemas.SpruceCli.v2020_07_22.ActionResponseSchema;
3
+ export default actionResponseSchema;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _schema = require("@sprucelabs/schema");
9
+ var _generatedFile = _interopRequireDefault(require("./generatedFile.schema"));
10
+ var _npmPackage = _interopRequireDefault(require("./npmPackage.schema"));
11
+ var actionResponseSchema = {
12
+ id: 'actionResponse',
13
+ version: 'v2020_07_22',
14
+ namespace: 'SpruceCli',
15
+ name: 'Action response',
16
+ fields: {
17
+ /** . */
18
+ 'files': {
19
+ type: 'schema',
20
+ isArray: true,
21
+ options: {
22
+ schema: _generatedFile["default"]
23
+ }
24
+ },
25
+ /** . */
26
+ 'headline': {
27
+ type: 'text',
28
+ options: undefined
29
+ },
30
+ /** . */
31
+ 'hints': {
32
+ type: 'text',
33
+ isArray: true,
34
+ options: undefined
35
+ },
36
+ /** . */
37
+ 'summaryLines': {
38
+ type: 'text',
39
+ isArray: true,
40
+ options: undefined
41
+ },
42
+ /** . */
43
+ 'errors': {
44
+ type: 'raw',
45
+ isArray: true,
46
+ options: {
47
+ valueType: "AbstractSpruceError<any>"
48
+ }
49
+ },
50
+ /** . */
51
+ 'meta': {
52
+ type: 'raw',
53
+ options: {
54
+ valueType: "Record<string, any>"
55
+ }
56
+ },
57
+ /** . */
58
+ 'packagesInstalled': {
59
+ type: 'schema',
60
+ isArray: true,
61
+ options: {
62
+ schema: _npmPackage["default"]
63
+ }
64
+ }
65
+ }
66
+ };
67
+ _schema.SchemaRegistry.getInstance().trackSchema(actionResponseSchema);
68
+ var _default = actionResponseSchema;
69
+ exports["default"] = _default;
70
+ //# sourceMappingURL=actionResponse.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionResponse.schema.js","names":["actionResponseSchema","id","version","namespace","name","fields","type","isArray","options","schema","generatedFileSchema_v2020_07_22","undefined","valueType","npmPackageSchema_v2020_07_22","SchemaRegistry","getInstance","trackSchema"],"sources":["../../../../../src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts"],"sourcesContent":["import { SchemaRegistry } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '../../schemas.types'\n\nimport generatedFileSchema_v2020_07_22 from '#spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema'\nimport npmPackageSchema_v2020_07_22 from '#spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema'\n\nconst actionResponseSchema: SpruceSchemas.SpruceCli.v2020_07_22.ActionResponseSchema = {\n\tid: 'actionResponse',\n\tversion: 'v2020_07_22',\n\tnamespace: 'SpruceCli',\n\tname: 'Action response',\n\t fields: {\n\t /** . */\n\t 'files': {\n\t type: 'schema',\n\t isArray: true,\n\t options: {schema: generatedFileSchema_v2020_07_22,}\n\t },\n\t /** . */\n\t 'headline': {\n\t type: 'text',\n\t options: undefined\n\t },\n\t /** . */\n\t 'hints': {\n\t type: 'text',\n\t isArray: true,\n\t options: undefined\n\t },\n\t /** . */\n\t 'summaryLines': {\n\t type: 'text',\n\t isArray: true,\n\t options: undefined\n\t },\n\t /** . */\n\t 'errors': {\n\t type: 'raw',\n\t isArray: true,\n\t options: {valueType: `AbstractSpruceError<any>`,}\n\t },\n\t /** . */\n\t 'meta': {\n\t type: 'raw',\n\t options: {valueType: `Record<string, any>`,}\n\t },\n\t /** . */\n\t 'packagesInstalled': {\n\t type: 'schema',\n\t isArray: true,\n\t options: {schema: npmPackageSchema_v2020_07_22,}\n\t },\n\t }\n}\n\nSchemaRegistry.getInstance().trackSchema(actionResponseSchema)\n\nexport default actionResponseSchema\n"],"mappings":";;;;;;;AAAA;AAGA;AACA;AAEA,IAAMA,oBAA8E,GAAI;EACvFC,EAAE,EAAE,gBAAgB;EACpBC,OAAO,EAAE,aAAa;EACtBC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,iBAAiB;EACnBC,MAAM,EAAE;IACA;IACA,OAAO,EAAE;MACLC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QAACC,MAAM,EAAEC;MAAgC;IACtD,CAAC;IACD;IACA,UAAU,EAAE;MACRJ,IAAI,EAAE,MAAM;MACZE,OAAO,EAAEG;IACb,CAAC;IACD;IACA,OAAO,EAAE;MACLL,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAEG;IACb,CAAC;IACD;IACA,cAAc,EAAE;MACZL,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAEG;IACb,CAAC;IACD;IACA,QAAQ,EAAE;MACNL,IAAI,EAAE,KAAK;MACXC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QAACI,SAAS;MAA6B;IACpD,CAAC;IACD;IACA,MAAM,EAAE;MACJN,IAAI,EAAE,KAAK;MACXE,OAAO,EAAE;QAACI,SAAS;MAAwB;IAC/C,CAAC;IACD;IACA,mBAAmB,EAAE;MACjBN,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE;QAACC,MAAM,EAAEI;MAA6B;IACnD;EACR;AACL,CAAC;AAEDC,sBAAc,CAACC,WAAW,EAAE,CAACC,WAAW,CAAChB,oBAAoB,CAAC;AAAA,eAE/CA,oBAAoB;AAAA"}
@@ -0,0 +1,3 @@
1
+ import { SpruceSchemas } from '../../schemas.types';
2
+ declare const npmPackageSchema: SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema;
3
+ export default npmPackageSchema;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _schema = require("@sprucelabs/schema");
8
+ var npmPackageSchema = {
9
+ id: 'npmPackage',
10
+ version: 'v2020_07_22',
11
+ namespace: 'SpruceCli',
12
+ name: '',
13
+ fields: {
14
+ /** . */
15
+ 'name': {
16
+ type: 'text',
17
+ isRequired: true,
18
+ options: undefined
19
+ },
20
+ /** . */
21
+ 'version': {
22
+ type: 'text',
23
+ options: undefined
24
+ },
25
+ /** . */
26
+ 'isDev': {
27
+ type: 'boolean',
28
+ options: undefined
29
+ }
30
+ }
31
+ };
32
+ _schema.SchemaRegistry.getInstance().trackSchema(npmPackageSchema);
33
+ var _default = npmPackageSchema;
34
+ exports["default"] = _default;
35
+ //# sourceMappingURL=npmPackage.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npmPackage.schema.js","names":["npmPackageSchema","id","version","namespace","name","fields","type","isRequired","options","undefined","SchemaRegistry","getInstance","trackSchema"],"sources":["../../../../../src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts"],"sourcesContent":["import { SchemaRegistry } from '@sprucelabs/schema'\nimport { SpruceSchemas } from '../../schemas.types'\n\n\n\nconst npmPackageSchema: SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema = {\n\tid: 'npmPackage',\n\tversion: 'v2020_07_22',\n\tnamespace: 'SpruceCli',\n\tname: '',\n\t fields: {\n\t /** . */\n\t 'name': {\n\t type: 'text',\n\t isRequired: true,\n\t options: undefined\n\t },\n\t /** . */\n\t 'version': {\n\t type: 'text',\n\t options: undefined\n\t },\n\t /** . */\n\t 'isDev': {\n\t type: 'boolean',\n\t options: undefined\n\t },\n\t }\n}\n\nSchemaRegistry.getInstance().trackSchema(npmPackageSchema)\n\nexport default npmPackageSchema\n"],"mappings":";;;;;;AAAA;AAKA,IAAMA,gBAAsE,GAAI;EAC/EC,EAAE,EAAE,YAAY;EAChBC,OAAO,EAAE,aAAa;EACtBC,SAAS,EAAE,WAAW;EACtBC,IAAI,EAAE,EAAE;EACJC,MAAM,EAAE;IACA;IACA,MAAM,EAAE;MACJC,IAAI,EAAE,MAAM;MACZC,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAEC;IACb,CAAC;IACD;IACA,SAAS,EAAE;MACPH,IAAI,EAAE,MAAM;MACZE,OAAO,EAAEC;IACb,CAAC;IACD;IACA,OAAO,EAAE;MACLH,IAAI,EAAE,SAAS;MACfE,OAAO,EAAEC;IACb;EACR;AACL,CAAC;AAEDC,sBAAc,CAACC,WAAW,EAAE,CAACC,WAAW,CAACZ,gBAAgB,CAAC;AAAA,eAE3CA,gBAAgB;AAAA"}
@@ -7,7 +7,8 @@
7
7
  "schema",
8
8
  "error",
9
9
  "test",
10
- "event"
10
+ "event",
11
+ "permission"
11
12
  ],
12
13
  "events.lastSync": {
13
14
  "contractDestinationDir": "#spruce/events",
@@ -87,42 +87,7 @@ export declare const globalContract: {
87
87
  };
88
88
  };
89
89
  };
90
- responsePayloadSchema: {
91
- id: string;
92
- fields: {
93
- files: {
94
- type: "schema";
95
- isArray: true;
96
- options: {
97
- schema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema;
98
- };
99
- };
100
- headline: {
101
- type: "text";
102
- };
103
- hints: {
104
- type: "text";
105
- isArray: true;
106
- };
107
- summaryLines: {
108
- type: "text";
109
- isArray: true;
110
- };
111
- errors: {
112
- type: "raw";
113
- isArray: true;
114
- options: {
115
- valueType: string;
116
- };
117
- };
118
- meta: {
119
- type: "raw";
120
- options: {
121
- valueType: string;
122
- };
123
- };
124
- };
125
- };
90
+ responsePayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.ActionResponseSchema;
126
91
  };
127
92
  'feature.did-execute': {
128
93
  emitPayloadSchema: {
@@ -158,26 +123,36 @@ export declare const globalContract: {
158
123
  };
159
124
  headline: {
160
125
  type: "text";
126
+ options: undefined;
161
127
  };
162
128
  hints: {
163
129
  type: "text";
164
130
  isArray: true;
131
+ options: undefined;
165
132
  };
166
133
  summaryLines: {
167
134
  type: "text";
168
135
  isArray: true;
136
+ options: undefined;
169
137
  };
170
138
  errors: {
171
139
  type: "raw";
172
140
  isArray: true;
173
141
  options: {
174
- valueType: string;
142
+ valueType: "AbstractSpruceError<any>";
175
143
  };
176
144
  };
177
145
  meta: {
178
146
  type: "raw";
179
147
  options: {
180
- valueType: string;
148
+ valueType: "Record<string, any>";
149
+ };
150
+ };
151
+ packagesInstalled: {
152
+ type: "schema";
153
+ isArray: true;
154
+ options: {
155
+ schema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema;
181
156
  };
182
157
  };
183
158
  };
@@ -14,8 +14,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
14
14
  var _mercuryEventEmitter = require("@sprucelabs/mercury-event-emitter");
15
15
  var _mercuryTypes = require("@sprucelabs/mercury-types");
16
16
  var _schema = require("@sprucelabs/schema");
17
+ var _actionResponse = _interopRequireDefault(require("./.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema"));
17
18
  var _watcherDidDetectChangesEmitPayload = _interopRequireDefault(require("./.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema"));
18
- var _features = require("./features/features.types");
19
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
20
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -107,10 +107,7 @@ var globalContract = (0, _mercuryTypes.buildEventContract)({
107
107
  }
108
108
  }
109
109
  }),
110
- responsePayloadSchema: (0, _schema.buildSchema)({
111
- id: 'willExecuteResponsePayload',
112
- fields: _objectSpread({}, _features.actionResponseSchema.fields)
113
- })
110
+ responsePayloadSchema: _actionResponse["default"]
114
111
  },
115
112
  'feature.did-execute': {
116
113
  emitPayloadSchema: (0, _schema.buildSchema)({
@@ -136,7 +133,7 @@ var globalContract = (0, _mercuryTypes.buildEventContract)({
136
133
  }),
137
134
  responsePayloadSchema: (0, _schema.buildSchema)({
138
135
  id: 'didExecuteResponsePayload',
139
- fields: _objectSpread({}, _features.actionResponseSchema.fields)
136
+ fields: _objectSpread({}, _actionResponse["default"].fields)
140
137
  })
141
138
  },
142
139
  'test.reporter-did-boot': {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalEmitter.js","names":["globalContract","buildEventContract","eventSignatures","emitPayloadSchema","watcherDidDetectChangesEmitPayloadSchema","buildSchema","id","fields","schemas","type","isArray","options","valueType","responsePayloadSchema","abstractClasses","isRequired","schema","name","label","featureCode","importsWhenLocal","actionCode","actionResponseSchema","results","reporter","filesToSkip","CliGlobalEmitter","shouldEmitSequentally","AbstractEventEmitter"],"sources":["../src/GlobalEmitter.ts"],"sourcesContent":["import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter'\nimport {\n\tbuildEventContract,\n\tMercuryEventEmitter,\n} from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport watcherDidDetectChangesEmitPayloadSchema from '#spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema'\nimport { actionResponseSchema } from './features/features.types'\n\nexport const globalContract = buildEventContract({\n\teventSignatures: {\n\t\t'watcher.did-detect-change': {\n\t\t\temitPayloadSchema: watcherDidDetectChangesEmitPayloadSchema,\n\t\t},\n\t\t'schema.did-fetch-schemas': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'didFetchSchemasEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tschemas: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'Schema',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'didFetchSchemasResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\tschemas: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'Schema',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'skill.register-dashboard-widgets': {},\n\n\t\t'test.register-abstract-test-classes': {\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'registerAbstractTestClassResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\tabstractClasses: {\n\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tschema: buildSchema({\n\t\t\t\t\t\t\t\tid: 'abstractClassRegistration',\n\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\timport: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tfeatureCode: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'feature.will-execute': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'willExecuteEmitPayload',\n\t\t\t\timportsWhenLocal: [\n\t\t\t\t\t'import { FeatureActionResponse } from #spruce/../features/features/features.types',\n\t\t\t\t],\n\t\t\t\tfields: {\n\t\t\t\t\tfeatureCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tactionCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'willExecuteResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\t...actionResponseSchema.fields,\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'feature.did-execute': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'didExecuteEmitPayload',\n\t\t\t\timportsWhenLocal: [\n\t\t\t\t\t'import { FeatureActionResponse } from #spruce/../features/features/features.types',\n\t\t\t\t],\n\t\t\t\tfields: {\n\t\t\t\t\tfeatureCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tactionCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tresults: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'FeatureActionResponse',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'didExecuteResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\t...actionResponseSchema.fields,\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'test.reporter-did-boot': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'testReporterDidBootEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\treporter: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'TestAction',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'skill.will-write-directory-template': {\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'wilLWriteDirectoryTemplateResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\tfilesToSkip: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n})\n\nexport type GlobalEventContract = typeof globalContract\nexport type GlobalEmitter = MercuryEventEmitter<GlobalEventContract>\n\nexport default class CliGlobalEmitter extends AbstractEventEmitter<GlobalEventContract> {\n\tpublic static Emitter() {\n\t\treturn new CliGlobalEmitter(globalContract, {\n\t\t\tshouldEmitSequentally: true,\n\t\t}) as GlobalEmitter\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"GlobalEmitter.js","names":["globalContract","buildEventContract","eventSignatures","emitPayloadSchema","watcherDidDetectChangesEmitPayloadSchema","buildSchema","id","fields","schemas","type","isArray","options","valueType","responsePayloadSchema","abstractClasses","isRequired","schema","name","label","featureCode","importsWhenLocal","actionCode","actionResponseSchema","results","reporter","filesToSkip","CliGlobalEmitter","shouldEmitSequentally","AbstractEventEmitter"],"sources":["../src/GlobalEmitter.ts"],"sourcesContent":["import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter'\nimport {\n\tbuildEventContract,\n\tMercuryEventEmitter,\n} from '@sprucelabs/mercury-types'\nimport { buildSchema } from '@sprucelabs/schema'\nimport actionResponseSchema from '#spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema'\nimport watcherDidDetectChangesEmitPayloadSchema from '#spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema'\n\nexport const globalContract = buildEventContract({\n\teventSignatures: {\n\t\t'watcher.did-detect-change': {\n\t\t\temitPayloadSchema: watcherDidDetectChangesEmitPayloadSchema,\n\t\t},\n\t\t'schema.did-fetch-schemas': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'didFetchSchemasEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tschemas: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'Schema',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'didFetchSchemasResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\tschemas: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'Schema',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'skill.register-dashboard-widgets': {},\n\n\t\t'test.register-abstract-test-classes': {\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'registerAbstractTestClassResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\tabstractClasses: {\n\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tschema: buildSchema({\n\t\t\t\t\t\t\t\tid: 'abstractClassRegistration',\n\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\timport: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tfeatureCode: {\n\t\t\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'feature.will-execute': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'willExecuteEmitPayload',\n\t\t\t\timportsWhenLocal: [\n\t\t\t\t\t'import { FeatureActionResponse } from #spruce/../features/features/features.types',\n\t\t\t\t],\n\t\t\t\tfields: {\n\t\t\t\t\tfeatureCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tactionCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'Record<string, any>',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\tresponsePayloadSchema: actionResponseSchema,\n\t\t},\n\t\t'feature.did-execute': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'didExecuteEmitPayload',\n\t\t\t\timportsWhenLocal: [\n\t\t\t\t\t'import { FeatureActionResponse } from #spruce/../features/features/features.types',\n\t\t\t\t],\n\t\t\t\tfields: {\n\t\t\t\t\tfeatureCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tactionCode: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tresults: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'FeatureActionResponse',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'didExecuteResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\t...actionResponseSchema.fields,\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'test.reporter-did-boot': {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'testReporterDidBootEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\treporter: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'TestAction',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t'skill.will-write-directory-template': {\n\t\t\tresponsePayloadSchema: buildSchema({\n\t\t\t\tid: 'wilLWriteDirectoryTemplateResponsePayload',\n\t\t\t\tfields: {\n\t\t\t\t\tfilesToSkip: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n})\n\nexport type GlobalEventContract = typeof globalContract\nexport type GlobalEmitter = MercuryEventEmitter<GlobalEventContract>\n\nexport default class CliGlobalEmitter extends AbstractEventEmitter<GlobalEventContract> {\n\tpublic static Emitter() {\n\t\treturn new CliGlobalEmitter(globalContract, {\n\t\t\tshouldEmitSequentally: true,\n\t\t}) as GlobalEmitter\n\t}\n}\n"],"mappings":"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"}
@@ -3,7 +3,8 @@ export default class TestingAConversationTest extends AbstractCliTest {
3
3
  protected static hasTestConvoFeature(): Promise<void>;
4
4
  protected static shouldRunWithoutConversationShouldShutdownOnItsOwn(): Promise<void>;
5
5
  protected static runsUntilKilled(): Promise<void>;
6
- private static installAndCreateConversation;
7
6
  protected static doesntReturnErrorWhenKilled(): Promise<void>;
8
7
  protected static returnsErrorWhenScriptErrors(): Promise<void>;
8
+ private static installAndCreateConversation;
9
+ private static disablePermissionSyncing;
9
10
  }
@@ -61,28 +61,29 @@ var TestingAConversationTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
61
61
  _context2.next = 2;
62
62
  return this.FeatureFixture().installCachedFeatures('conversation');
63
63
  case 2:
64
- _context2.next = 4;
64
+ this.disablePermissionSyncing();
65
+ _context2.next = 5;
65
66
  return this.Action('conversation', 'test').execute({
66
67
  shouldReturnImmediately: true,
67
68
  shouldRunSilently: true
68
69
  });
69
- case 4:
70
+ case 5:
70
71
  test = _context2.sent;
71
72
  _testUtils.assert.isTruthy(test.meta);
72
73
  _testUtils.assert.isFunction(test.meta.kill);
73
74
  _testUtils.assert.isNumber(test.meta.pid);
74
75
  _testUtils.assert.isTruthy(test.meta.promise);
75
- case 9:
76
- _context2.next = 11;
76
+ case 10:
77
+ _context2.next = 12;
77
78
  return (0, _findProcess["default"])('pid', test.meta.pid);
78
- case 11:
79
- psResults = _context2.sent;
80
79
  case 12:
80
+ psResults = _context2.sent;
81
+ case 13:
81
82
  if (psResults.length > 0) {
82
- _context2.next = 9;
83
+ _context2.next = 10;
83
84
  break;
84
85
  }
85
- case 13:
86
+ case 14:
86
87
  case "end":
87
88
  return _context2.stop();
88
89
  }
@@ -148,101 +149,48 @@ var TestingAConversationTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
148
149
  return _runsUntilKilled.apply(this, arguments);
149
150
  }
150
151
  return runsUntilKilled;
151
- }() // @test.skip('No longer dies on stderr')
152
- // protected static async diesWithStandardError() {
153
- // const { conversation } = await this.installAndCreateConversation()
154
- // const topicFile = this.resolvePath(
155
- // 'src',
156
- // 'conversations',
157
- // 'knockKnockJoke.topic.ts'
158
- // )
159
- // const contents =
160
- // `process.stderr.write('oh no!')\n\n` + diskUtil.readFile(topicFile)
161
- // diskUtil.writeFile(topicFile, contents)
162
- // const test = await conversation
163
- // .Action('test')
164
- // .execute({ shouldRunSilently: true })
165
- // assert.isTruthy(test.errors)
166
- // errorAssert.assertError(test.errors[0], 'EXECUTING_COMMAND_FAILED', {
167
- // stderr: 'oh no!',
168
- // })
169
- // }
170
- }, {
171
- key: "installAndCreateConversation",
172
- value: function () {
173
- var _installAndCreateConversation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
174
- var results;
175
- return _regenerator["default"].wrap(function _callee4$(_context4) {
176
- while (1) {
177
- switch (_context4.prev = _context4.next) {
178
- case 0:
179
- _context4.next = 2;
180
- return this.FeatureFixture().installCachedFeatures('conversation');
181
- case 2:
182
- _context4.next = 4;
183
- return this.Action('conversation', 'create').execute({
184
- nameReadable: 'tell a knock knock joke',
185
- nameCamel: 'knockKnockJoke'
186
- });
187
- case 4:
188
- results = _context4.sent;
189
- _testUtils.assert.isFalsy(results.errors);
190
- return _context4.abrupt("return", {
191
- createResults: results
192
- });
193
- case 7:
194
- case "end":
195
- return _context4.stop();
196
- }
197
- }
198
- }, _callee4, this);
199
- }));
200
- function installAndCreateConversation() {
201
- return _installAndCreateConversation.apply(this, arguments);
202
- }
203
- return installAndCreateConversation;
204
152
  }()
205
153
  }, {
206
154
  key: "doesntReturnErrorWhenKilled",
207
155
  value: function () {
208
- var _doesntReturnErrorWhenKilled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
156
+ var _doesntReturnErrorWhenKilled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
209
157
  var test, results;
210
- return _regenerator["default"].wrap(function _callee6$(_context6) {
158
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
211
159
  while (1) {
212
- switch (_context6.prev = _context6.next) {
160
+ switch (_context5.prev = _context5.next) {
213
161
  case 0:
214
- _context6.next = 2;
162
+ _context5.next = 2;
215
163
  return this.installAndCreateConversation();
216
164
  case 2:
217
165
  //@ts-ignore
218
166
  test = this.Action('conversation', 'test').getChild();
219
- setTimeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
220
- return _regenerator["default"].wrap(function _callee5$(_context5) {
167
+ setTimeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
168
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
221
169
  while (1) {
222
- switch (_context5.prev = _context5.next) {
170
+ switch (_context4.prev = _context4.next) {
223
171
  case 0:
224
- _context5.next = 2;
172
+ _context4.next = 2;
225
173
  return test.kill();
226
174
  case 2:
227
175
  case "end":
228
- return _context5.stop();
176
+ return _context4.stop();
229
177
  }
230
178
  }
231
- }, _callee5);
179
+ }, _callee4);
232
180
  })), 5000);
233
- _context6.next = 6;
181
+ _context5.next = 6;
234
182
  return test.execute({
235
183
  shouldRunSilently: true
236
184
  });
237
185
  case 6:
238
- results = _context6.sent;
186
+ results = _context5.sent;
239
187
  _testUtils.assert.isFalsy(results.errors);
240
188
  case 8:
241
189
  case "end":
242
- return _context6.stop();
190
+ return _context5.stop();
243
191
  }
244
192
  }
245
- }, _callee6, this);
193
+ }, _callee5, this);
246
194
  }));
247
195
  function doesntReturnErrorWhenKilled() {
248
196
  return _doesntReturnErrorWhenKilled.apply(this, arguments);
@@ -252,39 +200,81 @@ var TestingAConversationTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _test
252
200
  }, {
253
201
  key: "returnsErrorWhenScriptErrors",
254
202
  value: function () {
255
- var _returnsErrorWhenScriptErrors = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
203
+ var _returnsErrorWhenScriptErrors = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
256
204
  var _yield$this$installAn, createResults, topic, test, results;
257
- return _regenerator["default"].wrap(function _callee7$(_context7) {
205
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
258
206
  while (1) {
259
- switch (_context7.prev = _context7.next) {
207
+ switch (_context6.prev = _context6.next) {
260
208
  case 0:
261
- _context7.next = 2;
209
+ _context6.next = 2;
262
210
  return this.installAndCreateConversation();
263
211
  case 2:
264
- _yield$this$installAn = _context7.sent;
212
+ _yield$this$installAn = _context6.sent;
265
213
  createResults = _yield$this$installAn.createResults;
266
214
  topic = _test["default"].assertFileByNameInGeneratedFiles('knockKnockJoke', createResults.files);
267
215
  _spruceSkillUtils.diskUtil.writeFile(topic, 'throw new Error("whaaa")');
268
216
  test = this.Action('conversation', 'test');
269
- _context7.next = 9;
217
+ _context6.next = 9;
270
218
  return test.execute({
271
219
  shouldRunSilently: true
272
220
  });
273
221
  case 9:
274
- results = _context7.sent;
222
+ results = _context6.sent;
275
223
  _testUtils.assert.isArray(results.errors);
276
224
  case 11:
277
225
  case "end":
278
- return _context7.stop();
226
+ return _context6.stop();
279
227
  }
280
228
  }
281
- }, _callee7, this);
229
+ }, _callee6, this);
282
230
  }));
283
231
  function returnsErrorWhenScriptErrors() {
284
232
  return _returnsErrorWhenScriptErrors.apply(this, arguments);
285
233
  }
286
234
  return returnsErrorWhenScriptErrors;
287
235
  }()
236
+ }, {
237
+ key: "installAndCreateConversation",
238
+ value: function () {
239
+ var _installAndCreateConversation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
240
+ var results;
241
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
242
+ while (1) {
243
+ switch (_context7.prev = _context7.next) {
244
+ case 0:
245
+ _context7.next = 2;
246
+ return this.FeatureFixture().installCachedFeatures('conversation');
247
+ case 2:
248
+ this.disablePermissionSyncing();
249
+ _context7.next = 5;
250
+ return this.Action('conversation', 'create').execute({
251
+ nameReadable: 'tell a knock knock joke',
252
+ nameCamel: 'knockKnockJoke'
253
+ });
254
+ case 5:
255
+ results = _context7.sent;
256
+ _testUtils.assert.isFalsy(results.errors);
257
+ return _context7.abrupt("return", {
258
+ createResults: results
259
+ });
260
+ case 8:
261
+ case "end":
262
+ return _context7.stop();
263
+ }
264
+ }
265
+ }, _callee7, this);
266
+ }));
267
+ function installAndCreateConversation() {
268
+ return _installAndCreateConversation.apply(this, arguments);
269
+ }
270
+ return installAndCreateConversation;
271
+ }()
272
+ }, {
273
+ key: "disablePermissionSyncing",
274
+ value: function disablePermissionSyncing() {
275
+ var env = this.Service('env');
276
+ env.set('SHOULD_REGISTER_PERMISSIONS', 'false');
277
+ }
288
278
  }]);
289
279
  return TestingAConversationTest;
290
280
  }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasTestConvoFeature", [_dec], Object.getOwnPropertyDescriptor(_class, "hasTestConvoFeature"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "shouldRunWithoutConversationShouldShutdownOnItsOwn", [_dec2], Object.getOwnPropertyDescriptor(_class, "shouldRunWithoutConversationShouldShutdownOnItsOwn"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "runsUntilKilled", [_dec3], Object.getOwnPropertyDescriptor(_class, "runsUntilKilled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesntReturnErrorWhenKilled", [_dec4], Object.getOwnPropertyDescriptor(_class, "doesntReturnErrorWhenKilled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "returnsErrorWhenScriptErrors", [_dec5], Object.getOwnPropertyDescriptor(_class, "returnsErrorWhenScriptErrors"), _class)), _class));
@@ -1 +1 @@
1
- {"version":3,"file":"TestingAConversation.test.js","names":["TestingAConversationTest","test","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","shouldReturnImmediately","shouldRunSilently","isTruthy","meta","kill","isNumber","pid","promise","findProcess","psResults","length","installAndCreateConversation","wait","isAbove","nameReadable","nameCamel","results","isFalsy","errors","createResults","getChild","setTimeout","topic","testUtil","assertFileByNameInGeneratedFiles","files","diskUtil","writeFile","isArray","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/TestingAConversation.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport findProcess from 'find-process'\nimport TestAction from '../../features/conversation/actions/TestAction'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class TestingAConversationTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasTestConvoFeature() {\n\t\tassert.isFunction(this.Action('conversation', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async shouldRunWithoutConversationShouldShutdownOnItsOwn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tlet psResults\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t@test()\n\tprotected static async runsUntilKilled() {\n\t\tawait this.installAndCreateConversation()\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tawait this.wait(1000)\n\n\t\tlet psResults = await findProcess('pid', test.meta.pid)\n\t\tassert.isAbove(psResults.length, 0)\n\n\t\tawait test.meta.kill()\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t// @test.skip('No longer dies on stderr')\n\t// protected static async diesWithStandardError() {\n\t// \tconst { conversation } = await this.installAndCreateConversation()\n\n\t// \tconst topicFile = this.resolvePath(\n\t// \t\t'src',\n\t// \t\t'conversations',\n\t// \t\t'knockKnockJoke.topic.ts'\n\t// \t)\n\n\t// \tconst contents =\n\t// \t\t`process.stderr.write('oh no!')\\n\\n` + diskUtil.readFile(topicFile)\n\n\t// \tdiskUtil.writeFile(topicFile, contents)\n\n\t// \tconst test = await conversation\n\t// \t\t.Action('test')\n\t// \t\t.execute({ shouldRunSilently: true })\n\n\t// \tassert.isTruthy(test.errors)\n\t// \terrorAssert.assertError(test.errors[0], 'EXECUTING_COMMAND_FAILED', {\n\t// \t\tstderr: 'oh no!',\n\t// \t})\n\t// }\n\n\tprivate static async installAndCreateConversation() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tconst results = await this.Action('conversation', 'create').execute({\n\t\t\tnameReadable: 'tell a knock knock joke',\n\t\t\tnameCamel: 'knockKnockJoke',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { createResults: results }\n\t}\n\n\t@test()\n\tprotected static async doesntReturnErrorWhenKilled() {\n\t\tawait this.installAndCreateConversation()\n\t\t//@ts-ignore\n\t\tconst test = this.Action('conversation', 'test').getChild() as TestAction\n\n\t\tsetTimeout(async () => {\n\t\t\tawait test.kill()\n\t\t}, 5000)\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenScriptErrors() {\n\t\tconst { createResults } = await this.installAndCreateConversation()\n\n\t\tconst topic = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'knockKnockJoke',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(topic, 'throw new Error(\"whaaa\")')\n\n\t\tconst test = this.Action('conversation', 'test')\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TestingAConversation.test.js","names":["TestingAConversationTest","test","assert","isFunction","Action","execute","FeatureFixture","installCachedFeatures","disablePermissionSyncing","shouldReturnImmediately","shouldRunSilently","isTruthy","meta","kill","isNumber","pid","promise","findProcess","psResults","length","installAndCreateConversation","wait","isAbove","getChild","setTimeout","results","isFalsy","errors","createResults","topic","testUtil","assertFileByNameInGeneratedFiles","files","diskUtil","writeFile","isArray","nameReadable","nameCamel","env","Service","set","AbstractCliTest"],"sources":["../../../src/__tests__/behavioral/TestingAConversation.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport findProcess from 'find-process'\nimport TestAction from '../../features/conversation/actions/TestAction'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\nimport testUtil from '../../tests/utilities/test.utility'\n\nexport default class TestingAConversationTest extends AbstractCliTest {\n\t@test()\n\tprotected static async hasTestConvoFeature() {\n\t\tassert.isFunction(this.Action('conversation', 'test').execute)\n\t}\n\n\t@test()\n\tprotected static async shouldRunWithoutConversationShouldShutdownOnItsOwn() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\n\t\tthis.disablePermissionSyncing()\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tlet psResults\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t@test()\n\tprotected static async runsUntilKilled() {\n\t\tawait this.installAndCreateConversation()\n\n\t\tconst test = await this.Action('conversation', 'test').execute({\n\t\t\tshouldReturnImmediately: true,\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isTruthy(test.meta)\n\t\tassert.isFunction(test.meta.kill)\n\t\tassert.isNumber(test.meta.pid)\n\t\tassert.isTruthy(test.meta.promise)\n\n\t\tawait this.wait(1000)\n\n\t\tlet psResults = await findProcess('pid', test.meta.pid)\n\t\tassert.isAbove(psResults.length, 0)\n\n\t\tawait test.meta.kill()\n\n\t\tdo {\n\t\t\tpsResults = await findProcess('pid', test.meta.pid)\n\t\t} while (psResults.length > 0)\n\t}\n\n\t@test()\n\tprotected static async doesntReturnErrorWhenKilled() {\n\t\tawait this.installAndCreateConversation()\n\t\t//@ts-ignore\n\t\tconst test = this.Action('conversation', 'test').getChild() as TestAction\n\n\t\tsetTimeout(async () => {\n\t\t\tawait test.kill()\n\t\t}, 5000)\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t}\n\n\t@test()\n\tprotected static async returnsErrorWhenScriptErrors() {\n\t\tconst { createResults } = await this.installAndCreateConversation()\n\n\t\tconst topic = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'knockKnockJoke',\n\t\t\tcreateResults.files\n\t\t)\n\n\t\tdiskUtil.writeFile(topic, 'throw new Error(\"whaaa\")')\n\n\t\tconst test = this.Action('conversation', 'test')\n\n\t\tconst results = await test.execute({\n\t\t\tshouldRunSilently: true,\n\t\t})\n\n\t\tassert.isArray(results.errors)\n\t}\n\n\tprivate static async installAndCreateConversation() {\n\t\tawait this.FeatureFixture().installCachedFeatures('conversation')\n\t\tthis.disablePermissionSyncing()\n\n\t\tconst results = await this.Action('conversation', 'create').execute({\n\t\t\tnameReadable: 'tell a knock knock joke',\n\t\t\tnameCamel: 'knockKnockJoke',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\treturn { createResults: results }\n\t}\n\n\tprivate static disablePermissionSyncing() {\n\t\tconst env = this.Service('env')\n\t\tenv.set('SHOULD_REGISTER_PERMISSIONS', 'false')\n\t}\n}\n"],"mappings":"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"}