@sprucelabs/spruce-templates 23.1.0 → 24.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/LICENSE +21 -0
  2. package/build/templates/typescript/sandbox/will-boot.listener.ts.hbs +138 -73
  3. package/package.json +2 -2
  4. package/build/addons/eq.addon.js.map +0 -1
  5. package/build/addons/escape.addon.js.map +0 -1
  6. package/build/addons/fieldDefinitionBodyPartial.addon.js.map +0 -1
  7. package/build/addons/fieldDefinitionOptions.addon.js.map +0 -1
  8. package/build/addons/fieldTypeEnum.addon.js.map +0 -1
  9. package/build/addons/fieldValue.addon.js.map +0 -1
  10. package/build/addons/gt.addon.js.map +0 -1
  11. package/build/addons/hasKeys.addon.js.map +0 -1
  12. package/build/addons/hasNoneCoreSchemaTemplateItems.addon.js.map +0 -1
  13. package/build/addons/importRelatedSchemas.addon.js.map +0 -1
  14. package/build/addons/index.js.map +0 -1
  15. package/build/addons/isDefined.addon.js.map +0 -1
  16. package/build/addons/json.addon.js.map +0 -1
  17. package/build/addons/neq.addon.js.map +0 -1
  18. package/build/addons/operators.addon.js.map +0 -1
  19. package/build/addons/pascalCase.addon.js.map +0 -1
  20. package/build/addons/permissionContractBuilder.addon.js.map +0 -1
  21. package/build/addons/schemaBodyPartial.addon.js.map +0 -1
  22. package/build/addons/schemaNamespacePath.addon.js.map +0 -1
  23. package/build/addons/schemaValuesPartial.addon.js.map +0 -1
  24. package/build/addons/valueTypeGenerator.addon.js.map +0 -1
  25. package/build/addons/valueTypeLiteral.addon.js.map +0 -1
  26. package/build/addons/valueTypeMapper.addon.js.map +0 -1
  27. package/build/dist/templates/directories/skill/.nvmrc +0 -1
  28. package/build/dist/templates/directories/skill/README.md +0 -4
  29. package/build/dist/templates/directories/skill/eslint.config.mjs +0 -3
  30. package/build/dist/templates/directories/skill/package.json.hbs +0 -15
  31. package/build/dist/templates/directories/skill/src/errors/SpruceError.ts.hbs +0 -20
  32. package/build/dist/templates/directories/skill/tsconfig.json +0 -39
  33. package/build/dist/templates/directories/vscode/.vscode/launch.json +0 -58
  34. package/build/dist/templates/directories/vscode/.vscode/settings.json +0 -67
  35. package/build/dist/templates/directories/vscode/.vscode/tasks.json +0 -112
  36. package/build/dist/templates/typescript/conversation/conversation.plugin.ts.hbs +0 -1
  37. package/build/dist/templates/typescript/conversation/conversation.topic.ts.hbs +0 -19
  38. package/build/dist/templates/typescript/deploy/deploy.plugin.ts.hbs +0 -1
  39. package/build/dist/templates/typescript/error/SpruceError.ts.hbs +0 -31
  40. package/build/dist/templates/typescript/error/error.plugin.ts.hbs +0 -78
  41. package/build/dist/templates/typescript/error/example.ts.hbs +0 -10
  42. package/build/dist/templates/typescript/error/options.types.ts.hbs +0 -12
  43. package/build/dist/templates/typescript/event/event.contract.ts.hbs +0 -26
  44. package/build/dist/templates/typescript/event/event.options.ts.hbs +0 -11
  45. package/build/dist/templates/typescript/event/events.contract.ts.hbs +0 -24
  46. package/build/dist/templates/typescript/event/listener.ts.hbs +0 -23
  47. package/build/dist/templates/typescript/event/listeners.ts.hbs +0 -15
  48. package/build/dist/templates/typescript/event/payload.builder.ts.hbs +0 -15
  49. package/build/dist/templates/typescript/log/transport.plugin.ts.hbs +0 -14
  50. package/build/dist/templates/typescript/permissions/contract.builder.ts.hbs +0 -36
  51. package/build/dist/templates/typescript/permissions/permission.plugin.ts.hbs +0 -1
  52. package/build/dist/templates/typescript/permissions/permissions.ts.hbs +0 -13
  53. package/build/dist/templates/typescript/permissions/permissions.types.ts.hbs +0 -14
  54. package/build/dist/templates/typescript/polish/polish.ts.hbs +0 -67
  55. package/build/dist/templates/typescript/sandbox/will-boot.listener.ts.hbs +0 -109
  56. package/build/dist/templates/typescript/schema/builder.ts.hbs +0 -24
  57. package/build/dist/templates/typescript/schema/core.schemas.types.ts.hbs +0 -34
  58. package/build/dist/templates/typescript/schema/example.ts.hbs +0 -20
  59. package/build/dist/templates/typescript/schema/fields/fieldClassMap.ts.hbs +0 -16
  60. package/build/dist/templates/typescript/schema/fields/fields.types.ts.hbs +0 -1
  61. package/build/dist/templates/typescript/schema/imported.schema.ts.hbs +0 -1
  62. package/build/dist/templates/typescript/schema/partials/fieldDefinitionBody.ts.hbs +0 -12
  63. package/build/dist/templates/typescript/schema/partials/schemaBody.ts.hbs +0 -20
  64. package/build/dist/templates/typescript/schema/partials/schemaValues.ts.hbs +0 -7
  65. package/build/dist/templates/typescript/schema/schema.plugin.ts.hbs +0 -101
  66. package/build/dist/templates/typescript/schema/schema.ts.hbs +0 -12
  67. package/build/dist/templates/typescript/schema/schemas.types.ts.hbs +0 -44
  68. package/build/dist/templates/typescript/schema/valueTypes.ts.hbs +0 -67
  69. package/build/dist/templates/typescript/store/Store.store.ts.hbs +0 -95
  70. package/build/dist/templates/typescript/store/store.plugin.ts.hbs +0 -1
  71. package/build/dist/templates/typescript/store/stores.ts.hbs +0 -9
  72. package/build/dist/templates/typescript/store/stores.types.ts.hbs +0 -17
  73. package/build/dist/templates/typescript/test/Test.test.ts.hbs +0 -20
  74. package/build/dist/templates/typescript/view/App.ac.ts.hbs +0 -6
  75. package/build/dist/templates/typescript/view/View.svc.ts.hbs +0 -23
  76. package/build/dist/templates/typescript/view/View.vc.ts.hbs +0 -17
  77. package/build/dist/templates/typescript/view/skill.theme.ts.hbs +0 -70
  78. package/build/dist/templates/typescript/view/view.plugin.ts.hbs +0 -1
  79. package/build/dist/templates/typescript/view/viewController.plugin.ts.hbs +0 -3
  80. package/build/dist/templates/typescript/view/views.ts.hbs +0 -93
  81. package/build/esm/addons/eq.addon.d.ts +0 -1
  82. package/build/esm/addons/eq.addon.js +0 -4
  83. package/build/esm/addons/escape.addon.d.ts +0 -1
  84. package/build/esm/addons/escape.addon.js +0 -5
  85. package/build/esm/addons/fieldDefinitionBodyPartial.addon.d.ts +0 -1
  86. package/build/esm/addons/fieldDefinitionBodyPartial.addon.js +0 -8
  87. package/build/esm/addons/fieldDefinitionOptions.addon.d.ts +0 -1
  88. package/build/esm/addons/fieldDefinitionOptions.addon.js +0 -66
  89. package/build/esm/addons/fieldTypeEnum.addon.d.ts +0 -1
  90. package/build/esm/addons/fieldTypeEnum.addon.js +0 -9
  91. package/build/esm/addons/fieldValue.addon.d.ts +0 -1
  92. package/build/esm/addons/fieldValue.addon.js +0 -8
  93. package/build/esm/addons/gt.addon.d.ts +0 -1
  94. package/build/esm/addons/gt.addon.js +0 -4
  95. package/build/esm/addons/hasKeys.addon.d.ts +0 -1
  96. package/build/esm/addons/hasKeys.addon.js +0 -4
  97. package/build/esm/addons/hasNoneCoreSchemaTemplateItems.addon.d.ts +0 -1
  98. package/build/esm/addons/hasNoneCoreSchemaTemplateItems.addon.js +0 -6
  99. package/build/esm/addons/importRelatedSchemas.addon.d.ts +0 -1
  100. package/build/esm/addons/importRelatedSchemas.addon.js +0 -34
  101. package/build/esm/addons/index.d.ts +0 -23
  102. package/build/esm/addons/index.js +0 -23
  103. package/build/esm/addons/isDefined.addon.d.ts +0 -1
  104. package/build/esm/addons/isDefined.addon.js +0 -5
  105. package/build/esm/addons/json.addon.d.ts +0 -1
  106. package/build/esm/addons/json.addon.js +0 -7
  107. package/build/esm/addons/neq.addon.d.ts +0 -1
  108. package/build/esm/addons/neq.addon.js +0 -4
  109. package/build/esm/addons/operators.addon.d.ts +0 -1
  110. package/build/esm/addons/operators.addon.js +0 -15
  111. package/build/esm/addons/pascalCase.addon.d.ts +0 -1
  112. package/build/esm/addons/pascalCase.addon.js +0 -6
  113. package/build/esm/addons/permissionContractBuilder.addon.d.ts +0 -1
  114. package/build/esm/addons/permissionContractBuilder.addon.js +0 -4
  115. package/build/esm/addons/schemaBodyPartial.addon.d.ts +0 -1
  116. package/build/esm/addons/schemaBodyPartial.addon.js +0 -8
  117. package/build/esm/addons/schemaNamespacePath.addon.d.ts +0 -1
  118. package/build/esm/addons/schemaNamespacePath.addon.js +0 -18
  119. package/build/esm/addons/schemaValuesPartial.addon.d.ts +0 -1
  120. package/build/esm/addons/schemaValuesPartial.addon.js +0 -8
  121. package/build/esm/addons/valueTypeGenerator.addon.d.ts +0 -1
  122. package/build/esm/addons/valueTypeGenerator.addon.js +0 -15
  123. package/build/esm/addons/valueTypeLiteral.addon.d.ts +0 -1
  124. package/build/esm/addons/valueTypeLiteral.addon.js +0 -32
  125. package/build/esm/addons/valueTypeMapper.addon.d.ts +0 -1
  126. package/build/esm/addons/valueTypeMapper.addon.js +0 -9
  127. package/build/esm/index.d.ts +0 -141
  128. package/build/esm/index.js +0 -255
  129. package/build/esm/templates/directories/skill/.nvmrc +0 -1
  130. package/build/esm/templates/directories/skill/README.md +0 -4
  131. package/build/esm/templates/directories/skill/eslint.config.mjs +0 -3
  132. package/build/esm/templates/directories/skill/package.json.hbs +0 -15
  133. package/build/esm/templates/directories/skill/src/.spruce/errors/options.types.ts +0 -6
  134. package/build/esm/templates/directories/skill/src/.spruce/features/event.plugin.ts +0 -1
  135. package/build/esm/templates/directories/skill/src/.spruce/skill.ts +0 -8
  136. package/build/esm/templates/directories/skill/src/errors/SpruceError.ts.hbs +0 -20
  137. package/build/esm/templates/directories/skill/src/index.ts +0 -35
  138. package/build/esm/templates/directories/skill/tsconfig.json +0 -39
  139. package/build/esm/templates/directories/vscode/.vscode/launch.json +0 -58
  140. package/build/esm/templates/directories/vscode/.vscode/settings.json +0 -67
  141. package/build/esm/templates/directories/vscode/.vscode/tasks.json +0 -112
  142. package/build/esm/templates/typescript/conversation/conversation.plugin.ts.hbs +0 -1
  143. package/build/esm/templates/typescript/conversation/conversation.topic.ts.hbs +0 -19
  144. package/build/esm/templates/typescript/deploy/deploy.plugin.ts.hbs +0 -1
  145. package/build/esm/templates/typescript/error/SpruceError.ts.hbs +0 -31
  146. package/build/esm/templates/typescript/error/error.plugin.ts.hbs +0 -78
  147. package/build/esm/templates/typescript/error/example.ts.hbs +0 -10
  148. package/build/esm/templates/typescript/error/options.types.ts.hbs +0 -12
  149. package/build/esm/templates/typescript/event/event.contract.ts.hbs +0 -26
  150. package/build/esm/templates/typescript/event/event.options.ts.hbs +0 -11
  151. package/build/esm/templates/typescript/event/events.contract.ts.hbs +0 -24
  152. package/build/esm/templates/typescript/event/listener.ts.hbs +0 -23
  153. package/build/esm/templates/typescript/event/listeners.ts.hbs +0 -15
  154. package/build/esm/templates/typescript/event/payload.builder.ts.hbs +0 -15
  155. package/build/esm/templates/typescript/log/transport.plugin.ts.hbs +0 -14
  156. package/build/esm/templates/typescript/permissions/contract.builder.ts.hbs +0 -36
  157. package/build/esm/templates/typescript/permissions/permission.plugin.ts.hbs +0 -1
  158. package/build/esm/templates/typescript/permissions/permissions.ts.hbs +0 -13
  159. package/build/esm/templates/typescript/permissions/permissions.types.ts.hbs +0 -14
  160. package/build/esm/templates/typescript/polish/polish.ts.hbs +0 -67
  161. package/build/esm/templates/typescript/sandbox/will-boot.listener.ts.hbs +0 -109
  162. package/build/esm/templates/typescript/schema/builder.ts.hbs +0 -24
  163. package/build/esm/templates/typescript/schema/core.schemas.types.ts.hbs +0 -34
  164. package/build/esm/templates/typescript/schema/example.ts.hbs +0 -20
  165. package/build/esm/templates/typescript/schema/fields/fieldClassMap.ts.hbs +0 -16
  166. package/build/esm/templates/typescript/schema/fields/fields.types.ts.hbs +0 -1
  167. package/build/esm/templates/typescript/schema/imported.schema.ts.hbs +0 -1
  168. package/build/esm/templates/typescript/schema/partials/fieldDefinitionBody.ts.hbs +0 -12
  169. package/build/esm/templates/typescript/schema/partials/schemaBody.ts.hbs +0 -20
  170. package/build/esm/templates/typescript/schema/partials/schemaValues.ts.hbs +0 -7
  171. package/build/esm/templates/typescript/schema/schema.plugin.ts.hbs +0 -101
  172. package/build/esm/templates/typescript/schema/schema.ts.hbs +0 -12
  173. package/build/esm/templates/typescript/schema/schemas.types.ts.hbs +0 -44
  174. package/build/esm/templates/typescript/schema/valueTypes.ts.hbs +0 -67
  175. package/build/esm/templates/typescript/store/Store.store.ts.hbs +0 -95
  176. package/build/esm/templates/typescript/store/store.plugin.ts.hbs +0 -1
  177. package/build/esm/templates/typescript/store/stores.ts.hbs +0 -9
  178. package/build/esm/templates/typescript/store/stores.types.ts.hbs +0 -17
  179. package/build/esm/templates/typescript/test/Test.test.ts.hbs +0 -20
  180. package/build/esm/templates/typescript/view/App.ac.ts.hbs +0 -6
  181. package/build/esm/templates/typescript/view/View.svc.ts.hbs +0 -23
  182. package/build/esm/templates/typescript/view/View.vc.ts.hbs +0 -17
  183. package/build/esm/templates/typescript/view/skill.theme.ts.hbs +0 -70
  184. package/build/esm/templates/typescript/view/view.plugin.ts.hbs +0 -1
  185. package/build/esm/templates/typescript/view/viewController.plugin.ts.hbs +0 -3
  186. package/build/esm/templates/typescript/view/views.ts.hbs +0 -93
  187. package/build/esm/types/templates.types.d.ts +0 -121
  188. package/build/esm/types/templates.types.js +0 -5
  189. package/build/esm/utilities/DirectoryTemplateUtility.d.ts +0 -15
  190. package/build/esm/utilities/DirectoryTemplateUtility.js +0 -79
  191. package/build/esm/utilities/KeyGeneratorUtility.d.ts +0 -5
  192. package/build/esm/utilities/KeyGeneratorUtility.js +0 -6
  193. package/build/esm/utilities/importExtractor.utility.d.ts +0 -10
  194. package/build/esm/utilities/importExtractor.utility.js +0 -32
  195. package/build/esm/utilities/templateImporter.utility.d.ts +0 -4
  196. package/build/esm/utilities/templateImporter.utility.js +0 -18
  197. package/build/esm/utilities/templateItem.utility.d.ts +0 -6
  198. package/build/esm/utilities/templateItem.utility.js +0 -25
  199. package/build/index.js.map +0 -1
  200. package/build/types/templates.types.js.map +0 -1
  201. package/build/utilities/DirectoryTemplateUtility.js.map +0 -1
  202. package/build/utilities/KeyGeneratorUtility.js.map +0 -1
  203. package/build/utilities/importExtractor.utility.js.map +0 -1
  204. package/build/utilities/templateImporter.utility.js.map +0 -1
  205. package/build/utilities/templateItem.utility.js.map +0 -1
@@ -1,141 +0,0 @@
1
- import { PermissionContractMap } from '@sprucelabs/mercury-types';
2
- import { Schema, SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema';
3
- import { TemplateRenderAs } from '@sprucelabs/schema';
4
- import handlebars from 'handlebars';
5
- import { FieldDefinitions } from '#spruce/schemas/fields/fields.types';
6
- import { DirectoryTemplateCode, DirectoryTemplateContextMap, ValueTypes, SchemaBuilderTemplateItem, ErrorOptions, ErrorTemplateItem, TestOptions, EventListenerOptions, EventContractTemplateItem, EventPayloadOptions, StoreTemplateOptions, StoreTemplateItem, ViewsOptions as CombinedViewsOptions, ListenerTemplateItem } from './types/templates.types';
7
- import './addons';
8
- export declare const templates: {
9
- schemasTypes(options: {
10
- schemaTemplateItems: SchemaTemplateItem[];
11
- fieldTemplateItems: FieldTemplateItem[];
12
- valueTypes: ValueTypes;
13
- globalSchemaNamespace?: string;
14
- typesTemplate?: string;
15
- }): string;
16
- valueTypes(options: {
17
- schemaTemplateItems: SchemaTemplateItem[];
18
- fieldTemplateItems: FieldTemplateItem[];
19
- globalSchemaNamespace?: string;
20
- }): string;
21
- schema(options: SchemaTemplateItem & {
22
- schemaTemplateItems: SchemaTemplateItem[];
23
- fieldTemplateItems: FieldTemplateItem[];
24
- valueTypes: ValueTypes;
25
- globalSchemaNamespace?: string;
26
- registerBuiltSchemas: boolean;
27
- schemaFile?: string;
28
- typesFile?: string;
29
- }): string;
30
- schemaBuilder(options: SchemaBuilderTemplateItem): string;
31
- error(options: ErrorOptions): string;
32
- errorOptionsTypes(options: {
33
- options: ErrorTemplateItem[];
34
- }): string;
35
- schemaExample(options: {
36
- nameCamel: string;
37
- namePascal: string;
38
- definition: Schema;
39
- }): string;
40
- schemaPlugin(): string;
41
- errorPlugin(): string;
42
- conversationPlugin(): string;
43
- deployPlugin(): string;
44
- errorExample(options: {
45
- nameCamel: string;
46
- namePascal: string;
47
- definition: Schema;
48
- }): string;
49
- test(options: TestOptions): string;
50
- fieldsTypes(options: {
51
- fieldTemplateItems: FieldTemplateItem[];
52
- }): string;
53
- fieldClassMap(options: {
54
- fieldTemplateItems: FieldTemplateItem[];
55
- }): string;
56
- launchConfig(): string;
57
- vsCodeSettings(): Promise<string>;
58
- listener(options: EventListenerOptions): string;
59
- listeners(options: {
60
- listeners: ListenerTemplateItem[];
61
- }): string;
62
- eventContract(options: EventContractTemplateItem & {
63
- schemaTemplateItems: SchemaTemplateItem[];
64
- }): string;
65
- eventOptions(options: {
66
- isGlobal: boolean;
67
- }): string;
68
- permissionPlugin(): string;
69
- permissions(options: {
70
- contracts: {
71
- path: string;
72
- nameCamel: string;
73
- }[];
74
- }): string;
75
- permissionContractBuilder(options: {
76
- nameCamel: string;
77
- nameKebab: string;
78
- nameReadable: string;
79
- description?: string;
80
- }): string;
81
- permissionTypes(options: {
82
- contracts: PermissionContractMap;
83
- }): string;
84
- eventEmitPayload(options: EventPayloadOptions): string;
85
- eventEmitTarget(options: EventPayloadOptions): string;
86
- eventResponsePayload(options: EventPayloadOptions): string;
87
- combinedEventsContract(options: {
88
- templateItems: EventContractTemplateItem[];
89
- shouldImportCoreEvents?: boolean;
90
- skillEventContractTypesFile: string;
91
- }): string;
92
- sandboxWillBootListener(): string;
93
- polish(): string;
94
- directoryTemplate<K extends DirectoryTemplateCode>(options: {
95
- kind: K;
96
- context: DirectoryTemplateContextMap[K];
97
- }): Promise<(import("./types/templates.types").DirectoryTemplateFile & {
98
- contents: string;
99
- })[]>;
100
- isValidTemplatedDirectory(options: {
101
- kind: DirectoryTemplateCode;
102
- dir: string;
103
- }): Promise<boolean>;
104
- conversationTopic(options: {
105
- nameReadable: string;
106
- }): string;
107
- generateFieldKey(renderAs: TemplateRenderAs, definition: FieldDefinitions): string;
108
- storePlugin(): string;
109
- store(options: StoreTemplateOptions): string;
110
- storeTypes(options: {
111
- stores: StoreTemplateItem[];
112
- }): string;
113
- stores(options: {
114
- stores: StoreTemplateItem[];
115
- }): string;
116
- skillViewController(options: {
117
- namePascal: string;
118
- nameKebab: string;
119
- }): string;
120
- viewController(options: {
121
- viewModel: string;
122
- namePascal: string;
123
- nameKebab: string;
124
- }): string;
125
- appController(options: {
126
- id: string;
127
- namespacePascal: string;
128
- }): string;
129
- views(options: CombinedViewsOptions): string;
130
- viewPlugin(): string;
131
- viewControllerPlugin(options: {
132
- namePascal: string;
133
- nameCamel: string;
134
- }): string;
135
- theme(): string;
136
- logTransport(): string;
137
- };
138
- export type Templates = typeof templates;
139
- export { default as importExtractorUtil } from './utilities/importExtractor.utility';
140
- export default handlebars;
141
- export * from './types/templates.types';
@@ -1,255 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import fs from 'fs';
11
- import path from 'path';
12
- import { TemplateRenderAs } from '@sprucelabs/schema';
13
- import { SCHEMA_VERSION_FALLBACK, DEFAULT_GLOBAL_SCHEMA_NAMESPACE, DEFAULT_BUILDER_FUNCTION, DEFAULT_SCHEMA_TYPES_FILE, } from '@sprucelabs/spruce-skill-utils';
14
- import handlebars from 'handlebars';
15
- import { DirectoryTemplateCode, } from './types/templates.types';
16
- import DirectoryTemplateUtility from './utilities/DirectoryTemplateUtility';
17
- import importExtractorUtil from './utilities/importExtractor.utility';
18
- import KeyGeneratorUtility from './utilities/KeyGeneratorUtility';
19
- import templateImportUtil from './utilities/templateImporter.utility';
20
- import templateItemUtil from './utilities/templateItem.utility';
21
- // Manual import of addons for Bun
22
- import './addons';
23
- // addonUtil.importSync({}, __dirname, 'addons')
24
- export const templates = {
25
- schemasTypes(options) {
26
- var _a, _b;
27
- const imports = importExtractorUtil.extractFieldImports(options.fieldTemplateItems);
28
- const template = templateImportUtil.getTemplate((_a = options.typesTemplate) !== null && _a !== void 0 ? _a : 'schema/schemas.types.ts.hbs');
29
- const schemaImports = importExtractorUtil.extractSchemaImports(options.schemaTemplateItems);
30
- return template(Object.assign(Object.assign({}, options), { imports,
31
- schemaImports, globalSchemaNamespace: (_b = options.globalSchemaNamespace) !== null && _b !== void 0 ? _b : DEFAULT_GLOBAL_SCHEMA_NAMESPACE }));
32
- },
33
- valueTypes(options) {
34
- var _a;
35
- const imports = importExtractorUtil.extractFieldImports(options.fieldTemplateItems);
36
- const rendersAs = Object.values(TemplateRenderAs);
37
- const schemaTemplatesByNamespaceAndName = templateItemUtil.groupSchemaTemplatesByNamespaceAndName(options.schemaTemplateItems);
38
- const fieldTemplatesByType = templateItemUtil.groupFieldItemsByNamespace(options.fieldTemplateItems);
39
- const template = templateImportUtil.getTemplate('schema/valueTypes.ts.hbs');
40
- return template(Object.assign(Object.assign({}, options), { imports,
41
- fieldTemplatesByType,
42
- schemaTemplatesByNamespaceAndName,
43
- SCHEMA_VERSION_FALLBACK,
44
- rendersAs, globalSchemaNamespace: (_a = options.globalSchemaNamespace) !== null && _a !== void 0 ? _a : DEFAULT_GLOBAL_SCHEMA_NAMESPACE }));
45
- },
46
- schema(options) {
47
- var _a, _b, _c;
48
- const imports = importExtractorUtil.extractFieldImports(options.fieldTemplateItems);
49
- const template = templateImportUtil.getTemplate((_a = options.schemaFile) !== null && _a !== void 0 ? _a : 'schema/schema.ts.hbs');
50
- return template(Object.assign(Object.assign({}, options), { imports, globalSchemaNamespace: (_b = options.globalSchemaNamespace) !== null && _b !== void 0 ? _b : DEFAULT_GLOBAL_SCHEMA_NAMESPACE, typesFile: (_c = options.typesFile) !== null && _c !== void 0 ? _c : DEFAULT_SCHEMA_TYPES_FILE }));
51
- },
52
- schemaBuilder(options) {
53
- var _a;
54
- const template = templateImportUtil.getTemplate('schema/builder.ts.hbs');
55
- return template(Object.assign(Object.assign({}, options), { builderFunction: (_a = options.builderFunction) !== null && _a !== void 0 ? _a : DEFAULT_BUILDER_FUNCTION }));
56
- },
57
- error(options) {
58
- const template = templateImportUtil.getTemplate('error/SpruceError.ts.hbs');
59
- return template(Object.assign({ renderClassDefinition: true }, options));
60
- },
61
- errorOptionsTypes(options) {
62
- const template = templateImportUtil.getTemplate('error/options.types.ts.hbs');
63
- return template(options);
64
- },
65
- schemaExample(options) {
66
- const template = templateImportUtil.getTemplate('schema/example.ts.hbs');
67
- return template(options);
68
- },
69
- schemaPlugin() {
70
- const template = templateImportUtil.getTemplate('schema/schema.plugin.ts.hbs');
71
- return template({});
72
- },
73
- errorPlugin() {
74
- const template = templateImportUtil.getTemplate('error/error.plugin.ts.hbs');
75
- return template({});
76
- },
77
- conversationPlugin() {
78
- const template = templateImportUtil.getTemplate('conversation/conversation.plugin.ts.hbs');
79
- return template({});
80
- },
81
- deployPlugin() {
82
- const template = templateImportUtil.getTemplate('deploy/deploy.plugin.ts.hbs');
83
- return template({});
84
- },
85
- errorExample(options) {
86
- const template = templateImportUtil.getTemplate('error/example.ts.hbs');
87
- return template(options);
88
- },
89
- test(options) {
90
- const template = templateImportUtil.getTemplate('test/Test.test.ts.hbs');
91
- return template(options);
92
- },
93
- fieldsTypes(options) {
94
- const template = templateImportUtil.getTemplate('schema/fields/fields.types.ts.hbs');
95
- return template(options);
96
- },
97
- fieldClassMap(options) {
98
- const template = templateImportUtil.getTemplate('schema/fields/fieldClassMap.ts.hbs');
99
- return template(options);
100
- },
101
- launchConfig() {
102
- const template = templateImportUtil.getTemplate('vscode/launch.json');
103
- return template({});
104
- },
105
- vsCodeSettings() {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- const files = yield templates.directoryTemplate({
108
- kind: DirectoryTemplateCode.VsCode,
109
- context: {},
110
- });
111
- const settings = files.find((f) => f.filename === 'settings.json');
112
- return settings.contents;
113
- });
114
- },
115
- listener(options) {
116
- const template = templateImportUtil.getTemplate('event/listener.ts.hbs');
117
- return template(Object.assign(Object.assign({ globalSchemaNamespace: DEFAULT_GLOBAL_SCHEMA_NAMESPACE }, options), { shouldImportGlobalSchema: options.emitPayloadSchemaTemplateItem ||
118
- options.responsePayloadSchemaTemplateItem }));
119
- },
120
- listeners(options) {
121
- const template = templateImportUtil.getTemplate('event/listeners.ts.hbs');
122
- return template(Object.assign({}, options));
123
- },
124
- eventContract(options) {
125
- const template = templateImportUtil.getTemplate('event/event.contract.ts.hbs');
126
- return template(options);
127
- },
128
- eventOptions(options) {
129
- const template = templateImportUtil.getTemplate('event/event.options.ts.hbs');
130
- return template(Object.assign(Object.assign({}, options), { isGlobal: options.isGlobal ? 'true' : 'false' }));
131
- },
132
- permissionPlugin() {
133
- const template = templateImportUtil.getTemplate('permissions/permission.plugin.ts.hbs');
134
- return template({});
135
- },
136
- permissions(options) {
137
- const template = templateImportUtil.getTemplate('permissions/permissions.ts.hbs');
138
- return template(Object.assign({}, options));
139
- },
140
- permissionContractBuilder(options) {
141
- const template = templateImportUtil.getTemplate('permissions/contract.builder.ts.hbs');
142
- return template(options);
143
- },
144
- permissionTypes(options) {
145
- const template = templateImportUtil.getTemplate('permissions/permissions.types.ts.hbs');
146
- return template(options);
147
- },
148
- eventEmitPayload(options) {
149
- const template = templateImportUtil.getTemplate('event/payload.builder.ts.hbs');
150
- return template(Object.assign(Object.assign({}, options), { actionCamel: 'EmitPayload' }));
151
- },
152
- eventEmitTarget(options) {
153
- const template = templateImportUtil.getTemplate('event/payload.builder.ts.hbs');
154
- return template(Object.assign(Object.assign({}, options), { actionCamel: 'EmitTarget' }));
155
- },
156
- eventResponsePayload(options) {
157
- const template = templateImportUtil.getTemplate('event/payload.builder.ts.hbs');
158
- return template(Object.assign(Object.assign({}, options), { actionCamel: 'ResponsePayload' }));
159
- },
160
- combinedEventsContract(options) {
161
- const template = templateImportUtil.getTemplate('event/events.contract.ts.hbs');
162
- return template(Object.assign(Object.assign({}, options), { contracts: options.templateItems }));
163
- },
164
- sandboxWillBootListener() {
165
- const template = templateImportUtil.getTemplate('sandbox/will-boot.listener.ts.hbs');
166
- return template({});
167
- },
168
- polish() {
169
- const template = templateImportUtil.getTemplate('polish/polish.ts.hbs');
170
- return template({});
171
- },
172
- directoryTemplate(options) {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- return DirectoryTemplateUtility.build(options);
175
- });
176
- },
177
- isValidTemplatedDirectory(options) {
178
- return __awaiter(this, void 0, void 0, function* () {
179
- const { kind, dir } = options;
180
- if (kind === DirectoryTemplateCode.Skill) {
181
- return fs.existsSync(path.join(dir, 'package.json'));
182
- }
183
- const filesToCheck = yield DirectoryTemplateUtility.filesInTemplate(kind);
184
- let filesMissing = false;
185
- for (const file of filesToCheck) {
186
- if (!fs.existsSync(file.path)) {
187
- filesMissing = true;
188
- break;
189
- }
190
- }
191
- if (!filesMissing) {
192
- return true;
193
- }
194
- return false;
195
- });
196
- },
197
- conversationTopic(options) {
198
- const template = templateImportUtil.getTemplate('conversation/conversation.topic.ts.hbs');
199
- return template(options);
200
- },
201
- generateFieldKey(renderAs, definition) {
202
- return KeyGeneratorUtility.generateFieldKey(renderAs, definition);
203
- },
204
- storePlugin() {
205
- const template = templateImportUtil.getTemplate('store/store.plugin.ts.hbs');
206
- return template({});
207
- },
208
- store(options) {
209
- const template = templateImportUtil.getTemplate('store/Store.store.ts.hbs');
210
- return template(options);
211
- },
212
- storeTypes(options) {
213
- const template = templateImportUtil.getTemplate('store/stores.types.ts.hbs');
214
- return template(options);
215
- },
216
- stores(options) {
217
- const template = templateImportUtil.getTemplate('store/stores.ts.hbs');
218
- return template(options);
219
- },
220
- skillViewController(options) {
221
- const template = templateImportUtil.getTemplate('view/View.svc.ts.hbs');
222
- return template(options);
223
- },
224
- viewController(options) {
225
- const template = templateImportUtil.getTemplate('view/View.vc.ts.hbs');
226
- return template(options);
227
- },
228
- appController(options) {
229
- const template = templateImportUtil.getTemplate('view/App.ac.ts.hbs');
230
- return template(options);
231
- },
232
- views(options) {
233
- const template = templateImportUtil.getTemplate('view/views.ts.hbs');
234
- return template(options);
235
- },
236
- viewPlugin() {
237
- const template = templateImportUtil.getTemplate('view/view.plugin.ts.hbs');
238
- return template({});
239
- },
240
- viewControllerPlugin(options) {
241
- const template = templateImportUtil.getTemplate('view/viewController.plugin.ts.hbs');
242
- return template(options);
243
- },
244
- theme() {
245
- const template = templateImportUtil.getTemplate('view/skill.theme.ts.hbs');
246
- return template({});
247
- },
248
- logTransport() {
249
- const template = templateImportUtil.getTemplate('log/transport.plugin.ts.hbs');
250
- return template({});
251
- },
252
- };
253
- export { default as importExtractorUtil } from './utilities/importExtractor.utility';
254
- export default handlebars;
255
- export * from './types/templates.types';
@@ -1 +0,0 @@
1
- lts/*
@@ -1,4 +0,0 @@
1
- # [Your Skill Name]
2
-
3
- ## Useful links
4
- * [Spruce Developer Documentation: https://developer.spruce.ai](https://developer.spruce.ai)
@@ -1,3 +0,0 @@
1
- import eslintConfigSpruce from 'eslint-config-spruce'
2
-
3
- export default eslintConfigSpruce
@@ -1,15 +0,0 @@
1
- {
2
- "name": "{{name}}",
3
- "description": "{{description}}",
4
- "version": "0.0.1",
5
- "skill": {},
6
- "homepage": "https://github.com/[YOUR REPO PATH]",
7
- "bugs": {
8
- "url": "https://github.com/[YOUR REPO PATH]/issues"
9
- },
10
- "keywords": [],
11
- "scripts": {},
12
- "dependencies": {},
13
- "devDependencies": {
14
- }
15
- }
@@ -1,6 +0,0 @@
1
- interface ErrorOptions {
2
- code: 'NO_ERRORS_CREATED'
3
- friendlyMessage?: string
4
- }
5
-
6
- export default ErrorOptions
@@ -1 +0,0 @@
1
- export { plugin as default } from '@sprucelabs/spruce-event-plugin'
@@ -1,8 +0,0 @@
1
- import pathUtil from 'path'
2
- import Skill from '@sprucelabs/spruce-skill-booter'
3
-
4
- export default new Skill({
5
- rootDir: pathUtil.join(__dirname, '..', '..'),
6
- activeDir: pathUtil.join(__dirname, '..'),
7
- hashSpruceDir: pathUtil.join(__dirname, '..', '.spruce'),
8
- })
@@ -1,20 +0,0 @@
1
- import AbstractSpruceError from '@sprucelabs/error'
2
- import ErrorOptions from '#spruce/errors/options.types'
3
-
4
- export default class SpruceError extends AbstractSpruceError<ErrorOptions> {
5
- public friendlyMessage(): string {
6
- const { options } = this
7
- let message
8
-
9
- switch (options?.code) {
10
- default:
11
- message = super.friendlyMessage()
12
- }
13
-
14
- const fullMessage = options.friendlyMessage
15
- ? options.friendlyMessage
16
- : message
17
-
18
- return fullMessage
19
- }
20
- }
@@ -1,35 +0,0 @@
1
- // AUTO-GENERATED. ALL CHANGES WILL BE OVERWRITTEN
2
- import AbstractSpruceError from '@sprucelabs/error'
3
- import {
4
- HEALTH_DIVIDER,
5
- ERROR_DIVIDER,
6
- pluginUtil,
7
- } from '@sprucelabs/spruce-skill-utils'
8
- // @ts-ignore
9
- import skill from '#spruce/skill'
10
-
11
- const isHealthCheck = !!process.argv.find((arg) => arg === '--health')
12
-
13
- async function run() {
14
- await pluginUtil.import([skill], skill.hashSpruceDir)
15
-
16
- if (isHealthCheck) {
17
- const health = await skill.checkHealth()
18
- console.log(HEALTH_DIVIDER)
19
- console.log(JSON.stringify(health))
20
- console.log(HEALTH_DIVIDER)
21
- } else {
22
- await skill.execute()
23
- }
24
- }
25
-
26
- run()
27
- .then(() => {})
28
- .catch((err) => {
29
- if (err instanceof AbstractSpruceError && process.env.IS_CLI) {
30
- console.error(ERROR_DIVIDER + err.toJson() + ERROR_DIVIDER)
31
- } else {
32
- console.error(err.stack ?? err.message)
33
- }
34
- process.exit(1)
35
- })
@@ -1,39 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "skipLibCheck": true,
4
- "module": "commonjs",
5
- "esModuleInterop": true,
6
- "target": "ES2020",
7
- "lib": [
8
- "DOM",
9
- "ES2022"
10
- ],
11
- "declaration": true,
12
- "noImplicitAny": true,
13
- "allowJs": true,
14
- "forceConsistentCasingInFileNames": true,
15
- "noImplicitReturns": true,
16
- "strict": true,
17
- "noUnusedLocals": true,
18
- "resolveJsonModule": true,
19
- "moduleResolution": "node",
20
- "sourceMap": false,
21
- "outDir": "build",
22
- "baseUrl": "src",
23
- "experimentalDecorators": true,
24
- "paths": {
25
- "#spruce/*": [
26
- ".spruce/*"
27
- ]
28
- }
29
- },
30
- "include": [
31
- "./src/*.ts",
32
- "./src/**/*.ts",
33
- "./src/.spruce/**/*"
34
- ],
35
- "exclude": [
36
- "build",
37
- "esm"
38
- ]
39
- }
@@ -1,58 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "type": "node",
6
- "request": "attach",
7
- "name": "attach.tests",
8
- "port": 5200,
9
- "restart": true,
10
- "timeout": 10000
11
- },
12
- {
13
- "type": "node",
14
- "request": "launch",
15
- "name": "test.file",
16
- "runtimeExecutable": "node",
17
- "runtimeArgs": [
18
- "--inspect-brk",
19
- "--trace-warnings",
20
- "${workspaceFolder}/node_modules/.bin/jest",
21
- "${fileBasenameNoExtension}",
22
- "--detectOpenHandles"
23
- ],
24
- "cwd": "${workspaceFolder}",
25
- "console": "integratedTerminal",
26
- "internalConsoleOptions": "neverOpen"
27
- },
28
- {
29
- "type": "node",
30
- "request": "launch",
31
- "name": "test.all",
32
- "runtimeExecutable": "node",
33
- "runtimeArgs": [
34
- "--inspect-brk",
35
- "--trace-warnings",
36
- "${workspaceFolder}/node_modules/.bin/jest"
37
- ],
38
- "cwd": "${workspaceFolder}",
39
- "console": "integratedTerminal",
40
- "internalConsoleOptions": "neverOpen"
41
- },
42
- {
43
- "type": "node",
44
- "request": "launch",
45
- "name": "boot",
46
- "runtimeExecutable": "yarn",
47
- "runtimeArgs": [
48
- "run",
49
- "--inspect-brk",
50
- "--trace-warnings",
51
- "boot"
52
- ],
53
- "cwd": "${workspaceFolder}",
54
- "console": "integratedTerminal",
55
- "internalConsoleOptions": "neverOpen"
56
- }
57
- ]
58
- }
@@ -1,67 +0,0 @@
1
- {
2
- "debug.node.autoAttach": "on",
3
- "git.ignoreLimitWarning": true,
4
- "javascript.validate.enable": false,
5
- "files.watcherExclude": {
6
- "**/.git/objects/**": true,
7
- "**/.git/subtree-cache/**": true,
8
- "**/build/**": true,
9
- "**/node_modules/**": true,
10
- },
11
- "search.exclude": {
12
- "**/build/**": true,
13
- "**/node_modules/**": true,
14
- "**/.next/**": true
15
- },
16
- "editor.maxTokenizationLineLength": 20000000,
17
- "[javascript]": {
18
- "editor.formatOnSave": false
19
- },
20
- "[javascriptreact]": {
21
- "editor.formatOnSave": false
22
- },
23
- "[typescript]": {
24
- "editor.formatOnSave": false
25
- },
26
- "[typescriptreact]": {
27
- "editor.formatOnSave": false
28
- },
29
- "[handlebars]": {
30
- "editor.formatOnSave": false
31
- },
32
- "typescript.tsdk": "node_modules/typescript/lib",
33
- "cSpell.ignorePaths": [
34
- "**/package-lock.json",
35
- "**/node_modules/**",
36
- "**/build/**",
37
- "**/vscode-extension/**",
38
- "**/.git/objects/**",
39
- ".vscode",
40
- ".spruce"
41
- ],
42
- "cSpell.words": [
43
- "arkit",
44
- "autogenerated",
45
- "scrollable",
46
- "serializable"
47
- ],
48
- "debug.javascript.unmapMissingSources": true,
49
- "javascript.preferences.importModuleSpecifier": "relative",
50
- "typescript.preferences.importModuleSpecifier": "relative",
51
- "eslint.useFlatConfig": true,
52
- "eslint.enable": true,
53
- "eslint.validate": [
54
- "javascript",
55
- "javascriptreact",
56
- "typescript",
57
- "typescriptreact"
58
- ],
59
- "eslint.workingDirectories": [
60
- "./"
61
- ],
62
- "typescript.validate.enable": true,
63
- "editor.formatOnSave": false,
64
- "editor.codeActionsOnSave": {
65
- "source.fixAll.eslint": "always"
66
- }
67
- }