UNPKG

@sprucelabs/spruce-templates

Version:

Templates used for code generation in skills!

152 lines (151 loc) 5.35 kB
import { PermissionContractMap } from '@sprucelabs/mercury-types'; import { Schema, SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema'; import { TemplateRenderAs } from '@sprucelabs/schema'; import handlebars from 'handlebars'; import { FieldDefinitions } from '#spruce/schemas/fields/fields.types'; import { DirectoryTemplateCode, DirectoryTemplateContextMap, ValueTypes, SchemaBuilderTemplateItem, ErrorOptions, ErrorTemplateItem, TestOptions, EventListenerOptions, EventContractTemplateItem, EventPayloadOptions, StoreTemplateOptions, StoreTemplateItem, ViewsOptions as CombinedViewsOptions, ListenerTemplateItem } from './types/templates.types'; import './addons'; export declare const templates: { schemasTypes(options: { schemaTemplateItems: SchemaTemplateItem[]; fieldTemplateItems: FieldTemplateItem[]; valueTypes?: ValueTypes; globalSchemaNamespace?: string; typesTemplate?: string; language: "typescript" | "go"; }): string; valueTypes(options: { schemaTemplateItems: SchemaTemplateItem[]; fieldTemplateItems: FieldTemplateItem[]; globalSchemaNamespace?: string; }): string; schema(options: SchemaTemplateItem & { schemaTemplateItems: SchemaTemplateItem[]; fieldTemplateItems: FieldTemplateItem[]; valueTypes: ValueTypes; globalSchemaNamespace?: string; registerBuiltSchemas: boolean; schemaFile?: string; goModuleNameAndPath?: string; typesFile?: string; language: "typescript" | "go"; }): string; schemaBuilder(options: SchemaBuilderTemplateItem): string; error(options: ErrorOptions): string; errorOptionsTypes(options: { options: ErrorTemplateItem[]; }): string; schemaExample(options: { nameCamel: string; namePascal: string; definition: Schema; }): string; schemaPlugin(): string; errorPlugin(): string; conversationPlugin(): string; deployPlugin(): string; errorExample(options: { nameCamel: string; namePascal: string; definition: Schema; }): string; test(options: TestOptions): string; fieldsTypes(options: { fieldTemplateItems: FieldTemplateItem[]; }): string; fieldClassMap(options: { fieldTemplateItems: FieldTemplateItem[]; }): string; launchConfig(): string; vsCodeSettings(): Promise<string>; listener(options: EventListenerOptions): string; listeners(options: { listeners: ListenerTemplateItem[]; }): string; eventContract(options: EventContractTemplateItem & { schemaTemplateItems: SchemaTemplateItem[]; }): string; eventOptions(options: { isGlobal: boolean; }): string; permissionPlugin(): string; permissions(options: { contracts: { path: string; nameCamel: string; }[]; }): string; permissionContractBuilder(options: { nameCamel: string; nameKebab: string; nameReadable: string; description?: string; }): string; permissionTypes(options: { contracts: PermissionContractMap; }): string; eventEmitPayload(options: EventPayloadOptions): string; eventEmitTarget(options: EventPayloadOptions): string; eventResponsePayload(options: EventPayloadOptions): string; combinedEventsContract(options: { templateItems: EventContractTemplateItem[]; shouldImportCoreEvents?: boolean; skillEventContractTypesFile: string; }): string; sandboxWillBootListener(): string; polish(): string; directoryTemplate<K extends DirectoryTemplateCode>(options: { kind: K; context: DirectoryTemplateContextMap[K]; }): Promise<(import("./types/templates.types").DirectoryTemplateFile & { contents: string; })[]>; isValidTemplatedDirectory(options: { kind: DirectoryTemplateCode; dir: string; }): Promise<boolean>; conversationTopic(options: { nameReadable: string; }): string; generateFieldKey(renderAs: TemplateRenderAs, definition: FieldDefinitions): string; storePlugin(): string; store(options: StoreTemplateOptions): string; storeTypes(options: { stores: StoreTemplateItem[]; }): string; stores(options: { stores: StoreTemplateItem[]; }): string; skillViewController(options: { namePascal: string; nameKebab: string; }): string; viewController(options: { viewModel: string; namePascal: string; nameKebab: string; }): string; appController(options: { id: string; namespacePascal: string; }): string; views(options: CombinedViewsOptions): string; viewPlugin(): string; agentPlugin(): string; agentSystemPrompt(options: { name: string; }): string; viewControllerPlugin(options: { namePascal: string; nameCamel: string; }): string; theme(): string; logTransport(): string; claudeMd(): string; agentsMd(): string; projectMd(): string; }; export type Templates = typeof templates; export { default as importExtractorUtil } from './utilities/importExtractor.utility'; export default handlebars; export * from './types/templates.types';