@sprucelabs/spruce-templates 23.0.0 → 24.0.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 (206) hide show
  1. package/LICENSE +21 -0
  2. package/build/templates/typescript/event/event.contract.ts.hbs +2 -0
  3. package/build/templates/typescript/sandbox/will-boot.listener.ts.hbs +138 -73
  4. package/package.json +10 -10
  5. package/build/addons/eq.addon.js.map +0 -1
  6. package/build/addons/escape.addon.js.map +0 -1
  7. package/build/addons/fieldDefinitionBodyPartial.addon.js.map +0 -1
  8. package/build/addons/fieldDefinitionOptions.addon.js.map +0 -1
  9. package/build/addons/fieldTypeEnum.addon.js.map +0 -1
  10. package/build/addons/fieldValue.addon.js.map +0 -1
  11. package/build/addons/gt.addon.js.map +0 -1
  12. package/build/addons/hasKeys.addon.js.map +0 -1
  13. package/build/addons/hasNoneCoreSchemaTemplateItems.addon.js.map +0 -1
  14. package/build/addons/importRelatedSchemas.addon.js.map +0 -1
  15. package/build/addons/index.js.map +0 -1
  16. package/build/addons/isDefined.addon.js.map +0 -1
  17. package/build/addons/json.addon.js.map +0 -1
  18. package/build/addons/neq.addon.js.map +0 -1
  19. package/build/addons/operators.addon.js.map +0 -1
  20. package/build/addons/pascalCase.addon.js.map +0 -1
  21. package/build/addons/permissionContractBuilder.addon.js.map +0 -1
  22. package/build/addons/schemaBodyPartial.addon.js.map +0 -1
  23. package/build/addons/schemaNamespacePath.addon.js.map +0 -1
  24. package/build/addons/schemaValuesPartial.addon.js.map +0 -1
  25. package/build/addons/valueTypeGenerator.addon.js.map +0 -1
  26. package/build/addons/valueTypeLiteral.addon.js.map +0 -1
  27. package/build/addons/valueTypeMapper.addon.js.map +0 -1
  28. package/build/dist/templates/directories/skill/.nvmrc +0 -1
  29. package/build/dist/templates/directories/skill/README.md +0 -4
  30. package/build/dist/templates/directories/skill/eslint.config.mjs +0 -3
  31. package/build/dist/templates/directories/skill/package.json.hbs +0 -15
  32. package/build/dist/templates/directories/skill/src/errors/SpruceError.ts.hbs +0 -20
  33. package/build/dist/templates/directories/skill/tsconfig.json +0 -39
  34. package/build/dist/templates/directories/vscode/.vscode/launch.json +0 -58
  35. package/build/dist/templates/directories/vscode/.vscode/settings.json +0 -67
  36. package/build/dist/templates/directories/vscode/.vscode/tasks.json +0 -112
  37. package/build/dist/templates/typescript/conversation/conversation.plugin.ts.hbs +0 -1
  38. package/build/dist/templates/typescript/conversation/conversation.topic.ts.hbs +0 -19
  39. package/build/dist/templates/typescript/deploy/deploy.plugin.ts.hbs +0 -1
  40. package/build/dist/templates/typescript/error/SpruceError.ts.hbs +0 -31
  41. package/build/dist/templates/typescript/error/error.plugin.ts.hbs +0 -78
  42. package/build/dist/templates/typescript/error/example.ts.hbs +0 -10
  43. package/build/dist/templates/typescript/error/options.types.ts.hbs +0 -12
  44. package/build/dist/templates/typescript/event/event.contract.ts.hbs +0 -24
  45. package/build/dist/templates/typescript/event/event.options.ts.hbs +0 -11
  46. package/build/dist/templates/typescript/event/events.contract.ts.hbs +0 -24
  47. package/build/dist/templates/typescript/event/listener.ts.hbs +0 -23
  48. package/build/dist/templates/typescript/event/listeners.ts.hbs +0 -15
  49. package/build/dist/templates/typescript/event/payload.builder.ts.hbs +0 -15
  50. package/build/dist/templates/typescript/log/transport.plugin.ts.hbs +0 -14
  51. package/build/dist/templates/typescript/permissions/contract.builder.ts.hbs +0 -36
  52. package/build/dist/templates/typescript/permissions/permission.plugin.ts.hbs +0 -1
  53. package/build/dist/templates/typescript/permissions/permissions.ts.hbs +0 -13
  54. package/build/dist/templates/typescript/permissions/permissions.types.ts.hbs +0 -14
  55. package/build/dist/templates/typescript/polish/polish.ts.hbs +0 -67
  56. package/build/dist/templates/typescript/sandbox/will-boot.listener.ts.hbs +0 -109
  57. package/build/dist/templates/typescript/schema/builder.ts.hbs +0 -24
  58. package/build/dist/templates/typescript/schema/core.schemas.types.ts.hbs +0 -34
  59. package/build/dist/templates/typescript/schema/example.ts.hbs +0 -20
  60. package/build/dist/templates/typescript/schema/fields/fieldClassMap.ts.hbs +0 -16
  61. package/build/dist/templates/typescript/schema/fields/fields.types.ts.hbs +0 -1
  62. package/build/dist/templates/typescript/schema/imported.schema.ts.hbs +0 -1
  63. package/build/dist/templates/typescript/schema/partials/fieldDefinitionBody.ts.hbs +0 -12
  64. package/build/dist/templates/typescript/schema/partials/schemaBody.ts.hbs +0 -20
  65. package/build/dist/templates/typescript/schema/partials/schemaValues.ts.hbs +0 -7
  66. package/build/dist/templates/typescript/schema/schema.plugin.ts.hbs +0 -101
  67. package/build/dist/templates/typescript/schema/schema.ts.hbs +0 -12
  68. package/build/dist/templates/typescript/schema/schemas.types.ts.hbs +0 -44
  69. package/build/dist/templates/typescript/schema/valueTypes.ts.hbs +0 -67
  70. package/build/dist/templates/typescript/store/Store.store.ts.hbs +0 -95
  71. package/build/dist/templates/typescript/store/store.plugin.ts.hbs +0 -1
  72. package/build/dist/templates/typescript/store/stores.ts.hbs +0 -9
  73. package/build/dist/templates/typescript/store/stores.types.ts.hbs +0 -17
  74. package/build/dist/templates/typescript/test/Test.test.ts.hbs +0 -20
  75. package/build/dist/templates/typescript/view/App.ac.ts.hbs +0 -6
  76. package/build/dist/templates/typescript/view/View.svc.ts.hbs +0 -23
  77. package/build/dist/templates/typescript/view/View.vc.ts.hbs +0 -17
  78. package/build/dist/templates/typescript/view/skill.theme.ts.hbs +0 -70
  79. package/build/dist/templates/typescript/view/view.plugin.ts.hbs +0 -1
  80. package/build/dist/templates/typescript/view/viewController.plugin.ts.hbs +0 -3
  81. package/build/dist/templates/typescript/view/views.ts.hbs +0 -93
  82. package/build/esm/addons/eq.addon.d.ts +0 -1
  83. package/build/esm/addons/eq.addon.js +0 -4
  84. package/build/esm/addons/escape.addon.d.ts +0 -1
  85. package/build/esm/addons/escape.addon.js +0 -5
  86. package/build/esm/addons/fieldDefinitionBodyPartial.addon.d.ts +0 -1
  87. package/build/esm/addons/fieldDefinitionBodyPartial.addon.js +0 -8
  88. package/build/esm/addons/fieldDefinitionOptions.addon.d.ts +0 -1
  89. package/build/esm/addons/fieldDefinitionOptions.addon.js +0 -66
  90. package/build/esm/addons/fieldTypeEnum.addon.d.ts +0 -1
  91. package/build/esm/addons/fieldTypeEnum.addon.js +0 -9
  92. package/build/esm/addons/fieldValue.addon.d.ts +0 -1
  93. package/build/esm/addons/fieldValue.addon.js +0 -8
  94. package/build/esm/addons/gt.addon.d.ts +0 -1
  95. package/build/esm/addons/gt.addon.js +0 -4
  96. package/build/esm/addons/hasKeys.addon.d.ts +0 -1
  97. package/build/esm/addons/hasKeys.addon.js +0 -4
  98. package/build/esm/addons/hasNoneCoreSchemaTemplateItems.addon.d.ts +0 -1
  99. package/build/esm/addons/hasNoneCoreSchemaTemplateItems.addon.js +0 -6
  100. package/build/esm/addons/importRelatedSchemas.addon.d.ts +0 -1
  101. package/build/esm/addons/importRelatedSchemas.addon.js +0 -34
  102. package/build/esm/addons/index.d.ts +0 -23
  103. package/build/esm/addons/index.js +0 -23
  104. package/build/esm/addons/isDefined.addon.d.ts +0 -1
  105. package/build/esm/addons/isDefined.addon.js +0 -5
  106. package/build/esm/addons/json.addon.d.ts +0 -1
  107. package/build/esm/addons/json.addon.js +0 -7
  108. package/build/esm/addons/neq.addon.d.ts +0 -1
  109. package/build/esm/addons/neq.addon.js +0 -4
  110. package/build/esm/addons/operators.addon.d.ts +0 -1
  111. package/build/esm/addons/operators.addon.js +0 -15
  112. package/build/esm/addons/pascalCase.addon.d.ts +0 -1
  113. package/build/esm/addons/pascalCase.addon.js +0 -6
  114. package/build/esm/addons/permissionContractBuilder.addon.d.ts +0 -1
  115. package/build/esm/addons/permissionContractBuilder.addon.js +0 -4
  116. package/build/esm/addons/schemaBodyPartial.addon.d.ts +0 -1
  117. package/build/esm/addons/schemaBodyPartial.addon.js +0 -8
  118. package/build/esm/addons/schemaNamespacePath.addon.d.ts +0 -1
  119. package/build/esm/addons/schemaNamespacePath.addon.js +0 -18
  120. package/build/esm/addons/schemaValuesPartial.addon.d.ts +0 -1
  121. package/build/esm/addons/schemaValuesPartial.addon.js +0 -8
  122. package/build/esm/addons/valueTypeGenerator.addon.d.ts +0 -1
  123. package/build/esm/addons/valueTypeGenerator.addon.js +0 -15
  124. package/build/esm/addons/valueTypeLiteral.addon.d.ts +0 -1
  125. package/build/esm/addons/valueTypeLiteral.addon.js +0 -32
  126. package/build/esm/addons/valueTypeMapper.addon.d.ts +0 -1
  127. package/build/esm/addons/valueTypeMapper.addon.js +0 -9
  128. package/build/esm/index.d.ts +0 -141
  129. package/build/esm/index.js +0 -255
  130. package/build/esm/templates/directories/skill/.nvmrc +0 -1
  131. package/build/esm/templates/directories/skill/README.md +0 -4
  132. package/build/esm/templates/directories/skill/eslint.config.mjs +0 -3
  133. package/build/esm/templates/directories/skill/package.json.hbs +0 -15
  134. package/build/esm/templates/directories/skill/src/.spruce/errors/options.types.ts +0 -6
  135. package/build/esm/templates/directories/skill/src/.spruce/features/event.plugin.ts +0 -1
  136. package/build/esm/templates/directories/skill/src/.spruce/skill.ts +0 -8
  137. package/build/esm/templates/directories/skill/src/errors/SpruceError.ts.hbs +0 -20
  138. package/build/esm/templates/directories/skill/src/index.ts +0 -35
  139. package/build/esm/templates/directories/skill/tsconfig.json +0 -39
  140. package/build/esm/templates/directories/vscode/.vscode/launch.json +0 -58
  141. package/build/esm/templates/directories/vscode/.vscode/settings.json +0 -67
  142. package/build/esm/templates/directories/vscode/.vscode/tasks.json +0 -112
  143. package/build/esm/templates/typescript/conversation/conversation.plugin.ts.hbs +0 -1
  144. package/build/esm/templates/typescript/conversation/conversation.topic.ts.hbs +0 -19
  145. package/build/esm/templates/typescript/deploy/deploy.plugin.ts.hbs +0 -1
  146. package/build/esm/templates/typescript/error/SpruceError.ts.hbs +0 -31
  147. package/build/esm/templates/typescript/error/error.plugin.ts.hbs +0 -78
  148. package/build/esm/templates/typescript/error/example.ts.hbs +0 -10
  149. package/build/esm/templates/typescript/error/options.types.ts.hbs +0 -12
  150. package/build/esm/templates/typescript/event/event.contract.ts.hbs +0 -24
  151. package/build/esm/templates/typescript/event/event.options.ts.hbs +0 -11
  152. package/build/esm/templates/typescript/event/events.contract.ts.hbs +0 -24
  153. package/build/esm/templates/typescript/event/listener.ts.hbs +0 -23
  154. package/build/esm/templates/typescript/event/listeners.ts.hbs +0 -15
  155. package/build/esm/templates/typescript/event/payload.builder.ts.hbs +0 -15
  156. package/build/esm/templates/typescript/log/transport.plugin.ts.hbs +0 -14
  157. package/build/esm/templates/typescript/permissions/contract.builder.ts.hbs +0 -36
  158. package/build/esm/templates/typescript/permissions/permission.plugin.ts.hbs +0 -1
  159. package/build/esm/templates/typescript/permissions/permissions.ts.hbs +0 -13
  160. package/build/esm/templates/typescript/permissions/permissions.types.ts.hbs +0 -14
  161. package/build/esm/templates/typescript/polish/polish.ts.hbs +0 -67
  162. package/build/esm/templates/typescript/sandbox/will-boot.listener.ts.hbs +0 -109
  163. package/build/esm/templates/typescript/schema/builder.ts.hbs +0 -24
  164. package/build/esm/templates/typescript/schema/core.schemas.types.ts.hbs +0 -34
  165. package/build/esm/templates/typescript/schema/example.ts.hbs +0 -20
  166. package/build/esm/templates/typescript/schema/fields/fieldClassMap.ts.hbs +0 -16
  167. package/build/esm/templates/typescript/schema/fields/fields.types.ts.hbs +0 -1
  168. package/build/esm/templates/typescript/schema/imported.schema.ts.hbs +0 -1
  169. package/build/esm/templates/typescript/schema/partials/fieldDefinitionBody.ts.hbs +0 -12
  170. package/build/esm/templates/typescript/schema/partials/schemaBody.ts.hbs +0 -20
  171. package/build/esm/templates/typescript/schema/partials/schemaValues.ts.hbs +0 -7
  172. package/build/esm/templates/typescript/schema/schema.plugin.ts.hbs +0 -101
  173. package/build/esm/templates/typescript/schema/schema.ts.hbs +0 -12
  174. package/build/esm/templates/typescript/schema/schemas.types.ts.hbs +0 -44
  175. package/build/esm/templates/typescript/schema/valueTypes.ts.hbs +0 -67
  176. package/build/esm/templates/typescript/store/Store.store.ts.hbs +0 -95
  177. package/build/esm/templates/typescript/store/store.plugin.ts.hbs +0 -1
  178. package/build/esm/templates/typescript/store/stores.ts.hbs +0 -9
  179. package/build/esm/templates/typescript/store/stores.types.ts.hbs +0 -17
  180. package/build/esm/templates/typescript/test/Test.test.ts.hbs +0 -20
  181. package/build/esm/templates/typescript/view/App.ac.ts.hbs +0 -6
  182. package/build/esm/templates/typescript/view/View.svc.ts.hbs +0 -23
  183. package/build/esm/templates/typescript/view/View.vc.ts.hbs +0 -17
  184. package/build/esm/templates/typescript/view/skill.theme.ts.hbs +0 -70
  185. package/build/esm/templates/typescript/view/view.plugin.ts.hbs +0 -1
  186. package/build/esm/templates/typescript/view/viewController.plugin.ts.hbs +0 -3
  187. package/build/esm/templates/typescript/view/views.ts.hbs +0 -93
  188. package/build/esm/types/templates.types.d.ts +0 -121
  189. package/build/esm/types/templates.types.js +0 -5
  190. package/build/esm/utilities/DirectoryTemplateUtility.d.ts +0 -15
  191. package/build/esm/utilities/DirectoryTemplateUtility.js +0 -79
  192. package/build/esm/utilities/KeyGeneratorUtility.d.ts +0 -5
  193. package/build/esm/utilities/KeyGeneratorUtility.js +0 -6
  194. package/build/esm/utilities/importExtractor.utility.d.ts +0 -10
  195. package/build/esm/utilities/importExtractor.utility.js +0 -32
  196. package/build/esm/utilities/templateImporter.utility.d.ts +0 -4
  197. package/build/esm/utilities/templateImporter.utility.js +0 -18
  198. package/build/esm/utilities/templateItem.utility.d.ts +0 -6
  199. package/build/esm/utilities/templateItem.utility.js +0 -25
  200. package/build/index.js.map +0 -1
  201. package/build/types/templates.types.js.map +0 -1
  202. package/build/utilities/DirectoryTemplateUtility.js.map +0 -1
  203. package/build/utilities/KeyGeneratorUtility.js.map +0 -1
  204. package/build/utilities/importExtractor.utility.js.map +0 -1
  205. package/build/utilities/templateImporter.utility.js.map +0 -1
  206. package/build/utilities/templateItem.utility.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Spruce Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -9,6 +9,8 @@ const {{nameCamel}}EventContract = buildEventContract({
9
9
  {{#each eventSignatures}}
10
10
  '{{@key}}': {
11
11
  {{#if isGlobal}}isGlobal: true,{{/if}}
12
+ {{#if description}}description: `{{{description}}}`,{{/if}}
13
+ {{#if aiInstructions}}aiInstructions: `{{{aiInstructions}}}`,{{/if}}
12
14
  {{#if emitPermissions}}emitPermissions: {{{json emitPermissions}}},{{/if}}
13
15
  {{#if listenPermissions}}listenPermissions: {{{json listenPermissions}}},{{/if}}
14
16
  {{#if emitPayloadSchema}}emitPayloadSchema: {{emitPayloadSchema.nameCamel}}Schema,{{/if}}
@@ -1,109 +1,174 @@
1
+ import { MercuryClient } from '@sprucelabs/mercury-client'
1
2
  import { SchemaError } from '@sprucelabs/schema'
2
3
  import { EventFeature } from '@sprucelabs/spruce-event-plugin'
3
4
  import {
4
- SpruceEvent,
5
- SpruceEventResponse,
6
- eventResponseUtil,
5
+ SpruceEvent,
6
+ SpruceEventResponse,
7
+ eventResponseUtil,
7
8
  } from '@sprucelabs/spruce-event-utils'
8
- import { EnvService } from '@sprucelabs/spruce-skill-utils'
9
+ import { EnvService, PkgService } from '@sprucelabs/spruce-skill-utils'
9
10
 
10
11
  export default async (event: SpruceEvent): SpruceEventResponse => {
11
- const sandboxNumber = process.env.SANDBOX_DEMO_NUMBER
12
+ const sandboxNumber = process.env.SANDBOX_DEMO_NUMBER
12
13
 
13
- if (sandboxNumber && process.env.SKILL_ID) {
14
- const log = event.log.buildLog('Sandbox')
14
+ if (sandboxNumber && process.env.SKILL_ID) {
15
+ const log = event.log.buildLog('Sandbox')
15
16
 
16
- log.info('Demo sandbox number detected. Checking skill status.')
17
+ log.info('Demo sandbox number detected. Checking skill status.')
17
18
 
18
- const events = event.skill.getFeatureByCode('event') as EventFeature
19
+ const events = event.skill.getFeatureByCode('event') as EventFeature
19
20
 
20
- const env = new EnvService(event.skill.rootDir)
21
+ const env = new EnvService(event.skill.rootDir)
22
+ const pkg = new PkgService(event.skill.rootDir)
21
23
 
22
- process.env.SKILL_ID = (env.get('SKILL_ID') ??
23
- process.env.SKILL_ID) as string
24
- process.env.SKILL_API_KEY = (env.get('SKILL_API_KEY') ??
25
- process.env.SKILL_API_KEY) as string
24
+ process.env.SKILL_ID = (env.get('SKILL_ID') ??
25
+ process.env.SKILL_ID) as string
26
+ process.env.SKILL_API_KEY = (env.get('SKILL_API_KEY') ??
27
+ process.env.SKILL_API_KEY) as string
26
28
 
27
- try {
28
- await events.connectToApi({ shouldWaitForWillBoot: false })
29
- return
30
- // eslint-disable-next-line no-empty
31
- } catch {}
29
+ try {
30
+ await events.connectToApi({ shouldWaitForWillBoot: false })
31
+ return
32
+ } catch {}
32
33
 
33
- log.warn('It looks like sandbox was reset. Re-registering.')
34
+ log.warn('It looks like sandbox was reset. Re-registering.')
34
35
 
35
- const name = process.env.SKILL_NAME as string
36
- const slug = process.env.SKILL_SLUG as string
36
+ const name = process.env.SKILL_NAME as string
37
+ const slug = pkg.get(['skill', 'namespace']) as string
37
38
 
38
- assertRequiredParams(name, slug)
39
+ assertRequiredParams(name, slug)
39
40
 
40
- delete process.env.SKILL_ID
41
- delete process.env.SKILL_API_KEY
41
+ delete process.env.SKILL_ID
42
+ delete process.env.SKILL_API_KEY
42
43
 
43
- const client = (await events.connectToApi({
44
- shouldWaitForWillBoot: false,
45
- })) as any
44
+ const client = (await events.connectToApi({
45
+ shouldWaitForWillBoot: false,
46
+ })) as any
46
47
 
47
- const requestResults = await client.emit('request-pin::v2020_12_25', {
48
- payload: {
49
- phone: sandboxNumber,
50
- },
51
- })
48
+ await login(client, sandboxNumber)
52
49
 
53
- const { challenge } =
54
- eventResponseUtil.getFirstResponseOrThrow(requestResults)
50
+ const skill = await registerOrLoginSkill(client, name, slug)
51
+ await client.emit(`logout::v2020_12_25`)
55
52
 
56
- const confirmResults = await client.emit('confirm-pin::v2020_12_25', {
57
- payload: {
58
- challenge,
59
- pin: sandboxNumber.substr(-4),
60
- },
61
- })
53
+ debugger
62
54
 
63
- eventResponseUtil.getFirstResponseOrThrow(confirmResults)
55
+ await client.authenticate({
56
+ skillId: skill.id,
57
+ apiKey: skill.apiKey,
58
+ })
64
59
 
65
- const results = await client.emit('register-skill::v2020_12_25', {
66
- payload: {
67
- name,
68
- description: 'Auto-generate for sandbox',
69
- slug,
70
- },
71
- })
60
+ env.set('SKILL_ID', skill.id)
61
+ env.set('SKILL_API_KEY', skill.apiKey)
62
+ }
72
63
 
73
- const { skill } = eventResponseUtil.getFirstResponseOrThrow(results)
74
-
75
- process.env.SKILL_ID = skill.id
76
- process.env.SKILL_API_KEY = skill.apiKey
64
+ return
65
+ }
77
66
 
78
- await client.emit(`logout::v2020_12_25`)
67
+ async function login(client: any, sandboxNumber: string) {
68
+ const requestResults = await client.emit('request-pin::v2020_12_25', {
69
+ payload: {
70
+ phone: sandboxNumber,
71
+ },
72
+ })
79
73
 
80
- await client.authenticate({
81
- skillId: skill.id,
82
- apiKey: skill.apiKey,
83
- })
74
+ const { challenge } =
75
+ eventResponseUtil.getFirstResponseOrThrow(requestResults)
84
76
 
85
- env.set('SKILL_ID', skill.id)
86
- env.set('SKILL_API_KEY', skill.apiKey)
87
- }
77
+ const confirmResults = await client.emit('confirm-pin::v2020_12_25', {
78
+ payload: {
79
+ challenge,
80
+ pin: sandboxNumber.substr(-4),
81
+ },
82
+ })
88
83
 
89
- return
84
+ eventResponseUtil.getFirstResponseOrThrow(confirmResults)
90
85
  }
91
86
 
92
87
  function assertRequiredParams(
93
- name: string | undefined,
94
- slug: string | undefined
88
+ name: string | undefined,
89
+ slug: string | undefined
95
90
  ) {
96
- const missing: string[] = []
91
+ const missing: string[] = []
92
+
93
+ if (!name) {
94
+ missing.push('env.SKILL_NAME')
95
+ }
96
+
97
+ if (!slug) {
98
+ missing.push('env.SKILL_SLUG')
99
+ }
100
+
101
+ if (missing.length > 0) {
102
+ throw new SchemaError({
103
+ code: 'MISSING_PARAMETERS',
104
+ parameters: missing,
105
+ })
106
+ }
107
+ }
97
108
 
98
- if (!name) {
99
- missing.push('env.SKILL_NAME')
100
- }
109
+ async function registerOrLoginSkill(
110
+ client: MercuryClient,
111
+ name: string,
112
+ slug: string
113
+ ) {
114
+ let skill: any
115
+ try {
116
+ skill = await registerSkill(client, name, slug)
117
+ } catch (err: any) {
118
+ skill = await loginSkill(client, slug)
119
+ }
120
+ process.env.SKILL_ID = skill.id
121
+ process.env.SKILL_API_KEY = skill.apiKey
122
+
123
+ return skill
124
+ }
101
125
 
102
- if (!slug) {
103
- missing.push('env.SKILL_SLUG')
104
- }
126
+ async function registerSkill(
127
+ client: MercuryClient,
128
+ name: string,
129
+ slug: string
130
+ ) {
131
+ const [{ skill }] = await client.emitAndFlattenResponses(
132
+ 'register-skill::v2020_12_25',
133
+ {
134
+ payload: {
135
+ name,
136
+ description: 'Auto-generate for sandbox',
137
+ slug,
138
+ },
139
+ }
140
+ )
141
+
142
+ return skill
143
+ }
105
144
 
106
- if (missing.length > 0) {
107
- throw new SchemaError({ code: 'MISSING_PARAMETERS', parameters: missing })
145
+ async function loginSkill(client: MercuryClient, slug: string) {
146
+ const [{ skills }] = await client.emitAndFlattenResponses(
147
+ 'list-skills::v2020_12_25',
148
+ {
149
+ payload: {
150
+ shouldOnlyShowMine: true,
151
+ },
152
+ }
153
+ )
154
+
155
+ const match = skills.find((s: any) => s.slug === slug)
156
+
157
+ if (!match) {
158
+ throw new Error(`Could not find skill with slug ${slug}`)
108
159
  }
160
+
161
+ const [{ skill }] = await client.emitAndFlattenResponses(
162
+ 'get-skill::v2020_12_25',
163
+ {
164
+ target: {
165
+ skillId: match.id,
166
+ },
167
+ payload: {
168
+ shouldIncludeApiKey: true,
169
+ },
170
+ }
171
+ )
172
+
173
+ return skill
109
174
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "23.0.0",
6
+ "version": "24.0.0",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "tsconfig.json",
@@ -56,10 +56,10 @@
56
56
  "watch.tsc": "tsc -w"
57
57
  },
58
58
  "dependencies": {
59
- "@sprucelabs/mercury-types": "^47.0.640",
60
- "@sprucelabs/schema": "^31.0.3",
61
- "@sprucelabs/spruce-event-utils": "^40.1.369",
62
- "@sprucelabs/spruce-skill-utils": "^31.1.8",
59
+ "@sprucelabs/mercury-types": "^47.2.0",
60
+ "@sprucelabs/schema": "^31.0.19",
61
+ "@sprucelabs/spruce-event-utils": "^40.1.394",
62
+ "@sprucelabs/spruce-skill-utils": "^31.2.16",
63
63
  "fs-extra": "^11.2.0",
64
64
  "handlebars": "^4.7.8",
65
65
  "lodash": "^4.17.21",
@@ -67,16 +67,16 @@
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/fs-extra": "^11.0.4",
70
- "@types/lodash": "^4.17.13",
71
- "@types/node": "^22.10.2",
70
+ "@types/lodash": "^4.17.14",
71
+ "@types/node": "^22.10.7",
72
72
  "chokidar-cli": "^3.0.0",
73
- "concurrently": "^9.1.0",
73
+ "concurrently": "^9.1.2",
74
74
  "conventional-changelog-sprucelabs": "2.0.1",
75
75
  "prettier": "^3.4.2",
76
- "typescript": "^5.7.2"
76
+ "typescript": "^5.7.3"
77
77
  },
78
78
  "yarn-upgrade-all": {
79
79
  "ignore": []
80
80
  },
81
- "gitHead": "94ce410c05180cdfa9b6ca4b9e47061d52ac4e71"
81
+ "gitHead": "4ae8247c0a6aeb36bc8d249c50303e01decb96c2"
82
82
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"eq.addon.js","sourceRoot":"","sources":["../../src/addons/eq.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACzC,OAAO,GAAG,KAAK,GAAG,CAAA;AACtB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"escape.addon.js","sourceRoot":"","sources":["../../src/addons/escape.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,mBAAmB;AACnB,oBAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,QAAQ;IAClD,OAAO,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC7E,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldDefinitionBodyPartial.addon.js","sourceRoot":"","sources":["../../src/addons/fieldDefinitionBodyPartial.addon.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAyB;AACzB,4DAAmC;AAEnC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE1E,MAAM,YAAY,GAAW,kBAAE;KAC1B,YAAY,CACT,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4CAA4C,CAAC,CACxE;KACA,QAAQ,EAAE,CAAA;AAEf,oBAAU,CAAC,eAAe,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldDefinitionOptions.addon.js","sourceRoot":"","sources":["../../src/addons/fieldDefinitionOptions.addon.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldTypeEnum.addon.js","sourceRoot":"","sources":["../../src/addons/fieldTypeEnum.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,2DAA2D;AAC3D,oBAAU,CAAC,cAAc,CACrB,eAAe,EACf,UAAU,gBAAkC;IACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACX,qEAAqE,CACxE,CAAA;IACL,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAA;IAEjC,OAAO,IAAI,IAAI,GAAG,CAAA;AACtB,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldValue.addon.js","sourceRoot":"","sources":["../../src/addons/fieldValue.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,0DAA0D;AAC1D,oBAAU,CAAC,cAAc,CACrB,YAAY,EACZ,UAAU,gBAAkC,EAAE,KAAU;IACpD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gt.addon.js","sourceRoot":"","sources":["../../src/addons/gt.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACzC,OAAO,GAAG,GAAG,GAAG,CAAA;AACpB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasKeys.addon.js","sourceRoot":"","sources":["../../src/addons/hasKeys.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,KAAK;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAC5E,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasNoneCoreSchemaTemplateItems.addon.js","sourceRoot":"","sources":["../../src/addons/hasNoneCoreSchemaTemplateItems.addon.ts"],"names":[],"mappings":";;;;;AACA,uEAA+D;AAC/D,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CACrB,+BAA+B,EAC/B,UAAU,mBAAyC;IAC/C,OAAO,CACH,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,mCAAc,CAAC;SAC5D,MAAM,GAAG,CAAC,CAClB,CAAA;AACL,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"importRelatedSchemas.addon.js","sourceRoot":"","sources":["../../src/addons/importRelatedSchemas.addon.ts"],"names":[],"mappings":";;;;;AAAA,+CAA4E;AAC5E,4DAAmC;AACnC,mCAAwC;AAExC,oBAAU,CAAC,cAAc,CACrB,sBAAsB,EACtB,UAAU,MAAc,EAAE,OAAO;;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAA;IACL,CAAC;IAED,MAAM,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,GACjB,GAAG,OAAO,CAAA;IAEX,MAAM,mBAAmB,GACrB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAA;IAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACX,0EAA0E,CAC7E,CAAA;IACL,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB;QACvC,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA;IACxC,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,OAAO,GACT,oBAAW,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAA;YAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC9B,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;oBACzB,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO;oBAC1C,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,aAAa,CAAC,SAAS,CACrD,CAAA;gBACD,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CACR,UAAU,OAAO,CAAC,SAAS,SACvB,OAAO,CAAC,MAAM,CAAC,OAAO;wBAClB,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;wBAC9B,CAAC,CAAC,EACV,UAAU,OAAO,CAAC,cAAc,IAAI,IAAA,kBAAS,EACzC,OAAO,CAAC,SAAS,CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAC1D,OAAO,CAAC,EACZ,UAAU,CACb,CAAA;gBACL,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,IAAA,aAAI,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/addons/index.ts"],"names":[],"mappings":";;AAAA,sBAAmB;AACnB,0BAAuB;AACvB,8CAA2C;AAC3C,0CAAuC;AACvC,iCAA8B;AAC9B,8BAA2B;AAC3B,sBAAmB;AACnB,2BAAwB;AACxB,kDAA+C;AAC/C,wCAAqC;AACrC,mBAAgB;AAChB,6BAA0B;AAC1B,wBAAqB;AACrB,uBAAoB;AACpB,6BAA0B;AAC1B,8BAA2B;AAC3B,6CAA0C;AAC1C,qCAAkC;AAClC,uCAAoC;AACpC,uCAAoC;AACpC,sCAAmC;AACnC,oCAAiC;AACjC,mCAAgC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isDefined.addon.js","sourceRoot":"","sources":["../../src/addons/isDefined.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,sDAAsD;AACtD,oBAAU,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,KAAK;IAClD,OAAO,KAAK,KAAK,SAAS,CAAA;AAC9B,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.addon.js","sourceRoot":"","sources":["../../src/addons/json.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,sDAAsD;AACtD,oBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,IAAI;IAC5C,iEAAiE;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,CAAA;AAChB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"neq.addon.js","sourceRoot":"","sources":["../../src/addons/neq.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,oBAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC5C,OAAO,IAAI,KAAK,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.addon.js","sourceRoot":"","sources":["../../src/addons/operators.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CAAC;IACtB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;IACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;IACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;IACvB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;IACvB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;IACzB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;IACzB,GAAG,CAAC,GAAG,MAAM;QACT,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IACD,EAAE,CAAC,GAAG,MAAM;QACR,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClE,CAAC;CACJ,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pascalCase.addon.js","sourceRoot":"","sources":["../../src/addons/pascalCase.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,oBAAU,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;IAC5C,OAAO,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionContractBuilder.addon.js","sourceRoot":"","sources":["../../src/addons/permissionContractBuilder.addon.ts"],"names":[],"mappings":";;;;;AACA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CACrB,2BAA2B,EAC3B,UAAU,kBAAsC;IAC5C,OAAO,2BAA2B,IAAI,CAAC,SAAS,CAC5C,kBAAkB,EAClB,IAAI,EACJ,CAAC,CACJ,GAAG,CAAA;AACR,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaBodyPartial.addon.js","sourceRoot":"","sources":["../../src/addons/schemaBodyPartial.addon.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAyB;AACzB,4DAAmC;AAEnC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE1E,MAAM,iBAAiB,GAAW,kBAAE;KAC/B,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;KAC1E,QAAQ,EAAE,CAAA;AAEf,oBAAU,CAAC,eAAe,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaNamespacePath.addon.js","sourceRoot":"","sources":["../../src/addons/schemaNamespacePath.addon.ts"],"names":[],"mappings":";;;;;AACA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CAAC,qBAAqB,EAAE,UAAU,OAAY;;IACnE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAEtC,CAAA;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,IAAI,mCAAI,EAAE,CAAA;IAE3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACX,qFAAqF,CACxF,CAAA;IACL,CAAC;IAED,IAAI,IAAI,GAAG,GAAG,qBAAqB,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAA;IAErE,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,IAAI,IAAI,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAA;IAE3C,OAAO,IAAI,CAAA;AACf,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaValuesPartial.addon.js","sourceRoot":"","sources":["../../src/addons/schemaValuesPartial.addon.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAyB;AACzB,4DAAmC;AAEnC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE1E,MAAM,mBAAmB,GAAW,kBAAE;KACjC,YAAY,CACT,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,qCAAqC,CAAC,CACjE;KACA,QAAQ,EAAE,CAAA;AAEf,oBAAU,CAAC,eAAe,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueTypeGenerator.addon.js","sourceRoot":"","sources":["../../src/addons/valueTypeGenerator.addon.ts"],"names":[],"mappings":";;;;;AACA,4DAAmC;AACnC,mCAAmC;AAGnC,oBAAU,CAAC,cAAc,CACrB,oBAAoB,EACpB,UACI,eAEkD,EAClD,QAA0B,EAC1B,IAA8D,EAC9D,OAMC;IAED,MAAM,EACF,IAAI,EAAE,EACF,IAAI,EAAE,EAAE,kBAAkB,EAAE,GAC/B,GACJ,GAAG,OAAO,CAAA;IAEX,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,IAAI,CACpD,CAAC,CAAC,CAAC,CAAA;IAEJ,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACX,yEAAyE,eAAe,CAAC,IAAI,EAAE,CAClG,CAAA;IACL,CAAC;IAED,MAAM,IAAI,GAAG,oBAAU,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IACvE,MAAM,mBAAmB,GAAG,EAAE,GAAG,eAAe,EAAE,CAAA;IAClD,aAAa;IACL,mBAAuD,aAAvD,mBAAmB,4BAAnB,mBAAmB,CAAsC,OAAO,CAAA;IAExE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,GAAG,mBAAmB;QACtB,IAAI,EAAE,eAAe;KACxB,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IAEnC,OAAO,GAAG,IAAI,IAAI,GAAG,sBAAsB,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAC3D,KAAK,CAAC,QACV,IAAI,CAAA;AACR,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueTypeLiteral.addon.js","sourceRoot":"","sources":["../../src/addons/valueTypeLiteral.addon.ts"],"names":[],"mappings":";;;;;AAAA,+CAAqD;AACrD,uEAAwE;AACxE,4DAAmC;AAGnC,+HAA+H;AAC/H,oBAAU,CAAC,cAAc,CACrB,kBAAkB,EAClB,UACI,SAAiB,EACjB,SAAiB,EACjB,OAA2B,EAC3B,SAAiB,EACjB,QAA0B,EAC1B,OAAO;;IAEP,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IACI,QAAQ,KAAK,yBAAgB,CAAC,KAAK;QACnC,QAAQ,KAAK,yBAAgB,CAAC,IAAI;QAClC,QAAQ,KAAK,yBAAgB,CAAC,UAAU,EAC1C,CAAC;QACC,MAAM,IAAI,KAAK,CACX,mIAAmI,CACtI,CAAA;IACL,CAAC;IAED,MAAM,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,GACjB,GAAG,OAAO,CAAA;IAEX,MAAM,UAAU,GAAe,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACX,iEAAiE,CACpE,CAAA;IACL,CAAC;IAED,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,4CAAuB,CAAA;IAErD,MAAM,SAAS,GACX,MAAA,MAAA,MAAA,MAAA,UAAU,CAAC,SAAS,CAAC,0CAAG,SAAS,CAAC,0CAAG,CAAC,CAAC,0CAAG,SAAS,CAAC,0CAAE,UAAU,CAC5D,QAAQ,CACX,CAAA;IAEL,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,0CAA0C,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,CACxF,CAAA;IACL,CAAC;IAED,OAAO,SAAS,CAAA;AACpB,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueTypeMapper.addon.js","sourceRoot":"","sources":["../../src/addons/valueTypeMapper.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CACrB,iBAAiB,EACjB,UAAU,UAAkB,EAAE,QAAkC;IAC5D,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;SAAM,CAAC;QACJ,OAAO,UAAU,CAAA;IACrB,CAAC;AACL,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- lts/*
@@ -1,4 +0,0 @@
1
- # [Your Skill Name]
2
-
3
- ## Useful links
4
- * [Spruce Developer Documentation: https://developer.spruce.ai](https://developer.spruce.ai)
@@ -1,3 +0,0 @@
1
- import eslintConfigSpruce from 'eslint-config-spruce'
2
-
3
- export default eslintConfigSpruce
@@ -1,15 +0,0 @@
1
- {
2
- "name": "{{name}}",
3
- "description": "{{description}}",
4
- "version": "0.0.1",
5
- "skill": {},
6
- "homepage": "https://github.com/[YOUR REPO PATH]",
7
- "bugs": {
8
- "url": "https://github.com/[YOUR REPO PATH]/issues"
9
- },
10
- "keywords": [],
11
- "scripts": {},
12
- "dependencies": {},
13
- "devDependencies": {
14
- }
15
- }
@@ -1,20 +0,0 @@
1
- import AbstractSpruceError from '@sprucelabs/error'
2
- import ErrorOptions from '#spruce/errors/options.types'
3
-
4
- export default class SpruceError extends AbstractSpruceError<ErrorOptions> {
5
- public friendlyMessage(): string {
6
- const { options } = this
7
- let message
8
-
9
- switch (options?.code) {
10
- default:
11
- message = super.friendlyMessage()
12
- }
13
-
14
- const fullMessage = options.friendlyMessage
15
- ? options.friendlyMessage
16
- : message
17
-
18
- return fullMessage
19
- }
20
- }
@@ -1,39 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "skipLibCheck": true,
4
- "module": "commonjs",
5
- "esModuleInterop": true,
6
- "target": "ES2020",
7
- "lib": [
8
- "DOM",
9
- "ES2022"
10
- ],
11
- "declaration": true,
12
- "noImplicitAny": true,
13
- "allowJs": true,
14
- "forceConsistentCasingInFileNames": true,
15
- "noImplicitReturns": true,
16
- "strict": true,
17
- "noUnusedLocals": true,
18
- "resolveJsonModule": true,
19
- "moduleResolution": "node",
20
- "sourceMap": false,
21
- "outDir": "build",
22
- "baseUrl": "src",
23
- "experimentalDecorators": true,
24
- "paths": {
25
- "#spruce/*": [
26
- ".spruce/*"
27
- ]
28
- }
29
- },
30
- "include": [
31
- "./src/*.ts",
32
- "./src/**/*.ts",
33
- "./src/.spruce/**/*"
34
- ],
35
- "exclude": [
36
- "build",
37
- "esm"
38
- ]
39
- }
@@ -1,58 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "type": "node",
6
- "request": "attach",
7
- "name": "attach.tests",
8
- "port": 5200,
9
- "restart": true,
10
- "timeout": 10000
11
- },
12
- {
13
- "type": "node",
14
- "request": "launch",
15
- "name": "test.file",
16
- "runtimeExecutable": "node",
17
- "runtimeArgs": [
18
- "--inspect-brk",
19
- "--trace-warnings",
20
- "${workspaceFolder}/node_modules/.bin/jest",
21
- "${fileBasenameNoExtension}",
22
- "--detectOpenHandles"
23
- ],
24
- "cwd": "${workspaceFolder}",
25
- "console": "integratedTerminal",
26
- "internalConsoleOptions": "neverOpen"
27
- },
28
- {
29
- "type": "node",
30
- "request": "launch",
31
- "name": "test.all",
32
- "runtimeExecutable": "node",
33
- "runtimeArgs": [
34
- "--inspect-brk",
35
- "--trace-warnings",
36
- "${workspaceFolder}/node_modules/.bin/jest"
37
- ],
38
- "cwd": "${workspaceFolder}",
39
- "console": "integratedTerminal",
40
- "internalConsoleOptions": "neverOpen"
41
- },
42
- {
43
- "type": "node",
44
- "request": "launch",
45
- "name": "boot",
46
- "runtimeExecutable": "yarn",
47
- "runtimeArgs": [
48
- "run",
49
- "--inspect-brk",
50
- "--trace-warnings",
51
- "boot"
52
- ],
53
- "cwd": "${workspaceFolder}",
54
- "console": "integratedTerminal",
55
- "internalConsoleOptions": "neverOpen"
56
- }
57
- ]
58
- }
@@ -1,67 +0,0 @@
1
- {
2
- "debug.node.autoAttach": "on",
3
- "git.ignoreLimitWarning": true,
4
- "javascript.validate.enable": false,
5
- "files.watcherExclude": {
6
- "**/.git/objects/**": true,
7
- "**/.git/subtree-cache/**": true,
8
- "**/build/**": true,
9
- "**/node_modules/**": true,
10
- },
11
- "search.exclude": {
12
- "**/build/**": true,
13
- "**/node_modules/**": true,
14
- "**/.next/**": true
15
- },
16
- "editor.maxTokenizationLineLength": 20000000,
17
- "[javascript]": {
18
- "editor.formatOnSave": false
19
- },
20
- "[javascriptreact]": {
21
- "editor.formatOnSave": false
22
- },
23
- "[typescript]": {
24
- "editor.formatOnSave": false
25
- },
26
- "[typescriptreact]": {
27
- "editor.formatOnSave": false
28
- },
29
- "[handlebars]": {
30
- "editor.formatOnSave": false
31
- },
32
- "typescript.tsdk": "node_modules/typescript/lib",
33
- "cSpell.ignorePaths": [
34
- "**/package-lock.json",
35
- "**/node_modules/**",
36
- "**/build/**",
37
- "**/vscode-extension/**",
38
- "**/.git/objects/**",
39
- ".vscode",
40
- ".spruce"
41
- ],
42
- "cSpell.words": [
43
- "arkit",
44
- "autogenerated",
45
- "scrollable",
46
- "serializable"
47
- ],
48
- "debug.javascript.unmapMissingSources": true,
49
- "javascript.preferences.importModuleSpecifier": "relative",
50
- "typescript.preferences.importModuleSpecifier": "relative",
51
- "eslint.useFlatConfig": true,
52
- "eslint.enable": true,
53
- "eslint.validate": [
54
- "javascript",
55
- "javascriptreact",
56
- "typescript",
57
- "typescriptreact"
58
- ],
59
- "eslint.workingDirectories": [
60
- "./"
61
- ],
62
- "typescript.validate.enable": true,
63
- "editor.formatOnSave": false,
64
- "editor.codeActionsOnSave": {
65
- "source.fixAll.eslint": "always"
66
- }
67
- }