@sprucelabs/spruce-cli 16.0.0 → 17.0.2

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,34 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [17.0.2](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v17.0.1...v17.0.2) (2022-05-28)
7
+
8
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
9
+
10
+
11
+
12
+
13
+
14
+ ## [17.0.1](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v17.0.0...v17.0.1) (2022-05-26)
15
+
16
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
17
+
18
+
19
+
20
+
21
+
22
+ # [17.0.0](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v16.0.0...v17.0.0) (2022-05-24)
23
+
24
+
25
+ ### Breaking Changes
26
+
27
+ * upgrade ([43df2f5](https://github.com/sprucelabsai/spruce-cli-workspace/commit/43df2f5))
28
+ * upgrade ([02ccd4a](https://github.com/sprucelabsai/spruce-cli-workspace/commit/02ccd4a))
29
+
30
+
31
+
32
+
33
+
6
34
  # [16.0.0](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v15.4.12...v16.0.0) (2022-05-24)
7
35
 
8
36
 
@@ -33,7 +33,7 @@ export default abstract class AbstractAction<S extends Schema = Schema> implemen
33
33
  protected Writer<C extends WriterCode>(code: C, options?: Partial<WriterOptions>): WriterMap[C];
34
34
  protected getFeature<C extends FeatureCode>(code: C): import("./features.types").FeatureMap[C];
35
35
  protected getFeatureCodes(): FeatureCode[];
36
- protected validateAndNormalizeOptions(options: SchemaPartialValues<S>): { [K in keyof import("@sprucelabs/schema").SchemaValuesWithDefaults<S>]: Exclude<import("@sprucelabs/schema").SchemaValuesWithDefaults<S>[K], null>; };
36
+ protected validateAndNormalizeOptions(options: SchemaPartialValues<S>): import("@sprucelabs/schema").SchemaValuesWithDefaults<S> extends infer T ? { [K in keyof T]: Exclude<import("@sprucelabs/schema").SchemaValuesWithDefaults<S>[K], null>; } : never;
37
37
  protected resolveVersion(userSuppliedVersion: string | null | undefined, resolvedDestination: string): Promise<string>;
38
38
  private askForVersionIfTodaysVersionDoesNotExist;
39
39
  protected connectToApi(options?: ApiClientFactoryOptions): Promise<ApiClient>;
@@ -15,7 +15,7 @@ export declare const coreSchemas: {
15
15
  messageSourceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageSourceSchema;
16
16
  messageTargetSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageTargetSchema;
17
17
  sendMessageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SendMessageSchema;
18
- choicesSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.ChoicesSchema;
18
+ choiceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.ChoiceSchema;
19
19
  linkSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.LinkSchema;
20
20
  };
21
21
  export interface SchemasByNamespace {
@@ -66,7 +66,7 @@ var coreSchemas = {
66
66
  messageSourceSchema: _spruceCoreSchemas.messageSourceSchema,
67
67
  messageTargetSchema: _spruceCoreSchemas.messageTargetSchema,
68
68
  sendMessageSchema: _spruceCoreSchemas.sendMessageSchema,
69
- choicesSchema: _spruceCoreSchemas.choicesSchema,
69
+ choiceSchema: _spruceCoreSchemas.choiceSchema,
70
70
  linkSchema: _spruceCoreSchemas.linkSchema
71
71
  };
72
72
  exports.coreSchemas = coreSchemas;
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaStore.js","names":["coreSchemas","personSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","choicesSchema","linkSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","normalizeSchemaToIdWithVersion","match","find","s","isEqual","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","globby","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","uniqBy","filter","addon","fields","AbstractStore"],"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tchoicesSchema,\n\tlinkSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tchoicesSchema,\n\tlinkSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaStore.js","names":["coreSchemas","personSchema","skillSchema","skillCreatorSchema","locationSchema","organizationSchema","personOrganizationSchema","personLocationSchema","roleSchema","messageSchema","messageSourceSchema","messageTargetSchema","sendMessageSchema","choiceSchema","linkSchema","DEFAULT_LOCAL_SCHEMA_DIR","SchemaStore","options","localSchemaLookupDir","localSchemaDir","shouldFetchLocalSchemas","shouldFetchRemoteSchemas","shouldEnableVersioning","localNamespace","shouldFetchCoreSchemas","didUpdateHandler","moduleToImportFromWhenRemote","results","errors","schemasByNamespace","CORE_NAMESPACE","Object","values","map","schema","namespace","loadLocalSchemas","locals","schemas","forEach","local","push","emitDidFetchSchemasAndMixinResults","emitter","emit","remoteResults","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","payloads","length","payload","mixinSchemaOrThrowIfExists","idWithVersion","normalizeSchemaToIdWithVersion","match","find","s","isEqual","globbyLocalBuilders","matches","localLookupDir","localMatches","importer","Service","bulkImport","imported","c","version","resolveLocalVersion","prepareLocalSchema","err","code","file","originalError","globby","diskUtil","resolvePath","cwd","undefined","versionUtil","extractVersion","constValue","friendlyMessage","generateVersion","dirValue","SchemaError","schemaId","id","localAddonsDir","coreAddons","fieldRegistrations","registration","isLocal","localErrors","Promise","pathUtil","join","importService","importDefault","path","all","localAddons","allFields","uniqBy","filter","addon","fields","AbstractStore"],"sources":["../../../../src/features/schema/stores/SchemaStore.ts"],"sourcesContent":["import pathUtil from 'path'\nimport {\n\tSchema,\n\tFieldRegistration,\n\tfieldRegistrations,\n\tnormalizeSchemaToIdWithVersion,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport {\n\tpersonSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tchoiceSchema,\n\tlinkSchema,\n} from '@sprucelabs/spruce-core-schemas'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { versionUtil } from '@sprucelabs/spruce-skill-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport globby from 'globby'\nimport { isEqual, uniqBy } from 'lodash'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { InternalUpdateHandler } from '../../../types/cli.types'\n\nexport const coreSchemas = {\n\tpersonSchema,\n\tskillSchema,\n\tskillCreatorSchema,\n\tlocationSchema,\n\torganizationSchema,\n\tpersonOrganizationSchema,\n\tpersonLocationSchema,\n\troleSchema,\n\tmessageSchema,\n\tmessageSourceSchema,\n\tmessageTargetSchema,\n\tsendMessageSchema,\n\tchoiceSchema,\n\tlinkSchema,\n}\n\ninterface AddonItem {\n\tpath: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\nexport interface SchemasByNamespace {\n\t[namespace: string]: Schema[]\n}\n\ninterface FetchSchemasResults {\n\tschemasByNamespace: SchemasByNamespace\n\terrors: SpruceError[]\n}\nexport interface FetchedField {\n\tpath?: string\n\tregistration: FieldRegistration\n\tisLocal: boolean\n}\n\ninterface FetchFieldsResults {\n\terrors: SpruceError[]\n\tfields: FetchedField[]\n}\n\nconst DEFAULT_LOCAL_SCHEMA_DIR = 'src/schemas'\n\nexport default class SchemaStore extends AbstractStore {\n\tpublic readonly name = 'schema'\n\n\tpublic async fetchSchemas(options: {\n\t\tlocalSchemaLookupDir?: string\n\t\tshouldFetchRemoteSchemas?: boolean\n\t\tshouldEnableVersioning?: boolean\n\t\tlocalNamespace: string\n\t\tshouldFetchCoreSchemas?: boolean\n\t\tmoduleToImportFromWhenRemote?: string\n\t\tshouldFetchLocalSchemas?: boolean\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t}): Promise<FetchSchemasResults> {\n\t\tconst {\n\t\t\tlocalSchemaLookupDir: localSchemaDir = DEFAULT_LOCAL_SCHEMA_DIR,\n\t\t\tshouldFetchLocalSchemas = true,\n\t\t\tshouldFetchRemoteSchemas = true,\n\t\t\tshouldEnableVersioning = true,\n\t\t\tlocalNamespace,\n\t\t\tshouldFetchCoreSchemas = true,\n\t\t\tdidUpdateHandler,\n\t\t\tmoduleToImportFromWhenRemote,\n\t\t} = options || {}\n\n\t\tconst results: FetchSchemasResults = {\n\t\t\terrors: [],\n\t\t\tschemasByNamespace: {},\n\t\t}\n\n\t\tif (shouldFetchCoreSchemas) {\n\t\t\tresults.schemasByNamespace[CORE_NAMESPACE] = Object.values(\n\t\t\t\tcoreSchemas\n\t\t\t).map((schema) => ({\n\t\t\t\t...schema,\n\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t}))\n\t\t}\n\n\t\tif (shouldFetchLocalSchemas) {\n\t\t\tconst locals = await this.loadLocalSchemas(\n\t\t\t\tlocalSchemaDir,\n\t\t\t\tlocalNamespace,\n\t\t\t\tshouldEnableVersioning,\n\t\t\t\tdidUpdateHandler\n\t\t\t)\n\n\t\t\tif (moduleToImportFromWhenRemote) {\n\t\t\t\tlocals.schemas.forEach((local) => {\n\t\t\t\t\tlocal.moduleToImportFromWhenRemote = moduleToImportFromWhenRemote\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tresults.schemasByNamespace[localNamespace] = locals.schemas\n\t\t\tresults.errors.push(...locals.errors)\n\t\t}\n\n\t\tif (shouldFetchRemoteSchemas) {\n\t\t\tawait this.emitDidFetchSchemasAndMixinResults(localNamespace, results)\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprivate async emitDidFetchSchemasAndMixinResults(\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst schemas: Schema[] = []\n\t\tfor (const namespace in results.schemasByNamespace) {\n\t\t\tschemas.push(...results.schemasByNamespace[namespace])\n\t\t}\n\n\t\tconst remoteResults = await this.emitter.emit('schema.did-fetch-schemas', {\n\t\t\tschemas,\n\t\t})\n\n\t\tconst { payloads, errors } =\n\t\t\teventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\t\tremoteResults,\n\t\t\t\tSpruceError\n\t\t\t)\n\n\t\tif (errors && errors.length > 0) {\n\t\t\tresults.errors.push(...errors)\n\t\t} else {\n\t\t\tpayloads.forEach((payload) => {\n\t\t\t\tpayload?.schemas?.forEach((schema: Schema) => {\n\t\t\t\t\tthis.mixinSchemaOrThrowIfExists(schema, localNamespace, results)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate mixinSchemaOrThrowIfExists(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tresults: FetchSchemasResults\n\t) {\n\t\tconst namespace = schema.namespace ?? localNamespace\n\n\t\tif (!results.schemasByNamespace[namespace]) {\n\t\t\tresults.schemasByNamespace[namespace] = []\n\t\t}\n\n\t\tconst idWithVersion = normalizeSchemaToIdWithVersion(schema)\n\t\tconst match = results.schemasByNamespace[namespace].find((s) =>\n\t\t\tisEqual(normalizeSchemaToIdWithVersion(s), idWithVersion)\n\t\t)\n\n\t\tif (!match) {\n\t\t\tresults.schemasByNamespace[namespace].push(schema)\n\t\t}\n\t}\n\n\tpublic async hasLocalSchemas() {\n\t\tconst matches = await this.globbyLocalBuilders(DEFAULT_LOCAL_SCHEMA_DIR)\n\t\treturn matches.length > 0\n\t}\n\n\tprivate async loadLocalSchemas(\n\t\tlocalLookupDir: string,\n\t\tlocalNamespace: string,\n\t\tshouldEnableVersioning?: boolean,\n\t\tdidUpdateHandler?: InternalUpdateHandler\n\t) {\n\t\tconst localMatches = await this.globbyLocalBuilders(localLookupDir)\n\n\t\tconst errors: SpruceError[] = []\n\t\tconst schemas: Schema[] = []\n\n\t\tdidUpdateHandler?.(\n\t\t\t`Starting import of ${localMatches.length} schema builders...`\n\t\t)\n\n\t\ttry {\n\t\t\tconst importer = this.Service('import')\n\t\t\tconst imported = await importer.bulkImport(localMatches)\n\n\t\t\tfor (let c = 0; c < localMatches.length; c++) {\n\t\t\t\ttry {\n\t\t\t\t\tconst local = localMatches[c]\n\t\t\t\t\tlet schema = imported[c]\n\n\t\t\t\t\tlet version: undefined | string = this.resolveLocalVersion(\n\t\t\t\t\t\tshouldEnableVersioning,\n\t\t\t\t\t\tlocal,\n\t\t\t\t\t\terrors\n\t\t\t\t\t)\n\t\t\t\t\tif (version || shouldEnableVersioning === false) {\n\t\t\t\t\t\tschema = this.prepareLocalSchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tlocalNamespace,\n\t\t\t\t\t\t\tversion,\n\t\t\t\t\t\t\tdidUpdateHandler\n\t\t\t\t\t\t)\n\t\t\t\t\t\tschemas.push(schema)\n\t\t\t\t\t}\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\terrors.push(\n\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'SCHEMA_FAILED_TO_IMPORT',\n\t\t\t\tfile: err?.options?.file ?? '**UNKNOWN**',\n\t\t\t\toriginalError: err?.originalError ?? err,\n\t\t\t})\n\t\t}\n\n\t\treturn {\n\t\t\tschemas,\n\t\t\terrors,\n\t\t}\n\t}\n\n\tprivate async globbyLocalBuilders(localLookupDir: string) {\n\t\treturn await globby(\n\t\t\tdiskUtil.resolvePath(this.cwd, localLookupDir, '**/*.builder.[t|j]s')\n\t\t)\n\t}\n\n\tprivate resolveLocalVersion(\n\t\tshouldEnableVersioning: boolean | undefined,\n\t\tlocal: string,\n\t\terrors: SpruceError[]\n\t) {\n\t\tlet version: undefined | string\n\n\t\ttry {\n\t\t\tversion =\n\t\t\t\tshouldEnableVersioning === false\n\t\t\t\t\t? undefined\n\t\t\t\t\t: versionUtil.extractVersion(this.cwd, local).constValue\n\t\t} catch (err) {\n\t\t\terrors.push(\n\t\t\t\tnew SpruceError({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcode: 'VERSION_MISSING',\n\t\t\t\t\tfriendlyMessage: `It looks like your schema's are not versioned. Make sure schemas are in a directory like src/schemas/${\n\t\t\t\t\t\tversionUtil.generateVersion().dirValue\n\t\t\t\t\t}/*.ts`,\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t\treturn version\n\t}\n\n\tprivate prepareLocalSchema(\n\t\tschema: Schema,\n\t\tlocalNamespace: string,\n\t\tversion: string | undefined,\n\t\tdidUpdateHandler: InternalUpdateHandler | undefined\n\t) {\n\t\tlet errors: string[] = []\n\n\t\tif (schema.version) {\n\t\t\terrors.push('version_should_not_be_set')\n\t\t}\n\n\t\tif (schema.namespace) {\n\t\t\terrors.push('namespace_should_not_be_set')\n\t\t}\n\n\t\tschema.namespace = localNamespace\n\n\t\tif (errors.length > 0) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_SCHEMA',\n\t\t\t\tschemaId: schema.id,\n\t\t\t\terrors,\n\t\t\t\tfriendlyMessage:\n\t\t\t\t\t'You should not set a namespace nor version in your schema builder.',\n\t\t\t})\n\t\t}\n\n\t\tschema.version = version\n\n\t\tdidUpdateHandler?.(`Imported ${schema.id} builder.`)\n\n\t\treturn schema\n\t}\n\n\tpublic async fetchFields(options?: {\n\t\tlocalAddonsDir?: string\n\t}): Promise<FetchFieldsResults> {\n\t\tconst { localAddonsDir } = options || {}\n\n\t\tconst coreAddons = fieldRegistrations.map((registration) => {\n\t\t\treturn {\n\t\t\t\tregistration,\n\t\t\t\tisLocal: false,\n\t\t\t}\n\t\t})\n\n\t\tconst localErrors: SpruceError[] = []\n\n\t\tconst localAddons = !localAddonsDir\n\t\t\t? []\n\t\t\t: await Promise.all(\n\t\t\t\t\t(\n\t\t\t\t\t\tawait globby([\n\t\t\t\t\t\t\tpathUtil.join(localAddonsDir, '/*Field.addon.[t|j]s'),\n\t\t\t\t\t\t])\n\t\t\t\t\t).map(async (file: string) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst importService = this.Service('import')\n\t\t\t\t\t\t\tconst registration =\n\t\t\t\t\t\t\t\tawait importService.importDefault<FieldRegistration>(file)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpath: file,\n\t\t\t\t\t\t\t\tregistration,\n\t\t\t\t\t\t\t\tisLocal: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err: any) {\n\t\t\t\t\t\t\tlocalErrors.push(\n\t\t\t\t\t\t\t\tnew SpruceError({\n\t\t\t\t\t\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\t\t\toriginalError: err,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t )\n\n\t\tconst allFields = uniqBy(\n\t\t\t[\n\t\t\t\t...coreAddons,\n\t\t\t\t...(localAddons.filter((addon) => !!addon) as AddonItem[]),\n\t\t\t],\n\t\t\t'registration.type'\n\t\t)\n\n\t\treturn {\n\t\t\tfields: allFields,\n\t\t\terrors: localErrors,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { SpawnOptions } from 'child_process';
3
4
  import { Writable } from 'stream';
4
5
  interface MockResponse {
@@ -2,7 +2,7 @@ import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas';
2
2
  import { ApiClientFactoryOptions } from '../types/apiClient.types';
3
3
  declare type Skill = SpruceSchemas.Spruce.v2020_07_22.Skill;
4
4
  declare const apiClientUtil: {
5
- generateClientCacheKey: (options?: ApiClientFactoryOptions | undefined) => string;
5
+ generateClientCacheKey: (options?: ApiClientFactoryOptions) => string;
6
6
  skillOrAuthToAuth(auth: ApiClientFactoryOptions | Skill): {
7
7
  skillId: string;
8
8
  apiKey: string | null | undefined;
@@ -1,6 +1,6 @@
1
1
  import { BaseWidget, WidgetFrame } from '../types/widgets.types';
2
2
  declare const termKitUtil: {
3
- buildFrame(frame: Partial<WidgetFrame>, parent?: BaseWidget<any> | null | undefined): {
3
+ buildFrame(frame: Partial<WidgetFrame>, parent?: BaseWidget | null): {
4
4
  x: number | undefined;
5
5
  y: number | undefined;
6
6
  width: number | undefined;
@@ -1,5 +1,5 @@
1
1
  import { BaseWidget, WidgetFrame, WidgetFrameCalculated } from './types/widgets.types';
2
2
  declare const widgetUtil: {
3
- buildFrame(frame?: Partial<WidgetFrame> | undefined, parent?: BaseWidget<any> | null | undefined): Partial<WidgetFrameCalculated>;
3
+ buildFrame(frame?: Partial<WidgetFrame>, parent?: BaseWidget | null): Partial<WidgetFrameCalculated>;
4
4
  };
5
5
  export default widgetUtil;
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  },
20
20
  "license": "MIT",
21
- "version": "16.0.0",
21
+ "version": "17.0.2",
22
22
  "bin": {
23
23
  "spruce": "./build/index.js"
24
24
  },
@@ -73,30 +73,30 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@babel/cli": "^7.17.10",
76
- "@babel/plugin-proposal-decorators": "^7.17.12",
77
- "@babel/runtime": "^7.18.0",
76
+ "@babel/plugin-proposal-decorators": "^7.18.2",
77
+ "@babel/runtime": "^7.18.3",
78
78
  "@jest/reporters": "^28.1.0",
79
- "@sprucelabs/error": "^5.0.459",
80
- "@sprucelabs/heartwood-view-controllers": "^73.0.0",
81
- "@sprucelabs/jest-json-reporter": "^6.0.387",
82
- "@sprucelabs/mercury-client": "^24.0.44",
83
- "@sprucelabs/mercury-event-emitter": "^25.0.0",
84
- "@sprucelabs/mercury-types": "^29.0.0",
85
- "@sprucelabs/schema": "^28.2.14",
86
- "@sprucelabs/spruce-core-schemas": "^28.0.2",
87
- "@sprucelabs/spruce-event-plugin": "^32.0.0",
88
- "@sprucelabs/spruce-event-utils": "^20.1.52",
89
- "@sprucelabs/spruce-skill-booter": "^32.0.0",
90
- "@sprucelabs/spruce-skill-utils": "^26.0.39",
91
- "@sprucelabs/spruce-templates": "^16.0.0",
79
+ "@sprucelabs/error": "^5.0.460",
80
+ "@sprucelabs/heartwood-view-controllers": "^77.0.3",
81
+ "@sprucelabs/jest-json-reporter": "^6.0.388",
82
+ "@sprucelabs/mercury-client": "^26.0.12",
83
+ "@sprucelabs/mercury-event-emitter": "^26.0.12",
84
+ "@sprucelabs/mercury-types": "^30.0.8",
85
+ "@sprucelabs/schema": "^28.2.16",
86
+ "@sprucelabs/spruce-core-schemas": "^29.1.10",
87
+ "@sprucelabs/spruce-event-plugin": "^33.2.2",
88
+ "@sprucelabs/spruce-event-utils": "^21.0.9",
89
+ "@sprucelabs/spruce-skill-booter": "^33.2.2",
90
+ "@sprucelabs/spruce-skill-utils": "^26.0.41",
91
+ "@sprucelabs/spruce-templates": "^17.0.2",
92
92
  "@typescript-eslint/eslint-plugin": "^5.26.0",
93
93
  "@typescript-eslint/parser": "^5.26.0",
94
- "cfonts": "^2.10.1",
94
+ "cfonts": "^3.0.0",
95
95
  "chalk": "4.1.2",
96
96
  "chokidar": "^3.5.3",
97
97
  "cli-table3": "^0.6.2",
98
98
  "commander": "7.2.0",
99
- "core-js": "^3.22.6",
99
+ "core-js": "^3.22.7",
100
100
  "emphasize": "4.2.0",
101
101
  "fs-extra": "^10.1.0",
102
102
  "gifwrap": "^0.10.1",
@@ -119,16 +119,16 @@
119
119
  "uuid": "^8.3.2"
120
120
  },
121
121
  "devDependencies": {
122
- "@sprucelabs/data-stores": "^12.0.0",
122
+ "@sprucelabs/data-stores": "^12.0.11",
123
123
  "@sprucelabs/jest-sheets-reporter": "^1.3.44",
124
- "@sprucelabs/mercury-core-events": "^5.0.0",
125
- "@sprucelabs/resolve-path-aliases": "^1.1.49",
126
- "@sprucelabs/spruce-conversation-plugin": "^32.0.0",
127
- "@sprucelabs/spruce-deploy-plugin": "^32.0.0",
128
- "@sprucelabs/spruce-store-plugin": "^32.0.0",
129
- "@sprucelabs/spruce-test-fixtures": "^32.0.0",
130
- "@sprucelabs/test": "^7.7.317",
131
- "@sprucelabs/test-utils": "^3.0.555",
124
+ "@sprucelabs/mercury-core-events": "^6.1.11",
125
+ "@sprucelabs/resolve-path-aliases": "^1.1.50",
126
+ "@sprucelabs/spruce-conversation-plugin": "^33.2.2",
127
+ "@sprucelabs/spruce-deploy-plugin": "^33.2.2",
128
+ "@sprucelabs/spruce-store-plugin": "^33.2.2",
129
+ "@sprucelabs/spruce-test-fixtures": "^33.2.2",
130
+ "@sprucelabs/test": "^7.7.318",
131
+ "@sprucelabs/test-utils": "^3.0.556",
132
132
  "@types/blessed": "^0.1.19",
133
133
  "@types/eslint": "^8.4.2",
134
134
  "@types/fs-extra": "^9.0.13",
@@ -146,7 +146,7 @@
146
146
  "@types/sha1": "^1.1.3",
147
147
  "@types/slug": "^5.0.3",
148
148
  "@types/superagent": "^4.1.15",
149
- "@types/terminal-kit": "^1.28.4",
149
+ "@types/terminal-kit": "^1.34.0",
150
150
  "@types/uuid": "^8.3.4",
151
151
  "chokidar-cli": "^3.0.0",
152
152
  "concurrently": "^7.2.1",
@@ -166,7 +166,7 @@
166
166
  "ts-node": "^10.8.0",
167
167
  "tsc-watch": "^5.0.3",
168
168
  "tsconfig-paths": "^4.0.0",
169
- "typescript": "^4.6.4"
169
+ "typescript": "^4.7.2"
170
170
  },
171
171
  "testSkillCache": {
172
172
  "everything": [
@@ -597,5 +597,5 @@
597
597
  "terminal-kit"
598
598
  ]
599
599
  },
600
- "gitHead": "ac743f9de61c8a04a59e24abb2bd97953da3a13f"
600
+ "gitHead": "ef067427f7c0a2bff004b031e6f8ec0a85a4fd15"
601
601
  }
@@ -19,7 +19,7 @@ import {
19
19
  messageSourceSchema,
20
20
  messageTargetSchema,
21
21
  sendMessageSchema,
22
- choicesSchema,
22
+ choiceSchema,
23
23
  linkSchema,
24
24
  } from '@sprucelabs/spruce-core-schemas'
25
25
  import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'
@@ -45,7 +45,7 @@ export const coreSchemas = {
45
45
  messageSourceSchema,
46
46
  messageTargetSchema,
47
47
  sendMessageSchema,
48
- choicesSchema,
48
+ choiceSchema,
49
49
  linkSchema,
50
50
  }
51
51