@sprucelabs/spruce-cli 22.1.2 → 22.1.4

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 (107) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  3. package/build/.spruce/schemas/fields/fields.types.d.ts +1 -1
  4. package/build/.spruce/schemas/schemas.types.d.ts +485 -512
  5. package/build/.spruce/schemas/schemas.types.js +4 -0
  6. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  7. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +15 -15
  8. package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -1
  9. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js +9 -9
  10. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  11. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js +5 -5
  12. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  13. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js +64 -64
  14. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  15. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js +5 -5
  16. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  17. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js +65 -65
  18. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  19. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js +13 -18
  20. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  21. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js +9 -16
  22. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  23. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js +9 -16
  24. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  25. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js +3 -3
  26. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  27. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js +24 -24
  28. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  29. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js +23 -23
  30. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  31. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js +9 -9
  32. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  33. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +7 -7
  34. package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -1
  35. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js +1 -1
  36. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  37. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js +5 -16
  38. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  39. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js +9 -9
  40. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  41. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js +3 -3
  42. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  43. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js +5 -5
  44. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  45. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js +3 -3
  46. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  47. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js +11 -10
  48. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  49. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js +52 -52
  50. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  51. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js +15 -15
  52. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  53. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js +10 -10
  54. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  55. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js +46 -46
  56. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  57. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js +14 -20
  58. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  59. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js +4 -16
  60. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  61. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js +4 -9
  62. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  63. package/build/features/schema/utilities/schema.utility.d.ts +1 -1
  64. package/build/features/skill/actions/CreateAction.d.ts +2 -0
  65. package/build/features/skill/actions/RegisterAction.js +2 -2
  66. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  67. package/build/features/skill/stores/SkillStore.d.ts +1 -1
  68. package/build/features/vscode/actions/SetupAction.js +7 -3
  69. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  70. package/build/schemas/v2020_07_22/skillFeature.builder.d.ts +1 -0
  71. package/build/schemas/v2020_07_22/skillFeature.builder.js +1 -0
  72. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  73. package/package.json +3 -3
  74. package/src/.spruce/schemas/fields/fieldClassMap.ts +3 -0
  75. package/src/.spruce/schemas/fields/fields.types.ts +1 -6
  76. package/src/.spruce/schemas/schemas.types.ts +2257 -2237
  77. package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +49 -50
  78. package/src/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.ts +37 -36
  79. package/src/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.ts +27 -26
  80. package/src/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.ts +209 -208
  81. package/src/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.ts +26 -26
  82. package/src/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.ts +226 -225
  83. package/src/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.ts +49 -53
  84. package/src/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.ts +33 -39
  85. package/src/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.ts +33 -39
  86. package/src/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.ts +18 -20
  87. package/src/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.ts +76 -76
  88. package/src/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.ts +91 -91
  89. package/src/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.ts +31 -31
  90. package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +25 -23
  91. package/src/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.ts +11 -9
  92. package/src/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.ts +23 -32
  93. package/src/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.ts +38 -37
  94. package/src/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.ts +16 -17
  95. package/src/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.ts +25 -25
  96. package/src/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.ts +17 -17
  97. package/src/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.ts +31 -29
  98. package/src/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.ts +169 -168
  99. package/src/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.ts +48 -49
  100. package/src/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.ts +37 -36
  101. package/src/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.ts +162 -161
  102. package/src/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.ts +55 -60
  103. package/src/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.ts +18 -30
  104. package/src/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.ts +19 -26
  105. package/src/features/skill/actions/RegisterAction.ts +2 -2
  106. package/src/features/vscode/actions/SetupAction.ts +7 -3
  107. package/src/schemas/v2020_07_22/skillFeature.builder.ts +1 -0
@@ -1,2247 +1,2267 @@
1
+ /* eslint-disable @typescript-eslint/no-namespace */
2
+ /* eslint-disable no-redeclare */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ /* eslint-disable import/order */
5
+
1
6
  export { SpruceSchemas } from '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schemas.types'
2
7
 
3
- import AbstractSpruceError from '@sprucelabs/error'
4
8
  import { default as SchemaEntity } from '@sprucelabs/schema'
5
9
 
10
+
11
+
6
12
  import * as SpruceSchema from '@sprucelabs/schema'
7
13
 
8
14
  import { BaseWidget } from '#spruce/../widgets/types/widgets.types'
15
+ import AbstractSpruceError from '@sprucelabs/error'
9
16
 
10
17
  declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schemas.types' {
11
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
12
- interface GeneratedDir {
13
- name: string
14
-
15
- path: string
16
-
17
- description?: string | undefined | null
18
-
19
- action: 'skipped' | 'generated' | 'updated' | 'deleted'
20
- }
21
-
22
- interface GeneratedDirSchema extends SpruceSchema.Schema {
23
- id: 'generatedDir'
24
- version: 'v2020_07_22'
25
- namespace: 'SpruceCli'
26
- name: ''
27
- fields: {
28
- /** . */
29
- name: {
30
- type: 'text'
31
- isRequired: true
32
- options: undefined
33
- }
34
- /** . */
35
- path: {
36
- type: 'text'
37
- isRequired: true
38
- options: undefined
39
- }
40
- /** . */
41
- description: {
42
- type: 'text'
43
- options: undefined
44
- }
45
- /** . */
46
- action: {
47
- type: 'select'
48
- isRequired: true
49
- options: {
50
- choices: [
51
- { label: 'Skipped'; value: 'skipped' },
52
- { label: 'Generated'; value: 'generated' },
53
- { label: 'Updated'; value: 'updated' },
54
- { label: 'Deleted'; value: 'deleted' },
55
- ]
56
- }
57
- }
58
- }
59
- }
60
-
61
- interface GeneratedDirEntity
62
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.GeneratedDirSchema> {}
63
- }
64
-
65
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
66
- interface WatcherDidDetectChangesEmitPayload {
67
- changes: (
68
- | {
69
- schemaId: 'generatedFile'
70
- version: 'v2020_07_22'
71
- values: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile
72
- }
73
- | {
74
- schemaId: 'generatedDir'
75
- version: 'v2020_07_22'
76
- values: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedDir
77
- }
78
- )[]
79
- }
80
-
81
- interface WatcherDidDetectChangesEmitPayloadSchema
82
- extends SpruceSchema.Schema {
83
- id: 'watcherDidDetectChangesEmitPayload'
84
- version: 'v2020_07_22'
85
- namespace: 'SpruceCli'
86
- name: 'Watcher did detect changes emit payload'
87
- fields: {
88
- /** . */
89
- changes: {
90
- type: 'schema'
91
- isRequired: true
92
- isArray: true
93
- options: {
94
- schemas: (
95
- | SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema
96
- | SpruceSchemas.SpruceCli.v2020_07_22.GeneratedDirSchema
97
- )[]
98
- }
99
- }
100
- }
101
- }
102
-
103
- interface WatcherDidDetectChangesEmitPayloadEntity
104
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema> {}
105
- }
106
-
107
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
108
- /** Upgrade. Everything. Heads up, this can take a few minutes. ⏱ */
109
- interface UpgradeSkillOptions {
110
- /** Upgrade mode. */
111
- upgradeMode?:
112
- | (
113
- | 'askForChanged'
114
- | 'forceEverything'
115
- | 'forceRequiredSkipRest'
116
- )
117
- | undefined
118
- | null
119
- }
120
-
121
- interface UpgradeSkillOptionsSchema extends SpruceSchema.Schema {
122
- id: 'upgradeSkillOptions'
123
- version: 'v2020_07_22'
124
- namespace: 'SpruceCli'
125
- name: 'Upgrade skill action'
126
- description: 'Upgrade. Everything. Heads up, this can take a few minutes. ⏱'
127
- fields: {
128
- /** Upgrade mode. */
129
- upgradeMode: {
130
- label: 'Upgrade mode'
131
- type: 'select'
132
- defaultValue: 'askForChanged'
133
- options: {
134
- choices: [
135
- {
136
- value: 'askForChanged'
137
- label: 'Ask for changed files'
138
- },
139
- {
140
- value: 'forceEverything'
141
- label: 'Force everything'
142
- },
143
- {
144
- value: 'forceRequiredSkipRest'
145
- label: 'Force required (skipping all non-essential)'
146
- },
147
- ]
148
- }
149
- }
150
- }
151
- }
152
-
153
- interface UpgradeSkillOptionsEntity
154
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptionsSchema> {}
155
- }
156
-
157
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
158
- /** Test your might! 💪 */
159
- interface TestOptions {
160
- /** Report while running. Should I output the test results while they are running? */
161
- shouldReportWhileRunning?: boolean | undefined | null
162
- /** Pattern. I'll filter all tests that match this pattern */
163
- pattern?: string | undefined | null
164
- /** Inspect. Pass --inspect related args to test process. */
165
- inspect?: number | undefined | null
166
- /** Should wait for manual start?. */
167
- shouldHoldAtStart?: boolean | undefined | null
168
- /** Wait until tests are finished. For testing. Returns immediately after executing test so the running process can be managed programatically. */
169
- shouldReturnImmediately?: boolean | undefined | null
170
- /** Watch. */
171
- watchMode?: ('off' | 'standard' | 'smart') | undefined | null
172
- }
173
-
174
- interface TestOptionsSchema extends SpruceSchema.Schema {
175
- id: 'testOptions'
176
- version: 'v2020_07_22'
177
- namespace: 'SpruceCli'
178
- name: 'Test skill'
179
- description: 'Test your might! 💪'
180
- fields: {
181
- /** Report while running. Should I output the test results while they are running? */
182
- shouldReportWhileRunning: {
183
- label: 'Report while running'
184
- type: 'boolean'
185
- hint: 'Should I output the test results while they are running?'
186
- defaultValue: true
187
- options: undefined
188
- }
189
- /** Pattern. I'll filter all tests that match this pattern */
190
- pattern: {
191
- label: 'Pattern'
192
- type: 'text'
193
- hint: "I'll filter all tests that match this pattern"
194
- options: undefined
195
- }
196
- /** Inspect. Pass --inspect related args to test process. */
197
- inspect: {
198
- label: 'Inspect'
199
- type: 'number'
200
- hint: 'Pass --inspect related args to test process.'
201
- options: undefined
202
- }
203
- /** Should wait for manual start?. */
204
- shouldHoldAtStart: {
205
- label: 'Should wait for manual start?'
206
- type: 'boolean'
207
- defaultValue: false
208
- options: undefined
209
- }
210
- /** Wait until tests are finished. For testing. Returns immediately after executing test so the running process can be managed programatically. */
211
- shouldReturnImmediately: {
212
- label: 'Wait until tests are finished'
213
- type: 'boolean'
214
- isPrivate: true
215
- hint: 'For testing. Returns immediately after executing test so the running process can be managed programatically.'
216
- defaultValue: false
217
- options: undefined
218
- }
219
- /** Watch. */
220
- watchMode: {
221
- label: 'Watch'
222
- type: 'select'
223
- options: {
224
- choices: [
225
- { value: 'off'; label: 'Off' },
226
- { value: 'standard'; label: 'Standard' },
227
- { value: 'smart'; label: 'Smart' },
228
- ]
229
- }
230
- }
231
- }
232
- }
233
-
234
- interface TestOptionsEntity
235
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.TestOptionsSchema> {}
236
- }
237
-
238
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
239
- /** Options for schema.sync. */
240
- interface SyncSchemasOptions {
241
- /** Field types directory. Where field types and interfaces will be generated. */
242
- fieldTypesDestinationDir?: string | undefined | null
243
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
244
- addonsLookupDir?: string | undefined | null
245
- /** Generate field types. Should I generate field types too? */
246
- generateFieldTypes?: boolean | undefined | null
247
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
248
- schemaTypesDestinationDirOrFile?: string | undefined | null
249
- /** . Where I should look for your schema builders? */
250
- schemaLookupDir?: string | undefined | null
251
- /** Module import. When other skills use your schemas, will they import them from a module? */
252
- moduleToImportFromWhenRemote?: string | undefined | null
253
- /** Auto install missing dependencies. */
254
- shouldInstallMissingDependencies?: boolean | undefined | null
255
- /** Enable versioning. Should we use versioning? */
256
- shouldEnableVersioning?: boolean | undefined | null
257
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
258
- globalSchemaNamespace?: string | undefined | null
259
- /** Fetch remote schemas. I will pull in schemas from other features. */
260
- shouldFetchRemoteSchemas?: boolean | undefined | null
261
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
262
- shouldFetchLocalSchemas?: boolean | undefined | null
263
- /** Fetch core schemas. Should I pull in core schemas too? */
264
- shouldFetchCoreSchemas?: boolean | undefined | null
265
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
266
- shouldGenerateCoreSchemaTypes?: boolean | undefined | null
267
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
268
- registerBuiltSchemas?: boolean | undefined | null
269
- /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
270
- deleteDestinationDirIfNoSchemas?: boolean | undefined | null
271
- /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
272
- deleteOrphanedSchemas?: boolean | undefined | null
273
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
274
- generateStandaloneTypesFile?: boolean | undefined | null
275
- /** message. */
276
- syncingMessage?: string | undefined | null
277
- }
278
-
279
- interface SyncSchemasOptionsSchema extends SpruceSchema.Schema {
280
- id: 'syncSchemasOptions'
281
- version: 'v2020_07_22'
282
- namespace: 'SpruceCli'
283
- name: 'Sync schemas action'
284
- description: 'Options for schema.sync.'
285
- fields: {
286
- /** Field types directory. Where field types and interfaces will be generated. */
287
- fieldTypesDestinationDir: {
288
- label: 'Field types directory'
289
- type: 'text'
290
- isPrivate: true
291
- hint: 'Where field types and interfaces will be generated.'
292
- defaultValue: '#spruce/schemas'
293
- options: undefined
294
- }
295
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
296
- addonsLookupDir: {
297
- label: 'Addons lookup directory'
298
- type: 'text'
299
- hint: "Where I'll look for new schema fields to be registered."
300
- defaultValue: 'src/addons'
301
- options: undefined
302
- }
303
- /** Generate field types. Should I generate field types too? */
304
- generateFieldTypes: {
305
- label: 'Generate field types'
306
- type: 'boolean'
307
- isPrivate: true
308
- hint: 'Should I generate field types too?'
309
- defaultValue: true
310
- options: undefined
311
- }
312
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
313
- schemaTypesDestinationDirOrFile: {
314
- label: 'Schema types destination directory'
315
- type: 'text'
316
- hint: 'Where I will generate schema types and interfaces.'
317
- defaultValue: '#spruce/schemas'
318
- options: undefined
319
- }
320
- /** . Where I should look for your schema builders? */
321
- schemaLookupDir: {
322
- type: 'text'
323
- hint: 'Where I should look for your schema builders?'
324
- defaultValue: 'src/schemas'
325
- options: undefined
326
- }
327
- /** Module import. When other skills use your schemas, will they import them from a module? */
328
- moduleToImportFromWhenRemote: {
329
- label: 'Module import'
330
- type: 'text'
331
- hint: 'When other skills use your schemas, will they import them from a module?'
332
- options: undefined
333
- }
334
- /** Auto install missing dependencies. */
335
- shouldInstallMissingDependencies: {
336
- label: 'Auto install missing dependencies'
337
- type: 'boolean'
338
- options: undefined
339
- }
340
- /** Enable versioning. Should we use versioning? */
341
- shouldEnableVersioning: {
342
- label: 'Enable versioning'
343
- type: 'boolean'
344
- isPrivate: true
345
- hint: 'Should we use versioning?'
346
- defaultValue: true
347
- options: undefined
348
- }
349
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
350
- globalSchemaNamespace: {
351
- label: 'Global namespace'
352
- type: 'text'
353
- isPrivate: true
354
- hint: "The name you'll use when accessing these schemas, e.g. SpruceSchemas"
355
- defaultValue: 'SpruceSchemas'
356
- options: undefined
357
- }
358
- /** Fetch remote schemas. I will pull in schemas from other features. */
359
- shouldFetchRemoteSchemas: {
360
- label: 'Fetch remote schemas'
361
- type: 'boolean'
362
- isPrivate: true
363
- hint: 'I will pull in schemas from other features.'
364
- defaultValue: true
365
- options: undefined
366
- }
367
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
368
- shouldFetchLocalSchemas: {
369
- label: 'Fetch local schemas'
370
- type: 'boolean'
371
- isPrivate: true
372
- hint: 'I will look in schemaLookupDir to load local schemas.'
373
- defaultValue: true
374
- options: undefined
375
- }
376
- /** Fetch core schemas. Should I pull in core schemas too? */
377
- shouldFetchCoreSchemas: {
378
- label: 'Fetch core schemas'
379
- type: 'boolean'
380
- isPrivate: true
381
- hint: 'Should I pull in core schemas too?'
382
- defaultValue: true
383
- options: undefined
384
- }
385
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
386
- shouldGenerateCoreSchemaTypes: {
387
- label: 'Generate core schemas'
388
- type: 'boolean'
389
- isPrivate: true
390
- hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.'
391
- options: undefined
392
- }
393
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
394
- registerBuiltSchemas: {
395
- label: 'Register built schemas'
396
- type: 'boolean'
397
- isPrivate: true
398
- hint: 'Should the schemas use the SchemaRegistry for tracking?'
399
- defaultValue: true
400
- options: undefined
401
- }
402
- /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
403
- deleteDestinationDirIfNoSchemas: {
404
- label: 'Delete directory if no schemas'
405
- type: 'boolean'
406
- isPrivate: true
407
- hint: 'Should I delete the schema directory if no schemas are found?'
408
- defaultValue: false
409
- options: undefined
410
- }
411
- /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
412
- deleteOrphanedSchemas: {
413
- label: 'Delete orphaned schemas'
414
- type: 'boolean'
415
- isPrivate: true
416
- hint: 'Should I delete schemas where the builders are missing?'
417
- defaultValue: true
418
- options: undefined
419
- }
420
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
421
- generateStandaloneTypesFile: {
422
- label: 'Generate standalone types file'
423
- type: 'boolean'
424
- isPrivate: true
425
- hint: "By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file."
426
- defaultValue: false
427
- options: undefined
428
- }
429
- /** message. */
430
- syncingMessage: {
431
- label: ' message'
432
- type: 'text'
433
- isPrivate: true
434
- defaultValue: 'Syncing schemas...'
435
- options: undefined
436
- }
437
- }
438
- }
439
-
440
- interface SyncSchemasOptionsEntity
441
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema> {}
442
- }
443
-
444
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
445
- /** Sync schema fields so you can use schemas! */
446
- interface SyncSchemaFieldsOptions {
447
- /** Field types directory. Where field types and interfaces will be generated. */
448
- fieldTypesDestinationDir?: string | undefined | null
449
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
450
- addonsLookupDir?: string | undefined | null
451
- /** Generate field types. Should I generate field types too? */
452
- generateFieldTypes?: boolean | undefined | null
453
- }
454
-
455
- interface SyncSchemaFieldsOptionsSchema extends SpruceSchema.Schema {
456
- id: 'syncSchemaFieldsOptions'
457
- version: 'v2020_07_22'
458
- namespace: 'SpruceCli'
459
- name: 'syncSchemaFieldsOptions'
460
- description: 'Sync schema fields so you can use schemas!'
461
- fields: {
462
- /** Field types directory. Where field types and interfaces will be generated. */
463
- fieldTypesDestinationDir: {
464
- label: 'Field types directory'
465
- type: 'text'
466
- isPrivate: true
467
- hint: 'Where field types and interfaces will be generated.'
468
- defaultValue: '#spruce/schemas'
469
- options: undefined
470
- }
471
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
472
- addonsLookupDir: {
473
- label: 'Addons lookup directory'
474
- type: 'text'
475
- hint: "Where I'll look for new schema fields to be registered."
476
- defaultValue: 'src/addons'
477
- options: undefined
478
- }
479
- /** Generate field types. Should I generate field types too? */
480
- generateFieldTypes: {
481
- label: 'Generate field types'
482
- type: 'boolean'
483
- isPrivate: true
484
- hint: 'Should I generate field types too?'
485
- defaultValue: true
486
- options: undefined
487
- }
488
- }
489
- }
490
-
491
- interface SyncSchemaFieldsOptionsEntity
492
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemaFieldsOptionsSchema> {}
493
- }
494
-
495
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
496
- /** Pull down event contracts from Mercury to make them available in your skill. */
497
- interface SyncEventOptions {
498
- /** Contract destination. Where I will generate event contracts. */
499
- contractDestinationDir?: string | undefined | null
500
- /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
501
- schemaTypesLookupDir?: string | undefined | null
502
- /** Sync only core events. For use in @sprucelabs/mercury-types */
503
- shouldSyncOnlyCoreEvents?: boolean | undefined | null
504
- /** Event signature types file. */
505
- skillEventContractTypesFile?: string | undefined | null
506
- /** Event builder file. */
507
- eventBuilderFile?: string | undefined | null
508
- }
509
-
510
- interface SyncEventOptionsSchema extends SpruceSchema.Schema {
511
- id: 'syncEventOptions'
512
- version: 'v2020_07_22'
513
- namespace: 'SpruceCli'
514
- name: 'sync event action'
515
- description: 'Pull down event contracts from Mercury to make them available in your skill.'
516
- fields: {
517
- /** Contract destination. Where I will generate event contracts. */
518
- contractDestinationDir: {
519
- label: 'Contract destination'
520
- type: 'text'
521
- hint: 'Where I will generate event contracts.'
522
- defaultValue: '#spruce/events'
523
- options: undefined
524
- }
525
- /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
526
- schemaTypesLookupDir: {
527
- label: 'Schema types lookup directory'
528
- type: 'text'
529
- hint: 'Where I will lookup schema types and interfaces.'
530
- defaultValue: '#spruce/schemas'
531
- options: undefined
532
- }
533
- /** Sync only core events. For use in @sprucelabs/mercury-types */
534
- shouldSyncOnlyCoreEvents: {
535
- label: 'Sync only core events'
536
- type: 'boolean'
537
- hint: 'For use in @sprucelabs/mercury-types'
538
- options: undefined
539
- }
540
- /** Event signature types file. */
541
- skillEventContractTypesFile: {
542
- label: 'Event signature types file'
543
- type: 'text'
544
- defaultValue: '@sprucelabs/mercury-types/build/types/mercury.types'
545
- options: undefined
546
- }
547
- /** Event builder file. */
548
- eventBuilderFile: {
549
- label: 'Event builder file'
550
- type: 'text'
551
- defaultValue: '@sprucelabs/mercury-types'
552
- options: undefined
553
- }
554
- }
555
- }
556
-
557
- interface SyncEventOptionsEntity
558
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema> {}
559
- }
560
-
561
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
562
- /** Keep your errors types in sync with your builders */
563
- interface SyncErrorOptions {
564
- /** Field types directory. Where field types and interfaces will be generated. */
565
- fieldTypesDestinationDir?: string | undefined | null
566
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
567
- addonsLookupDir?: string | undefined | null
568
- /** Generate field types. Should I generate field types too? */
569
- generateFieldTypes?: boolean | undefined | null
570
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
571
- schemaTypesDestinationDirOrFile?: string | undefined | null
572
- /** . Where I should look for your schema builders? */
573
- schemaLookupDir?: string | undefined | null
574
- /** Module import. When other skills use your schemas, will they import them from a module? */
575
- moduleToImportFromWhenRemote?: string | undefined | null
576
- /** Auto install missing dependencies. */
577
- shouldInstallMissingDependencies?: boolean | undefined | null
578
- /** Enable versioning. Should we use versioning? */
579
- shouldEnableVersioning?: boolean | undefined | null
580
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
581
- globalSchemaNamespace?: string | undefined | null
582
- /** Fetch remote schemas. I will pull in schemas from other features. */
583
- shouldFetchRemoteSchemas?: boolean | undefined | null
584
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
585
- shouldFetchLocalSchemas?: boolean | undefined | null
586
- /** Fetch core schemas. Should I pull in core schemas too? */
587
- shouldFetchCoreSchemas?: boolean | undefined | null
588
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
589
- shouldGenerateCoreSchemaTypes?: boolean | undefined | null
590
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
591
- registerBuiltSchemas?: boolean | undefined | null
592
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
593
- generateStandaloneTypesFile?: boolean | undefined | null
594
- /** message. */
595
- syncingMessage?: string | undefined | null
596
- /** Error class destination. Where I'll save your new Error class file? */
597
- errorClassDestinationDir: string
598
- /** . Where I should look for your error builders? */
599
- errorLookupDir?: string | undefined | null
600
- /** Types destination dir. This is where error options and type information will be written */
601
- errorTypesDestinationDir?: string | undefined | null
602
- }
603
-
604
- interface SyncErrorOptionsSchema extends SpruceSchema.Schema {
605
- id: 'syncErrorOptions'
606
- version: 'v2020_07_22'
607
- namespace: 'SpruceCli'
608
- name: 'Sync error action'
609
- description: 'Keep your errors types in sync with your builders'
610
- fields: {
611
- /** Field types directory. Where field types and interfaces will be generated. */
612
- fieldTypesDestinationDir: {
613
- label: 'Field types directory'
614
- type: 'text'
615
- isPrivate: true
616
- hint: 'Where field types and interfaces will be generated.'
617
- defaultValue: '#spruce/schemas'
618
- options: undefined
619
- }
620
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
621
- addonsLookupDir: {
622
- label: 'Addons lookup directory'
623
- type: 'text'
624
- hint: "Where I'll look for new schema fields to be registered."
625
- defaultValue: 'src/addons'
626
- options: undefined
627
- }
628
- /** Generate field types. Should I generate field types too? */
629
- generateFieldTypes: {
630
- label: 'Generate field types'
631
- type: 'boolean'
632
- isPrivate: true
633
- hint: 'Should I generate field types too?'
634
- defaultValue: true
635
- options: undefined
636
- }
637
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
638
- schemaTypesDestinationDirOrFile: {
639
- label: 'Schema types destination directory'
640
- type: 'text'
641
- hint: 'Where I will generate schema types and interfaces.'
642
- defaultValue: '#spruce/schemas'
643
- options: undefined
644
- }
645
- /** . Where I should look for your schema builders? */
646
- schemaLookupDir: {
647
- type: 'text'
648
- hint: 'Where I should look for your schema builders?'
649
- defaultValue: 'src/schemas'
650
- options: undefined
651
- }
652
- /** Module import. When other skills use your schemas, will they import them from a module? */
653
- moduleToImportFromWhenRemote: {
654
- label: 'Module import'
655
- type: 'text'
656
- hint: 'When other skills use your schemas, will they import them from a module?'
657
- options: undefined
658
- }
659
- /** Auto install missing dependencies. */
660
- shouldInstallMissingDependencies: {
661
- label: 'Auto install missing dependencies'
662
- type: 'boolean'
663
- options: undefined
664
- }
665
- /** Enable versioning. Should we use versioning? */
666
- shouldEnableVersioning: {
667
- label: 'Enable versioning'
668
- type: 'boolean'
669
- isPrivate: true
670
- hint: 'Should we use versioning?'
671
- defaultValue: true
672
- options: undefined
673
- }
674
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
675
- globalSchemaNamespace: {
676
- label: 'Global namespace'
677
- type: 'text'
678
- isPrivate: true
679
- hint: "The name you'll use when accessing these schemas, e.g. SpruceSchemas"
680
- defaultValue: 'SpruceSchemas'
681
- options: undefined
682
- }
683
- /** Fetch remote schemas. I will pull in schemas from other features. */
684
- shouldFetchRemoteSchemas: {
685
- label: 'Fetch remote schemas'
686
- type: 'boolean'
687
- isPrivate: true
688
- hint: 'I will pull in schemas from other features.'
689
- defaultValue: true
690
- options: undefined
691
- }
692
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
693
- shouldFetchLocalSchemas: {
694
- label: 'Fetch local schemas'
695
- type: 'boolean'
696
- isPrivate: true
697
- hint: 'I will look in schemaLookupDir to load local schemas.'
698
- defaultValue: true
699
- options: undefined
700
- }
701
- /** Fetch core schemas. Should I pull in core schemas too? */
702
- shouldFetchCoreSchemas: {
703
- label: 'Fetch core schemas'
704
- type: 'boolean'
705
- isPrivate: true
706
- hint: 'Should I pull in core schemas too?'
707
- defaultValue: true
708
- options: undefined
709
- }
710
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
711
- shouldGenerateCoreSchemaTypes: {
712
- label: 'Generate core schemas'
713
- type: 'boolean'
714
- isPrivate: true
715
- hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.'
716
- options: undefined
717
- }
718
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
719
- registerBuiltSchemas: {
720
- label: 'Register built schemas'
721
- type: 'boolean'
722
- isPrivate: true
723
- hint: 'Should the schemas use the SchemaRegistry for tracking?'
724
- defaultValue: true
725
- options: undefined
726
- }
727
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
728
- generateStandaloneTypesFile: {
729
- label: 'Generate standalone types file'
730
- type: 'boolean'
731
- isPrivate: true
732
- hint: "By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file."
733
- defaultValue: false
734
- options: undefined
735
- }
736
- /** message. */
737
- syncingMessage: {
738
- label: ' message'
739
- type: 'text'
740
- isPrivate: true
741
- defaultValue: 'Syncing schemas...'
742
- options: undefined
743
- }
744
- /** Error class destination. Where I'll save your new Error class file? */
745
- errorClassDestinationDir: {
746
- label: 'Error class destination'
747
- type: 'text'
748
- isPrivate: true
749
- isRequired: true
750
- hint: "Where I'll save your new Error class file?"
751
- defaultValue: 'src/errors'
752
- options: undefined
753
- }
754
- /** . Where I should look for your error builders? */
755
- errorLookupDir: {
756
- type: 'text'
757
- hint: 'Where I should look for your error builders?'
758
- defaultValue: 'src/errors'
759
- options: undefined
760
- }
761
- /** Types destination dir. This is where error options and type information will be written */
762
- errorTypesDestinationDir: {
763
- label: 'Types destination dir'
764
- type: 'text'
765
- hint: 'This is where error options and type information will be written'
766
- defaultValue: '#spruce/errors'
767
- options: undefined
768
- }
769
- }
770
- }
771
-
772
- interface SyncErrorOptionsEntity
773
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptionsSchema> {}
774
- }
775
-
776
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
777
- interface SkillFeature {
778
- destination?: string | undefined | null
779
- /** What's the name of your skill?. */
780
- name: string
781
- /** How would you describe your skill?. */
782
- description: string
783
- }
784
-
785
- interface SkillFeatureSchema extends SpruceSchema.Schema {
786
- id: 'skillFeature'
787
- version: 'v2020_07_22'
788
- namespace: 'SpruceCli'
789
- name: 'Skill feature options'
790
- fields: {
791
- /** . */
792
- destination: {
793
- type: 'text'
794
- defaultValue: '.'
795
- options: undefined
796
- }
797
- /** What's the name of your skill?. */
798
- name: {
799
- label: "What's the name of your skill?"
800
- type: 'text'
801
- isRequired: true
802
- options: undefined
803
- }
804
- /** How would you describe your skill?. */
805
- description: {
806
- label: 'How would you describe your skill?'
807
- type: 'text'
808
- isRequired: true
809
- options: undefined
810
- }
811
- }
812
- }
813
-
814
- interface SkillFeatureEntity
815
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema> {}
816
- }
817
-
818
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
819
- /** Install vscode extensions, launch configs, and settings the Spruce team uses in-house! */
820
- interface SetupVscodeOptions {
821
- /** Install everything. */
822
- all?: boolean | undefined | null
823
- }
824
-
825
- interface SetupVscodeOptionsSchema extends SpruceSchema.Schema {
826
- id: 'setupVscodeOptions'
827
- version: 'v2020_07_22'
828
- namespace: 'SpruceCli'
829
- name: 'Setup vscode action'
830
- description: 'Install vscode extensions, launch configs, and settings the Spruce team uses in-house!'
831
- fields: {
832
- /** Install everything. */
833
- all: {
834
- label: 'Install everything'
835
- type: 'boolean'
836
- options: undefined
837
- }
838
- }
839
- }
840
-
841
- interface SetupVscodeOptionsEntity
842
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SetupVscodeOptionsSchema> {}
843
- }
844
-
845
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
846
- /** Use this with in your CI/CD environment to get your skill ready to run tests. */
847
- interface SetupTestsOptions {
848
- /** Demo phone number. */
849
- demoNumber: string
850
- /** Namespace. */
851
- skillSlug: string
852
- }
853
-
854
- interface SetupTestsOptionsSchema extends SpruceSchema.Schema {
855
- id: 'setupTestsOptions'
856
- version: 'v2020_07_22'
857
- namespace: 'SpruceCli'
858
- name: 'Setup tests options'
859
- description: 'Use this with in your CI/CD environment to get your skill ready to run tests.'
860
- fields: {
861
- /** Demo phone number. */
862
- demoNumber: {
863
- label: 'Demo phone number'
864
- type: 'phone'
865
- isRequired: true
866
- options: undefined
867
- }
868
- /** Namespace. */
869
- skillSlug: {
870
- label: 'Namespace'
871
- type: 'text'
872
- isRequired: true
873
- options: undefined
874
- }
875
- }
876
- }
877
-
878
- interface SetupTestsOptionsEntity
879
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SetupTestsOptionsSchema> {}
880
- }
881
-
882
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
883
- interface RegisterDashboardWidgetsEmitPayloadSchema {
884
- widgets?: BaseWidget | undefined | null
885
- }
886
-
887
- interface RegisterDashboardWidgetsEmitPayloadSchemaSchema
888
- extends SpruceSchema.Schema {
889
- id: 'registerDashboardWidgetsEmitPayloadSchema'
890
- version: 'v2020_07_22'
891
- namespace: 'SpruceCli'
892
- name: 'register dashboard widgets emit payload schema'
893
- fields: {
894
- /** . */
895
- widgets: {
896
- type: 'raw'
897
- options: { valueType: `BaseWidget` }
898
- }
899
- }
900
- }
901
-
902
- interface RegisterDashboardWidgetsEmitPayloadSchemaEntity
903
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.RegisterDashboardWidgetsEmitPayloadSchemaSchema> {}
904
- }
905
-
906
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
907
- /** A stripped down cli user with token details for login */
908
- interface PersonWithToken {
909
- /** Id. */
910
- id: string
911
- /** Casual name. The name you can use when talking to this person. */
912
- casualName: string
913
-
914
- token: string
915
- /** Logged in. */
916
- isLoggedIn?: boolean | undefined | null
917
- }
918
-
919
- interface PersonWithTokenSchema extends SpruceSchema.Schema {
920
- id: 'personWithToken'
921
- version: 'v2020_07_22'
922
- namespace: 'SpruceCli'
923
- name: ''
924
- description: 'A stripped down cli user with token details for login'
925
- fields: {
926
- /** Id. */
927
- id: {
928
- label: 'Id'
929
- type: 'id'
930
- isRequired: true
931
- options: undefined
932
- }
933
- /** Casual name. The name you can use when talking to this person. */
934
- casualName: {
935
- label: 'Casual name'
936
- type: 'text'
937
- isRequired: true
938
- hint: 'The name you can use when talking to this person.'
939
- options: undefined
940
- }
941
- /** . */
942
- token: {
943
- type: 'text'
944
- isRequired: true
945
- options: undefined
946
- }
947
- /** Logged in. */
948
- isLoggedIn: {
949
- label: 'Logged in'
950
- type: 'boolean'
951
- options: undefined
952
- }
953
- }
954
- }
955
-
956
- interface PersonWithTokenEntity
957
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.PersonWithTokenSchema> {}
958
- }
959
-
960
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
961
- /** Track onboarding progress and tutorials &amp; quizzes completed. */
962
- interface Onboarding {
963
- /** mode. */
964
- mode: 'short' | 'immersive' | 'off'
965
- /** Stage. */
966
- stage?: ('create.skill' | 'test') | undefined | null
967
- }
968
-
969
- interface OnboardingSchema extends SpruceSchema.Schema {
970
- id: 'onboarding'
971
- version: 'v2020_07_22'
972
- namespace: 'SpruceCli'
973
- name: 'Onboarding'
974
- description: 'Track onboarding progress and tutorials & quizzes completed.'
975
- fields: {
976
- /** mode. */
977
- mode: {
978
- label: 'mode'
979
- type: 'select'
980
- isRequired: true
981
- options: {
982
- choices: [
983
- { label: 'Short'; value: 'short' },
984
- { label: 'Immersive'; value: 'immersive' },
985
- { label: 'Off'; value: 'off' },
986
- ]
987
- }
988
- }
989
- /** Stage. */
990
- stage: {
991
- label: 'Stage'
992
- type: 'select'
993
- options: {
994
- choices: [
995
- { label: 'Create skill'; value: 'create.skill' },
996
- { label: 'Test'; value: 'test' },
997
- ]
998
- }
999
- }
1000
- }
1001
- }
1002
-
1003
- interface OnboardingEntity
1004
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.OnboardingSchema> {}
1005
- }
1006
-
1007
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1008
- /** The question is; Are you read? ⚡️ */
1009
- interface OnboardOptions {}
1010
-
1011
- interface OnboardOptionsSchema extends SpruceSchema.Schema {
1012
- id: 'onboardOptions'
1013
- version: 'v2020_07_22'
1014
- namespace: 'SpruceCli'
1015
- name: 'Onboard action'
1016
- description: 'The question is; Are you read? ⚡️'
1017
- fields: {}
1018
- }
1019
-
1020
- interface OnboardOptionsEntity
1021
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.OnboardOptionsSchema> {}
1022
- }
1023
-
1024
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1025
- /** Create a new node module, to be written in typescript, ready to rock! */
1026
- interface NodeFeatureOptions {
1027
- destination?: string | undefined | null
1028
- /** What's the name of your module?. */
1029
- name: string
1030
- /** How would you describe your module?. */
1031
- description: string
1032
- }
1033
-
1034
- interface NodeFeatureOptionsSchema extends SpruceSchema.Schema {
1035
- id: 'nodeFeatureOptions'
1036
- version: 'v2020_07_22'
1037
- namespace: 'SpruceCli'
1038
- name: 'Create node module'
1039
- description: 'Create a new node module, to be written in typescript, ready to rock!'
1040
- fields: {
1041
- /** . */
1042
- destination: {
1043
- type: 'text'
1044
- defaultValue: '.'
1045
- options: undefined
1046
- }
1047
- /** What's the name of your module?. */
1048
- name: {
1049
- label: "What's the name of your module?"
1050
- type: 'text'
1051
- isRequired: true
1052
- options: undefined
1053
- }
1054
- /** How would you describe your module?. */
1055
- description: {
1056
- label: 'How would you describe your module?'
1057
- type: 'text'
1058
- isRequired: true
1059
- options: undefined
1060
- }
1061
- }
1062
- }
1063
-
1064
- interface NodeFeatureOptionsEntity
1065
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema> {}
1066
- }
1067
-
1068
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1069
- /** Used to collect input on the names of a class or interface */
1070
- interface NamedTemplateItem {
1071
- /** Readable name. The name people will read */
1072
- nameReadable: string
1073
- /** Readable name (plural). The plural form of the name people will read */
1074
- nameReadablePlural: string
1075
- /** Camel case name. camelCase version of the name */
1076
- nameCamel: string
1077
- /** Plural camel case name. camelCase version of the name */
1078
- nameCamelPlural?: string | undefined | null
1079
- /** Pascal case name. PascalCase of the name */
1080
- namePascal?: string | undefined | null
1081
- /** Plural Pascal case name. PascalCase of the name */
1082
- namePascalPlural?: string | undefined | null
1083
- /** Constant case name. CONST_CASE of the name */
1084
- nameConst?: string | undefined | null
1085
- /** Kebab case name. kebab-case of the name */
1086
- nameKebab?: string | undefined | null
1087
- /** Snake case name. snake_case of the name */
1088
- nameSnake?: string | undefined | null
1089
- /** Snake case name (plural). snakes_case of the name */
1090
- nameSnakePlural?: string | undefined | null
1091
- /** Description. Describe a bit more here */
1092
- description?: string | undefined | null
1093
- }
1094
-
1095
- interface NamedTemplateItemSchema extends SpruceSchema.Schema {
1096
- id: 'namedTemplateItem'
1097
- version: 'v2020_07_22'
1098
- namespace: 'SpruceCli'
1099
- name: 'NamedTemplateItem'
1100
- description: 'Used to collect input on the names of a class or interface'
1101
- fields: {
1102
- /** Readable name. The name people will read */
1103
- nameReadable: {
1104
- label: 'Readable name'
1105
- type: 'text'
1106
- isRequired: true
1107
- hint: 'The name people will read'
1108
- options: undefined
1109
- }
1110
- /** Readable name (plural). The plural form of the name people will read */
1111
- nameReadablePlural: {
1112
- label: 'Readable name (plural)'
1113
- type: 'text'
1114
- isRequired: true
1115
- hint: 'The plural form of the name people will read'
1116
- options: undefined
1117
- }
1118
- /** Camel case name. camelCase version of the name */
1119
- nameCamel: {
1120
- label: 'Camel case name'
1121
- type: 'text'
1122
- isRequired: true
1123
- hint: 'camelCase version of the name'
1124
- options: undefined
1125
- }
1126
- /** Plural camel case name. camelCase version of the name */
1127
- nameCamelPlural: {
1128
- label: 'Plural camel case name'
1129
- type: 'text'
1130
- hint: 'camelCase version of the name'
1131
- options: undefined
1132
- }
1133
- /** Pascal case name. PascalCase of the name */
1134
- namePascal: {
1135
- label: 'Pascal case name'
1136
- type: 'text'
1137
- hint: 'PascalCase of the name'
1138
- options: undefined
1139
- }
1140
- /** Plural Pascal case name. PascalCase of the name */
1141
- namePascalPlural: {
1142
- label: 'Plural Pascal case name'
1143
- type: 'text'
1144
- hint: 'PascalCase of the name'
1145
- options: undefined
1146
- }
1147
- /** Constant case name. CONST_CASE of the name */
1148
- nameConst: {
1149
- label: 'Constant case name'
1150
- type: 'text'
1151
- hint: 'CONST_CASE of the name'
1152
- options: undefined
1153
- }
1154
- /** Kebab case name. kebab-case of the name */
1155
- nameKebab: {
1156
- label: 'Kebab case name'
1157
- type: 'text'
1158
- hint: 'kebab-case of the name'
1159
- options: undefined
1160
- }
1161
- /** Snake case name. snake_case of the name */
1162
- nameSnake: {
1163
- label: 'Snake case name'
1164
- type: 'text'
1165
- hint: 'snake_case of the name'
1166
- options: undefined
1167
- }
1168
- /** Snake case name (plural). snakes_case of the name */
1169
- nameSnakePlural: {
1170
- label: 'Snake case name (plural)'
1171
- type: 'text'
1172
- hint: 'snakes_case of the name'
1173
- options: undefined
1174
- }
1175
- /** Description. Describe a bit more here */
1176
- description: {
1177
- label: 'Description'
1178
- type: 'text'
1179
- hint: 'Describe a bit more here'
1180
- options: undefined
1181
- }
1182
- }
1183
- }
1184
-
1185
- interface NamedTemplateItemEntity
1186
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.NamedTemplateItemSchema> {}
1187
- }
1188
-
1189
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1190
- /** Options for event.listen. */
1191
- interface ListenEventOptions {
1192
- /** Contract destination. Where I will generate event contracts. */
1193
- contractDestinationDir?: string | undefined | null
1194
- /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
1195
- schemaTypesLookupDir?: string | undefined | null
1196
- /** Sync only core events. For use in @sprucelabs/mercury-types */
1197
- shouldSyncOnlyCoreEvents?: boolean | undefined | null
1198
- /** Event signature types file. */
1199
- skillEventContractTypesFile?: string | undefined | null
1200
- /** Event builder file. */
1201
- eventBuilderFile?: string | undefined | null
1202
- /** Namespace. */
1203
- namespace?: string | undefined | null
1204
- /** Event name. */
1205
- eventName?: string | undefined | null
1206
- /** Events destination directory. Where should I add your listeners? */
1207
- listenerDestinationDir?: string | undefined | null
1208
- /** Version. Set a version yourself instead of letting me generate one for you */
1209
- version?: string | undefined | null
1210
- }
1211
-
1212
- interface ListenEventOptionsSchema extends SpruceSchema.Schema {
1213
- id: 'listenEventOptions'
1214
- version: 'v2020_07_22'
1215
- namespace: 'SpruceCli'
1216
- name: 'Listen to event action'
1217
- description: 'Options for event.listen.'
1218
- fields: {
1219
- /** Contract destination. Where I will generate event contracts. */
1220
- contractDestinationDir: {
1221
- label: 'Contract destination'
1222
- type: 'text'
1223
- hint: 'Where I will generate event contracts.'
1224
- defaultValue: '#spruce/events'
1225
- options: undefined
1226
- }
1227
- /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
1228
- schemaTypesLookupDir: {
1229
- label: 'Schema types lookup directory'
1230
- type: 'text'
1231
- hint: 'Where I will lookup schema types and interfaces.'
1232
- defaultValue: '#spruce/schemas'
1233
- options: undefined
1234
- }
1235
- /** Sync only core events. For use in @sprucelabs/mercury-types */
1236
- shouldSyncOnlyCoreEvents: {
1237
- label: 'Sync only core events'
1238
- type: 'boolean'
1239
- hint: 'For use in @sprucelabs/mercury-types'
1240
- options: undefined
1241
- }
1242
- /** Event signature types file. */
1243
- skillEventContractTypesFile: {
1244
- label: 'Event signature types file'
1245
- type: 'text'
1246
- defaultValue: '@sprucelabs/mercury-types/build/types/mercury.types'
1247
- options: undefined
1248
- }
1249
- /** Event builder file. */
1250
- eventBuilderFile: {
1251
- label: 'Event builder file'
1252
- type: 'text'
1253
- defaultValue: '@sprucelabs/mercury-types'
1254
- options: undefined
1255
- }
1256
- /** Namespace. */
1257
- namespace: {
1258
- label: 'Namespace'
1259
- type: 'text'
1260
- options: undefined
1261
- }
1262
- /** Event name. */
1263
- eventName: {
1264
- label: 'Event name'
1265
- type: 'text'
1266
- options: undefined
1267
- }
1268
- /** Events destination directory. Where should I add your listeners? */
1269
- listenerDestinationDir: {
1270
- label: 'Events destination directory'
1271
- type: 'text'
1272
- hint: 'Where should I add your listeners?'
1273
- defaultValue: 'src/listeners'
1274
- options: undefined
1275
- }
1276
- /** Version. Set a version yourself instead of letting me generate one for you */
1277
- version: {
1278
- label: 'Version'
1279
- type: 'text'
1280
- isPrivate: true
1281
- hint: 'Set a version yourself instead of letting me generate one for you'
1282
- options: undefined
1283
- }
1284
- }
1285
- }
1286
-
1287
- interface ListenEventOptionsEntity
1288
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptionsSchema> {}
1289
- }
1290
-
1291
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1292
- /** Install your skill at any organization you are connected to. */
1293
- interface InstallSkillAtOrganizationOptions {
1294
- /** Organization id. */
1295
- organizationId?: string | undefined | null
1296
- }
1297
-
1298
- interface InstallSkillAtOrganizationOptionsSchema
1299
- extends SpruceSchema.Schema {
1300
- id: 'installSkillAtOrganizationOptions'
1301
- version: 'v2020_07_22'
1302
- namespace: 'SpruceCli'
1303
- name: 'install skill at organization action'
1304
- description: 'Install your skill at any organization you are connected to.'
1305
- fields: {
1306
- /** Organization id. */
1307
- organizationId: {
1308
- label: 'Organization id'
1309
- type: 'id'
1310
- options: undefined
1311
- }
1312
- }
1313
- }
1314
-
1315
- interface InstallSkillAtOrganizationOptionsEntity
1316
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.InstallSkillAtOrganizationOptionsSchema> {}
1317
- }
1318
-
1319
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1320
- /** Your first failing test just a command away! ⚔️ */
1321
- interface CreateTestOptions {
1322
- /** Type of test. */
1323
- type: 'behavioral' | 'implementation'
1324
- /** What are you testing?. E.g. Todo Card or Systems List */
1325
- nameReadable: string
1326
- /** Test destination directory. Where I'll save your new test. */
1327
- testDestinationDir?: string | undefined | null
1328
- /** Camel case name. camelCase version of the name */
1329
- nameCamel: string
1330
- /** Pascal case name. PascalCase of the name */
1331
- namePascal?: string | undefined | null
1332
- }
1333
-
1334
- interface CreateTestOptionsSchema extends SpruceSchema.Schema {
1335
- id: 'createTestOptions'
1336
- version: 'v2020_07_22'
1337
- namespace: 'SpruceCli'
1338
- name: 'Create test action'
1339
- description: 'Your first failing test just a command away! ⚔️'
1340
- fields: {
1341
- /** Type of test. */
1342
- type: {
1343
- label: 'Type of test'
1344
- type: 'select'
1345
- isRequired: true
1346
- options: {
1347
- choices: [
1348
- { value: 'behavioral'; label: 'Behavioral' },
1349
- {
1350
- value: 'implementation'
1351
- label: 'Implementation'
1352
- },
1353
- ]
1354
- }
1355
- }
1356
- /** What are you testing?. E.g. Todo Card or Systems List */
1357
- nameReadable: {
1358
- label: 'What are you testing?'
1359
- type: 'text'
1360
- isRequired: true
1361
- hint: 'E.g. Todo Card or Systems List'
1362
- options: undefined
1363
- }
1364
- /** Test destination directory. Where I'll save your new test. */
1365
- testDestinationDir: {
1366
- label: 'Test destination directory'
1367
- type: 'text'
1368
- hint: "Where I'll save your new test."
1369
- defaultValue: 'src/__tests__'
1370
- options: undefined
1371
- }
1372
- /** Camel case name. camelCase version of the name */
1373
- nameCamel: {
1374
- label: 'Camel case name'
1375
- type: 'text'
1376
- isRequired: true
1377
- hint: 'camelCase version of the name'
1378
- options: undefined
1379
- }
1380
- /** Pascal case name. PascalCase of the name */
1381
- namePascal: {
1382
- label: 'Pascal case name'
1383
- type: 'text'
1384
- hint: 'PascalCase of the name'
1385
- options: undefined
1386
- }
1387
- }
1388
- }
1389
-
1390
- interface CreateTestOptionsEntity
1391
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateTestOptionsSchema> {}
1392
- }
1393
-
1394
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1395
- /** Create the builder to a fresh new schema! */
1396
- interface CreateSchemaOptions {
1397
- /** Field types directory. Where field types and interfaces will be generated. */
1398
- fieldTypesDestinationDir?: string | undefined | null
1399
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1400
- addonsLookupDir?: string | undefined | null
1401
- /** Generate field types. Should I generate field types too? */
1402
- generateFieldTypes?: boolean | undefined | null
1403
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
1404
- schemaTypesDestinationDirOrFile?: string | undefined | null
1405
- /** . Where I should look for your schema builders? */
1406
- schemaLookupDir?: string | undefined | null
1407
- /** Source module. If this schema should be imported from a node module vs generated locally. */
1408
- moduleToImportFromWhenRemote?: string | undefined | null
1409
- /** Auto install missing dependencies. */
1410
- shouldInstallMissingDependencies?: boolean | undefined | null
1411
- /** Enable versioning. Should we use versioning? */
1412
- shouldEnableVersioning?: boolean | undefined | null
1413
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1414
- globalSchemaNamespace?: string | undefined | null
1415
- /** Fetch remote schemas. I will pull in schemas from other features. */
1416
- shouldFetchRemoteSchemas?: boolean | undefined | null
1417
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1418
- shouldFetchLocalSchemas?: boolean | undefined | null
1419
- /** Fetch core schemas. Should I pull in core schemas too? */
1420
- shouldFetchCoreSchemas?: boolean | undefined | null
1421
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1422
- shouldGenerateCoreSchemaTypes?: boolean | undefined | null
1423
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1424
- registerBuiltSchemas?: boolean | undefined | null
1425
- /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
1426
- deleteDestinationDirIfNoSchemas?: boolean | undefined | null
1427
- /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
1428
- deleteOrphanedSchemas?: boolean | undefined | null
1429
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1430
- generateStandaloneTypesFile?: boolean | undefined | null
1431
- /** message. */
1432
- syncingMessage?: string | undefined | null
1433
- /** Schema builder destination directory. Where I'll save the new schema builder. */
1434
- schemaBuilderDestinationDir?: string | undefined | null
1435
- /** Builder function. The function that builds this schema */
1436
- builderFunction?: string | undefined | null
1437
- /** Sync after creation. This will ensure types and schemas are in sync after you create your builder. */
1438
- syncAfterCreate?: boolean | undefined | null
1439
- /** Version. Set a version yourself instead of letting me generate one for you */
1440
- version?: string | undefined | null
1441
- /** Readable name. The name people will read */
1442
- nameReadable: string
1443
- /** Pascal case name. PascalCase of the name */
1444
- namePascal?: string | undefined | null
1445
- /** Camel case name. camelCase version of the name */
1446
- nameCamel: string
1447
- /** Description. Describe a bit more here */
1448
- description?: string | undefined | null
1449
- }
1450
-
1451
- interface CreateSchemaOptionsSchema extends SpruceSchema.Schema {
1452
- id: 'createSchemaOptions'
1453
- version: 'v2020_07_22'
1454
- namespace: 'SpruceCli'
1455
- name: 'Create schema'
1456
- description: 'Create the builder to a fresh new schema!'
1457
- fields: {
1458
- /** Field types directory. Where field types and interfaces will be generated. */
1459
- fieldTypesDestinationDir: {
1460
- label: 'Field types directory'
1461
- type: 'text'
1462
- isPrivate: true
1463
- hint: 'Where field types and interfaces will be generated.'
1464
- defaultValue: '#spruce/schemas'
1465
- options: undefined
1466
- }
1467
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1468
- addonsLookupDir: {
1469
- label: 'Addons lookup directory'
1470
- type: 'text'
1471
- hint: "Where I'll look for new schema fields to be registered."
1472
- defaultValue: 'src/addons'
1473
- options: undefined
1474
- }
1475
- /** Generate field types. Should I generate field types too? */
1476
- generateFieldTypes: {
1477
- label: 'Generate field types'
1478
- type: 'boolean'
1479
- isPrivate: true
1480
- hint: 'Should I generate field types too?'
1481
- defaultValue: true
1482
- options: undefined
1483
- }
1484
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
1485
- schemaTypesDestinationDirOrFile: {
1486
- label: 'Schema types destination directory'
1487
- type: 'text'
1488
- hint: 'Where I will generate schema types and interfaces.'
1489
- defaultValue: '#spruce/schemas'
1490
- options: undefined
1491
- }
1492
- /** . Where I should look for your schema builders? */
1493
- schemaLookupDir: {
1494
- type: 'text'
1495
- hint: 'Where I should look for your schema builders?'
1496
- defaultValue: 'src/schemas'
1497
- options: undefined
1498
- }
1499
- /** Source module. If this schema should be imported from a node module vs generated locally. */
1500
- moduleToImportFromWhenRemote: {
1501
- label: 'Source module'
1502
- type: 'text'
1503
- hint: 'If this schema should be imported from a node module vs generated locally.'
1504
- options: undefined
1505
- }
1506
- /** Auto install missing dependencies. */
1507
- shouldInstallMissingDependencies: {
1508
- label: 'Auto install missing dependencies'
1509
- type: 'boolean'
1510
- options: undefined
1511
- }
1512
- /** Enable versioning. Should we use versioning? */
1513
- shouldEnableVersioning: {
1514
- label: 'Enable versioning'
1515
- type: 'boolean'
1516
- isPrivate: true
1517
- hint: 'Should we use versioning?'
1518
- defaultValue: true
1519
- options: undefined
1520
- }
1521
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1522
- globalSchemaNamespace: {
1523
- label: 'Global namespace'
1524
- type: 'text'
1525
- isPrivate: true
1526
- hint: "The name you'll use when accessing these schemas, e.g. SpruceSchemas"
1527
- defaultValue: 'SpruceSchemas'
1528
- options: undefined
1529
- }
1530
- /** Fetch remote schemas. I will pull in schemas from other features. */
1531
- shouldFetchRemoteSchemas: {
1532
- label: 'Fetch remote schemas'
1533
- type: 'boolean'
1534
- isPrivate: true
1535
- hint: 'I will pull in schemas from other features.'
1536
- defaultValue: true
1537
- options: undefined
1538
- }
1539
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1540
- shouldFetchLocalSchemas: {
1541
- label: 'Fetch local schemas'
1542
- type: 'boolean'
1543
- isPrivate: true
1544
- hint: 'I will look in schemaLookupDir to load local schemas.'
1545
- defaultValue: true
1546
- options: undefined
1547
- }
1548
- /** Fetch core schemas. Should I pull in core schemas too? */
1549
- shouldFetchCoreSchemas: {
1550
- label: 'Fetch core schemas'
1551
- type: 'boolean'
1552
- isPrivate: true
1553
- hint: 'Should I pull in core schemas too?'
1554
- defaultValue: true
1555
- options: undefined
1556
- }
1557
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1558
- shouldGenerateCoreSchemaTypes: {
1559
- label: 'Generate core schemas'
1560
- type: 'boolean'
1561
- isPrivate: true
1562
- hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.'
1563
- options: undefined
1564
- }
1565
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1566
- registerBuiltSchemas: {
1567
- label: 'Register built schemas'
1568
- type: 'boolean'
1569
- isPrivate: true
1570
- hint: 'Should the schemas use the SchemaRegistry for tracking?'
1571
- defaultValue: true
1572
- options: undefined
1573
- }
1574
- /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
1575
- deleteDestinationDirIfNoSchemas: {
1576
- label: 'Delete directory if no schemas'
1577
- type: 'boolean'
1578
- isPrivate: true
1579
- hint: 'Should I delete the schema directory if no schemas are found?'
1580
- defaultValue: false
1581
- options: undefined
1582
- }
1583
- /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
1584
- deleteOrphanedSchemas: {
1585
- label: 'Delete orphaned schemas'
1586
- type: 'boolean'
1587
- isPrivate: true
1588
- hint: 'Should I delete schemas where the builders are missing?'
1589
- defaultValue: true
1590
- options: undefined
1591
- }
1592
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1593
- generateStandaloneTypesFile: {
1594
- label: 'Generate standalone types file'
1595
- type: 'boolean'
1596
- isPrivate: true
1597
- hint: "By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file."
1598
- defaultValue: false
1599
- options: undefined
1600
- }
1601
- /** message. */
1602
- syncingMessage: {
1603
- label: ' message'
1604
- type: 'text'
1605
- isPrivate: true
1606
- defaultValue: 'Syncing schemas...'
1607
- options: undefined
1608
- }
1609
- /** Schema builder destination directory. Where I'll save the new schema builder. */
1610
- schemaBuilderDestinationDir: {
1611
- label: 'Schema builder destination directory'
1612
- type: 'text'
1613
- hint: "Where I'll save the new schema builder."
1614
- defaultValue: 'src/schemas'
1615
- options: undefined
1616
- }
1617
- /** Builder function. The function that builds this schema */
1618
- builderFunction: {
1619
- label: 'Builder function'
1620
- type: 'text'
1621
- isPrivate: true
1622
- hint: 'The function that builds this schema'
1623
- defaultValue: 'buildSchema'
1624
- options: undefined
1625
- }
1626
- /** Sync after creation. This will ensure types and schemas are in sync after you create your builder. */
1627
- syncAfterCreate: {
1628
- label: 'Sync after creation'
1629
- type: 'boolean'
1630
- isPrivate: true
1631
- hint: 'This will ensure types and schemas are in sync after you create your builder.'
1632
- defaultValue: true
1633
- options: undefined
1634
- }
1635
- /** Version. Set a version yourself instead of letting me generate one for you */
1636
- version: {
1637
- label: 'Version'
1638
- type: 'text'
1639
- isPrivate: true
1640
- hint: 'Set a version yourself instead of letting me generate one for you'
1641
- options: undefined
1642
- }
1643
- /** Readable name. The name people will read */
1644
- nameReadable: {
1645
- label: 'Readable name'
1646
- type: 'text'
1647
- isRequired: true
1648
- hint: 'The name people will read'
1649
- options: undefined
1650
- }
1651
- /** Pascal case name. PascalCase of the name */
1652
- namePascal: {
1653
- label: 'Pascal case name'
1654
- type: 'text'
1655
- hint: 'PascalCase of the name'
1656
- options: undefined
1657
- }
1658
- /** Camel case name. camelCase version of the name */
1659
- nameCamel: {
1660
- label: 'Camel case name'
1661
- type: 'text'
1662
- isRequired: true
1663
- hint: 'camelCase version of the name'
1664
- options: undefined
1665
- }
1666
- /** Description. Describe a bit more here */
1667
- description: {
1668
- label: 'Description'
1669
- type: 'text'
1670
- hint: 'Describe a bit more here'
1671
- options: undefined
1672
- }
1673
- }
1674
- }
1675
-
1676
- interface CreateSchemaOptionsEntity
1677
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptionsSchema> {}
1678
- }
1679
-
1680
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1681
- /** Skills can only communicate with people and skills associated with the same organization. This ensures people can get differentiated experiences across multiple businesses. */
1682
- interface CreateOrganizationOptions {
1683
- /** Name. The name people will read */
1684
- nameReadable: string
1685
- /** Slug. kebab-case of the name */
1686
- nameKebab?: string | undefined | null
1687
- }
1688
-
1689
- interface CreateOrganizationOptionsSchema extends SpruceSchema.Schema {
1690
- id: 'createOrganizationOptions'
1691
- version: 'v2020_07_22'
1692
- namespace: 'SpruceCli'
1693
- name: 'create organization action'
1694
- description: 'Skills can only communicate with people and skills associated with the same organization. This ensures people can get differentiated experiences across multiple businesses.'
1695
- fields: {
1696
- /** Name. The name people will read */
1697
- nameReadable: {
1698
- label: 'Name'
1699
- type: 'text'
1700
- isRequired: true
1701
- hint: 'The name people will read'
1702
- options: undefined
1703
- }
1704
- /** Slug. kebab-case of the name */
1705
- nameKebab: {
1706
- label: 'Slug'
1707
- type: 'text'
1708
- hint: 'kebab-case of the name'
1709
- options: undefined
1710
- }
1711
- }
1712
- }
1713
-
1714
- interface CreateOrganizationOptionsEntity
1715
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateOrganizationOptionsSchema> {}
1716
- }
1717
-
1718
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1719
- /** Create a builder for your brand new error! */
1720
- interface CreateErrorOptions {
1721
- /** Field types directory. Where field types and interfaces will be generated. */
1722
- fieldTypesDestinationDir?: string | undefined | null
1723
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1724
- addonsLookupDir?: string | undefined | null
1725
- /** Generate field types. Should I generate field types too? */
1726
- generateFieldTypes?: boolean | undefined | null
1727
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
1728
- schemaTypesDestinationDirOrFile?: string | undefined | null
1729
- /** . Where I should look for your schema builders? */
1730
- schemaLookupDir?: string | undefined | null
1731
- /** Module import. When other skills use your schemas, will they import them from a module? */
1732
- moduleToImportFromWhenRemote?: string | undefined | null
1733
- /** Auto install missing dependencies. */
1734
- shouldInstallMissingDependencies?: boolean | undefined | null
1735
- /** Enable versioning. Should we use versioning? */
1736
- shouldEnableVersioning?: boolean | undefined | null
1737
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1738
- globalSchemaNamespace?: string | undefined | null
1739
- /** Fetch remote schemas. I will pull in schemas from other features. */
1740
- shouldFetchRemoteSchemas?: boolean | undefined | null
1741
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1742
- shouldFetchLocalSchemas?: boolean | undefined | null
1743
- /** Fetch core schemas. Should I pull in core schemas too? */
1744
- shouldFetchCoreSchemas?: boolean | undefined | null
1745
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1746
- shouldGenerateCoreSchemaTypes?: boolean | undefined | null
1747
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1748
- registerBuiltSchemas?: boolean | undefined | null
1749
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1750
- generateStandaloneTypesFile?: boolean | undefined | null
1751
- /** message. */
1752
- syncingMessage?: string | undefined | null
1753
- /** Error class destination. Where I'll save your new Error class file? */
1754
- errorClassDestinationDir: string
1755
- /** . Where I should look for your error builders? */
1756
- errorLookupDir?: string | undefined | null
1757
- /** Types destination dir. This is where error options and type information will be written */
1758
- errorTypesDestinationDir?: string | undefined | null
1759
- /** Error builder destination directory. Where I'll save your new builder file? */
1760
- errorBuilderDestinationDir: string
1761
- /** Readable name. The name people will read */
1762
- nameReadable: string
1763
- /** Pascal case name. PascalCase of the name */
1764
- namePascal?: string | undefined | null
1765
- /** Camel case name. camelCase version of the name */
1766
- nameCamel: string
1767
- /** Description. Describe a bit more here */
1768
- description?: string | undefined | null
1769
- }
1770
-
1771
- interface CreateErrorOptionsSchema extends SpruceSchema.Schema {
1772
- id: 'createErrorOptions'
1773
- version: 'v2020_07_22'
1774
- namespace: 'SpruceCli'
1775
- name: 'Create error action'
1776
- description: 'Create a builder for your brand new error! '
1777
- fields: {
1778
- /** Field types directory. Where field types and interfaces will be generated. */
1779
- fieldTypesDestinationDir: {
1780
- label: 'Field types directory'
1781
- type: 'text'
1782
- isPrivate: true
1783
- hint: 'Where field types and interfaces will be generated.'
1784
- defaultValue: '#spruce/schemas'
1785
- options: undefined
1786
- }
1787
- /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1788
- addonsLookupDir: {
1789
- label: 'Addons lookup directory'
1790
- type: 'text'
1791
- hint: "Where I'll look for new schema fields to be registered."
1792
- defaultValue: 'src/addons'
1793
- options: undefined
1794
- }
1795
- /** Generate field types. Should I generate field types too? */
1796
- generateFieldTypes: {
1797
- label: 'Generate field types'
1798
- type: 'boolean'
1799
- isPrivate: true
1800
- hint: 'Should I generate field types too?'
1801
- defaultValue: true
1802
- options: undefined
1803
- }
1804
- /** Schema types destination directory. Where I will generate schema types and interfaces. */
1805
- schemaTypesDestinationDirOrFile: {
1806
- label: 'Schema types destination directory'
1807
- type: 'text'
1808
- hint: 'Where I will generate schema types and interfaces.'
1809
- defaultValue: '#spruce/schemas'
1810
- options: undefined
1811
- }
1812
- /** . Where I should look for your schema builders? */
1813
- schemaLookupDir: {
1814
- type: 'text'
1815
- hint: 'Where I should look for your schema builders?'
1816
- defaultValue: 'src/schemas'
1817
- options: undefined
1818
- }
1819
- /** Module import. When other skills use your schemas, will they import them from a module? */
1820
- moduleToImportFromWhenRemote: {
1821
- label: 'Module import'
1822
- type: 'text'
1823
- hint: 'When other skills use your schemas, will they import them from a module?'
1824
- options: undefined
1825
- }
1826
- /** Auto install missing dependencies. */
1827
- shouldInstallMissingDependencies: {
1828
- label: 'Auto install missing dependencies'
1829
- type: 'boolean'
1830
- options: undefined
1831
- }
1832
- /** Enable versioning. Should we use versioning? */
1833
- shouldEnableVersioning: {
1834
- label: 'Enable versioning'
1835
- type: 'boolean'
1836
- isPrivate: true
1837
- hint: 'Should we use versioning?'
1838
- defaultValue: true
1839
- options: undefined
1840
- }
1841
- /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1842
- globalSchemaNamespace: {
1843
- label: 'Global namespace'
1844
- type: 'text'
1845
- isPrivate: true
1846
- hint: "The name you'll use when accessing these schemas, e.g. SpruceSchemas"
1847
- defaultValue: 'SpruceSchemas'
1848
- options: undefined
1849
- }
1850
- /** Fetch remote schemas. I will pull in schemas from other features. */
1851
- shouldFetchRemoteSchemas: {
1852
- label: 'Fetch remote schemas'
1853
- type: 'boolean'
1854
- isPrivate: true
1855
- hint: 'I will pull in schemas from other features.'
1856
- defaultValue: true
1857
- options: undefined
1858
- }
1859
- /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1860
- shouldFetchLocalSchemas: {
1861
- label: 'Fetch local schemas'
1862
- type: 'boolean'
1863
- isPrivate: true
1864
- hint: 'I will look in schemaLookupDir to load local schemas.'
1865
- defaultValue: true
1866
- options: undefined
1867
- }
1868
- /** Fetch core schemas. Should I pull in core schemas too? */
1869
- shouldFetchCoreSchemas: {
1870
- label: 'Fetch core schemas'
1871
- type: 'boolean'
1872
- isPrivate: true
1873
- hint: 'Should I pull in core schemas too?'
1874
- defaultValue: true
1875
- options: undefined
1876
- }
1877
- /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1878
- shouldGenerateCoreSchemaTypes: {
1879
- label: 'Generate core schemas'
1880
- type: 'boolean'
1881
- isPrivate: true
1882
- hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.'
1883
- options: undefined
1884
- }
1885
- /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1886
- registerBuiltSchemas: {
1887
- label: 'Register built schemas'
1888
- type: 'boolean'
1889
- isPrivate: true
1890
- hint: 'Should the schemas use the SchemaRegistry for tracking?'
1891
- defaultValue: true
1892
- options: undefined
1893
- }
1894
- /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1895
- generateStandaloneTypesFile: {
1896
- label: 'Generate standalone types file'
1897
- type: 'boolean'
1898
- isPrivate: true
1899
- hint: "By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file."
1900
- defaultValue: false
1901
- options: undefined
1902
- }
1903
- /** message. */
1904
- syncingMessage: {
1905
- label: ' message'
1906
- type: 'text'
1907
- isPrivate: true
1908
- defaultValue: 'Syncing schemas...'
1909
- options: undefined
1910
- }
1911
- /** Error class destination. Where I'll save your new Error class file? */
1912
- errorClassDestinationDir: {
1913
- label: 'Error class destination'
1914
- type: 'text'
1915
- isPrivate: true
1916
- isRequired: true
1917
- hint: "Where I'll save your new Error class file?"
1918
- defaultValue: 'src/errors'
1919
- options: undefined
1920
- }
1921
- /** . Where I should look for your error builders? */
1922
- errorLookupDir: {
1923
- type: 'text'
1924
- hint: 'Where I should look for your error builders?'
1925
- defaultValue: 'src/errors'
1926
- options: undefined
1927
- }
1928
- /** Types destination dir. This is where error options and type information will be written */
1929
- errorTypesDestinationDir: {
1930
- label: 'Types destination dir'
1931
- type: 'text'
1932
- hint: 'This is where error options and type information will be written'
1933
- defaultValue: '#spruce/errors'
1934
- options: undefined
1935
- }
1936
- /** Error builder destination directory. Where I'll save your new builder file? */
1937
- errorBuilderDestinationDir: {
1938
- label: 'Error builder destination directory'
1939
- type: 'text'
1940
- isPrivate: true
1941
- isRequired: true
1942
- hint: "Where I'll save your new builder file?"
1943
- defaultValue: './src/errors'
1944
- options: undefined
1945
- }
1946
- /** Readable name. The name people will read */
1947
- nameReadable: {
1948
- label: 'Readable name'
1949
- type: 'text'
1950
- isRequired: true
1951
- hint: 'The name people will read'
1952
- options: undefined
1953
- }
1954
- /** Pascal case name. PascalCase of the name */
1955
- namePascal: {
1956
- label: 'Pascal case name'
1957
- type: 'text'
1958
- hint: 'PascalCase of the name'
1959
- options: undefined
1960
- }
1961
- /** Camel case name. camelCase version of the name */
1962
- nameCamel: {
1963
- label: 'Camel case name'
1964
- type: 'text'
1965
- isRequired: true
1966
- hint: 'camelCase version of the name'
1967
- options: undefined
1968
- }
1969
- /** Description. Describe a bit more here */
1970
- description: {
1971
- label: 'Description'
1972
- type: 'text'
1973
- hint: 'Describe a bit more here'
1974
- options: undefined
1975
- }
1976
- }
1977
- }
1978
-
1979
- interface CreateErrorOptionsEntity
1980
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateErrorOptionsSchema> {}
1981
- }
1982
-
1983
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1984
- /** Define a topic you want to discuss. */
1985
- interface CreateConversationTopicOptions {
1986
- /** Topic. What should we talk about or try and get done, e.g. Book an appointment or tell a knock knock joke. */
1987
- nameReadable: string
1988
- /** Camel case name. camelCase version of the name */
1989
- nameCamel: string
1990
- }
1991
-
1992
- interface CreateConversationTopicOptionsSchema
1993
- extends SpruceSchema.Schema {
1994
- id: 'createConversationTopicOptions'
1995
- version: 'v2020_07_22'
1996
- namespace: 'SpruceCli'
1997
- name: 'Create conversation options'
1998
- description: 'Define a topic you want to discuss.'
1999
- fields: {
2000
- /** Topic. What should we talk about or try and get done, e.g. Book an appointment or tell a knock knock joke. */
2001
- nameReadable: {
2002
- label: 'Topic'
2003
- type: 'text'
2004
- isRequired: true
2005
- hint: 'What should we talk about or try and get done, e.g. Book an appointment or tell a knock knock joke.'
2006
- options: undefined
2007
- }
2008
- /** Camel case name. camelCase version of the name */
2009
- nameCamel: {
2010
- label: 'Camel case name'
2011
- type: 'text'
2012
- isRequired: true
2013
- hint: 'camelCase version of the name'
2014
- options: undefined
2015
- }
2016
- }
2017
- }
2018
-
2019
- interface CreateConversationTopicOptionsEntity
2020
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateConversationTopicOptionsSchema> {}
2021
- }
2022
-
2023
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2024
- /** Boot your skill 💪 */
2025
- interface BootSkillOptions {
2026
- /** Run local. Will run using ts-node and typescript directly. Longer boot times */
2027
- local?: boolean | undefined | null
2028
-
2029
- onData?: ((msg: string) => void) | undefined | null
2030
-
2031
- onError?: ((msg: string) => void) | undefined | null
2032
- /** Wait until skill is booted. For testing. Returns immediately after executing test so the running tests can be managed programatically. */
2033
- shouldReturnImmediately?: boolean | undefined | null
2034
- }
2035
-
2036
- interface BootSkillOptionsSchema extends SpruceSchema.Schema {
2037
- id: 'bootSkillOptions'
2038
- version: 'v2020_07_22'
2039
- namespace: 'SpruceCli'
2040
- name: 'Boot skill action'
2041
- description: 'Boot your skill 💪'
2042
- fields: {
2043
- /** Run local. Will run using ts-node and typescript directly. Longer boot times */
2044
- local: {
2045
- label: 'Run local'
2046
- type: 'boolean'
2047
- hint: 'Will run using ts-node and typescript directly. Longer boot times'
2048
- options: undefined
2049
- }
2050
- /** . */
2051
- onData: {
2052
- type: 'raw'
2053
- options: { valueType: `(msg: string) => void` }
2054
- }
2055
- /** . */
2056
- onError: {
2057
- type: 'raw'
2058
- options: { valueType: `(msg: string) => void` }
2059
- }
2060
- /** Wait until skill is booted. For testing. Returns immediately after executing test so the running tests can be managed programatically. */
2061
- shouldReturnImmediately: {
2062
- label: 'Wait until skill is booted'
2063
- type: 'boolean'
2064
- isPrivate: true
2065
- hint: 'For testing. Returns immediately after executing test so the running tests can be managed programatically.'
2066
- defaultValue: false
2067
- options: undefined
2068
- }
2069
- }
2070
- }
2071
-
2072
- interface BootSkillOptionsEntity
2073
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptionsSchema> {}
2074
- }
2075
-
2076
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2077
- interface NpmPackage {
2078
- name: string
2079
-
2080
- version?: string | undefined | null
2081
-
2082
- isDev?: boolean | undefined | null
2083
- }
2084
-
2085
- interface NpmPackageSchema extends SpruceSchema.Schema {
2086
- id: 'npmPackage'
2087
- version: 'v2020_07_22'
2088
- namespace: 'SpruceCli'
2089
- name: ''
2090
- fields: {
2091
- /** . */
2092
- name: {
2093
- type: 'text'
2094
- isRequired: true
2095
- options: undefined
2096
- }
2097
- /** . */
2098
- version: {
2099
- type: 'text'
2100
- options: undefined
2101
- }
2102
- /** . */
2103
- isDev: {
2104
- type: 'boolean'
2105
- options: undefined
2106
- }
2107
- }
2108
- }
2109
-
2110
- interface NpmPackageEntity
2111
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema> {}
2112
- }
2113
-
2114
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2115
- interface GeneratedFile {
2116
- name: string
2117
-
2118
- path: string
2119
-
2120
- description?: string | undefined | null
2121
-
2122
- action: 'skipped' | 'generated' | 'updated' | 'deleted'
2123
- }
2124
-
2125
- interface GeneratedFileSchema extends SpruceSchema.Schema {
2126
- id: 'generatedFile'
2127
- version: 'v2020_07_22'
2128
- namespace: 'SpruceCli'
2129
- name: ''
2130
- fields: {
2131
- /** . */
2132
- name: {
2133
- type: 'text'
2134
- isRequired: true
2135
- options: undefined
2136
- }
2137
- /** . */
2138
- path: {
2139
- type: 'text'
2140
- isRequired: true
2141
- options: undefined
2142
- }
2143
- /** . */
2144
- description: {
2145
- type: 'text'
2146
- options: undefined
2147
- }
2148
- /** . */
2149
- action: {
2150
- type: 'select'
2151
- isRequired: true
2152
- options: {
2153
- choices: [
2154
- { label: 'Skipped'; value: 'skipped' },
2155
- { label: 'Generated'; value: 'generated' },
2156
- { label: 'Updated'; value: 'updated' },
2157
- { label: 'Deleted'; value: 'deleted' },
2158
- ]
2159
- }
2160
- }
2161
- }
2162
- }
2163
-
2164
- interface GeneratedFileEntity
2165
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema> {}
2166
- }
2167
-
2168
- namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2169
- interface ActionResponse {
2170
- files?:
2171
- | SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[]
2172
- | undefined
2173
- | null
2174
-
2175
- headline?: string | undefined | null
2176
-
2177
- hints?: string[] | undefined | null
2178
-
2179
- summaryLines?: string[] | undefined | null
2180
-
2181
- errors?: AbstractSpruceError<any>[] | undefined | null
2182
-
2183
- meta?: Record<string, any> | undefined | null
2184
-
2185
- packagesInstalled?:
2186
- | SpruceSchemas.SpruceCli.v2020_07_22.NpmPackage[]
2187
- | undefined
2188
- | null
2189
- }
2190
-
2191
- interface ActionResponseSchema extends SpruceSchema.Schema {
2192
- id: 'actionResponse'
2193
- version: 'v2020_07_22'
2194
- namespace: 'SpruceCli'
2195
- name: 'Action response'
2196
- fields: {
2197
- /** . */
2198
- files: {
2199
- type: 'schema'
2200
- isArray: true
2201
- options: {
2202
- schema: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema
2203
- }
2204
- }
2205
- /** . */
2206
- headline: {
2207
- type: 'text'
2208
- options: undefined
2209
- }
2210
- /** . */
2211
- hints: {
2212
- type: 'text'
2213
- isArray: true
2214
- options: undefined
2215
- }
2216
- /** . */
2217
- summaryLines: {
2218
- type: 'text'
2219
- isArray: true
2220
- options: undefined
2221
- }
2222
- /** . */
2223
- errors: {
2224
- type: 'raw'
2225
- isArray: true
2226
- options: { valueType: `AbstractSpruceError<any>` }
2227
- }
2228
- /** . */
2229
- meta: {
2230
- type: 'raw'
2231
- options: { valueType: `Record<string, any>` }
2232
- }
2233
- /** . */
2234
- packagesInstalled: {
2235
- type: 'schema'
2236
- isArray: true
2237
- options: {
2238
- schema: SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema
2239
- }
2240
- }
2241
- }
2242
- }
2243
-
2244
- interface ActionResponseEntity
2245
- extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.ActionResponseSchema> {}
2246
- }
18
+
19
+
20
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
21
+
22
+
23
+ interface GeneratedDir {
24
+
25
+
26
+ 'name': string
27
+
28
+ 'path': string
29
+
30
+ 'description'?: string| undefined | null
31
+
32
+ 'action': ("skipped" | "generated" | "updated" | "deleted")
33
+ }
34
+
35
+ interface GeneratedDirSchema extends SpruceSchema.Schema {
36
+ id: 'generatedDir',
37
+ version: 'v2020_07_22',
38
+ namespace: 'SpruceCli',
39
+ name: '',
40
+ fields: {
41
+ /** . */
42
+ 'name': {
43
+ type: 'text',
44
+ isRequired: true,
45
+ options: undefined
46
+ },
47
+ /** . */
48
+ 'path': {
49
+ type: 'text',
50
+ isRequired: true,
51
+ options: undefined
52
+ },
53
+ /** . */
54
+ 'description': {
55
+ type: 'text',
56
+ options: undefined
57
+ },
58
+ /** . */
59
+ 'action': {
60
+ type: 'select',
61
+ isRequired: true,
62
+ options: {choices: [{"label":"Skipped","value":"skipped"},{"label":"Generated","value":"generated"},{"label":"Updated","value":"updated"},{"label":"Deleted","value":"deleted"}],}
63
+ },
64
+ }
65
+ }
66
+
67
+ interface GeneratedDirEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.GeneratedDirSchema> {}
68
+
69
+ }
70
+
71
+
72
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
73
+
74
+
75
+ interface WatcherDidDetectChangesEmitPayload {
76
+
77
+
78
+ 'changes': ({ schemaId: 'generatedFile', version: 'v2020_07_22', values: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile } | { schemaId: 'generatedDir', version: 'v2020_07_22', values: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedDir })[]
79
+ }
80
+
81
+ interface WatcherDidDetectChangesEmitPayloadSchema extends SpruceSchema.Schema {
82
+ id: 'watcherDidDetectChangesEmitPayload',
83
+ version: 'v2020_07_22',
84
+ namespace: 'SpruceCli',
85
+ name: 'Watcher did detect changes emit payload',
86
+ fields: {
87
+ /** . */
88
+ 'changes': {
89
+ type: 'schema',
90
+ isRequired: true,
91
+ isArray: true,
92
+ options: {schemas: (SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema | SpruceSchemas.SpruceCli.v2020_07_22.GeneratedDirSchema)[],}
93
+ },
94
+ }
95
+ }
96
+
97
+ interface WatcherDidDetectChangesEmitPayloadEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema> {}
98
+
99
+ }
100
+
101
+
102
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
103
+
104
+ /** Upgrade. Everything. Heads up, this can take a few minutes. ⏱ */
105
+ interface UpgradeSkillOptions {
106
+
107
+ /** Upgrade mode. */
108
+ 'upgradeMode'?: ("askForChanged" | "forceEverything" | "forceRequiredSkipRest")| undefined | null
109
+ }
110
+
111
+ interface UpgradeSkillOptionsSchema extends SpruceSchema.Schema {
112
+ id: 'upgradeSkillOptions',
113
+ version: 'v2020_07_22',
114
+ namespace: 'SpruceCli',
115
+ name: 'Upgrade skill action',
116
+ description: 'Upgrade. Everything. Heads up, this can take a few minutes. ⏱',
117
+ fields: {
118
+ /** Upgrade mode. */
119
+ 'upgradeMode': {
120
+ label: 'Upgrade mode',
121
+ type: 'select',
122
+ defaultValue: "askForChanged",
123
+ options: {choices: [{"value":"askForChanged","label":"Ask for changed files"},{"value":"forceEverything","label":"Force everything"},{"value":"forceRequiredSkipRest","label":"Force required (skipping all non-essential)"}],}
124
+ },
125
+ }
126
+ }
127
+
128
+ interface UpgradeSkillOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptionsSchema> {}
129
+
130
+ }
131
+
132
+
133
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
134
+
135
+ /** Test your might! 💪 */
136
+ interface TestOptions {
137
+
138
+ /** Report while running. Should I output the test results while they are running? */
139
+ 'shouldReportWhileRunning'?: boolean| undefined | null
140
+ /** Pattern. I'll filter all tests that match this pattern */
141
+ 'pattern'?: string| undefined | null
142
+ /** Inspect. Pass --inspect related args to test process. */
143
+ 'inspect'?: number| undefined | null
144
+ /** Should wait for manual start?. */
145
+ 'shouldHoldAtStart'?: boolean| undefined | null
146
+ /** Wait until tests are finished. For testing. Returns immediately after executing test so the running process can be managed programatically. */
147
+ 'shouldReturnImmediately'?: boolean| undefined | null
148
+ /** Watch. */
149
+ 'watchMode'?: ("off" | "standard" | "smart")| undefined | null
150
+ }
151
+
152
+ interface TestOptionsSchema extends SpruceSchema.Schema {
153
+ id: 'testOptions',
154
+ version: 'v2020_07_22',
155
+ namespace: 'SpruceCli',
156
+ name: 'Test skill',
157
+ description: 'Test your might! 💪',
158
+ fields: {
159
+ /** Report while running. Should I output the test results while they are running? */
160
+ 'shouldReportWhileRunning': {
161
+ label: 'Report while running',
162
+ type: 'boolean',
163
+ hint: 'Should I output the test results while they are running?',
164
+ defaultValue: true,
165
+ options: undefined
166
+ },
167
+ /** Pattern. I'll filter all tests that match this pattern */
168
+ 'pattern': {
169
+ label: 'Pattern',
170
+ type: 'text',
171
+ hint: 'I\'ll filter all tests that match this pattern',
172
+ options: undefined
173
+ },
174
+ /** Inspect. Pass --inspect related args to test process. */
175
+ 'inspect': {
176
+ label: 'Inspect',
177
+ type: 'number',
178
+ hint: 'Pass --inspect related args to test process.',
179
+ options: undefined
180
+ },
181
+ /** Should wait for manual start?. */
182
+ 'shouldHoldAtStart': {
183
+ label: 'Should wait for manual start?',
184
+ type: 'boolean',
185
+ defaultValue: false,
186
+ options: undefined
187
+ },
188
+ /** Wait until tests are finished. For testing. Returns immediately after executing test so the running process can be managed programatically. */
189
+ 'shouldReturnImmediately': {
190
+ label: 'Wait until tests are finished',
191
+ type: 'boolean',
192
+ isPrivate: true,
193
+ hint: 'For testing. Returns immediately after executing test so the running process can be managed programatically.',
194
+ defaultValue: false,
195
+ options: undefined
196
+ },
197
+ /** Watch. */
198
+ 'watchMode': {
199
+ label: 'Watch',
200
+ type: 'select',
201
+ options: {choices: [{"value":"off","label":"Off"},{"value":"standard","label":"Standard"},{"value":"smart","label":"Smart"}],}
202
+ },
203
+ }
204
+ }
205
+
206
+ interface TestOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.TestOptionsSchema> {}
207
+
208
+ }
209
+
210
+
211
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
212
+
213
+ /** Options for schema.sync. */
214
+ interface SyncSchemasOptions {
215
+
216
+ /** Field types directory. Where field types and interfaces will be generated. */
217
+ 'fieldTypesDestinationDir'?: string| undefined | null
218
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
219
+ 'addonsLookupDir'?: string| undefined | null
220
+ /** Generate field types. Should I generate field types too? */
221
+ 'generateFieldTypes'?: boolean| undefined | null
222
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
223
+ 'schemaTypesDestinationDirOrFile'?: string| undefined | null
224
+ /** . Where I should look for your schema builders? */
225
+ 'schemaLookupDir'?: string| undefined | null
226
+ /** Module import. When other skills use your schemas, will they import them from a module? */
227
+ 'moduleToImportFromWhenRemote'?: string| undefined | null
228
+ /** Auto install missing dependencies. */
229
+ 'shouldInstallMissingDependencies'?: boolean| undefined | null
230
+ /** Enable versioning. Should we use versioning? */
231
+ 'shouldEnableVersioning'?: boolean| undefined | null
232
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
233
+ 'globalSchemaNamespace'?: string| undefined | null
234
+ /** Fetch remote schemas. I will pull in schemas from other features. */
235
+ 'shouldFetchRemoteSchemas'?: boolean| undefined | null
236
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
237
+ 'shouldFetchLocalSchemas'?: boolean| undefined | null
238
+ /** Fetch core schemas. Should I pull in core schemas too? */
239
+ 'shouldFetchCoreSchemas'?: boolean| undefined | null
240
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
241
+ 'shouldGenerateCoreSchemaTypes'?: boolean| undefined | null
242
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
243
+ 'registerBuiltSchemas'?: boolean| undefined | null
244
+ /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
245
+ 'deleteDestinationDirIfNoSchemas'?: boolean| undefined | null
246
+ /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
247
+ 'deleteOrphanedSchemas'?: boolean| undefined | null
248
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
249
+ 'generateStandaloneTypesFile'?: boolean| undefined | null
250
+ /** message. */
251
+ 'syncingMessage'?: string| undefined | null
252
+ }
253
+
254
+ interface SyncSchemasOptionsSchema extends SpruceSchema.Schema {
255
+ id: 'syncSchemasOptions',
256
+ version: 'v2020_07_22',
257
+ namespace: 'SpruceCli',
258
+ name: 'Sync schemas action',
259
+ description: 'Options for schema.sync.',
260
+ fields: {
261
+ /** Field types directory. Where field types and interfaces will be generated. */
262
+ 'fieldTypesDestinationDir': {
263
+ label: 'Field types directory',
264
+ type: 'text',
265
+ isPrivate: true,
266
+ hint: 'Where field types and interfaces will be generated.',
267
+ defaultValue: "#spruce/schemas",
268
+ options: undefined
269
+ },
270
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
271
+ 'addonsLookupDir': {
272
+ label: 'Addons lookup directory',
273
+ type: 'text',
274
+ hint: 'Where I\'ll look for new schema fields to be registered.',
275
+ defaultValue: "src/addons",
276
+ options: undefined
277
+ },
278
+ /** Generate field types. Should I generate field types too? */
279
+ 'generateFieldTypes': {
280
+ label: 'Generate field types',
281
+ type: 'boolean',
282
+ isPrivate: true,
283
+ hint: 'Should I generate field types too?',
284
+ defaultValue: true,
285
+ options: undefined
286
+ },
287
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
288
+ 'schemaTypesDestinationDirOrFile': {
289
+ label: 'Schema types destination directory',
290
+ type: 'text',
291
+ hint: 'Where I will generate schema types and interfaces.',
292
+ defaultValue: "#spruce/schemas",
293
+ options: undefined
294
+ },
295
+ /** . Where I should look for your schema builders? */
296
+ 'schemaLookupDir': {
297
+ type: 'text',
298
+ hint: 'Where I should look for your schema builders?',
299
+ defaultValue: "src/schemas",
300
+ options: undefined
301
+ },
302
+ /** Module import. When other skills use your schemas, will they import them from a module? */
303
+ 'moduleToImportFromWhenRemote': {
304
+ label: 'Module import',
305
+ type: 'text',
306
+ hint: 'When other skills use your schemas, will they import them from a module?',
307
+ options: undefined
308
+ },
309
+ /** Auto install missing dependencies. */
310
+ 'shouldInstallMissingDependencies': {
311
+ label: 'Auto install missing dependencies',
312
+ type: 'boolean',
313
+ options: undefined
314
+ },
315
+ /** Enable versioning. Should we use versioning? */
316
+ 'shouldEnableVersioning': {
317
+ label: 'Enable versioning',
318
+ type: 'boolean',
319
+ isPrivate: true,
320
+ hint: 'Should we use versioning?',
321
+ defaultValue: true,
322
+ options: undefined
323
+ },
324
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
325
+ 'globalSchemaNamespace': {
326
+ label: 'Global namespace',
327
+ type: 'text',
328
+ isPrivate: true,
329
+ hint: 'The name you\'ll use when accessing these schemas, e.g. SpruceSchemas',
330
+ defaultValue: "SpruceSchemas",
331
+ options: undefined
332
+ },
333
+ /** Fetch remote schemas. I will pull in schemas from other features. */
334
+ 'shouldFetchRemoteSchemas': {
335
+ label: 'Fetch remote schemas',
336
+ type: 'boolean',
337
+ isPrivate: true,
338
+ hint: 'I will pull in schemas from other features.',
339
+ defaultValue: true,
340
+ options: undefined
341
+ },
342
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
343
+ 'shouldFetchLocalSchemas': {
344
+ label: 'Fetch local schemas',
345
+ type: 'boolean',
346
+ isPrivate: true,
347
+ hint: 'I will look in schemaLookupDir to load local schemas.',
348
+ defaultValue: true,
349
+ options: undefined
350
+ },
351
+ /** Fetch core schemas. Should I pull in core schemas too? */
352
+ 'shouldFetchCoreSchemas': {
353
+ label: 'Fetch core schemas',
354
+ type: 'boolean',
355
+ isPrivate: true,
356
+ hint: 'Should I pull in core schemas too?',
357
+ defaultValue: true,
358
+ options: undefined
359
+ },
360
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
361
+ 'shouldGenerateCoreSchemaTypes': {
362
+ label: 'Generate core schemas',
363
+ type: 'boolean',
364
+ isPrivate: true,
365
+ hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.',
366
+ options: undefined
367
+ },
368
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
369
+ 'registerBuiltSchemas': {
370
+ label: 'Register built schemas',
371
+ type: 'boolean',
372
+ isPrivate: true,
373
+ hint: 'Should the schemas use the SchemaRegistry for tracking?',
374
+ defaultValue: true,
375
+ options: undefined
376
+ },
377
+ /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
378
+ 'deleteDestinationDirIfNoSchemas': {
379
+ label: 'Delete directory if no schemas',
380
+ type: 'boolean',
381
+ isPrivate: true,
382
+ hint: 'Should I delete the schema directory if no schemas are found?',
383
+ defaultValue: false,
384
+ options: undefined
385
+ },
386
+ /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
387
+ 'deleteOrphanedSchemas': {
388
+ label: 'Delete orphaned schemas',
389
+ type: 'boolean',
390
+ isPrivate: true,
391
+ hint: 'Should I delete schemas where the builders are missing?',
392
+ defaultValue: true,
393
+ options: undefined
394
+ },
395
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
396
+ 'generateStandaloneTypesFile': {
397
+ label: 'Generate standalone types file',
398
+ type: 'boolean',
399
+ isPrivate: true,
400
+ hint: 'By default, I\'ll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file.',
401
+ defaultValue: false,
402
+ options: undefined
403
+ },
404
+ /** message. */
405
+ 'syncingMessage': {
406
+ label: ' message',
407
+ type: 'text',
408
+ isPrivate: true,
409
+ defaultValue: "Syncing schemas...",
410
+ options: undefined
411
+ },
412
+ }
413
+ }
414
+
415
+ interface SyncSchemasOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemasOptionsSchema> {}
416
+
417
+ }
418
+
419
+
420
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
421
+
422
+ /** Sync schema fields so you can use schemas! */
423
+ interface SyncSchemaFieldsOptions {
424
+
425
+ /** Field types directory. Where field types and interfaces will be generated. */
426
+ 'fieldTypesDestinationDir'?: string| undefined | null
427
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
428
+ 'addonsLookupDir'?: string| undefined | null
429
+ /** Generate field types. Should I generate field types too? */
430
+ 'generateFieldTypes'?: boolean| undefined | null
431
+ }
432
+
433
+ interface SyncSchemaFieldsOptionsSchema extends SpruceSchema.Schema {
434
+ id: 'syncSchemaFieldsOptions',
435
+ version: 'v2020_07_22',
436
+ namespace: 'SpruceCli',
437
+ name: 'syncSchemaFieldsOptions',
438
+ description: 'Sync schema fields so you can use schemas!',
439
+ fields: {
440
+ /** Field types directory. Where field types and interfaces will be generated. */
441
+ 'fieldTypesDestinationDir': {
442
+ label: 'Field types directory',
443
+ type: 'text',
444
+ isPrivate: true,
445
+ hint: 'Where field types and interfaces will be generated.',
446
+ defaultValue: "#spruce/schemas",
447
+ options: undefined
448
+ },
449
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
450
+ 'addonsLookupDir': {
451
+ label: 'Addons lookup directory',
452
+ type: 'text',
453
+ hint: 'Where I\'ll look for new schema fields to be registered.',
454
+ defaultValue: "src/addons",
455
+ options: undefined
456
+ },
457
+ /** Generate field types. Should I generate field types too? */
458
+ 'generateFieldTypes': {
459
+ label: 'Generate field types',
460
+ type: 'boolean',
461
+ isPrivate: true,
462
+ hint: 'Should I generate field types too?',
463
+ defaultValue: true,
464
+ options: undefined
465
+ },
466
+ }
467
+ }
468
+
469
+ interface SyncSchemaFieldsOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncSchemaFieldsOptionsSchema> {}
470
+
471
+ }
472
+
473
+
474
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
475
+
476
+ /** Pull down event contracts from Mercury to make them available in your skill. */
477
+ interface SyncEventOptions {
478
+
479
+ /** Contract destination. Where I will generate event contracts. */
480
+ 'contractDestinationDir'?: string| undefined | null
481
+ /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
482
+ 'schemaTypesLookupDir'?: string| undefined | null
483
+ /** Sync only core events. For use in @sprucelabs/mercury-types */
484
+ 'shouldSyncOnlyCoreEvents'?: boolean| undefined | null
485
+ /** Event signature types file. */
486
+ 'skillEventContractTypesFile'?: string| undefined | null
487
+ /** Event builder file. */
488
+ 'eventBuilderFile'?: string| undefined | null
489
+ }
490
+
491
+ interface SyncEventOptionsSchema extends SpruceSchema.Schema {
492
+ id: 'syncEventOptions',
493
+ version: 'v2020_07_22',
494
+ namespace: 'SpruceCli',
495
+ name: 'sync event action',
496
+ description: 'Pull down event contracts from Mercury to make them available in your skill.',
497
+ fields: {
498
+ /** Contract destination. Where I will generate event contracts. */
499
+ 'contractDestinationDir': {
500
+ label: 'Contract destination',
501
+ type: 'text',
502
+ hint: 'Where I will generate event contracts.',
503
+ defaultValue: "#spruce/events",
504
+ options: undefined
505
+ },
506
+ /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
507
+ 'schemaTypesLookupDir': {
508
+ label: 'Schema types lookup directory',
509
+ type: 'text',
510
+ hint: 'Where I will lookup schema types and interfaces.',
511
+ defaultValue: "#spruce/schemas",
512
+ options: undefined
513
+ },
514
+ /** Sync only core events. For use in @sprucelabs/mercury-types */
515
+ 'shouldSyncOnlyCoreEvents': {
516
+ label: 'Sync only core events',
517
+ type: 'boolean',
518
+ hint: 'For use in @sprucelabs/mercury-types',
519
+ options: undefined
520
+ },
521
+ /** Event signature types file. */
522
+ 'skillEventContractTypesFile': {
523
+ label: 'Event signature types file',
524
+ type: 'text',
525
+ defaultValue: "@sprucelabs/mercury-types/build/types/mercury.types",
526
+ options: undefined
527
+ },
528
+ /** Event builder file. */
529
+ 'eventBuilderFile': {
530
+ label: 'Event builder file',
531
+ type: 'text',
532
+ defaultValue: "@sprucelabs/mercury-types",
533
+ options: undefined
534
+ },
535
+ }
536
+ }
537
+
538
+ interface SyncEventOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncEventOptionsSchema> {}
539
+
540
+ }
541
+
542
+
543
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
544
+
545
+ /** Keep your errors types in sync with your builders */
546
+ interface SyncErrorOptions {
547
+
548
+ /** Field types directory. Where field types and interfaces will be generated. */
549
+ 'fieldTypesDestinationDir'?: string| undefined | null
550
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
551
+ 'addonsLookupDir'?: string| undefined | null
552
+ /** Generate field types. Should I generate field types too? */
553
+ 'generateFieldTypes'?: boolean| undefined | null
554
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
555
+ 'schemaTypesDestinationDirOrFile'?: string| undefined | null
556
+ /** . Where I should look for your schema builders? */
557
+ 'schemaLookupDir'?: string| undefined | null
558
+ /** Module import. When other skills use your schemas, will they import them from a module? */
559
+ 'moduleToImportFromWhenRemote'?: string| undefined | null
560
+ /** Auto install missing dependencies. */
561
+ 'shouldInstallMissingDependencies'?: boolean| undefined | null
562
+ /** Enable versioning. Should we use versioning? */
563
+ 'shouldEnableVersioning'?: boolean| undefined | null
564
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
565
+ 'globalSchemaNamespace'?: string| undefined | null
566
+ /** Fetch remote schemas. I will pull in schemas from other features. */
567
+ 'shouldFetchRemoteSchemas'?: boolean| undefined | null
568
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
569
+ 'shouldFetchLocalSchemas'?: boolean| undefined | null
570
+ /** Fetch core schemas. Should I pull in core schemas too? */
571
+ 'shouldFetchCoreSchemas'?: boolean| undefined | null
572
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
573
+ 'shouldGenerateCoreSchemaTypes'?: boolean| undefined | null
574
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
575
+ 'registerBuiltSchemas'?: boolean| undefined | null
576
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
577
+ 'generateStandaloneTypesFile'?: boolean| undefined | null
578
+ /** message. */
579
+ 'syncingMessage'?: string| undefined | null
580
+ /** Error class destination. Where I'll save your new Error class file? */
581
+ 'errorClassDestinationDir': string
582
+ /** . Where I should look for your error builders? */
583
+ 'errorLookupDir'?: string| undefined | null
584
+ /** Types destination dir. This is where error options and type information will be written */
585
+ 'errorTypesDestinationDir'?: string| undefined | null
586
+ }
587
+
588
+ interface SyncErrorOptionsSchema extends SpruceSchema.Schema {
589
+ id: 'syncErrorOptions',
590
+ version: 'v2020_07_22',
591
+ namespace: 'SpruceCli',
592
+ name: 'Sync error action',
593
+ description: 'Keep your errors types in sync with your builders',
594
+ fields: {
595
+ /** Field types directory. Where field types and interfaces will be generated. */
596
+ 'fieldTypesDestinationDir': {
597
+ label: 'Field types directory',
598
+ type: 'text',
599
+ isPrivate: true,
600
+ hint: 'Where field types and interfaces will be generated.',
601
+ defaultValue: "#spruce/schemas",
602
+ options: undefined
603
+ },
604
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
605
+ 'addonsLookupDir': {
606
+ label: 'Addons lookup directory',
607
+ type: 'text',
608
+ hint: 'Where I\'ll look for new schema fields to be registered.',
609
+ defaultValue: "src/addons",
610
+ options: undefined
611
+ },
612
+ /** Generate field types. Should I generate field types too? */
613
+ 'generateFieldTypes': {
614
+ label: 'Generate field types',
615
+ type: 'boolean',
616
+ isPrivate: true,
617
+ hint: 'Should I generate field types too?',
618
+ defaultValue: true,
619
+ options: undefined
620
+ },
621
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
622
+ 'schemaTypesDestinationDirOrFile': {
623
+ label: 'Schema types destination directory',
624
+ type: 'text',
625
+ hint: 'Where I will generate schema types and interfaces.',
626
+ defaultValue: "#spruce/schemas",
627
+ options: undefined
628
+ },
629
+ /** . Where I should look for your schema builders? */
630
+ 'schemaLookupDir': {
631
+ type: 'text',
632
+ hint: 'Where I should look for your schema builders?',
633
+ defaultValue: "src/schemas",
634
+ options: undefined
635
+ },
636
+ /** Module import. When other skills use your schemas, will they import them from a module? */
637
+ 'moduleToImportFromWhenRemote': {
638
+ label: 'Module import',
639
+ type: 'text',
640
+ hint: 'When other skills use your schemas, will they import them from a module?',
641
+ options: undefined
642
+ },
643
+ /** Auto install missing dependencies. */
644
+ 'shouldInstallMissingDependencies': {
645
+ label: 'Auto install missing dependencies',
646
+ type: 'boolean',
647
+ options: undefined
648
+ },
649
+ /** Enable versioning. Should we use versioning? */
650
+ 'shouldEnableVersioning': {
651
+ label: 'Enable versioning',
652
+ type: 'boolean',
653
+ isPrivate: true,
654
+ hint: 'Should we use versioning?',
655
+ defaultValue: true,
656
+ options: undefined
657
+ },
658
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
659
+ 'globalSchemaNamespace': {
660
+ label: 'Global namespace',
661
+ type: 'text',
662
+ isPrivate: true,
663
+ hint: 'The name you\'ll use when accessing these schemas, e.g. SpruceSchemas',
664
+ defaultValue: "SpruceSchemas",
665
+ options: undefined
666
+ },
667
+ /** Fetch remote schemas. I will pull in schemas from other features. */
668
+ 'shouldFetchRemoteSchemas': {
669
+ label: 'Fetch remote schemas',
670
+ type: 'boolean',
671
+ isPrivate: true,
672
+ hint: 'I will pull in schemas from other features.',
673
+ defaultValue: true,
674
+ options: undefined
675
+ },
676
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
677
+ 'shouldFetchLocalSchemas': {
678
+ label: 'Fetch local schemas',
679
+ type: 'boolean',
680
+ isPrivate: true,
681
+ hint: 'I will look in schemaLookupDir to load local schemas.',
682
+ defaultValue: true,
683
+ options: undefined
684
+ },
685
+ /** Fetch core schemas. Should I pull in core schemas too? */
686
+ 'shouldFetchCoreSchemas': {
687
+ label: 'Fetch core schemas',
688
+ type: 'boolean',
689
+ isPrivate: true,
690
+ hint: 'Should I pull in core schemas too?',
691
+ defaultValue: true,
692
+ options: undefined
693
+ },
694
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
695
+ 'shouldGenerateCoreSchemaTypes': {
696
+ label: 'Generate core schemas',
697
+ type: 'boolean',
698
+ isPrivate: true,
699
+ hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.',
700
+ options: undefined
701
+ },
702
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
703
+ 'registerBuiltSchemas': {
704
+ label: 'Register built schemas',
705
+ type: 'boolean',
706
+ isPrivate: true,
707
+ hint: 'Should the schemas use the SchemaRegistry for tracking?',
708
+ defaultValue: true,
709
+ options: undefined
710
+ },
711
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
712
+ 'generateStandaloneTypesFile': {
713
+ label: 'Generate standalone types file',
714
+ type: 'boolean',
715
+ isPrivate: true,
716
+ hint: 'By default, I\'ll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file.',
717
+ defaultValue: false,
718
+ options: undefined
719
+ },
720
+ /** message. */
721
+ 'syncingMessage': {
722
+ label: ' message',
723
+ type: 'text',
724
+ isPrivate: true,
725
+ defaultValue: "Syncing schemas...",
726
+ options: undefined
727
+ },
728
+ /** Error class destination. Where I'll save your new Error class file? */
729
+ 'errorClassDestinationDir': {
730
+ label: 'Error class destination',
731
+ type: 'text',
732
+ isPrivate: true,
733
+ isRequired: true,
734
+ hint: 'Where I\'ll save your new Error class file?',
735
+ defaultValue: "src/errors",
736
+ options: undefined
737
+ },
738
+ /** . Where I should look for your error builders? */
739
+ 'errorLookupDir': {
740
+ type: 'text',
741
+ hint: 'Where I should look for your error builders?',
742
+ defaultValue: "src/errors",
743
+ options: undefined
744
+ },
745
+ /** Types destination dir. This is where error options and type information will be written */
746
+ 'errorTypesDestinationDir': {
747
+ label: 'Types destination dir',
748
+ type: 'text',
749
+ hint: 'This is where error options and type information will be written',
750
+ defaultValue: "#spruce/errors",
751
+ options: undefined
752
+ },
753
+ }
754
+ }
755
+
756
+ interface SyncErrorOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SyncErrorOptionsSchema> {}
757
+
758
+ }
759
+
760
+
761
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
762
+
763
+
764
+ interface SkillFeature {
765
+
766
+
767
+ 'destination'?: string| undefined | null
768
+ /** What's the name of your skill?. This marketing focused, like "8-bit Stories" or "Adventures". */
769
+ 'name': string
770
+ /** How would you describe your skill?. */
771
+ 'description': string
772
+ }
773
+
774
+ interface SkillFeatureSchema extends SpruceSchema.Schema {
775
+ id: 'skillFeature',
776
+ version: 'v2020_07_22',
777
+ namespace: 'SpruceCli',
778
+ name: 'Skill feature options',
779
+ fields: {
780
+ /** . */
781
+ 'destination': {
782
+ type: 'text',
783
+ defaultValue: ".",
784
+ options: undefined
785
+ },
786
+ /** What's the name of your skill?. This marketing focused, like "8-bit Stories" or "Adventures". */
787
+ 'name': {
788
+ label: 'What\'s the name of your skill?',
789
+ type: 'text',
790
+ isRequired: true,
791
+ hint: 'This marketing focused, like "8-bit Stories" or "Adventures".',
792
+ options: undefined
793
+ },
794
+ /** How would you describe your skill?. */
795
+ 'description': {
796
+ label: 'How would you describe your skill?',
797
+ type: 'text',
798
+ isRequired: true,
799
+ options: undefined
800
+ },
801
+ }
802
+ }
803
+
804
+ interface SkillFeatureEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema> {}
805
+
806
+ }
807
+
808
+
809
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
810
+
811
+ /** Install vscode extensions, launch configs, and settings the Spruce team uses in-house! */
812
+ interface SetupVscodeOptions {
813
+
814
+ /** Install everything. */
815
+ 'all'?: boolean| undefined | null
816
+ }
817
+
818
+ interface SetupVscodeOptionsSchema extends SpruceSchema.Schema {
819
+ id: 'setupVscodeOptions',
820
+ version: 'v2020_07_22',
821
+ namespace: 'SpruceCli',
822
+ name: 'Setup vscode action',
823
+ description: 'Install vscode extensions, launch configs, and settings the Spruce team uses in-house!',
824
+ fields: {
825
+ /** Install everything. */
826
+ 'all': {
827
+ label: 'Install everything',
828
+ type: 'boolean',
829
+ options: undefined
830
+ },
831
+ }
832
+ }
833
+
834
+ interface SetupVscodeOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SetupVscodeOptionsSchema> {}
835
+
836
+ }
837
+
838
+
839
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
840
+
841
+ /** Use this with in your CI/CD environment to get your skill ready to run tests. */
842
+ interface SetupTestsOptions {
843
+
844
+ /** Demo phone number. */
845
+ 'demoNumber': string
846
+ /** Namespace. */
847
+ 'skillSlug': string
848
+ }
849
+
850
+ interface SetupTestsOptionsSchema extends SpruceSchema.Schema {
851
+ id: 'setupTestsOptions',
852
+ version: 'v2020_07_22',
853
+ namespace: 'SpruceCli',
854
+ name: 'Setup tests options',
855
+ description: 'Use this with in your CI/CD environment to get your skill ready to run tests.',
856
+ fields: {
857
+ /** Demo phone number. */
858
+ 'demoNumber': {
859
+ label: 'Demo phone number',
860
+ type: 'phone',
861
+ isRequired: true,
862
+ options: undefined
863
+ },
864
+ /** Namespace. */
865
+ 'skillSlug': {
866
+ label: 'Namespace',
867
+ type: 'text',
868
+ isRequired: true,
869
+ options: undefined
870
+ },
871
+ }
872
+ }
873
+
874
+ interface SetupTestsOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.SetupTestsOptionsSchema> {}
875
+
876
+ }
877
+
878
+
879
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
880
+
881
+
882
+ interface RegisterDashboardWidgetsEmitPayloadSchema {
883
+
884
+
885
+ 'widgets'?: (BaseWidget)| undefined | null
886
+ }
887
+
888
+ interface RegisterDashboardWidgetsEmitPayloadSchemaSchema extends SpruceSchema.Schema {
889
+ id: 'registerDashboardWidgetsEmitPayloadSchema',
890
+ version: 'v2020_07_22',
891
+ namespace: 'SpruceCli',
892
+ name: 'register dashboard widgets emit payload schema',
893
+ fields: {
894
+ /** . */
895
+ 'widgets': {
896
+ type: 'raw',
897
+ options: {valueType: `BaseWidget`,}
898
+ },
899
+ }
900
+ }
901
+
902
+ interface RegisterDashboardWidgetsEmitPayloadSchemaEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.RegisterDashboardWidgetsEmitPayloadSchemaSchema> {}
903
+
904
+ }
905
+
906
+
907
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
908
+
909
+ /** A stripped down cli user with token details for login */
910
+ interface PersonWithToken {
911
+
912
+ /** Id. */
913
+ 'id': string
914
+ /** Casual name. The name you can use when talking to this person. */
915
+ 'casualName': string
916
+
917
+ 'token': string
918
+ /** Logged in. */
919
+ 'isLoggedIn'?: boolean| undefined | null
920
+ }
921
+
922
+ interface PersonWithTokenSchema extends SpruceSchema.Schema {
923
+ id: 'personWithToken',
924
+ version: 'v2020_07_22',
925
+ namespace: 'SpruceCli',
926
+ name: '',
927
+ description: 'A stripped down cli user with token details for login',
928
+ fields: {
929
+ /** Id. */
930
+ 'id': {
931
+ label: 'Id',
932
+ type: 'id',
933
+ isRequired: true,
934
+ options: undefined
935
+ },
936
+ /** Casual name. The name you can use when talking to this person. */
937
+ 'casualName': {
938
+ label: 'Casual name',
939
+ type: 'text',
940
+ isRequired: true,
941
+ hint: 'The name you can use when talking to this person.',
942
+ options: undefined
943
+ },
944
+ /** . */
945
+ 'token': {
946
+ type: 'text',
947
+ isRequired: true,
948
+ options: undefined
949
+ },
950
+ /** Logged in. */
951
+ 'isLoggedIn': {
952
+ label: 'Logged in',
953
+ type: 'boolean',
954
+ options: undefined
955
+ },
956
+ }
957
+ }
958
+
959
+ interface PersonWithTokenEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.PersonWithTokenSchema> {}
960
+
961
+ }
962
+
963
+
964
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
965
+
966
+ /** Track onboarding progress and tutorials &amp; quizzes completed. */
967
+ interface Onboarding {
968
+
969
+ /** mode. */
970
+ 'mode': ("short" | "immersive" | "off")
971
+ /** Stage. */
972
+ 'stage'?: ("create.skill" | "test")| undefined | null
973
+ }
974
+
975
+ interface OnboardingSchema extends SpruceSchema.Schema {
976
+ id: 'onboarding',
977
+ version: 'v2020_07_22',
978
+ namespace: 'SpruceCli',
979
+ name: 'Onboarding',
980
+ description: 'Track onboarding progress and tutorials & quizzes completed.',
981
+ fields: {
982
+ /** mode. */
983
+ 'mode': {
984
+ label: 'mode',
985
+ type: 'select',
986
+ isRequired: true,
987
+ options: {choices: [{"label":"Short","value":"short"},{"label":"Immersive","value":"immersive"},{"label":"Off","value":"off"}],}
988
+ },
989
+ /** Stage. */
990
+ 'stage': {
991
+ label: 'Stage',
992
+ type: 'select',
993
+ options: {choices: [{"label":"Create skill","value":"create.skill"},{"label":"Test","value":"test"}],}
994
+ },
995
+ }
996
+ }
997
+
998
+ interface OnboardingEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.OnboardingSchema> {}
999
+
1000
+ }
1001
+
1002
+
1003
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1004
+
1005
+ /** The question is; Are you read? ⚡️ */
1006
+ interface OnboardOptions {
1007
+
1008
+ }
1009
+
1010
+ interface OnboardOptionsSchema extends SpruceSchema.Schema {
1011
+ id: 'onboardOptions',
1012
+ version: 'v2020_07_22',
1013
+ namespace: 'SpruceCli',
1014
+ name: 'Onboard action',
1015
+ description: 'The question is; Are you read? ⚡️',
1016
+ fields: {
1017
+ }
1018
+ }
1019
+
1020
+ interface OnboardOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.OnboardOptionsSchema> {}
1021
+
1022
+ }
1023
+
1024
+
1025
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1026
+
1027
+ /** Create a new node module, to be written in typescript, ready to rock! */
1028
+ interface NodeFeatureOptions {
1029
+
1030
+
1031
+ 'destination'?: string| undefined | null
1032
+ /** What's the name of your module?. */
1033
+ 'name': string
1034
+ /** How would you describe your module?. */
1035
+ 'description': string
1036
+ }
1037
+
1038
+ interface NodeFeatureOptionsSchema extends SpruceSchema.Schema {
1039
+ id: 'nodeFeatureOptions',
1040
+ version: 'v2020_07_22',
1041
+ namespace: 'SpruceCli',
1042
+ name: 'Create node module',
1043
+ description: 'Create a new node module, to be written in typescript, ready to rock!',
1044
+ fields: {
1045
+ /** . */
1046
+ 'destination': {
1047
+ type: 'text',
1048
+ defaultValue: ".",
1049
+ options: undefined
1050
+ },
1051
+ /** What's the name of your module?. */
1052
+ 'name': {
1053
+ label: 'What\'s the name of your module?',
1054
+ type: 'text',
1055
+ isRequired: true,
1056
+ options: undefined
1057
+ },
1058
+ /** How would you describe your module?. */
1059
+ 'description': {
1060
+ label: 'How would you describe your module?',
1061
+ type: 'text',
1062
+ isRequired: true,
1063
+ options: undefined
1064
+ },
1065
+ }
1066
+ }
1067
+
1068
+ interface NodeFeatureOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema> {}
1069
+
1070
+ }
1071
+
1072
+
1073
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1074
+
1075
+ /** Used to collect input on the names of a class or interface */
1076
+ interface NamedTemplateItem {
1077
+
1078
+ /** Readable name. The name people will read */
1079
+ 'nameReadable': string
1080
+ /** Readable name (plural). The plural form of the name people will read */
1081
+ 'nameReadablePlural': string
1082
+ /** Camel case name. camelCase version of the name */
1083
+ 'nameCamel': string
1084
+ /** Plural camel case name. camelCase version of the name */
1085
+ 'nameCamelPlural'?: string| undefined | null
1086
+ /** Pascal case name. PascalCase of the name */
1087
+ 'namePascal'?: string| undefined | null
1088
+ /** Plural Pascal case name. PascalCase of the name */
1089
+ 'namePascalPlural'?: string| undefined | null
1090
+ /** Constant case name. CONST_CASE of the name */
1091
+ 'nameConst'?: string| undefined | null
1092
+ /** Kebab case name. kebab-case of the name */
1093
+ 'nameKebab'?: string| undefined | null
1094
+ /** Snake case name. snake_case of the name */
1095
+ 'nameSnake'?: string| undefined | null
1096
+ /** Snake case name (plural). snakes_case of the name */
1097
+ 'nameSnakePlural'?: string| undefined | null
1098
+ /** Description. Describe a bit more here */
1099
+ 'description'?: string| undefined | null
1100
+ }
1101
+
1102
+ interface NamedTemplateItemSchema extends SpruceSchema.Schema {
1103
+ id: 'namedTemplateItem',
1104
+ version: 'v2020_07_22',
1105
+ namespace: 'SpruceCli',
1106
+ name: 'NamedTemplateItem',
1107
+ description: 'Used to collect input on the names of a class or interface',
1108
+ fields: {
1109
+ /** Readable name. The name people will read */
1110
+ 'nameReadable': {
1111
+ label: 'Readable name',
1112
+ type: 'text',
1113
+ isRequired: true,
1114
+ hint: 'The name people will read',
1115
+ options: undefined
1116
+ },
1117
+ /** Readable name (plural). The plural form of the name people will read */
1118
+ 'nameReadablePlural': {
1119
+ label: 'Readable name (plural)',
1120
+ type: 'text',
1121
+ isRequired: true,
1122
+ hint: 'The plural form of the name people will read',
1123
+ options: undefined
1124
+ },
1125
+ /** Camel case name. camelCase version of the name */
1126
+ 'nameCamel': {
1127
+ label: 'Camel case name',
1128
+ type: 'text',
1129
+ isRequired: true,
1130
+ hint: 'camelCase version of the name',
1131
+ options: undefined
1132
+ },
1133
+ /** Plural camel case name. camelCase version of the name */
1134
+ 'nameCamelPlural': {
1135
+ label: 'Plural camel case name',
1136
+ type: 'text',
1137
+ hint: 'camelCase version of the name',
1138
+ options: undefined
1139
+ },
1140
+ /** Pascal case name. PascalCase of the name */
1141
+ 'namePascal': {
1142
+ label: 'Pascal case name',
1143
+ type: 'text',
1144
+ hint: 'PascalCase of the name',
1145
+ options: undefined
1146
+ },
1147
+ /** Plural Pascal case name. PascalCase of the name */
1148
+ 'namePascalPlural': {
1149
+ label: 'Plural Pascal case name',
1150
+ type: 'text',
1151
+ hint: 'PascalCase of the name',
1152
+ options: undefined
1153
+ },
1154
+ /** Constant case name. CONST_CASE of the name */
1155
+ 'nameConst': {
1156
+ label: 'Constant case name',
1157
+ type: 'text',
1158
+ hint: 'CONST_CASE of the name',
1159
+ options: undefined
1160
+ },
1161
+ /** Kebab case name. kebab-case of the name */
1162
+ 'nameKebab': {
1163
+ label: 'Kebab case name',
1164
+ type: 'text',
1165
+ hint: 'kebab-case of the name',
1166
+ options: undefined
1167
+ },
1168
+ /** Snake case name. snake_case of the name */
1169
+ 'nameSnake': {
1170
+ label: 'Snake case name',
1171
+ type: 'text',
1172
+ hint: 'snake_case of the name',
1173
+ options: undefined
1174
+ },
1175
+ /** Snake case name (plural). snakes_case of the name */
1176
+ 'nameSnakePlural': {
1177
+ label: 'Snake case name (plural)',
1178
+ type: 'text',
1179
+ hint: 'snakes_case of the name',
1180
+ options: undefined
1181
+ },
1182
+ /** Description. Describe a bit more here */
1183
+ 'description': {
1184
+ label: 'Description',
1185
+ type: 'text',
1186
+ hint: 'Describe a bit more here',
1187
+ options: undefined
1188
+ },
1189
+ }
1190
+ }
1191
+
1192
+ interface NamedTemplateItemEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.NamedTemplateItemSchema> {}
1193
+
1194
+ }
1195
+
1196
+
1197
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1198
+
1199
+ /** Options for event.listen. */
1200
+ interface ListenEventOptions {
1201
+
1202
+ /** Contract destination. Where I will generate event contracts. */
1203
+ 'contractDestinationDir'?: string| undefined | null
1204
+ /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
1205
+ 'schemaTypesLookupDir'?: string| undefined | null
1206
+ /** Sync only core events. For use in @sprucelabs/mercury-types */
1207
+ 'shouldSyncOnlyCoreEvents'?: boolean| undefined | null
1208
+ /** Event signature types file. */
1209
+ 'skillEventContractTypesFile'?: string| undefined | null
1210
+ /** Event builder file. */
1211
+ 'eventBuilderFile'?: string| undefined | null
1212
+ /** Namespace. */
1213
+ 'namespace'?: string| undefined | null
1214
+ /** Event name. */
1215
+ 'eventName'?: string| undefined | null
1216
+ /** Events destination directory. Where should I add your listeners? */
1217
+ 'listenerDestinationDir'?: string| undefined | null
1218
+ /** Version. Set a version yourself instead of letting me generate one for you */
1219
+ 'version'?: string| undefined | null
1220
+ }
1221
+
1222
+ interface ListenEventOptionsSchema extends SpruceSchema.Schema {
1223
+ id: 'listenEventOptions',
1224
+ version: 'v2020_07_22',
1225
+ namespace: 'SpruceCli',
1226
+ name: 'Listen to event action',
1227
+ description: 'Options for event.listen.',
1228
+ fields: {
1229
+ /** Contract destination. Where I will generate event contracts. */
1230
+ 'contractDestinationDir': {
1231
+ label: 'Contract destination',
1232
+ type: 'text',
1233
+ hint: 'Where I will generate event contracts.',
1234
+ defaultValue: "#spruce/events",
1235
+ options: undefined
1236
+ },
1237
+ /** Schema types lookup directory. Where I will lookup schema types and interfaces. */
1238
+ 'schemaTypesLookupDir': {
1239
+ label: 'Schema types lookup directory',
1240
+ type: 'text',
1241
+ hint: 'Where I will lookup schema types and interfaces.',
1242
+ defaultValue: "#spruce/schemas",
1243
+ options: undefined
1244
+ },
1245
+ /** Sync only core events. For use in @sprucelabs/mercury-types */
1246
+ 'shouldSyncOnlyCoreEvents': {
1247
+ label: 'Sync only core events',
1248
+ type: 'boolean',
1249
+ hint: 'For use in @sprucelabs/mercury-types',
1250
+ options: undefined
1251
+ },
1252
+ /** Event signature types file. */
1253
+ 'skillEventContractTypesFile': {
1254
+ label: 'Event signature types file',
1255
+ type: 'text',
1256
+ defaultValue: "@sprucelabs/mercury-types/build/types/mercury.types",
1257
+ options: undefined
1258
+ },
1259
+ /** Event builder file. */
1260
+ 'eventBuilderFile': {
1261
+ label: 'Event builder file',
1262
+ type: 'text',
1263
+ defaultValue: "@sprucelabs/mercury-types",
1264
+ options: undefined
1265
+ },
1266
+ /** Namespace. */
1267
+ 'namespace': {
1268
+ label: 'Namespace',
1269
+ type: 'text',
1270
+ options: undefined
1271
+ },
1272
+ /** Event name. */
1273
+ 'eventName': {
1274
+ label: 'Event name',
1275
+ type: 'text',
1276
+ options: undefined
1277
+ },
1278
+ /** Events destination directory. Where should I add your listeners? */
1279
+ 'listenerDestinationDir': {
1280
+ label: 'Events destination directory',
1281
+ type: 'text',
1282
+ hint: 'Where should I add your listeners?',
1283
+ defaultValue: "src/listeners",
1284
+ options: undefined
1285
+ },
1286
+ /** Version. Set a version yourself instead of letting me generate one for you */
1287
+ 'version': {
1288
+ label: 'Version',
1289
+ type: 'text',
1290
+ isPrivate: true,
1291
+ hint: 'Set a version yourself instead of letting me generate one for you',
1292
+ options: undefined
1293
+ },
1294
+ }
1295
+ }
1296
+
1297
+ interface ListenEventOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.ListenEventOptionsSchema> {}
1298
+
1299
+ }
1300
+
1301
+
1302
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1303
+
1304
+ /** Install your skill at any organization you are connected to. */
1305
+ interface InstallSkillAtOrganizationOptions {
1306
+
1307
+ /** Organization id. */
1308
+ 'organizationId'?: string| undefined | null
1309
+ }
1310
+
1311
+ interface InstallSkillAtOrganizationOptionsSchema extends SpruceSchema.Schema {
1312
+ id: 'installSkillAtOrganizationOptions',
1313
+ version: 'v2020_07_22',
1314
+ namespace: 'SpruceCli',
1315
+ name: 'install skill at organization action',
1316
+ description: 'Install your skill at any organization you are connected to.',
1317
+ fields: {
1318
+ /** Organization id. */
1319
+ 'organizationId': {
1320
+ label: 'Organization id',
1321
+ type: 'id',
1322
+ options: undefined
1323
+ },
1324
+ }
1325
+ }
1326
+
1327
+ interface InstallSkillAtOrganizationOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.InstallSkillAtOrganizationOptionsSchema> {}
1328
+
1329
+ }
1330
+
1331
+
1332
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1333
+
1334
+ /** Your first failing test just a command away! ⚔️ */
1335
+ interface CreateTestOptions {
1336
+
1337
+ /** Type of test. */
1338
+ 'type': ("behavioral" | "implementation")
1339
+ /** What are you testing?. E.g. Todo Card or Systems List */
1340
+ 'nameReadable': string
1341
+ /** Test destination directory. Where I'll save your new test. */
1342
+ 'testDestinationDir'?: string| undefined | null
1343
+ /** Camel case name. camelCase version of the name */
1344
+ 'nameCamel': string
1345
+ /** Pascal case name. PascalCase of the name */
1346
+ 'namePascal'?: string| undefined | null
1347
+ }
1348
+
1349
+ interface CreateTestOptionsSchema extends SpruceSchema.Schema {
1350
+ id: 'createTestOptions',
1351
+ version: 'v2020_07_22',
1352
+ namespace: 'SpruceCli',
1353
+ name: 'Create test action',
1354
+ description: 'Your first failing test just a command away! ⚔️',
1355
+ fields: {
1356
+ /** Type of test. */
1357
+ 'type': {
1358
+ label: 'Type of test',
1359
+ type: 'select',
1360
+ isRequired: true,
1361
+ options: {choices: [{"value":"behavioral","label":"Behavioral"},{"value":"implementation","label":"Implementation"}],}
1362
+ },
1363
+ /** What are you testing?. E.g. Todo Card or Systems List */
1364
+ 'nameReadable': {
1365
+ label: 'What are you testing?',
1366
+ type: 'text',
1367
+ isRequired: true,
1368
+ hint: 'E.g. Todo Card or Systems List',
1369
+ options: undefined
1370
+ },
1371
+ /** Test destination directory. Where I'll save your new test. */
1372
+ 'testDestinationDir': {
1373
+ label: 'Test destination directory',
1374
+ type: 'text',
1375
+ hint: 'Where I\'ll save your new test.',
1376
+ defaultValue: "src/__tests__",
1377
+ options: undefined
1378
+ },
1379
+ /** Camel case name. camelCase version of the name */
1380
+ 'nameCamel': {
1381
+ label: 'Camel case name',
1382
+ type: 'text',
1383
+ isRequired: true,
1384
+ hint: 'camelCase version of the name',
1385
+ options: undefined
1386
+ },
1387
+ /** Pascal case name. PascalCase of the name */
1388
+ 'namePascal': {
1389
+ label: 'Pascal case name',
1390
+ type: 'text',
1391
+ hint: 'PascalCase of the name',
1392
+ options: undefined
1393
+ },
1394
+ }
1395
+ }
1396
+
1397
+ interface CreateTestOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateTestOptionsSchema> {}
1398
+
1399
+ }
1400
+
1401
+
1402
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1403
+
1404
+ /** Create the builder to a fresh new schema! */
1405
+ interface CreateSchemaOptions {
1406
+
1407
+ /** Field types directory. Where field types and interfaces will be generated. */
1408
+ 'fieldTypesDestinationDir'?: string| undefined | null
1409
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1410
+ 'addonsLookupDir'?: string| undefined | null
1411
+ /** Generate field types. Should I generate field types too? */
1412
+ 'generateFieldTypes'?: boolean| undefined | null
1413
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
1414
+ 'schemaTypesDestinationDirOrFile'?: string| undefined | null
1415
+ /** . Where I should look for your schema builders? */
1416
+ 'schemaLookupDir'?: string| undefined | null
1417
+ /** Source module. If this schema should be imported from a node module vs generated locally. */
1418
+ 'moduleToImportFromWhenRemote'?: string| undefined | null
1419
+ /** Auto install missing dependencies. */
1420
+ 'shouldInstallMissingDependencies'?: boolean| undefined | null
1421
+ /** Enable versioning. Should we use versioning? */
1422
+ 'shouldEnableVersioning'?: boolean| undefined | null
1423
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1424
+ 'globalSchemaNamespace'?: string| undefined | null
1425
+ /** Fetch remote schemas. I will pull in schemas from other features. */
1426
+ 'shouldFetchRemoteSchemas'?: boolean| undefined | null
1427
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1428
+ 'shouldFetchLocalSchemas'?: boolean| undefined | null
1429
+ /** Fetch core schemas. Should I pull in core schemas too? */
1430
+ 'shouldFetchCoreSchemas'?: boolean| undefined | null
1431
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1432
+ 'shouldGenerateCoreSchemaTypes'?: boolean| undefined | null
1433
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1434
+ 'registerBuiltSchemas'?: boolean| undefined | null
1435
+ /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
1436
+ 'deleteDestinationDirIfNoSchemas'?: boolean| undefined | null
1437
+ /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
1438
+ 'deleteOrphanedSchemas'?: boolean| undefined | null
1439
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1440
+ 'generateStandaloneTypesFile'?: boolean| undefined | null
1441
+ /** message. */
1442
+ 'syncingMessage'?: string| undefined | null
1443
+ /** Schema builder destination directory. Where I'll save the new schema builder. */
1444
+ 'schemaBuilderDestinationDir'?: string| undefined | null
1445
+ /** Builder function. The function that builds this schema */
1446
+ 'builderFunction'?: string| undefined | null
1447
+ /** Sync after creation. This will ensure types and schemas are in sync after you create your builder. */
1448
+ 'syncAfterCreate'?: boolean| undefined | null
1449
+ /** Version. Set a version yourself instead of letting me generate one for you */
1450
+ 'version'?: string| undefined | null
1451
+ /** Readable name. The name people will read */
1452
+ 'nameReadable': string
1453
+ /** Pascal case name. PascalCase of the name */
1454
+ 'namePascal'?: string| undefined | null
1455
+ /** Camel case name. camelCase version of the name */
1456
+ 'nameCamel': string
1457
+ /** Description. Describe a bit more here */
1458
+ 'description'?: string| undefined | null
1459
+ }
1460
+
1461
+ interface CreateSchemaOptionsSchema extends SpruceSchema.Schema {
1462
+ id: 'createSchemaOptions',
1463
+ version: 'v2020_07_22',
1464
+ namespace: 'SpruceCli',
1465
+ name: 'Create schema',
1466
+ description: 'Create the builder to a fresh new schema!',
1467
+ fields: {
1468
+ /** Field types directory. Where field types and interfaces will be generated. */
1469
+ 'fieldTypesDestinationDir': {
1470
+ label: 'Field types directory',
1471
+ type: 'text',
1472
+ isPrivate: true,
1473
+ hint: 'Where field types and interfaces will be generated.',
1474
+ defaultValue: "#spruce/schemas",
1475
+ options: undefined
1476
+ },
1477
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1478
+ 'addonsLookupDir': {
1479
+ label: 'Addons lookup directory',
1480
+ type: 'text',
1481
+ hint: 'Where I\'ll look for new schema fields to be registered.',
1482
+ defaultValue: "src/addons",
1483
+ options: undefined
1484
+ },
1485
+ /** Generate field types. Should I generate field types too? */
1486
+ 'generateFieldTypes': {
1487
+ label: 'Generate field types',
1488
+ type: 'boolean',
1489
+ isPrivate: true,
1490
+ hint: 'Should I generate field types too?',
1491
+ defaultValue: true,
1492
+ options: undefined
1493
+ },
1494
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
1495
+ 'schemaTypesDestinationDirOrFile': {
1496
+ label: 'Schema types destination directory',
1497
+ type: 'text',
1498
+ hint: 'Where I will generate schema types and interfaces.',
1499
+ defaultValue: "#spruce/schemas",
1500
+ options: undefined
1501
+ },
1502
+ /** . Where I should look for your schema builders? */
1503
+ 'schemaLookupDir': {
1504
+ type: 'text',
1505
+ hint: 'Where I should look for your schema builders?',
1506
+ defaultValue: "src/schemas",
1507
+ options: undefined
1508
+ },
1509
+ /** Source module. If this schema should be imported from a node module vs generated locally. */
1510
+ 'moduleToImportFromWhenRemote': {
1511
+ label: 'Source module',
1512
+ type: 'text',
1513
+ hint: 'If this schema should be imported from a node module vs generated locally.',
1514
+ options: undefined
1515
+ },
1516
+ /** Auto install missing dependencies. */
1517
+ 'shouldInstallMissingDependencies': {
1518
+ label: 'Auto install missing dependencies',
1519
+ type: 'boolean',
1520
+ options: undefined
1521
+ },
1522
+ /** Enable versioning. Should we use versioning? */
1523
+ 'shouldEnableVersioning': {
1524
+ label: 'Enable versioning',
1525
+ type: 'boolean',
1526
+ isPrivate: true,
1527
+ hint: 'Should we use versioning?',
1528
+ defaultValue: true,
1529
+ options: undefined
1530
+ },
1531
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1532
+ 'globalSchemaNamespace': {
1533
+ label: 'Global namespace',
1534
+ type: 'text',
1535
+ isPrivate: true,
1536
+ hint: 'The name you\'ll use when accessing these schemas, e.g. SpruceSchemas',
1537
+ defaultValue: "SpruceSchemas",
1538
+ options: undefined
1539
+ },
1540
+ /** Fetch remote schemas. I will pull in schemas from other features. */
1541
+ 'shouldFetchRemoteSchemas': {
1542
+ label: 'Fetch remote schemas',
1543
+ type: 'boolean',
1544
+ isPrivate: true,
1545
+ hint: 'I will pull in schemas from other features.',
1546
+ defaultValue: true,
1547
+ options: undefined
1548
+ },
1549
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1550
+ 'shouldFetchLocalSchemas': {
1551
+ label: 'Fetch local schemas',
1552
+ type: 'boolean',
1553
+ isPrivate: true,
1554
+ hint: 'I will look in schemaLookupDir to load local schemas.',
1555
+ defaultValue: true,
1556
+ options: undefined
1557
+ },
1558
+ /** Fetch core schemas. Should I pull in core schemas too? */
1559
+ 'shouldFetchCoreSchemas': {
1560
+ label: 'Fetch core schemas',
1561
+ type: 'boolean',
1562
+ isPrivate: true,
1563
+ hint: 'Should I pull in core schemas too?',
1564
+ defaultValue: true,
1565
+ options: undefined
1566
+ },
1567
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1568
+ 'shouldGenerateCoreSchemaTypes': {
1569
+ label: 'Generate core schemas',
1570
+ type: 'boolean',
1571
+ isPrivate: true,
1572
+ hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.',
1573
+ options: undefined
1574
+ },
1575
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1576
+ 'registerBuiltSchemas': {
1577
+ label: 'Register built schemas',
1578
+ type: 'boolean',
1579
+ isPrivate: true,
1580
+ hint: 'Should the schemas use the SchemaRegistry for tracking?',
1581
+ defaultValue: true,
1582
+ options: undefined
1583
+ },
1584
+ /** Delete directory if no schemas. Should I delete the schema directory if no schemas are found? */
1585
+ 'deleteDestinationDirIfNoSchemas': {
1586
+ label: 'Delete directory if no schemas',
1587
+ type: 'boolean',
1588
+ isPrivate: true,
1589
+ hint: 'Should I delete the schema directory if no schemas are found?',
1590
+ defaultValue: false,
1591
+ options: undefined
1592
+ },
1593
+ /** Delete orphaned schemas. Should I delete schemas where the builders are missing? */
1594
+ 'deleteOrphanedSchemas': {
1595
+ label: 'Delete orphaned schemas',
1596
+ type: 'boolean',
1597
+ isPrivate: true,
1598
+ hint: 'Should I delete schemas where the builders are missing?',
1599
+ defaultValue: true,
1600
+ options: undefined
1601
+ },
1602
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1603
+ 'generateStandaloneTypesFile': {
1604
+ label: 'Generate standalone types file',
1605
+ type: 'boolean',
1606
+ isPrivate: true,
1607
+ hint: 'By default, I\'ll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file.',
1608
+ defaultValue: false,
1609
+ options: undefined
1610
+ },
1611
+ /** message. */
1612
+ 'syncingMessage': {
1613
+ label: ' message',
1614
+ type: 'text',
1615
+ isPrivate: true,
1616
+ defaultValue: "Syncing schemas...",
1617
+ options: undefined
1618
+ },
1619
+ /** Schema builder destination directory. Where I'll save the new schema builder. */
1620
+ 'schemaBuilderDestinationDir': {
1621
+ label: 'Schema builder destination directory',
1622
+ type: 'text',
1623
+ hint: 'Where I\'ll save the new schema builder.',
1624
+ defaultValue: "src/schemas",
1625
+ options: undefined
1626
+ },
1627
+ /** Builder function. The function that builds this schema */
1628
+ 'builderFunction': {
1629
+ label: 'Builder function',
1630
+ type: 'text',
1631
+ isPrivate: true,
1632
+ hint: 'The function that builds this schema',
1633
+ defaultValue: "buildSchema",
1634
+ options: undefined
1635
+ },
1636
+ /** Sync after creation. This will ensure types and schemas are in sync after you create your builder. */
1637
+ 'syncAfterCreate': {
1638
+ label: 'Sync after creation',
1639
+ type: 'boolean',
1640
+ isPrivate: true,
1641
+ hint: 'This will ensure types and schemas are in sync after you create your builder.',
1642
+ defaultValue: true,
1643
+ options: undefined
1644
+ },
1645
+ /** Version. Set a version yourself instead of letting me generate one for you */
1646
+ 'version': {
1647
+ label: 'Version',
1648
+ type: 'text',
1649
+ isPrivate: true,
1650
+ hint: 'Set a version yourself instead of letting me generate one for you',
1651
+ options: undefined
1652
+ },
1653
+ /** Readable name. The name people will read */
1654
+ 'nameReadable': {
1655
+ label: 'Readable name',
1656
+ type: 'text',
1657
+ isRequired: true,
1658
+ hint: 'The name people will read',
1659
+ options: undefined
1660
+ },
1661
+ /** Pascal case name. PascalCase of the name */
1662
+ 'namePascal': {
1663
+ label: 'Pascal case name',
1664
+ type: 'text',
1665
+ hint: 'PascalCase of the name',
1666
+ options: undefined
1667
+ },
1668
+ /** Camel case name. camelCase version of the name */
1669
+ 'nameCamel': {
1670
+ label: 'Camel case name',
1671
+ type: 'text',
1672
+ isRequired: true,
1673
+ hint: 'camelCase version of the name',
1674
+ options: undefined
1675
+ },
1676
+ /** Description. Describe a bit more here */
1677
+ 'description': {
1678
+ label: 'Description',
1679
+ type: 'text',
1680
+ hint: 'Describe a bit more here',
1681
+ options: undefined
1682
+ },
1683
+ }
1684
+ }
1685
+
1686
+ interface CreateSchemaOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateSchemaOptionsSchema> {}
1687
+
1688
+ }
1689
+
1690
+
1691
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1692
+
1693
+ /** Skills can only communicate with people and skills associated with the same organization. This ensures people can get differentiated experiences across multiple businesses. */
1694
+ interface CreateOrganizationOptions {
1695
+
1696
+ /** Name. The name people will read */
1697
+ 'nameReadable': string
1698
+ /** Slug. kebab-case of the name */
1699
+ 'nameKebab'?: string| undefined | null
1700
+ }
1701
+
1702
+ interface CreateOrganizationOptionsSchema extends SpruceSchema.Schema {
1703
+ id: 'createOrganizationOptions',
1704
+ version: 'v2020_07_22',
1705
+ namespace: 'SpruceCli',
1706
+ name: 'create organization action',
1707
+ description: 'Skills can only communicate with people and skills associated with the same organization. This ensures people can get differentiated experiences across multiple businesses.',
1708
+ fields: {
1709
+ /** Name. The name people will read */
1710
+ 'nameReadable': {
1711
+ label: 'Name',
1712
+ type: 'text',
1713
+ isRequired: true,
1714
+ hint: 'The name people will read',
1715
+ options: undefined
1716
+ },
1717
+ /** Slug. kebab-case of the name */
1718
+ 'nameKebab': {
1719
+ label: 'Slug',
1720
+ type: 'text',
1721
+ hint: 'kebab-case of the name',
1722
+ options: undefined
1723
+ },
1724
+ }
1725
+ }
1726
+
1727
+ interface CreateOrganizationOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateOrganizationOptionsSchema> {}
1728
+
1729
+ }
1730
+
1731
+
1732
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
1733
+
1734
+ /** Create a builder for your brand new error! */
1735
+ interface CreateErrorOptions {
1736
+
1737
+ /** Field types directory. Where field types and interfaces will be generated. */
1738
+ 'fieldTypesDestinationDir'?: string| undefined | null
1739
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1740
+ 'addonsLookupDir'?: string| undefined | null
1741
+ /** Generate field types. Should I generate field types too? */
1742
+ 'generateFieldTypes'?: boolean| undefined | null
1743
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
1744
+ 'schemaTypesDestinationDirOrFile'?: string| undefined | null
1745
+ /** . Where I should look for your schema builders? */
1746
+ 'schemaLookupDir'?: string| undefined | null
1747
+ /** Module import. When other skills use your schemas, will they import them from a module? */
1748
+ 'moduleToImportFromWhenRemote'?: string| undefined | null
1749
+ /** Auto install missing dependencies. */
1750
+ 'shouldInstallMissingDependencies'?: boolean| undefined | null
1751
+ /** Enable versioning. Should we use versioning? */
1752
+ 'shouldEnableVersioning'?: boolean| undefined | null
1753
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1754
+ 'globalSchemaNamespace'?: string| undefined | null
1755
+ /** Fetch remote schemas. I will pull in schemas from other features. */
1756
+ 'shouldFetchRemoteSchemas'?: boolean| undefined | null
1757
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1758
+ 'shouldFetchLocalSchemas'?: boolean| undefined | null
1759
+ /** Fetch core schemas. Should I pull in core schemas too? */
1760
+ 'shouldFetchCoreSchemas'?: boolean| undefined | null
1761
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1762
+ 'shouldGenerateCoreSchemaTypes'?: boolean| undefined | null
1763
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1764
+ 'registerBuiltSchemas'?: boolean| undefined | null
1765
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1766
+ 'generateStandaloneTypesFile'?: boolean| undefined | null
1767
+ /** message. */
1768
+ 'syncingMessage'?: string| undefined | null
1769
+ /** Error class destination. Where I'll save your new Error class file? */
1770
+ 'errorClassDestinationDir': string
1771
+ /** . Where I should look for your error builders? */
1772
+ 'errorLookupDir'?: string| undefined | null
1773
+ /** Types destination dir. This is where error options and type information will be written */
1774
+ 'errorTypesDestinationDir'?: string| undefined | null
1775
+ /** Error builder destination directory. Where I'll save your new builder file? */
1776
+ 'errorBuilderDestinationDir': string
1777
+ /** Readable name. The name people will read */
1778
+ 'nameReadable': string
1779
+ /** Pascal case name. PascalCase of the name */
1780
+ 'namePascal'?: string| undefined | null
1781
+ /** Camel case name. camelCase version of the name */
1782
+ 'nameCamel': string
1783
+ /** Description. Describe a bit more here */
1784
+ 'description'?: string| undefined | null
1785
+ }
1786
+
1787
+ interface CreateErrorOptionsSchema extends SpruceSchema.Schema {
1788
+ id: 'createErrorOptions',
1789
+ version: 'v2020_07_22',
1790
+ namespace: 'SpruceCli',
1791
+ name: 'Create error action',
1792
+ description: 'Create a builder for your brand new error! ',
1793
+ fields: {
1794
+ /** Field types directory. Where field types and interfaces will be generated. */
1795
+ 'fieldTypesDestinationDir': {
1796
+ label: 'Field types directory',
1797
+ type: 'text',
1798
+ isPrivate: true,
1799
+ hint: 'Where field types and interfaces will be generated.',
1800
+ defaultValue: "#spruce/schemas",
1801
+ options: undefined
1802
+ },
1803
+ /** Addons lookup directory. Where I'll look for new schema fields to be registered. */
1804
+ 'addonsLookupDir': {
1805
+ label: 'Addons lookup directory',
1806
+ type: 'text',
1807
+ hint: 'Where I\'ll look for new schema fields to be registered.',
1808
+ defaultValue: "src/addons",
1809
+ options: undefined
1810
+ },
1811
+ /** Generate field types. Should I generate field types too? */
1812
+ 'generateFieldTypes': {
1813
+ label: 'Generate field types',
1814
+ type: 'boolean',
1815
+ isPrivate: true,
1816
+ hint: 'Should I generate field types too?',
1817
+ defaultValue: true,
1818
+ options: undefined
1819
+ },
1820
+ /** Schema types destination directory. Where I will generate schema types and interfaces. */
1821
+ 'schemaTypesDestinationDirOrFile': {
1822
+ label: 'Schema types destination directory',
1823
+ type: 'text',
1824
+ hint: 'Where I will generate schema types and interfaces.',
1825
+ defaultValue: "#spruce/schemas",
1826
+ options: undefined
1827
+ },
1828
+ /** . Where I should look for your schema builders? */
1829
+ 'schemaLookupDir': {
1830
+ type: 'text',
1831
+ hint: 'Where I should look for your schema builders?',
1832
+ defaultValue: "src/schemas",
1833
+ options: undefined
1834
+ },
1835
+ /** Module import. When other skills use your schemas, will they import them from a module? */
1836
+ 'moduleToImportFromWhenRemote': {
1837
+ label: 'Module import',
1838
+ type: 'text',
1839
+ hint: 'When other skills use your schemas, will they import them from a module?',
1840
+ options: undefined
1841
+ },
1842
+ /** Auto install missing dependencies. */
1843
+ 'shouldInstallMissingDependencies': {
1844
+ label: 'Auto install missing dependencies',
1845
+ type: 'boolean',
1846
+ options: undefined
1847
+ },
1848
+ /** Enable versioning. Should we use versioning? */
1849
+ 'shouldEnableVersioning': {
1850
+ label: 'Enable versioning',
1851
+ type: 'boolean',
1852
+ isPrivate: true,
1853
+ hint: 'Should we use versioning?',
1854
+ defaultValue: true,
1855
+ options: undefined
1856
+ },
1857
+ /** Global namespace. The name you'll use when accessing these schemas, e.g. SpruceSchemas */
1858
+ 'globalSchemaNamespace': {
1859
+ label: 'Global namespace',
1860
+ type: 'text',
1861
+ isPrivate: true,
1862
+ hint: 'The name you\'ll use when accessing these schemas, e.g. SpruceSchemas',
1863
+ defaultValue: "SpruceSchemas",
1864
+ options: undefined
1865
+ },
1866
+ /** Fetch remote schemas. I will pull in schemas from other features. */
1867
+ 'shouldFetchRemoteSchemas': {
1868
+ label: 'Fetch remote schemas',
1869
+ type: 'boolean',
1870
+ isPrivate: true,
1871
+ hint: 'I will pull in schemas from other features.',
1872
+ defaultValue: true,
1873
+ options: undefined
1874
+ },
1875
+ /** Fetch local schemas. I will look in schemaLookupDir to load local schemas. */
1876
+ 'shouldFetchLocalSchemas': {
1877
+ label: 'Fetch local schemas',
1878
+ type: 'boolean',
1879
+ isPrivate: true,
1880
+ hint: 'I will look in schemaLookupDir to load local schemas.',
1881
+ defaultValue: true,
1882
+ options: undefined
1883
+ },
1884
+ /** Fetch core schemas. Should I pull in core schemas too? */
1885
+ 'shouldFetchCoreSchemas': {
1886
+ label: 'Fetch core schemas',
1887
+ type: 'boolean',
1888
+ isPrivate: true,
1889
+ hint: 'Should I pull in core schemas too?',
1890
+ defaultValue: true,
1891
+ options: undefined
1892
+ },
1893
+ /** Generate core schemas. Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile. */
1894
+ 'shouldGenerateCoreSchemaTypes': {
1895
+ label: 'Generate core schemas',
1896
+ type: 'boolean',
1897
+ isPrivate: true,
1898
+ hint: 'Used only for updating the @sprucelabs/spruce-core-schemas. Ensures core schemas are generated like local schemas. Also an alias for `--shouldFetchRemoteSchemas=false --shouldFetchCoreSchemas=false --generateStandaloneTypesFile.',
1899
+ options: undefined
1900
+ },
1901
+ /** Register built schemas. Should the schemas use the SchemaRegistry for tracking? */
1902
+ 'registerBuiltSchemas': {
1903
+ label: 'Register built schemas',
1904
+ type: 'boolean',
1905
+ isPrivate: true,
1906
+ hint: 'Should the schemas use the SchemaRegistry for tracking?',
1907
+ defaultValue: true,
1908
+ options: undefined
1909
+ },
1910
+ /** Generate standalone types file. By default, I'll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file. */
1911
+ 'generateStandaloneTypesFile': {
1912
+ label: 'Generate standalone types file',
1913
+ type: 'boolean',
1914
+ isPrivate: true,
1915
+ hint: 'By default, I\'ll generate a types file that augments core types from @sprucelabs/spruce-core-schemas. Setting this to true will generate a stand alone types file.',
1916
+ defaultValue: false,
1917
+ options: undefined
1918
+ },
1919
+ /** message. */
1920
+ 'syncingMessage': {
1921
+ label: ' message',
1922
+ type: 'text',
1923
+ isPrivate: true,
1924
+ defaultValue: "Syncing schemas...",
1925
+ options: undefined
1926
+ },
1927
+ /** Error class destination. Where I'll save your new Error class file? */
1928
+ 'errorClassDestinationDir': {
1929
+ label: 'Error class destination',
1930
+ type: 'text',
1931
+ isPrivate: true,
1932
+ isRequired: true,
1933
+ hint: 'Where I\'ll save your new Error class file?',
1934
+ defaultValue: "src/errors",
1935
+ options: undefined
1936
+ },
1937
+ /** . Where I should look for your error builders? */
1938
+ 'errorLookupDir': {
1939
+ type: 'text',
1940
+ hint: 'Where I should look for your error builders?',
1941
+ defaultValue: "src/errors",
1942
+ options: undefined
1943
+ },
1944
+ /** Types destination dir. This is where error options and type information will be written */
1945
+ 'errorTypesDestinationDir': {
1946
+ label: 'Types destination dir',
1947
+ type: 'text',
1948
+ hint: 'This is where error options and type information will be written',
1949
+ defaultValue: "#spruce/errors",
1950
+ options: undefined
1951
+ },
1952
+ /** Error builder destination directory. Where I'll save your new builder file? */
1953
+ 'errorBuilderDestinationDir': {
1954
+ label: 'Error builder destination directory',
1955
+ type: 'text',
1956
+ isPrivate: true,
1957
+ isRequired: true,
1958
+ hint: 'Where I\'ll save your new builder file?',
1959
+ defaultValue: "./src/errors",
1960
+ options: undefined
1961
+ },
1962
+ /** Readable name. The name people will read */
1963
+ 'nameReadable': {
1964
+ label: 'Readable name',
1965
+ type: 'text',
1966
+ isRequired: true,
1967
+ hint: 'The name people will read',
1968
+ options: undefined
1969
+ },
1970
+ /** Pascal case name. PascalCase of the name */
1971
+ 'namePascal': {
1972
+ label: 'Pascal case name',
1973
+ type: 'text',
1974
+ hint: 'PascalCase of the name',
1975
+ options: undefined
1976
+ },
1977
+ /** Camel case name. camelCase version of the name */
1978
+ 'nameCamel': {
1979
+ label: 'Camel case name',
1980
+ type: 'text',
1981
+ isRequired: true,
1982
+ hint: 'camelCase version of the name',
1983
+ options: undefined
1984
+ },
1985
+ /** Description. Describe a bit more here */
1986
+ 'description': {
1987
+ label: 'Description',
1988
+ type: 'text',
1989
+ hint: 'Describe a bit more here',
1990
+ options: undefined
1991
+ },
1992
+ }
1993
+ }
1994
+
1995
+ interface CreateErrorOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateErrorOptionsSchema> {}
1996
+
1997
+ }
1998
+
1999
+
2000
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2001
+
2002
+ /** Define a topic you want to discuss. */
2003
+ interface CreateConversationTopicOptions {
2004
+
2005
+ /** Topic. What should we talk about or try and get done, e.g. Book an appointment or tell a knock knock joke. */
2006
+ 'nameReadable': string
2007
+ /** Camel case name. camelCase version of the name */
2008
+ 'nameCamel': string
2009
+ }
2010
+
2011
+ interface CreateConversationTopicOptionsSchema extends SpruceSchema.Schema {
2012
+ id: 'createConversationTopicOptions',
2013
+ version: 'v2020_07_22',
2014
+ namespace: 'SpruceCli',
2015
+ name: 'Create conversation options',
2016
+ description: 'Define a topic you want to discuss.',
2017
+ fields: {
2018
+ /** Topic. What should we talk about or try and get done, e.g. Book an appointment or tell a knock knock joke. */
2019
+ 'nameReadable': {
2020
+ label: 'Topic',
2021
+ type: 'text',
2022
+ isRequired: true,
2023
+ hint: 'What should we talk about or try and get done, e.g. Book an appointment or tell a knock knock joke.',
2024
+ options: undefined
2025
+ },
2026
+ /** Camel case name. camelCase version of the name */
2027
+ 'nameCamel': {
2028
+ label: 'Camel case name',
2029
+ type: 'text',
2030
+ isRequired: true,
2031
+ hint: 'camelCase version of the name',
2032
+ options: undefined
2033
+ },
2034
+ }
2035
+ }
2036
+
2037
+ interface CreateConversationTopicOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.CreateConversationTopicOptionsSchema> {}
2038
+
2039
+ }
2040
+
2041
+
2042
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2043
+
2044
+ /** Boot your skill 💪 */
2045
+ interface BootSkillOptions {
2046
+
2047
+ /** Run local. Will run using ts-node and typescript directly. Longer boot times */
2048
+ 'local'?: boolean| undefined | null
2049
+
2050
+ 'onData'?: ((msg: string) => void)| undefined | null
2051
+
2052
+ 'onError'?: ((msg: string) => void)| undefined | null
2053
+ /** Wait until skill is booted. For testing. Returns immediately after executing test so the running tests can be managed programatically. */
2054
+ 'shouldReturnImmediately'?: boolean| undefined | null
2055
+ }
2056
+
2057
+ interface BootSkillOptionsSchema extends SpruceSchema.Schema {
2058
+ id: 'bootSkillOptions',
2059
+ version: 'v2020_07_22',
2060
+ namespace: 'SpruceCli',
2061
+ name: 'Boot skill action',
2062
+ description: 'Boot your skill 💪',
2063
+ fields: {
2064
+ /** Run local. Will run using ts-node and typescript directly. Longer boot times */
2065
+ 'local': {
2066
+ label: 'Run local',
2067
+ type: 'boolean',
2068
+ hint: 'Will run using ts-node and typescript directly. Longer boot times',
2069
+ options: undefined
2070
+ },
2071
+ /** . */
2072
+ 'onData': {
2073
+ type: 'raw',
2074
+ options: {valueType: `(msg: string) => void`,}
2075
+ },
2076
+ /** . */
2077
+ 'onError': {
2078
+ type: 'raw',
2079
+ options: {valueType: `(msg: string) => void`,}
2080
+ },
2081
+ /** Wait until skill is booted. For testing. Returns immediately after executing test so the running tests can be managed programatically. */
2082
+ 'shouldReturnImmediately': {
2083
+ label: 'Wait until skill is booted',
2084
+ type: 'boolean',
2085
+ isPrivate: true,
2086
+ hint: 'For testing. Returns immediately after executing test so the running tests can be managed programatically.',
2087
+ defaultValue: false,
2088
+ options: undefined
2089
+ },
2090
+ }
2091
+ }
2092
+
2093
+ interface BootSkillOptionsEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.BootSkillOptionsSchema> {}
2094
+
2095
+ }
2096
+
2097
+
2098
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2099
+
2100
+
2101
+ interface NpmPackage {
2102
+
2103
+
2104
+ 'name': string
2105
+
2106
+ 'version'?: string| undefined | null
2107
+
2108
+ 'isDev'?: boolean| undefined | null
2109
+ }
2110
+
2111
+ interface NpmPackageSchema extends SpruceSchema.Schema {
2112
+ id: 'npmPackage',
2113
+ version: 'v2020_07_22',
2114
+ namespace: 'SpruceCli',
2115
+ name: '',
2116
+ fields: {
2117
+ /** . */
2118
+ 'name': {
2119
+ type: 'text',
2120
+ isRequired: true,
2121
+ options: undefined
2122
+ },
2123
+ /** . */
2124
+ 'version': {
2125
+ type: 'text',
2126
+ options: undefined
2127
+ },
2128
+ /** . */
2129
+ 'isDev': {
2130
+ type: 'boolean',
2131
+ options: undefined
2132
+ },
2133
+ }
2134
+ }
2135
+
2136
+ interface NpmPackageEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema> {}
2137
+
2138
+ }
2139
+
2140
+
2141
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2142
+
2143
+
2144
+ interface GeneratedFile {
2145
+
2146
+
2147
+ 'name': string
2148
+
2149
+ 'path': string
2150
+
2151
+ 'description'?: string| undefined | null
2152
+
2153
+ 'action': ("skipped" | "generated" | "updated" | "deleted")
2154
+ }
2155
+
2156
+ interface GeneratedFileSchema extends SpruceSchema.Schema {
2157
+ id: 'generatedFile',
2158
+ version: 'v2020_07_22',
2159
+ namespace: 'SpruceCli',
2160
+ name: '',
2161
+ fields: {
2162
+ /** . */
2163
+ 'name': {
2164
+ type: 'text',
2165
+ isRequired: true,
2166
+ options: undefined
2167
+ },
2168
+ /** . */
2169
+ 'path': {
2170
+ type: 'text',
2171
+ isRequired: true,
2172
+ options: undefined
2173
+ },
2174
+ /** . */
2175
+ 'description': {
2176
+ type: 'text',
2177
+ options: undefined
2178
+ },
2179
+ /** . */
2180
+ 'action': {
2181
+ type: 'select',
2182
+ isRequired: true,
2183
+ options: {choices: [{"label":"Skipped","value":"skipped"},{"label":"Generated","value":"generated"},{"label":"Updated","value":"updated"},{"label":"Deleted","value":"deleted"}],}
2184
+ },
2185
+ }
2186
+ }
2187
+
2188
+ interface GeneratedFileEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema> {}
2189
+
2190
+ }
2191
+
2192
+
2193
+ namespace SpruceSchemas.SpruceCli.v2020_07_22 {
2194
+
2195
+
2196
+ interface ActionResponse {
2197
+
2198
+
2199
+ 'files'?: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFile[]| undefined | null
2200
+
2201
+ 'headline'?: string| undefined | null
2202
+
2203
+ 'hints'?: string[]| undefined | null
2204
+
2205
+ 'summaryLines'?: string[]| undefined | null
2206
+
2207
+ 'errors'?: (AbstractSpruceError<any>)[]| undefined | null
2208
+
2209
+ 'meta'?: (Record<string, any>)| undefined | null
2210
+
2211
+ 'packagesInstalled'?: SpruceSchemas.SpruceCli.v2020_07_22.NpmPackage[]| undefined | null
2212
+ }
2213
+
2214
+ interface ActionResponseSchema extends SpruceSchema.Schema {
2215
+ id: 'actionResponse',
2216
+ version: 'v2020_07_22',
2217
+ namespace: 'SpruceCli',
2218
+ name: 'Action response',
2219
+ fields: {
2220
+ /** . */
2221
+ 'files': {
2222
+ type: 'schema',
2223
+ isArray: true,
2224
+ options: {schema: SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema,}
2225
+ },
2226
+ /** . */
2227
+ 'headline': {
2228
+ type: 'text',
2229
+ options: undefined
2230
+ },
2231
+ /** . */
2232
+ 'hints': {
2233
+ type: 'text',
2234
+ isArray: true,
2235
+ options: undefined
2236
+ },
2237
+ /** . */
2238
+ 'summaryLines': {
2239
+ type: 'text',
2240
+ isArray: true,
2241
+ options: undefined
2242
+ },
2243
+ /** . */
2244
+ 'errors': {
2245
+ type: 'raw',
2246
+ isArray: true,
2247
+ options: {valueType: `AbstractSpruceError<any>`,}
2248
+ },
2249
+ /** . */
2250
+ 'meta': {
2251
+ type: 'raw',
2252
+ options: {valueType: `Record<string, any>`,}
2253
+ },
2254
+ /** . */
2255
+ 'packagesInstalled': {
2256
+ type: 'schema',
2257
+ isArray: true,
2258
+ options: {schema: SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema,}
2259
+ },
2260
+ }
2261
+ }
2262
+
2263
+ interface ActionResponseEntity extends SchemaEntity<SpruceSchemas.SpruceCli.v2020_07_22.ActionResponseSchema> {}
2264
+
2265
+ }
2266
+
2247
2267
  }