@sprucelabs/spruce-cli 18.2.0 → 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 (294) hide show
  1. package/CHANGELOG.md +6 -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 +5 -4
  44. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +96 -63
  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/features/AbstractAction.d.ts +1 -1
  84. package/build/features/AbstractAction.js.map +1 -1
  85. package/build/features/AbstractFeature.d.ts +3 -3
  86. package/build/features/AbstractFeature.js +8 -8
  87. package/build/features/AbstractFeature.js.map +1 -1
  88. package/build/features/ActionExecuter.d.ts +1 -1
  89. package/build/features/ActionExecuter.js +3 -4
  90. package/build/features/ActionExecuter.js.map +1 -1
  91. package/build/features/ActionFactory.d.ts +12 -5
  92. package/build/features/ActionFactory.js +27 -6
  93. package/build/features/ActionFactory.js.map +1 -1
  94. package/build/features/ActionQuestionAsker.d.ts +1 -1
  95. package/build/features/ActionQuestionAsker.js +6 -6
  96. package/build/features/ActionQuestionAsker.js.map +1 -1
  97. package/build/features/conversation/ConversationFeature.js +1 -1
  98. package/build/features/conversation/ConversationFeature.js.map +1 -1
  99. package/build/features/dependencies/DependencyFeature.js +1 -1
  100. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  101. package/build/features/deploy/actions/HerokuAction.js +31 -33
  102. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  103. package/build/features/error/ErrorFeature.js +4 -4
  104. package/build/features/error/ErrorFeature.js.map +1 -1
  105. package/build/features/event/EventFeature.d.ts +8 -8
  106. package/build/features/event/EventFeature.js +7 -4
  107. package/build/features/event/EventFeature.js.map +1 -1
  108. package/build/features/event/actions/CreateAction.js.map +1 -1
  109. package/build/features/event/actions/ListenAction.js.map +1 -1
  110. package/build/features/event/stores/EventStore.d.ts +9 -9
  111. package/build/features/event/stores/EventStore.js +26 -26
  112. package/build/features/event/stores/EventStore.js.map +1 -1
  113. package/build/features/eventContract/EventContractFeature.js +4 -1
  114. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  115. package/build/features/eventContract/actions/PullAction.js +10 -5
  116. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  117. package/build/features/features.types.d.ts +2 -37
  118. package/build/features/features.types.js +0 -41
  119. package/build/features/features.types.js.map +1 -1
  120. package/build/features/log/LogFeature.js +1 -1
  121. package/build/features/log/LogFeature.js.map +1 -1
  122. package/build/features/node/NodeFeature.js.map +1 -1
  123. package/build/features/organization/actions/InstallAction.js.map +1 -1
  124. package/build/features/permission/PermissionFeature.d.ts +12 -2
  125. package/build/features/permission/PermissionFeature.js +140 -15
  126. package/build/features/permission/PermissionFeature.js.map +1 -1
  127. package/build/features/permission/actions/CreateAction.js +4 -1
  128. package/build/features/permission/actions/CreateAction.js.map +1 -1
  129. package/build/features/permission/actions/SyncAction.d.ts +5 -1
  130. package/build/features/permission/actions/SyncAction.js +28 -10
  131. package/build/features/permission/actions/SyncAction.js.map +1 -1
  132. package/build/features/permission/stores/PermissionStore.d.ts +6 -1
  133. package/build/features/permission/stores/PermissionStore.js +43 -31
  134. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  135. package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
  136. package/build/features/permission/writers/PermissionWriter.js +66 -17
  137. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  138. package/build/features/person/PersonFeature.js +1 -1
  139. package/build/features/person/PersonFeature.js.map +1 -1
  140. package/build/features/sandbox/SandboxFeature.js +1 -1
  141. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  142. package/build/features/schema/SchemaFeature.d.ts +8 -8
  143. package/build/features/schema/SchemaFeature.js +4 -4
  144. package/build/features/schema/SchemaFeature.js.map +1 -1
  145. package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
  146. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  147. package/build/features/skill/SkillFeature.d.ts +11 -11
  148. package/build/features/skill/SkillFeature.js +2 -2
  149. package/build/features/skill/SkillFeature.js.map +1 -1
  150. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  151. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  152. package/build/features/skill/stores/SkillStore.js +1 -2
  153. package/build/features/skill/stores/SkillStore.js.map +1 -1
  154. package/build/features/store/StoreFeature.js +1 -1
  155. package/build/features/store/StoreFeature.js.map +1 -1
  156. package/build/features/store/actions/SyncAction.d.ts +1 -1
  157. package/build/features/store/actions/SyncAction.js.map +1 -1
  158. package/build/features/test/TestFeature.js +1 -1
  159. package/build/features/test/TestFeature.js.map +1 -1
  160. package/build/features/view/ViewFeature.js +1 -1
  161. package/build/features/view/ViewFeature.js.map +1 -1
  162. package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
  163. package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
  164. package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
  165. package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
  166. package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
  167. package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
  168. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
  169. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  170. package/build/services/CommandService.d.ts +2 -2
  171. package/build/services/CommandService.js +6 -6
  172. package/build/services/CommandService.js.map +1 -1
  173. package/build/services/PkgService.d.ts +1 -0
  174. package/build/services/PkgService.js +5 -0
  175. package/build/services/PkgService.js.map +1 -1
  176. package/build/tests/AbstractCliTest.d.ts +7 -3
  177. package/build/tests/AbstractCliTest.js +81 -45
  178. package/build/tests/AbstractCliTest.js.map +1 -1
  179. package/build/tests/buildTestCache.js +7 -0
  180. package/build/tests/buildTestCache.js.map +1 -1
  181. package/build/tests/fixtures/FeatureFixture.js +1 -0
  182. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  183. package/build/tests/utilities/test.utility.d.ts +2 -0
  184. package/build/tests/utilities/test.utility.js +6 -0
  185. package/build/tests/utilities/test.utility.js.map +1 -1
  186. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  187. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  188. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  189. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
  190. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  191. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  192. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  193. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
  194. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  195. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  196. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
  197. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
  198. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  199. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
  200. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  201. package/node_modules/@typescript-eslint/types/package.json +2 -2
  202. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  203. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
  204. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  205. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
  206. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  207. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
  208. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  209. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
  210. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  211. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  212. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  213. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
  214. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  215. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  216. package/package.json +65 -33
  217. package/src/.spruce/events/events.contract.ts +24 -0
  218. package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
  219. package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
  220. package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
  221. package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
  222. package/src/.spruce/schemas/schemas.types.ts +171 -52
  223. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
  224. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
  225. package/src/.spruce/settings.json +2 -1
  226. package/src/GlobalEmitter.ts +2 -7
  227. package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
  228. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
  229. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  230. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
  231. package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
  232. package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +95 -38
  233. package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +23 -0
  234. package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
  235. package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
  236. package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
  237. package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
  238. package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
  239. package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
  240. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
  241. package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
  242. package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
  243. package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
  244. package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
  245. package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
  246. package/src/__tests__/implementation/SkillStore.test.ts +1 -2
  247. package/src/features/AbstractAction.ts +2 -2
  248. package/src/features/AbstractFeature.ts +8 -8
  249. package/src/features/ActionExecuter.ts +4 -5
  250. package/src/features/ActionFactory.ts +44 -20
  251. package/src/features/ActionQuestionAsker.ts +17 -17
  252. package/src/features/conversation/ConversationFeature.ts +1 -1
  253. package/src/features/dependencies/DependencyFeature.ts +1 -1
  254. package/src/features/deploy/actions/HerokuAction.ts +2 -2
  255. package/src/features/error/ErrorFeature.ts +4 -4
  256. package/src/features/event/EventFeature.ts +15 -14
  257. package/src/features/event/actions/CreateAction.ts +1 -1
  258. package/src/features/event/actions/ListenAction.ts +1 -1
  259. package/src/features/event/stores/EventStore.ts +37 -37
  260. package/src/features/eventContract/EventContractFeature.ts +6 -1
  261. package/src/features/eventContract/actions/PullAction.ts +7 -3
  262. package/src/features/features.types.ts +4 -41
  263. package/src/features/log/LogFeature.ts +1 -1
  264. package/src/features/node/NodeFeature.ts +1 -1
  265. package/src/features/organization/actions/InstallAction.ts +1 -1
  266. package/src/features/permission/PermissionFeature.ts +66 -11
  267. package/src/features/permission/actions/CreateAction.ts +2 -0
  268. package/src/features/permission/actions/SyncAction.ts +22 -3
  269. package/src/features/permission/stores/PermissionStore.ts +27 -8
  270. package/src/features/permission/writers/PermissionWriter.ts +64 -3
  271. package/src/features/person/PersonFeature.ts +1 -1
  272. package/src/features/sandbox/SandboxFeature.ts +1 -3
  273. package/src/features/schema/SchemaFeature.ts +14 -14
  274. package/src/features/schema/writers/SchemaWriter.ts +14 -15
  275. package/src/features/skill/SkillFeature.ts +18 -18
  276. package/src/features/skill/actions/RebuildAction.ts +1 -1
  277. package/src/features/skill/actions/RegisterAction.ts +1 -1
  278. package/src/features/skill/stores/SkillStore.ts +1 -2
  279. package/src/features/store/StoreFeature.ts +1 -1
  280. package/src/features/store/actions/SyncAction.ts +1 -1
  281. package/src/features/test/TestFeature.ts +1 -1
  282. package/src/features/view/ViewFeature.ts +1 -1
  283. package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
  284. package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
  285. package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
  286. package/src/services/CommandService.ts +5 -5
  287. package/src/services/PkgService.ts +4 -0
  288. package/src/tests/AbstractCliTest.ts +31 -13
  289. package/src/tests/buildTestCache.ts +7 -0
  290. package/src/tests/fixtures/FeatureFixture.ts +2 -0
  291. package/src/tests/utilities/test.utility.ts +13 -0
  292. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
  293. package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
  294. 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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"}