@specverse/types 4.0.4 → 4.1.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.
- package/dist/engine.d.ts +2 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/instance-factory.d.ts +289 -0
- package/dist/instance-factory.d.ts.map +1 -0
- package/dist/instance-factory.js +8 -0
- package/dist/instance-factory.js.map +1 -0
- package/package.json +1 -1
package/dist/engine.d.ts
CHANGED
|
@@ -89,6 +89,8 @@ export interface InferenceResult {
|
|
|
89
89
|
component: any;
|
|
90
90
|
deployments?: Record<string, any>;
|
|
91
91
|
yaml: string;
|
|
92
|
+
/** Dev GUI specification YAML — consumed by @specverse/runtime DevShell */
|
|
93
|
+
devYaml?: string;
|
|
92
94
|
validation: ValidationResult;
|
|
93
95
|
statistics: {
|
|
94
96
|
modelsProcessed: number;
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instance Factory Definitions
|
|
3
|
+
*
|
|
4
|
+
* TypeScript interfaces for SpecVerse Instance Factories.
|
|
5
|
+
* These define reusable technology specifications for code generation.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Package dependency specification
|
|
9
|
+
*/
|
|
10
|
+
export interface Dependency {
|
|
11
|
+
name: string;
|
|
12
|
+
version: string;
|
|
13
|
+
optional?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Code template specification
|
|
17
|
+
*/
|
|
18
|
+
export interface CodeTemplate {
|
|
19
|
+
/** Template engine to use */
|
|
20
|
+
engine: 'typescript' | 'handlebars' | 'ai';
|
|
21
|
+
/** Template content or path (for handlebars) */
|
|
22
|
+
template?: string;
|
|
23
|
+
/** Path to generator function (for typescript) */
|
|
24
|
+
generator?: string;
|
|
25
|
+
/** Generation prompt (for AI) */
|
|
26
|
+
prompt?: string;
|
|
27
|
+
/** Output file path pattern with variables like {controller}, {model} */
|
|
28
|
+
outputPattern: string;
|
|
29
|
+
/** Paths to validation functions */
|
|
30
|
+
validators?: string[];
|
|
31
|
+
/** Paths to post-processing functions */
|
|
32
|
+
postProcessors?: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Technology stack information
|
|
36
|
+
*/
|
|
37
|
+
export interface TechnologyStack {
|
|
38
|
+
/**
|
|
39
|
+
* Runtime environment identifier (kebab-case).
|
|
40
|
+
* Standard: node, deno, bun, python, rust, go, browser
|
|
41
|
+
* Custom values allowed (e.g., "zig", "dotnet")
|
|
42
|
+
* Pattern: ^[a-z][a-z0-9-]+$
|
|
43
|
+
*/
|
|
44
|
+
runtime: string;
|
|
45
|
+
/**
|
|
46
|
+
* Programming language identifier (kebab-case).
|
|
47
|
+
* Standard: typescript, javascript, python, rust, go, java, csharp, php, ruby, kotlin, swift
|
|
48
|
+
* Custom values allowed (e.g., "gleam", "elixir")
|
|
49
|
+
* Pattern: ^[a-z][a-z0-9-]+$
|
|
50
|
+
*/
|
|
51
|
+
language: string;
|
|
52
|
+
/** Framework name (fastify, express, react, vue, etc.) */
|
|
53
|
+
framework?: string;
|
|
54
|
+
/** ORM/database library (prisma, typeorm, drizzle, etc.) */
|
|
55
|
+
orm?: string;
|
|
56
|
+
/** Validation library (zod, joi, class-validator, etc.) */
|
|
57
|
+
validation?: string;
|
|
58
|
+
/** Additional technology properties */
|
|
59
|
+
[key: string]: string | undefined;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Compatibility requirements
|
|
63
|
+
*/
|
|
64
|
+
export interface CompatibilityRequirements {
|
|
65
|
+
/** SpecVerse version range (semver) */
|
|
66
|
+
specverse: string;
|
|
67
|
+
/** Node.js version requirement */
|
|
68
|
+
node?: string;
|
|
69
|
+
/** Additional compatibility requirements */
|
|
70
|
+
[key: string]: string | undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Capability declaration
|
|
74
|
+
*/
|
|
75
|
+
export interface Capabilities {
|
|
76
|
+
/** Capabilities this implementation provides */
|
|
77
|
+
provides: string[];
|
|
78
|
+
/** Capabilities this implementation requires */
|
|
79
|
+
requires?: string[];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Dependencies specification
|
|
83
|
+
*/
|
|
84
|
+
export interface Dependencies {
|
|
85
|
+
/** Runtime dependencies */
|
|
86
|
+
runtime?: Dependency[];
|
|
87
|
+
/** Development dependencies */
|
|
88
|
+
dev?: Dependency[];
|
|
89
|
+
/** Peer dependencies */
|
|
90
|
+
peer?: Dependency[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Instance factory metadata
|
|
94
|
+
*/
|
|
95
|
+
export interface InstanceFactoryMetadata {
|
|
96
|
+
/** Author name or organization */
|
|
97
|
+
author?: string;
|
|
98
|
+
/** Repository URL */
|
|
99
|
+
repository?: string;
|
|
100
|
+
/** Homepage URL */
|
|
101
|
+
homepage?: string;
|
|
102
|
+
/** License identifier (MIT, Apache-2.0, etc.) */
|
|
103
|
+
license?: string;
|
|
104
|
+
/** Tags for categorization */
|
|
105
|
+
tags?: string[];
|
|
106
|
+
/** Keywords for search */
|
|
107
|
+
keywords?: string[];
|
|
108
|
+
/** Documentation URL */
|
|
109
|
+
documentation?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Complete Instance Factory definition
|
|
113
|
+
*
|
|
114
|
+
* An instance factory defines a specific technology stack and
|
|
115
|
+
* how to generate code for that stack from SpecVerse specifications.
|
|
116
|
+
*/
|
|
117
|
+
export interface InstanceFactory {
|
|
118
|
+
/** Unique name for this instance factory */
|
|
119
|
+
name: string;
|
|
120
|
+
/** Semantic version */
|
|
121
|
+
version: string;
|
|
122
|
+
/** Category for deployment instances */
|
|
123
|
+
category: 'controller' | 'service' | 'view' | 'storage' | 'security' | 'infrastructure' | 'monitoring' | 'communication';
|
|
124
|
+
/** Human-readable description */
|
|
125
|
+
description?: string;
|
|
126
|
+
/** Version compatibility requirements */
|
|
127
|
+
compatibility?: CompatibilityRequirements;
|
|
128
|
+
/** What this implementation provides and requires */
|
|
129
|
+
capabilities: Capabilities;
|
|
130
|
+
/** Technology stack information */
|
|
131
|
+
technology: TechnologyStack;
|
|
132
|
+
/** Package dependencies */
|
|
133
|
+
dependencies?: Dependencies;
|
|
134
|
+
/** Code generation templates */
|
|
135
|
+
codeTemplates: Record<string, CodeTemplate>;
|
|
136
|
+
/** Default configuration */
|
|
137
|
+
configuration?: Record<string, any>;
|
|
138
|
+
/** Parent implementation type to extend from */
|
|
139
|
+
extends?: string;
|
|
140
|
+
/** Additional metadata */
|
|
141
|
+
metadata?: InstanceFactoryMetadata;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Reference to an instance factory in a manifest
|
|
145
|
+
*/
|
|
146
|
+
export interface InstanceFactoryReference {
|
|
147
|
+
/** Reference path: "backend/fastify-prisma" or "@org/impl-types/name" */
|
|
148
|
+
ref: string;
|
|
149
|
+
/** Semantic version range */
|
|
150
|
+
version?: string;
|
|
151
|
+
/** Short alias for referencing in mappings */
|
|
152
|
+
alias?: string;
|
|
153
|
+
/** Configuration overrides */
|
|
154
|
+
configuration?: Record<string, any>;
|
|
155
|
+
/** Template overrides */
|
|
156
|
+
templates?: Record<string, string>;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Capability mapping in a manifest (v3.3 with instanceFactory)
|
|
160
|
+
*/
|
|
161
|
+
export interface CapabilityMapping {
|
|
162
|
+
/** Capability pattern (e.g., "api.rest" or "storage.database.*") */
|
|
163
|
+
capability: string;
|
|
164
|
+
/** Instance factory reference (alias or full ref) */
|
|
165
|
+
instanceFactory: string;
|
|
166
|
+
/** Version constraint for instance factory */
|
|
167
|
+
version?: string;
|
|
168
|
+
/** Configuration overrides for this mapping */
|
|
169
|
+
configuration?: Record<string, any>;
|
|
170
|
+
/** Namespace for grouping */
|
|
171
|
+
namespace?: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Instance mapping in a manifest (v3.3 - highest priority)
|
|
175
|
+
*/
|
|
176
|
+
export interface InstanceMapping {
|
|
177
|
+
/** Specific instance name from deployment */
|
|
178
|
+
instanceName: string;
|
|
179
|
+
/** Instance factory reference */
|
|
180
|
+
instanceFactory: string;
|
|
181
|
+
/** Version constraint for instance factory */
|
|
182
|
+
version?: string;
|
|
183
|
+
/** Configuration overrides for this mapping */
|
|
184
|
+
configuration?: Record<string, any>;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Default mappings by category (v3.3 - lowest priority)
|
|
188
|
+
*/
|
|
189
|
+
export interface DefaultMappings {
|
|
190
|
+
controller?: string;
|
|
191
|
+
service?: string;
|
|
192
|
+
view?: string;
|
|
193
|
+
storage?: string;
|
|
194
|
+
security?: string;
|
|
195
|
+
infrastructure?: string;
|
|
196
|
+
monitoring?: string;
|
|
197
|
+
communication?: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Deployment reference in manifest (v3.3)
|
|
201
|
+
*/
|
|
202
|
+
export interface DeploymentReference {
|
|
203
|
+
/** Path to .specly file containing deployment */
|
|
204
|
+
deploymentSource: string;
|
|
205
|
+
/** Name of deployment in the spec */
|
|
206
|
+
deploymentName: string;
|
|
207
|
+
/** Version constraint for deployment */
|
|
208
|
+
deploymentVersion?: string;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Resolved implementation with context
|
|
212
|
+
*/
|
|
213
|
+
export interface ResolvedImplementation {
|
|
214
|
+
/** The capability being resolved */
|
|
215
|
+
capability: string;
|
|
216
|
+
/** The resolved instance factory (with overrides applied) */
|
|
217
|
+
instanceFactory: InstanceFactory;
|
|
218
|
+
/** The deployment instance this is for */
|
|
219
|
+
instance?: any;
|
|
220
|
+
/** Resolved configuration (defaults + manifest overrides + mapping overrides) */
|
|
221
|
+
configuration: Record<string, any>;
|
|
222
|
+
/** Base path for resolving template files (directory containing the instance factory file) */
|
|
223
|
+
basePath?: string;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Factory validation result
|
|
227
|
+
*/
|
|
228
|
+
export interface FactoryValidationResult {
|
|
229
|
+
/** Whether validation passed */
|
|
230
|
+
valid: boolean;
|
|
231
|
+
/** Error messages if validation failed */
|
|
232
|
+
errors?: string[];
|
|
233
|
+
/** Warning messages */
|
|
234
|
+
warnings?: string[];
|
|
235
|
+
/** Suggested fixes */
|
|
236
|
+
suggestions?: string[];
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Template context for code generation
|
|
240
|
+
*/
|
|
241
|
+
export interface TemplateContext {
|
|
242
|
+
/** AI-optimized specification */
|
|
243
|
+
spec: any;
|
|
244
|
+
/** Resolved instance factory */
|
|
245
|
+
factory: InstanceFactory;
|
|
246
|
+
/** Current model (if generating for a specific model) */
|
|
247
|
+
model?: any;
|
|
248
|
+
/** Current controller (if generating for a specific controller) */
|
|
249
|
+
controller?: any;
|
|
250
|
+
/** Current service (if generating for a specific service) */
|
|
251
|
+
service?: any;
|
|
252
|
+
/** Deployment instance (if generating for a specific instance) */
|
|
253
|
+
instance?: any;
|
|
254
|
+
/** Additional context properties */
|
|
255
|
+
[key: string]: any;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Template engine interface
|
|
259
|
+
*/
|
|
260
|
+
export interface TemplateEngine {
|
|
261
|
+
/**
|
|
262
|
+
* Render a template with the given context
|
|
263
|
+
*/
|
|
264
|
+
render(template: CodeTemplate, context: TemplateContext): Promise<string>;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Library source configuration
|
|
268
|
+
*/
|
|
269
|
+
export interface LibrarySource {
|
|
270
|
+
/** Source type */
|
|
271
|
+
type: 'local' | 'npm' | 'remote';
|
|
272
|
+
/** Source path or URL */
|
|
273
|
+
path: string;
|
|
274
|
+
/** Priority (higher = checked first) */
|
|
275
|
+
priority?: number;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Implementation type library configuration
|
|
279
|
+
*/
|
|
280
|
+
export interface LibraryConfig {
|
|
281
|
+
/** Library sources to search */
|
|
282
|
+
sources: LibrarySource[];
|
|
283
|
+
/** Cache configuration */
|
|
284
|
+
cache?: {
|
|
285
|
+
enabled: boolean;
|
|
286
|
+
ttl?: number;
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=instance-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-factory.d.ts","sourceRoot":"","sources":["../src/instance-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-factory.js","sourceRoot":"","sources":["../src/instance-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|