@atomic-ehr/codegen 0.0.1-canary.20250808231821.ab61009

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 (64) hide show
  1. package/README.md +446 -0
  2. package/dist/api/builder.d.ts +147 -0
  3. package/dist/api/builder.d.ts.map +1 -0
  4. package/dist/api/generators/typescript.d.ts +129 -0
  5. package/dist/api/generators/typescript.d.ts.map +1 -0
  6. package/dist/api/index.d.ts +51 -0
  7. package/dist/api/index.d.ts.map +1 -0
  8. package/dist/cli/commands/generate/typescript.d.ts +11 -0
  9. package/dist/cli/commands/generate/typescript.d.ts.map +1 -0
  10. package/dist/cli/commands/generate.d.ts +23 -0
  11. package/dist/cli/commands/generate.d.ts.map +1 -0
  12. package/dist/cli/commands/index.d.ts +40 -0
  13. package/dist/cli/commands/index.d.ts.map +1 -0
  14. package/dist/cli/commands/typeschema/generate.d.ts +18 -0
  15. package/dist/cli/commands/typeschema/generate.d.ts.map +1 -0
  16. package/dist/cli/commands/typeschema.d.ts +11 -0
  17. package/dist/cli/commands/typeschema.d.ts.map +1 -0
  18. package/dist/cli/index.d.ts +11 -0
  19. package/dist/cli/index.d.ts.map +1 -0
  20. package/dist/cli/utils/prompts.d.ts +57 -0
  21. package/dist/cli/utils/prompts.d.ts.map +1 -0
  22. package/dist/cli/utils/spinner.d.ts +111 -0
  23. package/dist/cli/utils/spinner.d.ts.map +1 -0
  24. package/dist/config.d.ts +171 -0
  25. package/dist/config.d.ts.map +1 -0
  26. package/dist/index.d.ts +83 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +4008 -0
  29. package/dist/logger.d.ts +158 -0
  30. package/dist/logger.d.ts.map +1 -0
  31. package/dist/types/base.d.ts +66 -0
  32. package/dist/types/base.d.ts.map +1 -0
  33. package/dist/typeschema/cache.d.ts +105 -0
  34. package/dist/typeschema/cache.d.ts.map +1 -0
  35. package/dist/typeschema/core/binding.d.ts +29 -0
  36. package/dist/typeschema/core/binding.d.ts.map +1 -0
  37. package/dist/typeschema/core/field-builder.d.ts +45 -0
  38. package/dist/typeschema/core/field-builder.d.ts.map +1 -0
  39. package/dist/typeschema/core/identifier.d.ts +28 -0
  40. package/dist/typeschema/core/identifier.d.ts.map +1 -0
  41. package/dist/typeschema/core/nested-types.d.ts +25 -0
  42. package/dist/typeschema/core/nested-types.d.ts.map +1 -0
  43. package/dist/typeschema/core/transformer.d.ts +18 -0
  44. package/dist/typeschema/core/transformer.d.ts.map +1 -0
  45. package/dist/typeschema/generator.d.ts +57 -0
  46. package/dist/typeschema/generator.d.ts.map +1 -0
  47. package/dist/typeschema/index.d.ts +66 -0
  48. package/dist/typeschema/index.d.ts.map +1 -0
  49. package/dist/typeschema/parser.d.ts +92 -0
  50. package/dist/typeschema/parser.d.ts.map +1 -0
  51. package/dist/typeschema/profile/processor.d.ts +14 -0
  52. package/dist/typeschema/profile/processor.d.ts.map +1 -0
  53. package/dist/typeschema/schema.d.ts +486 -0
  54. package/dist/typeschema/schema.d.ts.map +1 -0
  55. package/dist/typeschema/types.d.ts +326 -0
  56. package/dist/typeschema/types.d.ts.map +1 -0
  57. package/dist/typeschema/utils.d.ts +7 -0
  58. package/dist/typeschema/utils.d.ts.map +1 -0
  59. package/dist/typeschema/value-set/processor.d.ts +20 -0
  60. package/dist/typeschema/value-set/processor.d.ts.map +1 -0
  61. package/dist/utils.d.ts +23 -0
  62. package/dist/utils.d.ts.map +1 -0
  63. package/package.json +60 -0
  64. package/src/index.ts +86 -0
@@ -0,0 +1,129 @@
1
+ /**
2
+ * High-Level TypeScript Generator
3
+ *
4
+ * Provides a high-level API for generating TypeScript interfaces from TypeSchema documents.
5
+ * This wraps the core TypeSchema transformer with additional convenience features.
6
+ */
7
+ import { type TypeSchema } from "../../typeschema";
8
+ /**
9
+ * Options for the TypeScript API generator
10
+ */
11
+ export interface TypeScriptAPIOptions {
12
+ outputDir: string;
13
+ moduleFormat?: "esm" | "cjs";
14
+ generateIndex?: boolean;
15
+ includeDocuments?: boolean;
16
+ namingConvention?: "PascalCase" | "camelCase";
17
+ includeExtensions?: boolean;
18
+ includeProfiles?: boolean;
19
+ }
20
+ /**
21
+ * Generated file result
22
+ */
23
+ export interface GeneratedFile {
24
+ path: string;
25
+ filename: string;
26
+ content: string;
27
+ exports: string[];
28
+ }
29
+ export interface GeneratedTypeScript {
30
+ content: string;
31
+ imports: Map<string, string>;
32
+ exports: string[];
33
+ filename: string;
34
+ }
35
+ /**
36
+ * High-Level TypeScript Generator
37
+ *
38
+ * Generates TypeScript interfaces from TypeSchema documents with additional
39
+ * features like index generation, documentation, and flexible output options.
40
+ */
41
+ export declare class TypeScriptAPIGenerator {
42
+ private options;
43
+ private imports;
44
+ private exports;
45
+ private resourceTypes;
46
+ private currentSchemaName?;
47
+ constructor(options: TypeScriptAPIOptions);
48
+ /**
49
+ * Transform a single TypeSchema to TypeScript
50
+ */
51
+ transformSchema(schema: TypeSchema): Promise<GeneratedTypeScript | undefined>;
52
+ /**
53
+ * Generate TypeScript for a single schema
54
+ */
55
+ private generateTypeScriptForSchema;
56
+ /**
57
+ * Generate TypeScript for nested type
58
+ */
59
+ private generateNested;
60
+ /**
61
+ * Generate TypeScript for a field
62
+ */
63
+ private generateField;
64
+ /**
65
+ * Generate TypeScript for polymorphic instance
66
+ */
67
+ private generatePolymorphicInstance;
68
+ /**
69
+ * Generate TypeScript for a regular field
70
+ */
71
+ private generateRegularField;
72
+ private buildReferenceType;
73
+ /**
74
+ * Transform multiple schemas
75
+ */
76
+ transformSchemas(schemas: TypeSchema[]): Promise<GeneratedTypeScript[]>;
77
+ /**
78
+ * Generate TypeScript files from TypeSchema documents
79
+ */
80
+ generate(schemas: TypeSchema[]): Promise<GeneratedFile[]>;
81
+ private generateImportStatements;
82
+ /**
83
+ * Generate and return results without writing to files
84
+ */
85
+ build(schemas: TypeSchema[]): Promise<GeneratedFile[]>;
86
+ /**
87
+ * Set output directory
88
+ */
89
+ setOutputDir(directory: string): void;
90
+ /**
91
+ * Update generator options
92
+ */
93
+ setOptions(options: Partial<TypeScriptAPIOptions>): void;
94
+ /**
95
+ * Get current options
96
+ */
97
+ getOptions(): Required<TypeScriptAPIOptions>;
98
+ private generateIndexFile;
99
+ private ensureDirectoryExists;
100
+ /**
101
+ * Filter schemas based on includeExtensions option
102
+ */
103
+ private filterSchemas;
104
+ /**
105
+ * Generate index files for subfolders
106
+ */
107
+ private generateSubfolderIndexFiles;
108
+ /**
109
+ * Generate index content for a subfolder
110
+ */
111
+ private generateSubfolderIndex;
112
+ /**
113
+ * Format type name according to naming convention
114
+ */
115
+ private formatTypeName;
116
+ /**
117
+ * Get TypeScript type for a TypeSchema identifier
118
+ */
119
+ private getType;
120
+ /**
121
+ * Get base interface for schema
122
+ */
123
+ private getBaseInterface;
124
+ /**
125
+ * Get filename for schema
126
+ */
127
+ private getFilename;
128
+ }
129
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/api/generators/typescript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAMN,KAAK,UAAU,EAIf,MAAM,kBAAkB,CAAC;AAO1B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;GAKG;AACH,qBAAa,sBAAsB;IAClC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAS;gBAEvB,OAAO,EAAE,oBAAoB;IAYzC;;OAEG;IACG,eAAe,CACpB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAgC3C;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA+DnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAyCtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACG,gBAAgB,CACrB,OAAO,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAajC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAkE/D,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6B5D;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAIxD;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC;YAI9B,iBAAiB;YA2IjB,qBAAqB;IAKnC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;YACW,2BAA2B;IA+BzC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4C9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,OAAO;IAaf;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,WAAW;CAInB"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * High-Level API Module
3
+ *
4
+ * Main entry point for the atomic-codegen high-level API.
5
+ * Provides convenient access to all generators and utilities.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export { TypeSchemaCache, TypeSchemaGenerator, TypeSchemaParser, } from "../typeschema";
10
+ export type { PackageInfo, TypeSchemaField, TypeSchemaIdentifier, } from "../typeschema/types";
11
+ export type { APIBuilderOptions, GenerationResult, ProgressCallback, } from "./builder";
12
+ export { APIBuilder, createAPI, generateTypesFromFiles, generateTypesFromPackage, } from "./builder";
13
+ export type { GeneratedFile, TypeScriptAPIOptions, } from "./generators/typescript";
14
+ export { TypeScriptAPIGenerator } from "./generators/typescript";
15
+ /**
16
+ * Quick start examples:
17
+ *
18
+ * @example
19
+ * Generate TypeScript types from a FHIR package:
20
+ * ```typescript
21
+ * import { createAPI } from '@atomic-codegen/api';
22
+ *
23
+ * const result = await createAPI()
24
+ * .fromPackage('hl7.fhir.r4.core')
25
+ * .typescript()
26
+ * .generate();
27
+ * ```
28
+ *
29
+ * @example
30
+ * Generate TypeScript types from TypeSchema files:
31
+ * ```typescript
32
+ * import { createAPI } from '@atomic-codegen/api';
33
+ *
34
+ * const result = await createAPI()
35
+ * .fromFiles('./schemas/*.ndjson')
36
+ * .typescript()
37
+ * .generate();
38
+ * ```
39
+ *
40
+ * @example
41
+ * Build in-memory without writing files:
42
+ * ```typescript
43
+ * import { createAPI } from '@atomic-codegen/api';
44
+ *
45
+ * const results = await createAPI()
46
+ * .fromPackage('hl7.fhir.r4.core')
47
+ * .typescript()
48
+ * .build();
49
+ * ```
50
+ */
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACX,WAAW,EACX,eAAe,EACf,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACN,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,WAAW,CAAC;AACnB,YAAY,EACX,aAAa,EACb,oBAAoB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generate TypeScript Command
3
+ *
4
+ * Generate TypeScript types from TypeSchema files using the new high-level API
5
+ */
6
+ import type { Config } from "../../../config";
7
+ /**
8
+ * Generate TypeScript types from TypeSchema using the high-level API
9
+ */
10
+ export declare function generateTypeScript(config: Config, inputPath?: string): Promise<void>;
11
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/generate/typescript.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgC9C;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Generate Command - High-Level API
3
+ *
4
+ * Main generate command that uses the high-level API for end-to-end generation
5
+ */
6
+ import type { CommandModule } from "yargs";
7
+ import type { CLIArgv } from "./index";
8
+ interface GenerateArgs extends CLIArgv {
9
+ packages?: string[];
10
+ input?: string;
11
+ output?: string;
12
+ typescript?: boolean;
13
+ format?: "esm" | "cjs";
14
+ "generate-index"?: boolean;
15
+ "include-docs"?: boolean;
16
+ "naming-convention"?: "PascalCase" | "camelCase";
17
+ }
18
+ /**
19
+ * Main generate command using high-level API
20
+ */
21
+ export declare const generateCommand: CommandModule<{}, GenerateArgs>;
22
+ export {};
23
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,UAAU,YAAa,SAAQ,OAAO;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,YAAY,CA6P3D,CAAC"}
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Atomic Codegen CLI - New Command Structure
4
+ *
5
+ * Modern CLI with subcommands for typeschema and code generation
6
+ */
7
+ import { type ILogger } from "../../logger.ts";
8
+ /**
9
+ * CLI arguments interface
10
+ */
11
+ export interface CLIArgv {
12
+ config?: string;
13
+ verbose?: boolean;
14
+ debug?: boolean;
15
+ logLevel?: string;
16
+ logFormat?: string;
17
+ logFile?: string;
18
+ _logger?: ILogger;
19
+ }
20
+ /**
21
+ * Main CLI entry point with subcommands
22
+ */
23
+ export declare function createCLI(): import("yargs").Argv<{
24
+ verbose: boolean;
25
+ } & {
26
+ debug: boolean;
27
+ } & {
28
+ "log-level": string | undefined;
29
+ } & {
30
+ "log-format": string;
31
+ } & {
32
+ "log-file": string | undefined;
33
+ } & {
34
+ config: string | undefined;
35
+ }>;
36
+ /**
37
+ * Run the CLI
38
+ */
39
+ export declare function runCLI(): Promise<void>;
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAIH,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,OAAO;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAkBD;;GAEG;AACH,wBAAgB,SAAS;;;;;;;;;;;;GAqIxB;AAED;;GAEG;AACH,wBAAsB,MAAM,kBAG3B"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * TypeSchema Generate Command
3
+ *
4
+ * Generate TypeSchema files from FHIR packages
5
+ */
6
+ import type { CommandModule } from "yargs";
7
+ interface GenerateTypeschemaArgs {
8
+ packages: string[];
9
+ output?: string;
10
+ format?: "ndjson" | "json";
11
+ verbose?: boolean;
12
+ }
13
+ /**
14
+ * Generate TypeSchema from FHIR packages
15
+ */
16
+ export declare const generateTypeschemaCommand: CommandModule<{}, GenerateTypeschemaArgs>;
17
+ export {};
18
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/typeschema/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,UAAU,sBAAsB;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAAa,CACpD,EAAE,EACF,sBAAsB,CA6GtB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * TypeSchema Commands
3
+ *
4
+ * Commands for validating and managing TypeSchema files
5
+ */
6
+ import type { CommandModule } from "yargs";
7
+ /**
8
+ * TypeSchema command group
9
+ */
10
+ export declare const typeschemaCommand: CommandModule;
11
+ //# sourceMappingURL=typeschema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeschema.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/typeschema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAmD/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Atomic Codegen CLI - Simplified High-Level API
4
+ *
5
+ * Clean, performant CLI with only essential commands:
6
+ * - typeschema: Create and manage TypeSchema files
7
+ * - generate: Generate code from TypeSchema
8
+ * - dev: Development utilities
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * CLI Prompts Utility
3
+ *
4
+ * Interactive prompts for better CLI user experience
5
+ */
6
+ /**
7
+ * Prompt for project initialization
8
+ */
9
+ export declare function promptInitConfig(): Promise<{
10
+ projectName: string;
11
+ description?: string;
12
+ outputDir: string;
13
+ generators: string[];
14
+ packageManager: "npm" | "yarn" | "pnpm" | "bun";
15
+ typescript: boolean;
16
+ }>;
17
+ /**
18
+ * Prompt for FHIR package selection
19
+ */
20
+ export declare function promptFHIRPackage(): Promise<{
21
+ packageId: string;
22
+ version?: string;
23
+ profiles?: string[];
24
+ }>;
25
+ /**
26
+ * Prompt for generator configuration
27
+ */
28
+ export declare function promptGeneratorConfig(generatorId: string): Promise<Record<string, any>>;
29
+ /**
30
+ * Prompt for confirmation with custom message
31
+ */
32
+ export declare function promptConfirm(message: string, defaultValue?: boolean): Promise<boolean>;
33
+ /**
34
+ * Prompt for text input with validation
35
+ */
36
+ export declare function promptInput(message: string, options?: {
37
+ default?: string;
38
+ validate?: (value: string) => boolean | string;
39
+ transform?: (value: string) => string;
40
+ }): Promise<string>;
41
+ /**
42
+ * Show success message
43
+ */
44
+ export declare function showSuccess(message: string): void;
45
+ /**
46
+ * Show error message
47
+ */
48
+ export declare function showError(message: string): void;
49
+ /**
50
+ * Show warning message
51
+ */
52
+ export declare function showWarning(message: string): void;
53
+ /**
54
+ * Show info message
55
+ */
56
+ export declare function showInfo(message: string): void;
57
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC;CACpB,CAAC,CA0DD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAuDD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAoE9B;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,GAClB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;IAC/C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACtC,GACC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * CLI Spinner and Progress Utilities
3
+ *
4
+ * Visual progress indicators for long-running operations
5
+ */
6
+ /**
7
+ * Task progress tracker
8
+ */
9
+ export declare class ProgressTracker {
10
+ private tasks;
11
+ private currentSpinner;
12
+ /**
13
+ * Start a new task
14
+ */
15
+ startTask(taskId: string, message: string): void;
16
+ /**
17
+ * Update task progress
18
+ */
19
+ updateTask(taskId: string, message: string): void;
20
+ /**
21
+ * Complete a task successfully
22
+ */
23
+ completeTask(taskId: string, message?: string): void;
24
+ /**
25
+ * Fail a task
26
+ */
27
+ failTask(taskId: string, error?: string): void;
28
+ /**
29
+ * Stop all spinners
30
+ */
31
+ stop(): void;
32
+ /**
33
+ * Get task statistics
34
+ */
35
+ getStats(): {
36
+ total: number;
37
+ completed: number;
38
+ failed: number;
39
+ running: number;
40
+ pending: number;
41
+ };
42
+ }
43
+ /**
44
+ * Simple spinner for single operations
45
+ */
46
+ export declare class SimpleSpinner {
47
+ private spinner;
48
+ constructor(message: string);
49
+ start(message?: string): SimpleSpinner;
50
+ update(message: string): SimpleSpinner;
51
+ succeed(message?: string): void;
52
+ fail(message?: string): void;
53
+ warn(message?: string): void;
54
+ info(message?: string): void;
55
+ stop(): void;
56
+ }
57
+ /**
58
+ * Progress bar for batch operations
59
+ */
60
+ export declare class ProgressBar {
61
+ private total;
62
+ private message;
63
+ private current;
64
+ private barLength;
65
+ private startTime;
66
+ constructor(total: number, message: string);
67
+ /**
68
+ * Update progress
69
+ */
70
+ update(current: number, additionalInfo?: string): void;
71
+ /**
72
+ * Increment progress by 1
73
+ */
74
+ increment(additionalInfo?: string): void;
75
+ /**
76
+ * Complete the progress bar
77
+ */
78
+ complete(message?: string): void;
79
+ /**
80
+ * Render the progress bar
81
+ */
82
+ private render;
83
+ }
84
+ /**
85
+ * Create a simple spinner
86
+ */
87
+ export declare function createSpinner(message: string): SimpleSpinner;
88
+ /**
89
+ * Create a progress tracker for multiple tasks
90
+ */
91
+ export declare function createProgressTracker(): ProgressTracker;
92
+ /**
93
+ * Create a progress bar
94
+ */
95
+ export declare function createProgressBar(total: number, message: string): ProgressBar;
96
+ /**
97
+ * Show a spinner for a promise
98
+ */
99
+ export declare function withSpinner<T>(promise: Promise<T>, options: {
100
+ start: string;
101
+ success?: string | ((result: T) => string);
102
+ fail?: string | ((error: any) => string);
103
+ }): Promise<T>;
104
+ /**
105
+ * Multi-step task execution with progress
106
+ */
107
+ export declare function executeSteps<T>(steps: Array<{
108
+ name: string;
109
+ task: () => Promise<T>;
110
+ }>): Promise<T[]>;
111
+ //# sourceMappingURL=spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/spinner.ts"],"names":[],"mappings":"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"}