@sprucelabs/spruce-cli
Version:
Command line interface for building Spruce skills.
59 lines (58 loc) • 3.1 kB
TypeScript
import { Schema, FieldRegistration } from '@sprucelabs/schema';
import SpruceError from '../../../errors/SpruceError';
import AbstractStore from '../../../stores/AbstractStore';
import { InternalUpdateHandler } from '../../../types/cli.types';
export declare const coreSchemas: {
personSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.PersonSchema;
skillSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SkillSchema;
skillCreatorSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema;
locationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.LocationSchema;
organizationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema;
personOrganizationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.PersonOrganizationSchema;
personLocationSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.PersonLocationSchema;
roleSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.RoleSchema;
messageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageSchema;
messageSourceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageSourceSchema;
messageTargetSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.MessageTargetSchema;
sendMessageSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.SendMessageSchema;
choiceSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.ChoiceSchema;
linkSchema: import("@sprucelabs/spruce-core-schemas").SpruceSchemas.Spruce.v2020_07_22.LinkSchema;
};
export type SchemasByNamespace = Record<string, Schema[]>;
interface FetchSchemasResults {
schemasByNamespace: SchemasByNamespace;
errors: SpruceError[];
}
export interface FetchedField {
path?: string;
registration: FieldRegistration;
isLocal: boolean;
}
interface FetchFieldsResults {
errors: SpruceError[];
fields: FetchedField[];
}
export default class SchemaStore extends AbstractStore {
readonly name = "schema";
fetchSchemas(options: {
localSchemaLookupDir?: string;
shouldFetchRemoteSchemas?: boolean;
shouldEnableVersioning?: boolean;
localNamespace: string;
shouldFetchCoreSchemas?: boolean;
moduleToImportFromWhenRemote?: string;
shouldFetchLocalSchemas?: boolean;
didUpdateHandler?: InternalUpdateHandler;
}): Promise<FetchSchemasResults>;
private emitDidFetchSchemasAndMixinResults;
private mixinSchemaOrThrowIfExists;
hasLocalSchemas(): Promise<boolean>;
private loadLocalSchemas;
private globbyLocalBuilders;
private resolveLocalVersion;
private prepareLocalSchema;
fetchFields(options?: {
localAddonsDir?: string;
}): Promise<FetchFieldsResults>;
}
export {};