@domainlang/language 0.1.20 → 0.1.82
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/out/domain-lang-module.d.ts +0 -2
- package/out/domain-lang-module.js +3 -11
- package/out/domain-lang-module.js.map +1 -1
- package/out/generated/ast.d.ts +19 -8
- package/out/generated/ast.js +10 -1
- package/out/generated/ast.js.map +1 -1
- package/out/generated/grammar.d.ts +1 -1
- package/out/generated/grammar.js +123 -28
- package/out/generated/grammar.js.map +1 -1
- package/out/generated/module.d.ts +1 -1
- package/out/generated/module.js +1 -1
- package/out/index.d.ts +0 -3
- package/out/index.js +0 -5
- package/out/index.js.map +1 -1
- package/out/lsp/hover/domain-lang-hover.js +4 -0
- package/out/lsp/hover/domain-lang-hover.js.map +1 -1
- package/out/sdk/index.d.ts +1 -1
- package/out/sdk/loader-node.d.ts +3 -7
- package/out/sdk/loader-node.js +9 -24
- package/out/sdk/loader-node.js.map +1 -1
- package/out/sdk/types.d.ts +21 -0
- package/out/services/dependency-analyzer.d.ts +39 -3
- package/out/services/dependency-analyzer.js +47 -22
- package/out/services/dependency-analyzer.js.map +1 -1
- package/out/services/dependency-resolver.d.ts +45 -68
- package/out/services/dependency-resolver.js +43 -243
- package/out/services/dependency-resolver.js.map +1 -1
- package/out/services/git-url-resolver.browser.d.ts +12 -4
- package/out/services/git-url-resolver.browser.js +1 -5
- package/out/services/git-url-resolver.browser.js.map +1 -1
- package/out/services/git-url-resolver.d.ts +56 -22
- package/out/services/git-url-resolver.js +36 -70
- package/out/services/git-url-resolver.js.map +1 -1
- package/out/services/governance-validator.d.ts +37 -1
- package/out/services/governance-validator.js +10 -4
- package/out/services/governance-validator.js.map +1 -1
- package/out/services/import-resolver.d.ts +6 -65
- package/out/services/import-resolver.js +5 -223
- package/out/services/import-resolver.js.map +1 -1
- package/out/services/performance-optimizer.d.ts +1 -1
- package/out/services/workspace-manager.d.ts +10 -57
- package/out/services/workspace-manager.js +21 -187
- package/out/services/workspace-manager.js.map +1 -1
- package/out/syntaxes/domain-lang.monarch.js +1 -1
- package/out/syntaxes/domain-lang.monarch.js.map +1 -1
- package/out/utils/import-utils.d.ts +12 -4
- package/out/utils/import-utils.js +135 -35
- package/out/utils/import-utils.js.map +1 -1
- package/out/validation/constants.d.ts +0 -103
- package/out/validation/constants.js +1 -140
- package/out/validation/constants.js.map +1 -1
- package/out/validation/domain.js +1 -46
- package/out/validation/domain.js.map +1 -1
- package/out/validation/import.d.ts +22 -46
- package/out/validation/import.js +85 -187
- package/out/validation/import.js.map +1 -1
- package/out/validation/maps.js +6 -10
- package/out/validation/maps.js.map +1 -1
- package/out/validation/metadata.js +1 -5
- package/out/validation/metadata.js.map +1 -1
- package/package.json +6 -8
- package/src/domain-lang-module.ts +6 -18
- package/src/domain-lang.langium +12 -7
- package/src/generated/ast.ts +20 -7
- package/src/generated/grammar.ts +123 -28
- package/src/generated/module.ts +1 -1
- package/src/index.ts +0 -7
- package/src/lsp/hover/domain-lang-hover.ts +2 -0
- package/src/sdk/index.ts +2 -0
- package/src/sdk/loader-node.ts +9 -29
- package/src/sdk/types.ts +23 -0
- package/src/services/dependency-analyzer.ts +84 -24
- package/src/services/dependency-resolver.ts +84 -301
- package/src/services/git-url-resolver.browser.ts +14 -9
- package/src/services/git-url-resolver.ts +93 -86
- package/src/services/governance-validator.ts +47 -5
- package/src/services/import-resolver.ts +8 -270
- package/src/services/performance-optimizer.ts +1 -1
- package/src/services/workspace-manager.ts +46 -237
- package/src/syntaxes/domain-lang.monarch.ts +1 -1
- package/src/utils/import-utils.ts +160 -38
- package/src/validation/constants.ts +1 -181
- package/src/validation/domain.ts +1 -54
- package/src/validation/import.ts +104 -228
- package/src/validation/maps.ts +6 -10
- package/src/validation/metadata.ts +1 -5
- package/out/lsp/domain-lang-code-actions.d.ts +0 -55
- package/out/lsp/domain-lang-code-actions.js +0 -143
- package/out/lsp/domain-lang-code-actions.js.map +0 -1
- package/out/lsp/domain-lang-workspace-manager.d.ts +0 -21
- package/out/lsp/domain-lang-workspace-manager.js +0 -93
- package/out/lsp/domain-lang-workspace-manager.js.map +0 -1
- package/out/lsp/manifest-diagnostics.d.ts +0 -82
- package/out/lsp/manifest-diagnostics.js +0 -230
- package/out/lsp/manifest-diagnostics.js.map +0 -1
- package/out/services/semver.d.ts +0 -98
- package/out/services/semver.js +0 -195
- package/out/services/semver.js.map +0 -1
- package/out/services/types.d.ts +0 -340
- package/out/services/types.js +0 -46
- package/out/services/types.js.map +0 -1
- package/out/validation/manifest.d.ts +0 -144
- package/out/validation/manifest.js +0 -327
- package/out/validation/manifest.js.map +0 -1
- package/src/lsp/domain-lang-code-actions.ts +0 -189
- package/src/lsp/domain-lang-workspace-manager.ts +0 -104
- package/src/lsp/manifest-diagnostics.ts +0 -290
- package/src/services/semver.ts +0 -213
- package/src/services/types.ts +0 -415
- package/src/validation/manifest.ts +0 -439
package/src/services/types.ts
DELETED
|
@@ -1,415 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized Type Definitions for DomainLang Services
|
|
3
|
-
*
|
|
4
|
-
* Type design principles:
|
|
5
|
-
* - **Atomic**: Each type represents a single, well-defined concept
|
|
6
|
-
* - **Non-overlapping**: Types don't duplicate fields unnecessarily
|
|
7
|
-
* - **Rich**: Types use adjacent types for composition rather than primitives
|
|
8
|
-
* - **Discriminated**: Union types use discriminants for type narrowing
|
|
9
|
-
*
|
|
10
|
-
* Type hierarchy:
|
|
11
|
-
* ```
|
|
12
|
-
* Core Building Blocks
|
|
13
|
-
* ├── RefType (discriminant for git references)
|
|
14
|
-
* └── SemVer (semantic version components)
|
|
15
|
-
*
|
|
16
|
-
* Package Identity
|
|
17
|
-
* └── PackageIdentity (name, version, entry)
|
|
18
|
-
*
|
|
19
|
-
* Dependencies
|
|
20
|
-
* ├── DependencySpec (how deps are specified)
|
|
21
|
-
* │ ├── ShortDependencySpec (string ref only)
|
|
22
|
-
* │ └── ExtendedDependencySpec (full options)
|
|
23
|
-
* └── ResolvedDependency (locked/pinned state)
|
|
24
|
-
*
|
|
25
|
-
* Manifest & Lock
|
|
26
|
-
* ├── ModelManifest (model.yaml schema)
|
|
27
|
-
* └── LockFile (model.lock schema)
|
|
28
|
-
*
|
|
29
|
-
* Resolution Graph
|
|
30
|
-
* ├── DependencyNode (graph node during resolution)
|
|
31
|
-
* └── DependencyGraph (complete resolution graph)
|
|
32
|
-
*
|
|
33
|
-
* Analysis & Governance
|
|
34
|
-
* ├── GovernancePolicy (policy configuration)
|
|
35
|
-
* └── GovernanceViolation (validation result)
|
|
36
|
-
* ```
|
|
37
|
-
*
|
|
38
|
-
* @module services/types
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
// ============================================================================
|
|
42
|
-
// Core Building Blocks
|
|
43
|
-
// ============================================================================
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Type of git reference for version pinning.
|
|
47
|
-
*
|
|
48
|
-
* Used as discriminant in ref-related types:
|
|
49
|
-
* - **tag**: SemVer version tag (v1.0.0, 2.3.4)
|
|
50
|
-
* - **branch**: Branch name (main, develop)
|
|
51
|
-
* - **commit**: Full commit SHA (40 hex chars)
|
|
52
|
-
*/
|
|
53
|
-
export type RefType = 'tag' | 'branch' | 'commit';
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Parsed semantic version following SemVer 2.0.0.
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```typescript
|
|
60
|
-
* const v: SemVer = {
|
|
61
|
-
* major: 1, minor: 2, patch: 3,
|
|
62
|
-
* preRelease: 'beta.1',
|
|
63
|
-
* original: 'v1.2.3-beta.1'
|
|
64
|
-
* };
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export interface SemVer {
|
|
68
|
-
readonly major: number;
|
|
69
|
-
readonly minor: number;
|
|
70
|
-
readonly patch: number;
|
|
71
|
-
/** Pre-release identifier (e.g., "alpha", "beta.1", "rc.2") */
|
|
72
|
-
readonly preRelease?: string;
|
|
73
|
-
/** Build metadata - ignored in version comparison */
|
|
74
|
-
readonly buildMetadata?: string;
|
|
75
|
-
/** Original string representation */
|
|
76
|
-
readonly original: string;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Result of parsing a git ref string.
|
|
81
|
-
*/
|
|
82
|
-
export interface ParsedRef {
|
|
83
|
-
readonly type: RefType;
|
|
84
|
-
/** Present only for valid SemVer tags */
|
|
85
|
-
readonly semver?: SemVer;
|
|
86
|
-
readonly original: string;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// ============================================================================
|
|
90
|
-
// Package Identity
|
|
91
|
-
// ============================================================================
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Core package identity and metadata.
|
|
95
|
-
*
|
|
96
|
-
* Used in model.yaml `model:` section and internally during resolution.
|
|
97
|
-
*/
|
|
98
|
-
export interface PackageIdentity {
|
|
99
|
-
/** Package name in owner/repo format */
|
|
100
|
-
readonly name?: string;
|
|
101
|
-
/** SemVer version string */
|
|
102
|
-
readonly version?: string;
|
|
103
|
-
/** Entry point file (default: index.dlang) */
|
|
104
|
-
readonly entry?: string;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// ============================================================================
|
|
108
|
-
// Dependency Specification Types
|
|
109
|
-
// ============================================================================
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Extended dependency specification with full options.
|
|
113
|
-
*
|
|
114
|
-
* Either `source` OR `path` must be provided (mutually exclusive):
|
|
115
|
-
* - `source`: Remote git coordinates (owner/repo)
|
|
116
|
-
* - `path`: Local filesystem path for monorepo deps
|
|
117
|
-
*/
|
|
118
|
-
export interface ExtendedDependencySpec {
|
|
119
|
-
/** Git coordinates (owner/repo) - mutually exclusive with path */
|
|
120
|
-
readonly source?: string;
|
|
121
|
-
/** Git ref (tag, branch, or commit SHA) */
|
|
122
|
-
readonly ref?: string;
|
|
123
|
-
/** Local path - mutually exclusive with source */
|
|
124
|
-
readonly path?: string;
|
|
125
|
-
/** SHA-256 integrity hash for verification */
|
|
126
|
-
readonly integrity?: string;
|
|
127
|
-
/** Human-readable description */
|
|
128
|
-
readonly description?: string;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Dependency specification in model.yaml.
|
|
133
|
-
*
|
|
134
|
-
* Can be either:
|
|
135
|
-
* - **string**: Short form (just the ref, key is owner/repo)
|
|
136
|
-
* - **ExtendedDependencySpec**: Full form with options
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* ```yaml
|
|
140
|
-
* dependencies:
|
|
141
|
-
* acme/core: "v1.0.0" # Short form
|
|
142
|
-
* acme/utils: # Extended form
|
|
143
|
-
* source: acme/utils
|
|
144
|
-
* ref: main
|
|
145
|
-
* integrity: sha256-abc123
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
export type DependencySpec = string | ExtendedDependencySpec;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Type guard for extended dependency spec.
|
|
152
|
-
*/
|
|
153
|
-
export function isExtendedDependencySpec(dep: DependencySpec): dep is ExtendedDependencySpec {
|
|
154
|
-
return typeof dep === 'object' && dep !== null;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// ============================================================================
|
|
158
|
-
// Resolved/Locked Dependency Types
|
|
159
|
-
// ============================================================================
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* A fully resolved and locked dependency.
|
|
163
|
-
*
|
|
164
|
-
* Represents a dependency after resolution with all fields pinned
|
|
165
|
-
* to exact values for reproducible builds.
|
|
166
|
-
*/
|
|
167
|
-
export interface LockedDependency {
|
|
168
|
-
/** Original ref from manifest */
|
|
169
|
-
readonly ref: string;
|
|
170
|
-
/** Detected ref type */
|
|
171
|
-
readonly refType: RefType;
|
|
172
|
-
/** Full git URL used for fetching */
|
|
173
|
-
readonly resolved: string;
|
|
174
|
-
/** Exact commit hash (40-char SHA) */
|
|
175
|
-
readonly commit: string;
|
|
176
|
-
/** Optional integrity hash */
|
|
177
|
-
readonly integrity?: string;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
// ============================================================================
|
|
181
|
-
// Manifest Types (model.yaml)
|
|
182
|
-
// ============================================================================
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Path aliases for @ imports.
|
|
186
|
-
*
|
|
187
|
-
* @example
|
|
188
|
-
* ```yaml
|
|
189
|
-
* paths:
|
|
190
|
-
* "@/": "./src/"
|
|
191
|
-
* "@shared/": "./libs/shared/"
|
|
192
|
-
* ```
|
|
193
|
-
*/
|
|
194
|
-
export type PathAliases = Readonly<Record<string, string>>;
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Governance policy configuration.
|
|
198
|
-
*/
|
|
199
|
-
export interface GovernancePolicy {
|
|
200
|
-
/** Allowed git domains (e.g., ['github.com/acme']) */
|
|
201
|
-
readonly allowedSources?: readonly string[];
|
|
202
|
-
/** Blocked packages or patterns */
|
|
203
|
-
readonly blockedPackages?: readonly string[];
|
|
204
|
-
/** Require stable versions only (no pre-release) */
|
|
205
|
-
readonly requireStableVersions?: boolean;
|
|
206
|
-
/** Require team ownership metadata */
|
|
207
|
-
readonly requireTeamOwnership?: boolean;
|
|
208
|
-
/** Allowed licenses */
|
|
209
|
-
readonly allowedLicenses?: readonly string[];
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Package manifest (model.yaml) schema.
|
|
214
|
-
*
|
|
215
|
-
* This is the user-facing YAML file structure.
|
|
216
|
-
*/
|
|
217
|
-
export interface ModelManifest {
|
|
218
|
-
/** Package identity and metadata */
|
|
219
|
-
readonly model?: PackageIdentity;
|
|
220
|
-
/** Path aliases for @ imports */
|
|
221
|
-
readonly paths?: PathAliases;
|
|
222
|
-
/** Dependencies keyed by alias or owner/repo */
|
|
223
|
-
readonly dependencies?: Readonly<Record<string, DependencySpec>>;
|
|
224
|
-
/** Ref overrides for conflict resolution */
|
|
225
|
-
readonly overrides?: Readonly<Record<string, string>>;
|
|
226
|
-
/** Governance policies */
|
|
227
|
-
readonly governance?: GovernancePolicy;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// ============================================================================
|
|
231
|
-
// Lock File Types (model.lock)
|
|
232
|
-
// ============================================================================
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Lock file schema (model.lock).
|
|
236
|
-
*
|
|
237
|
-
* Pins exact commits for reproducible builds.
|
|
238
|
-
*/
|
|
239
|
-
export interface LockFile {
|
|
240
|
-
/** Lock file format version */
|
|
241
|
-
readonly version: string;
|
|
242
|
-
/** All locked dependencies keyed by package name */
|
|
243
|
-
readonly dependencies: Readonly<Record<string, LockedDependency>>;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// ============================================================================
|
|
247
|
-
// Dependency Resolution Types (internal)
|
|
248
|
-
// ============================================================================
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* Mutable package metadata during resolution.
|
|
252
|
-
*
|
|
253
|
-
* Unlike PackageIdentity (readonly user-facing), this is mutable
|
|
254
|
-
* because the resolver builds it incrementally during YAML parsing.
|
|
255
|
-
*/
|
|
256
|
-
export interface ResolvingPackage {
|
|
257
|
-
name?: string;
|
|
258
|
-
version?: string;
|
|
259
|
-
entry?: string;
|
|
260
|
-
exports?: Record<string, string>;
|
|
261
|
-
/** Dependencies as name → ref constraint */
|
|
262
|
-
dependencies?: Record<string, string>;
|
|
263
|
-
/** Ref overrides */
|
|
264
|
-
overrides?: Record<string, string>;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Node in the dependency graph during resolution.
|
|
269
|
-
*/
|
|
270
|
-
export interface DependencyNode {
|
|
271
|
-
/** Package identifier (owner/repo) */
|
|
272
|
-
readonly packageKey: string;
|
|
273
|
-
/** Primary ref constraint from first encounter */
|
|
274
|
-
refConstraint: string;
|
|
275
|
-
/** All observed constraints from different parents */
|
|
276
|
-
constraints?: Set<string>;
|
|
277
|
-
/** Resolved ref after conflict resolution */
|
|
278
|
-
resolvedRef?: string;
|
|
279
|
-
/** Detected ref type */
|
|
280
|
-
refType?: RefType;
|
|
281
|
-
/** Resolved commit hash */
|
|
282
|
-
commitHash?: string;
|
|
283
|
-
/** Full git repository URL */
|
|
284
|
-
repoUrl?: string;
|
|
285
|
-
/** Direct dependencies of this package */
|
|
286
|
-
dependencies: Record<string, string>;
|
|
287
|
-
/** Parent packages that depend on this one */
|
|
288
|
-
dependents: string[];
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Complete dependency graph for resolution.
|
|
293
|
-
*/
|
|
294
|
-
export interface DependencyGraph {
|
|
295
|
-
/** All discovered packages */
|
|
296
|
-
readonly nodes: Record<string, DependencyNode>;
|
|
297
|
-
/** Root package name */
|
|
298
|
-
readonly root: string;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// ============================================================================
|
|
302
|
-
// Git Import Types
|
|
303
|
-
// ============================================================================
|
|
304
|
-
|
|
305
|
-
/** Supported git platforms */
|
|
306
|
-
export type GitPlatform = 'github' | 'gitlab' | 'bitbucket' | 'generic';
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* Parsed git import with repository information.
|
|
310
|
-
*/
|
|
311
|
-
export interface GitImportInfo {
|
|
312
|
-
/** Original import string */
|
|
313
|
-
readonly original: string;
|
|
314
|
-
/** Git platform */
|
|
315
|
-
readonly platform: GitPlatform;
|
|
316
|
-
/** Repository owner/organization */
|
|
317
|
-
readonly owner: string;
|
|
318
|
-
/** Repository name */
|
|
319
|
-
readonly repo: string;
|
|
320
|
-
/** Version (tag, branch, or commit) */
|
|
321
|
-
readonly version: string;
|
|
322
|
-
/** Full git repository URL */
|
|
323
|
-
readonly repoUrl: string;
|
|
324
|
-
/** Package entry point */
|
|
325
|
-
readonly entryPoint: string;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
// ============================================================================
|
|
329
|
-
// Dependency Analysis Types
|
|
330
|
-
// ============================================================================
|
|
331
|
-
|
|
332
|
-
/**
|
|
333
|
-
* Node in a dependency tree visualization.
|
|
334
|
-
*/
|
|
335
|
-
export interface DependencyTreeNode {
|
|
336
|
-
readonly packageKey: string;
|
|
337
|
-
readonly ref: string;
|
|
338
|
-
readonly commit: string;
|
|
339
|
-
readonly dependencies: readonly DependencyTreeNode[];
|
|
340
|
-
/** Depth in tree (0 = root) */
|
|
341
|
-
readonly depth: number;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* Reverse dependency relationship.
|
|
346
|
-
*/
|
|
347
|
-
export interface ReverseDependency {
|
|
348
|
-
/** Package that depends on the target */
|
|
349
|
-
readonly dependentPackage: string;
|
|
350
|
-
/** Ref of the dependent */
|
|
351
|
-
readonly ref: string;
|
|
352
|
-
/** Relationship type */
|
|
353
|
-
readonly type: 'direct' | 'transitive';
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Version update policy.
|
|
358
|
-
*/
|
|
359
|
-
export interface VersionPolicy {
|
|
360
|
-
readonly policy: 'latest' | 'stable' | 'pinned';
|
|
361
|
-
readonly ref: string;
|
|
362
|
-
readonly availableRefs?: readonly string[];
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
// ============================================================================
|
|
366
|
-
// Governance Types
|
|
367
|
-
// ============================================================================
|
|
368
|
-
|
|
369
|
-
/** Governance violation type discriminant */
|
|
370
|
-
export type GovernanceViolationType =
|
|
371
|
-
| 'blocked-source'
|
|
372
|
-
| 'unstable-version'
|
|
373
|
-
| 'missing-metadata'
|
|
374
|
-
| 'license-violation';
|
|
375
|
-
|
|
376
|
-
/** Governance violation severity */
|
|
377
|
-
export type GovernanceViolationSeverity = 'error' | 'warning';
|
|
378
|
-
|
|
379
|
-
/**
|
|
380
|
-
* A governance policy violation.
|
|
381
|
-
*/
|
|
382
|
-
export interface GovernanceViolation {
|
|
383
|
-
readonly type: GovernanceViolationType;
|
|
384
|
-
readonly packageKey: string;
|
|
385
|
-
readonly message: string;
|
|
386
|
-
readonly severity: GovernanceViolationSeverity;
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
/**
|
|
390
|
-
* Governance metadata for a package (from model.yaml).
|
|
391
|
-
*/
|
|
392
|
-
export interface GovernanceMetadata {
|
|
393
|
-
readonly team?: string;
|
|
394
|
-
readonly contact?: string;
|
|
395
|
-
readonly domain?: string;
|
|
396
|
-
readonly compliance?: readonly string[];
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
// ============================================================================
|
|
400
|
-
// Workspace Types
|
|
401
|
-
// ============================================================================
|
|
402
|
-
|
|
403
|
-
/**
|
|
404
|
-
* Options for workspace manager initialization.
|
|
405
|
-
*/
|
|
406
|
-
export interface WorkspaceManagerOptions {
|
|
407
|
-
/** Auto-resolve dependencies on initialization */
|
|
408
|
-
readonly autoResolve?: boolean;
|
|
409
|
-
/** Manifest file names to search for */
|
|
410
|
-
readonly manifestFiles?: readonly string[];
|
|
411
|
-
/** Lock file names to search for */
|
|
412
|
-
readonly lockFiles?: readonly string[];
|
|
413
|
-
/** Allow network access for git operations */
|
|
414
|
-
readonly allowNetwork?: boolean;
|
|
415
|
-
}
|